定義
SIP 協(xié)議,即會話發(fā)起協(xié)議(Session Initiation Protocol), 是一個應(yīng)用層的 點對點協(xié)議 ,用于初始、管理和終止網(wǎng)絡(luò)中的語音和視頻會話, 屬于 GB28181 的核心之一。
SIP 協(xié)議是由IETF組織提出的IP電話信令協(xié)議,IETFRFC2543中對它的定義是一個基于文本的應(yīng)用層控制協(xié)議, 獨立于底層傳輸協(xié)議:TCP/UDP/SCTP, 用于建立、修改和終止 IP 網(wǎng)上的雙方或多方多媒體會話。借鑒了 HTTP、SMTP 等協(xié)議,支持代理、重定向及登記定位用戶等功能, 支持用戶移動。
SIP協(xié)議通過與 RTP/RTCP、SDP、RTSP 等協(xié)議及 DNS 配合, 從而支持語音、視頻、數(shù)據(jù)、E-mail、 狀態(tài)、IM、聊天、游戲等應(yīng)用場景。
它可在 TCP 或 UDP 之上傳送,由于 SIP 本身具有握手機(jī)制,一般情況下首選 UDP傳輸協(xié)議。
從打電話的角度去理解
SIP協(xié)議,推薦閱讀:深入淺出SIP協(xié)議
本篇文章針對sip協(xié)議的應(yīng)用場景是建立在GB28181協(xié)議的基礎(chǔ)上來進(jìn)行理解和解讀的,如果理解有誤,還請各位網(wǎng)友不吝指教!在評論區(qū)留下您的寶貴建議,謝謝!
基本流程
sip協(xié)議的網(wǎng)絡(luò)元素:
- 用戶代理
- 代理服務(wù)器
- 注冊服務(wù)器
- 重定向服務(wù)器
- 位置服務(wù)器

上圖簡單的勾勒出了sip協(xié)議網(wǎng)絡(luò)元素之間的關(guān)系,同時通過上圖也可以了解到sip會話的基本呼叫流程:
- 用戶代理
B向注冊服務(wù)器發(fā)送Register請求,攜帶contact地址; - 隨后注冊服務(wù)器將
B的地址,記錄到位置服務(wù)器; - 用戶代理
A向代理服務(wù)器發(fā)送invite請求啟動與用戶代理B的會話; - 代理服務(wù)器會先向
A發(fā)送響應(yīng)100 Trying的信息以避免A重傳invite消息; - 然后代理服務(wù)器向位置服務(wù)器搜索
B的地址,獲取到地址后會進(jìn)一步轉(zhuǎn)發(fā)A的invite請求; - 通過上一步代理服務(wù)器將
A的請求轉(zhuǎn)發(fā)到B,B向代理服務(wù)器響應(yīng)180 Ringing信息; - 代理服務(wù)器將
B的響應(yīng)信息轉(zhuǎn)發(fā)給A,B向代理服務(wù)器響應(yīng)200 OK信息; - 緊接著
A給B發(fā)送ACK請求,一個會話至此建立完成。
關(guān)于GB28181的"客戶端對實時音視頻點播"的流程,本質(zhì)除sip服務(wù)器以外的都是sip客戶端, 也可以理解為客戶端對媒體發(fā)送端的基本呼叫流程,如下圖:

