RFC 3265
Notificação de Evento Específico-SIP Junho 2002
A tentação natural é
transmitir meramente o evento (por exemplo, "uma nova mensagem de voz
acabou de chegar"), sem acompanhamento de estado (por exemplo, "7
mensagens de voz total"). Isso complica a implementação de entidades que subscrevem
(já que eles precisam manter o estado completo da entidade para o qual se
subscreveu), e também é particularmente suscetível a problemas de sincronização.
Existem duas possíveis soluções
para esse problema que pacotes-evento podem escolher implementar.
4.3.1. Informação Completa
de Estado
Para pacotes que tipicamente transmitem
informação de estado que é razoavelmente pequeno (na ordem de 1 kb aproximadamente),
é sugestionado que pacotes-evento sejam projetados a fim de enviar informação completa
de estado quando um evento ocorrer.
Em algumas circunstâncias, transmitir
o estado atual apenas pode ser insuficiente para uma classe particular de eventos.
Nesses casos, os pacotes-evento devem incluir informação completa de estado junto
com o evento que ocorreu. Por exemplo, transmitir "nenhum representante de
serviço ao cliente disponível" pode não ser tão útil quanto transmitir
"nenhum representante de serviço ao cliente disponível; representante sip:46@cs.xyz.int
acabou de fazer logoff".
4.3.2. Deltas do Estado
No caso de a informação de estado
ser grande para ser transmitida, o pacote-evento pode escolher detalhar um esquema
pelo qual mensagens NOTIFY contêm deltas de estado em vez de estado completo.
Tal esquema funcionaria da
seguinte forma: qualquer NOTIFY enviado em resposta imediata a um SUBSCRIBE
contém informação completa de estado. Mensagens NOTIFY enviadas devido a uma
mudança de estado vão conter apenas informação de estado que sofreu alteração;
o subscritor vai então mesclar essa informação em seu conhecimento atual sobre
o estado do recurso.
Qualquer pacote-evento que suporta
deltas de variação nos estados PRECISA incluir um número de versão que aumenta
exatamente por um para cada transação NOTIFY em uma subscrição. Note que o número
de versão do estado aparece no corpo da mensagem, e não em um cabeçalho do SIP.
Se chegar um NOTIFY que tenha
um número de versão que é incrementado por mais de um, o subscritor sabe que um
delta estado foi perdido, mas ele ignora a mensagem NOTIFY que contém o delta
estado
Roach Standards Track [Página 23]
http://tools.ietf.org/search/rfc3265#page-23
Nenhum comentário:
Postar um comentário