我已经配置了Asterisk服务器,并尝试使用SipML5进行浏览器到浏览器的调用。我按照here和SipML's official How-TO跟踪了2个指南(单独和一起 - 从而尝试整个设置三次)。
我的sip.conf
文件如下所示:
[general]
context=unauthenticated
allowguest=yes
srvlookup=no
udpbindaddr=0.0.0.0:5060
tcpenable=no
nat=force_rport,comedia
qualifyfreq=60 ; probe far end peer every 60 seconds
qualify=120000 ; allow 10 seconds for a reply (qualify)
callcounter=yes
realm=172.16.2.21
transport=udp,ws,wss
[sip_phone_template](!)
type=friend
context=LocalPhones
host=dynamic
nat=force_rport,comedia
dtmfmode=auto
avpf=yes
icesupport=yes
hassip=yes
;encryption=yes
videosupport=no
directmedia=no
disallow=all
allow=g722
allow=ulaw
allow=alaw
[Exten1001](sip_phone_template)
Callerid="Exten1001" <1001>
secret=test123
[Exten1002](sip_phone_template)
Callerid="Exten1002" <1002>
secret=test123
我的extensions.conf
文件如下:
[globals]
PEX_ONE=Exten1001
PEX_TWO=Exten1002
[macro-DialStartMonitor]
; Calculate the time of the call from "epoch time", format it into yyyy-mm-dd and add the PhoneExt. at the end
exten => s,1,Set(MONITOR_FILENAME=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-FROM-${CALLERID(num)}-TO-${ARG1})
same => n,MixMonitor(${MONITOR_FILENAME}.wav,b)
;b - Only save audio to the file while the channel is bridged. *does not include conferences*
[LocalPhones]
exten => 1001,1,noop(Dialing ${PEX_ONE})
same => n,Macro(DialStartMonitor,${PEX_ONE})
same => n,Dial(SIP/${PEX_ONE},30,mTt)
same => n,Playback(vm-nobodyavail) ; Play "no one's available"
same => n,Hangup()
exten => 1002,1,noop(Dialing ${PEX_TWO})
same => n,Macro(DialStartMonitor,${PEX_TWO})
same => n,Dial(SIP/${PEX_TWO},30,mTt)
same => n,Playback(vm-nobodyavail) ; Play "no one's available"
same => n,Hangup()
我可以成功拨打2个SIP软电话,如Zoiper,Linphone,Ekiga等。
然而,当我尝试从浏览器调用浏览器时,它失败了。确切的性质是,当目的地接听电话时,电话会被拒绝并且以下错误会显示在Asterisk控制台中:
Error 603 "Failed to get local SDP"
在谷歌搜索我需要禁用视频,我已经在sip.conf文件(videosupport = no)和SipML5应用程序中通过选中“禁用视频选项”来完成。我仍然得到同样的错误。当我从软电话呼叫到浏览器时也会重复此错误,反之亦然。
有人可以指出我的错误吗?是否需要安装/配置其他任何附加功能?或者是我配置本身的一些固有错误?任何帮助表示赞赏。
答案 0 :(得分:0)
在星号调试文件中启用sip日志,并检查SDP offer-answer的详细信息。检查SDP内容。
答案 1 :(得分:0)
此内容的一些补充
要将浏览器配置为sip客户端,我们需要启用加密真实
encryption=yes
如果您的浏览器客户端位于防火墙内,则需要启用ICN支持以进行正确的通信