SlideShare una empresa de Scribd logo
1 de 41
Descargar para leer sin conexión
https://www.facebook.com/ahroel - @arielroel
Diplomatura en
Telecomunicaciones Multimedia
Módulo Core Fijo – Unidad 5
Ariel Roel
Ariel Roel – arielroel@gmail.com - @arielroel
Unidad Temática 5
Ariel Roel – arielroel@gmail.com - @arielroel
AGENDA – Unidad 5
• Introducción al protocolo SIP.
• Arquitectura SIP.
• Metodos y respuestas SIP.
• Formato de los mensajes SIP.
• Flujos de llamadas.
Señalización IP
Ariel Roel – arielroel@gmail.com - @arielroel
4
RTCP
RTP
IP
MGCP
Control de llamada y señalización Control de
Señalización y
Gateway
Medios
H.225
Q.931
H.323
H.323 V1 y V2 soportan H.245 sobre TCP, Q.931 sobre TCP y RAS sobre UDP.
H.323 V3 y 4 soportanH.245 sobreUDP/TCP y Q.931 sobre UDP/TCP y RAS sobre UDP.
SIP soporta TCP y UDP.
TCP
RAS
UDP
SIP
H.245
Audio/
Video
RTSP
Señalización IP
Ariel Roel – arielroel@gmail.com - @arielroel
¿Qué es SIP?
• SIP (Session Initial Protocol)
• Protocolo de señalización para el establecimiento de
sesiones sobre redes IP
• Datos de muy diversa naturaleza
• Trabaja en sintonía con otros protocolos, pero con
independencia de los mismos
• SIP no provee servicios, sino primitivas para
implementar servicios
Ariel Roel – arielroel@gmail.com - @arielroel
¿Qué es SIP?
• 5 funciones relacionadas con el establecimiento de
sesiones :
1. User location: determinación del end system o end point a
ser usado para la comunicación
2. User capabilities: determinación de los medios y los
parámetros de esos medios a ser usados
3. User availability: determinación de la disponibilidad o
voluntad del usuario llamado para entrar en la comunicación
4. Session setup: “ringing”, el establecimiento de los
parametros tanto del llamado como el llamante
5. Session management: incluye la transferencia y la
terminación de la llamada
Ariel Roel – arielroel@gmail.com - @arielroel
• SIP puede también iniciar multi-party calls
usando un multipoint control unit (MCU) o
una interconexión mallada en lugar de
multicast.
• Internet telephony gateways que se conectan
a usuarios de la Public Switched Telephone
Network (PSTN) pueden usar SIP para
establecer llamadas entre ellos.
Mas funcionalidades
Ariel Roel – arielroel@gmail.com - @arielroel
Desarrollo de SIP
• Desarrollado por Handley, Schulzrinne, Schooler, y
Rosenberg
- Enviado como Draft de Internet en 7/97
• Se asigno la RFC 2543 en 3/99
• Actualmente RFC 3261
• Objetivo: Reuso y máxima interoperabilidad con los
protocolos existentes
Ariel Roel – arielroel@gmail.com - @arielroel
Objetivos
• Integración voz (VoIP), web y servicios
multimedia sobre IP
• Soporte a la movilidad: Agentes de Presencia
• Mecanismos de control de llamadas
Ariel Roel – arielroel@gmail.com - @arielroel
Filosofía de SIP
• Internet Standard
- IETF - http://www.ietf.org
• Reuso del direccionamiento de Internet (URLs,
DNS, proxies)
- Utiliza el amplio conjunto de funcionalidades de
Internet
• Reuso de código de HTTP
- Basado en texto
• No asume ningún protocolo subyacente:
- TCP, UDP, X.25, FR, ATM, etc.
- Soporte de multicast
Ariel Roel – arielroel@gmail.com - @arielroel
Arquitectura SIP
• Utiliza una arquitectura Cliente/Servidor
▫ Cliente – origina los mensajes
▫ Servidor – responde o reenvía los mensajes
• División funcional (no física)
▫ Agente de usuario SIP (USER AGENT)
 Teléfonos SIP
▫ Servidor SIP (SIP SERVER)
 Utilizados para localizar a los usuarios
1. Servidor Proxy SIP
2. Servidor de redireccionamiento SIP
▫ Registro SIP (SIP REGISTRAR)
▫ Gateways SIP (SIP Gateways)
 A PSTN para interacción con telefonía legada
 A otros protocolos IP (H.323)
