SIP, o Session Initiation Protocol, é como as ligações telefônicas se estabelecem na internet. Quando um dispositivo quer ligar para outro, o SIP carrega a negociação: quem está ligando, onde o outro lado pode ser encontrado, quais codecs de áudio ambos aceitam e quando alguém desliga. A voz em si nunca viaja pelo SIP. Uma vez que os dois lados concordam, o áudio flui como um fluxo separado, quase sempre RTP.
Essa separação é a única coisa para levar deste guia: o SIP é a conversa sobre a ligação, não a ligação. Todo o resto, os métodos, os códigos de resposta, as portas, decorre disso. O guia cobre como uma ligação SIP funciona mensagem por mensagem, o que o vocabulário significa e os lugares onde o SIP aparece quando quem atende as suas ligações é um agente de voz com IA.
O que o SIP é, e o que ele não é
SIP é um protocolo de sinalização da camada de aplicação definido pelo IETF. Ele apareceu primeiro como RFC 2543 em 1999 e foi revisado como RFC 3261 em 2002, que ainda é o padrão que todo telefone SIP, PBX e operadora implementa. Seus criadores emprestaram do HTTP o modelo de requisição-resposta e a sintaxe de texto, então uma mensagem SIP é algo que você lê numa captura de pacotes sem ferramentas especiais.
Três coisas que o SIP não é:
- Não é o áudio. O SIP negocia a sessão e sai do caminho. Voz e vídeo viajam em pacotes RTP, descritos abaixo.
- Não é um serviço. Ninguém te vende “SIP”. O que as operadoras vendem é SIP trunking: um serviço que usa o protocolo SIP para conectar o seu sistema telefônico à rede telefônica pública.
- Não é o único jeito de sinalizar uma ligação. O H.323 veio antes, o WebRTC cuida de ligações dentro de navegadores, e protocolos proprietários rodam dentro de apps fechados. O SIP venceu o mundo da telefonia empresarial porque é aberto, baseado em texto e simples o bastante para qualquer fornecedor implementar.
Como uma ligação SIP funciona
Uma ligação SIP é uma troca curta de requisições de texto e respostas numeradas. Aqui vai uma ligação de entrada típica, do toque ao desligar:
- INVITE. O lado de quem liga envia um INVITE para o endereço do chamado. O corpo carrega um bloco SDP (Session Description Protocol) listando o IP de quem liga, a porta onde ele quer receber o áudio e os codecs que ele aceita.
- 100 Trying. Os proxies no caminho confirmam o recebimento, para que quem liga pare de retransmitir.
- 180 Ringing. O dispositivo chamado está alertando o usuário. É quando quem liga ouve o tom de espera.
- 200 OK. O chamado atende. A resposta carrega o seu próprio bloco SDP, completando a negociação de codecs.
- ACK. Quem ligou confirma a resposta final. A sessão está estabelecida, e o áudio RTP começa a fluir nas duas direções.
- BYE. Quem desliga envia um BYE. O outro lado responde 200 OK, e a sessão termina.
No meio da ligação, qualquer lado pode enviar um novo INVITE, chamado de re-INVITE, para mudar a sessão: colocá-la em espera, adicionar vídeo ou trocar de codec. Uma requisição REFER pede ao outro lado que ligue para outro destino, e é assim que as transferências funcionam.
Aqui está como um INVITE aparece de verdade no cabo, levemente enxugado:
INVITE sip:+14155550132@sip.example.com SIP/2.0
Via: SIP/2.0/TLS client.example.com:5061;branch=z9hG4bK74bf9
Max-Forwards: 70
From: "Alice" <sip:alice@example.com>;tag=9fxced76sl
To: <sip:+14155550132@sip.example.com>
Call-ID: 3848276298220188511@client.example.com
CSeq: 1 INVITE
Contact: <sip:alice@client.example.com;transport=tls>
Content-Type: application/sdp
Content-Length: 213
v=0
o=alice 2890844526 2890844526 IN IP4 client.example.com
s=-
c=IN IP4 client.example.com
t=0 0
m=audio 40000 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
As três últimas linhas da oferta SDP são os codecs na mesa: o payload 0 é G.711 μ-law, o payload 8 é G.711 A-law, e o payload 101 é telephone-event, o jeito fora de banda de enviar dígitos de DTMF dentro do fluxo de áudio. Uma ligação pela rede pública normalmente fecha numa das duas variantes do G.711, e é por isso que o áudio de telefone soa como soa.
Métodos SIP que vale conhecer
As requisições SIP têm nomes de métodos. Estes são os que você vai encontrar numa captura:
| Método | O que faz |
|---|---|
| INVITE | Inicia uma sessão, ou altera uma no meio da ligação (re-INVITE) |
| ACK | Confirma a resposta final a um INVITE |
| BYE | Encerra a sessão |
| CANCEL | Abandona um INVITE que ainda não foi atendido |
| REGISTER | Avisa a um registrar “estou alcançável neste endereço” |
| OPTIONS | Pergunta a um dispositivo o que ele sabe fazer, sem ligar para ele |
| REFER | Pede ao outro lado que ligue para um terceiro: a base das transferências |
| INFO | Carrega informações no meio da ligação, uma das formas de os dígitos DTMF viajarem |
Toda requisição recebe respostas com códigos de três dígitos, agrupados pelo primeiro dígito:
| Classe | Significado | Exemplos |
|---|---|---|
| 1xx | Provisória | 100 Trying, 180 Ringing, 183 Session Progress |
| 2xx | Sucesso | 200 OK, 202 Accepted |
| 3xx | Redirecionamento | 301 Moved Permanently, 302 Moved Temporarily |
| 4xx | Erro do cliente | 401 Unauthorized, 403 Forbidden, 404 Not Found, 486 Busy Here |
| 5xx | Erro do servidor | 500 Server Internal Error, 503 Service Unavailable |
| 6xx | Falha global | 603 Decline, 604 Does Not Exist Anywhere |
Dois desses códigos valem o seu lugar durante o estabelecimento. Um 401 ou um 407 não é falha; é um desafio de autenticação, e espera-se que o remetente tente de novo com credenciais digest. Um 488 Not Acceptable Here significa que os dois lados não têm codec em comum: o jeito educado de uma ligação dizer que vocês nunca combinaram como codificar o áudio.
Endereços, registro e as caixas no meio do caminho
Os endereços SIP parecem endereços de e-mail: sip:alice@example.com, às vezes com uma porta ou transporte, como em sip:alice@example.com:5061;transport=tls. Um número de telefone vira uma URI SIP quando se anexa o domínio da operadora, e é por isso que sip:+14155550132@sip.example.com é um endereço completo, pronto para discar.
Como os dispositivos se movem e ficam atrás de NAT, um telefone SIP avisa à rede onde ele está: envia um REGISTER ao seu registrar, que grava “alice@example.com está neste IP no momento”. Quando chega um INVITE para a Alice, um servidor proxy consulta esse registro e encaminha a requisição para onde a Alice realmente está. Na frente da maioria das implantações reais fica um session border controller (SBC), um segurança de porta para o tráfego SIP que termina a sinalização, esconde a rede interna, aplica a política de segurança e normaliza as esquisitices que os stacks SIP de fornecedores diferentes aprontam.
SIP vs RTP vs SDP
Três protocolos dividem o trabalho de toda ligação SIP:
| Protocolo | Papel |
|---|---|
| SIP | Sinalização: encontra o chamado, negocia a sessão, a encerra |
| SDP | Descrição: o payload dentro das mensagens SIP que lista codecs, IPs e portas |
| RTP | Mídia: carrega o áudio ou vídeo de verdade, marcado com números de sequência e timestamps |
É por isso que uma ligação pode tocar perfeitamente e entregar silêncio. A metade SIP funcionou, então os dois telefones concordam que existe uma ligação, mas a metade RTP quebrou, normalmente por causa de um firewall ou NAT que deixa a sinalização passar e derruba a mídia. Quando você depura uma ligação sem áudio, olhe o caminho da mídia, não a sinalização. A mesma separação é o que faz do jitter um problema de RTP: os campos de sequência e timestamp de cada pacote RTP, definidos pela RFC 3550, são exatamente o que um receptor mede para calculá-lo.
SIP vs VoIP vs SIP trunking
Os três termos são usados como sinônimos, e não são a mesma coisa:
| Termo | O que é |
|---|---|
| VoIP | A ideia guarda-chuva: voz transmitida por redes IP |
| SIP | Um protocolo de sinalização usado para estabelecer ligações VoIP |
| SIP trunking | Um serviço de operadora que usa SIP para conectar o seu sistema telefônico à rede telefônica pública |
Se VoIP é a ideia de ligar pela internet, o SIP é a gramática que as duas pontas falam, e um tronco SIP é a assinatura que leva a sua ligação até a rede telefônica pública. O guia de SIP trunking cobre o lado do serviço: provedores, canais e configuração.
Transportes, portas e criptografia
A sinalização SIP roda sobre UDP ou TCP na porta 5060, ou sobre TLS na porta 5061. UDP é o padrão tradicional e evita o bloqueio de cabeça de fila, mas mensagens grandes fragmentam, então TCP é comum para qualquer coisa de tamanho. O TLS criptografa a sinalização e autentica a outra ponta, e é o que as operadoras esperam para qualquer coisa em produção.
O SIP puro não criptografa nada: qualquer um no caminho pode ler a sinalização, e a mídia viaja em RTP sem criptografia. A correção padrão é TLS para a sinalização mais SRTP, definido pela RFC 3711, para a mídia. As duas pontas precisam concordar, porque ativar a criptografia só de um lado é um jeito confiável de produzir ligações que conectam e não carregam áudio nenhum.
Um aviso que sobreviveu a todas as décadas do SIP: não exponha um endpoint SIP aberto. Scanners varrem a internet atrás da porta 5060 minutos depois de ela aparecer, procurando troncos que façam ligações de graça. Autentique os remetentes com credenciais digest, libere só os IPs de sinalização da sua operadora, ou os dois.
Onde o SIP encontra um agente de voz
Se você coloca um agente de voz com IA na rede telefônica, o SIP é o protocolo trabalhando nas duas pontas da ligação: a operadora entrega ligações de entrada à plataforma de agentes como INVITEs SIP, e a plataforma devolve ligações de saída e transferências pelo mesmo caminho. Alguns detalhes de protocolo deixam de ser curiosidade no momento em que esse stack é seu:
- Transferências são REFERs. Quando o agente passa quem ligou para uma pessoa, a plataforma envia um SIP REFER pedindo à operadora que toque um novo destino. Um REFER puro é uma transferência direta; torná-la assistida, em que a pessoa ouve o contexto primeiro, é trabalho do agente antes de o REFER sair.
- As teclas têm três transportes. Os dígitos DTMF podem viajar em banda como áudio, fora de banda como eventos telephone-event da RFC 4733 (o payload 101 do INVITE acima), ou dentro de mensagens SIP INFO. Uma incompatibilidade entre o que o telefone envia e o que o agente escuta é o motivo pelo qual menus de “disque 1” engolem dígitos em silêncio.
- A mídia é 8 kHz. Ligações telefônicas negociam G.711, então o reconhecimento de fala do agente vê áudio de banda estreita, queira ou não. Teste com áudio de telefone de verdade antes de ajustar qualquer outra coisa; o guia do G.711 cobre o que o codec corta.
- Ligações de navegador são outro mundo. O WebRTC tem o seu próprio modelo agnóstico de sinalização, criptografia obrigatória e buffers de jitter adaptativos. O guia WebRTC vs WebSocket mapeia as diferenças para agentes de voz que vivem num navegador em vez da rede telefônica.
Na Cartesia, os Managed Agents aceitam ligações do seu próprio tronco SIP via TCP ou TLS, com a criptografia de mídia SRTP em disabled, allowed ou required, e autenticam ligações de entrada com credenciais digest ou uma lista de IPs autorizados. As transferências saem como SIP REFERs para números de telefone ou URIs SIP. A integração de SIP trunking (Inglês) mostra como apontar uma operadora para o endpoint SIP da Cartesia, e o guia de SIP trunking cobre a configuração por completo, incluindo os campos da API e a tabela de falhas.