Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Telefonia IP 1. Introdução A Comunicação de Voz em Redes IP, Voice Over Internet - VoIP, consiste no uso das redes de dados que utilizam o conjunto de protocolos das redes IP (TCP – Transmission Control Protocol / UDP – User Datagram Protocol / SCTP – Stream Control Transmission Protocol /IP – Internet Protocol) para a transmissão de sinais de voz e multimídia, em tempo real, na forma de pacotes de dados. 2. Modelo de 5 Camadas da Internet Na figura observa-se a comparação entre o modelo OSI / ISO e o modelo de cinco camadas Internet com alguns dos protocolos utilizados. Observe que a camada mais inferior do modelo Internet não é especificada neste modelo. Figura 1: Modelo Internet versus Modelo OSI/ISO 3. Camada de Aplicação A camada de aplicação contém os protocolos de comunicação e os métodos de interface utilizados nas comunicações processo – a – processo em redes de computadores que utilizam protocolos da Internet. É dependente da camada de transporte para o estabelecimento dos canais de transferência de dados host – a – host e o gerenciamento da troca de dados em redes do tipo cliente – servidor ou peer – to – peer. Alguns dos protocolos comumente utilizados na camada de Aplicação são: HTTP: HTTPS: IRCP: Telnet: para o loggin remoto de hosts; FTP / TFTP: para transferência de arquivos; SMTP: transporte de correio eletrônico; DNS: suporte à utilização da rede; BOOTP: inicialização de host; SNMP / CMOT: gerenciamento remoto de host; RIP: RTP: RTSP: SMTP: SSH: SIP: H.323: Outros: Ping, Bitcoin, BitTorrent. 4. Camada de Transporte A camada de Transporte fornece os serviços de comunicações fim – a fim ou host – a host, para aplicações dentro de uma estrutura de rede de componentes e protocolos hierarquizada. Fornece serviços tais como: suporte a fluxo de dados orientados a conexão, confiabilidade, controle de fluxo e multiplexação. Alguns dos protocolos utilizados na camada de Transporte são: TCP: para serviço confiável; UDP: para serviço de melhor esforço (best effort service); SCTP: serviço confiável; RDP; RUDP; DCCP: serviço confiável; FCP; MPTCP. A tabela a seguir apresenta a comparação entre alguns destes protocolos. 2 Tabela 1: Protocolos da Camada de Tansporte Parâmetro UDP TCP SCTP DCCP RUDP Tamanho do cabeçalho 8bytes 20 a 60 bytes 12 bytes 12 ou 16 bytes >6 bytes Entidade datagrama segmento datagrama datagrama datagrama Orientado à conexão N S S S S Transporte confiável N S S N S Entrega em ordem N S S N S Data checksum opcional S S S opcional Path MTU N S S N - Flow control N S S N S Congestion control N S S S - Multiple streams N N S N N Camadas Internet Montagem do pacote Pacote TCP 3 Pacote UDP Pacote RTP Pacote SCTP Pacote IPV4 Pacote IPV6 5. Telefonia sobre o Protocolo IP A Telefonia IP suporta chamadas de telefones convencionais para computadores e vice-versa (dependendo da disponibilidade da operadora de telefonia IP), sendo um passo significativo para interconexão de redes de voz e dados. Uma ligação é direcionada através da RPTC ao Gateway mais próximo, convertendo o sinal analógico para pacotes IP, que serão encaminhados através da Internet ao Gateway de destino. Nas redes IP os pacotes de dados com informação de voz são enviados de forma independente, procurando o melhor caminho para chegar ao seu destino, de forma a usar com maior eficiência os recursos da rede. Os pacotes de dados associados a uma única origem de comunicação de voz podem, portanto, seguir caminhos diferentes até o seu destino, ocasionando atrasos, alteração de sequência e mesmo perda desses pacotes. A figura a seguir apresenta a topologia de ligação entre telefone analógico – PC TM) – Internet. 4 Figura 1: Topologia PC-Telefone-Internet Na figura anterior os elementos envolvidos são: Telefone: equipamento analógico ligado à RPTC; RPTC: Rede Pública de Telefonia Comutada; TM: terminais. Computadores com software de emulação de telefone IP; Gateway: dispositivo tradutor de rede de dados para rede analógica e vice - versa; Roteador: dispositivo utilizado para determinar e estabelecer rotas para o transporte de dados; Rede Unicast: ligações ponto a ponto; Rede Multicast: rede para conferência entre múltiplos usuários; MCU – Multi Control Unit: utilizado para estabelecer e gerenciar conferências. A tecnologia desenvolvida para a comunicação VoIP, implementada através dos novos protocolos, assegura a reordenação dos pacotes de dados e a reconstituição do sinal original, compensando o eco decorrente do atraso fim-a-fim dos pacotes de dados, o jitter e a perda de pacotes. Estes novos protocolos funcionam como aplicações específicas sobre o protocolo IP para prover comunicação em tempo real e sinalização de chamadas para as aplicações de Voz. Esses protocolos são executados por máquinas existentes nas redes IP (roteadores, switches) e por novos elementos que complementam a arquitetura dos sistemas de Telefonia IP. A estrutura básica de uma solução em telefonia IP começa pela Rede IP, que é uma rede de dados que utiliza os protocolos TCP/IP, tendo como função básica transportar e rotear os pacotes de dados entre os diversos elementos conectados à rede. O terminal telefônico IP é o telefone preparado para a comunicação de Voz em redes IP. Tem todas as funcionalidades e protocolos necessários instalados para suportar comunicação bidirecional de Voz em tempo real e a sinalização de chamadas entre outro terminal telefônico IP, gateway e MCU - Multipoint Control Unit, sendo este o responsável pela conferência, terminal multimídia, Call Centers e videoconferência. Os clientes VoIP conectam-se a servidores e podem ser divididos em dois tipos: telefones IP e computadores com software ou soft-fone. Um soft-fone é na verdade um software instalado em um computador. A figura a seguir mostra um telefone IP Cisco. No equipamento mostrado um switch interno possibilita conexão com um conector RJ-45 direto à uma rede LAN. Os codecs de voz são G.711 lei µ e G.729a. O endereço IP pode ser configurado de forma estática ou via protocolo DHCP – Dynamic Host Control Protocol. Figura 2: Telefone IP modelo 7941G A figura a seguir apresenta uma micro central IP integrado a um terminal DECT, de um fornecedor nacional. 5 Figura 3: Micro central IP e terminal DECT integrado É compatível com os protocolos G.711 (PCMU e PCMA), G.729, G.726-32, G.723, G.722 e iLBC. Um telefone IP apresenta as seguintes características: Fornece serviços de áudio; Deve ser configurável; Deve ser configurado em uma conta: número, usuário e senha; Opera na arquitetura cliente servidor. Como elemento de interconexão com a Rede de Telefonia Fixa Comutada e PABX, o Gateway executa a conversão de mídia em tempo real (Voz analógica x Voz digital comprimida) e a conversão de sinalização para as chamadas telefônicas. O controle efetivo das chamadas em andamento é executado pelo Gateway Controller. Gatekeeper é o equipamento responsável pelo gerenciamento de um conjunto de equipamentosdedicados a telefonia IP, quais sejam: Telefone IP, Terminal Multimídia, Gateway, Gateway Controler e Multipoint Control Unit. Suas principais funções são: executar a tradução de endereçamento dos diversos equipamentos convertendo os "apelidos" dos terminais em endereços IP, controlar o acesso dos equipamentos à rede dentro de sua Zona, e controlar a banda utilizada limitando-a para uma fração do total disponível. Outras funcionalidades opcionais podem ser adicionadas, dentre elas: autorização de chamadas; localização de Gateway; gerenciamento de banda; serviços de agenda telefônica (lista) e habilidade de rotear chamadas tendo um controle mais efetivo. Provedores de serviço precisam deste controle para faturar chamadas registradas pela sua rede. Este serviço também pode ser usado para redirecionar uma chamada caso a estação de destino esteja indisponível. Além disso, o Gatekeeper é capaz de ajudar nas decisões que envolvam balanceamento de Gateways múltiplos, roteando- os. O conjunto de terminais, Gateways e Multipoint Control Units gerenciados por um único Gatekeeper é denominado Zona. 6. Conectando um roteador a uma linha telefônica Conforme a voz trafega da LAN para o PBX ou para a RPTC é necessária uma “tradução”, para converter os sinais indo e vindo destes ambientes. A voz nas redes LAN VoIP trafega na forma de pacotes, enquanto que no PBX ou RPTC deve ser uma forma de onda analógica ou sinais digitais. Um gateway tipicamente apresenta pelo menos uma interface que se conecta com a LAN (por exemplo, uma interface Ethernet ou Fast Ethernet) e pelo menos uma interface que se conecta ao ambiente PBX / RPTC. Estas interfaces podem ser analógicas ou digitais. Como exemplo de interfaces digitais tem-se: E1, Basic Interface Rate – BRI (128 kbps, 2B + D = 2×64kbps + 16kbps), Primary Interface Rate – PRI (64 kbps), ambas da ISDN. Como exemplo de interfaces analógicas tem-se: FXS – Foreign eXchange Subscriber, FXO – Foreign eXchange Office e E&M (4 ou 6 fios). As portas FXS e FXO são então utilizadas por linhas de telefonia analógica e estão sempre em pares, de modo semelhante a um plug macho / fêmea. 6 FXS: é a interface que fornece a linha analógica ao assinante. Em outras palavras, é o “plug na parede” que fornece o tom de discagem, corrente de energia e som. Uma porta FXS se conecta a uma estação, como um telefone analógico ou Fax. Uma porta FXS pode fornecer – 48 VDC para alimentar um equipamento. A tensão de campainha pode ser enviada de uma porta FXS para um dispositivo e a porta FXS pode ainda reconhecer dígitos discados pelo dispositivo à ela conectado. FXO: é a interface que recebe a linha analógica. Uma porta FXO conecta-se a uma “central”, que pode ser um PBX ou um switch na Estação Local. É o plug no telefone ou aparelho de fax, ou o(s) plug(s) no seu sistema de telefonia analógica. Indica se o telefone está no gancho/fora do gancho (circuito fechado). Como a porta FXO está ligada a um dispositivo, tal como fax ou telefone, esse dispositivo é normalmente chamado de “dispositivo FXO”. Pode-se conectar uma porta FXO de um roteador ao conector RJ-11 na parede, e daí para a companhia telefônica, ou então, conectar a porta FXO no lado estação de um PBX, e daí, para a central telefônica. Pode-se então dizer que uma porta FXO comporta-se como um telefone: pode realizar chamadas, discar dígitos (DTMF ou pulsada). Sem um PBX, um telefone fica conectado diretamente à porta FXS fornecida por uma companhia telefônica, conforme mostrado na figura a seguir. Figura 4: FXS / FXO sem PBX Se você tiver um PBX, as linhas fornecidas pela companhia telefônica estarão conectadas a um PBX, assim como os telefones. Portanto, o PBX deve ter tanto as portas FXO (para conectar com as portas FXS fornecidas pelas companhias telefônicas) quanto portas FXS (para conectar os aparelhos de telefone e fax). Figura 5: FXS / FXO com PBX Você vai se deparar com os termos FXS e FXO quando decidir comprar equipamentos que permitam a conexão de linhas analógicas ao sistema de telefonia VoIP, telefones analógicos ao sistema de telefonia VoIP ou PBXs tradicionais ao provedor de serviços VoIP, ou um ao outro via Internet. Para conectar linhas telefônicas analógicas a um IP-PBX, você precisa de um gateway FXO. Isso permite que você conecte a porta FXS à porta do gateway, o que transforma uma linha telefônica analógica em uma ligação VoIP. Figura 6: O gateway FXS O gateway FXS é usado para conectar uma ou mais linhas de um PBX convencional a um sistema de telefonia VoIP ou a um provedor. É preciso um gateway FXS para conectar as portas FXO (que normalmente estão conectadas à companhia telefônica) à Internet ou a um sistema VoIP. Figura 7: Adaptador FXS aka adaptador ATA O adaptador FXS é usado para conectar o telefone ou fax analógico a um sistema de telefonia VoIP ou a um provedor 7 VoIP. É necessário porque é preciso conectar a porta FXO do telefone ou aparelho de fax ao adaptador. Figura 8: Conexão A sequência de funcionamento das portas FXS / FXO ao realizar uma chamada segue os seguintes passos: Tire o telefone do gancho (dispositivo FXO). A porta FXS detecta que o telefone está fora do gancho. Digite um número de telefone, que é transmitido à porta FXS em Tom Duplo de Multifrequência (Dual Tone Multiple Frequency - DTMF). Ligação interna: A porta FXS recebe a ligação, e então envia um impulso tônico (som) ao dispositivo FXO anexado. O telefone toca. Assim que alguém atende, pode responder a chamada. Para finalizar uma ligação normalmente a porta FXS conta com qualquer dispositivo FXO conectado. Observação: A linha de telefonia analógica transmite uma tensão de 48 volts DC à porta FXS. É por isso que alguns sentem um leve choque ao tocar numa linha telefônica conectada. Isso permite que a ligação continue em caso de interrupção de energia. Um roteador Cisco é configurado utilizando-se o Cisco Internetworking Operating System – IOS. Com o IOS pode-se configurar as características de uma porta FXS, incluindo-se os seguintes parâmetros: Tipo de sinal (SignalType): o default é loop start signaling. Para algumas aplicações como a conexão em um tronco PBX em uma porta FXS, é preferível ground start signaling. Tons de chamada em andamento (Call Progress Tones): o tom de chamada de retorno e o sinal de ocupado são exemplos de tons de chamada em andamento. No entanto, podem variar entre os países. Podemos então adaptá-los para operar entre países diferentes. Padrão de tons (Ringing Pattern): análogo ao item anterior para tom ou sinalização de chamada. Informação do assinante chamador (Caller ID information): em uma porta FXS podemos configurar a informação do assinante chamador para que o roteador a transmita pela rede VoIP até o telefone de destino. Utilizando-se um roteador Cisco podemos configurar as seguintes características de uma porta FXO: Tipo de sinal (Signal Type): o default é loop start signaling. Número de toques (Ring number): é o número de chamadas (ring) recebidas pela porta FXO antes que a porta responda a chamada. Uma porta FXO fornece o tom de discar quando responde uma (por default) ou mais chamadas (escolhida pelo comando número de toques), possibilitando ao chamador chamar outro número conhecido peloroteador. Tipo de discagem (Dial type): pode-se escolher entre DTMF e pulsada. 7. Digitalização e Otimização dos Sinais de Voz (QoS) Os CODEC’s VoIP estabelecem como o tráfego de voz é codificado na rede, acarretando em uma determinada qualidade do som e uma respectiva ocupação de banda. Nos sistemas de transmissão de Voz sobre IP, onde a demanda por banda é crítica, torna-se necessário utilizar também algoritmos de compressão do sinal de Voz. Esses algoritmos têm papel relevante pela economia de banda que proporcionam. 8 O seu uso tem sido possível graças ao desenvolvimento dos processadores de sinais digitais (Digital Signal Processing - DSP), cuja capacidade de processamento tem crescido vertiginosamente. Estas necessidades incentivaram o desenvolvimento de tecnologias mais complexas para a digitalização e compressão de Voz, e que foram registradas através de recomendações do ITU-T. Para que se tenha uma boa qualidade da voz faz-se necessário mecanismos para o controle dessa qualidade. Os principais problemas são: Atraso fim-a-fim Variação do atraso Perdas e erros em pacotes As redes de VoIP usam cinco pilares básicos para conservar a largura de banda e melhorar a prioridade, que são: Prioritization: os pacotes de dados são divididos em segmentos pequenos, permitindo que os pacotes de voz de uma prioridade mais elevada sejam emitidos primeiro. Em cada gateway, a fila da voz é verificada, e o tráfego da Internet é emitido somente quando a fila da voz está vazia. O protocolo que foi usado inicialmente para reservar recursos da rede foi o Resource Reservation Protocol – RSVP, protocolo de reserva de recurso. O RSVP requer uma aplicação para pedir uma reserva para recursos da rede, e pode negar a admissão se os recursos forem insuficientes. Jitter: são as irregularidades de intervalos de tempos entre a chegada da voz, ou seja, é a variação no intervalo entre as chegadas de pacotes introduzidos pelo comportamento aleatório na rede. Para evitar os efeitos do jitter, o equipamento deve reter os pacotes que chegam por um tempo especificado, dando tempo subsequente dos pacotes chegarem e caber ainda em uma compressão natural da voz. Um método para controlar esse problema é adicionar um buffer na recepção que acrescenta um atraso determinado, de tal forma que o atraso total experimentado pelo pacote, incluindo o atraso extra gerado pelo buffer seja igual ao máximo atraso possível na rede. Voice Compression: a utilização de CODEC’s para a compressão da Voz permite que a rede seja utilizada mais eficazmente. A compressão reduz a qualidade da voz na recepção. Silence Compression: em uma conversação por telefone, somente aproximadamente 50% das conexões são usadas em todo o tempo. Os pacotes da voz não são emitidos durante pausas de conversação. A banda é usada para outra voz ou para transmissão de dados. Na aplicação de técnicas de detecção e supressão de silêncio nas transmissões de VoIP o objetivo não é conseguir aumentar a banda de transmissão ou romper os seus limites, mas sim, fazer com que se aproveite melhor o espaço existente na mesma. Echo Cancellation: melhorar a qualidade da transmissão de voz para eliminar o eco que resulta na reflexão de sinal da telefonia atrás de quem está fazendo a chamada. Um cancelador de eco é um componente de um gateway de voz que reduz o nível de eco retornado através do caminho do receptor (vindo do gateway de fora para o circuito) para o caminho do transmissor (vindo do circuito para o Gateway ). Os principais mecanismos que fazem o controle da qualidade da voz são: FEC (Forward Error Correction): trabalham adicionando dados extras ao fluxo original para que o receptor possa recuperar dados perdidos na transmissão. 9 Figura 9: Mecanismo de funcionamento do FEC. Bufferização: Procura eliminar o efeito causado pelo jitter na transmissão. Intercalação (Interleaving): Redução do efeito de perdas. Nessa técnica, as unidades de mídia são ressequencializadas antes de serem transmitidas, separando-se em unidades adjacentes para garantir que estarão distantes dentro do fluxo de pacotes, dispersando o efeito da perda. Essa técnica é utilizada quando o tamanho da unidade da mídia é menor do que o pacote de dados. Retransmissão de pacotes: A retransmissão dos pacotes é utilizada somente quando há uma rede com disponibilidade elevada. Ressequenciamento: Procura evitar que segmentos contíguos de voz sejam perdidos devido ao congestionamento da rede. Inserção: Preenchimento do tempo quando os pacotes são perdidos (com ruídos gaussianos ou com "silêncio"). Interpolação: Desempenho superior aos anteriores, porém, requer mais processamento pelo fato de basear-se no uso da similaridade de padrão entre pacotes e interpolação de unidades de dados, para obter um pacote semelhante ao perdido. Regeneração: São técnicas dependentes de Codecs, valendo-se de conhecer o algoritmo de compressão da voz para derivar parâmetros de Codec, sintetizando o áudio de um pacote perdido. 8. Codificadores A codificação da voz é feita a partir de equipamentos denominados CODEC (coder/decoder), este equipamento além de converter sons analógicos em digitais e vice-versa, também efetua compressão e descompressão do sinal digital. Os codificadores classificam-se em codificadores de forma de onda, de fonte ou paramétricos e híbridos, descritos em seguida. Codificadores de forma de onda: codifica o sinal considerando apenas a sua forma de onda, desprezando qualquer outra característica. Possuem uma qualidade muito boa, mas uma taxa de transmissão muito alta. O G.711 é um exemplo. Codificadores de fonte ou paramétricos: codifica o sinal considerando apenas a fonte como este foi gerado. No caso da voz, a fonte é o próprio trato vocal da pessoa que fala. Possuem uma qualidade muito ruim, mas uma taxa de transmissão muito baixa. Codificadores Híbridos: alternam as duas propriedades anteriores. O G.729 é um exemplo. A tabela a seguir apresenta os principais codificadores decodificadores utilizado em VoIP. Tabela 1: Principais Codecs utilizados em VoIP Recomendação ITU-T Algoritmo Bit rate (kbit/s) Atraso típico fim-a-fim (ms) Qualidade de Voz G.711 PCM 48; 56; 64 <<1 Excelente G.722 Sub-banda ADPCM 48; 56; 64 <<2 Boa G.723.1 ACELP MP-MLQ 5,3; 6,3 67-97 Razoável\Boa G.726 ADPCM 16; 24; 32; 40 60 Boa (40), Razoável (24) G.727 AEDPCM 16; 24; 32; 40 60 Boa (40), Razoável (24) G.728 LD-CELP 16 <<2 Boa G.729 CS-ACELP 8 25-35 Boa 10 9. Real-Time Transport Protocol (RTP) O protocolo RTP, é o principal protocolo utilizado pelos terminais, em conjunto com o RTCP, para o transporte fim-a- fim em tempo real de pacotes de mídia (Voz) através de redes de pacotes. Foi desenvolvido para gerenciar a transmissão de tráfego em tempo real na Internet. O RTP não suporta mecanismos de entrega (multicast, número de portas). É utilizado em conjunto com o UDP, situando-se entre o UDP e o programa aplicativo. As principais contribuições do RTP são: Recursos de time stamp Sequenciamento Mixagem O “número de sequência” é enviado no pacote RTP em um campo de 16 bits de comprimento e é utilizado para numerar os pacotes RTP. O número de sequência do primeiro pacote é escolhido aleatoriamente; posteriormenteé incrementado em 1 para cada pacote transmitido. O número de sequência é utilizado pelo receptor para detectar pacotes perdidos ou fora de ordem. O “timestamp” é enviado em um campo de 32 bits no pacote RTP e indica a relação de tempo entre pacotes produzidos. O timestamp para o primeiro pacote pode ser um número aleatório. Para cada pacote seguinte, o valor do timestamp é a soma do timestamp precedente mais o tempo do primeiro byte produzido (amostrado). O valor da cadência do clock depende da aplicação. Por exemplo, aplicações de áudio normalmente geram grandes blocos de 160 bytes: a cadência do clock para esta aplicação é 160. O timestamp para esta aplicação é incrementado de 160 para cada pacote RTP. Um campo de 4 bits no pacote RTP, o “contributor count”, indica o número de participantes em uma teleconferência. Observe que o número máximo possível de participantes é portanto 15. Cada fonte, no máximo 15, deve ter uma identificação exclusiva de 32 bits. Isto é obtido pelo campo de 32 bits “contributor identifier”. Quando existir mais de uma fonte em uma sessão, o mixer irá assumir a posição de fonte de sincronismo e as demais serão consideradas participantes. O RTP não reserva recursos de rede e nem garante qualidade de serviço para tempo real. O transporte dos dados é incrementado através do RTCP (protocolo de controle) que monitora a entrega dos dados e provê funções mínimas de controle e identificação. No caso das redes IP este protocolo faz uso dos pacotes UDP, que estabelecem comunicações sem conexão. Entretanto, diferentemente de outros programas aplicativos, não é atribuída nenhuma porta conhecida ao RTP. A porta é selecionada sob demanda com apenas uma restrição: seu número deve ser par. Ou seja, o RTP utiliza uma porta UDP temporária de número par. O número seguinte (um número ímpar) deve ser utilizado pelo protocolo RTCP. Os cenários de aplicação do RTP são: Audioconferência multicast: Técnica de entregar informações de um para vários usuários ou de vários para vários. Dispositivos como hubs, switches devem participar das trocas de informação. O desempenho do sistema inteiro depende do desempenho da rede. Videoconferência: Discussões em grupo ou de vários para vários como se estivessem no mesmo local. Os dados de áudio e vídeo são transportados separadamente em sessões RTP. A separação é necessária para permitir que cada participante da conferência receba apenas um tipo de mídia a sua escolha. Tradutores: O protocolo RTP suporta o uso de tradutores e mixers para modificar o pacote do fluxo RTP. Tradutores são usados para mudar o tipo de 11 payload (formato do arquivo). Se o usuário mantiver uma videoconferência em MPEG com 1,5Mbit/s e o outro participante está conectado a 1Mbit/s talvez essa largura de banda seja insuficiente para a transmissão em tempo real sendo necessária a troca do formato de vídeo para outro de tamanho menor (H.261, com 256kbit/s). Mixers: A função do mixer é ressincronizar pacotes de áudio para reconstruir sequências que foram enviadas, ou seja, converter várias rajadas de dados em uma só rajada e codificar os dados com um padrão mais apropriado a baixas velocidades. 10. Real-Time Transport Control Protocol (RTCP) O RTP permite a transmissão de apenas um tipo de mensagem, uma que transporta dados da origem ao destino. Em muitos casos, existe a necessidade de outros tipos de mensagens numa sessão, como, por exemplo, mensagens que controlam o fluxo e a qualidade dos dados e possibilitem ao receptor enviar feedback para a fonte ou fontes. O RTCP é um protocolo projetado para esta finalidade. O RTCP dispõe de cinco tipos de mensagens: Sender report Receiver report Source description message Bye message Application-specific message Uma mensagem Sender report é transmitida periodicamente pelos transmissores ativos numa sessão multimídia para reportar estatísticas de transmissão e recepção de pacotes RTP enviados durante um período. Um registro de timestamp incluso é particularmente importante quando áudio e vídeo são transmitidos juntos (transmissões de áudio e vídeo utilizam timestamps relativos distintos). Uma mensagem Receiver report informa ao emissor e receptores sobre a qualidade dos serviços de rede. Uma fonte envia periodicamente mensagens Source description para reportar informações adicionais sobre ela própria. Essas informações adicionais podem incluir o nome, endereço de e-mail, número de telefone e endereço do proprietário ou controlador da fonte. Uma fonte envia mensagens Bye para encerrar uma sessão multimídia. Uma mensagem Bye também é muito útil para o mixer. Uma mensagem APP – Application-Specific Message, é um pacote para uma aplicação que queira utilizar novas aplicações (não definidas no padrão). Permite a definição de um novo tipo de mensagem. O protocolo RTCP, do IETF, é baseado no envio periódico de pacotes de controle a todos os participantes da conexão (chamada), usando o mesmo mecanismo de distribuição dos pacotes de mídia (Voz). Desta forma, com um controle mínimo é feita a transmissão de dados em tempo real usando o suporte dos pacotes UDP (para Voz e controle) da rede IP. O protocolo RTCP, assim como o RTP, não utiliza uma porta UDP conhecida. Utiliza uma porta temporária, ímpar, de número imediatamente posterior ao da porta RTP selecionada pelo protocolo UDP. 11. Session Initiation Protocol (SIP) O protocolo SIP, estabelece o padrão de sinalização e controle para chamadas entre terminais que não utilizam o padrão H.323, e possui os seus próprios mecanismos de segurança e confiabilidade. Trata-se de um protocolo da camada de Aplicação, baseado em texto, assim como o HTTP. O objetivo do SIP é fornecer protocolo de sinalização e estabelecimento de chamada para comunicações baseadas em IP que podem fornecer um grande conjunto de funções de processamento de chamadas presentes na RPTC. O SIP foca no estabelecimento da chamada e na sinalização. Redes telefônicas SIP geralmente operam com a Sinalização por Canal Comum n o 7, SS7. 12 Estabelece recomendações para serviços adicionais tais como transferência e redirecionamento de chamadas, identificação de chamadas (chamado e chamador), autenticação de chamadas (chamado e chamador), conferência, entre outros. As aplicações SIP rodam em RTP. Parâmetros como port number, protocolos e Codecs são negociados pelo protocolo de descrição de sessão, SDP – Session Description Protocol, transportado no corpo do pacote SIP. Algumas características do SIP são: Estabelecimento, modificação e encerramento de chamadas e sessões multimídia além de poder convidar pessoas e máquinas como servidores de armazenamento. Utiliza endereçamento através de e-mail, podendo localizar o estilo definido pelo usuário. O proxy SIP (servidor SIP) pode ramificar o INVITE (convite) para múltiplos endereços, envolvendo múltiplos usuários. Desta forma há uma redução e economia no tempo de estabelecimento de uma chamada. No caso do SIP sobre o protocolo UDP, o esquema de transmissão é usado para otimizar a confiabilidade do protocolo. Suporta tanto uma sessão multicast quanto sessão unicast. Pode iniciar chamadas usando os recursos do MCU (Mutipoint Control Unit). Gateways de telefonia sobre internet que conectam RPTC e podem usar o SIP para estabelecer chamadas entre elas.Sua utilização é similar ao conjunto H.323, embora utilize como suporte para as suas mensagens os pacotes UDP da rede IP. A figura a seguir apresenta o funcionamento do protocolo SIP. Figura 10: Funcionamento do protocolo SIP O SIP utiliza o conceito de convidar participantes em sessões, e estas sessões podem ser anunciadas pelo Protocolo de Anunciação de Sessão – Session Announcement Protocol – SAP. Assim como o H.323, o SIP distribui a inteligência de originar chamadas pela rede. Tais dispositivos são denominados agentes do usuário – User Agents – UA’s. Existem dois tipos de UA’s: User Agent Clients – UAC: iniciam a conexão enviando uma mensagem INVITE; User Agent Servers – UAS: respondem às mensagens INVITE. UA’s incluem telefones IP. Quando o telefone IP origina uma chamada ele é um UAC. No entanto, quando um telefone IP recebe uma chamada, comporta-se como um UAS. A figura a seguir apresenta a arquitetura SIP. Figura 11: Arquitetura SIP Dentre os servidores SIP encontram-se: Proxy server: realiza o encaminhamento para uma UAC; 13 Registrar server: registra a localização dos atuais clientes; Redirect server: informa ao UA o próximo servidor a contatar; Location server: executa a resolução de endereço para o proxy SIP e redireciona. O SIP utiliza texto em claro para o envio de mensagens, o que auxilia na manutenção e correção de defeitos na rede por parte dos administradores. Os dois tipos de mensagens são: Request: é a mensagem do cliente para o servidor; Response: é a mensagem do servidor para o cliente. Uma request pode ser um INVITE, que requisita a participação em uma sessão, ou um BYE, que desconecta a presente chamada. Mensagens típicas do HTTP, como “404 error” ou “500 error” também são utilizadas em um ambiente SIP. A figura a seguir apresenta a mensagem Invite, dentro do protocolo SIP. Figura 12: Mensagem Invite no SIP A figura a seguir apesenta a resposta à mensagem Invite, no SIP. Figura 13: Resposta ao Invite A figura a seguir apresenta uma sessão SIP via servidor proxy. Figura 14: Sessão SIP via servidor proxy A figura a seguir apresenta um Request via servidor Redirect. Figura 15: Mensagem Request via servidor Redirect A figura a seguir apresenta uma sessão SIP via servidor Redirect. Figura 16: Sessão SIP via servidor Redirect Os endereços SIP incluem: username, password, hostname, endereço IP, número do telefone. 14 As portas utilizadas pelo SIP incluem 5060 para sinalização não encriptada e 5061 para tráfego encriptado com TLS – Transport Layer Security. O SIP sobre TCP tem uma vantagem significativa sobre o UDP em dispositivos móveis. Isto é devido ao uso do NAT, e como as entradas da tabela do NAT em um roteador sem fio ou no roteador da célula do provedor de serviço são geralmente atualizadas muito mais rápido em UDP do que em TCP. Considerando-se que é necessário manter-se a mesma entrada da tabela do NAT para confiavelmente obter-se a recepção de chamadas, o SIP deve periodicamente enviar atualizações para manter as entradas da tabela do NAT. A frequência necessária de tais atualizações é muito maior no UDP (provavelmente a cada 30 segundos) do que no TCP (talvez a cada 15 minutos), resultando assim, em um maior uso da bateria do dispositivo móvel, aumentando o consumo e reduzindo a autonomia. Assim, quando ocorre uma reclamação sobre o consumo de bateria em cliente VoIP, é provavelmente devido ao cliente estar utilizando UDP. Portanto, para dispositivos móveis o TCP é vantajoso em relação ao UDP. O SIP apresenta os melhores resultados quando a sinalização e o controle são TCP, mas o tráfego de dados de voz é UDP. 12. H.323 Packet Based Multimedia Communications Systems O padrão H.323 é um padrão desenvolvido pelo ITU para possibilitar que telefones da rede de telefonia pública convencional se comuniquem com computadores (denominados terminais H.323) conectados à Internet. É um conjunto de protocolos verticalizados para sinalização e controle da comunicação entre terminais que suportam aplicações de áudio (Voz), vídeo ou comunicação de dados multimídia. Os pacotes de dados H.323 acrescentam cabeçalho com marcação do tempo e informações de transmissão permitindo a reordenação dos pacotes e eliminação de pacotes duplicados, sincronização de áudio e vídeo, tornando possível uma comunicação contínua com atrasos aceitáveis. A figura a seguir apresenta os protocolos H.323 nos protocolos TCP e UDP. Áudio Controle e Sinalização Código de compressão RTCP H.225 Q.931 H.245 RTP UDP TCP IP Figura 17: Protocolos H.323 O protocolo H.323 utiliza os protocolos G.711 ou G.723.1 para compressão de dados. O protocolo H.245 permite que as partes negociem o método de compressão a ser utilizado. Realiza controle da chamada, incluindo a troca de capacidades do Gateway, como, por exemplo, quais os codec’s suportados nas terminações do sistema. O protocolo Q.931 é utilizado durante as fases de estabelecimento e encerramento de sessões. O protocolo H.225 estabelece a chamada e as funções de RAS – Registration/ Authentication / Status. Outros protocolos incluem: T.120: fornece suporte para comunicações multi ponto em tempo real. T.38: como retransmitir sinais de fax. H.235: segurança em sistemas H.323. A tabela a seguir apresenta a comparação entre os protocolos H.323 e SIP. Tabela 2: Comparação dos protocolos H.323 e SIP. 15 Assunto H.323 SIP Desenvolvedores ITU-T IETF Compatibilidade com RTPC Grande Maior Sinalização Sim Sim Formato mensagem Binário ASCII Transporte de mídia RTP/RTCP RTP/RTCP Conferências multimídia Sim Não Chamadas multiparticipante Sim Sim Endereçamento Máquina ou número do telefone URL Terminação da chamada Explicita ou por terminação TCP Explicita ou por timeout Criptografia Sim Sim Rede no mundo Disponível universalmente Em expansão 13. Media Gateway Control Protocol (MGCP) O protocolo MGCP, definido através de recomendação RFC 2705 do IETF, é usado para controlar as conexões (chamadas) nos GW's presentes nos sistemas VoIP. O MGCP implementa uma interface de controle usando um conjunto de transações do tipo comando - resposta que criam, controlam e auditam as conexões (chamadas) nos GW's. Estas mensagens usam como suporte os pacotes UDP da rede IP, e são trocadas entre os GC's e GW's para o estabelecimento, acompanhamento e finalização de chamadas. O MGCP tem como finalidade principal a simplificação do uso da tecnologia VoIP, eliminando a necessidade de terminais complexos para a Telefonia IP, reduzindo significativamente os custos. Sua transmissão pode ser feita através do RTP usando o UDP sobre uma rede TCP/IP, redes ATM além de conexões internas, ou seja, conexões que terminam em um gateway, mas são imediatamente roteadas sobre uma rede de telefones. 14. Media Gateway Control Protocol (MEGACO) O protocolo MEGACO é resultado de um esforço conjunto do IETF e do ITU-T. O texto da definição do protocolo e o mesmo para o Draft IETF e a recomendação H.248, e representa uma alternativa ao MGCP e outros protocolos similares. Este protocolo foiconcebido para ser utilizado para controlar GW's monolíticos (um único equipamento) ou distribuídos (vários equipamentos). Sua plataforma aplica-se a gateway (GW), controlador multiponto (MCU) e unidade interativa de resposta audível (IVR). Possui também interface de sinalização para diversos sistemas de telefonia, tanto fixa como móvel. Fornece controle centralizado de serviços e comunicação multimídia baseadas em redes IP. É um protocolo que está ganhando cada vez mais aceitação devido a sua maior capacidade de ajuste que a permitida pelo H.323 e enfoca os requisitos técnicos e os recursos de conferência multimídia omitidos pelo MGCP. Este protocolo define o meio de comunicação entre o Media Gateway, que converte dados do formato adequado para uma rede de circuito comutado, para o tipo de dados adequado à uma rede de comutação de pacotes, e para o controlador de mídia. O MGCP pode ser utilizado para estabelecer, manter e terminar chamadas entre pontos múltiplos. Megaco e H.248, referem-se à uma versão avançada do MGCP. O MGCP e o modelo Megaco / H.248 removem o controle da sinalização do gateway e o coloca no Media Gateway Controller, que pode então controlar múltiplos gateways. O MGCP foi criado a partir de dois outros protocolos, o Internet Protocol Device Control – IPDC, e o Simple Gateway Control Protocol – SGCP. Definido na RFC 2705, o MGCP especifica um protocolo na Camada de Aplicação, que utiliza 16 um modelo mestre – escravo, no qual o controlador do gateway de mídia é o mestre. O MGCP torna possível para o controlador determinar a localização de cada ponto terminal de comunicação (endpoint) e suas capacidades de mídia de modo que um grau de serviço pode ser escolhido que seja possível para todos os participantes. A última versão do Megaco / H.248 do MGCP suporta mais portas por gateway, bem como múltiplos gateways, e multiplexação no domínio do tempo (TDM) e comunicação por transferência assíncrona – ATM. Figura 18: Estrutura dos protocolos na rede. 15. Internet Os sistemas de telefonia IP tornam-se viáveis na medida em que alguma garantia de qualidade de serviço (QoS) possa ser obtida da rede IP onde eles são implementados. Quando essa rede é usada exclusivamente pelo provedor para fornecimento de serviços de dados e/ou VoIP, com gerenciamento e engenharia de rede adequada, o QoS pode ser ajustado para atender aos requisitos de todos os serviços ofertados, inclusive VoIP com qualidade. Há, entretanto, entre os provedores de serviços, e mesmo no mercado corporativo, a busca por soluções de menor custo para dados e Voz. E nessa busca a Internet, com as suas características de custo baixo e infra estrutura "pública", surge como alternativa a ser considerada. A questão principal que se coloca é o QoS da Internet. A arquitetura da Internet é composta por um número muito grande de redes de diversos provedores e outras entidades comerciais ou não, sem um responsável efetivo pelo controle da banda fornecida ou utilizada e sua consequente qualidade de serviço. Para aplicações de tempo real com mídias do tipo áudio (Voz) ou vídeo, não se pode garantir disponibilidade de banda e mesmo a disponibilidade da rede. 16. CODEC G.729 Para a transmissão de voz nos sistemas de telecomunicações atuais é necessário codificá-la usando um CODEC. Analisaremos em seguida o codec de áudio G.729, fazendo algumas comparações com outros codecs e expondo as suas aplicações na codificação de voz em aplicações VoIP e entre centrais de operadoras telefônicas. Mesmo com o avanço das telecomunicações ainda há uma limitação na taxa de transmissão em alguns tipos de aplicações. Um dos principais casos são as aplicações multimídia em tempo real, como áudio conferência, videoconferência e ligações telefônicas através da internet. Nessas aplicações a perda da qualidade da informação é tolerável, mas o atraso no envio dessas informações não. Nesse contexto a codificação da imagem ou som é muito importante, pois ela é que vai definir a taxa de transmissão necessária. Essa taxa também é chamada de bit rate. Abordaremos em a tecnologia utilizada no processo de digitalização da voz utilizando o codec G.729 e a sua relação entre qualidade de voz e banda necessária. Codec é um hardware ou um software que codifica e decodifica sinais. Essa palavra é uma combinação de codificador / decodificador. O codec implementa um algoritmo de compressão de sinais sendo responsável por transformar a um sinal analógico em uma sequência de bits. A codificação é 17 feita fazendo amostragens periódicas no sinal, no caso do codec G.729, sinais de voz. O sinal codificado é um sinal digital. O codec G.729 foi desenvolvido pela empresa Sipro e padronizado em 1996 por recomendação da ITU-T. Para utilização deste codec é necessário o pagamento de licença/royalties. Este codec era utilizado a princípio para codificar a voz em redes Frame Relay. 16.1 Funcionamento do CODEC Na digitalização da voz, o codec é responsável por fazer o tratamento das amostras PCM (modulação por código de pulso) para comprimi-las para a transmissão. Essa codificação geralmente é feita aplicando uma função matemática sobre o sinal amostrado. Existem basicamente três tipos de codificação: onda, fonte e híbrida. Codificação de onda Este tipo de codec mapeia o sinal original no domínio tempo usando os bits do sinal digital, que são representações do sinal já amostrado e quantizado. Geralmente esses tipos de codec geram bit rates elevados, mas contrapartida, obtém os melhores índices de qualidade de voz (MOS). Exemplos de codec deste tipo são PCM e ADPCM, como o G.711. Codificação de fonte A codificação é feita por análise de pequenos grupos de amostra PCM. Geralmente um frame dessa família tem entre 10 e 20 ms de duração, e contém entre 80 e 160 amostras PCM. Estes tipos de codec têm um bit rate muito pequeno, da ordem de 1 a 3 kbps e baixa qualidade de voz (MOS). São usados em situações onde a qualidade na voz não é importante, somente a inteligibilidade é necessária. Geralmente é utilizado em aplicações militares. Codificação híbrida A codificação hibrida é usada combinando aspectos da codificação de onda e de fonte. Os codec deste tipo utilizam um modelo de predição não linear. Um exemplo de codec de codificação hibrida é o G.729. 16.2 Especificações do codec G.729 O codec G.729 requer um filtro de entrada para o sinal analógico conforme recomendação G.712 do ITU-T. A uma taxa de 8000 amostras por segundo os sinais de áudio são codificados em quadros de 10 ms cada, com um atraso de 15 ms, com um bit rate de 8 kbps. O codec G.729 utiliza o algoritmo de codificação CS-ACELP. O algoritmo CS-ACELP (predição linear por excitação com código algébrico) é baseado num modelo de predição linear. Esse modelo considera o sinal de voz como um sinal quase- estacionário, considerando-se um espaço de tempo de 10 ou 20 ms no processo de amostragem. O sinal de entrada é comparado com um dicionário. Existem dois dicionários, um de conteúdo fixo e outro de conteúdo adaptativo. A busca por melhor excitação segue o modelo de análise por síntese, em que pequenos trechos do sinal são sintetizados e comparados com um sinal alvo. O codec G.729 trabalha com amostras de 10 ms do sinal. Isso gera 80 amostras do sinal por segundo. Esse modelo obtém os parâmetros decada amostra e 5 ms depois são obtidos os ganhos e os índices dos dicionários que vão alterar a amostra. O ganho e o índice são enviados ao codificador que está com a amostra. No estudo da transmissão de voz há uma medida denominada Mean Opinion Score (MOS). Essa medida de qualidade de voz é feita de forma subjetiva, pois pessoas julgam a qualidade da transmissão da voz ao conversarem ou ao ouvirem amostras de voz. Após estes testes, os sujeitos irão qualificar a qualidade da voz de acordo com a seguinte escala: 5 Excelente, 4 Bom, 3 Razoável, 2 Pobre, 1 Mau. Na avaliação MOS o codec G.729 CS-ACELP chega a 3,92. 18 16.3 Variações do codec G.729 O codec G.729 tem 4 variações da versão padrão: G.729A: Compatível e muito similar com a versão padrão do G.729, tem bit rate de 8 kbps e usa o algoritmo CS-ACELP. Na versão G.729A foi modificado a forma de codificar os sinais. Isso tornou o processamento do sinal mais leve e diminuiu o atraso referente à codificação. G.729B: Compatível e muito similar com a versão padrão do G.729, tem bit rate de 8 kbps e usa o algoritmo CS-ACELP. Nessa versão foi adicionado o VAD (Voice Activity Detection). Nessa versão o algoritmo detecta quando há silencio na conversação. Então na codificação é adicionado um ruído de conforto. Ele é adicionado para que durante o silêncio da conversação os usuários não pensem que a ligação caiu. G.729D: Possui um bit rate de 6,4 kbps. Mas acompanhando a queda do bit rate, a qualidade da voz também diminui. G.729E: Teve um aumento no bit rate para 11,8 kbps, no número de instruções por segundo (MIPS) que foi para 25 e na qualidade da voz. 16.4 Comparação com outros CODECs Apresentaremos a seguir uma comparação entre o CODEC G.729 e o ILBC e o G.711 (PCM/redes plessiócronas) G.729 e ILBC O codec G.729 tem um bit rate menor que o gerado pela utilização do codec ILBC que é de 13,3kbps a 15,2kbps. Esse bit rate varia conforme a duração dos quadros (20 ms e 30 ms respectivamente). A avaliação MOS do ILBC é de 3,8 para bit rate de 13,3kbps ou 3,9 para 15,2kbps. Verificando essas informações o uso do codec G.729 mostrasse mais interessante. Mas o padrão G.729 necessita de quase 22 MIPS (Milhões de operações por minuto) para codificar. Enquanto o ILBC é mais econômico no processamento necessitando somente 8 MIPS. Para utilizar-se o G.729 é necessária uma licença de uso. Nesse quesito o ILBC é mais vantajoso pois é um codec aberto. G.729 e G.711 O codec G.711 na avaliação MOS chegou a 4,1 sendo superior ao G.729 que chegou até 3,92. O codec G.711 gera um bit rate de 64 kbps. O que para algumas aplicações torna ele sem utilidade em aplicações VoIP. Nesse quesito o codec G.729 tem imensa vantagem sobre o G.711. Mas uma vantagem do G.711 é que ele gera somente 0,7 MIPS no processador. 16.5 Aplicações O codec G.729 foi feito a princípio para utilização em redes de comutação por circuito como ISDN ou Frame Relay. No início era usado para codificação do áudio entre as centrais das operadoras de telefonia. Atualmente, o G.729 é o codec mais utilizado em aplicações VoIP, sendo encontrado em equipamentos e aplicativos VoIP, videoconferência e teleconferência, mensagem unificada, telefonia de Internet, e outros aplicativos onde a qualidade de serviço, atraso e largura de banda são importantes. 17. Voice CODEC Bandwidth Veremos em seguida o cálculo da largura de banda para VoIP e alguns parâmetros de cálculo. Um dos mais importantes fatores a se considerar no projeto de uma rede de pacotes de voz é o adequado planejamento da capacidade. A largura de banda é o fator mais crítico a ser considerado no projeto e manutenção das redes de pacotes de voz, para obter-se uma boa qualidade do serviço. Uma ferramenta disponível na Internet, apenas para usuários registrados, é o TAC – Voice Bandwidth Codec Calculator. Esta 19 ferramenta permite o cálculo da largura de banda necessário para a transmissão de pacotes de voz. Para o cálculo da largura de banda consideram-se as seguintes suposições: 40 bytes para cabeçalho IP (20 bytes) / User Datagram Protocol (UDP) (8 bytes) / Real-Time Transport Protocol (RTP) (12 bytes). O Compressed Real-Time Protocol (cRTP) reduz o cabeçalho do IP/UDP/RTP para 2 a 4 bytes (cRTP não está disponível na Ethernet). 6 bytes para o cabeçalho do Multilink Point-to-Point Protocol (MP) ou para o cabeçalho do Frame Relay Forum (FRF).12 Layer 2 (L2). 1 byte para a flag end-of-frame nos quadros MP and Frame Relay. 18 bytes para os cabeçalhos Ethernet L2, que incluem 4 bytes do Frame Check Sequence (FCS) ou do Cyclic Redundancy Check (CRC). A tabela a seguir contém os cálculos para os tamanhos de payload de voz default no Cisco CallManager ou Cisco IOS ® Software H.323 gateways. Para cálculos adicionais, o que inclui tamanhos diversos de payload de voz e outros protocolos, tais como Voice over Frame Relay - VoFR) e Voice over ATM - VoATM), utilizar a ferramenta TAC Voice Bandwidth Codec Calculator (apenas usuários registrados). Tabela 3: Cálculo da largura de banda Codec Information Bandwidth Calculations Codec & Bit Rate (kbps) Codec Sample Size (bytes) Codec Sample Interval (ms) Mean Opinion Score (MOS) Voice Payload Size (bytes) Voice Payload Size (ms) Packets Per Second (PPS) Bandwidth MP or FRF.12 (kbps) Bandwidth w/cRTP MP or FRF.12 (kbps) Bandwidth Ethernet (kbps) G.711 (64 kbps) 80 10 4.1 160 20 50 82.8 67.6 87.2 G.729 (8 kbps) 10 10 3.92 20 20 50 26.8 11.6 31.2 G.723.1 (6.3 kbps) 24 30 3.9 24 30 33.3 18.9 8.8 21.9 G.723.1 (5.3 kbps) 20 30 3.8 20 30 33.3 17.9 7.7 20.8 G.726 (32 kbps) 20 5 3.85 80 20 50 50.8 35.6 55.2 G.726 (24 kbps) 15 5 20 50 42.8 27.6 47.2 G.728 (16 kbps) 10 5 3.61 60 30 33.3 28.5 18.4 31.5 G722_64k (64 kbps) 80 10 4.13 160 20 50 82.8 67.6 87.2 ilbc_mode_20 (15.2kbps) 38 20 NA 38 20 50 34.0 18.8 38.4 ilbc_mode_30 (13.33kbps) 50 30 NA 50 30 33.3 25.867 15.73 28.8 20 Explicação dos termos Codec Bit Rate (Kbps) Baseado no Codec, este é o número de bits por segundo que devem ser transmitidos a fim de entregar a chamada de voz (codec bit rate = codec sample size / codec sample interval). Codec Sample Size (Bytes) Basedo no codec, este é o número de bytes capturado pelo Digital Signal Processor - DSP) a cada intervalo de amostra do codec. Por exemplo, o codec G.729 opera em intervalos de amostras de 10 ms, o que corresponde a 10 bytes (80 bits) por amostra na taxa de dados (bit rate) de 8 kbps. (codec bit rate = codec sample size / codec sample interval). Codec Sample Interval (ms) Este é o intervalo da amostra na qual o codec opera. Por exemplo, o codificador G.729 opera com intervalos de amostra de 10 ms, o que corresponde a 10 bytes (80 bits) por amostra na bit rate de 8 kbps. (codec bit rate = codec sample size / codec sample interval). Mean Opinion Score (MOS) MOS is a system used to grade the voice quality of telephone connections. With MOS, a wide range of listeners judge the quality of a voice sample on a scale of one (bad) to five (excellent). The scores are averaged in order to provide the MOSfor the codec. Voice Payload Size (Bytes) The voice payload size represents the number of bytes (or bits) that are filled into a packet. The voice payload size must be a multiple of the codec sample size. For example, G.729 packets can use 10, 20, 30, 40, 50, or 60 bytes of voice payload size. Voice Payload Size (ms) The voice payload size can also be represented in terms of the codec samples. For example, a G.729 voice payload size of 20 ms (two 10 ms codec samples) represents a voice payload of 20 bytes [ (20 bytes * 8) / (20 ms) = 8 kbps ] PPS PPS represents the number of packets that need to be transmitted every second in order to deliver the codec bit rate. For example, for a G.729 call with voice payload size per packet of 20 bytes (160 bits), 50 packets need to be transmitted every second [50 pps = (8 kbps) / (160 bits per packet) ] These calculations are used: Total packet size = (L2 header: MP or FRF.12 or Ethernet) + (IP/UDP/RTP header) + (voice payload size) PPS = (codec bit rate) / (voice payload size) Bandwidth = total packet size * PPS Sample Calculation For example, the required bandwidth for a G.729 call (8 Kbps codec bit rate) with cRTP, MP, and the default 20 bytes of voice payload is: Total packet size (bytes) = (MP header of 6 bytes) + (compressed IP/UDP/RTP header of 2 bytes) + (voice payload of 20 bytes) = 28 bytes Total packet size (bits) = (28 bytes) * 8 bits per byte = 224 bits PPS = (8 kbps codec bit rate) / (160 bits) = 50 pps Note: 160 bits = 20 bytes (default voice payload) * 8 bits per byte Bandwidth per call = voice packet size (224 bits) * 50 pps = 11.2 kbps Configure Voice Payload Sizes in Cisco CallManager and Cisco IOS Gateways. The voice payload size per packet can be configured in Cisco CallManager and Cisco IOS gateways. If the Cisco IOS gateway is configured in Cisco CallManager as a Media Gateway Control Protocol (MGCP) gateway, all the codec information (codec type, payload size, voice activity detection, and so on) is controlled by Cisco CallManager. In Cisco CallManager, the voice payload size per packet is configurable on a system wide basis. This attribute is set in Cisco CallManager Administration (Service > Service Parameters > select_server > Cisco CallManager) with these three service parameters: 21 PreferredG711MillisecondPacketSize - (Default setting: 20 ms. Available settings: 10, 20, and 30 ms.) PreferredG729MillisecondPacketSize - (Default setting: 20 ms. Available settings: 10, 20, 30, 40, 50, and 60 ms.) PreferredG723MillisecondPacketSize - (Default setting: 30 ms. Available settings: 30 and 60 ms.) In Cisco CallManager, the voice payload size is configured in terms of milliseconds (ms) samples. Based on the codec, this table maps some ms samples to the actual payload size in bytes. Tabela 4: Características dos CODEC’s Codec Voice Payload Size (ms) Voice Payload Size (Bytes) Comments G.711 20 ms (default) 160 Bytes Notice that the codec bit rate is always maintained. For example: G.711 codec = [240 bytes * 8(bits/bytes)] / 30 ms = 64 kbps 30 ms 240 Bytes G.729 20 ms (default) 20 Bytes 30 ms 30 Bytes G.723 30 ms (default) In Cisco IOS gateways, a feature is added in Cisco IOS Software Release 12.0(5)T that allows the voice payload size (in bytes) for VoIP packets to be changed through the CLI. The new command syntax follows: Cisco-Router(config-dial-peer)#codec g729r8 bytes ? Each codec sample produces 10 bytes of voice payload. Valid sizes are: 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230 Any other value within the range will be rounded down to nearest valid size. <10-230> Choose a voice payload size from the list above Impact of a Change to Voice Payload Sizes The number of codec samples per packet is another factor that determines the bandwidth and delay of a VoIP call. The codec defines the size of the sample, but the total number of samples placed in a packet affects how many packets are sent per second. When you increase the voice payload size the VoIP bandwidth reduces and the overall delay increases. This example illustrates this: G.729 call with voice payload size of 20 bytes (20 ms): (40 bytes of IP/UDP/RTP headers + 20 bytes voice payload)* 8 bits per byte * 50 pps = 24 kbps G.729 call with voice payload size of 40 bytes (40 ms): (40 bytes of IP/UDP/RTP headers + 40 bytes voice payload) * 8 bits per byte * 25 pps = 16 kbps Notes: - L2 headers are not considered in this calculation. - The calculations show that while the payload size is doubled, the number of packets per second required is subsequently cut in half. - As defined in the International Telecommunication Union Telecommunication Standardization Sector (ITU-T) G.114 specifications, the recommended one-way overall delay for voice is 150 ms. For a private network, 200 ms is a reasonable goal, and 250 ms must be the maximum. Voice Activity Detection With circuit-switched voice networks, all voice calls use 64 kbps fixed-bandwidth links regardless of how much of the conversation is speech and how much is silence. With VoIP networks, all conversation and silence is packetized. With Voice Activity Detection (VAD), packets of silence can be suppressed. 22 Over time and as an average on a volume of more than 24 calls, VAD can provide up to a 35 percent bandwidth savings. The savings are not realized on every individual voice call, or on any specific point measurement. For the purposes of network design and bandwidth engineering, VAD must not be taken into account, especially on links that carry fewer than 24 voice calls simultaneously. Various features such as music on hold and fax render VAD ineffective. When the network is engineered for the full voice call bandwidth, all savings provided by VAD are available to data applications. VAD also provides Comfort Noise Generation (CNG). Because you can mistake silence for a disconnected call, CNG provides locally generated white noise so the call appears normally connected to both parties. G.729 Annex-B and G.723.1 Annex- A include an integrated VAD function, but otherwise performs the same as G.729 and G.723.1, respectively. In Cisco CallManager, VAD can be enabled (it is disabled by default) with these service parameters: SilenceSuppressionSystemWide - This parameter selects the VAD setting for all skinny endpoints (for example, Cisco IP Phones and Skinny gateways) SilenceSuppressionWithGateways - This parameter selects the VAD setting for all MGCP gateways. This does not have an effect on H.323 gateways. VAD on H.323 gateways must be disabled on the gateway. You can find these service parameters under Cisco CallManager Administration (Service > Service Parameters > select_server > Cisco CallManager). RTP Header-Compression or Compressed RTP (cRTP) Figura 19: Compressão do cabeçalho pelo RTP All VoIP packets are made up of two components: voice samples and IP/UDP/RTP headers. Although the voice samples are compressed by the Digital Signal Processor (DSP) and can vary in size based on the codec used, these headers are a constant 40 bytes in length. When compared to the 20 bytes of voice samplesin a default G.729 call, these headers make up a considerable amount of overhead. With cRTP, these headers can be compressed to two or four bytes. This compression offers significant VoIP bandwidth savings. For example, a default G.729 VoIP call consumes 24 kb without cRTP, but only 12 kb with cRTP enabled. Because cRTP compresses VoIP calls on a link-by-link basis, both ends of the IP link need to be configured for cRTP. In Cisco IOS Software Releases 12.0.5T and earlier, cRTP is process-switched, which severely limits the scalability of cRTP solutions due to CPU performance. Most of these issues have been resolved through various cRTP performance improvements introduced in Cisco IOS Software Releases 12.0.7T through 12.1.2T. This is a summary of the history. cRTP is process-switched in Cisco IOS Software Release 12.0.5T and earlier. In Cisco IOS Software Release 12.0.7T, and continuing in 12.1.1T, fast-switching and Cisco Express Forwarding-switching support for cRTP is introduced. In Cisco IOS Software Release 12.1.2T, algorithmic performance improvements are introduced. Moving cRTP into the fast-switching path significantly increases the number of RTP sessions (VoIP calls) that VoIP gateways and intermediate routers can process. Heuristics for Compression As RTP does not have a distinct packet header of its own, an RTP stream (for cRTP) is distinguished from a UDP stream (cUDP) by the use of heuristics. The exact heuristics used at present in order to detect RTP packets for compression are: The destination port number is even. The destination port number is in the range 16384-32767 or 49152-65535. The RTP version field is set to two. The RTP extension field is set to zero. 23 Para o cálculo da largura de banda do CODEC precisamos dos seguintes dados: Tempo de amostragem (frame time); Tamanho da amostra, em bytes (frame size). A indicação do CODEC escolhido, a eficiência do VAD (Voice Activity Detector) assim como os dados indicados acima são feitas no quadro “2. CODEC” do Calculador VoIP. O VAD indica a redução da largura de banda caso seja ativado, ou seja, se VAD = 1 não há redução. O quadro “3. Empacotamento” do Calculador VoIP permite informar os seguintes dados: Número de amostras por pacote (frames/packet ou payload); Tamanho do cabeçalho (packet overhead), ou seja, o número de bytes do cabeçalho IP/UDP/RTP e da camada 2. A expressão da largura de banda LB, expressa em bit/s, implementada no calculador VoIP é: [1] Onde: Tp_a: tempo de amostragem (frame time); Tm_a: Tamanho da amostra em bytes (frame size); N_a: número de amostras por pacote (frames/packet ou payload); Cabec (Packet Overhead): número de bytes dos cabeçalhos IP/UDP/RTP e da camada 2. Os dados configurados inicialmente são para o CODEC G.729 com a configuração correspondente à primeira linha da Tabela 5. Tabela 5: Dados de configuração do G.729 para VAD = 1. CODEC Tm_a (bytes) N_a Tp_a (ms) IP/UDP/RTP Cabeçalho (bytes) CRTP Cabeçalho (bytes) Camada 2 Camada 2 Cabeçalho (bytes) Largura de Banda (kbps) G.729 10 2 10 40 0 Ether 14 29.6 G.729 10 2 10 0 2 Ether 14 14.4 G.729 10 2 10 40 0 PPP 6 26.4 G.729 10 2 10 0 2 PPP 6 11.2 G.729 10 2 10 40 0 FR 4 25.6 G.729 10 2 10 0 2 FR 4 10.4 G.729 10 3 10 40 0 Ether 14 22.4 G.729 10 3 10 0 2 Ether 14 12.3 G.729 10 3 10 40 0 PPP 6 20.3 G.729 10 3 10 0 2 PPP 6 10.1 G.729 10 3 10 40 0 FR 4 19.7 G.729 10 3 10 0 2 FR 4 9.6 24 Para cada tipo de CODEC (exceto o Customizado) há uma configuração proposta. O quadro “4. Largura de Banda” do Calculador VoIP mostra o resultado indicando o número de canais, a banda por canal e a largura de banda necessária (Banda total). Caso não houvesse o componente aleatório do atraso (caso ideal), a largura de banda VoIP seria suficiente para o dimensionamento dos enlaces. QoS para VoIP II: Análise do Atraso O atraso na rede na rede em função do tráfego VoIP depende do atraso em cada nó e do número de nós entre origem e destino. Para tanto, devem ser observadas as seguintes considerações: Chamamos de Taxa de Serviço o inverso do tempo de serviço. Por exemplo, para um enlace E1 a taxa de serviço é de 2048 kbit/s; A Taxa de Utilização do enlace de saída é definida como a razão entre a largura de banda VoIP e a taxa de serviço do enlace. Para que uma fila seja estável, ou seja, não cresça infinitamente, a taxa de utilização deve ser menor que 1; A variação do tráfego de voz ao longo do tempo e o mecanismo de prioridade quando existem outros tráfego além do de voz, causam uma variação na distribuição dos pacotes que originalmente eram determinísticos. Os pacotes VoIP tem prioridade sobre os demais pacotes e causam a suspensão da transmissão dos pacotes não-VoIP na chegada de um pacote VoIP. Expressão para o atraso para um nó O quadro “5. Atraso” do Calculador VoIP é o que apresenta o cálculo do atraso. Seja W a variável aleatória que representa o atraso. P{W > t} é o complemento da função de distribuição. Então, para o quantil de 10 –6 , por exemplo, queremos determinar t tal que P{W > t} = 10 –6 . O calculador VoIP implementa a equação abaixo e indica o resultado no campo “Atraso por nó”. Expressão para o atraso em função do número de nós O atraso em um dado nó j é representado pela variável aleatória Wj. Os atrasos Wj, j = 1...n são independentes. O atraso W de um pacote que atravessa n nós é a soma dos atrasos em cada nó, ou seja: W = W1 + W2 + ... + Wn. Pelo teorema central do limite para n suficientemente grande (quando n tende para infinito) W tende para uma distribuição Normal com: Como o nó é modelado por uma fila M/D/1 precisamos conhecer sua média e desvio padrão. As expressões da média e desvio padrão são mostradas abaixo. [2] QoS para VoIP II: Exemplo Esta seção apresenta um exemplo prático de uso do Calculador VoIP. Observe que o Calculador apresentado tem o objetivo de, a partir de algumas simplificações práticas, prover 25 uma forma de cálculo do atraso e da largura de banda VoIP para as aplicações mais usuais, sem, contudo, pretender ser um estudo acadêmico complexo. Desta forma, algumas regras práticas foram introduzidas e são listadas a seguir: A taxa de utilização de uma rede não deve ser maior que 0.9 (90%), já que taxas de utilização maiores podem comprometer seriamente o seu desempenho, ou mesmo levar a um colapso do serviço de rede. Desta forma, recomenda-se sempre usar, no máximo, o valor 0.9 (90%) no campo Utilização, do quadro “5. Atraso” do calculador; A maioria das redes apresenta 5 ou mais nós e, quanto maior for o número de nós, mais a distribuição dos atrasos se aproxima de uma distribuição normal. Desta forma, o calculador foi implementado considerando que o valor mínimo do campo Número de nós do quadro “5. Atraso” deve ser 5. Caso o calculador seja usado para redes com um número de nós menor que 5, basta usar o valor 5 nesse campo e usar como atraso total o valor do campo Atraso por nó multiplicado pelo número de nós (1 a 4), conforme seja a topologia da rede em análise. Considere uma comunicação ponto-a-ponto com dez nós. Use o calculador para traçar as curvas da Figura 20 que mostram o atraso para diversas utilizações e diversasfontes VoIP. Como indicado na introdução, a avaliação do atraso no calculador VoIP considera o quantil e não a média. Considerar: O quantil de 10 -6 (menos que 1 em 1.000.000 de pacotes sofrem o atraso requerido); Que cada fonte VoIP oferece 0.12 Erl; Comunicação ponto-a-ponto com 10 nós; Número de fontes de tráfego: 100, 250 e 500. Figura 20: Atraso ponto-a-ponto, quantil = 10-6. Referências [Moreira 06] Moreira de Souza, J., Qualidade de Serviço (QoS) II: Desempenho de Tráfego, Jan 2006, www.teleco.com.br. [VoIPWestbay] http://www.erlang.com/calculator/eipb/. [VoIPWebtorial] http://www.webtorials.com/main/eduweb/voice/traff- eng/index.htm. [Karam 01] Karam, M.J., Tobagi F.A., Analysis of the Delay and Jitter of Voice Traffic Over the Internet, Infocom 2001, http://citeseer.ist.psu.edu/karam01analysis.html. [Moreira 07] Moreira de Souza, J., QoS para VoIP I: Avaliação da Largura de Banda e do Atraso, Dez 2006, www.teleco.com.br. [Tude 03] Tude, E., Tráfego Telefônico, Ago 2003, e Calculador ErlangB do Teleco. Tabela 6: Processos, protocolos e portas 26 TCP Porta UDP Porta HTTP 80 SNMP 161 HTTPS 443 RIP 520 FTP 20 FTP 21 DNS 53 DNS 53 NTP 123 NTPv4 123 NFSv3 111/2049 1110/4045 NFSv2 111/2049 1110/4045 SIP 5060/5061 SIP 5060/5061 IMAP4 143 POP3 110 SMTP 25 Telnet 23 SSH 22 Netbios 139 Glossário ACK – Acknowledgement (resposta enviada por um receptor para confirmar o recebimento de dados) ADSL – Assymetric Digital Subscriber Line ARP – Address Resolution Protocol (utilizado para associar um endereço lógico a um endereço físico; no TCP/IP, um protocolo para a obtenção do endereço físico de um nó a partir do endereço conhecido na Internet) ARQ – Automatic Repeat Request (método de controle erros pela retransmissão de frames detectados com erros; camada de Enlace) ATM – Asynchronous Transfer Mode (modo de transferência assíncrona de dados em pacotes de comprimento fixo; Camada Física) BOOTP – Bootstrap Protocol (é um protocolo de configuração estática do tipo cliente servidor desenvolvido para facilitar o mapeamento entre endereços físicos e endereços lógicos; carrega informações de configuração a partir de uma tabela ou arquivo; used in IP networks to automatically assign na IP address to network devices from a configuration server; IPv4 only; Camada de Aplicação; ver DHCP) CDN – Content Distribution Network CMOT – Common Management Information Protocol over TCP CRC – Cyclic Redundant Check (método de detecção de erros baseado na interpretação de um padrão de bits como um polinômio) CS-ACELP – Conjugate-Structure Algebraic Code-Excited Linear Prediction DHCP – Dynamic Host Configuration Protocol (programa de suporte utilizado por outros programas, como o e-mail; permite a alocação estática e dinâmica de endereços, que pode ser manual ou automática; na alocação estática atua como o BOOTP) DMT – Discrete Multi Tone DNS – Domain Name System (utiliza os serviços de UDP para mensagens menores que 512 bytes, caso contrário é utilizado o TCP) E1: hierarquia PCM / PDH, na taxa de 2,048 Mbps. FEC – Forward Error Correction FCS – Frame Check Sequence FRAD – Frame Relay assembler/disassembler (dispositivo utilizado no Frame Relay para lidar com frames provenientes de outros protocolos) FTP – File Transfer Protocol (é o protocolo padrão da arquitetura TCP/IP utilizado para copiar arquivos de um host para outro; utiliza os serviços do TCP; a porta 21 é utilizada para conexão de controle e a porta 20 para conexão de dados) HDLC – High-Level Data Link Control (protocolo orientado a bit para comunicação de dados utilizando enlaces ponto a ponto ou ponto multiponto; implementa o mecanismo ARQ) HSDL – High-bit-rate Digital Subscriber Line HTTP – Hyper Text Transfer Protocol GRE – Generic Routing Encapsulation GE – Gateway GWK – Gateway keeper ICMP – Internet Control Message Protocol (foi desenvolvido para suprir as deficiências do IP quanto à notificação e 27 correção de erros, consultas de gerenciamento e de estado operacional dos hosts; envia mensagens de consulta e correção de erros; sempre envia mensagens de erro para o originador da mensagem; como ferramentas de debug citam- se o ping e o tracert) IGMP – Internet Group Management Protocol (protocolo envolvido em comunicação multicast; é um protocolo auxiliar do IP utilizado para facilitar a transmissão simultânea de uma mensagem para um grupo de destinatários) IGRP – Interior Gateway Routing Protocol IMAP4 – Internet Mail Access Protocol version 4 (protocolo de acesso a mensagens de e-mail; é similar ao POP3 mas apresenta mais recursos) IP – Internetworking Protocol (configura o enlace físico, para transportar pacotes IP na Internet; é o mecanismo de transmissão utilizado pelos protocolos TCP/IP; é um protocolo sem conexão e não confiável que transporta pacotes denominados datagramas) IPCP – Internet Protocol Control Protocol (um dos protocolos NCP, configura o enlace físico – link – para transportar pacotes de dados na Internet) ISDN – Integrated Services Digital Network (RDSI – Rede Digital de Serviços Integrados) ISP – Internet Service Providers LCP – Link Control Potocol (protocolo responsável por estabelecer, manter, configurar e encerrar enlaces físicos; todos os pacotes LCP são transportados no campo de payload do frame PPP) LLC – Logical Link Control (subcamada superior da camada de enlace responsável pelo controle de fluxo e controle de erros; ver MAC) LPAD – Light-Weight Directory Access (Protocolo de Aplicação. Utilizado para acessar e manter os serviços de implementação de diretório) MAC – Media Access Control (subcamada mais baixa da camada de enlace responsável pelo método e o controle de acesso para diversos protocolos de rede local) MGCP – Media Gateway Control Protocol MOS – Mean Opinion Score MTA – Mail Transfer Agent (agente de transferência de mensagens de correio eletrônico pela Internet) MTU – Maximum Transmission Unit (o maior tamanho da unidade de dados que determinada rede consegue tratar) NAK – Negative Acknowledgement NAT – Network Address Translation (permite que um usuário disponha de um grande número de endereços internos e externamente apenas um endereço ou um conjunto pequeno de endereços; permite a uma rede privada utilizar um conjunto de endereços privados para comunicação interna e um conjunto de endereços de Internet global para comunicação externa) NCP – Network Control Protocol (no PPP, conjunto de protocolos de controle que possibilitam o encapsulamento de dados provenientes de outros protocolos da camada de rede) NCS – Network – based Cell Signalling NFS – Network File System NGN – Next Generation Network NTP – Network Time Protocol (clock synchronization between computer system over packet-switching, variable latency data networks; it is intended to synchronize all participating computers to within a few miliseconds to UTC – Coordeinated Universal Time) PAM – Pulse Amplitude Modulation PCM – Pulse Code Modulation (modulação por código de pulsos; transforma o sinal de voz analógico em trem de 64kbps; ver E1) PDH: Plesiochronous Digital Hierarchy (hierarquia digital plessiócrona; ver PCM) PMTUD – Path MTU Discovery POP – Point of
Compartilhar