Scott Main | 02b1d68 | 2010-10-22 11:29:57 -0700 | [diff] [blame] | 1 | <HTML> |
| 2 | <BODY> |
| 3 | <p>Provides access to Session Initiation Protocol (SIP) functionality, such as |
| 4 | making and answering VOIP calls using SIP.</p> |
| 5 | |
Joe Fernandez | 3aef8e1d | 2011-12-20 10:38:34 -0800 | [diff] [blame] | 6 | <p>For more information, see the |
| 7 | <a href="{@docRoot}guide/topics/network/sip.html">Session Initiation Protocol</a> |
| 8 | developer guide.</p> |
| 9 | {@more} |
| 10 | |
Scott Main | 02b1d68 | 2010-10-22 11:29:57 -0700 | [diff] [blame] | 11 | <p>To get started, you need to get an instance of the {@link android.net.sip.SipManager} by |
| 12 | calling {@link android.net.sip.SipManager#newInstance newInstance()}.</p> |
| 13 | |
| 14 | <p>With the {@link android.net.sip.SipManager}, you can initiate SIP audio calls with {@link |
| 15 | android.net.sip.SipManager#makeAudioCall makeAudioCall()} and {@link |
| 16 | android.net.sip.SipManager#takeAudioCall takeAudioCall()}. Both methods require |
| 17 | a {@link android.net.sip.SipAudioCall.Listener} that receives callbacks when the state of the |
| 18 | call changes, such as when the call is ringing, established, or ended.</p> |
| 19 | |
| 20 | <p>Both {@link android.net.sip.SipManager#makeAudioCall makeAudioCall()} also requires two |
| 21 | {@link android.net.sip.SipProfile} objects, representing the local device and the peer |
| 22 | device. You can create a {@link android.net.sip.SipProfile} using the {@link |
| 23 | android.net.sip.SipProfile.Builder} subclass.</p> |
| 24 | |
| 25 | <p>Once you have a {@link android.net.sip.SipAudioCall}, you can perform SIP audio call actions with |
| 26 | the instance, such as make a call, answer a call, mute a call, turn on speaker mode, send DTMF |
| 27 | tones, and more.</p> |
| 28 | |
| 29 | <p>If you want to create generic SIP connections (such as for video calls or other), you can |
| 30 | create a SIP connection from the {@link android.net.sip.SipManager}, using {@link |
| 31 | android.net.sip.SipManager#open open()}. If you only want to create audio SIP calls, though, you |
| 32 | should use the {@link android.net.sip.SipAudioCall} class, as described above.</p> |
| 33 | |
| 34 | <p class="note"><strong>Note:</strong> |
| 35 | Not all Android-powered devices support VOIP functionality with SIP. Before performing any SIP |
| 36 | activity, you should call {@link android.net.sip.SipManager#isVoipSupported isVoipSupported()} |
| 37 | to verify that the device supports VOIP calling and {@link |
| 38 | android.net.sip.SipManager#isApiSupported isApiSupported()} to verify that the device supports the |
Joe Fernandez | 3aef8e1d | 2011-12-20 10:38:34 -0800 | [diff] [blame] | 39 | SIP APIs. |
Scott Main | 02b1d68 | 2010-10-22 11:29:57 -0700 | [diff] [blame] | 40 | Your application must also request the {@link android.Manifest.permission#INTERNET} and {@link |
| 41 | android.Manifest.permission#USE_SIP} permissions in order to use the SIP APIs. |
| 42 | </p> |
Joe Fernandez | 3aef8e1d | 2011-12-20 10:38:34 -0800 | [diff] [blame] | 43 | |
Scott Main | 02b1d68 | 2010-10-22 11:29:57 -0700 | [diff] [blame] | 44 | </BODY> |
| 45 | </HTML> |