Описание
Данная компонента предназначена для работы из программных продуктов 1С Предприятия 8.х
(Windows x86, x64) с телефонной станцией Asterisk. Соединение осуществляется посредством TCP
протокола. Чтение событий и запись команд происходит асинхронно. Данный интерфейс является
очень мощным инструментом взаимодействия между 1С и телефонной станцией. Позволяет
решать разнообразные задачи от простого определения номера звонящего до организации call
центов.
Данная компонента саморегистрирующаяся (Native API). Прав администратора не требуется для ее
установки.
Для демонстрации возможностей компоненты можете воспользоваться конфигурацией 1С Управление телефонией (для платформа 8.3.11 и выше) для FreePBX 13 (совместима для других АТС на платформе Asterisk). В конфигурации файл компоненты загружен в справочник "Внешние компоненты". При начале работы необходимо в настройках пользователя и настройках подключения прописать корректные значения для доступа к Вашей АТС. Данная конфигурация показывает лишь базовый функционал (получение информацию об экстейшенах, АОН, набор номера, перевод звонка, подслушивание и пр.) и не учитывает многих особенностей, например многоканальности.
По гиперссылке Отладка включается режима записи в логфайл информации от АТС.
Состав дистрибутива
Файл архива компоненты: PBX_X_X_X_X.zip
INFO.XML - Требуется для авторегистрации в конфигурациях 1С Предприятия 8.3 и выше
MANIFEST.XML - Описание компоненты для автоматической установки
PBX.dll - Файл внешней компоненты для 32 разрядной ОС Windows
PBX64.dll - Файл внешней компоненты для 64 разрядной ОС Windows
Файл выгрузки демонстрационной конфигурации: asterisk.dt для платформы 1С 8.3 не ниже 8.3.11 настроено для работы с FreePBX 13
Состав дистрибутива одинаковый для демонстрационной и коммерческой версии. Для коммерческой версии высылается дополнительно ключи продукта.
Требования
Компонента тестировалась на версиях платформы 1С 8.2.19.130 - 8.3.11.2867 (возможно 7.7)
MS Visual C++ 2012-2017 (идет в составе платформы на 8.3)
MS Windows 7, Windows 10, для 32 и 64 битных систем.
Подготовка Asterisk
Для доступа к интерфейсу AMI требуется открыть доступ в Asterisk
Делается это редактированием файла /etc/asterisk/manager.conf через CLI или через WEB
интерфейс АТС
enabled=yes ; возможность работать с AMI (по-умолчанию no)
port=5038 ; на порту TCP 5038
bindaddr=192.168.1.0/24 ; принимать соединения в лок. сети (0.0.0.0 - все)
timestampevents = no ; Отправлять в пакетах событий временную метку
displayconnects = yes ; Отображать факт подключения пользователя к AMI
allowmultiplelogin = yes ; Разрешить несколько подключений с одним именем
Рекомендации:
Обязательно ограничивайте подсети из которых доступен AMI интерфейс. Если работа с АТС из нескольких подсетей, то необходимо создать разных пользователей AMI.
Ограничьте доступ к паролю и логину от AMI интерфейса в программе 1С.
Способы подключения внешней компоненты
Подключение файла компоненты
Попытка
ПодключитьВнешнююКомпоненту ("D:\PBX\PBX.dll", "PBX", ТипВнешнейКомпоненты.Native);
глТелефония = Новый ("AddIn.PBX.AsteriskAMI");
Исключение
Сообщить ("Ошибка! "+ОписаниеОшибки());
КонецПопытки;
Подключение с помощью шаблона
Предпочтительный способ использования компоненты на предприятии, поскольку компонента
будет установлена автоматически пользователю и будет выбрана автоматически разрядность
компоненты.
В конфигурации требуется создать Общий макет. Тип макета «Внешняя компонента»
Загрузить в нее поставляемый zip файл
Процедура ТелефонияИнициализация() Экспорт
Попытка
ПодключитьВнешнююКомпоненту("ОбщийМакет.ВК_Телефония", "PBX", ТипВнешнейКомпоненты.Native)
Исключение
УстановитьВнешнююКомпоненту("ОбщийМакет.ВК_Телефония");
ПодключитьВнешнююКомпоненту("ОбщийМакет.ВК_Телефония", "PBX", ТипВнешнейКомпоненты.Native);
КонецПопытки;
Попытка
глТелефония = Новый("AddIn.PBX.AsteriskAMI");
Исключение
Сообщить("Не удалось установить внешнюю компоненту.");
КонецПопытки;
КонецПроцедуры
После использования метода УстановитьВнешнююКомпоненту() файл компоненты (PBX.dll) будет
размещен в каталоге C:\Users\[ИмяПользователя]\AppData\Roaming\1C\1Cv82\ExtCompT
Свойства компоненты
Версия – Отображает информацию о текущей версии компоненты
Значение по умолчанию: нет
Чтение
ФильтрНомер – устанавливает фильтр на вывод сообщений в 1С по одному определенному
номеру. Указывается в формате "SIP/107". Если значение не указано, то компонента отправляет
полную информацию.
Значение по умолчанию: нет
Чтение и Запись
Шифрование – использует передачу пароля в зашифрованном виде. Поскольку авторизация
сопровождается с передачей и обработкой токена, то обязательно использование метода
Авторизация().
Значение по умолчанию: Истина
Чтение и Запись
Подключен – Если компонента успешно подключилась к серверу Asterisk, то принимает булевное
значение Истина.
Чтение
Идентификатор – идентификационный номер компоненты. Уникальный ключ для каждого компьютера.
Чтение
КлючПродукта – регистрационный ключ продукта.
Чтение и Запись
Методы компоненты
Подключиться (server, port) – метод устанавливает подключение к телефонной станции Asterisk
по TCP протоколу.
Парметры:
server – имя или IP адрес сервера. Обязательное указание.
port – порт подключения. Указывается значение из раздела «Подготовка Asterisk». Значение по
умолчанию 5038.
Авторизация(ИмяПользователя, Пароль) - метод осуществляет авторизацию с учетом использования шифрования MD5
ИмяПользователя - логин пользователя Asterisk AMI
пароль - пароль пользователя Asterisk AMI
Прослушать(Истина) – метод запускает прослушивание порта для дальнейшей обработки и
передачи информации в 1С Предприятие.
Разъеденить() – метод останавливает прослушивание и закрывает подключение к станции.
Использование компоненты в 1С Предприятие
Пример реализации подключения к серверу
Процедура ТелефонияСоединение()
Если глТелефония.Подключен Тогда
Возврат;
КонецЕсли;
Если НЕ глТелефония.Подключиться("server", "5038") Тогда
Сообщить ("Ошибка подключения");
Возврат;
КонецЕсли;
глТелефония.Шифрование = Истина;
глТелефония.ФильтрНомер ("SIP/107");
глТелефония.Прослушать (Истина);
глТелефония.Авторизация ("admin", "password");
КонецПроцедуры
Получение информации от внешней компоненты.
Обработка данных должна вестись согласно документации к своей телефонной станции wiki.asterisk.org
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если Источник="PBX" Тогда
//обработка данных
КонецЕсли;
КонецПроцедуры
Ограничения демонстрационной версии:
На чтение (получение) информации от АТС ограничений НЕТ. например, можно определять какой номер вам звонит и сопоставлять со справочником Контрагентов.
Невозможно отправлять команды в телефонную станцию через некоторое время после подключения.
Техническая поддержка и обновления
Бесплатный период техподдержки составляет 1 месяц со дня покупки
Также после приобретения вы получаете 1 месяц бесплатных обновлений.
По окончании бесплатного периода вы можете приобрести услугу технической поддержки с доступом к обновлениям на платной основе.
Проверить наличие обновлений можно в личном кабинете. Если обновления недоступны - загрузить новую версию можно после покупки обновлений/технической поддержки.
Задать вопрос по программе можно по кнопке "Техподдержка" на странице описания.
При создании тикета необходимо предоставить:
- Номер заказа
- Описание вопроса. Если это ошибки - напишите порядок ваших действий с программой, которые к ней привели (приложите видео/скриншоты/отчеты об ошибке)
- Точную конфигурацию 1С, и версию платформы, на которой используете купленное решение (наименование и версию 1С можно взять из раздела "О программе"), версию купленной программы.
К созданной заявке подключается специалист. Дальнейшее обсуждение проблемы будет проходить в тикете техподдержки. Стандартный срок реакции - 24 часа в рабочие дни с момента обращения.