配置Asterisk 13以支持WebSockets/WebRTC
问题描述:
我有一台装有debian 9的虚拟机。我已经通过apt-get安装了Asterisk 13.14.1,并且我已经配置了它有三个用户,其中两个是sip用户(Zoiper APP )和另一个webrtc用户(使用http://jssip.net/的自定义应用程序)。自定义应用程序非常基本,使用代码可以在https://github.com/versatica/JsSIP中找到。然而,而不是使用:配置Asterisk 13以支持WebSockets/WebRTC
var socket = new JsSIP.WebSocketInterface('wss://mypbxipaddress');
我用
var socket = new JsSIP.WebSocketInterface('ws://mypbxipaddress');
的SIP用户似乎正常工作。然而,我有问题与webrtc用户,我认为是在服务器端,特别是在websocket。在我收到以下错误连接期间客户端:
main.js:158470 WebSocket connection to 'ws://mypbxipaddress/' failed: Error during WebSocket handshake: Unexpected response code: 200
此外,我曾尝试wscat(NPM封装)
wscat -s echo -c ws://mypbxipaddress:arandomport
和我接收:
error: Error: connect ECONNREFUSED mypbxipaddress:arandomport
最后我已经在
asterisk -rvvvvv
的
http show status
和获取:
HTTP Server Status:
Prefix:
Server: Asterisk/13.14.1~dfsg-2
Server Enabled and Bound to 0.0.0.0:8080
Enabled URI's:
/httpstatus => Asterisk HTTP General Status
/phoneprov/... => Asterisk HTTP Phone Provisioning Tool
/static/... => Asterisk HTTP Static Delivery
/ari/... => Asterisk RESTful API
/ws => Asterisk HTTP WebSocket
Enabled Redirects:
None.
与/ WS =表示>星号HTTP网页套接字,即网页套接字处于活动状态。
关于如何进一步调试的建议?
感谢 Symeon
答
答案就简单多了,一如既往。我不得不改变
var socket = new JsSIP.WebSocketInterface('ws://mypbxipaddress:8088/ws');
我的结论来,经过一番寻找的样子:
asterisk -rvvvvv
http show status
有它提到的“服务器启用并绑定到mypbxipaddress:8088”上,这是在定义/等/星号/ http.conf中
bindaddr=mypbxipaddress
bindport=8088
答
1)了解更多关于WebSocket的,做tcpdump的。
2)做星号调试
asterisk -r
core set debug 10
答
你应该尝试:wscat -s echo -c ws://mypbxipaddress:8080/ws
因为:Server Enabled and Bound to 0.0.0.0:8080
和/ws => Asterisk HTTP WebSocket
您也可以检查,如果插座在LISTEN状态:
netstat -lna | grep 8080
核心设置调试10没有任何区别。我没有收到任何消息。但是,对于tcpdump,我收到以下可能指示某事的消息: 05:54:53.080539 IP deviceip.54978> PBXIP.5060:SIP:REGISTER sip:172.26.41.2; transport = UDP SIP/2.0 05:54:53.080975 IP PBXIP.80> deviceip.35469:标志[P.],seq 1:3325,ack 576,win 236,选项[nop,nop,TS val 12025967 ecr 139793604],长度3324:HTTP:HTTP/1.1 200 OK 05:54:53.081863 IP PBXIP.5060> deviceip.54978:SIP:SIP/2.0 401未经授权 –