You are on page 1of 9

El protocolo SIP para VoIP

Enviado por TS el Sb, 07/04/2012 - 11:50.


El protocolo SIP (Session Initiation Protocol o Protocolo de inicio de sesin) es
un protocolo de sealizacin utilizado para el control de las sesiones de
comunicacin, tales como llamadas de voz y video sobre protocolo de Internet
(IP).
El protocolo se puede utilizar para gestionar el control de llamadas entre emisor
y receptor o conferencias multi usuario. El protocolo SIP tambin sirve para
gestionar videoconferencias, distribucin de streaming multimedia, mensajera
instantnea, informacin de presencia y transferencia de archivos.
El protocolo SIP es un protocolo independiente de la capa de transporte, as se
puede ejecutar sobre TCP, UDP, o SCTP.
En el protocolo SIP cada transaccin consiste en una peticin de cliente que
origina una respuesta del servidor SIP. SIP utiliza los campos de la cabecera,
la codificacin de las normas y cdigos de estado de HTTP, proporcionando
una lectura basada en formato texto.
Uno de los objetivos de SIP es proporcionar un protocolo de establecimiento de
llamada para comunicaciones basadas en IP. Aunque existen otros protocolos
de VoIP (Voz sobre IP) como H.323, el protocolo SIP se distingue por no
proceder de la industria de las telecomunicaciones. SIP ha sido estandarizado
y se rige principalmente por el IETF, mientras que otros protocolos, tales como
H.323, han sido tradicionalmente asociada con la Unin Internacional de
Telecomunicaciones (UIT).
Aplicaciones que ofrecen las comunicaciones sobre el protocolo SIP:
El nmero de dispositivos que emplean el protocolo SIP sigue creciendo,
existen Adaptadores Terminales SIP, SIP Gateways y servicios de "Trunk SIP",
todos ellos proporcionan funcionalidades para reemplazar las lneas telefnicas
actuales.
Tambin elementos como el router wifi y la centralita telefnica tambin tienen
versiones que funcionan sobre SIP y permiten acceder a soluciones VoIP.
Adicionalmente existen servidores SIP y muchas compaas de telfono de
VoIP permiten a los clientes utilizar sus propios dispositivos SIP, como
telfonos IP (SIP) o Softphones.
Tambin existen cmaras de video vigilancia SIP que permiten realizar
llamadas para alertar que un evento ha ocurrido, por ejemplo, para notificarle
que se ha detectado movimiento fuera de horas en un rea protegida.
El protocolo SIP es juntamente con el H.323 uno de los protocolos de VoIP ms
estandarizados.


Historia del protocolo SIP
En febrero de 1996, Mark Handley y Eve Schooler presentaron al IETF un
borrador del Session Invitation Protocol conocido ahora como SIPv1. Pensado
principalmente para sistemas de videoconferencia. Su principal fortaleza,
heredada por la versin actual de SIP, era el concepto de registro, por el cual
un usuario informaba a la red dnde (en qu host de Internet) poda recibir
invitaciones a conferencias. Esta caracterstica permita la movilidad del
usuario.
1

Ese mismo da el Dr. Henning Schulzrinne present un borrador del Simple
Conference Invitation Protocol (SCIP), que estaba basado en
el HTTP (Hypertext Transport Protocol). Usaba TCP (Transmission Control
Protocol) como protocolo de transporte.

El IETF decidi combinar ambos en un nico protocolo denominado Session
Initiation Protocol, (es decir cambiando el significado de la inicial I en el
acrnimo "SIP") y su nmero de versin fue el dos, dando origen al SIPv2. En
diciembre de 1996 los tres autores (Schulzrinne, Handley y Schooler),
presentaron el borrador del SIPv2. Publicado en febrero de1999.
1

En septiembre de 1999 se cre el grupo de trabajo SIP en el IETF que continu
con el desarrollo del protocolo y en junio de 2002 se public la RFC 3261 que
reemplaz a la anterior introduciendo modificaciones propuestas durante el
trabajo del grupo SIP. Los autores de esta ltima RFC, hoy vigente
son: Jonnathan Rosenberg, Henning Schulzrinne,Gonzalo Camarillo, Allan
Johnston, Jon Peterson, Robert Sparks, Mark Handley y Eve Schooler.


El protocolo SIP adopta el modelo cliente-servidor y es transaccional. El cliente
realiza peticiones (requests) que el servidor atiende y genera una o ms
respuestas (dependiendo de la naturaleza, mtodo de la peticin). Por ejemplo
para iniciar una sesin el cliente realiza una peticin con el mtodo INVITE en
donde indica con qu usuario (o recurso) quiere establecer la sesin. El
servidor responde ya sea rechazando o aceptado esa peticin en una serie de
respuestas. Las respuestas llevan un cdigo de estado que brindan informacin
acerca de si las peticiones fueron resueltas con xito o si se produjo un error.
La peticin inicial y todas sus respuestas constituyen una transaccin.
Los servidores, por defecto, utilizan el puerto 5060 en TCP (Transmission
Control Protocol) y UDP (User Datagram Protocol) para recibir las peticiones de
los clientes SIP. En caso de mandar la sealizacin encriptada, SIP usa el
puerto 5061.



Funcionamiento del protocolo
El protocolo SIP permite el establecimiento de sesiones multimedia entre dos o
ms usuarios. Para hacerlo se vale del intercambio de mensajes entre las
partes que quieren comunicarse.
Agentes de Usuario
Estos no son ms que los puntos extremos del protocolo, es decir son los que
emiten y consumen los mensajes del protocolo SIP. Un videotelfono, un
telfono, un cliente de software (softphone) y cualquier otro dispositivo similar
es para el protocolo SIP un agente de usuario.
Los agentes de usuario se comportan como clientes (UAC: User Agent Clients)
y como servidores (UAS: User Agent Servers). Son UAC cuando realizan una
peticin y son UAS cuando la reciben. Por esto los agentes de usuario deben
implementar un UAC y un UAS.

Servidores de Registro o Registrar
El protocolo SIP permite establecer la ubicacin fsica de un usuario
determinado, esto es, en qu punto de la red est conectado. Para ello se vale
del mecanismo de registro.
Cada usuario tiene una direccin lgica que es invariable respecto de la
ubicacin fsica del usuario. Una direccin lgica del protocolo SIP es de la
forma usuario@dominio es decir tiene la misma forma que una direccin de
correo electrnico. La direccin fsica (denominada "direccin de contacto") es
dependiente del lugar en donde el usuario est conectado (de su direccin IP).
Cuando un usuario inicializa su terminal (por ejemplo conectando su telfono o
abriendo su software de telefona SIP) el agente de usuario SIP que reside en
dicho terminal enva una peticin con el mtodo REGISTER a un Servidor de
Registro, informando a qu direccin fsica debe asociarse la direccin lgica
del usuario. El servidor de registro realiza entonces dicha asociacin
(denominada binding).
Servidores Proxy y de Redireccin
Para encaminar un mensaje entre un agente de usuario cliente y un agente de
usuario servidor normalmente se recurre a los servidores. Estos servidores
pueden actuar de dos maneras:

1. Como Proxy, encaminando el mensaje hacia destino,
2. Como Redirector (Redirect) generando una respuesta que indica al
originante la direccin del destino o de otro servidor que lo acerque al
destino.
La principal diferencia es que el servidor proxy queda formando parte del
camino entre el UAC y el (o los) UAS, mientras que el servidor de redireccin
una vez que indica al UAC cmo encaminar el mensaje ya no interviene ms.
Un mismo servidor puede actuar como Redirector o como Proxy dependiendo
de la situacin.

Servidor de Localizacin
Un servidor de localizacin, simplemente da informacin acerca de donde
puede estar el cliente al que se quiere llamar para as poder localizarlo.

Casos tpicos de servidores
Un conjunto de usuarios que pertenecen a una compaa o proveedor de
servicios de comunicaciones, conforman un dominio. Este dominio, que se
indica en una direccin SIP despus del carcter "@" es normalmente atendido
por un servidor (o ms de uno). Este servidor recibe las peticiones hacia sus
usuarios. Este servidor ser el encargado de determinar la direccin fsica del
usuario llamado.
Es habitual tambin, que exista un servidor que reciba las peticiones originadas
por los usuarios de un dominio hacia otros dominios.

Formato de los mensajes
Los mensajes que se intercambian en el protocolo SIP pueden ser peticiones o
respuestas.
Las peticiones tienen una lnea de peticin, una serie de encabezados y un
cuerpo.
Las respuestas tienen una lnea de respuesta, una serie de encabezados y un
cuerpo.
En la lnea de peticin se indica el propsito de la peticin y el destinatario de la
peticin.
En la lnea de respuesta se indica el cdigo de estado de la respuesta, que es
un nmero que indica el resultado del procesamiento de la peticin.
Los encabezados de peticiones y respuestas se utilizan para diversas
funciones del protocolo relacionadas con el encaminamiento de los mensajes,
autenticacin de los usuarios, entre otras.
El cuerpo de los mensajes es opcional y se utiliza entre otras cosas para
transportar las descripciones de las sesiones que se quieren establecer.

Flujo de establecimiento de una sesin
Un usuario ingresa la direccin lgica de la persona con la que quiere
comunicarse, puede indicar al terminal tambin la caracterstica de la sesin
que quiere establecer (voz, voz y video, etc.), o estas pueden estar implcitas
por el tipo de terminal del que se trate. El agente de usuario SIP que reside en
el terminal, actuando como UAC enva la peticin (en este caso con el mtodo
INVITE) al servidor que tiene configurado. Este servidor se vale del
sistema DNS para determinar la direccin del servidor SIP del dominio del
destinatario. El dominio lo conoce pues es parte de la direccin lgica del
destinatario. Una vez obtenida la direccin del servidor del dominio destino,
encamina hacia all la peticin. El servidor del dominio destino establece que la
peticin es para un usuario de su dominio y entonces se vale de la informacin
de registro de dicho usuario para establecer su ubicacin fsica. Si la
encuentra, entonces encamina la peticin hacia dicha direccin. El agente de
usuario destino si se encuentra desocupado comenzar a alertar al usuario
destino y enva una respuesta hacia el usuario origen con un cdigo de estado
que indica esta situacin (180 en este caso). La respuesta sigue el camino
inverso hacia el usuario origen. Cuando el usuario destino finalmente acepta la
invitacin, se genera una respuesta con un cdigo de estado (el 200) que
indica que la peticin fue aceptada. La recepcin de la respuesta final es
confirmada por el UAC origen mediante una peticin con el mtodo ACK (de
Acknowledgement), esta peticin no genera respuestas y completa la
transaccin de establecimiento de la sesin.
Si las descripciones fueran incompatibles,
nota 3
la sesin debe terminarse
(mediante una peticin con el mtodo BYE).
Al terminar la sesin, que lo puede hacer cualquiera de las partes, el agente de
usuario de la parte que termin la sesin, actuando como UAC, enva hacia la
otra una peticin con el mtodo BYE.

