Estrutura do Protocolo SIP e SIP URI – EDCA Treinamentos

Estrutura do Protocolo SIP e SIP URI

Artigo publicado em 02 de setembro de 2021

––– visualizações


Eddwan Hallen

Eddwan Hallen

Instrutor & Co-fundador


O SIP teve sua origem em meados da década de 1990. Em uma época em que o protocolo H.323 começava a ser adotado como um padrão. O SIP foi criado inicialmente para que fosse possível adicionar ou remover participantes dinamicamente de sessões multicast.

Ele foi moldado e inspirado em outros protocolos de internet baseados em texto como o SMTP, que é usado para envio de e-mail, e o HTTP, que é usado para entregar as páginas da internet ao seu navegador. Por isso ele possui três características que considero importante: Simplicidade, independência do protocolo de transporte e é baseado em texto.

  1. A Simplicidade se deve ao fato de seus métodos serem auto-explicativos e facilitarem a compreensão de quem faz a análise e leitura de suas mensagens
  2. A independência do protocolo de transporte é importante porque dentro do modelo de referência OSI e também no TCP/IP ele não se importa com qual protocolo está operando na camada de transporte, podendo ser UDP ou TCP ou qualquer outro que existisse ali.
  3. E o fato de ser baseado em texto facilita muito seu entendimento e leitura, não requerendo ferramentas especiais ou decodificadores para traduzir suas mensagens de sinalização como acontece com outros protocolos como o H.323 ou MGCP.

Então focado na simplicidade e o fato de ser baseado em texto, temos aqui uma mensagem de exemplo SIP e nela podemos identificar alguns elementos e dar nome aos bois.

Estrutura do SIP

A primeira coisa que aparece em uma mensagem SIP é o método, que neste caso temos o INVITE, que é usado para iniciar uma conversa SIP, mas poderia ser qualquer outro método, como UPDATE, REFER ou mesmo um BYE para finalizar uma sessão.

Depois temos a SIP URI, que é o endereço SIP de destino, neste campo temos a identificação do destinatário da mensagem. Muito semelhante ao endereço de email em seu formato ele pode ser organizado da seguinte forma:

  1. O primeiro item é o que identifica o protocolo a ser usado, neste caso temos SIP, mas poderia ser SIPS, identificando um SIP seguro que poderia usar TLS ou SSL por exemplo.
  2. Em seguida temos o ID do usuário, podendo ser o numero do telefone ou qualquer identificação de usuário.
  3. Depois do @ temos o domínio ou servidor de destino, pode ser um FQDN ou ainda um endereço IP, como está apresentado no nosso exemplo.
  4. Por último temos a porta de conexão, que é um campo opcional e quando omitido ele utilizará a porta padrão que é 5060.

Avançando, temos os cabeçalhos do protocolo SIP destacados em amarelo. Alguns campos são obrigatórios como o Via, Max-Forwards, To, From, Call-ID e CSeq.

Por ultimo, temos o corpo da mensagem, que é definido pelo cabeçalho Content-Type como application/sdp e neste caso, sabemos que temos então o protocolo SDP, responsável por estabelecer o canal de mídia por onde será enviado o audio e/ou video. O SDP é mais um protocolo de aplicação que neste caso funciona em conjunto com o SIP. E lembrando que o SIP sozinho não consegue fazer muito mais do que somente sinalizar sessões, portanto é necessário que para estabelecer os streamings faça-se uso de outros protocolos, como neste caso foi o SDP.

Bom com isso mostrei a você porque o SIP foi inventado, como ele está estruturado e quais são os componentes da mensagem SIP. Se você gostou e quer aprender mais, temos um curso de Introdução ao Protocolo SIP e Wireshark básico para VoIP onde apresentamos os conceitos de telefonia IP, SIP e SDP com teoria e prática de uso através do analisador de pacotes, Wireshark.

Grande Abraço e até o próximo artigo!

Registre-se na nossa newsletter

e mantenha-se informado sobre nossos novos treinamentos e artigos.