SIP - Campos de cabeçalho de solicitação e resposta

Aceitar

O campo de cabeçalho Aceitar é usado para indicar tipos de mídia de Internet de mensagem aceitáveis ​​no corpo da mensagem.

  • O campo de cabeçalho descreve os tipos de mídia usando o tipo / subtipo de formato comumente usado na Internet.

  • Se não estiver presente, o formato de corpo de mensagem aceitável assumido é application/sdp.

  • Uma lista de tipos de mídia pode ter preferências definidas usando q parâmetros de valor.

Aceitar-Codificação

O campo de cabeçalho Accept-Encoding é usado para especificar esquemas de codificação de corpo de mensagem aceitáveis.

  • A codificação pode ser usada para garantir que uma mensagem SIP com um corpo de mensagem grande caiba em um único datagrama UDP.

  • O uso de qparâmetros de valor podem definir preferências. Se nenhum dos esquemas listados for aceitável para o UAC, uma resposta 406 Not Acceptable será retornada. Se não for incluído, a codificação assumida serátext/plain.

Para

Toindica o destinatário final da solicitação. Qualquer resposta gerada por um UA conterá este campo de cabeçalho com a adição de uma tag. É um cabeçalho obrigatório.

  • Qualquer resposta gerada por um proxy deve ter uma tag adicionada ao To campo de cabeçalho.

  • o To URI do campo de cabeçalho nunca é usado para roteamento.

De

Fromo campo de cabeçalho indica o originador da solicitação. É um dos dois endereços usados ​​para identificar um diálogo.

  • UMA From o campo de cabeçalho pode conter uma tag usada para identificar uma determinada chamada.

  • Ele pode conter um nome de exibição e, nesse caso, o URI é colocado entre <>.

  • É um cabeçalho obrigatório.

Call-ID

O campo de cabeçalho Call-ID é obrigatório em todas as solicitações e respostas SIP. É usado para identificar exclusivamente uma chamada entre dois agentes de usuário.

  • Um Call-ID deve ser único em todas as chamadas.

  • Todos os registros de um agente de usuário devem usar o mesmo Call-ID.

  • Um Call-ID é sempre criado por um agente de usuário e nunca é modificado por um servidor.

  • É um identificador criptograficamente aleatório.

Através da

Via é usado para registrar a rota SIP seguida por uma solicitação, o que ajuda a encaminhar uma resposta de volta ao originador.

  • Um UA que gera uma solicitação registra seu próprio endereço em um campo de cabeçalho Via.

  • Um proxy que encaminha a solicitação adiciona um campo de cabeçalho Via contendo seu próprio endereço ao topo da lista de campos de cabeçalho Via.

  • Um proxy ou UA que gera uma resposta a uma solicitação copia todos os campos do cabeçalho Via da solicitação na ordem para a resposta e, em seguida, envia a resposta ao endereço especificado no campo de cabeçalho Via superior.

  • Um proxy que recebe uma resposta verifica o campo do cabeçalho Via superior e corresponde a seu próprio endereço.

  • Se não corresponder, a resposta foi descartada.

  • O campo de cabeçalho Via superior é então removido e a resposta encaminhada para o endereço especificado no próximo campo de cabeçalho Via.

  • Os campos do cabeçalho Via contêm o nome do protocolo, o número da versão e o transporte (SIP / 2.0 / UDP, SIP / 2.0 / TCP, etc.) e podem conter números de porta e parâmetros como recebidos, rport, branch, maddr, e ttl.

  • UMA received A tag é adicionada a um campo de cabeçalho Via se um UA ou proxy receber a solicitação de um endereço diferente do especificado no campo de cabeçalho Via superior.

  • Um parâmetro de ramificação é adicionado aos campos de cabeçalho Via por UAs e proxies, que é calculado como uma função hash do URI de Solicitação e do número Para, De, ID de Chamada e CSeq.

CSeq

O campo de cabeçalho CSeq é um campo de cabeçalho obrigatório em todas as solicitações. Ele contém um número decimal que aumenta para cada solicitação.

  • Normalmente, aumenta em 1 para cada nova solicitação, com exceção de CANCEL e ACK solicitações, que usam o número CSeq da solicitação INVITE à qual se refere.

  • A contagem CSeq é usada por UASs para determinar solicitações fora de sequência ou para diferenciar entre uma nova solicitação (CSeq diferente) ou uma retransmissão (mesmo CSeq).

  • O campo de cabeçalho CSeq é usado pelos UACs para corresponder a uma resposta à solicitação que ele faz referência.

  • Por exemplo, um UAC que envia uma solicitação INVITE e então uma solicitação CANCEL pode dizer pelo método no CSeq de uma resposta 200 OK se é uma resposta ao convite ou solicitação de cancelamento.

