1. 程式人生 > >sip協議詳解 系列(一)

sip協議詳解 系列(一)

近期一直在研究視訊通話,裡面有sip或者xmpp,之前也不瞭解, 準備整體瞭解sip並整理相關內容。
Sip概述
SIP(Session Initiation Protocol,會話初始協議)是由IETF(Internet Engineering Task Force,因特網工程任務組)制定的多媒體通訊協議。它是一個基於文字的應用層控制協議,用於建立、修改和釋放一個或多個參與者的會話。它是一種應用層協議,與其他應用層協議協同工作,通過Internet控制多媒體通訊會話。它在在RFC 3261中定義。
SIP 用於發起會話,它能控制多個參與者參加的多媒體會話的建立和終結,並能動態調整和修改會話屬性,如會話頻寬要求、傳輸的媒體型別(語音、視訊和資料等)、媒體的編解碼格式、對組播和單播的支援等。SIP 協議基於文字編碼,大量借鑑了成熟的 HTTP 協議,並且具有易擴充套件、易實現等特點,因此非常適合用來實現基於因特網的多媒體通訊系統。
Sip一些基本的概念


1) 使用者代理:
UA 包括使用者代理客戶端(UAC,User Agent Client)和使用者代理伺服器(UAS,User Agent Server)。
一般說的 UA 均是指二者的總稱,因為在一次呼叫中,一個 SIP 終端既要處理 SIP 請求,又要發起SIP請求
1-1) 使用者代理客戶端是指在 SIP 會話建立過程中主動傳送會話請求的裝置(UAC)。
1-2) 使用者代理伺服器是指在 SIP 會話建立過程中接收會話請求的裝置(UAS)。

2) 代理伺服器
代理伺服器(Proxy Server)的作用就是傳遞主叫 UA 傳送的會話請求到被叫 UA,然後將被叫 UA的響應傳遞迴主叫 UA,它相當於主叫 UA 和被叫 UA 之間傳遞會話訊息的路由
有三種形態 , stateless 、stateful和call stateful ,代理伺服器接收到主叫UA的會話請求後,先在位置伺服器查詢UA的位置及主叫和被叫UA之間的呼叫策略資訊,找到相應的UA並允許呼叫的UA,代理服務哭喊才會向被叫UA傳送會話請求。

3) 重定向伺服器
用來指示客戶端連線的新地址,客戶端直接再次向這些新的地方發起請求。不接收或者拒絕呼叫,主要完成路由功能。
4) 位置伺服器
為代理伺服器和重定向伺服器等提供 UA 資訊的裝置,只有代理伺服器或重定向伺服器可以聯絡位置伺服器。

5) 註冊伺服器
註冊伺服器(Registrar Server)接受使用者註冊,註冊的內容(如本地號碼等資訊)一般是儲存在位置伺服器上,供後續查詢使用,二者都是邏輯元件,一般存在於同一臺伺服器上,或者同域的一個數據庫內。

RFC 3261 地址:https://tools.ietf.org/html/rfc3261

學習過程中也參考了別人的部落格, 給了極大的啟發

https://www.cnblogs.com/gardenofhu/p/7299963.html
https://max.book118.com/html/2015/0914/25322974.shtm
https://www.tutorialspoint.com/session_initiation_protocol/index.htm