Soporte de movilidad en la arquitectura SIP de VOCAL Juan Fco. Rodríguez Hervella
Indice Introducción a SIP. Movilidad en SIP. Movilidad en VOCAL. SIPSet. Resumen Bibliografía. Título 2
Introducción a SIP Session Initiated Protocol (RFC 2543, 1999) Señalización: B asado en texto plano (parecido a H T T P ) S D P (R F C 2327) para la descripcion de sesiones {T C P /U D P }/IP Sesión multimedia: R T P /R T C P sobre {U D P, T C P }/IP Server Roles : registrar, proxy, redirect, locator, uac, uas, gateway,... Título 3
Introducción a SIP Capacidades: Establecimiento/liberación de llamada. Presencia, negociación y localización. Movilidad de terminal, de sesion, personal y de servicio. Extensible. Título 4
Introducción a SIP Basado en solicitudes / respuestas: Request messages: IN VITE, AC K, B YE, C AN C EL, R EGISTER... Response messages: 180 R inging, 200 OK, 301 M oved Tem porarily, 401 N ot Found,... Título 5
Direccionamiento: Introducción a SIP Similar a direcciones de correo: sip:alice@ it.uc3m.es RFC 2543: Callers and callees are identified by S IP addresses. W hen making a S IP call, a caller first locates the appropriate server and then sends a S IP request. The most common S IP operation is the invitation. Instead of directly reaching the intended callee, a S IP request may be redirected or may trigger a chain of new S IP requests by proxies. U sers can register their location(s) with S IP servers, using registration requests. Título 6
Introducción a SIP Dials 1. INVITE 2. 180 Ringing Rings Alice 3. 200 OK 5. Voice (RTP) Answers Bob 6. BYE Hangs up Hangs up 7. 200 OK Título 7
Introducción a SIP UA PS RS PS UA Dials INVITE 100 Trying INVITE 302 Mov. Temp ACK INVITE 100 Trying INVITE 302 Mov. Temp ACK INVITE 100 Trying 180 Ringing 180 Ringing 180 Ringing Rings Título 8
Introducción a SIP UA PS RS PS UA 200 OK 200 OK 200 OK Answers ACK ACK ACK Conversation Hangs up BYE 200 OK BYE 200 OK BYE 200 OK Hangs up Título 9
Movilidad en SIP Título 10
Qué usar: Movilidad en SIP Restablecer conexiones? Movilidad a nivel 2? Movilidad en IP? Movilidad en SIP? One solution DOES NOT fit all. Título 11
Restablecer conexiones: Movilidad en SIP Pros: válido en short-termed sessions (eg HTTP) Cons: es como no hacer nada. Movilidad en L2: Pros: fast handoffs Cons: tecnología homogénea. Movilidad en IP: Pros: todas las app se benefician. Cons: modificacion de IP, consumo de IPs. Título 12
Movilidad en SIP: Movilidad en SIP Movilidad de Terminales: Pre-call m obility M id-call m obility Movilidad de sesión. Movilidad personal. Movilidad de servicio. Título 13
Movilidad de Terminales (Pre-call) RS 1. REGISTER Home Network 3. REGISTER CALL 2. Moves out! Peer Network Foreign Network Título 14
Movilidad de Terminales (Mid-call) RS 1. REGISTER Home Network 2. CALL 3. Moves out! Peer Network Foreign Network Título 15
Movilidad de Terminales (Mid-call) RS Home Network CALL -INTERRUPTED NOWHERE! Peer Network 4. INVITE Foreign Network Título 16
Movilidad de Terminales (Mid-call) PS Home Network 6. REGISTER Peer Network 5. CALL RECOVERED Foreign Network Título 17
Movilidad de Sesión CALL Título 18
Movilidad de Sesión CALL Título 19
Movilidad de Sesión CALL Título 20
Movilidad de Sesión (TPCC) 1. INVITE 2. OK 5. ACK Voice (RTP) 4. OK 3. INVITE 6. ACK (TPCC, B2BUA) Título 21
Movilidad de Sesión (TPCC) 1. INVITE 2. OK 5. ACK Voice (RTP) 4. OK 3. INVITE 6. ACK Voice (RTP) (TPCC, B2BUA) Título 22
Movilidad de Sesión (Call Transfer) Voice (RTP) 1. REFER 2. INVITE Título 23
Movilidad de Sesión (Call Transfer) Voice (RTP) 1. REFER 2. INVITE Voice (RTP) Título 24
Movilidad Personal Personal mobility allows to address a single user located at diferent terminals by the same logical address. 1 to N M to 1 ENUM. 619197758@it.uc3m.es Título 25
Movilidad de Servicio Service mobility allows users to maintain access to their services even while moving or changing devices and ISPs Speed dials, address books, call logs, media preferences, buddy lists, incoming call handling instructions Soluciones: Transportar la informacion con el usuario (e.g. PDA) Almacenar opciones en un services' server (Provisioning) Título 26
Movilidad en VOCAL Título 27
Movilidad en VOCAL Vovida Open Communication Application Library (VOCAL), http://www.vovida.org Mobility patch realizado por Rajarshi Chakraborty y Kushore Hundra. VOCAL implementa: U A, P S, RS, LS, FS S IP to M GCP and S IP to H 323 P olicy server, Conference P S S N M P /N etm gntgu A, H eartbeats, P rovisioning S erver, Redundancy... Título 28
Modificaciones: Movilidad en VOCAL GUA (Graphical/Generic User Agent) Funcionalidad nueva: polling thread, re-invites Elem entos de configuracion nuevos. Proxy Server: R eenvio de un-authenticated IN VITEs. Redirect[Locator] Server: R egistro de nodos no autenticados. Título 29
Movilidad en VOCAL Parámetros de configuración: Archivo: gua.conf M obility string {0/1} D N S string {0/1} or-exclusivo D om ain string D om ain string: [IP address range] / < PS address> < dom ain nam e> / < PS address> Título 30
SIPSet Título 31
SIPSet SIPSet: interfaz gráfico que controla al GUA. Es un softphone, formado por: El GUI -> sipset El agente (call and media control) -> gua IPC: named pipes (a.k.a FIFOs) TO-DO: Nueva GUI para configurar mobilidad. Título 32
SIPSet Implementación GUI: (+ código adicional) Título 33
Resumen Movilidad en SIP a varios niveles VOCAL: SIPSet: Terminal, sesión, personal y de servicio. Plataforma SIP Open Source (Java, C++, XML..) Patch para soportar mobilidad de terminal. Interfaz Gráfico (GUI). Configuración de opciones de movilidad. Título 34
Bibliografía [1] H. Schulzrinne, E. Wedlund, Application Layer mobility using SIP, M obile Computing and Communications Review, Volumen 1, Number 2 [2] A. Dutta, S. Baba et al., Application Layer M oblity M anagement Scheme for Wireless Internet, 3GWireless 2001, M ay 2001 [3] M. Handley, H. Schulzrinne et al., SIP: Session Inititated Protocol, RFC 2543, IETF 1999. [4] L. Dang, C. Jennings and D. Kelly, Practical VoIP using VOCAL, O'Reilly, 2002, ISBN: 0-509-00078-2 http://bugzilla.vovida.org/bugzilla/show_bug.cgi?id=765 Título 35
Preguntas? Título 36