Introdução ao VoIP Codecs Carlos Gustavo A. da Rocha Tecnologia para Integração de Serviços [email protected] 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 Tecnologia para Integração de Serviços [email protected] 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 Tecnologia para Integração de Serviços [email protected] 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 Tecnologia para Integração de Serviços [email protected] 01101101 ... Introdução ao VoIP ● Telefonia Tradicional ● Conversão analógica ↔ digital nas centrais 001101100 Tecnologia para Integração de Serviços [email protected] 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) Tecnologia para Integração de Serviços [email protected] 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 Tecnologia para Integração de Serviços [email protected] 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 Tecnologia para Integração de Serviços [email protected] Introdução ao VoIP ● A tecnologia de Voz sobre IP Mic Phones A/D Codificador D/A Decodificador Buffer / Dejitter Pilha RTP/UDP/IP Rede IP Tecnologia para Integração de Serviços [email protected] 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 Tecnologia para Integração de Serviços [email protected] Introdução ao VoIP ● Cenários de Voz sobre IP Internet Tecnologia para Integração de Serviços [email protected] Introdução ao VoIP ● Cenários de Voz sobre IP RTFC Pública Gateway VoIP Internet Tecnologia para Integração de Serviços [email protected] Introdução ao VoIP ● Cenários de Voz sobre IP PABX Institucional Gateway VoIP Internet Tecnologia para Integração de Serviços [email protected] Introdução ao VoIP ● Cenários de Voz sobre IP Gateway VoIP 1 Internet PABX Institucional 1 RTFC Pública Gateway VoIP 2 Tecnologia para Integração de Serviços [email protected] Introdução ao VoIP ● Cenários de Voz sobre IP RTFC Pública Gateway VoIP 1 Internet RTFC Pública Gateway VoIP 2 Tecnologia para Integração de Serviços [email protected] 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 Tecnologia para Integração de Serviços [email protected] 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 Tecnologia para Integração de Serviços [email protected] 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 Tecnologia para Integração de Serviços [email protected] Codecs ● 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 CODEC 00110110 11100110 Tecnologia para Integração de Serviços [email protected] 11100110 10101100 Codecs ● 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) Tecnologia para Integração de Serviços [email protected] Codecs ● Atrasos inseridos pelo codec ● Na codificação – ● Na decodificação – ● (t_quadro * t_amostras) + t_processamento t_processamento A soma dos dois é chamada de atraso do codec Tecnologia para Integração de Serviços [email protected] Codecs ● 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 Tecnologia para Integração de Serviços [email protected] Codecs ● 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 Tecnologia para Integração de Serviços [email protected] Codecs ● 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 (MPMLQ) Quadro de 20 bytes → tráfego total de 5,3 Kbps ● Algebraic Code-Excited Linear Prediction (ACELP) Tecnologia para Integração de Serviços [email protected] Codecs ● 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 Tecnologia para Integração de Serviços [email protected] Codecs ● 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 Tecnologia para Integração de Serviços [email protected] Codecs ● “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? Tecnologia para Integração de Serviços [email protected] Codecs ● 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) Tecnologia para Integração de Serviços [email protected] Codecs ● 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 Tecnologia para Integração de Serviços [email protected] Codecs ● 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 RTP 8 Bytes 12 Bytes Tecnologia para Integração de Serviços [email protected] G.723 (dados) 24 Bytes Eth 4 Bytes Codecs ● 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 Tecnologia para Integração de Serviços [email protected] Codecs ● 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 Tecnologia para Integração de Serviços [email protected] Codecs ● 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 Tecnologia para Integração de Serviços [email protected] Codecs ● 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% Tecnologia para Integração de Serviços [email protected] Codecs ● 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 Tecnologia para Integração de Serviços [email protected] Codecs ● 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 Tecnologia para Integração de Serviços [email protected] Codecs ● 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 Tecnologia para Integração de Serviços [email protected] Codecs ● Protocolos de sinalização VoIP ● ITU-T → H.323 – – ● IETF → SIP (Session Initiation Protocol) – – ● Padronizado pela comunidade de telecomunicações Preocupação com interoperabilidade (com a rede de telefonia convencional), controle, tarifação etc 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 Tecnologia para Integração de Serviços [email protected]