Ariel Roel – arielroel@gmail.com - @arielroel
Redirect
Server
Arquitectura de SIP
Location
Server
Registrar
Server
User Agent
Proxy
Server
Gateway
PSTN
Componentes SIP
Proxy
Server
Ariel Roel – arielroel@gmail.com - @arielroel
• User Agents
▫ User Agent Client (UAC): Inicia los pedidos SIP
▫ User Agent Server (UAS): Devuelve las respuestas SIP
• Network Servers (pueden estar co-localizados)
▫ Proxy: Decide el proximo salto y reenvía el pedido, hace el
relevo de la señalización de la sesión, opera de una manera
transaccional, y no guarda el estado de la sesión
▫ Redirect: Envía la dirección del próximo salto al cliente y
redirecciona los llamantes a otros servidores
- Registrar: Acepta los pedidos de REGISTER de los
clientes, y mantiene las informaciones de localizacion de los
usuarios en el servidor de ubicación
Entidades SIP
Ariel Roel – arielroel@gmail.com - @arielroel
1. SIP Addressing
2. Ubica un SIP Server
3. Envia SIP Requests : SIP Transactions
4. Métodos SIP (Methods)
5. Respuestas SIP (Responses)
6. Requests y Responses subsiguientes
Operación de SIP
Ariel Roel – arielroel@gmail.com - @arielroel
Direccionamiento SIP (Addressing)
Uso deURLs de Internet
▫ URL - Uniform Resource Locators
▫ Soporta direccionamiento Internet y PSTN
▫ Forma general: name@domain
▫ Para completar una sesión, se necesita resolver el
User@Host
▫ Ejemplos:
sip:arielroel@gmail.com
sip:A.H. Roel <ariel.roel@wamay.com.ar>
sip:+54-221-609-4066@wamay.com.ar;user=phone
sip:guest@10.64.1.1
sip:790-7360@up.edu.ar;phone-context=VNET
Ariel Roel – arielroel@gmail.com - @arielroel
Encontrar un SIP Server
• El llamante primero ubica el servidor apropiado
• Cuando el cliente quiere enviar un request URI, lo
puede hacer tanto al
▫ Proxy server configurado localmente o a la
▫ Dirección IP y puerto correspondiente al request URI
• El cliente debe determinar la dirección IP, puerto
del servidor y protocolo a ser usado.
Ariel Roel – arielroel@gmail.com - @arielroel
Encontrar un SIP Server
El cliente:
1. Debe intentar contactar al servidor en el puerto definido en
la request URI. Si no hay especificación, intenta en el
puerto 5060
1. Usa el protocolo especificado si aplica
2. Por ejemplo usar UDP si es soportado
3. Si UDP falla, usar TCP
2. Enviar el pedido a la IP del servidor si la parte host del
request URI es una dirección IP
3. Encontrar una o mas direcciones del servidor por consulta
al DNS
4. Los resultados pueden ser almacenados (cached)
5. Debe existir capacidad de interpretar mensajes ICMP
Ariel Roel – arielroel@gmail.com - @arielroel
Mensajes SIP
• Basadas en los mensajes HTTP
▫ Modelo cliente – servidor
• Primitivas:
▫ register: para registrarse ante el proxy
▫ invite, re-invite: negociación de la sesión
▫ options: testea si un terminal soporta los parametros de
sesión
▫ Otros: bye, ack, cancel…
Ariel Roel – arielroel@gmail.com - @arielroel
• INVITE: Inicia la sesión
▫ Descripción de la sesión incluída en el cuerpo del
mensaje
• El Re-INVITEs usado para cambiar el estado de la sesión
• ACK confirma el establecimiento de la sesión y sólo puede
ser usado con el INVITE
• BYE termina la sesión (colgar)
• CANCEL cancela el invite pendiente
• REGISTER: ata una dirección permanente a la ubicación
actual, y puede binds a permanent address to current
location, y puede transmitir datos del usuario
• OPTIONS: consulta de capacidades
• INFO: Usado para llevar información “out of band” tal
como DTMF
Métodos
Ariel Roel – arielroel@gmail.com - @arielroel
Mensajes SIP
• Códigos de respuesta :
▫ 1xx: en curso
▫ 2xx: finalizada con éxito
▫ 3xx: redirección
▫ 4xx: errores en cliente
▫ 5xx: errores en servidor
▫ 6xx: errores globales
Ariel Roel – arielroel@gmail.com - @arielroel
Envío de un SIP Request
• Una vez que la parte host ha sido resuelta para el SIP
server
▫ El cliente envía 1 o más SIP request a ese servidor y
▫ Recibe 1 o más respuestas del servidor
• Ejemplo:
INVITE sip:ariel@wamay.com.ar SIP/2.0
Ariel Roel – arielroel@gmail.com - @arielroel
• Paso 1: El llamante envía un INVITE inicial
• Paso 2: El llamado envía una respuesta
• Paso 3: El llamante recibe una respuesta al
pedido inicial
• Paso 4: El llamante o el llamado generan
pedidos subsecuentes
• Paso 5: Se reciben los pedidos subsecuentes
• Paso 6: Se envía un BYE para cerrar la sesión
• Paso x: Puede enviarse un CANCEL
Orden de las operaciones
Ariel Roel – arielroel@gmail.com - @arielroel
• 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
Control de llamadas
Ariel Roel – arielroel@gmail.com - @arielroel
Mensajes SIP
ariel@wamay.com.ar luis@up.edu.ar
luis@up.edu.ar
Proxy
wamay.com.ar
Proxy
up.edu.ar
Ariel Roel – arielroel@gmail.com - @arielroel
Cabeceras de los mensajes
• Estructura: cabecera + cuerpo
▫ Cuerpo: información de niveles superiores
 SDP: negociación de parámetros de conexión
