There are two problems with what you are asking:
- How to get at the incoming audio stream of the cellular call.
- How to get at the outgoing audio stream of the cellular call.
Recording Cellular Audio
Check out this link for some details on how it can be done on some devices. The API they use is the MediaRecorder api. Once you have the audio stream you can then encode it and send it down the SIP call side.
Playing Audio To A Cellular Call
This is most likely the most tricky bit as there is no Google API to get at the outgoing audio stream directly. I can only think of two possible ways to do this.
- Rewrite the Android dialer application, which happens to be the "telephony stack" in Android. With direct (only) access to the serial port link to the cellular radio stack you may be able to get to the outgoing audio stream. This would require you to root the device to be able to do this tho.
- Turn on speaker phone mode and then play audio through the speaker, that way the microphone should be able to pickup with is being played. You may have volume problems (both playing and microphone) and also the microphone will pickup on other sounds in the area as well.
I personally don't think any of these suggests are worth pursuing and you are better off following the commenters advise and go with something like a VOIP PABX like Asterix with a PTSN/GSM gateway.