desarrollo de una aplicación de videoconferencia bajo protocolo sip

Post on 09-Jan-2016

55 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

Desarrollo de una aplicación de videoconferencia bajo protocolo SIP. Realizado por: D. Pablo Montoro Escaño Dirigido por: Dr. Eduardo Casilari Pérez Dpto. Tecnología Electrónica - Universidad de Málaga, Junio 2005. Índice. Introducción. Protocolo SIP. Metodología. Desarrollo del software. - PowerPoint PPT Presentation

TRANSCRIPT

Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Realizado por: D. Pablo Montoro EscañoDirigido por: Dr. Eduardo Casilari Pérez

Dpto. Tecnología Electrónica - Universidad de Málaga, Junio 2005

Índice

Introducción

Protocolo SIP

Metodología

Aplicación umasip 1.00

Pruebas realizadas

Ayudas y documentación

Conclusiones y líneas futuras

Desarrollo del software

Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Programación Multimedia Tecnología de Señalización

Introducción

Especificaciones

- Una aplicación de videoconferencia que funcione extremo a extremo

- Multiplataforma, válido con usuarios que empleen diferentes sistemas operativos

- Transmisión y recepción de flujos multimedia en tiempo real

- Tecnología de señalización para sesiones multimedia bajo protocolo SIP, y que su funcionamiento sea visible desde el propio interfaz

- Con un interfaz amigable y un sistema de ayudas

- Software Libre, de forma que su código fuente sea accesible por futuros desarrolladores

Introducción (2)

Restricciones Funcionales

- No implementar el registro de un usuario en un servidor SIP

- Sin funcionalidad como servidor proxy dentro de la misma aplicación

- Ningún mecanismo para atravesar un sistema NAT (Network Address Translation)

- Videoconferencia punto a punto, prescindiendo de la implementación multipunto.

Introducción (3)

Esquema de funcionamiento

Introducción (4)

Definición

Identificador

El protocolo SIP (Session Initiation Protocol) es un protocolo de control, o señalización, a nivel de sesión para la creación, modificación y conclusión de sesiones multimedia de uno o más participantes

Se trata de un estándar del IETF, definido en el RFC (Request for Comments) 3261 de Junio de 2002, y que actualiza al RFC 2543 de Marzo de 1999

SIP URI (Uniform Resource Identifier) sip:usuario@host.com

Protocolo SIP

sip:user:password@host:port;uri-parameters?headers

SIPS URI (Uniform Resource Identifier) sips:usuario@host.com

- Un agente de usuario o UA (User Agent), integra cliente y servidor

- El cliente de agente de usuario o UAC (User Agent Client)

- El servidor de agente de usuario o UAS (User Agent Server)

- Un proxy o servidor proxy es una entidad intermedia que actúa como servidor

- Un servidor de redirección genera respuestas de redirección (respuestas 3xx)

- Un proxy de registro, o en inglés registrar, provee un servicio de localización

Introducción

Protocolo SIP

Elementos SIP

Protocolo SIP (2)

Mensajes SIP

Mensajes Petición Mensajes Respuesta (Código y Frase Textual Asociada)

REGISTER

INVITE

ACK

CANCEL

BYE

OPTIONS

Cabecera

Cuerpo del Mensaje (Protocolo SDP)

1xx: Provisional (Provisional)

2xx: Éxito (Success)

3xx: Redirección (Redirection)

4xx: Error de Cliente (Client Error)

5xx: Error de Servidor (Server Error)

6xx: Fallo Global (Global Failure)

Protocolo SIP (3)

{Aplicación

Presentación

Sesión

Transporte

Red

Enlace

Física

SIP

Aplicación Multimedia

H.323 SDP RTCPCódecs

RTP

TCP UDP

IP (IPv4, IPv6)

PPP, AAL3/4, AAL5, ...

Sonet, SDH, ATM, Ethernet, ...

Modelo de capas

Protocolo SIP (4)

{Aplicación

Presentación

Sesión

Transporte

Red

Enlace

Física

SIP

Aplicación Multimedia

H.323 SDP RTCPCódecs

RTP

TCP UDP

IP (IPv4, IPv6)

PPP, AAL3/4, AAL5, ...

Sonet, SDH, ATM, Ethernet, ...Capa de sintaxisy codificación

Capa de transporte

Capa de transacción

Capa TU(Transaction User)

Modelo de capas

Protocolo SIP (4)

Sesión Multimedia

ACK

BYE

200 OK

INVITEINVITE

INVITE100 Trying100 Trying

180 Ringing

180 Ringing180 Ringing

200 OK200 OK

200 OK

UA1 UA2

SP1 SP2

Ejemplo de sesión SIP

Protocolo SIP (5)

1er Incremento

2o Incremento

Prototipo

...

modelo incremental en modo secuencial + modelo de construcción de prototipos

Metodología

Diagrama de clases

Diagrama de clases

Diagrama de clases

Diseño de la ayuda

Matriz Proceso (Fase de Desarrollo del proyecto)

Prototipo Interfaz Gráfico Módulo de Idioma

Requisitos del interfaz gráfico

Barra de menú y opciones Estructura del fichero de idiomas

Implementación del código

Prueba de todas las opciones de la barra de menú y cambio de idioma

1º Incremento Cliente/Servidor SIP

Revisión del prototipo Funcionalidad de la sesión multimedia

Implementación del código

Prueba de conexión de sesión SIP entre equipos en una red local

2º Incremento Adición de Sonido

Revisión del incremento Requisitos de sonido

Implementación del código

Prueba del sonido en distintos equipos y sistemas operativos

3º Incremento Adición de Vídeo

Revisión del incremento Requisitos de vídeo

Implementación del código

Prueba de vídeo en distintos equipos y sistemas operativos

4º Incremento Manual de Ayuda

Revisión del incremento Requisitos para la ayuda

Implementación del código

Prueba de todas las ayudas del programa

5º Incremento Revisión y mejora del Interfaz Gráfico

Revisión del incremento Retoques a realizar en el interfaz

Rediseño para un interfaz gráfico más cómodo y agradable

Implementación del código

Comprobación del acceso a todas las opciones del menú

6º Incremento Traducción multilingüe

Revisión del incremento Análisis de los posibles idiomas a traducir

Traducción del fichero de idioma a los diferentes idiomas

Escribir los ficheros de idioma con las traducciones y añadirlos

Prueba de cambios de idiomas

Metodología (2)

Lenguaje de programación JavajSIP (Java SIP) - Protocolo SIP

JMF (Java Media Framework) - Multimedia

Code Conventions for the Java Programming Language de Sun Microsystems

Documentación para el desarrollador en Javadocs

Interpretado, Máquina Virtual Java (JVM)

Desarrollo del software

Lenguaje de programación JavajSIP (Java SIP) - Protocolo SIP

JMF (Java Media Framework) - Multimedia

Code Conventions for the Java Programming Language de Sun Microsystems

Documentación para el desarrollador en Javadocs

Interpretado, Máquina Virtual Java (JVM)

Desarrollo del software

Clases implementadas:

- umasip

- Interfaz

- Idioma

- Preferencias

- Agente

- Llamada

Notación UML

Desarrollo del software (2)

Ejemplo de diagrama de flujos

Desarrollo del software (3)

Método texto( ) de la clase Idioma

Diagrama de bloques

InterfazAgente Preferencias

Idioma

umasip

Llamada

jSIP JMF

Desarrollo del software (4)

Diagrama de estados

Desarrollo del software (5)

Menú de opciones

Aplicación umasip 1.00

Menú de opciones

Aplicación umasip 1.00

Menú de opciones

Aplicación umasip 1.00

Menú de opciones

Aplicación umasip 1.00

Menú de opciones

Aplicación umasip 1.00

Menú de opciones

Aplicación umasip 1.00

Funcionamiento de los idiomas

- Ficheros .fiu

Aplicación umasip 1.00 (2)

Pruebas de funcionamiento básico

Pruebas de entorno

Pruebas de casos extraordinarios

Pruebas de caja blanca

Pruebas de caja negra

durante la fase de desarrollo

Pruebas realizadas

Ethereal Pruebas realizadas (2)

Análisis de las capturas

Pruebas realizadas (3)

Pruebas realizadas (4)

- Manual del usuario en formatos .pdf y .sxwEspañol

Inglés

- Ficheros de ayuda elemental acompañando al programa (README.txt,...)

- Menú de ayudas dentro del programa

- Documentación generada por Javadocs (clases del programa y librería jSIP)

- Página web índice de toda la documentación disponible y código fuente

- Memoria del proyecto (diagramas de estado, flujos, bloques, clases UML, ...)

Ayudas y documentación

Manual, ayudas y documentación

- Manual del usuario en formatos .pdf y .sxwEspañol

Inglés

- Ficheros de ayuda elemental acompañando al programa (README.txt,...)

- Menú de ayudas dentro del programa

- Documentación generada por Javadocs (clases del programa y librería jSIP)

- Página web índice de toda la documentación disponible y código fuente

- Memoria del proyecto (diagramas de estado, flujos, bloques, clases UML, ...)

Ayudas y documentación

Conclusiones

Se ha creado una aplicación con una funcionalidad completa

- Videoconferencia- Multiplataforma (Java)- Protocolo SIP- Software Libre- Multilingüe

Software de interés actual

Software novedoso

Telefonía Móvil (3ª Generación)

Banda Ancha para Internet (ISP)

Videollamada en Telefonía Fija

Conclusiones y líneas futuras

Líneas futuras

Software Libre permite su mejora y ampliación

Continuación del software:

- Implementar la opción de registro

- Solución a sistemas NAT

- Aumentar la posibilidad de videoconferencia a multipunto

- Funcionalidades adicionales (chat, pizarra compartida,...)

Conclusiones y líneas futuras (2)

Vídeo demostrativo del funcionamiento de umasip 1.00

Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Realizado por: D. Pablo Montoro EscañoDirigido por: Dr. Eduardo Casilari Pérez

Dpto. Tecnología Electrónica - Universidad de Málaga, Junio 2005

top related