Modtivb 01
Transcript of Modtivb 01
Treinamentos
MOD TIVB-01
Módulo VoIP Fundamentos
Módulo 01 – MODTIVB-01
Objetivo do Curso
Este curso tem como objetivo proporcionar uma introdução aos fundamentos VoIP.
Público Alvo
Este módulo destina-se a profissionais interessados em implantações e administração de redes de
Telefonia IP e que buscam conhecimentos introdutórios em tecnologia VoIP, e que necessitam consultar
um glossário de informações inicial.
Pré-requisitos
Para este curso é necessário o conhecimento mínimo de Redes e Sistemas operacionais.
1. VoIP
O VoIP sigla que deriva do inglês “Voice Over IP”, tecnologia que permite a
digitalização e codificação de voz em pacotes IP, utilizando para transmissão a
rede de comutação de pacotes IP ou Internet.
Você provavelmente já se deparou com o VoIP em algum momento...
Quando utilizando Skype, MSN ...
Todas estas são aplicações que utilizam os protocolos da estrutura VoIP,
integrando vídeo, texto e áudio (conferência).
Alguns elementos motivadores possuem bastante peso quando pensamos em
migrar para uma solução VoIP:
Ligações de Longa distância com custo de ligação local
Integração de Voz e Dados em uma única rede
Demanda por comunicação Multimídia
Integração das comunicações da empresa sob um estrutura física e lógica
unificada
Gerenciamento unificado
Administração integrada da Telefonia e da Rede Local
Domínio das aplicações, regras e direitos de usuários
Ampliação dos usos da telefonia e maior flexibilidade, mobilidade e eficiência na
comunicação dentro e fora da empresa
Como o VoIP funciona?
Existem muitas definições de como o VoIP opera, porém existem poucos
documentos que explicam como o VoIP deve ser implementado, de forma segura
e garantindo a Qualidade de Serviço.
Isto acontece por não existir qualquer capítulo de “introdução ao VoIP,” e muitos
profissionais acabam tendo pouco tempo para se dedicar ao estudo conceitual, o
que acaba acarretando em um serviço errático e às vezes deficiente, motivo pelo
qual até hoje muitas empresas não confiam nos serviços de VoIP.
Principais Questões sobre o VoIP
Qualidade da Voz
Como o protocolo IP foi criado para transportar dados sem preocupação com o
“tempo real”, este protocolo não oferece uma garantia inerente de qualidade de
serviço, apenas o “serviço de melhor esforço” (best effort services).
Atualmente aceita-se que a qualidade da telefonia IP em ligações entrantes e
saintes para o mundo exterior possua uma qualidade “entre” o celular e a linha
física, embora seja possível, tecnicamente, que esta qualidade até mesmo
supere a da linha física.
Como o IP não foi desenhado para transportar voz, foi preciso desenvolver outros
protocolos e mecanismos que pudessem garantir a qualidade da voz.
O controle da qualidade de voz pode ser implementado de diversas formas, e
tudo começa pelo roteador de acesso, e o seu devido “tuning” de QoS.
A rigor, podemos gerenciar a qualidade do serviço até a Operadora, caso exista
um link dedicado até ela, ou por meio de um sistema de gerenciamento que
calcule as perdas e variações.
A qualidade do link e a efetividade de banda, bem como sua velocidade, além do
controle de QoS oferecem garantia até a borda, deixando todo o resto a cargo do
gerenciamento efetivo. Porém, quando entregamos os pacotes à “Grande Rede”,
diretamente, perde-se este controle e não haveria como garantir a qualidade. A
integração e projeto com a Operadora podem ser feitos de várias formas, mas no
final, será tudo uma questão de custo/benefício.
Interoperabilidade
Em um ambiente de rede pública, produtos de diferentes fabricantes precisam
operar uns com os outros se pretendermos que a utilização de VoIP seja factível
entre os usuários.
Para que haja interoperabilidade, é necessário a existência de padrões, entre
estes os mais comuns hoje são o H.323 e o SIP, sendo este último o mais
empregado nos serviços prestados por Operadoras de VoIP.
O SIP é um protocolo aberto, e que será abordado mais à frente.
Segurança
Quando tratamos de uma grande rede como a internet, a segurança que hoje faz
parte de nosso mundo de dados, deve ser também considerada para esse mundo
VoIP.
Imagine os pacotes de voz trafegando através da Internet livremente, e que
podem ser interceptados por alguém mal intencionado. Não é muito difícil
remontar estes pacotes e regenerar a conversação. Alguns programinhas até
fazem isto automaticamente...
Portanto, em uma rede livre, em tese, os pacotes estão sujeitos à “escuta”.
No caso de redes de telefonia interna de grandes corporações, a segurança e
controle de qualidade pode ser mais facilmente obtido, empregando-se acesso
VPN.
É possível controlar o acesso de usuários remotos e externos também através de
VPNs.
No caso de Service Providers, ou Grandes Redes de Telefonia, podem ser
empregados dispositivos denominados SBC s, Session Border Controlers, que
também podem resolver questões como o NAT Traversal.
Integração com a Telefonia Pública
Enquanto o mundo da Telefonia VoIP amadurece, temos que agir em função
também da telefonia antiga, ou legada, onde por um bom tempo ainda seremos
obrigados a integrar ambas tecnologias para prover o Serviço Tradicional de
Telefonia e integrar o mundo VoIP de baixo custo em ligações de longa distância.
Esta é a Telefonia IP híbrida, quando se faz o uso de tecnologias e equipamentos
que interagem, integram e permutam entre os mundos da Telefonia tradicional,
legada, e o mundo novo e constantemente em mutação, da Telefonia IP.
Escalabilidade
Os desenvolvedores trabalham incessantemente para proporcionar dispositivos e
aumento de capacidade que iguale ou supere a Telefonia Convencional.
Uma rede VoIP, ou Telefonia IP, possui uma escalabilidade inerente muito maior e
flexível para o aumento em grandes proporções que a telefonia analógica, visto
que toda a infraestrutura de redes disponível, assim como Wireless, pode ser
empregada em uma única rede IP.
Operação VoIP
O processo como o VoIP trabalha é extremamente simples:
Primeiramente, a voz é digitalizada utilizando-se um ADC (Analog to Digital
Converter), e em seguida este sinal digital é empacotado e transmitido via meios,
normalmente o IP, já utilizados para trafegar dados (internet por exemplo). Ao
chegar à ponta receptora, o processo é feito de forma reversa, agora se
utilizando um DAC (Digital to Analog Converter) para converter o sinal digital em
analógico.
Em resumo, no VoIP digitaliza-se a voz em pacotes de dados, transmite-se e
reconverte-se em voz novamente em seu destino.
A imagem abaixo exemplifica este processo:
Voz (origem) -> ADC -> Internet -> DAC -> Voz (destino)
Para ter uma comunicação VoIP temos os seguintes passos:
1. A voz humana é convertida em sinais digitais (bits).
2. Os bits são ordenados e codificados segundo uma compressão ideal para a
transmissão (Codecs), e transformados em pacotes UDP, sob o protocolo IP.
3. Os pacotes de voz inseridos em pacotes de dados UDP são priorizados e
tratados segundo o RTP (Real-time Protocol), do IP.
4. Utiliza-se um protocolo de sinalização sobre o IP (SIP, H.323 ou MGCP, por
exemplo), que é quem controla cada conexão (ligação).
5. No destino, os pacotes são desempacotados, os dados são extraídos e
convertidos em sinais de voz analógicos - nossos ouvidos serão sempre
“analógicos”, lembre-se, novamente.
CODECS (Codificador/Decodificador)
Depois do processo de digitalização da voz em dados, precisamos converter
esses pacotes em um formato padrão para que seja rapidamente transmitido,
para isto utilizamos os chamados CODECs (Codificador-Decodificador).
Os Codecs são algoritmos que codificam e comprimem um fluxo de dados digital
derivado da voz humana.
A ideia é permitir a transmissão da conversação original com a máxima
compressão de dados e a mínima perda de fidelidade. Por este motivo, existem
vários tipos de CODECs que são empregados de acordo com a infraestrutura de
transmissão de dados disponível.
2. Definições
Padrões de Codecs
ITU-T G.711 (PCM – Pulse Code Modulation)
G.723 (MP-MLQ speech coding at 6,3(5,3) kbit/s rate)
G.726-16 (ADPCM speech coding at 16 kbit/s rate)
G.726-32 (ADPCM speech coding at 32 kbit/s rate)
G.726-24 (ADPCM speech coding at 24 kbit/s rate)
G.729a (CS-ACELP speech coding at 8 kbit/s rate) (preferred)
G.711a (PCM audio coding standard, 8 kHz sample rate, 8 bits, 64 kbit/s data
rate)
G.711u (PCM audio coding standard, 8 kHz sample rate, 8 bits, 64 kbit/s data
rate)
É importante lembrar que nem todos os codecs são gratuitos, o G.729 e o G.723,
por exemplo, devem ser licenciados para a utilização.
O Consumo de banda é um fator que deve ser levado em consideração, pois um
codec como o G.729, por exemplo, consome em média 30 kbps, apenas para o
payload (carga de voz), além deste consumo existe ainda o consumo em relação
ao trafego de rede, onde este é encapsulado usando cabeçalhos de rede, motivo
pelo qual consideramos 45Kbps em média como a reserva de banda necessária
para cada canal de voz ativo.
Protocolos de Comunicação e Sinalização
RTP
RTCP
SDP
SIP
H.323
MGCP
3. Protocolos
Protocolo de Transporte
RTP (Real-Time Protocol)
RTCP (Real-Time Control Protocol)
O VoIP não utiliza TCP para trafegar os dados e sim UDP sobre IP.
O UDP, por não ser um protocolo orientado a conexões, não faz controle sobre a
ordem de entrega dos pacotes ou confirmações do mesmo.
A ideia é converter, encapsular e encaminhar o pacote em tempo real.
O Protocolo RTP resolve estes problemas permitindo que o receptor coloque os
pacotes na ordem correta e não espere muito tempo pelos pacotes que podem
ter sido perdidos ou que levem muito tempo a chegar.
Não é necessário que o fluxo venha na mais alta velocidade, pois todo pacote
precisa vir mesmo é um de cada vez, de forma contínua, ordenada e em tempo
real, com a mínima perda. É mais uma questão de controle e gerenciamento do
que velocidade.
O Protocolo RTP
O RFC 1889 intitulado “A Transport Protocol for Real-Time Applications” define
um protocolo que fornece um serviço de transporte de dados com características
de tempo real, dentre os quais são exemplos o áudio e vídeo interativo.
O RTP tem dois componentes:
O próprio RTP, responsável pela transferência de dados;
Um protocolo de controle (RTCP – RTP Control Protocol), responsável pela
monitoração da Qualidade de Serviço e pelo envio de informação sobre os
participantes numa sessão;
O RTP (transporte de dados) tem as seguintes características:
É executado fim-a-fim;
Transporta dados em tempo real: Streaming, Interativos
Não opera com confiabilidade de entrega;
Inclui as seguintes funções:
Timestamping (para compensação do jitter em pacotes do mesmo stream)
Numeração sequencial (para detecção de perdas e reordenação)
Identificação do tipo de payload (para descrever o tipo de codificação usado no
payload)
Identificação da fonte (em sessões multicast)
O cabeçalho RTP
O cabeçalho RTP é exibido abaixo:
Um exemplo de uso do RTP é visto na RFC 1889 (pg 5), onde ele é utilizado
para efetivação de uma conferência de áudio em multicast.
No início são alocadas duas portas UDP (uma para dados RTP e outra para
controle RTCP) e um endereço IP multicast.
Essa informação é transmitida para todos os participantes.
A aplicação utilizada pelos participantes envia o áudio em pequenos
fragmentos de 20ms de duração, cada um deles com um cabeçalho RTP, que
é transmitido via UDP na porta especificada anteriormente.
O cabeçalho RTP indica o tipo de codificação de áudio (PCM, ADPCM, MP3)
que está contida no pacote, a fim de que os participantes possam trocar a
codificação para permitir a entrada de um novo participante que está
conectado através de uma linha lenta.
Para pacotes que chegam em ordem trocada, o número de seqüência ajuda
na reorganização da informação.
Já para atrasos variáveis na rede, a informação de timestamp vai ajudar o
receptor a dimensionar o buffer de recepção, a fim de evitar truncamentos na
conversa.
O Protocolo RTCP
O protocolo RTCP (RTP Control Protocol) tem por objetivo fornecer feedback
sobre a qualidade de serviço na distribuição de dados RTP, e consegue isso
através de transmissões periódicas de pacotes de controle a todos
participantes da sessão RTP.
Suas funções são:
Feedback sobre a Qualidade de Serviço
Sincronização entre meios
Identificação dos participantes na sessão
Controle da sessão
Para contribuir com o protocolo RTP o RTCP utiliza os seguintes cinco tipos
de pacotes detalhados:
SR (Sender Report) - contém um relatório de envio e recebimento de pacotes
RTP por participantes ativos
RR (Receiver Report) - contém um relatório de recebimento de pacotes RTP
por participantes que não são fontes ativas
SDES (Source Description Items)
pacote descritivo do participante e inclui a informação do seu CNAME.
BYE - Indica a saída deste participante da comunicação
APP - Contém funções específicas da aplicação
H.323
H.323 é uma das recomendações da ITU Telecommunication Standardization
Sector (ITU-T) que se encontra na sessão H que define "Sistemas
Audiovisuais e Multimídia".
As recomendações do H.323 que definem o protocolo que prove sessões de
comunicação audiovisuais em qualquer rede baseada em pacotes.
Sua implementação se estende a equipamentos de voz e videoconferência,
utilizado com diversas aplicações em tempo real e é estendido também às
empresas e provedores de serviços do mundo todo com seus serviços de voz
e vídeo sobre redes IP.
É um protocolo mais antigo e robusto, muito empregado nas redes de
telefonia interna das empresas.
O H.323 foi o primeiro padrão VoIP à adotar os padrões IETF (Internet
Engineering Task Force) e RTP para transporte de áudio e vídeo via redes IP;
Outras recomendações estão juntas ao H.323: H.225.0, H.245, H.246, H.283,
H.341, H.450 Series, H.460 Series, e H.500 Series
As entidades H.323 podem se comunicar através de conexão ponto a ponto,
sobre um único segmento de rede, ou em uma internetwork com múltiplos
segmentos e topologias complexas.
Em H.323, pode se utilizar Gatekeepers, que são serviços de tradução de
endereços e provem controle de admissão. Um exemplo de Gatekeeper que
pode ser encontrado é o GNUGK, open source e bastante utilizado por muitas
organizações.
O Protocolo SIP
SIP (Session Initiation Protocol - Protocolo de Inicio de Sessão) inscrito na
RFC 3261 é um protocolo baseado em texto, similar ao HTTP e o SMTP.
O SIP é um protocolo “leve” da camada de aplicação, criado para iniciar,
modificar e terminar sessões com um ou mais participantes.
Suas sessões incluem chamadas telefônicas via internet, distribuição
multimídia e conferências.
O SIP utiliza elementos chamados Proxy Servers que auxiliam as requisições
de roteamento para localizar, autenticar e autorizar serviços aos usuários,
implementação de políticas de roteamento de chamadas, e prover
funcionalidades aos usuários.
O SIP também prove uma função de registro que permite aos usuários
enviarem suas localizações por uso de um servidor proxy.
O protocolo SIP roda no topo de diversos protocolos de transporte.
O Protocolo SIP possui cinco funções para iniciar, estabelecer e terminar
comunicações Multimídia:
Localização de usuário: determinação do endereço a ser usado para a
comunicação.
Disponibilidade do usuário: determinação da disponibilidade do
interlocutor de entrar na comunicação;
Capacidades do usuário: determinação da mídia e parâmetros a ser
usados;
Estabelecimento da chamada (call setup): estabelecimento dos
parâmetros de chamada entre participantes (quem faz e quem recebe).
Gerenciamento de Sessão: inclui transferência e término de chamadas,
modificação dos parâmetros da sessão.
Os destinatários no SIP são representados com URI (Uniform Resource
Indicators) o qual tem o mesmo formato de um endereço e-mail.
Isto implica a utilização de um Domain Name Services (DNS) para mapear
nomes de hosts e domínios para endereços IP.
Componentes do SIP
User Agents
Clients – Make requests
Servers – Accept requests
Server types
Redirect Server
Proxy Server
Registar Server
Location Server
Requisições SIP
INVITE (convidar) = Estabelece uma sessão
ACK (confirmar) = Confirma o comando CONVIDAR
BYE (encerra) = Finaliza uma sessão
CANCEL (cancelar) = Cancela a sessão ainda não respondida
REGISTER (registro) = Informa a localização do usuário (nome do usuário,
IP)
OPTIONS (opções) = Informa a capacidade e disponibilidade dos telefones
de chamada e recebimento SIP
SDP – Session Description Protocol
O SDP (Protocolo de Descrição de Sessão) é um protocolo que é
transportado no corpo de uma mensagem SIP.
O SDP é o encarregado de descrever as sessões.
Respostas SIP
Os requerimentos do SIP acionam respostas que constam das 6 classes a
seguir:
1xx = respostas de informações, tais como 180, que significa chamando
2xx = respostas de confirmação, 200 OK
3xx = respostas de redirecionamento
4xx = comandos não realizados
5xx = erros do servidor
6xx = erros globais
Fluxo SIP
Descrição:
Usuário A envia um INVITE (chama o usuário através de
seu numero, ramal)
Usuário B envia uma mensagem do tipo 180, indicando
que o telefone está “chamando”. Em seguida o usuário B
envia uma mensagem do tipo 200 OK (estabelecendo a
comunicação).
Usuário A então envia uma mensagem ACK, confirmando
o estabelecimento da sessão.
Enquanto os usuários falam, mensagens RTP são
trafegadas.
Quando o Usuário A desliga o telefone, ele envia uma
mensagem BYE para indicar para o outro lado que está
encerrando a sessão.
Ao lado é exibida uma
mensagem de pedido
de Registro ao
Servidor SIP:
REGISTER sip:192.168.1.10 SIP/2.0
To: DISC-OS<sip:[email protected]>
From: DISC-OS<sip:[email protected]>;tag=463dc402
Via: SIP/2.0/UDP 192.168.1.12:8394;branch=z9hG4bK-d87543-
454378505-1--d87543-;rport
Call-ID: 3b191c73ec28e928
CSeq: 2 REGISTER
Contact: <sip:[email protected]:8394>
Expires: 3600
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY,
MESSAGE, SUBSCRIBE, INFO
User-Agent: xTen Softphone
Authorization: Digest
username="Cacs",realm="asterisk",nonce="60d8b61a",uri="sip:192.1
68.1.10",response="51e648b2603e1e05e15ee980061eef78",algorithm=M
D5
Content-Length: 0
Registro de Usuário (REGISTER)
Observe que o usuário “Cacs” é o solicitante para o Servidor “192.168.1.10”:
To: DISC-OS<sip:[email protected]>
From: DISC-OS<sip:[email protected]>;tag=463dc402
Contact: <sip:[email protected]:8394>
User-Agent: xTen Softphone
Note que o pedido foi realizado da estação 192.168.1.12 através da porta
8394:
Mais a fundo, podemos também encontrar qual a plataforma que está sendo
utilizada como Agente, neste caso um Softphone:
Padrões SIP - IETF RFCs
RFC3261 Core SIP specification – obsoletes RFC2543
RFC2327 SDP – Session Description Protocol
RFC1889 RTP - Real-time Transport Protocol
RFC2326 RTSP - Real-Time Streaming Protocol
RFC3262 SIP PRACK method – reliability for 1XX messages
RFC3263 Locating SIP servers – SRV and NAPTR
RFC3264 Offer/answer model for SDP use with SIP
RFC3265 SIP event notification – SUBSCRIBE and NOTIFY
RFC3266 IPv6 support in SDP
RFC3311 SIP UPDATE method – eg. changing media
RFC3325 Asserted identity in trusted networks
RFC3361 Locating outbound SIP proxy with DHCP
RFC3428 SIP extensions for Instant Messaging
RFC3515 SIP REFER method – eg. call transfer
Conhecendo as Operadoras
Existem hoje muitas Operadoras VoIP, entre estas, existem as que se
destacam por suas qualidades e serviços e principalmente por sua licença de
Operação.
As operadoras que prestam serviços estáveis precisam ser devidamente
licenciadas e certificadas para prover este tipo de serviço. Para tanto, elas
devem receber uma licença SCM da Anatel.
Muitas das operadoras contam já com uma enorme quantidade de POPs
(Pontos de Presença), o que traz facilidades para os usuários em relação aos
custos de ligação.
4. Operadoras VoIP
PSTN - Public switched Telephony Network
Rede de Telefonia Pública Comutada
A grande maioria dos telefones no mundo até hoje são conectados através
desta vasta rede de comunicações propiciada por Grandes Operadoras
Globais e Nacionais de Telefonia, composta por circuitos otimizados, inclusive
IP, para a comunicação em tempo real, permitindo que qualquer telefone
possa ser encontrado.
Todos os telefones desta rede são encontrados através da discagem de
números, o qual pode incluir código de pais, código de área e o número
telefônico.
As redes PSTN foram quase que integralmente digitalizadas, com exceção de
localidades muito remotas. Entretanto, principalmente no Brasil, a telefonia
analógica mantém uma presença expressiva. Denominamos a antiga telefonia
analógica como POTS.Todas as definições das PSTN são reguladas segundo
padrões definidos pela ITU-T.
POTS - Plain Old Telephone Service Line
A conexão residencial mais comum para PSTN no Brasil ainda é a linha
POTS. Serviços de telefonia mais recentes fornecidos por Operadoras de
Banda Larga não são POTS, ainda que o telefone de sua casa possa ser
analógico.
A linha POTS é constituída pela linha analógica, fornecida por um provedor de
telefonia tradicional e provavelmente antigo.
Cada linha POTS pode carregar apenas uma conversa por vez.
Para pequenas instalações, linhas POTS são usualmente, e ainda, as de
maior custo-benefício quando conectando diretamente para nosso Provedor
Local (Local Exchange Carrier - LEC), um termo usado para referir-se à
qualquer companhia provedora de serviço local.
ISDN - Integrated Services Digital Network
Rede Digital de Serviços Integrados
ISDN é uma rede toda digital que tem estado disponível através de décadas.
Este tipo de rede é disponível em duas principais versões:
Basic Rate Interface (BRI)
Primary Rate Interface (PRI)
A ISDN divide a linha em múltiplos canais.
Cada canal pode conter ou um pacote (Bearing, ou B-Channel - "Canal de
transporte/Canal B") ou sinalização (Data, ou D-Channel - "Canal de
Dados/Canal D").
Uma interface BRI tem 3 canais: 1 canal D e 2 canais B. Portanto, 2
chamadas telefônicas podem estar em progresso por vez em um único BRI.
Uma interface PRI tem 24 canais: 1 canal D e 23 canais B, resultando em 23
ligações simultâneas.
A ISDN não é limitada apenas à voz. Cada canal pode carregar 64k de dados,
isto se configurado com o LEC (Local Exchange Carrier).
É pouco ofertada no Brasil atualmente como Serviço Público de Operadora de
Telefonia para o consumidor/empresa cliente final. Porém é um protocolo
muito usado ainda para interligar equipamentos de videoconferência e
ligação equipamento-equipamento de fabricantes distintos.
Enquanto o T1 é uma linha com 24 canais, muito empregada nos USA, no
Brasil empregamos o E1, com 30 canais digitais.
Cada canal pode conter uma chamada.
No Brasil e Europa, o E1 é mais comum, e comporta 30 canais. O Brasil
seguiu a Europa quanto à oferta de múltiplos canais em E1, aqui chamado de
E1/R2 CAS, com ligeiras alterações no caso do padrão brasileiro, o que pode
levar a incompatibilidades com hardware e software não adaptados ao padrão
brasileiro.
O E1 é o serviço padrão de telefonia digital de múltiplos canais oferecido
pelas operadoras brasileiras. É um protocolo simples que se tornou o padrão
de tronco. Oferece o DDR (possibilidade de números PSTN mapeados em
ramais).
Fontes e Referências:
http://www.itu.int/rec/T-REC-H.323/en
http://www.gnugk.org/
http://www.ietf.org/rfc/rfc3261.txt
http://sip.edu/ - MIT Sip Basics
http://pt.wikipedia.org/wiki/T1
http://pt.wikipedia.org/wiki/Multiplex
*Building Telephony Systems with Asterisk (Livro)