Capítulo 2: VoIP (Voice over IP) MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 9 2. VoIP (Voice over IP) 2.1. Introducción a la telefonía IP En los últimos años, se ha producido un aumento de la demanda de comunicación (voz y datos) en el mundo, generando un tráfico que la infraestructura de red de conmutación de circuitos existente (PSTN, Public Switched Telephone Network) no esta preparada para llevar. Esto ha generado la creciente tendencia de las compañías de telecomunicaciones a integrar las redes de datos y voz en una misma arquitectura. La convergencia de estas redes se agrupa bajo el concepto de redes de próxima generación, NGN (Next Generation Networking). Esta red basada en paquetes permite prestar servicios de telecomunicación en la que se pueden utilizar múltiples tecnologías de transporte de banda ancha propiciadas por la QoS (Quality of Service), y en la que las funciones relacionadas con los servicios son independientes de las tecnologías subyacentes relacionadas con el transporte. Permite a los usuarios el acceso sin trabas a redes y a proveedores de servicios y/o servicios de su elección. Se soporta movilidad generalizada que permitirá la prestación coherente y ubicua de servicios a los usuarios1. En resumen, el éxito de estas redes reside en la posibilidad de integrar tecnologías multimedia y la capacidad de soportar un gran volumen de datos, generando nuevos servicios y beneficios para los usuarios, sin olvidar el abaratamiento del uso de redes IP frente a conmutación de circuitos. En el Anexo I.1 Características fundamentales de una red NGN se detallan las especificaciones propias de este tipo de redes. El servicio de voz sobre este tipo de redes se llama VoIP (Voice over Internet Protocol) y permite el uso de redes de datos para realizar llamadas de voz. Para este proceso, es necesario el tratamiento de la voz. El método empleado consiste en la toma de muestras discretas de ésta (tomadas en puntos discretos del espacio o del tiempo) que son posteriormente representadas en un formato específico dependiendo del tipo de medio, denominado codificación. El procedimiento de codificación lleva implícitos una serie de tratamientos a través de los cuales la señal es finalmente representada con un número limitado de bits. Una vez tratada la voz humana y codificada como una señal digital, se envía a través de las redes de datos, siendo la más común Internet. Existen diferentes códecs para tratar la voz, cada uno de los cuales con unas características determinadas que se estudiarán el apartado correspondiente. La tecnología VoIP permite encapsular la voz en paquetes para ser transportados sobre redes IP sin necesidad de disponer de circuitos conmutados como en el caso de la telefonía tradicional. La red convencional de telefonía se basa en la conmutación de circuitos, estableciendo circuitos físicos durante todo el tiempo que se mantenga la conversación. Esto implica la reserva de recursos hasta que la comunicación finalice, no pudiendo ser utilizados por otras comunicaciones. Por otro lado, la telefonía IP no utiliza circuitos físicos, sino que envía múltiples conversaciones a través del mismo canal (circuito virtual) mediante codificación en paquetes y flujos independientes. Desde que las primeras comunicaciones de voz aparecieron en 1995, gracias a las tecnologías desarrolladas por la empresa VocalTec, han aparecido distintos niveles de desarrollo hacia la convergencia de redes tales como voz en Internet, VoIP, telefonía IP, fax sobre IP…, sin embargo, aquí solo se profundizará los conceptos de VoIP y telefonía IP. 1 Definición dada por el Grupo de Estudio 13 del Sector de Normalización de la Unión Internacional de Telecomunicaciones (UIT –T) en la Recomendación Y.2001. Más información consultar Anexo II.1 MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 10 La Voz sobre IP (VoIP, Voice over IP) es una tecnología que permite la transmisión de la voz a través de redes IP en forma de paquetes de datos. La Telefonía IP es una aplicación inmediata de esta tecnología, de forma que permita la realización de llamadas telefónicas ordinarias sobre redes IP u otras redes de paquetes utilizando un PC, gateways y teléfonos estándares. En general, servicios de comunicación voz, fax, aplicaciones de mensajes de voz - son transportados vía redes IP, Internet normalmente, en lugar de ser transportados vía la red telefónica convencional. Sin embargo, generalmente se usa de manera indistinta estos dos conceptos, pero se puede profundizar en [5] Las redes IP parecen a priori la solución más rápida y factible para alcanzar la convergencia de redes debido sobre todo a la gran cobertura actual y a su aceptación por parte de los usuarios. La integración de la voz en redes IP mediante tecnología VoIP aporta múltiples ventajas: Ahorros de costos: llevando el tráfico de voz sobre redes IP, las compañías pueden reducir o eliminar los cargos asociados con el transporte de llamadas sobre la red telefónica pública conmutada (PSTN). Los proveedores de servicios y los usuarios finales pueden aun conservar ancho de banda invirtiendo una capacidad adicional solo cuando es necesario. Esto es posible por la naturaleza distribuida de VoIP y por los costos de operación reducida según las compañías combinen tráficos de voz y datos dentro de una red. Los costes de transmisión de tráfico de telecomunicaciones se pueden reducir drásticamente. El coste de transmisión de llamadas por IP podría ser de hasta la cuarta parte de las llamadas por la red telefónica pública conmutada (RTPC) y los gastos de mantenimiento podrían reducirse en 50 ó 60 % porque las llamadas VoIP sólo utilizan 10 % del ancho de banda necesaria para una llamada por la red pública. Otras consideraciones que también influencian la adopción del VoIP serían los elevados costes de mantenimiento de la infraestructura heredada y la necesidad de pasar a las redes inteligentes basadas en las tecnologías más recientes. Ahorro de Ancho de Banda en las comunicaciones: El uso de códecs perceptuales permite reducir drásticamente el ancho de banda, lo que se traduce en un rendimiento considerablemente mayor de los medios de transmisión con el consiguiente ahorro. Es importante destacar el efecto negativo que pueden tener las cabeceras de las redes que soportan a la Red IP. Cabe por último destacar la principal ventaja que esta tecnología ofrece respecto al resto de opciones, la facilidad y flexibilidad para la introducción de nuevos servicios en la Red. Entre las características que proporcionan estas ventajas podemos citar: Desarrollo abierto. Al tratarse de estándares basados en IP, se dispone de una gran cantidad de profesionales con capacidad en este campo. Ya no se trata de servicios propietarios desarrollados sólo por los suministradores de voz tradicionales. Ahora es posible que pequeños integradores, proveedores de servicios etc...entren el negocio del desarrollo de aplicaciones de voz. Disponibilidad de Software ya desarrollado. La adopción de VoIP como tecnología de voz permite beneficiarse de la enorme capacidad de desarrollo de toda la comunidad de Internet. Partiendo de la disponibilidad de las pilas de protocolos H.323, SIP,... se optimiza en costes y en tiempos el esfuerzo dedicado a la realización de nuevos desarrollos. Plataformas Hardware Estándares. La separación de hardware por funciones en una red VoIP junto con el potencial desarrollo de servicios sobre arquitecturas IP permite la utilización de plataformas hardware estándares MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 11 sobre las que implantar los servicios, a diferencia de la solución tradicional basada en equipamiento propietario. Cabe destacar por tanto que la mayor ventaja de esta tecnología es la posibilidad de desarrollo de nuevos servicios. Una tecnología que proporcionase los mismos servicios que las anteriores sin esta ventaja, sería víctima de las tecnologías propietarias y las soluciones de suministrador único que tanto han lastrado el despliegue de servicios de voz innovadores por parte de los nuevos operadores. La voz sobre IP enfrenta problemáticas propias de las redes de datos, que se manifiestan como degradaciones en la calidad del servicio percibida por los usuarios (QoS). Se puede obtener más información al respecto consultando [3]. Para realizar una transmisión de voz, es necesario que todos los paquetes lleguen ordenados, que se garantice una mínima tasa de transmisión y sobre todo que no haya pérdidas de paquetes. Cada paquete contiene aproximadamente unos 20 milisegundos de señal vocal (depende del códec empleado), lo que equivale a medio fonema. Los principales problemas que se deben solventar para conseguirlo son: Ancho de banda: el ancho de banda o capacidad de transmisión necesaria para la transmisión de la señal de voz, es función del algoritmo de codificación y compresión del códec utilizado. Como cualquier red, una red de conmutación de paquetes se va a caracterizar por un cierto ancho de banda disponible, que debe repartirse entre todas las aplicaciones de la red. Para arbitrar este reparto surgieron los mecanismos de QoS (Quality of Service) que asignan una parte del total del ancho de banda disponible a determinadas aplicaciones y así, con independencia del tráfico que tenga que cursar la red, siempre habrá capacidad suficiente para transportar los paquetes de voz. La técnica empleada para gestionar la asignación de ancho de banda será determinante en el retardo que sufrirán los paquetes, y por tanto, en la calidad de la señal de voz. Puesto que uno de los procesos críticos en el diseño de una red es el cálculo del ancho de banda necesario, la mejor forma de obtenerlo es emplear para el análisis las aplicaciones de datos y vídeos más restrictivas, esto es, las que más ancho de banda requieran y sumarlas al ancho de banda requerido para el transporte de voz. Latencia o retardo: al ser un servicio en tiempo real es necesario diferenciar entre los paquetes de voz y de datos, priorizando la transmisión para evitar que supere un cierto umbral de retardo. La latencia es la suma de retardos temporales dentro de una red. Un retardo es producido por la demora en la propagación y transmisión de paquetes. Otros factores que influyen en la latencia de una red son el tamaño de los paquetes transmitidos o el tamaño de los buffers dentro de los equipos. Durante su recorrido por la red IP las tramas se pueden perder como resultado de una congestión de red o corrupción de datos. Además, para tráfico de tiempo real como la voz, la retransmisión de tramas perdidas en la capa de transporte no es práctica por ocasionar retardos adicionales. Se considera aceptable un retardo por debajo de los 150 ms e impracticable por encima de los 300ms. Jitter: puede definirse como variabilidad, respecto a la media, del retardo que sufren los paquetes en su viaje de la fuente al destino, y llega a ser más perjudicial que el propio retardo. Si un paquete se retarda más de lo debido, no llegará a tiempo al receptor, por lo que se dará por perdido y se actuará en consecuencia. La principal causa de jitter son las variaciones del retardo de encolado debido a los cambios dinámicos que sufre la carga de tráfico de la red. También influyen las diferencias en el retardo de propagación. MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 12 Eco: Es consecuencia de las reflexiones que sufre la señal en el otro extremo. Cuando el retardo del eco supera un cierto umbral (establecido por la ITU en 5 milisegundos), el hablante comienza a escuchar una versión retardada de sus propias palabras. Si dicho retardo alcanzara niveles muy elevados, mantener una conversación podría llegar a ser imposible. Hay dos causas de eco: el eco acústico, debido a que el audio del imánate se acopla en el micrófono del terminal, y el eco eléctrico, producido por las reflexiones que sufre la señal generada por el circuito que convierte el circuito de 4 hilos propio de la red de transmisión a 2 hilos propio del bucle de abonado. Para tratar de minimizar las degradaciones producidas por los factores arriba expuestos y lograr la calidad de servicio especificada un cada momento, se han desarrollado un conjunto de mecanismos cuyo uso mejora significativamente la calidad obtenida. Estas soluciones son: Cálculo del ancho de banda necesario: Uno de los procesos críticos en el diseño de una red integrada es el cálculo del ancho de banda necesario para la integración. La mejor forma de obtenerlo es emplear para el análisis las aplicaciones de datos y vídeos más restrictivas, esto es, las que más ancho de banda requieran y sumarlas al ancho de banda requerido para el transporte de voz. Priorizar el tráfico: Los mecanismo de clasificación adquieren una importancia fundamental, pues constituyen el primer paso de cualquiera el resto de las técnicas de QoS. Es el propio operador de red (ya sea pública o privada) quién va a determinar si la clasificación se va a llevar a cabo analizando las características del tráfico de cada paquete en base a una sesión, es decir, en función de lo que se establezca en la fase de negociación de parámetros extremo a extremo que tiene lugar antes de la transmisión. En cuanto a la política de clasificación, existen criterios muy variados: tipo de tráfico contenido en el paquete, dirección IP, puerto, etc. Una vez se ha determinado el ancho de banda necesario, se debe garantizar que se cumplen las restricciones impuestas. Se usan dos procedimientos para ello: las funciones policía y las técnicas de adaptación del tráfico que responden a las violaciones del ancho de banda asignado a un determinado tipo de tráfico. Cuando dicho flujo intenta consumir más ancho de banda del que le corresponde, debe existir algún mecanismo que se lo impida o, de lo contrario, se verán afectados el resto de los flujos. La diferencia entre las funciones policía y las técnicas de adaptación del trafico estriba en el modo en que responde a dichas violaciones. Mientras que las funciones policía marcan los paquetes que exceden el límite como descartados, las funciones de adaptación modifican la tasa del tráfico a través de mecanismos de encolado en los que se retienen los paquetes y se liberan de manera que el flujo de salida se encuentre dentro de los parámetros establecidos Supresión de silencios o VAD (Voice Activity Detection): es una técnica utilizada en el procesamiento de discurso en el que se detecta la presencia o ausencia del habla humana, es decir, permite la supresión de silencio en las pausas naturales del habla o cuando habla el otro interlocutor. Evita la codificación innecesaria y transmisión de paquetes de silencio en aplicaciones de voz sobre protocolo de Internet, ahorrando en el cálculo y el ancho de banda de red. Puede presentar algunos problemas como son recortes al inicio y fin de cada palabra o fonema o una respuesta lenta. MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 13 Cancelación de eco Implantación de IPv6 para un mayor espacio de direccionamiento. Para que la tecnología de voz sobre IP pueda ser utilizada comercialmente, es esencial garantizar una calidad de voz aceptable. Para ello se han desarrollado métodos para medirla. Estos métodos se dividen en subjetivos y objetivos. Los diversos métodos subjetivos de medida de la calidad de servicio, se basan en conocer directamente la opinión de los usuarios. Típicamente resultan en un promedio de opiniones (Mean Opinión Store) llamado MOS. Los métodos objetivos. A su vez se subdividen en intrusivos (se inyecta una señal de voz conocida en el canal y se estudia su degradación a la salida) y no intrusivos (monitorean ciertos parámetros en un punto de la red y en base a estos se establece en tiempo real la calidad que percibiría un usuario). Toda esta información puede analizarse con más detalle en la bibliografía recomendada [5]. 2.2. Características Principales En una Red VoIP de vanguardia, para la transmisión de voz se pueden distinguir los siguientes elementos: Infraestructura IP: transporte tanto para la señalización de las llamadas como para la voz. Esta Red debe seguir unas condiciones de diseño específicas que permitan el transporte de la voz con la calidad adecuada. Equipo de Cliente o Gateway Residencial: encargado de originar o recibir las llamadas del cliente. Estos pueden ser equipos que se integran directamente en la red VoIP (teléfonos H.323,...) o gateways de cliente que proporcionan una interfaz hacia la red y una o mas interfaces tradicionales de voz hacia el cliente (POTS, RDSI,...). Gateway de Red: permite la comunicación entre la red VoIP y las Redes tradicionales de Conmutación de Circuitos (PSTN). Estos elementos se encargan de convertir las llamadas VoIP con voz paquetizada a llamadas de conmutación de circuitos. Por lo general la comunicación con la red tradicional se basará en el protocolo SS7. SoftSwitch: elemento central de la red. Realiza la misma función de control de red que el nodo de conmutación de una red de voz tradicional. Sus principales funciones son el enrutamiento de las llamadas (funcionalidades de clase IV) y proporcionar servicios suplementarios (funcionalidades de clase V). El SoftSwitch se encarga de recibir la señalización de las llamadas y de enrutarlas hacia su destino. 2.3. Protocolos Tradicionalmente, las redes de área local se vienen utilizando para la transmisión de datos, pero conforme las aplicaciones tienden a ser multimedia y los sistemas de comunicaciones dejan de ser elementos independientes y aislados para atender un determinado tipo de comunicación, se tiende a transmitir cualquier tipo de información sobre los medios existentes. La Voz sobre IP (VoIP) abre las puertas a la convergencia de las redes de voz y datos en una única red. VoIP supone una MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 14 reducción de costes en la instalación de cableado, ofreciendo además la flexibilidad de soportar nuevos servicios como la videoconferencia a través de Internet o la conexión con PCS. No obstante, VoIP no carece de inconvenientes, las actuales redes IP, en las que Internet está basada, no garantizan calidad de servicio. Por ello, los distintos protocolos empleados en las comunicaciones VoIP deben ser tolerantes a posibles retrasos o pérdidas de información que se puedan dar, en la medida de lo posible. En la actualidad destacan dos tecnologías que se emplean para comunicaciones de voz sobre IP. Son H.323 y SIP. En los sub-apartados siguientes, se describirán brevemente estos protocolos. Estos puntos serán una breve introducción a la comparativa entre ellos que permitirá justificar por qué uno o el otro son los más apropiados para el trabajo a desarrollar. Protocolo H.323 El estándar H.323 es un conjunto de normas y protocolos recomendado por el ITUT (International Telecommunication Union) diseñado para permitir transmisiones multimedia en LANs (Local Area Network) basadas en IP. Proporciona la base para la transmisión de voz, datos y vídeo sobre redes no orientadas a conexión y que no ofrecen un grado de calidad del servicio, como son las basadas en IP, incluida Internet. Las aplicaciones y productos conforme a ella puedan interoperar, permitiendo la comunicación entre los usuarios sin necesidad de que éstos se preocupen por la compatibilidad de sus sistemas. La LAN sobre la que los terminales H.323 se comunican puede ser un simple segmento o un anillo, o múltiples segmentos (es el caso de Internet) con una topología compleja, lo que puede resultar en un grado variable de rendimiento. Fue rápidamente adoptado por fabricantes de equipos para transmitir voz y videoconferencia sobre IP ya que define un modelo básico de llamada con servicios suplementarios (convergencia de voz, vídeo y datos en una sola red) y surgió en el momento adecuado. H.323 presentan una gran latencia y no garantizan una determinada calidad del servicio (QoS). Para la conferencia de datos se apoya en la norma T.120, con lo que en conjunto soporta las aplicaciones multimedia. Los terminales y equipos conforme a H.323 pueden tratar voz en tiempo real, datos y vídeo, incluida videotelefonía. Forma parte de la serie de protocolos H.32x, los cuales también dirigen las comunicaciones sobre RDSI (H.320), RTC o SS7. Esta familia de protocolos ha ido evolucionando con el tiempo para permitir mejorar las transmisiones de voz y vídeo en LANs y WANs sobre distintos medios. La versión actual data de 2006 y se conoce como H.323v6. Sus principales características son: No garantiza una calidad de servicio (QoS) Es independiente de la topología de la red Admite pasarelas Permite usar más de un canal (voz, vídeo, datos) al mismo tiempo. El estándar permite que las empresas añadan funcionalidades, siempre que implementen las funciones de interoperabilidad necesarias. La arquitectura de H.323 define todo lo necesario (componentes, protocolos, señalización, códecs...etc) para llevar a cabo la comunicación y garantizar así la compatibilidad entre dispositivos. MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 15 Los componentes principales del sistema H.323 son: 1. Terminales H.323: que son puntos finales (equipos que usan directamente los usuarios) en una LAN. 2. Pasarelas que trabajan como la interfaz de red entre la LAN y de conmutación de circuitos, hacen de enlace con la red telefónica conmutada, actuando de forma transparente para el usuario. 3. Porteros o Gatekeepers que realiza funciones de control de admisión y otras tareas. Son el centro de toda organización VoIP y son el equivalente a las centralitas privadas o PBX (Private Branch eXchange). Normalmente se implementan por software. 4. MCU (Multipoint Control Unit) que ofrece conferencias entre tres o más puntos finales. Se pueden observar estos elementos en la figura siguiente. Figura 1. Elementos de una red H.323 El estándar H.323 comprende una serie de estándares y se apoya en una serie de protocolos que cubren los distintos aspectos de la comunicación, tal y como el H.225 para el establecimiento y finalización de llamadas entre terminales, H.245, mensajes de control extremo a extremo y negociación de las capacidades de ancho de banda (mensajes TerminalCapabilitySet), de la apertura y cierre de los canales lógicos (mensajes OpenLogicalChannel, CloseLogicalChannel y EndSessionComand), de los códecs y mensajes de control de flujo. El uso de todos estos protocolos así como la funcionalidad de cada uno de los elementos se detalla en profundidad en el anexo correspondiente, Anexo I Protocolo H.323 Protocolo SIP SIP (Session Initiation Protocol) es un protocolo de señalización (situado en el nivel ISO / OSI de aplicación) para el establecimiento, mantenimiento y terminación de sesiones interactivas entre usuarios. Estas sesiones pueden tratarse de conferencias multimedia, chat, sesiones de voz o distribución de contenidos multimedia. SIP, creado en 1996 por Mark Handley y Henning Schulzrinne, ha sido estandarizado por la IETF (Internet Engineering Task Force) y la especificación más reciente de SIP se puede encontrar en el RFC 3261. MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 16 SIP no define por si mismo un sistema de comunicaciones ni ofrece servicio alguno, es un protocolo flexible que se limita a ofrecer una serie de primitivas que las aplicaciones pueden utilizar para implementar servicios. SIP ofrece funciones tales como: Redirección de llamadas Resolución de direcciones Determinar la disponibilidad de un punto final Establecer llamadas punto a punto o multipunto SIP se utiliza para el control de las sesiones de comunicación multimedia como llamadas de voz y vídeo sobre IP. El protocolo SIP, cuya operación se basa en mensajes de petición y respuesta, reutiliza muchas de las reglas de codificación, códigos de error y campos de cabecera de HTTP. Las funciones de control de llamadas (redirección, transferencia, cambio de formatos y codificación, etc…) que proporciona están integradas con la infraestructura web como los sistemas de programación que utilizan la interfaz CGI. El uso de tipos MIME para describir los contenidos tratados por los mensajes SIP hace posible, por ejemplo, devolver cualquier tipo de contenido web ante un mensaje de inicio de llamada. SIP ha sido diseñado en conformidad con el modelo de Internet. Se trata de un protocolo extremo a extremo donde toda la lógica se almacena en dispositivos finales (excepto el enrutamiento de mensajes SIP). Es independiente del protocolo subyacente, ya sea UDP, TCP, AAL5, X.25 o Frame Relay. Las sesiones multimedia controladas por SIP pueden constar de varias sesiones RTP sin que todos los participantes tengan por qué participar en todas las sesiones RTP. SIP es un protocolo cliente-servidor de señalización al que se pueden añadir nuevos métodos y capacidades. Para analizar más a fondo las características de este protocolo se puede consultar el anexo correspondiente. Comparativa H.323 vs SIP Para medir las prestaciones de ambos protocolos se usarán los siguientes parámetros de comparación: Complejidad: Se refiere a las características intrínsecas de cada protocolo, como el conjunto de mensajes, posibilidades de depuración de trama… Escalabilidad: Se refiere a la facilidad de una red para adoptar el estándar. Modularidad: indica el nivel de versatilidad de una red que use dicho protocolo. Utilización de recursos: Representa el uso de recursos en CPU, uso de ancho de banda que necesita cada protocolo para un funcionamiento normal… Operación y mantenimiento: se refiere a las herramientas y recursos utilizados, es posible para ambos el manejo de gran cantidad de llamadas, incluyendo el uso de conferencia a usuarios. Para la comparación de estos dos protocolos, se ha usado como base una serie de artículos que aparecen recogidos en la bibliografia. La conclusión se ha obtenido ponderando tanto la conclusión propia de dicho estudio como las características específicas de este proyecto. El estudio comparativo obtenido es el siguiente: a. Complejidad. En este punto SIP tiene una ventaja sobre H.323, dado que este último presenta procesos más complejos para codificar y decodificar paquetes, a pesar de que los mismos por si solos no presentan mayor MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 17 diferencia a nivel de complejidad, pero la generación de los mismos para el correcto funcionamiento del protocolo son mucho más complejos en el H.323 dado que para SIP son basados en http lo cual lo hace mucho más fácil al momento de codificar y decodificar. b. Escalabilidad. En este punto ambos protocolos son relativamente iguales, dado que ambos pueden extenderse sobre redes de área amplia sin mayor problema que el que tengan las redes de transporte utilizadas, así mismo ambos manejan gran cantidad de llamadas, incluyendo el uso de conferencia. c. Modularidad. Debido a que el protocolo H.323 usa el estándar paraguas que se apoya sobre varios protocolos, al realizar cualquier modificación resulta más complejo desligar la interacción de los otros subprotocolos, mientras que para SIP no es así, dado que puede interactuar con cualquier protocolo que lleve a cabo calidad de servicio, acceso de directorio etc., sin tener que llevar a cambios en el protocolo SIP. d. Utilización de recursos. A pesar que en protocolo H323 los mensajes son más complejos, tienen tamaños más pequeños, por lo que el uso de la CPU de los dispositivos es mayor, mientras que para SIP ocurre lo contrario, por lo que podría decirse que ambos son similares y no se podría definir a priori ninguna superioridad de uno frente al otro en este aspecto. e. Operación y Mantenimiento. Se han definido MIB (Management Information Base) para la mayoría de los elementos que usan H.323 así como SIP, por lo que es posible usar protocolos de gestión como SNMP (Simple Network Management Protocol) en la misma medida para ambos. Conclusión Una vez analizados los aspectos que permitieron establecer la comparación entre ambos protocolos, se procedió a establecer una tabla comparativa con las características estudiadas y su peso relativo normalizado sobre 1 para cuantificar la mejoría de un proyecto sobre otro. PARÁMETRO Complejidad Escalabilidad Modularidad Uso de recursos O&M TOTAL PESO 0.1 0.25 0.1 SIP 0.1 0.25 0.1 H.323 0 0.25 0 0.25 0.3 1 0.25 0.3 1 0.25 0.3 0.8 Tabla 1.Comparativa H.323 vs. SIP Como se observó en la tabla anterior, SIP superó a H323v4 en un 20% de todas las características generales, sin embargo, el futuro no es completamente claro, dado que existen otras muchas variables que son difíciles de analizar como por ejemplo las estrategias de mercado, la aceptación del usuario, desarrollo de microtecnologías, que son las que normalmente definen la supervivencia de un protocolo sobre otro o la coexistencia de ambos. MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 18 Sin embargo, tal y como se ha realizado este estudio, SIP ofrece desde un punto de vista técnico una mayor efectividad. Además de las valoraciones propias de la fuente de documentación usada, se da como valor añadido (para este escenario concreto) la modularidad, puesto que se presenta como una de las características más importantes de Asterisk (en el apartado Soluciones para VoIP en Software Libre se especifican estos criterios) y una de las razones por las que su uso se hacía óptimo como solución al escenario de trabajo de Persan. Es por todo esto que se usará SIP como protocolo de trabajo en este proyecto. 2.4. Codificación de Audio Los códecs son algoritmos matemáticos implementados en software que realizan el proceso de convertir ondas analógicas en información digital mediante un COdificador-DECodificador. Los códecs o codificadores de audio se utilizan además de para digitalizar, para comprimir y codificar la señal de audio analógica para que pueda ser transmitida por la red. La voz humana es analógica. Al realizar una llamada usando un teléfono tradicional (a través de la red telefónica pública conmutada, PSTN), la voz se transporta en formato analógico en la línea telefónica. Sin embargo, para el protocolo de voz sobre IP (VoIP), la voz debe convertirse en señales digitales. Este proceso de conversión se conoce como codificación y empléa un códec. Después de que la voz digitalizada haya alcanzado su destino, debe decodificarse a su formato analógico original para que la persona que recibe la llamada pueda oír y entender al usuario que la inició. Existen diversos algoritmos de codificación dependiendo de la transmisión, la calidad de la voz, el ancho de banda necesario y la carga computacional. Además de la ejecución de la conversión de analógico a digital, el códec comprime la secuencia de datos, y proporciona la cancelación del eco. La compresión de la forma de onda representada puede permitir el ahorro del ancho de banda. Esto es especialmente interesante en los enlaces de poca capacidad y permite tener un mayor número de conexiones de VoiP simultáneamente. El sistema auditivo del ser humano es capaz de captar las frecuencias comprendidas entre los 20Hz y 20KHz y la mayoría de códecs procesan la información dentro de la banda de 400Hz-3,5Khz para que a la hora de reconstruir la señal, ésta siga siendo legible. En la siguiente figura se puede ver el esquema de una transmisión típica: MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 19 Códec Muestreo Periódico Red IP EMPAQUETAR Muestras codificadas (‘TRAMAS’) Paquetes con una o más tramas Figura 2. Codificación de la Voz El proceso de convertir una señal analógica en un conjunto de datos representados de forma binaria, involucra diversos procesos que son comunes y otros que dependen del códec seleccionado. A grandes rasgos, tras filtrar la voz ésta se muestrea y es el códec el que se encarga de analizar dichas muestras y generar las tramas.La voz no llega de forma continua sino más bien a ráfagas, generándose de forma periódica tramas activas (aproximadamente de 10 a 70 octetos dependiendo del códec). El hecho de que la voz sea intermitente, permite un ahorro en el ancho de banda a consumir, ya que se pueden usar detectores de actividad vocal, VAD, que determinan cuando el hablante está en silencio y esas muestras no se codifican. En lugar de ello, se insertan en el lugar correspondiente tramas de descripción de silencio, SID, para que en el receptor se interprete correctamente la conversación. La codificación lleva asociada consigo un retardo (en ocasiones decenas de milisegundos) que se suma a otras variaciones de retardo que sufren los paquetes al atravesar la red. Una vez las tramas se han generado, se les añade la cabecera de transporte adecuada. Estas cabeceras son compartidas por un número de tramas de códec, puesto que el número de octetos de la cabecera es muy grande comparado con el de una trama de códec. El número de tramas que comparten cabecera está limitado tanto por el retardo (el eco) como por la temporización (marca de tiempo). Códecs de Audio A continuación se detallan los códecs de audio más importantes: G.711 U-law: El algoritmo Ley Mu (µ-law ó mu-law) es un sistema de cuantificación logarítmica de una señal de audio. Es utilizado principalmente para audio de voz humana. Este sistema de codificación es usado en EEUU y el Japón. La implementación del sistema consiste en aplicar a la señal de entrada una función logarítmica y una vez procesada realizar una cuantificación uniforme. Es lo mismo que decir que el paso de cuantificación sigue una función del tipo logarítmico. Esta función viene definida de la siguiente forma para un input x dado: MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 20 F ( x) = sgn( x) ln(1 + µ x −1 ≤ x ≤ 1 ln(1 + µ ) La letra µ indica el factor de compresión usado (µ = 255) en los estándares norteamericano y japonés. Si µ = 0 la entrada es igual a la salida. La descompresión se realiza con la fórmula inversa: [ F −1 ( y ) = sgn( y )( 1 ) (1 + µ ) µ y ] −1 −1 ≤ y ≤ 1 Utilizar G.711 para VoIP nos dará la mejor calidad de voz; ya que no usa ninguna compresión y es el mismo códec utilizado por la red RTC y líneas RDSI, suena como si utilizáramos un teléfono RDSI normal. También tiene la menor latencia puesto que no hay necesidad de compresión, lo cual cuesta menos capacidad de procesamiento. La pega es que utiliza más ancho de banda que otros códecs, hasta 84 Kbps incluyendo todo el overhead de TCP/IP. No obstante, aumentando el ancho de banda, esto no debería ser un problema. G.711 A-law: La ley A (A-Law) es un sistema de cuantificación logarítmica de señales de audio, usado habitualmente con fines de compresión en aplicaciones de voz humana. Está estandarizada por la ITU-T. Este sistema de codificación es usado en Europa. El algoritmo Ley A basa su funcionamiento en un proceso de compresión y expansión llamado companding. Se aplica una compresión/expansión de las amplitudes y posteriormente una cuantificación uniforme. Las amplitudes de la señal de audio pequeñas son expandidas y las amplitudes más elevadas son comprimidas. La implementación del sistema consiste en aplicar a la señal de entrada una función logarítmica y una vez procesada realizar una cuantificación uniforme. Para una entrada x dada, la ecuación Ley A de salida es: donde A es el parámetro de compresión. En Europa A = 87.7. También se usa el valor 87.6 .La función inversa es la siguiente: G.723.1: Un standard ITU del tipo narrow-band audio codec que codifica el habla en una cadena de datos cada 30ms (240 muestras en total). Cada frame puede ser de 24 o 20 bytes de longitud, lo que hace a la cadena de datos tanto de 6.4kb/sec o 5.3kb/sec. Este códec esta cubierto por una variedad de patentes, lo que significa que debe ser pagada una patente antes de poder ser utilizado comercialmente. G.726: Un codec de onda ITU ADPCM con las siguientes características: 16/24/32/40 kbps, buena calidad y baja carga de procesador. Normalmente se usa en modo 32 kbit/s, ya que es la mitad del ratio de G.711, esto MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 21 incrementa la capacidad de red usable en un 100%. Se usa principalmente en troncales internacionales en la red de telefonía. También es el códec estándar usado en teléfonos inalámbricos DECT. G.729: G.729 es un algoritmo de compresión de datos de audio para voz que comprime audio de voz en trozos de 10 milisegundos. La música o los tonos tales como los tonos de DTMF o de fax no pueden ser transportados confiablemente con este códec, y utilizar así G.711 o métodos de señalización fuera de banda para transportar esas señales. G.729 se usa mayoritariamente en aplicaciones de Voz sobre IP VoIP por sus bajos requerimientos en ancho de banda. El estándar G.729 opera a una tasa de bits de 8 kbit/s, pero existen extensiones, las cuales suministran también tasas de 6.4 kbit/s y de 11.8 kbit/s para peor o mejor calidad en la conversación respectivamente. También es muy común G.729a el cual es compatible con G.729, pero requiere menos cómputo. Esta menor complejidad afecta en que la calidad de la conversación es empeorada marginalmente. GSM: GSM emplea una modulación GMSK (Gaussian Minimum Shift Keying) obtenida a partir de una modulación MSK que es un tipo especial de FSK. Para el acceso en el interfaz radio o Abis se utiliza el sistema TDMA de banda estrecha (Time Division Multiple Access) entre la estación base y el teléfono celular utilizando 2 de canales de radio de frecuencia dúplex. Para minimizar las fuentes de interferencia y conseguir una mayor protección se utiliza el (frequency hopping) o salto en frecuencia entre canales, con una velocidad máxima de 217 saltos/S. y siempre bajo mandato de la red. Una llamada de voz utiliza un codificador GSM específico a velocidad total de 13Kbits/s, posteriormente se desarrolló un códec a velocidad mitad de 6,5 kbits/s que permitirá duplicar la capacidad de los canales TCH, se denomina FR (Full Rate) y HR (Half Rate). ILBC: iLBC, "Internet Low Bit rate Codec" es un códec para voz apropiado para comunicaciones robustas sobre VoIP. Este códec está diseñado para ahorrar ancho de banda y resulta en un carga útil de 13.33 Kb/s usando tramas de 30 ms y en 15.20 Kb/s usando tramas de 20 ms. El códec es capaz de enfrentar la eventualidad de que se pierdan tramas, lo cual ocurre cuando se pierde la conexión o se retrasan los paquetes IP. El algoritmo iLBC, usa una codificación de predicción-lineal y bloquesindependientes (LPC), este algoritmo tiene soporte para dos tamaños básicos de tramas: 20 ms a 15.2 Kb/s y 30 ms a 13.33 Kb/s. Speex: El proyecto Speex tiene como objetivo crear un códec libre para voz, sin restricciones de ninguna patente de software. Speex está sujeto a la Licencia BSD y es usado con el contenedor Ogg de la Fundación Xiph.org. Las metas en el diseño eran permitir buena calidad en la voz y bajo bit-rate (desafortunadamente no al mismo tiempo). Buena calidad también significaba tener soporte para wideband (frecuencia de muestreo de 16 kHz) además de narrowband (calidad de teléfono, frecuencia de muestreo de 8 kHz). El diseño para VoIP en vez de teléfonos celulares significa que Speex debe ser robusto a pérdida de paquetes, pero no corromperlos, entonces los paquetes llegan sin alteración o no llegan para nada. También, la idea era tener una complejidad y requerimiento en memoria razonable sin comprometer mucho la eficiencia del códec. MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 22 Los códecs citados anteriormente, son los más usados para la codificación de audio y particularmente de voz. Sin embargo, cada uno de ellos posee unas características que lo hacen más o menos atractivo como solución a una arquitectura y unas condiciones determinadas. Asterisk soporta todos los códecs mencionados en este apartado, sin embargo será necesario estudiar cuál de ellos se adapta mejor a las limitaciones de ancho de banda así como a otras consideraciones derivadas de la arquitectura propuesta como solución al trabajo. El objetivo principal es llegar a un compromiso entre la mayor eficiencia posible y el ancho de banda disponible. Todo este estudio se puede consultar en el Anexo I.1 que hace referencia a la metodología para seleccionar el códec de audio en función de la solución de red. 2.5. Códecs de Video El vídeo es la tecnología de la captación, grabación, procesamiento, almacenamiento, transmisión y reconstrucción por medios electrónicos digitales o analógicos de una secuencia de imágenes que representan escenas en movimiento. La tecnología de vídeo fue desarrollada por primera vez para los sistemas de televisión, pero ha derivado en muchos formatos para permitir la grabación de vídeo de los consumidores y que además pueda ser visto a través de Internet. La señal de vídeo analógica consta de lo que se llama luminancia, crominancia y de los sincronismos. En una transmisión de señal de vídeo, la luminancia es la componente que codifica la información de luminosidad de la imagen. En términos generales, es algo muy similar a la versión en blanco y negro de la imagen original. La crominancia es el componente de la señal de vídeo que contiene las informaciones del color. Al captar una imagen se realiza en tres colores básicos independientes. El sistema de colores utilizado es el RGB2, rojo, verde y azul. Esto es que el resultado final será la suma de los tres componentes. La luz de la imagen se descompone mediante unos filtros en sus tres componentes de color y cada una de ellas se manda a un captador (actualmente CCD3). Estas tres señales correspondientes al rojo, verde y azul de la imagen se transforman en otras que representan por un lado la luz de la imagen, es decir la imagen en blanco y negro, esta es la señal de luminancia que se representa por la letra Y, necesaria para mantener la compatibilidad con la TV en blanco y negro, y por otro lado se obtienen las dos señales que portan la información del color a las que se llaman componentes del color, y son R-Y y B-Y o una recortadas en banda (debido que el ojo humano tiene una respuesta mucho más pobre para el color que para la luz) obtenemos U y V. Existen estándares diferentes para la codificación del color, NTSC4 (utilizado en casi toda América, dependencias estadounidenses, Corea, Japón y Myanmar), SECAM5 2 Red, Green and Blue. CCD es familiar como uno de los elementos principales de las cámaras fotográficas y de video digitales. En éstas, el CCD es el sensor con diminutas células fotoeléctricas que registran la imagen. Desde allí la imagen es procesada por la cámara y registrada en la tarjeta de memoria. La capacidad de resolución o detalle de la imagen depende del número de células fotoeléctricas del CCD. Este número se expresa en píxeles. A mayor número de píxeles, mayor resolución 4 NTSC (National Television System Committee) , Comisión Nacional de Sistemas de Televisión) es un sistema de codificación y transmisión de Televisión en color analógico desarrollado en Estados Unidos en torno a 1940 y consiste en una ampliación del sistema monocromático (blanco y negro). 5 SECAM (Séquentiel Couleur à Mémoire), "Color secuencial con memoria". Es un sistema para la codificación de televisión en color analógica utilizado por primera vez en Francia. 3 MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 23 (Francia, sus dependencias y ex colonias; mayoría de Rusia) y PAL6 (resto de Europa; Argentina, Brasil, Groenlandia y Uruguay en América; mayoría de África, Asia y Oceanía). En la actualidad, se tiende al uso del vídeo en formato digital ya que proporciona grandes ventajas con respecto a la señal analógica. Algunas de estas ventajas son: Mayor robustez ante el ruido. las señales analógicas son más susceptibles que los pulsos digitales a la amplitud, frecuencia y variaciones de fase. Esto se debe a que con la transmisión digital, no se necesita evaluar esos parámetros, con tanta precisión, como en la transmisión analógica. En cambio, los pulsos recibidos se evalúan durante un intervalo de muestreo y se hace una sola determinación si el pulso está arriba (1) o abajo de un umbral específico (0). Almacenamiento y procesamiento: las señales digitales se pueden guardarse y procesarse fácilmente que las señales analógicas. Los sistemas digitales utilizan la regeneración de señales, en vez de la amplificación, por lo tanto producen un sistema más resistente al ruido que su contraparte analógica. Las señales digitales son más sencillos de medir y evaluar. Por lo tanto es más fácil comparar el rendimiento de los sistemas digitales con diferentes capacidades de señalización e información, que con los sistemas analógicos comparables. Los sistemas digitales están mejor equipados para evaluar un rendimiento de error (por ejemplo, detección y corrección de errores), que los analógicos. Los equipos que procesan digitalmente consumen menos potencia y son más pequeños, y muchas veces con más económicos. Sin embargo, la digitalización presenta desventajas, como que la transmisión de las señales analógicas codificadas de manera digital requiere más ancho de banda para transmitir que las señales analógicas o que las señales analógicas deben convertirse en códigos digitales antes de su transmisión y convertirse nuevamente a analógicas en el receptor. Por ejemplo, al digitalizar una secuencia de video analógico cualquiera de acuerdo al estándar ITU-R BT.601 (CCIR 601), se requiere un ancho de banda de 116 Mbit/segundo ó de 116 millones de bits cada segundo. Dado que la mayoría de las redes son sólo de 100 Mbit/segundo, no es posible ni deseable transmitir las secuencias de vídeo sin alguna modificación. Para solucionar este problema se han desarrollado una serie de técnicas denominadas técnicas de compresión de vídeo e imágenes, que reducen el alto nivel de bits precisos para transmisión y almacenamiento. Además del ancho de banda, hay que tener en cuenta, que la transmisión digital requiere de sincronización precisa de tiempo, entre los relojes del transmisor y receptor. 2.5.1. Video Digital Las señales de vídeo analógicas son el resultado de procesar 25 cuadros de televisión por segundo, los cuales pueden ser iguales en su totalidad, en parte o El sistema Secam fue inventado por un equipo liderado por Henri de France trabajando para la firma Thompson. Es históricamente la primera norma de televisión en color europea. 6 PAL es la sigla de Phase Alternating Line (en español línea de fase alternada). Es el nombre con el que se designa al sistema de codificación utilizado en la transmisión de señales de televisión analógica en color en la mayor parte del mundo MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 24 totalmente diferentes. Esto significa que en muchísimas ocasiones la señal analógica se repite una y otra vez. Dado que no es posible la memorización de las señales de tipo analógico, éstas se transmiten en su totalidad aunque sean redundantes, es decir aunque se repitan (en analógico no hay memoria). En la técnica digital, donde sí es posible la memorización de la información, es posible eliminar aquella que se repita, transmitiéndose sólo una parte de ésta. Mediante la utilización de la memoria se podrá recomponer en el receptor la información original completa, recurriendo a los elementos repetidos memorizados y añadiendo los nuevos que se reciban. Esta técnica permite la transmisión de sólo la información nueva. Con ello se obtiene un considerable ahorro tanto de memoria como del ancho de banda de transmisión. Son tres las redundancias que pueden darse en una transmisión de señal de vídeo digital: 1. Redundancia temporal Consiste en dibujar un cuadro o fotograma completo, donde se dejen sin dibujar aquellos elementos de la imagen que se pondrán en movimiento de ésta. Sobre una transparencia se dibujan luego, imagen a imagen, los elementos que han de producir la sensación de movimiento. Posteriormente se fotografía el fotograma base añadiendo las transparencias del movimiento. El resultado final cinematográfico da la sensación de que los personajes se mueven, hablan, corren… Se tiene por tanto dos tipos de información, una de fondo, que es siempre la misma y, por lo tanto, redundante, y la otra variable. Esto, aplicado al vídeo digital supone la transmisión de sólo las diferencias entre un cuadro de vídeo y sus contiguos. Todos los elementos redundantes que puedan existir entre dos cuadros contiguos generan un tercer cuadro, denominado de ‘compresión inter-cuadro’, lo cual comprime la información de los dos cuadros originales. 2. Redundancia espacial Se da cuando en una imagen de video muchos de sus píxeles son iguales o extremadamente semejantes en cuanto a valores de luminancia y de croma. Una de dichas partes contiene toda la información redundante, por lo que puede reducirse la cantidad de información a transmitir si sólo se transmite la información de luminancia y croma del grupo de píxeles redundantes. Esta información redundante se denomina espacial ya que lo es por espacios de imagen, y genera un cuadro de compresión intra-cuadro, es decir, dentro del cuadro. 3. Redundancia estadística Las señales de sincronismo vertical y horizontal son predecibles, pues están normalizadas para que se generen en unos tiempos bien determinados. En este caso se dice que la redundancia es estadística. Esta redundancia puede codificarse, con códigos cortos, que no supongan un aumento de la memoria ni del ancho de banda. Para la compresión de vídeo se aplican dos técnicas: MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 25 Compresión espacial o intraframe: se aprovecha la redundancia de información que hay en una imagen de cada fotograma, como en las imágenes JPEG. Compresión temporal o interframe: se aprovecha la redundancia de información que hay entre fotogramas consecutivos. La compresión temporal siempre lleva implícita la espacial y a pesar de que aumenta el consumo de CPU mejora la eficiencia. En cualquier caso se trata de conseguir que, en función del nivel de calidad elegido, la pérdida de información sea imperceptible para el usuario. A continuación se profundiza en estos conceptos. Compresión Espacial Se consideran dos aspectos: 1. Eliminación de Información no perceptible. El MPEG aprovecha las características del ojo humano y eliminan la información que "no es visible”, como la información de color a alta frecuencia. El ojo humano es mucho más sensible a la luz que al color por su constitución fisiológica (mayor número de bastones que de conos). Cuando la información se restituye, el ojo no nota los cambios en la imagen por la pérdida de información. Por este motivo se elige un sub-muestreo de crominancia en función del servicio al que va dirigido. Para televisión por ejemplo es el 4:2:0. 2. Eliminación de la Información redundante. Las señales R, G, B, traducidas a los vectores Y, U, V de 1 píxel y convenientemente muestreadas determinan la información del píxel. Para realizar la compresión, las tramas de vídeo se dividen en regiones de 8x8 píxeles, llamadas bloques o en macrobloques (16x16). Los bloques son trasladados al dominio de la frecuencia espacial (H y V), y mediante el uso de la transformada discreta del coseno (similar a la transformada de Fourier), convierte los datos en una serie de coeficientes que representan las amplitudes de las funciones coseno en frecuencias crecientes. La transformada del coseno tiene la característica de concentrar la mayor parte de la información en un reducido número de coeficientes. Aplicando un proceso de cuantificación se eliminan los menos significativos reduciéndose considerablemente esta. En el decodificador el proceso de transformada de coseno inversa restaura matemáticamente los coeficientes en una aproximación cercana al valor original. Esta compresión solo elimina información redundante de un campo, pero una de las propiedades es que los campos sucesivos apenas cambian. Se reduciría la información a enviar si no se repitiera la información de imagen que es común; es por eso que se unas otra compresión denominada temporal. Compresión Temporal Los bloques y macro-bloques anteriormente definidos, que no cambien en cuadros sucesivos, se agrupan formando rodajas para poder sincronizarlos, y no se vuelven a codificar. Esta estructura le permite al receptor volver a sincronizarse al principio de cada rodaja en el caso de errores de transmisión, puesto que cada una de ellas comienza con una cabecera única. MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 26 Sin embargo, dentro de la compresión temporal, el concepto más importante es el de compresión de movimiento. Cuando las secuencias contienen movimiento de las imágenes, se archivan gran cantidad de datos de compresión para e proceso de compensación del movimiento (Motion Compensation). Este proceso se basa en que es posible identificar la velocidad y la dirección de una imagen en movimiento por el análisis de la información de las 25 imágenes que aparecen durante un segundo, y que, por tanto, se puede predecir dónde terminará ese movimiento 25 imágenes más tarde. Para este proceso se usan los macro-bloques, ya que son éstos los más apropiados para este tipo de codificación. La compensación de imágenes se aplica a imágenes tipo P, generándose dos tipos de información: 1. Diferencia entre valores contenidos en los macro-bloques de las imágenes tipo I y B. Esta diferencia crea unos macro-bloques con los campos previstos y los actuales, por lo que bastan unos pocos bits para describir dicha diferencia. 2. Un par de vectores que representan las posiciones entre los macrobloques de la imagen de referencia y las de la próxima imagen. Así, por ejemplo, un macrobloque x se mueve en una y con una velocidad z, el decodificador calcula las posiciones correctas que tendrá cada macro-bloque en las siguientes imágenes. Tipos de Imagenes Para conseguir las citadas compresiones de señal de vídeo, se emplean tres tipos de imágenes que se almacenan para posibilitar una predicción temporal de pérdidas o imágenes incompletos que recibe el receptor. Estas imágenes son: Intra imágenes (tipo I) Imágenes predictivas (tipo P) Imágenes predictivas bidireccionales (tipo B) Las Intra imágenes (I) se codifican sin referencia a otras imágenes. Su tasa de compresión es moderada, ya que sólo eliminan redundancia espacial. No dependen, por tanto, de las imágenes previas y es el punto donde el decodificador inicia su trabajo con un grupo de escenas que contienen una secuencia. Las imágenes I se insertan cada 12 imágenes tipo P. Las imágenes predictivas (P) se codifican usando algoritmos de predicción a partir de una imagen anterior, que puede ser del tipo I o del tipo P, las cuales se emplean como referencia para posteriores predicciones (Forward Prediction o predicción adelantada). La información de la imagen I se emplea como predicción de las imágenes tipo P, también la información de la primera imagen P se usa como predicción de la siguiente P. En ambos casos la predicción es siempre hacia adelante. Al eliminar la redundancia espacial y temporal, las imágenes P admiten mayor grado de compresión que las I. Necesitan una memoria donde se pueda almacenar más de una escena. MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 27 Las imágenes tipo P sirven como referencia para las futuras imágenes P o B, pero si existen errores en una imagen tipo P, va a buscar futuras imágenes derivadas de ella. Las imágenes tipo B utilizan una interpolación bidireccional de predicción del movimiento para que el decodificador pueda reconstruir una imagen que esté alojada entre dos imágenes reconstruidas. Las imágenes tipo B utilizan imágenes pasadas y futuras para hacer las predicciones, por lo que necesitan más de dos imágenes almacenadas en la memoria. Se trata de predicción bidireccional. Las imágenes tipo B reciben información tanto de las imágenes I como de las P anteriores o posteriores. Son las imágenes con mayor tasa de compresión. Para permitir la predicción hacia atrás, a partir de imágenes futuras, el codificador ordena las imágenes, de forma que as de tipo B son transmitidas después de las imágenes pasadas o futuras a las que están referenciadas. Las imágenes se presentan agrupadas en 12 cuadros o GOP (Group Of Pictures), cuyo orden ha de ser tal que sean las Intra imágenes la base del orden, es decir, la referencia para elaborar las imágenes P y B, pues sin la presencia de las imágenes I el decodificador no es capaz de predecir ni una P ni una B. 2.5.2. Estándares de compresión de vídeo. Los estándares de compresión de vídeo se llevan a cabo en el seno de dos grupos de trabajo, sin embargo, los algoritmos básicos son los mismos: El MPEG( Moving Pictures Expert Group) de la ISO, sus estándares se denominan MPEG-n (n=1,2,4,7…) Abarcan la comrpesión de audio y vídeo. El VCEG (Video Coding Experts Group) de la ITU-T. Sus estándares se denominan H.26x (x=1,3,4,5…). Solo abarcan la compresión de video, la de audio se hace según los estándares de telefonía (G.xxx). En la Figura 3 se puede comprobar cómo la evolución del trabajo de ambos grupos ha sido pareja en el tiempo hasta confluir conjuntamente con el H.264/AVC o H.264/MPEG-Part10 del que se hablará posteriormente. MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 28 Figura 3. Estándares de compresión de vídeo Para obtener más información sobre cada uno de estos códec así como de las características particulares que emplean en la codificación de video. Toda esta información se puede encontrar en el Anexo I.2 . MIGRACIÓN DE UN SISTEMA DE TELEFONÍA EN PRODUCCIÓN HACIA VOIP CON ASTERISK 29