Contato

O campo de cabeçalho do contato é usado para transmitir ao outro usuário o endereço do originador da solicitação. Depois que um campo de cabeçalho de contato é recebido, o URI pode ser armazenado em cache e usado para rotear solicitações futuras em uma caixa de diálogo.

Por exemplo, um campo de cabeçalho de contato em uma resposta 200 OK a um INVITE pode permitir que a mensagem ACK de confirmação e todas as solicitações futuras durante esta chamada ignorem os proxies e vão diretamente para a parte chamada.

Rota-Registro

O campo de cabeçalho Record-Route é usado para forçar o roteamento por meio de um proxy para todas as solicitações subsequentes em uma sessão (diálogo) entre dois UAs.

Normalmente, a presença de um campo de cabeçalho de contato permite que os UAs enviem mensagens diretamente, ignorando a cadeia de proxy usada na solicitação inicial.

  • Um proxy que insere seu endereço em um campo de cabeçalho Record-Route substitui isso e força solicitações futuras a incluir um campo de cabeçalho de rota contendo o endereço do proxy que força esse proxy a ser incluído.

  • Um proxy que deseja implementar isso insere o campo de cabeçalho contendo seu próprio URI ou adiciona seu URI a um campo de cabeçalho de rota de registro já presente.

  • O URI é construído para que o URI seja resolvido de volta para o servidor proxy. O UAS copia o campo de cabeçalho Record-Route na resposta 200 OK à solicitação.

  • O campo de cabeçalho é encaminhado inalterado por proxies de volta ao UAC. O UAC então armazena a lista de proxy Record-Route mais um campo de cabeçalho Contact se presente no 200 OK para uso em um campo de cabeçalho Route em todas as solicitações subsequentes.

Organização

O campo de cabeçalho Organização é usado para indicar a organização à qual pertence o originador da mensagem.

  • Também pode ser inserido por proxies à medida que uma mensagem é passada de uma organização para outra.

  • Como todos os campos de cabeçalho SIP, ele pode ser usado por proxies para tomar decisões de roteamento e por UAs para tomar decisões de triagem de chamadas.

Tentar novamente depois

É usado para indicar quando um recurso ou serviço pode estar disponível novamente.

  • Nas respostas 503 Serviço indisponível, indica quando o servidor estará disponível.

  • Nas respostas 404 Not Found, 600 Busy Everywhere e 603 Decline, indica quando o UA chamado pode estar disponível novamente.

  • Ele contém o período de tempo em 's'.

Sujeito

O campo opcional de cabeçalho Assunto é usado para indicar o assunto da sessão de mídia.

O conteúdo do campo de cabeçalho também pode ser exibido durante o alerta para ajudar o usuário a decidir se aceita a chamada.

Example:
Subject: How are you?

Suportado

O campo de cabeçalho com suporte é usado para listar uma ou mais opções implementadas por um UA ou servidor.

  • Geralmente, é incluído nas respostas às solicitações de OPÇÕES.

  • Se nenhuma opção for implementada, o campo de cabeçalho não será incluído.

  • Se um UAC listar uma opção em um campo de cabeçalho com suporte, os proxies ou UASs podem usar a opção durante a chamada.

  • Se a opção deve ser usada ou suportada, o campo de cabeçalho Require é usado.

Example:
Supported: rel100

Expira

O campo de cabeçalho Expires é usado para indicar o intervalo de tempo em que o conteúdo da solicitação ou mensagem é válido.

  • Quando presente em uma solicitação INVITE, o campo do cabeçalho define um limite de tempo para a conclusão da solicitação INVITE.

  • Ou seja, o UAC deve receber uma resposta final (diferente de 1xx) dentro do período de tempo ou a solicitação INVITE é automaticamente cancelada com uma resposta 408 Request Timeout.

  • Uma vez que a sessão é estabelecida, o valor do campo de cabeçalho Expires no INVITE original não tem efeito - o campo de cabeçalho Session-Expires deve ser usado para este propósito.

  • Se presente em uma solicitação de REGISTRO, o campo de cabeçalho define o limite de tempo nos URIs nos campos de cabeçalho de contato que não contêm um expires parâmetro.

  • Expires também é usado em solicitações SUBSCRIBE para indicar a duração da assinatura.

Example:
Expires: 30

Agente de usuário

Este campo de cabeçalho é usado para transmitir informações sobre o UA que originou a solicitação.