I recently fixed the problem of no audio for outbound or incoming calls. I am a computer technition who also does Apple repairs.
The client had audio on the phone itself, could hear ring tones, text tones, etc,. If you recorded your voice usuing the voice recorder app, the phone could pick up the audio and when you played it back, you could hear it. The problem was related to ONLY CALLS.
The iPhone must come apart. Diss-asemble the phone ( or take it to a tech or someone who can). You must take it apart enough to get to the logic board. When you take the logic board out. On the back, you will see the EMI shield, it is a silver plate. Carefully and gently pry this cover off. Next to the processor chip, to the right..you will see a very small chip. This is the audio compiler chip. The problem is caused by bad conductivity. Cut a few very small squares of electric tape and cover this chip. The tape provides a good, not too thin, not too thick layer.
Put the EMI sheild back in place. Put the iPhone back together. Turn on and try it. You should now be able to have audio on outgoing and incoming calls. I know this sounds like a long shot but trust me, i was VERY skeptical. But this actually worked perfect. The customer was pleased and the phone has been working fine ever since. Apparently this is a common problem with the iPhone 4.
Make sure to BACK UP the iPhone in iTunes before you take it apart, power it off and remember to take the SIM card out. When you turn it on after its taken apart, you will have to connect with iTunes and restore the phone. It will ask you if you want to restore from a backup in iTunes, say yes. Just as a pre-caution, I always copy the folder on the PC that iTunes bcks up to, to the desktop...just in case. TRY THIS.