VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Различия в Answer(), Dial() для asterisk 1.8 и 11

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
buratino
Сообщения: 4
Зарегистрирован: 05 сен 2014, 18:41

Различия в Answer(), Dial() для asterisk 1.8 и 11

Сообщение buratino »

Приветствую всех присутствующих!!

Имеется примерный диалплан:

Код: Выделить всё

exten => _XXXX,1,Answer()
exten => _XXXX,n,Dial(SIP/<trunk>/<number>,,tT)
exten => _XXXX,n,Hangup()
В asterisk 1.8 все работает замечательно, при обновлении на 11 версию не идет RTP в обе стороны, хотя протоколы SIP/SDP корректно отрабатывают, соответственно слушаем тишину. careinvite/directmedia никак не влияют (да и маршруты трафика не менялись)
Если же между Answer и Dial вставить Playback() или же Dial() делать с флагом r то RTP трафик начинает идти и звук есть.

Кто сталкивался или где то есть объяснение? =)
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Различия в Answer(), Dial() для asterisk 1.8 и 11

Сообщение ded »

1) Объясните: зачем делаете Answer?
exten => _XXXX,1,Dial(SIP/<trunk>//${EXTEN},,tT) должно хватать вполне.

2) Если на 100% всё же уверены, что вам точно нужно Answer (это, типа, сразу трубку снять Астериску), то раньше были такие рекомендации:
exten => _XXXX,1,Answer()
exten => _XXXX,n,Wait(2)
exten => _XXXX,n,Dial(SIP/<trunk>/${EXTEN},,tT)
buratino
Сообщения: 4
Зарегистрирован: 05 сен 2014, 18:41

Re: Различия в Answer(), Dial() для asterisk 1.8 и 11

Сообщение buratino »

Без answer так же) и даже с wait(5) так же :-)
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Различия в Answer(), Dial() для asterisk 1.8 и 11

Сообщение ded »

Два пути:
1) лёгкий - юзать 1.8 и не обновляться на 11 версию.
2) трудный - задампить и анализировать диалог в Wireshark. ибо информация о том, что протоколы SIP/SDP корректно отрабатывают - необъективна без анализа.
buratino
Сообщения: 4
Зарегистрирован: 05 сен 2014, 18:41

Re: Различия в Answer(), Dial() для asterisk 1.8 и 11

Сообщение buratino »

Конечно дамп снимался для обоих версий, вот при отсутствующем RTP
Изображение
В SDP порты все входят в диапазон допустимых (как на версии 1.8, так и на 11), единственное отличие, что абсолютно одинаковый пакет 200 ОК посылается два раза.
Диалплан получается таким:

Код: Выделить всё

exten => 5964,1,Answer()
exten => 5964,n,Dial(SIP/XXX.XXX.XXX.10/826)
exten => 5964,n,Hangup
Не хотелось бы откатываться на 1.8 из за этого :-)
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Различия в Answer(), Dial() для asterisk 1.8 и 11

Сообщение ded »

Вам надо не смотреть в Wireshark на дамп, а анализировать. Там естьTelephony => VoIP calls и вот там исследовать SIP call flow.
Посылка
Dial(SIP/XXX.XXX.XXX.10/826)
некорректна, ибо нужно описать SIP пир, в котором присутствует аутентификация, приоритеты кодеков, параметры frpmuser= fromdomain= и прочее. Передавать просто наугад на ИП алрес - SIP/XXX.XXX.XXX.10 фигня неаутентифицированная.

Если включите вербозность побольше - будут видны подробные сообщения о выбранных портах и пр.
buratino
Сообщения: 4
Зарегистрирован: 05 сен 2014, 18:41

Re: Различия в Answer(), Dial() для asterisk 1.8 и 11

Сообщение buratino »

Конечно пиры описаны, я для примера написал, т.к. замазал на скриншоте IP адреса, извиняюсь что запутал.
Да, спасибо, за советы, анализ тоже смотрел, все без изменений за исключением отсутствия RTP, завтра еще раз погляжу
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Различия в Answer(), Dial() для asterisk 1.8 и 11

Сообщение Vlad1983 »

смотреть содержимое SDP в INVITE и 200 Ok, а не их наличие
ЛС: @rostel
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH