SIPClient-3 SIP終端概述
Webcome to project:MTAVIPClient; Expecting you to join!
MTAVIPClient supports H323 and SIP protocols.
MTAVIPClient means Audio/Video over IP networkd.
1 SIP的主要協定
國際網際網路工程任務組(IETF)制定了SIP協定,SIP是一個輕量級信令協定,它可以作為音頻、視訊、及時資訊的信令。SIP協定家族使用的協定清單:
- RFC 2821: SMTP協定(Simple Mail Transfer - Protocol);
- RFC 2616: HTTP協定(Hypertext Transfer Protocol);
- RFC 3550: RTP/RTCP協定(Real Time Transport Protocol/Real Time Control Protocol),定義了在IP網上的多媒體包格式;
- RFC 2327: SDP協定(Session Description Protocol ),定義了一個多媒體會話的參數和特征
- RFC 2543: SIP協定1.0;
- RFC 3261: SIP協定2.0.
- RFC 4629 RTP Payload Format for ITU-T Rec. H.263 Video
- RFC 6184 RTP Payload Format for H.264 Video
- RFC 5109 RTP Payload Format for Generic Forward Error Correction
2 SIP終端具有的特性
- Impliment SIP/SDP Protocals
- Impliment RTP/RTCP Protocals
- Video/Audio Encoding
- Video/Audio decoding
- MTSIPClient Testing with SIPServer
3 SIP終端的協定模型
SIP協定是以IP為網絡中進行音視訊通信的技術,呼叫的建立、拆除、控制、附加服務和能力交換等由控制信令SIP/SDP協定來實作。音視訊資料通信由RTP承載,音視訊資料控制有RTSP承載。音視訊資料通信的基本原理是通過音視訊壓縮算法對音視訊資料進行壓縮編碼處理,然後把這些壓縮後的資料按照IP等相關協定進行打包,通過IP網絡把資料包分組傳輸到目的地,再把這些包組合起來,經過解碼解壓處理後,恢複成原來的音視訊信号。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90zdjNjVXFmMW12YohmMjZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jM2EjNwQDN0EDOyITM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
image-1 SIP協定棧
4 SIP終端的裝置模型
SIP終端的輸入端包括: 視訊圖像輸入(裝置顯示圖像或攝像頭圖像); 終端麥克風的音頻輸入;使用者的資料傳送等輸入;使用者UI控制輸入等;網絡資料輸入。
SIP終端的輸出端包括:視訊解碼顯示輸出;音頻解碼輸出;網絡資料輸出等。
SIP協定和相關輸入輸出關系如下圖所示。
image-2 SIP裝置的通用模型
5 SIP網絡的拓撲。
image-3 User Agents connect to same Agent Server
image-4 User Agents connect to different Agent Server
參考文獻
- SIP: Session Initiation Protocol
- SDP: Session Description Protocol
- RTP: A Transport Protocol for Real-Time Applications
- OpenSIPS: new breed of communication engine
關于MTAVIPClient.git項目(子子產品MTSIPClient)
- SIPClient-1 SIP協定概述
- SIPClient-2 開源SIP協定
- SIPClient-3 SIP終端概述
- SIPClient-4 SIP呼叫信令的資料流
- SIPClient-5 編譯SIP伺服器(OpenSIPS )
- SIPClient-6 建立MTSIPClient
- SIPClient-7 MTSIPClient的Todo清單