/
Análise de Pacotes SIP, SDP e Codecs

Análise de Pacotes SIP, SDP e Codecs

Neste artigo, exploraremos a análise de pacotes SIP (Session Initiation Protocol) e como identificar os codecs envolvidos nessa troca.

O protocolo SIP (Session Initiation Protocol) é um protocolo de controle de sessão para comunicação em tempo real sobre a Internet. Ele é usado para estabelecer, manter e encerrar sessões de comunicação de voz, vídeo e outros tipos de dados.

O protocolo SDP (Session Description Protocol) é um protocolo de descrição de sessão que é usado para descrever as características de uma sessão de comunicação. Ele é usado para fornecer informações sobre o tipo de mídia que será transportada na sessão, os codecs que serão usados e as configurações de transporte.

Os codecs são algoritmos que codificam e decodificam dados de mídia. Eles são usados para compactar os dados de mídia para que possam ser transportados de forma eficiente pela rede.

 

Estrutura de um pacote SIP

Um pacote SIP é composto por várias linhas de texto, cada uma com um cabeçalho e um valor. Os cabeçalhos fornecem informações sobre o tipo de mensagem, o remetente, o destinatário, o conteúdo da mensagem e outras informações.

Exemplo de pacote SIP:

image-20240104-173201.png

Os seguintes campos são os cabeçalhos mais comuns de um pacote SIP:

Method: O método da mensagem. Os métodos mais comuns são INVITE (para iniciar uma chamada), ACK (para confirmar o recebimento de uma mensagem), BYE (para encerrar uma chamada) e OPTIONS (para obter informações sobre um recurso).

Via: Indica o protocolo de transporte, o endereço IP e a porta utilizada, além de um identificador único (branch) para a transação.

Max-Forwards: Indica o número máximo de saltos permitidos para encaminhamento da mensagem.

Contact: Informa como o remetente pode ser contatado.

From e To: Especificam os participantes da chamada (origem e destino), indicando seus endereços SIP e, em alguns casos, informações adicionais como tags.

Call-ID: Identificador único da chamada, permitindo associar todas as mensagens relacionadas a uma mesma chamada.

CSeq: Número de sequência da mensagem, indicando a ordem das mensagens em uma transação.

Supported: Lista de recursos suportados pelo cliente.

User-Agent: Identifica o software ou dispositivo que está iniciando a chamada.

Content-Type: O comprimento do corpo da mensagem em bytes.

 

Estrutura do SDP

O SDP é um protocolo de texto, composto por várias linhas, cada uma com um campo e um valor. O SDP é descrito pela RFC 4566. Também faz parte do pacote SIP.

Algumas linhas em cada descrição são NECESSÁRIAS e outras são OPCIONAIS, mas todos DEVEM aparecer exatamente na ordem dada pela RFC

Exemplo de SDP:

image-20240105-124358.png

CAMPO

NOME

OBRIGATÓRIO

CAMPO

NOME

OBRIGATÓRIO

v

Versão do protocolo

Sim

o

Criador e identificador da origem

Sim

s

Nome da sessão

Sim

i

informação sobre a sessão

Não

u

Uniforme Resource Identifier – URI

Não

e

Endereço de email

Não

p

Número de telefone

Não

c

Informação sobre a conexão

Sim

b

Informação sobre largura de banda

Não

t

Tempo para início e término da sessão

Sim

r

Número de repetições

Não

z

Correções de fuso horário

Não

k

Chave de criptografia (não utilizado mais)

Não

a

Linha de atributos da sessão

Não

m

Informações sobre a mídia

Não

a

Atributos da mídia

Não

 

Codecs

Os codecs são algoritmos que codificam e decodificam dados de mídia. Eles são usados para compactar os dados de mídia para que possam ser transportados de forma eficiente pela rede.

Em um pacote sip os codecs são ofertados no SDP no campo m (nome da mídia e endereço de transporte).

O campo m é formado por: m=<mídia> <porta> <proto> <codec>

No exemplo:

m=audio 34494 RTP/AVP 8 0 101

mídia= audio

porta= 34494

procolo= RTP/AVP

codecs= 8 0 101

 

Outro exemplo:

image-20240105-130955.png

Abaixo estão alguns dos principais codecs usados nas trocas de chamadas:

Payload

Codec

Payload

Codec

0

PCMU

3

GSM

4

G.723

5

DVI4

7

LPC

8

PCMA

9

G.722

18

G729

Related content

SIPPulse Routing and Billing Solutions for SIP