Страница 1 из 1

Вызов через AMI не завершается

Добавлено: 11 сен 2020, 22:27
o_vladimir
Приветствую всех присутствующих!, если набрать номер через AMI, соединение не разрывается, если первый опускает трубку вызывающая сторона. В CLI обнаружил одну особенность которая мне непонятна, т.к. не настраивал этот сервер Asterisk изначально, а получил его как есть. В логе сначала идет вызов локального номера, потом после того как поднята трубка локального телефона идет вызов удаленного номера через шлюз, потом удаленный номер отвечает и начинается то, что я не могу понять. Идет в цикле вызов екстеншена _0_X! с пометкой conferece. В котором есть Answer. Думаю дело именно в этом, но не могу понять, что означает этот странный екстеншен с двумя подчеркиваниями в маске и почему он вообще срабатывает, если по логике уже все должно остановиться т.к. вызываемый абонент уже ответил.

Заранее благодарю за ответ.

Re: Вызов через AMI не завершается

Добавлено: 13 сен 2020, 12:27
zzuz
Попросите вашего системного администратора посмотреть логи и проанализировать конфигурацию. Думаю , он специалист , должен разобраться.

Re: Вызов через AMI не завершается

Добавлено: 13 сен 2020, 15:34
o_vladimir
Так я и есть сисадмин, но как я писал выше, этот сервер мне достался как есть, с этой проблемой. Хочу с ней разобраться и заодно изучить Asterisk. Снял логи, как писал выше, нашел странность. 1) После дозвона на внешний номер, в цикле вызывается екстен с маской _0_X!. 2) Extension.conf присутствует екстен с маской _0_X! , что эта маска означает не могу понять. Было бы это разделено,к примеру _X!, эта маска мне понятна, а вот что означает _0_X! мне не понятно, и в описании нигде найти не могу. И непонятно почему она срабатывает после того как я уже дозвонился на внешний номер. По-логике, через AMI я вызываю внешний номер через определенный контекст он обрабатывается, но и указываю внутренний номер и контекст который его обрабатывает. В логах все идет по-порядку, сначала срабатывает екстен для внутреннего номера, потом вызывается екстен на внешнюю линию, далее удаленный номер поднимает трубку и в цикле начинает работать екстен c маской _0_X! (почему). Все екстены заканчиваются hungup(). Переопределения Callerid не наблюдаю. Что еще может заставлять его перепрыгнуть в этот екстен _0_X!, да еще и в цикле выполнять его?

Заранее благодарю за ответ.

Re: Вызов через AMI не завершается

Добавлено: 14 сен 2020, 11:52
zzuz
Телепаты сейчас на карантине. Обращайтесь после нового года.

Re: Вызов через AMI не завершается

Добавлено: 15 сен 2020, 13:09
o_vladimir
Очень жаль, что телепаты на карантине, с карантина то же нужно уметь вовремя выйти. ) Очевидно, тут телепатом и не нужно быть, я прошу хотя бы объяснить, что означает в астериск шаблон _0_X! или этот _pickup_XXXX. Во всех источниках говориться, что если имя екстеншена начинается с подчеркивания, это шаблон. Хорошо, мой случай начинается с подчеркивания, далее идет ноль т.е. номер начинается с ноля(нУля). Далее идет опять подчеркивание. Астериск как его воспринимает, как очередную маску или как символ подчеркивания в номере? Далее идет X, это любая цифра от 0 до 9 и знак восклицания это любые символы(цифры) в любом количестве. Я понимаю эту маску в двух вариантах: 1) Номер начинается с ноля и символа подчеркивания, потом идет цифра от 0 до 9 и плюс далее любое количество символов(цифр) Пример - 0_0123456789 или 0_9123abc. 2) Номер начинается с ноля потом идет цифра от 0 до 9 и плюс любое количество символов (цифр) т.е. 00123456789 т.е. по-сути это любой номер начинающийся с ноля. Какой из этих вариантов правильный или его (шаблон - _0_X!) как-то нужно иначе понимать?

Заранее благодарю за ответ.

Re: Вызов через AMI не завершается

Добавлено: 15 сен 2020, 13:57
ded
Владимир,

ключевая фраза - я не настраивал этот сервер Asterisk изначально, а получил его как есть.
Напомню, что и код Астериска, и язык диал-плана, являются открытыми. И вот кто-то до вас настраивал и создал вам головоломку, которую вы предлагаете решать всем сообществом, просто чтобы вам было понятней, верно? Вам не кажется это неестественным? Сколько объясняльщиков у каждого неопытного администратора должно быть за плечом, чтобы комментировать все его действия и отвечать на его вопросы?

Призову на помощь https://en.wikipedia.org/wiki/Telepathy_(software)
и предположу, что так оригинально ваш предшественник решал (решил ли?) проблему подключения третьей стороны для консультаций (конференции) при уже текущем диалоге, эта возможность и бегает в цикле вызове екстеншена _0_X! с пометкой conferece. Отмечу, что синтаксис X! уже более 10 лет как устарел, что доставляет.
И разбирать правильность его диал-плана совсем не хочется. Вспомните с чем вы соглашались при регистрации на форуме.

Re: Вызов через AMI не завершается

Добавлено: 15 сен 2020, 15:11
o_vladimir
Ded, спасибо за ответ. Я и не призываю решить мою проблему, правила я читал, не предлагаю анализировать мой диалплан. Диалплан такой, что ногу,руку и глаз сломать можно. Думаю, предлагать сообществу его анализировать, будет некорректно с моей стороны. Но это все лирика. На мой взгляд, простейший вопрос по шаблону, для таких гуру как Вы, который мне не понятен. Зайдем с другой стороны, что нужно сделать, чтоб вызвать екстен с такой маской _0_X! Я пробовал удалить этот экстен из диалплана, в CLI наблюдаю ошибки по поводу отсутствия этого екстеншена и вызов завершается? Видимо, вызывают этот екстен именно по его названию. Возможен ли вызов экстеншена по названию шаблона? Т.е. в команде Originate: в поле Exten указать _0_X! ?

Заранее благодарю за ответ.

Re: Вызов через AMI не завершается

Добавлено: 15 сен 2020, 23:13
zzuz
Понеслась!

Re: Вызов через AMI не завершается

Добавлено: 30 сен 2020, 10:59
o_vladimir
Добрый день Админ, удалите пожалуйста эту тему, чтоб не захламляла форум. Решения тут особо не найдено, однако я благодарен всем кто ответил. Вопрос закрыт.