• Campos:
▫ Status Line: tipo de mensaje
▫ VIA: identificador de equipo
▫ Max-Forwards: nº máximo de saltos
Ariel Roel – arielroel@gmail.com - @arielroel
Cabeceras de los mensajes
▫ To y From: direcciones de origen y destino
 Sip:usuario@maquina.dominio
▫ Call-ID: identificador de la conexión
▫ Cseg: número de secuencia del mensaje
▫ Contact: dirección de acceso directo al terminal
▫ Content type y length: descripción y tamaño del
cuerpo del mensaje
Ariel Roel – arielroel@gmail.com - @arielroel
Cabeceras de los mensajes
INVITE sip:luis@up.edu.ar SIP/2.0
Via: SIP/2.0/UDP pc33.esi.us.es;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Javi <sip:luis@up.edu.ar>
From: Ariel <sip:ariel.roel@wamay.com.ar>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.wamay.com.ar
CSeq: 314159 INVITE
Contact: <sip:gonzalo@pc33.wamay.com.ar>
Content-Type: application/sdp
Content-Length: 142
Ariel Roel – arielroel@gmail.com - @arielroel
Proxy Server
▫ Un programa intermedio que actua tanto como
servidor y cliente que hace pedidos en nobre de otros
clientes.
▫ Los pedidos son atendidos internamente o re enviados
a otros, posiblemente luego de traducción
▫ Interpreta, re-escribe o traduce un mensaje de pedido
antes de reenviarlo.
Ariel Roel – arielroel@gmail.com - @arielroel
Location Server
▫ El location server es usado por un SIP redirect o
servidor proxy para obtener información de la posible
ubicación del llamado.
Ariel Roel – arielroel@gmail.com - @arielroel
Redirect Server
▫ Un servidor que acepta una solicitud SIP, mapea la
dirección en cero o más direcciones nuevas y devuelve
estas direcciones al cliente.
▫ A diferencia de un servidor proxy, el servidor de
redirección no inicia su propia petición SIP.
▫ A diferencia de un servidor de agente de usuario, el
servidor de redirección no acepta o termina las
llamadas.
Ariel Roel – arielroel@gmail.com - @arielroel
Registrar Server
▫ Un servidor que acepta solicitudes de registro
(REGISTER).
▫ El servidor de registro puede admitir la autenticación.
▫ Un servidor de registro suele ser co-ubicada con un
proxy o servidor de redirección y pueden ofrecer
servicios de localización.
Ariel Roel – arielroel@gmail.com - @arielroel
Registración
▫ Cada vez que un usuario enciende el
SIP User Client (SIP Phone IP, PC o
dispositivo SIP de otro tipo), el
cliente se registra en el servidor proxy
/ registro.
▫ El registro también puede ocurrir
cuando el usuario del cliente SIP
tiene que informar al servidor proxy /
registro de su ubicación.
▫ La información de registro se
actualiza periódicamente y cada
cliente usuario debe volver a registrar
con el servidor proxy / registro.
▫ Normalmente, el servidor proxy /
registro enviará esta información
para guardarla en el servidor de
ubicación / redirect.
SIP Messages:
REGISTER – Registra la dirección nombrada en el
campo To de la cabecera.
200 – OK.
Proxy/
Registration
Server
SIP Phone
User
Location/
Redirect
Server
REGISTER REGISTER
200
200
Ariel Roel – arielroel@gmail.com - @arielroel
302
(Moved Temporarily)
INVITE
200 (OK)
200 (OK)
ACK
INVITE
302
(Moved Temporarily)
ACK
INVITE
180 (Ringing)
180 (Ringing)
180 (Ringing)
200 (OK)
ACK
ACK ACK
RTP MEDIA PATH
BYE
BYE BYE
200 (OK)
200 (OK) 200 (OK)
Descon
exión
Medios
Estable
cimient
o
INVITE
Location/Redirect Server
Proxy Server Proxy Server User Agent
User Agent
INVITE
Flujo de llamada simplificado
Ariel Roel – arielroel@gmail.com - @arielroel
Marco de diseño
SIP fue diseñado para:
▫ Ser integrado con los protocolos IETF existentes
▫ Escalabilidad y simplicidad.
▫ Movilidad
▫ Creacion simple de funcionalidades y servicios.
Ariel Roel – arielroel@gmail.com - @arielroel
Integración con protocolos IETF
Otros protocolos de la IETF pueden ser usados para construir
una aplicación basada en SIP. SIP puede trabajar con los
protocolos existentes de la siguiente manera:
▫ RSVP - para reservar recursos de red.
▫ RTP Real Time Protocol – para transportar datos en
tiempo real y proveer feedback del QoS.
▫ RTSP Real Time Streaming Protocol – para controlar la
entrega de streaming.
▫ SAP Session Advertisement Protocol – para publicar
sesiones multimedia via multicast.
Ariel Roel – arielroel@gmail.com - @arielroel
Integración con protocolos IETF
▫ MIME – Multipurpose Internet Mail Extension – standard
defacto para describir el contenido en Internet.
▫ HTTP – Hypertext Transfer Protocol – HTTP es el
protocolo estandar usado para dar servicio de web pages
sobre Internet.
▫ COPS – Common Open Policy Service.
Ariel Roel – arielroel@gmail.com - @arielroel
Escalabilidad
▫ La arquitectura SIP es escalable, flexible y distribuida.
 Funcionalidades tales como proxying, redirection,
