Introducción
Este documento proporciona consultas SQL (Lenguaje de consulta estructurado) que se pueden ejecutar en la CLI para obtener los números de directorio (DN) y las particiones asociadas con los teléfonos IP junto con cualquier asociación de usuario final.
Prerequisites
Requirements
Cisco recomienda que tenga conocimientos de Cisco Unified Communications Manager (CUCM).
Componentes Utilizados
La información de este documento se basa en las versiones 8.X y posteriores de CUCM, pero también puede funcionar para versiones anteriores.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). If your network is live, make sure that you understand the potential impact of any command.
Tablas
Las consultas SQL se forman con datos de estas tablas:
- Device (Dispositivo): Esta tabla contiene información de nivel de dispositivo, como teléfonos IP y gateways.
- NumPlan: esta tabla contiene información sobre todos los patrones configurados en CUCM.
- DeviceNumPlanMap: esta tabla contiene la asignación entre los datos de la tabla Device y la tabla NumPlan.
- RoutePartition: esta tabla contiene la información sobre todas las particiones configuradas en CUCM
- EndUser: Esta tabla contiene la información relacionada con los usuarios finales.
- DeviceNumPlanMapEndUserMap: esta tabla contiene la asignación entre los datos de la tabla DeviceNumPlanMap y la tabla EndUser.
- EndUserDeviceMap: esta tabla contiene la asignación entre los datos de la tabla Device y la tabla EndUser.
Para obtener más información sobre estas tablas, consulte el Diccionario de datos de CUCM para la versión respectiva.
Consultas SQL
Las consultas se escriben para buscar una asociación a la vez con el fin de hacerlas más fáciles de entender.
Enumera todos los DN asociados con los teléfonos IP
Esta es una consulta diseñada para enumerar todos los DN asociados con los teléfonos 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 es para teléfonos IP. El dnorpattern es una columna en el plan de números de la tabla que tiene DN asociados con teléfonos / pilotos de búsqueda / puertos de VM / patrones de ruta / RP CTI.
Enumere los DN y sus teléfonos IP asociados
Esta es una consulta diseñada para enumerar los DN y sus teléfonos IP asociados.
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 consulta se puede modificar si agrega el número tkmodel para enumerar los detalles de los teléfonos IP del modelo específico. A continuación se presenta una consulta para el teléfono IP modelo 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'
A continuación se presenta una consulta para obtener el valor tkmodel para todos los modelos de teléfono IP:
run sql select name,tkmodel from TypeProduct
Nota: cualquier campo se puede filtrar para incluir sólo la información deseada. Por ejemplo, para filtrar por DN, agregue esto al final de la consulta: donde n.dnorpattern como '8%'.
Esta consulta enumera todas las entradas que tienen un DN que comienza con 8. El formato es donde <nombre de columna> como '<valor>%'.
Nota: Se pueden agregar a esta consulta otros campos que proporcionan información útil (legible por el usuario y no identificadores de clave principal (PKID)). Agréguelos entre 'run sql select' y 'as DN'. Estos son los campos que se pueden agregar:
d.tkmodel - Utilice la consulta descrita en la nota anterior para obtener el valor para cada modelo.
d.tkdeviceprotocol: para el protocolo Skinny Call Control Protocol (SCCP), el valor es 0 y para el protocolo de inicio de sesión (SIP), 11.
Enumere la información del dispositivo y los DN con las particiones asociadas
Esta es una consulta diseñada para enumerar la información del dispositivo y los DN con particiones asociadas.
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: Todos los DN que no tienen una partición no se muestran aquí.
A medida que se agregan más tablas en la consulta, es más fácil utilizar combinaciones. La consulta anterior también se puede escribir:
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 consulta se puede modificar si agrega el número tkmodel para enumerar los detalles de los teléfonos IP del modelo específico. Para el teléfono IP modelo 7945, agregue y d.tkmodel='435' al final de la consulta.
Para obtener el valor tkmodel para todos los modelos de teléfono IP, ingrese:
run sql select name,tkmodel from TypeProduct
Nota: cualquier campo se puede filtrar para incluir sólo la información deseada. Por ejemplo, para filtrar por DN, agregue esto al final de la consulta: donde n.dnorpattern como '8%'
Esta consulta enumera todas las entradas que tienen un DN que comienza con 8. El formato es donde <nombre de columna> como '<valor>%'.
Nota: Se pueden agregar a esta consulta otros campos que proporcionan información útil (legible por el usuario y no PKID). Agréguelos entre 'run sql select' y 'as DN'. Estos son los campos que se pueden agregar:
d.tkmodel - Utilice la consulta descrita en la nota anterior para obtener el valor para cada modelo.
d.tkdeviceprotocol: para SCCP, el valor es 0 y para SIP, 11.
Buscar teléfonos que tengan una asociación de usuario de nivel de línea
Esta es una consulta diseñada para buscar teléfonos que tengan una asociación de usuario de nivel de línea.
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
Esta consulta sólo proporciona información cuando el DN está en una partición. Para incluir los que están en Partición Ninguna, ingrese:
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 consulta se puede modificar si agrega el número tkmodel para enumerar los detalles de los teléfonos IP del modelo específico. Para el teléfono IP modelo 7945, agregue y d.tkmodel='435' al final de la consulta.
Para obtener el valor tkmodel para todos los modelos de teléfono IP, ingrese:
run sql select name,tkmodel from TypeProduct
Existen otros campos que proporcionan información útil (legible por el usuario y no PKID) que se pueden agregar a esta consulta. Agréguelos entre 'run sql select' y 'as DN'. Estos son los campos que se pueden agregar:
- eu.nombre
- nombre medio eu.
- eu.lastname
- eu.manager
- eu.department
- eu.telephonenumber
- eu.mailid
- eu.mobile
- eu.home
- eu.title
- d.tkmodel - Utilice la consulta mencionada anteriormente para obtener el valor para cada modelo.
- d.tkdeviceprotocol - Para SCCP el valor es 0 y para SIP es 11.
Nota: cualquier campo se puede filtrar para incluir sólo la información deseada. Por ejemplo, para filtrar por DN, agregue esto al final de la consulta: donde n.dnorpattern como '8%'.
Esta consulta enumera todas las entradas que tienen un DN que comienza con 8. El formato es donde <nombre de columna> como '<valor>%'.
Buscar teléfonos que no tengan una asociación de usuario de nivel de línea
Esta es una consulta diseñada para encontrar teléfonos que no tienen una asociación de usuario de nivel de línea.
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
Esta consulta sólo proporciona información cuando el DN está en una partición. Para incluir los que están en Partición Ninguna, ingrese:
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 consulta se puede modificar si agrega el número tkmodel para enumerar los detalles de los teléfonos IP del modelo específico. Para el teléfono IP modelo 7945, agregue y d.tkmodel='435' al final de la consulta.
Para obtener el valor tkmodel para todos los modelos de teléfono IP, ingrese:
run sql select name,tkmodel from TypeProduct
Existen otros campos que proporcionan información útil (legible por el usuario y no PKID) que se pueden agregar a esta consulta. Agréguelos entre 'run sql select' y 'as DN'. Estos son los campos que se pueden agregar:
- eu.nombre
- nombre medio eu.
- eu.lastname
- eu.manager
- eu.department
- eu.telephonenumber
- eu.mailid
- eu.mobile
- eu.home
- eu.title
- d.tkmodel - Utilice la consulta mencionada anteriormente para obtener el valor para cada modelo.
- d.tkdeviceprotocol - Para SCCP, el valor es 0 y para SIP, es 11.
Nota: cualquier campo se puede filtrar para incluir sólo la información deseada. Por ejemplo, para filtrar por DN, agregue esto al final de la consulta: donde n.dnorpattern como '8%'.
Muestra todas las entradas que tienen un DN que comienza por 8. El formato es donde <nombre de columna> como '<valor>%'.
Buscar teléfonos que tengan una asociación de usuario de nivel de dispositivo
Esta es una consulta diseñada para buscar teléfonos que tengan una asociación de usuario a nivel de 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
Esta consulta sólo proporciona información cuando el DN está en una partición. Para incluir los que están en Partición Ninguna, ingrese:
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 consulta se puede modificar si agrega el número tkmodel para enumerar los detalles de los teléfonos IP del modelo específico. Para el teléfono IP modelo 7945, agregue y d.tkmodel='435' al final de la consulta.
Para obtener el valor tkmodel para todos los modelos de teléfono IP, ingrese:
run sql select name,tkmodel from TypeProduct
Existen otros campos que proporcionan información útil (legible por el usuario y no PKID) que se pueden agregar a esta consulta. Agréguelos entre 'run sql select' y 'as DN'. Estos son los campos que se pueden agregar:
- eu.nombre
- nombre medio eu.
- eu.lastname
- eu.manager
- eu.department
- eu.telephonenumber
- eu.mailid
- eu.mobile
- eu.home
- eu.title
- d.tkmodel - Utilice la consulta mencionada anteriormente para obtener el valor para cada modelo.
- d.tkdeviceprotocol - Para SCCP, el valor es 0 y para SIP, es 11.
Nota: cualquier campo se puede filtrar para incluir sólo la información deseada. Por ejemplo, para filtrar por DN, agregue esto al final de la consulta: donde n.dnorpattern como '8%'.
Muestra todas las entradas que tienen un DN que comienza por 8. El formato es donde <nombre de columna> como '<valor>%'.