Внедрение
Документ описывает внедрение SmartCPD как проекта: что собрать до старта, в каком порядке вести работы, кто за что отвечает и как принять решение о выводе в продуктив.
Это не инструкция по установке стека. Команды установки, конфигурация Docker и параметры setup — в документе Установка.
Аудитория#
- руководитель проекта внедрения;
- инженер внедрения;
- пресейл;
- архитектор / техлид со стороны заказчика.
Когда читать документ#
| Момент | Зачем |
|---|---|
| До проектирования и sizing | Раздел 1 — Проектирование |
| До установки | Раздел 2 — Подготовка инфраструктуры |
| Установка и настройка | Разделы 3–4 |
| Тестирование и приёмка | Разделы 5–6 |
Границы документа#
Входит#
- шесть фаз внедрения (разделы 1–6) и порядок работ;
- pre-install опросник — что собрать у заказчика до старта;
- матрица RACI — кто за что отвечает;
- проверка работоспособности внедрения и вывод в продуктив (разделы 5–6);
- чек-лист приёмки и передачи проекта;
- ссылки на смежные документы (установка, архитектура, эксплуатация).
Не входит#
- команды установки, Docker и параметры setup — Установка, Docker;
- миграции и обновление версий — Обновление, Release Notes;
- пошаговые UI-инструкции — Руководство пользователя;
- полное тестирование продукта и приёмочное тестирование заказчика (UAT);
- глубокая диагностика инцидентов — Troubleshooting;
- сопровождение после запуска (day-2) — Описание возможностей, Мониторинг.
Основное содержание организовано по шести фазам (разделы 1–6). Краткий обзор:
| # | Фаза | Раздел |
|---|---|---|
| 1 | Проектирование | §1 |
| 2 | Подготовка инфраструктуры | §2 |
| 3 | Установка SmartCPD | §3 |
| 4 | Настройка | §4 |
| 5 | Проверка работоспособности внедрения | §5 |
| 6 | Приёмка и вывод в продуктив | §6 |
1. Проектирование#
Цель#
Согласовать с заказчиком входные данные, архитектуру и sizing до начала работ на инфраструктуре.
Работы#
Pre-install: входные данные#
Перед началом работ соберите и согласуйте перечень ниже. Незаполненные поля — риск срыва сроков или пересборки архитектуры на поздней фазе.
Проект и контакты#
| Поле | Пример / формат | Статус |
|---|---|---|
| Название проекта | ☐ | |
| Заказчик, ИНН / юр. лицо | ☐ | |
| Контактное лицо заказчика (тех.) | ФИО, email, телефон | ☐ |
| Контактное лицо заказчика (бизнес) | ☐ | |
| Ответственный от вендора / внедрения | ☐ | |
| Целевая дата go-live | YYYY-MM-DD | ☐ |
| Окно работ (если ограничено) | ☐ |
Нагрузка и прогноз#
Нужно знать любые два из трёх
| Поле | Пример / формат | Статус |
|---|---|---|
| Пиковый CPS | 50 | ☐ |
| Пиковые конкурентные линии | 500 | ☐ |
| Среднее время попытки, сек | 30 секунд | ☐ |
Single-tenant / Multi-tenant#
Режим определяет модель доступа и объём настройки на §4. Подробнее — Руководство пользователя → Режимы работы.
| Поле | Пример / формат | Статус |
|---|---|---|
| Режим установки | single-tenant / multi-tenant (Cloud) | ☐ |
| Число тенантов (только multi-tenant) | 2 | ☐ |
Перечень тенантов (заполнить для multi-tenant; для single-tenant — одна строка заказчика):
| # | ИНН | Наименование организации | Статус |
|---|---|---|---|
| 1 | ☐ | ||
| 2 | ☐ |
Учётная запись superadmin (управление всей платформой, tenant scope all — см. Ролевая модель):
| Поле | Пример / формат | Статус |
|---|---|---|
Кому передаётся доступ superadmin при сдаче | заказчик / интегратор | ☐ |
| Контактное лицо (ФИО, email) | ☐ | |
| Политика пароля / смена пароля после первого входа | по регламенту заказчика | ☐ |
Для каждого тенанта в multi-tenant отдельно заводится администратор
tenant_adminи передаётся заказчику — см. §4.6. Прочих пользователей и ролей внедрение не создаёт.
Топология и режим#
Число нод определяется через калькулятор исходя из предыдущего пункта
| Поле | Пример / формат | Статус |
|---|---|---|
| HA | да / нет | ☐ |
| Число и роли нод | service, worker, balancer, analyzer | ☐ |
| Размещение | on-prem / private cloud / иное | ☐ |
| Shared storage (если нужен) | тип, endpoint | ☐ |
SIP и настройки детекции#
| Поле | Пример / формат | Статус |
|---|---|---|
| Схема подключения | в разрыв / петлёй | ☐ |
| SBC / шлюз | OpenSIPS / Kamailio | ☐ |
| Дайлер / АТС | Genesys / Cisco | ☐ |
| Транки (вход / выход) | IP:port, auth | ☐ |
| Есть кастомные SIP-заголовки, которые должны пробрасываться “сквозь” SmartCPD наружу. | X-ATS-PROJECT-ID | ☐ |
| Есть SIP-заголовок, содержащий Custom Call-ID, через который можно связать вызов дайлера с вызовом внутри SmartCPD | X-Genesys-CallID | ☐ |
| Есть требования к SIP-кодам завершения, отличные от дефолтных | robot — SIP 401, silence — SIP 402 | ☐ |
| Есть требования к реакциям на определённые исходы детекции, отличные от дефолтных | Вызовы с тишиной — всегда соединять с операторами КЦ | ☐ |
| Требуется использовать REFER вместо ReINVITE | Используем ReINVITE | ☐ |
Инфраструктура и сеть#
| Поле | Пример / формат | Статус |
|---|---|---|
| Серверы (ОС, CPU, RAM, disk) | по ролям | ☐ |
| Firewall / ACL между сегментами | матрица портов | ☐ |
| NTP / синхронизация времени | источник | ☐ |
| DNS (если используется) | ☐ | |
| Доступ к registry / offline-поставка | ☐ | |
| Резервное копирование (ожидания заказчика) | ☐ |
Доступ к порталу#
Согласовать до установки. Технические параметры и дефолты — в Установка → Данные до установки.
| Поле | Пример / формат | Статус |
|---|---|---|
| Публикация портала | напрямую / через reverse-proxy с терминированием TLS | ☐ |
| FQDN портала | portal.example.com | ☐ |
| Порт публикации | 443 | ☐ |
| Режим публикации | HTTPS / HTTP (только за reverse-proxy) | ☐ |
| Сертификат и ключ | путь к файлам / «предоставит заказчик до установки» | ☐ |
| Email администратора портала (задаётся при setup) | admin@example.com | ☐ |
PostgreSQL#
| Поле | Пример / формат | Статус |
|---|---|---|
| Модель размещения | внутри контура / внешний кластер | ☐ |
| Endpoint, версия | ☐ | |
| Ответственный за сопровождение БД | заказчик / вендор | ☐ |
| Политика бэкапов и RPO/RTO | ☐ | |
| Сайзинг БД по месту рассчитан | 250 GB для 6 месяцев хранения | ☐ |
Timezone контейнеров (SMARTCPD_TZ) | IANA, например Europe/Moscow | ☐ |
Timezone БД (SMARTCPD_DB_TZ / DB_TZ) | Должна точно совпадать с SMARTCPD_TZ | ☐ |
Сроки хранения данных#
Параметры задаются при setup; дефолты — в Установка → Данные до установки.
| Поле | Значения по умолчанию | Фактическое значение | Статус |
|---|---|---|---|
| Срок хранения CDR | 6 месяцев | ☐ | |
| Срок хранения истории детекций | 30 дней | ☐ | |
| Срок хранения полных записей детекций | 1 день | ☐ | |
Срок хранения записей клиентской стороны (b_side) | 7 дней | ☐ | |
| Срок хранения метрик | 6 месяцев | ☐ | |
Размер docker logs на контейнер | 100 MB | ☐ | |
| Срок хранения архива логов | 14 дней | ☐ | |
| Размещение архива логов | /opt/scpd/logs (локальный / сетевой диск) | ☐ | |
| Лимит места для всех лог-файлов | 100 GB | ☐ |
Обновление ML-моделей#
Выбрать один из трёх вариантов. Настоятельно не рекомендуется выбирать вариант с ручными обновлениями.
| Поле | Статус |
|---|---|
Доступ с контура SmartCPD до https://scpd.altuera.ru:5000 открыт, будет выполняться автоматическое обновление моделей | ☐ |
Доступ с контура SmartCPD до https://scpd.altuera.ru:5000 закрыт, будет выполняться автоматическое обновление моделей через прокси | ☐ |
Доступ с контура SmartCPD до https://scpd.altuera.ru:5000 закрыт, будет выполняться периодическое ручное обновление моделей через веб-интерфейс | ☐ |
Разметка вызовов от операторов#
| Поле | Пример / формат | Статус |
|---|---|---|
| Есть система фиксации результатов вызовов от операторов КЦ | человек / робот / тишина | ☐ |
| В системе сохраняется идентификатор для связи с SmartCPD | Custom Call-ID | ☐ |
| В системе сохраняются время взаимодействия и номер телефона | ☐ | |
| Способ передачи разметки | view в PostgreSQL / Oracle | ☐ |
| Способ передачи разметки | markup-api (JSON) | ☐ |
| Способ передачи разметки | markup-api (CSV) | ☐ |
| Задержка между вызовом и передачей разметки в SmartCPD | например, 15 мин, в конце дня | ☐ |
Лицензирование#
| Поле | Пример / формат | Статус |
|---|---|---|
| Фичи, включённые в лицензию | smartcpd, cloud, smartcontact | ☐ |
| Нужно ли задавать ограничения в лицензии? (CPS, Линии, Кол-во вызовов) | ☐ | |
| Кто выпускает лицензию? | конкретный контакт со стороны вендора | ☐ |
| Срок действия / план продления | лицензия на 1 год, продлеваем за 30 дней | ☐ |
| Кто контролирует своевременные продления лицензий | интегратор/заказчик | ☐ |
Интеграции (если требуются)#
| Интеграция | Нужна |
|---|---|
| SmartContact | ☐ да ☐ нет |
Критерии завершения фазы#
- заполненный и подписанный pre-install опросник;
- согласованы топология, sizing и объём интеграций и лицензирования;
- входные данные подписаны заказчиком.
Связанные документы#
2. Подготовка инфраструктуры#
Цель#
Подготовить серверы, сеть, БД и доступы к артефактам до запуска setup.
Работы#
| Шаг | Действие | Результат | Документ |
|---|---|---|---|
| 2.1 | Подготовить серверы, сеть, NTP, firewall | Ноды доступны, время синхронизировано | Docker, Архитектура |
| 2.2 | Подготовить PostgreSQL и применить SQL-скрипты поставки | БД и роли созданы | База данных, Установка → PostgreSQL |
| 2.3 | Собрать значения для setup (ИНН, FQDN, одинаковые SMARTCPD_TZ и SMARTCPD_DB_TZ, пути, retention и т.д.) | Чек-лист параметров заполнен | Установка → Данные… |
Критерии завершения фазы#
- ноды доступны, NTP синхронизирован, firewall открыт;
- PostgreSQL подготовлена, SQL-скрипты поставки применены;
- чек-лист параметров setup заполнен;
- инфраструктура готова к установке.
Связанные документы#
3. Установка SmartCPD#
Цель#
Развернуть стек SmartCPD в Docker Swarm.
Работы#
Выполнить установку по документу Установка (раздел «Процесс установки»).
Критерии завершения фазы#
- Docker Swarm-кластер подготовлен, нодам назначены роли SmartCPD;
- стек развёрнут, обязательные сервисы в состоянии
N/N(столбецREPLICAS), без циклических перезапусков; - labels нод соответствуют целевой схеме;
- портал доступен по согласованному адресу, вход администратора работает.
4. Настройка#
Цель#
Настроить платформу, доступы, SIP, детекцию и интеграции согласно scope проекта.
Работы#
Большинство описанных далее действий выполняются в интерфейсе — см. Руководство пользователя.
Настройки в §4.3–4.5 описаны для одного тенанта. При установке Multi-Tenant (фича Cloud в лицензии) сначала выполните §4.6, затем пункты 4.3–4.5 — для каждого тенанта. Платформенные пункты §4.1–4.2 выполняются один раз.
Пользователи и роли. В scope внедрения входит только передача платформенного доступа и администраторов тенантов:
superadmin(single-tenant — см. §1, передача на приёмке); тенанты иtenant_admin(multi-tenant — §4.6). Операторов, аналитиков, прочие роли и массовое заведение пользователей заказчик создаёт самостоятельно — см. Пользователи, Ролевая модель. Исключение: технически необходимые учётные записи на время настройки (например, API-ключ для разметки — §4.5).
4.1 Загрузка продуктивной лицензии#
| Шаг | Обязательно/Дополнительно | Действие | Результат | Документ |
|---|---|---|---|---|
| 4.1.1 | Обязательно | Перейти в раздел «Лицензия» | Раздел открыт | Лицензия |
| 4.1.2 | Обязательно | Получить fingerprint | Файл fingerprint скачан | Лицензия, Установка → После запуска |
| 4.1.3 | Обязательно | Передать fingerprint вендору для выпуска лицензии | Заявка отправлена аккаунт-менеджеру | Установка → После запуска |
| 4.1.4 | Обязательно | Загрузить полученную лицензию в веб-интерфейсе | Продуктивная лицензия активна | Лицензия, Установка → После запуска |
4.2 Загрузка актуальных ML-моделей#
Предусловия#
Раздел выполняется, если с контура SmartCPD не работает автоматическое обновление моделей:
- нет доступа в интернет до
https://scpd.altuera.ru:5000; - не удалось настроить загрузку моделей через прокси.
Если выбран один из вариантов автоматического обновления в §1 → Обновление ML-моделей — этот раздел не нужен.
Шаги#
| Шаг | Действие | Результат |
|---|---|---|
| 4.2.1 | Запросить у вендора персональный логин и пароль для хранилища ML-моделей | Учётные данные получены |
| 4.2.2 | Скачать актуальные модели Dejavu и LSTM с https://scpd.altuera.ru:5000/ | Файлы моделей сохранены |
| 4.2.3 | Загрузить модели в разделе «Модели» | Модели доступны для детекции |
| 4.2.4 | Передать заказчику рекомендацию обновлять модели ежедневно перед обзвоном дайлера | Рекомендация зафиксирована |
| 4.2.5 | Передать заказчику логин и пароль от хранилища ML-моделей | Доступ передан |
4.3 Настройки SIP#
| Шаг | Обязательно/Дополнительно | Действие | Результат | Документ |
|---|---|---|---|---|
| 4.3.1 | Обязательно | Создать входящие транки | Входящие транки зарегистрированы | Настройки SIP |
| 4.3.2 | Обязательно | Создать исходящие транки | Исходящие транки зарегистрированы | Настройки SIP |
| 4.3.3 | Обязательно | Создать SIP-маршрут | Маршрут сохранён | Настройки SIP |
| 4.3.4 | Обязательно | Назначить профиль детекции на маршрут / сегмент | Профиль детекции выбран | Настройки SIP, SIP |
| 4.3.5 | Дополнительно | Создать дополнительные сегменты | Сегменты настроены | Настройки SIP |
| 4.3.6 | Дополнительно | Назначить дополнительные тарифы на сегменты | Tariff labels совпадают с биллингом | Настройки SIP, Биллинг (Тенант) |
| 4.3.7 | Дополнительно | Настроить сохранение Custom Call-ID | Call-ID передаётся в CDR | Настройки SIP, SIP |
| 4.3.8 | Дополнительно | Настроить проброс SIP-Headers | Заголовки доступны в CDR | Настройки SIP, SIP |
| 4.3.9 | Дополнительно | Настроить замены From/To | Замены применяются на вызове | Настройки SIP |
| 4.3.10 | Дополнительно | Выбрать метод REFER вместо Re-INVITE для соединения вызовов | Метод соединения зафиксирован | Настройки SIP, SIP |
Кастомные SIP-коды и длительность набора настраиваются в разделе 4.4 — Настройки детекции.
4.4 Настройки детекции#
| Шаг | Обязательно/Дополнительно | Действие | Результат | Документ |
|---|---|---|---|---|
| 4.4.1 | Обязательно | Создать профиль детекции (название и label) | Профиль сохранён | Настройки детекции |
| 4.4.2 | Обязательно | Настроить длительность набора | Длительность задана (≤ длительности на дайлере − 10 с) | Настройки детекции |
| 4.4.3 | Дополнительно | Настроить кастомные SIP-коды | Коды ответов переопределены | Настройки детекции |
| 4.4.4 | Дополнительно | Изменить параметры детекции по пожеланиям заказчика | Настройки отличаются от дефолта | Настройки детекции |
| 4.4.5 | Дополнительно | Включить интеграцию с SmartContact; реакция на рекомендации — «Сбросить вызов» | SmartContact активен | Настройки детекции |
4.5 Настройка сбора разметки#
Сбор разметки от операторов КЦ позволяет видеть «операторские результаты» в метриках и оценивать качество детекции. Подробнее — Разметка результатов вызовов, техническая настройка — Разметка.
Предусловия#
Раздел выполняется, если в §1 → Разметка вызовов от операторов зафиксирован источник разметки и способ передачи.
- для сопоставления
custom— настроен сбор Custom Call-ID (§4.3.7); - для сопоставления
time_phone— в источнике естьphone_numberиts; - задержка появления строк в источнике согласована в опроснике — параметр
DELAY_LAGuploader должен быть не меньше этой задержки (Разметка → Markup uploader).
Шаги#
| Шаг | Обязательно/Дополнительно | Действие | Результат | Документ |
|---|---|---|---|---|
| 4.5.1 | Обязательно | Согласовать способ передачи: Markup API (JSON), CSV, загрузчик из БД (uploader) | Способ зафиксирован в опроснике §1 | Разметка → Способы загрузки |
| 4.5.2 | Обязательно | Выбрать тип сопоставления с CDR: sip, custom или time_phone | Тип соответствует данным источника | Разметка → Сопоставление с вызовом |
| 4.5.3 | Обязательно | Создать API-ключ с привилегией cdr.canEdit | Ключ создан | External API → Авторизация |
| 4.5.4 | Обязательно (uploader) | Подготовить view или таблицу в PostgreSQL / Oracle (столбцы call_id, ts, result и др.) | Источник соответствует требованиям | Разметка → Требования к источнику |
| 4.5.5 | Обязательно (uploader в стеке) | Настроить экземпляр: ./smartcpd-markup-uploader-setup.sh, затем ./smartcpd-setup.sh generate и deploy | Сервис markup-uploader в Swarm | Разметка → Установка в стек |
| 4.5.6 | Обязательно (uploader вне стека) | Развернуть uploader по compose.yml в контуре заказчика | Контейнер читает БД и шлёт в Markup API | Разметка → Независимая установка |
| 4.5.7 | Обязательно (Markup API JSON) | Передать заказчику контракт Markup API, выполнить пробную отправку записей | Тестовая запись принята | External API → Markup API |
| 4.5.8 | Обязательно (CSV) | Загрузить тестовый CSV в «Статистика» (шаблон — «Скачать шаблон») | Строки сматчились или отклонены с понятной причиной | Разметка → CSV, External API → Загрузка CSV |
| 4.5.9 | Обязательно | После тестовых вызовов и передачи разметки — проверить «Операторские результаты» в метриках | Данные появились с учётом задержки из §1 | Метрики |
При отклонённых записях uploader — проверить каталог rejected в DATA_DIR (Разметка → Хранение состояния).
4.6 Тенанты и администраторы#
Раздел выполняется только при установке Multi-Tenant: в лицензии включена фича Cloud — см. §1 → Лицензирование, Руководство пользователя → Режимы работы.
В scope внедрения — только создание тенантов и по одному tenant_admin на тенант с передачей доступа заказчику. Прочих пользователей и ролей не заводим.
Шаги#
| Шаг | Обязательно/Дополнительно | Действие | Результат | Документ |
|---|---|---|---|---|
| 4.6.1 | Обязательно | Создать необходимые тенанты (ИНН, лимиты, фичи по проекту) | Тенанты в статусе «Активный» | Тенанты |
| 4.6.2 | Обязательно | В каждом тенанте создать одного пользователя с ролью tenant_admin | Администратор тенанта может войти и настраивать контур | Пользователи, Ролевая модель → tenant_admin |
| 4.6.3 | Обязательно | Передать заказчику учётные данные каждого tenant_admin | Доступы зафиксированы в опроснике / акте приёмки | §1 → Single-tenant / Multi-tenant |
Критерии завершения фазы#
- загружена продуктивная лицензия и актуальные ML-модели;
- для Multi-Tenant — выполнен §4.6: тенанты созданы, в каждом есть
tenant_admin, доступы переданы заказчику; - настроены SIP-маршруты и профили детекции (по каждому тенанту при Multi-Tenant);
- при наличии источника разметки — настроен сбор разметки;
- настройки портала, SIP и детекции соответствуют согласованному scope.
5. Проверка работоспособности внедрения#
Цель#
Убедиться, что настроенная конфигурация проходит end-to-end на тестовых вызовах, до включения продуктивного трафика (§6).
Не заменяет полное тестирование продукта и приёмочное тестирование заказчика. Проверяется только scope §4.
Шаги тестирования#
Выполнить ручной вызов, эмулировать ответ human#
Выполнить ручной вызов через дайлер клиента самому себе. Подождать 4 секунды перед снятием трубки. Ответить простым «алло». Ожидаемый результат — вызов соединяется с КЦ.
Выполнить ручной вызов, эмулировать ответ robot#
Выполнить ручной вызов через дайлер клиента самому себе. Ответить на вызов сразу. Сработает проверка на быстрый ответ. Вызов сбрасывается.
Выполнить ручной вызов, эмулировать ответ silence/no_speech#
Выполнить ручной вызов через дайлер клиента самому себе. Подождать 4 секунды перед снятием трубки. После снятия трубки — молчать. Через 3 секунды должен проиграться ролик «Алло». Продолжать молчать. Ролик «Алло» проиграется ещё раз, после чего вызов сбросится.
Проверить раздел «Статистика»#
Открыть раздел «Статистика». В разделе должны сразу появиться все тестовые вызовы. Послушать аудиозаписи. На аудиозаписях должен быть только ваш голос. Для вызова с результатом silence/no_speech на записи не должно быть слышно голоса «Алло», который используется для пробития тишины.
Проверить раздел «Метрики»#
Открыть раздел «Метрики» → «Ключевые показатели». На дашборде есть информация по недавним тестовым вызовам. В разделе «Операторские результаты» пока ещё не будет данных, так как по этим вызовам не ожидается разметка от операторов.
Проверить сбор Custom Call-ID#
Если у дайлера клиента есть идентификатор, который пробрасывается в SmartCPD и его настраивали ранее, нужно убедиться, что он собирается в столбец «Custom Call-ID» в статистике.
Проверить проброс нужных SIP-Headers#
Если есть SIP-заголовки, которые нужно пробросить, нужно убедиться (через SIP-дамп), что SmartCPD действительно их пробрасывает.
SIP-коды завершения вызова#
Выполнить вызовы с различными исходами. Убедиться, что дайлер заказчика корректно обрабатывает SIP-коды завершения и они осмысленно сохраняются в его статистике.
Проверить время дозвона SmartCPD#
Посмотреть «Длительность набора» в профиле детекции. Эмулировать ручной вызов. Ответить на вызов под конец данной длительности набора (например, если длительность набора 40 секунд — ответить на 38-й). Подождать, пока не скажут «алло», сказать «алло» в ответ.
Ожидаемый результат — SmartCPD успевает завершить детекцию, дайлер не прерывает детекцию своим CANCEL.
Критерии завершения фазы#
- все пункты тестирования пройдены.
6. Приёмка и вывод в продуктив#
Цель#
Включить согласованный продуктивный трафик, убедиться, что система стабильна на живых вызовах, и формально сдать проект заказчику.
Раздел не заменяет полное тестирование продукта и не заменяет приёмочное тестирование заказчика. Инженер внедрения проверяет только то, что настроено по §4 и согласовано в опроснике §1.
Предусловия#
Перед включением продуктивного трафика:
- завершена фаза 5 — проверка работоспособности внедрения, все пункты проверки пройдены;
- согласованы критерии «можно в бой» (объём трафика, окно работ, ответственные, условия отката) — до начала фазы 5;
- заказчик готов переключить маршрут / кампанию на SmartCPD.
Работы#
6.1. Первый день на продуктивном трафике#
Включение трафика#
- Переключить на SmartCPD согласованный объём: кампания, процент трафика или полный маршрут — как зафиксировано на проекте.
- Зафиксировать время включения и участников (вендор, внедрение, заказчик, при необходимости — команда дайлера / SBC).
- На первые часы назначить дежурного со стороны внедрения.
Откат: при массовых SIP-ошибках (408, Unavailable, SCPD Error), превышении лимитов лицензии или доли медленных проверок > 10% — остановить наращивание трафика, эскалировать заказчику; откат маршрута выполняет заказчик по согласованному плану.
Наблюдение в Grafana#
Ориентиры ниже — не критерии приёмки, а типичные значения «на глаз». Реальные цифры зависят от базы заказчика. Смотреть динамику и отсутствие аномалий, а не попадание в проценты.
| Дашборд | Что проверить | На что обратить внимание |
|---|---|---|
| Производительность модуля детекции | % медленных проверок по нодам | Норма до 10%; выше — проверить CPU на worker-нодах или пересмотреть сайзинг |
| Вызовы платформы | CPS и линии | Соответствуют расчёту из §1; нет упора в лимиты лицензии |
| Результаты SIP-вызовов | Timeout 408, Unavailable, SCPD Error | Нет массовых ошибок |
| Ключевые показатели → Дозваниваемость | контактные / неконтактные | Панель не пустая; нет резкого провала после включения трафика |
| Ключевые показатели → Результаты анализа | robot / human / silence | Панель не пустая; ориентир ~90% / 5% / 5% — только для сравнения с типовой базой |
| Ключевые показатели → Операторские результаты | robot / silence / remote_release / human | Если настроена разметка — данные появляются (с учётом задержки из §1); ориентир ~10% / 20% / 50% / 20% |
Подробнее про интерпретацию метрик — Описание возможностей, Мониторинг.
Модели (если не ручное обновление)#
В разделе «Модели» — актуальные версии на дату запуска. Способ обновления — по §1 → Обновление ML-моделей.
SmartContact (если в scope)#
В «Статистике» по живым вызовам видны рекомендации SmartContact.
Протокол наблюдений#
Зафиксировать: время включения, объём трафика, скриншоты или выгрузки ключевых панелей, замечания, решение «продолжаем / приостанавливаем / откатываем».
6.2. Формальная приёмка#
Минимальный чек-лист сдачи. Проверки платформы и вызовов на тестовых номерах — в §5; здесь — подтверждение готовности к эксплуатации и передача дел.
| # | Проверка | Статус |
|---|---|---|
| П-01 | Фаза 5 завершена; все пункты проверки пройдены, блокеры закрыты или приняты с обоснованием | ☐ |
| П-02 | Протокол наблюдений за первый день на трафике приложен | ☐ |
| П-03 | Стек в рабочем состоянии, сервисы не перезапускаются в цикле | ☐ |
| П-04 | Лицензия загружена, лимиты не нарушены | ☐ |
| П-05 | Время на нодах синхронизировано (расхождение ≤ 1 с) | ☐ |
| П-06 | Multi-tenant: тенанты и tenant_admin созданы, доступы переданы. Single-tenant: подготовлена передача superadmin | ☐ |
| П-07 | Передана актуальная проектная документация заказчику | ☐ |
| П-08 | Передана актуальная продуктовая документация заказчику | ☐ |
| П-09 | Заказчику передана учётная запись superadmin веб-интерфейса | ☐ |
| П-10 | Заказчику передан персональный логин/пароль от хранилища ML-моделей (при ручных обновлениях) | ☐ |
| П-11 | Заказчику переданы контакты технической поддержки | ☐ |
| П-12 | Протокол приёмки подписан заказчиком | ☐ |
Критерии завершения фазы#
- продуктивный трафик включён (или наращен до согласованного объёма), зафиксирована дата вывода в продуктив;
- наблюдения за первый день / первые часы на трафике задокументированы;
- чек-лист §6.2 пройден, протокол приёмки подписан заказчиком;
- переданы документация, доступы и контакты поддержки.
7. RACI#
Обозначения в матрице:
- Исполняет — Responsible: выполняет работу;
- Утверждает — Accountable: принимает решение и несёт итоговую ответственность;
- Консультируется — Consulted: участвует в обсуждении и даёт экспертизу;
- Информируется — Informed: получает информацию о ходе и результатах.
Участники:
- Вендор — продукт, поддержка L2/L3;
- Отдел внедрения;
- Заказчик.
| Зона ответственности | Вендор | Отдел внедрения | Заказчик |
|---|---|---|---|
| Инфраструктура и ОС | Информируется | Консультируется | Исполняет и утверждает |
| PostgreSQL (размещение, бэкапы) | Консультируется | Консультируется | Исполняет и утверждает |
| Сеть и firewall | Информируется | Консультируется | Исполняет и утверждает |
| Установка SmartCPD | Консультируется | Исполняет и утверждает | Информируется |
| Настройка SIP / SBC / дайлера | Консультируется | Исполняет | Исполняет и утверждает |
Портал: тенанты, tenant_admin, передача superadmin | Консультируется | Исполняет | Утверждает |
| Прочие пользователи и роли портала | Информируется | Консультируется | Исполняет и утверждает |
| Тестирование | Консультируется | Исполняет | Исполняет и утверждает |
| Приёмка / go-live | Консультируется | Исполняет | Утверждает |
| Эксплуатация после go-live | Информируется | Консультируется | Исполняет и утверждает |