Алина Леонова
13.06.2019
2725

Установка, обзор и настройка модуля CID Superfecta во FreePBX 13

Модуль CID Superfecta служит для сопоставления номера и имени звонящего абонента. Для этого он использует различные схемы и источники поиска. Рассмотрим подробно, как работает данный модуль. К примеру, на стороннем web-сервере создана телефонная книга. Поступает звонок на АТС с одного из номеров, заведённых в книгу. Нужно, чтобы по номеру система определила имя звонящего абонента. Для […]

Модуль CID Superfecta служит для сопоставления номера и имени звонящего абонента. Для этого он использует различные схемы и источники поиска. Рассмотрим подробно, как работает данный модуль.

К примеру, на стороннем web-сервере создана телефонная книга. Поступает звонок на АТС с одного из номеров, заведённых в книгу. Нужно, чтобы по номеру система определила имя звонящего абонента. Для этого обратимся к модулю CID Superfecta. Он позволяет настроить схемы поиска и указать, на каких источниках следует искать номер. При уже настроенных схемах будет отправлен GET-запрос на указанный источник. Ответом на этот запрос будет имя звонящего абонента.

Модуль CID Superfecta работает не только со сторонними сервисами. Также можно искать имя звонящего абонента в телефонной книге, расположенной на сервере телефонии.

Установка модуля

Для установки модуля нужно перейти во FreePBX на вкладку Module Admin (Admin -> Module Admin). Указываем репозиторий Extended и нажимаем кнопку Check Online. В списке «Admin» раскрываем модуль CID Superfecta. Далее нажимаем кнопку Download and Install, спускаемся в конец списка и нажимаем Process.

Выбор модуля

Откроется вкладка, в которой будет запрошено подтверждение на установку. Нажимаем Confirm. Откроется форма, в которой можно будет проследить за установкой модуля.

Подтверждение установка
Установка модуля

Настройка модуля

Для настройки модуля переходим на вкладку CID Superfecta (Admin -> CID Superfecta). На открывшейся вкладке можно увидеть информацию о модуле и уже созданным схемам поиска: их количество и имена. Также присутствует возможность поиска.

CID Superfecta. Общий вид.

Подробнее опишем представленную таблицу:

                — Order – порядок схемы;

                — Name – имя схемы;

                — Action – возможные действия над схемой.

В столбце Action нам даётся возможность сменить приоритет схемы, опустив её ниже или же, наоборот, повысив. Также можно включить/отключить, дублировать или удалить уже созданную схему.

Создание схемы

Для создания новой схемы поиска нажимаем кнопку Add Scheme. На открывшейся вкладке нужно заполнить следующие поля:

                — New Scheme Name – имя схемы;

                — DID Rules – номер, на который ожидаем вызов. Не указываем, если будем использовать данную схему для всех номеров, заведённых на АТС;

                — CID Rules – номер, с которого должен прийти вызов. Указываем номер явно, если данная схема используется только для одного номера. Для нескольких номеров воспользуемся шаблоном:

                1) X – любая цифра от 0 до 9;

                2) Z – любая цифра от 1 до 9;

                3) N – любая цифра от 2 до 9;

                4) [12-5] – цифры, указанные в скобках. В примере – от 1 до 5;

                5) . – от одного символа.

Не допускается совместное использование точки и символов префикса.

6) | или / – указанный перед данными символами префикс будет отрезан;

                7) + – указанный перед плюсом префикс будет добавлен.

                — Lookup Timeout – время ожидания для каждого источника. Указывается в секундах;

                — Superfecta Processor – режим поиска по источникам. На выбор доступно два режима:

                1) Single – поочерёдный поиск по источникам.

Если по первой схеме поиска не было получено никаких результатов, будут использованы следующие схемы. По успешной схеме будет выполнена пост-обработка запроса.  

2) Multi – ищет по всем источникам сразу.

                — Multifecta Timeout – указываем время опроса всех источников поиска. По достижению таймаута будет выбран ответ с первого источника, давшего результат. Если ни один из источников не дал результата – завершит работу.

Multifecta Timeout указывается только при выбранном режиме поиска Multi.  

