Системы CRM (см. подробнее CRM: что это простыми словами) содержат всю информацию о клиентах и коммуникации с ними. Несмотря на развитие мессенджеров, социальных сетей и прочих новых способов общения с клиентами, телефонию ещё очень рано списывать со счетов. Во многих сферах традиционная телефония остаётся основным каналом общения с клиентом как на стадии его привлечения, так и на более поздних стадиях: обслуживания и последующей поддержки.
Такие системы, как vTiger CRM, позволяют хранить всю контактную информацию о Ваших клиентах, контактах и входящих обращениях (Leads) в одной удобной базе данных. Каждый раз, когда Ваши менеджеры хотят позвонить клиенту, им нужно найти нужный номер телефона, набрать его, а после завершения разговора - зафиксировать некоторый значимый результат общения, чтобы впоследствии не забыть, скажем, направить новому клиенту коммерческое предложение, а также не потерять информацию о самом факте звонка и его точной дате и времени.
Если телефония интегрирована в Вашу CRM-систему, фиксация точного времени звонка и сохранение аудиозаписи разговора происходят автоматически. По каждому клиенту всегда можно просмотреть полный перечень вызовов и прослушать аудиозаписи разговоров.
Более того, менеджеру даже не нужно набирать номер для совершения исходящего вызова: нужно только щёлкнуть по соответствующему полю с номером телефона в карточке CRM vTiger, и система сама автоматически соединит сотрудника с нужным клиентом по телефону.
При входящих вызовах интеграция CRM и телефонии также может быть очень полезной. Система vTIger может автоматически найти по номеру телефона звонящего (АОН) связанного с ним клиента и показать информацию о нём в удобном всплывающем окне. По клику на названии клиента будет выполнен переход в соответствующую карточку CRM с подробной информацией.
Данная возможность vTIger позволяет менеджеру оперативно оценить потребности клиента и более эффективно предлагать нужные именно ему услуги и товары. Записи и журналы звонков телефонии будут также сохранены при входящем звонке.
Для совершения и принятия вызовов vTiger интегрируется с различными сервисами телефонии. Сервис телефонии выполняет фактическую работу по обработке вызова, а CRM получает от него сообщения о статусах и отправляет некоторые управляющие команды.
Одним из самых популярных свободных серверов телефонии (в частности, SIP-server) является Asterisk PBX. Asterisk позволяет работать с различными каналами связи (SIP, H323, PRI и т.д.) и имеет широкие возможности интеграции с другими системами и приложениями. В частности, доступный в большинстве версий Asterisk интерфейс AMI (Asterisk Management Interface), позволяет получать информацию о статусах вызовов и управлять ими.
vTiger не может поддерживать взаимодействие по AMI самостоятельно. Для этого необходимо специальное промежуточное программное обеспечение: коннектор Asterisk-vTiger. Коннектор обрабатывает события Asterisk, декодирует их и отправляет запросы HTTP в CRM vTiger, а также принимает запросы от vTIger на исходящие вызовы и инициирует их на Asterisk.
Существует несколько разных версий коннектора Asterisk-vTiger. В нашей компании “Открытые ИТ-решения” была разработана собственная расширяемая версия коннектора Unified Asterisk Connector, которая характеризуется повышенной стабильностью работы (по сравнению с базовой версией коннектора) и поддержкой ряда дополнительных функций (очереди вызовов Asterisk Queue, обработка событий перевода Asterisk Call Transfer). Коннектор написан на языке Python 3 с использованием механизмов асинхронной обработки событий.
CRM-система vTiger для интеграции с сервисами телефонии использует только механизм HTTP REST API. В частности, при использовании функции click2call (см. картинку выше) для исходящего вызова vTiger выполняет вызов REST API соответствующего метода коннектора, а коннектор инициирует вызов через AMI.
Также vTIger имеет специальные обработчики (handlers) для приёма REST API запросов от коннектора. Запросы коннектора asterisk к vTiger оповещают CRM-систему о произошедших на сервере телефонии событиях. Базовая версия Salesplatform vTiger CRM обрабатывает следующие события от коннектора asterisk:
Каждое полученное событие меняет внутреннее состояние вызова внутри vTiger CRM. Диаграмма состояний, отображающая условия переходов показана на рисунке ниже
Всплывающие окна телефонии отображаются в vTiger CRM для тех вызовов, которые находятся в состояниях “Звонок” (“ringing”) и “Разговор” (“in-progress”), а также связаны с текущим пользователем (адресованы ему, либо инициированы им). Окна отличаются друг от друга наличием значка наушников, символизирующего ответ, и имени ответившего пользователя. Следует отметить, что значок наушников появляется не во всех версиях vTiger CRM.
Система vTiger определяет, с каким пользователем связан вызов по номеру внутреннего телефона, который задаётся в настройках CRM. Учётная запись SIP на сервере asterisk должна иметь совпадающий с данным номером телефона АОН (CallerID).
Для того, чтобы vTiger CRM мог успешно взаимодействовать с vTiger должны быть выполнены следующие условия:
3. У пользователей vTiger должны быть настроены Внутренние номера. Внутренний номер должен соответствовать учётной записи SIP на сервере 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 ;пользовательская переменная, в которой в плане набора указывается путь к файлу записи разговора
[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})
Коннектор 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'
Для тех компаний, которые не используют собственный выделенный сервер телефонии asterisk для vTiger CRM, доступна возможность задействовать все преимущества интеграции IP-телефонии и CRM (включая записи разговоров и всплывающие окна вызовов) без настройки своего экземпляра asterisk. Для этого можно воспользоваться одним из облачных провайдеров телефонии. В следующих статьях мы подробнее расскажем про настройку vTiger для интеграции с облачной телефонией и поддерживаемых в стандартной конфигурации провайдерах.
Комментарии
Пока комментариев нет
Новый комментарий