UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE INGENIERÍA ESTUDIOS DE POSTGRADO TRANSMISIÓN DE DATOS Y TELEMETRÍA INTEGRANTES Barrios, Angellen C.I. 84.430.220 De Arco, Rafael C.I. 17.696.894 PROFESOR: Fernández, Luis CARACAS, DICIEMBRE 2010
2 ÍNDICE VOZ SOBRE IP... 3 RECOMENDACIÓN UIT T H.323... 3 PROTOCOLO DE INICIACIÓN DE SESIONES (SIP)... 4 TRABAJO PRÁCTICO DE LABORATORIO... 5 EQUIPO Y APLICACIONES UTILIZADOS... 5 Figura 1: Equipos utilizados... 5 PROCEDIMIENTOS REALIZADOS... 6 1. Se corroboró el correcto establecimiento de las direcciones IP en los equipos conectados 6 2. Llamada H.323... 6 Figura 2: Configuración del Analizador de Protocolos para H.323... 6 Figura 3: Teléfono IP utilizados, H.323 y SIP.... 7 Figura 4: Aplicación OpenPhone para H.323... 7 Cuadro 1: Tramas del Analizador de Protocolos H.323... 10 Figura 5: Diagrama de establecimiento y finalización de una llamada H.323... 11 3. Llamada SIP:... 12 Figura 6: Configuración del Analizador de Protocolos para SIP... 12 Figura 7: Aplicación X-Lite para SIP... 13 Cuadro 2: Tramas del Analizador de Protocolos SIP... 15 Figura 8: Diagrama de establecimiento y finalización de una llamada SIP... 16 CONCLUSIONES... 17 GLOSARIO... 18
3 VOZ SOBRE IP Consiste en transmitir fragmentos auditivos, como la voz, a través de redes que se encuentran sobre el protocolo IP, convirtiendo la señal de voz en una señal digital que es colocada dentro de paquetes IP para ser transmitidos en la red hacia el destino, donde se les extrae la señal digital y se convierte de nuevo en una señal analógica. Para establecer, controlar y finalizar las llamadas sobre IP existen dos estándares, los cuales serán el principal estudio de la presente práctica: Recomendación UIT T H.323 Establecida por el UIT-T (Sector de Normalización de las Telecomunicaciones de la Unión Internacional de Telecomunicaciones) especifica el modo de interactuar de varios protocolos y expone los requisitos técnicos en los casos donde las redes IP no pueden garantizar la calidad de servicio. Utiliza los siguientes componentes: o Terminal o Guardián de puerta (Gatekeeper): facilita traducción de direcciones y control de acceso a la red para los componentes. Define el modo de interactuar de varios protocolos: o H.225: señaliza la llamada y empaqueta. Realiza las tareas de: (1) Registro, admisiones, cambios de ancho de banda utilizando los mensajes definidos en la sintaxis ASN.1 y codificados e PER, como el paquete ARQ. (2) Establecimiento y desconexión de la llamada, a través de mensajes y elementos definidos en el protocolo Q.931. Sus partes son: a. Discriminador de protocolo b. Valor de referencia de llamada c. Tipo de mensaje d. Elementos de información (Capacidad portadora, causa, visualización, Usuario a usuario ) (3) Formateo, empaquetado y desempaquetado de vídeo, audio, datos y control de mensajes de salida; detección y corrección de errores, y sincronización de medios. Hace uso del protocolo en tiempo real RTP/RTCP.
4 o H.245: controla los canales lógicos por donde se transportarán los trenes de audio, video y datos, entre otras funciones. Utiliza mensajes definidos en la sintaxis ASN.1 y codificados en PER. Protocolo de Iniciación de Sesiones (SIP) Desarrollado por el Grupo de Trabajo de Ingeniería de Internet (IETF), es un protocolo que controla sesiones multimedia con uno o varios participantes, y que además funge con componente que provee las bases para implementar otros servicios. Define los siguientes componentes: o Sesión: conjunto de emisores y receptores confluyendo datos. o Mensaje: data enviada entre elementos, con sintaxis parecida a HTTP/1.1. Solicitudes de un cliente a un servidor o respuestas de un servidor a un cliente. o Solicitud: mensaje enviado para provocar una operación en el servidor. o Cliente: elemento que envía las solicitudes y recibe respuestas. o Respuesta: mensaje enviado para indicar al cliente estado de una solicitud. o Servidor: elemento que recibe solicitudes para prestar servicios y envía respuestas de estados. o Método: es la función que una solicitud desea invocar en el servidor. o Agente de Usuario Cliente (UAC): entidad lógica que crea y envía una nueva solicitud. o Agente de Usuario Servidor (UAS): entidad lógica que genera una respuesta a una solicitud. o Agente de Usuario: entidad lógica que puede actuar como UAC o UAS. o Transacción: comprende todos los mensajes desde la primera solicitud enviada por el cliente hasta una respuesta final enviada por el servidor. o Respuesta final: aquella que termina una transacción. o Respuesta provisional: indica progreso por parte del servidor: 1xx. o Diálogo: relación SIP punto a punto entre dos agentes de usuario que prevalece por algún tiempo y facilita la secuencia de mensajes y enrutamiento. o Servidor Proxy: elementos que encaminan las solicitudes hacia los UAS s y las respuestas hacia los UAC s, tomando decisiones de enrutamiento, además permiten imponer políticas. o Identificador uniforme de recursos: identifica un recurso de comunicación (solicitudes o respuestas). Tienen formato mailto.
5 TRABAJO PRÁCTICO DE LABORATORIO Equipo y Aplicaciones utilizados 1. Dos computadores personales interconectados en una red local. 2. Dos teléfonos IP, uno utilizando la recomendación H.323. y otro el protocolo SIP, interconectados en la red local. 3. Aplicación OpenPhone para H.323: teléfono virtual que gestiona las llamadas en el PC. 4. Aplicación Gatekeeper para H.323: aplicación que facilita la traducción de dirección y controla el acceso a la red para los componentes. 5. Aplicación Servidor Proxy para SIP: enrutador virtual que asegura que la solicitud sea enviada a una entidad más cercana al usuario destino. 6. Aplicación X-Lite para SIP: teléfono virtual que gestiona las llamadas en el PC. 7. Aplicación Analizador de Protocolos: captura, decodifica y visualiza las tramas que contienen los mensajes de señalización H.323 y los mensajes SIP Figura 1: Equipos utilizados
6 Procedimientos realizados 1. Se corroboró el correcto establecimiento de las direcciones IP en los equipos conectados, de la siguiente forma: a. PC A: Aplicaciones OpenPhone y X-Lite: 172.17.59.183 b. PC B: Aplicaciones Servidor Proxy, Gatekeeper y analizador de protocolos: 172.17.59.16 c. Teléfono IP H.323: 172.17.59.245 d. Teléfono IP SIP: 172.17.59.209 2. Llamada H.323: a. Se comenzó a ejecutar la aplicación Gatekeeper, para que controle el acceso a la red por parte de los componentes. b. Se inició el Analizador de Protocolos en el PC B, configurando las direcciones IP de los terminales y seleccionando las opciones Filtrar protocolo y Señalización H.323 (Figura 2); y se comenzó la captura. Figura 2: Configuración del Analizador de Protocolos para H.323 c. En el PC A, con extensión telefónica 3551, se ejecutó la aplicación OpenPhone (Figura 4) y se realizó una llamada H.323 al teléfono IP correspondiente, con extensión 3550. Se finalizó la llamada.
7 Figura 3: Teléfono IP utilizados, H.323 y SIP. Figura 4: Aplicación OpenPhone para H.323 d. Se detuvo la captura en el analizador de protocolos, donde se visualizaron los siguientes resultados a continuación. Se generaron 11 tramas, identificándose los procedimientos teóricos para establecer y mantener una llamada H.323. Se identificó sin embargo que en las tramas del Analizador de protocolos ocurre lo siguiente con la información: No se muestran los mensajes del canal RAS H.225 (Registro, admisiones y situación), compuesto por la petición de admisión (ARQ), confirmación de admisión (ACF), petición de desligamiento (DRQ) y confirmación de desligamiento (DCF). No se muestra el canal de control H.245
8 Sólo se muestran los mensajes de la capa TCP, la información UDP en la cual ocurre la transmisión propiamente en los canales de audio, video o datos, no se muestra. Trama N 1 Terminal A => Terminal B ************************* Cabecera 802.3 ************************* Dirección Física Destino: 00:06:4F:13:73:37 (6 Octetos) Dirección Física Origen: 00:0B:6A:A1:2F:46 (6 Octetos) Tipo: 0800 (2 Octetos) ************************* Cabecera IPv4 ************************* Versión IP: 4 (4 Bits) Longitud de Cabecera: 5 Palabras de 32 Bits (4 Bits) Precedencia: Rutina (3 Bits) Retraso: Normal (1 Bit) Rendimiento: Normal (1 Bit) Fiabilidad: Normal (1 Bit) Reservado para uso futuro: Reservado (2 Bits) Longitud Total: 1500 Octetos (2 Octetos) Identificación: 1489 (2 Octetos) Indicador (Reservado): 0 (1 Bit) Indicador DF: No Fragmentar (1 Bit) Indicador MF: Último Fragmento (1 Bit) Posición del Fragmento: 0 (13 Bits) Tiempo de Vida: 128 (1 Octeto) Protocolo: 6 (1 Octeto) Suma de Control de Cabecera: 8289 (2 Octetos) Dirección IP Origen: 172.17.59.183 (4 Octetos) Dirección IP Destino: 172.17.59.16 (4 Octetos) ************************* Cabecera TCP ************************* Puerto Origen: 1110 (2 Octetos) Puerto Destino: 1721 (2 Octetos) Número de Secuencia: 3181783507 (4 Octetos) No. de Acuse de Recibo: 2681076625 (4 Octetos) Posición de los Datos: 5 Palabras de 32 Bits (4 Bits) Reservado: 0 (6 Bits) Puntero Urgente: 0 (1 Bit) No. Acuse de Recibo: 1 (1 Bit) Entregar Inmediatamente: 0 (1 Bit) Reiniciar Conexión: 0 (1 Bit) Sincronizar Nros. de Secuencia: 0 (1 Bit) Últimos Datos del Emisor: 0 (1 Bit) Ventana: 17520 (2 Octetos) Suma de control: 61231 (2 Octetos) Puntero urgente: 0 (2 Octetos) ************************* Cabecera TPKT ************************* Versión: 3 (1 Octeto) Conexión del PCA al B, a la aplicación Gatekeeper. Canal de señalización H.225 Capa 1 de OSI Capa 3 de OSI Capa 4 de OSI
9 Reservado: 0 (1 Octeto) Longitud del Paquete: 3171 (2 Octetos) *************************** Datos Q.931 *************************** Capa 5 de OSI. Discriminador de Protocolo: 8 (1 Octeto) Reservado: 0000 (4 Bits) Longitud Referencia de Llamada: 2 Octetos (4 Bits) Bandera: Desde el Originador (1 Bit) Referencia de Llamada: 19496 (2 Octetos - 1 Bit) Reservado: 0 (1 Bit) Tipo de Mensaje: Establecimiento (7 Bits) Tipo Elemento de Información: Longitud Variable (1 Bit) Identificador Elemento de información: Capacidad portadora (7 Bits) Longitud Elemento de información: 3 Octetos (1 Octeto) Bit de Extensión: Último Octeto (1 Bit) Norma de Codificación: UIT-T (2 Bits) Capacidad de transferencia de información: Información digital sin restricciones (5 Bits) Bit de Extensión: Último Octeto (1 Bit) Modo de transferencia: Modo circuito (2 Bits) Velocidad de transferencia de información: 384 kbit/s (5 Bits) Bit de Extensión: Último Octeto (1 Bit) Identificador de capa 1: 01 (2 Bits) Protocolo de capa 1 de información de usuario: H.221 y H.242 (5 Bits) Tipo Elemento de Información: Longitud Variable (1 Bit) Identificador Elemento de información: Número de la parte llamante (7 Bits) Longitud Elemento de información: 5 Octetos (1 Octeto) Bit de Extensión: Último Octeto (1 Bit) Tipo de número: Desconocido (3 Bits) Plan de numeración: RDSI/telefonía (Recomendación E.164 [19]) (4 Bits) Bit de Extensión: Continúa en el octeto siguiente (1 Bit) Indicador de presentación: Presentación restringida (3 Bits) Reserva: 100 (3 Bits) Indicador de selección: Proporcionado por el usuario, verificado y aprobado (3 Bits) Bit de Extensión: Continúa en el octeto siguiente (1 Bit) Cifras del número: 3 (7 Bits) Bit de Extensión: Continúa en el octeto siguiente (1 Bit) Cifras del número: 5 (7 Bits) Bit de Extensión: Continúa en el octeto siguiente (1 Bit) Cifras del número: 5 (7 Bits) Bit de Extensión: Continúa en el octeto siguiente (1 Bit) Cifras del número: 1 (7 Bits) Tipo Elemento de Información: Longitud Variable (1 Bit) Identificador Elemento de información: Número de la parte llamada (7 Bits) Longitud Elemento de información: 5 Octetos (1 Octeto) Bit de Extensión: Último Octeto (1 Bit) Tipo de número: Desconocido (3 Bits) Plan de numeración: RDSI/telefonía (Recomendación E.164 [19]) (4 Bits) Bit de Extensión: Continúa en el octeto siguiente (1 Bit) Cifras del número: 3 (7 Bits) Función de señalización de la llamada. Mensaje de Establecimiento Extensión telefónica que llama 3551 Extensión telefónica a llamar 3550
10 Bit de Extensión: Continúa en el octeto siguiente (1 Bit) Cifras del número: 5 (7 Bits) Bit de Extensión: Continúa en el octeto siguiente (1 Bit) Cifras del número: 5 (7 Bits) Bit de Extensión: Continúa en el octeto siguiente (1 Bit) Cifras del número: 0 (7 Bits) Tipo Elemento de Información: Longitud Variable (1 Bit) Identificador Elemento de información: Usuario a usuario (7 Bits) Longitud Elemento de información: 3140 Octetos (2 Octeto) Discriminador de protocolo: X.208 y X.209 (ASN.1) (1 Octeto) Información de usuario: Desconocido (3139 Octetos) Luego continúa la comunicación sucesivamente, resumiendo así: TRAMA ORIGEN DESTINO TIPO DE MENSAJE 2 Gatekeeper Teléf. IP Establecimiento Bandera: Desde el Originador 3 Teléf. IP Gatekeeper Llamada en curso Bandera: Hacia el Originador 4 Gatekeeper PC A Llamada en curso 5 Teléf. IP Gatekeeper Aviso 6 Gatekeeper PC A Aviso 7 Teléf. IP Gatekeeper Conexión 8 Gatekeeper PC A Conexión 9 PC A Gatekeeper Liberación completa Bandera: Desde el Originador 10 Teléf. IP Gatekeeper Liberación completa Bandera: Hacia el Originador 11 Gatekeeper Teléf. IP Liberación completa Bandera: Desde el Originador Cuadro 1: Tramas del Analizador de Protocolos H.323 El diagrama de establecimiento y finalización de una llamada H.323 se muestra en la figura 5.
11 Trama 1 Trama 4 Trama 2 Trama 3 TCP Trama 6 Trama 8 Trama 5 Trama 7 UDP Trama 9 Trama 10 TCP No se muestra en el analizador de protocolos No se muestra en el analizador de protocolos Figura 5: Diagrama de establecimiento y finalización de una llamada H.323
12 3. Llamada SIP: a. Se comenzó la ejecución de la aplicación Servidor Proxy, para que enrute las llamadas entre los terminales. b. En el Analizador de Protocolos en el PC B, se configuraron las direcciones IP de los terminales y se seleccionaron las opciones Filtrar puertos y se estableció el puerto 5060 (Figura 6); y se comenzó la captura. Figura 6: Configuración del Analizador de Protocolos para SIP c. En el PC A, con extensión telefónica 9003, se ejecutó la aplicación X-Lite (Figura 5) y se realizó una llamada SIP al teléfono IP correspondiente, con extensión 9002. Se finalizó la llamada. d. Se detuvo la captura en el analizador de protocolos, donde se visualizaron los siguientes resultados a continuación.
13 Figura 7: Aplicación X-Lite para SIP e. Se generaron 88 tramas, de las cuales 59 mostraban caracteres basura de información. Siguiendo la lógica y la continuidad de las tramas, todos los pasos se dieron correctamente según el esquema teórico hasta el establecimiento de la llamada, pero los pasos posteriores para finalizar la llamada (comandos BYE y OK) no se encontraron en ninguna trama, ya que los mismos no pasan a través del servidor Proxy. Esto quizás fue ocasionado por problemas en la aplicación analizador de Protocolos, que no identifica bien todos los mensajes, o quizás hubo interferencia externa en la red ocasionada por otra aplicación IP, que se transmitía al mismo tiempo que se realizaba la llamada, ocasionando que el analizador de protocolos no pudiese identificar correctamente los mensajes. Trama N 1 Terminal A => Terminal B ************************* Cabecera 802.3 ************************* Dirección Física Destino: 00:06:4F:13:73:37 (6 Octetos) Dirección Física Origen: 00:0B:6A:A1:2F:46 (6 Octetos) Tipo: 0800 (2 Octetos) ************************* Cabecera IPv4 ************************* Versión IP: 4 (4 Bits) Longitud de Cabecera: 5 Palabras de 32 Bits (4 Bits) Precedencia: Rutina (3 Bits) Retraso: Normal (1 Bit) Rendimiento: Normal (1 Bit) Fiabilidad: Normal (1 Bit) Reservado para uso futuro: Reservado (2 Bits) Conexión del PCA al B, a la aplicación Serv idor Proxy. Capa 1 de OSI Capa 3 de OSI
14 Longitud Total: 824 Octetos (2 Octetos) Identificación: 302 (2 Octetos) Indicador (Reservado): 0 (1 Bit) Indicador DF: Puede fragmentarse (1 Bit) Indicador MF: Último Fragmento (1 Bit) Posición del Fragmento: 0 (13 Bits) Tiempo de Vida: 128 (1 Octeto) Protocolo: 17 (1 Octeto) Suma de Control de Cabecera: 26525 (2 Octetos) Dirección IP Origen: 172.17.59.183 (4 Octetos) Dirección IP Destino: 172.17.59.16 (4 Octetos) ************************* Cabecera UDP ************************* Puerto Origen: 53135 (2 Octetos) Puerto Destino: 5060 (2 Octetos) Longitud: 804 (2 Octetos) Suma de Control: 54432 (2 Octetos) ****************** Data decodificada en UTF-8 ****************** INVITE sip:9003@172.17.59.16 SIP/2.0 Capa 4 de OSI Via: SIP/2.0/UDP 172.17.59.183:53135;branch=z9hG4bK-d8754z-f61afa353c68f80c-1---d8754z- ;rport Max-Forwards: 70 Contact: <sip:9002@172.17.59.183:53135> To: "9003"<sip:9003@172.17.59.16> From: "9002"<sip:9002@172.17.59.16>;tag=8d7cf504 Call-ID: YmI1YWRiY2RjNjM3ZWY0ZDhlNzBlZjRlNjVhYTAzYzM. CSeq: 1 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO Content-Type: application/sdp User-Agent: X-Lite release 1104o stamp 56125 Content-Length: 265 Mensaje SIP Extensión telefónica a llamar 9003, registrada en el servidor Proxy. Extensión telefónica que llama 9002, registrada en el servidor Proxy. v=0 o=- 4 2 IN IP4 172.17.59.183 s=counterpath X-Lite 3.0 c=in IP4 172.17.59.183 t=0 0 m=audio 7798 RTP/AVP 107 0 8 101 a=alt:1 1 : ycryn7a4 3H9sEK66 172.17.59.183 7798 a=fmtp:101 0-15 a=rtpmap:107 BV32/16000 a=rtpmap:101 telephone-event/8000 a=sendrecv Datos de la aplicación que llama.
15 Luego continúa la comunicación sucesivamente, resumiendo así: TRAMA ORIGEN DESTINO MENSAJE 2,3 PC A Serv. Proxy INVITE 4-6 Serv. Proxy PC A TRYING 7 Serv. Proxy PC A Proxy Authentication Required 8 PC A Serv. Proxy ACK 9,10 PC A Serv. Proxy INVITE 11 Serv. Proxy PC A TRYING 12,13 Serv. Proxy Teléf. IP INVITE 14,15 Teléf. IP Serv. Proxy RINGING 16,17 Serv. Proxy PC A RINGING 18,19 Basura 20 Teléf. IP Serv. Proxy OK 21 Serv. Proxy PC A OK 22-29 Basura 30 Teléf. IP Serv. Proxy REGISTER 31 Serv. Proxy Teléf. IP Proxy Authentication Required 32 Teléf. IP Serv. Proxy REGISTER 33 Serv. Proxy Teléf. IP OK 34-64 Basura 65 Serv. Proxy Teléf. IP Proxy Authentication Required 66 Teléf. IP Serv. Proxy REGISTER 67 Serv. Proxy Teléf. IP OK 68-88 Basura Cuadro 2: Tramas del Analizador de Protocolos SIP Se visualizaron tramas con repetición de mensajes, como de la 4 a la 6 donde todas contenían el comando TRYING, puede deberse a que entre tramas difieren en algunos datos o puede ser ocasionado por la pérdida de paquetes, ocasionando el reenvío del servidor Proxy. El diagrama de establecimiento y finalización de una llamada SIP se muestra en la figura 8.
16 Trama 1-6 Trama 7 Trama 8 Trama 9-11 Trama 12,13 Trama 14,15 Trama 16,17 Trama 20 Trama 21 Figura 8: Diagrama de establecimiento y finalización de una llamada SIP Luego se ejecuta el comando REGISTER, por el cual los equipos se resetean y se vuelven a registrar en el Proxy, así le indican que se terminó la llamada.
17 CONCLUSIONES El objetivo de esta práctica consistió en observar y verificar los procedimientos en el establecimiento de una llamada en los protocolos H.323 y SIP, puesto que la tecnología que permite la transmisión de la voz utilizando los paquetes IP está muy difundida actualmente en todo el mundo, principalmente por su bajo costo con respecto a una llamada telefónica convencional. Ahora bien, se pudo observar que el protocolo H.323 es muy completo, muy robusto y la práctica verificó que todos los procedimientos conceptuales en cuanto al intercambio de mensajes Q.931 se cumplen. Este protocolo tiene todos los servicios necesarios y todos se montan desde el principio de la llamada; además, es un protocolo que se encuentra en la capa de sesión del modelo OSI. Por su parte, el protocolo SIP es más sencillo, en la práctica no se pudieron verificar en su totalidad todos los procedimientos conceptuales en cuanto al intercambio de mensajes SIP, además se observó redundancia y reenvío de mensajes consecuentemente; la filosofía de SIP apunta a ir montando los servicios a medida que se van requiriendo. H323 es el protocolo más definido pero adolece de cierta falta de flexibilidad, por su parte SIP está menos definido pero es más fácil de integrar. Entonces el protocolo final a utilizar dependerá de la aplicación que se quiera desarrollar.
18 GLOSARIO Protocolo IP: Protocolo no orientado a conexión usado tanto por el origen como por el destino de la comunicación para el encaminamiento de paquetes a través de la red. TCP: Conjunto de protocolos de comunicación que se encargan de la seguridad y la integridad de los paquetes de datos que viajan por Internet. UDP: Protocolo de servicios de internet. Se utiliza cuando es necesario transmitir voz o vídeo, y resulta más importante transmitir con velocidades que garanticen la correcta recepción. ASN.1: (notación sintáctica abstracta 1, ASN.1) es una norma para representar datos independientemente de la máquina que se esté usando y sus formas de representación internas. Es un protocolo de nivel de presentación en el modelo OSI. PER: Las Reglas de Codificación Básicas son las reglas definidas originalmente en el estándar ASN.1 para codificar información abstracta en un flujo de bits único, esto es, que pueda ser interpretado en cualquier máquina de la misma manera Q.931 fue utilizado originalmente como el protocolo de control de llamadas de la ISDN. También se utiliza para VoIP, cuando se utiliza para VoIP, por lo general es transportado sobre TPKT encima de TCP. RTP: Un protocolo que permite especializar aplicaciones tales como llamadas telefónicas, vídeo y audio a través de Internet que están teniendo lugar a tiempo real. Mecanismo utilizado para determinar los requerimientos de entrega de los paquetes, asegurando la entrega secuencial de los mismo. HTTP: Es el conjunto de reglas para intercambiar archivos (texto, gráfica, imágenes, sonido, video y otros archivos multimedia) en la World Wide Web.