WebRTC

    版本為 07:00, 27 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    WebRTC 是 Asterisk 11 以後才有支援的新功能

    Updated by 2015/11/15: 使用 Chrome 與 Firefox,不管是 sipML5 或 JsSIP ,註冊成功但沒有聲音;必須在 LAN 的環境才能正常使用。

    jssip.png更多相關的介紹:

    如果 SIP Server 不是 Asterisk 11 或是比較舊版的,可以安裝 webrtc2sip 這個中介軟體,相關連結如下:

    設定開始

    事前注意事項
    1. Asterisk 必須已成功載入模組 res_http_websocket, res_srtp(SRTP 支援)
    2. WebRTC 用戶端目前可以使用以下

    NOTE:

    如果缺少模組 res_srtp,必須先安裝套件 libsrtp,然後重新編譯 Asterisk。

    設定 res_http_websocket

    編輯 /etc/asterisk/http.conf

    [general]
    enabled=yes
    bindaddr=0.0.0.0
    bindport=8088 
    

    NOTE:

    bindport 可自行修改

    設定分機 sip.conf

    確認 [general]

    udpbindaddr=0.0.0.0:5060
    

    NOTE:

    預設就是這設定,所以可以不用加

    在 WebRTC 的分機設定項,加上

    transport=udp,ws,wss
    encryption
    =yes
    avpf
    =yes
    icesupport
    =yes

    設定用戶端(1) - sipML5

    使用 Chrome 前往官網:http://sipml5.org/call.htm?svn=9

    進入 Expert mode

    • Disable Video: <勾選>
    • Enable RTCWeb Breaker: <勾選>
    • WebSocket Server URL: ws://xxx.xxx.xxx:8088/ws
    • SIP Outbound Proxy URL: udp://xxx.xxx.xxx:5060

    按下 Save,回到註冊頁

    • Display Name: <隨便>
    • Private Indentify: <分機號>
    • Public Identify: sip:<分機號>@xxx.xxx.xxx
    • Password: <密碼>
    • Realm: xxx.xxx.xxx

    設定用戶端(2) - JsSIP

    使用 Chrome 前往官網:http://jssip.net/

    • Name: <隨便>
    • SIP URI: sip:<分機號>@xxx.xxx.xxx
    • SIP Password: <密碼>
    • WS URI: ws://xxx.xxx.xxx:8088/ws

    F.A.Q

    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 新增一個分機

    • 分機: 240
    • avpf: Yes
    • icesupport: Yes
    • transport: All-WS
    • encryprion: Yes


    編輯 /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"
    

     

    Powered by MindTouch Core