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ées aux téléphones IP avec toute association d'utilisateur final.
Conditions préalables
Conditions requises
Cisco vous recommande de connaître Cisco Unified Communications Manager (CUCM).
Components Used
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 - Cette table contient les informations sur toutes les partitions configurées dans CUCM
- Utilisateur final - 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 tableaux, reportez-vous au dictionnaire de données CUCM pour la version correspondante.
Requêtes SQL
Les requêtes sont écrites pour trouver une association à la fois afin de les rendre plus faciles à comprendre.
Liste de tous les DN associés aux téléphones IP
Voici une requête conçue pour répertorier tous les DN 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
Note: tkclass = 1 est pour les téléphones IP. Le dnorpattern est une colonne du plan de numérotation de table qui a des DN associés aux téléphones / pilotes de recherche / ports VM / modèles de route / RP CTI.
Répertorier les DN et leurs téléphones IP associés
Voici une requête conçue pour répertorier les numéros de répertoire et les 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 répertorier les détails de téléphones IP de modèle spécifiques. Voici une requête pour le modèle de téléphone IP 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éphone IP :
run sql select name,tkmodel from TypeProduct
Note: Tout champ peut être filtré pour inclure uniquement les informations souhaitées. Par exemple, pour filtrer sur DN, ajoutez ceci à la fin de la requête : où n.dnorpattern aime '8%'.
Cette requête répertorie toutes les entrées ayant un DN commençant par 8. Le format est où <nom de colonne> comme '<valeur>%'.
Note: D'autres champs qui fournissent des informations utiles (identificateurs de clé primaire (PKID) lisibles par l'utilisateur et non par l'utilisateur) 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 de 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 de périphérique et les noms de domaine associés aux partitions associées
Voici une requête conçue pour répertorier les informations de périphérique et les noms de domaine 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
Note: Tous les DN qui n'ont pas de partition ne sont pas répertoriés ici.
Lorsque davantage de 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 répertorier les détails de téléphones IP de modèle spécifiques. Pour le modèle de téléphone IP 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, saisissez :
run sql select name,tkmodel from TypeProduct
Note: Tout 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 like '8%'
Cette requête répertorie toutes les entrées ayant un DN commençant par 8. Le format est où <nom de colonne> comme '<valeur>%'.
Note: D'autres champs qui fournissent 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 de chaque modèle.
d.tkdeviceprotocol - Pour SCCP, la valeur est 0 et pour SIP, la valeur est 11.
Rechercher les téléphones qui ont une association utilisateur de niveau ligne
Voici une requête conçue pour rechercher des téléphones qui ont une association utilisateur de niveau 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 fournit uniquement des informations lorsque le DN se trouve dans une partition. Afin d'inclure ceux dans Aucune partition, 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 répertorier les détails de téléphones IP de modèle spécifiques. Pour le modèle de téléphone IP 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, saisissez :
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ées à cette requête. Ajoutez-les entre 'run sql select' et 'as DN'. Voici les champs qui peuvent être ajoutés :
- eu.prénom
- ue.middlename
- nom_fr
- eu.manager
- département.eu
- eu.numéro de téléphone
- ue.mailide
- eu.mobile
- eu.homephone
- eu.title
- d.tkmodel - Utilisez la requête mentionnée précédemment afin d'obtenir la valeur de chaque modèle.
- d.tkdeviceprotocol : pour SCCP, la valeur est 0 et pour SIP, la valeur est 11.
Note: Tout 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 aime '8%'.
Cette requête répertorie toutes les entrées ayant un DN commençant par 8. Le format est où <nom de colonne> comme '<valeur>%'.
Rechercher les téléphones qui n'ont pas d'association utilisateur de niveau ligne
Voici une requête conçue pour rechercher des téléphones qui n'ont pas d'association utilisateur de niveau 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 fournit uniquement des informations lorsque le DN se trouve dans une partition. Afin d'inclure ceux dans Aucune partition, 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 répertorier les détails de téléphones IP de modèle spécifiques. Pour le modèle de téléphone IP 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, saisissez :
run sql select name,tkmodel from TypeProduct
Il existe d'autres champs qui fournissent des informations utiles (lisibles par l'utilisateur et non des PKID) qui peuvent être ajoutées à cette requête. Ajoutez-les entre 'run sql select' et 'as DN'. Voici les champs qui peuvent être ajoutés :
- eu.prénom
- ue.middlename
- nom_fr
- eu.manager
- département.eu
- eu.numéro de téléphone
- ue.mailide
- eu.mobile
- eu.homephone
- eu.title
- d.tkmodel - Utilisez la requête mentionnée précédemment afin d'obtenir la valeur de chaque modèle.
- d.tkdeviceprotocol - Pour SCCP, la valeur est 0 et pour SIP, la valeur est 11.
Note: Tout 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 aime '8%'.
Cette liste répertorie toutes les entrées dont le DN commence par 8. Le format est où <nom de colonne> comme '<valeur>%'.
Rechercher les téléphones qui ont une association utilisateur au niveau des périphériques
Voici une requête qui est conçue pour rechercher des téléphones qui ont une association utilisateur de niveau 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 fournit uniquement des informations lorsque le DN se trouve dans une partition. Afin d'inclure ceux dans Aucune partition, 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 répertorier les détails de téléphones IP de modèle spécifiques. Pour le modèle de téléphone IP 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, saisissez :
run sql select name,tkmodel from TypeProduct
Il existe d'autres champs qui fournissent des informations utiles (lisibles par l'utilisateur et non des PKID) qui peuvent être ajoutées à cette requête. Ajoutez-les entre 'run sql select' et 'as DN'. Voici les champs qui peuvent être ajoutés :
- eu.prénom
- ue.middlename
- nom_fr
- eu.manager
- département.eu
- eu.numéro de téléphone
- ue.mailide
- eu.mobile
- eu.homephone
- eu.title
- d.tkmodel - Utilisez la requête mentionnée précédemment afin d'obtenir la valeur de chaque modèle.
- d.tkdeviceprotocol - Pour SCCP, la valeur est 0 et pour SIP, la valeur est 11.
Note: Tout 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 aime '8%'.
Cette liste répertorie toutes les entrées dont le DN commence par 8. Le format est où <nom de colonne> comme '<valeur>%'.