location, o registration pueden estar en servidores físicos
diferentes.
 La funcionalidad distribuida permite el agregado de
nuevos procesos sin afectar otros componentes.
Ariel Roel – arielroel@gmail.com - @arielroel
Simplicidad
SIP está diseñado para ser:
▫ “Rápido y simple en el corazón”
▫ “Más inteligente con menos volumen al borde.”
▫ Basado en texto para implementación y debugging
simple.
Ariel Roel – arielroel@gmail.com - @arielroel
Movilidad
▫ SIP soporta la movilidad de usuarios por medio del
“proxying” y la redirección de los requests a la
ubicación actual del cliente.
▫ El usuario puede estar usando una PC en el trabajo,
una PC en el hogar, un teléfono celular, un teléfono IP
o un teléfono POTS..
▫ El usuario debe registrar su ubicación actual.
▫ El servidor proxy reenviará las llamadas a la ubicación
actual del usuario.
▫ Ejemplos de aplicaciones de movilidad incluyen
presencia y “call forking”.
Ariel Roel – arielroel@gmail.com - @arielroel
Creación de funcionalidades
Un sistema basado en SIP puede soportar la creación
de servicios y funcionalidades de manera rápida y
simple.
Por ejemplo, funcionalidades y servicios pueden ser
creados usando lenguajes de programación estandar.
Ariel Roel – arielroel@gmail.com - @arielroel
Creación de funcionalidades
SIP puede soportar esas funcionalidades y aplicaciones:
▫ Funcionalidades básicas (llamada en espera, forwarding de
llamadas, bloqueo de llamadas, etc.)
▫ Mensajería unificada.
▫ Call forking.
▫ Click to talk.
▫ Presencia.
▫ Instant messaging.
▫ Find me / Follow me.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (12)

Telefonía IP (SIP, Diameter, RTP/RTPC)
Telefonía IP (SIP, Diameter, RTP/RTPC)Telefonía IP (SIP, Diameter, RTP/RTPC)
Telefonía IP (SIP, Diameter, RTP/RTPC)
 
Operaciones Técnicas
Operaciones TécnicasOperaciones Técnicas
Operaciones Técnicas
 
Operaciones Técnicas
Operaciones TécnicasOperaciones Técnicas
Operaciones Técnicas
 
Live IP Studio
Live IP StudioLive IP Studio
Live IP Studio
 
Sip
SipSip
Sip
 
Vo ip con_qos[1]
Vo ip con_qos[1]Vo ip con_qos[1]
Vo ip con_qos[1]
 
Manejo de Medios en FreeSWITCH
Manejo de Medios en FreeSWITCHManejo de Medios en FreeSWITCH
Manejo de Medios en FreeSWITCH
 
Conclusiones aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Conclusiones aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaConclusiones aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Conclusiones aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Television IP
Television IPTelevision IP
Television IP
 
VoIP
VoIPVoIP
VoIP
 
Sistemas de VoIP con Asterisk: Modulo I
Sistemas de VoIP con Asterisk: Modulo ISistemas de VoIP con Asterisk: Modulo I
Sistemas de VoIP con Asterisk: Modulo I
 
Tecnologías de VoIP
Tecnologías de VoIPTecnologías de VoIP
Tecnologías de VoIP
 

Destacado

Destacado (8)

