Вы находитесь на странице: 1из 79

Facultad de Ingeniería Eléctrica

Departamento de Electrónica y Telecomunicaciones

TRABAJO DE DIPLOMA

Contribución al estudio y control del jitter

Autor: Nha Duong Minh

Tutor: MSc. Carlos Alberto Rodríguez López

Santa Clara

2008
““A
Aññoo 5500 ddee llaa R
Reevvoolluucciióónn””
Universidad Central “Marta Abreu” de Las Villas
Universidad Central “Marta Abreu” de Las Villas
Facultad de Ingeniería Eléctrica
Departamento de Electrónica y Telecomunicaciones

TRABAJO DE DIPLOMA

Contribución al estudio y control del jitter

Autor: Nha Duong Minh

Tutor: MSc. Carlos Alberto Rodríguez López


Prof. Dpto. de Telecomunicaciones y Electrónica
Facultad de Ingeniería Eléctrica, UCLV
E-mail: crodrigz@uclv.edu.cu

Santa Clara

2008

"Año 50 de la Revolución"
Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central
“Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad
de Ingeniería en Automática, autorizando a que el mismo sea utilizado por la Institución,
para los fines que estime conveniente, tanto de forma parcial como total y que además no
podrá ser presentado en eventos, ni publicados sin autorización de la Universidad.

Firma del Autor

Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de
la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un
trabajo de esta envergadura referido a la temática señalada.

Firma del Autor Firma del Jefe de Departamento


donde se defiende el trabajo

Firma del Responsable de


Información Científico-Técnica
i

DEDICATORIA

A mis abuelos por quererme y por estar conmigo siempre aunque ya no están en
este mundo.

A mis padres y mis hermanos quienes yo quiero más que cualquier cosa del
mundo.
ii

AGRADECIMIENTOS

A mis padres por haberme enseñado los primeros pasos, por darme tanto cariño
y amor, por acompañarme siempre en las victorias y en las dificultades de mi
vida, dándome fuerza para
para levantarme después de cada caída y sobre todo por
haberme regalado la vida.

A mi familia por apoyarme siempre tanto en tiempos buenos como difíciles.

Al profesor Carlos, mi tutor inseparable, por haberme ayudado y apoyado


tanto en el trabajo y por su dedicación.

A todos mis amigos por estar siempre conmigo, ayudándome a pasar los
tiempos difíciles lejos de casa.

A todos los profesores por haberme enseñado, por sus cariños y por todas sus
ayudas.

Muchas gracias
iii

TAREA TÉCNICA

Para el logro de los objetivos propuestos en el presente trabajo, la investigación sigue una
línea definida por un grupo de tareas, entre las que se encuentran:

1. Búsqueda bibliográfica y estudio de trabajos relacionados con el tema.

2. Estudio del fenómeno del jitter que se produce en aplicaciones de VoIP en redes
de paquetes: Tipos, características, factores que influyen en jitter.

3. Elegir las herramientas para la aplicación del control y el estudio del jitter.

4. Comparar las características generales de los algoritmos de control de jitter que


existen.

5. Definición de un esquema para evaluar algoritmos de control de jitter. Ejemplo de


aplicación.

6. Confección de informe.

Firma del Autor Firma del Tutor


iv

RESUMEN

En este trabajo se realiza una contribución al estudio y control del jitter. Para ello se hace
una descripción del fenómeno del jitter que se produce en aplicaciones de VoIP en las
redes de paquetes, son expuestas sus principales características y los factores que inciden en
él. Son analizados las variantes de dos tipos de algoritmos de buffer de reproducción de
audio: aquellos que ajustan los parámetros del buffer de reproducción durante el tiempo de
ráfaga de silencio y los que ajustan en cualquier momento. Se exploran las funciones de las
herramientas para la evaluación de algoritmos siendo las más destacadas: MATLAB y NS-
2 (Network Simulator) y se propone un esquema para medir el desempeño de estos.
Finalmente se aplica el esquema de evaluación propuesto a un caso de estudio y se discuten
los resultados obtenidos.
v

TABLA DE CONTENIDOS

DEDICATORIA ......................................................................................................................i

AGRADECIMIENTOS ......................................................................................................... ii

TAREA TÉCNICA............................................................................................................... iii

RESUMEN ............................................................................................................................iv

INTRODUCCIÓN ..................................................................................................................1

Organización del informe ...................................................................................................2

CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA..................................................................4

1.1 Definición de telefonía IP .......................................................................................4

1.2 Introducción a los diferentes tipos de telefonía IP..................................................5

1.3 Calidad del servicio de telefonía IP ........................................................................7

1.3.1 Dificultades técnicas .......................................................................................7

1.4 Concepto básico de jitter........................................................................................9

1.4.1 Introducción a los diferentes tipos de jitter en telefonía IP ............................9

1.5 Definición de buffer de jitter ................................................................................11

1.5.1 Buffer de jitter estático. ................................................................................11

1.5.2 Buffer de jitter dinámico...............................................................................11

1.5.3 Jitter buffer en perspectiva histórica............................................................12

1.6 Evaluación de la calidad de VoIP .........................................................................13

1.6.1 Puntaje de opinión (mean opinión scores MOS) .........................................13

1.6.2 Evaluación perceptiva de la calidad del habla – PESQ ................................14

1.6.3 Modelo E.......................................................................................................15

CAPÍTULO 2. MATERIALES Y MÉTODOS.................................................................18

2.1 Tarea principal de los algoritmos existentes.........................................................18


vi

2.2 Breve introducción al mecanismo de reproducción de los paquetes de audio en


red WAN...........................................................................................................................18

2.2.1 El principio básico de los cuatro algoritmos.................................................19

2.2.2 Algoritmo 1...................................................................................................21

2.2.3 Algoritmo 2...................................................................................................21

2.2.4 Alogoritmo 3.................................................................................................22

2.2.5 Algoritmo 4...................................................................................................22

2.2.6 Comparación y discusión de resultados........................................................24

2.3 Breve introducción al algoritmo de reproducción de los paquetes en VoIP usando


la estimación adaptativa del retardo de la red.................................................................24

2.3.1 Motivación del algoritmo.............................................................................25

2.3.2 Algoritmo del buffer de reproducción con α adaptativo...............................27

2.3.3 Medición y comparación experimentales del algoritmo con α adaptativo. ..29

2.3.4 Evaluación del algoritmo con prueba subjetiva. ...........................................30

2.4 Breve introducción al algoritmo de control de playout delay para la VoIP


utilizando alteración en la escala de tiempo .....................................................................32

2.4.1 El principio básico del nuevo algoritmo. ......................................................33

2.4.2 Medición y comparación experimentales del algoritmo de control de playout


delay para la VoIP utilizando alteración en la escala de tiempo. .................................35

2.5 Herramientas para la aplicación y el estudio del jitter..........................................37

2.5.1 MATLAB......................................................................................................37

2.5.2 Network Simulator (NS). ..............................................................................37

CAPÍTULO 3. RESULTADOS Y DISCUSIÓN ..............................................................38

3.1 Esquema de evaluación de algoritmo. ..................................................................38

3.2 Tráfico simulado de una aplicación de VoIP combinado con tráfico de FTP. .....39
vii

3.2.1 Topología. .....................................................................................................40

3.2.2 Las características del tráfico de VoIP. ........................................................40

3.2.3 Resultado de la simulación en network Simulator 2 (NS- 2). ......................41

3.3 Implementación de algoritmo de la reproducción de buffer.................................43

3.4 Análisis de resultados ...........................................................................................43

3.4.1 Resultados obtenidos con α =0.998, la razón de transmisión entre los router
1 y 2 es de 10 Mbps. .....................................................................................................43

3.4.2 Resultados obtenidos con α =0.885, la razón de transmisión entre los router
1 y 2 es de 10 Mbps. .....................................................................................................46

3.4.3 Resultados obtenidos con α =0.998, la razón de transmisión entre router 1 y


router 2 es 5 Mbps. .......................................................................................................48

CONCLUSIONES Y RECOMENDACIONES ...................................................................51

Conclusiones.....................................................................................................................51

Recomendaciones. ............................................................................................................52

Referencias bibliográficas

Anexos
INTRODUCCIÓN
1

INTRODUCCIÓN

Internet fue concebida originalmente para transportar tráfico de datos usando el protocolo
de control de transmisión (TCP) sobre IP (Internet Protocolo). En los últimos años, se ha
realizado un esfuerzo de investigación considerable sobre mecanismos de transmisión de
tráfico que es sensible a las pérdidas y al retardo, tal como la voz y el video en tiempo real.
A este tipo de tráfico se le conoce tradicionalmente como tráfico multimedia. El paradigma
de mejor esfuerzo (best-effort en inglés) característico en Internet hace que la transmisión
de esta clase de tráfico sea un gran reto de investigación. Esta característica best-effort
introduce variabilidad en el retardo y pérdida de paquetes. Estos fenómenos afectan
seriamente la calidad del tráfico multimedia en Internet.

Uno de los servicios multimedia más utilizados actualmente sobre Internet es la transmisión
de voz en tiempo real de forma interactiva, el cual es llamado comúnmente Telefonía sobre
Internet (ToIP, VoIP). El reto más importante es el de reducir al máximo los efectos de las
pérdidas y de la variabilidad del retardo, para de esta manera ofrecer la mejor calidad de
voz posible en una conversación.

La mayoría de las aplicaciones generan paquetes espaciados a intervalos regulares de


tiempo. El tráfico generado por la fuente de voz se separa en periodos de actividad y
periodos de silencio. Al pasar por Internet, se inyecta un retardo variable a los paquetes al
llegar a su destino. Esta variabilidad de retardo modifica la periodicidad con la que los
paquetes fueron enviados en la fuente. Para poder reproducir el tren de paquetes recibidos,
una aplicación debe ser capaz de reducir o de eliminar esta variabilidad de retardo. Esto se
hace guardando los paquetes temporalmente en un buffer, y luego reproduciéndolos
después de un cierto tiempo límite. Los paquetes que llegan después de su tiempo límite se
consideran en retardo y no se reproducen. Si este tiempo límite se incrementa, la
INTRODUCCIÓN
2

probabilidad que un paquete llegue a tiempo también aumenta. Esto reduce la cantidad de
paquetes perdidos artificialmente en el buffer del receptor; sin embargo, incrementar el
tiempo de espera de los paquetes en el buffer impacta negativamente la interactividad de
una conversación de voz. Este es el principal compromiso de un algoritmo de “playout
delay” para VoIP: optimizar el tiempo de espera de los paquetes en el buffer.

En la actualidad se realizan grandes esfuerzos en el estudio de mecanismos que permitan


