freeswitchforum.com https://freeswitchforum.com/ |
|
Вопрос по диалплану https://freeswitchforum.com/viewtopic.php?f=6&t=974 |
Страница 1 из 1 |
Автор: | cr1t1cal [ 21 ноя 2019 11:22 ] |
Заголовок сообщения: | Вопрос по диалплану |
Добрый день, Коллеги! Подскажите, как можно реализовать выборку по CID NUM, тоесть, есть несколько пулов номеров С которых будут проходить звонки через FS по разным гейтвеям, как мне разделить допустим 20 определённых номеров уйдут в один гейтвей, 20 в другой, 20 в третий? Я понимаю, что можно запихнуть все 20 номеров в регулярку в condition, но это совсем не удобно, есть ли какой либо метод сортировать звонки по CALLER ID NUMBER допустим выборкой из базы или ещё откуда либо ? |
Автор: | Vlad1983 [ 21 ноя 2019 12:04 ] |
Заголовок сообщения: | Re: Вопрос по диалплану |
можно из БД с помощью mod_odbc_query можно скрипт дернуть, который выдаст шлюз |
Автор: | cr1t1cal [ 21 ноя 2019 12:11 ] |
Заголовок сообщения: | Re: Вопрос по диалплану |
Vlad1983 писал(а): можно из БД с помощью mod_odbc_query можно скрипт дернуть, который выдаст шлюз Интересно, попробую, спасибо! |
Автор: | cr1t1cal [ 29 ноя 2019 10:50 ] |
Заголовок сообщения: | Re: Вопрос по диалплану |
Vlad1983 писал(а): можно из БД с помощью mod_odbc_query можно скрипт дернуть, который выдаст шлюз Извини за глупый вопрос, а где скачать мне этот мод ?( Они на гитхаб переехали не могу во первых реп найти freeswitch-contrib.git нет такого, и вообще нигде не написано как собрать этот мод. |
Автор: | Vlad1983 [ 29 ноя 2019 11:06 ] |
Заголовок сообщения: | Re: Вопрос по диалплану |
можно попробовать mod_cidlookup он в штатной поставке |
Автор: | cr1t1cal [ 03 дек 2019 15:15 ] |
Заголовок сообщения: | Re: Вопрос по диалплану |
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> |
Автор: | Vlad1983 [ 04 дек 2019 08:52 ] |
Заголовок сообщения: | Re: Вопрос по диалплану |
все условия в диалплане проверяются при входе к контекст (если нет спец. указаний) топором можно так приостановить для получения переменной чтоб учитывать в дальнейших условиях Код: <action application="set" data="effective_caller_id_number=${cid}" inline="true"/> но лучше сделать transfer или execute_extension |
Автор: | cr1t1cal [ 06 дек 2019 16:07 ] |
Заголовок сообщения: | Re: Вопрос по диалплану |
Vlad1983 писал(а): все условия в диалплане проверяются при входе к контекст (если нет спец. указаний) топором можно так приостановить для получения переменной чтоб учитывать в дальнейших условиях Код: <action application="set" data="effective_caller_id_number=${cid}" inline="true"/> но лучше сделать transfer или execute_extension Спасибо огромное !!! Всё получилось, только решил сделать по мануалу с wiki роутинг в определённый гейтвей. А также настроил easyroute для роутинга по dest номеру (задача была в том числе и по dest). |
Страница 1 из 1 | Часовой пояс: UTC + 4 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |