O que é SIP? Protocolo de Iniciação de Sessão explicado para engenheiros de redes de voz

Duas faixas paralelas rotuladas SIP Signaling e RTP Media em azul e âmbar, representando a separação entre o plano de controle SIP e o plano de mídia RTP em uma chamada de voz VoIP

Toda chamada de voz IP que você já fez, toda implantação de Microsoft Teams Direct Routing e todo SIP Trunk que substituiu um circuito PRI antigo se baseia no mesmo protocolo. No entanto, a maioria das explicações sobre “o que é SIP” é escrita para desenvolvedores de aplicações criando botões click-to-call ou para líderes de negócios, não para o engenheiro que precisa rotear, proteger e solucionar problemas das chamadas em produção. Esta é a versão para esse engenheiro.

SIP, o Protocolo de Iniciação de Sessão (Session Initiation Protocol), é o protocolo de sinalização que estabelece, modifica e encerra sessões de comunicação em tempo real sobre redes IP. É a linguagem que dois telefones, duas operadoras ou um telefone e uma plataforma em nuvem usam para concordar sobre uma chamada antes que qualquer áudio flua. Neste artigo, vamos explicar o que SIP significa, de onde veio, onde se posiciona em relação à mídia real, como o SIP endereça usuários, as partes de uma rede SIP e como os telefones SIP e provedores SIP que você utiliza diariamente se encaixam nesse cenário.

Termos e conceitos essenciais
Um glossário de referência rápida para os termos usados ao longo deste artigo.
SIP (Session Initiation Protocol) é o protocolo de sinalização do IETF que estabelece, modifica e encerra sessões de comunicação em tempo real, como chamadas de voz e vídeo sobre redes IP.
Sinalização (plano de controle) é o conjunto de mensagens que estabelece e gerencia uma chamada, distinto do áudio propriamente dito.
RTP (Real-time Transport Protocol) é o Protocolo de Transporte em Tempo Real que carrega a mídia real de voz ou vídeo depois que uma sessão é negociada, separado do SIP.
SDP (Session Description Protocol) é o Protocolo de Descrição de Sessão que descreve a mídia proposta, codecs, endereços IP e portas, transportado dentro dos corpos das mensagens SIP.
SIP URI é um endereço SIP no formato sip:user@domain, usado para identificar um usuário independentemente do dispositivo que ele esteja utilizando no momento.
User Agent (UAC / UAS) é um terminal SIP, atuando como cliente quando envia uma requisição e como servidor quando responde a uma.
Registrar é o servidor que registra onde cada usuário está atualmente acessível, populado pelo método REGISTER. É o equivalente SIP de um diretório de páginas brancas.
SIP proxy é um elemento de rede que roteia requisições SIP em direção ao seu destino sem encerrar a sessão.
Controlador de Borda de Sessão (SBC) é o ponto de controle na borda de uma rede que protege, roteia e normaliza o SIP ao cruzar entre redes.
SIP Trunk (tronco de voz sobre IP) é uma conexão virtual que transporta chamadas SIP entre um sistema telefônico e um provedor, substituindo circuitos físicos PRI ou PSTN.
Provedor SIP (ITSP) é um Provedor de Serviços de Telefonia pela Internet (Internet Telephony Service Provider) que vende SIP Trunks, números de telefone e conectividade com a rede telefônica pública.
TLS (Transport Layer Security) é a camada de criptografia que protege a sinalização SIP em trânsito, convencionalmente na porta 5061.

O que significa SIP? Definição do Session Initiation Protocol

SIP significa Session Initiation Protocol (Protocolo de Iniciação de Sessão). É um protocolo de camada de aplicação, baseado em texto, de requisição e resposta, padronizado pelo IETF no RFC 3261. Se você já leu uma troca HTTP, o SIP vai parecer familiar: requisições têm métodos e cabeçalhos, respostas têm códigos de status numéricos e toda a conversa é texto simples legível por humanos. Esse design foi intencional, porque as pessoas que escreveram o SIP o modelaram com base no HTTP e SMTP, em vez da sinalização telefônica tradicional.

O ponto mais útil para entender logo de início é o que o SIP não faz. O SIP negocia a sessão; ele não transporta a voz. O áudio viaja em um fluxo de mídia separado pelo Protocolo de Transporte em Tempo Real (RTP), e os detalhes desse fluxo de mídia são descritos pelo Protocolo de Descrição de Sessão (SDP) transportado dentro das mensagens SIP. O SIP é o plano de controle e o RTP é o plano de mídia. Mantenha essa distinção em mente, porque ela explica quase tudo sobre como redes de voz são construídas.

Dois exemplos curtos mostram como essas mensagens aparecem no fio. Um REGISTER vincula um usuário ao dispositivo que ele está usando no momento:

REGISTER sip:registrar.biloxi.com SIP/2.0
Via: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
To: Bob <sip:[email protected]>
From: Bob <sip:[email protected]>;tag=456248
Call-ID: 843817637684230@998sdasdh09
CSeq: 1826 REGISTER
Contact: <sip:[email protected]>
Expires: 7200
Content-Length: 0

Um INVITE inicia uma sessão e propõe mídia via SDP:

INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
Max-Forwards: 70
To: Bob <sip:[email protected]>
From: Alice <sip:[email protected]>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:[email protected]>
Content-Type: application/sdp
Content-Length: 142

Uma sessão SIP é conduzida por um pequeno conjunto de métodos de requisição. Você não precisa da sequência completa de chamada para entender o protocolo, apenas do vocabulário:

Método O que faz
INVITE Inicia uma sessão e propõe mídia (codecs, IP, portas) via SDP
ACK Confirma a resposta final a um INVITE
BYE Encerra uma sessão estabelecida
REGISTER Vincula o endereço de um usuário à sua localização atual do dispositivo
OPTIONS Consulta as capacidades de outro terminal
SUBSCRIBE / NOTIFY Solicita e entrega notificações de eventos (presença, mensagem em espera)
CANCEL Aborta uma requisição que ainda não foi concluída

As respostas espelham o HTTP e se dividem em seis classes numéricas: 1xx provisórias, 2xx positivas e 3xx a 6xx respostas negativas. Para ver como essas mensagens sequenciam uma chamada real, consulte nosso passo a passo do fluxo de chamada SIP, e para o que cada classe de status significa na prática, veja o guia de códigos de resposta SIP. Aqui, o ponto é simplesmente que o SIP é uma linguagem compacta de requisição e resposta com um punhado de verbos.

Uma breve história do SIP e por que ele substituiu o H.323

O SIP surgiu como um draft do IETF no final dos anos 1990, alcançando sua primeira forma publicada como RFC 2543 em 1999 e sua definição atual como RFC 3261 em 2002. Na época, o padrão dominante para multimídia sobre IP era o H.323, uma especificação abrangente da ITU emprestada do mundo da videoconferência.

O H.323 funcionava, mas era pesado. Usava codificação binária que não era possível ler diretamente no fio, carregava uma grande pilha de sub-protocolos e estendê-lo era lento. O SIP seguiu o caminho oposto. Por ser baseado em texto e legível por humanos, um engenheiro podia solucionar problemas visualmente. Por emprestar o modelo de requisição e resposta do HTTP, era simples de implementar e fácil de estender com novos cabeçalhos e métodos. Por usar endereçamento no estilo internet, encaixava-se naturalmente em um mundo que já operava com DNS e IP. Essas propriedades, legibilidade, extensibilidade e design nativo para internet, são a razão pela qual o protocolo SIP se tornou o padrão para VoIP e o H.323 ficou relegado ao status de legado.

