Está en la página 1de 42

Desarrollo de una aplicacin de videoconferencia bajo protocolo SIP

ndice
Introduccin Protocolo SIP Metodologa Desarrollo del software Aplicacin umasip 1.00 Pruebas realizadas Ayudas y documentacin Conclusiones y lneas futuras

Introduccin

Desarrollo de una aplicacin de videoconferencia bajo protocolo SIP

Programacin

Multimedia

Tecnologa de Sealizacin

Introduccin (2)
Especificaciones

- Una aplicacin de videoconferencia que funcione extremo a extremo - Multiplataforma, vlido con usuarios que empleen diferentes sistemas operativos - Transmisin y recepcin de flujos multimedia en tiempo real - Tecnologa de sealizacin 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 cdigo fuente sea accesible por futuros desarrolladores

Introduccin (3)
Restricciones Funcionales

- No implementar el registro de un usuario en un servidor SIP - Sin funcionalidad como servidor proxy dentro de la misma aplicacin - Ningn mecanismo para atravesar un sistema NAT (Network Address Translation) - Videoconferencia punto a punto, prescindiendo de la implementacin multipunto.

Introduccin (4)
Esquema de funcionamiento

Protocolo SIP
Definicin
El protocolo SIP (Session Initiation Protocol) es un protocolo de control, o sealizacin, a nivel de sesin para la creacin, modificacin y conclusin de sesiones multimedia de uno o ms participantes
Se trata de un estndar del IETF, definido en el RFC (Request for Comments) 3261 de Junio de 2002, y que actualiza al RFC 2543 de Marzo de 1999

Identificador
sip:user:password@host:port;uri-parameters?headers SIP URI (Uniform Resource Identifier) SIPS URI (Uniform Resource Identifier) sip:usuario@host.com sips:usuario@host.com

Protocolo SIP (2)


Introduccin

Protocolo SIP
Elementos 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 acta como servidor - Un servidor de redireccin genera respuestas de redireccin (respuestas 3xx) - Un proxy de registro, o en ingls registrar, provee un servicio de localizacin

Protocolo SIP (3)


Mensajes SIP
Cabecera
Cuerpo del Mensaje (Protocolo SDP)
Mensajes Peticin Mensajes Respuesta (Cdigo y Frase Textual Asociada)

REGISTER INVITE

1xx: Provisional (Provisional) 2xx: xito (Success)

ACK
CANCEL BYE OPTIONS

3xx: Redireccin (Redirection)


4xx: Error de Cliente (Client Error) 5xx: Error de Servidor (Server Error) 6xx: Fallo Global (Global Failure)

Protocolo SIP (4)


Modelo de capas

Aplicacin Presentacin

