I had the same problem with a friend and we both couldn't facetime each other (iPhone 4 to iPhone4), however, once we had started a regular call, she could now facetime me but I couldn't facetime her. Here are the three solutions that everyone should try:
1. As others have posted, make sure both of you have Settings --> Phone --> Facetime ON
2. AFTER having started a regular call, whenever she facetimed me, the number trying to facetime me was DIFFERENT from the number she is using in her phone. Reason is: she had ported another number onto the phone but somehow facetime was using her old one to call me. So I noted down this other number as well and I am able to facetime her at this other number directly without problems.
3. Make sure you save the number of your friend as an "iPhone" number in your address book. If you have it saved as a "home" or "work" number it may not necessarily work.
Now that we have both saved each others numbers as "iPhone" numbers we can happily call each other directly by pressing the facetime button and not incurring any charges. Strange but it's working.
Hope this can help some of you out there. I also think, holophyte's recommendation would definitely improve the facetime situation! ;O)
Markuz