The platform now includes a SIP protocol stack and framework API that lets developers build internet telephony applications. Using the API, applications can offer voice calling features without having to manage sessions, transport-level communication, or audio — these are handled transparently by the platform's SIP API and services.
The SIP API is available in the android.net.sip package. The key class is SipManager, which applications use to set up and manage SIP profiles, then initiate audio calls and receive audio calls. Once an audio call is established, applications can mute calls, turn on speaker mode, send DTMF tones, and more. Applications can also use the SipManager to create generic SIP connections.
Naturally this SIP stack is only available if the carrier and manufacturer allow it:
The platform’s underlying SIP stack and services are available on devices at the discretion of the manufacturer and associated carrier. For this reason, applications should use the isApiSupported() method to check whether SIP support is available, before exposing calling functionality to users.
Call me cynical, but I could see a number of carriers NOT allowing the SIP stack.
The Android team has also very helpfully provided a SIP demo application.
I also am intrigued by the "Near Field Communications" addition (if you don't know what NFC is, the Wikipedia entry is a good start). Looking forward to seeing what people do with that!
All in all Android 2.3 looks like a decent evolution of the platform... I'm definitely interested to see what people do with with SIP / VoIP capability. If you are an Android developer working with communications, what are you planning to do with it?
If you found this post interesting or useful, please consider either: