SIP - Campos de encabezado de solicitud y respuesta
Aceptar
El campo de encabezado Aceptar se utiliza para indicar los tipos de medios de Internet de mensajes aceptables en el cuerpo del mensaje.
El campo de encabezado describe los tipos de medios que utilizan el tipo / subtipo de formato que se usa comúnmente en Internet.
Si no está presente, el formato de cuerpo del mensaje aceptable asumido es application/sdp.
Una lista de tipos de medios puede tener preferencias configuradas usando q parámetros de valor.
Aceptar codificación
El campo de encabezado Accept-Encoding se utiliza para especificar esquemas de codificación aceptables para el cuerpo del mensaje.
La codificación se puede utilizar para garantizar que un mensaje SIP con un cuerpo de mensaje grande quepa dentro de un único datagrama UDP.
El uso de qLos parámetros de valor pueden establecer preferencias. Si ninguno de los esquemas enumerados es aceptable para el UAC, se devuelve una respuesta 406 No aceptable. Si no se incluye, la codificación asumida serátext/plain.
A
Toindica el destinatario final de la solicitud. Cualquier respuesta generada por un UA contendrá este campo de encabezado con la adición de una etiqueta. Es un encabezado obligatorio.
Cualquier respuesta generada por un proxy debe tener una etiqueta agregada al To campo de encabezado.
los To El URI del campo de encabezado nunca se usa para el enrutamiento.
Desde
FromEl campo de encabezado indica el autor de la solicitud. Es una de las dos direcciones que se utilizan para identificar un diálogo.
UN From El campo de encabezado puede contener una etiqueta que se utiliza para identificar una llamada en particular.
Puede contener un nombre para mostrar, en cuyo caso el URI se incluye entre <>.
Es un encabezado obligatorio.
Identificador de llamadas
El campo de encabezado Call-ID es obligatorio en todas las solicitudes y respuestas SIP. Se utiliza para identificar de forma única una llamada entre dos agentes de usuario.
Una identificación de llamada debe ser única en todas las llamadas.
Todos los registros de un agente de usuario deben utilizar el mismo ID de llamada.
Un Call-ID siempre es creado por un agente de usuario y nunca es modificado por un servidor.
Es un identificador criptográficamente aleatorio.
Vía
Vía se utiliza para registrar la ruta SIP tomada por una solicitud que ayuda a enrutar una respuesta de regreso al originador.
Un UA que genera una solicitud registra su propia dirección en un campo de encabezado Via.
Un proxy que reenvía la solicitud agrega un campo de encabezado Vía que contiene su propia dirección al principio de la lista de campos de encabezado Vía.
Un proxy o UA que genera una respuesta a una solicitud copia todos los campos del encabezado Via de la solicitud en orden en la respuesta, luego envía la respuesta a la dirección especificada en el campo superior del encabezado Via.
Un proxy que recibe una respuesta comprueba el campo de encabezado Via superior y coincide con su propia dirección.
Si no coincide, la respuesta se ha descartado.
A continuación, se elimina el campo de encabezado Via superior y la respuesta se reenvía a la dirección especificada en el siguiente campo de encabezado Via.
Los campos de encabezado contienen el nombre del protocolo, el número de versión y el transporte (SIP / 2.0 / UDP, SIP / 2.0 / TCP, etc.) y pueden contener números de puerto y parámetros como recibidos, rport, branch, maddr, y ttl.
UN received La etiqueta se agrega a un campo de encabezado Via si un UA o un proxy recibe la solicitud de una dirección diferente a la especificada en el campo de encabezado Via superior.
Los UA y los proxies agregan un parámetro de rama a los campos de encabezado Via, que se calcula como una función hash del Request-URI, y el To, From, Call-ID y el número CSeq.
CSeq
El campo de encabezado CSeq es un campo de encabezado obligatorio en cada solicitud. Contiene un número decimal que aumenta con cada solicitud.
Por lo general, aumenta en 1 por cada nueva solicitud, con la excepción de CANCEL y ACK solicitudes, que utilizan el número CSeq de la solicitud INVITE a la que se refiere.
Los UAS utilizan el recuento de CSeq para determinar solicitudes fuera de secuencia o para diferenciar entre una nueva solicitud (diferente CSeq) o una retransmisión (mismo CSeq).
Los UAC utilizan el campo de encabezado CSeq para hacer coincidir una respuesta con la solicitud a la que hace referencia.
Por ejemplo, un UAC que envía una solicitud INVITE y luego una solicitud CANCEL puede indicar por el método en el CSeq de una respuesta 200 OK si es una respuesta a la solicitud de invitación o cancelación.
Contacto
El campo de encabezado de contacto se utiliza para transmitir al otro usuario la dirección del originador de la solicitud. Una vez que se ha recibido un campo de encabezado de contacto, el URI puede almacenarse en caché y usarse para enrutar solicitudes futuras dentro de un diálogo.
Por ejemplo, un campo de encabezado de contacto en una respuesta 200 OK a un INVITE puede permitir que el mensaje ACK de acuse de recibo y todas las solicitudes futuras durante esta llamada eviten los proxies e vayan directamente a la parte llamada.
Ruta de registro
El campo de encabezado Record-Route se utiliza para forzar el enrutamiento a través de un proxy para todas las solicitudes posteriores en una sesión (diálogo) entre dos UA.
Normalmente, la presencia de un campo de encabezado de contacto permite a los AU enviar mensajes directamente sin pasar por la cadena de proxy utilizada en la solicitud inicial.
Un proxy que inserta su dirección en un campo de encabezado Record-Route anula esto y obliga a futuras solicitudes a incluir un campo de encabezado de ruta que contiene la dirección del proxy que obliga a incluir este proxy.
Un proxy que desee implementar esto inserta el campo de encabezado que contiene su propio URI, o agrega su URI a un campo de encabezado Record-Route ya presente.
El URI se construye de modo que el URI se resuelva en el servidor proxy. El UAS copia el campo de encabezado Record-Route en la respuesta 200 OK a la solicitud.
El campo de encabezado se reenvía sin cambios por proxy de nuevo al UAC. Luego, el UAC almacena la lista de proxy Record-Route más un campo de encabezado de contacto si está presente en 200 OK para usar en un campo de encabezado de ruta en todas las solicitudes posteriores.
Organización
El campo de encabezado de la organización se utiliza para indicar la organización a la que pertenece el creador del mensaje.
También se puede insertar mediante apoderados cuando un mensaje se pasa de una organización a otra.
Como todos los campos de encabezado SIP, los proxies pueden usarlo para tomar decisiones de enrutamiento y los UA para tomar decisiones de filtrado de llamadas.
Reintentar-Después
Se utiliza para indicar cuándo un recurso o servicio puede volver a estar disponible.
En las respuestas 503 Servicio no disponible, indica cuándo estará disponible el servidor.
En las respuestas 404 Not Found, 600 Busy Everywhere y 603 Decline, indica cuándo el UA llamado puede estar disponible nuevamente.
Contiene un período de tiempo en 'segundos'.
Tema
El campo de encabezado de Asunto opcional se utiliza para indicar el tema de la sesión de medios.
El contenido del campo de encabezado también se puede mostrar durante la alerta para ayudar al usuario a decidir si acepta la llamada.
Example:
Subject: How are you?
Soportado
El campo de encabezado Supported se utiliza para enumerar una o más opciones implementadas por un UA o servidor.
Por lo general, se incluye en las respuestas a las solicitudes de OPCIONES.
Si no se implementan opciones, el campo de encabezado no se incluye.
Si un UAC enumera una opción en un campo de encabezado admitido, los proxies o UAS pueden usar la opción durante la llamada.
Si la opción debe usarse o admitirse, se usa el campo de encabezado Requerir en su lugar.
Example:
Supported: rel100
Expira
El campo de encabezado Expires se utiliza para indicar el intervalo de tiempo en el que la solicitud o el contenido del mensaje son válidos.
Cuando está presente en una solicitud INVITE, el campo de encabezado establece un límite de tiempo para la finalización de la solicitud INVITE.
Es decir, el UAC debe recibir una respuesta final (no 1xx) dentro del período de tiempo o la solicitud INVITE se cancela automáticamente con una respuesta 408 Request Timeout.
Una vez que se establece la sesión, el valor del campo de encabezado Expires en el INVITE original no tiene ningún efecto; el campo de encabezado Session-Expires debe usarse para este propósito.
Si está presente en una solicitud de REGISTRO, el campo de encabezado establece el límite de tiempo en los URI en los campos de encabezado de contacto que no contienen un expires parámetro.
Expires también se utiliza en las solicitudes SUBSCRIBE para indicar la duración de la suscripción.
Example:
Expires: 30
Agente de usuario
Este campo de encabezado se utiliza para transmitir información sobre el UA que origina la solicitud.