在GB28181標(biāo)準(zhǔn)中 中心信令服務(wù)器 (center control server)就是一個基于sip協(xié)議設(shè)計的負(fù)責(zé)核心sip信令應(yīng)用處理的SIP服務(wù)器, 信令安全路由網(wǎng)關(guān) (secure signal routing gateway)是一種具有安全功能的sip服務(wù)器。
"組成中心信令控制的邏輯實體包括代理服務(wù)器、注冊服務(wù)器、重定向服務(wù)器、背靠背用戶代理等的一種或者幾種,是負(fù)責(zé)核心SIP信令應(yīng)用處理的SIP服務(wù)器" --引自《GB/T 28181-2016 公共安全視頻監(jiān)控聯(lián)網(wǎng)系統(tǒng) 信息傳輸、交換、控制技術(shù)要求》
協(xié)議結(jié)構(gòu)
sip協(xié)議包括六個主要請求和六類響應(yīng)消息:
請求:
INVITEBYEREGISTERCANCELACKOPTIONS
響應(yīng):
1xx: 臨時/信息響應(yīng)2xx: 成功響應(yīng)3xx: 重定向響應(yīng)4xx: 客戶端故障響應(yīng)5xx: 服務(wù)器故障響應(yīng)6xx: 全局故障響應(yīng)
下面是GB28181協(xié)議標(biāo)準(zhǔn)下較常用的的sip請求:
INVITE
INVITE請求在GB28181協(xié)議中是視頻點播(包括實時預(yù)覽和歷史回放)流程中最重要的一個環(huán)節(jié),在invite請求中會包含SDP協(xié)議的內(nèi)容。SDP協(xié)議(Session Description Protocol)是用來描述媒體數(shù)據(jù)是如何使用的,它由3個部分組成,可分為:
- 第1部分是Session description
v= (protocol version)o= (owner/creator and session identification)s= (session name)i= (session information)u= (URI of description)e= (email address – contact detail)p= (phone number – contact detail)c= (connection information – not required if included in media description)b= (session bandwidth information)z= (time zone adjustments)k= (encryption key)a= (zero or more session attribute lines)
- 第2部分是Time description
t= (time the session is active)r= (repeat times)
- 第3部分是Media description
m= (media name/ transport address)i= (media title)c= (connection information – not required if included in session description)b= (bandwidth information)k= (encryption key)a= (zero or more media attribute lines)
sdp字段的具體細(xì)節(jié)可參考鏈接:
sdp會話描述協(xié)議
sdp協(xié)議參考文獻(xiàn):
《GB/T 28181-2016 公共安全視頻監(jiān)控聯(lián)網(wǎng)系統(tǒng) 信息傳輸、交換、控制技術(shù)要求》附錄FSDP定義
下面是在GB28181協(xié)議中視頻點播流程中的invite數(shù)據(jù)包:

BYE
BYE包是用來終止已經(jīng)建立的會話,通常出現(xiàn)BYE包的場景是媒體接收端主動發(fā)起實時音視頻點播流程時出現(xiàn)。它不能由代理服務(wù)器發(fā)送,也不能發(fā)送到掛起的INVITE或者未建立的會話。
具體的數(shù)據(jù)包流程分析如下圖:

REGISTER
通過抓包可以查看到GB28181一個完整的基本注冊流程:

在GB28181中它是采用RFC 3261規(guī)范中基于數(shù)字摘要的CRAM機(jī)制來進(jìn)行注冊,基本注冊流程如下圖:

具體的數(shù)據(jù)包分析如下圖:

CANCEL
主要是用來終止未建立的會話。用戶代理使用此請求取消之前發(fā)起的待處理的invite。它可以由用戶代理或代理服務(wù)器發(fā)送。
ACK
ACK在RFC-3262規(guī)范中是一個請求,它只有在INVITE請求中出現(xiàn),當(dāng)INVITE請求響應(yīng)是200 OK時, 后續(xù)的ACK則是一個獨立事務(wù)。

-
TCP
+關(guān)注
關(guān)注
8文章
1421瀏覽量
83223 -
UDP
+關(guān)注
關(guān)注
0文章
333瀏覽量
35297 -
傳輸協(xié)議
+關(guān)注
關(guān)注
0文章
80瀏覽量
11929 -
SCTP
+關(guān)注
關(guān)注
0文章
7瀏覽量
8402
發(fā)布評論請先 登錄
信令控制協(xié)議sip
嵌入式SIP協(xié)議棧怎么設(shè)計?
SIP協(xié)議在嵌入式環(huán)境下有什么應(yīng)用?
如何實現(xiàn)WebRTC協(xié)議與SIP協(xié)議互通
支持SIP協(xié)議的軟交換控制設(shè)計,
SIP協(xié)議性能測試的方法
SIP協(xié)議,什么是SIP協(xié)議
SIP協(xié)議的應(yīng)用及技術(shù)支持
SIP協(xié)議在3G網(wǎng)絡(luò)中的應(yīng)用
自己動手寫SIP協(xié)議棧
基于改進(jìn)SIP密鑰協(xié)議的SIP安全認(rèn)證模型
SIP協(xié)議的基本信息及優(yōu)勢
SIP協(xié)議的定義及基本流程
評論