Introduction
Este documento fornece consultas Structured Query Language (SQL) que podem ser executadas na CLI para obter os Números de Diretório (DNs) e as partições associadas aos Telefones IP juntamente com qualquer associação de Usuário Final.
Prerequisites
Requirements
A Cisco recomenda que você tenha conhecimento do Cisco Unified Communications Manager (CUCM).
Componentes Utilizados
As informações neste documento são baseadas nas versões 8.X e posteriores do CUCM, mas também podem funcionar para versões anteriores.
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.
Tabelas
As consultas SQL são formadas com dados dessas tabelas:
- Dispositivo - Esta tabela contém informações em nível de dispositivo, como telefones IP e gateways.
- NumPlan - Esta tabela contém informações sobre todos os padrões configurados no CUCM.
- DeviceNumPlanMap - Esta tabela contém o mapeamento entre os dados na tabela Device e na tabela NumPlan.
- RoutePartition - Esta tabela contém as informações sobre todas as partições configuradas no CUCM
- Usuário Final - Esta tabela contém as informações relacionadas aos Usuários Finais.
- DeviceNumPlanMapEndUserMap - Essa tabela contém o mapeamento entre os dados na tabela DeviceNumPlanMap e na tabela EndUser.
- EndUserDeviceMap - Essa tabela contém o mapeamento entre os dados na tabela Device e na tabela EndUser.
Para obter mais informações sobre essas tabelas, consulte o Dicionário de dados CUCM para a respectiva versão.
Consultas SQL
As consultas são escritas para encontrar uma associação de cada vez, a fim de torná-las mais fáceis de entender.
Listar todos os DNs associados aos telefones IP
Esta é uma consulta projetada para listar todos os DNs associados aos telefones 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 é para telefones IP. O dnorpattern é uma coluna na tabela numplan que tem DNs associados a telefones / pilotos de busca / portas VM / padrões de rota / CTI RPs.
Listar os DNs e seus telefones IP associados
Esta é uma consulta projetada para listar os DNs e seus Telefones IP associados.
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
A consulta pode ser modificada se você adicionar o número tkmodel para listar detalhes para modelos específicos de telefones IP. Aqui está uma consulta para o Telefone 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'
Aqui está uma consulta para obter o valor tkmodel para todos os modelos de telefone IP:
run sql select name,tkmodel from TypeProduct
Note: Qualquer campo pode ser filtrado para incluir apenas as informações desejadas. Por exemplo, para filtrar o DN, adicione-o ao final da consulta: onde n.dnorpattern corresponde a '8%'.
Esta consulta lista todas as entradas que têm um DN que começa com 8. O formato é onde <column name> como '<value>%'.
Note: Alguns outros campos que fornecem informações úteis (legíveis pelo usuário e não PKIDs) podem ser adicionados a esta consulta. Adicione-os entre 'run sql select' e 'as DN'. Estes são os campos que podem ser adicionados:
d.tkmodel - Use a consulta descrita na nota anterior para obter o valor para cada modelo.
d.tkdeviceprotocol - Para Skinny Call Control Protocol (SCCP), o valor é 0 e para Session Initiation Protocol (SIP), o valor é 11.
Listar as Informações do Dispositivo e os DNs com Partições Associadas
Esta é uma consulta projetada para listar as informações do dispositivo e os DNs com partições associadas.
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: Todos os DNs que não têm uma partição não são listados aqui.
À medida que mais tabelas são adicionadas na consulta, fica mais fácil usar junções. A consulta anterior também pode ser escrita:
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
A consulta pode ser modificada se você adicionar o número tkmodel para listar detalhes para modelos específicos de telefones IP. Para o modelo de telefone IP 7945, adicione e d.tkmodel='435' ao final da consulta.
Para obter o valor tkmodel para todos os modelos de telefone IP, digite:
run sql select name,tkmodel from TypeProduct
Note: Qualquer campo pode ser filtrado para incluir apenas as informações desejadas. Por exemplo, para filtrar o DN, adicione-o ao final da consulta: onde n.dnorpattern corresponde a '8%'
Esta consulta lista todas as entradas que têm um DN que começa com 8. O formato é onde <column name> como '<value>%'.
Note: Alguns outros campos que fornecem informações úteis (legíveis pelo usuário e não PKIDs) podem ser adicionados a esta consulta. Adicione-os entre 'run sql select' e 'as DN'. Estes são os campos que podem ser adicionados:
d.tkmodel - Use a consulta descrita na nota anterior para obter o valor para cada modelo.
d.tkdeviceprotocol - Para SCCP, o valor é 0 e para SIP, o valor é 11.
Localizar telefones com uma associação de usuário em nível de linha
Esta é uma consulta projetada para localizar telefones que tenham uma associação de usuário em nível de linha.
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
Essa consulta fornece informações apenas quando o DN está em uma partição. Para incluir os que estão em Nenhuma Partição, insira:
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
A consulta pode ser modificada se você adicionar o número tkmodel para listar detalhes para modelos específicos de telefones IP. Para o modelo de telefone IP 7945, adicione e d.tkmodel='435' ao final da consulta.
Para obter o valor tkmodel para todos os modelos de telefone IP, digite:
run sql select name,tkmodel from TypeProduct
Há alguns outros campos que fornecem informações úteis (legíveis pelo usuário e não PKIDs) que podem ser adicionados a esta consulta. Adicione-os entre 'run sql select' e 'as DN'. Estes são os campos que podem ser adicionados:
- eu.firstname
- eu.middlename
- eu.lastname
- eu.manager
- eu.department
- eu.telephonenumber
- eu.mailid
- eu.mobile
- eu.homephone
- eu.title
- d.tkmodel - Use a consulta mencionada anteriormente para obter o valor para cada modelo.
- d.tkdeviceprotocol - Para SCCP o valor é 0 e para SIP o valor é 11.
Note: Qualquer campo pode ser filtrado para incluir apenas as informações desejadas. Por exemplo, para filtrar o DN, adicione-o ao final da consulta: onde n.dnorpattern corresponde a '8%'.
Esta consulta lista todas as entradas que têm um DN que começa com 8. O formato é onde <column name> como '<value>%'.
Localizar telefones que não têm uma associação de usuário em nível de linha
Esta é uma consulta projetada para localizar telefones que não têm uma associação de usuário em nível de linha.
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
Essa consulta fornece informações apenas quando o DN está em uma partição. Para incluir os que estão em Nenhuma Partição, insira:
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
A consulta pode ser modificada se você adicionar o número tkmodel para listar detalhes para modelos específicos de telefones IP. Para o modelo de telefone IP 7945, adicione e d.tkmodel='435' ao final da consulta.
Para obter o valor tkmodel para todos os modelos de telefone IP, digite:
run sql select name,tkmodel from TypeProduct
Há alguns outros campos que fornecem informações úteis (legíveis pelo usuário e não PKIDs) que podem ser adicionados a esta consulta. Adicione-os entre 'run sql select' e 'as DN'. Estes são os campos que podem ser adicionados:
- eu.firstname
- eu.middlename
- eu.lastname
- eu.manager
- eu.department
- eu.telephonenumber
- eu.mailid
- eu.mobile
- eu.homephone
- eu.title
- d.tkmodel - Use a consulta mencionada anteriormente para obter o valor para cada modelo.
- d.tkdeviceprotocol - Para SCCP, o valor é 0 e para SIP, o valor é 11.
Note: Qualquer campo pode ser filtrado para incluir apenas as informações desejadas. Por exemplo, para filtrar o DN, adicione-o ao final da consulta: onde n.dnorpattern corresponde a '8%'.
Lista todas as entradas que têm um DN que começa com 8. O formato é onde <column name> como '<value>%'.
Localizar telefones com uma associação de usuário em nível de dispositivo
Esta é uma consulta projetada para localizar telefones que tenham uma associação de usuário em nível 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
Essa consulta fornece informações apenas quando o DN está em uma partição. Para incluir os que estão em Nenhuma Partição, insira:
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
A consulta pode ser modificada se você adicionar o número tkmodel para listar detalhes para modelos específicos de telefones IP. Para o modelo de telefone IP 7945, adicione e d.tkmodel='435' ao final da consulta.
Para obter o valor tkmodel para todos os modelos de telefone IP, digite:
run sql select name,tkmodel from TypeProduct
Há alguns outros campos que fornecem informações úteis (legíveis pelo usuário e não PKIDs) que podem ser adicionados a esta consulta. Adicione-os entre 'run sql select' e 'as DN'. Estes são os campos que podem ser adicionados:
- eu.firstname
- eu.middlename
- eu.lastname
- eu.manager
- eu.department
- eu.telephonenumber
- eu.mailid
- eu.mobile
- eu.homephone
- eu.title
- d.tkmodel - Use a consulta mencionada anteriormente para obter o valor para cada modelo.
- d.tkdeviceprotocol - Para SCCP, o valor é 0 e para SIP, o valor é 11.
Note: Qualquer campo pode ser filtrado para incluir apenas as informações desejadas. Por exemplo, para filtrar o DN, adicione-o ao final da consulta: onde n.dnorpattern corresponde a '8%'.
Lista todas as entradas que têm um DN que começa com 8. O formato é onde <column name> como '<value>%'.