A função de Sincronização de Recursos é utilizada principalmente para manter o estado do telefone sincronizado com o estado do servidor. Existem dois métodos principais de sincronização: um baseado no mecanismo Subscribe/Notify e outro implementado por meio de chamadas INVITE usando Códigos de Recursos.
Esta funcionalidade se aplica a todos os modelos dos nossos telefones.
Este documento é destinado à equipe de manutenção responsável pela resolução de incidentes relacionados aos telefones.
Primeiro, é necessário habilitar a função de Sincronização de Recursos no telefone. Por padrão, ela vem desabilitada e os recursos são executados localmente.
Item de configuração web:
--Lista de Linhas SIP-- :
SIP1 Sincronização de Recursos :0
Tanto a BroadSoft quanto a Metaswitch realizam a sincronização por meio do mecanismo Subscribe/Notify. Após habilitar a Sincronização de Recursos, o telefone envia uma mensagem SUBSCRIBE com Event: as-feature-event ao servidor durante o registro. Se o servidor suportar esse recurso, ele responde com 200 OK e, em seguida, sincroniza o estado atual, conforme ilustrado abaixo:
A Fortinet também suporta a sincronização de recursos por meio de Códigos de Recursos. Embora também dependa do mecanismo Subscribe/Notify, não está vinculada à própria configuração da Sincronização de Recursos.
O 3CX, Yeastar e a maioria dos demais sistemas PBX (incluindo servidores IMS Huawei e ZTE testados) implementam essa função enviando requisições INVITE para acionar os Códigos de Recursos. Esse método é relativamente simples de ser suportado por telefones terminais.
① Quando o Não Perturbe é habilitado ou desabilitado no servidor, o servidor envia uma mensagem SIP NOTIFY ao telefone contendo o estado DND (verdadeiro/falso). Ao receber a mensagem, o telefone responde com 200 OK e habilita ou desabilita o Não Perturbe de forma correspondente. A captura de pacotes é exibida abaixo:
② Quando o Não Perturbe é habilitado ou desabilitado no telefone, o dispositivo primeiro envia uma mensagem SUBSCRIBE com o estado DND (verdadeiro/falso) ao servidor. Após o servidor responder com 200 OK e a alteração do estado DND ser concluída, o servidor devolve uma mensagem de confirmação SIP NOTIFY com o estado atualizado do Não Perturbe (verdadeiro/falso) para o telefone, que responde com 200 OK. A captura de pacotes é exibida abaixo:
1. Desvio Incondicional
O telefone e o servidor BroadSoft sincronizam o status de ativação do desvio incondicional, além do número de destino do desvio.
① Quando o desvio incondicional é habilitado/desabilitado no servidor e um número de desvio é configurado, o servidor envia uma mensagem SIP NOTIFY ao telefone com o estado do desvio incondicional (verdadeiro/falso) e o número de destino. Após o recebimento, o telefone responde com 200 OK, aplica a configuração do desvio e sincroniza o número cadastrado.
② Quando o desvio incondicional é alterado no telefone, o dispositivo envia primeiramente uma mensagem SUBSCRIBE com o estado do desvio incondicional (verdadeiro/falso) ao servidor. Após o servidor retornar 200 OK e a alteração ser efetivada, o servidor envia uma mensagem de confirmação SIP NOTIFY com o estado atualizado (verdadeiro/falso) ao telefone, que responde com 200 OK. A captura de pacotes é exibida abaixo:
2. Desvio Ocupado
O telefone e o servidor BroadSoft sincronizam a função de desvio ocupado e o respectivo número de destino.
① Quando o desvio ocupado é habilitado/desabilitado e configurado no servidor, o servidor envia uma mensagem SIP NOTIFY contendo o estado da função (verdadeiro/falso) e o número de desvio. O telefone responde com 200 OK e aplica a configuração correspondente.
② Ao alterar o desvio ocupado no telefone, o dispositivo envia uma mensagem SUBSCRIBE com o estado do serviço (verdadeiro/falso). Após o servidor responder com 200 OK, uma mensagem de confirmação NOTIFY com o estado final do desvio ocupado é enviada ao telefone, que confirma com 200 OK. A captura de pacotes é exibida abaixo:
3. Desvio Sem Resposta
O telefone e o servidor BroadSoft sincronizam o status de ativação do desvio sem resposta e o número de destino configurado.
① Quando o desvio sem resposta é habilitado/desabilitado no servidor e possui número cadastrado, o servidor envia uma mensagem SIP NOTIFY com o estado da função (verdadeiro/falso) e o número de desvio. O telefone responde com 200 OK e aplica a configuração.
② Ao alterar o desvio sem resposta no telefone, o dispositivo envia uma mensagem SUBSCRIBE com o estado do serviço (verdadeiro/falso) ao servidor. Após o servidor confirmar com 200 OK, o servidor retorna uma mensagem NOTIFY de confirmação com o estado atualizado (verdadeiro/falso), e o telefone responde com 200 OK. A captura de pacotes é exibida abaixo:
② Quando o desvio sem resposta é habilitado ou desabilitado no telefone, o telefone envia primeiro uma mensagem SUBSCRIBE com o estado do desvio sem resposta (verdadeiro/falso) ao servidor. Após o servidor responder com 200 OK e a alteração ser feita, o servidor envia uma mensagem de confirmação SIP NOTIFY com o estado atualizado de desvio sem resposta (verdadeiro/falso) ao telefone. O telefone então responde com 200 OK. A captura de pacotes é exibida abaixo:
① Ativação/desativação do DND no lado do servidor (mesmo fluxo de pacotes da BroadSoft)
② Ativação/desativação do DND no lado do telefone (mesmo fluxo de pacotes da BroadSoft)
1. Desvio Incondicional (mesmo fluxo de pacotes da BroadSoft)
① Servidor habilita ou desabilita o desvio incondicional
② Telefone habilita ou desabilita o desvio incondicional
2. Desvio Sem Resposta (mesmo fluxo de pacotes da BroadSoft)
① Servidor
② Telefone
3. Desvio Ocupado (mesmo fluxo de pacotes da BroadSoft)
① Servidor
② Telefone
Os servidores Fortinet sincronizam o estado com o telefone por meio de Códigos de Recursos.
Quando o servidor altera um estado, ele envia uma mensagem NOTIFY ao telefone contendo o status DND.
Quando o telefone altera um estado, ele envia uma mensagem SUBSCRIBE ao servidor com o status DND atualizado.
A mesma lógica se aplica às configurações de desvio de chamadas.
Após habilitar a Sincronização de Recursos em servidores como 3CX e Yeastar, apenas o telefone consegue enviar seu estado para o servidor. O servidor não consegue enviar alterações de estado de volta ao telefone. Apesar dessa limitação, a implementação é simples e atende aos requisitos de uso normal.
Depois de ativar a Sincronização de Recursos, também é necessário configurar o Código de Recurso correspondente a cada função, conforme mostrado abaixo:
Ao habilitar ou desabilitar o Não Perturbe no telefone, o dispositivo envia uma mensagem INVITE ao servidor para notificar a sincronização do estado.
Observação:
Com a adição posterior do suporte à função uaCSTA no servidor 3CX, quando o DND é habilitado no lado do servidor, o servidor pode usar mensagens Info uaCSTA para notificar o telefone sobre a alteração. No entanto, atualmente não utilizamos esse tipo de mensagem para atualizar o estado do telefone.