精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SIP協議的定義及基本流程

jf_78858299 ? 來源:CallMe阿堃 ? 作者:CallMe阿堃 ? 2023-05-19 10:26 ? 次閱讀

定義

SIP 協議,即會話發起協議(Session Initiation Protocol), 是一個應用層的 點對點協議 ,用于初始、管理和終止網絡中的語音和視頻會話, 屬于 GB28181 的核心之一。

SIP 協議是由IETF組織提出的IP電話信令協議,IETFRFC2543中對它的定義是一個基于文本的應用層控制協議, 獨立于底層傳輸協議:TCP/UDP/SCTP, 用于建立、修改和終止 IP 網上的雙方或多方多媒體會話。借鑒了 HTTPSMTP 等協議,支持代理、重定向及登記定位用戶等功能, 支持用戶移動。

SIP協議通過與 RTP/RTCPSDPRTSP 等協議及 DNS 配合, 從而支持語音、視頻、數據、E-mail、 狀態、IM、聊天、游戲等應用場景。

它可在 TCPUDP 之上傳送,由于 SIP 本身具有握手機制,一般情況下首選 UDP傳輸協議。

從打電話的角度去理解SIP協議,推薦閱讀:深入淺出SIP協議

本篇文章針對sip協議的應用場景是建立在GB28181協議的基礎上來進行理解和解讀的,如果理解有誤,還請各位網友不吝指教!在評論區留下您的寶貴建議,謝謝!

基本流程

sip協議的網絡元素:

  • 用戶代理
  • 代理服務器
  • 注冊服務器
  • 重定向服務器
  • 位置服務器

圖片

上圖簡單的勾勒出了sip協議網絡元素之間的關系,同時通過上圖也可以了解到sip會話的基本呼叫流程:

  • 用戶代理B向注冊服務器發送Register請求,攜帶contact地址;
  • 隨后注冊服務器將B的地址,記錄到位置服務器;
  • 用戶代理A向代理服務器發送invite請求啟動與用戶代理B的會話;
  • 代理服務器會先向A發送響應100 Trying信息以避免A重傳invite消息;
  • 然后代理服務器向位置服務器搜索B的地址,獲取到地址后會進一步轉發Ainvite請求;
  • 通過上一步代理服務器將A的請求轉發到BB向代理服務器響應180 Ringing信息;
  • 代理服務器將B的響應信息轉發給A,B向代理服務器響應200 OK信息;
  • 緊接著AB發送ACK請求,一個會話至此建立完成。

關于GB28181的"客戶端對實時音視頻點播"的流程,本質除sip服務器以外的都是sip客戶端, 也可以理解為客戶端對媒體發送端的基本呼叫流程,如下圖:

圖片

GB28181標準中 中心信令服務器 (center control server)就是一個基于sip協議設計的負責核心sip信令應用處理的SIP服務器, 信令安全路由網關 (secure signal routing gateway)是一種具有安全功能的sip服務器。

"組成中心信令控制的邏輯實體包括代理服務器、注冊服務器、重定向服務器、背靠背用戶代理等的一種或者幾種,是負責核心SIP信令應用處理的SIP服務器" --引自《GB/T 28181-2016 公共安全視頻監控聯網系統 信息傳輸、交換、控制技術要求》

協議結構


sip協議包括六個主要請求和六類響應消息:

請求:

  • INVITE
  • BYE
  • REGISTER
  • CANCEL
  • ACK
  • OPTIONS

響應:

  • 1xx: 臨時/信息響應
  • 2xx: 成功響應
  • 3xx: 重定向響應
  • 4xx: 客戶端故障響應
  • 5xx: 服務器故障響應
  • 6xx: 全局故障響應

下面是GB28181協議標準下較常用的的sip請求:

INVITE

INVITE請求在GB28181協議中是視頻點播(包括實時預覽和歷史回放)流程中最重要的一個環節,在invite請求中會包含SDP協議的內容。SDP協議(Session Description Protocol)是用來描述媒體數據是如何使用的,它由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字段的具體細節可參考鏈接:

sdp會話描述協議

sdp協議參考文獻:

《GB/T 28181-2016 公共安全視頻監控聯網系統 信息傳輸、交換、控制技術要求》附錄FSDP定義

下面是在GB28181協議中視頻點播流程中的invite數據包:

圖片

BYE

BYE包是用來終止已經建立的會話,通常出現BYE包的場景是媒體接收端主動發起實時音視頻點播流程時出現。它不能由代理服務器發送,也不能發送到掛起的INVITE或者未建立的會話。

具體的數據包流程分析如下圖:

圖片

REGISTER

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

圖片

GB28181中它是采用RFC 3261規范中基于數字摘要的CRAM機制來進行注冊,基本注冊流程如下圖:

圖片

具體的數據包分析如下圖:

圖片

CANCEL

主要是用來終止未建立的會話。用戶代理使用此請求取消之前發起的待處理的invite。它可以由用戶代理或代理服務器發送。

