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

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


dialplan_ab

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dialplan_ab [2016/07/18 11:11] kovdialplan_ab [2016/07/18 11:14] (текущий) – удалено kov
Строка 1: Строка 1:
-=== Адресная книга в Asterisk. Подстановка Caller Name при входящем звонке === 
  
-Друзья согласитесь что при входящем вызове приятнее видеть не просто номер телефона, а при этом как то идентифицировать человека. Для этого я решил придумать небольшой сценарий для адресной книги. Так же сразу добавлю распределение вызова на того или иного сотрудника. 
- 
-Суть будет такой, мы создаем базу в которой будут следующие поля: 
- 
-ID - Уникальный порядковый номер \\ 
-PHONE - Номер телефона клиента\\ 
-NAME - Имя клиента\\ 
-AGENT - Внутренний номер сотрудника\\ 
- 
-После создания таблицы с этими полями можно будет  
- 
-Добавляем запрос в //**func_odbc.conf**// \\ 
-<code> 
-[GET_DATA_FB] 
-dsn=aster 
-read=SELECT phone,name,agent FROM имя_базы.таблица WHERE phone="${CALLERID(num)}" 
-</code> 
- 
-Далее правим входящий звонок //**extensions.conf**// 
- 
-<code> 
-[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() 
-</code> 
- 
-Для удобства заполнения номеров, накидал небольшую форму. 
- 
- 
-Создаем файл //**connect.php**// 
- 
-<code> 
-<?php 
-mysql_connect("localhost", "Логин", "Пароль") //параметры в скобках ("хост", "имя пользователя", "пароль") 
-or die("<p>Ошибка подключения к базе данных! " . mysql_error() . "</p>"); 
- 
-mysql_select_db("asteriskcdrdb")//параметр в скобках ("имя базы, с которой соединяемся") 
- or die("<p>Ошибка выбора базы данных! ". mysql_error() . "</p>"); 
-?> 
-</code> 
- 
-Создаем файл //**form.php**// 
- 
-<code> 
-<?php  
-require 'connect.php'; 
- 
-$phone = $_REQUEST['phone']; 
-$name = $_REQUEST['name']; 
-$agent = $_REQUEST['agent']; 
- 
-mysql_query("SET NAMES utf8"); 
- 
-$insert_sql = "INSERT INTO phone_book (phone, name, agent)" . "VALUES('{$phone}', '{$name}', '{$agent}');"; 
-mysql_query($insert_sql); 
- 
-header("Location: ".$_SERVER['HTTP_REFERER']); 
-if ($result = 'true'){ 
-    echo "Информация занесена в базу данных"; 
-}else{ 
-    echo "Информация не занесена в базу данных"; 
-} 
- 
-?> 
-</code> 
- 
-Ну и завершающий файл //**fb.html**// 
- 
-<code> 
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
-<html> 
-<head> 
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
-<link rel="stylesheet" href="style.css"  type="text/css"> 
-<title>Untitled Document</title> 
-</head> 
- 
-<body> 
-<form action="/form.php" method="post" name="forma"> 
-<fieldset> 
-<label for="phone">Номер телефона клиента:</label><br/> 
-<input type="text" name="phone" size="30"><br/> 
-<label for="name">Имя клиента:</label><br/> 
-<input type="text" name="name" size="30"><br/> 
-<label for="agent">Вн. номер менеджера:</label><br/> 
-<input type="text" name="agent" size="30"><br/> 
-</fieldset> 
-<br/> 
-<fieldset> 
-<input id="submit" type="submit" value="Отправить данные"><br/> 
-</fieldset> 
-</form> 
-</body> 
-</html> 
-</code> 
dialplan_ab.1468829502.txt.gz · Последнее изменение: 2016/07/18 11:11 — kov