artem
21.04.2016
12608

Установка модуля 1С от МИКО на FreePBX 2.11 c Asterisk 11

В рамках данной статьи, показано как в несколько шагов настроить модуль интеграции 1С от компании МИКО c IP-PBX Asterisk.

Следует учесть, что описанные в статье правки корректны только для дистрибутива компании VoxLink!
1) Настройка HTTP сервера Asterisk: Settings → Advanced Settings Asterisk Builtin mini-HTTP server привести к виду указанному на скриншоте: Установка модуля 1С от МИКО. Настройка HTTP сервера Asterisk
2) Создание AMI пользователя во FreePBX: Settings → Asterisk Manager Users создать пользователя 1cami с правами read (call, user, cdr) и write (call, reporting, originate). В поле permit пекомендуется прописать ip-адресс сервера 1С.

Установка модуля 1С от МИКО. Создание ami пользователя в веб-интерфейсе FreePBX

Проверка корректности выполняется командой asterisk -rx ‘manager show users’, которая выводит список пользователей AMI.

username
———
admin
fop2_user
1cami

3) В файл /etc/asterisk/manager_custom.conf необходимо добавить параметры:

[general](+)
webenabled=yes
allowmultiplelogin=yes
httptimeout=60

1, 2 пункты можно проверить командой asterisk -rx ‘http show status’

HTTP Server Status:
Prefix: /asterisk Server Enabled and Bound to 0.0.0.0:8088

Enabled URI’s:
/asterisk/httpstatus => Asterisk HTTP General Status
/asterisk/phoneprov/… => Asterisk HTTP Phone Provisioning Tool
/asterisk/amanager => HTML Manager Event Interface w/Digest authentication
/asterisk/arawman => Raw HTTP Manager Event Interface w/Digest authentication
/asterisk/manager => HTML Manager Event Interface
/asterisk/rawman => Raw HTTP Manager Event Interface
/asterisk/static/… => Asterisk HTTP Static Delivery
/asterisk/amxml => XML Manager Event Interface w/Digest authentication
/asterisk/mxml => XML Manager Event Interface
/asterisk/ws => Asterisk HTTP WebSocket

Enabled Redirects: None.

4) Далее необходимо скачать плагин под текущую версию дистрибутива (2.11.3.18) по ссылке http://wiki.miko.ru/astpanel:ats:freepbx_distro#dokuwiki__top
Внести правки в файлы модуля pt1c (предварительно распаковав).
Следует обратить внимание, что далее в тексте указаны примерные номера строк, которые необходимо закомментировать.

— файл uninstal.php — желательно переименовать
— файл functions.inc.php закомментировать указанные секции:

все, что находится между строками:

if(version_compare($ver_core, ‘2.8.1.2’, ‘>’) && method_exists($core_conf, «addResOdbc»)){
……
}else{

Номера строк примерно 29-37

if(!is_file($file_res_odbc)){
……..
    }
if(is_file($file_res_odbc)){

Номера строк примерно 41-42

if(is_file($file_res_odbc)){
………..
}
$file_cel_odbc = $amp_conf[‘ASTETCDIR’].’/cel_odbc.conf’;

Номера строк примерно 46-57

$file_cel_odbc = $amp_conf[‘ASTETCDIR’].’/cel_odbc.conf’;
if(!is_file($file_cel_odbc)){
……………
}
if(is_file($file_cel_odbc)){
$section = ‘PT1C_cel’;

Номера строк примерно 62-63

if(is_file($file_cel_odbc)){
$section = ‘PT1C_cel’;
………
}
 }
// правка pbxinaflash

Номера строк примерно 67-74

Option = 3
*/
……….
}
}// odbc settings

Номера строк примерно 97-108

$file_http_conf = $amp_conf[‘ASTETCDIR’].’/http.conf’;
if(!is_file($file_http_conf)){
…………
}
edit_ini_file($file_http_conf, $section, $user_key, $user_value);

Номера строк примерно 320-321
— файл install.php закомментировать строку

pt1s_check_configs_file();

Номер строки примерно 169

-файл pt1c/bin/pt1s_check_configs_file.php закомментировать код функции
pt1s_check_configs_file:

function pt1s_check_configs_file($is_new=true){
global $amp_conf;
……….
}?>

Номера строк примерно 38-155

А также полностью всю функцию pt1c_change_web_manager

Номера строк примерно 17-33

5) В директории с исходниками также находятся три папки с исправленными модулями FreePBX cdr, core, fax. В них несколько архивов — распаковать только под установленную версию FreePBX

Правки в модулях cdr, core и fax — простым копированием содержимого в директорию модулей freepbx (как рекомендуется в wiki МИКО) установку производить не стоит.
Лучше внести необходимые дополнения вручную в файлы самой системы FreePBX, благо все изменения МИКО обрамили комментариями вида «PT1C» (найти вхождения можно командой grep -ri «PT1C» /путь_к_директории_с_установочными_файлами/)

-Модуль cdr — не нуждается в конфигурировании
— Модуль fax — найти в файле functions.inc.php исходников модуля от МИКО участки кода обрамленные комментариями /*; PT1C ; START*/ /*; PT1C ; END */ и перенести их в соответсвующие места файла /var/www/html/admin/modules/fax/functions.inc.php
— Модуль core — найти в файле functions.inc.php исходников модуля от МИКО участки кода обрамленные комментариями PT1C START PT1C END и перенести их в соответсвующие места файла /var/www/html/admin/modules/core/functions.inc.php

6) Директорию pt1c после внесения правок необходимо поместить в /var/www/html/admin/modules/ и выполнить установку локальных модулей через веб-интерфейс FreePBX в разделе Admin → Module Admin. После установки в разделе Settings будет новый подраздел Asterisk AJAM Settings (PT1C).

7) Далее необходимо произвести настройку установленного модуля через freepbx Settings → Asterisk AJAM Settings (PT1C) 

Установка модуля 1С от МИКО. Настройка модуля PT1C во FreePBx
8) В файл cdr_adaptive_odbc.conf необходимо добавить подключение к БД и работу с таблицей PT1C_cdr, которую создает модуль при установке

[PT1C_Global]
connection=asteriskcdrdb
table=PT1C_cdr
alias recordingfile=>recordingfile
alias start=>calldate
alias did=>did

9) Важно в iptables разрешить tcp трафик на порт 8088 для сервера 1С

10) Проверить настройки можно, выполнив в браузере запрос http://ipadress_asteriska:8088/asterisk/rawman?action=login&username=1cami&secret=PASSWORD1cami
Если получен ответ как на скриншоте — значит все работает корректно.

Установка модуля 1С от МИКО. Ответ от сервера при обращении на порт AJAM) 11
11) (Необязательный пункт) Также есть возможность опубликовать AJAM с шифрованием (используется сертификат из модуля pt1c).
В таком случае в файл http_custom.conf необходимо добавить строчки:

[general](+)
tlsenable=yes tlsbindaddr=0.0.0.0:4443
tlscertfile=/etc/asterisk/pt1c_ajam.pem
tlsprivatekey=/etc/asterisk/pt1c_ajam.pem

И в iptables разрешить tcp трафик на порт 4443

На этом подготовка сервера телефонии под интеграцию с 1С от компании МИКО завершена, все дальнейшие работы необходимо проводить на стороне сервера 1С.

Кейсы внедрения
Asterisk от VoxLink
Узнайте, какие крупные компании уже используют Asterisk в работе.
Скачать
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

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

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

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


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

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