Различия

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

Ссылка на это сравнение

Следующая версия
Предыдущая версия
integracija_asterisk_i_sugarcrm [2013/11/18 17:15]
ansealk создано
integracija_asterisk_i_sugarcrm [2013/11/18 17:16] (текущий)
Строка 1: Строка 1:
 +====== Интеграция Asterisk и SugarCRM ======
 +Попробуем это все объединить и сделать себе удобный call-центр. ​
  
 +Изначально стояла задача установить CRM для работы в связке с Asterisk чтобы вести базу клиентов и отслеживать поступающие звонки. Под описание потребностей и по заявленному наличию возможности объединения подходили vTigerCRM и SugarCRM. С vTiger у нас дружба не сложилась — их модуль,​ что идет в комплекте с движком,​ весьма небрежно относился к своим обязанностям:​ пропускал звонки или показывал их с задержкой. В SugarCRM напротив,​ модуль под названием YAAI KINAMU/​abcona Open Asterisk Connector работает как часы. Он не идет в комплекте,​ его мы установим отдельно. Принцип работы и функционал этих CRM схож, так что мы остановили свой выбор на SugarCRM Community Edition. Есть к этой системе отличный модуль русификации — RUSSIAN RAPIRA LANGUAGE PACK. Но я буду показывать настройку пока без него. ​
 +
 +Не буду рассказывать как устанавливать SugarCRM — об этом есть много информации в сети. Сразу перейду к способу интеграции с телефонией. ​
 +
 +Качаем модуль YAAI [[http://​www.sugarforge.org/​frs/?​group_id=773|отсюда]]. Не распаковываем. Устанавливаем через админку CRM: Admin -> Module Loader. Закачиваем,​ жмем '​Install'​. Снова заходим в админку,​ ищем в самом низу наш модуль,​ заходим в конфигуратор. Здесь нам понадобятся данные из файла /​etc/​asterisk/​manager.conf нашего сервера Asterisk. Вы можете отредактировать manager.conf и создать нового пользователя AMI или использовать учетную запись admin, сменив пароль по умолчанию (если вы не сделали это еще при установке Asterisk то ваша система подвергается риску). Здесь же можно задать,​ с какого хоста разрешено подключаться AMI-менеджеру. У меня это 127.0.0.1 так как у нас CRM на этой же машине. Берем эти данные и копируем в настройки модуля YAAI: host, login, port, secret. Осталось вбить SOAP пользователя. Пусть это будет любой пользователь CRM со своим паролем. Остальные настройки можно не трогать вообще.
 +
 +Так как последняя версия модуля сама не добавляет в профиль пользователя поле для внесения внутреннего телефона,​ нам придется поработать над интерфейсом самим. Идем в Admin -> Studio. Ищем папочку User, раскрываем список,​ находим Layouts, Edit View. Открывается редактор формы правки пользователя. Перетаскиваем сперва слева-на-право New Panel и New Row. На них сверху накладываем Asterisk Extensinon, Magic Dial Buttons, Call notification. Сохраняем вид: Save & Deploy.
 +
 +{{:​asterisk:​sugarcrm:​e6af271c9332943ffd5f86bb70f87d8c.png|}}
 +
 +Надеюсь у вас уже есть пользователь CRM у которого есть свой SIP телефон. Закрепим за его учетной записью его номер. Заходим в Admin -> User Management. Выбираем пользователя,​ жмем Edit. Сверху видим панель,​ которую мы создали. В Asterisk Extension вводим внутренний номер пользователя и ставим обе галочки:​ Magic Dial — для быстрого отзвона по клику иконки возле сохраненного номера (звонит сперва наш аппарат — берем трубку — идет набор исходящего номера) и Call Notification — всплывающее окошко с номером и другими данными звонящего. ​
 +
 +{{:​asterisk:​sugarcrm:​784a7dc623a405d66bf422ea10be5153.png|}}
 +
 +Теперь необходимо запустить PHP скрипт,​ который будет взаимодействовать с Asterisk. Переходим в папка_с_SugarCRM/​custom/​modules/​Asterisk и запускаем:​
 +<code bash> php asteriskLogger.php</​code>​
 +
 +Если все в порядке,​ то мы увидим сообщение «Waiting for events». Если выдаются ошибки,​ значит нужно проверить настройки астериск-менеджера и SOAP.
 +
 +В принципе,​ всё должно работать,​ но, чтобы нам всё время не запускать скрипт вручную,​ сделаем его сервисом.
 +
 +  - Качаем файлик asterisk_logger:<​code bash>​wget https://​raw.github.com/​blak3r/​yaai/​master/​misc/​asterisk_logger </​code>​ \\ или извлекаем его из zip-архива модуля YAAI в misc/​asterisk_logger.
 +  - Копируем его в /​etc/​init.d/​
 +  - Выставляем атрибуты:<​code bash>​chmod 755 /​etc/​init.d/​asterisk_logger</​code>​
 +  - Открываем его для правки в редакторе.
 +    - редактируем путь где лежит asteriskLogger (обычно это /​var/​www/​html/​sugarcrm/​custom/​modules/​Asterisk/​asteriskLogger.php)
 +    - выставляем пользователя от которого запущен веб-сервер (обычно это asterisk)
 +  - Инсталлируем скрипт:​
 +    * для Centos, Red Hat, Fedora Core, Suse, и т.д.: <code bash>​chkconfig --add asterisk_logger</​code>​
 +    * для Debian, Ubuntu и подобных:​ <code bash>​update-rc.d -f asterisk_logger start 80 2 3 4 5 . stop 30 0 1 6 . </​code>​
 +  - Проверяем запустив <code bash>/​etc/​init.d/​asterisk_logger start</​code>​
 +
 +Если он запустился значит всё сделали правильно. Если сыпятся ошибки,​ то смотрим далее. Вполне вероятно,​ что в asterisk_logger придется удалить символы переноса строки ^M. Можно сделать это в редакторе встроенном в mc. Также, если у вас CentOS 6.X то придется изменить в нем и строчку с 
 +<code bash>. /​lib/​lsb/​init-functions </​code>​
 +на
 +<code bash>
 +/​etc/​init.d/​functions
 +</​code>​
 +На этом всё. Можно звонить и проверять как появляются всплывающие окошки с номерами в CRM. Правда,​ если номер будет меньше четырех цифр, то он будет отсеян. Настраивается это поведение в модуле YAAI в CRM.
integracija_asterisk_i_sugarcrm.txt · Последние изменения: 2013/11/18 17:16 (внешнее изменение)
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика