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