FreePBX CallerID Lookup или подстановка имени абонента из внешнего источника
Настройка подстановки имени абонента.
FreePBX CallerID Lookup или подстановка имени абонента из внешнего источника
- Какую задачу хочется решить
- Инструмент FreePBX CallerID Lookup
- Источник поиска — Internal (Внутренний)
- Источник поиска — MySQL
- Источник поиска — SugarCRM
- Источник поиска — HTTP
- Источник поиска — ENUM
1. Какую задачу хочется решить
Давайте рассмотрим обычный сотовый телефон.
В нем есть телефонная книга, куда вы заносите своих родственников, друзей, клиентов и т. д. Когда вам звонит один из них, то на экране вы уже видите его имя и нет надобности вспоминать по номеру, кто это. Вещь тривиальная и давно всеми используемая.
А что если мы имеем IP-АТС на базе Астериск, которая также понимает и передает номера? (в отличи от аналоговых АТС и линий, в общем случае). Допустим нам требуется, чтобы когда нам звонит важный клиент, то его секретарь или оператор приветствовал по имени отчеству. Т. е. чтобы на экране телефона было видно в дополнении к номеру и имя звонящего. Тут и приходит на помощь модуль FreePBX CallerID Lookup.
2. Инструмент FreePBX CallerID Lookup
Данный модуль идет в стандартной поставке, устанавливать дополнительно его не надо. Попасть в версии FreePBX 2.10 в него можно так: Admin → CallerID Lookup Sources (Администратор — Источники поиска номера ИД)
Модуль уже содержит описание. Выглядит он так:
Чтобы его использовать, необходимо выполнить следующие условия:
- добавить рабочий источник
- в пункте меню Inbound routes (Входящая маршрутизация) выбрать данный источник
И все. Теперь при прихождении звонка через данное правило входящей маршрутизации, будет делаться запрос номера в указанный источник и если он вернет нам
Примечание: нужно помнить формат CallerID абонента. Напоминает почтовый ящик: «имя абонента» <номер>, т. е. есть деление на CallerID name и CallerID number, имя абонента — текстовое значение, например: Ivan Petrov, Иван Петров, номер — числа 0-9 и знак +, например: 74959898533, +78003337533 Все вместе CallerID будет таким: «Ivan Petrov» <74959898533>
Теперь посмоторим, откуда и как можно получать нам имена.
3. Источник поиска — Internal (Внутренний)
Из названия ясно, что источник
Пока она пустая, но мы легко добавим нужные нам номера вручную или загрузим. csv файл, предварительно его подготовив (можно выгрузить и посмотреть на структуру). Итак, добавляем имя, номер, код быстрого набора (необязательный параметр).
«Применить изменить» и видим, что появилась запись:
Теперь создаем источник в нашем модуле. Для этого достаточно дать ему любое имя. Он сам привяжется к телефонной книге астериск. Справа появится надпись созданного нами источника. Теперь идем во входящую маршрутизацию и указываем наш источник:
Сохраняем и применяем изменения.
Теперь можно пробовать. Если все правильно сделали, то на IP телефоне или софтфоне увидите имя и номер из телефонной книги.
Примечание: номер от разных операторов может приходить по-разному: 9251234567, 79251234567, +79251234567. В телефонной книге нужно точно сооблюдать формат.
4. Источник поиска — MySQL
Астериск может работать с MySQL нативно без дополнительных обработчиков, т. е. имеет встроенного mysql клиента. Все что нужно, это:
- хост — где располагается MySQL сервер
- база данных — к ней будет происходить обращение
- запрос — SQL запрос к нашей БД, который возвращает запись с одной строкой и одним полем, т. е. единственное значение.
- имя пользователя — пользователь в MySQL, которому выдана привелегия на select для интересующей нас БД. Обратите внимание, что в пользователе также должен быть указан хост, с которого будет возможно подключение.
- пароль — пароль нашего пользователя в MySQL
Например, если наша БД называется mycrm, расположена в локальной сети на IP 192.168.0.10, пользователь asterisk, пароль lookN@me1
SQL запрос может выглядеть так:
SELECT name FROM clients WHERE number LIKE ‘%9251234567’
Данные собрали, проверили (с помощью mysql клиента) что наш запрос возвращает «Ivan Petrov», например. Теперь создаем источник:
SQL запрос:
SELECT name FROM clients WHERE number LIKE ‘%[NUMBER]’
Видим, как правильно писать номер. Данная информация есть в подсказке. При звонке вместо [NUMBER] будет подставляться реальное значение, а % дает возможность не учитывать возможный префикс.
Далее не забываем установить наш новый источник на входящей маршрутизации. Сохраняем и применяем. Пробуем звонить. И если все сделано правильно, то на экране IP телефона увидим имя абонента из БД.
Примечание. Если хотите использовать русские буквы в имени, то первое, в чем нужно убедится, это в соответствии кодировок. Лучше если этот будет UTF8. Возможно придется подкрутить charset в запросе. А второе — поддерживает ли ваш IP телефон UTF8 шрифт.
5. Источник поиска — SugarCRM
Данным пунктом можно воспользоваться в том случае, если CRM система SugarCRM установлена непосредственно в СУБД MySQL на том же сервере, что и наш астериск. БД должна называться sugarcrm. Если эти условия выполнены, то наш модуль сам возьмет нужные данные для SQL запроса. Если по каким-то причинам надпись «Пока не обеспечивается» не исчезает, то какие-то условия не были выполнены. Хотя при этом все может быть работать нормально. В таком случае, просто используйте источник MySQL с нужными параметрами.
6. Источник поиска — HTTP
Тоже весьма интересная вещь. Позволяет использовать PHP скрипты или API систем. Все что нужно, иметь рабочую ссылку с параметрами. Например, если мы вставляем в адресную строку URL вида:
http://mysupercrm.ru/action/name.php?num=9251234567
А нам возвращается имя того, кому принадлежит номер 9251234567, знакомый нам «Ivan Petrov». То мы можем использовать данный HTTP GET запрос, в качестве источника. Создаем источник HTTP так:
Опять же, не забываем во входящей маршрутизации указать его в качестве источника. Пробуем делать звонки.
Если HTTP протокол требует авторизации, то указывайте имя пользователя и пароль. Тут надо различать, о какой авторизации идет речь.
7. Источник поиска — ENUM
По аналогии с обратным DNS, который использует зону in-addr.arpa, телефонным номерам также может быть сопоставлены некоторые значения PTR, TXT. Так вот, если имеется DNS сервер, который обладает такими записями, то можно использовать ENUM источник, для сопаставления номер-имя. Например, для номера 79251234567 должна существовать DNS запись 7.6.5.4.3.2.1.5.2.9.7.e164.arpa типа TXT равная «Имя абонента». Если все условия выполненты, мы увидим «Имя абонента» на экране нашего IP-телефона. Таким образом в asterisk callerID выполняет свои функции.

Остались вопросы?
Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.