Seção: Tutoriais VoIP

 

Desempenho VoIP: Estimativa de Atraso

 

Tradicionalmente, em redes de comutação por circuito, medições passivas de atraso são estimadas a partir da observação do eco refletido na extremidade final do circuito.

 

Isso não é possível em redes com VoIP, porém, ao invés disso são utilizados pacotes RTCP para estimar o atraso de “roundtrip” entre os mecanismos de VoIP.

 

A figura a seguir ilustra como a estimativa do atraso de “roundtrip” se relaciona com uma conexão de VoIP.

Figura 4: Relação entre atraso de “roundtrip” e a conexão IP

 

Onde:

  • Drtcp representa o atraso estimado a partir dos pacotes RTCP;
  • De o atraso de codificação e empacotamento (pelo menos do mesmo tamanho do pacote), Dj é o atraso introduzido pelo buffer de jitter e pelo decoder;
  • Ds o atraso no acesso do lado de envio;
  • Dr simboliza o atraso no acesso do lado de recebimento.

Estimativa de Ds e Dr

 

Atrasos em acesso não são conhecidos quando monitoramos uma rede de VoIP. A rede poderia conectar diretamente um usuário, ou mesmo uma rede móvel.

 

O uso do E-model como ferramenta de medição para monitoração da qualidade de uma rede de VoIP deveria ser independente das redes conectadas.

 

A métrica é projetada para indicar o quão boa é o desempenho da rede de VoIP. Assim, é sugerido que o Ds e Dr sejam configuráveis pelo usuário, e/ou tenha como default o valor zero.

 

Estimativa de De

 

Os atrasos de codificação e empacotamento dependem de uma série de de fatores. São eles: comprimento do quadro codificado (coded frame), “codec lookahead”, o número de frames no pacote, e a eficiência do codificador. Eficiência é o tempo levado para codificar uma “palavra”, para a qual existe um “upper bound” e um “lower bound”.

 

Para um codificador simples como o G.711, o atraso de codificação (coding delay) não é significante, porém, para esquemas de codificação mais complexos, o atraso máximo de codificação para o sistema ser capaz de operar em tempo real é o tamanho do frame, assumindo que a codificação começa assim que o primeiro quadro é recebido.

 

A tabela abaixo apresenta uma lista de melhor e pior caso de atrasos de codificação para três dos mais populares codecs de VoIP.

 

Codec
Melhor caso (ms)
Pior caso (ms)
G.711
Tamanho do pacote
Tamanho do pacote + 125ms
G.729
Tamanho do pacote + 5
Tamanho do pacote + 5 + 10
G.723.1
Tamanho do pacote + 7,5
2 x Tamanho do pacote + 7,5 + 30
Tabela 4: Melhor e Pior caso de atrasos de codificação

 

Em situações mais práticas é preferível que o atraso de codificação seja o mais próximo do melhor caso, assim, escolhendo esse valor, somado a mais 20% do tamanho do frame, temos uma estimativa bem razoável para o atraso de codificação.

 

O atraso entre o pacote sendo preparado para transmissão, e o mesmo “aparecendo” na linha é considerado insignificante, ficando assim, fora dos nossos cálculos.


Estimativa de Drtcp


Pacotes RTCP podem ser usados para estimar o “round-trip transmission” que é o atraso entre dois equipamentos de VoIP. Drtcp é o “round-trip delay” estimado dividido por 2. Devemos ressaltar que se o IP da ponta não enviar ou não preencher corretamente os pacotes RTCP, não será possível fazer uma estimativa ou ela poderá ser feita de forma incorreta.


Estimativa de Dj


Essa estimativa depende do jitter-buffer e do decodificador dos gateways de VoIP utilizados. A maioria deles implementa um jitter-buffer dinâmico para suportar as variações das condições dos jitters. É possível que esse valor seja configurável por usuário ou, baseado na medida do “stream jitter” de chegada do RTP.

 

Uma possível equação para Dj é:

Dj = min (codec_frame_size + 0.9 * RTP_jitter , 300)

 

Essa fórmula é puramente especulativa e algumas alternativas podem ser consideradas. No entanto, ela leva em conta o princípio básico de que um jitter-buffer dinâmico aumenta em tamanho quando “enxerga” um aumento no jitter da rede.

 

Ela também impõe um limite ao tamanho do jitter-buffer, nesse caso de 300ms, o qual também pode ser um parâmetro configurável por usuário. O “RTP_jitter” deve ser medido de acordo com a RFC 1889.


Cálculo de Id

 

A seguir estão as aproximações para os atrasos especificados para o cálculo do E-Model, mantendo, porém, uma solução razoável:

 

T = Drtcp + Dj + De + Dr
Tr = 2 * Drtcp + Dj + De
Ta = Drtcp + Dj + De + Dr + Ds

 

Cálculo do Fator R Padrão

 

A fórmula do fator R padrão é:

 

R = Ro – Is – Id – Ie + A

 

Não vamos considerar o “advantage factor” (A), logo, o valor escolhido para ele é zero. A equação agora fica:

 

R = Ro – Is – Id – Ie

 

A partir da Recomendação [G.107 2003, Pág. 4] temos:

 

Ro = 15 – 1.5 * (SLR + No)

 

Onde SLR é a taxa de ruído de envio, e No é a adição de potência devido às diferentes fontes de ruído. O valor default da SLR é +8 dB [G.107 2003, Pág. 8], enquanto o valor de No pode ser calculado utilizando as expressões definidas na Recomendação [G.107 2003, Pág. 4], e os demais valores default necessários também são definidos na Recomendação [G.107 2003, Pág. 8]. O resultado é: Ro = 94.77.

 

Is = Iolr + Ist + Iq

 

Onde Iolr representa o decréscimo de qualidade causado pelos valores muito pequenos de OLR (soma das taxas de ruídos de envio e recebimento), Ist é a perturbação causada pelo “sidetone” não-ótimo, e Iq é a perturbação devido a distorção na quantização. Os valores podem ser calculados utilizando as expressões apresentadas na Recomendação [G.107 2003, Págs. 4 e 5], e os demais valores default necessários na mesma [G.107 2003, Pág. 8]. O resultado é: Is = 1.43.

 

Id = Idte + Idle + Idd

 

Onde Idte é uma estimativa para a perturbação causada pelo eco resultante do transmissor, Idle o eco resultante do receptor, e Idd a perturbação causada pelos longos atrasos absolutos, os quais ocorrem mesmo com um perfeito cancelamento de eco.

 

Os valores podem ser calculados utilizando as expressões apresentadas na Recomendação [G.107 2003, Págs. 5 e 6], e os demais valores default necessários na mesma [G.107 2003, Pág. 8]. O resultado é: Id = 0.14.

 

Ie = 0

 

Onde Ie representa o fator de perturbação causada pelo equipamento, e seu valor default, encontra-se na  Recomendação [G.107 2003, Pág. 8].

 

Com os valores default para todos os parâmetros, a fórmula fica:

 

R = 94.77 – 1.43 – 0.14 – 0
R = 93.2

 

Este valor é considerado de altíssima qualidade, pois como podemos observar, se aproxima muito do valor ideal utópico de 100.

 

Vale comentar que, na revisão do ano 2000 da recomendação G.107, o valor de R, levando em conta os valores default, era apenas um pouco diferente do atual (2003) igual a 94.2. No entanto, na prática, essa diferença pode ser considerada insignificante.