Documentos de Académico
Documentos de Profesional
Documentos de Cultura
rgardella@speedy.com.ar
SIP (Session Initiation Protocol)
RFC 3261 (anteriormente RFC 2543)
Es un protocolo de sealizacin basado en texto
usado para crear y controlar sesiones
multimedia con dos o ms participantes
Es un protocolo cliente-servidor transportado
sobre TCP o UDP, pero las implementaciones
ms comunes usan SIP sobre UDP por
simplicidad y velocidad
SIP es un protocolo mucho ms simple que
H.323 pero tan funcional como l. SIP tiene
mayor performance, flexibilidad y escalabilidad
SIP (Session Initiation Protocol)
Tiene sus races en protocolos de texto
anteriores tales como HTTP
Diagramas de topologa de redes usando
sealizacin SIP son muy similares a los de
H.323
La red de la siguiente figura muestra dos
dominios conectados va una nube de ruteo,
cada uno implementando sealizacin SIP
Dos dominios usando
sealizacin de llamadas SIP
Elementos de un sistema SIP
Un sistema SIP consiste de agentes de usuario (UA) y
uno o ms servidores
Agente de usuario (UA)
Es una aplicacin que inicia, recibe y termina llamadas.
User Agent Client (UAC): entidad que inicia una llamada
User Agent Server (UAS): entidad que recibe una llamada
Tanto UAC como UAS puede terminar una llamada
Sistemas SIP pueden estar en:
Segmentos de red dedicados
Segmentos de red conectados a travs de la Internet pblica
Redes de empresas que tambin soportan otros protocolos de
sealizacin IP
Servidores SIP pueden operar como servicios de proxy
o redirect
Elementos de un sistema SIP
Servidores proxy ejecutan sealizacin de llamadas en
nombre de las partes a quienes sirven
Actan tanto como un servidor y como un cliente para hacer
requerimientos en nombre de otros clientes
Interpretan, reescriben o traducen un mensaje de requerimiento
antes de reenviarlo
Servidores redirect determinan la ubicacin actual de
la parte llamada e instruyen a la parte llamante a iniciar
sealizacin con la parte llamada directamente
Acepta un requerimiento SIP y mapea la direccin en otras que
retorna al cliente
A diferencia de un proxy server no inicia su propio
requerimiento SIP
A diferencia de un UAS no acepta o termina llamadas
Elementos de un sistema SIP
Ambos conceptos de sealizacin de llamadas son
similares a los modelos de ruteo a travs de gatekeeper
y de ruteo directo de H.323, respectivamente
DNS Location
Server Service
RED A
PROXY
SERVER
Proxy Proxy
Server Server REDIRECT
SERVER
RED B RED C
UAC UAS
Aspectos claves de SIP
1) Establecimiento de llamada: SIP es
autocontenido para establecer conferencias
punto a punto y multipunto
To
Contiene un nombre y un SIP URI hacia quien el requerimiento
est originalmente dirigido
From
Contiene un nombre y un SIP URI que indica el originador del
requerimiento
Contiene un tag parameter con un string aleatorio que fue
agregado al URI por el softphone. Se usa para propsitos de
identificacin
Campos de Header (2)
Call-ID
Contiene un identificador globalmente nico para esta llamada,
generado por la combinacin de un string aleatorio y el nombre
del host del softphone o la direccin IP
Combinacin de To tag, From tag, Call-ID, define
completamente una relacin SIP entre Alice y Bob
llamada dilogo
Contact
Contiene un SIP URI que representa una ruta directa para
contactar a Alice
Campos de Header (3)
Mientras Via indica donde enviar la respuesta, Contact indica
donde enviar requerimientos futuros.
Max-Forwards
Sirve para limitar el nmero de hops que un requerimiento
puede hacer sobre el camino a su destino.
Content-Type
Contiene una descripcin del cuerpo del mensaje.
Content-Length
Contiene la cantidad de bytes del cuerpo del mensaje.
Los detalles de la sesin (tipo de media, codec, tasa,
etc) no son descriptos por SIP sino por un mensaje de
SDP.
Session Description Protocol (1)
El protocolo SDP est definido en la RFC 2327, RFC 3266 y posteriormente en
la RFC 4566 (declara obsoletas a las dos anteriores). La utilizacin conjunta
entre SIP y SDP se define en la RFC 3264. SDP describe la sesin multimedia
que va a ser necesario establecer entre los end points.
Como resultado de la negociacin entre los extremos se acuerdan los
parmetros de la comunicacin relacionados con las siguientes caractersticas:
Direcciones y puertos
Los tipos de Media (video, audio, etc)
El transporte del protocolo (RTP/UDP/IP, H.320, etc)
El formato de la Media (H.261 video, MPEG video, etc)
El mensaje SDP est basado en lneas de texto donde cada lnea representa un
campo. Las lneas comienzan con una letra que identifican al campo seguido
del signo igual (=) y de su valor correspondiente.
campo=valor (algunos campos incluyen subcampos que llevan un orden prefijado)
Los campos son de sesin o de medios, pueden ser obligatorios u
opcionales. Los de sesin van primero.
Session Description Protocol (2)
Campos de sesin: v, o, s, i, u, e, p, c, b, t, r, z, k y a
Campos de medio: m, i, c, b, k, a
Existen campos de SDP que no tienen sentido dentro de SIP.
Estos no se incluyen o si son obligatorios no aportan valor a la
informacin. (s, i, u, t, r, z)
Atributos SDP
Procedimiento (1)
Dado que el softphone no conoce la ubicacin
de Bob ni del servidor SIP en el dominio
biloxi.com, el softphone enva el INVITE al
servidor SIP que sirve el dominio de Alice:
atlanta.com. La direccin de este servidor se
podra haber configurado en el softphone de
Alice, podra haber sido descubierta por DHCP,
por ejemplo
La respuesta 100 (Trying) indica que se ha
recibido el INVITE y que el proxy est
trabajando en nombre de Alice para rutear el
INVITE
Procedimiento (2)
Respuestas en SIP usan un cdigo de 3 dgitos
seguido por una frase descriptiva
Esta respuesta contiene el mismo To, From, Call-ID,
CSeq y branch parameter en Via como el INVITE,
esto permite al softphone de Alice correlacionar esta
respuesta con el INVITE enviado
El proxy server atlanta.com localiza el proxy
server biloxi.com, posiblemente haciendo una
bsqueda particular de DNS para encontrar el
servidor SIP que sirve al dominio biloxi.com
Antes de pasar el requerimiento INVITE el
servidor atlanta.com agrega un campo de
header VIA adicional que contiene su propia
direccin
Procedimiento (3)
El proxy server biloxi.com recibe el INVITE,
enva una respuesta 100 (Trying) al proxy
server atlanta.com, consulta una base de datos
genericamente llamada un location service
que contiene la direccin IP actual de Bob
El proxy server biloxi.com proxy agrega otro
campo de header VIA con su propia direccin al
INVITE y lo enva a Bob
La respuesta 180 (Ringing) se puede rutear a
travs de los 2 proxys usando los campos de
header VIA para determinar donde enviar la
respuesta y remover una direccin del top
Mensaje OK (F9 en Fig. 1)
SIP/2.0 200 OK
Via: SIP/2.0/UDP server10.biloxi.com
;branch=z9hG4bKnashds8;received=192.0.2.3
Via: SIP/2.0/UDP bigbox3.site3.atlanta.com
;branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com
;branch=z9hG4bK776asdhds ;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:bob@192.0.2.4>
Content-Type: application/sdp
Content-Length: 131
SIP/2.0 200 OK
Via: SIP/2.0/TLS
client.biloxi.example.com:5061;branch=z9hG4bKnashds7
;received=192.0.2.201
From: Bob <sips:bob@biloxi.example.com>;tag=ja743ks76zlflH
To: Bob <sips:bob@biloxi.example.com>;tag=37GkEhwl6
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 2 REGISTER
Contact: <sips:bob@client.biloxi.example.com>;expires=3600
Content-Length: 0
Actualizacin de lista de
contactos
Bob desea actualizar la lista de direcciones
donde el SIP server redirigir o enviar
requerimientos INVITE
SIP/2.0 200 OK
Via: SIP/2.0/TLS
client.biloxi.example.com:5061;branch=z9hG4bKnashds7;received=
192.0.2.201
From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
To: Bob <sips:bob@biloxi.example.com>;tag=34095828jh
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 1 REGISTER
Contact: <sips:bob@client.biloxi.example.com>;expires=3600
Contact: <mailto:bob@biloxi.example.com>;expires=4294967295
Content-Length: 0
Requerimiento de la lista de
contactos actual
El requerimiento REGISTER no contiene headers
de contacto, indicando que se desea consultar la
lista actual de contactos del usuario
SIP/2.0 200 OK
Via: SIP/2.0/TLS
client.biloxi.example.com:5061;branch=z9hG4bKnashds7
;received=192.0.2.201
From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
To: Bob <sips:bob@biloxi.example.com>;tag=jqoiweu75
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 1 REGISTER
Contact: <sips:bob@client.biloxi.example.com>;expires=3600
Contact: <mailto:bob@biloxi.example.com>;expires=4294967295
Content-Length: 0
Removiendo registraciones
Registraciones son soft-state y expiran a menos que
sean refrescadas, pero pueden tambin ser
explicitamente removidas
Un UA requiere la inmediata remocin de una asociacin
especificando un intervalo de expiracin de "0" para esa
direccin de contacto en un requerimiento REGISTER
El REGISTER-specific Contact header field value of "*"
se aplica a todas las registraciones pero no debe ser
usado a menos que el campo de header Expires est
presente con un valor de "0"
Uso del valor de campo de header Contact "*" permite a
un UA remover todas las asociaciones con una address-
of-record sin conocer sus valores precisos
Cancelacin de registracin
SIP/2.0 200 OK
Via: SIP/2.0/TLS
client.biloxi.example.com:5061;branch=z9hG4bKnashds7
;received=192.0.2.201
From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
To: Bob <sips:bob@biloxi.example.com>;tag=1418nmdsrf
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 1 REGISTER
Content-Length: 0
H.323
Conceptos
H.323 - Componentes - Gateway
Anlisis conceptual del escenario
H323 - Componentes
La primera versin de H.323 se public en 1996 con el objeto de permitir
las comunicaciones de voz y multimedia. Es completamente compatible con
la telefona tradicional. Su funcionamiento se basa en cuatro elementos:
Terminal, Gateway, Gatekeeper y Unidad de control multipunto
Gatekeeper
Red IP
Terminal H.323
PSTN
Gateway
Funciones Gateway
Provee la ruta de conexin entre el punto terminal de la red de
rea local y la red de circuitos conmutados.
Sealizacin de Paquetes
Sealizacin de Circuitos
Terminacin de Medios de Paquetes
Terminacin de Medios de Circuitos
Control de Conexin y Traduccin de Protocolo
Anlisis conceptual del escenario
H323 Componentes (2)
H.323 - Componentes - Gatekeeper
Gatekeeper
Terminal H.323
PSTN
Gateway
Red IP
MCUs
Endpoint que soporta conferencia entre 3 o mas endpoints, puede
ser un equipo stand-alone o encontrarse integrado dentro de un
gateway, gatekeeper o terminal.
H.323 - SUITE
Anlisis conceptual del escenario
H323 Suite de Protocolos para aplicaciones de multimedia (1)
Conjunto de protocolos H.323 desde el punto de vista del terminal
H.323 - Funciones de cada protocolo
Anlisis conceptual del escenario
H323 Suite de Protocolos para aplicaciones de multimedia (2)
H.225.0 /Q.931 Se utiliza para configuracin y sealizacin de la
llamada.
Setup
H.225 Call Proceeding
ARQ
ACF RAS
ALERTING
Alerting
H.225 Connect Este mensaje se enva al
llamante para indicarle que el
Terminal Capability Set telfono B esta sonando.
Terminal Capability Ack
H.245 CONNECT
Open Logical Channel
Open Logical Channel El abonado B contesto la
llamada.
RTP voice packet
RTP RTP voice packet
Anlisis conceptual del escenario
H323 Establecimieno de una llamada (5)
A B
GK
RRQ RRQ
RAS RCF RCF
ARQ
RAS ACF
Setup
H.225 Call Proceeding
ARQ
ACF RAS
Alerting
H.225 Connect
Setup
H.225 Call Proceeding
ARQ
ACF RAS
Alerting
H.225 Connect
Release Complete
H.225
DRQ DRQ
RAS DCF DCF RAS
H.323 - Terminacin de una llamada
Anlisis conceptual del escenario
H323 Establecimieno de una llamada (8)
A B
GK
RRQ RRQ
End Session
H.245 End Session
Release Complete
H.225