VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Вход

Как откорректировать причину разъединения, прилетевшую через IAX2 ?

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

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

Ответить
Аватара пользователя
Reader
Сообщения: 154
Зарегистрирован: 24 апр 2013, 10:35

Как откорректировать причину разъединения, прилетевшую через IAX2 ?

Сообщение Reader »

Неожиданно столкнулся с такой проблемой: при трансляции сигнала отбоя от одной АТС Asterisk до другой АТС Asterisk по протоколу IAX2 значение причины разъединения меняется на другое. В результате городской абонент, позвонивший моему локальному абоненту (из города) вместо сигнала разъединения Busy вдруг получает сигнал разъединения Unanswer ! Схему организации звонка прикрепил (*.pdf). Долго не мог поверить вообще в эту проблему, пока сам не проверил: взял городской стационарный телефон и позвонил на свой локальный телефон. Перед этим занял свой локальный телефон общением с автоответчиком (добился разговорного состояния). И поскольку на моём локальном телефоне всего одна линия, то при звонке на него из города я ожидал услышать занято (Busy). Но нет - услышал специальный трёхтональный сигнал "у-лю-лю" (Unanswer). Сильно удивился. Поставил трассировку по диалплану на своей городской АТС и на своей локальной АТС. И повторил этот же проверочный звонок. Локальная АТС честно показала причину разъединения Hangup(17) "Busy". В тот же самый момент вышестоящая городская АТС Asterisk показала Hangup(18) "Unanswer" ! Без объяснения причин. Проверил навскидку ещё несколько входящих звонков на локальных абонентов. Локальная АТС при этом каждый раз выдавала корректную причину отбоя. Однако вышестоящая городская АТС несколько раз ошиблась в выдаче причины разъединения. Такое никуда не годится. Подскажите пож. - как бы можно было бы влоб (или обходными путями) помочь локальной станции Asterisk-Local передать вышестоящей станции Asterisk-City корректную причину разъединения ? А соответственно бы городскому Астериску вставить полученную корректную причину разъединения в контекст выдачи причины разъединения.
Вложения
Схема организации звонка.pdf
(1.39 МБ) 11 скачиваний
Уж лучше колымить в Гондурасе, чем гондурасить на Колыме !
Аватара пользователя
Reader
Сообщения: 154
Зарегистрирован: 24 апр 2013, 10:35

Re: Как откорректировать причину разъединения, прилетевшую через IAX2 ?

Сообщение Reader »

Забыл указать, оба Астериска (городской и локальный) имеют версии 16. Правда один - голый Астериск (локальный), другой - ванильный (городской - Issabel). Оба обновлял, перезагружал, перепроверял файрволлы, даже игрался параметром qualify=yes or no - одинаково всё плохо. Точнее качество звука близко к идеальному, скорость дозвона молниеносная, разговорное состояние - стабильное. А вот городской Астериск получает от локального Астериска через IAX2 некорректную причину разъединения ! И это никуда не годится. Перейти с IAX2 на SIP (в котором сигнал отбоя точно передаётся без искажений) я не могу, т.к. между Asterisk-Local и Asterisk-City располагаются чужие сети с NAT, с которыми у SIP бывают проблемы. Зато IAX2 соединяет оба моих Астериска идеально. Остаётся придумать - как бы научить эти 2 Астериска обмениваться точной причиной разъединения ... В голову приходит постоянно идея примонтировать к Asterisk-Local RAM-disc, создать в нём файл, в который заставить Asterisk-Local на автомате при окончании каждого соединения записывать корректную причину разъединения. Затем сделать папку с файлом причин разъединения на Asterisk-Local доступной для Asterisk-City. И в контексте Астериска-City прописать обязанность автоматически импортировать этот файлик из общей папки Астериска-Local и вы'grep'ать из неё корректную причину разъединения и подставлять её в городскому абоненту ... Любая критика/подсказки приветствуются ... Возможно создать что-л. проще ...
Уж лучше колымить в Гондурасе, чем гондурасить на Колыме !
Ответить
© 2008 — 2026 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH