Функциональные характеристики
ПО "CPaaS"
версия 28.06.2026
Оглавление
1. Термины и определения

2. Введение

3. Общие сведения о продукте
3.1. Архитектура системы
3.2. Функции безопасности
3.3. API ПО «CPaaS»
3.3.1. Учётные записи (Accounts)
3.3.2. Вызовы — Voice API (Calls)
3.3.3. Конференции и участники (Conferences/Participants)
3.3.4. Сообщения — SMS API (Messages)
3.3.5. Записи разговоров (Recordings)
3.3.6. Транскрипции (Transcriptions)
3.3.7. Телефонные номера (Phone Numbers)
3.3.8. SIP-транкинг (SIP)
3.3.9. Ключи API (Keys)
3.3.10. Учёт использования (Usage)
3.3.11. BYOC-транки и политики подключения (v1)
3.3.12. Сервисы и файлы сценариев (Services/Assets, v1)
3.3.13. Визуальные сценарии IVR (Flows, v2)

4. Системные требования
4.1. Требования к кластеру Kubernetes
4.2. Требования к хосту компонентов sfas / Kamailio / RtpEngine
4.3. Требования к квалификации обслуживающего персонала

5. Установка ПО «CPaaS»
5.1. Описание установочного пакета
5.2. Установка на Kubernetes
5.2.1. Шаг 1. Подготовка кластера Kubernetes
5.2.2. Шаг 2. Настройка сетевой инфраструктуры
5.2.3. Шаг 3. PostgreSQL (namespace cpaas)
5.2.4. Шаг 4. RabbitMQ (namespace cpaas)
5.2.5. Шаг 5. Инициализация базы данных
5.2.6. Шаг 6. Развертывание прикладных компонентов CPaaS
5.3. Установка компонентов вне кластера Kubernetes
5.3.1. Установка

6. Настройка ПО «CPaaS»
6.1. Создание аккаунта через веб-консоль
6.2. Настройка посредством API
6.2.1. Получение идентификатора и токена аккаунта
6.2.2. Добавление страны и телефонного номера
6.2.3. Определение адреса API Gateway
6.3. Настройка SIP-транка для исходящих вызовов
6.4. Настройка для входящих вызовов

7. Запуск, перезапуск и завершение работы
7.1. Запуск
7.2. Перезапуск
7.3. Останов

8. Обновление и удаление
8.1. Обновление
8.2. Удаление

9. Проверка работоспособности

10. Log guide. Анализ диагностической информации

11. Мониторинг работы

12. Troubleshooting. Устранение неисправностей
12.1. Поды находятся в состоянии Pending
12.2. Кластер PostgreSQL не переходит в состояние healthy
12.3. Ошибки подключения к RabbitMQ
12.4. Ошибки сервиса STT/ASR
12.5. Необходимость обращения в техподдержку
1 Термины и определения
2 Введение
Данный документ (далее — Руководство) является руководством по эксплуатации программного
обеспечения (далее — ПО) «CPaaS» производства компании ООО «Интерконнект», Российская
Федерация. Руководство содержит описание назначения и основных принципов работы ПО «CPaaS», архитектуру системы, требования к инфраструктуре, а также описание процедур установки, настройки, запуска,
мониторинга и устранения неисправностей. Структура и способ изложения материала предполагают наличие у читателя рабочих знаний UNIX- подобных операционных систем, платформы контейнерной оркестрации Kubernetes, а также основ построения сетей связи общего пользования. Все IP-адреса, идентификаторы и доменные имена приведены в качестве примеров и не имеют отношения к реальным абонентам или элементам сети.
ПО «CPaaS» представляет собой программную платформу для реализации подхода CPaaS (Communication Platform as a Service) — коммуникационной платформы как услуги.

ПО «CPaaS» предназначено для использования на сетях операторов подвижной и фиксированной телефонной связи, а также на внутренних корпоративных сетях юридических лиц — от медицинских клиник и магазинов до холдингов, имеющих в распоряжении собственные выделенные сети LTE/5G.

ПО «CPaaS» применяется на сетях мобильной связи стандартов GSM, UMTS, LTE, имеющих множество географически распределенных узлов связи.

ПО «CPaaS» позволяет:

1. Оказывать услуги телефонной связи и технологически связанные с ними сервисы:
• запись разговоров;
• VoLTE-этикетки.

2. Предоставлять функциональность:
• STT (Speech-to-Text) — распознавание и транскрибирование аудиофайлов;
• Streaming ASR (Automatic Speech Recognition) — онлайн/потоковое распознавание фраз/слов для построения IVR-решений и интеллектуальных голосовых ассистентов;
• TTS (Text-to-Speech) — генерация голосовых фраз из текста;
• прочие сервисы, которые доступны у отдельных поставщиков, работающих в области искусственного интеллекта или машинного обучения (AI/ML).

