830 likes | 1.04k Views
Integración de Servicios de Telefonía y Datos en Redes de Empresa. Conceptos teóricos de VoIP. Julián Fernández Navajas, José Ramón Gállego Profesores de Ingeniería Telemática Departamento de Ingeniería Electrónica y Comunicaciones Universidad de Zaragoza. Índice. - Codificación de voz
E N D
Integración de Servicios de Telefonía y Datos en Redes de Empresa.Conceptos teóricos de VoIP Julián Fernández Navajas, José Ramón Gállego Profesores de Ingeniería Telemática Departamento de Ingeniería Electrónica y Comunicaciones Universidad de Zaragoza
Índice - Codificación de voz - Paquetización de voz - Protocolos H.323 y SIP - Telefonía sobre IP (ToIP)
Índice - Codificación de voz - Paquetización de voz - Protocolos H.323 y SIP - Telefonía sobre IP (ToIP)
Codificación de voz Ruido (o error) de cuantización Digitalización El error de cuantización depende del número de bits por muestra. En telefonía se utilizan 8 bits por muestra, lo cual da 28 = 256 posibles valores de amplitud. Señal ‘muestreada’ (valores continuos) 100100111011001 Señal digital (valores discretos)
Codificación de voz Conceptos básicos: Espectro de voz y música Límite superior de la radio AM Límite superior de la radio FM Canal telefónico 0 dB MÚSICA -20 dB VOZ Rango dinámico aproximado de la música Rango dinámico aproximado de la voz Potencia relativa -40 dB Ruido 300 Hz 3,4 KHz -60 dB 100 KHz 100 Hz 1 KHz 10 KHz 10 Hz Frecuencia
Codificación de voz Conceptos básicos: Canal teléfonico • Se transmite una señal de 3,1 KHz (de 300 a 3.400 Hz). • Se reduce ancho de banda (caben más usuarios) • Se reducen requerimientos en el sistema de transmisión (más tolerancia a distorsión):
Codificación de voz Audio digital no comprimido
Codificación de voz Clasificación de algoritmos de compresión • Por su fidelidad: • Sin pérdidas (lossless): usada para datos (ej.: norma V.42bis en módems, ficheros .zip) • Con pérdidas (lossy): usada normalmente en audio y vídeo. Inaceptable para datos • Por su velocidad relativa de compresión/descompresión: • Simétricos: necesitan aproximadamente la misma potencia de CPU para comprimir que para descomprimir • Asimétricos: requieren bastante más CPU para comprimir que para descomprimir. • Siempre se necesita más CPU para comprimir que para descomprimir. • Generalmente los algoritmos que consiguen mayor compresión gastan más CPU.
Codificación de voz Tipos de compresión de audio • La codificación de la voz (digitalización + compresión) puede ser realizada mediante 3 técnicas principales: por codificación de forma de onda, por codificación basada en modelos matemáticos sobre la producción de la voz y en modelos híbridos que combinan ambas técnicas. • Codificación por forma de onda (apta para todo tipo de sonidos): • Psicoacústica (MPEG) • Adaptativa Diferencial (ADPCM) • Específica para voz: • Code Excited Linear Prediction (CELP) • CS-ACELP (Conjugate-Structure Algebraic Code Excited Linear Prediction • GSM • Los codecs de voz no son aptos para música u otros sonidos
Codificación de voz Codecs de voz
Otras funcionalidades de los codecs para reducir el ancho de banda en periodos de silencio Transmisión discontinua (DTX - Discontinuous Transmission) Detección de actividad de voz (VAD - Voice Activity Detection) Generación de ruido de comfort (CNG - Comfort Noise Generation) Codificación de voz Codecs de voz
Índice -Codificación de voz -Paquetización de voz -Protocolos H.323 y SIP - Telefonía sobre IP (ToIP)
La cabecera RTP incluye: Con esto el receptor puede: Tipo de carga útil (7 bits) Identificar el tipo de información recibida (ej.: audio G.722) Número de secuencia (16 bits) Ordenar datagramas recibidos, detectar perdidos Timestamp (32 bits) Reproducir en el instante adecuado, sincronizar audio y vídeo Paquetización de voz Estructura del paquete RTP 20 12 Variable 8 Cabecera IP Cabecera UDP Cabecera RTP Datos (Audio o Vídeo digital)
Paquetización de voz Cabecera RTP (RFC 1889) 32 bits
Ver: Indica la versión P: (Padding, relleno). Este bit indica si el paquete contiene bytes de relleno (a veces el paquete ha de tener una longitud múltiplo entero de algún número). X: (Extensión). Este bit indica si la cabecera RTP va seguida de una cabecera de extensión. CC: (CSRC Count). Este campo indica cuantos ‘Identificadores de fuente colaboradora’ contiene la cabecera. M: (Marker). Este bit sirve para marcar eventos considerados como importantes por el nivel de aplicación. Por ejemplo uno de esos eventos podría ser en una transmisión de vídeo MPEG el paquete que corresponde a un cambio de fotograma. Tipo de carga útil: Identificar el tipo de información recibida (ej.: audio G.722) Número de secuencia: Ordenar datagramas recibidos, detectar perdidos Timestamp: Reproducir en el instante adecuado,sincronizar audio y vídeo Identificador de sincronización de la fuente: ‘sello’ que identifica los paquetes que corresponden a una fuente de información dada, lo que podemos denominar un flujo RTP. Por ejemplo una videoconferencia genera típicamente dos flujos, uno de audio y uno de vídeo, y cada uno vendrá identificado por un valor diferente de este campo. No se puede utilizar el campo Tipo de carga útil para identificar el flujo ya que el emisor podría decidir en cualquier momento cambiar la codificación de un flujo (por ejemplo de G.711 a G.729). Paquetización de voz Cabecera RTP (RFC 1889)
Paquetización de voz Flujos RTP en una videoconferencia A 25 fps se emite un fotograma cada 40 ms Un fotograma Un fotograma Un fotograma Tipo H.263 Seq. 32 TS 955 Ident. 653 Tipo H.263 Seq. 31 TS 955 Ident. 653 Tipo H.263 Seq. 30 TS 635 Ident. 653 Tipo H.263 Seq. 29 TS 635 Ident. 653 Tipo H.263 Seq. 28 TS 315 Ident. 653 Tipo H.263 Seq. 27 TS 315 Ident. 653 Tipo G.722 Seq. 35 TS 955 Ident. 468 Tipo G.711 Seq. 34 TS 315 Ident. 468 Cada paquete de audio contiene 80 ms (640 muestras) que corresponde a dos fotogramas Flujo vídeo (ident. 653) Flujo audio (ident. 468)
Paquetización de voz Compresión de cabeceras (RFC 2508) • Los paquetes de voz no pueden ser muy grandes (retardo de paquetización) • Con la compresión de la voz el problema se acentúa. G.729 genera 8 Kb/s (20 bytes cada 20 ms) • Cabeceras: • IP: 20 bytes • UDP: 8 bytes • RTP: 12 bytes • 200% de overhead. La mayoría de los campos no cambian durante la sesión • La compresión reduce las cabeceras a 2-4 bytes. Se aplica a nivel de enlace.
Paquetización de voz Compresión de cabeceras (RFC 2508)
RTP Control Protocol (RTCP) es un protocolo de comunicación que proporciona información de control que está asociado con un flujo de datos para una aplicación multimedia (flujo RTP). Trabaja junto con RTP en el transporte y empaquetado de datos multimedia, pero no transporta ningún dato por sí mismo, sino información de control. Los mensajes de control pueden ser de varios tipos: SR (Sender Report): ofrece estadísticas de transmisión y recepción de los participantes que son emisores activos. RR (Receiver Report): ofrece estadísticas de recepción de los participantes que no son emisores activos. SDES (Source Description): describe a un emisor activo. Lo utilizan los emisores para anunciarse de manera no ambigua. BYE: Indica el final de la participación Con la información de RTCP los emisores pueden ajustar el caudal según el estado de la red. Paquetización de voz RTC Control Protocol (RTCP)
Paquetización de voz Codecs y su ancho de banda
Índice -Codificación de voz - Paquetización de voz - Protocolos H.323 y SIP - Telefonía sobre IP (ToIP)
Para garantizar la interoperabilidad entre la red telefónica y las redes de transmisión de datos se requiere utilizar grupos de protocolos específicos. Los más conocidos son H.323 y SIP. Protocolos H.323 y SIP Introducción
H.323 es una recomendación del ITU-T, que define los protocolos para proveer sesiones de comunicación audiovisual sobre redes de conmutación de paquetes. Es una parte de la serie de protocolos H.32x, los cuales también gestionan comunicaciones multimedia sobre RDSI, RTC o UMTS. Los terminales H.323 pueden ser utilizados en configuraciones múltiples, y su vez pueden comunicarse con terminales que sean parte de redes diferentes a la suya. H.323 es utilizado principalmente para Voz sobre IP y para videoconferencia basada en IP. Es un conjunto de normas (recomendación paraguas) ITU para comunicaciones multimedia que hacen referencia a los terminales, equipos y servicios estableciendo una señalización en redes IP. No garantiza calidad de servicio. Protocolos H.323 y SIP H.323 - Introducción
H.323 fue diseñado con un objetivo principal: Proveer a los usuarios con comunicaciones multimedia que soportan voz, vídeo y datos sobre redes de conmutación de paquetes. El estándar fue diseñado específicamente con los siguientes objetivos: Basarse en los estándares existentes, incluyendo H.320, RTP y Q.931. Incorporar algunas de las ventajas que las redes de conmutación de paquetes ofrecen para transportar datos en tiempo real. Solucionar la problemática que plantea el envío de datos en tiempo real sobre redes de conmutación de paquetes. Protocolos H.323 y SIP H.323 - Objetivos
Protocolos H.323 y SIP H.323 - Familias de estándares H.32x Los H.32x son estándares ‘paraguas’. Cada uno de ellos se basa en una serie de estándares previos para especificar todos los servicios necesarios en una videoconferencia. Ej.: Codificación de audio G.711
Protocolos H.323 y SIP H.323 - Familias de estándares H.32x RDSI IP
Protocolos H.323 y SIP H.323 - Familias de estándares H.32x
H.323 establece los estándares para la compresión y descompresión de audio y vídeo, asegurando que los equipos de distintos fabricantes se intercomuniquen. Así, los usuarios no se tienen que preocupar de cómo el equipo receptor actúa, siempre y cuando cumpla este estándar. Los componentes más relevantes de H.323 son: Terminal Gateway Gatekeeper Unidad de Control Multipunto Protocolos H.323 y SIP H.323 - Componentes
Terminal Un terminal H.323 es un extremo de la red que proporciona comunicaciones bidireccionales en tiempo real con otro terminal H.323, gateway o unidad de control multipunto (MCU). Esta comunicación consta de señales de control, indicaciones, audio, imagen en color en movimiento y /o datos entre los dos terminales. Un terminal H.323 puede proporcionar sólo voz, voz y datos, voz y vídeo, o voz, datos y vídeo. Gateway Un gateway H.323 es un extremo que proporciona comunicaciones bidireccionales en tiempo real entre terminales H.323 en la red IP y otros terminales ITU o gateways en una red conmutada. Terminales ITU son los incluidos en las recomendaciones H.320 (ISDN), H.321 (ATM), H.322 (GQOS, Guaranteed Quality of Service), H.324 M (móvil). Protocolos H.323 y SIP H.323 - Componentes
Gatekeeper El gatekeeper es una entidad que proporciona la traducción de direcciones y el control de acceso a la red de los terminales H.323, gateways y MCUs. El gatekeeper puede también ofrecer servicios de gestión del ancho de banda: fija el número de conferencias que pueden estar dándose simultáneamente en la LAN (red H.323) y rechaza las nuevas peticiones por encima del nivel establecido. Unidad de Control Multipunto (MCU) punto terminal que se encarga de la centralización del flujo informativo en una conferencia multicast bajo el estándar H.323 Gestiona la negociación entre terminales para determinar las capacidades comunes para el proceso de audio y vídeo y controlar la multidifusión. Protocolos H.323 y SIP H.323 - Componentes
Los gateways son los encargados de conectar dos redes disímiles. Realiza la traducción de la señalización, de las codificaciones de audio y vídeo y de los protocolos de transmisión entre las diferentes redes. Los gatekeepers proveen los servicios de directorio, autorización e identificación de terminales y gateways, manejo de ancho de banda, conversión de direcciones, control de llamadas, tarificación, etc. Aunque los gatekeepers son opcionales, resultan ser esenciales para los sistemas H.323 de gran escala. Los gatekeepers, los gateways y los MCUs son componentes lógicos separados pero que pueden ser implementados en un mismo dispositivo físico. Protocolos H.323 y SIP H.323 - Componentes
RTP/RTCP: Protocolos de transporte en tiempo real que proporcionan servicios de entrega punto a punto de datos. RTP (Real Time Protocol, protocolo en tiempo real) Agrega a cada trama la identificación del tipo de información que contiene, el número de secuencia y la hora en que fue generada. Esto permite que el receptor transmita la información al usuario al mismo ritmo en que fue generada y permite conocer si hubo descartes de información. RTCP (RTP Control Protocol) Trabaja en conjunto con RTP. Se basa en la transmisión periódica a todos los participantes de una sesión de paquetes de control con información sobre la calidad de la comunicación. Protocolos H.323 y SIP H.323 - Protocolos (RTP/RTCP)
H.225.0 es un protocolo de control de llamada. Su principal objetivo es la definición de mensajes de: Señalización de llamada: establecimiento, control y finalización de una llamada H.323 Entre dos puntos finales H.323 (terminal o gateway) o entre un punto final y un gatekeeper. Está basada en los procedimientos de establecimiento de llamada de RDSI, Recomendación Q.931/Q.932. Se establece un canal de control de llamadas fiable (TCP) en el puerto 1720. Señalización RAS (Registration, Admission and Status): registro, admisión, cambios de ancho de banda, estado y desconexión entre puntos finales y un Gatekeeper H.323. La función de señalización RAS usa un canal separado (canal RAS), que se abre antes del establecimiento de ningún otro canal. Protocolos H.323 y SIP H.323 - Protocolos (H.225.0)
H.245 es un protocolo de control para comunicaciones multimedia. Sus funciones principales son: 1. Intercambio de capacidades: Los terminales definen los códecs de los que disponen y se lo comunican al otro extremo de la comunicación. 2. Apertura y cierre de canales lógicos: Los canales de audio y video H.323 son punto a punto y unidireccionales. Por lo tanto, en función de las capacidades negociadas, se tendrán que crear como mínimo dos de estos canales. Esto es responsabilidad de H.245. 3. Control de flujo cuando ocurre algún tipo de problema. 4. Multitud de otras pequeñas funciones. Ofrece la posibilidad de ser tunelizado dentro de los mensajes de señalización de llamada de H.225.0. Esto facilita su paso a través de los cortafuegos. Protocolos H.323 y SIP H.323 - Protocolos (H.245)
Protocolos H.323 y SIP H.323 – Ejemplo de llamada 1)Registro mediante protocolo RAS del llamante 2) SETUP para iniciar una llamada H.323. 3) CALL PROCEEDING advirtiendo del intento de establecer una llamada. 4) Registro mediante protocolo RAS del llamado. 5) ALERTING indica inicio de la fase de generación de tono. 6) CONNECT indica el comienzo de la conexión.
Protocolos H.323 y SIP H.323 – Ejemplo de llamada • Negociación mediante el protocolo H.245 (capacidades de los participantes y codecs de audio y video a utilizar. • Apertura del canal de comunicación (direcciones IP, puerto).
Protocolos H.323 y SIP H.323 – Ejemplo de llamada Los terminales inician la comunicación y el intercambio de audio (o video) mediante el protocolo RTP/RTCP.
Protocolos H.323 y SIP H.323 – Ejemplo de llamada • Cualquiera de los participantes activos en la comunicación puede iniciar el proceso de finalización de llamada (H.245). • Se cierra la conexión con el mensaje RELEASE COMPLETE (H.225) • Se liberan los registros con el gatekeeper (RAS)
Recomendaciones ITU-T serie G G.711: Modulación PCM para frecuencia de voz Audio hasta 3KHZ a 48, 56 ó 64 kbps. G.722: ancho de banda hasta 7 kHz con tasas de 48 to 64 kbps. G.723.1: Codificación para Comunicación Multimedia a 5.3 y 6.3 kbps. G.728: Codificación de 15 kbps usando Low-Delay code Excited Linear Prediction. G.729: Codificación para Transmisión Multimedia a 8 ó 13 kbps. Recomendaciones ITU-T serie H H.261 H.263 H.264 Protocolos H.323 y SIP H.323 - Protocolos (codecs de audio y vídeo)
Protocolos H.323 y SIP H.323 - Terminales Arquitectura Equipo e/s de vídeo Codec Video H.261, H.263 Retardo trayecto Recepción (Sync) Capa H.225 RTP RTCP UDP IP Equipo e/s de audio Codec Audio G.711, G.722, G.723, G.728, G.729 Datos usuario Aplicaciones T.120, etc. TCP Control del sistema Control H.245 Interfaz de usuario para control del sistema H.225.0 Control llamada UDP H.225.0 Control RAS
GK Protocolos H.323 y SIP H.323 - Gatekeeper Luis 147.156.3.12 5112 Laura 147.156.4.15 5113 Internet Ana 147.156.7.45 5114 Pedro 147.156.1.20 5111 5111 Pedro 147.156.1.20 5112 Luis 147.156.3.12 5113 Laura 147.156.4.15 5114 Ana 147.156.7.45
Arrancar Netmeetig GW 147.156.2.69 Llamar a 963972386 Protocolos H.323 y SIP H.323 - Gateway 147.156.2.15 963972386 ADSL BRI 147.156.2.69 963171500 PRI RDSI Internet GW Gateway o ‘puerta de enlace’
Protocolos H.323 y SIP H.323 - Gateway Arquitectura H . 3 2 3 Control de llamada IVR H . 3 2 0 H.245 H.225 H.242 Q.931 IP RDSI Video Audio Datos T.120
Llamar a 963171500 ext. 60 Protocolos H.323 y SIP H.323 – Gateway/Gatekeeper: llamada entrante 147.156.2.15 963972386 Arrancar Netmeeting GK: 158.42.5.96 Usuario: Alicia Número de tel.: 60 ADSL BRI 147.156.2.69 963171500 GW RDSI Internet PRI ¿ext. 60? 60 = 147.156.2.15 158.42.5.96 Gatekeeper o ‘equipo selector’ GK Usuario IP Ext. Alicia 147.156.2.15 60
Arrancar Netmeeting GK: 158.42.5.96 Usuario: Alicia Número de tel.: 60 Llamar al 963972386 Usar GW 147.156.2.69 Protocolos H.323 y SIP H.323 – Gateway/Gatekeeper: llamada saliente 147.156.2.15 963972386 ADSL BRI 147.156.2.69 963171500 GW RDSI Internet PRI Registro Gatekeeper 158.42.5.96 GK Usuario IP Ext. Alicia 147.156.2.15 60
Protocolos H.323 y SIP H.323 – MCU (Transcodificación) Valencia Bilbao Flujos H.263 de 384 Kb/s 3*BRI 3*BRI RDSI BRI 3*BRI Terminal sin soporte H.263 PRI Flujo H.261 de 128 Kb/s MCU MCU con transcodificacion Atenas La transcodificación ha de hacerse en tiempo real y es labor intensiva de CPU Toulouse
Protocolos H.323 y SIP H.323 – Gatekeeper, Gateway y MCUs MCU H.323 MCU BRI RDSI GW Internet PRI Pasarela PRI 3*BRI GK MCU Gatekeeper MCU H.320 con transcodificación
Flujo de audio-vídeo multicast de 192 Kb/s Protocolos H.323 y SIP H.323 – Videoconferencia multipunto multicast Transmisión multicast no disponible en H.323 MBone Flujo replicado por los routers. No hay cuellos de botella.
Flujos multicast a/v 192 Kb/s Flujo unicast a/v 192 Kb/s Protocolos H.323 y SIP H.323 – Multicast-unicast con transcodificación Flujo unicast a/v 100 Kb/s RDSI BRI Línea E1 Internet Luis Alicia Usuario sin soporte multicast Línea E1 ADSL 256 Kb/s Juan Pedro Pasarela multicast-unicast con transcodificación Usuario sin soporte multicast Usuario con soporte multicast
SIP (Session Initiation Protocol) fue desarrollado por el grupo MMUSIC (Multimedia Session Control) del IETF (RFC 2543 (Febrero 1996); RFC 3261 (Junio 2002)). SIP es un protocolo de señalización a nivel de aplicación para establecimiento y gestión de sesiones con múltiples participantes: Localización del terminal llamado objetivo (resolución de direcciones, redirección de llamadas…) Determinación de las capacidades del terminal objetivo (se elige el menor nivel común – SDP) Determinación de la disponibilidad del terminal objetivo. Gestión de transferencia de llamadas y cambios en la conexión (codec, nuevo terminal,…) Protocolos H.323 y SIP SIP – Introducción