基于Internet的IP電話設計
3.顯示模塊:采用一塊普通數(shù)顯LCD,主要用來完成電話號碼及一些本機工作狀態(tài)的顯示。
4.鍵盤模塊和EEPROM:主要提供*機的撥號鍵盤,完成撥號和電話機的功能設置。EEPROM主要完成參數(shù)的設置。
5.語音模塊:采用UDA1341TS音頻編解碼器。
6.上位機接口:完成一些參數(shù)的設定和一些已經被記錄的參數(shù)的讀取。
系統(tǒng)的軟件設計
軟件設計是基于μC/OS-II的,軟件方面的工作主要集中在驅動程序的編寫、任務的劃分、任務的編寫等。由于μC/OS-II不提供API接口庫或者需要額外購買,那么在需要設計的*機中,主要寫的驅動庫有:TCP/IP、液晶驅動、EEPROM驅動、鍵盤驅動、I/O驅動和USB驅動。這些驅動的編寫有固定的模式和套路。這里不多做介紹。
任務的劃分和優(yōu)先級的安排如圖2所示。從圖2可以看出共分8個任務、3個任務鏈,其中待機任務鏈的優(yōu)先級最高。8個任務分別是:*來電、*服務器、監(jiān)視本機工作狀態(tài)和設置、返回握手信號、接聽電話、獲取對方IP、按IP與對方取得握手等。
IP電話軟件結構
IP電話軟件集成了完成語音通話所需的所有功能。該軟件按功能可以劃分為4部分。
1、呼叫處理模塊:主要完成呼叫的建立與拆除功能。呼叫控制采用SIP協(xié)議建立會話。呼叫建立過程如下:一個SIP終端首先向本地的代理服務器發(fā)出呼叫請求:本地的代理服務器通過查詢本地的重定向服務器找到下一個代理服務器的地址,并向其轉發(fā)呼叫請求:下一個代理服務器收到呼叫請求后,通過定向服務器找到被叫所在網絡的代理服務器,然后向該代理服務器轉發(fā)呼叫請求:被叫所在網絡的代理服務器確定被叫終端,并向被叫終端轉發(fā)呼叫請求:被叫終端應答,從而實現(xiàn)連接。
2、語音編/解碼模塊:語音采集得到的PCM編碼數(shù)據雖然能夠提供相當好的長途通信語音質量,但是其速率過高,占用網絡帶寬資源過多。為此需要對語音數(shù)據進一步壓縮,以降低語音編碼的速率。相應地,在接收端也需要同樣的解壓算法來恢復成原始語音數(shù)據。這部分代碼編制時主要采用比較成熟的語音編解碼算法,并進行一定的改進,以提高語音通話質量。
3、數(shù)據封包/拆包模塊:此部分代碼對壓縮編碼后的語音數(shù)據進行打包,添加包頭、時標和其他信息后形成語音包。在接收時,要進行相應的拆包,提取語音壓縮包。
4、數(shù)據傳輸模塊:該模塊主要完成語音包的發(fā)送和接收。把音頻數(shù)據實時地傳輸給對方是保證實時語音通信的關鍵。所以在考慮可靠性和實時性方面更注重速度和實時性。這里采用UDP協(xié)議。
結語
本文介紹的系統(tǒng)利用現(xiàn)有的計算機網絡資源組成電話通信系統(tǒng),無需鋪設電話線路和電話通信網絡設備,節(jié)省了大量建設電話網絡的設備費、線路費和工程費等費用,可取得顯著的經濟效益。在不需要鋪設電話線路的情況下,方便地實現(xiàn)電話通信,增加電話用戶,縮短安裝工程周期。
參考文獻:
[1].G.728datasheethttp://www.dzsc.com/datasheet/G.728_2060768.html.
[2].G.729datasheethttp://www.dzsc.com/datasheet/G.729_2060769.html.
[3].SSTdatasheethttp://www.dzsc.com/datasheet/SST_1180824.html.
tcp/ip相關文章:tcp/ip是什么
評論