SIP Error 402 Payment Required: причины и разблокировка транка
- Исходящие звонки на внешние номера мгновенно сбрасываются с кодом
SIP/2.0 402 Payment Required. - Внутрисетевые вызовы между внутренними номерами продолжают работать штатно.
- В логах биллинга оператора фиксируется нулевой баланс или превышение кредитного лимита.
1. Локализация источника ошибки через sip trace
sngrep -c "402 Payment Required"В теле ответа проверьте IP-адрес отправителя: ошибку 402 всегда генерирует SBC оператора связи или локальный биллинговый модуль (например, Asterisk Billing / FreePBX Prepaid Module).
2. Проверка состояния учетной записи оператора
- Проверьте текущий финансовый баланс в личном кабинете SIP-провайдера.
- Убедитесь, что направление вызова (междугородняя связь / международная связь) открыто в тарифном плане.
- Проверьте установленный лимит одновременных каналов (CPS / Concurrent Calls).
3. Настройка резервного транка (Failover Trunk) в FreePBX / Asterisk
Добавьте автоматическое переключение на запасного провайдера при получении ошибки 402 в extensions_override_freepbx.conf:
[macro-dialout-trunk-predial-hook]
exten => s,1,Set(HANGUPCAUSE_KEYS=402)
exten => s,n,Return() Частые вопросы (FAQ)
Может ли АТС самостоятельно генерировать SIP 402?
Только если на ней развернут модуль биллинга или предоплатной тарификации (A2Billing, ASTPP, CGRates). В 99% случаев код 402 возвращается вышестоящим оператором связи.
Что делать, если баланс пополнен, но 402 сохраняется?
Многие операторы кэшируют статус блокировки на уровне пограничных контроллеров сессий (SBC). Выполните перерегистрацию транка: `asterisk -rx 'pjsip send register <trunk_name>'`.