UPM
VOIP
Voz sobre IP
Mónica CortésDpto. de Ingeniería de Sistemas Telemáticos
Multimedia en IETF
! Real Time Protocol (RTP) – paquetes multimedia
! Real Time Control Protocol (RTCP) – monitorizar
& reportar
! Session Announcement Protocol (SAP)
! Session Description Protocol (SDP)
! Session Initiation Protocol (SIP)
! Real Time Stream Protocol (RTSP) – control ???
play out control
! Synchronized Multimedia Integration Language
(SMIL) – mezcla audio/video con texto y gráficos
UPM
Multimedia
! Hay que digitalizar el audio y el video
! Hay muchas maneras de hacerlo y de mandar la
señal digitalizada
! Codec: Coder-Decoder
! Digitaliza y comprime los datos antes de enviarlos
! El receptor tiene que entender los mismos codec
! Codec distintos para audio y video
! El audio y video se mandann en flujos separados
! Receptor y emisor deben negociar que codecs
usar
! En los protocolos de señalización
3 2010
SIP - Introducción
! SIP es un protocolo de señalización de nivel de aplicación que permite crear, negociar, modificar y terminar sesiones multimedia con diferentes participantes.
! Una sesión incluye conferencia, telefonía, mensajería … multimedia en Internet
! Se desarrolla siguiendo los procedimientos del IETF
! Existe otro estándar de la ITU-T: H.323 más complejo
! ¿Por qué SIP si ya existía H.323?
! Objetivos de SIP:
! Más integrado con las aplicaciones y servicios de
Internet
! Mayor flexibilidad para incorporar nuevas funciones
UPM
SIP – Funciones de señalización
! Establecer, modificar y finalizar llamadas/ sesiones
! Registro y localización de participantes.
! Movilidad
! Gestión del conjunto de participantes y de los componentes del sistema
! Multiconferencias
! Descripción de características de las sesiones y negociación de capacidades de los participantes
5 2010
Arquitectura de los sistemas SIP
! Utiliza muchas ideas desarrolladas para otras aplicaciones, no reinventa la rueda
! Integrada en la infraestructura web
! Sintaxis similar a HTTP o SMTP
! Basado en texto plano
! Formato de mensaje único y genérico
! Reutiliza conceptos de otros servicios (web, correo, dns)
! Modelo cliente-servidor (petición-respuesta)
! Agentes de usuario:
! Agentes de usuario clientes (UAC). Envían peticiones SIP
• Teléfonos SIP o aplicaciones SIP (“soft-phones”)
! Agentes de usuario servidores (UAS). Envían respuestas
UPM
Servidores SIP - UAS
! Servidores de registro
! Permiten la movilidad de los agentes de usuario, registran
bajo que IP está localizable un determinado usuario
! Servidores proxy
! Permite la redirección de peticiones centralizada en un
servidor que determina el mejor camino a seguir por los paquetes SIP
! Servidores de redirección
! Indica al UAC (cliente) cuál es el servidor SIP a usar,
permite mobilidad
! Un único servidor puede simultanear las 3 funciones ! Pasarelas SIP
! Permiten la comunicación entre SIP y telefonía tradicional o
el estándar H.323
7 2010
Ejemplo architectura SIP
re
gi
str
o
Registro Proxy Proxy
Redirección Pasarela llamada l ocal izac ión FLUJOS
UPM
Operación SIP
! Direccionamiento SIP
! Localización de un servidor SIP
! Envío de Peticiones SIP
! Métodos SIP
! Respuestas SIP
! Peticiones y respuestas sucesivas
9 2010
Paso 1: Direccionamiento
! Utiliza URLs! Soporta direcciones de Internet y telefonía tradicional
! Ejemplo: nombre@dominio
! Para completar una llamada se necesita resolver la
dirección a algo del estilo: usuario@equipo
! Ejemplos:
! sip:[email protected]
! sip:J.T. Kirk <[email protected]>
! sip:[email protected];user=phone
UPM
Paso 2: Localizar un servidor SIP
! El que inicia la llamada, primero localiza elservidor del destinatario apropiado
! El cliente ha de determinar la dirección IP, el puerto del servidor y el protocolo a utilizar
! Si no conoce la dirección del servidor la solicitará al DNS, localización de servicios…
! Usará el dominio de la dirección SIP que quiere
contactar: nombre@dominio
! Buscará un registro de recurso SVR en el servidor DNS
de dominio
! La dirección IP en la respuesta será utilizada
11 2010
Paso 3: Envío de peticiones SIP
! Una vez resuelta la dirección del servidor, elcliente envía una o varias peticiones al servidor - recibe 1 o más respuestas del servidor
! Petición SIP:
<Método> Request-URI SIP-Version
! Ejemplo:
UPM
Métodos SIP
<Método> Request-URI SIP-Version ! INVITE
! Para invitar un usuario a una llamada
! ACK
! Para confirmar que un cliente ha recibido una respuesta
final a un INVITE
! OPTIONS
! Para solicitar información acerca de las capacidades del
llamado – NO establece la llamada
! BYE
! Para indicar que un usuario quiere abandonar una llamada
! CANCEL
! Finaliza una petición pendiente
! REGISTER
! Transporta la información de localización de un cliente a un
servidor SIP
13 2010
Respuestas SIP
! SIP-Versión Código Frase
! Reusa las definiciones de las respuestas tipo HTTP ! Ejemplo: SIP/2.0 404 Not Found
! Primer dígito define la clase de respuesta
Description Examples
1xx Informational – Request received, continuing to process request. 180 Ringing 181 Call is Being Forwarded
2xx Success – Action was successfully received, understood and accepted. 200 OK
3xx Redirection – Further action needs to be taken in order to complete the request. 300 Multiple Choices 302 Moved Temporarily
4xx Client Error – Request contains bad syntax or cannot be fulfilled at this server. 401 Unauthorized 408 Request Timeout
5xx Server Error – Server failed to fulfill an apparently valid request. 503 Service Unavailable 505 Version Not Suported
UPM
Paso 4: Establecimiento de una sesión
! El que llama envía una petición de INVITE
! El receptor de la llamada responde
! El que llama recibe la respuesta a la petición inicial y manda un mensaje de asentimiento
! Se reciben los flujos de datos acordados
! Alguno quiere finalizar la sesión y envía un BYE
! CANCEL finaliza peticiones en curso
15 2010
Ejemplo de comunicación VOIP
200 OK ACK INVITE sip:[email protected] host.wcom.com sip.uunet.com SIP User Agent Client SIP User Agent Server BYE 200 OK Flujos de datos
UPM
Ejemplo con Servidor de redirección
17 2010 302 Moved sip:[email protected] ACK Media Stream INVITE sip:[email protected] SIP User Agent Client SIP Redirect Server 180 Ringing ACK INVITE sip:[email protected] SIP User Agent Server REGISTER [email protected] host.wcom.com sip.uunet.com 200 OK server.wcom.com 200 OK RS UAS 1 2 3
Ejemplo con multiples registros activos
C sip.mci.com ACK INVITE INVITE 404 Not Found 180 Ringing INVITE sip:[email protected] host.wcom.com 180 Ringing ACK sip.uunet.com SIP User Agent Client SIP Proxy Server SIP User Agent Server 2 SIP User Agent Server 1 proxy.wcom.com 100 Trying BYE 200 OK Media Stream 200 OK 200 OK S1 S2
UPM
Agentes de usuario UAC
! Soft-phones: aplicación para realizar llamadas de teléfono por Internet desde un ordenador
! Opciones de software libre
! Ekiga ! Empathy ! Linphone (GNOME) ! Kphone (KDE) ! Minisip ! PhoneGaim ! QuteCom ! SFLphone ! Twinkle ! … 19 2010
Agentes de usuario UAS
! Servidores: aplicación que implementa las tareas
de un servidor SIP
! Opciones de software libre
! Asterisk PBX
! FreeSWITCH PBX
! Mysipswitch
! Kamailio/OpenSIPS (antes OpenSER)
! SIP Express Router
! Librerías
! Tapioca
UPM
Ejercicios
! Instalar y arrancar Ekiga
! Sólo en máquinas con X
! Crear una cuenta gratuita en ekiga.net
21 2010