Introduction
Ce document décrit comment configurer enableDelayQuickReinvite pour empêcher le serveur d'applications (AS) d'envoyer re-INVITE trop rapidement après un ACK.
Conditions préalables
- Connaissances de base du protocole SIP (Session Initiation Protocol)
- Connaissances AS de base
- Connaissances de base de BroadWorks bwcli
Exigences
- Être capable d'utiliser l'AS bwcli et un utilisateur admin
- Pouvoir vérifier les XSLogs AS
Composants utilisés
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Informations générales
Dans certains scénarios d'appel, le système autonome doit démarrer une reconnexion et, pour ce faire, il envoie une nouvelle invitation aux deux extrémités. Cela se produit lorsque le système autonome doit déclencher une reconnexion après qu'une session a été établie, par exemple pour les appels vers des centres d'appels, des groupes de recherche ou ceux qui impliquent la fonctionnalité Cliquer pour composer ou Enregistrement d'appel.
Lorsque le système autonome doit envoyer re-INVITE après que l'accusé de réception a été envoyé dans le même dialogue, le système autonome envoie normalement re-INVITE au même moment que l'accusé de réception, ce qui peut entraîner la réception désordonnée des messages ACK et re-INVITE par le périphérique distant.
Lorsque cela se produit, le périphérique qui reçoit le message re-INVITE avant le message ACK en attente peut rejeter le message re-INVITE, normalement avec un code d'erreur 500 (mais cela peut varier, en fonction de l'implémentation du périphérique distant).
Configurer
Deux paramètres sont utilisés pour configurer cette fonctionnalité. Ils sont tous deux situés dans l'interface bwcli à l'adresse AS_CLI/Interface/SIP>.
- enableDelayQuickReInvite est le commutateur principal pour activer ou désactiver la fonctionnalité. Les valeurs acceptées sont true et false.
- delayQuickReInviteMilliseconds est la valeur en millisecondes (ms) du délai ajouté après l'ACK. La plage de valeurs est comprise entre 100 ms et 10000ms.
Afin de configurer cette fonctionnalité, ouvrez l'AS bwcli, connectez-vous en tant qu'utilisateur Admin, puis accédez à AS_CLI/Interface/SIP> :
AS_CLI> cd /Interface/SIP
AS_CLI/Interface/SIP>
Exécutez d'abord une commande get pour vérifier les valeurs actuelles des deux paramètres. Par défaut, enableDelayQuickReInvite est désactivé (false) et la valeur par défaut de delayQuickReInviteMilliseconds est 1000 (1000 ms, ou 1 seconde).
Une partie du résultat de la commande get est omise pour une meilleure lisibilité.
AS_CLI/Interface/SIP> get
...
enableDelayQuickReInvite = false
delayQuickReInviteMilliseconds = 1000
...
Configurez ensuite le paramètre delayQuickReInviteMilliseconds. Vous pouvez accepter la valeur par défaut ou utiliser celle qui convient le mieux à votre environnement. La recommandation est d'utiliser la valeur la plus basse possible, il est donc conseillé de commencer par la valeur de 100ms, et de l'augmenter juste au cas où il ne suffit pas de permettre au problème d'être résolu.
AS_CLI/Interface/SIP> set delayQuickReInviteMilliseconds 100
...Done
Une fois que la valeur de delayQuickReInviteMilliseconds a été configurée, vous pouvez activer enableDelayQuickReInvite.
AS_CLI/Interface/SIP> set enableDelayQuickReInvite true
...Done
Vérifier
Une fois la configuration terminée, exécutez à nouveau le scénario d'appel pour vérifier que le système autonome ajoute le délai entre l'accusé de réception et le message de réinvitation. Par exemple, si le système autonome a été configuré pour ajouter 100 ms, vous pouvez vous attendre à ce que le délai soit d'au moins 100 ms, mais il peut être supérieur de quelques ms.
100 ms suffisent normalement pour empêcher la réception des messages ACK et REINVITE dans le désordre, mais la valeur peut être plus élevée, en fonction de l’environnement réseau et des entités SIP impliquées dans le chemin de signalisation.
Dépannage
Si le périphérique répond toujours avec un code d'erreur 500 et que les commandes ACK et re-INVITE ont été livrées dans le bon ordre, une enquête plus approfondie est nécessaire sur le périphérique.
Utilisez les XSLogs sur le système autonome pour vérifier que le système autonome a ajouté le délai tel que configuré, et utilisez une capture de paquets ou les journaux de périphérique pour vous assurer que le délai était suffisant pour que les messages soient remis dans le bon ordre.
Notez que cela ne fonctionne que lorsque le système autonome envoie un message de réinvitation juste après avoir envoyé un accusé de réception, mais cela ne fonctionne pas dans le cas où le système autonome reçoit un accusé de réception et que cela amène le système autonome à envoyer un message de réinvitation.