SIP Session Initiation Protocol Diego Andrés Acosta acosta@dit.upm.es Doctorado en Ingeniería de Sistemas Telemáticos DIT-ETSIT-UPM Julio 3 de 2002 Introducción SIP Agenda Elementos de una red SIP Pila de Protocolos Métodos y Códigos de Respuesta Funcionamiento Servicios con SIP SIP y UMTS Conclusiones Bibliografía 1
Introducción Históricamente datos y voz han requerido redes separadas Conmutación de Circuitos Conmutación de paquetes. Redes de datos Nivel de crecimiento bastante alto No Redes y usuarios incrementa cada día. Se busca ahora hacer converger voz y datos en una sola red. Crear soluciones que soporten satisfactoriamente ambos. Introducción Internet no fue diseñado para aplicaciones de Tiempo Real. Actualmente las aplicaciones multimedia tienen un crecimiento fuerte la telefonía. Servicios de Streaming Estaciones de Audio y video Servicios de voz sobre IP Disminución de costos para empresas y usuarios Flexibilidad en la creación de servicios 2
Estándares Ofrecen definiciones y fundamentos de señalización y control de llamada Servicios básicos Traducción de direcciones Establecimiento de llamada Negociación de características del servicio Terminación de llamada Facturación, Seguridad, Directorio, etc. UIT-T : H323 --- H32x IETF: SIP Otros: MEGACO Escenarios de Comunicación PSTN IWF Internet SIP H323 PCP-PC PC-Teléfono TelIP TelIP TelIP-PC MEGACO Entre IWF IWF PSTN 3
SIP (RFC 2543) Modelado sobre otros protocolos de Internet como SMTP, HTTP Establecer, cambiar o terminar llamadas entre uno o más usuarios en una red basada en IP. RTP, para asegurar el transporte Conferencias multimedia en Internet Llamadas en Internet o sobre cualquier red IP Distribución multimedia Servicios de Telecomunicaciones (RI) Traslación de Nombres Localización Negociación de Características Elementos de una red SIP Puntos Terminales SIP Teléfonos, Gateways, PC. Entiende los protocolos SIP Pueden hacer comunicación directa Servidores SIP Llevan a cabo funciones que pueden necesitar los puntos terminales Típicamente actúa en respuesta a una petición de un terminal SIP. Pueden implementar servicios de valor agregado. Redirección, Proxy, Movilidad, Presencia 4
Componentes Agente de Usuario AU Cliente (UAC) AU Servidor (UAS) Modelo Peer to Peer Servidores SIP (Señalización) Proxy Redirect Registra Localización (BD) * User UA Pueden ser hallados de diferentes formas IP Configurada, DNS Lookup (proxy) IP Multicast (Registra) S A Red Modelo Peer-to-Peer User S A UA Pila de Protocolos de SIP 5
Métodos SIP Inicio de Sesión (setup( setup) Reconocimiento de Invite BYE Terminación de sesión RFC 2543 CANCEL Cancelación de Invite REGISTER Registro de URL OPTIONS Preguntar por opciones y capacidades INFO Transporte de información en llamada PR Reconocimiento Provisional COMET Notificación de precondición REFER Transferencia a otra URL Extensiones SUSCRIBE Requerir notificación de Evento UNSUSCRIBE Cancelar notificación de Evento NOTIFY Notificación de Evento MESSAGE Mensaje Instantáneo Códigos de Respuesta Clase 1xx 2xx 3xx 4xx 5xxx 6xx Descripción Información provisional, requerimiento en progreso pero no terminado Completo: Requerimiento completado satisfactoriamente Redirección: Petición debería redireccionarse Error en de cliente (error en la petición) Error de servidor Falla Global 6
Ejemplo de protocolo básico sip:watson@boston.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:watson@bell-tel.com> Call-ID: 3298420296@kton.bell-tel.com CSeq: 1 Subject: Mr. Watson, come here. Content-Type: application/sdp Content-Length:... v=0 o=bell 53655765 2353687637 IN IP4 128.3.4.5 s=mr. Watson, come here. c=in IP4 kton.bell-tel.com m=audio 3456 RTP/AVP 0 3 4 5 Funciones de SIP Resolución de Direcciones Funciones de Sesión Establecimiento Negociación de medios Modificación Terminación Cancelación Señalización en llamada Control de llamada Configuración de QoS 7
Funciones de SIP No relacionadas con la sesión Movilidad Transporte de Mensajes Suscripción a eventos Autenticación Otras funciones (SIP es Extensible) Resolución de Direcciones Una de sus principales funciones Hecha por agentes o servidores Generalmente Proxy Pasos Comunes DNS SRV ENUM Lookup Location Server Lookup No siempre implica traslación a IP Generalmente se hace una sola vez 8
Ejemplo de Resolución usera@here.com DNS Proxy Location Srv DNS userb@here.com SRV Query SRV record SIP Request 100 Trying +349521477 Query response ENUM Query 200 ok userb@10.1.1.1 NAPTR record SIP Request 200 ok Session Setup Media Session usera@here.com Proxy userb@here.com Media Session 9
Negociación de Contenidos Es parte de SIP por si solo no la soporta SDP (Session Description Protocol) Lenguaje de descripción (RFC 2327) Tiene campos opcionales y requeridos Desarrollado inicialmente el la arquitectura multimedia de Internet Modo ofrecimiento respuesta Respuesta enviada en SIP Header Body -SDP Media Session Ejemplo de SDP v=0 o= SDP S= c= IN IPV4 128.0.0.5 t= m=video 4004 RTP / AVP 14 26 a=rtpmap:14 MPA/90000 a=rtpmap:14 JPEG/90000 m=audio 4006 RTPAVP 0 4 a=rtpmap:0 PCMU/8000 a=rtpmap:4 GSM/9000 v=0 o= SDP OK S= c= IN IPV4 138.4.5.9 t= m=video 0 RTP / AVP 14 26 m=audio 6002 RTPAVP 0 4 a=rtpmap:4 GSM/9000 10
Modificación de Sesión Mientras se negocia nuevamente los medios se continua con la anterior Solo se puede renegociar después del primer establecimiento La nueva sesión puede cambiar cualquier característica de la sesión, incluyendo tipo de sesión, codec usado, dirección IP y puerto, sdp1 Media Session, sdp2 405 Not Acceptable, sdp3 New Media Session Terminación y Cancelación de Sesión Terminación Cancelación Media Session BYE Proxy BYE Sesión multimedia cancelada Proxy Cancel Cancel 487 Req Cancelled 487 Req Cancelled Sesión Multimedia no establecida 11
Control de Llamada REFER Media Session REFER Refer to:c BYE Refered by A Media Session Sesión con QoS Aproximación SDP lleva info QoS Usa tres extensiones de SIP 183 Session Prog con SDP Confiabilidad a 183 PreCondition MET COMET Proxy 183 Sess Progress 183 Sess Progress PRE PRE QoS Setup COMET COMET Sesión Multimedia establecida con Qos 12
Creación de Servicios con SIP Una de sus ventajas, la flexibilidad y facilidad de creación de servicios Se pueden implementar servicios más avanzados que en la PSTN Debido a la cantidad de información disponible en el establecimiento de llamada Integración con WWW Pueden residir en los agentes de usuario (Teléfonos Inteligentes) Proxy, Servidor de redirección. CPL, SIP CGI (RFC 3050), SIP Servlet Call Processing Language Desarrollado por el grupo IPTEL del EITF Código ejecutable que se ejecuta en un servidor proxy para implementar servicios Basado en XML Define el comportamiento para URL SIP, H323 y tel Responder a señalización de llamada Llamada entrante Llamada saliente Con diferentes contextos Usuario Tiempo... 13
Ejemplo (1900 no permitida) <?xml version="1.0"?> <!DOCTYPE cpl PUBLIC "-//IETF//DTD RFCxxxx CPL 1.0//EN" "cpl.dtd"> <cpl> <outgoing> <address-switch field="original-destination" subfield="tel"> <address subdomain-of="1900"> <reject status="reject" reason="not allowed to make 1-900 calls." /> </address> </address-switch> </outgoing> </cpl> Llamada Anónima no permitida <?xml version="1.0"?> <!DOCTYPE cpl PUBLIC "-//IETF//DTD RFCxxxx CPL 1.0//EN" "cpl.dtd"> <cpl> <incoming> <address-switch field="origin" subfield="user"> <address is="anonymous"> <reject status="reject" reason="i don't accept anonymous calls" /> </address> </address-switch> </incoming> </cpl> 14
SIP CGI Programa CGI (Perl, C, TCL..) SIP CGI Request Response Request Response Request Response usera@here.com SIP Server SIP Server userb@here.com SIP y UMTS UMTS relase 5 propone ofrecer servicios de voz y datos sobre una red de paquetes 3GPP escogió SIP como protocolo para esta versión. Componentes UTRAN IMS(SIP) PSCN 15
SIP y UMTS Conclusiones SIP es un protocolo sencillo y extensible adecuado para establecer sesiones multimedia SIP hace reservación de recursos (QoS) pero puede interoperar con otros protocolos SIP no es un protocolo de transferencia como HTTP. Gran flexibilidad para la creación de servicios Varios grupos de trabajo en el IETF 3GPP adopta SIP para UMTS (Gran apoyo) 16
Bibliografía [AUD 2002] AudioCodes Co (2002), Application Migration to Voice over IP Technologies, http://www.audiocodes.com/pdf/ipmedia_app_migration.pdf [Consulta: 29/26/2002] [CLA 2002] Clarent Co (2002), Becoming a Next Generation Telco, VoIP is the key, http://www.clarent.com/pdf/nextgenerationtelcowhitepaper.pdf [Consulta 29/06/2002] [FIN 1999] Fingal F, Gustavsoon P (1999), A SIP of IP-Telephony, Tesis de Maestría, http://www.cs.columbia.edu/~hgs/sip/drafts/fing9902_sip.pdf [Consulta: 01/07/2001] [GRA 2002] Granstrom P, Oson S, Peck M (2002), Ericsson Review No 01/2002, Pags 28-35 [HAN 1999] Handlye M, et al (1999), SIP: Session Initiation Protocol (RFC 2543), http://www.ietf.org [Consulta:07/04/2002] [PAR 2002] Parameshwar N, Reece C (2002), Advanced SIP Series: SIP and 3GPP, http://www.awardsolutions.com/downloads, [Consulta 02/07/2002] [PIN NONE] Pingtel (2002), Next-Gen of VoIP Service and Applications Using SIP and Java, http://www.sipcenter.com/files/pingtel_usingsipjava_whitepaper.pdf [Consulta: 02/05/2002] [ROS 2002] Rosenber J, Schulzrinne H, et al (2002), SIP: Session Initiation Protocol, http://www.ietf.org/internetdrafts/draft-ietf-sip-rfc2543bis-09.txt [Consulta: 16/04/2002] [SOF 2002] SoftSwitch Consortium (2002), Softswitch Applications in Wireless Core Networks, http://www.audiocodes.com/pdf/isc_wireless_wg-softswitch_applications_in_wireless-043002.pdf, [Consulta: 29/06/2002] [TEL 1998] Telogy Network (1998), Voice Over Packet, http://www.telogy.com/our_products/golden_gateway/pdf/voice_over.pdf [Consulta: 29/06/2002] [WIT 1998] Witowsky, W(1998), IP Telephone Design and Implementation Issues, http://www.telogy.com/our_products/golden_gateway/pdf/ip_telephone.pdf [Consulta: 29/06/2002] 17