CID Prefix URL – при хранении данных в отдельной базе или CRM-системе необходимо прописать путь к её скрипту, передав в переменной thenumber 10-значный номер телефона. В ответ должно прийти имя абонента.

Указание URL в данном пункте является обязательным, т.к. для получения данных по URL используется php-функция curl_exec.

Пример ссылки: http://www.test.ru/test.php?phone_number=[thenumber][thenumber]

В связи с тем, что в модуле CID Superfecta версии 13.0.4.1 наблюдается ошибка в исходном коде, данная функция модуля без доработок не является работоспособной.

SPAM Text – спам-текст, который будет добавлен к имени звонящего абонента;

                — SPAM Text Substituted – при включённой опции заменяет имя звонящего абонента на спам-текст;

                — Enable SPAM Interception – если включен, позволяет перенаправить спам-вызов на очередь, другой номер, голосовое оповещение или же сразу сбросить.

Функции в данном модуле, касающиеся спама, в Российской Федерации работать не будут. Это связано с тем, что в РФ нет таких сайтов, где будут храниться спам-номера, а, следовательно, опрашивать модулю нечего. Также таких источников нет в списке, к которому обращается модуль CID Superfecta.

Одним из примеров американского источника поиска для данного модуля является сайт https://whocalled.us/. Здесь собраны в базу спам-номера по разным штатам Америки. Также около номеров есть информация о спаме.

Who Called Us
Новая схема

Настройка входящего маршрута

Чтобы воспользоваться данным модулем, его нужно активировать на нужном входящем маршруте. Подробнее о входящей маршрутизации вызовов в Asterisk можно прочитать в статье.

Для этого перейдём на вкладку Inbound Routes (Connectivity -> inbound Routes). Выберем нужный маршрут, откроем его в редактировании и перейдём на вкладку Other. Здесь необходимо указать:

                — Enable Superfecta Lookup – да, если используем CID Superfecta на этом маршруте. По умолчанию выставлен в нет;

                — Superfecta Scheme – можно выбрать одну схему поиска или все.

Входящий маршрут

Пример работы модуля

Для того, чтобы показать, как работает данный модуль, воспользуемся модулем Asterisk Phonebook.

Перейдём на вкладку Asterisk Phonebook (Admin -> Asterisk Phonebook) и создадим для номера, с которого должен прийти вызов, контакт.

Новый контакт

На скриншоте в поле Number прописан шаблон 7XXXXXXXXXX. Для работы телефонной книги необходимо на месте шаблона прописать необходимый телефонный номер.

Далее перейдём на вкладку модуля CID Superfecta. Здесь необходимо разрешить для созданной схемы ссылку на модуль Asterisk Phonebook. Для этого нажмём правой кнопкой мыши по имени созданной схемы поиска и в списке выставим Yes напротив модуля Asterisk Phonebook.

Подключение модуля Asterisk Phonebook

Сохранение происходит автоматически.

Попробуем совершить тестовый звонок на наш транк. Для теста пустим звонок напрямую на внутренний номер. В результате совершения вызова на софтфоне высветится имя звонящего абонента.

Результат работы модуля

Посмотрим, как отобразился вызов в CDR. Для этого перейдём на вкладку CDR (Reports -> CDR Reports). Подробнее о работе с данным модулем можно прочитать в статье.

Нажмём Search и посмотрим на наш вызов.

Звонок в CDR

Как видно из скриншота, для нашего вызова в колонку Caller ID подставилось имя звонящего абонента.

Более подробно данный вызов можно посмотреть в лог-файле. Для этого перейдём в консоль сервера телефонии и выполним команду:

  fgrep  <№ канала> /var/log/asterisk/full | less

Подробнее о работе с лог-файлами в Asterisk и FreePBX можно прочитать в статье.

Лог звонка

Подробнее рассмотрим информацию на скриншоте.

При поступлении вызова на наш внешний номер вызывается скрипт superfecta.agi. Также указан путь к этому скрипту. Далее вызывается схема поиска. На скриншоте это «Asterisk_Phonebook_T». Далее по номеру звонящего происходит поиск его имени. В лог-файле можно увидеть, что модуль нашёл имя звонящего абонента. Затем скрипт уведомляет нас о том, что его выполнение прошло успешно, а имя звонящего подставляется в переменную CallerID(num).

Также видно, на какой внутренний номер пришёл вызов. Впоследствии имя и номер звонящего подставляются в переменные CDR(cnam) и CDR(cnum)

Редактирование и дебаг модуля

Рассмотрим, как можно произвести редактирование и дебаг модуля CID Superfecta.

Для редактирования перейдём на вкладку CID Superfecta и нажмём на имя схемы. Затем нажмём на кнопку с изображением гаечного ключа в самом верху вкладки. Появится форма редактирования уже созданной схемы. После внесения необходимых правок нажимаем Save.

Редактирование схемы

Для того, чтобы оттестировать схему, нужно нажать на кнопку с изображением треугольника в самом верху вкладки. Появится форма тестирования схемы. Здесь необходимо заполнить следующие поля:

                — Phone Number – номер звонящего абонента;

                — Debug Level – выбираем уровень дебага. Для выбора доступны следующие варианты: NONE, INFO, WARN и ALL

После того, как указали номер и уровень дебага, нажмём на одну из кнопок внизу формы. Нам предложено запустить текущую схему поиска или все схемы. Также тестирование можно отменить.

Тестирование схемы

Рассмотрим подробнее результат тестирования схемы.

Т.к. порядок уровней дебага начинается с нуля, при выбранном уровне All порядок уровня будет записан как 3. В следующей строке подставляется номер звонящего абонента. Далее видим имя схемы, для которой происходит тестирование и режим поиска. Затем происходит опрос данной схемы от имени модуля CID Superfecta.

Происходит подключение схемы поиска «Asterisk_Phonebook_T». В правило для номера звонящего подставляется ранее указанный номер. Берётся переменная CNUM, в которой также находится номер звонящего абонента. Далее подключается модуль Asterisk Phonebook и в нём выполняется поиск имени по номеру звонящего. Видим, что он нашёл имя звонящего в телефонной книге Asterisk. Результат поиска по телефонной книге был выполнен за 0,0010 секунд.

Результат поиска конвертируется в кодировку UTF-8. Выполняется пост-обработка полученного CID. После завершения пост-обработки найденное имя будет установлено в качестве имени звонящего абонента. Тестирование вернёт в качестве результата имя звонящего абонента.

Как видно из скриншота, общий результат поиска по данной схеме был достигнут менее, чем за одну секунду.

Редактирование источника поиска

Модуль CID Superfecta даёт возможность редактирования источников поиска под сервер телефонии, на котором установлен. Рассмотрим данную возможность более подробно на примере телефонной книги FOP 2 панели.

Для редактирования источника поиска перейдём на вкладку CID Superfecta и нажмём на имя схемы. Откроется список источников поиска, поддерживаемый данным модулем. Найдём Fop2 Phonebook и нажмём на кнопку с изображением гаечного ключа напротив него. Откроется форма редактирования источника поиска. Рассмотрим поля для заполнения:

                — Use Native FreePBX Connection – да, если используем данное соединение;

                — DB Host – адрес сервера, на котором расположена база, по которой будет происходить поиск. Прописываем localhost, если используется текущий сервер телефонии;

                — DB Name – имя базы;

                — DB User – логин от учётной записи, используемой для подключения к базе;

                — DB Password – пароль от учётной записи, используемой для подключения к базе;

                — CNAM Type – приоритет результата, который вернёт поиск по данному источнику;

                — Filter Length – число цифр для проверки соответствия. 0, если хотим отключить данный параметр.

Редактирование источника поиска

После редактирования источника поиска нажмём Save. Не забываем, что для использования данного источника его нужно активировать в списке источников поиска модуля CID Superfecta.

В данной статье рассмотрели модуль CID Superfecta во FreePBX 13, а также произвели его настройку. На этом обзор данного модуля завершён.

Также могут быть интересны следующий статьи:

  1. FreePBX CallerID Lookup или подстановка имени абонента из внешнего источника;
  2. Расширенное логгирование звонков: CEL – Channel Event Logging
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Остались вопросы?

Я - Виталий Шелест, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.