Introduzione
Questo documento fornisce query SQL (Structured Query Language) che possono essere eseguite sulla CLI per ottenere i numeri di directory (DN) e le partizioni associate ai telefoni IP insieme a qualsiasi associazione dell'utente finale.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza di Cisco Unified Communications Manager (CUCM).
Componenti usati
Le informazioni fornite in questo documento si basano sulle versioni 8.X e successive di CUCM, ma possono essere utilizzate anche nelle versioni precedenti.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Tabelle
Le query SQL vengono create con i dati delle tabelle seguenti:
- Periferica: questa tabella contiene informazioni a livello di periferica, ad esempio telefoni IP e gateway.
- NumPlan - Questa tabella contiene informazioni su tutti i modelli configurati in CUCM.
- DeviceNumPlanMap: questa tabella contiene il mapping tra i dati nella tabella Device e nella tabella NumPlan.
- RoutePartition: questa tabella contiene le informazioni su tutte le partizioni configurate in CUCM
- EndUser - Questa tabella contiene le informazioni correlate a End Users.
- DeviceNumPlanMapEndUserMap: questa tabella contiene il mapping tra i dati della tabella DeviceNumPlanMap e della tabella EndUser.
- EndUserDeviceMap: questa tabella contiene il mapping tra i dati nella tabella Device e nella tabella EndUser.
Per ulteriori informazioni su queste tabelle, consultare il dizionario dati CUCM per la versione corrispondente.
Query SQL
Le query vengono scritte per trovare un'associazione alla volta in modo da semplificarne la comprensione.
Elenca tutti i DN associati ai telefoni IP
Di seguito è riportata una query progettata per elencare tutti i DN associati ai telefoni 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
Nota: tkclass = 1 è per telefoni IP. Il dnorpattern è una colonna della tabella numplan che ha DN associati a telefoni / Hunt Pilots / VM Ports / Route Patterns / CTI RP.
Elenca i DN e i telefoni IP associati
Di seguito è riportata una query progettata per elencare i DN e i telefoni IP associati.
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
Per modificare la query, aggiungere il numero tkmodel in modo da elencare i dettagli dei telefoni IP del modello specifico. Di seguito è riportata una query per IP Phone modello 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'
Di seguito è riportata una query per ottenere il valore tkmodel per tutti i modelli di telefoni IP:
run sql select name,tkmodel from TypeProduct
Nota: È possibile filtrare qualsiasi campo in modo da includere solo le informazioni desiderate. Ad esempio, per filtrare in base al DN, aggiungere quanto segue alla fine della query: dove n.dnorpattern è simile a '8%'.
Questa query elenca tutte le voci con un DN che inizia con 8. Il formato è dove <nome colonna> come '<valore>%'.
Nota: Alla query è possibile aggiungere altri campi che forniscono informazioni utili, ovvero identificatori chiave primaria (PKID) leggibili dall'utente. Aggiungerli tra 'esegui selezione SQL' e 'come DN'. Sono i campi che è possibile aggiungere:
d.tkmodel - Utilizzate l'interrogazione descritta nella nota precedente per ottenere il valore di ciascun modello.
d.tkdeviceprotocol - Per il protocollo SCCP (Skinny Call Control Protocol), il valore è 0, mentre per il protocollo SIP (Session Initiation Protocol), il valore è 11.
Elenca le informazioni sul dispositivo e i DN con le partizioni associate
Di seguito è riportata una query progettata per elencare le informazioni sui dispositivi e i DN con le partizioni associate.
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
Nota: Non sono elencati tutti i DN che non dispongono di una partizione.
L'utilizzo dei join risulta più semplice se nella query vengono aggiunte più tabelle. È inoltre possibile scrivere la query precedente:
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
Per modificare la query, aggiungere il numero tkmodel in modo da elencare i dettagli dei telefoni IP del modello specifico. Per IP Phone modello 7945, aggiungere e d.tkmodel='435' alla fine della query.
Per ottenere il valore tkmodel per tutti i modelli di telefoni IP, immettere:
run sql select name,tkmodel from TypeProduct
Nota: È possibile filtrare qualsiasi campo in modo da includere solo le informazioni desiderate. Ad esempio, per filtrare in base al DN, aggiungere quanto segue alla fine della query: dove n.dnorpattern come '8%'
Questa query elenca tutte le voci con un DN che inizia con 8. Il formato è dove <nome colonna> come '<valore>%'.
Nota: È possibile aggiungere alla query altri campi che forniscono informazioni utili, ovvero che sono leggibili dall'utente e non contengono PKID. Aggiungerli tra 'esegui selezione SQL' e 'come DN'. Sono i campi che è possibile aggiungere:
d.tkmodel - Utilizzate l'interrogazione descritta nella nota precedente per ottenere il valore di ciascun modello.
d.tkdeviceprotocol: per SCCP, il valore è 0 e per SIP, il valore è 11.
Trova telefoni con associazione utente a livello di linea
Di seguito è riportata una query progettata per trovare i telefoni con un'associazione utente a livello di linea.
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
Questa query fornisce informazioni solo quando il DN si trova in una partizione. Per includere le partizioni in Nessuna partizione, immettere:
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
Per modificare la query, aggiungere il numero tkmodel in modo da elencare i dettagli dei telefoni IP del modello specifico. Per IP Phone modello 7945, aggiungere e d.tkmodel='435' alla fine della query.
Per ottenere il valore tkmodel per tutti i modelli di telefoni IP, immettere:
run sql select name,tkmodel from TypeProduct
Esistono altri campi che forniscono informazioni utili (leggibili dall'utente e non PKID) che possono essere aggiunti a questa query. Aggiungerli tra 'esegui selezione SQL' e 'come DN'. Sono i campi che è possibile aggiungere:
- eu.nome
- eu.middlename
- eu.cognome
- eu.manager
- eu.department
- eu.numerotelefonico
- eu.mailid
- eu.mobile
- eu.homphone
- eu.title
- d.tkmodel - Utilizzate l'interrogazione descritta in precedenza per ottenere il valore di ciascun modello.
- d.tkdeviceprotocol - Per SCCP il valore è 0 e per SIP il valore è 11.
Nota: È possibile filtrare qualsiasi campo in modo da includere solo le informazioni desiderate. Ad esempio, per filtrare in base al DN, aggiungere quanto segue alla fine della query: dove n.dnorpattern è simile a '8%'.
Questa query elenca tutte le voci con un DN che inizia con 8. Il formato è dove <nome colonna> come '<valore>%'.
Trova telefoni che non dispongono di un'associazione utente a livello di linea
Di seguito è riportata una query progettata per trovare i telefoni che non dispongono di un'associazione utente a livello di linea.
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
Questa query fornisce informazioni solo quando il DN si trova in una partizione. Per includere le partizioni in Nessuna partizione, immettere:
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
Per modificare la query, aggiungere il numero tkmodel in modo da elencare i dettagli dei telefoni IP del modello specifico. Per IP Phone modello 7945, aggiungere e d.tkmodel='435' alla fine della query.
Per ottenere il valore tkmodel per tutti i modelli di telefoni IP, immettere:
run sql select name,tkmodel from TypeProduct
Esistono altri campi che forniscono informazioni utili (leggibili dall'utente e non PKID) che possono essere aggiunti a questa query. Aggiungerli tra 'esegui selezione SQL' e 'come DN'. Sono i campi che è possibile aggiungere:
- eu.nome
- eu.middlename
- eu.cognome
- eu.manager
- eu.department
- eu.numerotelefonico
- eu.mailid
- eu.mobile
- eu.homphone
- eu.title
- d.tkmodel - Utilizzate l'interrogazione descritta in precedenza per ottenere il valore di ciascun modello.
- d.tkdeviceprotocol - Per SCCP, il valore è 0 e per SIP, il valore è 11.
Nota: È possibile filtrare qualsiasi campo in modo da includere solo le informazioni desiderate. Ad esempio, per filtrare in base al DN, aggiungere quanto segue alla fine della query: dove n.dnorpattern è simile a '8%'.
Elenca tutte le voci con un DN che inizia con 8. Il formato è dove <nome colonna> come '<valore>%'.
Trova telefoni con associazione utente a livello di dispositivo
Di seguito è riportata una query progettata per trovare i telefoni con un'associazione utente a livello di dispositivo.
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
Questa query fornisce informazioni solo quando il DN si trova in una partizione. Per includere le partizioni in Nessuna partizione, immettere:
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
Per modificare la query, aggiungere il numero tkmodel in modo da elencare i dettagli dei telefoni IP del modello specifico. Per IP Phone modello 7945, aggiungere e d.tkmodel='435' alla fine della query.
Per ottenere il valore tkmodel per tutti i modelli di telefoni IP, immettere:
run sql select name,tkmodel from TypeProduct
Esistono altri campi che forniscono informazioni utili (leggibili dall'utente e non PKID) che possono essere aggiunti a questa query. Aggiungerli tra 'esegui selezione SQL' e 'come DN'. Sono i campi che è possibile aggiungere:
- eu.nome
- eu.middlename
- eu.cognome
- eu.manager
- eu.department
- eu.numerotelefonico
- eu.mailid
- eu.mobile
- eu.homphone
- eu.title
- d.tkmodel - Utilizzate l'interrogazione descritta in precedenza per ottenere il valore di ciascun modello.
- d.tkdeviceprotocol - Per SCCP, il valore è 0 e per SIP, il valore è 11.
Nota: È possibile filtrare qualsiasi campo in modo da includere solo le informazioni desiderate. Ad esempio, per filtrare in base al DN, aggiungere quanto segue alla fine della query: dove n.dnorpattern è simile a '8%'.
Elenca tutte le voci con un DN che inizia con 8. Il formato è dove <nome colonna> come '<valore>%'.