SIP 100rel 擴充套件

2022-03-24 09:22:25 字數 1146 閱讀 9339

100rel擴充套件即是對中間狀態響應的確認(即1xx的響應碼)。原先在sip裡,只有針對invite請求的200ok響應才會有ack,那麼當中間狀態響應攜帶重要的會話引數資訊時,例如183響應,客戶端是否收到響應就沒有ack請求了,於是就定義了prack這一請求訊息,即對中間狀態響應的確認請求。當sip傳送者支援這一擴充套件時,及在support頭域增加這個100rel訊息,當server端給與1xx響應時,可以在頭域裡的require欄位要求這一100rel的能力。此時,sip傳送者,傳送prack訊息。

prack用於保證1**(除100外)的可靠傳輸,如果1**響應中的的require頭部中帶有100rel這個引數,那麼client端收到這個1**後,就需要發prack保證這個1**的可靠傳輸,當server端收到prack後,說對端已經收到了這個1**,此時server需要回prack的200響應。

按照rfc3261,,如果請求中有100rel標誌,uas必須用可靠傳輸的方式傳送非100的臨時響應(101-199),如果uas不願意這樣做,它必須利用420(bad extension)拒掉這個請求.

假設uac接收到需要可靠傳輸的非100臨時響應後(101-199),它必須用prack方法建立一新請求傳送給uas,以確認已收到此響應,uas會回應一200ok。

有的流程有prack,說明它有100rel的支援,沒有prack說明不支援100rel。

uac發起的invite中含有supported: 100 rel,而uas也支援該擴充套件並且在183響應中有require:100rel,說明接下來會話中,對所有100以外的1xx響應,均要有prack回應。

uac如果不支援100rel,但uas要求支援100rel(require:100rel),uac 傳送cancel,切斷會話。

uac如果不支援100rel,但uas也不支援或不要求支援100rel,只是在後面的過程中,uac對應接收到的臨時響應,如180,183等,不需要傳送prack回應而已,與是否會出現183沒有關係。

100rel是乙個任選標記,如果invite請求的supported頭域中包含該標記,說明傳送請求的uac支援prack擴充套件。

supported:100rel與required:100rel的區別在於,後者是乙個強制性要求,要求對方必須支援prack,否則通話無法建立

SIP概述 SIP學習筆記(一)

sip是乙個應用層控制協議,它能建立 修改和終止多 會話 會議 sip透明的支援名字對映和重定向服務。sip支援建立和終止多 通訊的5個方面 1 使用者位置 確定用於通訊的終端系統 2 使用者可用性 確定被呼叫者參加通訊的意願 3 使用者能力 確定使用的 和 引數 一般結合sdp 4 會話建立 響鈴...

SIP概述 SIP學習筆記(一)

sip是乙個應用層控制協議,它能建立 修改和終止多 會話 會議 sip透明的支援名字對映和重定向服務。sip支援建立和終止多 通訊的5個方面 1 使用者位置 確定用於通訊的終端系統 2 使用者可用性 確定被呼叫者參加通訊的意願 3 使用者能力 確定使用的 和 引數 一般結合sdp 4 會話建立 響鈴...

SIP除錯 使用NGREP進行快速SIP包分析

astercc呼叫中心系統是乙個基於sip通訊的系統,與傳統的 系統相比,語音的傳送基於ip網路,因此學會如何除錯voip通訊是網路管理員們必須掌握的技能之一。這裡我們會逐步介紹一些voip除錯工具,希望能夠幫助大家更好的設計 維護語音通訊和呼叫中心系統。ngrep是網路版的grep,用於從網路中過...