Интеграция АТС с 1С:Предприятием: от выбора схемы до карточки звонка
Содержание
Подключить телефонию к 1С проще всего через облачную АТС, у которой есть готовый модуль для 1С: ставите расширение или внешнюю обработку , вводите ключ API из личного кабинета АТС и привязываете сотрудников к внутренним номерам. На это уходит от часа до дня. Если АТС своя (Asterisk, FreePBX), интеграцию делают через интерфейс AMI и коннектор. Для старой офисной станции остаётся TAPI-драйвер на каждом рабочем месте.
Схема выбирается по тому, где стоит АТС и сколько у вас сотрудников на линии. Дальше — по шагам: сеть и порты, установка модуля, сопоставление номеров с клиентами, маршрутизация и отчёты по звонкам.
Какую схему интеграции телефонии с 1С выбрать
Интеграция всегда решает три задачи: показать менеджеру, кто звонит; сохранить звонок в базе; позвонить клиенту одним кликом. Различаются способы доставки событий из АТС в 1С.
| Схема | Как события попадают в 1С | Когда выбирают | Ограничения |
|---|---|---|---|
| Облачная АТС + модуль провайдера | Вебхуки на HTTP-сервис 1С или опрос API | Нет своей станции, 3–100 сотрудников | Нужна публикация базы в интернет или опрос по таймеру |
| Asterisk / FreePBX + коннектор | Интерфейс AMI (TCP 5038) или ARI | Своя АТС в офисе, есть администратор | Настройка и поддержка ложатся на вас |
| Аппаратная АТС через TAPI | TAPI-драйвер на компьютере пользователя | Panasonic, Avaya и подобные станции | Только тонкий клиент под Windows, драйвер на каждом ПК |
| Софтфон с поддержкой интеграции | Софтфон передаёт номер в 1С | Нужен только набор кликом | Нет общей статистики и записей |
Что понадобится в любом варианте:
- 📞 Номера и линии. Виртуальный номер или SIP-транк от оператора.
- 🎧 Телефоны. IP-телефоны, гарнитуры с софтфоном или мобильное приложение АТС.
- 🧩 Модуль для 1С. Расширение (
.cfe), внешняя обработка (.epf) или внешняя компонента. Его выпускает провайдер АТС или сторонний разработчик. - 🔑 Права. Полные права в 1С для установки и учётная запись в кабинете АТС с доступом к API.
Ориентиры по деньгам: облачная АТС обходится примерно в 300–800 руб. в месяц за сотрудника. Модуль для 1С у крупных провайдеров часто входит в тариф. Сторонние коннекторы для Asterisk стоят ориентировочно от 5 до 30 тыс. руб. за лицензию или продаются по подписке.
Сеть и порты для телефонии с 1С
Самая частая причина «модуль установлен, а ничего не работает » — сеть. До установки модуля проверьте, куда и откуда должны ходить пакеты.
Облачная АТС и вебхуки
Если модуль принимает события вебхуками, АТС стучится в вашу 1С по HTTPS. Для этого база публикуется на веб-сервере (Apache или IIS) с HTTP-сервисами:
- Откройте базу в Конфигураторе:
Администрирование → Публикация на веб-сервере. - Отметьте публикацию HTTP-сервисов. Сам сервис появляется после установки модуля, поэтому публикацию придётся обновить после шага установки.
- Откройте снаружи порт 443 на веб-сервере. Порт 80 без шифрования для вебхуков не используйте: в запросах идут номера клиентов.
- Поставьте действующий TLS-сертификат. Самоподписанный сертификат большинство АТС отвергнут.
- Ограничьте входящий доступ к адресу сервиса списком IP-адресов провайдера. Список обычно есть в документации АТС.
Если публиковать базу в интернет нельзя, выбирайте модуль, который сам опрашивает API АТС по таймеру. Карточка звонка тогда всплывает с задержкой в несколько секунд, зато наружу ничего не открыто.
Своя АТС на Asterisk
Коннектор подключается к Asterisk по AMI, по умолчанию это TCP 5038. Порт должен быть открыт только для сервера, где работает коннектор. Пример пользователя в /etc/asterisk/manager.conf:
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
[crm1c]
secret = СложныйПароль_16символов
deny = 0.0.0.0/0.0.0.0
permit = 10.0.0.15/255.255.255.255
read = call,cdr
write = originate
Права read = call,cdr дают события о звонках, write = originate — набор номера из 1С. Больше прав коннектору обычно не нужно. После правки выполните asterisk -rx "manager reload".
Никогда не открывайте AMI в интернет. Через пользователя с широкими правами можно звонить за ваш счёт на платные направления.
Для самих телефонов остаются SIP (обычно 5060, 5061 для TLS) и диапазон RTP для голоса. В Asterisk диапазон задаётся в rtp.conf, по умолчанию 10000–20000 UDP.
Установка модуля интеграции в 1С
Модули поставляются в трёх видах, и от этого зависит порядок установки.
Расширение конфигурации
Самый распространённый вариант для БП 3.0, УТ 11, КА, ERP и УНФ:
- Сделайте резервную копию базы .
- Откройте
Администрирование → Печатные формы, отчеты и обработки → Расширения. - Нажмите «Добавить из файла» и выберите
.cfe. - Если модуль вызывает внешние ресурсы или компоненты, снимите у расширения флажок безопасного режима. Это допустимо только для модуля из проверенного источника.
- Перезапустите сеанс 1С.
- Обновите публикацию на веб-сервере, если модуль добавил HTTP-сервис.
Внешняя обработка
Подключается в Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Обработку добавляют из файла и назначают ей разделы и пользователей. Такой вариант подходит для набора номера и журнала звонков, но фоновый приём событий через обработку работает хуже.
Внешняя компонента
Её требуют TAPI-интеграции и часть коннекторов к Asterisk. Компонента ставится на компьютер пользователя, а не в базу. В тонком клиенте под Windows всё работает. В веб-клиенте для компонент нужно расширение браузера, и часть интеграций там не запустится вовсе.
После установки в настройках модуля обычно задают:
- 🔑 ключ API или логин и пароль из кабинета АТС;
- 🌐 адрес АТС или адрес вашего HTTP-сервиса для вебхуков;
- 👤 соответствие «пользователь 1С → внутренний номер».
Последний пункт забывают чаще всего. Без него 1С не знает, кому показывать карточку.
Как 1С сопоставляет номер с клиентом
Карточка звонка полезна, только если 1С узнаёт звонящего. Поиск идёт по телефонам из контактной информации контрагентов, контактных лиц и партнёров. Проблема в том, что номера в базе записаны как попало: 8 (912) 345-67-89, +7 912 3456789, 9123456789.
Хорошие модули перед поиском приводят номер к единому виду: оставляют цифры и отрезают код страны. Если ваш модуль так не делает, номера в базе придётся чистить. Логика нормализации выглядит так:
Функция НормализоватьНомер(Номер)
Цифры = "";
Для Сч = 1 По СтрДлина(Номер) Цикл
Символ = Сред(Номер, Сч, 1);
Если СтрНайти("0123456789", Символ) > 0 Тогда
Цифры = Цифры + Символ;
КонецЕсли;
КонецЦикла;
Если СтрДлина(Цифры) = 11 И (Лев(Цифры, 1) = "7" Или Лев(Цифры, 1) = "8") Тогда
Цифры = Сред(Цифры, 2);
КонецЕсли;
Возврат Цифры;
КонецФункции
Из 8 (912) 345-67-89 функция вернёт 9123456789, из +7 912 3456789 — тоже 9123456789. Сравнивать нужно эти десять цифр.
Что делать с неопознанными номерами:
- 🆕 Новый клиент. Модуль предлагает создать контрагента или лид прямо из карточки звонка.
- 🔁 Один номер у нескольких клиентов. Например, общий номер холдинга. Модуль должен показать список, а не первого попавшегося.
- 🏢 Внутренние звонки. Короткие номера из 3–4 цифр лучше исключить из поиска, чтобы не плодить пустые карточки.
Перед запуском выгрузите список контрагентов с телефонами и проверьте, сколько номеров без кода города. Городские номера без кода 1С не сопоставит никогда.
Сам звонок сохраняется документом или записью журнала. В конфигурациях с подсистемой взаимодействий (УТ 11, КА, ERP) это документ «Телефонный звонок», который виден в истории взаимодействий с клиентом. В других конфигурациях модуль ведёт собственный журнал.
Маршрутизация и очереди звонков
Очередь и распределение вызовов живут в АТС, а не в 1С. 1С может подсказать АТС, кому отдать звонок. Механизм называют по-разному: умная маршрутизация, запрос ответственного, маршрутизация по CRM.
Как это работает:
- Клиент звонит на общий номер.
- АТС отправляет номер в 1С и ждёт ответа доли секунды.
- 1С находит контрагента и возвращает внутренний номер ответственного менеджера.
- АТС переводит звонок на него. Если менеджер занят или не ответил за заданное время, звонок уходит в общую очередь.
Типичные правила для очереди:
| Ситуация | Куда направить |
|---|---|
| Клиент найден, есть ответственный | Сразу на ответственного, через 15–20 секунд — в очередь отдела |
| Клиент найден, долг по оплате | В бухгалтерию или к менеджеру по дебиторке |
| Номер неизвестен | В общую очередь продаж |
| Звонок в нерабочее время | Голосовое меню и запись обращения, задача менеджеру утром |
Если 1С не ответила АТС вовремя (база перегружена, веб-сервер лежит), АТС должна сама отправить звонок по резервному маршруту. Проверьте резервный маршрут до запуска, иначе при сбое 1С клиенты будут слышать тишину.
Для умной маршрутизации HTTP-сервис должен отвечать быстро. Не нагружайте его тяжёлыми запросами: поиск по нормализованному номеру с индексом, и больше ничего.
Отчёты по звонкам и контроль качества
Когда звонки попадают в 1С, их можно связать со сделками и оплатами. Именно ради этого телефонию и интегрируют, а не ради всплывающей карточки.
Что стоит смотреть:
- 📉 Пропущенные. Сколько входящих осталось без ответа и сколько из них не перезвонили за час.
- ⏱ Время ответа. Среднее время до снятия трубки по отделам.
- 👥 Нагрузка. Число звонков и минут разговора на менеджера.
- 💰 Конверсия. Сколько звонков от новых номеров превратилось в заказы или счета.
Записи разговоров чаще всего хранятся у АТС, а 1С получает ссылку. Ссылки бывают временными, поэтому прослушивание старых записей иногда ломается. Если записи нужны годами, настройте выгрузку файлов в своё хранилище.
Запись разговора с клиентом содержит его персональные данные. Предупреждайте о записи в начале звонка и ограничьте права на прослушивание в 1С: доступ нужен руководителю отдела, а не всем пользователям.
Если телефония не работает с 1С: типичные сбои
Если для диагностики нужно перезапустить веб-сервер или службу коннектора, делайте это вне рабочего времени. Пока сервис лежит, карточки не всплывают, а звонки уходят только по резервному маршруту.
Частые вопросы
Можно ли подключить телефонию к базовой версии 1С?
Работает ли интеграция в 1С:Фреш и других облачных базах?
Нужно ли менять номер телефона при переходе на облачную АТС?
Сколько каналов нужно для офиса?
Можно ли звонить из 1С с мобильного телефона менеджера?
Источники
- Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных»