王可+徐義晗+齊文杰
摘要:SIP協(xié)議是一個(gè)應(yīng)用層的信令控制協(xié)議,并被廣泛應(yīng)用于通信核心網(wǎng)中。為了在通信工程施工、調(diào)試、維護(hù)的現(xiàn)場(chǎng)中對(duì)SIP協(xié)議進(jìn)行捕獲和分析,該文設(shè)計(jì)并實(shí)現(xiàn)了一種以STM32芯片為核心控制器的協(xié)議跟蹤分析工具。該工具屬于嵌入式系統(tǒng),體積小,方便攜帶,可以捕獲現(xiàn)場(chǎng)局端設(shè)備和媒體網(wǎng)關(guān)之間交互的SIP消息,并加以顯示和分析。
關(guān)鍵詞:SIP ;STM32 ; 嵌入式
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)10-0060-01
1 概述
現(xiàn)代通信核心網(wǎng)絡(luò)的一個(gè)重要特征就是廣泛采用SIP協(xié)議[1]來(lái)做呼叫控制和業(yè)務(wù)控制。SIP協(xié)議作為一種多媒體會(huì)話控制協(xié)議,用于創(chuàng)建、修改和釋放多媒體會(huì)話。在通信工程現(xiàn)場(chǎng)中經(jīng)常需要利用信令跟蹤分析工具對(duì)SIP協(xié)議消息進(jìn)行捕獲分析。目前SIP信令捕獲分析主要可以采用以下幾種工具:
1) 專業(yè)的信令分析儀:這種設(shè)備功能繁多,可以支持多種、各層信令協(xié)議的分析。缺點(diǎn)是價(jià)格昂貴,一般的小企業(yè)或者是教學(xué)單位難以支持。
2) 電信設(shè)備自帶的信令協(xié)議跟蹤系統(tǒng):能對(duì)設(shè)備自身支持的各種信息進(jìn)行跟蹤分析,缺點(diǎn)是只有大型設(shè)備才具備。
3) 軟件抓包工具:通過(guò)在電腦上安裝軟件抓包工具,也可以對(duì)SIP協(xié)議的數(shù)據(jù)包進(jìn)行捕獲,缺點(diǎn)是軟件抓包工具只能簡(jiǎn)單顯示SIP消息中的各個(gè)字段,無(wú)法對(duì)SIP協(xié)議中的對(duì)話、事務(wù)進(jìn)行組合分析。
上述幾種SIP協(xié)議跟蹤分析工具都具有各自的優(yōu)缺點(diǎn),本文對(duì)上述工具的特點(diǎn)進(jìn)行權(quán)衡,設(shè)計(jì)并開發(fā)一種成本低,性能功能滿足要求的嵌入式SIP信令協(xié)議分析工具[2]。
2 系統(tǒng)硬件結(jié)構(gòu)
系統(tǒng)的硬件部分以意法半導(dǎo)體的STM32F103VF MCU芯片為核心,作為系統(tǒng)的主控。該芯片是一款以32位的ARM Cortex-M3 CPU 為內(nèi)核的單片機(jī)芯片。最高工作頻率為72M HZ,可以實(shí)現(xiàn)單周期硬件乘法和除法,自帶768K字節(jié)的FLASH存儲(chǔ),RAM大小為96K,足以滿足系統(tǒng)的需求。此外該芯片還帶有多通道的ADC和DAC,對(duì)于SPI、I2C、USART總線都提供了支持,降低了開發(fā)的成本。系統(tǒng)的硬件框圖如下圖所示:
1) 主控MCU:為整個(gè)系統(tǒng)的核心,主要負(fù)責(zé)SIP信令消息的提取和分析,同時(shí)也是外圍模塊之間交互的橋梁。
2) 電源模塊:利用板上的USB接口向系統(tǒng)提供5V電源,5V電源濾波后再由電壓轉(zhuǎn)換芯片降為3.3V,供MCU使用。
3) 調(diào)試模塊:提供串口和JTAG口兩種調(diào)試方式,負(fù)責(zé)系統(tǒng)應(yīng)用程序的下載和調(diào)試。
4) 存儲(chǔ)模塊:提供板上Flash和SD卡兩種存儲(chǔ)方式,負(fù)責(zé)將處理后的SIP消息保存下來(lái),供用戶查閱。
5) 人機(jī)界面:用戶可以使用按鍵、觸摸屏向系統(tǒng)發(fā)出指令。系統(tǒng)處理的結(jié)果將通過(guò)觸摸屏顯示出來(lái)。
6) 網(wǎng)絡(luò)模塊:由帶網(wǎng)絡(luò)變壓器的以太網(wǎng)接口和以太網(wǎng)芯片(ENC28J60)組成,該模塊功能類似網(wǎng)卡,將處理好的以太網(wǎng)幀通過(guò)總線發(fā)送給MCU。
3 系統(tǒng)軟件結(jié)構(gòu)
軟件系統(tǒng)考慮到多任務(wù)并發(fā)執(zhí)行的需要,沒有采用裸機(jī)方式而是選擇移植UCOSII[3]嵌入式操作系統(tǒng)來(lái)進(jìn)行任務(wù)調(diào)度。UCOSII是一個(gè)可以基于ROM運(yùn)行的、可裁減的、搶占式、實(shí)時(shí)多任務(wù)內(nèi)核,具有高度可移植性,特別適合于微處理器和控制器。系統(tǒng)軟件結(jié)構(gòu)如下圖所示:
1) 嵌入式操作系統(tǒng):提供任務(wù)調(diào)度,文件管理,內(nèi)存管理,定時(shí)器等基本功能。
2) 驅(qū)動(dòng)程序:為上層應(yīng)用提供支撐,根據(jù)實(shí)際情況移植或編寫。其中網(wǎng)絡(luò)芯片ENC28J60的驅(qū)動(dòng)程序最為重要,驅(qū)動(dòng)程序的質(zhì)量直接影響系統(tǒng)工作的穩(wěn)定性和性能。
3) 存儲(chǔ)應(yīng)用程序:實(shí)現(xiàn)Flash或SD卡的讀寫功能。因?yàn)閁COSII的內(nèi)核中沒有文件管理,存儲(chǔ)管理的功能,本系統(tǒng)采用開源的FATFS文件系統(tǒng)來(lái)實(shí)現(xiàn)Flash空間的管理和讀寫。
4) 人機(jī)界面應(yīng)用程序:實(shí)現(xiàn)用戶命令的輸入,SIP消息的顯示功能。
5) USB通信程序:實(shí)現(xiàn)信令儀和PC之間的通信功能,將文件傳輸至PC。
6) 協(xié)議棧程序:MAC層協(xié)議由以太網(wǎng)芯片自帶驅(qū)動(dòng)實(shí)現(xiàn),IP和UDP協(xié)議通過(guò)移植開源的LWIP協(xié)議棧實(shí)現(xiàn),SIP協(xié)議部分實(shí)現(xiàn)SIP消息的分析,并按照會(huì)話和事務(wù)關(guān)系對(duì)消息進(jìn)行組織。
4 結(jié)論
本文在對(duì)常見SIP協(xié)議分析工具的優(yōu)缺點(diǎn)進(jìn)行比較和分析的基礎(chǔ)上提出一種分析SIP協(xié)議的新型嵌入式工具。文中對(duì)系統(tǒng)的硬件結(jié)構(gòu)和軟件結(jié)構(gòu)進(jìn)行了詳細(xì)說(shuō)明,實(shí)踐證明該工具體積小,功能性能可以滿足需求。
參考文獻(xiàn):
[1] Rosenberg J, Schulzrinne H, SIP: Session Initiation Protocol[S]. RFC 3261. (Standards Track). 2002.
[2] 張一龍.基于ARM的分布式信令分析儀的設(shè)計(jì)[D].武漢:湖北大學(xué),2012
[3] 任哲.嵌入式實(shí)時(shí)操作系統(tǒng)UCOSII原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2009.