freeswitchforum.com
https://freeswitchforum.com/

Проблема при переадресации вызова. Лезет не в свой контекст.
https://freeswitchforum.com/viewtopic.php?f=6&t=853
Страница 1 из 1

Автор:  RSI [ 27 июл 2017 12:58 ]
Заголовок сообщения:  Проблема при переадресации вызова. Лезет не в свой контекст.

Здравствуйте господа. Объясните пожалуйста, почему так происходит.
FusionPBX 4.2.2

На учетке выставил безусловную переадресацию, так вот во время обработки она лезет в экстеншн чужого контекста.
Как такое вообще возможно?

Схема вызова такая: Вызываю номер 3912197828, на нем стоит безусловная переадресация на номер 2141101.
В контексте root.sip.telezon.ru существуют два экстеншна, которые направляют вызов в radius, а затем, после проверки radius сервером, перенаправляет в контекст ok.sip.root.telezon.ru.
Во время препроцессинга, вызов игнорирует эти два экстеншна, но затем по какой-то причине отправляет вызов на номер 2141101 с префиксом 3591# в шлюз. Отправка такого префикса у меня настроена только в одном экстеншне, в контексте ok.sip.root.telezon.ru. Как туда вызов попадает?

Прикрепил логи для анализа.

Вложения:
Forward_log.zip [12.11 КБ]
Скачиваний: 543

Автор:  RSI [ 28 июл 2017 07:40 ]
Заголовок сообщения:  Re: Проблема при переадресации вызова. Лезет не в свой конте

Как вообще разобрать логику работы безусловной переадресации и сервиса следуй за мной?
В логах не видно, какой скрипт LUA обрабатывает событие (и какое событие?). Для проверки удалил скрипт call_forward.lua из директории /usr/share/freeswitch/scripts. Ребутнул freeswitch, проблема не ушла.

Автор:  Vlad1983 [ 28 июл 2017 08:32 ]
Заголовок сообщения:  Re: Проблема при переадресации вызова. Лезет не в свой конте

Код:
2c045e95-a1be-4239-8e8a-1b6ee49f1fc7 EXECUTE sofia/10_248_0_5-5080/3912458888@10.248.0.6:5071 bridge(user/3912197828@root.sip.telezon.ru)
что у пользователя 3912458888@root.sip.telezon.ru в dial-string?

Автор:  moteus [ 28 июл 2017 12:34 ]
Заголовок сообщения:  Re: Проблема при переадресации вызова. Лезет не в свой конте

Цитата:
Как вообще разобрать логику работы безусловной переадресации и сервиса следуй за мной?

Ну она до безобразия проста. Fusion PHP или Lua подменяют dial-string у пользователя.
Если это делается через Web UI то за это отвечает app/calls/resources/classes/call_forward.php.
Если это делается через голосовое меню - call_forward.lua. (Одна и та же логика реализована в двух
местах и почти cовпадает :) ).
Follow Me отличается тем что через Lua ее можно только включить/выключить. Dial-String формируется PHP
и сохраняется в отдельной таблице и при включении просто копируется.

Естественно переадресация по не ответу дело абсолютно другое. Там заранее не известно куда надо слать
звонок.

Автор:  RSI [ 29 июл 2017 08:25 ]
Заголовок сообщения:  Re: Проблема при переадресации вызова. Лезет не в свой конте

Цитата:
что у пользователя 3912458888@root.sip.telezon.ru в dial-string?

Это номер инициатора вызова. Он внешний.

Moteus. Благодарю за ответ. Действительно нашел в таблице v_extensions, строку, которую заранее записывает код с файла call_forward.php.
Планирую обрезать код, до того места, где он формирует строку бриджинга. Таким образом, во время выполнения, фрисвитч выдаст ошибку, и передаст событие в failure_handler. В lua failure_handler сделаю обработку этого события по аналогии с переадресацией по неответу. Грубо и не профессионально, но это первое что приходит в голову.
Есть какие-то предложения, как сделать лучше?

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/