RFC 3261 SIP: Session Initiation Protocol Junho 2002Para cada endereço, o registrador então busca na lista bindings atuais usando as
regras de comparação de URI. Se o binding não existir, ele é provisoriamente
acrescentado. Se o binding existir, o registrador verifica o valor do Call-ID.
Se o valor do Call-ID no binding existente difere do valor do Call-ID na
requisição, o binding PRECISA ser removido se o tempo de expiração for zero e
atualizado em caso contrário. Se eles são iguais, o registrador compara o valor do
CSeq. Se o valor for maior do que aquele binding já existente, ele PRECISA
atualizar ou remover o binding como acima. Caso contrário, a atualização PRECISA
ser abortada e não a requisição falha.Esse algoritmo garante que requisições fora-de-ordem do mesmo UA sejam ignoradas.Cada registro binding registra os valores do Call-ID e do CSeq da requisição.As atualizações de binding PRECISAM ser comunicadas (ou seja, ser tornadas visíveis ao
servidor proxy ou ao redirect) se e somente se todas atualizações e adições binding
foram bem sucedidos. Se algum delas falhar (por exemplo, porque a transação com o
database subjancente falhou), a requisição PRECISA falhar com uma Resposta 500
(Server Internal Error) e todas as tentativas de atualizações binding PRECISAM ser desfeitas.8. O registrador retorna uma resposta 200 (OK). A resposta PRECISA conter valores do
campo-cabeçalho Contact que enumeram todos os bindings atuais. Cada valor de Contact
PRECISA apresentar um parâmetro "expires" para indicar seu intervalo de expiração
escolhido pelo registrador. A resposta DEVE incluir um campo-cabeçalho Date.11 Consultando CapacidadesO método OPTIONS do SIP permite a um UA consulta outro UA ou um servidor proxy quanto a
suas capacidades. Isso permite a um cliente descobrir informações sobre métodos suportados,
tipos de conteúdo, extensões, codecs, etc, sem "encomodar" a outra parte. Por exemplo,
antes de um cliente inserir um campo-cabeçalho Require em INVITE listando uma opção que
ele não está certo que o UAS destino suporta, o cliente pode consultar o UAS destino com
uma OPTIONS pra ver se essa opção é retornada em um campo-cabeçalho Supported. Todos UA's
PRECISAM suportar o método OPTIONS.O alvo da requisição OPTIONS é identificado pelo Request-URI, que poderia identificar
outro UA ou um servidor SIP. Se a requisição OPTIONS for dirigida a um servidor proxy, o
Request-URI é definida sem a parte usuário, similar a forma de um Request-URI que é
definida por uma requisição REGISTER.Rosenberg, et. al. Standards Track [Página 66]
Observações importantes a cerca dessa tradução: A tradução de algumas terminologias do SIP: User agent ficou como agente-usuário; Header field como campo-cabeçalho; Requests ficou em português como requisições no plural e no singular requisição. Quanto às palavras/verbos usadas em documentos RFC's tramitando em trilha de padronizações, que obedecem as regras da RFC 2119/IETF, foram traduzidas para o português conforme a seguir: MUST: PRECISA, REQUERER, OBRIGAR, EXIGIR, FORÇAR, É OBRIGATÓRIO, É FORÇOSO, NECESSITAR, É MANDATÓRIO. MUST NOT: NÃO PODE, É PROIBIDO, É VEDADO. SHOULD: DEVE, É RECOMENDADO. SHOULD NOT: NÃO DEVE, NÃO É RECOMENDADO. MAY: PODE, É OPCIONAL.


Nenhum comentário:
Postar um comentário