Glossário

SIP: definição e exemplo na prática

Resposta curta: SIP (Session Initiation Protocol), definido na RFC 3261, é o protocolo de sinalização que estabelece, modifica e encerra chamadas de voz sobre redes IP.

Em inglês: SIP (Session Initiation Protocol)

O que é SIP?

SIP (Session Initiation Protocol) é o protocolo que abre, controla e encerra chamadas VoIP. Ele faz o papel da sinalização da telefonia tradicional: avisa que há uma ligação, faz o destino tocar, informa o atendimento e marca o fim. O SIP é definido na RFC 3261 e usa mensagens de texto parecidas com as do HTTP, enviadas normalmente pela porta 5060.

As requisições SIP se chamam métodos. Os mais usados são INVITE (iniciar uma chamada), ACK (confirmar a resposta final), BYE (encerrar), CANCEL (desistir antes do atendimento), REGISTER (registrar um telefone ou tronco) e OPTIONS (consultar se o outro lado responde).

Cada requisição recebe respostas numeradas em seis classes: 1xx provisórias, como 180 Ringing; 2xx sucesso, como 200 OK; 3xx redirecionamento; 4xx erro do lado de quem chamou ou do destino, como 486 Busy Here; 5xx falha do servidor, como 503; e 6xx falha global. A resposta final de uma chamada é a que melhor diz o que aconteceu. A lista completa está em códigos SIP.

SDP

O SIP não carrega áudio. Ele leva, dentro do INVITE e da resposta, uma descrição da mídia em SDP (Session Description Protocol), da RFC 4566, hoje substituída pela RFC 8866. O SDP diz o IP e a porta onde cada lado espera receber o RTP e quais codecs aceita. Um lado oferece, o outro responde, e a voz passa a correr pelo caminho combinado.

Na prática

Uma chamada bem-sucedida troca estas mensagens:

Passo De Mensagem
1 Quem liga INVITE com SDP
2 Destino 100 Trying
3 Destino 180 Ringing
4 Destino 200 OK com SDP
5 Quem liga ACK
6 Qualquer lado BYE
7 O outro lado 200 OK

Se o destino estiver ocupado, o passo 4 vira 486 Busy Here e a resposta pode trazer no cabeçalho Reason a causa Q.850 17, usuário ocupado, conforme a RFC 6432.

Como o Monitor usa isso

O Monitor lê a resposta SIP final e a causa Q.850 de toda chamada de teste. Com os dois, o incidente diz se o destino recusou, se a rede falhou ou se o número não existe. Veja monitoramento de troncos SIP.

Perguntas frequentes

Qual a diferença entre SIP e RTP?

O SIP é a sinalização: diz quem liga para quem, se o destino toca, se atende e quando a chamada termina. O RTP transporta o áudio. Os dois seguem caminhos e portas diferentes, por isso uma chamada pode ser atendida no SIP e mesmo assim ficar sem voz, quando o RTP é bloqueado ou desviado no caminho.

O que é a causa Q.850 numa resposta SIP?

É um código numérico herdado da telefonia ISDN que explica por que a chamada terminou, como 16 para desligamento normal ou 17 para usuário ocupado. Muitas operadoras o enviam no cabeçalho Reason da resposta SIP, conforme a RFC 6432. Ele completa o código SIP, que às vezes é genérico demais para diagnosticar a falha.

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.