vTiger CRM и Asterisk: интеграция телефонии | Открытые ИТ решения

vTiger CRM и Asterisk: интеграция телефонии

(0 comments)

Содержание

CRM и телефония: зачем интегрировать?
vTiger и asterisk через коннектор
Механизм интеграции vTiger CRM и asterisk
Настройка vTiger перед интеграцией с asterisk
Настройка asterisk для интеграции с vTiger
Настройка коннектора телефонии CRM
Облачная телефония и vTiger CRM

CRM и телефония: зачем интегрировать?

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

Такие системы, как vTiger CRM, позволяют хранить всю контактную информацию о Ваших клиентах, контактах и входящих обращениях (Leads) в одной удобной базе данных. Каждый раз, когда Ваши менеджеры хотят позвонить клиенту, им нужно найти нужный номер телефона, набрать его, а после завершения разговора - зафиксировать некоторый значимый результат общения, чтобы впоследствии не забыть, скажем, направить новому клиенту коммерческое предложение, а также не потерять информацию о самом факте звонка и его точной дате и времени.

Без интеграции телефонии vTiger CRM и asterisk

Если телефония интегрирована в Вашу CRM-систему, фиксация точного времени звонка и сохранение аудиозаписи разговора происходят автоматически. По каждому клиенту всегда можно просмотреть полный перечень вызовов и прослушать аудиозаписи разговоров.

Записи разговоров Asterisk в CRM vTiger

Более того, менеджеру даже не нужно набирать номер для совершения исходящего вызова: нужно только щёлкнуть по соответствующему полю с номером телефона в карточке CRM vTiger, и система сама автоматически соединит сотрудника с нужным клиентом по телефону.

Click 2 call: звонок по клику из vTiger через Asterisk

При входящих вызовах интеграция CRM и телефонии также может быть очень полезной. Система vTIger может автоматически найти по номеру телефона звонящего (АОН) связанного с ним клиента и показать информацию о нём в удобном всплывающем окне. По клику на названии клиента будет выполнен переход в соответствующую карточку CRM с подробной информацией.

Всплывающее окно телефонии в vTiger CRM

Данная возможность vTIger позволяет менеджеру оперативно оценить потребности клиента и более эффективно предлагать нужные именно ему услуги и товары. Записи и журналы звонков телефонии будут также сохранены при входящем звонке.

vTiger и asterisk через коннектор

Для совершения и принятия вызовов vTiger интегрируется с различными сервисами телефонии. Сервис телефонии выполняет фактическую работу по обработке вызова, а CRM получает от него сообщения о статусах и отправляет некоторые управляющие команды.

Одним из самых популярных свободных серверов телефонии (в частности, SIP-server) является Asterisk PBX. Asterisk позволяет работать с различными каналами связи (SIP, H323, PRI и т.д.) и имеет широкие возможности интеграции с другими системами и приложениями. В частности, доступный в большинстве версий Asterisk интерфейс AMI (Asterisk Management Interface), позволяет получать информацию о статусах вызовов и управлять ими.

Asterisk: сервер телефонии для CRM

vTiger не может поддерживать взаимодействие по AMI самостоятельно. Для этого необходимо специальное промежуточное программное обеспечение: коннектор Asterisk-vTiger. Коннектор обрабатывает события Asterisk, декодирует их и отправляет запросы HTTP в CRM vTiger, а также принимает запросы от vTIger на исходящие вызовы и инициирует их на Asterisk.

Интеграция vTiger и Asterisk через коннектор

Существует несколько разных версий коннектора Asterisk-vTiger. В нашей компании “Открытые ИТ-решения” была разработана собственная расширяемая версия коннектора Unified Asterisk Connector, которая характеризуется повышенной стабильностью работы (по сравнению с базовой версией коннектора) и поддержкой ряда дополнительных функций (очереди вызовов Asterisk Queue, обработка событий перевода Asterisk Call Transfer). Коннектор написан на языке Python 3 с использованием механизмов асинхронной обработки событий.

Механизм интеграции vTiger CRM и asterisk

Механизм интеграции vTiger CRM и Asterisk

CRM-система vTiger для интеграции с сервисами телефонии использует только механизм HTTP REST API. В частности, при использовании функции click2call (см. картинку выше) для исходящего вызова vTiger выполняет вызов REST API соответствующего метода коннектора, а коннектор инициирует вызов через AMI.

Диаграмма последовательностей интеграции vTiger и Asterisk

Также vTIger имеет специальные обработчики (handlers) для приёма REST API запросов от коннектора. Запросы коннектора asterisk к vTiger оповещают CRM-систему о произошедших на сервере телефонии событиях. Базовая версия Salesplatform vTiger CRM обрабатывает следующие события от коннектора asterisk:

  • Начало вызова
  • Ответ абонента на вызов
  • Завершение вызова
  • Оповещение о доступности записи разговора

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

Диаграмма состояний интеграции vTiger и Asterisk

Всплывающие окна телефонии отображаются в vTiger CRM для тех вызовов, которые находятся в состояниях “Звонок” (“ringing”) и “Разговор” (“in-progress”), а также связаны с текущим пользователем (адресованы ему, либо инициированы им). Окна отличаются друг от друга наличием значка наушников, символизирующего ответ, и имени ответившего пользователя. Следует отметить, что значок наушников появляется не во всех версиях vTiger CRM.

Система vTiger определяет, с каким пользователем связан вызов по номеру внутреннего телефона, который задаётся в настройках CRM. Учётная запись SIP на сервере asterisk должна иметь совпадающий с данным номером телефона АОН (CallerID).

Настройка vTiger перед интеграцией с asterisk

Для того, чтобы vTiger CRM мог успешно взаимодействовать с vTiger должны быть выполнены следующие условия:

  1. В Контактах/Контрагентах/Обращениях следует заполнять контактные номера телефонов клиентов. Формат записи номеров должен быть таким же, как и формат АОН (callerID) asterisk.
  2. В настройках интеграции нужно задать ключ и порт click2callУ пользователей vTiger должны быть настроены Внутренние номера. Внутренний номер должен соответствовать учётной записи SIP на сервере asterisk для пользователя.

Настройка vTiger CRM для интеграции с коннектором Asterisk

3. У пользователей vTiger должны быть настроены Внутренние номера. Внутренний номер должен соответствовать учётной записи SIP на сервере asterisk для пользователя.

Настройка внутреннего номера пользователя vTiger

Настройка asterisk для интеграции с vTiger

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

Особых требований к настройкам asterisk интеграция не предъявляет. Необходимым условием является использование формата АОН (callerid) asterisk, совместимого с теми номерами телефонов, которые внесены в vTiger (начало с 8, либо с +7 и т.д.). Для того, чтобы коннектор vTiger / Salesplatform мог получать события от сервера телефонии asterisk, нужно создать учётную запись AMI для коннектора. Для этого нужно отредактировать конфигурационный файл asterisk manager.conf:

[general]

enabled = yes          ;разрешить соединения

port = 5038            ;на каком порту

bindaddr = 127.0.0.1   ;на каком адресе

;учетная запись для AMI интерфейса - может быть несколько

[admin]          ;логин

secret = admin   ;пароль

deny = 0.0.0.0/0.0.0.0            ;из каких сетей запрещено соединение - если требуется несколько то необходимо добавить несколько таких записей

permit = 127.0.0.1/255.255.255.0  ;из каких сетей разрешено соединение - если требуется несколько то необходимо добавить несколько таких записей

read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate   ;доступные события AMI на чтение

write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate  ;доступные события AMI на запись

Для того, чтобы была доступна возможность прослушивания записей телефонных разговоров в CRM, следует настроить события CDR asterisk. Для этого нужно отредактировать файл cdr.conf:

[general]
enable=yes

Также нужно добавить пользовательскую переменную - файл cdr_manager.conf:

[general]
enabled = yes

[mappings]
recordingpath => recordingpath ;пользовательская переменная, в которой в плане набора указывается путь к файлу записи разговора

Пример добавления ссылки на звонок в плане набора (примитивный пример, используйте тот план набора, который необходим вам) - файл extensions.conf:

[vtiger]

exten = _X.,1,Set(CALLFILENAME=${STRFTIME(${EPOCH},,OUT_%d%m%Y_%H-%M)}_${CALLERID(num)}_${EXTEN})

exten = _X.,2,MixMonitor(/var/spool/asterisk/monitor/${CALLFILENAME}.wav,b)

exten = _X.,3,Set(CDR(recordingpath)=/var/spool/asterisk/monitor/${CALLFILENAME}.wav)

exten = _X.,4,Dial(SIP/${EXTEN})

Настройка коннектора телефонии CRM

Настройка коннектора телефонии CRM

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

Коннектор vTiger - Asterisk от компании “Открытые ИТ-решения” представляет собой отдельное python-приложение. Для его работы требуется Python версии 3.5 и выше. По желанию заказчика возможны различные варианты запуска коннектора. Например, как сервис в программе supervisord или как контейнер Docker. Конфигурационный файл коннектора предельно прост. В нём задаются параметры подключения к серверу asterisk по AMI, URL системы vTiger / Salesplatform с токеном доступа, порт прослушивания сервиса click2call, а также параметры БД хранения сведений о записях разговоров и домен, по которому данные записи будут доступны для прослушивания. Пример конфигурационного файла показан ниже:

class Config:

   ami_params = {

       'host': 'localhost',

       'username': 'test',

       'secret': 'test',

   }

   vtiger_url = 'http://vtiger/modules/PBXManager/callbacks/PBXManager.php'

   vtiger_token = 'abracadabra'

   click2call_bind_addr = '0.0.0.0'

   click2call_port = '5000'

   record_domain = '172.16.1.1'

   db_path = 'connector.db'

Облачная телефония и vTiger CRM

Облачная телефония для vTiger CRM

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

Currently unrated

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required