Настройка АТС Asterisk для интеграции с 1С

Зачем нужна интеграция

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

Пара слов о пробросе портов

Как правило, вся система работает во внутренней сети предприятия и проброс портов не требуется. Однако на время разработки и тестирования может потребоваться подключение к отдельным компонентам системы «снаружи» внутренней сети. Для того, чтобы это стало возможным, потребуется пробросить соответствующий порт сервера с Asterisk. После окончания разработки и тестирования их можно закрыть, если в вашем случае система работает полностью во внутренней сети предприятия. В интернете есть большое количество инструкций о том, как это сделать. Например, для пользователей Mikrotik есть вот эта.

Схема, по которой в таком случае будет производиться обмен информацией, представлена ниже. Для большей безопасности рекомендуется изменить порт, на который будут присылаться запросы снаружи сети, чтобы предотвратить целенаправленные действия злоумышленников. Злоумышленнику не будет понятно, что открытый порт принадлежит AMI, MySQL, или какому-либо другому сервису. 

 

 

 

 

 

 

1. Настройка AMI

AMI – это программный интерфейс, с помощью которого можно получать события от Asterisk. Примером таких событий могут служить, например, начало или конец разговора. Мы получаем событие начала разговора и можем показать карточку контрагента, если номер телефона найден в базе. Также можно совершать звонки напрямую из 1С.

Для того, что этот функционал был, нужно создать «менеджера» AMI и сообщить информацию о том, как подключиться к АТС. Со своей стороны мы настроим коммуникацию 1С и Asterisk.

Порт по умолчанию для AMI - 5038 по протоколу tcp.

 

2. Настройка скачивания записей

Для того, чтобы работало скачивание записей разговоров, необходимо настроить сервер, который будет раздавать эти файлы. Сервер Asterisk должен принимать GET-запрос на порт 5032, в пути которого будет находиться имя файла относительно директории, в которой хранятся записи разговоров. Наиболее желательным является вариант, при котором все записи хранятся в одной папке, но по нашему опыту так происходит не всегда. Если Asterisk находится на сервере с адресом 192.168.0.13, то запись разговора с именем conversation-12345567.3245.wav, в случае нахождения всех записей в одной папке, должна скачиваться по запросу 192.168.0.13:5032/conversation-12345567.3245.wav.

 

3. Настройка CDR (Call Detailed Records)

CDR – это специальная таблица, в которой отмечается информация о каждом разговоре. Asterisk поддерживает несколько форматов хранения CDR, но для интеграции с 1С необходимо, чтобы эта информация хранилась в какой-либо реляционной базе данных (наиболее популярный вариант – MySQL). Всё, что нужно – это поставить сервер СУБД, создать базу данных с таблицей CDR, настроить ODBC и Asterisk для работы с базой.

Порт по умолчанию для подключения к MySQL - 3306 по протоколу tcp. Для других СУБД следует обращаться к технической документации соответствующей системы.

 

4. Настройка плана звонков

Для того, чтобы записи разговоров можно было прослушать из 1С, нужен специальный контекст, который будет вызываться из 1С. Контекст, как правило, называется «1c-playfile» и имеет только один добавочный номер, зарезервированный Asterisk-ом - s. Внутри этого плана набора должен быть ответ и последовательное проигрывание файлов, указанных в переменной $MSG(n), где n равно переменной $COUNT, также передаваемой в качестве аргумента при вызове AMI-действия.

Помимо вышеперечисленного, нам понадобится знать контекст, используемый для исходящих звонков. Если в вашем плане набора сложная логика формирования исходящих звонков и единого контекста нет, то это можно решить командой include, которая включить указанные контексты в общий контекст. Более того, использование такого способа организации плана набора является полезной практикой самой по себе.

Заключение

Более подробную информацию можно получить у специалистов компании Автоматика Софт Сервис.

ООО "Терминальные системы". Все права защищены.
Яндекс.Метрика
Дизайн сайта prorezz.ru