desarrollo de una aplicación de videoconferencia bajo protocolo sip

44
Desarrollo de una aplicación de videoconferencia bajo protocolo SIP Realizado por: D. Pablo Montoro Escaño Dirigido por: Dr. Eduardo Casilari Pérez Tecnología Electrónica - Universidad de Málaga, Juni

Upload: leoma

Post on 09-Jan-2016

55 views

Category:

Documents


6 download

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

Page 1: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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

Page 2: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Í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

Page 3: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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

Introducción

Page 4: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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)

Page 5: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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)

Page 6: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Esquema de funcionamiento

Introducción (4)

Page 7: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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:[email protected]

Protocolo SIP

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

SIPS URI (Uniform Resource Identifier) sips:[email protected]

Page 8: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

- 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)

Page 9: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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)

Page 10: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

{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)

Page 11: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

{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)

Page 12: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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)

Page 13: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

1er Incremento

2o Incremento

Prototipo

...

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

Metodología

Page 14: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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)

Page 15: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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

Page 16: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP
Page 17: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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

Page 18: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Clases implementadas:

- umasip

- Interfaz

- Idioma

- Preferencias

- Agente

- Llamada

Notación UML

Desarrollo del software (2)

Page 19: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Ejemplo de diagrama de flujos

Desarrollo del software (3)

Método texto( ) de la clase Idioma

Page 20: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Diagrama de bloques

InterfazAgente Preferencias

Idioma

umasip

Llamada

jSIP JMF

Desarrollo del software (4)

Page 21: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Diagrama de estados

Desarrollo del software (5)

Page 22: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Menú de opciones

Aplicación umasip 1.00

Page 23: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP
Page 24: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Menú de opciones

Aplicación umasip 1.00

Page 25: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP
Page 26: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Menú de opciones

Aplicación umasip 1.00

Page 27: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP
Page 28: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Menú de opciones

Aplicación umasip 1.00

Page 29: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP
Page 30: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Menú de opciones

Aplicación umasip 1.00

Page 31: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP
Page 32: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Menú de opciones

Aplicación umasip 1.00

Page 33: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Funcionamiento de los idiomas

- Ficheros .fiu

Aplicación umasip 1.00 (2)

Page 34: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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

Page 35: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Ethereal Pruebas realizadas (2)

Page 36: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Análisis de las capturas

Pruebas realizadas (3)

Page 37: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Pruebas realizadas (4)

Page 38: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

- 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

Page 39: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Manual, ayudas y documentación

Page 40: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

- 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

Page 41: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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

Page 42: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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)

Page 43: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

Vídeo demostrativo del funcionamiento de umasip 1.00

Page 44: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP

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