=== Адресная книга в Asterisk. Подстановка Caller Name при входящем звонке === Друзья согласитесь что при входящем вызове приятнее видеть не просто номер телефона, а при этом как то идентифицировать человека. Для этого я решил придумать небольшой сценарий для адресной книги. Так же сразу добавлю распределение вызова на того или иного сотрудника. Суть будет такой, мы создаем таблицу в базе, в которой будут следующие поля: ID - Уникальный порядковый номер \\ PHONE - Номер телефона клиента\\ NAME - Имя клиента\\ AGENT - Внутренний номер сотрудника\\ После создания таблицы с этими полями можно будет Добавляем запрос в //**func_odbc.conf**// \\ [GET_DATA_FB] dsn=aster read=SELECT phone,name,agent FROM имя_базы.таблица WHERE phone="${CALLERID(num)}" Далее правим входящий звонок //**extensions.conf**// [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/5553) exten => _X.,n(dialagent),Dial(SIP/${AGENT},25,tTm(hold)) exten => _X.,n,HangUp() Для удобства заполнения номеров, накидал небольшую форму. Создаем файл //**connect.php**// Ошибка подключения к базе данных! " . mysql_error() . "

"); mysql_select_db("asteriskcdrdb")//параметр в скобках ("имя базы, с которой соединяемся") or die("

Ошибка выбора базы данных! ". mysql_error() . "

"); ?>
Создаем файл //**form.php**// Ну и завершающий файл //**fb.html**// Untitled Document