本文譯自:http://developer.android.com/guide/topics/connectivity/sip.html
Android提供支援會話發起協議(SIP)的API。這讓你可以把基於SIP的互連網電話功能添加到你的應用程式中。Android包含了一個完整的SIP協議棧,並且整合了呼叫管理服務,這樣應用程式可以容易的建立呼入和呼出的串連,而不需要去管理會話、傳輸層的通訊、音頻記錄、回撥等操作。
要求和限制
以下是開發SIP應用程式的要求
1. 你必須要有一部運行Android2.3以上版本的行動裝置;
2. SIP是運行在無線資料連線之上的,因此你的裝置必須要有一個資料連線(如移動資料服務或Wi-Fi)。這就意味著你不能在AVD上測試---你只能在物理裝置上測試。
3. 每個應用應用程式通訊會話的參與者都必須要有一個SIP帳號。有很多不同的SIP供應商提供SIP帳號。
SIP API類和介面
以下是Android SIP API中所包含的類和一個介面(SipRegistrationListener)的概要:
類/介面 |
介紹 |
SipAudioCall
|
處理基於SIP的互連網音訊撥號。 |
SipAudioCall.Listener
|
監聽與SIP呼叫相關的事件,如呼叫被接入(“on ringing”)或呼出(“on calling”)時。 |
SipErrorCode
|
定義SIP操作期間返回的錯誤碼。 |
SipManager
|
提供針對SIP任務的API,如發起SIP串連,並提供對相關SIP服務的訪問。 |
SipProfile
|
定義SIP配置,包括SIP帳號、網域名稱和伺服器資訊。 |
SipProfile.Builder
|
建立SipProfile類型對象的輔助類。 |
SipSession
|
代表一個跟SIP對話方塊或沒有對話方塊的獨立事務相關聯的SIP會話。 |
SipSession.Listener
|
監聽與SIP會話相關的事件,如註冊會話(“on registering”)或呼出(“on calling”)的時候。 |
SipSession.State
|
定義SIP會話的狀態,如“registering”,“outgoing call”和“in call” |
SipRegistrationListener
|
監聽SIP註冊事件的介面。 |