《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于DSP的WMGCP協議棧的設計與實現
基于DSP的WMGCP協議棧的設計與實現
來源:電子技術應用2011年第10期
郭翠娟, 苗長云, 武志剛
(天津工業大學 信息與通信工程學院,天津300160)
摘要: 基于DSP技術設計實現了一種運行于局域網VoIP電話通信系統的WMGCP協議棧。采用分層結構和會話狀態機設計,完成基本呼叫、群呼、全呼和擴音呼叫功能,實現WMGCP消息的構建、存儲和解析,利用μC/OS-Ⅱ嵌入式實時操作系統創建WMGCP任務。實驗表明該協議棧運行穩定,節省了系統資源和成本。
中圖分類號: TP 393.1
文獻標識碼: A
文章編號: 0258-7998(2011)10-0117-03
Design and implementation of WMGCP stack based on DSP
Guo Cuijuan, Miao Changyun, Wu Zhigang
School of Information and Commnication Engineering, Tianjin Polytechnic University, Tianjin 300160, China
Abstract: A DSP-based WMGCP stack running on LAN IP telephony system is implemented in this paper. The WMGCP stack adopts layered structure and session state machine, and accomplishes some functions such as individual calling, group calling, full calling, amplifying calling, storage and parse for WMGCP messages. The WMGCP task is created with μC/OS-II embedded operating system, which shows the good stability and low cost in practice.
Key words : soft switch; MGCP protocol; WMGCP stack; VoIP


    隨著Internet 和語音壓縮技術的發展, 針對傳統電話網通話成本高的弊端,人們提出了VoIP(Voice over Internet Protocol)技術, 該技術可將語音數據在分組交換網絡中傳輸, 提供比傳統業務更多更好的服務, 并大大降低了語音業務的成本。目前主流的VoIP 協議包括1998 年ITU-T 提出的H.323 協議族、1999年由IETF 定義的會話初始協議SIP (Session Initial Protocol)和媒體網關控制協議MGCP (Media Gateway Control Protocol)標準。MGCP 協議是在吸收H.323 經驗的基礎上。
 目前國內外基于MGCP 協議的開發仍較有限, 伴隨著VoIP的不斷發展, 開發能夠處理MGCP通信信令的協議棧以及在協議棧基礎上開發MGCP的應用越來越受到人們的關注。然而通常MGCP協議主要是由軟件實現的, 在具體實現過程中要耗費大量的CPU 處理時間, 處理速度比較慢, 而通過硬件實現協議棧則可以大大減輕系統的網絡處理負荷。本文基于嵌入式操作系統,采用DSP實現了改進的MGCP協議——WMGCP協議的設計。該協議使運行于局域網的VoIP電話通信系統在完成基本呼叫控制的同時還能實現群呼、全呼和擴音呼叫,并使信令傳榆和交換過程簡單、系統運行穩定,節省了系統資源、降低了系統成本。
1 MGCP協議簡介
 MGCP協議由簡單網關控制協議(SGCP) 和IP 設備控制規范(IPDC) 融合而成,是一個分布式IP電話網關系統的內部協議,用于控制來自外部呼叫控制單元的IP語音(VoIP)網關[1-2]。MGCP定義了媒體網關控制器(MGC)和媒體網關(MG)之間的操作。MGC又可稱為軟交換或呼叫代理(CA-Call Agent) , 主要負責處理控制信令, 根據接收到的信令控制媒體網關的連接建立和釋放。MG對應的媒體網關包括中繼網關(TG)、接入網關(AG)和接入設備(IAD)等,分別負責橋接相應類型的網絡。MGCP的要點是對網關命令的發布,以及網關在這些命令上的操作和發送返回信號。這些命令的目的是控制網關中連接創建和終止的操作,并使呼叫代理了解到發生在網關端點上的事件。
 MGCP 協議消息采用UDP 協議傳送,以加快消息傳送速度。但由于UDP 本身只能提供不可靠的傳送服務,所以MGCP采用了重發定時機制、“至多執行一次”功能、消息捎帶機制和臨時響應機制,以保證消息的可靠傳送和正確處理[3]。MGCP 協議消息分為命令和響應兩類, 每個命令需要接收方回送響應, 并采用“三次握手”方式證實。基于MGCP的VoIP電話網關系統如圖1所示。

