• Android Video Tutorials

Android - SIP 協議



SIP 代表 (會話發起協議)。它是一種協議,允許應用程式輕鬆設定傳出和傳入語音呼叫,而無需直接管理會話、傳輸級通訊或音訊錄製或播放。

應用

SIP 的一些常見應用包括:

  • 視訊會議
  • 即時訊息

需求

以下是開發 SIP 應用程式的要求:

  • Android 作業系統必須為 2.3 或更高版本
  • 您必須具有資料連線或 WIFI
  • 您必須擁有 SIP 帳戶才能使用此服務。

SIP 類

以下是 Android SIP API 中包含的類的摘要

序號 類和描述
1

SipAudioCall

處理透過 SIP 進行的網際網路音訊呼叫

2

SipErrorCode

定義在 SIP 操作期間返回的錯誤程式碼

3

SipManager

提供 SIP 任務的 API,例如發起 SIP 連線,並提供對相關 SIP 服務的訪問

4

SipProfile

定義 SIP 配置檔案,包括 SIP 帳戶、域和伺服器資訊

5

SipSession

表示與 SIP 對話關聯的 SIP 會話或不在對話中的獨立事務

SIP 的功能

SIP 具有以下主要功能。

  • SIP 允許建立使用者位置
  • SIP 提供呼叫管理機制
  • SIP 提供功能協商,以便呼叫中的所有參與方都可以就他們之間支援的功能達成一致

SIP 的元件

SIP 具有兩個主要元件,如下所示。

  • 使用者代理客戶端 (UAC)
  • 使用者代理伺服器 (UAS)

UAC

UAC 或使用者代理客戶端是那些生成請求並將這些請求傳送到伺服器的終端使用者。這些請求由其系統上執行的客戶端應用程式生成。

UAS

UAS 或使用者代理伺服器是那些獲取 UAC 生成的請求的系統。UAS 處理這些請求,然後根據請求生成相應的響應。

SipManager

SipManager 是一個用於 SIP 任務的 Android API,例如發起 SIP 連線,並提供對相關 SIP 服務的訪問。此類是任何 SIP 操作的起點。您可以使用 newInstance() 獲取其例項。

SipManager 具有許多用於管理 SIP 任務的功能。一些功能如下所示。

序號 類和描述
1

close(String localProfileUri)

關閉指定的配置檔案以不進行/接收呼叫

2

getCallId(Intent incomingCallIntent)

從指定的傳入呼叫廣播意圖中獲取呼叫 ID

3

isOpened(String localProfileUri)

檢查指定的配置檔案是否在 SIP 服務中開啟以進行撥打和/或接收呼叫

4

isSipWifiOnly(Context context)

如果 SIP 僅在 WIFI 上可用,則返回 true

5

isRegistered(String localProfileUri)

檢查 SIP 服務是否已成功將配置檔案註冊到 SIP 提供商(在配置檔案中指定)以接收呼叫

6

isVoipSupported(Context context)

如果系統支援基於 SIP 的 VOIP API,則返回 true

7

takeAudioCall(Intent incomingCallIntent, SipAudioCall.Listener listener)

建立一個 SipAudioCall 來接聽來電

8

unregister(SipProfile localProfile, SipRegistrationListener listener)

手動取消註冊配置檔案以停止接收進一步的呼叫

廣告

© . All rights reserved.