freeswitchforum.com

Форум поддержки FreeSWITCH

FreeSWITCH is a registered trademark of Anthony Minessale. Official FreeSWITCH site.

Текущее время: 19 апр 2024 16:15

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Разные внутренние контексты
СообщениеДобавлено: 08 июн 2017 13:16 

Зарегистрирован: 30 май 2017 14:54
Сообщения: 22
Здравствуйте. Вот есть два под-домена, нужно для них сделать разные диалпланы, с пересекающимися (одинаковыми) номерными емкостями. Указателем на активный контекст, насколько я понимаю, является параметр в internal.xml - <param name="context" value="мой контекст">, либо в отсутствии оного, ссылка идет на контекст "default". Естественно, что при мультидоменности, нужный контекст находится в разных диалпланах. Проблема в том, что если название контекста, скажем "default", то при наличии этого контекста в обоих диалпланах, выполняется только первый. Т.е. в том числе и для звонков номеров второго домена, используется диалплан первого. По логике вещей, переменная контекста должна быть динамической и получать его значение в зависимости от домена звонящего номера. Однако, пока что такого не нахожу. Подскажите пожалуйста, кто знает, как это решается?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разные внутренние контексты
СообщениеДобавлено: 08 июн 2017 17:39 

Зарегистрирован: 30 май 2017 14:54
Сообщения: 22
Пока что нашел решение такое - под каждый домен создавать профиль в sip_profiles, но это требует назначения дополнительных портов под каждый профиль/домен, во избежание конфликтов биндинга.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разные внутренние контексты
СообщениеДобавлено: 08 июн 2017 19:34 

Зарегистрирован: 03 июл 2012 12:09
Сообщения: 41
Можно использовать переменную `user_context` для пользователя.
Правда это не работает для chatplan, но если это нужно, то это можно эмулировать
в самом chatplan.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разные внутренние контексты
СообщениеДобавлено: 08 июн 2017 20:19 

Зарегистрирован: 30 май 2017 14:54
Сообщения: 22
moteus писал(а):
Можно использовать переменную `user_context` для пользователя.
Правда это не работает для chatplan, но если это нужно, то это можно эмулировать
в самом chatplan.


Я ее пробовал использовать, но почему-то результата не дало, может что-то невнимательно сделал. Завтра попробую еще раз.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разные внутренние контексты
СообщениеДобавлено: 09 июн 2017 07:59 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
все прекрасно работает и на одном профиле
Multiple Companies

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разные внутренние контексты
СообщениеДобавлено: 09 июн 2017 12:17 

Зарегистрирован: 30 май 2017 14:54
Сообщения: 22
Vlad1983 писал(а):
все прекрасно работает и на одном профиле
Multiple Companies


Первым делом делал точно по этой доке. У вас нужный контекст указывается в каком именно месте?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разные внутренние контексты
СообщениеДобавлено: 09 июн 2017 12:22 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
в xml_directory-конфиге юзера user_context
если у вас валится в дефолтный контекст sofia-профиля, не учитывая user_context, то ваши пользователи не проходят аутентификацию
это из-за непонимания как работают acl в FS

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разные внутренние контексты
СообщениеДобавлено: 09 июн 2017 13:23 

Зарегистрирован: 03 июл 2012 12:09
Сообщения: 41
Цитата:
Я ее пробовал использовать, но почему-то результата не дало, может что-то невнимательно сделал.

Мои основные предположения
1. Вы установили user_context как параметр, а не как переменную
2. Не включили `auth-calls` в профиле.
3. Добавили IP адрес телефона в ACL.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разные внутренние контексты
СообщениеДобавлено: 09 июн 2017 15:46 

Зарегистрирован: 30 май 2017 14:54
Сообщения: 22
Спасибо за ответы.

1. user_context установлен как variable

2. acl пускает:

2017-06-09 15:22:03.897407 [DEBUG] sofia.c:8964 sofia/internal/3000@мой_домен2 receiving invite from айпи_моего_шлюза:62642 version: 1.4.26 git ca9207a 2016-02-05 17:58:53Z 64bit
2017-06-09 15:22:03.897407 [DEBUG] sofia.c:9076 IP айпи_моего_шлюза Approved by acl "domains[]". Access Granted.

3. auth-calls включен:
cat internal.xml | grep auth-calls
<param name="auth-calls" value="$${internal_auth_calls}"/>

freeswitch> eval $${internal_auth_calls}

true

-----------
Пока что для удобства настройки номера не пересекаются: Номера 2XXX относятся к мой_домен1, 3XXX к мой_домен2

Поставил снова один профиль - internal, user_context у номеров стоит какой нужен, соответственно домену

Звоню по номерам 1-го домена:

2017-06-09 16:11:43.650058 [DEBUG] switch_core_state_machine.c:166 sofia/internal/2000@мой_домен1 Standard ROUTING
2017-06-09 16:11:43.650058 [INFO] mod_dialplan_xml.c:635 Processing 2000 <2000>->2001 in context мой_домен2
Dialplan: sofia/internal/2000@мой_домен1 parsing [мой_домен2->4000] continue=false
Dialplan: sofia/internal/2000@мой_домен1 Regex (FAIL) [4000] destination_number(2001) =~ /^4000$/ break=on-false
Dialplan: sofia/internal/2000@мой_домен1 parsing [мой_домен2->qaz] continue=false
Dialplan: sofia/internal/2000@мой_домен1 Regex (FAIL) [qaz] destination_number(2001) =~ /^2010$/ break=on-false
Dialplan: sofia/internal/2000@мой_домен1 parsing [мой_домен2->qwe] continue=false
Dialplan: sofia/internal/2000@мой_домен1 Regex (FAIL) [qwe] destination_number(2001) =~ /^(3\d\d\d)$/ break=on-false

Т.е. user_context используется второй

freeswitch> eval $${user_context}

мой_домен2

Похоже на то, что freeswitch устанавливает эту переменную в последнее спарсенное значение, при этом не делая динамической проверки user_context звонящего


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разные внутренние контексты
СообщениеДобавлено: 09 июн 2017 16:36 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
moteus писал(а):
3. Добавили IP адрес телефона в ACL.

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 47


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB