Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

передать параметры из sip.conf в диалплан

0

можно ли как-то в процессе выполнения диалплана получить доступ к параметрам из конфигурационного файла?

пример в sip.conf (или users.conf) есть peer у которого есть параметр record = yes, тогда в диалплане мы могли бы проверить этот параметр типа ${channel(record)} = yes и перейти в диалплане на метку где у нас осуществляется включение записи разговора

удалить закрыть спам изменить тег редактировать

спросил 2015-06-26 06:46:52 +0400

obamo Gravatar obamo
115 13 3 11

3 Ответа

0

Можно использовать функцию SIPPEER, но она может вернуть ограниченный набор параметров из sip.conf, что-то совсем свое не получится. Разве что через SIPPEER(chanvar[customvar]), как, в принципе, уже и писали.

ссылка удалить спам редактировать

ответил 2015-06-26 14:53:31 +0400

glukinho Gravatar glukinho
661 4 3 12

Comments

вот складывается ощущение, что вот этот setvar как раз для таких случаев и оставили : ) типа вот такие штуки точно пригодятся, но если что - расширяйте параметры сами.

obamo ( 2015-06-27 11:22:06 +0400 )редактировать
0

Нет, нельзя.

Варианты: Asterisk config sip.conf

setvar = variable=value : Channel variable to be set for all calls from this peer/user.

И сетить в переменную, что угодно и применять как угодно.

Либо использовать astdb, где хранить что угодно и пользовать как угодно.

ссылка удалить спам редактировать

ответил 2015-06-26 08:23:17 +0400

virus_net Gravatar virus_net flag of Russian Federation
302 1 6
http://www.mega-net.ru/

обновил 2015-06-26 08:23:55 +0400

Comments

нельзя, а тут же приводите пример как можно, почти как оно и надо. ок спасибо, пойду протестирую.

obamo ( 2015-06-26 11:08:03 +0400 )редактировать

это не то, к чему надо стремится. используйте realtime/func_odbc

meral ( 2015-06-26 13:02:24 +0400 )редактировать

на самом деле мне думается, что это достаточно удобно хранить доп.настройки для диалплана в настройках users.conf. Например: вкл.выкл запись разговоров абонента, вкл.выкл переадресации абонента, мобильный номер для это переадресации, один АОН для одних направлений, другой АОН для других направлений. Вместо того чтобы докидывать еще какой-то сервис или даже astdb использовать. Не так ли?

obamo ( 2015-06-27 11:20:37 +0400 )редактировать

нет. setvar там с того времени, как астериск не имел astdb и доступа к базам. хранить настройки надо с системе хранения настроек - в базе. используя кучу переменных вы заставлятее астериск хранить все это ненужное барахло в памяти.

meral ( 2015-06-27 13:04:55 +0400 )редактировать

правильно - использовать mysql с включенным кешем. в кеш попадет только то, что реально используется.

meral ( 2015-06-27 13:07:47 +0400 )редактировать

и много он так памяти сожрет? Даже если я 500 абонентов дополню по две настройки через setvar - это заставит астериск занять памяти на полгигабайта? или все-таки не так много?

У меня коллега пришел тут с идеей - типа диалплан для астериска на Lua писать, как-то его компилировать, все что требуется из настроек - хранить в redis (а это тоже однако в памяти). Тогда, мол, все быстро и оптимизированно.

obamo ( 2015-06-29 20:14:23 +0400 )редактировать

развлекайтесь. потом расскажете. LUA- это через Ж ане оптимизировано.

meral ( 2015-06-29 22:54:24 +0400 )редактировать
0

Можно разве, что запуском например PHP скрипта, скрипт смотрит в файле, что Вам нужно и возвращает переменную.

ссылка удалить спам редактировать

ответил 2015-06-26 09:58:19 +0400

amonra Gravatar amonra flag of Ukraine
2301 26 13 65
http://lantec.ua/

Comments

Ну, так я и в БД хранить могу, а не в файле. да и в БД удобнее будет : )

obamo ( 2015-06-26 11:05:15 +0400 )редактировать

Да, конечно ! Но я ответил на вопрос о уже существующей и работающей системе, и о БД там ничего не говорится.

amonra ( 2015-06-26 11:28:17 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2015-06-26 06:46:52 +0400

Просмотрен: 1,182 раз

Обновлен: Jun 26 '15

Похожие вопросы:

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.