Sip
SipSip
Sip
 
SIP: Session Initiation Protocol
SIP: Session Initiation ProtocolSIP: Session Initiation Protocol
SIP: Session Initiation Protocol
 
Introducción a VoIP
Introducción a VoIPIntroducción a VoIP
Introducción a VoIP
 
VoIP
VoIPVoIP
VoIP
 
Voip
VoipVoip
Voip
 
Introducción a Asterisk
Introducción a AsteriskIntroducción a Asterisk
Introducción a Asterisk
 
RTCP (RTP control protocol)
RTCP (RTP control protocol)RTCP (RTP control protocol)
RTCP (RTP control protocol)
 
20101103 ventajas de voip - une
20101103   ventajas de voip - une20101103   ventajas de voip - une
20101103 ventajas de voip - une
 

Más de Ariel Roel

Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 8
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 8Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 8
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 8Ariel Roel
 
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 7
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 7Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 7
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 7Ariel Roel
 
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 6
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 6Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 6
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 6Ariel Roel
 
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 5
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 5Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 5
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 5Ariel Roel
 
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.2
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.2Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.2
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.2Ariel Roel
 
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.1
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.1Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.1
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.1Ariel Roel
 
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 3
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 3Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 3
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 3Ariel Roel
 

Más de Ariel Roel (7)

Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 8
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 8Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 8
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 8
 
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 7
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 7Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 7
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 7
 
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 6
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 6Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 6
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 6
 
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 5
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 5Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 5
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 5
 
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.2
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.2Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.2
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.2
 
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.1
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.1Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.1
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.1
 
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 3
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 3Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 3
Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 3
 

