Table des matières

Introduction

Conditions préalables

Exigences

Composants utilisés

Tableaux

Requêtes SQL

Répertorier tous les numéros de répertoire associés aux téléphones IP

Répertorier les numéros de répertoire et les téléphones IP associés

Répertorier les informations sur les périphériques et les DN avec les partitions associées

Rechercher les téléphones associés à un utilisateur de niveau ligne

Rechercher les téléphones qui n'ont pas d'association d'utilisateurs de niveau ligne

Rechercher les téléphones associés à un utilisateur au niveau du périphérique

Introduction

Ce document fournit des requêtes SQL (Structured Query Language) qui peuvent être exécutées sur l'interface de ligne de commande afin d'obtenir les numéros de répertoire (DN) et les partitions associés aux téléphones IP ainsi que toute association d'utilisateur final.

Conditions préalables

Exigences

Cisco vous recommande de connaître Cisco Unified Communications Manager (CUCM).

Composants utilisés

Les informations de ce document sont basées sur CUCM versions 8.X et ultérieures, mais peuvent également fonctionner pour les versions antérieures.

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. If your network is live, make sure that you understand the potential impact of any command.

Tableaux

Les requêtes SQL sont formées avec les données de ces tables :

- Périphérique - Ce tableau contient des informations au niveau du périphérique, telles que les téléphones IP et les passerelles.

- NumPlan - Ce tableau contient des informations sur tous les modèles configurés dans CUCM.

- DeviceNumPlanMap - Cette table contient le mappage entre les données de la table Device et de la table NumPlan.

- RoutePartition - Ce tableau contient les informations sur toutes les partitions configurées dans CUCM

- EndUser - Ce tableau contient les informations relatives aux utilisateurs finaux.

- DeviceNumPlanMapEndUserMap - Cette table contient le mappage entre les données de la table DeviceNumPlanMap et de la table EndUser.

- EndUserDeviceMap - Cette table contient le mappage entre les données de la table Device et de la table EndUser.

Pour plus d'informations sur ces tables, référez-vous au Dictionnaire de données CUCM pour la version respective.

Requêtes SQL

Les requêtes sont écrites pour trouver une association à la fois afin de les rendre plus faciles à comprendre.

Répertorier tous les numéros de répertoire associés aux téléphones IP

Voici une requête conçue pour répertorier tous les numéros de répertoire associés aux téléphones IP.

run sql select dnorpattern as dn from numplan where pkid IN(select fknumplan from

devicenumplanmap where fkdevice IN (select pkid from device where tkclass =

1)) order by dn

Remarque : tkclass = 1 correspond aux téléphones IP. Le dnorpattern est une colonne dans le plan de numérotation de table qui a des DN associés aux Phones / Hunt Pilots / VM Ports / Route Patterns / CTI RP.

Répertorier les numéros de répertoire et les téléphones IP associés

Voici une requête conçue pour répertorier les numéros de répertoire et leurs téléphones IP associés.

run sql select d.name, d.description, n.dnorpattern as DN from device as d,

numplan as n, devicenumplanmap as dnpm where dnpm.fkdevice = d.pkid and

dnpm.fknumplan = n.pkid and d.tkclass = 1

name            description                  dn

=============== ============================ ====

SEP0026CBBFF47E Line 1 - 7031; Line 2 - 7011 7011

SEP0026CBBFF47E Line 1 - 7031; Line 2 - 7011 7031

SEPC89C1DA3A5A9 Line 1 - 8021                8021

SEPA40CC3956C5C Line 1 - 1213; Line 2 - 1212 1213

SEPA40CC3956C5C Line 1 - 1213; Line 2 - 1212 1212

SEP503DE57D7DAC 8501                         8501

SEP0008308B289A Line 1 - 8023                8023

SEP0008308BBEBD Line 1 - 8032; Line 2 - 8012 8012

SEP0008308BBEBD Line 1 - 8032; Line 2 - 8012 8032

La requête peut être modifiée si vous ajoutez le numéro tkmodel afin de lister les détails pour des téléphones IP de modèle spécifique. Voici une requête pour le téléphone IP modèle 7945 :

run sql select d.name, d.description, n.dnorpattern as DN from device as d,

numplan as n, devicenumplanmap as dnpm where dnpm.fkdevice = d.pkid and

