Q.850 cause 47 (Resource unavailable, unspecified): o que significa
Resposta curta: Q.850 cause 47 (Resource unavailable, unspecified) indica que algum recurso necessário para a chamada estava indisponível, sem que outra causa da classe de recursos se aplique. É uma falta de recurso genérica: canais de mídia, transcodificação, licenças ou capacidade de um gateway. Descubra qual equipamento gerou a causa e confira os limites dele.
| Causa | 47 |
|---|---|
| Nome oficial (ITU-T Q.850) | Resource unavailable, unspecified |
| Classe | Recurso indisponível (34 a 47) |
| Resposta SIP pela RFC 3398 | SIP 503 Service Unavailable |
Como o Monitor trata a causa 47
Quando a operadora informa a causa Q.850 no cabeçalho Reason da resposta SIP, o Monitor a guarda junto com o código SIP em cada chamada de teste, e ela aparece na evidência do incidente, pronta para o chamado na operadora.
Como qualquer falha, uma chamada de teste lida como Fora do ar é repetida 3 vezes, a cada 2 minutos, e só 4 falhas seguidas abrem um incidente.
O que significa a causa 47 na prática?
A Q.850 cause 47, Resource unavailable, unspecified, é usada para relatar um evento de recurso indisponível quando nenhuma outra causa dessa classe se aplica. É a causa genérica do grupo que inclui a 34 (sem circuito), a 38 (rede fora de serviço), a 41 (falha temporária) e a 42 (congestionamento). Pela RFC 3398 (seção 7.2.4.1), a causa 47 vira SIP 503 Service Unavailable, então só o cabeçalho Reason: Q.850;cause=47 (RFC 6432) ou o trace TDM a distingue das outras. Ela chega na REL do ISUP em links SS7 e no DISCONNECT do ISDN. No Asterisk, ${HANGUPCAUSE} fica em 47, e o CDR mostra hangupcause 47 quando o campo é gravado. Como é inespecífica, o mais útil é descobrir qual equipamento a gerou.
Quando ela aparece
- Gateway ou SBC sem recursos de DSP para transcodificar, por exemplo de G.729 para G.711.
- Servidor de mídia ou URA sem portas livres para tocar o anúncio.
- Licenças de chamadas simultâneas esgotadas num gateway ou SBC.
- Falta de memória ou de portas RTP livres num equipamento sobrecarregado.
- Gateway GSM ou E1 que usa 47 para qualquer porta indisponível.
Como diagnosticar
- No
sngrep, veja quem respondeu o 503 com cause=47, pelo User-Agent ou pelo Server. - Se foi o seu equipamento, confira a transcodificação: no Asterisk,
core show translationmostra os caminhos entre codecs ecore show channelsas chamadas ativas. - Compare os codecs oferecidos no SDP com os aceitos do outro lado; usar o mesmo codec nas duas pontas evita transcodificação.
- Verifique os limites de licença e a faixa de portas RTP (
rtpstartertpendnortp.conf). - Correlacione as falhas com os picos de chamadas simultâneas.
O que mandar para a operadora
- Data, hora e fuso das falhas.
- Números A e B.
- Call-ID, a linha
SIP/2.0 503 Service Unavailablee o Reason com cause=47. - Os codecs oferecidos no seu INVITE (linhas
m=ea=rtpmapdo SDP). - Quantas chamadas simultâneas havia no seu lado no momento.
Perguntas frequentes
Qual a diferença entre cause 34 e cause 47?
A cause 34 diz especificamente que faltou circuito ou canal. A cause 47 diz que faltou algum recurso, sem dizer qual. Ambas viram SIP 503 pela RFC 3398. Quando o equipamento sabe que o problema é canal, deveria usar a 34; a 47 aparece quando o limite é outro, como transcodificação ou licença.
A cause 47 pode ser problema de codec?
Indiretamente, sim. Se não há codec em comum e o gateway precisa transcodificar, ele gasta DSP ou CPU com isso. Quando esse recurso acaba, a chamada pode falhar com cause 47. Já quando não existe nenhum codec aceitável, a causa esperada é outra, como a 65, que vira SIP 488 Not Acceptable Here.