DevSecOps

23 abr, 2015

Fundamentos do protocolo SIP – definições de termos comuns – Parte 02

Publicidade

Semana passada, tratamos dos fundamentos do protocolo SIP e começamos a tratar das definições de termos. Nesta semana, vamos nos aprofundar nos conceitos mais comuns no universo da telefonia IP.

Os seguintes termos são usados para descrever os elementos SIP:

  • User Agents (UA) – São dispositivos que terminam a sinalização SIP. Eles podem ser Clients (UAC) que iniciam requests, Servers (UAS) que respondem os requests, ou, o mais comum, uma combinação dos dois.
  • Proxies – São dispositivos na via de sinalização entre os User Agents, que roteiam os requests na direção dos respectivos destinos. Eles podem adicionar parâmetros aos requests e podem rejeitar requests, mas não podem iniciar requests ou responder positivamente a qualquer request que recebam. Os proxies repassam mensagens não reconhecidas de forma inalterada, o que significa que muitas novas facilidades podem ser implementadas em uma rede, fazendo o upgrade apenas dos User Agents e deixando que os proxies continuem com seu comportamento default.
  • Registrars – São User Agent Servers (UAS) especializados que processam requests do tipo REGISTER. Os dispositivos SIP usam os requests REGISTER para registrar dinamicamente sua localização atual, o que habilita-os a serem contatados quando móveis.sip-1
  • Redirect Servers – São User Agent Servers (UAS) especializados que respondem os requests redirecionando-os para outro dispositivo.

sip-2

Muitos dispositivos reais contêm diversos dos elementos acima. Por exemplo, um Registrar estará, normalmente, conectado a um Proxy ou Redirect Server, de forma que um desses possa usar a informação de localização que recebe para enviar requests para outros dispositivos registrados.

Contudo, a ação que um dispositivo toma quando recebe um SIP request não é determinada exclusivamente pelo protocolo, ela também é definida pela aplicação. Uma aplicação pode decidir encaminhar um request para um outro servidor para processamento adicional, como autenticação, em vez de encaminhá-lo diretamente para seu destino. O termo genérico para esse dispositivo é Application Server. Sob o ponto de vista do SIP, um Application Server pode se comportar como um User Agent, um Proxy ou uma combinação dos dois, dependendo da situação.

Uma configuração muito comum é o que é conhecido como Back-to-Back User Agent (B2BUA), em que o elemento é similar a um Proxy no seu comportamento, mas que realmente termina a sinalização SIP em ambos os lados, de modo que ele pode iniciar requests para controlar os diálogos que passam através dele. Isso requer que o B2BUA seja um elemento inteiramente confiável, que impede criptografia fim-a-fim e autenticação das mensagens.

1.3) Realidade atual

O entusiasmo inicial com o SIP coincidiu com a bolha da Internet, quando o SIP era visto como uma tecnologia para substituir os caros sistemas telefônicos existentes. Uma combinação de patrocínio de capital de risco, que esperava retorno em curto prazo, e projeções super otimistas dos expoentes do protocolo, que criaram demandas não realistas sobre o protocolo e seus produtos em desenvolvimento, resultaram em uma queda de qualidade tanto na definição dos padrões quanto nos produtos que foram lançados, numa corrida dos fabricantes para suportar todas as facilidades disponibilizadas. Além disso, a impressão de que o SIP era um protocolo simples resultou no desenvolvimento de muitas implementações para diferentes versões do padrão, escritas em linguagens de programação diferentes, provendo níveis de qualidade muito diferentes. Isso provocou problemas reais de interoperabilidade e levantou preocupações sobre a adequação do SIP para qualquer propósito comercial.

Essa má publicidade poderia ter matado o protocolo, mas sob a influência de poderosos patrocinadores, como Microsoft, Cisco e Nokia, e baseado nos seus pontos fortes, o SIP continuou a ser desenvolvido e a amadurecer. Atualmente, há mais de 20 RFCs relacionadas ao SIP e mais de 100 drafts, além de diversos produtos comercializados.

A interoperabilidade está melhorando conforme os padrões e as implementações se tornam mais maduros. Tradicionalmente, a interoperabilidade SIP tem sido determinada em eventos específicos, como no Laboratório de Interoperabilidade da Universidade de New Hampshire e no SIP Forum. Contudo, embora esses eventos sejam inestimáveis para assegurar boa interoperabilidade, os resultados são restritos e não podem ser usados por um cliente em potencial para determinar se alguns produtos são compatíveis entre si.

Revendedores de produtos SIP costumam montar soluções com dispositivos de fabricantes diversos para testar combinações que sejam certificadas por estes últimos. Dessa forma, podem-se estabelecer conjuntos de facilidades que são suportadas por dispositivos específicos, cuja interoperabilidade se dá de modo transparente para os usuários finais.

Alguns consórcios da indústria, como o MSF e o PacketCable, desenvolveram níveis de conformidade para suas aplicações, e outros, incluindo o SIP Forum, estão desenvolvendo ou aperfeiçoando frameworks mais genéricos de conformidade SIP. Alguns desses organismos produziram ferramentas e programas para testes de conformidade e validação de funcionalidades.

Produtos SIP são projetados para atender a requerimentos do mundo real, incluindo confiabilidade, segurança e gerenciamento. O SIP já é um protocolo testado e provado em larga escala, porém continua em evolução para suportar aplicações mais avançadas. Atualmente, o protocolo encontra-se bastante robusto e estável, pronto para suportar diversas condições de tráfego, seja em aplicações nos âmbitos público ou corporativo.

No próximo artigo, vamos falar um pouco mais sobre as aplicações SIP.

Até breve.