WebRTC 是 Asterisk 11 以後才有支援的新功能
Updated by 2015/11/15: 使用 Chrome 與 Firefox,不管是 sipML5 或 JsSIP ,註冊成功但沒有聲音;必須在 LAN 的環境才能正常使用。
如果 SIP Server 不是 Asterisk 11 或是比較舊版的,可以安裝 webrtc2sip 這個中介軟體,相關連結如下:
NOTE:
如果缺少模組 res_srtp,必須先安裝套件 libsrtp,然後重新編譯 Asterisk。
編輯 /etc/asterisk/http.conf
[general] enabled=yes bindaddr=0.0.0.0 bindport=8088
NOTE:
bindport 可自行修改
確認 [general]
udpbindaddr=0.0.0.0:5060
NOTE:
預設就是這設定,所以可以不用加
在 WebRTC 的分機設定項,加上
transport=udp,ws,wss
encryption=yes
avpf=yes
icesupport=yes
使用 Chrome 前往官網:http://sipml5.org/call.htm?svn=9
進入 Expert mode
按下 Save,回到註冊頁
使用 Chrome 前往官網:http://jssip.net/
Q: 撥號後,出現以下錯誤訊息
Rejecting secure audio stream without encryption details: audio 9 UDP/TLS/RTP/SAVPF 109 9 0 8 101
A: Chrome 36 以後開始使用 DTLS-SRTP,以下是設定 Asterisk 的步驟。
建立憑證
#> mkdir /etc/asterisk/keys #> cd /usr/src/asterisk/contrib/scripts #> ./ast_tls_cert -C homepbx.osslab.tw -O "My Home PBX" -d /etc/asterisk/keys ... Enter pass phrase for /etc/asterisk/keys/ca.key: <設定Key密碼> Verifying - Enter pass phrase for /etc/asterisk/keys/ca.key: <再輸入一次> Creating CA certificate /etc/asterisk/keys/ca.crt Enter pass phrase for /etc/asterisk/keys/ca.key: <輸入key密碼> Getting CA Private Key Enter pass phrase for /etc/asterisk/keys/ca.key: <輸入key密碼>
完成後,會產生這些檔案
asterisk.crt asterisk.csr asterisk.key asterisk.pem ca.cfg ca.crt ca.key
設定權限
#> chmod a+r /etc/asterisk/keys/*
設定 WebRTC 分機
使用 FreePBX 新增一個分機
編輯 /etc/asterisk/sip_custom_post.conf
[240](+) dtlsenable=yes dtlsverify=no dtlscertfile=/etc/asterisk/keys/asterisk.pem dtlsprivatekey=/etc/asterisk/keys/asterisk.pem dtlssetup=actpass
套用新設定
asterisk -rx "sip reload"