Core Fijo - Diplomatura en Telecomunicaciones Multimedia - Unidad 4.3

  • 1. https://www.facebook.com/ahroel - @arielroel Diplomatura en Telecomunicaciones Multimedia Módulo Core Fijo – Unidad 5 Ariel Roel
  • 2. Ariel Roel – arielroel@gmail.com - @arielroel Unidad Temática 5
  • 3. Ariel Roel – arielroel@gmail.com - @arielroel AGENDA – Unidad 5 • Introducción al protocolo SIP. • Arquitectura SIP. • Metodos y respuestas SIP. • Formato de los mensajes SIP. • Flujos de llamadas. Señalización IP
  • 4. Ariel Roel – arielroel@gmail.com - @arielroel 4 RTCP RTP IP MGCP Control de llamada y señalización Control de Señalización y Gateway Medios H.225 Q.931 H.323 H.323 V1 y V2 soportan H.245 sobre TCP, Q.931 sobre TCP y RAS sobre UDP. H.323 V3 y 4 soportanH.245 sobreUDP/TCP y Q.931 sobre UDP/TCP y RAS sobre UDP. SIP soporta TCP y UDP. TCP RAS UDP SIP H.245 Audio/ Video RTSP Señalización IP
  • 5. Ariel Roel – arielroel@gmail.com - @arielroel ¿Qué es SIP? • SIP (Session Initial Protocol) • Protocolo de señalización para el establecimiento de sesiones sobre redes IP • Datos de muy diversa naturaleza • Trabaja en sintonía con otros protocolos, pero con independencia de los mismos • SIP no provee servicios, sino primitivas para implementar servicios
  • 6. Ariel Roel – arielroel@gmail.com - @arielroel ¿Qué es SIP? • 5 funciones relacionadas con el establecimiento de sesiones : 1. User location: determinación del end system o end point a ser usado para la comunicación 2. User capabilities: determinación de los medios y los parámetros de esos medios a ser usados 3. User availability: determinación de la disponibilidad o voluntad del usuario llamado para entrar en la comunicación 4. Session setup: “ringing”, el establecimiento de los parametros tanto del llamado como el llamante 5. Session management: incluye la transferencia y la terminación de la llamada
  • 7. Ariel Roel – arielroel@gmail.com - @arielroel • SIP puede también iniciar multi-party calls usando un multipoint control unit (MCU) o una interconexión mallada en lugar de multicast. • Internet telephony gateways que se conectan a usuarios de la Public Switched Telephone Network (PSTN) pueden usar SIP para establecer llamadas entre ellos. Mas funcionalidades
  • 8. Ariel Roel – arielroel@gmail.com - @arielroel Desarrollo de SIP • Desarrollado por Handley, Schulzrinne, Schooler, y Rosenberg - Enviado como Draft de Internet en 7/97 • Se asigno la RFC 2543 en 3/99 • Actualmente RFC 3261 • Objetivo: Reuso y máxima interoperabilidad con los protocolos existentes
  • 9. Ariel Roel – arielroel@gmail.com - @arielroel Objetivos • Integración voz (VoIP), web y servicios multimedia sobre IP • Soporte a la movilidad: Agentes de Presencia • Mecanismos de control de llamadas
  • 10. Ariel Roel – arielroel@gmail.com - @arielroel Filosofía de SIP • Internet Standard - IETF - http://www.ietf.org • Reuso del direccionamiento de Internet (URLs, DNS, proxies) - Utiliza el amplio conjunto de funcionalidades de Internet • Reuso de código de HTTP - Basado en texto • No asume ningún protocolo subyacente: - TCP, UDP, X.25, FR, ATM, etc. - Soporte de multicast
  • 11. Ariel Roel – arielroel@gmail.com - @arielroel Arquitectura SIP • Utiliza una arquitectura Cliente/Servidor ▫ Cliente – origina los mensajes ▫ Servidor – responde o reenvía los mensajes • División funcional (no física) ▫ Agente de usuario SIP (USER AGENT)  Teléfonos SIP ▫ Servidor SIP (SIP SERVER)  Utilizados para localizar a los usuarios 1. Servidor Proxy SIP 2. Servidor de redireccionamiento SIP ▫ Registro SIP (SIP REGISTRAR) ▫ Gateways SIP (SIP Gateways)  A PSTN para interacción con telefonía legada  A otros protocolos IP (H.323)
  • 12. Ariel Roel – arielroel@gmail.com - @arielroel Redirect Server Arquitectura de SIP Location Server Registrar Server User Agent Proxy Server Gateway PSTN Componentes SIP Proxy Server
  • 13. Ariel Roel – arielroel@gmail.com - @arielroel • User Agents ▫ User Agent Client (UAC): Inicia los pedidos SIP ▫ User Agent Server (UAS): Devuelve las respuestas SIP • Network Servers (pueden estar co-localizados) ▫ Proxy: Decide el proximo salto y reenvía el pedido, hace el relevo de la señalización de la sesión, opera de una manera transaccional, y no guarda el estado de la sesión ▫ Redirect: Envía la dirección del próximo salto al cliente y redirecciona los llamantes a otros servidores - Registrar: Acepta los pedidos de REGISTER de los clientes, y mantiene las informaciones de localizacion de los usuarios en el servidor de ubicación Entidades SIP
  • 14. Ariel Roel – arielroel@gmail.com - @arielroel 1. SIP Addressing 2. Ubica un SIP Server 3. Envia SIP Requests : SIP Transactions 4. Métodos SIP (Methods) 5. Respuestas SIP (Responses) 6. Requests y Responses subsiguientes Operación de SIP
  • 15. Ariel Roel – arielroel@gmail.com - @arielroel Direccionamiento SIP (Addressing) Uso deURLs de Internet ▫ URL - Uniform Resource Locators ▫ Soporta direccionamiento Internet y PSTN ▫ Forma general: name@domain ▫ Para completar una sesión, se necesita resolver el User@Host ▫ Ejemplos: sip:arielroel@gmail.com sip:A.H. Roel <ariel.roel@wamay.com.ar> sip:+54-221-609-4066@wamay.com.ar;user=phone sip:guest@10.64.1.1 sip:790-7360@up.edu.ar;phone-context=VNET
  • 16. Ariel Roel – arielroel@gmail.com - @arielroel Encontrar un SIP Server • El llamante primero ubica el servidor apropiado • Cuando el cliente quiere enviar un request URI, lo puede hacer tanto al ▫ Proxy server configurado localmente o a la ▫ Dirección IP y puerto correspondiente al request URI • El cliente debe determinar la dirección IP, puerto del servidor y protocolo a ser usado.
  • 17. Ariel Roel – arielroel@gmail.com - @arielroel Encontrar un SIP Server El cliente: 1. Debe intentar contactar al servidor en el puerto definido en la request URI. Si no hay especificación, intenta en el puerto 5060 1. Usa el protocolo especificado si aplica 2. Por ejemplo usar UDP si es soportado 3. Si UDP falla, usar TCP 2. Enviar el pedido a la IP del servidor si la parte host del request URI es una dirección IP 3. Encontrar una o mas direcciones del servidor por consulta al DNS 4. Los resultados pueden ser almacenados (cached) 5. Debe existir capacidad de interpretar mensajes ICMP
  • 18. Ariel Roel – arielroel@gmail.com - @arielroel Mensajes SIP • Basadas en los mensajes HTTP ▫ Modelo cliente – servidor • Primitivas: ▫ register: para registrarse ante el proxy ▫ invite, re-invite: negociación de la sesión ▫ options: testea si un terminal soporta los parametros de sesión ▫ Otros: bye, ack, cancel…
  • 19. Ariel Roel – arielroel@gmail.com - @arielroel • INVITE: Inicia la sesión ▫ Descripción de la sesión incluída en el cuerpo del mensaje • El Re-INVITEs usado para cambiar el estado de la sesión • ACK confirma el establecimiento de la sesión y sólo puede ser usado con el INVITE • BYE termina la sesión (colgar) • CANCEL cancela el invite pendiente • REGISTER: ata una dirección permanente a la ubicación actual, y puede binds a permanent address to current location, y puede transmitir datos del usuario • OPTIONS: consulta de capacidades • INFO: Usado para llevar información “out of band” tal como DTMF Métodos
  • 20. Ariel Roel – arielroel@gmail.com - @arielroel Mensajes SIP • Códigos de respuesta : ▫ 1xx: en curso ▫ 2xx: finalizada con éxito ▫ 3xx: redirección ▫ 4xx: errores en cliente ▫ 5xx: errores en servidor ▫ 6xx: errores globales
  • 21. Ariel Roel – arielroel@gmail.com - @arielroel Envío de un SIP Request • Una vez que la parte host ha sido resuelta para el SIP server ▫ El cliente envía 1 o más SIP request a ese servidor y ▫ Recibe 1 o más respuestas del servidor • Ejemplo: INVITE sip:ariel@wamay.com.ar SIP/2.0
  • 22. Ariel Roel – arielroel@gmail.com - @arielroel • Paso 1: El llamante envía un INVITE inicial • Paso 2: El llamado envía una respuesta • Paso 3: El llamante recibe una respuesta al pedido inicial • Paso 4: El llamante o el llamado generan pedidos subsecuentes • Paso 5: Se reciben los pedidos subsecuentes • Paso 6: Se envía un BYE para cerrar la sesión • Paso x: Puede enviarse un CANCEL Orden de las operaciones
  • 23. Ariel Roel – arielroel@gmail.com - @arielroel • 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 Control de llamadas
  • 24. Ariel Roel – arielroel@gmail.com - @arielroel Mensajes SIP ariel@wamay.com.ar luis@up.edu.ar luis@up.edu.ar Proxy wamay.com.ar Proxy up.edu.ar
  • 25. Ariel Roel – arielroel@gmail.com - @arielroel Cabeceras de los mensajes • Estructura: cabecera + cuerpo ▫ Cuerpo: información de niveles superiores  SDP: negociación de parámetros de conexión • Campos: ▫ Status Line: tipo de mensaje ▫ VIA: identificador de equipo ▫ Max-Forwards: nº máximo de saltos
  • 26. Ariel Roel – arielroel@gmail.com - @arielroel Cabeceras de los mensajes ▫ To y From: direcciones de origen y destino  Sip:usuario@maquina.dominio ▫ Call-ID: identificador de la conexión ▫ Cseg: número de secuencia del mensaje ▫ Contact: dirección de acceso directo al terminal ▫ Content type y length: descripción y tamaño del cuerpo del mensaje
  • 27. Ariel Roel – arielroel@gmail.com - @arielroel Cabeceras de los mensajes INVITE sip:luis@up.edu.ar SIP/2.0 Via: SIP/2.0/UDP pc33.esi.us.es;branch=z9hG4bK776asdhds Max-Forwards: 70 To: Javi <sip:luis@up.edu.ar> From: Ariel <sip:ariel.roel@wamay.com.ar>;tag=1928301774 Call-ID: a84b4c76e66710@pc33.wamay.com.ar CSeq: 314159 INVITE Contact: <sip:gonzalo@pc33.wamay.com.ar> Content-Type: application/sdp Content-Length: 142
  • 28. Ariel Roel – arielroel@gmail.com - @arielroel Proxy Server ▫ Un programa intermedio que actua tanto como servidor y cliente que hace pedidos en nobre de otros clientes. ▫ Los pedidos son atendidos internamente o re enviados a otros, posiblemente luego de traducción ▫ Interpreta, re-escribe o traduce un mensaje de pedido antes de reenviarlo.
  • 29. Ariel Roel – arielroel@gmail.com - @arielroel Location Server ▫ El location server es usado por un SIP redirect o servidor proxy para obtener información de la posible ubicación del llamado.
  • 30. Ariel Roel – arielroel@gmail.com - @arielroel Redirect Server ▫ Un servidor que acepta una solicitud SIP, mapea la dirección en cero o más direcciones nuevas y devuelve estas direcciones al cliente. ▫ A diferencia de un servidor proxy, el servidor de redirección no inicia su propia petición SIP. ▫ A diferencia de un servidor de agente de usuario, el servidor de redirección no acepta o termina las llamadas.
  • 31. Ariel Roel – arielroel@gmail.com - @arielroel Registrar Server ▫ Un servidor que acepta solicitudes de registro (REGISTER). ▫ El servidor de registro puede admitir la autenticación. ▫ Un servidor de registro suele ser co-ubicada con un proxy o servidor de redirección y pueden ofrecer servicios de localización.
  • 32. Ariel Roel – arielroel@gmail.com - @arielroel Registración ▫ Cada vez que un usuario enciende el SIP User Client (SIP Phone IP, PC o dispositivo SIP de otro tipo), el cliente se registra en el servidor proxy / registro. ▫ El registro también puede ocurrir cuando el usuario del cliente SIP tiene que informar al servidor proxy / registro de su ubicación. ▫ La información de registro se actualiza periódicamente y cada cliente usuario debe volver a registrar con el servidor proxy / registro. ▫ Normalmente, el servidor proxy / registro enviará esta información para guardarla en el servidor de ubicación / redirect. SIP Messages: REGISTER – Registra la dirección nombrada en el campo To de la cabecera. 200 – OK. Proxy/ Registration Server SIP Phone User Location/ Redirect Server REGISTER REGISTER 200 200
  • 33. Ariel Roel – arielroel@gmail.com - @arielroel 302 (Moved Temporarily) INVITE 200 (OK) 200 (OK) ACK INVITE 302 (Moved Temporarily) ACK INVITE 180 (Ringing) 180 (Ringing) 180 (Ringing) 200 (OK) ACK ACK ACK RTP MEDIA PATH BYE BYE BYE 200 (OK) 200 (OK) 200 (OK) Descon exión Medios Estable cimient o INVITE Location/Redirect Server Proxy Server Proxy Server User Agent User Agent INVITE Flujo de llamada simplificado
  • 34. Ariel Roel – arielroel@gmail.com - @arielroel Marco de diseño SIP fue diseñado para: ▫ Ser integrado con los protocolos IETF existentes ▫ Escalabilidad y simplicidad. ▫ Movilidad ▫ Creacion simple de funcionalidades y servicios.
  • 35. Ariel Roel – arielroel@gmail.com - @arielroel Integración con protocolos IETF Otros protocolos de la IETF pueden ser usados para construir una aplicación basada en SIP. SIP puede trabajar con los protocolos existentes de la siguiente manera: ▫ RSVP - para reservar recursos de red. ▫ RTP Real Time Protocol – para transportar datos en tiempo real y proveer feedback del QoS. ▫ RTSP Real Time Streaming Protocol – para controlar la entrega de streaming. ▫ SAP Session Advertisement Protocol – para publicar sesiones multimedia via multicast.
  • 36. Ariel Roel – arielroel@gmail.com - @arielroel Integración con protocolos IETF ▫ MIME – Multipurpose Internet Mail Extension – standard defacto para describir el contenido en Internet. ▫ HTTP – Hypertext Transfer Protocol – HTTP es el protocolo estandar usado para dar servicio de web pages sobre Internet. ▫ COPS – Common Open Policy Service.
  • 37. Ariel Roel – arielroel@gmail.com - @arielroel Escalabilidad ▫ La arquitectura SIP es escalable, flexible y distribuida.  Funcionalidades tales como proxying, redirection, location, o registration pueden estar en servidores físicos diferentes.  La funcionalidad distribuida permite el agregado de nuevos procesos sin afectar otros componentes.
  • 38. Ariel Roel – arielroel@gmail.com - @arielroel Simplicidad SIP está diseñado para ser: ▫ “Rápido y simple en el corazón” ▫ “Más inteligente con menos volumen al borde.” ▫ Basado en texto para implementación y debugging simple.
  • 39. Ariel Roel – arielroel@gmail.com - @arielroel Movilidad ▫ SIP soporta la movilidad de usuarios por medio del “proxying” y la redirección de los requests a la ubicación actual del cliente. ▫ El usuario puede estar usando una PC en el trabajo, una PC en el hogar, un teléfono celular, un teléfono IP o un teléfono POTS.. ▫ El usuario debe registrar su ubicación actual. ▫ El servidor proxy reenviará las llamadas a la ubicación actual del usuario. ▫ Ejemplos de aplicaciones de movilidad incluyen presencia y “call forking”.
  • 40. Ariel Roel – arielroel@gmail.com - @arielroel Creación de funcionalidades Un sistema basado en SIP puede soportar la creación de servicios y funcionalidades de manera rápida y simple. Por ejemplo, funcionalidades y servicios pueden ser creados usando lenguajes de programación estandar.
  • 41. Ariel Roel – arielroel@gmail.com - @arielroel Creación de funcionalidades SIP puede soportar esas funcionalidades y aplicaciones: ▫ Funcionalidades básicas (llamada en espera, forwarding de llamadas, bloqueo de llamadas, etc.) ▫ Mensajería unificada. ▫ Call forking. ▫ Click to talk. ▫ Presencia. ▫ Instant messaging. ▫ Find me / Follow me.