freeswitchforum.com

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

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

Текущее время: 06 дек 2019 16:33

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос по диалплану
СообщениеДобавлено: 21 ноя 2019 11:22 

Зарегистрирован: 21 ноя 2019 11:11
Сообщения: 5
Добрый день, Коллеги! Подскажите, как можно реализовать выборку по CID NUM, тоесть, есть несколько пулов номеров С которых будут проходить звонки через FS по разным гейтвеям, как мне разделить допустим 20 определённых номеров уйдут в один гейтвей, 20 в другой, 20 в третий? Я понимаю, что можно запихнуть все 20 номеров в регулярку в condition, но это совсем не удобно, есть ли какой либо метод сортировать звонки по CALLER ID NUMBER допустим выборкой из базы или ещё откуда либо ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по диалплану
СообщениеДобавлено: 21 ноя 2019 12:04 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1633
можно из БД с помощью mod_odbc_query
можно скрипт дернуть, который выдаст шлюз

_________________
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по диалплану
СообщениеДобавлено: 21 ноя 2019 12:11 

Зарегистрирован: 21 ноя 2019 11:11
Сообщения: 5
Vlad1983 писал(а):
можно из БД с помощью mod_odbc_query
можно скрипт дернуть, который выдаст шлюз


Интересно, попробую, спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по диалплану
СообщениеДобавлено: 29 ноя 2019 10:50 

Зарегистрирован: 21 ноя 2019 11:11
Сообщения: 5
Vlad1983 писал(а):
можно из БД с помощью mod_odbc_query
можно скрипт дернуть, который выдаст шлюз


Извини за глупый вопрос, а где скачать мне этот мод ?( Они на гитхаб переехали не могу во первых реп найти freeswitch-contrib.git нет такого, и вообще нигде не написано как собрать этот мод.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по диалплану
СообщениеДобавлено: 29 ноя 2019 11:06 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1633
можно попробовать mod_cidlookup он в штатной поставке

_________________
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по диалплану
СообщениеДобавлено: 03 дек 2019 15:15 

Зарегистрирован: 21 ноя 2019 11:11
Сообщения: 5
Vlad1983 писал(а):
можно попробовать mod_cidlookup он в штатной поставке


Добрый день! Установил таки модуль odbc_query настроил его и научился дёргать из базы номера. Подскажите пожалуйста, как мне теперь реализовать сравнение результата вывода из базы с тем что пришло ? Я так понял, при запросе вида:
Код:
<query name="map_cid_users" value="SELECT caller_id_number AS cid FROM fs_numbers WHERE cid='${caller_id_number}';"/>


Всё убирается в переменную ${cid}. После выполнения этого запроса у меня получилось вывести в лог значение этой переменной и она соответствует номеру звонящего. Если же номера в базе нет, то в логе просто пустые скобки. Из этого я делаю вывод, что двигаюсь в правильном направлении. И теперь при попытке в condition упаковать переменную ${cid} в логе ясно видно, что условие не раскрывает значение переменной, а так и шлёт в таком виде, как она есть. (${cid}). Подскажите пожалуйста как можно это решить ?

Пытался сделать подобным образом:
Код:
<extension name="test_odbc_connector_cid">
        <condition>     
        <action application="odbc_query" data="map_cid_users"/>
        <action application="set" data="effective_caller_id_number=${cid}"/>
        <condition field="${cid}" expression="$\d+"/>
        </condition>
  </extension>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по диалплану
СообщениеДобавлено: 04 дек 2019 08:52 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1633
все условия в диалплане проверяются при входе к контекст (если нет спец. указаний)
топором можно так приостановить для получения переменной чтоб учитывать в дальнейших условиях
Код:
<action application="set" data="effective_caller_id_number=${cid}" inline="true"/>

но лучше сделать transfer или execute_extension

_________________
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по диалплану
СообщениеДобавлено: 06 дек 2019 16:07 

Зарегистрирован: 21 ноя 2019 11:11
Сообщения: 5
Vlad1983 писал(а):
все условия в диалплане проверяются при входе к контекст (если нет спец. указаний)
топором можно так приостановить для получения переменной чтоб учитывать в дальнейших условиях
Код:
<action application="set" data="effective_caller_id_number=${cid}" inline="true"/>

но лучше сделать transfer или execute_extension


Спасибо огромное !!! Всё получилось, только решил сделать по мануалу с wiki роутинг в определённый гейтвей.

А также настроил easyroute для роутинга по dest номеру (задача была в том числе и по dest).


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

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


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

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


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

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