RFC 3261 SIP: Session Initiation Protocol Junho 20026. O registrador verifica se a requisição contém ou não o campo-cabeçalho Contact. Se não tiver, ele pula para a última etapa. Se o campo-cabeçalho Contact estiver presente, o registrador verifica se há um valor no campo Contact que contém o valor especial "*" e um campo Expires. Se a requisição tiver campos Contact adicionais ou um tempo de expiração diferente de zero, a requisição é inválida, e o servidor PRECISA retornar uma resposta 400 (Invalid Request) e pular as etapas restantes. Se não, o registrador verifica se o Call-ID confere ou não com o valor armazenado para cada binding. Se não, ele PRECISA remover o binding. Se não conferir, ele PRECISA retirar o binding somente se o campo CSeq na requisição for superior ao valor armazenado para esse binding. Caso contrário, a atualização PRECISA ser abortada e a requisição falhar.7. O registrador agora processa cada endereço de contato no campo-cabeçalho Contact de cada vez. Para cada endereço, ele determina o intervalo de expiração da seguinte forma:- Se o valor do campo tem um parâmetro "expires", esse valor PRECISA ser tomado como a expiração requisitada.- Se não houver tal parâmetro, mas a requisição tem um campo-cabeçalho Expires, esse valor PRECISA ser tomado como a expiração requisitada.- Se não houver nenhum, um valor padrão configurado localmente PRECISA ser tomado como a expiração requisitada.O registrador PODE escolher um tempo expiração menor do que o intervalo de expiração requisitada. Se e somente se, o intervalo de expiração requisitado for maior que zero E menor que uma hora E menos que um mínimo configurado no registrador, o registrador PODE rejeitar o pedido de registro com uma resposta 423 (Interval Too Brief). Essa resposta PRECISA conter um campo-cabeçalho Min-Expires que declara o intervalo mínimo de expiração que o registrador está disposto a honrar. Ele então pula as etapas restantes.Permitindo ao registrador definir o intervalo de registro protege contra freqüentes atualizações de registro excessivas ao mesmo tempo que limita o estado que ele precisa para manter e diminuir a possibilidade de pedidos de registro prestes a ficar obsoletos. O intervalo de expiração de um registro é freqüentemente usado na criação de serviços. Um exemplo é um serviço de siga-me, onde o usuário só poderá estar disponível em um terminal por um período curto. Portanto, registradores devem aceitar registros curtos, uma requisição só deve ser rejeitada se o intervalo for tão curto que as atualizações degradariam o desempenho do registrador.Rosenberg, et. al. Standards Track [Página 65]
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