基于SIP協議的IP電話通信系統的組成原理
3 系統軟件設計
軟件方面的工作主要是驅動程序的編寫、任務的劃分和任務的編寫等三個方面。由于μC/OS-II基本上不提供API接口庫或者需要額外購買,因此,*中需要編寫的主要驅動軟件有包括TCP/IP、液晶驅動、EEPROM驅動、鍵盤驅動、IO驅動、USB驅動等程序。這些驅動程序的編寫一般都有固定的模式和套路。一般情況下,IP電話軟件應包括完成語音通話所需的所有功能。該軟件按功能可劃分為圖3所示的四部分。

3.1 呼叫處理模塊
呼叫處理模塊主要完成呼叫的建立與拆除功能。呼叫控制可采用SIP協議建立會話。呼叫建立過程通常是先由一個SIP終端向本地的代理服務器發出呼叫請求,本地的代理服務器則通過查詢本地的重定向服務器來查找下一個代理服務器的地址,并向其轉發呼叫請求。當下一個代理服務器收到呼叫請求后,首先通過定向服務器查找被叫所在網絡的代理服務器,然后向該代理服務器轉發呼叫請求。被叫所在網絡的代理服務器確定被叫終端后,再向被叫終端轉發呼叫請求。最后由被叫終端應答,從而實現連接。
3.2 語音編碼/解碼模塊
雖然語音采集所得到的PCM編碼數據能夠提供較好的長途通信語音質量,但其速率往往過高,因而占用網絡帶寬資源過高。為此,一般都需要對語音數據進一步壓縮,以降低語音編碼的速率。這樣,相應的,在接收端也就需要同樣的解壓算法來恢復原始語音數據。編制這部分代碼可采用現在比較成熟的語音編解碼算法,并進行一定的改進,以提高語音通話質量。
3.3 數據封包/拆包模塊
數據封包/拆包軟件模塊主要對壓縮編碼后的語音數據進行打包,包括添加包頭、時標和其他信息,以使其形成語音包。在接收時。則應進行相應的拆包,并提取語音壓縮包。
3.4 數據傳輸模塊
該模塊主要完成語音包的發送和接收。因為把音頻數據實時地傳輸給對方才是保證實時語音通信的關鍵。所以,在考慮可靠性和實時性方面,更應注重速度和實時性。故在選擇協議時,可采用UDP協議,并在編程時使用對應的數據報套接字。
4 結束語
IP電話通信系統是利用現有計算機網絡資源組成的電話通信系統,它無需鋪設電話線和購置電話通信網絡設備,故可節省大量建設電話網絡的設備費、線路費和工程費用,可在不需要鋪設電話線的情況下,方便地實現電話通信,增加電話用戶,縮短安裝工程周期,提高計算機網絡資源的利用率,擴大電話的普及范圍,同時可加大信息傳遞量,因而具有良好的社會和經濟效益。本文引用地址:http://www.j9360.com/article/155368.htm
tcp/ip相關文章:tcp/ip是什么
評論