Diferencia entre revisiones de «SIP»

De Asterisk Wiki
Ir a la navegación Ir a la búsqueda
(Página creada con «Para definir y concretar acerca del protocolo SIP (Session Initiation Protocol, o Protocolo de Inicio de Sesiónes), sería viable diseñar una Wiki específica en la que p...»)
 
Línea 1: Línea 1:
Para definir y concretar acerca del protocolo SIP (Session Initiation Protocol, o Protocolo de Inicio de Sesiónes), sería viable diseñar una Wiki específica en la que poder detallar todo lo referente al mismo, desde su historia, su RFC, sus usos, proxies y software especifico como [http://www.kamailio.org Kamailio] y [http://www.opensips.org OpenSIPS], de hecho Digium difunde cursos específicos sobre este protocolo para su máximo entendimiento y aprovechamiento.
+
Para definir y concretar acerca del protocolo SIP (Session Initiation Protocol, o Protocolo de Inicio de Sesiónes), sería viable diseñar una Wiki específica en la que poder detallar todo lo referente al mismo, desde su historia, su(s) RFC(s) (3261, y sucesivos para numerosas extensiones del mismo), sus usos, proxies y software especifico como [http://www.kamailio.org Kamailio] y [http://www.opensips.org OpenSIPS], de hecho Digium difunde cursos específicos sobre este protocolo para su máximo entendimiento y aprovechamiento.
  
En esta primera aproximación, no vamos a tratar este protocolo con tanta profundidad como quizá exige, pero existe numerosa bibliografía al respecto, y concretamente apunto a una por cercanía con respecto a la idea subyacente de este proyecto de AsteriskWIKI <ref>[https://forja.rediris.es/docman/view.php/555/853/Intro-voip-uca.pdf Introducción a la telefonía IP utilizando est�ándares.], Fabián Sellés Rosa (2009), Proyecto Fin de Carrera Universidad de Cádiz</ref>
+
En esta primera aproximación, no vamos a tratar este protocolo con tanta profundidad como quizá exige, pero existe numerosa bibliografía al respecto, y concretamente apunto a una por cercanía con respecto a la idea subyacente de este proyecto de AsteriskWIKI <ref>[https://forja.rediris.es/docman/view.php/555/853/Intro-voip-uca.pdf Introducción a la telefonía IP utilizando estándares.], Fabián Sellés Rosa (2009), Proyecto Fin de Carrera Universidad de Cádiz</ref>
  
 
__TOC__  
 
__TOC__  
  
 
Digamos que la mayor parte de las conexiones que se realizan entre estaciones, pasarelas y dispositivos de telefonía IP en general, que no contienen Asterisk en esencia, con respecto a nuestra máquina, están basadas en el protocolo SIP.
 
Digamos que la mayor parte de las conexiones que se realizan entre estaciones, pasarelas y dispositivos de telefonía IP en general, que no contienen Asterisk en esencia, con respecto a nuestra máquina, están basadas en el protocolo SIP.
 
[[Image:imagen_generica.jpg|thumb|Imagen Generica|right|200px]]
 
  
 
== Conceptos Básicos ==
 
== Conceptos Básicos ==
Línea 13: Línea 11:
 
Es muy importante tener presentes algunos conceptos básicos sobre el protocolo SIP para poder entender como funciona todo, y en esencia incluso, poder tratar futuros problemas que pudieran derivar de un error de configuración, o incluso, de interconexión entre terminales de cualquier índole.
 
Es muy importante tener presentes algunos conceptos básicos sobre el protocolo SIP para poder entender como funciona todo, y en esencia incluso, poder tratar futuros problemas que pudieran derivar de un error de configuración, o incluso, de interconexión entre terminales de cualquier índole.
  
=== Subtitulo 1.===
+
=== Relación entre SIP y Asterisk  ===
 +
 
 +
Existe una mala concepción sobre como funciona realmente el SIP porque es común pensar que es encargado de llevar los datos multimedia, así como los mensajes de sesión conjuntamente. Parte de esta afirmación es cierta, concretamente la segunda parte, dado que este protocolo fue diseñado exclusivamente como sistema de señalización conjuntamente a otro flujo de datos multimedia a través de un protocolo simultáneo (que en Asterisk sería el protocolo RTP, Protocolo de Transporte en Tiempo Real, o Real-Time Tranport Protocol). Además para "complicar" el concepto, durante la trasmisión también interviene un tercer protocolo "familiar" de SIP llamado SDP (Protocolo de Descripción de Sesiones, o Session Description Protocol), redactado en el RFC 4566 y embebido dentro del protocolo SIP por lo que no consumiría más recursos (por ejemplo Puertos a nivel TCP/IP), y se encargaría de enriquecer el mensaje entre sesiones necesario para la trasmisión eficaz entre los dispositivos.
 +
 
 +
Realmente SIP no es capaz de ofrecer un servicio por si mismo, pero contiene los mensajes primitivos para poder implementar los servicios subyacentes sobre el mismo. Por eso, SIP curiosamente, no tiene nada que ver realmente con la telefonía en si, solo podría considerarse un estándar cualquiera de entendimiento entre dispositivos, algo que realmente todavía no se ha asentado, ya que múltiples dispositivos, aun no siguen los estándares "impuestos" dentro de los RFC, ya que aun no ha madurado hasta la categoría de estándar IEEE.
 +
 
 +
SIP se popularizo, debido que en el momento de la implementación de servicios de telefonía IP, no existían realmente grandes competidores en este aspecto. Además la seguridad utilizando SIP no prima especialmente, debido a que la trasmisión se realiza con mensajes de texto, y para encriptar la información es fundamental recurrir a extensiones independientes que transforman los mensajes en ambos nodos.
 +
 
 +
En el año 2010 nació como RFC un verdadero competidor, [[IAX]], pero demasiado tarde, ya que el mercado de las telecomunicaciones IP (y concretamente dispositivos y productores), ya se había asentado sobre el protocolo SIP.
 +
 
 +
=== Funcionamiento Esencial ===
 +
 
 +
SIP en la capa de transporte OSI, puede trabajar tanto con puertos TCP como UDP, y de hecho UDP suele ser elegido regularmente. El puerto de elección más común y estandarizado es el 5060, y como comentábamos con anterioridad, a través del mismo, también se trasmiten los mensajes del protocolo SDP.
 +
 
 +
Por otro lado, para trabajar con Audio en Asterisk tenemos que utilizar forzosamente el protocolo RTP para llevar el tráfico. Para cada canal de audio es necesario trabajar con un puerto independiente, y esto acarreara aún mas problemas en la seguridad, o en la interoperatividad con nuestro sistema. Veremos soluciones más adelante para salir del paso, ninguna bajo mi criterio, especialmente excepcional.
 +
 
 +
[[Image:flujo_sip_asterisk.png|thumb|<ref>[http://www.panoramisk.com/101/asterisk-and-voice-transport/en/ Flujo Mensajes SIP], Alexandre Chauvin-Hameau (2007)</ref>|right|200px]]
 +
 
 +
Los mensajes clásicos de SIP son los siguientes:
 +
 
 +
* INVITE
 +
* REGISTER
 +
* ACK
 +
* BYE
 +
* OPTIONS
 +
 
 +
En la imagen, podemos ver un flujo clásico de mensajes entre un servidor Asterisk y dos teléfonos conectados al mismo.
  
Info del Subtitulo 1.1
 
  
 
=== Subtitulo 1.2  ===
 
=== Subtitulo 1.2  ===
Línea 31: Línea 54:
 
==== Subitutlo 2.1.1 ====
 
==== Subitutlo 2.1.1 ====
  
Info del Subtitulo 2.1.1 <ref>[http://www.10000horas.com 10000 Horas], Manuel Camargo (2010)</ref>
+
Info del Subtitulo 2.1.1  
  
 
=== Subtitulo 2.2  ===
 
=== Subtitulo 2.2  ===

Revisión del 20:59 8 may 2012

Para definir y concretar acerca del protocolo SIP (Session Initiation Protocol, o Protocolo de Inicio de Sesiónes), sería viable diseñar una Wiki específica en la que poder detallar todo lo referente al mismo, desde su historia, su(s) RFC(s) (3261, y sucesivos para numerosas extensiones del mismo), sus usos, proxies y software especifico como Kamailio y OpenSIPS, de hecho Digium difunde cursos específicos sobre este protocolo para su máximo entendimiento y aprovechamiento.

En esta primera aproximación, no vamos a tratar este protocolo con tanta profundidad como quizá exige, pero existe numerosa bibliografía al respecto, y concretamente apunto a una por cercanía con respecto a la idea subyacente de este proyecto de AsteriskWIKI [1]

Digamos que la mayor parte de las conexiones que se realizan entre estaciones, pasarelas y dispositivos de telefonía IP en general, que no contienen Asterisk en esencia, con respecto a nuestra máquina, están basadas en el protocolo SIP.

Conceptos Básicos

Es muy importante tener presentes algunos conceptos básicos sobre el protocolo SIP para poder entender como funciona todo, y en esencia incluso, poder tratar futuros problemas que pudieran derivar de un error de configuración, o incluso, de interconexión entre terminales de cualquier índole.

Relación entre SIP y Asterisk

Existe una mala concepción sobre como funciona realmente el SIP porque es común pensar que es encargado de llevar los datos multimedia, así como los mensajes de sesión conjuntamente. Parte de esta afirmación es cierta, concretamente la segunda parte, dado que este protocolo fue diseñado exclusivamente como sistema de señalización conjuntamente a otro flujo de datos multimedia a través de un protocolo simultáneo (que en Asterisk sería el protocolo RTP, Protocolo de Transporte en Tiempo Real, o Real-Time Tranport Protocol). Además para "complicar" el concepto, durante la trasmisión también interviene un tercer protocolo "familiar" de SIP llamado SDP (Protocolo de Descripción de Sesiones, o Session Description Protocol), redactado en el RFC 4566 y embebido dentro del protocolo SIP por lo que no consumiría más recursos (por ejemplo Puertos a nivel TCP/IP), y se encargaría de enriquecer el mensaje entre sesiones necesario para la trasmisión eficaz entre los dispositivos.

Realmente SIP no es capaz de ofrecer un servicio por si mismo, pero contiene los mensajes primitivos para poder implementar los servicios subyacentes sobre el mismo. Por eso, SIP curiosamente, no tiene nada que ver realmente con la telefonía en si, solo podría considerarse un estándar cualquiera de entendimiento entre dispositivos, algo que realmente todavía no se ha asentado, ya que múltiples dispositivos, aun no siguen los estándares "impuestos" dentro de los RFC, ya que aun no ha madurado hasta la categoría de estándar IEEE.

SIP se popularizo, debido que en el momento de la implementación de servicios de telefonía IP, no existían realmente grandes competidores en este aspecto. Además la seguridad utilizando SIP no prima especialmente, debido a que la trasmisión se realiza con mensajes de texto, y para encriptar la información es fundamental recurrir a extensiones independientes que transforman los mensajes en ambos nodos.

En el año 2010 nació como RFC un verdadero competidor, IAX, pero demasiado tarde, ya que el mercado de las telecomunicaciones IP (y concretamente dispositivos y productores), ya se había asentado sobre el protocolo SIP.

Funcionamiento Esencial

SIP en la capa de transporte OSI, puede trabajar tanto con puertos TCP como UDP, y de hecho UDP suele ser elegido regularmente. El puerto de elección más común y estandarizado es el 5060, y como comentábamos con anterioridad, a través del mismo, también se trasmiten los mensajes del protocolo SDP.

Por otro lado, para trabajar con Audio en Asterisk tenemos que utilizar forzosamente el protocolo RTP para llevar el tráfico. Para cada canal de audio es necesario trabajar con un puerto independiente, y esto acarreara aún mas problemas en la seguridad, o en la interoperatividad con nuestro sistema. Veremos soluciones más adelante para salir del paso, ninguna bajo mi criterio, especialmente excepcional.

Los mensajes clásicos de SIP son los siguientes:

  • INVITE
  • REGISTER
  • ACK
  • BYE
  • OPTIONS

En la imagen, podemos ver un flujo clásico de mensajes entre un servidor Asterisk y dos teléfonos conectados al mismo.


Subtitulo 1.2

Info del Subtitulo 1.2

Titulo 2

Info del Titulo 2

Subtitulo 2.1

Info del Subtitulo 2.1

Subitutlo 2.1.1

Info del Subtitulo 2.1.1

Subtitulo 2.2

Info del Subtitulo 2.2

Referencias

  1. Introducción a la telefonía IP utilizando estándares., Fabián Sellés Rosa (2009), Proyecto Fin de Carrera Universidad de Cádiz
  2. Flujo Mensajes SIP, Alexandre Chauvin-Hameau (2007)

Véase también

Enlaces Externos