Asterisk+1С. Часть1. Внешние компоненты

1СКакая самая распространенная система IP-телефонии?
Правильно — Asterisk.
Какая самая распространенная учетная система?
Правильно — .
А если их подружить, тогда — профит. 🙂

Условия.

Начнем «дружить» 1С и Asterisk. Возьмем самый тяжелый случай со стороны 1С — версию 7.7, а со стороны Asterisk версию 1.6.2.x.

Чего мы хотим:

  1. Функцию исходящего звонка из 1С.
  2. Знать в 1С-е номер звонящего при входящем звонке.

Как будем строить.

У Asterisk-а есть свой API, через который мы и будем подключаться к нему. Называется он AMI Asterisk Management Interface. Со стороны 1С будем использовать механизм внешних компонент.

Выбор внешней компоненты.

Google в помощь, ищем готовые внешние компоненты. Находим Asterisk.dll, находим Obeliks, находим VVSAst.dll. Смотрим, анализируем…
Возможно, в будущем захочется развить нашу систему, поэтому смотрим еще и на масштабируемость и наличие универсальных методов отправки команд в Asterisk.

Asterisk.dll только для 1С версии 8.х, к тому же у этой ВК нет универсального метода отправки команд в AMI, она может только позвонить и все. Не подходит. 🙁

Obeliks — ограничения функциональности в шареварной версии. Каждый час перезагрузка, разговор 3 минуты. Снятие ограничений только в платной версии. Не подходит. 🙁

VVSAst.dll — для версии 7.7 ограничений нет. Есть универсальные методы отправки команд в AMI. Полностью подходит. 😀

Подключение внешней компоненты.

Компонента VVSAst саморегистрирующаяся, загружается через метод ЗагрузитьВнешнююКомпоненту(<?>).

Дальше, нам нужна еще одна предопределенная процедура — ОбработкаВнешнегоСобытия(<?>)

Теперь, нам нужно будет выполнить настройку со стороны Asterisk-а, а уже затем будем продолжать разбираться с 1С. Но это уже тема другой части…

Продолжение следует… 8)
Часть2, Часть3.