La fonction de Synchronisation des fonctionnalités sert principalement à maintenir la cohérence entre l’état du téléphone et celui du serveur. Deux modes de synchronisation principaux existent : l’un basé sur le mécanisme Abonner/Notifier, l’autre mis en œuvre via des appels INVITE à l’aide des codes de fonctionnalité.
Ce paramètre s’applique à l’ensemble des modèles de nos téléphones.
Ce document est destiné au personnel de maintenance chargé du diagnostic des incidents liés aux téléphones.
Il est nécessaire d’activer au préalable la fonction de Synchronisation des fonctionnalités sur le téléphone. Par défaut, elle est désactivée et les fonctionnalités sont exécutées localement.
Élément de configuration web :
--Liste des lignes SIP-- :
SIP1 Synchronisation fonctionnelle :0
BroadSoft et Metaswitch réalisent toutes deux la synchronisation via le mécanisme Abonner/Notifier. Une fois la Synchronisation des fonctionnalités activée, le téléphone envoie un message SUBSCRIBE intégrant Événement : as-feature-event au serveur lors de l’enregistrement. Si le serveur prend en charge cette fonctionnalité, il répond par un 200 OK, puis procède à la synchronisation des états en cours, comme illustré ci-dessous :
Fortinet assure également la synchronisation des fonctionnalités par le biais des codes de fonctionnalité. Bien qu’il dépende lui aussi du mécanisme Abonner/Notifier, il n’est pas lié au paramètre de Synchronisation des fonctionnalités lui-même.
3CX, Yeastar et la plupart des autres systèmes PBX (y compris les serveurs IMS Huawei et ZTE testés) mettent en œuvre cette fonction en envoyant des requêtes INVITE pour appeler les codes de fonctionnalité. Cette méthode est plus simple à prendre en charge pour les terminaux téléphoniques.
① Lorsque la fonction Ne pas déranger est activée ou désactivée côté serveur, celui-ci transmet au téléphone un message SIP NOTIFY indiquant l’état DND (vrai/faux). Après réception, le téléphone répond par un 200 OK et active ou désactive le Ne pas déranger en conséquence. La capture de paquets est présentée ci-dessous :
② Lorsque la fonction Ne pas déranger est activée ou désactivée sur le téléphone, ce dernier envoie d’abord un message SUBSCRIBE indiquant l’état DND (vrai/faux) au serveur. Après réponse du serveur par un 200 OK et une fois le paramètre DND modifié, le serveur renvoie au téléphone un message de confirmation SIP NOTIFY avec l’état Ne pas déranger (vrai/faux). Le téléphone répond alors par un 200 OK. La capture de paquets est présentée ci-dessous :
1. Transfert inconditionnel
Le téléphone et le serveur BroadSoft synchronisent l’état d’activation du transfert inconditionnel ainsi que le numéro de transfert associé.
① Lorsque le transfert inconditionnel est activé/désactivé côté serveur et qu’un numéro de transfert est renseigné, le serveur adresse au téléphone un message SIP NOTIFY comportant l’état du transfert inconditionnel (vrai/faux) et le numéro de destination. Après réception, le téléphone répond par un 200 OK, applique le paramètre de transfert et synchronise le numéro cible.
② Lorsque le transfert inconditionnel est modifié sur le téléphone, ce dernier transmet d’abord un message SUBSCRIBE avec l’état du transfert inconditionnel (vrai/faux) au serveur. Après validation du serveur par 200 OK, et une fois le transfert activé ou désactivé, le serveur renvoie un message de confirmation NOTIFY détaillant l’état du transfert inconditionnel (vrai/faux). Le téléphone répond par 200 OK. Voir capture de paquets ci-dessous :
2. Transfert sur occupation
Le téléphone et le serveur BroadSoft synchronisent la fonction de transfert sur occupation et le numéro associé.
① Lorsque le transfert sur occupation est activé/désactivé et configuré côté serveur, celui-ci envoie un message SIP NOTIFY avec l’état de fonction (vrai/faux) et le numéro de transfert. Le téléphone répond par 200 OK et applique le paramètre correspondant.
② Lorsque le transfert sur occupation est modifié sur le téléphone, ce dernier initie un message SUBSCRIBE avec l’état du service (vrai/faux). Après réponse 200 OK du serveur, un message de confirmation NOTIFY contenant l’état final du transfert sur occupation est renvoyé au téléphone, qui valide par 200 OK. Capture de paquets ci-dessous :
3. Transfert sur absence de réponse
Le téléphone et le serveur BroadSoft synchronisent l’état d’activation du transfert sur absence de réponse et son numéro de destination.
① Lorsque le service est modifié et configuré côté serveur, un message SIP NOTIFY précisant l’état (vrai/faux) et le numéro de transfert est envoyé au téléphone. Ce dernier répond par 200 OK et applique la configuration.
② Lorsque le paramètre est ajusté sur le téléphone, un message SUBSCRIBE est transmis au serveur avec l’état du transfert sur absence de réponse (vrai/faux). Après validation serveur en 200 OK, une notification de confirmation NOTIFY est retournée au téléphone, qui répond par 200 OK. Capture de paquets ci-dessous :
② Lorsque le transfert sur absence de réponse est activé ou désactivé sur le téléphone, le téléphone first sends a SUBSCRIBE message avec l’état du transfert sur absence de réponse (vrai/faux) au serveur. Après réponse du serveur par 200 OK, et après modification du service, le serveur renvoie un message NOTIFY de confirmation. Le téléphone répond alors par 200 OK. Voir capture ci-dessous :
① Activation/désactivation du DND côté serveur (flux de paquets identique à BroadSoft)
② Activation/désactivation du DND côté téléphone (flux de paquets identique à BroadSoft)
1. Transfert inconditionnel (flux de paquets identique à BroadSoft)
① Activation ou désactivation du transfert inconditionnel côté serveur
② Activation ou désactivation du transfert inconditionnel côté téléphone
2. Transfert sur absence de réponse (flux de paquets identique à BroadSoft)
① Côté serveur
② Côté téléphone
3. Transfert sur occupation (flux de paquets identique à BroadSoft)
① Côté serveur
② Côté téléphone
Les serveurs Fortinet synchronisent les états avec le téléphone par l’intermédiaire des codes de fonctionnalité.
Lors d’un changement d’état côté serveur, celui-ci envoie un message NOTIFY au téléphone indiquant l’état DND.
Lorsque l’état est modifié sur le téléphone, ce dernier transmet un message SUBSCRIBE au serveur avec l’état DND correspondant.
La même logique s’applique aux paramètres de transfert d’appels.
Sur les serveurs 3CX, Yeastar et autres solutions similaires, une fois la Synchronisation des fonctionnalités activée, seul le téléphone peut transmettre ses états au serveur. Le serveur ne peut pas pousser les changements d’état vers le terminal. Malgré cette limitation, cette implémentation simple répond aux besoins d’usage standard.
Après activation de la Synchronisation des fonctionnalités, il est également nécessaire de configurer le code de fonctionnalité associé à chaque service, comme ci-dessous :
Lors de l’activation ou la désactivation du DND sur le téléphone, celui-ci envoie un message INVITE au serveur pour notifier la mise à jour de l’état.
Remarque :
Suite à l’ajout de la prise en charge de la fonction uaCSTA sur les versions récentes du serveur 3CX, l’activation du DND côté serveur peut désormais être signalée au téléphone via des messages Info uaCSTA. Néanmoins, nous n’utilisons pas ce type de message pour l’actualisation des états du téléphone à l’heure actuelle.