Essa longa trajetória merece respeito quando você constrói infraestrutura de voz. A TelcoBridges tem mais de 20 anos de experiência em implantações SIP por trás de seus produtos, e a lição recorrente ao longo desse tempo é que a flexibilidade do SIP também é sua complicação: a mesma extensibilidade que o ajudou a vencer significa que nenhum fornecedor o implementa de forma idêntica.

Onde o SIP se encaixa na pilha: sinalização, SDP e mídia

Três protocolos fazem o trabalho de uma única chamada de voz, e mantê-los organizados é a base para todo o resto.

SIP é a sinalização. Ele localiza o destino, faz a chamada tocar, negocia a chamada e a encerra. SDP, o Protocolo de Descrição de Sessão definido no RFC 4566, viaja dentro dos corpos das mensagens SIP e descreve a mídia proposta: quais codecs cada lado suporta e os endereços IP e portas para onde o áudio deve ser enviado. RTP, o Protocolo de Transporte em Tempo Real definido no RFC 3550, é o fluxo que realmente transporta a voz digitalizada depois que ambos os lados concordam.

Anatomia de uma sessão SIP: plano de controle de sinalização SIP através de um proxy ou SBC, com um plano de mídia RTP separado transportando áudio e SDP transportado dentro das mensagens SIP

O plano de controle (sinalização SIP) e o plano de mídia (áudio RTP) viajam como fluxos separados. Clique para ampliar.

O SIP roda sobre UDP ou TCP, convencionalmente na porta 5060, e sobre TLS para sinalização criptografada na porta 5061. A mídia roda como RTP, ou na sua forma criptografada SRTP. Como sinalização e mídia são separadas, um intermediário pode ler, rotear e reescrever o SIP sem nunca tocar no áudio, que é exatamente o que proxies e Controladores de Borda de Sessão existem para fazer. A mecânica dessa separação, incluindo o modelo de Agente de Usuário Back-to-Back (B2BUA), é abordada no nosso aprofundamento sobre fundamentos de sinalização SIP.

Como o SIP identifica usuários: SIP URIs e endereços

O SIP empresta seu esquema de endereçamento do e-mail, razão pela qual um endereço SIP se parece com um. Uma SIP URI tem a forma sip:[email protected], onde a parte antes do @ identifica o usuário e a parte depois identifica o domínio ou host responsável por ele. A variante segura, sips:[email protected], sinaliza que a requisição deve trafegar sobre TLS.

Esse endereço é lógico, não físico. sip:[email protected] indica quem você está tentando alcançar, não qual dispositivo ou IP ela está usando neste momento. O mapeamento de um endereço lógico para uma localização real é feito pelo registro: um dispositivo envia uma requisição REGISTER a um registrar, vinculando o endereço de registro do usuário ao endereço de contato atual do dispositivo. Quando alguém depois liga para essa URI, a rede consulta o vínculo e roteia a chamada para onde o usuário se registrou. Este é o mecanismo que permite manter um número de telefone enquanto você alterna entre um telefone de mesa, um laptop e um aplicativo móvel.

O DNS também desempenha um papel importante na identificação de usuários, pois a resolução DNS é o que transforma o domínio em uma SIP URI no endereço IP para o qual uma requisição é realmente enviada.

As partes de uma rede SIP

Uma implantação SIP funcional é um punhado de funções cooperantes. Raramente você constrói todas elas sozinho, mas precisa reconhecer cada uma ao ler um diagrama de rede ou um trace.

User agents são os terminais. O lado que envia uma requisição atua como User Agent Client (UAC); o lado que responde é o User Agent Server (UAS). Um único dispositivo alterna entre ambas as funções cada vez que uma requisição é enviada ou recebida.

Telefones SIP e softphones são os user agents mais comuns que você encontrará. Um telefone SIP é um telefone de mesa físico que fala SIP nativamente, enquanto um softphone executa a mesma lógica como um cliente de software em um computador ou dispositivo móvel. Ambos se registram em um PBX ou provedor e então fazem e recebem chamadas como user agents SIP comuns.

