4. Aplicações do SIP

Como aplicações podemos citar que o SIP já foi utilizado em versões antigas do mundialmente utilizado MSN Messenger (em suas versões recentes o MSN Messenger utiliza um protocolo proprietário chamado MSNP – Microsoft Network Protocol), outro exemplo é o Gizmo5, aplicativo para realizar chamadas de voz vídeo e texto comprado pela empresa Google em 2009 [11]. Atualmente diversos servidores privados e open source utilizam esse tipo de protocolo para comunicação multimídia eficiente, servidores a exemplo da Nokia, Siemens e Cisco.

Este protocolo é bastante utilizado para video conferências e chamadas VoIP. Empresas como a Siemens chegaram a implementar cinquenta por cento de suas linhas comercializadas no modelo IP através do SIP (Ano de 2006).
A Cisco possui outro exemplo na área de telefonia através do IP Phone 7960 que implementa uma linha telefônica IP para ambientes executivos e gerenciais (modelo atualmente fora de linha).

Ao percorrer as aplicações encontradas que utilizam SIP, percebemos um maior número de ocorrências na área de telefonia, principalmente em linhas telefônicas através do VoIP. Por este motivo, é interessante demonstrar com mais detalhes como uma aplicação de chamada entre telefones que utilizam SIP ocorre.

Abaixo (Figura 1), encontra-se a ilustração de como uma chamada que utiliza o protocolo SIP ocorre em telefones por IP.

image01
Figura 1 - Exemplo de uma conexão e tráfego de voz usando o protocolo SIP com servidor Proxy. Imagem retirada da referência [6]

É válido ressaltar que a figura 1 exemplifica uma chamada telefônica através do protocolo SIP utilizando um servidor Proxy (servidor “procurador”). Este servidor responsabiliza-se por guardar os clientes (linhas telefônicas) que uma determinada rede possui, registrar novos clientes e também espelhar as mensagens enviadas de um cliente para outro no momento da tentativa, estabelecimento e término de uma chamada. Porém este servidor não é fundamental para a ocorrência de uma chamada, podendo esta comunicação ocorrer diretamente entre os telefones, conforme ilustrado na figura 2.

Através da figura 1, evidenciamos o caso em que sinalização de uma sessão ( setas contínuas vermelhas da figura 1 ) e os dados de voz trafegados ( seta pontilhada verde da figura 1 ) estão separados. Isto ocorre na rede de comunicações VoIP. Vale ressaltar que este fato não está fixado ao protocolo SIP.
image02
Figura 2 – Exemplo de uma conexão e tráfego de voz usando o protocolo SIP sem o servidor Proxy. Imagem retirada da referência [15]

Para entendermos o funcionamento básico do SIP neste exemplo acima, a figura 3 ilustra as mensagens de sinalização trocadas durante uma sessão entre telefones IP. Mais uma vez, a existência do servidor Proxy é opcional, assim as mensagens trocadas irão diretamente de fim a fim.

Através da figura 3, temos uma ilustração das mensagens básicas trocadas do protocolo SIP, dentre estas mensagens, temos:

  • INVITE – Requisição para estabelecimento de conexão.
  • ACK – Aceitação da requisição de estabelecimento de conexão.
  • BYE – Término da conexão estabelecida.
  • CANCEL – Término de uma conexão não estabelecida, ou seja, término da tentativa de uma conexão mal sucedida.
  • REGISTER – Registro de usuário no servidor Proxy.
  • OPTIONS – Pedido para exposição das opções que o servidor oferece.

As respostas para mensagens SIP assemelham-se as mensagens de formato digital de um protocolo HTTP. Como exemplo temos algumas delas:

  • 1XX – Mensagens de estado da sessão:
    • 100 - Significa “tentando”.
    • 180 - Significa “campainha tocando”.
    • 183 - Significa “sessão em progresso”.
  • 2XX – Requisição de sessão completada:
    • 200 - Significa “OK”
  • 3XX – Repassando chamada. O usuário requisitado encontra-se em um outro fim.
    • 302 – Significa “Movido temporariamente”
    • 305 – Significa “Necessária a utilização de servidor Proxy
  • 4XX – Erro:
    • 403 – Significa “Requisição proibida”.
  • 5XX – Erro no servidor:
    • 500 – Significa “Erro interno no servidor”
    • 501 – Significa “Serviço não implementado”.
  • 6XX – Falha global
    • 606 – Significa “Requisição não aceitável”.

image03
Figura 3 - Mensagens de sinalização do protocolo SIP trocadas entre dois usuários.  A seta pontilhada representa
um protocolo a parte, responsável pelo tráfego dos dados de voz. Imagem retirada da referência [6].