ACK

ACKRFC-3262規范中是一個請求,它只有在INVITE請求中出現,當INVITE請求響應是200 OK時, 后續的ACK則是一個獨立事務。

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1324

    瀏覽量

    78756
  • UDP
    UDP
    +關注

    關注

    0

    文章

    317

    瀏覽量

    33801
  • 傳輸協議
    +關注

    關注

    0

    文章

    70

    瀏覽量

    11389
  • SCTP
    +關注

    關注

    0

    文章

    7

    瀏覽量

    8119
收藏 人收藏

    評論

    相關推薦

    SIP協議在嵌入式Linux中的實現

    嵌入式系統由于本身資源的限制,現有的SIP協議直接應用于嵌入式便攜設備還有困難。為滿足SIP協議在嵌入式系統中的商用要求,設計出一個簡化的SIP
    發表于 10-12 12:22 ?2175次閱讀
    <b class='flag-5'>SIP</b><b class='flag-5'>協議</b>在嵌入式Linux中的實現

    信令控制協議sip

      SIP(Session Initiation Protocol)是一個應用層的信令控制協議。用于創建、修改和釋放一個或多個參與者的會話。這些會話可以好似Internet多媒體會議、IP電話或
    發表于 08-06 06:29

    嵌入式SIP協議棧怎么設計?

    ,憑借SIP自身的特性可有效提高嵌入式網絡設備的互操作性和接入網絡的便利性。但SIP協議本身只給出SIP消息的文法定義以及自然語言描述的消息
    發表于 10-29 08:14

    SIP協議在嵌入式環境下有什么應用?

    ,憑借SIP自身的特性可有效提高嵌入式網絡設備的互操作性和接入網絡的便利性。但SIP協議本身只給出SIP消息的文法定義以及自然語言描述的消息
    發表于 03-27 07:26

    如何實現WebRTC協議SIP協議互通

    一、WebRTC協議SIP協議互通的需求來源目前在國內需要WebRTC協議SIP協議互通的場
    發表于 09-04 16:04

    支持SIP協議的軟交換控制設計,

    軟交換技術是下一代網絡的核心技術。而SIP 協議由于其簡單、易于擴展、便于實現,逐漸成為NGN 和3G 領域的重要協議。根據SIP 的基本功能,按照模塊化設計思想,提出支持
    發表于 09-12 16:12 ?17次下載

    SIP協議性能測試的方法

    介紹了SIP協議(Session Initiation Protocol)的相關知識,在其基礎上探討了SIP協議性能測試的方法。該方法中提出了基于基本呼叫
    發表于 01-05 11:18 ?32次下載

    SIP協議,什么是SIP協議

    SIP協議,什么是SIP協議 SIP協議是NGN中的重要
    發表于 04-07 16:12 ?2255次閱讀

    SIP協議的應用及技術支持

     在統一通信中,我們通常會是用SIP協議。那么不禁會這樣問,我們為什么要使用SIP協議SIP協議
    發表于 07-23 11:30 ?1285次閱讀

    SIP協議在3G網絡中的應用

      會話起始協議SIP是3G的IP多媒體子系統中提供多媒體業務的核心技術。文章首先介紹了SIP的基本工作原理,然后對3GPPUMTSR5定義的IMS進行了簡要描述,最后詳細闡述了
    發表于 09-12 09:39 ?1576次閱讀
    <b class='flag-5'>SIP</b><b class='flag-5'>協議</b>在3G網絡中的應用

    自己動手寫SIP協議

    本文由作者的本科畢設論文改寫而成。由于時間倉促及作者水平所限,本文中的SIP協議棧尚不能實用,僅供初學SIP協議的朋友們入個門而已。不足之處還請多多包涵。
    發表于 05-31 16:18 ?64次下載
    自己動手寫<b class='flag-5'>SIP</b><b class='flag-5'>協議</b>棧

    基于改進SIP密鑰協議SIP安全認證模型

    針對現有SIP(會話初始協議)認證機制不能抵抗臨時秘密泄露攻擊和系統開銷大的問題,提出了一種基于改進SIP協議SIP安全認證模型。借鑒原有
    發表于 06-17 11:54 ?8次下載

    FreeSwitch的sip協議協議詳解.pdf

    FreeSwitch的sip協議協議詳解.pdf
    發表于 12-30 11:28 ?3次下載

    SIP協議的基本信息及優勢

    因為SIP協議是參考了HTTP協議發展而來,因此會話的基本特性也可以通過HTTP協議的會話來理解。會話實現的就是一個數據交互,雙方的數據交換至少包括會話的ID、生命周期、定時器、結束的
    的頭像 發表于 05-19 10:46 ?1365次閱讀
    <b class='flag-5'>SIP</b><b class='flag-5'>協議</b>的基本信息及優勢

    SiP系統級封裝設計仿真技術流程

    SiP仿真設計流程介紹
    發表于 04-26 17:34 ?2次下載