Интеграция 1С с IP-телефонией (Asterisk) для автоматических звонков
Интеграция 1С с IP-телефонией (Asterisk) позволяет запускать исходящий вызов из документа или задачи без ручного набора номера. Сервис передаёт Asterisk данные клиента и сценарий, а затем возвращает в 1С статус разговора, его результат и связанные записи.
Практическая ценность такого обмена — единый процесс: менеджер работает с заказом, счётом или обращением, а система сама инициирует нужный вызов и сохраняет историю. Для этого 1С должна уметь создавать HTTP-запросы, а Asterisk — принимать команды и сообщать о событиях.
Как устроена автоматическая интеграция
Рабочая схема включает модуль 1С, промежуточный сервис, интерфейс управления Asterisk и таблицу состояний вызовов. Промежуточный слой принимает данные из 1С, проверяет их и отправляет команды в телефонную систему.
Для управления каналами применяют ARI, REST-интерфейс Asterisk, либо события AMI. ARI удобен для HTTP-обмена: 1С отправляет JSON с параметрами канала, а Asterisk возвращает идентификатор созданного вызова и его дальнейшие состояния.
После постановки вызова система отслеживает, что канал занят, отвечен или завершён, сопоставляет события с записью 1С и при необходимости запускает повторный набор. Такой цикл закрывает главную задачу — автоматическое создание звонков с прозрачной фиксацией результата.
Подготовка Asterisk и настройки 1С
Сначала проверьте версии Asterisk и 1С, включите нужные модули, создайте пользователя ARI или AMI и ограничьте его права. Для ARI настройте HTTPS и учётную запись, для AMI — списки доступа, события и команды.
На стороне Asterisk должны быть настроены план нумерации, внутренние или внешние номера, поставщик SIP и проверенный маршрут. Перед настройкой сверьте доступные команды и совместимость компонентов на странице проекта.
В 1С настройте HTTP-соединение с Asterisk, тайм-ауты и обработку ошибок. Обычно удобно использовать фоновое задание или веб-сервис: он формирует вызов, принимает ответ и не блокирует интерфейс пользователя.
Сценарии автоматического создания звонков
Типовой сценарий начинается с события в 1С: просроченного счёта, новой заявки, заказа клиенту или подтверждения договора. Правило отбора формирует номер, цель и приоритет вызова, после чего сервис создаёт канал в Asterisk.
Для разных целей применяют отдельные шаблоны: напоминание, информирование о заказе, проверку готовности или повторный звонок. Шаблон задаёт маршрут, сценарий, идентификацию вызывающего абонента, время ожидания и условия эскалации.
Источником задач и контрагентов может выступать KUBiK. Используйте его данные для формирования клиентской базы, графика контроля и запуска исходящих вызовов, сохраняя в 1С итог каждого обращения.
Обмен данными и фиксация результата
В запросе передавайте только необходимые поля: тип канала, номер, внутренний добавочный номер, идентификацию вызывающего абонента, приложение, аргументы и ссылку на запись 1С. Телефон нормализуйте заранее, сохраняя международный префикс и код страны.
Asterisk возвращает идентификатор вызова, а события по нему позволяют узнать, что вызов начат, занят, отвечен или завершён. Эти сведения записываются в журнал звонков; CDR и при необходимости запись разговора связываются с исходным документом.
При сбое HTTP-запроса не создавайте новый вызов сразу. Используйте очередь повторов, ключ идемпотентности и проверку существующего идентификатора, чтобы исключить повторный звонок клиенту.
Безопасность, мониторинг и отказоустойчивость
Учётные данные ARI или AMI храните в защищённых настройках 1С, а соединение выполняйте по HTTPS с проверкой сертификата. Пароль не включайте в журналы и диагностические сообщения; доступ к модулю вызова ограничивайте по ролям.
Ограничьте число параллельных каналов и частоту вызовов, иначе пик заданий может перегрузить телефонию. В очередь помещайте команды, которые Asterisk временно не принял, и применяйте контролируемый повтор.
Регулярно проверяйте состояние HTTP-сервиса, доступность SIP-маршрутов, задержки ответа и ошибки аутентификации. Сопоставляйте счётчики созданных и завершённых вызовов с записями 1С, чтобы быстро заметить расхождение.
Практические варианты и критерии готовности
Для пилота выберите один процесс и измеряйте результат:
- Сформируйте небольшую тестовую выборку клиентов с согласием на звонок.
- Проверьте номера разных форматов и международный префикс.
- Задайте правила повторов и максимальное количество попыток.
- Зафиксируйте время ответа Asterisk и долю завершённых вызовов.
Перед промышленной эксплуатацией подготовьте эксплуатационный минимум:
- Разделите тестовую и рабочую учётные записи Asterisk.
- Настройте оповещения об ошибках и недоступности SIP.
- Сохраняйте идентификатор каждого вызова в журнале 1С.
- Проведите нагрузочный тест с ограничением числа каналов.
Выбранный вариант должен давать измеримый эффект и не создавать двойные обращения. Сначала подтвердите маршрутизацию, запись результата и повторный набор, затем расширяйте список сценариев.
Начните с контролируемого пилота
Соберите короткую цепочку из одного события 1С, одного сценария Asterisk и одного контрольного журнала. Проверьте успешный ответ, занятый номер, отсутствие ответа и повторную попытку — это покажет поведение системы до подключения реальной клиентской базы.
Подключите KUBiK как источник задач и клиентских данных, а в KUBiK и 1С настройте единые правила запуска звонков. Зафиксируйте ответственных, время запуска и результат каждого контакта, после чего переходите к пилоту на ограниченной группе клиентов.