Инструменты пользователя

Инструменты сайта


dialplan_ab

Это старая версия документа!


Адресная книга в Asterisk. Подстановка Caller Name при входящем звонке

Друзья согласитесь что при входящем вызове приятнее видеть не просто номер телефона, а при этом как то идентифицировать человека. Для этого я решил придумать небольшой сценарий для адресной книги. Так же сразу добавлю распределение вызова на того или иного сотрудника.

Суть будет такой, мы создаем базу в которой будут следующие поля:

ID - Уникальный порядковый номер
PHONE - Номер телефона клиента
NAME - Имя клиента
AGENT - Внутренний номер сотрудника

После создания таблицы с этими полями можно будет

Добавляем запрос в func_odbc.conf

[SET_DATA_FB]
dsn=aster
write=INSERT INTO имя_базы.phone_book (phone,name,agent) VALUES (${CALLERID(num)},${NAME},${AGENT})
[IN]
exten => _X.,1,Answer()
exten => _X.,2,Set(ARRAY(PHONE,NAME,AGENT)=${ODBC_GET_DATA_FB(${CALLERID(num)})}") ; Построение массива номеров из БД FB 
exten => _X.,3,Set(CALLERID(name)=${NAME}) ; При имеющемся совпадении задается имя контакта
exten => _X.,4,GotoIf($["${AGENT}"!=""]?dialagent) ; Проверка задан ли агент в базе FB
exten => _X.,5,Dial(SIP/${EXTEN})
exten => _X.,n(dialagent),Dial(SIP/${AGENT},25,tTm(hold))
dialplan_ab.1468586463.txt.gz · Последнее изменение: 2016/07/15 15:41 — kov