
- 會話發起協議教程
- SIP - 首頁
- SIP - 簡介
- SIP - 網路元素
- SIP - 基本呼叫流程
- SIP - 訊息
- SIP - 響應碼
- SIP - 頭部
- SIP - 會話描述協議
- SIP - 提供/應答模型
- SIP - 移動性
- SIP 分支
- SIP - 代理和路由
- SIP 到 PSTN
- SIP - 編解碼器
- SIP - B2BUA
- SIP 有用資源
- SIP - 快速指南
- SIP - 有用資源
- SIP - 討論
SIP 分支
有時,代理伺服器會將單個 SIP 呼叫轉發到多個 SIP 端點。此過程稱為分支。單個呼叫可以同時響鈴多個端點。
使用 SIP 分支,您可以同時讓您的辦公電話和軟電話或手機上的 SIP 電話響鈴,從而可以輕鬆地從任何裝置接聽電話。
通常,在辦公室中,如果老闆無法接聽電話或不在,SIP 分支允許秘書接聽其分機的電話。
如果存在有狀態代理,則可以進行分支,因為它需要執行操作並從眾多收到的響應中進行響應。
我們有兩種型別的分支:
- 並行分支
- 順序分支
並行分支
在這種情況下,代理伺服器將同時將 INVITE 分支到兩個裝置(UA2、UA3)。兩個裝置都將生成 180 Ringing,並且接聽電話的裝置將生成 200 OK。首先到達發起者的響應(假設為 UA2)將與 UA2 建立會話。對於另一個響應,將觸發 CANCEL。

如果發起者同時收到兩個響應,則它將根據 q 值轉發響應。
順序分支
在這種情況下,代理伺服器將 INVITE 分支到一個裝置 (UA2)。如果 UA2 此時不可用或繁忙,則代理伺服器將將其分支到另一個裝置 (UA3)。

分支 ID 和標籤
分支 ID 幫助代理將響應與分支請求匹配。如果沒有分支 ID,代理伺服器將無法理解分支響應。分支 ID 將在 Via 頭部中可用。
UAC 使用標籤來區分來自不同 UAS 的多個最終響應。UAS 無法確定請求是否已被分支。因此,它需要新增一個標籤。
如果代理生成最終響應,它也可以新增標籤;它們絕不會將其新增到它們轉發的請求或響應中。
單個請求也可能被多個代理伺服器分支。因此,進行分支的代理應將其自己唯一的 ID 新增到它建立的分支中。
呼叫路徑和呼叫 ID
呼叫路徑是指兩個使用者代理之間一對一的信令關係。呼叫 ID 是 SIP 訊息中攜帶的唯一識別符號,用於指代呼叫。呼叫是呼叫路徑的集合。
UAC 透過傳送 INVITE 開始。由於分支,它可能會從不同的 UA 接收多個 200 OK。每個都對應於同一呼叫內的不同呼叫路徑。
因此,呼叫是一組呼叫路徑。呼叫路徑是指 UA 之間的端到端連線。
呼叫路徑兩個方向的 CSeq 空間是獨立的。在一個方向內,序列號在每次事務中遞增。

語音郵件
語音郵件如今對於企業使用者來說非常普遍。這是一個電話應用程式。當被叫方無法接聽電話時,PBX 將通知呼叫方留下語音留言。
如果被叫方的號碼無法接通,使用者代理將收到 3xx 響應或重定向到語音郵件伺服器。但是,需要某種 SIP 擴充套件來指示語音郵件系統使用哪個郵箱,也就是播放哪個問候語以及在哪裡儲存錄製的留言。有兩種方法可以實現這一點:
使用 SIP 頭欄位擴充套件
使用 Request-URI 來表示此資訊
假設使用者 **sip:Tom@tutorialspoint.com** 在 sip:voicemail.tutorialspoint.com 處有一個提供語音郵件的語音郵件系統,則將其轉發到語音郵件伺服器時的 INVITE 的 Request-URI 可能如下所示:
sip:voicemail.tutorialspoint.com;target = sip:Tom@tutorialspoint.com;cause = 486
下圖顯示了 Request-URI 如何攜帶郵箱識別符號和原因(此處為 486)。
