Desarrollo de una aplicación de videoconferencia bajo protocolo SIP
description
Transcript of Desarrollo de una aplicación de videoconferencia bajo protocolo SIP
![Page 1: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/1.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/2.jpg)
Í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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/3.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/4.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/5.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/6.jpg)
Esquema de funcionamiento
Introducción (4)
![Page 7: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/7.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/8.jpg)
- 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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/9.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/10.jpg)
{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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/11.jpg)
{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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/12.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/13.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/14.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/15.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/16.jpg)
![Page 17: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/17.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/18.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/19.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/20.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/21.jpg)
Diagrama de estados
Desarrollo del software (5)
![Page 22: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/22.jpg)
Menú de opciones
Aplicación umasip 1.00
![Page 23: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/23.jpg)
![Page 24: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/24.jpg)
Menú de opciones
Aplicación umasip 1.00
![Page 25: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/25.jpg)
![Page 26: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/26.jpg)
Menú de opciones
Aplicación umasip 1.00
![Page 27: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/27.jpg)
![Page 28: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/28.jpg)
Menú de opciones
Aplicación umasip 1.00
![Page 29: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/29.jpg)
![Page 30: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/30.jpg)
Menú de opciones
Aplicación umasip 1.00
![Page 31: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/31.jpg)
![Page 32: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/32.jpg)
Menú de opciones
Aplicación umasip 1.00
![Page 33: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/33.jpg)
Funcionamiento de los idiomas
- Ficheros .fiu
Aplicación umasip 1.00 (2)
![Page 34: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/34.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/35.jpg)
Ethereal Pruebas realizadas (2)
![Page 36: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/36.jpg)
Análisis de las capturas
Pruebas realizadas (3)
![Page 37: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/37.jpg)
Pruebas realizadas (4)
![Page 38: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/38.jpg)
- 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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/39.jpg)
Manual, ayudas y documentación
![Page 40: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/40.jpg)
- 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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/41.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/42.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/43.jpg)
Vídeo demostrativo del funcionamiento de umasip 1.00
![Page 44: Desarrollo de una aplicación de videoconferencia bajo protocolo SIP](https://reader035.fdocument.pub/reader035/viewer/2022062422/56814023550346895dab81ee/html5/thumbnails/44.jpg)
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