Einleitung
In diesem Dokument werden SQL-Abfragen (Structured Query Language) bereitgestellt, die in der CLI ausgeführt werden können, um Verzeichnisnummern (Directory Numbers, DNs) und Partitionen abzurufen, die IP-Telefonen zusammen mit einer Endbenutzerzuordnung zugeordnet sind.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse von Cisco Unified Communications Manager (CUCM) verfügen.
Verwendete Komponenten
Die Informationen in diesem Dokument basieren auf CUCM-Versionen 8.x und höher, können jedoch auch für frühere Versionen verwendet werden.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netz Live ist, überprüfen Sie, ob Sie die mögliche Auswirkung jedes möglichen Befehls verstehen.
Tabellen
Die SQL-Abfragen werden mit Daten aus den folgenden Tabellen gebildet:
- Gerät - Diese Tabelle enthält Informationen auf Geräteebene wie IP-Telefone und Gateways.
- NumPlan: Diese Tabelle enthält Informationen zu allen in CUCM konfigurierten Mustern.
- DeviceNumPlanMap - Diese Tabelle enthält die Zuordnung zwischen den Daten in der Gerätetabelle und der NumPlan-Tabelle.
- Routenpartition - Diese Tabelle enthält Informationen über alle in CUCM konfigurierten Partitionen.
- Endbenutzer: Diese Tabelle enthält die Endbenutzerinformationen.
- DeviceNumPlanMapEndUserMap - Diese Tabelle enthält die Zuordnung zwischen den Daten in der Tabelle DeviceNumPlanMap und der Tabelle EndUser.
- EndUserDeviceMap - Diese Tabelle enthält die Zuordnung zwischen den Daten in der Gerätetabelle und der EndUser-Tabelle.
Weitere Informationen zu diesen Tabellen finden Sie im CUCM Data Dictionary der jeweiligen Version.
SQL-Abfragen
Die Abfragen werden so geschrieben, dass sie jeweils nur eine Zuordnung finden, um sie verständlicher zu machen.
Alle DNs auflisten, die IP-Telefonen zugeordnet sind
Mit dieser Abfrage werden alle DNs aufgelistet, die IP-Telefonen zugeordnet sind.
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
Anmerkung: tkclass = 1 ist für IP-Telefone. Das dnorpattern ist eine Spalte im Nummernplan der Tabelle, die über DNs für Telefone/Hunt-Pilotprojekte/VM-Ports/Routenmuster/CTI-RPs verfügt.
Listen Sie die DNs und die zugehörigen IP-Telefone auf.
Mit dieser Abfrage werden die DNs und die zugehörigen IP-Telefone aufgelistet.
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
Die Abfrage kann geändert werden, wenn Sie die tkmodel-Nummer hinzufügen, um Details für bestimmte Modell-IP-Telefone aufzulisten. Hier eine Abfrage für das IP-Telefonmodell 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'
Nachfolgend finden Sie eine Abfrage zum Abrufen des tkmodel-Werts für alle IP-Telefonmodelle:
run sql select name,tkmodel from TypeProduct
Anmerkung: Jedes Feld kann so gefiltert werden, dass es nur die gewünschten Informationen enthält. Um beispielsweise nach DN zu filtern, fügen Sie dies am Ende der Abfrage hinzu: wobei n.dnorpattern wie '8%'.
Diese Abfrage listet alle Einträge mit einem DN auf, der mit 8 beginnt. Das Format ist, wo <Spaltenname> wie '<Wert>%'.
Anmerkung: Andere Felder, die nützliche Informationen enthalten (für den Benutzer lesbare und keine primären Schlüsselbezeichner (PKIDs)), können dieser Abfrage hinzugefügt werden. Fügen Sie sie zwischen 'run sql select' und 'as DN' hinzu. Dies sind die Felder, die hinzugefügt werden können:
d.tkmodel - Verwenden Sie die Abfrage, die im vorherigen Hinweis beschrieben wurde, um den Wert für jedes Modell zu erhalten.
d.tkdeviceprotocol - Für Skinny Call Control Protocol (SCCP) ist der Wert 0, und für Session Initiation Protocol (SIP) ist der Wert 11.
Auflisten der Geräteinformationen und DNs mit den zugeordneten Partitionen
Hier ist eine Abfrage, die entwickelt wurde, um die Geräteinformationen und die Verzeichnisnummern mit den zugehörigen Partitionen aufzulisten.
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
Anmerkung: Hier werden nicht alle DNs aufgelistet, die keine Partition haben.
Da mehr Tabellen in der Abfrage hinzugefügt werden, ist die Verwendung von Joins einfacher. Die vorherige Abfrage kann auch geschrieben werden:
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
Die Abfrage kann geändert werden, wenn Sie die tkmodel-Nummer hinzufügen, um Details für bestimmte Modell-IP-Telefone aufzulisten. Fügen Sie für IP Phone Model 7945 und d.tkmodel='435' am Ende der Abfrage hinzu.
Geben Sie Folgendes ein, um den Wert tkmodel für alle IP-Telefonmodelle zu erhalten:
run sql select name,tkmodel from TypeProduct
Anmerkung: Jedes Feld kann so gefiltert werden, dass es nur die gewünschten Informationen enthält. Um beispielsweise nach DN zu filtern, fügen Sie dies am Ende der Abfrage hinzu: wobei n.dnorpattern wie '8%'
Diese Abfrage listet alle Einträge mit einem DN auf, der mit 8 beginnt. Das Format ist, wo <Spaltenname> wie '<Wert>%'.
Anmerkung: Andere Felder, die nützliche Informationen enthalten (für den Benutzer lesbar und keine PKIDs), können dieser Abfrage hinzugefügt werden. Fügen Sie sie zwischen 'run sql select' und 'as DN' hinzu. Dies sind die Felder, die hinzugefügt werden können:
d.tkmodel - Verwenden Sie die Abfrage, die im vorherigen Hinweis beschrieben wurde, um den Wert für jedes Modell zu erhalten.
d.tkdeviceprotocol - Für SCCP ist der Wert 0, für SIP ist der Wert 11.
Telefone mit einer Benutzerzuordnung auf Leitungsebene suchen
Mit dieser Abfrage können Sie Telefone mit einer Benutzerzuordnung auf Leitungsebene suchen.
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
Diese Abfrage liefert nur Informationen, wenn sich der DN in einer Partition befindet. Geben Sie Folgendes ein, um die Einträge unter Keine Partition einzuschließen:
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
Die Abfrage kann geändert werden, wenn Sie die tkmodel-Nummer hinzufügen, um Details für bestimmte Modell-IP-Telefone aufzulisten. Fügen Sie für IP Phone Model 7945 und d.tkmodel='435' am Ende der Abfrage hinzu.
Geben Sie Folgendes ein, um den Wert tkmodel für alle IP-Telefonmodelle zu erhalten:
run sql select name,tkmodel from TypeProduct
Es gibt einige andere Felder, die nützliche Informationen (für den Benutzer lesbar, nicht PKIDs) enthalten, die dieser Abfrage hinzugefügt werden können. Fügen Sie sie zwischen 'run sql select' und 'as DN' hinzu. Dies sind die Felder, die hinzugefügt werden können:
- Vorname
- eu.middlename
- eu.lastname
- EU-Manager
- eu.department
- Telefonnummer
- eu.mailid
- eu.mobile
- eu.homephone
- eu.title
- d.tkmodel - Verwenden Sie die zuvor erwähnte Abfrage, um den Wert für jedes Modell zu erhalten.
- d.tkdeviceprotocol - Für SCCP ist der Wert 0, für SIP ist der Wert 11.
Anmerkung: Jedes Feld kann so gefiltert werden, dass es nur die gewünschten Informationen enthält. Um beispielsweise nach DN zu filtern, fügen Sie dies am Ende der Abfrage hinzu: wobei n.dnorpattern wie '8%'.
Diese Abfrage listet alle Einträge mit einem DN auf, der mit 8 beginnt. Das Format ist, wo <Spaltenname> wie '<Wert>%'.
Suchen nach Telefonen ohne Line-Level-Benutzerzuordnung
Mit dieser Abfrage können Sie Telefone finden, die über keine Benutzerzuordnung auf Leitungsebene verfügen.
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
Diese Abfrage liefert nur Informationen, wenn sich der DN in einer Partition befindet. Geben Sie Folgendes ein, um die Einträge unter Keine Partition einzuschließen:
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
Die Abfrage kann geändert werden, wenn Sie die tkmodel-Nummer hinzufügen, um Details für bestimmte Modell-IP-Telefone aufzulisten. Fügen Sie für IP Phone Model 7945 und d.tkmodel='435' am Ende der Abfrage hinzu.
Geben Sie Folgendes ein, um den Wert tkmodel für alle IP-Telefonmodelle zu erhalten:
run sql select name,tkmodel from TypeProduct
Es gibt einige andere Felder, die nützliche Informationen (für den Benutzer lesbar und keine PKIDs) enthalten, die dieser Abfrage hinzugefügt werden können. Fügen Sie sie zwischen 'run sql select' und 'as DN' hinzu. Dies sind die Felder, die hinzugefügt werden können:
- Vorname
- eu.middlename
- eu.lastname
- EU-Manager
- eu.department
- Telefonnummer
- eu.mailid
- eu.mobile
- eu.homephone
- eu.title
- d.tkmodel - Verwenden Sie die zuvor erwähnte Abfrage, um den Wert für jedes Modell zu erhalten.
- d.tkdeviceprotocol - Für SCCP ist der Wert 0, für SIP ist der Wert 11.
Anmerkung: Jedes Feld kann so gefiltert werden, dass es nur die gewünschten Informationen enthält. Um beispielsweise nach DN zu filtern, fügen Sie dies am Ende der Abfrage hinzu: wobei n.dnorpattern wie '8%'.
Hier werden alle Einträge aufgelistet, deren DN mit 8 beginnt. Das Format ist, wo <Spaltenname> wie '<Wert>%' steht.
Suchen nach Telefonen mit einer Gerätebenutzerzuordnung
Mit dieser Abfrage sollen Telefone mit einer Benutzerzuordnung auf Geräteebene gesucht werden.
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
Diese Abfrage liefert nur Informationen, wenn sich der DN in einer Partition befindet. Geben Sie Folgendes ein, um die Einträge unter Keine Partition einzuschließen:
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
Die Abfrage kann geändert werden, wenn Sie die tkmodel-Nummer hinzufügen, um Details für bestimmte Modell-IP-Telefone aufzulisten. Fügen Sie für IP Phone Model 7945 und d.tkmodel='435' am Ende der Abfrage hinzu.
Geben Sie Folgendes ein, um den Wert tkmodel für alle IP-Telefonmodelle zu erhalten:
run sql select name,tkmodel from TypeProduct
Es gibt einige andere Felder, die nützliche Informationen (für den Benutzer lesbar und keine PKIDs) enthalten, die dieser Abfrage hinzugefügt werden können. Fügen Sie sie zwischen 'run sql select' und 'as DN' hinzu. Dies sind die Felder, die hinzugefügt werden können:
- Vorname
- eu.middlename
- eu.lastname
- EU-Manager
- eu.department
- Telefonnummer
- eu.mailid
- eu.mobile
- eu.homephone
- eu.title
- d.tkmodel - Verwenden Sie die zuvor erwähnte Abfrage, um den Wert für jedes Modell zu erhalten.
- d.tkdeviceprotocol - Für SCCP ist der Wert 0, für SIP ist der Wert 11.
Anmerkung: Jedes Feld kann so gefiltert werden, dass es nur die gewünschten Informationen enthält. Um beispielsweise nach DN zu filtern, fügen Sie dies am Ende der Abfrage hinzu: wobei n.dnorpattern wie '8%'.
Hier werden alle Einträge aufgelistet, deren DN mit 8 beginnt. Das Format ist, wo <Spaltenname> wie '<Wert>%' steht.