Post on 30-Nov-2018
VOIPVoz sobre IP
Sistemas TelemáticosLESI
Departamento de InformáticaUniversidade do Minho
Materiais usados
• Apresentação do Will Dennis com permissão do autor
• Cap 7 de Multimedia Systems and Signals, Mandal
• Ver livro VOIP na página do TERENA– Terena VOIP Cookbook Cap.2, Cap.3 e Cap.7 (donde foram extraídas figuras)
Sumário
• Motivação para o VOIP
• Cenários para VOIP
• Mercado VOIP na Europa
• Qualidade da voz no VOIP
• Digitalização de voz : CODECs
• Componentes VOIP
• Protocolos VOIP
O que é a VoIP?A VOIP e o Telefone na Internet são métodos que convertem os sinais de voz em dados digitais e enviam-na através da Rede IP.
Vantagens do VOIP
• Redução de custos
• Mais largura de banda
• Integração da voz e dados
• Eficiência da rede
• Mais e melhores serviços
Cenários de Utilização VOIP
• Cenário 1: Encaminhamento de mínimo custo para chamadas de longa distância
• Cenário 2: Alternativa às centrais PBX
• Cenário 3: Integração de VOIP e Video-Conferência
Cenário 1
A separação tradicional
Cenário 1
Integração entre a Rede Telefónica e de dados
Cenário 1
Implementação da arquitectura
Cenário 1Facilidades
• Encaminhamento das chamadas de acordo com hora e o dia da semana
• Encaminhamento por destino
• Modificação de números
• Gestão de classe de serviço
Cenário 1
• Utilização: Uma empresa com vários escritórios em cidades diferentes da Europa que tem que contactar telefonicamente clientes em todo mundo
Cenários de Utilização VOIP
• Cenário 1: Encaminhamento de mínimo custo para chamadas de longa distância
• Cenário 2: Alternativa às centrais PBX
• Cenário 3: Integração de VOIP e Video-Conferência
Cenário 2
Situação tradicional
Cenário 2a
Telefones IP sem PBX
Cenário 2b
Integração do VOIP com o PBX
Cenário 2C
Substituição completa do PBX
Cenário 2c
• Terminais simples vs inteligentes• Sinalização: SIP/H.323• Funcionalidades tradicionais
– Números de emergência– Plano de encaminhamento de chamadas– Integração com a rede pública de móveis– Beeps/telefones sem fios privados/elevadores
• VOIP sem fios• Outros aspectos: servidor de autenticação RADIUS etc…
Cenários de Utilização VOIP
• Cenário 1: Encaminhamento de mínimo custo para chamadas de longa distância
• Cenário 2: Alternativa às centrais PBX
• Cenário 3: Integração de VOIP e Video-Conferência
Cenário 3c
• O foco tradicional é na voz – O VOIP tem capacidade de transportar vídeo
• Problemas com a videoconferência– Acessibilidade
– Serviços de valor acrescentado
– Inter-operabilidade entre diferentes tecnologias
Cenário 3c
• Aplicações– Teletrabalho
– Telemedicina
– Ensino à distância
– Serviços ao cliente
– Justiça
– Laboratórios virtuais/remotos
Cenário 3c
Mercado VOIP na Europa
Source: IDC, European IP Telephone Tracker Q2 2004
Mercado VOIP na Europa2004-2008 ($M)
0
100
200
300
400
500
600
2003 2004 2005 2006 2007 2008
Source: IDC, European IP Telephone Forecast, 2004-2008
($M)
Mercado Europeu IP PBX, 2004-2008 ($M)
0
500
1.000
1.500
2.000
2.500
3.000
2003 2004 2005 2006 2007 2008
Source: IDC, European IP PBX Forecast, 2004-2008
($M)
0
500
1000
1500
2000
2500
3000
3500
4000
2002 2003 2004 2005 2006 2007 2008
PBX
IP PBX
Mercado IP PBX vs PBX tradicional ($M)
Source: IDC, 2004
($M)
Minutos VOIP (chamadas de saída empresas ), 2002-2007
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
20000
2002 2003 2004 2005 2006 2007
Source: IDC, European IP Telephony Services Forecast , 2003-2008
(Minutes in Millions)
Aspectos técnicos do VOIP
• Aspectos chave
– Qualidade de Serviço (QoS)
– Interoperabilidade
– Escalabilidade
– Segurança
– Integração com a RTC
• Arquitectura
• Protocolos
Algumas definições
• Rede Telefónica Comutada (RFN)
• Rede de Comutação de Circuitos
• Rede Internet (Rede IP)
Algumas definiçõesRede Telefónica Comutada é a rede telefónica disponível ao público incluindo as linhas telefónicas, micro-ondas e outros modos de transmissão. Quer a rede IP como a rede de comutação de circuitos podem ser suportadas pela RTC.
Rede de Comutação de Circuitos é a rede telefónica tradicional que envia informação através dum circuito fixo a ligar o chamador e o recipiente. É estabelecido um circuito temporário entre o chamador e o chamado durante a comunicação. Essa linha não pode ser usada por mais ninguém nesse período.
A Rede IP transmite dados usando pacotes. As comunicações são divididas em pequenos pacotes e enviados de forma independente para a rede. Os pacotes por vezes são enviados através de linhas de transmissão diferentes e reagrupados no destinatário.
Algumas definiçõesRede Telefónica Comutada é a rede telefónica disponível ao público incluindo as linhas telefónicas, micro-ondas e outros modos de transmissão. Quer a rede IP como a rede de comutação de circuitos podem ser suportadas pela RTC.
Rede de Comutação de Circuitos é a rede telefónica tradicional que envia informação através dum circuito fixo a ligar o chamador e o recipiente. É estabelecido um circuito temporário entre o chamador e o chamado durante a comunicação. Essa linha não pode ser usada por mais ninguém nesse período.
A Rede IP transmite dados usando pacotes. As comunicações são divididas em pequenos pacotes e enviados de forma independente para a rede. Os pacotes por vezes são enviados através de linhas de transmissão diferentes e reagrupados no destinatário.
Algumas definiçõesRede Telefónica Comutada é a rede telefónica disponível ao público incluindo as linhas telefónicas, micro-ondas e outros modos de transmissão. Quer a rede IP como a rede de comutação de circuitos podem ser suportadas pela RTC.
Rede de Comutação de Circuitos é a rede telefónica tradicional que envia informação através dum circuito fixo a ligar o chamador e o recipiente. É estabelecido um circuito temporário entre o chamador e o chamado durante a comunicação. Essa linha não pode ser usada por mais ninguém nesse período.
A Rede IP transmite dados usando pacotes. As comunicações são divididas em pequenos pacotes e enviados de forma independente para a rede. Os pacotes por vezes são enviados através de linhas de transmissão diferentes e reagrupados no destinatário.
Linhas de transmissão em Redes Comutação de Pacotes e de Circuitos
Com. de Circuitos Com. de Pacotes
( Rede Telefónica) (Rede IP)
Qualidade da Voz• A largura de banda é facilmente quantificada
– Qualidade da voz é subjectiva
• MOS, Mean Opinion Score– Recomedação P.800 ITU-T
• Excelente – 5
• Boa – 4
• Razoável– 3
• Pobre – 2
• Má – 1
– Um mínimo de 30 pessoas
– Ouvir amostras da voz ou conversações
Problemas de QoS no VOIP
Qualidade da voz• Mean Opinion Score (MOS)
– Numa escala de 1-5 (5 é melhor)– 4 é a chamada toll quality – Os telemóveis têm baixa qualidade
• VoIP é comparável aos telemóveis
• Causas da baixa qualidade da voz– Atraso– Jitter– Perdas– Eco
Eco
Chamada telefónica normal
Chamada telefónica normal com eco
Eco e Qualidade da Voz• Cancelador de Eco é necessário para atraso (num
sentido) >30ms
>400
150-400
25-150
0-25
Atraso
1-s (ms)
Efeito na qualidade da vozQualidade
A evitarPobre
Gama esperada para chamadasinternacionais por satélite
Razoável
Gama esperada para chamadasinternacionais por cabo
Boa
Gama esperada para chamadasnacionais
Excelente
Compensação de Eco
• As reflexões do sinal geradas pelo circuito híbrido que converte um circuito de 2 pares (1 para TX outro para RX) num circuito de 1 par (1 único par para TX e RX)
• O atraso de ida e volta da rede é quase sempre superior a 50ms
• A norma G.165 do ITU define o desempenho requerido para os canceladores de eco.
Atraso
• Processamento– Tempo necessário para colectar as amostras codificadas e colocá-las em pacotes da rede
– O tempo de codificação depende do algoritmo do CODEC usado e da velocidade do processador
• Rede – Meio fisico de transmissão
– Capacidade das ligações e dos nós intermédios e pelos buffers do destinatário para remover o jitter
Atraso
• Para aplicações altamente interactivas– <150 ms imperceptível
– > 150 ms e < 400 ms aceitável mas não ideal
– >400 ms pode prejudicar a interactividade da conversação telefónica
Jitter
• Considere dois pacotes enviados com 20 ms de diferença pelo originador– Podem chegar ao receptor com uma diferença superior ou inferior a 20 ms• O primeiro pacote apanha uma fila num router vazia e o segundo já a apanha cheia
• O primeiro pacote apanha a fila cheia e o segundo ainda o apanha nesta fila
Jitter
Intervalo de tempo variável entre pacotes provocado por percursos de rede diferentes ou por situações diferentes no mesmo percurso
Jitter
• Se o Rx ignorar a existência do jitter e reproduzir os pacotes mal os receba– A qualidade do áudio pode se tornar não inteligível pelo receptor
• Há várias técnicas para remoção do jitter – Colocar #s de sequência nos segmentos– Colocar uma etiqueta temporal nos segmentos
– Atraso de reprodução dos segmentos no RX
Remoção do Jitter
• Atraso de reprodução fixo– Segmentos chegados após o seu instante de reprodução são considerados perdidos
– Compromisso entre atraso e perdas
constant bit rate video
transmission
Cumulative data
time
variablenetworkdelay
client videoreception
constant bit rate video
playout at client
client playoutdelay
buffered
video
Buffer de PlayOut no cliente
Remoção do Jitter
• Atraso de reprodução adaptativo• Compromisso entre perdas e atraso de reprodução
• Estimar o atraso e jitter da rede e encontrar um atraso de reprodução adequado
• Algoritmo na Pag.598 do livro do Kurose
Perdas de Pacotes
• Considere um datagrama UDP gerado pelo nosso cliente VOIP– O segmento é encapsulado num pacote IP que passa por muitos buffers de routers no seu percurso para o destino
– Pode encontrar um desses buffers cheios e ser descartado• Esse segmento nunca vai chegar ao destino!
Perdas de pacotes
• Podia ser resolvida com a utilização do TCP em lugar do UDP– Mecanismos de retransmissão não são aceitáveis para aplicações áudio interactivas• Aumento do atraso fim-a-fim
– O controlo de congestão do TCP • Diminui a taxa do originador após um pacote perdido
• Pode provocar danos séios na intelegibilidade da voz
Perdas de pacotes
• Não são tão desastrosas como parecem– Perdas até 20% podem ser toleradas dependendo da forma como a voz écodificada e transmitida e as perdas dissumuladas no receptor
• Existem estratégias para recuperação das perdas– Baseadas no RX
– Baseadas no TX
Perdas de Pacotes
• Perdas de Rede: O datagrama IP éperdido devido à congestão de rede
• Perdas de Atraso: O datagram IP chega atrasado para o seu tempo de reprodução
Recuperação de perdas baseadas no Rx
• Gerar pacote de substituição– Pacote de repetição
– Interpolação
– Outros esquemas sofisticados
• Funciona bem quando o audio/video exibe uma auto-similaridade a curto prazo ( short-term self-similarity)
• Funciona bem para baixa taxa de perdas (< 5%)
• Não resiste a perdas em rajada( “bursty” )
Forward Error Correction (FEC)
• Para cada grupo de n pacotes gerar k pacotes redundantes
• Enviar n+k pacotes, aumentando a largura de banda de um factor k/n.
• Pode reconstruir os n pacotes originais desde que não perca mais que k pacotes no grupo
• Funciona bem com taxas de perdas altas (com uma escolha adequada de k)
• Manipula perdas em rajada (“bursty” )• Aumento nos custos de transmissão (largura de banda )
Outro Exemplo FEC
• “piggyback lower quality stream” • Exemplo: enviar um fluxo redundante de áudi de baixa resolução
• Se não houver perdas consecutivas pode dissumlá-las•Pode também acrescentar os segmentos (n-1) e (n-2)com menor resolução (menor débito de bits)
Interleaving
Interleaving
• Rearranjar a sequência de pacotes antes da transmissão
• Melhor manipulação das perdas em rajada
• Provoca um maior atraso de reprodução
Especificação de QoS
< 10 ms< 5 msJitter dos pacotes
< 2%< 0.1%Perda de Pacotes
< 2%< 2%Grau de Serviço
≤ 400ms≤150ms (sem
ligação satélite)
≤ 400 (com satélite)
Atraso fim a fim (1
sentido)
>3.5 and < 4
>70 and < 80
≥ 4
≥ 80
MOS
R-Value
Abaixo da Toll QualityToll QualityParâmetros
CODECs
• Codificam e descodificam dados analógicos para transporte sobre redesdigitais (independe/ do tipo de rede) – Série g para audio;Série h para video
• Comum - pulse code modulation (PCM)– amostragem -> quantização -> codificação
– G.711: 8000 Hz x 256 Níveis Q= 64 kbit/s• Norma bem conhecida para RDIS
• codecs podem oferecer compressão e detecção de silêncios
Codificadores de Voz
Codificador de Forma de onda Codificador de Fonte
Domínio do
tempo:
PCM, ADPCM
Domínio da frequência:
Codificador de sub-banda,
Codificador de
Transformada adaptativa
Codificador
Predictivo
Linear
Vocoder
� Codec de forma de onda: tenta preservar a forma de onda;
não específico da voz.
� PCM 64 kbps, ADPCM 32 kpbs, CVSDM 32 kbps
�Vocoders:
� Analise a voz extrai e transmite os parâmetros
� Usa parâmetros do modelo para sintetizar voz
� LPC-10: 2.4 kbps
�Híbridos: Combinam o melhor dos dois… Eg: CELP
Taxonomia de CODECs de Voz
G.728 LD-CELP 16.0 4.1 2 37.5
G.729 CS-ACELP 8.0 4.1 20 34
G.729a CS-ACELP 8.0 3.4 20 17
2. Codificação de Voz
CodecData Rate(Kbps)
RepresentativeVoice Quality
(MOS)
Delay(ms)
Complexity(MIPS)
G.711 PCM 64.0 4.3 0.125 0
G.721 ADPCM 32.0 4.1 0.125 6.5
G.726 Multirate ADPCM 16 - 40 2.0 - 4.3 0.125 6.5
G.723 MP-MLQ ACELP 5.3, 6.3 4.1 70 25
www.zdnetindia.com
codecs comums usados na VoIP:
Classes de Codecs
• 3 classes diferentes– Codecs de forma de onda
– Codecs de fonte (Vocoder)
– Codecs Híbridos
Codecs de Forma de Onda
• PCM, ADPCM
• A entrada é amostrada, quantizada e reconstruída no receptor
• Não é necessário conhecimento da fonte
Princípios de Compressão Áudio
� Redundância Estatística� Menos bits para valores de amostra mais comuns
� Redundância Temporal� Correlação entre valores de amostras vizinhas� Redundância inter-amostra
� Redundância do Conhecimento� Explorar conhecimento partilhado entre codificador e descodificador
� Ficheiros MIDI /Vocoder
� Propriedades do Sistema Humano de Audição� Aumentar a qualidade subjectiva do sinal áudio
Função Taxa de Distorção
� Teorema de Shannon para codificação da fonte sem erros� Limite na compressão sem erros
� Fontes áudio naturais� Compressão sem perdas máxima 2:1
� Compressão com perdas usada na prática� Obtenção de maior razão de compressão.
Função Taxa de Distorção
distorção dm
Débito D(dm)Codificador simples
Codificador complexo
Limite da teoria da informação
X de esperado valor - E(x) média distorção -
doreconstruí vector - original fontevector
)},({
^
^
dm
SS
SSdEdm
−
=
Redundância Estatística
• Compressão de Texto– Métodos de compressão eficientes baseados na entropia
• Pode-se usar a mesma abordagem na compressão de áudio
Exemplo 7.2
• Considere um sistema de aquisição áudio que tem 10000 amostras de áudio mono com resolução de 3 bits com níveis entre 0 e 7. O número de ocorrências para os oito níveis foram [700,900,1500,3000,1700,1100,800,300]– Calcule e desenhe a função densidade de probabilidade para
cada símbolo
– Calcule a entropia da fonte
Solução
p[0] = 700/10000 = 0.07
p[1] = 900/10000 = 0.09
p[2] = 1500/10000 = 0.15
p[3] = 3000/10000 = 0.30
p[4] = 1700/10000 = 0.17
p[5] = 1100/10000 = 0.11
p[6] = 800/10000 = 0.08
p[7] = 300/10000 = 0.03
++++−= 30.0log*30.015.0log*15.009.0log*09.007.0log*07.0( 2222H
)03.0log*03.008.0log*08.011.0log*11.017.0log*17.0 2222 +++
samplebits / 88.1=
Sinal chord.wav
Fig. 4.14(a) Fig. 7.3,pag.149
Audio Waveform (Chord)
80
100
120
140
160
180
1 2001 4001 6001Samples
Amplitude
Redundância Estatística
• O método de codificação baseado na entropia– Não consegue altos níveis de compressão para a maioria dos sinais áudio
– Mas disponibiliza bom desempenho quando aplicado a coeficientes de transformada• Norma MPEG-1 utiliza codificação baseada na entropia
Codificação MU-LAW
g h h* g*QuantificadorUniformeCompressor
)(gf
Expansor
)( *1 hf −
)(gfh =
g h
*h )( *1* hfg −=
*h
)(gfh =
g
)(gfh =
g h
*h
h
*h )( *1* hfg −=
*h
)( *1* hfg −=
*h
Codificação MU-LAWCaratcterísticas de E/S com 255=µ
Exemplo 7.3
– Considere o sinal áudio chord. Quantifique o sinal uniformemente com 8 bits, utilizando a compressão com mu=255. Expanda o sinal e calcule a relação sinal-ruído (SNR). Compare a SNR com a obtida com o exemplo 4.6
Redundância Temporal Exercício (de FT)
• Suponha que na amostragem dum sinal áudio obteve a seguinte sequência de valores reais 2.3,2.1,3.2,1.2,1.3,2.3,2.5,3.2,3.8,2.52.0,1.4,1.2,1.2,1.0,0.8,0.6,0.0,-0.3,-0.5,-0.8,-1.2,-1.5,-1.7,-1.9,-2.2,-2.5,-2.7,-2.9,-3.1,-3.9
a) Quantize esta sequência dividindo o intervalo [-4,4] em 32 níveis igualmente distribuídos (coloque o nível 0 a -4.0, o nível 1 a-3.75, etc…). Assuma que os valores na gama [-4,-3.75[ correspondem à saída -4(que corresponde ao nível 0 do quantizador) os valores da gama [-3.75,-3.5) correspondem à saída -3.75 (nível do quantizador), etc… Observe que os intervalos são abertos àdireita o que significa que o -4 está incluído mas o -3.75 não estáincluído no nível 0.
b) Escreva a sequência quantizada . Codifique-a usando o PCM. Quantos bits precisa para transmiti-la?
c) Codifique a sequência usando o PCM mas usando apenas as diferenças. Qual o valor máximo e mínimo entre amostras sucessivas? Quantos bits precisa para transmitir a sequência?
DPCMDifferential Pulse Code Modulation
• No DPCM– Uma amostra áudio é prevista com base nas amostras anteriores
– O valor previsto é aproximado mas diferente do valor da amostra
– Fórmula usada pela técnica LPC(Linear Preditive Coding)
nn ss ≈^
nnn sse^
−≈
'
1
^
n
M
i
in ss ∑=
= α
Codificador DPCMEsquema simplificado
Codificador
Previsor ⊕
^
ne
^
nS´
nS
Áudio original
ÁudioCompactado
Quantificador
ne
nS
Descodificador DPCMEsquema simplificado
Descodificador
Previsor
⊕
^
ne
^
nS´
nS
Áudio Reconstruído
ÁudioCompactado
DPCM
∑
∑
=
+
=
=
±±=
=−
N
m
jmm
M
i
opti
ssjR
jjR
jRijR
1
1
,
*)(
entrada de amostra da dados dos
açãoautocorrel de função a é ,....2,1,0),(
)()(α
Exemplo 7.4
• Considere o sinal áudio chord. Determine o conjunto óptimo de coeficientes de previsão de 1ª,2ª e 3ª ordem.
Erros de previsão
DPCM
• Depois de obtida o erro da sequência en– É codificado para reconstruir o sinal perfeitamente
– Na codificação com perdas uma qualidade de reconstrução razoável é aceitável• A quantificação é a única operação na codificação DPCM que introduz ruído
Exemplo 7.5
• As 4 primeiras amostras duma sequência digital áudio são [70,75,80,82,...]. São necessários no mínimo 7 bits para codificar cada uma das amostras. As amostras áudio são codificadas usando o DPCM usando o previsor de primeira ordem. Os coeficientes de erro de predição são quantificados por 2 e arredondados para o próximo inteiro e armazenados sem perdas. Determine o número aproximado de bits necessários para representar cada amostra e o erro reconstruído em cada instância de amostra.
Codificação DPCMvários passos para a sequência [70,75,80,82,...]
2237Nº de bits necessários
0.80.4-0.90Erro de reconstrução
81.2*0.97=78.8
79.6*0.97=77.2
75.9*0.97=73.670*0.97=67.9
Sinal previsto para próxima amostra
77.2+4= 81.2
73.6+6= 79.6
67.9+8=75.970Sinal reconstruído
2*2=43*2=64*2=80Erro reconstruído
4.8/2=26.4/2=37.1/2=40Erro do sinal quantificado
82-77.2 =4.8
80-73.6 =6.4
75-67.9=7.40Erro do sinal
82807570Sinal original
3210
amostrasdeInstâncias
nS
ne
´
nS
nS^
Codecs de Fonte
• Unificam o sinal de entrada com um modelo matemático
• Modelo de Filtro predictivo linear do aparelho vocal
• Flag Voz/Sem voz para a excitação
• É enviada informação em vez do sinal
• Baixos débitos de bits mas sons sintéticos
• Débitos maiores não melhoram muito
Codecs de Fonte • Construir um modelo básico para voz
– Implementá-lo no TX e no RX
• Durante a codificação determinar os parâmetros do modelo para ajustá-lo ao sinal de entrada
• Determinar a excitação– Apenas dois estados de excitação :Ruído branco (sem voz) e Trem de pulsos (voz)
• Transmitir a excitação & parâmetros
Codecs da Fonte
• O receptor reproduz a voz com os parametros recebidos e a excitação
• A taxa de bits é baixa 2.4 kbit/s
• Qualidade bastante longe do som natural
Codecs Híbridos
• Tenta combinar as vantagens dos codecs de forma de onda e os codecs fonte
� Baixa taxa de bits & Alta qualidade• Os mesmos princípios que os codecs de fonte mas– Múltiplos estados de excitação
– Minimiza erros entre voz gerada e voz de entrada
– Usa quadros (frames) de 20 mswww-mobile.ecs.soton.ac.uk
Componentes VOIPTerminal
• Um sistema final onde terminam comunicações e as suas cadeias de dados (media).– Telefone hardware ou software, Videofone– Há uns concebidos para uso por pessoas e outros para resposta automática
– Tem atribuído um endereço IP• Podem ser usados vários terminais no mesmo IP mas são independentes
• Na maior parte das vezes um terminal pode ter mais que um endereço que são usados para o chamar…
– Se forem usados servidores de Telefone IP os terminais registam-se.
Telefones VoIP
Escolhas possíveis:
• Telefone Hardware
• Telefone software
• Adaptador de telefone analógico
Skype
– Aplicação VOIP mais popular
– Chamadas gratuitas para outros utilizadores Skype
– Chamadas baratas (~ ?/min) para fixos e móveis
– Várias funcionalidades adicionais
Skype Componentes VOIP
Servidores
• Podem também fornecer mecanismos adicionais de encaminhamento de chamadas
• São também responsáveis pela autenticação de registos, autorização dos participantes nas chamadas e elaboração de contabilização
Componentes VOIPGateway
• São terminais de telefone que facilitam a comunicação entre sistemas terminais que não inter-operam– Tradução de protocolos de sinalização
• SIP e ISDN
– Tradução entre endereços de rede diferente IPv6/IPv4– Tradução entre Codecs
• Podem acumular várias destas funcionalidades• Gateways
– VOIP/PBX é fácil– Entre diferentes protocolos VOIP já é mais complicado
Componentes VOIPPontes de Conferência
• Fornecem meios para ter conferência multiponto ad hoc ou previamente programadas
• Têm requisitos muito elevados de recursos– Servidores dedicados
– Hardware especial para media
Componentes VOIPEndereçamento
• O utilizador precisa de se identificar a si próprio e destinatário da chamada
• Idealmente– Identificador deve ser independente da localização do utilizador
– Deve ser a rede a localizar o utilizador
– Um utilizador deve ser identificado de vários formas
Componentes VOIPEndereçamento
• Rede Telefónica normal– Números E.164
• Ex: +351 253 604431
• Ao discar o + é substituído por 00 seguido o código de país e número do assinante
– Inicialmente na telefonia IP usava-se o endereço IP• Difícil de memorizar
• Dependente da localização física
Componentes VOIPEndereçamento
• Actualmente– URIs (RFC 2396)
– Números (E.164)
• URIs– Usa um espaço de nomes registado para descrever um recurso duma forma independente da localização• Endereços E-Mail
• Idenficadores SIP e H.323
ENUM
• ENUM é um protocolo definido pelo RFC 2916, que tem como objectivo traduzir números E.164 em nomes de de domínio Internet
• O ENUM permite o uso de números de telefone tradicionais num contexto de diferentes meios de comunicação nomeadamente os resultantes do desenvolvimento das Redes IP (email, VOIP) facilitando a penetração das novas aplicações no mercado
O objectivo do ENUM
• Correspondência entre números de telefone no mundo
• Permite a qualquer dispositivo IP estabelecer quando um número de telefone está descrito por um endereço de ponto de serviço IP– E … qual é o ponto de serviço Internet preferido actualmente
– E .. Que endereço IP, protocolo, numero de porta e endereço de aplicação deve ser usado para contactar o ponto de serviço preferido
O que é o ENUM?
•ENUM é parte da extensão da RTC na Internet–ENUM é definida pelo IETF e traduz qualquer número E164 number em pontos de serviço Internet; [RFC 2916, September 2000]
•Define o uso de RRs do DNS para estabelecer a correspondência para uma colecção de endereços de serviço incluindo: –endereços SIP / H.323 VOIP
–servidores IP FAX servidores Voice Mail
– serviços PSTN (redirect)
Porquê o ENUM?
• Cada central VOIP é uma rede terminal ligada à RTC• Cada gateway duma central VOIP tem que usar a RTC para
chegar a outros terminais VOIP= Tem que se pagar à mesma aos operadores de
telecomunicações
ENUM é uma forma de ligar as ilhas VOIP no mar da RTC• ENUM permite que cadal gateway duma central VOIP descobrir
outros gateways VOIP se necessário• Terminais VOIP podem chamar outros terminais VOIP sem
recorrer à RTC= Evita-se pagar às operadoras de telecomunicações
• As funcionalidades disponibilizadas para chamadas originadas na RTC não são muito claras no ENUM
O mundo do multi-Gateway VOIP
• A RTC é usada como rede inter-VOIP– Implicações óbvias nos custos a pagar às operadoras de
telecomunicações
– Implicações mais subtis para as redes VOIP privadas extendidas
PSTNPSTN
Internet
VOIP + ENUM = PSTN Bypass• Como pode ser encontrado o gateway VOIP de
forma dinâmica?– Pode um número de telefone ser atingível através dum
dispositivo Internet?
– Se sim, qual é o endereço de serviço Internet?
PSTNPSTN
Internet
Como funciona o ENUM?• Um gateway ENUM VOIP Gateway consulta primeiro o DNS
para verificar se o número discado é atingivel através dum serviço
• A resposta do DNS é uma colecção ordenada de URIs (NAPTR records)
• Se há uma resposta, o gateway selecciona o serviço preferido para completar a chamada
8.7.6.5.4.3.2.1.2.1.6.e164.arpa
2. Gateway DNS Query
3. DNS URI response 1. sip:gih@sip.telstra.net2. tel:614123567803. tel:61212345678
A minha preferência para chamadas de voz é:Tente estabelecer uma chamada VOIP para o meuservidor sip, depois o telefone móvel e a seguir o fixo.
1. Dial: +61212345678 Gateway
IP Phone
DNS Resolver
4. SIP call to sip:gih@sip.telstra.net
Qual é o potencial do ENUM?
• ENUM pode também fazer uma correspondência dum número de telefone para um endereço de email, endereço web, ou qq outra forma de endereço, especificada por um URL
• ENUM tem como objectivo potenciar a reciclagem dos números de telefone com identificadores de serviço Internet– Permite o uso dum número de telefone tradicional num meio de
comunicação diferente como por exemplo endereço de email, mensagem instantânea, páginas web pessoais e pode facilitar a penetração de novas aplicações no mercado
– Uma pessoa, um número, múltiplos serviços
E.164 como identificador universal?
Use this number for any service:
+61 2 12345678
ENUM
sip:jd@sip.telstra.net
fax:+61 2 62486000
mailto:gih@telstra.net
http://www.jd.com
tel:+61 2 12345678
ENUM: mais informação
• O RFC
• Cap. 7 do cookbook
Protocolos para VOIP
Ligação da Rede IP à RTC
• Que problemas se colocam?
• Que componentes e protocolos são necessários?
• Como suportar a voz na rede IP?
• A rede IP é adequada?
Ligação da Rede IP à RTC
• Identificação dos utilizadores– Conversão de identificadores
• Sinalização da chamada– Protocolos de sinalização
• Transferência dos média– Conversão de média– Transporte : TCP vs UDP
• Conferências– IP Multicast
• …
Protocolos e Normas Protocolos e Normas (contd.)
Pilha de Protocolos H.323
PresentationSession
Transport
Data LinkPhysical
Network
Audio SignalAudio SignalG.711
G.722
G.723.1
G.728
G.729 Video SignalVideo SignalH.261 H.263
T.127DataData
T.126
RTCP
H.235
UDP
RAS RTPT.124
T.125/T.122Supplementary ServicesSupplementary Services
H.450.3 H.450.2
H.450.1
ControlControlH.245 H.225
TCP
X.224.0
IP
Protocolos H.323
• H.225 Covers narrow-band visual telephone services• H.225 Annex G• H.235 Security and authentication• H.245 Negotiates channel usage and capabilities• H.450.1 Series defines Supplementary Services for H.323• H.450.2 Call Transfer supplementary service for H.323• H.450.3 Call diversion supplementary service for H.323• H.450.4 Call Hold supplementary service• H.450.5 Call Park supplementary service• H.450.6 Call Waiting supplementary service• H.450.7 Message Waiting Indication supplementary service• H.450.8 Calling Party Name Presentation supplementary service• H.450.9 Completion of Calls to Busy Subscribers supplementary service• H.450.10 Call Offer supplementary service• H.450.11 Call Intrusion supplementary service• H.450.12 ANF-CMN supplementary service• H.261 Video stream for transport using the real-time transport• H.263 Bitstream in the RTP Q.931manages call setup and termination• RAS Manages registration, admission, status• RTCP RTP Control protocol• RTP Real-Time Transport• T.38 IP-based fax service maps • T.125 Multipoint Communication Service Protocol (MCS).
Arquitectura H.323 Desenvolvimento típico H.323
Protocolos
• A série de recomendações H.323 evolui do trabalho do ITU-T no videotelefone e conferência multimédia para RDIS até 2 Mbit/s na série H.320
• O ITU-T trabalhou em comunicações similares sobre redes ATM (H.310, H.321)
• Na RTC analógica (H.324)• Na então recém nascida Ethernet isócrona (H.322)• A partir de 1995 começou a trabalhar em LANs com o IP
como protocolo de nível de rede– Problema da Qualidade de Seviço
Protocolos
• A versão inicial do H.323 foi aprovado pela ITU-T em Junho de 1996– Os problemas com o QoS atrasaram o processo até o 1998 H.323v2 e H.323v3 3m 1999
– Incorporação de muitas novas funcionalidades para servir de base ao telefone sobre IP à escala global
– Muitos novos melhoramentos no H.323v4 em finais de 2000• Fiabilidade, escalabilidade, flexibilidade
H.323: Abrangência e componentes H.323: Protocolos de sinalização
Descoberta do Gatekeeper e Registo
Endereços e Registos• H.323 suporta vários tipos de endereços
– Endereço numérico (RTC)• Não inclui informação adicional (Plano de discagem)• O servidor converte-o num endereço de entidade
– H.323-ids: Endereços tipo email, URL-ID– Ao contrário do SIP
• Um endereço registado por zona que resolve num ponto terminal• Chamadas 1:n requerem um gatekeeper a expandir o endereço colectivo
• Registos– Expiram após um tempo bem definido– Mensagem de KeepAlive– Registos aditivos
Modelos de Sinalização
• Sinalização Directa
• Sinalização de chamada via gatekeeper
• Controlo H.245,RAS H.225 e H.225 via Gatekeeper
Sinalização Directa
Sinalização via gatekeeper Sinalização controlada por H.245
Fases de uma comunicação H.323
• 5 fases:
– Estabelecimento de chamada
– Comunicação inicial e troca de funcionalidades
– Estabelecimento da comunicação audiovisual
– Serviços de chamada
– Terminação de chamada
Estabelecimento de chamada
• Pode ter as seguintes realizações– Básica com 2 terminais não registados
• Comunicação directa
– 2 terminais registados no mesmo gatekeeper– Só o terminal chamador tem gatekeeper– Só o terminal chamado tem gatekeeper– Ambos os terminais têm gatekeepers diferentes • Comportamento do terminal depende da configuração do modelo de sinalização
Estabelecimento de chamadaGatekeeper A Gatekeeper B
Terminal A Terminal B
Estabelecimento de chamada
• Utilização do FAST CONNECT– Acelera o estabelecimento duma chamada ponto-a-ponto• Apenas num RTT
– É usado se a entidade chamadora tiver este elemento activo Connect
– Permite abrir imediatamente os canais de média – Senão for usado o FAST Connect é necessário usar as mensagens H.245 para troca de capacidades e abertura dos canais de média
– Fast connect permite mais informação para o estabelecimento de gateways H.323/SIP
Call Set-up H.323 Comunicação inicial e troca de funcionalidades
• Canal de controlo H.245– Usado para troca de funcionalidades e abrir canais de media
– Aberto a seguir ao CONNECT, ALERTING, CALL PROCEEDING ou RELEASE COMPLETE
– Mensagem TERMINALCAPABILITYSET
– MASTERSLAVEDETERMINATION(ACK)
• Encapsulado em mensagens H.225
Comunicação Audiovisual
• Aberta usando procedimentos H.245
• Aberto 1 canal lógico por stream de informação– Áudio e Vídeo sobre transporte não fiável
– Dados sobre transporte fiável
Comunicação Audiovisual
Serviços de Chamada
• Serviços invocados pelo terminal quando a chamada está activa
• Bandwidth Change Services
• Supplementary Services
Terminação de chamada
• Feita pelo ponto terminal ou gatekeeper• A terminação dos média (áudio, vídeo, dados) só quando os canais estão fechados
• H.245 ENDSESSIONCOMMAND– Se recebida de volta é fechado o canal de controlo H.245
– Deve ser enviada uma mensagem RELEASE COMPLETE para fechar o canal de sinalização
– Terminar a chamada não significa terminar uma conferência• É necessária uma mensagem H.245 DROPCONFERENCE enviada pelo MC
Terminação de Chamada
• Terminador sem gatekeeper
• Terminador com gatekeeper– Gatekeeper precisa de ser informado da terminação
• Terminal->Gatekeeper: Disengage Request (DRQ)
• Gatekeeper->Terminal: Disengange Confirm (DCF)
• Feita pelo gatekeeper• Gatekeeper->Terminal: Disengage Request (DRQ)
• Terminal ->….: Release Complete
• Terminal->Gatekeeper: Disengage Confirm (DRQ)
Localização de Terminais fora de Zona
•LOCATION REQUEST (LRQ)•Unicast ou Multicast•Pode envolver uma rede gatekeepers
•LOCACTION CONFIRM (LCF)•TSAP: IP+Nº Porta
Exemplo de Chamada
(1)Permissão para Chamar B(2) Confirmação e Endereço(3) Est.Canal de Sinalização(4)Determinação de Localização e Reencaminhamento de pedido(6,7) Confirmação de permissão de aceitação(8) Indicação de Alerta ou Chamada estabelecida
Serviços de chamada adicionais
• Conferência– Suporta conferências fechadas– Controlo de acesso– Gestor de Conferência– MC+MP: sincronização da conferência
• Conferência em difusão– Suporte de conferências abertas tipo MBONE
• Serviços suplementares– Transferência de chamada– Chamadas em espera (com mensagem)– ….
Segurança H.235
• Autenticação– Password, Assinaturas digitais
• Integridade– Geração de verificações de mensagem via password
• Privacidade– Para cifragem dos média
– DES, Triple DES ou RC2
Sinalização: SIP
• Session Initiation Protocol– Protocolo Multimédia que tira partido do modelo iInternet para
construir redes e aplicações VOIP com base numa arquitectura distribuída
• Entidades– Agente do Utilizador– Gateways– Servidor Proxy – Servidor Redirect – Servidor Registrar
• Protocolos (RFC 2543 v1, RFC 3261 v2)– SDP ( Session Definition Protocol )– URLs– DNSs– TRIP ( Telephony Routing Over IP)
SIP (Session Initiation Protocol)
• Protocolo de controlo ao nível de aplicação – que pode estabelecer, modificar e terminar – sessões e chamadas multimédia.
• Essas sessões multimédia incluem – conferências multimédia– ensino à distância– telefone sobre IP
• O SIP pode envolver – pessoas – robots como serviço de armazenamento.
• O SIP pode convidar participantes – para sessões unicast como Multicast– O niciador não precisa de ser mebro da sessão para a qual é
convidado
Servidores SIP• Servidor Proxy SIP
– reencaminha a sinalização de chamada funcionando tanto como cliente como servidor
– Funciona de forma transacional, isto é, não mantém informação de estado
–• Servidor SIP Redirect
– Redirecciona chamadas para outros servidores• Servidor SIP Registrar
– Aceita pedidos de registo dos servidores – Mantém informações de utilizadores num Servidor de Localização (como o GSM)
Session Initialization Protocol
• O chamador e o chamado trocam mensagens de texto– Formatos são similares ao HTTP
• O chamado é identificado através dum URL SIP, user@host– A parte do utilizador é um nome do utilizador ou um nº de telefone
– A parte do host é um nome de domínio ou um endereço de rede
Registo SIP
Session Initialization Protocol (SIP)
• Um participante pode registar o seu identificador na localização corrente via um servidor de registo.– Suporta a mobilidade do utilizador uma vez que as chamadas são redireccionadas para a localização actual do utilizador
• O DNS está a ser expandido para disonibilizar lookups para a localização normal do utilizador
Estabelecimento de chamada directa SIP
INVITE
Session parameters
…...
(Response) OK
Session parameters
…….
ACK
SIP (Estabelecimento de chamada) SIP(Estabelecimento de chamada com redirecção)
Proxy vs. Redirect
• A servidor SIP server pode servidor de proxy ou redirecionar um pedido de chamada– Qual dos métodos aplicar é um problema de configuração. Pode ser configurado estática ou dinamicamente
• A redirecção é útil se o utilizador se mover ou mudar o seu fornecedor de serviço– PSTN: “The number you have dialed is not available.”) – o utilizador da próxima vez não precisa de tentar o mesmo servidor
• O Proxy é util se é necessário for necessário mais controlo: AAA, firewall, etc…
• Encoding: SIP is a text-based protocol and uses the ISO 10646 character
• Format : SIP-message = Request | Response• generic-message = start-line
*message-headerCRLF[ message-body ]
• start-line = Request-Line | Status-Line • message-header = ( general-header
| request-header| response-header| entity-header )
• Method = "INVITE" | "ACK" | "OPTIONS" | "BYE"| "CANCEL" | "REGISTER"
Mensagens SIP
Códigos de Resposta SIP
• 4yzClient– 400 Bad Request– 401 Unauthorized– 482 Loop Detected– 486 Busy Here
• 5yzServer failure– 500 Server Internal Error
• 6yzGlobal Failure– 600 Busy Everywhere
• Borrowed from HTTP: xyz explanatory text
• Receivers need to understand x• 1yz Informational
– 100 Trying– 180 Ringing (processed locally)– 181 Call is Being Forwarded
• 2yz Success– 200 ok
• 3yz Redirection– 300 Multiple Choices– 301 Moved Permanently– 302 Moved Temporarily
Mensagens SIP
• INVITE– Descripção de sessão incluída no corpo da mensagem.
– re-INVITE usados para mudar estado da sessão• ACK confirma estabelecimento de sessão
– pode ser usado apenas com o INVITE• BYE termina sessões• CANCEL cancela um INVITE pendente• OPTIONS pergunta sobre funcionalidades• REGISTER associa um endereço permanente à localização corrente
Arquitectura SIP Sinalização: MGCP, MAGACO
• Media Gateway Control Protocol– Usar o modelo de pacotes de software e disponibilizar uam
arquitectura centralizada para controlar as chamadas e os serviços– Controlador os gateways de telefone de elementos externos de
controlo de chamada designados por gateway de controlo de média ( media gateway controllers ) ou agentes de chamada(call agents).
• Entidades– MGC (Media Gateway controller / Call agent)– MG (Media Gateway)
• Protocolos– MGCP v1 – RFC 2705– H.248 (H.248 / MAGACO) – RFC 3525– SDP (Session Definition Protocol) - RFC 3407
Arquitectura MGCP
PSTN
PBX
T1/E1
FXO/FXS
E&M
Call Agent
MGCP
Voice Gateway
MGCP
RTP
IP Phone
( MGCP Client )
IP Phone
( MGCP Client )
Comparação da Sinalização VoIP
Comparação da Sinalização VoIP DTMF
Gateway Asterisk: O que é?
• Um software completo de PBX software para plataformas Linux desenvolvido pela Digium (M.S.)
• Faz a comutação de chamadas num PBX, tradução de CODECs, e várias aplicações
• Software Open Source sob licença GNU
Asterisk: Aplicações
• Voicemail• Discar numa interface (ZAP, SIP, IAX, etc)• Pontes para Conferência • Filas para distribuição automática de chamadas
– ACD Queues– Excelentes para Call Centers
• Resposta interactiva por voz – IVR ( press “1” if you know the ext)
• Operações em Bases de Dados• ENUMlookup• AGI (asterisk gateway interface, como a CGI)
– Para scripting
Asterisk: Visão geral Asterisk: Lógica de chamada
• Usa uma máquina de estados para saber o que fazer com a chamada– Contexto : A origem da chamada (SIP, RFN, etc)
– Extensão: o número discado pelo utilizador
– Prioridade: Um contador que ordena a sequência de comandos
Asterisk: Exemplo de Lógica de chamada
• Um utilizador disca 3001, que é uma extensão para a central Central. O utilizador está definido no contexto local ( context => local)
extensions.conf
[local]
exten => 3001,1,Voicemailmain2
• Um utilizador sip (4001) disca 1001 que é um telefone analógico (Zap/1), e cai no voicemail se estiver indisponível (ninguém responde em 30 secs)
sip.conf[4001]Username=4001Context=from-sip…
extensions.conf[from-sip]exten => 1001,1,Dial(Zap/1,30)exten => 1001,2,Voicemail2(u1001)
Asterisk: ENUM
• Como é que um utilizador da RFN pode chamar um utilizador SIP? Só tem teclado numérico normal? Como especificar um URI?
• ENUM. Cria um directório global que faz a correspondência número de telefones para endereços SIP (ou email)
• DNS lookup (E.164 -> URIs)
• As interrogações E.164 queries são formadas com os números ao contrário separados com pontos com domínio de topo ENUM no fim (normalmente e164.arpa)– 905-845-9430 � 0.3.4.9.5.4.8.5.0.9.e164.arpa
Asterisk: Enum Example Asterisk: IAX• Inter-Asterisk eXchange (IAX)
– Usada pelo gateway Asterisk como alternativa ao SIP, H.323, etc
• Suporta estilo de segurança PKI e tronca
• Quando se usa tronca, aloca apenas a largura de banda usada
• Qualidade similar ao SIP, mas com o aumento de número de conexões (no modo tronca) torna-se melhor– Versions: IAX and IAX2
Asterisk: IAX (cont)
• IAX é transparente ao NAT/PAT
• IAX2 triplica as chamadas da tronca por megabyte– 100 chamadas/MB (com o G.729)
• Cerca de 1000 utilizadores registados iaxtel (como FWD)