Инструкция

Инструкция для FreePBX

Как установить и настроить модуль интеграции офисной АТС Asterisk и портала Битрикс 24

Модуль интеграции офисной АТС Asterisk и портала Битрикс24 состоит из 3-х частей:

  • Серверный модуль (скрипты, которые обеспечивают работу интеграции на сервере)
  • Приложение bx24asterisk на портале Битрикс24
  • Расширение для браузера Google Chrome

Установка

Шаг 1. Устанавливаем модуль на сервере Asterisk.

1.1 Загрузка и распаковка скриптов


В папке вашего сайта на сервере где развернут Астериск (обычно это папка /var/www/html) создаем каталог bx24asterisk

$ mkdir bx24asterisk $ cd bx24asterisk

В папку bx24asterisk скачиваем архив http://bx24asterisk.itgro.ru/bx24asterisk.tar.gz и распаковываем его.

$ wget http://bx24asterisk.itgro.ru/bx24asterisk.tar.gz
$ tar xvf ./bx24asterisk.tar.gz

Проверяем права: все файлы и папка bx24asterisk должны принадлежать пользователю, под которым запущен веб-сервер. Обычно, это asterisk:asterisk (но нужно проверить для конкретного случая). Права на файлы 644, на папку 755.

$ chown -R asterisk:asterisk /var/www/html/bx24asterisk


1.2 Запускаем скрипт для автоматической настройки


Откройте в браузере страницу: http://<ваш сервер>/bx24asterisk/bx24asterisk_installer_freepbx.php

Нажмите кнопку "Запустить автоматическую настройку".

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

Скрипт выполняет следующие настройки:

После выполнения скрипта можно перейти в админ-панель для настройки модуля, которая находится по адресу: http://<ваш сервер>/bx24asterisk/bx24asterisk_admin/configure.php

1.2 Настройка сервера вручную
Включаем AMI и поддержку AJAM

Редактируем файл /etc/asterisk/manager.conf:

[general]
enabled = yes
webenabled = yes
httptimeout=60
port = 5038
bindaddr = 0.0.0.0

Чтобы в консоль Asterisk не выводилась информация о каждом подключении модуля, добавьте параметр в секцию general:

displayconnects=no

Для применения настроек выполняем команду:

$ service asterisk reload

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

Через веб-интерфейс FreePBX заходим в раздел Общие настройки (Settings) -> Управление пользователями Астериск (Asterisk Manager Users)
Нажимаем кнопку "Добавить менеджера". На первой вкладке (General) заполняем данные:


Логин и пароль, выбранные здесь, будут использоваться в приложениях для Chrome.
На вкладке Permissions включаем необходимые разрешения:
Чтение (Read): reporting, cdr, originate
Запись (Write): reporting, originate
Не забывайте сохранять изменения и применять конфигурацию

Публикуем AJAM интерфейс на порту 8088 в режиме HTTP:

Через веб-интерфейс FreePBX заходим в раздел Общие настройки (Settings) -> Дополнительные настройки (Advanced Settings)
В разделе Asterisk Builtin mini-HTTP server выставляем значения:

Не забудьте сохранить все настройки и применить конфигурацию.

Чтобы применить настройки, перезагружаем Asterisk

Для применения настроек выполняем команду:


$ service asterisk reload

Все файлы с расширением .example переименовываем в .php

$ mv ./bx24asterisk_config.example ./bx24asterisk_config.php
$ mv ./bx24asterisk_parser.example ./bx24asterisk_parser.php

В итоге, в директории должны оказаться:

/bx24asterisk_admin
bx24asterisk.php
bx24asterisk_config.php
bx24asterisk_core.php
bx24asterisk_forward.php bx24asterisk_parser.php
bx24asterisk_readme.md
index.html

Указываем актуальную версию Asterisk

Настраиваем актуальную версию Asterisk в файле bx24asterisk_parser.php, в классе парсера: 11 для версии 11 и ниже, 13 для 12 и 13 версии Asterisk.

В итоге, в директории должны оказаться:

class LocalAsteriskParser extends AsteriskParser_13

Вносим настройки в административном интерфейсе

Административный интерфейс находится по адресу: http://<ваш сервер>/bx24asterisk/bx24asterisk_admin/configure.php


Заполняем реквизиты подключения к Asterisk из http.conf (практически во всех случаях они будут совпадать с настройками по-умолчанию). И заполняем реквизиты MySQL сервера с данными CDR. Без верного указания этих параметров система будет неработоспособна.


В том случае, если установлен Elastix, или FreePBX, данные подключения к СУБД хранятся в файле /etc/amportal.conf

$ cat /etc/amportal.conf | grep AMPDB



Раздел "Прочие настройки"


Время кеширования списка активных звонков в секундах - чтобы снизить нагрузку на Asterisk, мы кешируем обращения к нему. Не рекомендуем изменять значение этого параметра.
Полный путь до папки с записями разговоров - чаще всего, это /var/spool/asterisk/monitor. Если не указан путь - не будут проигрываться записи в делах.
Временная зона сервера - указывается для корректной передачи времени и даты создаваемых дел. Список доступных временных зон можно найти здесь: http://php.net/manual/en/timezones.php. Если временная зона выбрана неверно - при создании дел будет проставляться некорректное время звонка.

1.3 Защита паролем административной части

Если Вам необходимо защитить паролем административную часть - надо переименовать файлы (в папке bx24asterisk_admin) .htaccess.example и .htpasswd.example в .htaccess и .htpasswd соответственно. Если пароль не нужен - просто пропустите этот шаг.
Переходим в папку /bx24asterisk_admin и из нее выполняем команду:

$ mv .htaccess.example .htaccess
$ mv .htpasswd.example .htpasswd

Затем нужно создать пароль для доступа в административную часть. Из директории /bx24asterisk_admin надо выполнить команду:

$ htpasswd .htpasswd username

Вместо "username" подставьте желаемое имя пользователя, и вам будет предложено создать для этого пользователя пароль.

Если Вы устанавливаете серверные скрипты в папку отличную от /bx24asterisk_admin - в файле .htaccess поправьте соответствующим образом путь в параметре AuthUserFile

Шаг 2. Устанавливаем и настраиваем приложение bx24asterisk на портал Битрикс24.

1. Под администратором портала устанавливаем приложение:
Для облачного портала (Битрикс24): Модуль для облака (с ежемесячной оплатой 990 р. в мес)

Для коробочной версии портала:
      1. Вариант: Модуль для коробочного Битрикс (стоимость 20 000 рублей)
      2. Вариант: Модуль для облака (с ежемесячной оплатой 990 р. в мес)
Оба модуля идентичны по функциональности


Настраиваем права доступа: Все приложения - Покупки - Интеграция с Asterisk - Установить права доступа, там выбираем "Все авторизованные пользователи".

Для коробочной версии приложения права доступа настраивать не надо.


2. В профиле всех пользователей указываем внутренний номер телефона: Имя сверху справа -> Изменить личные данные


3. Разрешаем вызов click2call для совершения звонка из Битрикс: перейдите в CRM - Настройки - Другое - Прочие настройки - Форматирование, там выберите для Формат вывода ссылок "callto": callto:74952128506


4. Необходимо привести все телефонные номера в CRM в единый формат:

В CRM Битрикс24 в контактах, компаниях, лидах номера телефонов должны быть указаны в правильном формате. Пример: 8xxxxxxxxxx. Для правильного определения номеров приложению требуется, чтобы все заведенные номера телефонов соответствовали единому формату: содержали только цифры. Без пробелов, запятых, скобок, черточек и других знаков.

Шаг 3. Устанавливаем расширение для интернет-браузера Google Chrome

1. Устанавливаем приложение для Google Chrome на компьютерах пользователей: https://chrome.google.com/webstore/detail/asterisk-bx24/laogaidlljofjlconckjgbfebdbknlbb


2. Указываем настройки: Адрес портала - https://<ваш портал>.bitrix24.ru
Asterisk адрес - http://<ваш сервер>/bx24asterisk
Asterisk логин\пароль - Указываем данные пользователя, создание которого описано в Настриваем пользователя для получения доступа к Asterisk Адрес портала и адрес сервера должны быть указаны без завершающих слешей.

В результате, у вас должны появиться зеленые галочки на соединении с Asterisk и порталом Битрикс24:

Настройка бизнес-логики.

Настройка модуля осуществляется на странице: http://<ваш_сервер>/bx24asterisk/bx24asterisk_admin/configure.php

Описание разделов страницы настроек:

“Обработка звонков”, указание источников лидов.

  • Укажите возможные префиксы телефонных номеров. При попытке найти контакт/лид в базе CRM Битрикс24 мы пытаемся сделать это для разных вариаций. Например, если определился номер 83431234567, то при текущем наборе префиксов мы попытаемся найти в CRM контакты/лиды 3431234567, 1234567, +73431234567 и другие (к номеру будет добавлен префикс, если его нет и вырезан - если он есть). Постарайтесь сократить количество префиксов до минимума и указывать первыми самые используемые префиксы (например: 7, +7 и 8), т.к. каждый префикс - это запрос на поиск сущности в CRM.

  • Сопоставление внешних номеров с источниками лидов - этот парметр необходим для автоматического заполнения поля "Источник" при создании нового лида в CRM. Например, если у Вас несколько внеших номеров и Вы хотите знать по какому номеру до Вас дозвонился клиент (например один номер опубликован в газете, а другой на радио).
    Добавить новые источники лидов можно в настройках CRM Битрикс (CRM - Настройки - Справочники - Источники), для этого у Вас должны быть административные права на портале Битрикс24.
    В левой части надо указать внешний номер (CID транка), а в правой - ID источника. ID источника можно узнать щелкнув правой кнопкой мыши в форме добавления нового лида на выпадающем списке, и выбрав "Посмотреть код".

  • Используемые вами контексты можно посмотреть в базе CDR. Для этого откройте в новой вкладке страницу SQL-клиент (http://<ваш сервер>/bx24asterisk/bx24asterisk_admin/sql.php).

    В поле ввода впишите следующий запрос и нажмите кнопку "Выполнить":

    SELECT src, dst, dcontext, channel, did FROM cdr GROUP BY dcontext

    После этого пропишите те контексты (колонка dcontext), которые используются для входящих и исходящих звонков в полях Контексты входящих звонков и Контексты исходящих звонков. Если не будут указаны все контексты, использующиеся при звонках - возможны проблемы с созданием дел и лидов по результатам звонка.


“Портал” - настройка обработки пропущенных звонков, автоматическое создание дел за других пользователей, автоматическое создание лидов для неизвестных номеров.


  • Укажите тип Вашего портала: облако - для облачной версии портала (Bitrix 24), коробка - для коробочной версии. Если тип портала выбран неверно - приложение в Google Chrome не сможет соединиться с порталом и не будет работать.

  • Внутренние номера администраторов → здесь Вы можете указать телефонные номера пользователей, которые обладают административными правами в CRM. Эти пользователи могут автоматически создавать дела за других пользователей у которых не установлено или не запущено приложение в Google Chrome. Если Вам не нужны такие пользователи - оставьте поля пустыми. Если не заполнить это поле - не будут создаваться дела по пропущенным звонкам.

  • ID пользователя портала, назначаемого ответственным за создаваемые лиды → это поле необходимо заполнить для обработки пропущенных звонков. Чтобы узнать ID пользователя - перейдите на портале Битрикс24 в его профиль, в адресной строке браузера будет ссылка вида: https://bx24asterisk.bitrix24.ru/company/personal/user/16/, номер в этой ссылке (в данном примере - 16) и будет ID пользователя. Важно: для регистрации пропущенных звонков необходимо чтобы была заполнена настройка "Внутренние номера администраторов" (см. Выше).

  • Автоматически создавать лиды для неизвестных абонентов → эта настройка позволяет автоматически создавать лида, если его номер телефона не найден в CRM. Если лиды/контакты будут создаваться только вручную - снимите "галочку" у этой настройки. Внимание! Если не будет создан лид или контакт с номером звонящего - дело не будет зафиксировано в CRM.

  • Обрабатывать пропущенные звонки → данная настройка позволяет обрабатывать звонки по которым разговор не состоялся. Для ее корректной работы должны быть установлены настройки "Внутренние номера администраторов", "ID ответственного за создаваемые лиды" и "Автоматически создавать лиды для неизвестных абонентов"

“Портал” - Автоматический перевод звонка на ответственного.

Указываем адрес портала в разделе “Портал” в поле "Адрес". Если при обращении к порталу используется нестандартный порт (отличный от 80) - укажите его в поле "Порт".


Для корректной работы перевода звонков на портале должен быть пользователь, которому доступен просмотр всех сущностей CRM (контакты, компании, лиды). Это может быть как уже существующий пользователь, так и специально созданный для этих целей. Логин и пароль этого пользователя надо указать в соответствующих полях настройки. Важно: если Вы указываете данные существующего пользователя - имейте в виду, что пользователь может поменять пароль.




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


Раздел "Click to call"


  • Шаблон канала - если у Вас используются PJSIP-каналы - измените значение этого поля PJSIP/#FROM#

  • Шаблон Caller ID - это текст, который будет отображаться в окне во время звонка через функцию "Click to call"

  • Обычно менять эти настройки нет необходимости, поэтому можете оставить их по-умолчанию.

“Создание дел в CRM”


  • Количество записей, возвращаемое в запросе истории → наш модуль пытается создавать дела в CRM 1 раз в минуту, а также сразу после завершения разговора. Данный параметр полезно увеличить в том случае, если ваши сотрудники много общаются по телефону при выключеном браузере, либо если вы хотите загрузить историю звонков, совершенных до установки нашего решения.

  • Дата, начиная с которой для звонков создаются дела в CRM → если сервер Asterisk работает достаточно давно и в его базе данных было зафиксировано большое количество звонков до установки нашего решения - есть вероятность создания большого количества новых лидов, если их номеров нет в CRM. Вы можете установить эту настройку для получения истории звонков начиная с определенной даты.

  • Дата, начиная с которой для пропущенных звонков создаются дела в CRM → если установлена настройка "Обрабатывать пропущенные звонки" и Ваша АТС работает достаточно давно - в базе данных может накопиться большое количество неотвеченных звонков, которые будут сконвертированы в лиды в CRM. Чтобы этого избежать - установите дату начиная с которой будут обрабатываться пропущенные звонки.

“Прочие настройки” - получение данных о компаниях из ДубльГИС.


  • Получать данные из 2ГИС - если во время звонка не найден контакт или компания в CRM Битрикс24 - приложение отправит запрос в базу 2ГИС, для поиска информации о компании. При создании лида данные полученные из 2ГИС (если компания найдена) автоматически подставятся в соответствующие поля.
    Разрешить браузерным клиентам автоматически скачивать архив с последней версией приложения - для автоматического получения обновлений серверных скриптов оставьте эту настройку включенной.

  • Записывать в лог сообщения уровня info - оставляйте включенной эту настройку только для отладки приложения, если оно работает некорректно. Лог-файл разрастается довольно быстро.

  • Записывать в лог сообщения уровня debug - обычно для отладки работы достаточно логов уровня info. Не оставляйте включенной эту настройку. Лог-файл разрастается довольно быстро.

Проверка системы

После завершения настройки проведем проверку функциональности:

Проверяем появление окна:
  • Окно появилось при входящем вызове
  • Окно появилось при входящем разговоре (желательно, разговор с номером, присутствующим в вашей базе контактов, или лидов)
  • Окно появилось при исходящем вызове
  • Окно появилось при исходящем разговоре (желательно, разговор с номером, присутствующим в вашей базе контактов, или лидов)

Проверяем создание дел: CRM:
  • Появилось дело для завершенного входящего разговора в п 1.2
  • Появилось дело для завершенного исходящего разговора в п 1.4
  • Если включена запись звонков на АТС - в разделе дела "Описание" должен появиться проигрыватель в котором прослушивается запись звонка. А также должна быть работающая ссылка на скачивание файла записи.

Проверяем click2call
  • Нажмите на номер телефона контакта, должен пройти входящий вызов, подымите трубку, должен пойти исходящий вызов контакту

Проверяем создание лидов для совершенных разговоров

(только если в настройках (http://<ваш_сервер>/bx24asterisk/bx24asterisk_admin/configure.php) отмечен пункт "Автоматически создавать лиды для неизвестных абонентов")

  • Совершите разговор с неизвестным номером телефона, проверьте наличие нового лида
Проверяем пропущенные вызовы
  • Совершите входящий звонок и не дожидаясь ответа абонента повесьте трубку
  • Если функционал пропущенных вызовов настроен правильно (включено автосоздание лидов, назначен администратор и назначен ответственный за пропущенные вызовы) - через некоторое время должно появиться дело с названием "Пропущенный звонок". Если Вы звонили с номера, которого нет в CRM - должен создаться новый лид. Если номер есть в CRM - дело привяжется к существующему лиду/клнтакту/компании.
    Ответственный за дело - пользователь CRM, указанный в настройках.
Проверяем функционал перевода звонка на ответственного (если он настроен)
  • Совершите входящий звонок с номера, который есть в CRM и для которого назначен ответственный. У ответственного в профиле должен быть указан внутренний номер.
  • Звонок должен перейти на ответственного за сущность (лид/контакт/компанию).

Диагностика

Проверка системы

Откройте страницу "Проверка системы" в интерфейсе администрирования (http://<ваш сервер>/bx24asterisk/bx24asterisk_admin/check.php)



Проверьте, что все параметры в колонке "Текущее значение" были отмечены зеленым цветом и нет сообщений об ошибках.

Активные звонки

Откройте страницу "Активные звонки" (http://<ваш сервер>/bx24asterisk/bx24asterisk_admin/active_calls.php) и введите логин и пароль (такие же как в приложении для Google Chrome)



Во время разговора массив "calls" должен быть заполнен. В его элементах "from" и "to" должны правильно отображаться номер звонящего и номер абонента, которому звонят. Если это не так - проверьте правильно ли указана версия Asterisk в парсере (п. 4.5) и верно ли определены контексты входящих/исходящих звонков (п. 4.6.2).


Если во время тестирования возникли вопросы или что-то не работает – напишите нам в skype: itgro.bx24 или в онлайн-чат и мы поможем.

Первые 14 дней бесплатно

Вы ничем не рискуете, попробуйте
все возможности прямо сейчас!