Настройка телефонии
Как подключить SIP-провайдера, принимать входящие, раздать внутренние номера, собрать группы и голосовое меню, включить запись и перевод звонков.
Телефония превращает SIP-номер вашего провайдера в небольшую станцию команды: входящие принимают сотрудники в приложении Calab (компьютер, веб-версия, в том числе в браузере телефона), исходящие набираются из голосовой комнаты. Раздел — для администраторов пространства. Телефония входит в тарифы Business и Enterprise; на других тарифах настроенное подключение остаётся видно, но включить его нельзя. Сами звонки оплачиваются у вашего SIP-провайдера.
Всё настраивается в «Настройки пространства → Телефония». Вкладки: Активные звонки, Номера, Группы, IVR, Настройки.
1. Подключите провайдера
- Откройте вкладку Настройки и заполните данные из кабинета провайдера: сервер, транспорт (UDP, TCP или TLS), логин, пароль и Caller ID. Пароль хранится зашифрованным и после сохранения не показывается: пустое поле оставляет прежний.
- Нажмите Проверить подключение: Calab сделает короткий реальный звонок на Caller ID и покажет результат.
- Включите телефонию и сохраните.
Чтобы набирать номера из голосовой комнаты, участнику нужно право «Звонить на номера» (по умолчанию его нет ни у кого); направления можно ограничить префиксами. Гостям звонить нельзя. Журнал звонков — на вкладке «Активные звонки», под списком.
2. Включите входящие
В карточке Входящие вкладки «Настройки» выберите, как провайдер присылает звонки:
- По регистрации — рекомендуемый способ. Сервер Calab сам регистрируется у провайдера с логином и паролем, как настольный телефон, и принимает звонки по этой регистрации. Открывать порты и пробрасывать их не нужно. Состояние регистрации видно в карточке: «Зарегистрировано до …» или причина ошибки (например, провайдер не принял логин или пароль). Регистратор, SIP-домен и интервал можно изменить в свёрнутом блоке «Регистратор, домен и интервал» — нужно это редко.
- На адрес сервера — провайдер звонит на публичный адрес сервера (IP-транк, без регистрации). Если он звонит не с адреса своего хоста, перечислите его адреса или диапазоны.
Затем выберите, куда направлять входящие: сотрудника или бота, группу или голосовое меню. Если сервер не принимает входящие (не настроен воркер автоответа), на вкладках появится подсказка: номера, группы и меню можно подготовить заранее. Абонент платит провайдеру с момента, когда отвечает меню или звонят сотрудникам.
3. Раздайте внутренние номера
На вкладке Номера добавьте номер из 2–6 цифр и назначьте его сотруднику или боту. Описание, например «Бухгалтерия», только справочное. Номера видят все участники, кроме гостей; он же показан в карточке участника как «Внутренний номер».
Переключатель «Не принимать внешние звонки по добавочному» закрывает номер от набора из голосового меню: звонящий услышит меню снова. Кнопки меню, группы и переадресации, которые вы настроили сами, продолжают звонить этому сотруднику.
4. Соберите группы
На вкладке Группы создайте группу — у неё свой номер и участники (до 20 номеров сотрудников или ботов):
- Все сразу — звонят всем одновременно, отвечает первый; освободившиеся подключаются.
- По очереди — по одному в заданном порядке, начиная со следующего после ответившего в прошлый раз; задайте, сколько секунд звонить каждому. Кто не в сети или занят — пропускается.
Переадресация, если никто не ответил выключена по умолчанию: тогда группа звонит, пока кто-нибудь не ответит или звонящий не положит трубку. Включите её и укажите «Через N с перевести …»: в другую группу, на сотрудника или бота, в голосовое меню или положить трубку (от 5 до 600 с). За один звонок возможно не больше трёх переадресаций между группами.
5. Настройте голосовое меню (IVR)
На вкладке IVR создайте меню:
- Загрузите запись приветствия: MP3, WAV или OGG до 10 МБ и до 3 минут. Громкость выровняется автоматически. Пока записи нет, меню не звучит и звонок сразу идёт по правилу «Если ничего не нажали».
- Назначьте кнопки (0–9,
*,#): каждой — сотрудника или бота, группу, другое меню, повтор или «положить трубку». - Задайте, сколько ждать нажатия (3–15 с), сколько повторов (1–5) и что делать, если ничего не нажали.
Кнопку можно нажать, не дожидаясь конца записи. Включив «Разрешить набор добавочного номера», вы позволите звонящему набрать внутренний номер сотрудника, бота или группы: набор заканчивается паузой в 3 секунды или #; неизвестный и закрытый от внешних номер — меню прозвучит снова.
Чтобы входящие шли в меню, выберите его в карточке «Входящие» как место назначения.
6. Включите запись звонков
В карточке Запись звонков (вкладка «Настройки») включите запись входящих и/или исходящих. Запись входящего идёт с ответа сотрудника или бота, а не пока играет меню; в записи исходящего оказываются все, кто говорит в комнате, откуда звонят. Файлы (Ogg/Opus) попадают на Диск пространства в папку phone_recordings, по подпапке на день, и занимают место пространства. Сначала папку видит только владелец — доступ к ней он выдаёт сам.
Предупредить звонящих о записи — задача администратора: в настройках голосового меню загрузите файл «Предупреждение о записи» (тот же формат). Он играет звонящему перед соединением с сотрудником, ботом или группой.
7. Переводите звонки и следите за ними
Сотрудник во время звонка нажимает «Перевести» и выбирает коллегу, внутренний номер или набирает номер. Перевод идёт с ожиданием: вы остаётесь с абонентом, пока цель не ответит. Ответила — звонок её; не ответила за 30 секунд, отклонила или вы нажали «Отменить перевод» — звонок остаётся у вас.
Вкладка Активные звонки показывает идущие звонки: направление, этап (голосовое меню, звонит группе, разговор) и кто сейчас разговаривает. Список обновляется сам, пока вкладка открыта. Без права на журналы номер абонента показывается маской.
Боты и телефония
Боту можно назначить внутренний номер, поставить его целью кнопки меню, переадресации или участником группы. Принимать такие звонки бот умеет не сам по себе: его код должен обработать событие SIP_INBOUND_RING, подтвердить звонок запросом accept и войти в голосовую комнату звонка — дальше (распознавание и синтез речи, создание задач) всё в логике бота. Готового бота без программирования нет, поэтому сначала убедитесь, что ваш бот это делает; иначе звонок бота не дождётся ответа и уйдёт по переадресации или завершится. Подробно о ботах — в разделе Боты и интеграционный API.