Управление параметрами переадресации самим абонентом
Сообщений: 12
|
Управление параметрами переадресации самим абонентом
Назрел вопрос, сввязанный с тем, как абонент может изменить номер телефона, на который ему необходимо получать звонки в случае, если он на локальный номер не отвечает. Но и параметр таймаута тоже до кучи.
Несколько дней смотрю на эту инфу и пока получил в теории вот что:
- при наборе #21# (к примеру) можно попасть на некий набор правил, который поместит в локальную базу данных астериска значение ${EXTEN} (тот тасамый номер, на который нужно переадресовывать входящий звонок)
- затем, в случае входящего звонка, в рамках нужного экстеншена, функция Dial вытаскивает из базы данных значение ${EXTEN} о котором я говорил выше, и собственно с ним работает.
И главное, что имя той переменной , которая хранится в базе, должна быть связана с номером екстеншена, с которого поступила команда о смене значения этой самой переменной. Дабы один пользователь не мог перебить настройки другого.
Эту схему я понял правильно? Она будет работать?
|
Откуда: Санкт-Петербург
Сообщений: 541
|
Re: Управление параметрами переадресации самим абонентом
Да. Да.
|
Откуда: Москва
Сообщений: 3421
|
Re: Управление параметрами переадресации самим абонентом
Уже реализовано - http://asteriskpbx.ru/browser/astpbx/etc/asterisk/extensions_services.conf
Разберешься? :-)
Да, вот еще http://asteriskpbx.ru/browser/astpbx/etc/asterisk/extensions.conf
|
Сообщений: 12
|
Re: Управление параметрами переадресации самим абонентом
Разбираюсь:)
Я не до конца осмысливаю, как поместить значение в базу и как именно нужное значение поместить в Dial()
-- DBput(CFIM/${CALLERID(num)}=${EXTEN:4})
Вот тут не очень понятно, чему именно присваевается значение ${EXTEN:4}. Но похоже, что ${EXTEN:4} просто помещается в базу. Но как потом к нему обратиться в Dial()?
"CFIM: Call forward database family for labels in Asterisk database. " Вообще не могу осмысленно перевести/или понять что имеется ввиду:)
--- DBdel(CFIM/${CALLERID(num)})
Это удаление значение из базы. Но нифига не понятно, какого именно? То, к которому привязано ${CALLERID(num)}?
В твоих примерах приводится другая функция для работы с базой:
Set(DB(dial_timeout/${CALLERID(num)})=${EXTEN})
-это если я правильно понял:)
Тогда, если сделать
Dial(${TRUNK}/${EXTEN},${dial_timeout}) будет работать правильно, или надо
Dial(${TRUNK}/${EXTEN},${DB(dial_timeout/${CALLERID(num)}))?
|
Откуда: Москва
Сообщений: 3421
|
Re: Управление параметрами переадресации самим абонентом
Дружище, кури мат. часть.
google: asterisk function db, 1 и 2 совпадения.
|
Сообщений: 2
|
Re: Управление параметрами переадресации самим абонентом
litnimax: Дружище, кури мат. часть.
google: asterisk function db, 1 и 2 совпадения.
Умный, куда деваться.
Ну, прямо, как все.
А куда не плюнь, везде ЖОПА, от таких умных.
Давно ли ты ее курил, накуренный ты наш.
Любой дурак может отправить курить, а вот подсказать единицы.
|
Сообщений: 276
|
Re: Управление параметрами переадресации самим абонентом
необязательно с astdb корячиться, если есть postgres, можно на нём сделать.
|
Откуда: Москва
Сообщений: 3421
|
Re: Управление параметрами переадресации самим абонентом
Давно ли ты ее курил, накуренный ты наш.
По-момему, тут накуренный кто-то другой...
Первые обе ссылки в гугле, которые я привел, очень хорошо учат работе с базой.
Любой дурак может отправить курить, а вот подсказать единицы.
Умному и ссылку достаточно показать, а дураку подсказывай, не подсказывай, все равно без толку.
|
Сообщений: 12
|
Re: Управление параметрами переадресации самим абонентом
Всем спасибо за разъяснение.
Формат хранени данных в базе в скользь указан тут http://voip.rus.net/tiki-index.php?page=Asterisk+database
В версии 1.4 добавляются и извлекаются данные с помощью DB() http://voip-info.capatres.com/wiki/view/Asterisk+func+db.html
Удаление из базы с помощью DBdel()
http://www.voip-info.org/wiki/view/Asterisk+call+forwarding
С учетом всего этого все встало на свои места.
|
Сообщений: 12
|
Re: Управление параметрами переадресации самим абонентом
Newborn: необязательно с astdb корячиться, если есть postgres, можно на нём сделать.
Почему корячиться? Для базы абонентов в 50 человек, возиться с postgres особо резона не видно.
|
|