我在使用sipml5通过webrtc2sip和asterisk呼叫其他sipml5时遇到了问题。
我已经安装了配置的asterisk(11.10.0版)+webrtc2sip(最新版本)+ sipml5(chrome 30.0.1599.66版),以便通过websocket从一个盒子调用另一个盒子。
我可以通过SIP呼叫并从另一端应答,但似乎没有音频/语音数据包进行交换,这从rtp和sip调试日志和tcpdump可以明显看出。
asterisk和用户位于不同的服务器上,他们确实建立了sip呼叫,但这只是一个没有出现的音频包。
我已经创建了两个用户(1060和1061),当我发出呼叫时,我会得到这些星号响应。
rtp set debug on
RTP Debugging Enabled
*CLI> == Spawn extension (default, 1060, 1) exited non-zero on 'SIP/1061-00000000'
== Using SIP RTP CoS mark 5
-- Executing [1060@default:1] Dial("SIP/1061-00000002", "SIP/1060") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/1060
-- SIP/1060-00000003 is ringing
-- SIP/1060-00000003 answered SIP/1061-00000002星号设置为..
sip.conf
[general]
port=5060
bindaddr=0.0.0.0
context=default
transport=ws,wss,udp
srvlookup=yesusers.conf
[1060]
type=peer
username=1060
host=dynamic
secret=1234
context=default
disallow=all
allow=ulaw
transport=udp,ws,wss
encryption=yes
avpf=yes
icesupport=yes
nat=yes,force_rport
[1061]
type=peer
username=1061
host=dynamic
secret=1234
context=default
encryption=yes
avpf=yes
icesupport=yes
nat=yes
disallow=all
allow=ulaw
transport=udp,ws,wssextensions.conf
[general]
static=yes
writeprotect=no
[default]
exten=>1060,1,Dial(SIP/1060)
exten=>1061,1,Dial(SIP/1061)rtp.conf
[general]
icesupport=yes
stunaddr=stun.l.google.com:19302
strictrtp=no
rtcpinterval=6000
rtpchecksums=no我可以听到一端的拨号声和另一端的铃声,但一旦呼叫接通,就什么也听不到了。
有谁能帮帮忙吗..我非常非常绝望..提前感谢!
发布于 2016-05-14 19:00:51
你设置了rtp debug on,但是没有rtp流输出,所以呼叫设置出错了,你应该在sip包的转储中检查他们试图共享的sdp数据。
但你也有一个更好的选择:最新版本的Asterisk可以像咒语一样使用WebSocket和WebRTC,而不需要任何外部层或组件,因此配置将会容易得多。
此外,你可以使用apache (至少2.4)作为asterisk服务器的websocket隧道反向代理,这样你就可以用一个连接和一个SSL证书做所有的事情(除了rtp) (另一个常见的问题是,相同的自签名证书需要用户显式接受,即使对于相同的服务器,但在不同的port...and浏览器上,不要要求用户这样做,而只是默默地拒绝连接到websocket)。
发布于 2014-08-16 04:47:17
删除avpf选项,使用webrtc2sip时不需要该选项。如果仍然没有语音检查sipml5日志(火狐或chrome调试控制台),同时注册和呼叫。
https://stackoverflow.com/questions/24358211
复制相似问题