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

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

3 ответа

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

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

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

   encryption=yes

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

In the extensions config (sip.conf) set following parameter:

      encryption=yes
avpf=yes
force_avp=yes
icesupport=yes
dtlsenable=yes
dtlsverify=fingerprint
dtlssetup=actpass
Другие вопросы по тегам