Skip to content

Most visited

Recently visited

added in API level 9

Provides access to Session Initiation Protocol (SIP) functionality, such as making and answering VOIP calls using SIP.

For more information, see the Session Initiation Protocol developer guide.

To get started, you need to get an instance of the SipManager by calling newInstance().

With the SipManager, you can initiate SIP audio calls with makeAudioCall() and takeAudioCall(). Both methods require a SipAudioCall.Listener that receives callbacks when the state of the call changes, such as when the call is ringing, established, or ended.

Both makeAudioCall() also requires two SipProfile objects, representing the local device and the peer device. You can create a SipProfile using the SipProfile.Builder subclass.

Once you have a SipAudioCall, you can perform SIP audio call actions with the instance, such as make a call, answer a call, mute a call, turn on speaker mode, send DTMF tones, and more.

If you want to create generic SIP connections (such as for video calls or other), you can create a SIP connection from the SipManager, using open(). If you only want to create audio SIP calls, though, you should use the SipAudioCall class, as described above.

Note: Not all Android-powered devices support VOIP functionality with SIP. Before performing any SIP activity, you should call isVoipSupported() to verify that the device supports VOIP calling and isApiSupported() to verify that the device supports the SIP APIs. Your application must also request the INTERNET and USE_SIP permissions in order to use the SIP APIs.


SipRegistrationListener Listener for SIP registration events. 


SipAudioCall Handles an Internet audio call over SIP. 
SipAudioCall.Listener Listener for events relating to a SIP call, such as when a call is being recieved ("on ringing") or a call is outgoing ("on calling"). 
SipErrorCode Defines error codes returned during SIP actions. 
SipManager Provides APIs for SIP tasks, such as initiating SIP connections, and provides access to related SIP services. 
SipProfile Defines a SIP profile, including a SIP account, domain and server information. 
SipProfile.Builder Helper class for creating a SipProfile
SipSession Represents a SIP session that is associated with a SIP dialog or a standalone transaction not within a dialog. 
SipSession.Listener Listener for events relating to a SIP session, such as when a session is being registered ("on registering") or a call is outgoing ("on calling"). 
SipSession.State Defines SIP session states, such as "registering", "outgoing call", and "in call". 


SipException Indicates a general SIP-related exception. 
This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields


Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)