2 協議需求分析
 本VoIP電話通信系統應用于石油、化工和煤炭等生產企業的生產調度,它利用企業現有的局域網絡實現網內和網間電話通信,用戶間可以實現單呼、群呼、全呼和擴音呼叫。該系統采用的媒體網關控制協議是改進的MGCP協議—WMGCP協議,系統由電話終端、呼叫控制器MGC、中繼網關TMG和網管系統組成,系統組成框圖如圖2所示。其中,電話終端中實現了MG和電話機功能,簡化了系統結構;TMG負責與外部PSTN電話網絡的對接;網管系統負責電話通信系統的網絡管理;呼叫控制器(MGC)內部包含了MGCP服務器,提供了基本的呼叫控制業務;IP分組傳輸網為局域網[4]。

    在MGCP協議中,規定了呼叫方網關、呼叫代理和被呼叫方網關間的所有交互命令和消息,而要實現這一整體協議過程,需要一定的軟件資源和硬件條件。本系統采用TMS320C5402芯片實現MGCP協議棧,由于DSP系統資源有限,因此需要對MGCP協議進行改進。考慮本局域網VoIP系統的實際需求后, 從以下幾方面進行改進:
    (1) 由于系統容量較小,電話終端的IP地址與電話號碼有固定的計算關系,所以設計時將IP地址與電話號碼綁定,不需要龐大的映射表。
    (2) 語音的編解碼方式指定為G.711A率,因此不需要設計EPCF程序。
    (3) 每一個MG上只有一個終結點(電話機),MG和MGC記錄的終結點狀態和連接認為是同步的,因此呼叫控制器(MGC)不需要通過審計終結點命令查詢MG特定終結點的狀態和檢查指定連接的各種信息,所以不需要設計AUEP和AUCX程序。
    (4) 在完成一對一呼叫的同時,協議中增加了擴音呼叫、群呼及全呼控制,增加了系統功能。
 改進后的WMGCP協議棧既實現了MGCP協議的基本功能,又減少了設計上的復雜程度,同時由于上層協議(如UDP等)的設計相對獨立, 對其影響也非常小。
3 WMGCP協議的設計
3.1 分層設計

    WMGCP協議采用分層設計,與RFC2705中定義的分層結構略有不同[2]。按照系統中WMGCP消息的實際處理過程將層次分為:傳輸適配層,編、解碼層,事務層和應用層API。它們在垂直方向上有明顯的上下層關系,實現自上而下的調用。分層結構如圖3 所示。

    傳輸適配層調用UDP 套接字發送WMGCP 數據,或者從UDP層接收WMGCP 數據。WMGCP 協議端口默認值為2427/2727。
 編、解碼層用于實現WMGCP消息的構建和解析。WMGCP 消息的構建是指將事務層提供的WMGCP事務結構格式按照需要生成起始行、頭域和消息體等有用信息,并將這些信息轉換成WMGCP協議消息格式。WMGCP消息的解析是指將WMGCP協議消息解碼為WMGCP事務結構,提供給WMGCP事務層。
 事務層負責創建和取消事務,處理各種WMGCP命令和響應,維護事務狀態機。WMGCP協議是事務型協議,采用事務號來標識和定位每個命令消息。WMGCP協議提供6種命令消息,分別是:RQNT、CRCX、DLCX、MDCX、NTFY和RSIP。其中RQNT、CRCX、DLCX、MDCX 4種命令可以由軟交換發起;NTFY、DLCX、RSIP 3種命令可以由MG發起。同時,WMGCP協議提供響應消息,通過響應消息的響應碼可以對收到的命令進行正確響應或者錯誤響應。
 應用層API向WMGCP任務提供各種會話的控制API,用于完成摘機、應答、掛斷、保持等事件引發的MGCP處理。