{
H.323 TCP

Aplicacin Multimedia SIP SDP Cdecs RTCP RTP UDP IP (IPv4, IPv6) PPP, AAL3/4, AAL5, ... Sonet, SDH, ATM, Ethernet, ...

Sesin

Transporte

Red

Enlace

Fsica

Protocolo SIP (4)


Modelo de capas

Aplicacin Presentacin

{
H.323 TCP

Aplicacin Multimedia SIP SDP Cdecs RTCP RTP UDP IP (IPv4, IPv6) PPP, AAL3/4, AAL5, ... Sonet, SDH, ATM, Ethernet, ...

Sesin

Transporte

Capa TU (Transaction User) Capa de transaccin

Red

Enlace

Capa de transporte Capa de sintaxis y codificacin


Fsica

Protocolo SIP (5)


SP1 SP2

Ejemplo de sesin SIP UA1


INVITE INVITE 100 Trying 100 Trying 180 Ringing 180 Ringing 180 Ringing 200 OK 200 OK ACK 200 OK INVITE

UA2

Sesin Multimedia BYE 200 OK

Metodologa
Prototipo

1er Incremento

2o Incremento

...
modelo incremental en modo secuencial + modelo de construccin de prototipos

Metodologa (2)
M a t r iz P r o c e s o
(Fa se d e D e sa rro llo d e l p ro ye ct o )

A
P r o t o t ip o In t e rfa z Gr fico M d u lo d e Id io m a 1 In c r e m e n t o Clie n t e /Se rvid o r SIP

is lis

on

el

n lie

te

is e

o Pr

r og

am

ac

n e ru ba

Re quisitos de l inte rfa z gr fico

Ba rra de m e n y opcione s Estructura de l fiche ro de idiom a s

Im ple m e nta cin de l cdigo

Prue ba de toda s la s opcione s de la ba rra de m e n y ca m bio de idiom a Prue ba de cone xin de se sin SIP e ntre e quipos e n una re d loca l

Re visin de l prototipo Funciona lida d de la se sin m ultim e dia

D ia g ra m a d e cla se s

Im ple m e nta cin de l cdigo

2 In c r e m e n t o Ad ici n d e So n id o

Re visin de l incre m e nto Re quisitos de sonido

D ia g ra m a d e cla se s

Im ple m e nta cin de l cdigo

Prue ba de l sonido e n distintos e quipos y siste m a s ope ra tivos

3 In c r e m e n t o Ad ici n d e Vd e o

Re visin de l incre m e nto Re quisitos de vde o

D ia g ra m a d e cla se s

Im ple m e nta cin de l cdigo

Prue ba de vde o e n distintos e quipos y siste m a s ope ra tivos

4 In c r e m e n t o Ma n u a l d e Ayu d a

Re visin de l incre m e nto Re quisitos pa ra la a yuda

D ise o d e la a yu d a

Im ple m e nta cin de l cdigo

Prue ba de toda s la s a yuda s de l progra m a

5 In c r e m e n t o Re visi n y m e jo ra d e l In t e rfa z Gr fico

Re visin de l incre m e nto Re dise o pa ra un Re toque s a re a liza r e n e l inte rfa z gr fico m s inte rfa z cm odo y a gra da ble

Im ple m e nta cin de l cdigo

Com proba cin de l a cce so a toda s la s opcione s de l m e n

6 In c r e m e n t o Re visin de l incre m e nto Tra d u cci n An lisis de los posible s m u lt ilin g e idiom a s a tra ducir

Tra duccin de l fiche ro de Escribir los fiche ros de idiom a a los dife re nte s idiom a con la s idiom a s tra duccione s y a a dirlos

Prue ba de ca m bios de idiom a s

Desarrollo del software

jSIP (Java SIP) - Protocolo SIP Lenguaje de programacin Java

JMF (Java Media Framework) - Multimedia

Interpretado, Mquina Virtual Java (JVM) Code Conventions for the Java Programming Language de Sun Microsystems Documentacin para el desarrollador en Javadocs

Desarrollo del software

jSIP (Java SIP) - Protocolo SIP Lenguaje de programacin Java

JMF (Java Media Framework) - Multimedia

Interpretado, Mquina Virtual Java (JVM) Code Conventions for the Java Programming Language de Sun Microsystems Documentacin para el desarrollador en Javadocs

Desarrollo del software (2)


Clases implementadas:
- umasip - Interfaz - Idioma - Preferencias - Agente - Llamada Notacin UML

Desarrollo del software (3)


Ejemplo de diagrama de flujos

Mtodo texto( ) de la clase Idioma

Desarrollo del software (4)


Diagrama de bloques

umasip

Agente

Interfaz

Preferencias

Llamada

jSIP

Idioma

JMF

Desarrollo del software (5)


Diagrama de estados

Aplicacin umasip 1.00


Men de opciones

Aplicacin umasip 1.00


Men de opciones

Aplicacin umasip 1.00


Men de opciones

Aplicacin umasip 1.00


Men de opciones

Aplicacin umasip 1.00


Men de opciones

Aplicacin umasip 1.00


Men de opciones

Aplicacin umasip 1.00 (2)


Funcionamiento de los idiomas

- Ficheros .fiu

Pruebas realizadas
Pruebas de caja blanca durante la fase de desarrollo

Pruebas de funcionamiento bsico

Pruebas de caja negra

Pruebas de entorno

Pruebas de casos extraordinarios

Ethereal

Pruebas realizadas (2)

Pruebas realizadas (3)


Anlisis de las capturas

Pruebas realizadas (4)

Ayudas y documentacin
Espaol

- Manual del usuario en formatos .pdf y .sxw


Ingls - Ficheros de ayuda elemental acompaando al programa (README.txt,...) - Men de ayudas dentro del programa - Documentacin generada por Javadocs (clases del programa y librera jSIP) - Pgina web ndice de toda la documentacin disponible y cdigo fuente - Memoria del proyecto (diagramas de estado, flujos, bloques, clases UML, ...)

Manual, ayudas y documentacin

Ayudas y documentacin
Espaol

- Manual del usuario en formatos .pdf y .sxw


Ingls - Ficheros de ayuda elemental acompaando al programa (README.txt,...) - Men de ayudas dentro del programa - Documentacin generada por Javadocs (clases del programa y librera jSIP) - Pgina web ndice de toda la documentacin disponible y cdigo fuente - Memoria del proyecto (diagramas de estado, flujos, bloques, clases UML, ...)

Conclusiones y lneas futuras


Conclusiones
Se ha creado una aplicacin con una funcionalidad completa

Software novedoso
- Videoconferencia - Multiplataforma (Java) - Protocolo SIP - Software Libre - Multilinge Telefona Mvil (3 Generacin) Banda Ancha para Internet (ISP) Videollamada en Telefona Fija

Software de inters actual

Conclusiones y lneas futuras (2)


Lneas futuras
Software Libre permite su mejora y ampliacin Continuacin del software: - Implementar la opcin de registro - Solucin a sistemas NAT - Aumentar la posibilidad de videoconferencia a multipunto - Funcionalidades adicionales (chat, pizarra compartida,...)

También podría gustarte