parte!2!–protocolos!para!transportar!mídia!adriano/aulas/topicos/2013/10... · rtp é gerado, em...
TRANSCRIPT
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 1
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Protocolos Multimídia na Internet Parte 2 – Protocolos para transportar mídia
Prof. Dr. Adriano Mauro Cansian [email protected]
Adriano César Ribeiro
(estagiário docente) [email protected]
______________________________
Tópicos em Sistemas de Computação
1
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Protocolos para transportar mídia
Protocolos de aplicação
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 2
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
RTP
Real-Time Protocol
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Real-Time Protocol (RTP) q RTP especifica uma
estrutura de pacotes que transportam dados de áudio e vídeo: RFC 1889.
q Pacote RTP oferece: • Identificação do tipo de
carga. • Numeração da
sequência de pacotes. • Marcas de tempo.
q RTP roda nos sistemas terminais.
q Os pacotes RTP são encapsulados em segmentos UDP.
q Interoperabilidade: se duas aplicações usam RTP, então elas podem ser capazes de operar juntas, mesmo se desenvolvedores diferentes.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 3
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
RTP roda sobre UDP As bibliotecas do RTP fornecem uma interface de camada de transporte, que estende o UDP:
• Número de portas, endereços IP. • Verificação de erros dentro dos segmentos. • Identificação do tipo de carga . • Numeração da sequência. • Marcas de tempo.
Aplicação
Enlace
Física
Pseudo “camada de transporte” RTP + UDP juntos
fornecem um serviço de transporte de
mídia para a aplicação
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
RTP: Exemplo
q Considere enviar 64 kbps de voz em PCM sobre RTP.
q A aplicação reúne dados codificados em blocos, a cada 20 ms. = 160 bytes por bloco.
q O bloco de áudio, junto com o cabeçalho RTP forma o pacote RTP, que é encapsulado num segmento UDP.
q O cabeçalho RTP indica o tipo de codificação de áudio em cada pacote. • Pois os
transmissores podem mudar a codificação em vôo.
q O cabeçalho RTP também contém números de sequência e marcas de tempo.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 4
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
RTP não fornece QoS (1)
q RTP não fornece mecanismo de QoS. • Não garante a entrega dos pacotes no tempo
correto, nem fornece outras garantias de qualidade de serviço.
q O encapsulamento RTP é visto apenas nos sistemas finais. • Não tem efeito nos roteadores no caminho.
• Roteadores fornecem o serviço de melhor-esforço tradicional da Internet.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
RTP não fornece QoS (2)
q A fim de fornecer QoS para uma aplicação, a Internet deve prover um mecanismo especial para que a aplicação possa reservar recursos da rede.
q Uma possibilidade é usar o RSVP. • Será visto mais adiante…
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 5
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Fluxos RTP (1)
q RTP permite atribuir a cada fonte o seu próprio fluxo de pacotes RTP independente.
• Por exemplo, uma câmera e um microfone.
q Para uma videoconferência entre 2 participantes, 4 fluxos RTP poderiam ser abertos: • 2 fluxos para transmitir o áudio. • 2 fluxos para o vídeo .
– Um deles em cada direção.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Fluxos RTP (2)
q Algumas técnicas de codificação populares, incluindo MPEG1 e MPEG2, reúnem o áudio e o vídeo num único fluxo durante o processo de codificação. • Quando o áudio e o vídeo são reunidos
pelo codificador, então apenas um fluxo RTP é gerado, em cada direção.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 6
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Header RTP (1)
Tipo de Carga (7 bits): Usado para indicar o tipo de codificação que está sendo usado no momento. Se um transmissor muda o tipo de codificação durante uma conferência, o transmissor informa o receptor através deste campo de tipo de carga.
• Tipo de carga 0: PCM mu-law, 64 Kbps • Tipo de carga 3, GSM, 13 Kbps • Tipo de carga 7, LPC, 2.4 Kbps • Tipo de carga 26, Motion JPEG • Tipo de carga 31. H.261 • Tipo de carga 33, MPEG2 video
Número de Seqüência (16 bits): O número de seqüência é incrementado de um a cada pacote RTP enviado.
• Pode ser usado para detectar perdas de pacotes, e para recuperar a seqüência de pacotes.
Tipo de Carga Número de Seqüência Marca de tempo
Identificador sincronismo fonte
campos de miscelânias
Cabeçalho RTP (desenho do header não está em escala)
(desenho do header não está em escala)
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Header RTP (2)
Tipo de Carga (7 bits): Usado para indicar o tipo de codificação que está sendo usado no momento. Se um transmissor muda o tipo de codificação durante uma conferência, o transmissor informa o receptor através deste campo de tipo de carga.
• Tipo de carga 0: PCM mu-law, 64 Kbps • Tipo de carga 3, GSM, 13 Kbps • Tipo de carga 7, LPC, 2.4 Kbps • Tipo de carga 26, Motion JPEG • Tipo de carga 31. H.261 • Tipo de carga 33, MPEG2 video
Número de Seqüência (16 bits): O número de seqüência é incrementado de um a cada pacote RTP enviado.
• Pode ser usado para detectar perdas de pacotes, e para recuperar a sequência de pacotes.
Tipo de Carga Número de Seqüência Marca de tempo
Identificador sincronismo fonte
campos de miscelânias
Cabeçalho RTP (desenho do header não está em escala)
(desenho do header não está em escala)
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 7
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Tipo de Carga Número de Seqüência Marca de tempo
Identificador sincronismo fonte
campos de miscelânias
Cabeçalho RTP
q Campo de marca de tempo (32 bits). • Reflete o instante de amostragem do primeiro byte no
pacote de dados RTP. • O receptor pode usar esta marca de tempo para remover
o jitter do pacote, e para obter o sincronismo de reprodução, conforme discutido anteriormente.
q Campo SSRC (identificador de sincronismo fonte) (32 bits). • Identifica a fonte do fluxo RTP. Cada fluxo numa sessão RTP deve ter
um SSRC distinto.
Header RTP (3) (desenho do header não está em escala)
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Tipo de Carga Número de Seqüência Marca de tempo
Identificador sincronismo fonte
campos de miscelânias
Cabeçalho RTP
q Campo de marca de tempo (32 bits). • Reflete o instante de amostragem do primeiro byte no
pacote de dados RTP. • O receptor pode usar esta marca de tempo para remover
o jitter do pacote, e para obter o sincronismo de reprodução.
q Campo SSRC (identificador de sincronismo fonte) (32 bits). • Identifica a fonte do fluxo RTP. • Cada fluxo numa sessão RTP deve ter um SSRC distinto.
Header RTP (4) (desenho do header não está em escala)
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 8
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Header RTP completo
V (2bits), P (1 bit) , X (1 bit), CC (4 bits) e M (1 bit): à campos de controle do header. Ver: http://prof.hti.bfh.ch/myf1/www/projects/polyphem/www/documents/projectwork-techreport-mediainternet.html
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Header RTP completo
Version (V): 2 bits This field identifies the version of RTP. The value for the current version is 2 (the version values "1" and "0" belong to the first draft of RTP). Padding (P): 1 bit If the padding bit is set, the packet contains one or more additional padding octets at the end which are not part of the payload. The last octet of the padding is a count of how many padding octets should be ignored. Padding may be needed by some encryption algorithms with fixed block size or for carrying several RTP packets in a lower-layer protocol data unit. Extension (X): 1 bit If the extension bit is set, the fixed header is followed by exactly one header extension. CSRC count (CC): 4 bits The CSRC (Contributing Source) count contains the number of CSRC identifiers that follow the fixed header. Marker (M): 1 bit The interpretation of the marker is defined by an additional profile. It is intended to allow significant events such as frame boundaries to be marked in the packet stream.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 9
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
q A marca de tempo é derivada do relógio de amostragem no transmissor. • Para áudio: o relógio de marca de tempo
incrementa em 1 a cada intervalo de amostragem.
• Se taxa amostragem é 8 KHz à 1 / 8000 (1/s). • Então: incrementa de 1 a cada 125 µs. • Se a aplicação gera blocos contendo 160 amostras
codificadas, então a marca de tempo aumenta de 160 para cada pacote RTP quando a fonte está ativa.
• O relógio de marca de tempo continua a aumentar numa taxa constante, mesmo quando a fonte está inativa.
Marcas de tempo
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
RTCP
Real-Time Control Protocol
!! NÃO CONFUNDIR COM RTSP !! (Real Time Streaming Protocol)
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 10
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Real-Time Control Protocol (RTCP)
q Atua em conjunto com o RTP. q Cada participante de uma sessão RTP transmite,
periodicamente, pacotes de controle RTCP para todos os outros participantes. • Cada pacote RTCP contém relatórios do transmissor
e/ou do receptor, que são úteis para a aplicação.
q Relatórios incluem o número de pacotes enviados, número de pacotes perdidos, variação de atraso entre chegadas, dentre outras informações.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Real-Time Control Protocol (RTCP) q Envia informações de
feedback para a aplicação. • Pode ser usada para controle
do desempenho, e para fins de diagnósticos.
• Por exemplo, o transmissor pode alterar suas transmissões a partir das informações de realimentação.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 11
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Tipos de pacotes RTCP Pacotes de relatório do
receptor: q % de pacotes perdidos; q Último número de seqüência; q Variância média do atraso
entre chegadas. Pacotes de relatório do
transmissor: q SSRC do fluxo RTP; q Tempo corrente; q Número de pacotes
enviados; q Número de bytes enviados.
Pacotes de descrição da fonte geradora:
q Endereço de e-mail do gerador.
q Nome do gerador; q SSRC do fluxo RTP
associado.
Estes pacotes fornecem um mapeamento entre o SSRC e o nome do usuário ou do host.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Sincronização de Fluxos (1)
q O RTCP pode ser usado para sincronizar diferentes fluxos de mídia numa sessão RTP. • Por exemplo: Considere uma aplicação de
videoconferência para a qual cada transmissor gera um fluxo RTP para áudio, e um para vídeo.
q As marcas de tempo nestes pacotes são vinculadas aos relógios (clocks) de amostragem de vídeo e de áudio, mas não são vinculadas a um relógio de tempo real (isto é, a um relógio físico real).
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 12
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Sincronização de Fluxos (2)
q Um pacote do RTCP denominado “sender-report ” contém, para o último pacote gerado no fluxo RTP associado: • A marca de tempo do pacote RTP e • O instante de tempo real no qual o pacote foi criado.
q Desta este pacote associa o relógio de amostragem com o relógio de tempo real.
q Receptores podem usar esta associação para sincronizar a reprodução de áudio e de vídeo.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Controle de Banda do RTCP
q O RTCP procura limitar seu tráfego a 5% da banda passante da sessão. • Por exemplo: suponha um transmissor enviando
vídeo com uma taxa de 2 Mbps (2000 Kbps). • Então o RTCP procura limitar seu tráfego total a até
100 Kbps.
q O protocolo oferece 3/4 desta taxa, para os receptores (no exemplo: 75 kbps)
q 1/4 restantes da taxa para o transmissor (no exemplo: 25 kbps).
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 13
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Protocolos de Voice over IP
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Relacionamento Tradicional Redes de voz e dados
RedeSS7
RedeIP
Dados
Dados
Dados
SwitchClass 4
SwitchClass 4
Voz VozSwitchClass 5
SwitchClass 5
Rede de Telefonia (PSTN )
Rede de Dados
SitesServiços Web
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 14
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Cada Canal de Voz = 4000Hz de Banda 4000Hz Digitalizados = 1 PCM = 64kbps = G.711
Transmissão da Voz Transmissão de Sinalização
SS7 Network
Rede ATM
SCP
STP
CentralClass 4
CentralClass 4 Central Telefônica
Class 5Central Telefônica
Class 5VozVoz
Relação entre switches (C4 & C5) SCP: Service Control Point SS7: Signalling System No. 7 STP: Signal Transfer Point
Intelligent Network (IN) Telephone System
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Conceitos de PSTN (1)
q SCP: Service Control Point • Componente padrão do sistema de rede inteligente de
telefonia • É usado para controlar o serviço. • Na indústria de telefonia atual os SCPs são implantados
utilizando tecnologias SS7, Sigtran ou SIP.
q O SCP consulta o ponto de dados de serviço SDP. q SDP: Service Data Point
• Banco de dados real e diretório de assinantes.
q O SCP, usando o banco de dados do SDP, identifica o número geográfico ao qual a chamada deve para ser encaminhada.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 15
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Conceitos de PSTN (2)
q SSP: Service Switching Point • central telefônica que responde inicialmente quando um
chamador disca um número de telefone, • através do envio de uma consulta a um banco de dados
central chamado um ponto de controle de serviço (SCP)
q STP: Signal Transfer Point • Ponto de transferência de sinal. • Roteador que retransmite mensagens de sinalização SS7
entre pontos finais e outros STPs.
q SCPs são conectados tanto com SSPs ou STPs. • Depende da arquitetura de rede que a operadora quer. • A implementação mais comum usa STPs
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
CODECs tipo WAVEFORM (menor delay, maior banda)
q G.711 PCM das frequências de voz q G.726 ADPCM (Adaptative Differential PCM)
CODECS tipo Analysis-by-Synthesis (ABS) (maior delay, menor banda)
q G.728 Low-Delay CELP (LD-CELP) q G.723.1 Algebraic Code-Excited Linear Prediction (ACELP) q G.729 Codificador de voz a 8Kbps
• G.729 Annex A (Reduz complexidade) • G.729 Annex B • G.729 Annex D • G.729 Annex E
Descrição dos CODECs de voz - Padrões ITU (1)
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 16
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
CODECS WAVEFORM Padrão Banda Delay MOS G.711 64Kbps 0.125ms 4.8 G.726 16,24,32,40Kbps 0.125ms 4.2
CODECS Analysis-by-Synthesis (ABS) Padrão Banda Delay MOS G.728 16Kbps 2.5ms 4.2 G.723.1 8Kbps 10ms 4.2 G.729 5.3,6.3Kbps 30ms 3.5
Descrição dos CODECs de voz - Padrões ITU (2)
MOS = (Mean Opinion Score) 5 : profissional … 2 : inteligível 1 : problemas de inteligibilidade
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
OC level Signal level Sonet/STS SDH/STM DSO´s OC-1 51.84 Mbps STS-1 672 OC-3 155.52 Mbps STS-3 STM-1 2016 OC-12 622.08 Mbps STS-12 STM-4 8063 OC-48 2.48 Gbps STS-48 STM-16 32256 OC-192 9.95 Gbps STS-192 STM-64 129024 OC-768 52.87Gbps STS-768 516096
Descrição dos meios de transmissão
Rede de Transporte → Predominante em tecnologia ATM 1x DS0 = 1 PCM = 64Kbps = 1 Canal de Voz
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 17
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Evolução das aplicações de comunicação
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
VoIP : Voice over IP.
• Transmissão de VOZ através de uma rede de dados, usando os protocolos do padrão TCP/IP.
• Por que Usar VoIP ? • Redução da banda de transmissão (compressão da voz). • Melhor utilização da infraestrutura de transmissão
• Voz, dados e imagem. • Menor custo de Equipamentos e Infraestrutura. • Integração de Aplicações de dados e voz. • Configuração Simplificada da Rede de Transmissão. • Menores custos de Transmissão (geralmente usam DWDM).
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 18
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Modelo de telefonia em rede
VOZ VOZ Sinalização
REDE de Dados
Componentes críticos do sistema de Telefonia em Rede: 1) Protocolos de transmissão da VOZ. 2) Protocolos de sinalização.
Transmissão de Voz
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Modelo VoIP - Protocolos de Transmissão
REDE TCP/IP
RTP/RTCP
UDP
IP
Datalink
Physical
RTP/RTCP
UDP
IP
Datalink
Physical
• RTP/RTCP: Protocolos de Transmissão em Tempo Real de Dados. • Operam sobre UDP (não orientado a conexão). • CODEC´s:
G711: 64 Kbps. G729A: 9 Kbps. G723.1: 5.3 Kbps.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 19
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Modelo VoIP - Protocolos de sinalização
REDE TCP/IP
H323, SIP MGCP, Megaco
TCP / UDP
IP
Datalink
Physical
H323, SIP MGCP, Megaco
TCP / UDP
IP
Datalink
Physical
Protocolos Ponto-a-Ponto: - H.323 - SIP
Protocolos de Controle de Gateways (Mestre/Escravo): - MGCP. - H.248 (MEGACO).
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
H.323
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 20
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
H.323
q Visão geral. q Terminal H.323. q Codificação H. 323. q Gatekeeper. q Gateway. q Codecs de áudio. q Codecs de Vídeo.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Visão Geral do H.323 (1)
q Base para conferência de áudio e de vídeo, através de redes TCP/IP.
q Tem como objetivo a comunicação de tempo real (ao invés de “sob demanda”)
q Recomendação “guarda-chuva” do ITU-T. q Possui escopo amplo:
• Equipamentos isolados (telefones IP). • Aplicações em PCs (softwares). • Conferências ponto-a-ponto e multiponto.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 21
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Visão Geral do H.323 (2) A especificação H.323 inclui: q Como os equipamentos terminais fazem e recebem chamadas. q Como os equipamentos terminais negociam codificações
comuns de áudio e vídeo. q Como os blocos de áudio e vídeo são encapsulados e
enviados para a rede. q Como o áudio e o vídeo são sincronizados entre si. q Como os equipamentos terminais se comunicam com seus
respectivos gatekeepers. q Como os telefones IP e os telefones PSTN convencionais se
comunicam.
• PSTN = Public Service Telephone Network (é a a rede telefônica convencional comutada, ou “sistema legado”).
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
q Chamadas telefônicas.
q Chamadas de vídeo.
q Conferências. q “Quadros brancos”.
• Compartilhamento de informações de telas em tempo real.
Todos os terminais suportando H.323
Internet
Telefone "Ethernet"
Visão Geral do H.323 (3)
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 22
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
H.323 SS7, Inband
Internet PSTNGateway
Gatekeeper
Visão Geral do H.323 (4)
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Rede padrão de H.323
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 23
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Visão Geral do H.323 (5)
q Fluxo de mídia: é transportado em RTP e controlado por RTCP • RTP carrega a mídia. • RTCP carrega informações de estado (status) e controle. • RTP/RTCP em transporte não confiável, sob UDP.
q Sinalização: é transportada confiável, sob TCP • RAS: Protocolo de registro, admissão e estado. • Q.931: Protocolo de call setup e finalização. • H.245 : Protocolo de controle de troca.
• Faz o controle “fora-da-banda” para controlar a mídia entre os terminais H.323.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Terminais H.323 devem suportar:
q G.711 : padrão do ITU para compressão de voz
q RTP : protocolo para encapsular blocos de dados de mídia em pacotes
q H.245 : Protocolo de controle “fora-da-banda” para controlar a mídia entre os terminais H.323.
E conforme já mencionado: q Q.931: Protocolo de
sinalização para estabelecer e encerrar chamadas.
q RAS : Protocolo Registration / Admission / Status • Protocolo de canal -
Protocolo para comunicação com o gatekeeper (se um gatekeeper estiver presente)
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 24
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
http://www.protocols.com/papers/voip2.htm
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
H.323 é formado pelos seguintes protocolos: (Fonte: http://www.protocols.com/pbook/h323.htm)
DVB Digital Video Broadcasting 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 Real-time Transport Protocol Q.931 manages 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).
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 25
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
A arquitetura do H.323 AplicationsAudio/Video
CodecsAudio/Video
RTP
RTCPH.225.0
RasSignaling
H.225.0Call
Signaling
H.245Control
Signaling
Terminal / Application Control
UDP TCP
IP
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
http
://w
ww
.pro
toco
ls.c
om/p
book
/h32
3.ht
m
Composição da família de protocolos
H.323
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 26
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Codificação H.323
Áudio: q Terminais H.323 devem
suportar obrigatoriamente o padrão G.711, para compressão de voz e transmissão a 56/64 kbps.
q H.323 também está considerando exigir a codificação G.723 = G.723.1, que opera a 5.3/6.3 kbps.
q Protocolos opcionais: G.722, G.728, G.729
Vídeo: q Capacidades de vídeo para
um terminal H.323 são opcionais.
q Qualquer terminal H.323 com capacidade de vídeo deve suportar o formato QCIF H.261 (176x144 pixels).
q O suporte a outros esquemas da recomendação H.261 é opcional: CIF, 4CIF e 16CIF.
q H.261 é usado com canais de comunicação cuja taxa de transmissão é múltipla de 64 kbps.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Gerando fluxo de pacotes de áudio no H.323
Fonte de áudio
Codificação: G.711
ou G.723.1
Encapsulamento de pacote RTP
Porta UDP
Internet ou Gateway
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 27
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Canal de Controle H.245
q O fluxo H.323 pode conter múltiplos canais para diferentes tipos de mídia.
q Existe um canal de controle H.245 por sessão H.323
q O canal de controle H.245 é um canal confiável (TCP) que transporta mensagens de controle.
q Principais tarefas: • Abrir e fechar canais de
mídia. • Troca de informações
de capacidades: • Exemplo: antes de enviar
dados os terminais devem concordar sobre o algoritmo de codificação
Nota: H.245 para conferência multimídia é análogo ao RTSP
para mídia contínua armazenada.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Fluxos de Informação
Terminal H.323
Canal de Mídia 1
Canal de Controle de Mídia
Canal de Mídia 2
Canal de Controle de Chamada
H.323 Gatekeeper Canal RAS
TCP
UDP
Terminal H.323
Canal de sinali- zação de Chamada
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 28
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Gatekeeper (1)
§ Pode oferecer aos terminais: § Tradução de endereços “fone” para endereços IP. § Gerenciamento de banda-passante: pode limitar o total de
banda-passante consumida pelas conferências de tempo real.
§ Opcionalmente, as chamadas H.323 podem ser roteadas através do gatekeeper. Pode ser conveniente para bilhetagem (cobrança).
§ É utilizado protocolo RAS (sobre TCP) para comunicação entre terminal e o gatekeeper.
term
inai
s H
.323
Gatekeeper
Router
Internet
LAN = “Zona”
RAS
§ O gatekeeper é opcional.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Gatekeeper (2)
q Terminal H.323 deve registrar-se com o gatekeeper da sua zona. • Quando a aplicação H.323 é chamada no
terminal, o terminal usa o RAS para enviar seu endereço IP e apelido (alias) do usuário ao gatekeeper.
q Se o gatekeeper está presente numa zona, cada terminal da zona deve contacta-lo para pedir permissão para realizar uma chamada.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 29
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Gatekeeper (3)
q Uma vez que o usuário obtém a permissão, o terminal pode enviar ao gatekeeper um endereço de e-mail, um nome de referência (alias) ou uma extensão de telefone. • O gatekeeper translada o nome de referência
num endereço IP. • Se necessário, o gatekeeper poderá
consultar outros gatekeepers em outras zonas para resolver um endereço IP.
• O processo varia entre os diferentes fornecedores e fabricantes.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Gateway
Term
inai
s H.3
23
Gatekeeper
Router Internet
LAN = “Zona”
RAS
Gateway
PSTN
q É a ponte entre a zona IP e as redes públicas de telefonia (PSTN ou ISDN). q Terminais se comunicam com gateways usando protocolos H.245 e Q.931.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 30
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
GK – Modelo de Sinalização direta
Fonte: http://www.protocols.com/papers/voip2.htm
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
GK – Modelo de Sinalização roteada
Fonte: http://www.protocols.com/papers/voip2.htm
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 31
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
CODECs de áudio CODEC Bandwidth
[kbit/s] MOS Complexidade
[MIPS] “Packetização”
(tamanho) [ms]
G.711 64 4.5 - - G.721 (ADPCM) 32 4.4 6.5 - GSM 13 3.8 4 20 G.729 8 4.1 15 10 G.723 6.4/5.3 4.0 20 30
Qualidade comercial
interlocutor reconhecível intelegível
problemas de inteleg.
5 4 3 2 1
MOS (Mean Opinion Score)
MOS (Mean Opinion Score)
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Codecs de Vídeo • H.261 (p x 64 kbit/s)
– Vídeo sobre ISDN – Resoluções : QCIF, CIF
• H.263 (< 64 kbit/s) – Comunicação de baixa taxa
de bits. – Resoluções: SQCIF, QCIF,
CIF,4CIF, 16CIF.
SQCIF (128 x 96)
QCIF (176 x 144)
CIF (352 x 288)
4CIF (704 x 576)
16CIF (1408 x 1152)
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 32
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
SIP
Session Initiation Protocol
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Session Initiation Protocol (SIP)
q Utiliza áudio codecs para mídia. • (G.711, G.723.1, G.729, etc...)
q Fluxos de mídia transportados em RTP / RTCP. • RTP carrega fluxo de mídia real. • RTCP carrega informações de estado e controle.
• Usados via transporte não confiável em UDP.
q Sinalização transportada também sobre UDP. • SIP utiliza mecanismo de mensagens para
estabelecimento de sessões. • SAP – Session Announcement Protocol. • SDP – Linguagem estruturada para descrição de
sessões.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 33
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
A arquitetura do SIP
AplicationsAudio/Video
CodecsAudio/Video
RTP
RTCP SAP SIP HTTP
SDP
UDP TCP
IP
Conference Applications
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Elementos do SIP (1) q UA - User Agent
• UA Client : cria as chamadas. • UA Server : aguarda novas chamadas. • Existem implementações de Hardware e Software. • Hardware = Chamado de “IP phone” • Software = Chamado de “soft(ware) phone”
IP phone soft(ware) phone
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 34
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Elementos do SIP (2)
q SIP Proxy Server • Chamado de RCS - “Relays Call Signaling” • Atua tanto como cliente e servidor.
q SIP Redirect Server • Redireciona as chamadas para outros servidores, caso
necessário. q SIP Registrar Server
• Aceita requisições de registro dos clientes. • Mantém informações dos usuários, relativas a
localização física.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
VOZ VOZ
REDE TCP/IP
SIP
RTP/RTCP
SIP
SIP Proxy
Arquitetura SIP - Proxy Server
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 35
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Funcionalidades distribuídas Extensibilidade: Possibilidade de
incorporar diversas aplicações ao sistema
de telefonia.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Comparação SIP x H.323 (1)
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 36
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Comparação SIP x H.323 (2) (com relação à escalabilidade) H.323: q Interação entre
múltiplos sub-protocolos o torna muito complexo.
q Os servidores são statefull nas versões 1 e 2.
q H.323 V.3 é muito mais complexo.
SIP: q SIP e SDP são menos
complicados. q Servidores podem ser
stateless.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Comparação SIP x H.323 (3) (Facilidade de Implementação)
H.323 q Mensagens H.323 são
binárias. q São codificadas
usando ASN.1 q São necessários
decodificadores especiais (parsers) para mapear em formato legível.
SIP q Mensagens são em
formato texto (inclusive suportando Unicode).
q Facilmente implementado em Perl, Tcl, Java, etc…
q Debugging é fácil: tcpdump, ngrep, netcat, etc…
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 37
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Resumo comparação SIP x H.323
H.323 q Desenvolvimento
iniciado há mais tempo.
q Mensagens mais curtas.
q Mais complexo. q Geralmente custo
menor. q Muitas opções
disponíveis (várias freeware).
SIP q Escalável. q Extensível. q Menor complexidade. q Facilidade de
implementação. q Customização. q Permite controle de
chamadas por terceiros.
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Sumário do tópico:
q Características da Mídia na Internet. q Problemas e desafios. q Fluxo contínuo de áudio e vídeo armazenados. q Codificação de áudio e vídeo, PCM e MP3. q Controle de mídia com RTSP. q Aplicações interativas em tempo real. q Protocolos para transportar mídia: RTP, RTCP, q Telefonia PSTN q VoIP: H323 e SIP
74
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 38
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
( O QUE É O “ASTERISK” ? )
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Conceitos Básicos q Asterisk é um grande projeto de código livre para
um PABX IP baseado em software (PABXIP).
q Provê todas as funcionalidades de um PABX tradicional, além de muitas outras, por um baixo custo. • Utilizando o Linux como sistema operacional
q Com o Asterisk um computador ou servidor transforma-se em um PABX Digital poderoso, de baixo custo e altamente flexível.
q O Asterisk permite integrar aparelhos telefônicos, computadores, centrais convencionais, intranets e a Internet em uma única plataforma de voz.
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 39
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
COMO SURGIU ?
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
História q Criado para atender às necessidades da Linux
Support Services, de Mark Spencer, recém-formado em Engenharia da Computação, em 1999.
q Em 2001, conhece Jim Dixon. • Criador do “Zapata” (hardware) de integração de telefonia.
q Nos anos seguintes, a Digium (Asterisk) teve taxa de 100% de crescimento.
q Em Agosto de 2006 com apenas 5 desenvolvedores e 350 colaboradores, recebeu seu primeiro aporte de capital externo: US$ 13.8 Milhões da Matrix Partners.
q ^ Kraeuter, Chris (August 9, 2006). "Digium Gets Funding From Matrix". Forbes. http://goo.gl/UsDcqa
UNESP - IBILCE - São José do Rio Preto Protocolos Multimídia na Internet
Prof. Dr. Adriano Mauro Cansian 40
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Asterisk - PABXIP
Comunicação Unificada
Funções especiais:
1. CallBack e WebCallBack;
2. PABX Virtual e WebPABXIP;
3. WebFax;
4. Senha VoIP;
5. Discadora Automática;
6. Marketing Voice;
7. Back0800;
8. Orelhão VoIP;
9. Integração com ERP;
10. URA
Funções básicas:
Ligar, receber, “puxar”, transferir, monitorar, esperar, music on-hold, áudio conferência, vídeo conferência, relatórios, etc...
unesp - IBILCE - SJRP
© 2013 Adriano Mauro Cansian & Adriano Ribeiro
Integração de mídias q Asterisk possui uma grande integração de mídias.
q Asterisk conversa nos protocolos IAX, SIP e H.323, porém devido ser um opensource muitos conversores de mídia foram especificamente projetados.