3.2 狀態機
 電話終端的狀態采用狀態機的方法實現[5]。本系統就是通過事件和消息的觸發來改變狀態機的狀態。事件是指對電話產生的動作(如摘機、撥號、掛機等);消息是指系統進行狀態轉換時發出的命令、請求、響應等信號。主叫與被叫分別維護各自的狀態機。
 主、被叫狀態轉移圖分別如圖4、圖5所示。在空閑狀態下,主叫用戶摘機,MG向MGC報告,MGC通知MG向主叫送出撥號音;主叫用戶撥號,MG號碼收齊后向MGC報告;MGC進行號碼分析,如號碼為單呼號碼且被叫用戶已經注冊并處于空閑狀態,則向被叫MG發出連接命令,連接形式為“只接收”;MGC收到被叫MG的響應后,向主叫MG發出連接命令,連接形式為“只發送”,此時為擴音態,主叫用戶即可通過媒體端口向被叫用戶發送語音;被叫用戶摘機,被叫MG向MGC報告,MGC向主被叫雙方MG發送修改連接命令,連接形式為“發送和接收”;通話完畢,任一方掛機,向MGC報告,MGC向掛機方發出刪除連接命令,將其狀態置為空閑,向另一方發出刪除連接命令,并要求其送出忙音,等其掛機后,將其狀態也置為空閑。如果被叫處于擴音狀態,主叫掛機,MGC向雙方發送刪除連接命令,并將雙方狀態置為空閑。如果所播號碼為群呼或全呼組號,則MGC依次向屬于該群組的用戶或全部用戶發送創建連接命令,連接方式為“只接收”。此時MGC只需得到其中一個用戶的應答就向主叫發送創建連接命令,連接方式為“只發送”;主叫用戶使用廣播分組發送語音數據,網絡上所有終端均接收這個分組,但只有處于被叫連接狀態的終端才處理這個分組。

4 精簡MGCP協議的實現
4.1 基于DSP的工作方式

 本系統的DSP為TI公司的TMS320VC5402 16位定點處理器芯片,其采用哈佛體系結構、流水線技術和獨立的硬件乘法器,操作速度最高為100 MIPS。TMS320VC5402內部有16 KB的SRAM,一部分用于引導Flash程序的運行,另一部分用于堆棧、存放中斷向量、DSP中DMA模塊所需的數據和少量常用變量;片外數據和指令的可存、取空間分別為64 KB和1 MB,分別采用了SST39VF400A Flash和IS61LV25616 SRAM存儲器;實際運行時可執行的指令和數據分別為64 KB。 TMS320VC5402的處理速度完全可以滿足系統的運算要求,非實時性的MGCP協議棧指令可以在片外Flash上運行,數據在片外SRAM上運行,其瓶頸在于可執行的指令和數據空間受限。本系統采用的網絡芯片為DM9000,設置為100 Mb/s網速、16 bit數據收發模式和全雙工工作方式。

 


 在16 bit DSP中,文本數據存儲占用低8 bit,高8 bit補0,造成50%數據帶寬的浪費。本系統采用16 bit存儲方式,即每兩個文本數據合并成一個16 bit數據,奇數字節放在高8 bit,偶數字節放在低8 bit,數據帶寬利用率接近100%。MGCP消息由很多信息段組合而成,這些信息段既有按照文本方式存儲,也有些按照16 bit字段方式存儲,MGCP消息的構建需要調用8 bit/16 bit轉換函數,最終生成的MGCP消息是由16 bit存儲的。
  MGCP消息的解析采用“懶漢”算法,即將收到的MGCP消息按照起始行、頭域和消息體等內容拆開并分別存儲。在解析時對每部分內容分別解析,獲取其中有用的信息。
4.2 WMGCP任務
    在TMS320C5402 DSP上使用μC/OS-Ⅱ操作系統建立WMGCP任務。WMGCP任務通過接收操作系統消息調用相應WMGCP協議棧應用層API,包括:WMGCP_Register()用戶注冊消息;WMGCP_RSIP()重啟命令;WMGCP_ RQNT()通知請求命令;WMGCP_NTFY()通知命令;WMGCP_CRCX()創建連接命令;WMGCP_MDCX()修改連接命令;WMGCP _DLCX()刪除連接命令;WMGCP_RESP()響應命令; WMGCP_UDPHandle()解析UDP 上傳的MGCP消息;WMGCP_TimerHandle()負責協議棧計時處理。以上WMGCP協議棧應用層API由WMGCP任務消息觸發,WMGCP任務在完成某一函數調用后,通過OSQPend()等待新的消息到來。
4.3 實現尺寸
    本文實現了應用于局域網VoIP的WMGCP協議棧,在TMS320C5402芯片上編譯的數據和代碼如表1所示。WMGCP協議的全部代碼在片外Flash中運行,所有數據在片外SRAM中運行,運行速度滿足要求。
    本文針對TMS320C5402的特點設計實現了運行于局域網VoIP的WMGCP協議棧,該WMGCP協議棧既能夠滿足基本呼叫功能,又能夠實現群呼、全呼和擴音呼叫,實現了局域網VoIP電話通信系統的應用。實驗結果表明,本文設計實現的精簡MGCP協議棧具有良好的運行穩定性。
