- VitalPBX 3.1.0
- Asterisk 15
- sipML5 (WebRTC 客戶端)
- Google Chrome 75.0.3770.90(正式版本)(64 位)
測(cè)試目標(biāo):完成WebRTC的語音通信。
一、證書
第一步就是先生成證書,大多數(shù)的瀏覽器使用的是WebSocke協(xié)議來實(shí)現(xiàn)瀏覽器與服務(wù)器的全雙工通信。
在這次測(cè)試中,我們使用來自所搭建的的VitalPBX服務(wù)器的自簽名證書,為此,我們將轉(zhuǎn)到“ 管理員>>系統(tǒng)設(shè)置>>證書 ”這個(gè)路徑中,Type中選擇Self Signed類型。在Description后輸入一個(gè)描述名。在Hostname輸入VitalPBX的IP地址。
如果您擁有有效的FQDN,則可以使用“Let's Encrypt”證書。

每一步的配置完成后需要記得點(diǎn)擊右下角的“更新”保存配置。
二、配置Asterisk中的Mini HTTP Server
要與WebSocket客戶端通信,需要在Asterisk使用其內(nèi)置的HTTP守護(hù)程序。
首先在VitalPBX“ 設(shè)置>> PBX設(shè)置>>Mini HTTP Server ” 。通過這條路徑到達(dá)Mini HTTP Server的配置頁面,在這里,我們將分配我們之前創(chuàng)建的證書。

在Certificate選擇好之前創(chuàng)建的證書。并將Enable HTTP和TLS Enable功能調(diào)成YES,開啟功能。
三、防火墻配置
由于Asterisk的HTTP守護(hù)程序使用端口8088和8089, 因此需要在Vital的防火墻中允許這2個(gè)端口通過。
我們需要轉(zhuǎn)到以下路徑:管理員 >>安全>>防火墻中的配置頁面。之后點(diǎn)擊規(guī)則,進(jìn)入到配置頁面。點(diǎn)擊添加一條如下圖所示的規(guī)則。左邊選項(xiàng)為Asterisk HTTP Daemon右邊選項(xiàng)為接受。

最后在頁面右下角中點(diǎn)擊保存。
四、RTP配置
為了避免音頻問題,我們需要配置一個(gè)STUN服務(wù)器,它可以協(xié)助NAT穿越防火墻。因此,要添加STUN服務(wù)器,我們需要轉(zhuǎn)到我們的VitalPBX上的“ 設(shè)置>> PBX設(shè)置>> RTP設(shè)置 ”。

在本次測(cè)試中使用的是局域網(wǎng)環(huán)境,所以可以跳過此次步驟,直接通訊。在實(shí)際情況中,看需求添加STUN服務(wù)器。不建議使用公共服務(wù)器,延遲過高。
五、SIP屬性設(shè)置
現(xiàn)在我們?cè)贏sterisk上啟用WebSockets的配置完成了,現(xiàn)在需要為WebRTC客戶端/設(shè)備定義配置文件。為此,我們需要轉(zhuǎn)到以下路徑:設(shè)置>>通信接口設(shè)置>>屬性。在這里,我們將創(chuàng)建一個(gè)SIP配置文件,如下圖所示。
在配置中,需要編輯Name與Description,建議配置名一致。之后開啟相對(duì)應(yīng)的功能,在Transport中添加WS,WS S模式,在DTLS Certificate中添加之前創(chuàng)建的證書。配置如下圖。

六、創(chuàng)建分機(jī)
在這次測(cè)試中,我們將創(chuàng)建兩個(gè)SIP分機(jī),用于通信呼叫測(cè)試。我們需要轉(zhuǎn)到以下路徑:設(shè)置>>PBX設(shè)置>>分機(jī)。
配置如下圖,可重復(fù)此步驟創(chuàng)建多個(gè)分機(jī)。

七、 sipML5配置
現(xiàn)在我們已經(jīng)在VitalPBX上完成了配置,現(xiàn)在將進(jìn)行配置sipML5客戶端的演示。
下載鏈接為https://github.com/DoubangoTelecom/sipml5。將其解壓縮打開其中的index.html文件,進(jìn)入web頁面,如下圖:
點(diǎn)擊enjoy our live demo,進(jìn)入配置頁面

點(diǎn)擊Expert mode進(jìn)入專家模式,并進(jìn)行配置。配置如下圖。在WebSocket Server URL輸入wss://FBX的ip地址:8089/ws

配置完成后點(diǎn)擊Save保存,并重新進(jìn)入到sipML5的客戶端。
進(jìn)行配置,在Public Identity的輸入格式為sip:分機(jī)名@FBXip地址。點(diǎn)擊Login進(jìn)行登錄。

在配置正確的情況下,我們就可以進(jìn)行語音通訊了。在撥打,接收語音通訊時(shí),記得給與瀏覽器麥克風(fēng)和攝像頭的權(quán)限。
八、注意事項(xiàng)
- 我們可以訪問以下鏈接:https://PBXip地址:8089/httpstatus檢查端口以及證書的狀態(tài)。
- 每在VitalPBX上進(jìn)行配置時(shí),需要點(diǎn)擊保存或者更新確認(rèn)配置的生效。
九、測(cè)試結(jié)果
讓另一臺(tái)PC使用sipML5客戶端登陸到另一臺(tái)分機(jī),進(jìn)行呼叫測(cè)試。呼叫3002

呼叫建立后再查看VitalPBX查看后臺(tái)信息

測(cè)試結(jié)果:webRTC-軟電話/webRTC-WebRTC可以正常實(shí)現(xiàn)語音通話,證書配置成功。視頻通話失敗。此版本使用的是chan_sip, 根據(jù)和官方溝通,確認(rèn)需要后期補(bǔ)丁升級(jí)和視頻通話的全局設(shè)置。后期繼續(xù)使用PJSIP來進(jìn)行測(cè)試。測(cè)試其webRTC視頻通話。


FreeSBC/ProSBC 免費(fèi)邊界會(huì)話控制器, 下載ISO:https://freesbc.telcobridges.com/
關(guān)注微信公眾號(hào):asterisk-cn,獲得有價(jià)值的Asterisk行業(yè)分享
Asterisk freepbx 中文官方論壇:http://bbs.freepbx.cn/forum.php
Asterisk freepbx技術(shù)文檔: www.freepbx.org.cn
融合通信商業(yè)解決方案,協(xié)同解決方案首選產(chǎn)品:www.hiastar.com
Asterisk/FreePBX中國合作伙伴,官方qq技術(shù)分享群(3000千人):589995817
Asterisk freepbx 中文官方論壇:http://bbs.freepbx.cn/forum.php
Asterisk freepbx技術(shù)文檔: www.freepbx.org.cn
融合通信商業(yè)解決方案,協(xié)同解決方案首選產(chǎn)品:www.hiastar.com
Asterisk/FreePBX中國合作伙伴,官方qq技術(shù)分享群(3000千人):589995817