Телефония в CRM: SIP-транк и звонки из браузера

Как подключить провайдера телефонии к X10 CRM: транк, номера, SIP-аккаунты операторов, группы приёма входящих, маршруты и звонки прямо из браузера без софтфона.

Телефония в X10 CRM работает прямо во вкладке браузера: оператор нажимает номер в карточке заявки и говорит в гарнитуру. Никакого софтфона, настроек на компьютере или отдельной программы. Эта страница проводит администратора через всю настройку — от данных провайдера до первого тестового звонка.

#Как это устроено

В основе — сервер телефонии X10 CRM, который стоит рядом с вашей базой. Он держит соединение с провайдером телефонии и раздаёт звонки операторам. Браузер оператора подключается к нему напрямую по WebRTC — именно поэтому не нужно ничего устанавливать.

Кто делаетЧто именно
Команда X10Устанавливает и настраивает сервер телефонии при развёртывании CRM: сам сервер, медиа-сервер, сертификаты, порты. Заполняет технические поля подключения
Ваш администраторДобавляет транк провайдера, номера, операторов и правила маршрутизации — всё через интерфейс CRM, без доступа к серверу
Ваш провайдер телефонииВыдаёт SIP-аккаунт и городские или мобильные номера

Что входит в телефонию и автодайлер X10 CRM и как это выглядит в ежедневной работе команды — на странице CRM для колл-центра.

#Шаг 1. Что запросить у провайдера телефонии

Прежде чем заходить в настройки, соберите данные. Любой провайдер IP-телефонии выдаёт их по запросу «параметры SIP-подключения».

  • Адрес сервера провайдера — домен или IP
  • Порт (почти всегда 5060)
  • SIP-логин и пароль
  • Нужна ли регистрация на сервере, или аутентификация идёт по IP вашего сервера
  • Список ваших номеров в формате E.164 без плюса: 380441234567
  • Разрешено ли провайдером подставлять собственный номер в исходящих звонках

#Шаг 2. Глобальные настройки

Раздел Настройки → Телефония. Большинство полей здесь заполняются один раз при запуске, но знать их назначение полезно.

Поля, которые касаются вас

  • Телефония включенапереключательобязательное

    Главный выключатель. Пока выключено, кнопки звонка в карточках заявок не работают.

  • Первый внутренний номерчисло

    С какого числа начинается нумерация операторов. По умолчанию 2000, то есть первый оператор получит 2000, второй 2001 и далее.

  • Срок хранения записейдни

    Сколько дней держать аудио разговоров. По умолчанию 90. Значение 0 отключает автоудаление — но тогда следите за местом на диске.

Технические поля — заполняет команда внедрения

  • Внешний IP сервера, домен для браузерных звонковтекст

    Адреса, по которым браузер оператора находит сервер телефонии.

  • Адрес CRM для обратных вызововURL

    Куда сервер телефонии сообщает о начале и завершении звонка. Именно благодаря этому звонки появляются в истории заявки.

  • Параметры управляющего интерфейса и секреттекст

    Служебное соединение CRM с сервером телефонии. Менять эти поля без необходимости не стоит — звонки перестанут инициироваться.

  • Путь к записямтекст

    Каталог на сервере, куда складываются аудиофайлы разговоров.

#Шаг 3. SIP-транк провайдера

Транк — это соединение с провайдером. Создайте его в разделе транков и заполните данные из первого шага.

Поля транка

  • Системное названиелатиницаобязательное

    Короткий идентификатор без пробелов и кириллицы, например kyivstar или binotel. Менять потом не стоит — на него ссылается конфигурация сервера.

  • Отображаемое названиетекст

    Как транк подписан в интерфейсе. Здесь можно кириллицей.

  • Хост провайдерадомен или IPобязательное

    Адрес сервера провайдера.

  • Портчисло

    Обычно 5060.

  • Логин и парольтекстобязательное

    SIP-учётные данные от провайдера.

  • Регистрироваться у провайдерапереключатель

    Включено — сервер сам регистрируется логином и паролем. Отключите, если провайдер аутентифицирует вас по IP-адресу.

  • Активенпереключатель

    Отключённый транк не используется ни для входящих, ни для исходящих.

#Шаг 4. Номера

Добавьте каждый номер, который вам выделил провайдер. Номер записывается в формате E.164 без плюса и без пробелов: 380441234567. Каждый номер привязывается к транку, через который он работает.

Отображаемое название помогает не запутаться, когда номеров много: Основной Киев, Реклама Facebook, Горячая линия. Оно же потом видно в маршрутах и статистике — по нему удобно понимать, какая реклама даёт звонки.

#Шаг 5. SIP-аккаунты операторов

Чтобы оператор мог звонить, ему нужен внутренний номер. Откройте Настройки → Пользователи, найдите сотрудника и выдайте ему SIP-аккаунт одним действием.

  • Внутренний номер назначается автоматически — следующий свободный, начиная от значения из глобальных настроек.
  • Пароль генерируется случайный и надёжный. Оператору его знать не нужно: браузер получает данные сам, когда сотрудник заходит в CRM.
  • Имя для CallerID можно задать отдельно — оно показывается коллегам при внутренних звонках.
  • Снятие аккаунта удаляет внутренний номер. Делайте это при увольнении: иначе звонки и дальше будут идти на несуществующего оператора.

#Шаг 6. Группы приёма входящих

Группа определяет, у кого звонит телефон, когда клиент набирает ваш номер. Создайте группу, дайте ей системное название латиницей и добавьте операторов.

Настройки группы

  • Участникисписок операторов

    Звонок поступает всем одновременно — отвечает тот, кто первым снял трубку. В списке учитываются только операторы с внутренним номером.

  • Время ожиданиясекунды

    Сколько звонить, прежде чем считать звонок пропущенным. По умолчанию 30. Меньше 20 секунд ставить не стоит — люди не успевают.

  • Уведомлять ответственногопереключатель

    Если клиент уже есть в базе, звонок и уведомление дополнительно уйдут менеджеру, закреплённому за его последней заявкой. Очень удобно: постоянный клиент попадает к «своему» менеджеру, а не к случайному оператору.

#Шаг 7. Маршруты входящих звонков

Маршрут соединяет номер с тем, кто на него отвечает. На каждый номер — один маршрут, и в нём указывается или группа, или конкретный оператор.

СценарийКак настроить
Общая линия продажНомер → группа со всеми менеджерами
Персональный номер руководителяНомер → конкретный оператор
Разные отделы на разных номерахОтдельная группа на каждый отдел, каждый номер ведёт в свою группу
Разделить рекламные источникиНесколько номеров ведут в одну группу — источник виден в истории звонков

#Шаг 8. Какой номер видит клиент

Для исходящих звонков можно задать, какой именно из ваших номеров увидит клиент. Настраивается на двух уровнях:

  • Для проекта — все звонки в рамках проекта идут с одного номера. Логично, когда разные направления бизнеса имеют разные бренды.
  • Для конкретного оператора — персональный исходящий номер. Имеет приоритет и полезен, если часть команды работает на отдельный регион.

#Шаг 9. Применить конфигурацию

Изменения в транках, номерах и маршрутах не действуют сразу — их надо передать на сервер телефонии. Для этого есть отдельная страница с четырьмя действиями:

ДействиеЧто делаетКогда нужно
Синхронизировать аккаунтыПередаёт на сервер транки и внутренние номера операторовПосле добавления транка или выдачи SIP-аккаунта
Перезагрузить аккаунтыПросит сервер перечитать учётные данныеЕсли транк не регистрируется после синхронизации
Применить маршрутизациюОбновляет правила прохождения звонковПосле изменения групп, маршрутов или исходящих номеров
Применить всёВыполняет синхронизацию и маршрутизацию вместеУниверсальный вариант — берите его, если сомневаетесь