參考文獻
[1] GOKULAKRISHNAN T, LEFFEW J,SHREINIVASAN  S,  et al. Standardizing call control in voice over internet app plications:A MGCP approach[C]. Fourth IEEE International Caracas Conference on Devices:Circuits and Systems,Aruba, 2002:91-111.
[2] Network working group. Media Gateway Control Protocol Version1.0 RFC2705[S], 1999.
[3] GREENE N. Media gateway control protocol architecture and requirements[S]. RFC2805,2000.
[4] Network working group. Megaco Protocol Version 1.0 RFC3015[S].2000.
[5] ANDREASEN F, FOSTER B. Media gateway control protocol version 1.0[S]. RFC3435, 2003.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99成人在线| 亚洲第一天堂无码专区| 黑人巨大精品欧美黑白配亚洲| 欧美日韩日本国产亚洲在线| 免费在线欧美黄色| 久久亚洲综合色| 久久精品视频免费播放| 亚洲男人av电影| 国产精品99久久久久久久女警| 亚洲免费电影在线观看| 亚洲精品日韩久久| 亚洲精品乱码久久久久久蜜桃91| 亚洲电影第三页| 久久精品五月| 亚洲国产91| 亚洲激情校园春色| 亚洲精品国产视频| 亚洲日韩欧美视频一区| 亚洲精品影视| 亚洲免费大片| 亚洲色图制服丝袜| 国产精品99久久久久久久vr| 亚洲午夜未删减在线观看| 在线中文字幕不卡| 亚洲一区综合| 欧美亚洲视频一区二区| 性欧美长视频| 久久久一本精品99久久精品66| 久久久久久久综合日本| 毛片一区二区| 欧美国产亚洲精品久久久8v| 欧美韩日高清| 欧美三级韩国三级日本三斤| 国产精品久久久久久久久婷婷| 国产精品久久夜| 国产欧美日韩视频在线观看| 国产一区二区三区免费不卡| 激情一区二区三区| 亚洲国产精品一区二区尤物区| 亚洲精品久久久蜜桃| 日韩网站在线| 亚洲视频一区二区| 欧美影片第一页| 91久久在线视频| 一区二区三区毛片| 欧美在线不卡| 牛人盗摄一区二区三区视频| 欧美精品一级| 国产精品亚洲综合色区韩国| 国产在线播放一区二区三区| 亚洲高清在线| 亚洲性视频网址| 欧美一区二区三区日韩| 亚洲精品社区| 午夜免费日韩视频| 裸体女人亚洲精品一区| 欧美日韩99| 国产欧美日韩视频在线观看 | 欧美噜噜久久久xxx| 国产精品v日韩精品v欧美精品网站| 国产麻豆日韩欧美久久| 亚洲福利av| 中日韩高清电影网| 久久er精品视频| 亚洲一区二区三区四区视频| 欧美视频福利| 国产一区美女| 一本久道久久综合狠狠爱| 久久av资源网| 亚洲一二三区精品| 久久一二三区| 国产精品theporn88| 亚洲第一页在线| 亚洲制服av| 一本色道久久综合| 久久精品午夜| 欧美日韩伊人| 樱桃成人精品视频在线播放| 亚洲一区二区三区久久| 亚洲精选视频在线| 久久岛国电影| 欧美三区视频| 在线观看免费视频综合| 亚洲欧美国产制服动漫| 日韩一级欧洲| 另类天堂视频在线观看| 国产精品国产精品| 亚洲欧洲在线观看| 久久精品卡一| 欧美亚洲自偷自偷| 欧美日韩精品一区视频| 一区二区三区自拍| 午夜精品免费在线| 亚洲一二三四久久| 欧美另类videos死尸| 在线看国产日韩| 欧美在线一级va免费观看| 亚洲欧美日韩精品一区二区| 欧美精品三级日韩久久| 精品99视频| 欧美一区二区黄色| 性欧美8khd高清极品| 欧美午夜欧美| 黄色亚洲免费| 欧美一区二区大片| 亚洲女人天堂av| 欧美日本韩国一区| 亚洲国产裸拍裸体视频在线观看乱了中文 | 日韩一级网站| 美女视频黄 久久| 国产在线观看精品一区二区三区| 国产视频一区免费看| 亚洲一区二区三区国产| 久久精品av麻豆的观看方式| 欧美在线视频日韩| 国产精品美女一区二区| 日韩亚洲欧美成人| 日韩午夜在线电影| 欧美韩日一区二区| 亚洲福利视频网| 亚洲人成网站精品片在线观看| 久久久精品性| 国内成人精品一区| 久久国产精品久久久久久| 欧美在线亚洲综合一区| 国产精品一区二区在线观看不卡| 一区二区三区国产在线| 亚洲欧美卡通另类91av| 欧美午夜大胆人体| 99精品视频免费观看| 亚洲午夜激情| 欧美性猛交xxxx免费看久久久| 日韩一区二区高清| 亚洲视频自拍偷拍| 欧美午夜视频在线| 亚洲视频精选| 欧美亚洲免费| 国产一区二区久久久| 欧美一区中文字幕| 久久综合色播五月| 亚洲国产精品999| 日韩小视频在线观看专区| 欧美精品久久一区二区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲精选大片| 欧美少妇一区| 亚洲视频每日更新| 亚洲欧美日韩国产一区二区| 国产精品美女在线| 性欧美激情精品| 久热精品视频在线观看一区| 一区二区在线不卡| 日韩天堂av| 欧美日韩在线视频一区二区| 亚洲一二三四久久| 久久人人爽爽爽人久久久| 伊伊综合在线| 一区二区三区日韩精品视频| 国产精品久久毛片a| 欧美在线视频免费播放| 欧美成人精品一区二区| 亚洲精品欧洲| 欧美一区二区三区四区夜夜大片| 国产又爽又黄的激情精品视频| 亚洲欧洲久久| 欧美三区视频| 欧美一区二区三区久久精品| 免费观看欧美在线视频的网站| 99成人在线| 久久精品99国产精品日本| 亚洲大胆人体视频| 亚洲深夜福利视频| 国产精品永久免费观看| 亚洲高清在线视频| 欧美日韩第一区| 欧美一激情一区二区三区| 欧美成人高清| 亚洲免费人成在线视频观看| 美女日韩欧美| 亚洲午夜免费福利视频| 另类专区欧美制服同性| 一区二区三区高清视频在线观看| 久久精品毛片| 亚洲人成在线观看一区二区| 欧美一区二区日韩| 亚洲电影天堂av| 香蕉久久国产| 亚洲人体1000| 久久精品国语| 日韩午夜在线观看视频| 久久精品国产欧美激情| 亚洲精品老司机| 久久综合久久综合这里只有精品 | 国产欧美日韩精品专区| 亚洲精品欧美在线| 国产精品色网| 夜夜嗨av一区二区三区网站四季av| 国产精品一区二区久激情瑜伽| 亚洲欧洲精品一区二区| 国产精品一二三四|