3. Строить более высокоуровневые продукты на базе готовых примитивов стандартизированных API — Voice API и SMS API:
• Скрытие реальных номеров при общении клиентов компании (например, телефонные звонки по онлайн-объявлениям);
• Построение решений по аутентификации/верификации абонентов: двухфакторная аутентификация — 2FA, одноразовые пароли — OTP и т.п.;
• Low/No Code решения — визуальные конструкторы IVR и т.п.;
• Виртуальные Ассистенты;
• Контакт-центры.

4. Организовать среду для разработки (SDK) клиентом дополнительных сервисов и сценариев на следующих языках программирования:
C#, Java, JavaScript (Node.js), PHP, Python, Ruby, Go.

5. Масштабировать ПО «CPaaS» по мере развития сети оператора связи или клиента.

6. Осуществлять мониторинг работоспособности платформы в режиме реального времени.

7. Плавно интегрироваться в существующие каналы связи и бизнес-приложения оператора связи или клиента.

Часть функций или услуг может предоставляться существующими программными системами или подразделениями на сети оператора связи или организации — ценность объединения перечисленного функционала в ПО «CPaaS» состоит в возможности его представления в рамках целостного и единообразного API.
3.1 Архитектура системы
3.2 Функции безопасности
ПО «CPaaS» оперирует следующими конфиденциальными данными:
  • абонентские номера, информация о вызовах и сообщениях;
  • учётные данные для подключения к БД, брокеру сообщений и объектному хранилищу.

Меры обеспечения безопасности:
  • учётные данные и ключи доступа хранятся в Kubernetes Secrets и не передаются в открытом виде;
  • взаимодействие между компонентами ограничено рамками namespace cpaas;
  • доступ к реестру образов контейнеров ограничен секретом sifox-imagepull-secret;
  • сетевая изоляция обеспечивается политиками Kubernetes (Kyverno / NetworkPolicy);
  • административные изменения конфигурации применяются только после перезапуска компонента.
3.3 API ПО «CPaaS»
Компонент apigw предоставляет внешний REST API платформы, через который реализуются Voice API, SMS API и управление вспомогательными ресурсами (SIP-транкинг, визуальные сценарии IVR, файлы сценариев и т.п.). API построен по модели ресурсов (аккаунт, вызов, сообщение, конференция и т.д.) и использует версионирование путей: устаревающая версия /2010-04-01/... (Voice/SMS API, SIP, номера, использование, ключи), а также актуальные версии /v1/... (BYOC-транкинг, файлы сценариев) и /v2/... (визуальный конструктор сценариев Flows).

Запросы к API выполняются по протоколу HTTPS, аутентификация — по схеме HTTP Basic Auth с использованием идентификатора аккаунта (Account SID) в качестве имени пользователя и токена доступа (Auth Token) в качестве пароля. Ответы API возвращаются в формате JSON.
Внимание:
Идентификатор аккаунта и токен доступа являются конфиденциальными данными и передаются
получателю отдельным защищённым каналом, не публикуются в настоящем документе.
Ниже приведён перечень ресурсов и операций API, сгруппированных по функциональному назначению.
3.3.1Учётные записи (Accounts)
Базовый путь: /2010-04-01/Accounts.
3.3.2 Вызовы — Voice API (Calls)
Базовый путь: /2010-04-01/Accounts/{Acc_Sid}/Calls.
3.3.3 Конференции и участники (Conferences/Participants)
Базовый путь: /2010-04-01/Accounts/{Acc_Sid}/Calls.
3.3.3 Конференции и участники (Conferences/Participants)
Базовый путь: /2010-04-01/Accounts/{Acc_Sid}/Conferences.
3.3.4 Сообщения — SMS API (Messages)
Базовый путь: /2010-04-01/Accounts/{Acc_Sid}/Messages.
3.3.5 Записи разговоров (Recordings)
Базовый путь: /2010-04-01/Accounts/{Acc_Sid}/Recordings.
3.3.6 Транскрипции (Transcriptions)
Базовый путь: /2010-04-01/Accounts/{Acc_Sid}/Transcriptions
3.3.7 Телефонные номера (Phone Numbers)
Базовый путь: /2010-04-01/Accounts/{Acc_Sid}.
3.3.8 SIP-транкинг (SIP)
/2010-04-01/Accounts/{Acc_Sid}/SIP
3.3.9Ключи API (Keys)
Базовый путь: /2010-04-01/Accounts/{Acc_Sid}/Keys.
3.3.9 Ключи API (Keys)
Базовый путь: /2010-04-01/Accounts/{Acc_Sid}/Keys.
3.3.10 Учёт использования (Usage)
Базовый путь: /2010-04-01/Accounts/{Acc_Sid}/Keys.
3.3.11 BYOC-транки и политики подключения (v1)
Ресурсы для подключения собственного оператора связи (Bring Your Own Carrier). Базовый путь: /v1.
3.3.12 Сервисы и файлы сценариев (Services/Assets, v1)
Ресурсы для хранения и версионирования файлов, используемых сценариями (аналог статического
хостинга для IVR-сценариев). Базовый путь: /v1/Services.
3.3.13 Визуальные сценарии IVR (Flows, v2)
Ресурсы конструктора визуальных сценариев (Low/No-Code IVR, упомянутого в разделе назначения комплекса) и их выполнения. Базовый путь: /v2/Flows.
4 Системные требования
Аппаратные требования ПО «CPaaS» складываются из требований к узлам кластера Kubernetes, на котором развертывается основная часть компонентов платформы, и требований к отдельному хосту для компонентов sfas_aas, Kamailio и RtpEngine, разворачиваемых вне кластера Kubernetes.
4.1 Требования к кластеру Kubernetes
Минимальная отказоустойчивая конфигурация кластера Kubernetes включает 3 ноды со следующими
характеристиками каждая:
Таблица 1. Минимальные требования к узлу кластера Kubernetes
Внимание:
При развертывании кластера в однонодовой конфигурации (без отказоустойчивости) суммарные требования к единственному узлу составляют не менее 6 vCPU и не менее 12Gb оперативной памяти —то есть сумма ресурсов трех нод минимальной конфигурации.
Таблица 2. Минимальные требования к хосту sfas / Kamailio / RtpEngine
Указанные конфигурации являются минимальными и могут быть увеличены в зависимости от
ожидаемой нагрузки (количества единовременных вызовов, объема обрабатываемого голосового
трафика и подключаемых сервисов AI/ML).
Тип развертывания — кластер Kubernetes для основной части компонентов; отдельный выделенный
хост — для sfas_aas/Kamailio/RtpEngine. Поддерживается развертывание как на виртуальных машинах
(VM), так и на физических серверах (Bare Metal).
4.3 Требования к квалификации обслуживающего персонала
К работе с ПО «CPaaS» должны допускаться только должностные лица, имеющие:
  • опыт работы с UNIX-подобными операционными системами;
  • практические навыки работы с Kubernetes и Helm;
  • знание основ администрирования PostgreSQL и RabbitMQ;
  • базовые знания протокола SIP и понимание принципов телефонии (сигнализация, установление
  • и завершение вызова, передача медиатрафика по RTP/SRTP);
  • изучившие настоящее руководство по эксплуатации.
5 Установка ПО «CPaaS»
5.1 Описание установочного пакета
В состав установочного пакета входят:
  • Helm-чарты (или эквивалентные HelmChart-манифесты) для инфраструктурного уровня: Kyverno, cert-manager, MetalLB, Traefik, CNPG Operator (с плагином резервного копирования plugin- barman-cloud), CSI S3, операторы RabbitMQ (rabbitmq-cluster-operator, rabbitmq-messaging- topology-operator);
  • Helm-чарты прикладного уровня: cpaas-app (основное приложение), billing (биллинг), api-gw (API Gateway), sengine (сервисный движок сценариев), copula-webui (веб-консоль управления);
  • вспомогательные чарты инициализации базы данных: миграция схемы и наполнение справочных данных (тарифы и категории использования для биллинга);
  • образы контейнеров из корпоративного реестра образов;
  • Kubernetes-манифесты для конфигурации кластеров PostgreSQL, RabbitMQ (включая топологию — виртуальные хосты, пользователи, обменники, очереди, правила) и прочих вспомогательных ресурсов.
Примечание:
Компоненты sfas_aas, Kamailio и RtpEngine в состав установочного пакета Kubernetes не входят и
устанавливаются отдельно, на выделенном хосте вне кластера (см. раздел «Требования к хосту
компонентов sfas / Kamailio / RtpEngine»). Их сетевые адреса указываются в параметрах конфигурации
чартов api-gw и sengine соответственно.
Для выполнения установки необходим доступ к корпоративному реестру образов и Helm-репозиторию (<REPO_AUTH>).
Для выполнения установки войдите в систему с правами, достаточными для работы с кластером
Kubernetes. Все дальнейшие действия выполняются в командной строке терминала.
5.2 Установка на Kubernetes
Развертывание ПО «CPaaS» выполняется в кластере Kubernetes с использованием MetalLB в качестве балансировщика нагрузки. Установка выполняется последовательно в пять шагов.
5.2.1 Шаг 1. Подготовка кластера Kubernetes
Создание namespace:
kubectl create namespace infrastructure
kubectl create namespace cpaas
Добавить в оба namespace секрет для доступа к реестру образов контейнеров (sifox-imagepull-secret). Также необходимо выбрать или установить дефолтный StorageClass. Политики Kyverno (опционально):
helm install kyverno kyverno \
--repo https://kyverno.github.io/kyverno/ \
--version 3.8.1 -n infrastructure