Materiais usados VOIP Voz sobre IP Signals,...

43
VOIP Voz sobre IP Sistemas Telemáticos LESI Departamento de Informática Universidade 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.

Transcript of Materiais usados VOIP Voz sobre IP Signals,...

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:[email protected]. 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:[email protected]

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:[email protected]

fax:+61 2 62486000

mailto:[email protected]

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)