SIP 403 Forbidden: o que significa e como resolver
Resposta curta: SIP 403 Forbidden significa que o servidor entendeu a requisição e se recusou a atendê-la, e autenticar de novo não resolve. Em troncos no Brasil, a causa mais comum é a operadora não reconhecer o número de origem enviado. Confira o número no From e no P-Asserted-Identity e confirme com a operadora quais números o tronco pode usar.
| Código | 403 |
|---|---|
| Nome oficial | Forbidden |
| Classe | 4xx: falha da requisição |
| Definido em | RFC 3261 |
| Causas Q.850 que costumam vir junto | 21 (Call rejected), 55 (Incoming calls barred within CUG), 57 (Bearer capability not authorized), 87 (User not member of CUG) |
Como o Monitor trata o SIP 403
A leitura depende do que deve atender o número, a pergunta que a 2N5 responde ao cadastrar cada circuito. Estas são as regras que o produto aplica hoje, geradas da mesma função que julga cada chamada de teste.
| O que deve atender o número | Leitura |
|---|---|
| Uma saudação ou mensagem gravada (a URA) | Fora do ar |
| Um tom de teste ou serviço de eco | Fora do ar |
| Outro: pode tocar ou ser atendido | Fora do ar |
O que o Monitor registra para uma URA: A operadora recusou esta chamada. A causa mais comum é a operadora não reconhecer o número de onde a chamada vem; também pode significar que este número está bloqueado ou suspenso, ou que a conta está sem crédito (SIP 403).
Uma chamada lida como Fora do ar não alerta ninguém sozinha: ela é repetida 3 vezes, a cada 2 minutos, e só 4 falhas seguidas abrem um incidente, com o código SIP e a causa Q.850 de cada chamada como evidência para a operadora. No ritmo padrão, cada circuito é testado a cada 15 minutos.
Se a operadora devolve o SIP 403 ao registro da conta de chamadas da 2N5, antes de qualquer chamada, o teste fica sem visibilidade: é um problema do lado da 2N5, não conta contra o circuito e não avisa o cliente.
O que significa o SIP 403 na prática?
Pela RFC 3261, o SIP 403 Forbidden indica que o servidor entendeu a requisição, mas se recusa a atendê-la. A autorização não vai ajudar e a requisição não deveria ser repetida. É diferente do SIP 401: no 401 o servidor ainda não sabe quem você é; no 403 ele sabe e decidiu negar.
Em troncos SIP no Brasil, o 403 é um dos códigos mais frequentes quando “o tronco registra, mas não liga”. A operadora aceitou o registro ou o IP, mas uma regra de negócio barrou aquela chamada: o número de origem, o destino, o estado da conta ou o endereço de onde a chamada veio. A frase de motivo e o header Warning às vezes dizem qual regra foi aplicada, e vale ler os dois antes de abrir chamado sobre o erro 403 SIP.
Causas comuns no Brasil
- Número de origem (identificação do chamador) que não pertence ao tronco, enviado no From ou no P-Asserted-Identity por um ramal ou uma regra do PABX.
- Número de origem em formato diferente do esperado pela operadora, por exemplo com ou sem DDD, com
0à frente ou em E.164 (+55...). - Linha ou tronco bloqueado ou suspenso, por exemplo por falta de pagamento ou por um bloqueio administrativo.
- Plano pré-pago ou com franquia sem crédito disponível para aquele tipo de chamada.
- Destino bloqueado no contrato: celular, longa distância, internacional ou números de tarifação especial.
- IP de origem não autorizado num tronco por IP, depois de uma troca de link de internet ou de uma migração do Asterisk, Issabel, FreePBX ou 3CX.
Como diagnosticar
- Capture com
sngrep port 5060e anote a frase de motivo do 403, o headerWarninge oReason: Q.850;cause=21, se houver (Q.850 cause 21, chamada rejeitada). - No Asterisk ou FreePBX, ative
pjsip set logger on(ousip set debug onno chan_sip) e confira os headers From, P-Asserted-Identity e Remote-Party-ID do INVITE. - Ligue para o mesmo destino usando o número principal do tronco como origem. Se funciona, o problema é o número de origem do ramal ou da rota.
- Ligue para destinos de tipos diferentes (fixo local, celular, longa distância) para ver se o bloqueio é por tipo de destino.
- No 3CX, ative o “Verbose logging” e revise o campo de identificação de saída configurado no tronco e na regra de saída.
- Confirme no portal ou com o financeiro da operadora se a conta está ativa e com crédito.
O que mandar para a operadora
- Data e hora com fuso horário de algumas tentativas recusadas.
- Número de origem (A) e número chamado (B), exatamente como saíram no INVITE.
- Call-ID de pelo menos uma chamada recusada.
- A linha completa da resposta, com frase de motivo, header Warning e Reason com a causa Q.850.
- O IP público de onde as chamadas saem e quantas tentativas falharam.
- O pcap da captura, quando disponível.
Perguntas frequentes
Por que recebo 403 só em algumas chamadas?
Quando o 403 aparece só para certos destinos, a operadora costuma estar bloqueando aquele tipo de chamada no seu contrato, como celular, longa distância, internacional ou números de tarifação especial. Quando aparece só para certos ramais, o problema geralmente é o número de origem que esses ramais enviam, que não pertence ao tronco.
Qual causa Q.850 acompanha o 403?
Pela RFC 3398, a Q.850 cause 21 (Call rejected) é a mais comum, e o 403 é traduzido de volta como cause 21. Também são convertidas em 403 as causas 55 e 87, ligadas a grupos fechados de usuários, e a 57, capacidade de portadora não autorizada. Na prática, a cause 21 é a que você mais vai ver.