asegurar una adecuada QoS en las redes IP y pero la solución parece estar todavía distante,
los investigadores centran sus trabajos en el desarrollo de mecanismos que permitan el
control del jitter para garantizar una correcta QoS en los servicios interactivos en tiempo
real.

El objetivo de este presente trabajo es contribuir al estudio y control del jitter para
aplicaciones en VoIP, para alcanzar dicho objetivo se realiza un estudio de los mecanismos
de control del jitter, haciendo una descripción del fenómeno en las aplicaciones de VoIP en
las redes de paquetes. Son descritas las variantes de dos tipos de algoritmos de buffer de
reproducción de audio y se exploran herramientas que permiten implementar y evaluar
estos algoritmos. Se propone el esquema de evaluación para un caso de estudio.

Organización del informe

El informe de la investigación se estructurará en resumen, introducción, capitulario,


conclusiones y recomendaciones, referencias bibliográficas y anexos.

Introducción

Se dejará definida la importancia, actualidad y necesidad del tema que se aborda y se


dejarán explícitos los elementos del diseño teórico

Capítulo I

Se hace una descripción de los conceptos y los principios relacionados con el fenómeno
jitter y los mecanismos del control de jitter. Se aborda lo referente a la evaluación de la
calidad a través de los modelos MOS, PESQ, E

Capítulo II

Se exponen las variantes de dos tipos de algoritmo para buffer de reproducción de audio y
INTRODUCCIÓN
3

se hace una revisión de las herramientas a utilizar en el estudio del desempeño de


algoritmos para reproducir los paquetes de audio.

Capítulo III

En este capítulo se lleva a cabo un ejercicio de evaluación de un algoritmo y se realiza la


discusión de los resultados.

Conclusiones

Se realizará un análisis crítico de los resultados obtenidos a partir de los objetivos que se
trazaron inicialmente.
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
4

CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA

En este capítulo se organiza de la forma siguiente: en las dos primeras secciones se


introduce brevemente la definición y la clasificación de diferentes tipos de telefonía IP. En
las secciones se hace un estudio sobre el problema fundamental y los factores que afectan a
la calidad de VoIP, evaluando la importancia de “jitter buffer”. Al final del capítulo, se
aborda lo referente a la evaluación de la calidad a través del modelos MOS, PESQ, E.

1.1 Definición de telefonía IP

Comúnmente se conoce también por los términos de voz sobre Protocolo de Internet
(Internet Protocol-IP), también llamado Voz sobre IP (Voice over IP-VoIP) VoIP,
Telefonía IP, Telefonía por Internet, Telefonía Broadband y Voz sobre Broadband
(Neuman, 2007).

Según Ríos et al. (2007), la voz sobre IP es una tecnología usada para transmitir
conversaciones de voz sobre una red de datos usando el protocolo IP. Las redes de datos
pueden ser: Internet, una Intranet Corporativa, una red manejada por un Operador Local o
de Larga Distancia o un Proveedor de Servicio de Internet (Internet Service Provider-ISP).
A pesar de ser varios los términos utilizados para describir este proceso de transmisión de
la voz a través de una red de datos, VoIP y Telefonía IP son los más comúnmente usados, y
aunque se usen de forma indiferente, cada uno de ellos tiene su propia definición.

 VoIP: transporte básico de voz en forma de paquete en una red basada en el


protocolo IP, sin tomar en cuenta características ni funcionalidades de la misma.
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
5

 Telefonía IP: hace uso de la VoIP, pero además es un conjunto de aplicaciones de


software que ofrece una rica gama de características. Es considerada una típica
aplicación de VoIP y tiene como meta intentar proveer las mismas características y
calidad que la telefonía tradicional.

En la figura 1.1 se muestra en términos simples el proceso para llevar a cabo la VoIP

Figura 1.1 Proceso de codificación y transmisión de la voz sobre una red IP. (Ríos et
al., 2007)

1.2 Introducción a los diferentes tipos de telefonía IP

De acuerdo a la naturaleza de la red IP usada se puede hablar de tres tipos de de voz sobre
redes IP

Comunicación entre usuarios de PC conectados a Internet: Mediante el uso de


computadoras y un programa adecuado se puede entablar una conversación en tiempo real
con otra computadora similar ubicada en cualquier parte del planeta
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
6

Figura 1.2 Comunicación entre usuarios de PC conectados a Internet. (ITU-D, 2003).

La segunda modalidad es la que posibilita la comunicación entre dos usuarios, aunque uno
de ellos no esté conectado a Internet. Una persona conectada a través de su PC con Internet
puede llamar a un teléfono fijo.

Figura 1.3 Comunicación entre usuario de PC y teléfono fijo. (ITU-D, 2003)

La tercera modalidad, y la más reciente, permitieron ampliar las comunicaciones. Dos


teléfonos fijos pueden comunicarse entre sí por medio del protocolo IP; uno de ellos llama
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
7

a una central conectada a Internet y ésta lo comunica con el otro teléfono fijo de manera
similar a la descrita anteriormente.

Figura 1.4 Comunicación entre los teléfonos fijos. (ITU-D, 2003).

1.3 Calidad del servicio de telefonía IP

Una de las dificultades principales en telefonía IP es que debe alcanzar una calidad del
servicio similar a la de las redes de teléfono convencional .Esta dificultad proviene, por una
parte, de las consideraciones técnicas que son específicas por el modo de transferir los
datos sobre las redes del IP. Por otra parte, de las organizaciones y modo de la provisión del
servicio sobre redes de datos en general, y IP en particular (ITU –D, 2003).

1.3.1 Dificultades técnicas

Muchas llamadas atraviesan redes hibridas incluyendo PSTN-VOIP-PSTN desde ahora los
deterioros tradicionales introducidos por la PSTN se aumentan y a veces se destacan por
los deterioros introducidos por las redes de nueva generación. Podemos mencionar cuatro
fuentes principales de la dificultad asociadas al modo de la transmisión de paquetes que
tiene un impacto en el transporte de la voz sobre IP.

• Pérdida: desaparición posible de los paquetes durante la comunicación.. Según


el número de los paquetes perdidos, la calidad de sonido en el extremo de recepción puede
sufrir. Hay cuatro causas principales de la pérdida del paquete:
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
8

-Tiempo de vida agotado (TTL= 0)

- la demora en el extremo de recepción mayor que jitter buffer

- Destrucción por congestión en ruta

- Invalidez del paquete debido a las averías de la transmisión

• Retardo del paquete: también se llama latencia, se define técnicamente en VoIP como el
tiempo que tarda un paquete en llegar desde la fuente al destino.

Las comunicaciones en tiempo real (como VoIP) y full-duplex son sensibles a este
efecto. Al igual que el jitter, es un problema frecuente en enlaces lentos o congestionados.
La latencia o retardo entre el punto inicial y final de la comunicación debiera ser inferior a
150 ms. El oído humano es capaz de detectar latencias de unos 250 ms, y 200 ms en el caso
de personas bastante sensibles. Si se supera ese umbral la comunicación se vuelve molesta.

• Jitter: la variación en el tiempo en la llegada de los paquetes


• Eco: se define como una reflexión retardada de la señal acústica original. El eco es
especialmente molesto cuanto mayor es el retardo y cuanto mayor es su intensidad con
lo cual se convierte en un problema en VoIP puesto que los retardos suelen ser mayores
que en la red de telefonía tradicional. El oído humano es capaz de detectar el eco
cuando su retardo con la señal original es igual o superior a 10 ms. Pero otro factor
importante es la intensidad del eco ya que normalmente la señal de vuelta tiene menor
potencia que la original. Es tolerable que llegue a 65 ms y una atenuación de 25 a 30 dB
(ITU-D, 2003).

Figura 1.5: las principales dificultades en transmisión de telefonía IP. (ITU-D,


2003).
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
9

1.4 Concepto básico de jitter

El jitter es un efecto de las redes de datos no orientadas a conexión y basadas en


conmutación de paquetes. Como la información se discretiza en paquetes, cada uno de los
paquetes puede seguir una ruta distinta para llegar al destino. Las redes IP no garantizan
una trayectoria específica a su destino, ni garantizan ancho de banda disponible para la
duración de la comunicación. Esto da lugar a los paquetes que son recibidos con diferencias
niveles de la sincronización de cuando fueron enviadas Este efecto está generalmente bien
para descargar una página Web por ejemplo, sin embargo en caso de voz, éstos problemas
pueden afectar a la calidad de la conversación.

El jitter se define técnicamente como la variación en el tiempo de llegada de los paquetes,


causada por congestión de red, pérdida de sincronización o por las diferentes rutas seguidas
por los paquetes para llegar al destino (Cisco Systems Inc, 2006).

Figura 1.6: Variación en el tiempo de llegada de los paquetes (jitter) (Cisco Systems
Inc, 2006)

1.4.1 Introducción a los diferentes tipos de jitter en telefonía IP

De acuerdo a la naturaleza de jitter en voz sobre IP se puede hablar de tres grandes


categorías de jitter:

Tipo A: jitter constante. Éste es un nivel aproximadamente constante de la variación


de retraso de paquete a paquete.

Tipo B: jitter transitorio. Está caracterizado por un incremento sustancial en la demora


que pueda ser incurrida por un solo paquete. Este problema ocurre (notablemente en
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
10

softphone) cuando el proceso de VoIP tenga que compartir la CPU con otros procesos en el
mismo tiempo.

Tipo C: variación de la demora en cortos plazos. Este está caracterizado por un


incremento de demora que persiste para un cierto número de paquetes, y puede ser
acompañado por un aumento de la variación de la demora de paquete a paquete. El jitter
tipo C se asocia comúnmente a la congestión y los cambios de ruta (Clark, 2003).

Figura 1.7: Jitter tipo B: Ejemplo de la congestión en red LAN (x = paquete).


(Clark, 2003).

Figura 1.8: Jitter tipo C: Ejemplo de la congestión en enlace. (Clark, 2003).


CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
11

1.5 Definición de buffer de jitter

En voz sobre IP (VoIP), un buffer de jitter es un área de datos compartida donde los
paquetes de voz se pueden recoger, almacenar, y enviar al procesador de voz en intervalos
uniformemente espaciados.

Las variaciones en el tiempo de llegada del paquete (jitter), pueden ocurrir debido a la
congestión de red, o cambios de la ruta. El buffer de jitter, que está situado en el extremo de
recepción de la conexión de voz, retrasa intencionalmente los paquetes que llegan de modo
que el usuario del extremo experimente una conexión clara con la distorsión pequeña
(Grupta, 2007).

1.5.1 Buffer de jitter estático.

El funcionamiento tradicional del buffer consiste en almacenar los paquetes antes de ser
enviados al decodificador. Un problema común es que los paquetes pueden llegar fuera de
secuencia, el buffer de jitter no responde estrictamente a la estructura FIFO (primero en
llegar-primero en salir), sino que se reordenan los paquetes de ser necesario. Un algoritmo
empleado es definir un buffer con un tamaño fijo que solo puede procesar una cantidad fija
de paquetes. Como resultado de esto se obtiene un sistema con demora constante y mínima
complejidad. La desventaja de este método es que el tamaño del buffer debe ser
suficientemente grande para que ante el peor caso se puedan acomodar los paquetes antes
de ser reproducidos. El tamaño del buffer depende de las características de la llamada, del
codec empleado, así como del número de tramas de audio incluidas en los paquetes RTP.
Cuando un buffer de jitter estático es usado en un sistema para almacenar los paquetes de
media, es necesario conocer el tipo de codec usado y el número esperado de tramas por
paquete (Grupta, 2007).

1.5.2 Buffer de jitter dinámico

Con el propósito de mantener la demora tan corta como sea posible, es importante que el
algoritmo del buffer de jitter se adapte rápidamente a las condiciones de cambio de la red.
Por lo tanto, los buffer de jitter con asignación de tamaño dinámico son denominados
buffer de jitter adaptativos. La adaptación se alcanza mediante el incremento o decremento
de la profundidad del buffer para eliminar el jitter en el arribo de los paquetes RTP (Grupta,
2007).
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
12

1.5.3 Jitter buffer en perspectiva histórica

Muchos investigadores han desarrollado diversos algoritmos para mejorar el transporte de


paquetes de la voz en Internet, incluyendo la clasificación de tráfico, reservación de ancho
de banda, algoritmos de la evitación de la congestión y otros. Estos acercamientos usan
diferentes técnicas para disminuir el retardo de transmisión y/o probabilidad de la
congestión del paquete de la voz en la red y hace Internet más conveniente para la
transmisión de voz (optimización de la red). Sin embargo, éstos métodos no proporcionan
resultados aceptables ni solucionan totalmente el problema porque (1) no todos los equipo
soportan QoS múltiple protocolos y (2) las tecnologías no pueden reaccionar a menudo para
cambiar las condiciones de la red y manejar la calidad de cada llamada en tiempo real.

Al principio de los años noventa, el grupo Domenico Ferrari en UC Berkeley


produjo muchas publicaciones significativas sobre el efecto de jitter y retardo en
comunicación tiempo real. Su trabajo propuso un mecanismo distribuido para controlar
retardo y jitter en la red de conmutación de paquete (Ferrari y Verma, 1990).

En el año 1993, Henning Schulzrinne hizo su tesis doctoral sobre la reducción y


caracterización de la pérdida de paquetes en las redes de computadoras de alta velocidad
con servicios en tiempo real, en ella se centraba en el control de la congestión,
programación, y la correlación de la pérdida del tráfico en tiempo real (Schulzrinne, 1993).

Durante los años 1993-1996 Jean Bolot produjo una serie de los artículos que
reportaron y caracterizaron el comportamiento de la pérdida y retardo de los paquetes
del audio en Internet. Son trabajos teóricos apoyados por evidencia experimental, con uso
de técnicas tales como protección de la redundancia contra pérdida del paquete (Bolot,
Crepin y Garcia ,2005).

En el año 1994 Ramachandran Ramjee hizo una comparación de los algoritmos de


reproducción de los paquetes de voz usando la estimación del retardo de la red. Este
trabajo fue ampliado para incluir los límites del funcionamiento, por Sue Moon en el año
1998 (Ramjee et al., 1994).
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
13

La tesis de maestría de Christian Sieckmeyer " Evaluation of adaptive playout


algorithms for packet audio " desarrollada en TU Berlín en 1995, se realiza una evaluación
amplia de algoritmos de buffer de reproducción, usando implementación C++
(Sieckmeyer, 1995).

En el año 2003 Miroslaw Narbutt y un colectivo de autores hicieron una propuesta de


mejorar de algoritmo de Ramjee de tal forma que se puede ajustar adaptativamente el valor
de α, dependiendo en la variación del retardo en la red.

1.6 Evaluación de la calidad de VoIP

1.6.1 Puntaje de opinión (mean opinión scores MOS)

La primera técnica significativa usada para medir claridad del habla estaba basada en
encuestas de una gran cantidad de oyentes humanos para producir puntajes de claridad
estadísticos sujetivos. Esta técnica se conoce como puntaje de opinión humana. Las
técnicas para probar redes con MOS se describen en la Recomendación P.800 de la ITU. La
recomendación P830 proporciona métodos más específicos para la prueba sujetiva de codec
del habla .Estas dos recomendaciones de la ITU describen métodos para probar, métodos
para obtener puntajes subjetivos, valores de los puntajes, características de las muestras de
habla que se utilizarán y otras condiciones bajo de las cuales la prueba debe ser realizada.

La prueba de MOS se puede basar en pruebas conversacionales de dos vías o en pruebas de


una vía de escuchar, en donde se usan muestras de haba estandardizadas. Los oyentes oyen
las muestras transmitidas sobre un sistema o una red, y califican la calidad total de la
muestra, de acuerdo con las escalas de opinión.

P.800 especifica varios tipos de prueba subjetiva:

 Prueba de opinión de conversación.

 Prueba de clasificación absoluta de categorías (absolute category rating - ACR).

 Prueba Quantal - Response Detectability.

 Método de clasificación de Degradación de categorías (DCR).

 Método de clasificación de comparación de categorías (CCR).


CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
14

Cada uno de estos métodos define sus escalas de opinión correspondientes (Ver anexo 1).

Obviamente, la prueba MOS tiene varias desventajas:

 Es subjetiva por que los resultados depende de muchas cualidades incontrolables de


los oyentes que hacen la prueba.

 Es costosa porque requiere a una gran cantidad de gente y elabora las disposiciones
de prueba.

 Es ineficaz e impráctico realizar la prueba tan frecuente como se necesita hacer


cambios de diseño y configuración de una red y para la supervisión rutinaria de la
misma (Aguilar ,2005).

1.6.2 Evaluación perceptiva de la calidad del habla – PESQ

Evaluación perceptiva de la calidad del habla (PESQ) es un método que se realizar a través
del computador, simulando un oído humano, no solo aplicable a codec de voz sino a
medidas de extremo a extremo.

PESQ presenta ciertas condiciones en las que se debe usar para obtener predicciones
acertadas, por ejemplo, se recomienda su uso para la evaluación de la calidad del habla de
banda angosta 3.1 kHz y también de codec de habla de banda angosta. PESQ no presenta
una evaluación detallada de la calidad de transmisión, sino que simplemente mide los
efectos de la distorsión del habla, y el ruido sobre la señal del canal, en un sentido. Otros
efectos como eco, etc..., no se ven reflejados en los puntajes obtenidos por PESQ.

El objetivo de PESQ es comparar la señal original X (t) con esta misma degradada por el
canal Y (t), para obtener la preedición objetiva de la calidad de habla percibida por una
persona como si fuera una prueba subjetiva de escucha. PESQ está actualmente en la
recomendación P.862 del 2001, en la cual describe el procedimiento para procesar las
señales, con el fin de obtener un resultado de la escala MOS. Este procedimiento se divide
en tres módulos: procesamiento de señales, modelamiento perceptivo y modelamiento
cognitivo (Aguilar ,2005).
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
15

Figura 1.9: Diagrama en bloques de PESQ (Aguilar ,2005).

1.6.3 Modelo E

El método de evaluación más usado para VoIP es el llamado modelo E, el cual computa
una estimación predicativa de la calidad subjetiva de la voz según los parámetros de la
transmisión.

Modelo E define un factor de calidad R, obtenido como una función de retrasos, pérdidas
de paquetes, deterioro de factores de los equipos, y calidad esperada de la llamada del
usuario., con rango de 1 hasta 100

R = Ro –Is -Ie- Id + A

Donde

 R0 es la proporción señal a ruido (nivel de voz recibido relativo al ruido circuital y


acústico).

 Is toma en cuenta los efectos de los deterioros que ocurren simultáneamente con la
señal de voz.

 Ie toma en cuenta los efectos de los deterioros causados por pérdidas.

 Id toma en cuenta los efectos de los deterioros causados por retardos.

A es un factor que modela la expectativa del usuario de acuerdo con la tecnología


empleada. Por ejemplo, el valor de A es mayor en las redes de satélite que en las redes de
circuito conmutadas clásicas, porque las expectativas del usuario en las redes de satélite son
más bajas que en las redes alambradas. El rango típico para el factor A es de [0, 20] y
algunos valores propuestos por la ITU se muestran.
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
16

Tabla1: Valores de factor A propuesto por ITU.

El resultado del MOS se obtiene a través de la ecuación

MOS = 1+0.035R+7*10-6 R(R - 60)(100 - R).

En un sistema de VoIP, debido a que en realidad los retrasos y las pérdidas constituyen las
afectaciones principales, Cole y Rosenbluth han reducido el modelo a la siguiente ecuación,
usando apropiadamente los valores seleccionados por defecto para los factores sustituidos:

R = 94.2 − Ie −Id

Sus pruebas han mostrado que la siguiente definición para Ie puede ser usada en la
estimación del impacto de las pérdidas:

Ie = λ1 + λ 2 ln(1 + λ 3e).

Donde λ1 cuantifica la degradación de la calidad de voz debido al codec, λ 2 y λ 3 se refieren


a la degradación debido a las pérdidas y e representa la razón total de pérdida de paquetes.
Los valores para los parámetros λ han sido determinados a través de simulaciones con
diferentes condiciones de pérdidas para diferentes codec.

Tabla2: Coeficientes para el cálculo del deterioro de la calidad debido a las pérdidas

Por otra parte, el impacto del retraso ha sido modelado como:

Id = 0.024d + 0.11 (d − 177.3) I (d − 177.3).


CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
17

Donde I (x) es una función paso unitario y d el retraso total de extremo a extremo. La forma
de esta ecuación está justificada por la observación experimental de que después de un
umbral calculado en 177.3 ms el retraso conduce a una degradación perceptiva más rápida.
La interpretación los valores de los factores R y MOS (Balan, 2006).

Tabla3: interpretación entre los factores R y MOS


CAPÍTULO 2. MATERIALES Y METODOS
18

CAPÍTULO 2. MATERIALES Y MÉTODOS

Este capítulo se organiza de la forma siguiente: en la sección 2.2 se hace un estudio sobre
cuatro algoritmos que tienen características esenciales comunes, tomando como base el
artículo de Ramjee (Ramjee et al., 1994). En la sección 2.3 se realiza un análisis de un
algoritmo que implementa una modificación a los algoritmos de sección 2.2. En la sección
2.4 se presenta un algoritmo con un mecanismo de ajuste diferente. En la parte final del
capítulo se proponen herramientas para la aplicación del control y el estudio del jitter.

