Introdução ao VoIP Codecs Carlos Gustavo A. da Rocha
Introdução ao VoIP Relembrando Telefonia analógica usa frequências captadas como voz humana na faixa de 0 a 4000Khz Para digitalizar a voz é necessário obter amostras como o dobro da maior frequência encontrada (teorema de Nyquist) PCM (pulse code modulation) Conversão analógico digital, com perda desprezível Codecs mais elaborados irão reduzir o consumo de banda, inserindo perda de qualidade
Introdução ao VoIP PCM Codec G.711 µ-law (EUA e Japão), a-law (Europa, Américas) Codifica amostras usando 8000 amostras por segundo, e 8 bits em cada amostra, gerando 64kbps G.711 01101101...
Introdução ao VoIP Telefonia Tradicional Conversão analógica digital nas centrais Em cada ligação ativa a voz trafega em um circuito digital dedicado de 64kbps Comutação por circuito, sem filas ou atrasos intermediários G.711 01101101...
Introdução ao VoIP Telefonia Tradicional Conversão analógica digital nas centrais 001101100
Introdução ao VoIP Telefonia Tradicional Vantagens Disponibilidade >= 99,9999% Um bom projeto garante uma taxa de chamadas completadas virtualmente de 100% Excelente qualidade de voz (telefonia fixa)
Introdução ao VoIP Telefonia Tradicional Serviços Complementares do PABX Chamada em espera Transferência, encaminhamento Secretária eletrônica, conferência Identificação de chamador Quais são realmente utilizados?
Introdução ao VoIP A tecnologia de Voz sobre IP Amostras de voz são acumuladas em datagramas IP e enviadas pela Internet De 20 a 100 kbps são necessários para uma chamada de voz, dependendo de fatores que vão do codec utilizado ao tipo de enlace da rede Supressão da transmissão de intervalos de silêncio pode reduzir bastante a banda necessária
Introdução ao VoIP A tecnologia de Voz sobre IP Mic Phones A/D D/A Codificador Decodificador Buffer / Dejitter Pilha RTP/UDP/IP Rede IP
Introdução ao VoIP A tecnologia de Voz sobre IP Um telefone IP pode ser desde um software rodando em um computador até um hardware dedicado Pacotes estarão sujeitos a filas, retardo, jitter, perdas etc Cada um destas problemas, ou a sua combinação pode comprometer a qualidade da ligação Rede Local 1 Internet Rede Local 2
Introdução ao VoIP Cenários de Voz sobre IP Internet
Introdução ao VoIP Cenários de Voz sobre IP RTFC Pública Gateway VoIP Internet
Introdução ao VoIP Cenários de Voz sobre IP PABX Institucional Gateway VoIP Internet
Introdução ao VoIP Cenários de Voz sobre IP Gateway VoIP 1 PABX Institucional 1 Internet RTFC Pública Gateway VoIP 2
Introdução ao VoIP Cenários de Voz sobre IP RTFC Pública Gateway VoIP 1 Internet RTFC Pública Gateway VoIP 2
Introdução ao VoIP Cenários de Voz sobre IP O último cenário utiliza a rede VoIP para completar uma ligação entre dois telefones tradicionais, ambos na rede pública de telefonia Tecnicamente possível de ser implementada Considerada ilegal no Brasil, pois por regulamentação da Anatel apenas as operadoras de telefonia podem completar uma ligação entre dois telefones da rede de telefonia pública Existe uma brecha legal caso a instituição possua seu próprio PABX, dado que, para a Anatel, os ramais internos não fazem parte da rede de telefonia pública
Introdução ao VoIP Vantagens para usuários de Voz sobre IP Mobilidade Telefone pode ser um software instalado em seu computador, podendo ser utilizado de qualquer lugar com conectividade Internet Flexibilidade Mudança pode ser imperceptível ao usuário comum Incorpora os serviços já existentes, possibilita a criação de novos integrado à Internet
Introdução ao VoIP Vantagens para usuários de Voz sobre IP Tendência tecnológica a médio prazo No Brasil é necessário a formação de recursos humanos Redução de custos Tarifas telefônicas de longa distância (DDD e DDI) tem caído, mas ainda são muito caras
Codec = codificador + decodificador Comprime um fluxo de informação, eliminando informações consideradas redundantes ou previsíveis Pode implementar estratégias avançadas como supressão de silêncio + geração de ruído de conforto A/D 01101101 11001100 00110110 11100110 CODEC 11100110 10101100
Codecs de áudio Coletam amostras durante um tempo chamado de tempo de quadro (t_quadro) Em geral com duração entre 10 a 30ms Para melhor compressão precisam analisar um conjunto de amostras (t_amostras) Codecs complexos requerem muito processamento, tendem a obter maior compressão, mas geram maiores atrasos. (t_processamento)
Atrasos inseridos pelo codec Na codificação (t_quadro * t_amostras) + t_processamento Na decodificação t_processamento A soma dos dois é chamada de atraso do codec
Alguns Codecs de Áudio G.711 Duas versões: µ-law (EUA, Japão), A-law (Europa) Comprime amostras PCM, gerando 64kbps Por questões históricas e de compatibilização com a rede de telefonia convencional, é implementado em praticamente todos equipamentos da rede VoIP
Alguns Codecs de Áudio G.729 Gera quadros com 2 ou 8 bytes a cada 10ms Tráfego total de 8kbps Conjugate Structure Algebraic Code-Excited Linear Prediction (CS-ACELP) Bastante utilizado
Alguns Codecs de Áudio G.723.1 Gera quadros com 24, 20 e 4 bytes a cada 30ms Quadro de 4 bytes ruído de conforto Quadro de 24 bytes tráfego total de 6,4 Kbps Multi-Pulse Maximum Likelihood Quantization (MP- MLQ) Quadro de 20 bytes tráfego total de 5,3 Kbps Algebraic Code-Excited Linear Prediction (ACELP)
Alguns Codecs de Áudio ILBC Internet Low Bit Rate Codec Qualidade semelhante ao G.729 com complexidade equivalente Tráfego de 13.33kbps (quadros a cada 30ms) ou 15.20kbps (quadros a cada 20ms) Iniciativa para implementação de um Codec de código aberto, isento de royalties - http://ilbcfreeware.org
Qualidade da voz Apesar de um pouco subjetiva existe uma métrica utilizada a décadas pelas redes de telefonia para medir a qualidade da voz em uma ligação telefônica chamada de Mean Opinion Score - MOS Provê uma indicação numérica da qualidade percebida pelo usuário por meio de um valor, que varia de 1 a 5 O MOS de um codec é dado pela média dos valores atribuídos, por um conjunto de usuários, à qualidade da voz percebida quando se escuta uma série de frases
Mean Opinion Score - MOS MOS Qualidade Perca percebida 5 Excelente Imperceptível 4 Boa Perceptível mas não irritante 3 Média Pouco irritante 2 Ruim Irritante 1 Péssima Muito Irritante Curiosidade Frases padrões em inglês: - You will have to be very quiet. - There was nothing to be seen. - They worshipped wooden idols. - I want a minute with the inspector. - Did he need any money?
Outras medições da qualidade da voz Avaliações subjetivas Mean Opinion Score MOS Avaliações objetivas E-model (ITU-T G.107) Perceptual Speech Quality Measure (ITU-T P.861) Perceptual Evaluation of Speech Quality (ITU-T P.862)
Comparação de Codecs Codec Processamento Taxa MOS G.711 desprezível 64Kbps 4.1 G.729 alto 8Kbps 3.9 G.723.1 médio 5,3Kbps 3.9 ILBC alto 13,33Kbps 3.9
Transporte da voz fim-a-fim Saída do Codec é enviada usando a pilha RTP/UDP/IP Cabeçalho RTP = 12 bytes Cabeçalho UDP = 8 bytes Cabeçalho IP = 20 bytes Overhead é MUITO grande Situação com apenas um quadro de voz por datagrama: Eth 26 bytes IP 20 Bytes UDP 8 Bytes RTP 12 Bytes G.723 (dados) 24 Bytes Eth 4 Bytes
Protocolo RTP RTP e RTCP (RFC 3550) são usados para transporte e controle de mídias usadas por aplicações multimídia RTP = Real Time Protocol RTCP = Real Time Control Protocol RTP e RTCP não evitam nem corrigem atrasos, jitter, perdas etc, mas fornecem parâmetros suficientes para que uma aplicação possa compensar os seus efeitos
Protocolo RTP Principais funcionalidades Sincronismo entre origem e destino através de timestamps Sequenciamento de pacotes Identificação do tipo de mídia transportada Como os fluxos RTP normalmente transportam mídias de tempo real, é preferível o uso de UDP na camada de transporte
Protocolo RCTP Provê informações sobre Quantidade de bytes enviados Número de pacotes recebidos e esperados (permite estimar a perda) Jitter entre chegadas de pacotes Atraso total de ida e volta (RTT) Aplicações utilizam estas informações para ajustar dinamicamente seu funcionamento com base do estado da rede
Fatores impactantes da qualidade Perda de pacotes Insere falhas na conexão Em alguns codecs a perca de 2 pacotes seguidos já implica na diminuição da qualidade da voz Percas isoladas são bem melhores que em rajadas Ideal é < 1%, alguns codecs suportam < 2%
Fatores impactantes da qualidade Atrasos inseridos por (devem ser somados): Processo de codificação Buffers de compensação de jitter Filas em roteadores Propagação no meio físico O ITU-T G.114 especifica um atraso máximo de 150ms (em cada direção) para uma conversa interativa
Fatores impactantes da qualidade Variação de atraso (jitter) Variação máxima tolerável entre 20 e 50ms, dependendo do codec Impacto depende dos buffers de compensação Largura de Banda Baixo consumo, variando em função do codec Conclusão: mecanismos de QoS nas camadas 2 e 3 são essenciais, principalmente em links lentos
Consumo real de banda Para o enlace ethernet G.711 93kbps G.729 37kbps Por razões de segurança a mídia pode (deve) ser criptografada Necessário processamento e banda extras Insere novos atrasos
Protocolos de sinalização VoIP ITU-T H.323 Padronizado pela comunidade de telecomunicações Preocupação com interoperabilidade (com a rede de telefonia convencional), controle, tarifação etc IETF SIP (Session Initiation Protocol) Padronizado pela comunidade da Internet RFC 3261 Preocupação com flexibilidade e facilidade de integração com outros serviços da Internet Outros Skype, MGCP, IAX