SIP - Protocolo de descripción de sesión

SDP significa Protocolo de descripción de sesión. Se utiliza para describir sesiones multimedia en un formato comprendido por los participantes a través de una red. Dependiendo de esta descripción, una parte decide si unirse a una conferencia o cuándo o cómo unirse a una conferencia.

  • El propietario de una conferencia la anuncia a través de la red enviando mensajes de multidifusión que contienen una descripción de la sesión, por ejemplo, el nombre del propietario, el nombre de la sesión, la codificación, el tiempo, etc. Dependiendo de esta información, los destinatarios del anuncio tomar una decisión sobre la participación en la sesión.

  • El SDP generalmente está contenido en la parte del cuerpo del Protocolo de inicio de sesión, popularmente llamado SIP.

  • SDP se define en RFC 2327. Un mensaje SDP se compone de una serie de líneas, denominadas campos, cuyos nombres se abrevian con una sola letra minúscula y están en el orden requerido para simplificar el análisis.

Propósito de SDP

El propósito de SDP es transmitir información sobre flujos de medios en sesiones multimedia para ayudar a los participantes a unirse o recopilar información de una sesión en particular.

  • SDP es una breve descripción textual estructurada.

  • Transmite el nombre y el propósito de la sesión, los medios, los protocolos, los formatos de códec, la sincronización y la información de transporte.

  • Un participante tentativo verifica esta información y decide si unirse a una sesión y cómo y cuándo unirse a una sesión si así lo decide.

  • El formato tiene entradas en la forma de <type> = <value>, donde <type> define un parámetro de sesión único y <value> proporciona un valor específico para ese parámetro.

  • La forma general de un mensaje SDP es:

    x = parameter1 parameter2 ... parameterN

  • La línea comienza con una sola letra minúscula, por ejemplo, x. Nunca hay espacios entre la letra y el =, y hay exactamente un espacio entre cada parámetro. Cada campo tiene un número definido de parámetros.

Parámetros de descripción de sesión

Descripción de la sesión (* indica opcional)

  • v = (versión del protocolo)
  • o = (propietario / creador e identificador de sesión)
  • s = (nombre de la sesión)
  • i = * (información de la sesión)
  • u = * (URI de descripción)
  • e = * (dirección de correo electrónico)
  • p = * (número de teléfono)
  • c = * (información de conexión; no se requiere si se incluye en todos los medios)
  • b = * (información de ancho de banda)
  • z = * (ajustes de zona horaria)
  • k = * (clave de cifrado)
  • a = * (cero o más líneas de atributos de sesión)

Versión de protocolo

El campo v = contiene el número de versión de SDP. Debido a que la versión actual de SDP es 0, un mensaje SDP válido siempre comenzará con v = 0.

Origen

El campo o = contiene información sobre el creador de la sesión y los identificadores de sesión. Este campo se utiliza para identificar de forma única la sesión.

  • El campo contiene:

    o = <nombre de usuario> <ID de sesión> <versión> <tipo de red> <tipo de dirección>

  • los username El parámetro contiene el inicio de sesión o el host del creador.

  • los session-id El parámetro es una marca de tiempo del Protocolo de tiempo de red (NTP) o un número aleatorio que se utiliza para garantizar la exclusividad.

  • los version es un campo numérico que se incrementa con cada cambio en la sesión, también se recomienda que sea una marca de tiempo NTP.

  • los network-typesiempre está IN para Internet. El parámetro de tipo de dirección es IP4 o IP6 para la dirección IPv4 o IPv6, ya sea en forma decimal con puntos o un nombre de host completo.

Nombre e información de la sesión

El campo s = contiene un nombre para la sesión. Puede contener cualquier número de caracteres distinto de cero. El campo opcional i = contiene información sobre la sesión. Puede contener cualquier número de caracteres.

URI

El campo u = opcional contiene un indicador de recursos uniforme (URI) con más información sobre la sesión.

Dirección de correo electrónico y número de teléfono

El campo opcional e = contiene una dirección de correo electrónico del anfitrión de la sesión. El campo opcional p = contiene un número de teléfono.

Datos de conexión

El campo c = contiene información sobre la conexión de medios.

  • El campo contiene:

    c = <tipo de red> <tipo de dirección> <dirección de conexión>

  • los network-type El parámetro se define como IN para Internet.

  • los address-type se define como IP4 para direcciones IPv4 e IP6 para direcciones IPv6.

  • los connection-address es la dirección IP o el host que enviará los paquetes de medios, que pueden ser multicast o unicast.

  • Si es multidifusión, el campo de dirección de conexión contiene:

    dirección-conexión = dirección-base-multicast / ttl / numero-de-direcciones

  • dónde ttl es el valor del tiempo de vida y el número de direcciones indica cuántas direcciones de multidifusión contiguas se incluyen comenzando con la dirección de multidifusión base.

Banda ancha

El campo b = opcional contiene información sobre el ancho de banda requerido. Es de la forma -

b = modificador: ancho de banda - valor

Hora, tiempos de repetición y zonas horarias

El campo t = contiene la hora de inicio y la hora de finalización de la sesión.

t = hora de inicio hora de parada

El campo opcional r = contiene información sobre los tiempos de repetición que se pueden especificar en NTP o en días ( d ), horas ( h ) o minutos ( m ).

El campo opcional z = contiene información sobre los desplazamientos de zona horaria. Este campo se utiliza si la sesión que tiene lugar abarca un cambio del horario de verano al horario estándar o viceversa.

Anuncios de medios

El campo opcional m = contiene información sobre el tipo de sesión de medios. El campo contiene:

m = lista de formatos de transporte de puerto de medios

  • El parámetro de medios es audio, video, texto, aplicación, mensaje, imagen o control. El parámetro de puerto contiene el número de puerto.

  • El parámetro de transporte contiene el protocolo de transporte o el perfil RTP utilizado.

  • La lista de formatos contiene más información sobre los medios. Por lo general, contiene tipos de carga útil de medios definidos en perfiles de audio y video RTP.

Example:
m = audio 49430 RTP/AVP 0 6 8 99

Uno de estos tres códecs se puede utilizar para la sesión de medios de audio. Si la intención es establecer tres canales de audio, se utilizarían tres campos de medios separados.

Atributos

El campo opcional a = contiene atributos de la sesión de medios anterior. Este campo se puede utilizar paraextend SDP to provide more information about the media. Si un usuario de SDP no lo comprende completamente, el campo de atributo puede ignorarse. Puede haber uno o más campos de atributos para cada tipo de carga útil de medios enumerados en el campo de medios.

Los atributos en SDP pueden ser

  • nivel de sesión, o
  • nivel de medios.

El nivel de sesión significa que el atributo aparece antes de la primera línea de medios en el SDP. Si este es el caso, el atributo se aplica a todas las líneas de medios debajo de él.

Nivel de medios significa que aparece después de una línea de medios. En este caso, el atributo solo se aplica a este flujo de medios en particular.

SDP puede incluir atributos de nivel de sesión y de nivel de medios. Si el mismo atributo aparece en ambos, el atributo de nivel de medios anula el atributo de nivel de sesión para ese flujo de medios en particular. Tenga en cuenta que el campo de datos de conexión también puede ser de nivel de sesión o de medio.

Un ejemplo de SDP

A continuación se muestra una descripción de sesión de ejemplo, tomada de RFC 2327 -

v = 0
o = mhandley2890844526 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 = [email protected](Mark Handley)
c = IN IP4 224.2.17.12/127
t = 2873397496 2873404696
a = recvonly
m = audio 49170 RTP/AVP 0
m = video 51372 RTP/AVP 31
m = application 32416udp wb
a = orient:portrait