VOIP技术发展综述与外呼系统
通訊
簡介
VoIP(Voice over Internet Protocol)就是將模擬聲音訊號(Voice)數字化,以數據封包(Data Packet)的型式在 IP 數據網絡 (IP Network)上做實時傳遞,最簡單的說法,就是通過網絡來模擬我們平時的電話通話。
特點
VoIP最大的優勢是能廣泛地采用Internet和全球IP互連的環境,提供比傳統業務更多、更好的服務。 VoIP可以在IP網絡上便宜的傳送語音、傳真、視頻、和數據等業務,如統一消息、虛擬電話、虛擬語音/傳真郵箱、查號業務、Internet呼叫中心、Internet呼叫管理、電視會議、電子商務、傳真存儲轉發和各種信息的存儲轉發等。
???對于網絡客戶端之間的通話,我們只需要能上網就可以了,因此VoIP相對便宜,尤其是國際長途,而如果是從網絡客戶端與傳統電話、手機之間的通話,則需要向固話網絡運營商以及無線通訊運營商支付通話費用。
1
VoIP 控制協議
VoIP是基于網絡的一種應用,它通過TCP/IP協議來建立通訊、傳輸語音信號,因此,VoIP從本質上來說和電子郵件、Http網頁訪問、Ftp下載這些網絡應用是相同的,與之相應地,VoIP也勢必要有一套自己的控制協議,VoIP目前常用的協議如H.323、SIP、MEGACO和MGCP。其中,SIP協議的發展前景較好。
VoIP與程序員
對于程序員,搭建一個完整的開源VoIP系統可能包括以下幾個方面的工作。
協議的選用,這個決定整個VoIP系統的架構。一般選取SIP協議,系統就必須包括這個協議中定義的一些實體:代理服務器(主服務器)、注冊服務器、網關、用戶代理(終端)等。
服務器的選擇和部署,如果采用開源的實現,可以使用Asterisk系列或者是freeswitch等開源的服務器端。
客戶端的選擇和部署,這方面的資源豐富,有X-lite、Skyup等閉源實現,也有Jisti、QuteCom等開源實現。
多媒體編解碼器方面,用以改善通話質量。
Asterisk,freeswitch,opal,pjsip等優秀的開源項目,對于開發先進的VOIP電話系統提供了便捷和廉價的途徑。
sun基于VOIP項目實踐的經驗,從技術上對VOIP電話系統的開發思路進行一個分析。
以下是設計思路:
利用Asterisk(freeswitch)作為VOIP電話的服務器,pjsip作為客戶端,UI端通過socket(java,C,vc,etc)和pjsip進行通訊。架構圖如下
服務端 客戶端
Asterisk(freeswitch)<=====>pjsip<=socket(java/C)=>UI
| | | |mysql pjsua(1.x or later) WSASocket(Win) Java(SWING)
電話配置 更改pjsua_app.c等 Socket(Linux) JAVA<->Flex
電話計費 Softphone
呼叫中心 Call center(frontdesk)
1,Asterisk(freeswitch
1.1) 需要把賬號的配置信息存入數據庫,可以通過Web 界面進行方便的管理和配置。或簡單配置一下配置文件(不用數據庫)。
1.2) 產生通話記錄歷史(cdr),為計費和通話統計服務
1.3) 適當的情況下,可以擴展到多Asterisk服務器來支持擴充
2,pjsip
2.1) pjsip是客戶端和服務端通訊的核心,實際上,這個設計。pjsip這一端可以和UI整合為一個軟電話,也可以分離,作為比較復雜應用的核心,對接好幾個UI如IM,WEB應用等。
2.2) 需要適當修改pjsip的源代碼,支持Socket通訊(Server Socket/ Client Socket). pjsip擔當Server Socket的角色,監聽來自UI端的請求;同時把來自UI端的請求發往電話服務器(Asterisk).
3,Socket
Socket 可以用使Java,C等來實現。它作為UI和pjsip之間的橋接。
4,UI
4.1) UI客戶端是客戶真正看到的東西。比如Skype界面就是UI的一種展現。
我們可以根據實際情況,用不同的程序語言來實現UI端的開發。
總結
以上是生活随笔為你收集整理的VOIP技术发展综述与外呼系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET CORE敏捷开发框架,企业信息
- 下一篇: MP4之sample信息