當(dāng)前位置:首頁(yè) ? 行業(yè)觀(guān)察 ? 正文

網(wǎng)絡(luò)電話(huà)VOIP技術(shù)解析

一、VOIP介紹

VOIP即網(wǎng)絡(luò)電話(huà),Voice over Internet Protocol,通過(guò)把語(yǔ)音信號(hào)經(jīng)過(guò)數(shù)字化處理、壓縮編碼打包、通過(guò)網(wǎng)絡(luò)傳輸,然后解壓、把數(shù)字信號(hào)還原成聲音,讓通話(huà)對(duì)方聽(tīng)到。 話(huà)音從源端到達(dá)目的端的基本過(guò)程是: 聲 – 電轉(zhuǎn)換:通過(guò)壓電陶瓷等類(lèi)似裝置將聲波變換為電信號(hào)。

量化采樣:將模擬電信號(hào)按照某種采樣方法(比如脈沖編碼調(diào)制,即PCM)轉(zhuǎn)換成數(shù)字信號(hào);

封包:將一定時(shí)長(zhǎng)的數(shù)字化之后的語(yǔ)音信號(hào)組合為一幀,隨后,按照國(guó)際電聯(lián)(ITU-T)的標(biāo)準(zhǔn),這些話(huà)音幀被封裝到一個(gè)RTP(即實(shí)時(shí)傳輸協(xié)議,Realtime Transport Protocol)博主weixin@yuyinjiqiren報(bào)文中,并被進(jìn)一步封裝到UDP報(bào)文和IP報(bào)文中。

傳輸:IP報(bào)文在IP網(wǎng)絡(luò)由源端傳遞到目的端 去抖動(dòng):去除因封包在網(wǎng)絡(luò)中傳輸速度不均勻所造成的抖動(dòng)音 拆包 電聲轉(zhuǎn)換 一個(gè)完整的、可以大規(guī)模商用運(yùn)營(yíng)的IP電話(huà)系統(tǒng)包括如下一些技術(shù)(暫不完全):尋址 話(huà)音編解碼 回聲消除和回聲抑制 傳輸 IP報(bào)文時(shí)延控制功能 去抖動(dòng) IP報(bào)文的去抖動(dòng)(de-jitter)功能 。

二、VOIP與傳統(tǒng)電話(huà)的比較

簡(jiǎn)單地來(lái)說(shuō),VOIP網(wǎng)絡(luò)電話(huà)免費(fèi)(流量、wifi),傳統(tǒng)電話(huà)更穩(wěn)定點(diǎn)。不過(guò)現(xiàn)在網(wǎng)絡(luò)電話(huà)行業(yè)發(fā)展快,很多產(chǎn)品穩(wěn)定性都超過(guò)了傳統(tǒng)電話(huà),好比mimicall、vp3000等,所以現(xiàn)在越來(lái)越多的人習(xí)慣了使用網(wǎng)絡(luò)電話(huà)去進(jìn)行溝通。

三、開(kāi)源軟PBX(軟交換)的選擇

國(guó)內(nèi)比較流行和擁有活躍用戶(hù)群的是FreeSwitch和Asterisk,由于之前對(duì)Asterisk有一定的應(yīng)用經(jīng)驗(yàn),所以選擇了Asterisk。二者都基于sip協(xié)議。

四、客戶(hù)端開(kāi)源sip協(xié)議庫(kù)的選取

目前比較流行的開(kāi)源的SIP協(xié)議庫(kù)是PJSIP,它實(shí)現(xiàn)了SIP、SDP、RTP、STUN、TURN和ICE。PJSIP作為基于SIP的一個(gè)多媒體通信框架提供了非常清晰的API,以及NAT穿越的功能。PJSIP具有非常好的移植性,幾乎支持現(xiàn)今所有系統(tǒng):從桌面系統(tǒng)、嵌入式系統(tǒng)到智能手機(jī)。PJSIP同時(shí)支持語(yǔ)音、視頻、狀態(tài)呈現(xiàn)和即時(shí)通訊。PJSIP具有非常完善的文檔,對(duì)開(kāi)發(fā)者非常友好支持。

五、調(diào)研評(píng)估和Demo搭建

目前市場(chǎng)上對(duì)于voip的應(yīng)用已經(jīng)比較成熟,好多公司都在做。微信電話(huà)本等的推出說(shuō)明voip完全可行。相對(duì)于去哪兒呼叫中心更好的服務(wù)于去哪兒用戶(hù)解決海外用戶(hù)撥打人工服務(wù)的困難,盡最大努力降低用戶(hù)的成本,voip完全可行。

1)Demo的快速搭建

找一臺(tái)linux機(jī)器首先下載安裝pjsip軟件 安裝過(guò)程這里不做過(guò)細(xì)講解

用ldconfig命令 驗(yàn)證pjsip的動(dòng)態(tài)鏈接是否創(chuàng)建

ldconfig -p | grep pj

安裝Asterisk 13(注意只有12以上才支持了pjsip)

這里注意在編譯的時(shí)候其實(shí)可以查詢(xún)系統(tǒng)的位數(shù),我的是64位所以直接指定了64,查詢(xún)指定的命令如下:

ARCH=$(getconf LONG_BIT | grep “64”)

./configure –libdir=/usr/lib${ARCH}

用make menuselect命令選擇安裝的模塊

做選擇需要編譯安裝的modules,查看確保pjsip相關(guān)的module已選擇

然后make config 命令是將asterisk作為linux service的服務(wù)

還有一點(diǎn)就是Asterisk 13 requires pjsip >= 2.4. 所以選取版本的時(shí)候也 需要注意。

2)demo客戶(hù)端軟件選取

PjSua是開(kāi)源的客戶(hù)端代碼,同時(shí)支持ios和android等主流操作系統(tǒng),做測(cè)試用的話(huà)eyeBeam,X-Lite,Blink 都可以作為PC客戶(hù)端,Blink PC客戶(hù)端做tls測(cè)試的時(shí)候比較方便。

這里可以同時(shí)下載eyeBeam,X-Lite兩臺(tái)互撥便于測(cè)試。

3)Asterisk的配置

Demo可以配置兩個(gè)測(cè)試的分機(jī)號(hào)(可以認(rèn)為是用戶(hù)名和密碼)

配置是在 /etc/asterisk/pjsip.conf 中

監(jiān)聽(tīng)地址端口配置為本機(jī)ip和5061端口,協(xié)議配置成udp

分別再配置兩個(gè)號(hào) 8005和8006

[transport-udp]

type=transport

protocol=udp

bind=0.0.0.0:5061

[8005]

type=endpoint

context=from-external

disallow=all

allow=ulaw

transport=transport-udp

auth=8005

aors=8005

[8005]

t
未經(jīng)允許不得轉(zhuǎn)載:思誠(chéng)科技 ? 網(wǎng)絡(luò)電話(huà)VOIP技術(shù)解析
分享到
1
0
上一篇
下一篇

相關(guān)推薦

客服微信
heshang2000 復(fù)制已復(fù)制
客戶(hù)服務(wù)專(zhuān)屬聯(lián)系微信
contact-img
客服QQ
2711008116 復(fù)制已復(fù)制
客戶(hù)服務(wù)專(zhuān)屬聯(lián)系QQ
專(zhuān)屬客服