A medida que las redes originalmente diseñadas para datos deden adoptar también la VoIP se requieren mecanismos que nos aseguren que la voz tendrá prioridad, esto debido a que las conversaciones telefónicas ocurren en tiempo real, de manera que es inaceptable que los paquetes de VoIP lleguen tarde o demasiado tarde o no lleguen nunca.
Para resolver este problema se han creado mecanismos para asegurarnos de que los paquetes de VoIP sean priorizados dentro de una red, lo que se denomina calidad de servicio (QoS).
Los factores que intervienen en la calidad de la voz son los siguientes:
- Codec
- Ancho de Banda
- Latencia (Redardo en la llegada de paquetes)
- Jitter (Variación de la latencia)
- Pérdida de Paquetes
Es común que la gente piense que con sólo aumentar el ancho de banda a la VoIP se solucionarán sus problemas, pero esto no es necesariamente cierto.
Supongamos que en su compañía es común utilizar teléfonos IP que integran dos puertos Ethernet, de modo que se comparte un único punto en la red entre su teléfono IP y su computadora. Ahora bien, supongamos además que usted necesita transferir archivos con frecuencia entre su PC y otros equipos de la red; pues bien, esta transferencia es como una ‘avalancha’ de datos que tiende a consumir todo el ancho de banda disponible en su conexión a la red lo cual afecta gravemente el rendimiento de aplicaciones de audio o de video.
La mayoría de aplicaciones tienen baja prioridad en la red y tienden a ser tolerantes a los retardos, por ejemplo ligeros retardos mientras usted descarga las noticias no afectarán su objetivo final de ver las noticias, pero en cambio serían inaceptables en su comunicación telefonica por VoIP si estas afectan la calidad de la voz y le generan dificultades para entender lo que le dicen o lo que usted dice.
La capacidad para permitir la perdida de paquetes en la telefonía IP es muy baja, y debe mantenerse por debajo del 2% para que no afecte la calidad de manera notoria. Pero los problemas que en realidad mas afectan a la telefonía IP son la Latencia, el Jitter y el aburrido ECO.
Latencia
Se define como el retardo entre el envío de paquetes y su recepción, pero desde un punto de vista del usuario se definiría como el vacío en la conversación producido por retardos acumulados durante la transferencia de paquetes y los retardos de procesamiento. Estos ultimos retardos a menudo son pasados por alto pero debe tenerse presente que mientras el códec G.711 produce un retardo de procesamiento insignificante el G.729 tiende a producir un retardo mayor debido al proceso de compresión que realiza sobre la voz.
Los retardos debidos a la compresión se pueden reducir al utilizar el códec G.711 en lugar del G.729 siempre que sea posible, por ejemplo en redes locales donde el ancho de banda no es una limitante, pero en conexiones que usan Internet aun se requiere un compresor para disminuir el ancho de banda utilizado por cada llamada.
Los retardos debidos a la red pueden medirse con diversas herramientas (CACTI, Ethereal, etc) y por lo general pueden ajustarse prestando atención a los componentes físicos de la red que a menudo se pasan por alto tales como: conectores en mal estado, campos eléctricos o magnéticos demasiado próximos (Ej: lámparas fluorescentes que se cruzan con el cableado de datos), y demás.
Jitter
El Jitter es la variación en los retardos en la llegada de los paquetes entre su origen y el destino usualmente producida por congestión de tráfico en algún punto de la red o diferencia en el tiempo de transito de paquetes cuando estos viajan por diferentes rutas.
La solución usual es utilizar un Buffer (Jitter Buffer) que almacene los paquetes antes de entregarlos al destino asegurandose asi de que lleguen todos en orden al destino, aunque esto introduce un retardo adicional. En aplicaciones de Telefonía IP como Asterisk es posible configurar un jitterbuffer para corregir este problema.
Por otra parte cuando se trata de Jitter presente en redes LAN o WAN por lo general se corrige incrementando el ancho de banda, por supuesto la priorización de paquetes siempre será una alternativa.
Eco
Cuando tenemos latencia y jitter en una comunicación por VoIP se puede producir el fenómeno del Eco lo que por lo general se resuelve usando ‘canceladores de eco’, ya sean por software o por hardware.
Existen 2 tipos de eco comunes: uno de alto nivel y poco retardo que se produce a nivel local y otro de bajo nivel y mayor retardo que se produce en el extremo remoto. Ambos pueden ser removidos por medio de los canceladores de eco pero es importante comprender que por lo general los canceladores de eco por hardware son mas eficientes que aquellos construidos por software, regla que aplica principalmente a aplicaciones de Telefonía IP por Software como Asterisk, aunque recientemente se han liberado canceladores de eco por software de Octasic (no GPL) que han mostrado una alta eficacia en el tratamiento del eco.
Por otro lado algunas veces el eco se produce dentro del mismo teléfono IP por un pobre diseño acustico o por influencia directa de los materiales con los que se ha construido, lo que puede afectar el desempeño de teléfonos IP de bajo costo que aunque cuentan con una electrónica de calidad son afectados a nivel acustico al permitir un retorno de la voz entre el auricular y el microfono. Por lo general este tipo de eco no puede ser resuelto con canceladores de eco externos al teléfono.
Pérdida de Paquetes
El porcentaje de paquetes que no llegan a su destino mide la pérdida de paquetes de la red. Esta pérdida puede producirse por errores en alguno de los equipos que permiten la conectividad de la red o por sobrepasar la capacidad de algún buffer de algún equipo o aplicación en momentos de congestión. Normalmente en aplicaciones que no funcionan en tiempo real pueden aprovecharse de la retransmisión de los paquetes, pero la telefonía IP funcionan en tiempo real y sus paquetes no pueden ser retransmitidos.
Clasificación & Priorización
La calidad de servicio QoS se encarga de proveer un nivel de servicio para que las diferentes aplicaciones que usen la red se puedan beneficiar de ella de manera apropiada, y ya que no todas las aplicaciones tienen los mismos niveles de exigencia de la red, la calidad de servicio consiste en asignar a cada una la exigencia que requiera.
Para poder hablar de calidad de servicio debemos clasificar el tráfico que viaja por nuestra red. Algunas aplicaciones podrán identificarse entonces por el puerto que utilizan para desplazar sus paquetes mientras que otras pueden usar puertos dinámicos imposibilitando tal identificación.
Las maneras mas comunes de clasificar el tráfico de una red son las siguientes:
- Protocolo
- Número de Puerto
- Cabecera IP
- Cabecera RTP
- Contenido (Ejemplo: URL)
- Patrón de Velocidad y Flujo
- Señalización RSVP
- Etiquetas de encaminamiento
- Firmas personalizadas de aplicaciones
Normalmente la clasificación examina el contenido del paquete IP tales como el protocolo, destino o número de puerto; esta clasificación puede realizarse en cualquier punto de la red, ya sea en los extremos o en la mitad de la red.
Hoy son comunes los switches de red que priorizan los paquetes en los extremos y son una manera apropiada para garantizar que nuestros paquetes lleguen a su destino en las condiciones deseadas, también es posible priorizar paquetes a través de equipos administradores de tráfico, de ancho de banda o a través de firewalls.
Los routers pueden priorizar paquetes en el medio de una red y es algo bastante común hoy en día pero por lo general hay menos conocimiento del tráfico que en los extremos de modo que los routers por lo general clasifican por tamaños de paquete, velocidad de flujo, aunque también pueden hacerlo por contenido y por dirección.
Por lo general no es confiable delegar la clasificación a los usuarios finales o a la misma aplicación y siempre se obtienen mejores resultados dejando la clasificación a un sistema especializado en tal labor, aunque la tendencia actual es que tanto los softphones como los gateways IP jueguen un papel importante en el QoS de la red de VoIP.