Eu me deparei com esse problema exato. O objetivo era entregar cada alerta ao longo de um caminho de escalonamento - enviando o alerta para a próxima pessoa na lista, se não fosse reconhecido em um determinado período de tempo. Determinamos que o Jabber era a melhor solução, mas para fazer isso corretamente, tínhamos que estender o protocolo ou investigar mais clientes. (O protocolo presta-se muito bem à extensão e há inúmeros clientes disponíveis). Esse problema foi porque frequentemente era desejável reconhecer alguns alertas, mas não outros.
Por exemplo. O caminho final de um alerta:
Send to admin A via Jabber.
No acknowledgement after 5 minutes, sent to admin B via Jabber.
No acknowledgement after 5 minutes, sent to admin A via SMS.
No acknowledgement after 5 minutes, sent to admin B via SMS.
No acknowledgement after 5 minutes, sent to admin A and B's manager via Jabber.
No acknowledgement after 5 minutes, sent to admin A and B's manager via SMS.
Manager evaluates the alert, acknowledge it or phones admin A or B.
O problema é que, se um segundo alerta for gerado no meio deste processo, o administrador A ou B pode desejar reconhecê-lo, mas não reconhecer o primeiro alerta. Por exemplo, se eles estiverem ocupados com um problema separado que gerou o outro alerta ou se não estiverem perto de um computador, saiba que o segundo alerta não é sério, mas que o primeiro alerta precisa ser tratado por alguém próximo a um alerta. computador e o mecanismo de escalonamento é a maneira mais eficiente de encontrar a pessoa certa.
Havia dois tipos de entrega de mensagens no Jabber. (Acredito que chamado normal vs chat) É possível que um dos dois tipos tenha permitido uma diferenciação na qual a mensagem foi respondida. Infelizmente, o tipo de mensagem que poderia ter permitido isso causou extrema inconveniência com os clientes que testamos se uma grande quantidade de mensagens foi recebida. (Também não tenho certeza se o teste das pessoas determinou se era possível realmente diferenciar o que estava sendo respondido, devido a esse problema sobrecarregar o teste).
Como era exploratório e não tivemos tempo de implementar uma solução completa, não determinamos se o problema era apenas escolher um cliente melhor ou se extensões ao protocolo eram necessárias. Eu ainda acho que o Jabber é o melhor método para entregar alertas. Para qualquer sistema de encaminhamento / entrega de alertas, uma pessoa que reconhece um alerta deve assumir a propriedade do alerta e deve haver repercussões para todos não reconhecerem um alerta. Isso tem que funcionar com o sistema, compreendendo a melhor maneira de alcançar uma pessoa, uma rotação de plantão, o risco de inundações de alerta, a emissão de alertas criados por uma pessoa que está atualmente fora da rotação e quaisquer considerações políticas causadas por um sistema de alerta que cria acidentalmente a responsabilidade se o sistema existente não possui nenhum.