Registrars e serviços de localização rastreiam onde cada usuário está atualmente, usando o mecanismo REGISTER descrito acima.

SIP proxies roteiam requisições em direção ao seu destino sem encerrar a sessão, encaminhando mensagens e consultando a lógica de roteamento ao longo do caminho. Para uma explicação focada, veja o que é um SIP proxy.

Controladores de Borda de Sessão (SBCs) ficam na fronteira entre redes, por exemplo entre sua rede e a de uma operadora. Um SBC é o ponto de controle que protege, roteia e normaliza o SIP ao cruzar essa fronteira, razão pela qual é central para voz multi-vendor.

SIP na prática: SIP Trunks, provedores SIP e telefones SIP

Em implantações reais, o SIP aparece em três lugares sobre os quais engenheiros perguntam constantemente.

Um SIP Trunk (tronco de voz sobre IP) é uma conexão virtual que transporta chamadas SIP entre seu sistema telefônico e um provedor, substituindo os circuitos físicos PRI ou PSTN da era TDM. Um único trunk pode transportar muitas chamadas simultâneas, dimensionado pelo número de sessões que você compra e não por linhas físicas. A arquitetura e segurança do trunking são o assunto do guia de SIP Trunking e interoperabilidade multi-vendor.

Provedores SIP, também chamados de Provedores de Serviços de Telefonia pela Internet (ITSPs), são as empresas que vendem esses trunks junto com números de telefone (DIDs) e terminação e originação de chamadas para a rede pública. Ao avaliar um provedor, as perguntas que importam para um engenheiro de voz são práticas: quais codecs eles suportam, se oferecem sinalização e mídia criptografadas, como lidam com a autenticação de chamadas STIR/SHAKEN e quão bem sua implementação SIP interopera com seu equipamento. Esse último ponto é onde muitas integrações travam.

Telefones SIP em produção precisam se registrar, atravessar NAT e idealmente criptografar seu tráfego, especialmente para trabalhadores remotos conectando de fora da rede do escritório. Esses são problemas bem conhecidos, mas são problemas, e geralmente são resolvidos na borda da rede, não no próprio telefone.

A razão pela qual o SIP multi-vendor raramente “simplesmente funciona” é que a extensibilidade do SIP corta dos dois lados. Um fornecedor inclui um cabeçalho que outro não espera; um terceiro ordena cabeçalhos de uma forma que quebra o parser de um quarto fornecedor. Diferentes cenários SIP existem para lidar com operações como transferência de chamada, e nem toda implementação suporta a gama completa dessas variantes. Alguns ISPs também exigem recursos avançados de DNS que não fazem parte da pilha básica. Reconciliar essas diferenças é chamado de normalização SIP, e é o trabalho diário de um SBC. O artigo sobre manipulação de cabeçalhos SIP explica como essa normalização funciona no nível da mensagem.

SIP vs termos relacionados

Duas comparações esclarecem a maior parte da confusão em torno do protocolo.

SIP vs VoIP. Voice over IP (VoIP) é o termo guarda-chuva para transportar voz através de redes IP, e o SIP é um dos protocolos de sinalização que faz o VoIP funcionar, de longe o mais comum hoje. Dizer que uma rede “usa VoIP” descreve o que ela faz; dizer que “usa SIP” descreve como ela configura as chamadas.

SIP vs VoLTE. VoLTE (Voice over LTE) se refere a chamadas de voz transportadas sobre uma rede de rádio 4G/LTE, em oposição à tecnologia móvel mais antiga 2G/3G.

SIP vs RTP. Esta é novamente a distinção controle-versus-mídia: o SIP negocia e controla a sessão, enquanto o RTP transporta o áudio quando a sessão está ativa. Eles rodam como fluxos separados, frequentemente por caminhos de rede diferentes.

Se seu interesse é comunicação em tempo real baseada em navegador, a comparação relacionada é SIP vs WebRTC, que aborda onde cada protocolo se encaixa.

Perguntas frequentes