dnpm.fknumplan = n.pkid and d.tkclass = 1 and d.tkmodel='435'

Voici une requête pour obtenir la valeur tkmodel pour tous les modèles de téléphones IP :

run sql select name,tkmodel from TypeProduct

Remarque : n'importe quel champ peut être filtré pour inclure uniquement les informations souhaitées. Par exemple, afin de filtrer sur DN, ajoutez ceci à la fin de la requête : où n.dnorpattern comme '8%'.

Cette requête répertorie toutes les entrées dont le nom distinctif (DN) commence par 8. Le format est où <nom de colonne> comme '<valeur>%'.

Remarque : d'autres champs fournissant des informations utiles (lisibles par l'utilisateur et non par les identificateurs de clé primaire (PKID)) peuvent être ajoutés à cette requête. Ajoutez-les entre 'run sql select' et 'as DN'. Voici les champs qui peuvent être ajoutés :

d.tkmodel - Utilisez la requête décrite dans la note précédente afin d'obtenir la valeur pour chaque modèle.

d.tkdeviceprotocol - Pour le protocole SCCP (Skinny Call Control Protocol), la valeur est 0 et pour le protocole SIP (Session Initiation Protocol), la valeur est 11.

Répertorier les informations sur les périphériques et les DN avec les partitions associées

Voici une requête conçue pour répertorier les informations de périphérique et les numéros de répertoire avec les partitions associées.

run sql select d.name, d.description, n.dnorpattern as DN, rp.name as partition

from device as d, numplan as n, devicenumplanmap as dnpm, routepartition as rp

where dnpm.fkdevice = d.pkid and dnpm.fknumplan = n.pkid and rp.pkid =

n.fkroutepartition and d.tkclass = 1

name            description                  dn   partition

=============== ============================ ==== ===========

SEPA40CC3956C5C Line 1 - 1213; Line 2 - 1212 1212 Internal_PT

SEP503DE57D7DAC 8501                         8501 Internal_PT

SEPA40CC3956C5C Line 1 - 1213; Line 2 - 1212 1213 Internal_PT

SEP0008308B289A Line 1 - 8023                8023 Internal_PT

Remarque : tous les DN qui n'ont pas de partition ne sont pas répertoriés ici.

À mesure que des tables sont ajoutées dans la requête, il est plus facile d'utiliser des jointures. La requête précédente peut également être écrite :

run sql select d.name, d.description, n.dnorpattern as DN, rp.name as partition

from device as d inner join devicenumplanmap as dnpm on dnpm.fkdevice = d.pkid

inner join numplan as n on dnpm.fknumplan = n.pkid inner join routepartition as

rp on n.fkroutepartition=rp.pkid and d.tkclass = 1

La requête peut être modifiée si vous ajoutez le numéro tkmodel afin de lister les détails pour des téléphones IP de modèle spécifique. Pour le téléphone IP modèle 7945, ajoutez et d.tkmodel='435' à la fin de la requête.

Afin d'obtenir la valeur tkmodel pour tous les modèles de téléphone IP, entrez :

run sql select name,tkmodel from TypeProduct

Remarque : n'importe quel champ peut être filtré pour inclure uniquement les informations souhaitées. Par exemple, afin de filtrer sur DN, ajoutez ceci à la fin de la requête : où n.dnorpattern comme '8%'

Cette requête répertorie toutes les entrées dont le nom distinctif (DN) commence par 8. Le format est où <nom de colonne> comme '<valeur>%'.

Remarque : d'autres champs fournissant des informations utiles (lisibles par l'utilisateur et non PKID) peuvent être ajoutés à cette requête. Ajoutez-les entre 'run sql select' et 'as DN'. Voici les champs qui peuvent être ajoutés :

d.tkmodel - Utilisez la requête décrite dans la note précédente afin d'obtenir la valeur pour chaque modèle.

d.tkdeviceprotocol - Pour SCCP, la valeur est 0 et pour SIP, la valeur est 1.

Rechercher les téléphones associés à un utilisateur de niveau ligne

Voici une requête conçue pour rechercher les téléphones qui ont une association d'utilisateurs au niveau de la ligne.

run sql select eu.userid, d.name, d.description, n.dnorpattern as DN, rp.name as

partition from device as d inner join devicenumplanmap as dnpm on dnpm.fkdevice =

