Causas Q.850

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 na referência
Causa47
Nome oficial (ITU-T Q.850)Resource unavailable, unspecified
ClasseRecurso indisponível (34 a 47)
Resposta SIP pela RFC 3398SIP 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

  1. No sngrep, veja quem respondeu o 503 com cause=47, pelo User-Agent ou pelo Server.
  2. Se foi o seu equipamento, confira a transcodificação: no Asterisk, core show translation mostra os caminhos entre codecs e core show channels as chamadas ativas.
  3. Compare os codecs oferecidos no SDP com os aceitos do outro lado; usar o mesmo codec nas duas pontas evita transcodificação.
  4. Verifique os limites de licença e a faixa de portas RTP (rtpstart e rtpend no rtp.conf).
  5. 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 Unavailable e o Reason com cause=47.
  • Os codecs oferecidos no seu INVITE (linhas m= e a=rtpmap do 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.

Saiba disso antes dos seus clientes

O Monitor liga para cada circuito de voz o dia todo e entrega cada falha com o código SIP e a causa Q.850 como prova.