Prédiction de l'état du réseau VoIP sur la base des fichiers journaux de texte du serveur d'applications SIP

La surveillance de l'état du réseau de signalisation VoIP est l'une des conditions importantes qui permettent au fournisseur UCaaS de fournir aux clients un niveau de qualité garanti de services tels que les appels audio et vidéo, la réception et la transmission de fax. Typiquement, un tel contrôle est effectué à l'aide de divers systèmes de surveillance, collecte et analyse du trafic, analyse CDR. Certains paramètres du réseau de signaux sont assez difficiles et souvent impossibles à évaluer en utilisant les méthodes indiquées.


Une source possible d'informations importantes sur l'état d'un réseau de signalisation VoIP est le SIP Application Server (SIP AS), l'un des principaux éléments impliqués dans le traitement des appels dans un réseau VoIP. Les fichiers journaux SIP AS vous permettent, entre autres, d'évaluer les paramètres suivants d'un réseau de signalisation VoIP:


  • Longueur de la boîte de dialogue SIP
  • Intervalle de temps entre l'envoi d'une demande et la réception d'une réponse finale (temps de demande-réponse, RRT) pour différents types de demandes SIP
  • Le nombre de retransmissions de messages (retransmissions, RTR) pour différents types de messages SIP

Non seulement les valeurs de ces paramètres sont importantes, mais aussi la distribution de ces paramètres, ainsi que leurs évolutions dans le temps. Les informations sur l'évolution des valeurs des paramètres au fil du temps permettent de prédire les éventuels problèmes dans un réseau VoIP. Ces informations peuvent également servir de source de données pour différents algorithmes de machine learning (machine learning, ML), qui permettront de prédire les changements de paramètres non seulement en fonction du temps, mais également d'autres facteurs.


En fonction de la charge du signal, SIP AS peut générer des fichiers journaux au format texte jusqu'à plusieurs dizaines de Go par jour. L'analyse des fichiers texte d'un tel volume est une tâche gourmande en ressources. Comme l'une des options possibles, divers outils Python peuvent être utilisés pour cette analyse. Par exemple, la bibliothèque Pandas fournit des outils assez pratiques pour traiter et analyser diverses données, en particulier les trames de données (DF). Le code utilisé dans cet article est disponible ici .
Les étapes suivantes sont suggérées pour analyser les fichiers journaux SIP AS:


  1. Ouvrez le fichier journal pour la lecture. Si SIP AS a créé plusieurs fichiers journaux, ils doivent être ouverts dans le même ordre dans lequel ils ont été créés.
  2. Lisez les données ligne par ligne. Cela est nécessaire pour économiser de la RAM dans le cas de travailler avec des fichiers d'unités de dizaines de Go
  3. Mettez en surbrillance les messages SIP situés entre des séquences spécifiques de caractères - délimiteurs
  4. Créez une liste de dictionnaires. Chacun des dictionnaires, à son tour, se compose d'un horodatage (clé) et du message SIP réel (valeur) sous la forme d'une liste
  5. Enregistrez cette liste sur le disque ou sur le stockage réseau comme, par exemple, un fichier pickle. Ce fichier sera utilisé ultérieurement pour créer différents DF.
  6. Créer un DF à partir d'un fichier de cornichons enregistré contenant les informations nécessaires pour une analyse plus approfondie (SIP DF)

Dans ce cas particulier, un DF SIP a été créé contenant les colonnes suivantes:


  • Horodatage - horodatage ajouté par SIP AS
  • ID d'appel - ID d'appel de la conversation SIP
  • CSeq_num, CSeq_meth - données de l'en-tête SIP 'CSeq'
  • Direction - message reçu (Rx <-) ou envoyé (Tx->), SIP AS est ajouté
  • Méthode SIP - Méthode SIP de SIP Request-Line
  • Src Dst IP - Adresse IP à partir de laquelle le message a été envoyé ou reçu

image


Fig. 1. Paramètres de SIP DF obtenus à partir d'un fichier de pickle d'environ 3 Go


image


Fig. 2. Contenu de SIP DF


Ayant un DF SIP similaire, vous pouvez évaluer divers paramètres d'un réseau VoIP de signalisation. Tous les exemples ci-dessous proviennent d'un réseau VoIP valide. Les adresses IP et autres données pouvant fournir des informations sur le réseau spécifié ont été modifiées.


1. La durée du dialogue SIP


image
image
Fig. 3. Longueur des boîtes de dialogue DF et SIP


Pour chaque cas d'un long dialogue SIP, vous pouvez trouver l'appel par la valeur Call-ID et ensuite, par des journaux de texte, analyser le scénario de cet appel. Malgré le nombre relativement faible d'appels pour lesquels la durée de la conversation SIP est de plusieurs dizaines à plusieurs centaines de messages, les scénarios de ces appels doivent être étudiés. L'étude de ces appels a révélé les sources suivantes de longs dialogues SIP:


  • Transmission de plusieurs dizaines de groupes d'une certaine structure, constitués de caractères DTMF, après la mise en place d'une session vocale. Il s'agit d'un scénario d'appel vocal au cours duquel l'authentification, l'autorisation et l'échange d'informations entre les abonnés appelants et appelés ont lieu.
  • Appels vidéo au cours desquels un très grand nombre de demandes de demande de trame complète ( FIR ) ont été notées. Cela indique en particulier un problème de logiciel de téléphone ou une perte de paquets RTP pendant les appels vidéo.

De longues boîtes de dialogue SIP peuvent également apparaître en raison d'un dysfonctionnement de l'équipement VoIP, de tentatives de sélection de codes PIN via un menu IVR (envoi d'un grand nombre de séquences DTMF). Dans tous les cas, il est nécessaire de surveiller le nombre de longues conversations SIP, car avec une augmentation du nombre de ces dialogues, une charge de signal inutile supplémentaire sur les éléments du réseau VoIP peut apparaître.


2. RRT


Il est calculé séparément pour les demandes INFO et INVITE reçues et envoyées. Gardez à l'esprit que lors du traitement d'un grand nombre d'appels, les mêmes valeurs CSeq pour différentes boîtes de dialogue peuvent apparaître. On peut supposer que la distribution des valeurs RRT devrait être approximativement la même pour les demandes envoyées, les valeurs absolues devraient différer en raison de la taille et du contenu différents des demandes INFO et INVITE et, par conséquent, les différents temps de traitement de ces demandes par les éléments de réseau.


image
Fig. 3. RRT pour les demandes INFO reçues par SIP AS
L'augmentation des valeurs RRT dans ce cas indique des problèmes possibles avec la virtualisation, une augmentation de la charge sur SIP AS. Call-ID et CSeq_num vous permettent d'examiner les valeurs RRT pour chaque cas.


image
Fig. 4. RRT pour les demandes INFO envoyées par SIP AS. Le RRT sur le graphique est limité à 500 ms, qui est la valeur par défaut pour le temporisateur SIP T1 .


image
Fig. 5. RRT pour les demandes INVITE envoyées par SIP AS. Comme prévu, la distribution est approximativement la même que pour les requêtes INFO.


3. RTR


Un paramètre important qui caractérise l'état d'un réseau de signalisation VoIP.


image
Fig. 6. Le pourcentage de retransmission des demandes INFO et INVITE, respectivement. Les RTR qui se produisent une ou plusieurs fois sont pris en compte.


En plus des exemples décrits, d'autres données peuvent être obtenues en utilisant DF, par exemple:


  • Équilibrage de charge SIP AS correct pour les messages sortants. Pour ce faire, vous devez compter le nombre de messages envoyés (Tx) vers différentes adresses IP (SrcDst IP) à l'aide de groupby (). Count () - similaire à la fonction retransmits_counter_tx (). La différence dans le nombre de messages de plus de 15 à 20% indique un partage de charge incorrect
  • Le nombre de transferts d'appel ayant échoué. Pour ce faire, vous pouvez créer un DF distinct contenant uniquement les boîtes de dialogue REFER, ainsi que les en-têtes et les champs nécessaires à partir des messages de ces boîtes de dialogue
  • La dépendance des paramètres sur le temps. Si vous collectez la valeur moyenne d'un des paramètres, par exemple, RRT, sur plusieurs mois, vous pouvez alors construire une série chronologique (série chronologique, TS) sur la base des données. À l'aide de diverses bibliothèques pour l'analyse TS, par exemple, les modèles statistiques, vous pouvez déterminer la tendance, la saisonnalité et d'autres paramètres TS. Les données de cette prévision peuvent être utilisées pour ajuster l'architecture du réseau VoIP.

Conclusion


Les fichiers journaux de texte SIP AS sont une source importante d'informations sur l'état actuel d'un réseau VoIP. De plus, les données obtenues après un traitement approprié de ces informations peuvent être utilisées pour prédire l'état d'un réseau VoIP, notamment à l'aide de méthodes ML.

Source: https://habr.com/ru/post/fr440458/


All Articles