Todas las entidades SIP son identificadas por medio de URI (Uniform Resource
Identifier), los URI contienen la suficiente informacin para iniciar y para
mantener una sesin de comunicacin con el recurso, utilizan una forma similar
a la direccin de correo, permitiendo as ver las especificaciones del
encabezado, haciendo posible especificar el destinario, el tipo de medio o la
urgencia de la sesin usando URI.


Aspectos importantes referentes al protocolo sip se enumeran como sigue:
El control de llamadas es stateless o sin estado, y proporciona escalabilidad
entre los dispositivos telefnicos y los servidores.
SIP necesita menos ciclos de CPU para generar mensajes de sealizacin de
forma que un servidor podr manejar ms transacciones.
Una llamada SIP es independiente de la existencia de una conexin en la capa
de transporte.
SIP soporta autentificacin de llamante y llamado mediante mecanismos HTTP.
Autenticacin, criptogrfica y encriptacin son soportados salto a salto por
SSL/TSL pero SIP puede usar cualquier capa de transporte o cualquier
mecanismo de seguridad de HTTP, como SSH o S-HTTP.
Un proxy SIP puede controlar la sealizacin de la llamada y puede bifurcar a
cualquier nmero de dispositivos simultneamente.


Metodos de SIP
Esta especificacin define seis mtodos bsicos:

REGISTER: el propsito es dejar un registro de acerca de la ubicacin
del usuario actual, informacin tal como lo es direccin IP y el puerto por
el cual ha realizado el registro de mensajes.

INVITE: Indica que un cliente est siendo invitado a participar en una
llamada.

ACK: confirma la recepcin del mtodo INVITE el cual es el que indica
que se encuentra listo para establecer una comunicacin.

BYE: este tipo de mensajes son utilizados para finalizar las sesiones
multimedia, el UA que desee finalizar la conversacin enva un BYE.

CANCEL: se utiliza para cancelar una sesin que no se ha establecido
en su totalidad, es decir cuando el destinatario no ha confirmado una
respuesta definitiva.

OPTIONS: Consulta la informacin acerca de las capacidades de envo
y recepcin de telfonos SIP.

Respuestas SIP
Despus de haber recibido e interpretado un requerimiento SIP, el destinatario
de este requerimiento devuelve una respuesta SIP. Existen seis clases de
respuestas:
1. Clase 1xx : Informacin, el requerimiento ha sido recibido y est en curso
de tratamiento
2. Clase 2xx: xito, el requerimiento ha sido recibido, entendido y aceptado.
3. Clase 3xx: Reenrutamiento, la llamada requiere otros procesamientos antes
de poder determinar si puede ser realizada.
4. Clase 4xx: Error requerimiento cliente, el requerimiento no puede ser
interpretado por el servidor. El requerimiento tiene que ser modificado antes
de ser reenviado.
5. Clase 5xx: Error servidor, el servidor fracasa en el procesamiento de un
requerimiento aparentemente valido.
6. Clase 6xx: Fracaso global, el requerimiento no puede ser procesado por
ningn servidor.



Tomado de :

http://tools.ietf.org/html/rfc6157

http://www.konradlorenz.edu.co/images/stories/articulos/explorando_bases_tele
comunicaciones.pdf

http://www.ts-telecon.es/blog/protocolo-sip-para-voip

http://www.electron.frba.utn.edu.ar/upload/Materias/95-0476/prog_analitico.pdf

http://www.tlm.unavarra.es/research/seminars/slides/20080516_Juanra_Apunte
s_de_Seguridad_en_SIP.pdf

http://www.uv.es/~montanan/ampliacion/trabajos/Seguridad%20VoIP.pdf

http://www.ietf.org/rfc/rfc3261.txt

http://www.quarea.com/es/sip_session_initiation_protocol

http://www.frlp.utn.edu.ar/materias/internetworking/apuntes/SIP/SIP.pdf

http://edvina.net/sipv6/protocol/
http://www.networkcomputing.com/networking/can-sip-and-ipv6-co-exist/d/d-
id/1233831?
http://ipv6.com/articles/voip/Session-Initiation-Protocol.htm
http://www.unsij.edu.mx/tesis/digitales/3.%20DAVID%20LOPEZ%20BAUTISTA
.pdf

You might also like