Material Profesor
Señalización en VoIP
Introducción a SIP
Arquitectura
Servicios y Componentes SIP
Ventajas
SIP v/s H.323
API 2006 2
Necesidad ◦ comunicación entre elementos que forman la red (Terminales, Call
Procesor, Gateway, etc)
Funciones: ◦ Establecimiento de llamada ◦ Señales de progreso de llamada (ej: aviso al origen de timbre en
destino) ◦ Control de acceso (identificación de terminales para facturación) ◦ Servicios suplementarios y de movilidad
No hay unidad de protocolos ◦ Variedad de escenarios ◦ Diferentes enfoques de los organismos de normalización (IETF e
ITU-T)
API 2006 3
API 2006 4
Protocolo desarrollado por el organismo regulador de la Internet (IETF), con el fin de comunicar cualquier tipo de aplicaciones que requieran establecer algún tipo de sesión entre ellas ◦ Protocolo de señalización para el establecimiento de sesiones
sobre redes IP (sesiones multimedia) Telefonía, videoconferencia, mensajería instantánea, etc.
SIP esta basado en otro protocolo muy popular HTTP, y
utiliza una mensajería muy simple de entender, ya que es basada en texto (tal como ocurren en el caso de la mensajería Web)
Características: ◦ Arquitectura genérica: Cliente/servidor ◦ Intercambio de mensajes de texto
API 2006 5
Principal ventaja: menor complejidad ⇒
Aumenta el número de aplicaciones y productos: ◦ Teléfonos SIP, clientes de telefonía, mensajería instantánea... ◦ PC: servidores SIP, Gateway VoIP...
La idea básica es que cada terminal tenga una dirección
que pueda ser alcanzable desde cualquier punto de la red, mediante mecanismos convencionales de Internet, como por ejemplo, usando una dirección IP, o un nombre de host, o incluso una dirección de e-mail ◦ De esta forma, y al igual que en el Web, los terminales toman
contacto directamente con los terminales de destino
Soporte a la movilidad: Agentes de Presencia
Mecanismos de control de llamadas
API 2006 6
Trabaja con otros protocolos para permitir oportunidades en la creación de servicios de alto valor agregado
Reusa muchos conceptos de estándares anteriores de Internet ◦ HTTP y SMTP
Basado en texto ◦ construcciones familiares a los programadores
Usa URLs para direccionar las entidades
SIP no provee servicios sino primitivas para implementar servicios
La primera meta de SIP es iniciar una Sesión ◦ La segunda meta es proporcionar una descripción de la sesión a la que el
usuario está siendo invitado a asistir
API 2006 7
Al igual que en el caso de H.323, los terminales deben entender completamente SIP ◦ pero al ser un protocolo mas simple (y basado en otro protocolo
para el cual existen innumerables implementaciones), es mas fácil de implementar en los terminales
Una diferencia importante se produce en la infraestructura
de Red ◦ A diferencia de H.323 o la telefonía tradicional, la mayor
complejidad esta en los terminales, puesto que en SIP las funciones que realizan los SIP Proxy son (en principio) muy simples
◦ Lo anterior da cabida a una gran oferta de soluciones de red SIP, estándares, e incluso a plataformas de desarrollo de servicios, mucho más simples que las que se encuentran en telefonía tradicional
API 2006 8
El primer borrador apareció en Febrero de 1996 (SIPv1) ◦ el segundo en Diciembre de ese mismo año (SIP v2)
Febrero 1999: SIP se convierte en estándard, publicado como RFC 2543
Julio 2002: publicada una nueva versión: RFC3261 (reemplaza a la RFC 2543) ◦ RFC 3261: SIP, Session Initiation Protocol ◦ RFC 3262: Reliability of Provisional Response in Session Initiation
Protocol ◦ RFC 3263: Session Initiation Protocol (SIP): Location SIP Servers ◦ RFC 3264: An Offer/Answer Model with Session Description
Protocol (SDP) ◦ RFC 3265: Session Initiation Protocol (SIP)-Specific Event
Notification
API 2006 9
API 2006 10
INTEGRATED SERVICES FORWARDING
IP and IP MULTICAST NETWORK LAYER
CONFERENCE MANAGEMENT APPLICATIONS
MEDIA AGENTS
CONFERENCE SETUP AND DISCOVERY
CONFERENCE CONTROL AUDIO/VIDEO SHARED
APPLICATIONS
RSVP SMTP HTTP SIP SAP
SDP DISTRIBUTED
CONTROL RTP/ RTCP
RELIABLE MULTICAST
UDP UDP TCP
Estándar de Internet del grupo de trabajo MMUSIC del IETF ◦ Especificado en la RFC2327 (Abril 1998)
◦ Norma que describe el formato de los mensajes en una
sesión multimedia: nombre de la sesión, motivo, instante de inicio y final, tipo de medios involucrado, códecs a emplear, direcciones IP y puertos UDP para el flujo RTP,…
◦ Se negocian las características de una sesión concreta entre extremos heterogéneos: intercambio de mensajes SDP
◦ Uso de SDP no es exclusivo del protocolo SIP. Se utiliza en otros ámbitos (ej: protocolo MEGACO/H.248)
API 2006 11
La arquitectura SIP usa el Protocolo para Descripción de Sesión (SDP). SDP fue una herramienta inicial para la conferencia en multidifusión de IP desarrollada para describir sesiones de audio, video y multimedia. De hecho, cualquier tipo MIME (Extensión Multipropósito de Correo en Internet) se puede describir, similar a la facultad de correo electrónico para interpretar todos los tipos de archivos adjuntos en un mensaje. La descripción de sesión se puede usar para negociar los tipos de medios compatibles
API 2006 12
Modelo cliente-servidor: ◦ Cliente: envía una petición Teléfono SIP o gateway origen
◦ Servidor: responde Teléfono SIP o gateway destino
◦ Transacción: petición + [respuesta(s) provisional(es)] + respuesta final
API 2006 13
Cliente Servidor
Petición
Respuesta
División funcional no física
Agentes de usuario ◦ sistemas finales capaces de iniciar o terminar una sesión ◦ UAC: Agente de usuario cliente ◦ UAS: Agente de usuario servidor Ej: Terminal SIP (PC o teléfono) UAC + UAS Contestador: UAS
Servidores: ◦ Sistemas intermedios que facilitan el encaminamiento ◦ Opcionales Servidor Proxy Servidor de Registro Servidor de Redirección Servidor de Localización
API 2006 14
El Agente de Usuario es el software SIP en el punto terminal o estación terminal. Funciona como un cliente cuando hace las peticiones de inicio de sesión, y también actúa como un servidor cuando responde a las peticiones de sesión. Por tanto, la arquitectura básica es de naturaleza cliente/servidor. El Agente de Usuario es “inteligente”, en el sentido que almacena y administra el estado de la llamada. El Agente de Usuario establece las llamadas usando una dirección parecida a las de correo electrónico, o un número telefónico (E.164)
◦ Por ejemplo: SIP:[email protected]. Esto
hace que los URL de SIP sean fáciles de asociar con la dirección de correo electrónico del usuario. Los Agentes de Usuario pueden aceptar y recibir llamadas de otros Agentes de Usuario son componentes adicionales SIP. Los siguientes elementos dan funcionalidades y niveles de administración extra al esquema SIP.
API 2006 15
Network Servers (diff. types may be co-located) ◦ Servidor Proxy Decide el salto siguiente y remite la petición, retransmite el call signaling,
funciona de una manera transaccional, no ahorra ningún estado de la sesión
En algunos casos (como debiera ser el de un proveedor de servicio), se configura que los terminales SIP utilicen un SIP Proxy, que al igual que en el Web, es un elemento de red, que se encarga de contactar a servidores de destino, en forma centralizada
En el caso de un operador de servicio (o incluso una empresa), esto es importante para ejercer control sobre las llamadas
◦ Redirect Sends address of next hop back to client, redirects callers to other servers Envía la dirección del salto siguiente de nuevo al cliente Dirige los llamadores a los otros servidores
Registrar: Accepts REGISTER requests from clients, maintains users’ whereabouts at a location server
API 2006 16
Servidor Proxy SIP ◦ Un tipo de servidor intermedio SIP es el Servidor Proxy SIP. Los
Servidores Proxy reenvían peticiones desde el Agente de Usuario hacia el siguiente Servidor SIP, y retienen la información por cuestiones de contabilidad o facturación. Adicionalmente, el Servidor Proxy SIP puede operar en forma constante (como un circuito) o dependiente de la conexión (vía TCP). El Servidor constante SIP puede dirigir las llamadas entrantes hacia diversas extensiones que están activas a la vez y la primera en responder tomará la llamada. Esta capacidad significa que se puede especificar el teléfono SIP en el escritorio, el teléfono móvil SIP y la aplicación de videoconferencia en casa de tipo SIP y todos esos aparatos “sonarían” cuando llegue una llamada que está tratando de localizar al usuario, de tal forma que al contestar en cualquiera de esos medios se inicia la conversación y los otros dispositivos dejan de sonar. Los Servidores Proxy SIP pueden usar varios métodos para intentar resolver la dirección destino solicitada, incluyendo búsquedas en el DNS, en bases de datos o relevando la labor hacia el siguiente Servidor Proxy
API 2006 17
Servidor de Redireccionamiento SIP ◦ Un segundo tipo de servidor intermedio SIP es el
Servidor de Redireccionamiento. El papel de estos servidores es responder a la resolución de nombres y la ubicación del usuario. El Servidor de Redireccionamiento responde a las peticiones de los Agentes de Usuario proporcionando la información acerca de la dirección del servidor requerido, de tal forma que el cliente puede contactar la dirección puntualmente
Registro SIP ◦ El Registro SIP da un servicio de información de
ubicación; recibe información del Agente de Usuario y la almacena para proporcionarla a otros Agentes de Usuario
API 2006 18
API 2006 19
API 2006 20
• 1 El usuario se registra ante el proxy • 2 Le indica al proxy el destino • 3 El proxy busca el servidor destino (DNS) • 4 Servidor destino contacta con destinatario • 5 Negociación de los parámetros de sesión extremo a extremo
API 2006 21
User Agent Client(Caller)
User Agent Server(Callee)
Proxy Server Proxy Server
Proxy Server
Redirect Server
Location Server
SIP Request SIP Response RTP Media Stream
API 2006 22
El mecanismo de operación es bastante más simple, puesto que se usan requerimientos SIP muy simples, que no requieren gran complejidad en los terminales
Básicamente, cuando un terminal desea
realizar un llamado envía un SIP INVITE a otro terminal, y éste responde con un SIP ACK ◦ Hay otros mensajes, pero esta es una descripción
simplificada
Mensajes SIP ◦ Peticiones ◦ Respuestas
API 2006 23
PETICIONES de la versión inicial: ◦ REGISTER: registro de la localización actual de un usuario
para registrarse ante el proxy
◦ INVITE: invitación del llamante re-invite: negociación de la sesión
◦ OPTIONS: consulta a un agente de usuario sus capacidades testea si un terminal soporta los parametros de sesión
◦ ACK: fin de establecimiento (respuesta del llamante a la aceptación del llamado)
◦ CANCEL: cancela petición en curso ◦ BYE: Abandono de un participante en una sesión múltiple
NORMA GENERAL: Excepto ACK todas las peticiones
necesitan respuesta
API 2006 24
RESPUESTAS: códigos numéricos PROVISIONALES: (no terminan la transacción) ◦ 1XX (Informativas): petición procesada pero no completa (trying, ringing,
forarded, queued...)
FINALES: (terminan la transacción) ◦ 2XX (Éxito): petición completada con éxito en el extremo remoto,
200 =“OK”
◦ 3XX (Redirección): llamante debe redirigir su petición hacia otra ubicación; “moved temporarily”, “moved permanently”, ...
◦ 4XX (Fallo de petición): la petición recibida no puede cursarse. Se sugiere modificación y reintento; ”bad request”, “timeout”, “busy here”, “user not found”...
◦ 5XX (Error del servidor): al procesar la información. Se sugiere reintentar; “not implemented”, “version not supported”, ...
◦ 6XX (Fallo global): petición no puede ser cursada. Sin reintento; “busy everywhere”, “user does not exist anywhere, session not acceptable, ...)
API 2006 25
API 2006 26
Llamante Llamado
INVITE 180: Ringing
200: OK
ACK
SESIÓN
BYE
200: OK
API 2006 27
16 funcionalidades telefónicas estandar
Cierto tipo de “reenvío de llamada” permite a los usuarios especificar donde están y las llamadas entrantes serán reenviadas ahí o se puede elegir el reenvío hacia el “correo de voz” o cualquier máquina contestadora
Los participantes en una llamada pueden controlar el enlace; esto permite que uno o más personas decidan incluir a otro individuo o cancelar una conexión en la llamada
Posibilidad de responder a una llamada con un tipo de medio distinto; esto facilita, por ejemplo, que una secuencia de voz entrante sea respondida con una página Web
API 2006 28
Información de “Presencia” ◦ El Agente de Usuario puede emplearse para indicar dónde
está presente el usuario (disponible para tomar la llamada) o ausente (no disponible para tomar la llamada)
Videoconferencia y Teleconferencia.
Mensajería Instantánea (localización de usuarios)
Servicios Web ◦ (propuesta de SOAP sobre SIP, HTTP no define conexión)
Internet Telephony ◦ Well-Recognized IP Telephony System
API 2006 29
Instant Messaging ◦ Exchange of Content between Participants in Real-
time
Click-to-Call from an Electronic Document ◦ ‘SIP como una etiqueta’ Contained in Document
Transport of MIME in SIP Signaling ◦ Reference to Web/WAP Pages, mail, pictures
Interactive Games with SIP Signaling
API 2006 30
.
Integration of Messaging, Presence, and Session-oriented Communication
RFC 3428 --- SIP Extension for Instant Messaging ◦ SIP MESSAGE Method --- Pager-mode IM For small IM Exchange Carry IM on Signaling Channel --- Big Overhead
Pager-mode vs. Session mode Instant Messaging ◦ Pager-mode --- Each message is independent of any other
message ◦ Session-mode --- IMs are associated with a media session
established by SIP INVITE method
Message Session Relay Protocol (MSRP) --- IETF Draft ◦ Support Session-mode IM between Endpoints
API 2006 32
API 2006 33
API 2006 34
Cisco 7940 & 7960 IP Phones
2-port FXS Gateway Cisco ATA 186
Cisco PIX Firewall
Cisco SIP Proxy Server
Cisco Voice Gateways
Cisco Softswitch BTS-10200
Cisco Unity
Ejemplos Comerciales ◦ 3Com VCX 7000 ◦ Siemens HiPath 8000 ◦ Cisco Call Manager 5.0 ◦ Mitel 3300 ◦ Nortel MCS 5100 ◦ Avaya Converged Communications Server
Open Source ◦ Pingtel SIPxchange ◦ SIPfoundry sipX ◦ Asterisk
API 2006 35
API 2006 36
Basado en IP ◦ Simplifica al no buscar compatibilidad
Sencillo y manejable ◦ Basado en el mismo modelo transaccional de HTTP
Fácil de codificar, procesar y depurar ◦ Codificado en texto ASCII ◦ Conjunto de mensajes reducido
Extensible y escalable ◦ Basado en la arquitectura cliente/servidor
Proporciona servicios de valor agregado a nivel de aplicación ◦ Movilidad (a nivel de aplicación) ◦ Notificaciones ◦ Presencia ◦ Control de llamada ◦ Mensajería instantánea
API 2006 37
Before the Call ◦ Dynamic Phone Book ◦ Click-to-Talk
During Call Establishment ◦ Sending a Rich Clip, which Can be A Picture with Call Subject, or Special Ringing Tone
During the Call ◦ Document Sharing ◦ Information Push
During Session Tear-Down ◦ (same as Call Establishment)
After the Call ◦ Be Able to Send Instant Message
API 2006 38
In 3G and NGN, the Focus Shift towards to All-IP Paradigm ◦ IP Transport, IP Mobility and VoIP (e.g. SIP) Protocol
SIP Has Been Adopted by 3GPP for Session Signaling
SIP Telephony System Has Been Well Accepted
With SIP, Service Creation is Fast and Easy ◦ IP Protocols vs. Telecom Protocol, like IN ◦ Be able to Integrate Most IP-based Services
Service Mobility and Personal Reachability ◦ By SIP and IPv6 Mobility
API 2006 39
H.323 especifica servicios, SIP primitivas
H.323 engloba un conjunto amplio de protocolos de implementación obligatoria
Negociación de capacidades más completa y compleja en H.323
SIP integrado en infraestructura web
SIP tiene mejores mecanismos de detección de errores de configuración de red
Inicio de llamadas más rápido con SIP
API 2006 40
Diferencias técnicas :
API 2006 41