RFC 3265
Notificação de Evento Específico-SIP Junho 2002
Requisições NOTIFY são
correspondentes a tais requisições SUBSCRIBE se elas contiverem o
mesmo "Call-ID", um parâmetro "tag" no cabeçalho "To"
que coincide com o parâmetro "tag" no cabeçalho "From"
do SUBSCRIBE, e o mesmo campo-cabeçalho "Event". Regras para
comparações de cabeçalhos "Event" estão descritas na seção 7.2.1. Se
uma requisição NOTIFY correspondente contiver um campo-cabeçalho "Subscription-State"
com valor "active" ou "pending", gera-se uma
nova subscrição e um novo diálogo (a menos que já tenham
sido gerados por uma resposta correspondente, como descrito acima).
Se um SUBSCRIBE inicial
for enviado em um diálogo pré-existente, uma resposta de classe 200 correspondente
ou uma requisição NOTIFY bem sucedida gera meramente uma
nova subscrição associada a esse diálogo.
Múltiplas
subscrições podem ser associadas a um único diálogo. Subscrições podem
também existir em diálogos associados a estado de aplicação
criado por INVITE e outros estados de aplicação criados por mecanismos
definidos em outras especificações. Esses conjuntos de estado de
aplicação não interagem além do comportamento descrito para
um diálogo (por exemplo, gerenciamento de conjunto de rotas).
Uma subscrição é destruída quando
um notificador envia uma requisição NOTIFY com cabeçalho
"Subscription-State" igual a "terminated".
Um subscritor pode enviar
uma requisição SUBSCRIBE contendo um cabeçalho "Expires"
igual a 0 a fim
de desencadear o envio de tal requisição NOTIFY; contudo,
para os propósitos de subscrição e de vida do diálogo, a subscrição
não é considerada encerrada até que o NOTIFY com um
"Subscription-State" igual a "terminated" seja enviado.
Se a destruição de uma
subscrição não deixa nenhum outro estado de aplicação associado ao diálogo,
o diálogo termina. A destruição de outro estado de aplicação (como
o gerado por um INVITE) não encerrará o diálogo se uma subscrição ainda
estiver associada a esse diálogo.
Note que o comportamento
acima significa que um diálogo criado com um
INVITE não necessariamente termina após o recebimento de
um BYE. De forma similar, no caso em
que várias subscrições estão associadas a um único diálogo,
o diálogo não termina até que todas as subscrições vinculadas
ao mesmo sejam destruídas.
3.3.5. Agentes de Estado e
Migração de Notificador
Quando agentes de
estado (ver seção 4.4.11) são usados, muitas vezes é útil
permitir a migração de subscrições entre os agentes de estado e
os nó's para os quais eles estão fornecendo agregação
de estado (ou mesmo entre vários agentes de estado). Tal
migração pode ser efetuada ao enviar uma
Roach
Standards Track [Página 19]
Página original:
http://tools.ietf.org/search/rfc3265#page-19
Nenhum comentário:
Postar um comentário