Android Guides | Samples

Android.Net.Sip Namespace

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

Remarks

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 SipManager.NewInstance(Context).

With the SipManager, you can initiate SIP audio calls with SipManager.MakeAudioCall(SipProfile,SipProfile,SipProfile,SipProfile) and Android.Net.Sip.SipManager.TakeAudioCall(Android.Content.Intent, .Listener). Both methods require a NoType:android/net/sip/SipAudioCall$Listener;Href=../../../../reference/android/net/sip/SipAudioCall.Listener.html that receives callbacks when the state of the call changes, such as when the call is ringing, established, or ended.

Both SipManager.MakeAudioCall(SipProfile,SipProfile,SipProfile,SipProfile) also requires two SipProfile objects, representing the local device and the peer device. You can create a SipProfile using the NoType:android/net/sip/SipProfile$Builder;Href=../../../../reference/android/net/sip/SipProfile.Builder.html 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 SipManager.Open(SipProfile). 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 SipManager.IsVoipSupported(Context) to verify that the device supports VOIP calling and SipManager.IsApiSupported(Context) to verify that the device supports the SIP APIs. Your application must also request the NoType:android/Manifest$permission;Href=../../../../reference/android/Manifest.permission.html#INTERNET and NoType:android/Manifest$permission;Href=../../../../reference/android/Manifest.permission.html#USE_SIP permissions in order to use the SIP APIs.

Classes

TypeReason
ISipRegistrationListenerListener for SIP registration events.
RegisteringEventArgs
RegistrationDoneEventArgs
RegistrationFailedEventArgs
SipAudioCallHandles an Internet audio call over SIP.
SipAudioCall+ListenerListener for events relating to a SIP call, such as when a call is being recieved ("on ringing") or a call is outgoing ("on calling").
SipErrorCodeDefines error codes returned during SIP actions.
SipErrorCodesEnumerates values returned by several types and taken as a parameter of several types.
SipExceptionIndicates a general SIP-related exception.
SipManagerProvides APIs for SIP tasks, such as initiating SIP connections, and provides access to related SIP services.
SipProfileDefines a SIP profile, including a SIP account, domain and server information.
SipProfile+BuilderHelper class for creating a SipProfile.
SipProfile+InterfaceConsts
SipSessionRepresents a SIP session that is associated with a SIP dialog or a standalone transaction not within a dialog.
SipSession+ListenerListener 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+StateDefines SIP session states, such as "registering", "outgoing call", and "in call".
SipSessionStateEnumerates values returned by several types and taken as a parameter of the SipSession+State.ToString member.