Как стать автором
Обновить
0
Рейтинг
3CX Ltd.
Windows VoIP АТС с видеоконференциями Webmeeting

Как настроить в IP АТС синхронизацию каталогов – поиск по ODBC

Блог компании 3CX Ltd. Asterisk *
Tutorial
Расширение ODBC позволяет подключить 3CX Phone System к источнику данных, который поддерживают ODBC-драйвер. Таким образом, любая база данных, поддерживающая ERP или CRM, может импортировать контактные данные из общей базы данных при получении входящего вызова.




Создание ODBC источника данных (DSN)

Установите ODBC-драйвер для базы данных, на которой хранится информация о контакте. В нашем примере мы будем использовать MySQL http://dev.mysql.com/downloads/connector/odbc/

1. Запустите ODBC, введя «odbc» в меню Пуск Windows. Убедитесь, что используете x64-bit версию.



2. Переключитесь на вкладку «System DSN» и нажмите кнопку «Add…»



3. Создайте соединение до базы данных. Примечание: поле DATA Source Name очень важно для правильной работы. Используйте кнопку «Test» для проверки соединения с базой данных.

Образец

В качестве примера, мы создали таблицу с именем «client» в нашей базе данных «ClientDB»



Примечание: значения для столбца «FirstName» установили «0», для «LastName» значение «1», для «Pager» значение «13».



Чтобы настроить ODBC-параметры в 3CX Phone System нужно зайти в «Настройки» > «Дополнительно» > «Company Directory Sync» > «ODBC Search». Если в Вашей базе данных не совпадают колонки, то оставьте их пустыми в 3СX Phone System.



Если у Вас не настроен LDAP Directory Search, то необходимо установить флажок, чтобы запросы ODBC были выполнены.

Работа с Базой Данных

Теперь настроим строку запроса с помощью ODBC-драйвера. Нужно ввести DSN. В нашем примере это «ODBCdatabase».



В «Query String» может быть введен любой допустимой оператор SQL.
Для нашего примера базы данных «client» мы могли бы использовать:

Поиск только по колонке «mobile»:
SELECT *
FROM client
where mobile like '%%number%'


Поиск по колонкам «mobile» и «mobile2»:
SELECT *
FROM client
where mobile like '%%number%' or mobile2 like '%%number%'


Поиск по всем колонкам:
SELECT *
FROM client
where mobile like '%%number%' or mobile2 like '%%number%' or home like '%%number%' or home2 like '%%number%' or business like '%%number%' or business2 like '%%number%' or other like '%%number%' or businessfax like '%%number%' or homefax like '%%number%' or pager like '%%number%
'

Внутри базы данных могут быть копии контактов. Вы должны проанализировать данные в номерах телефонов и создать функцию, которая будет удалять все нечисловые значения поля, к которому делается запрос. Большинство CRM имеют эту функцию изначально. Для нашего примера ниже приведена функция под названием «ExtractInteger».
******
DROP FUNCTION `ExtractInteger`//
CREATE DEFINER=`root`@`localhost` FUNCTION `ExtractInteger`(String VARCHAR(2000)) RETURNS varchar(1000) CHARSET latin1
BEGIN
DECLARE Count INT;
DECLARE IntNumbers VARCHAR(1000);
SET Count = 0;
SET IntNumbers = '';
WHILE Count <= LENGTH(String) DO
IF (SUBSTRING(String,Count,1) >= '0' ) AND (SUBSTRING(String,Count,1) <= '9') THEN
ers = CONCAT (IntNumbers, SUBSTRING(String,Count,1));
END IF;
SET Count = Count + 1;
END WHILE;
RETURN IntNumbers;
END
******

Проверка



3CX предоставляет инструмент для теста, который может имитировать запрос к базе данных и покажет результат. Синтаксис конфигурации такой же, как и для 3CX Phone System. Скачать инструмент для теста вы можете здесь.
Теги: odbcатс
Хабы: Блог компании 3CX Ltd. Asterisk
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 1
Комментарии Комментарии 1

Похожие публикации

Лучшие публикации за сутки

Информация

Дата основания
Местоположение
Кипр
Сайт
3cx.ru
Численность
51–100 человек
Дата регистрации

Блог на Хабре