Unified Communications Guerrilla CUCM requêtes SQL CDR Analyse (CAR)
Quelques informations supplémentaires.
Car je suis le poste de cette semaine allons explorer la base de données Cisco analyse CDR et rapports (RCA). CAR est une application que Cisco a inclus avec CUCM depuis avant le changement de nom de « CallManager ». En fait, si l'on veut obtenir tous les nostalgiques à ce sujet, la RCA est le « artiste anciennement connu sous le nom » ART. Heureusement, je ne vois pas le point dans l'exploration de l'histoire et ne vous ennuyer avec les détails. Nous voulons juste obtenir les données.
Quelles sont les données? Eh bien, la RCA est un service d'application qui fonctionne sur le cluster CUCM (l'éditeur, en fait). Si elle est activée, cette application peut consommer les enregistrements des appels de détail (CDR) et appeler la maintenance (ou diagnostic) dossiers (CMR). Les données CDR / CMR est écrit dans une base de données distincte sur l'éditeur de CUCM. Ainsi, les données qui nous intéresse est des données CDR.
- Activer le service sur le nœud de l'éditeur CUCM Analyse CDR et rapports (RCA).
- Système> Paramètres du service et définir le service Cisco CallManager « Diagnostic Appel activé » paramètre true sur chaque nœud de cluster qui a le service CallManager activé.
la requête de cette semaine
Je vais utiliser un exemple d'une évaluation que je l'ai fait pour un de mes clients. Le client n'a pas de classe de restriction appliquée dans le plan de numérotation CUCM. Ils voulaient que je redessiner son plan de numérotation et appliquer COR. Cependant, avant de verrouiller le système qu'ils voulaient savoir:
- Qui avait placé des appels vers des destinations internationales
- S'il y avait des cas où une ligne téléphonique appels transférés activement à LD et les destinations internationales
Les pièces mobiles
Référençant la base de données de la RCA:
Du point de vue de la base de données db CAR et base de données CUCM sont des instances de base de données distincts. Ce qui signifie que lorsque vous exécutez une requête sur la base de données de la RCA, vous devez identifier la source de données. Pour garder les choses simples, je suppose les gens testent ces requêtes à partir de la CLI sur la CUCM. Donc, quelque chose comme:
La commande ci-dessus sont exactes lors de l'interrogation de la base de données CUCM (ou CCM). Cependant, pour accéder à la base de données de CAR vous réellement besoin de faire référence à la base de données par son nom. Par exemple:
Notez que nous identifions clairement la base de données de la RCA lors de la définition de la requête. Dans les versions de CUCM avant 8.0, vous identifier la base de données de la RCA dans la clause. A partir de la version 8.0 CUCM, vous spécifiez en fait la source de données avant la clause select.
Le tableau tbl_billing_data:
Pour en revenir à nos requêtes. Le tableau que nous sommes plus intéressés est la table tbl_billing_data. Cette table contient tous les éléments que nous devons accomplir la tâche à accomplir. La première exigence était d'identifier les appels vers des destinations internationales. Cette information est accessible en exécutant la requête suivante: (Vous pouvez exécuter la requête de la CLI à l'aide sql d'exécution [requête d'insertion])
Cela fournirait quelque chose comme ce qui suit:
Bien sûr, vous devrez ajuster votre clause where pour répondre à votre plan de numérotation. Dans notre exemple, nous supposons que l'on utilise un préfixe « 9 » pour les appels nets au large. Nous allons arriver à ce champ de dateTimeOrigination méchant dans un instant.
La condition suivante est d'identifier les appels où l'appelant a été transmise à une longue distance hors réseau ou destination internationale. Cette information est accessible en exécutant la requête suivante: (Vous pouvez exécuter la requête de la CLI à l'aide sql d'exécution [requête d'insertion])
Cela fournirait quelque chose comme ce qui suit:
Donc, j'ai jeté dans quelques petits « tours » dans la deuxième requête. J'utilise un raccourci pour analyser des chaînes dans la clause where de la requête. L'une des expressions est « finalCalledPartyNumber [1,4] = « 9011 ». En fait, cette expression vérifie si les quatre premiers caractères du finalCalledPartyNumber est exactement « 9011 ». En utilisant la même technique que je peux vérifier pour un grand « 91 » sur la chaîne finalCalledPartyNumber en utilisant:. « finalCalledPartyNumber [1,2] » Il y a d'autres jokers que vous pouvez utiliser en conjonction avec l'instruction LIKE mais j'ai mes propres préférences Voilà comment je roule..
De plus pressant intérêt est que nous sommes en mesure de trouver facilement les appels transférés en regardant les champs originalCalledPartyNumber et finalCalledPartyNumber. Lorsque ces deux sont différents, vous êtes à la recherche habituellement à un appel transmis. Fort de cette hypothèse générale, nous pouvons affiner la clause where pour affiner nos critères à internationaux et longue distance des destinations d'appel final.
Le dateTimeOrigination terrain
J'entends souvent des gens poser des questions sur le champ dateTimeOrigination et comment interpréter le champ. CUCM stocke les informations de date / heure CDR au format époque. Il existe de nombreux outils de conversion sur le web. Si vous tiriez des données CDR dans Excel, vous pouvez ensuite utiliser la formule suivante (dans une nouvelle cellule) pour effectuer la conversion:
Excellent travail sur cette série, c'est une sorte de « oublié » le sujet, jusqu'à ce que le jour où quelqu'un vous demande quelque chose. lol ..
1 - Je vois ces résultats des requêtes sur les sorties sur le terminal client. Est-il possible de le faire dans un fichier (comme txt), puis le télécharger via RTMT ou si, donc si vous avez un grand résultat que vous pouvez ouvrir dans Excel et sur le travail là-dessus?
2 - Comme je ne suis pas familier avec SQL et ainsi, est-il un document qui contient les expressions / jokers qui peuvent être utilisés sur les requêtes?
Je vois le côté « CUCM » est assez simple, il vous suffit d'utiliser le nom du champ de CDR pour obtenir ce que vous voulez sur le résultat, mais comme il vient de filtrer je ne suis pas sûr de ce que peut être utilisé.
Merci pour les commentaires.
1. Oui, je suis en utilisant le CLI des exemples pour donner aux gens une interface qu'ils peuvent utiliser tout de suite pour se familiariser avec l'interface. Dans la pratique, je l'utilise en fait un outil que j'ai développé pour exécuter les requêtes à distance. Cet outil utilise AXL / SOAP pour interroger la db. Vous auriez besoin quelque chose dans ce sens que vous ne pouvez pas vider les résultats dans un fichier sur le nœud CUCM.
2. Ceci est une bonne question. Il y a des jokers que vous pouvez utiliser lorsque la clause where utilise LIKE ou MATCH. LIKE est la norme ANSI alors que MATCH est l'extension Informix. Je l'utilise toujours comme pour aucune autre raison autre que ce que j'utilisé avec d'autres interprètes de requête de SGBD.
Pour votre exemple, vous pouvez essayer:
sélectionnez datetimeOrigination, callingPartyNumber,
originalCalledPartyNumber, finalCalledPartyNumber
de tbl_billing_data
où callingPartyNumber comme '% 5% ___'
La clause where capture ci-dessus contiennent une chaîne 5 suivi de 3 caractères (supposés être numérique compte tenu du contexte de la question). Ainsi, 4445000 matchs comme le fait 444500044, 5123, 5000, 599944, etc. « % » est un match de zéro ou plusieurs caractères alors que le trait de soulignement « _ » signifie un seul caractère.
Mon nom est William Bell (CCIE # 38914) et je suis un consultant senior et responsable de la pratique avec Chesapeake NetCraftsmen. Mon domaine d'expertise est Cisco Unified Communications (UC) et de collaboration. J'ai travaillé avec UC et des solutions de collaboration et de produits depuis plus de 10 ans.
Mon objectif avec ce blog est de partager mon interprétation indépendante sur la conception, le déploiement et le maintien de communications unifiées et des solutions de collaboration.
Rechercher dans ce blog
Suivez les Guerrilla
suivre par email
Un couple d'années j'ai commencé une série de blog sur la boîte à outils SOAP AXL que Cisco fournit Unified Communications Manager (CUCM de). Rece.
Ceci est une note rapide sur l'obtention d'un adaptateur USB-série travaille sur mon MacBook Pro pour que je puisse la console dans les routeurs Cisco, commutateurs, etc. Y.
Cisco a été gouvernait clients et partenaires de centraliser l'ensemble du traitement des appels sur le Cisco Unified Communications (CUCM). Ce i.
Alors que nous avançons sur la route avec les versions de Cisco UCM nous sommes doués de plus en plus de variantes « mise à niveau ». D'abord les Bridg.