d.pkid inner join devicenumplanmapendusermap as dnpeum on dnpeum.fkdevicenumplanmap=

dnpm.pkid inner join enduser as eu on dnpeum.fkenduser=eu.pkid inner join numplan as

n on dnpm.fknumplan = n.pkid inner join routepartition as rp on n.fkroutepartition=

rp.pkid and d.tkclass = 1

userid       name            description   dn   partition

============ =============== ============= ==== ===========

AMavilakandy SEP0008308B289A Line 1 - 8023 8023 Internal_PT

Cette requête ne fournit des informations que lorsque le DN se trouve dans une partition. Afin d'inclure ceux dans la partition None, saisissez :

run sql select eu.userid, d.name, d.description, n.dnorpattern as DN from device

as d inner join devicenumplanmap as dnpm on dnpm.fkdevice = d.pkid inner join

devicenumplanmapendusermap as dnpeum on dnpeum.fkdevicenumplanmap=dnpm.pkid inner

join enduser as eu on dnpeum.fkenduser=eu.pkid inner join numplan as n on dnpm.fknumplan

= n.pkid and d.tkclass = 1

La requête peut être modifiée si vous ajoutez le numéro tkmodel afin de lister les détails pour des téléphones IP de modèle spécifique. Pour le téléphone IP modèle 7945, ajoutez et d.tkmodel='435' à la fin de la requête.

Afin d'obtenir la valeur tkmodel pour tous les modèles de téléphone IP, entrez :

run sql select name,tkmodel from TypeProduct

Il existe d'autres champs qui fournissent des informations utiles (lisibles par l'utilisateur et non PKID) qui peuvent être ajoutés à cette requête. Ajoutez-les entre 'run sql select' et 'as DN'. Voici les champs qui peuvent être ajoutés :

- eu.prénom

- eu.middlename

- eu.lastname

- eu.manager

- eu.department

- eu.telephonenumber

- eu.mailid

- eu.mobile

- eu.homephone

- eu.title

- d.tkmodel - Utilisez la requête mentionnée précédemment afin d'obtenir la valeur pour chaque modèle.

- d.tkdeviceprotocol - Pour SCCP, la valeur est 0 et pour SIP, la valeur est 11.

Remarque : n'importe quel champ peut être filtré pour inclure uniquement les informations souhaitées. Par exemple, afin de filtrer sur DN, ajoutez ceci à la fin de la requête : où n.dnorpattern comme '8%'.

Cette requête répertorie toutes les entrées dont le nom distinctif (DN) commence par 8. Le format est où <nom de colonne> comme '<valeur>%'.

Rechercher les téléphones qui n'ont pas d'association d'utilisateurs de niveau ligne

Voici une requête conçue pour rechercher les téléphones qui n'ont pas d'association d'utilisateur au niveau de la ligne.

run sql select d.name, d.description, n.dnorpattern as DN, rp.name as partition

from device as d inner join devicenumplanmap as dnpm on dnpm.fkdevice = d.pkid

inner join devicenumplanmapendusermap as dnpeum on dnpeum.fkdevicenumplanmap!=

dnpm.pkid inner join numplan as n on dnpm.fknumplan = n.pkid inner join

routepartition as rp on n.fkroutepartition=rp.pkid and d.tkclass = 1

name            description                  dn   partition

=============== ============================ ==== ===========

SEPA40CC3956C5C Line 1 - 1213; Line 2 - 1212 1212 Internal_PT

SEP503DE57D7DAC 8501                         8501 Internal_PT

SEPA40CC3956C5C Line 1 - 1213; Line 2 - 1212 1213 Internal_PT

Cette requête ne fournit des informations que lorsque le DN se trouve dans une partition. Afin d'inclure ceux dans la partition None, saisissez :

run sql select d.name, d.description, n.dnorpattern as DN from device as d inner

join devicenumplanmap as dnpm on dnpm.fkdevice = d.pkid inner join

devicenumplanmapendusermap as dnpeum on dnpeum.fkdevicenumplanmap!=dnpm.pkid

inner join numplan as n on dnpm.fknumplan = n.pkid and d.tkclass = 1

La requête peut être modifiée si vous ajoutez le numéro tkmodel afin de lister les détails pour des téléphones IP de modèle spécifique. Pour le téléphone IP modèle 7945, ajoutez et d.tkmodel='435' à la fin de la requête.

