Blog
VoIP

Protocolo SIP: Entenda como funciona uma ligação VoIP

Entenda o funcionamento do protocolo SIP e como ele estabelece, mantém e encerra chamadas VoIP entre ramais.

SipPulse - Equipe Técnica1 de fevereiro de 20133 min de leitura
Compartilhar
Protocolo SIP: Entenda como funciona uma ligação VoIP

Protocolo SIP: Entenda como funciona uma ligação VoIP

As ligações VoIP, assim como qualquer informação que trafega na Internet, também se baseiam em tráfego de pacotes que utilizam um protocolo (regras que regulamentam a comunicação entre duas máquinas).

O protocolo utilizado nas ligações VoIP pode ser SIP, IAX, H.323, MGCP, XMPP, ou outros, porém, atualmente o protocolo SIP tem sido melhor aceito pelas empresas de telecom tendo uma boa difusão no mercado de telefonia.

Hoje falaremos um pouco sobre o funcionamento deste protocolo e abordaremos o diálogo SIP com um servidor proxy interligando dois ramais.

Funcionamento de uma ligação VoIP

Neste exemplo de chamada usando o protocolo SIP é possível observar facilmente as mensagens trocadas para estabelecer a chamada. Abaixo o passo a passo:

  1. O usuário Lucien discou para o usuário Carlos. Neste momento o ramal do Lucien encaminhou o INVITE para o servidor SIP em que está registrado
  2. O servidor encaminhou o INVITE para o ramal do Carlos (ligação interna), e respondeu ao Lucien "100 Trying" informando que está tentando efetuar a ligação
  3. O ramal do Carlos quando recebe a solicitação da chamada envia o "180 Ringing" para o servidor, informando que recebeu o INVITE e está chamando
  4. O servidor repassa para o ramal do Lucien a mensagem informando que o telefone está chamando
  5. Carlos atende o telefone, neste momento o ramal dele envia "200 OK" informando que o telefone foi atendido e já é possível estabelecer o fluxo de mídia
  6. O servidor repassa o "200 OK" para o ramal originador (Lucien) que responde com "ACK" (Acknowledge) confirmando que recebeu o "200 OK"
  7. O servidor repassa o "ACK" para o ramal do Carlos que ao receber a confirmação abre a sessão de mídia diretamente entre os dois ramais, dando início à conversação
  8. Carlos encerra a chamada, nesse momento o ramal envia a mensagem de BYE, informando o sinal de desligamento
  9. O servidor repassa o BYE para o ramal do Lucien, que responde com 200 OK, confirmando o encerramento da chamada

Observações importantes

Sempre que o ramal destino estiver disponível e receber a requisição de chamada (INVITE) ele retorna o Ring (180 Ringing) informando que está chamando. Caso este ramal esteja ocupado, não esteja registrado ou por algum outro motivo não possa atender, ele irá retornar um código de erro.

O fato de a mídia estar passando diretamente de um ramal para o outro (ponto-a-ponto) é um forte indicativo do servidor estar atuando como um SIP Proxy.

Em uma chamada com o áudio passando ponto-a-ponto o servidor não tem como fazer controle de mídia ou gravar as chamadas, porém o consumo de banda é muito menor, afinal só trafegam os pacotes SIP (puramente texto) para o controle da chamada no servidor.

Pacote SIP (INVITE)

Abaixo podemos ver no pacote SIP do tipo INVITE as informações básicas contidas nele:

INVITE sip:4031@servidor.sip SIP/2.0
Via: SIP/2.0/UDP 192.168.0.50:1047;branch=z9hG4bK188800439
From: "Lucien <4030>" <sip:4030@servidor.sip>;tag=738994358
To: <sip:4031@servidor.sip>
Call-ID: 1287077758@192.168.0.43
CSeq: 1 INVITE
Contact: <sip:4030@192.168.0.50:1047>
Content-Type: application/sdp
Max-Forwards: 70
  • INVITE — Nesta linha são enviados os comandos que estabelecem o diálogo SIP. A mensagem INVITE é a solicitação de uma nova chamada. Note que neste campo também é possível observar o número destino (número de B).
  • From — Este campo identifica o originador da chamada (número de A).
#SIP#VoIP#protocolo

Artigos Relacionados