五分鐘技術(shù)趣談 | 音視頻通信及信令SIP協(xié)議壓測(cè)方法淺析
Part 01
音視頻通信過(guò)程
音視頻通信技術(shù)依托核心音視頻編解碼、信道傳輸、網(wǎng)絡(luò)調(diào)度等能力,為用戶提供低延時(shí)、高品質(zhì)的音視頻內(nèi)容。音視頻通信完整流程有如下幾個(gè)環(huán)節(jié):前后處理、采集、編碼、傳輸、解碼、緩沖、渲染等。
圖1 音視頻通信過(guò)程
Part 02
音視頻通信相關(guān)協(xié)議
音視頻通信涉及的協(xié)議有:rtp,rtcp, rtmp,rtsp,http,hls,srt,sip。其中rtp和rtcp為傳輸層協(xié)議,它依賴底層的udp協(xié)議,常配合rts直播;rtsp,rtmp,hls,srt為應(yīng)用層媒體傳輸協(xié)議,常用于直播,互動(dòng)直播,點(diǎn)播等;sip為依賴底層udp協(xié)議信令控制協(xié)議,用于媒體會(huì)話發(fā)起、終止、修改控制。
表1 音視頻通信相關(guān)協(xié)議詳情
計(jì)算機(jī)網(wǎng)絡(luò)采用了層次化設(shè)計(jì)方法,層與層之間通過(guò)層間接口聯(lián)系起來(lái),每層通過(guò)特定的協(xié)議完成一種功能,多層疊加完成整個(gè)信息的發(fā)送和接收。媒體通信協(xié)議與OSI協(xié)議體系結(jié)構(gòu)的關(guān)系如下:
圖2 媒體通信協(xié)議與OSI協(xié)議體系結(jié)構(gòu)的關(guān)系
Part 03
基于SIP的中心信令控制服務(wù)
云桌SIP(Session Initiation Protocol)是應(yīng)用層會(huì)話初始協(xié)議,可用于媒體會(huì)話的發(fā)起、終止、修改,是NGN即為下一代網(wǎng)絡(luò)中的重要協(xié)議,是由IETF制定的多媒體通信協(xié)議。會(huì)話的參與者可以通過(guò)組播、網(wǎng)狀單播或兩者的混合體進(jìn)行通信。信令(Signaling)是指通信系統(tǒng)中的控制指令,如:狀態(tài)上報(bào),配置參數(shù)下發(fā),網(wǎng)絡(luò)資源調(diào)度,是實(shí)現(xiàn)音視頻通信的重要一環(huán)。要實(shí)現(xiàn)音視頻通信,需要經(jīng)過(guò)信令服務(wù)器交換信息:媒體信息、網(wǎng)絡(luò)信息、具體業(yè)務(wù)(例如:拉流,暫停,加入房間,禁言等)
圖3 信令控制服務(wù)過(guò)程
媒體信息:在雙端通信之前,通過(guò)SDP(SessionDescription Protocal)會(huì)話描述協(xié)議了解雙方具備哪些能力,SDP媒體信息攜帶了編解碼器是什么,是否支持音頻視頻,編碼方式是什么等。
圖片
圖片
圖4 SDP會(huì)話描述協(xié)議中的關(guān)鍵屬性
網(wǎng)絡(luò)信息:當(dāng)A向B通信時(shí),首先將網(wǎng)絡(luò)相關(guān)信息傳到信令服務(wù)器,服務(wù)器幫你交換到對(duì)端,對(duì)端拿到你的信息后,若在同一局域網(wǎng)內(nèi),直接通過(guò)P2P傳輸;若不在,首先進(jìn)行P2P穿越,看是否能打通,打通則傳輸,打不通則中轉(zhuǎn)等。
Part 04
SIPP性能測(cè)試
在SIPP測(cè)試過(guò)程前,我們先了解sip創(chuàng)建/結(jié)束會(huì)話過(guò)程:
1.主叫方向被叫方發(fā)送SIP INVITE 請(qǐng)求消息(攜帶SDP),請(qǐng)求建立會(huì)話
2.被叫方返回SIP 200 OK響應(yīng)消息(攜帶SDP),接受會(huì)話建立請(qǐng)求
3.主叫方發(fā)送SIP ACK 請(qǐng)求消息確認(rèn)會(huì)話的建立。
4.會(huì)話中的任意一方可以發(fā)送SIP BYE 請(qǐng)求消息,請(qǐng)求結(jié)束會(huì)話;
5.另一方返回SIP 200 OK響應(yīng)消息,接受會(huì)話結(jié)束請(qǐng)求。
圖5 sip創(chuàng)建/結(jié)束會(huì)話過(guò)程
SIPP可以用來(lái)測(cè)試許多真實(shí)的SIP設(shè)備,如SIP代理、B2BUAS,SIP服務(wù)器,SIP/X網(wǎng)關(guān)、SIPPBX等等,它可以模仿上千萬(wàn)個(gè)SIP代理呼叫你的SIP系統(tǒng)。
? 以模擬UAC為例,測(cè)試步驟:
1.用戶操作端口設(shè)備的管控功能,如拉流,暫停,云臺(tái)控制等功能
2.xshell鏈接信令所在服務(wù)器,執(zhí)行抓包命令tcpdump -i any -s 0 -w xx.pcap
3.使用xftp將抓包xx.pcap文件同步到本地 ,使用wireshark 查看
4.根據(jù)sip的交互報(bào)文,編寫sipp腳本(如右圖1)
5.將uac腳本放在在sipp部署的服務(wù)器目錄下執(zhí)行以下命令:
6.sipp -i 172.xx.xx.86 -p 5xxx5 -sf uac3.xml -inf data.csv 172.xxx.xxx.38:5xx0 -r 1 -l 10 -m 20
圖6 SIPP性能測(cè)試腳本編寫
Part 05
結(jié)束語(yǔ)
隨著新一代信息技術(shù)的快速發(fā)展,我們已經(jīng)進(jìn)入了進(jìn)入一個(gè)全新的智能時(shí)代。作為質(zhì)量保障部門,一方面我們要深入了解業(yè)務(wù)所涉及的技術(shù),另一方面要探究質(zhì)量保障方法為家庭安防生態(tài)業(yè)務(wù)發(fā)展保駕護(hù)航。