#Звонки из браузера: что делает оператор

  1. 01

    Разрешить доступ к микрофону

    При первом входе браузер запросит разрешение. Если оператор случайно нажал «Запретить», разрешение возвращается через иконку замка в адресной строке.

  2. 02

    Проверить гарнитуру

    Проводная USB-гарнитура даёт заметно лучшее качество, чем Bluetooth или встроенный микрофон ноутбука. Для колл-центра это не пожелание, а требование.

  3. 03

    Звонить из карточки заявки

    Нажатие на номер в карточке сразу поднимает соединение. Звонок, его длительность и запись автоматически привязываются к этой заявке.

  4. 04

    Принимать входящие

    Когда клиент звонит, CRM показывает уведомление и сразу открывает карточку заявки по номеру — оператор видит историю ещё до того, как поздоровался.

#Записи разговоров

  • Записывается каждый разговор, отдельными дорожками для оператора и клиента — именно раздельная запись даёт AI возможность корректно разбирать, кто что сказал.
  • Запись доступна из карточки заявки и из списка звонков: прослушивание прямо в браузере, при необходимости — скачивание.
  • Срок хранения по умолчанию — 90 дней; более старые файлы удаляются автоматически каждый день.
  • Доступ к прослушиванию и скачиванию регулируется правами — рядовой оператор может не иметь возможности выгрузить аудио.
  • Подробно о плеере, фильтрах и хранении — в статье Записи разговоров.

#Диагностика

СимптомНаиболее вероятная причинаЧто сделать
Кнопка звонка неактивнаТелефония отключена глобально или у оператора нет SIP-аккаунтаПроверьте главный выключатель и выдайте аккаунт в карточке пользователя
Исходящие не проходятТранк не зарегистрировался у провайдераПроверьте логин, пароль и хост, потом «Применить всё». Если провайдер пускает по IP — отключите регистрацию
Входящие не доходят до операторовНа номер не создан маршрут или в группе нет операторов с внутренним номеромСоздайте маршрут и проверьте состав группы
Звонок соединяется, но тишина с одной стороныСеть блокирует медиа-трафикПроверьте в другой сети. Если с мобильного интернета работает — вопрос к файрволу офиса
Клиент видит не тот номерНе задан исходящий номер для проекта или оператора, либо провайдер запрещает подменуЗадайте номер в настройках и уточните у провайдера, разрешена ли подмена
Звонки есть, а в заявке не появляютсяОбратные вызовы от сервера не доходят до CRMЭто технический вопрос — напишите нам, проверим адрес обратных вызовов
Запись не воспроизводитсяНет права на прослушивание или файл уже удалён по сроку храненияПроверьте права роли и срок хранения записей

#Права доступа

ДействиеПраво
Звонить из браузераcalls.sip_credentials
Видеть список звонковcalls.view_records_list
Слушать записиcalls.listen_records
Скачивать записиcalls.download_records
Видеть звонки в карточке заявкиcalls.view_in_lead
Слушать записи в карточке заявкиcalls.listen_in_lead
Настройки телефонииТолько администратор или суперадминистратор

#Чек-лист запуска

  • Данные от провайдера получены, формат аутентификации уточнён
  • Телефония включена в глобальных настройках
  • Транк создан и активирован
  • Все номера добавлены в формате без плюса и привязаны к транку
  • У каждого оператора есть внутренний номер
  • Группы приёма входящих созданы, время ожидания не меньше 20 секунд
  • На каждый номер создан маршрут
  • Исходящий номер задан для проекта или операторов
  • Нажато «Применить всё»
  • Тестовый исходящий звонок прошёл, звонок и запись появились в заявке
  • Тестовый входящий дошёл до группы и открыл карточку клиента
  • Срок хранения записей согласован с вашей политикой данных