Я настроил сервер Asterisk и пытаюсь выполнять вызовы между браузерами, используя SipML5. Я следовал 2 руководствам (как по отдельности, так и вместе - тем самым трижды попробовал всю настройку), которые расположены здесь и официальные инструкции SipML< /а>.
Мой файл 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()
Я могу успешно совершать звонки между двумя SIP-софтфонами, такими как Zoiper, Linphone, Ekiga и т. Д.
Однако в тот момент, когда я пытаюсь позвонить из браузера в браузер, это не удается. Точная природа заключается в том, что когда пункт назначения принимает вызов, вызов отклоняется, и в консоли Asterisk появляется следующая ошибка:
Error 603 "Failed to get local SDP"
Поиск в Google показывает, что мне нужно отключить видео, что я сделал как в файле sip.conf (videosupport=no), так и в приложении SipML5, установив флажок «Отключить видео». Я все еще получаю ту же ошибку. Эта ошибка повторяется при звонке с софтфона на браузер и наоборот.
Может ли кто-нибудь указать на мои ошибки? Нужно ли что-то дополнительно устанавливать/настраивать? Или какие-то неотъемлемые ошибки в самой моей конфигурации? Любая помощь приветствуется.