基于SIP協(xié)議棧的嵌入式環(huán)境下的設(shè)計方法介紹
事務(wù)層創(chuàng)建并管理事務(wù)對象。TransacTIonSendRcv提供發(fā)送不同SIP消息的接口,并以回調(diào)函數(shù)的方式在收到消息時通知應(yīng)用程序。Tr-ansactionSendRcv使用傳輸SipMessageSendRcv提供的收發(fā)消息功能收發(fā)SIP消息,并根據(jù)收發(fā)的消息類型產(chǎn)生事件,將事件以及事件體(主要是SIP消息)作為參數(shù)傳遞給相應(yīng)模塊UACTransactFSM和UASTransactlFSM。事務(wù)層的核心就是這2個模塊,分別表示UA客戶端和服務(wù)器端收到不同消息的處理流程,具體的狀態(tài)轉(zhuǎn)換如圖3所示。本文引用地址:http://www.ex-cimer.com/article/149095.htm
3 SIP協(xié)議棧的測試結(jié)果
本文實現(xiàn)的系統(tǒng)將在ARM9平臺的設(shè)備終端上運行,將交叉調(diào)試好的程序燒寫到ARM9的Flash存儲模塊中,再進行調(diào)試和運行測試。其測試方法是在ARM9平臺上實現(xiàn)一個簡單的SIP終端系統(tǒng),該系統(tǒng)利用SIP偵聽程序,當(dāng)一段用戶發(fā)起呼叫時,雙發(fā)的SIP模塊開始通信。利用SIP信令主動發(fā)起呼叫或接收對方呼叫建立會話連接,連接建立好后傳送RTP數(shù)據(jù),直到一方用戶提出結(jié)束請求,終止該次會話,系統(tǒng)恢復(fù)SIP偵聽狀態(tài)。SIP終端之間呼叫流程如圖4所示,開始時主叫(IP=192.168.36.1)向代理服務(wù)器(IP=192.168.51.24)發(fā)起呼叫,當(dāng)主叫與被叫的鏈路搭建成功后,主叫與被叫開始語音通信,語音通信采用的標(biāo)準(zhǔn)是G.729,主叫發(fā)送SIP信令給代理服務(wù)器采用UDP傳輸協(xié)議,主叫與代理服務(wù)器之間在SIP呼叫過程中也同時進行媒體協(xié)商,采用網(wǎng)絡(luò)協(xié)議分析工具Ethereal抓包分析,結(jié)果如表l~表3所示。
評論