Afin d'obtenir la valeur tkmodel pour tous les modèles de téléphone IP, entrez :

run sql select name,tkmodel from TypeProduct

Il existe d'autres champs qui fournissent des informations utiles (lisibles par l'utilisateur et non PKID) qui peuvent être ajoutés à cette requête. Ajoutez-les entre 'run sql select' et 'as DN'. Voici les champs qui peuvent être ajoutés :

- eu.prénom

- eu.middlename

- eu.lastname

- eu.manager

- eu.department

- eu.telephonenumber

- eu.mailid

- eu.mobile

- eu.homephone

- eu.title

- d.tkmodel - Utilisez la requête mentionnée précédemment afin d'obtenir la valeur pour chaque modèle.

- d.tkdeviceprotocol - Pour SCCP, la valeur est 0 et pour SIP, la valeur est 11.

Remarque : n'importe quel champ peut être filtré pour inclure uniquement les informations souhaitées. Par exemple, afin de filtrer sur DN, ajoutez ceci à la fin de la requête : où n.dnorpattern comme '8%'.

Cette liste répertorie toutes les entrées dont le nom distinctif (DN) commence par 8. Le format est où <nom de colonne> comme '<valeur>%'.

Rechercher les téléphones associés à un utilisateur au niveau du périphérique

Voici une requête conçue pour rechercher les téléphones qui ont une association d'utilisateurs au niveau du périphérique.

run sql select eu.userid, d.name, d.description, n.dnorpattern as DN, rp.name as

partition from device as d inner join devicenumplanmap as dnpm on dnpm.fkdevice =

d.pkid inner join enduserdevicemap as eudm on eudm.fkdevice=d.pkid inner join

enduser as eu on eudm.fkenduser=eu.pkid inner join numplan as n on dnpm.fknumplan =

n.pkid inner join routepartition as rp on n.fkroutepartition=rp.pkid and d.tkclass = 1

userid       name            description                  dn   partition

============ =============== ============================ ==== ===========

AMavilakandy SEPA40CC3956C5C Line 1 - 1213; Line 2 - 1212 1212 Internal_PT

AMavilakandy SEPA40CC3956C5C Line 1 - 1213; Line 2 - 1212 1213 Internal_PT

AMavilakandy SEP0008308B289A Line 1 - 8023                8023 Internal_PT

Cette requête ne fournit des informations que lorsque le DN se trouve dans une partition. Afin d'inclure ceux dans la partition None, saisissez :

run sql select eu.userid, d.name, d.description, n.dnorpattern as DN from device

as d inner join devicenumplanmap as dnpm on dnpm.fkdevice = d.pkid inner join

enduserdevicemap as eudm on eudm.fkdevice=d.pkid inner join enduser as eu on

eudm.fkenduser=eu.pkid inner join numplan as n on dnpm.fknumplan = n.pkid and

d.tkclass = 1

La requête peut être modifiée si vous ajoutez le numéro tkmodel afin de lister les détails pour des téléphones IP de modèle spécifique. Pour le téléphone IP modèle 7945, ajoutez et d.tkmodel='435' à la fin de la requête.

Afin d'obtenir la valeur tkmodel pour tous les modèles de téléphone IP, entrez :

run sql select name,tkmodel from TypeProduct

Il existe d'autres champs qui fournissent des informations utiles (lisibles par l'utilisateur et non PKID) qui peuvent être ajoutés à cette requête. Ajoutez-les entre 'run sql select' et 'as DN'. Voici les champs qui peuvent être ajoutés :

- eu.prénom

- eu.middlename

- eu.lastname

- eu.manager

- eu.department

- eu.telephonenumber

- eu.mailid

- eu.mobile

- eu.homephone

- eu.title

- d.tkmodel - Utilisez la requête mentionnée précédemment afin d'obtenir la valeur pour chaque modèle.

- d.tkdeviceprotocol - Pour SCCP, la valeur est 0 et pour SIP, la valeur est 11.

Remarque : n'importe quel champ peut être filtré pour inclure uniquement les informations souhaitées. Par exemple, afin de filtrer sur DN, ajoutez ceci à la fin de la requête : où n.dnorpattern comme '8%'.

Cette liste répertorie toutes les entrées dont le nom distinctif (DN) commence par 8. Le format est où <nom de colonne> comme '<valeur>%'.