4. Definición
Session Description Protocol (SDP) es un protocolo
para describir los parámetros de inicialización de
flujos multimedia. Corresponde a un protocolo
actualmente redactado en el RFC 4566 por la IETF,
de los anteriores RFC 2327 de abril de 1998 y RFC
3266 de junio de 2002.
Es un formato para describir las sesiones, no incluye
protocolos de transporte, pudiendo ser usado sobre
diferente protocolos de transporte como SAP, SIP,
RTSP; email usando extensiones MIME y HTTP.
5. Propósito de SDP
El propósito de SDP es comunicar la información
acerca de los streams de medios en las sesiones
multimedia para permitir a los receptores de la
descripción de una sesión participar en la misma.
SDP está pensado primordialmente para ser usado en
un entorno inter-redes, sin embargo es
suficientemente general para describir sesiones en
cualquier otro entorno de red.
Los flujos multimedia pueden ser muchos a muchos y
además, las sesiones no tienen por qué estar
continuamente activas.
6. Descripcion de la sesión
Según la RFC 4566 , una descripción de sesión es “un
formato bien definido para contener información
suficiente para descubrir y participar en una sesión
multimedia”
7. Funciones de SDP
Teniendo en cuenta la gran variedad de conferencias
multimedia multicast que puede existir, y el hecho de
que cualquiera dentro de Internet puede ver el
contenido uniéndose a dichas sesiones (salvo que
fuera encriptado), SDP solventa esto sirviendo a dos
propósitos principales:
1. Comunicar la existencia de una sesión
2. Comunicar información suficiente para permitir que
un participante nuevo se una a la sesión
adecuadamente.
8.
9. Especificación de SDPDescripción de sesión
Una descripción SDP incluye lo siguiente:
1. Nombre de sesión y propósito de la misma.
2. Tiempo (o tiempos) en los que la sesión estará activa.
3. Los tipos de contenido que comprenden la sesión
4. Información necesaria para recibir esos contenidos
(direcciones, puertos, formatos, etc.)
10. Especificación de SDPDescripción de sesión
Como los recursos necesarios para participar en una
sesión pueden ser limitados, puede ser deseable
alguna información adicional.
1. Información acerca del ancho de banda que va a ser
usado durante la sesión.
2. Información de contacto de la persona responsable de
la sesión.
11. Especificación de SDPDescripción de sesión
Una descripción de sesión SDP se denota por el tipo
de contenido “application/sdp”.
Una descripción de sesión SDP es enteramente
textual usando el juego de caracteres ISO 10646 con
codificación UTF-8. Los nombres de campo usan el
subconjunto USASCII, pero los campos textuales y
atributos pueden usar el conjunto de caracteres
completo de la ISO 10646.
Los valores de los campos y de los atributos que usan
el juego de caracteres completo UTF-8
12. Descripción de sesión: sintaxis
Una descripción de sesión SDP consiste en un
número de líneas de texto en el siguiente formato:
<tipo>=<valor>
Donde < tipo > debe ser exactamente uno de los
caracteres (importan las mayúsculas) y <valor> es
texto estructurado cuyo formato depende del < tipo >.
En general, <valor> es cualquier número de campos
delimitados por un simple carácter espacio o una
cadena de formato libre y es sensible a mayúsculas,
salvo que el <tipo> especifique otra cosa.
Los espacios no deben ser usados a cualquier lado del
signo “=”.
13. Descripción de Sesión: sintaxis
Una descripción de sesión SDP consiste en una
sección de nivel de sesión seguida de ninguna o más
secciones de nivel de contenidos.
Las partes de nivel de sesión comienzan con una línea
“v=” y continúan hasta la primera sección de nivel de
contenidos.
Cada sección de nivel de contenido comienza con una
línea “m=” y continua hasta la próxima sección de
contenidos o hasta el final de la descripción de la
sesión completa.
14. Descripción de sesión: sintaxis
Algunas líneas en cada descripción son obligatorias y
otras opcionales pero todas deben aparecer en el
orden exacto dado en la RFC. Esto se ha hecho así
para facilitar la detección de errores y el procesado de
la información. Los campos opcionales están
marcados con un asterisco “*”.
15. Descripción de sesión: sintaxis
El conjunto de letras de tipo es deliberadamente
pequeño y no está pensado para ser extensible. Un
analizador SDP debe ignorar completamente
cualquier descripción de sesión que contenga una
letra que no entienda.
El mecanismo de atributos (“a=”) es la forma de
extender SDP y ajustarlo para aplicaciones o
contenidos particulares. Además un analizador SDP
debe ignorar cualquier atributo que no entienda.
16. Descripción de sesión: sintaxis
Una descripción de sesión SDP puede contener URIs
que referencien contenido externo, haciendo que la
propia descripción no sea auto contenida ("u=", "k=",
y "a=")
La información de conexión (“c=“) y de atributos
(“a=“) en la sección de nivel de sesión se aplica a todo
el contenido de esa sesión a menos que sea sobre
escrito por los mismos campos en la especificación de
cada contenido.
17. Descripción de sesión: sintaxis
Parte de descripción de sesión
v= (versión de protocolo)
o= (Creador e Identificador de sesión)
s= (Nombre de la sesión)
i=* (Información de la sesión)
u=* (URI de la descripción)
e=* (Dirección de e-mail)
p=* (Número de teléfono)
c=* (Información de conexión, no se requiere si se
incluye en todos los contenidos)
18. Descripción de sesión: sintaxis
parte de descripción de sesión
b=* (Ninguna o más líneas de información de ancho
de banda)
Una o más descripciones de tiempo (Líneas "t=" y
"r=“)
z=* (Ajustes de zona horaria)
k=* (Clave de encriptado)
a=* (ninguna o más líneas de atributos de sesión)
Ninguna o alguna descripción de contenidos
19. Descripción de sesión: sintaxis
parte de descripción por tiempo
y cont. de una sesión
Descripción de Contenidos (si ésta presente)
1. m= (Nombre del medio y dirección de transporte)
2. i=* (Título del contenido)
3. c=* (Información de conexión – Opcional si se incluye
a nivel de descripción de sesión)
4. b=* (ninguno o varias líneas de información de ancho
de banda)
5. k=* (clave de encriptación)
6. a=* (ninguno o varias líneas de atributos de
contenidos)
20. Descripción de sesión: sintaxis
parte de descripción por
tiempo y cont. de una sesión
(cont)
Descripción de tiempo
1. t= (Tiempo en el que la sesión está activa)
2. r=* (Ninguno o más tiempos de repetición)
21. Ejemplo 1 de sesión en SDP
(extraído de la RFC 2327)
v=0
o=mhandley 2890844526 2890842807 IN IP4
126.16.64.4
s=SDP Seminar
i=A Seminar on the session description protocol
u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
e=mjh@isi.edu (Mark Handley)
c=IN IP4 224.2.17.12/127
23. Ejemplo 2 de sesión en SDP
Session Description Protocol Version (v): 0
Owner/Creator, Session Id (o): Cisco-SIPUA 26425
12433 IN IP4 192.168.0.100
Owner Username: Cisco-SIPUA
Session ID: 26425
Session Version: 12433
Owner Network Type: IN
Owner Address Type: IP4
Owner Address: 192.168.0.100
Session Name (s): SIP Call
Connection Information (c): IN IP4 192.168.0.100
24. Ejemplo 2 de sesión en SDP
(continuación)
Connection Network Type: IN
Connection Address Type: IP4
Connection Address: 192.168.0.100
Time Description, active time (t): 0 0
Session Start Time: 0
Session Stop Time: 0
Media Description, name and address (m): audio 17338
RTP/AVP 0 8 18 101
Media Type: audio
Media Port: 17338
Media Proto: RTP/AVP
25. Ejemplo 2 de sesión en SDP
(continuación)
Media Format: ITU-T G.711 PCMU
Media Format: ITU-T G.711 PCMA
Format: ITU-T G.729
Media Format: 101
Media Attribute (a): rtpmap:0 PCMU/8000
Media Attribute (a): rtpmap:8 PCMA/8000
Media Attribute (a): rtpmap:18 G729/8000
Media Attribute (a): rtpmap:101 telephone-event/8000
Media Attribute (a): fmtp:101 0-15
26.
27. Ejemplos de usos de SDP
Debido al carácter genérico de SDP permite su uso
dentro de la información de sesiones multimedia en
una amplia variedad de situaciones, las más usuales
aparecen comentadas a continuación:
1. Inicio de Sesiones.
2. Streaming Media.
3. E-mail y World Wide Web
4. Anuncio de Sesiones Multicast.
28. 1- Inicio de Sesiones
El Protocolo SIP (Session Initiation Protocol), es un
protocolo de control a nivel de aplicación para la
creación, modificación y terminación de sesiones tales
como conferencias multimedia por Internet, llamadas
telefónicas por Internet y distribución multimedia.
Los Mensajes SIP usados para crear las sesiones
portan descripciones de las sesiones que permiten a
los participantes acordar que tipo de medio usar entre
los que son compatibles.
Estas descripciones de sesiones están comúnmente
formateadas usando SDP.
29. 2- Streaming Multimedia
El protocolo RTSP (Real Time Streaming Protocol) es
un protocolo de aplicación para el control de la
transmisión de datos con propiedades de tiempo real.
RTSP proporciona un marco extensible para permitir
la descarga controlada de datos en tiempo real bajo
demanda, tales como audio y video.
Un cliente y un servidor RTSP negocian un juego
apropiado de parámetros para la distribución de
medios, usando parcialmente la sintaxis SDP para
describir tales parámetros.
30. 3- E-mail y World Wide Web
Una manera alternativa de portar descripciones de
sesiones se incluye en el correo electrónico y en la
WWW. Para ambos, existe un tipo especial
“application/sdp”.
Esto permite el lanzamiento automático de aplicaciones
para participar en las sesiones WWW o de e-mail en una
manera estándar.
Se debe recordar que los anuncios de sesiones multicast
lanzados por vía e-mail o WWW, no tienen la propiedad
de que el receptor del anuncio de la sesión pueda
necesariamente recibir dicha sesión, ya que ésta puede
estar limitada a un entorno concreto, limitación que
puede no afectar al e-mail o la web.
31. 4- Anuncio sesiones multicast
Con la intención de poder asistir al anuncio de
conferencias multimedia multicast o cualquier otro
tipo de sesiones multicast, y para poder comunicar la
información de configuración de la sesión más
importante a los participantes, se debe usar un
directorio distribuido de sesiones.
Una instancia de ese directorio distribuido
periódicamente envía paquetes conteniendo la
información de la sesión a un grupo multicast bienconocido (well-known)
32. 4- Anuncio sesiones multicast
(continuación)
Estos anuncios son recibidos por otros directorios de
sesión de tal forma que participantes remotos
potenciales pueden usar la información de
descripción de sesión para arrancar la aplicaciones
necesarias para participar en la sesión. Un protocolo
que implementa tal directorio distribuido es SAP
(Session Announcemente Protocol). SDP proporciona
el formato adecuado para tales anuncios de sesión.
33.
34. Consideraciones sobre
seguridad de SDP
SDP no ejerce ningún mecanismo de seguridad o
autenticación, relegando esto a los protocolos que lo
usen.
Además, como las descripciones especifican que tipo
de contenido va, las aplicaciones que se puedan
iniciar a partir de fuentes SDP no confiables, no serán
nada peligrosas.
35. Consideraciones sobre
seguridad de SDP
Protocolos como SAP que tienen autenticación y
cifrado son recomendables para el intercambio seguro
de información SDP.
De esta manera los campos “k=“ no deben ser usados
salvo que las descripciones SDP vayan por un canal
seguro.