O que significa SIP?

SIP significa Session Initiation Protocol (Protocolo de Iniciação de Sessão). É o protocolo de sinalização padronizado pelo IETF, usado para estabelecer, modificar e encerrar sessões em tempo real, como chamadas de voz e vídeo sobre redes IP.

O que é um telefone SIP?

Um telefone SIP é um terminal que usa SIP para fazer e receber chamadas. Pode ser um telefone de mesa físico que fala SIP nativamente ou um softphone rodando como aplicativo em um computador ou dispositivo móvel. Em ambos os casos, o telefone atua como um user agent SIP: ele se registra em um PBX ou provedor e então origina e atende chamadas usando mensagens SIP.

O que é um provedor SIP e como escolher um?

Um provedor SIP, ou Provedor de Serviços de Telefonia pela Internet (ITSP), vende SIP Trunks, números de telefone e conectividade com a rede telefônica pública. Ao escolher um, avalie os fatores que afetam sua implantação na prática: codecs suportados, suporte a sinalização criptografada (TLS) e mídia (SRTP), autenticação de chamadas STIR/SHAKEN, capacidade em sessões simultâneas e quão bem o SIP deles interopera com seu equipamento existente.

SIP é o mesmo que VoIP?

Não. VoIP é o conceito geral de transportar voz sobre redes IP, enquanto o protocolo SIP é um padrão de sinalização específico usado para estabelecer essas chamadas. A maioria das implantações VoIP usa SIP, mas o VoIP também pode rodar sobre outros protocolos de sinalização.

O SIP é seguro por si só?

As mensagens SIP são texto simples por padrão, então por si só podem ser lidas ou adulteradas em trânsito. Proteger o SIP significa rodar a sinalização sobre TLS e a mídia sobre SRTP, e posicionar um ponto de controle como um SBC na borda da rede para aplicar essas políticas. Você pode ler mais na página de segurança do SBC.

Conclusão

O SIP é a linguagem de sinalização da voz IP. Ele estabelece, modifica e encerra sessões usando um conjunto compacto de requisições e respostas baseadas em texto, enquanto o RTP transporta o áudio real e o SDP descreve a mídia dentro das mensagens SIP. Em torno desse protocolo há um pequeno elenco de funções cooperantes: user agents e telefones SIP, registrars, proxies e Controladores de Borda de Sessão, que juntos fazem as chamadas funcionarem entre dispositivos, fornecedores e provedores. Uma vez que você consiga ver o SIP como o plano de controle e reconhecer essas funções em um diagrama, o resto da rede de voz deixa de ser uma caixa preta.

O desafio recorrente é que cada fornecedor fala SIP com um sotaque ligeiramente diferente, e fazer a ponte entre esses sotaques de forma confiável é o que transforma uma integração frágil em uma rede de produção.

Gerencie SIP multi-vendor com o ProSBC

Como nenhum sistema implementa SIP de forma idêntica, uma rede de voz multi-vendor real precisa de um ponto de controle que termine e re-origine o SIP em ambos os lados e reconcilie as diferenças entre eles. Isso é o que um Controlador de Borda de Sessão faz, e é para isso que o ProSBC foi construído. O ProSBC é um SBC de nível carrier, baseado em software, que opera como um verdadeiro Agente de Usuário Back-to-Back (B2BUA), dando-lhe controle total da sinalização SIP em ambas as pernas da chamada.

Seu mecanismo de manipulação de cabeçalhos SIP normaliza os dialetos dos fornecedores através da fronteira, apoiando-se em mais de 20 anos de experiência da TelcoBridges em implantações SIP. Você pode testar tudo isso antes de se comprometer: o ProSBC Lab gratuito e self-service oferece uma instância de 3 sessões em aproximadamente 20 minutos, e os preços comerciais começam a partir de US$ 1,40 por sessão por ano.

Prefere avaliar por conta própria primeiro? Inicie seu teste gratuito de 30 dias.