2.1 Tarea principal de los algoritmos existentes

La variación en el tiempo en la llegada de los paquetes se llama jitter. El jitter es eliminado


por el buffer de jitter, este almacena temporalmente los paquetes que llegan y los envía a un
receptor en intervalos iguales de tiempo. Si el buffer de jitter es demasiado pequeño,
muchos paquetes se pueden desechar debido a una variación significativa de retardo. Esto
afectará negativamente la calidad de la llamada. Un aumento del tamaño del buffer de jitter
permite que se pueda almacenar más paquetes pero el mismo buffer de jitter les agrega su
retardo, que también afecta negativamente la calidad de la llamada. Muchas investigaciones
se centran en estrategias adaptativas del buffer de jitter para encontrar un punto óptimo en
la compensación entre retardo extremo – extremo y la pérdida del paquete, para optimizar
la calidad de la llamada dinámicamente.

2.2 Breve introducción al mecanismo de reproducción de los paquetes de audio en


red WAN.

Los cuatro algoritmos que se analiza en esta sección 2.2 determinan el retardo de
reproducción en cada ráfaga de audio. Dentro de cada ráfaga de audio, los paquetes son
CAPÍTULO 2. MATERIALES Y METODOS
19

reproducidos al receptor de manera periódica con el mismo período de generación en el


emisor.

Sin embargo los algoritmos pueden modificar el retardo de reproducción desde una ráfaga
de audio a otra. Los intervalos de silencio entre dos ráfagas de audio en el receptor pueden
artificialmente alargarse o comprimirse (con respecto a la longitud original del intervalo de
silencio correspondiente en el emisor). La compresión o expansión de silencio en pequeñas
cantidades no es notable en la calidad de reproducción de la llamada.

2.2.1 El principio básico de los cuatro algoritmos.

En (Ramjee et al., 1994), se comparan cuatro algoritmos para buffer de reproducción, a


continuación se expone el principio básico de funcionamiento de cada uno de estos
algoritmos (figura 2.1).

Para una mejor comprensión se introducen la definición de los tiempos siguientes asociados
con el paquete i:
• ti : Tiempo en el cuál paquete i es transmitido en el emisor.

• ai : Tiempo en el cuál paquete i es recibido en el receptor.


• pi : Tiempo en el cuál paquete i es reproducido en el receptor.

• D prop : El retardo de propagación desde el emisor hasta el receptor, el cual se

supone que es constante a lo largo del tiempo de la conexión del audio.


• vi : El retardo experimentado del paquete i.

• bi : Tiempo que paquete i está dentro de jitter buffer en el receptor, esperando su

reproducción bi = p i − a i .
• d i : Cantidad total de tiempo desde el momento que el paquete i es transmitido en
la fuente hasta su reproducción en el receptor (se refiere al retardo extremo –
extremo del paquete i) d i = pi − ti .

• ni : Retardo total introducido por la red, ni = a i − t i . .


CAPÍTULO 2. MATERIALES Y METODOS
20

Figura 2.1: Los tiempos asociados con el paquete i (Ramjee et al., 1994).

Para determinar el tiempo de la reproducción del paquete i, se consideran los dos casos
siguientes, dependiendo si ese paquete es o no es el primero paquete de la ráfaga de audio.
• Si paquete i es el primer paquete de ráfaga de audio, su tiempo de reproducción ( pi )
es computado como:
^ ^
pi = t i + d i + 4 * v i ;

^ ^
d i y v i son las estimaciones de la media y varianza del retardo extremo a extremo durante
una ráfaga de audio.

El punto de reproducción de cualquier paquete subsiguiente en la ráfaga de audio es


computado como un desplazamiento a partir de punto en que el primer paquete de esa
misma ráfaga de audio es reproducido. Si i fue el primer paquete en la ráfaga de audio y
paquete j pertenece a esa misma ráfaga de audio, el punto de reproducción del paquete j es
computado como:

p j = pi + t j − t i .

^ ^
d i y v i son computados para cada paquete recibido, aunque ellos solo se utilizan para
determinar el punto de la reproducción del primer paquete de cualquier ráfaga de audio. Se
analizarán los cuatro algoritmos más adelante, pero la diferencia entre ellos solo es la
^ ^ ^
manera de computar d i . La computación de v i (el cuál alternativamente depende de d i ) es
la misma para todos los algoritmos y es definido más adelante. Desde un punto de vista
CAPÍTULO 2. MATERIALES Y METODOS
21

^
intuitivo, el término 4* v i se utiliza para fijar el tiempo de reproducción bastante lejos de la
estimación del retardo.

2.2.2 Algoritmo 1

La estimación del retardo es calculado según RFC793 (Jon Postel, 1981) y el trabajo de
Van Jacobson (Jacobson, 1988) es:

d i = α * d i −1 + (1 − α ) * ni .
^ ^

La variación es computada como:

v i = α * v i −1 + (1 − α ) d i − ni .
^ ^ ^

Este algoritmo es básicamente un filtro recursivo lineal y es caracterizado por el factor α.


según los estudios experimentales α = 0.998002.

2.2.3 Algoritmo 2

El segundo algoritmo es una pequeña modificación del primer algoritmo. La idea es usar
diferentes valores de α, uno para la tendencia hacia el incremento del retardo, y el otro para
la tendencia a la disminución del retardo.

^
If ( ni > d i ) then

d i = β * d i + (1 − β ) * ni
^ ^

else

d i = α * d i −1 + (1 − α ) * ni .
^ ^

Según los estudios experimentales β =0.75 y α=0.998002, la estimación de la media y la


varianza del retardo se mantienen como en algoritmo 1.
CAPÍTULO 2. MATERIALES Y METODOS
22

2.2.4 Alogoritmo 3

El tercero algoritmo utiliza el retardo mínimo de todos los paquetes recibidos en la ráfaga
de audio anterior (k-1) como el retardo medio.

{
d i [k ] = min n i =1.. N [k − 1]}; .
^

2.2.5 Algoritmo 4

Este algoritmo sirve para ajustar los picos. En la figura muestra un pico típico del retardo
de los paquetes, el cual constituye un aumento grande del retardo extremo – extremo en la
red (ni en la figura 2.1), seguido por una serie de los paquetes que llegan casi
simultáneamente (en la figura 2.2, cada paquete es representado por un punto).

Figura 2.2: Pico típico del retardo de los paquetes (Ramjee et al., 1994).

Los primeros algoritmos no se adaptan lo suficiente rápido en el caso de los picos, tomando
mucho tiempo para aumentar sus estimaciones de retardo y para decrecer cuando el pico se
acaba. Este algoritmo tiene dos modos de operación, dependiendo de si se ha detectado un
pico. Para cada paquete que llega al receptor, el algoritmo comprueba el modo actual y en
el caso necesario, cambia su modo. Si un paquete llega con retardo que es más grande que
un umbral dado (por ejemplo un cierto múltiplo del actual retardo), el algoritmo cambia a
modo del pico. La detección de la terminación del pico hace uso de una variable “var” para
ajustar la pendiente del pico. Cuando su valor es bastante pequeño, el algoritmo regresa a
modo normal.
CAPÍTULO 2. MATERIALES Y METODOS
23

1. ni = receiver _ timestamp − sender _ timestamp

