Asterisk + SipML5 - Ошибка 603 Не удалось получить локальный SDP

Я настроил сервер 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, установив флажок «Отключить видео». Я все еще получаю ту же ошибку. Эта ошибка повторяется при звонке с софтфона на браузер и наоборот.

Может ли кто-нибудь указать на мои ошибки? Нужно ли что-то дополнительно устанавливать/настраивать? Или какие-то неотъемлемые ошибки в самой моей конфигурации? Любая помощь приветствуется.


person rahuL    schedule 12.01.2014    source источник
comment
это не вопрос программирования. SipML является экспериментальным, поэтому вам нужно быть экспертом в звездочке, чтобы использовать его правильно.   -  person arheops    schedule 12.01.2014


Ответы (2)


Включите журналы sip в файле отладки звездочки и проверьте детали предложения-ответа SDP. Проверьте содержимое SDP.

person niloydebnath    schedule 28.01.2014

Некоторое дополнение к этому

Для настройки браузера как sip-клиента нам нужно включить шифрование true

   encryption=yes

Если ваш клиент браузера находится внутри брандмауэра, вам необходимо включить поддержку ICN для правильной связи.

person hks1233    schedule 08.02.2014
comment
У меня такая же проблема. Может ли кто-нибудь сказать мне, что я уже определил все необходимые параметры в sip.conf, но все равно не повезло. - person Bhavik Patel; 12.05.2014