Как уходит исходящий вызов
Пошаговое описание
- Запуск вызова. Вы вызываете API Агентики — например,
test_phone_callиз SDK, API-триггер или кампанию. Если конфигурация не указана явно, используется конфигурация по умолчанию для исходящих. - Проверка допуска (admission). Перед originate любой путь (SDK, API-триггер, кампания, публичный агент) проходит проверку допуска: назначение должно быть E.164-номером из разрешённых префиксов (российские фиксированные и мобильные); для managed-SIP-конфигураций дополнительно резервируется слот подключения. Для edge-маршрутизируемых подключений admission выпускает одноразовый egress-токен и передаёт его в originate. Отказ в admission отклоняет вызов (4xx/503), а не «протекает» в набираемый номер; в managed-SIP с включёнными лимитами одновременных звонков отказ 503 различает причину —
outbound_user_limit(суммарный лимит пользователя) илиoutbound_config_limit(лимит подключения). - Создание канала. Agentika API отправляет в Asterisk
POST /ari/channels. Для managed-SIP используетсяLocal/<номер>@<outbound_context>, чтобы канал прошёл через диалплан и получил обязательный SIP-заголовокP-Charge-Info. Номер вызывающего абонента должен быть одним из активных номеров конфигурации. Egress-токен (если выпущен) передаётся как наследуемая переменная канала__AGENTIKA_EDGE_OUTBOUND_TOKEN. - Диалплан в cell. Asterisk выполняет контекст исходящего маршрута, добавляет
P-Charge-Infoиз унаследованной переменной__AGENTIKA_P_CHARGE_INFOи — только если переменнаяAGENTIKA_EDGE_OUTBOUND_TOKENустановлена — заголовокX-Agentika-Edge-Outbound-Token, после чего набираетPJSIP/<номер>@<trunk_endpoint>. - Релей к оператору. INVITE уходит из cell к оператору (Plusofon) напрямую по транку, отрендеренному провижинером. Привязка egress-токена к брони валидируется admission-сервисом managed-SIP (python-edge), когда этот контур развёрнут.
- Ответ абонента. Когда абонент отвечает, Asterisk генерирует событие
StasisStartв Stasis-приложение. - Пайплайн разговора. ARI-менеджер ловит
StasisStartи запускает AI-пайплайн. Аудио между абонентом и Агентикой передаётся через отдельный media WebSocket конкретного запуска.
Предварительные требования
- Настроенный провайдер телефонии Asterisk ARI с активными номерами. См. обзор телефонии.
- Для managed-SIP: cell должна быть провижинена, а контекст исходящего набора сгенерирован провижинером Plusofon.
- Для самостоятельного Asterisk: в диалплане должна быть настроена маршрутизация к вашему SIP-транку, либо поле Контекст исходящего набора оставлено пустым для прямого
PJSIP-набора.