DevSecOps

17 abr, 2015

Fundamentos do protocolo SIP – Parte 01

Publicidade

A Telefonia IP ainda é um assunto complicado em muitas empresas que tem serviços e core sustentados pela telefonia tradicional. Tomar a decisão de migrar é complicada e cara. A seguir, teremos uma série de 3 artigos, a fim de ajudar Analistas, Gestores e CIOs a entenderem o universo da Telefonia IP e, assim, facilitar na tomada de decisões.

1) Introdução

O SIP (Session Initiation Protocol) é um protocolo de sinalização para controlar sessões multimídia. Em outras palavras, ele provê uma via para o estabelecimento de comunicações de voz, vídeo e messaging entre diferentes dispositivos. A partir da sua aplicação inicial em Internet Telephony, o SIP se espalhou por muitas outras áreas, incluindo aplicações avançadas de telefonia, conferência e IM (Instant Messaging), e suas funcionalidades estão sendo expandidas para atender a novos requerimentos e ao aumento do escopo de suas aplicações.

O presente documento provê um overview do estado atual do SIP, explicando sucintamente a tecnologia e os requerimentos de negócios que estão impelindo seu desenvolvimento e aplicação em diferentes soluções de telecomunicações.

1.1) Conceitos

A visão da rede, sob o ponto de vista do SIP, aproxima-se muito daquela usada para a Internet: dispositivos inteligentes que se comunicam diretamente um com o outro sobre uma infraestrutura de transporte simples. Essa visão contrasta com a da rede telefônica tradicional, na qual o transporte entre terminais burros é provido por meio de um núcleo de rede inteligente, que é parte ativa em qualquer conversação.

Essa diferença possibilita que a rede se torne uma commodity e permite que qualquer dispositivo conectado à rede possa prover serviço para um outro qualquer. Isso aumenta a competição, que puxa os preços para baixo, e ajuda a inovação, pois o investimento necessário para implementar novos serviços será bastante pequeno. Considerando a rede de telefonia tradicional, apenas a empresa concessionária poderá prover novos serviços, o que irá provocar o provável upgrade do núcleo da rede, que é bastante caro e atrasa todo esse processo.

Enquanto a explicação acima mostra por que a telefonia IP está ajudando a diminuir os custos gerais de telefonia, e por que há um elevado nível de inovação com a utilização do SIP, as seguintes funcionalidades SIP mostram porque ele é um framework tão poderoso:

  • Mobilidade – O SIP possibilita que um cliente se registre dinamicamente em uma determinada localidade, de modo que todas as chamadas destinadas a ele possam ser roteadas usando um endereço bem conhecido, similar a um endereço de e-mail.
  • Estrutura de mensagem flexível – A estrutura das mensagens SIP o torna muito mais fácil de ser estendido para aplicações do que os protocolos equivalentes existentes, como o H.323, o qual utiliza a codificação padrão ANS.1 do ITU-T, em vez de texto. As mensagens SIP são muito mais simples e flexíveis.
  • Distribuição de funções entre dispositivos – O SIP habilita que requests sejam roteados dinamicamente através de diferentes dispositivos, permitindo que funcionalidades sejam distribuídas e requests roteados por meio dos dispositivos relevantes.
  • Negociação de funcionalidades suportadas – Isso torna o SIP muito adaptável, a medida que a mídia e as extensões do protocolo a serem utilizadas em uma chamada qualquer são negociadas previamente entre os clients. Como resultado, o SIP pode ser usado para estabelecer conversações de qualquer tipo de mídia, incluindo voz, vídeo ou messaging.
  • Separação entre sinalização e mídia – No SIP, os fluxos de sinalização e de mídia seguem caminhos completamente independentes. A sinalização e a mídia podem utilizar diferentes rotas através de recursos de rede independentes, em diferentes redes físicas.
  • Forking – Isso possibilita que múltiplos dispositivos sejam associados a um único endereço, de forma que todos ou um conjunto desses dispositivos possam ser contatados simultaneamente ou sequencialmente, de acordo com a política definida.

Essas funcionalidades podem ser igualmente aplicadas a muitas áreas, incluindo telefonia e messaging, ou aos ambientes corporativos LAN (Local Area Network) e WAN (Wide Area Network).

1.2) Definições de termos

Comunicações SIP são formadas pela troca de mensagens entre dois dispositivos, utilizando um protocolo de transporte como UDP, TCP ou outro. Essas mensagens podem ser requests ou responses, contendo um conjunto de cabeçalhos, os quais são parâmetros dessas mensagens e que as diferenciam, além de um corpo de mensagem, conforme requerido por cada aplicação.

Um único SIP request e todas as respectivas SIP responses formam uma SIP transaction. Diferentes tipos de SIP transaction são usadas para diferentes funções do protocolo. Por exemplo, um INVITE inicia uma chamada telefônica, e uma MESSAGE envia uma Instant Message.

Um diálogo SIP é uma conexão persistente entre dois dispositivos, que é usada para associar as SIP transaction e para prover ordenamento entre elas. As SIP transaction podem existir dentro ou fora de um diálogo SIP e são usadas para estabelecer ou terminar diálogos SIP. Por exemplo, em telefonia, o INVITE inicial que começa uma chamada, também estabelece um diálogo entre os participantes. Para finalizar uma chamada, um participante envia um BYE dentro do contexto desse diálogo. Essa SIP transaction BYE termina tanto a chamada quanto o diálogo associado.

O conceito de chamada não se caracteriza apenas por um diálogo SIP, pois uma única chamada telefônica pode incluir conversações com diversas pessoas e dispositivos, como recepcionistas e sistemas voice mail. Essas conexões individuais necessitam de diálogos SIP separados, de forma que uma chamada pode conter múltiplos diálogos SIP. As mensagens SIP contêm um campo Call Identifier (Call-ID), que é usado algumas vezes para ligar diálogos SIP e SIP transaction em um conceito de chamada no nível de aplicação, embora esse uso esteja fora do padrão.

Por ora, ficaremos por aqui e na semana que vem o artigo continuará com as definições dos termos mais comuns em telefonia IP.