基于SIP協議棧的嵌入式環境下的設計方法介紹
事務層創建并管理事務對象。TransacTIonSendRcv提供發送不同SIP消息的接口,并以回調函數的方式在收到消息時通知應用程序。Tr-ansactionSendRcv使用傳輸SipMessageSendRcv提供的收發消息功能收發SIP消息,并根據收發的消息類型產生事件,將事件以及事件體(主要是SIP消息)作為參數傳遞給相應模塊UACTransactFSM和UASTransactlFSM。事務層的核心就是這2個模塊,分別表示UA客戶端和服務器端收到不同消息的處理流程,具體的狀態轉換如圖3所示。本文引用地址:http://www.104case.com/article/149095.htm

3 SIP協議棧的測試結果
本文實現的系統將在ARM9平臺的設備終端上運行,將交叉調試好的程序燒寫到ARM9的Flash存儲模塊中,再進行調試和運行測試。其測試方法是在ARM9平臺上實現一個簡單的SIP終端系統,該系統利用SIP偵聽程序,當一段用戶發起呼叫時,雙發的SIP模塊開始通信。利用SIP信令主動發起呼叫或接收對方呼叫建立會話連接,連接建立好后傳送RTP數據,直到一方用戶提出結束請求,終止該次會話,系統恢復SIP偵聽狀態。SIP終端之間呼叫流程如圖4所示,開始時主叫(IP=192.168.36.1)向代理服務器(IP=192.168.51.24)發起呼叫,當主叫與被叫的鏈路搭建成功后,主叫與被叫開始語音通信,語音通信采用的標準是G.729,主叫發送SIP信令給代理服務器采用UDP傳輸協議,主叫與代理服務器之間在SIP呼叫過程中也同時進行媒體協商,采用網絡協議分析工具Ethereal抓包分析,結果如表l~表3所示。


評論