2. if (mod e == NORMAL ) {

^
if (abs (ni − ni −1 ) > abs v  * 2 + 800 ) {
 

var = 0; / *detected beginning of spike */

mod e = IMPULSE ; }

else {

var = var/ 2 + abs ((2ni − ni −1 − ni − 2 ) / 8);

if (var <= 63) {

mod e = NORMAL; /* end of spike*/

ni − 2 =n i −1;

ni −1 = n i ;

return;

3. if (mod e == NORMAL )

^ ^
d i = 0.125 * ni + 0.875 * d i −1 ;

else

^ ^
d i = d i −1 + ni − ni −1 ;

^
 ^
 ^
v i = 0.125 * abs ni − d i  + 0.875 * v i −1 ;
 

4 ni − 2 =n i −1;
CAPÍTULO 2. MATERIALES Y METODOS
24

ni −1 = n i ;

return;

2.2.6 Comparación y discusión de resultados

Según (Ramjee et al, 1994) el objetivo principal de de los cuatro algoritmos es mantener la
razón de pérdida del paquete debajo del 5% y el retardo de reproducción (el retardo de
buffer) tan pequeño como sea posible. Por tanto se evalúa la eficiencia de los algoritmos de
reproducción usando experimentalmente las mediciones de tráfico de audio en varios
puntos diferentes de Internet.

Tabla 2.1: Las trazas usadas para la evaluación de eficiencia

En el resultado de la comparación entre los algoritmos, se puede ver que el algoritmo


adaptativo (algoritmo 4) puede ajustar explícitamente a los incrementos agudos o los picos
largos de incremento de los retardos de paquetes con baja razón de paquetes perdidos (ver
resultado en anexo 2).

2.3 Breve introducción al algoritmo de reproducción de los paquetes en VoIP


usando la estimación adaptativa del retardo de la red.

Una estrategia estándar del buffer de la reproducción utiliza la estimación del retardo
medio y de la varianza del retardo en la red para ajustar el tiempo de reproducción de los
paquetes. Esta estimación es caracterizada por un factor fijo, constante (factor α). En
(Narbutt y Murphy, 2003) se demostró que este parámetro no trabaja muy bien para todas
las condiciones de la red. Por lo tanto propone ampliar la estrategia estándar del buffer
substituyendo el factor α fijo por un factor dinámico. En este algoritmo, el factor α se ajusta
dinámicamente según las variaciones del retardo. Cuando estas variaciones son altas
CAPÍTULO 2. MATERIALES Y METODOS
25

(implica que las condiciones de la red están cambiando), el parámetro α tiene un valor bajo,
y viceversa. Esto permite una adaptación rápida a las variaciones de la red y reduce el
tamaño del buffer. Las simulaciones y los resultados experimentales, demuestran que este
nuevo algoritmo del buffer de reproducción puede mejorar perceptiblemente la
compensación entre la pérdida de los paquetes y el tamaño del buffer.

2.3.1 Motivación del algoritmo

El algoritmo estima dos estadísticas: la media y la varianza del retardo extremo a extremo
durante una ráfaga de audio y las utiliza para calcular el tiempo de reproducción de los
paquetes:

d i = α * d i −1 + (1 − α ) * ni ;
^ ^

v i = α * v i −1 + (1 − α ) d i − ni ;
^ ^ ^

En el algoritmo del epígrafe 2.2, el factor α es fijo y alto (α = 0.998002) para limitar la
sensibilidad de la estimación a los términos pequeños del jitter. Mediante experimentos
con diversos valores de α se observó que un valor alto de α es bueno solamente cuando las
condiciones de la red son estables (retardo y jitter son constante). Cuando las condiciones
de la red cambian rápidamente (aumentos o disminuciones repentinos del retardo), los
valores más pequeños de α (0.7, 0.8, 0.9) son más apropiados.

En la figura 2.3 se ilustra que cuando las condiciones de la red cambian rápidamente, este
algoritmo trabaja mejor con los valores pequeños del factor α. Consecuentemente se
pierden menos paquetes (de 3.5% a el 1%) y el tamaño del buffer es más pequeño (de
27.8ms a 7.4ms).
CAPÍTULO 2. MATERIALES Y METODOS
26

Figura 2.3: Tiempos de reproducción calculados para dos valores de α (Narbutt y


Murphy, 2003).

La figura 2.4 demuestra que no hay un valor fijo óptimo cuando la condición de la red varía
en tiempo.
CAPÍTULO 2. MATERIALES Y METODOS
27

Figura 2.4: Tiempos de reproducción calculados para varios valores de α (Narbutt y


Murphy, 2003).

Cuando el jitter es pequeño y el retardo medio de la red es grande (Fig. 2.4), los mejores
resultados se alcanzan con α pequeña. En este caso, la razón de la pérdida del paquete y el
tamaño del buffer es relativamente pequeño (3.7% de paquetes perdidos y de 2.7 ms del
tamaño de buffer). Con α=998002, la razón de la pérdida del paquete es alto (11.7%), y el
tamaño de buffer es mucho más grande que el necesario (36.6ms).

Por otra parte cuando el jitter es grande pero el retardo medio de la red es constante), los
mejores resultados se alcanzan con α=0.998002 (Narbutt y Murphy, 2003).

2.3.2 Algoritmo del buffer de reproducción con α adaptativo.

La idea detrás de este algoritmo es ajustar adaptativamente el valor del α, dependiendo en


la variación del retardo en la red (α tiene un valor grande cuando las variaciones extremo-
extremo son pequeñas y viceversa). Este parámetro α dinámico (recalculado para cada
paquete entrante) se puede utilizar para realizar la estimación de la media y la varianza del
retardo de la red de la misma manera que antes.

α i es el parámetro dinámico basado en las nuevas estimaciones de la varianza del retardo


^
extremo-extremo v / i entre la fuente y la destinación:

 ^/ 
α i = f  vi ,
 
CAPÍTULO 2. MATERIALES Y METODOS
28

^
Donde la función f ( v / i ) fue elegida experimental para maximizar el funcionamiento del
algoritmo.

El parámetro dinámico α i ahora se utiliza para las estimaciones adaptantes del retardo
promedio y su variación:

d i = α i * d i −1 + (1 − α i ) * ni ;
^ ^

v i = α i * v i −1 + (1 − α i ) d i − ni ;
^ ^ ^

Finalmente el tiempo de reproducción del paquete i, (supone que es el primer paquete en la


ráfaga de audio) se calcula como:
^ ^
pi = t i + d i + β * v i ;

El parámetro ß controla la relación entre retardo /razón de la pérdida

Cualquier paquete subsiguiente de esa ráfaga de audio es reproducido hacia fuera con el
mismo periodo de la generación de los paquetes en el emisor - es decir:
p j = pi + t j − t i ;

Figura 2.5: Estimación de tiempo de reproducción (Narbutt y Murphy,


2003).
CAPÍTULO 2. MATERIALES Y METODOS
29

2.3.3 Medición y comparación experimentales del algoritmo con α adaptativo.

En (Narbutt y Murphy, 2003) se realizó un experimento para examinar el funcionamiento


de este algoritmo con emulaciones de la red (NISTNET 2.1.0 network emulation software).
La figura 2.6 muestra el retardo y el histograma de retardo experimentado por los paquetes
de audio durante una hora del experimento. La compensación de retardo contra la pérdida
de paquete de los dos algoritmos se muestra en figura 2.6.

Figura 2.6: El retardo y el histograma de retardo experimentado por los paquetes de


audio, y la compensación de retardo contra la pérdida de paquete de los dos
algoritmos.
CAPÍTULO 2. MATERIALES Y METODOS
30

La comparación de la eficiencia de los algoritmos para una traza entera de la red se


demuestra en figura 2.7.

Figura 2.7: Tiempos de reproducción calculados para α fijo y α adoptivo (Narbutt y


Murphy, 2003).

2.3.4 Evaluación del algoritmo con prueba subjetiva.

El modelo E fue utilizado para evaluar la calidad subjetiva del algoritmo, se determinaron
la calidad de transmisión y la satisfacción subjetiva del usuario sobre un período de una
hora. Las figuras 2.8 y 2.9: muestran el nivel de satisfacción del usuario (basados en
valores calculados de R) para dos tipos de cancelación de eco (TELR=55, 65) y para varios
parámetros de α (0.8, 0.9, 0.998, dinámicos). El mejor valor de R (71% muy satisfecho)
cuando TELR=65 se alcanza con α dinámico. El segundo lugar de satisfacción se alcanza
con α = 0.8 fijo (47% con resultados muy satisfecho). Cuando el nivel de cancelación del
eco es TELR=55dB, el mejor nivel de satisfacción del usuario se alcanza nuevamente con
el algoritmo de α dinámico (el 85 % satisfecho) mientras que con α =0.8, obtiene solamente
50% satisfecho
CAPÍTULO 2. MATERIALES Y METODOS
31

Figura 2.8: Nivel de satisfacción del usuario para varios tipos de α cuando TELR=65
(Narbutt y Murphy, 2003).

Figura 2.9: Nivel de satisfacción del usuario para varios tipos de α cuando TELR=55
(Narbutt y Murphy, 2003).
CAPÍTULO 2. MATERIALES Y METODOS
32

Los algoritmos presentados en las secciones 2.2 y 2.3 ajustan el tiempo de reproducción de
los paquetes en la ráfaga de silencio, esto significa que el ajuste no se realiza con los
paquetes dentro de la misma ráfaga, sino con el primer paquete de cada ráfaga de audio. A
continuación, se hace un estudio sobre otro tipo de algoritmo de buffer, en el que el tiempo
de reproducción no solamente se ajusta en períodos del silencio, sino también dentro de
ráfaga de audio

2.4 Breve introducción al algoritmo de control de playout delay para la VoIP


utilizando alteración en la escala de tiempo

En los algoritmos que ajustan adaptativamente el tiempo de reproducción en los intervalos


de silencio, una conversación típica se puede dividir en las ráfagas de audio y los periodos
del silencio. El tiempo de reproducción de una nueva ráfaga de audio puede por lo tanto ser
ajustado prolongando o acortando los períodos del silencio entre las ráfaga de audio. Sin
embargo, la eficacia es limitada cuando las ráfaga de audio son largas, y la variación del
retardo de la redes es alta dentro de las ráfagas de audio.

En el nuevo algoritmo, el tiempo de reproducción no solamente se ajusta en períodos de


silencio, sino también dentro de las ráfagas de audio. Cada paquete individual puede tener
programado un tiempo de reproducción diferente, que se fija según la variación estadística
del retardo. Este método se ilustra en figura 2.10. Para la misma variación del retardo de la
red, el nuevo algoritmo puede atenuar con eficacia la pérdida de los paquetes, y adapta el
tiempo de reproducción de una manera dinámica y reactiva con mejores resultados que los
algoritmos anteriores (Liang, Farber y Girod, 2001).

Figura 2.10 a: Buffer con tamaño fijo.


CAPÍTULO 2. MATERIALES Y METODOS
33

Figura 2.10b: Buffer que ajusta tiempo de reproducción en los intervalos de silencio.

Figura 2.10c: Buffer que ajusta tiempo de reproducción en cualquier momento.

2.4.1 El principio básico del nuevo algoritmo.

Figura 2.11: Relación entre los tiempos (Liang, Farber y Girod, 2001).
CAPÍTULO 2. MATERIALES Y METODOS
34

En la figura 2.11, los tiempos de transmisión, recepción y reproducción del paquete i se


denotan por t ri , t si , t ip respectivamente, donde i = 1, 2... N denota el número de secuencia

del paquete.

El emisor transmite los paquetes con razón constante Lo:

t si +1 − t si = Lo = const ;

El tamaño de buffer es dado por d ip = t ip − t ri ;

El retardo de la red d ni es: d ni = t ri − t si ;

El retardo total extremo – extremo d ti = d ni + d ip

También el número de los paquetes enviados en una ráfaga de audio se denota por N, y el
número de los paquetes recibidos por R = {i | tir < ∞}

El algoritmo tiene que fijar el retardo total máximo permitido (el plazo de la reproducción)

. En los algoritmos a y b de la figura 2.10 d max = d max = const para


i i
para cada paquete d max
todos los paquetes que pertenece al misma ráfaga de audio. Solamente el algoritmo c (este
algoritmo), la adaptación es realizada en la base del paquete al paquete. Consecuentemente,
la longitud de los paquetes los que son reproducidos hacia fuera puede diferenciar para cada
paquete, es decir

t ip+1 − t ip = Li ;

Donde Li es la longitud alcanzada (en tiempo) del paquete audio.

Ahora se definirán los dos parámetros más importantes para este algoritmo. El primero es
el tamaño promedio de buffer, es dado por.

∑ (d )
1
dp = i
− d ni , (2)
ρ ρ i∈
max

Donde ρ es el número de los paquetes reproducidos.

El segundo parámetro asociado con la razón de la pérdida de los paquetes

ε l = ( R − ρ )/ N .
CAPÍTULO 2. MATERIALES Y METODOS
35

Los dos parámetros reflejan la compensación entre la pérdida y retardo

La razón de pérdida en el enlace es: ε n = (N − R ) / N .

La razón de pérdida total es la suma de los dos parámetros: ε n + ε l .

La operación básica del proceso de reproducción como siguiente: cuando llega un paquete
nuevo i, su retardo de la red d ni se obtiene desde el encabezado de RTP. El retardo d ni junto

con los retardos pasados, se toman en la consideración a la estimación del retardo d ni +1 y al

tiempo de la reproducción t ip+1 del paquete entrante siguiente

i
Desde ecuación 2, si el límite de reproducción d max se elige cerca bastante a d ni , el tamaño
de buffer puede ser reducido
i +1
En el tiempo i, ajusta d max y el tiempo de reproducción t ip+1 para el paquete i +1 usando la

estadística de los retardos pasados. Los datos y el histograma del retardo de los últimos
paquetes ω se recogen y se guardan, y el histograma de los pasados retardos acumulado en
el tiempo i se denota por h i (d n ) , con símbolo i que indica el tiempo en que el histograma es
actualizado
∞ ∞

∑ h (d ) / ∑ h (d ).
^
εl ≤ i
n
i
n
i +1 d n =0
d n = d max

^ i +1
El tamaño del buffer esperado d b del paquete i+1 es:
i +1 i +1
^ i +1
∑ (d )
d max d max
db = i +1
max − d n h (d n ) /
i
∑ h (d ).i
n
d n =o d n =0

2.4.2 Medición y comparación experimentales del algoritmo de control de playout


delay para la VoIP utilizando alteración en la escala de tiempo.

En (Liang, Farber y Girod, 2001) se compara el funcionamiento de los tres algoritmos


descritos en sección 2.4 (Buffer con tamaño fijo, buffer que ajusta tiempo de reproducción
en los intervalos de silencio, buffer que ajusta tiempo de reproducción en cualquier
CAPÍTULO 2. MATERIALES Y METODOS
36

momento) a partir de experimentos específicos. Los resultados de los experimentos se


muestran en la figura 2.12 que siguen:

Figura 2.12: Resultados de los experimentos.

En la figura 2.12 muestra la razón total de la pérdida (equivalente a la razón de pérdida de


los paquetes retrasados más la razón de pérdida del enlace) contra el tamaño del buffer
usando los diferentes algoritmos para las cuatro trazas. Con la misma razón de la pérdida
total de 5% para la traza 1, el algoritmo3 puede reducir 40.0 ms del tamaño de buffer en
comparación con el algoritmo1 y 31,5 ms en comparación con el algoritmo2. Si se permite
el mismo tamaño de buffer para los algoritmos, el algoritmo 3 tiene la razón de pérdida
más baja. Para la traza 1, con el mismo tamaño de buffer de 40 ms, la razón total de la
pérdida del algoritmo 3 es más que 10% menor que la de los algoritmos 1 y 2. Reducciones
similares en el tamaño de buffer y la razón de pérdida también se obtienen con las trazas 2-
4.

En las secciones previas, se presentan las características de los 2 tipos de algoritmos de


reproducción de buffer, uno trabaja con ajuste en la ráfaga de silencio, y otro ajusta en
cualquier momento. A continuación se introduce los conocimientos brevemente sobre las
herramientas que se van a utilizar para el esquema de evaluación de algoritmo.
CAPÍTULO 2. MATERIALES Y METODOS
37

2.5 Herramientas para la aplicación y el estudio del jitter.

2.5.1 MATLAB

Este programa esta disponible en el entorno de la UCLV y es dominado por estudiantes y


profesores; debido a sus grandes cualidades en cuanto al procesamiento, programación y
manejo de datos puede ser empleado no solo para el cálculo sino también para realizar
diferentes simulaciones y gráficos a partir de datos importados por la aplicación. Por estas
razones Matlab puede ser empleado para la programación de los algoritmos; en nuestro
caso particular es empleado para, una vez filtradas las trazas de tráfico, ejecutar el
algoritmo y almacenar y graficar los resultados lo cual resulta conveniente para los
algoritmos que aquí se analizan.

2.5.2 Network Simulator (NS).

NS-2 es un simulador de redes para modelar varias situaciones experimentales que nos
permitan analizar el comportamiento del jitter en diversos ambientes. Esta es la segunda
versión de una herramienta desarrollada por el proyecto VINT la cual es ampliamente
usada por la comunidad de investigadores en redes. Existen diferentes niveles de
configuración en NS-2 al ser del tipo “open source”. NS -2 posee la capacidad de crear
aplicaciones y protocolos personalizados y soporta varias fuentes de generación de tráfico
como son: Web, FTP, CBR…. La disponibilidad y gran desempeño de NS hacen de él una
atractiva herramienta para la simulación de tráfico, estas cualidades unidas a la flexibilidad
de programación y el bajo costo, propiciaron la elección de este software por encima de
OPNET.
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
38

CAPÍTULO 3. RESULTADOS Y DISCUSIÓN

En el capítulo 2, se hizo un análisis sobre 2 tipos de algoritmo de reproducción: aquellos


que ajustan los parámetros del buffer de reproducción durante el tiempo de ráfaga de
silencio y los que ajustan en cualquier momento. Al final del capítulo se hizo una revisión
de las herramientas a utilizar en el estudio del desempeño de algoritmos para reproducir los
paquetes de audio. En el presente capítulo, se analiza mediante el uso de estas herramientas
el desempeño del algoritmo de Ramjee (Ramjee et al, 1994), con α fijo. La elección de este
algoritmo responde a las razones que se expresan a continuación: la intención principal de
este ejemplo es la de presentar un esquema para evaluación de algoritmos más que obtener
resultados concretos, este algoritmo es relativamente simple y por lo tanto se hace menos
compleja su implementación .

Para la realización de la evaluación de este algoritmo, se usan las herramientas Matlab y


Network Simulator (NS -2). Los códigos del algoritmo se programan en Matlab y las trazas
de paquetes de audio se obtienen mediante simulación usando NS-2.

3.1 Esquema de evaluación de algoritmo.

A partir de los esquemas de evaluación consultados en la bibliografía, y de las experiencias


que se obtienen durante la exploración de un grupo de herramientas, se sugiere como vía de
evaluación de los algoritmos la siguiente:

Para la programación de los algoritmos, se sugieren el uso de Matlab. La razón de esta


elección radica tanto en las cualidades de esta herramienta como en la disponibilidad de la
información, la facilidad en el uso y su difusión. Para la obtención de las trazas mediante
simulación se sugiere el uso de NS2 por su disponibilidad y gran desempeño. La elección
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
39

de NS sobre OPNET tiene que ver con el costo y con la flexibilidad en la programación.
Para la captura de tráfico real y atendiendo a la disponibilidad de los mismos se proponen
los siguientes elementos:

 Softphone XLITE.

 IP phone budgetone 200.

 PBX asterisk.

 Ethereal (analizador de red).

Durante el proceso de análisis, se filtran las trazas, tomando los campos significativos, se
importan desde Matlab. Posteriormente se ejecuta el algoritmo, y se almacenan y grafican
los resultados. Este esquema resulta apropiado para algoritmos como los que aquí se
analizan, sin embargo existen algoritmos donde los parámetros del emisor se ajustan
mediante retroalimentación del desempeño en el receptor. Para este tipo de algoritmo no
resulta adecuada la implementación en Matlab.

3.2 Tráfico simulado de una aplicación de VoIP combinado con tráfico de FTP.

A continuación se describe como se obtienen las trazas de tráfico de voz. Para simular un
ambiente cercano a las condiciones que aparecen en escenarios con tráfico diverso, se
combina el tráfico de la fuente de voz con tráfico FTP.
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
40

3.2.1 Topología.

Figura 3.1: Topología de simulación

La topología de la simulación se muestra en la figura 3.1, las características de los


elementos que las componen son las siguientes:

 Los nodos 2, 3, 4, 5 se conectan con el router1 a una razón de10 Mbps, y un retardo
de 10ms.
 Los nodos 6, 7, 8, 9 se conectan con el router 2 a una razón de 10 Mbps, y un
retardo de 10ms.
 El router1 se conecta con el router 2 a una razón variable, depende de cada
simulación, y a un retardo de 10ms.
 El tipo de buffer usado es el DropTail, que es el tipo más simple de buffer. La caída
de los paquetes ocurre solamente cuando buffer está lleno (estructura FIFO).
 El límite de cola utilizado para cada uno de los enlaces es de 80 paquetes.
3.2.2 Las características del tráfico de VoIP.

Las conexiones VoIP se basan en agentes UDP que ofrecen un flujo constante de paquetes
y no son afectados por la pérdida de paquetes en términos de la generación del tráfico, es
decir no hay ni retransmisión, ni ningún ajuste de razón de transmisión de los paquete. La
generación del tráfico es ON-OFF, significa que los paquetes pueden transmitir con la
máxima razón o no (Viipuri, 2002).
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
41

set udp0 [new Agent/UDP]; # A UDP agent

$ns attach-agent $n (3) $udp0; # on node $n0

set null0 [new Agent/Null]; # Its sink

$ns attach-agent $n(4) $null0; # on node $n4

$ns connect $udp0 $null0

Este programa sirve para crear una conexión UDP entre dos nodos. En NS2, un agente
UDP es el servidor y un agente NULL es el cliente de la conexión.

Se puede configurar los parámetros de tráfico exponencial como:

set expoo [new Application/Traffic/Exponential].

$expoo attach-agent $udp0

$expoo set packetSize_ 60 indica el tamaño del paquete.

$expoo set burst_time_ 1000ms indica el tiempo promedio activo del generador.

$expoo set idle_ 1500ms el tiempo promedio inactivo del generador.

$expoo set rate_ 24kb es la razón de transmisión durante los periodos activos.

El código fuente del generador de tráfico se puede ver en anexo 3

3.2.3 Resultado de la simulación en network Simulator 2 (NS- 2).

Hay dos tipos de fichero de resultado en NS-2, como se muestran en tabla 3.1 y tabla 3.2

las trazas de salida en formato NAM y TR.

Tabla 3.1: Las trazas de salida en fichero NAM

- -t 0.490368 -s 2 -d 0 -p tcp -e 1040 -c 1 -i 34 -a 1 -x {2.0 7.0 13 ------- null}

h -t 0.490368 -s 2 -d 0 -p tcp -e 1040 -c 1 -i 34 -a 1 -x {2.0 7.0 -1 ------- null}

- -t 0.4912 -s 2 -d 0 -p tcp -e 1040 -c 1 -i 35 -a 1 -x {2.0 7.0 14 ------- null}

h -t 0.4912 -s 2 -d 0 -p tcp -e 1040 -c 1 -i 35 -a 1 -x {2.0 7.0 -1 ------- null}

r -t 0.491426848888187 -s 5 -d 0 -p exp -e 60 -c 0 -i 27 -a 0 -x {5.0 6.0 13 ------- null}

+ -t 0.491426848888187 -s 0 -d 1 -p exp -e 60 -c 0 -i 27 -a 0 -x {5.0 6.0 13 ------- null}


CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
42

- -t 0.491426848888187 -s 0 -d 1 -p exp -e 60 -c 0 -i 27 -a 0 -x {5.0 6.0 13 ------- null}

h -t 0.491426848888187 -s 0 -d 1 -p exp -e 60 -c 0 -i 27 -a 0 -x {5.0 6.0 -1 ------- null}

r -t 0.491522848888187 -s 1 -d 6 -p exp -e 60 -c 0 -i 26 -a 0 -x {5.0 6.0 12 ------- null}

Tabla 3.2: Las trazas de salida en fichero TR

1 2 3 4

r1.675136 1 0 ack 40 ------- 1 7.0 2.0 1191 2507

+ 1.675136 0 2 ack 40 ------- 1 7.0 2.0 1191 2507

- 1.675136 0 2 ack 40 ------- 1 7.0 2.0 1191 2507

r 1.675184 0 2 ack 40 ------- 1 7.0 2.0 1179 2482

+ 1.675184 2 0 tcp 1040 ------- 1 2.0 7.0 1279 2557

r 1.675458 5 0 exp 60 ------- 0 5.0 6.0 61 2533

+ 1.675458 0 1 exp 60 ------- 0 5.0 6.0 61 2533

- 1.675904 2 0 tcp 1040 ------- 1 2.0 7.0 1257 2512

En esta tesis se usa fichero TR para importar los resultados desde Matlab. De todos los
campos en este fichero, resultan de interés:

1: Los tipos de evento.

2: Instante de tiempo del evento correspondiente.

3: Los tipos de tráfico.

4: Identificador único del paquete.


CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
43

3.3 Implementación de algoritmo de la reproducción de buffer.

Como se explicó al principio del capítulo, la implementación del algoritmo se programa


en Matlab. Es importante destacar los siguientes detalles de la programación:

 El tamaño inicial de buffer es 40 ms.

 El retardo medio y su varianza se calculan para todos los paquetes, pero solo se
usan para calcular el tamaño nuevo de buffer

 Dentro de cada ráfaga de audio, el tamaño del buffer es constante y cuando el buffer
detecta un intervalo de silencio (mayor que 0.1s), el tamaño del buffer cambia para
ajustar tiempo de reproducción de los paquetes.

 Cuando hay un intervalo de silencio menor que 0,1s, el algoritmo no es capaz de


detectarlo. En este caso, el tamaño de buffer no cambia.

 Cuando hay muchos paquetes perdidos, el algoritmo puede interpretar erróneamente


esta situación como ráfaga de silencio.

(El código fuente del algoritmo se puede ver en anexo 4).

3.4 Análisis de resultados

A continuación se comentan los resultados del desempeño del algoritmo para diferentes
valores de α y diferentes condiciones de la red:

3.4.1 Resultados obtenidos con α =0.998, la razón de transmisión entre los router 1 y
2 es de 10 Mbps.
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
44

Se puede ver que en este caso el retardo de la red es bastante pequeño, no supera los 100ms
(figura 3.2) y los valores de jitter no superan los 10ms, los intervalos que aparecen vacíos
se corresponden a períodos de silencio (figura 3.3). En cuanto al comportamiento del jitter
después de pasar el buffer (no hay ningún paquete desechado por buffer) (Figura 3.4), es
importante notar que los valores de 80ms, 20ms son el resultado de ráfagas de silencio
inferiores a 100ms y como se explicó en 3.2, no se detectan en el algoritmo. Este interpreta
a los paquetes mencionados como paquetes que están en la ráfaga de audio que le precede.
El cálculo de jitter del paquete i se efectúa de la forma siguiente:

Jitter (i) = tiempo de retransmisión de paquete i – tiempo de retransmisión de paquete i-1.

Si ocurren pérdidas de paquetes no se procede a realizar el cálculo hasta que se reciba dos
paquetes sucesivos. El primer paquete recibido luego de ocurrir alguna pérdida es tratado
como el nuevo primer paquete en el algoritmo que determina los valores del jitter.
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
45

Figura 3.4: comportamiento de jitter antes de pasar buffer

Para las condiciones descritas no se pierden paquetes como resultado del funcionamiento
del algoritmo, para el segmento de traza escogido, el algoritmo realiza 13 ajustes de tamaño
de buffer de reproducción, y el valor promedio no supera los 86 ms.

Tabla 3.3: Tamaño de buffer

Número 1 2 3 4 5 6 7
de ajustes

Tamaño 0,0658 0.079506 0.085928 0.08324 0.083019 0.083282 0.091453


de buffer

Número 8 9 10 11 12 13
de ajustes

Tamaño 0.09192 0.09269 0.091148 0.090835 0.092058 0.093307


de buffer
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
46

3.4.2 Resultados obtenidos con α =0.885, la razón de transmisión entre los router 1 y
2 es de 10 Mbps.

Con condiciones de la red como en la sección 3.4.1, pero con un valor de α que cambia
(de 0.998 hasta 0.885), el algoritmo realiza también 13 ajustes de tamaño de buffer de
reproducción, pero el valor promedio de buffer es aproximadamente de 45 ms.

Figura 3.5: Tamaño de buffer con α =0.885

En este caso el tamaño del buffer no es lo suficientemente grande para acomodar las
variaciones de la demora. Hay 32 paquetes desechados en el buffer de reproducción.

Se debe notar en la figura 3.6 la presencia de intervalos vacíos que se corresponden con los
paquetes rechazados
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
47

Figura 3.6: Comportamiento de jitter después de pasar buffer


CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
48

3.4.3 Resultados obtenidos con α =0.998, la razón de transmisión entre router 1 y


router 2 es 5 Mbps.

En este caso, el ancho de banda entre los routers se disminuye (de 10Mbps a 5Mbps), esto
significa que causa un incremento del retardo y del jitter en la transmisión. Como se puede
notar en las figuras 3.7 y 3.8, el retardo extremo a extremo de la red aumenta
aproximadamente a 150 ms y el jitter alcanza los 20 ms. Para estas nuevas condiciones el
tamaño promedio de buffer se incrementa (hasta 160ms (Figura 3.9). Las pérdidas durante
de la transmisión alcanzan los 23 paquetes, y el algoritmo desecha 162 paquetes.

Nótese en la figura 3.10, que el intervalo entre los 0,8 y 4ms se corresponde con una cadena
de paquetes desechados por el algoritmo. Esta situación es una consecuencia de que para
los parámetros iniciales resulta imposible adaptar el tamaño del buffer durante la primera
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
49

ráfaga. Después del primer intervalo de silencio el algoritmo ajusta los parámetros y reduce
la cantidad de paquetes rechazados.

Figura 3.9: Tamaño de buffer.

Figura 3.10: Comportamiento de jitter después de pasar buffer.


CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
50

3.5 Conclusiones parciales del capítulo.

Como se aprecia en el ejemplo, cuando la red es bastante estable, el algoritmo se


desempeña adecuadamente con un valor de α alto. En la medida en que empeoran las
condiciones de la red, ese mismo valor de α ya no es adecuado. En general, cuado las
condiciones de la red tiene una dinámica alta, el algoritmo con α fijo tiene resultado poco
alentadores.
CONCLUSIONES Y RECOMENDACIONES
51

CONCLUSIONES Y RECOMENDACIONES

Conclusiones

En este trabajo se arriba a las siguientes conclusiones

1. Aunque es cierto que existe un esfuerzo importante en el desarrollo de mecanismos


que garanticen QoS para redes IP no parece probable que se defina una solución
universal a mediano o corto plazo. Esta situación estimula las investigaciones
relacionadas con los mecanismos de control de jitter para garantizar una calidad
adecuada para los servicios interactivos en tiempo real.

2. Hasta este momento no existe un algoritmo único universalmente aceptado para el


control de jitter. Los algoritmos propuestos tienen desempeños disímiles para
escenarios concretos. Es muy importante contar con herramientas y métodos que
permitan la evaluación de los mismos.

3. En este trabajo se hizo un estudio detallado sobre las variantes de dos tipos de
algoritmo para buffer de reproducción de audio, uno que ajusta durante las ráfagas
de silencio, y otro que ajusta en cualquier momento.

4. Se exploraron herramientas que permiten implementar y evaluar algoritmos de


buffer de reproducción. Se seleccionó el algoritmo de Ramjee (Ramjee et al, 1994)
como caso de estudio para ilustrar el uso de dichas herramientas y se discutieron los
resultados de la evaluación que coinciden con los resultados teóricos descritos en la
literatura consultada.

5. El esquema de evaluación propuesto básicamente consiste en obtener trazas de


tráfico, reales o simuladas mediante NS2, fíltralas y utilízalas en la evaluación del
desempeño de algoritmos de reproducción de audio escritos en Matlab. Este
CONCLUSIONES Y RECOMENDACIONES
52

esquema resulta apropiado para algoritmos como los que aquí se analizan, sin
embargo existen algoritmos donde los parámetros del emisor se ajustan mediante
retroalimentación del desempeño en el receptor. Para este tipo de algoritmo no
resulta adecuado la implementación en Matlab

Recomendaciones.

En épocas recientes se han diseñado algoritmos que toman la evaluación de la calidad


percibida como un elemento en el funcionamiento del mecanismo de control del buffer de
reproducción. Aunque en el presente trabajo se describen los métodos para evaluación de la
calidad, no se analiza ningún algoritmo de este tipo. Teniendo en cuenta la creciente
importancia de este tipo de algoritmo se recomienda la evaluación de los mismos.
REFERENCIAS

1. AGUILAR, M. J. (2005) “Teléfono software basado en SIP e implementación de


PESQ”. Facultad de ingenieria. Bogota, Universidad Javeriana.

2. BALAN, V. (2006) “An Experimental Evaluation of Voice-over-IP Quality over the


Datagram Congestion Control Protocol”. School of Engineering and Science
International University Bremen.

3. BOLOT, J. C., CREPIN, H. & GARCIA, A. (2005) “Analysis of audio packet loss
in the Internet”. Proc.International Workshop on Network and Operating System
Support for Digital Audio and Video (NOSSDAV). Durham.

4. CLARK, A. (2003) “Analysis, measurement and modelling of Jitter”. International


telecommunication union. Geneva, Telchemy Incorporated.

5. CISCO SYSTEMS, INC. (2006) “Understanding Jitter in Packet Voice Networks”.


[En línea], disponible en
www.cisco.com/en/US/tech/tk652/tk698/technologies_tech_note09186a00800945df
.shtm. [Consultado el día 17 de enero de 2008].

6. FERRARI, D. & VERMA, D. (1990) “A scheme for real-time channel


establishment in wide-area networks” en I EEE Journal on Selected Area sin
Communications, vol. 8 no. 3, pp. 368–379.

7. GRUTA, D. (2007) “Improvements areas in QoS for VoIP solution”. Internacional


conference on software testing.

8. ITU-D. (2003) “The Essential Report on IP Telephony”. [En línea], disponible en:
http://www.itu.int/ITU-D/e-strategy/publications-articles/pdf/IP-tel_report.pdf.
[consultado el día 11 de mayo de 2007].
9. JACOBSON, V. (1988) “Congestion avoidance and control”. Procc.1988ACM
SIGCOMM Conf. Standford.

10. JON POSTEL, editor (1981) “Transmission Control Protocol specification”.


ARPANET Working group Requests for Comment. ARPANET Working group
Requests for Comment, RFC 793.

11. LIANG, Y., FARBER, N. & GIROD, B. (2001) “Adaptive playout scheduling
using time-scale modification in packet voice communications” en Revista IEEE
Xplore, 3. Stanford University.

12. NARBUTT, M. & MURPHY, L. (2003) “VoIP Playout Buffer Adjustment using
Adaptive Estimation of Network Delays”. Department of Computer Science.

13. NEUMAN, A., (2007) Telefonía IP 2. (VoIP). N&K Panama. [En línea]. Panamá,
disponible en: http://www.nkpanama.com. [Consultado el día 17 de mayo de 2008].

14. RAMJEE, M. et al., (1994) “Adaptive Playout Mechanisms for Packetized Audio
Applications in Wide-Area Networks” en Revista Proc. IEEE Infocom 1994, IEEE
CS Press.

15. RÍOS, A. et al., (2007) Desarrollo de una plataforma de VoIP basada en Software
Libre. [En línea], disponible en: http://www.jornadespl.org/biblioteca/v-
jornades/comunicacions/desarrollo-de-una-plataforma-de-voip-basada-en-software-
libre. [Consultado el día 13 de febrero de 2008].

16. SCHULZRINNE, H. (1993) “Reducing and characterizing packet loss for high-
speed computer networks with real-time services”. University of Massachusetts.

17. SIECKMEYER, C. (1995) “Evaluation of adaptive playout algorithms for packet


audio”. Berlin, Dept.of Electrical Engineering.

18. VIIPURI, T. (2002) “A Case Study of Simulating DiffServ in NS-2”. [En línea],
disponible en www.netlab.hut.fi/opetus/s383180/2005/harj/H3/diffnet.pdf.
[Consultado el día 29 de abril de 2008].
BIBLIOGRAFÍAS

1. BLACK, U. (2000) “Voice over IP” [En línea], New Jersey, Prentice Hall,
Disponible en: \\neumann\e-Books\Network [Accedido: 12 de abril de 2007].

2. HERSENT, O.; GURLE, D. Y J.P., PETIT, (2000) “IP Telephony: packet based
multimedia communications systems”. Addison-Wesley.

3. NARBUTT, M., KELLY, A., MURPHY, L. & PERRY, P. (2005) “Adaptive VoIP
Playout Scheduling:Assessing User Satisfaction”. IEEE Computer Societ.
ANEXOS

ANEXO1: LOS PUNTAJES DE EVALUACIÓN

Tabla1: Escala MOS

Tabla2: Escala ACR


ANEXO 2: Resultado de la comparación entre los algoritmos (Fig. 1- 7).

Figura 1: Comparación usando traza 1(UMASS-INRIA).


ANEXO 2: Resultado de la comparación entre los algoritmos (Fig. 1- 7 ).

Figura 2: Comparación usando traza 2(UMASS-INRIA).

Figura 3: Comparación usando traza 3(UMASS-UCI).


ANEXO 2: Resultado de la comparación entre los algoritmos (Fig. 1- 7 ).

Figura 4: Comparación usando traza 4(UMASS-UCI).

Figura 5: Comparación usando traza 5 (UCI-INRIA).


ANEXO 2: Resultado de la comparación entre los algoritmos (Fig. 1- 7 ).

Figura 6: Comparación usando traza 6 (UMASS-OSAKA).

Figura 7: Comparación usando traza 7 (UMASS-OSAKA).


ANEXO 3: Código fuente del generador de tráfico.

# The preamble

set ns [new Simulator] ;# initialise the simulation

# Predefine tracing

set f [open g729nuevo.tr w]

$ns trace-all $f

set nf [open g729nuevo.nam w]

$ns namtrace-all $nf

#Create nodes

set n(r0) [$ns node]

set n(r1) [$ns node]

#Create more nodes

for {set i 0} {$i < 8} {incr i} {

set n($i) [$ns node]

#Create links between the nodes

for {set i 0} {$i < 4} {incr i} {

$ns duplex-link $n($i) $n(r0) 10Mb 10ms DropTail

$ns queue-limit $n($i) $n(r0) 80

$ns duplex-link $n(r0) $n(r1) 10Mb 10ms DropTail


$ns queue-limit $n(r0) $n(r1) 80

for {set i 4} {$i < 8} {incr i} {

$ns duplex-link $n($i) $n(r1) 10Mb 10ms DropTail

$ns queue-limit $n($i) $n(r1) 80

#Create a TCP agents and attach it to nodes

for {set i 0} {$i < 3} {incr i} {

set tcp($i) [new Agent/TCP]

$tcp($i) set class_ 1

$tcp($i) set window_ 100

$ns attach-agent $n($i) $tcp($i)

set tcpsink($i) [new Agent/TCPSink]

$ns attach-agent $n(5) $tcpsink(0)

$ns attach-agent $n(6) $tcpsink(1)

$ns attach-agent $n(7) $tcpsink(2)

# Create a FTP traffic sources and attach it to TCP agents

for {set i 0} {$i < 3} {incr i} {

set ftp($i) [new Application/FTP] ;# TCP does not generate its own traffic

$ftp($i) attach-agent $tcp($i)

#Connect the traffic sources with the traffic sinks

for {set i 0} {$i < 3} {incr i} {


$ns connect $tcp($i) $tcpsink($i)

$ns at 0.3 "$ftp(0) start"

$ns at 5 "$ftp(1) start"

$ns at 15 "$ftp(2) start"

#Create a UDP agents and attach it to nodes

set udp0 [new Agent/UDP] ;# A UDP agent

$ns attach-agent $n(3) $udp0 ;# on node $n0

set null0 [new Agent/Null] ;# Its sink

$ns attach-agent $n(4) $null0 ;# on node $n4

set expoo [new Application/Traffic/Exponential]

$expoo attach-agent $udp0

$expoo set packetSize_ 60

$expoo set burst_time_ 1000ms

$expoo set idle_ 1500ms

$expoo set rate_ 24kb

$udp0 set class_ 0

$ns connect $udp0 $null0

$ns at 0.1 "$expoo start"

$ns at 10 "$ns detach-agent $n(0) $tcp(0) ; $ns detach-agent $n(5) $tcpsink(0)"

$ns at 40 "$ns detach-agent $n(1) $tcp(1) ; $ns detach-agent $n(6) $tcpsink(1)"

$ns at 60 "finish"

proc finish {} {

global ns f nf
$ns flush-trace

close $f

close $nf

puts "running nam..."

exec nam out.nam &

exit 0

# Finally, start the simulation.

$ns run
ANEXO 4: Código fuente del algoritmo de la reproducción de buffer

fid = fopen('g729nuevo.tr');

C = textscan(fid, '%s %f %n %n %s %n %s %n %f %f %n %n') % importa el fichero de


datos de tráfico

x=439027; % número de eventos ocurridos

timeofevent=zeros(x,1);

timeofevent=C{1,2};

nodesource=zeros(x,1);

nodesource=C{1,3};

nodedest=zeros(x,1);

nodedest=C{1,4};

seqnum=zeros(x,1);

seqnum=C{1,11};

received=strcmp(C{1,1}, 'r');

tráfico =strcmp(C{1,5}, 'exp');

drop=strcmp(C{1,1}, 'd');

trans=strcmp(C{1,1}, '+');

IDdeflujo=zeros(x,1);

IDdeflujo=C{1,8};

dr=0;

rec=0;

tr=0;

for i=1:x
if IDdeflujo(i,1)==0&trans(i,1)==1&nodesource(i,1)==5 % calcula # de los paquetes
transmitidos

tr=tr+1;

elseif IDdeflujo(i,1)==0&drop(i,1)==1 % calcula # de los paquetes perdidos en la


transmisión

dr=dr+1;

elseif IDdeflujo(i,1)==0&received(i,1)==1&nodedest(i,1)==6 % calcula # de los paquetes


recibidos

rec=rec+1;

end

end

sndrop=zeros(dr,2);

time=zeros(rec,2);

transmited=zeros(tr,2);

d=0;

r=0;

t=0;

for i=1:x

if IDdeflujo(i,1)==0&trans(i,1)==1&nodesource(i,1)==5

t=t+1;

transmited(t,1)=timeofevent(i,1);

transmited(t,2)=seqnum(i,1);

elseif IDdeflujo(i,1)==0&drop(i,1)==1

d=d+1;

sndrop(d,1)=seqnum(i,1);
sndrop(d,2)=timeofevent(i,1);

elseif IDdeflujo(i,1)==0&received(i,1)==1&nodedest(i,1)==6

r=r+1;

time(r,1)=timeofevent(i,1);

time(r,2)=seqnum(i,1);

end

end

for i=1:dr

for j=1:tr

if transmited(j,2)==sndrop(i,1);

transmited(j,1)=0;

end

end

end

con =0;

transmited1=zeros(rec,2);

for i =1:rec+dr

if transmited(i,1)~=0

con=con+1;

transmited1(con,1)=transmited(i,1);

transmited1(con,2)=transmited(i,2);

end

end
for i=1: rec

ins_delay(i,1)=time(i,1)-transmited1(i,1); % calcula retardo extremo a extremo de la red

end

dmin=0.05; %demora de propagación+ demora de paquetización

dest_delay=zeros();% delays of packets on a destination side ( inicial JB)

mean_delay = 0.030144;

mean_variance = 0; % cumulative variance

counter=0;

min_JB=0.04; %definir: min_JB % tamaño mínimo de buffer

JB_size=min_JB;

JBbuffer=zeros(rec,1); % aquí empieza la programación de buffer

var=0; % # de ajustes de buffer

counter=0; # de paquetes desechados en buffer

for i = 1: rec-1

if transmited1(i+1,1)-transmited1(i,1)<0.1 %rafaga

mean_variance=0.875*mean_variance+0.125*abs(mean_delay-ins_delay(i,1));

mean_delay=0.875*mean_delay+0.125*ins_delay(i,1);

playout_time=mean_delay+4*mean_variance;

end
if ins_delay(i,1)>dmin+JB_size

dest_delay(i,1)=dmin+JB_size+transmited1(i,1);

dest_delay(i,2)=0; % 0-lost packet

counter=counter+1;

else

dest_delay(i,1)=dmin+JB_size+transmited1(i,1); % delay including JB

dest_delay(i,2)=1; % 1 - arrived packet

dest_delay(i,3)=mean_delay;

dest_delay(i,4)=mean_variance;

dest_delay(i,5)=playout_time;

dest_delay(i,6)=time(i,2); % # de secuencia de los paquetes

end

if transmited1(i+1,1)-transmited1(i,1)>0.1

% intervalo de silencio

% ajustar los parámetros.

var=var+1;

JB_size=max(playout_time, dmin+min_JB)-dmin; # cambia tamaño de buffer

JBbuffer(var,1) =JB_size;

end

end

Вам также может понравиться