簡介
本文檔介紹用於獲取與IP電話關聯的目錄號碼(DN)和分割槽的SQL查詢。
必要條件
需求
思科建議您瞭解Cisco Unified Communications Manager(CUCM)。
採用元件
本文檔中的資訊基於CUCM 8.X及更高版本,但也可以用於更早版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
表
SQL查詢由以下表中的資料形成:
- Device — 此表包含裝置級資訊,如IP電話和網關。
- NumPlan — 此表包含有關在CUCM中配置的所有模式的資訊。
- DeviceNumPlanMap — 此表包含Device表和NumPlan表中資料之間的對映。
- RoutePartition — 此表包含有關在CUCM中配置的所有分割槽的資訊
- EndUser — 此表包含與終端使用者相關的資訊。
- DeviceNumPlanMapEndUserMap -此表包含DeviceNumPlanMap表中的資料與EndUser表中的資料之間的對映。
- EndUserDeviceMap — 此表包含Device表和EndUser表中資料之間的對映。
有關這些表的詳細資訊,請參考CUCM資料字典中的相應版本。
SQL查詢
編寫查詢是為了一次查詢一個關聯,以便更易於理解。
列出與IP電話關聯的所有DN
以下是用於列出與IP電話關聯的所有DN的查詢:
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
附註:tkclass = 1適用於IP電話。dnorpattern是表編號計畫中的列,其中包含與電話/尋線引導/虛擬機器埠/路由模式/CTI RP關聯的DN。
列出DN及其關聯的IP電話
以下是用於列出DN及其關聯IP電話的查詢:
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
如果要新增tkmodel號以列出特定型號IP電話的詳細資訊,可以修改查詢。以下是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'
以下是用於獲取所有IP電話機型號tkmodel值的查詢:
run sql select name,tkmodel from TypeProduct
附註:可以對任何欄位進行過濾,以僅包括所需的資訊。例如,要根據DN進行過濾,請在查詢末尾新增以下內容:其中n.dnorpattern像「8%」。
此查詢列出DN以8開頭的所有條目。格式為<column name>如「<value>%」。
附註:還可以向此查詢新增一些提供有用資訊(使用者可讀而不是主鍵識別符號(PKID))的其他欄位。在運行sql select和as DN之間新增這些欄位。以下是可以新增的欄位:
d.tkmodel — 使用上一註釋中描述的查詢來獲取每個模型的值。
d.tkdeviceprotocol -對於精簡型呼叫控制協定(SCCP),此值為0;對於會話發起協定(SIP),此值為11。
列出裝置資訊以及關聯分割槽的DN
以下是用於列出裝置資訊以及與關聯分割槽的DN的查詢:
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
附註:此處不列出所有沒有分割槽的DN。
隨著在查詢中新增了更多的表,使用連線變得更加容易。也可以編寫上一個查詢:
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
如果要新增tkmodel號以列出特定型號IP電話的詳細資訊,可以修改查詢。對於IP電話型號7945,在查詢末尾新增和d.tkmodel='435'。
若要取得所有IP電話機型的tkmodel值,請輸入:
run sql select name,tkmodel from TypeProduct
附註:可以對任何欄位進行過濾,以僅包括所需的資訊。例如,為了根據DN進行過濾,請在查詢結尾新增以下內容:其中n.dnorpattern像「8%」
此查詢列出DN以8開頭的所有條目。格式為<column name>如「<value>%」。
附註:還可以向此查詢新增其他一些提供有用資訊(使用者可讀而非PKID)的欄位。在運行sql select和as DN之間新增這些欄位。以下是可以新增的欄位:
d.tkmodel — 使用上一註釋中描述的查詢來獲取每個模型的值。
d.tkdeviceprotocol — 對於SCCP,值為0;對於SIP,值為11。
查詢具有線路級使用者關聯的電話
以下是旨在查詢具有線路級使用者關聯的電話的查詢:
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
此查詢僅在DN位於分割槽中時提供資訊。要將none分割槽中包含的none,請輸入:
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
如果要新增tkmodel號以列出特定型號IP電話的詳細資訊,可以修改查詢。對於IP電話型號7945,在查詢末尾新增和d.tkmodel='435'。
若要取得所有IP電話機型的tkmodel值,請輸入:
run sql select name,tkmodel from TypeProduct
還有其他一些欄位可以提供有用的資訊(使用者可讀而非PKID),這些資訊可以新增到此查詢中。在運行sql select和as DN之間新增這些欄位。以下是可以新增的欄位:
- eu.firstname
- eu.middlename
- eu.lastname
- eu.manager
- eu.department
- eu.telephonenumber
- eu.mailid
- eu.mobile
- eu.homephone
- eu.title
- d.tkmodel — 使用前面提到的查詢來獲取每個模型的值。
- d.tkdeviceprotocol — 對於SCCP,值為0;對於SIP,值為11。
附註:可以對任何欄位進行過濾,以僅包括所需的資訊。例如,為了根據DN進行過濾,請在查詢結尾新增以下內容:其中n.dnorpattern像「8%」。
此查詢列出DN以8開頭的所有條目。格式為<column name>如「<value>%」。
查詢沒有線路級使用者關聯的電話
以下是旨在查詢沒有線路級使用者關聯的電話的查詢。
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
此查詢僅在DN位於分割槽中時提供資訊。要將none分割槽中包含的none,請輸入:
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
如果要新增tkmodel號以列出特定型號IP電話的詳細資訊,可以修改查詢。對於IP電話型號7945,在查詢末尾新增和d.tkmodel='435'。
若要取得所有IP電話機型的tkmodel值,請輸入:
run sql select name,tkmodel from TypeProduct
還有其他一些欄位可以提供有用的資訊(使用者可讀而非PKID),這些資訊可以新增到此查詢中。在運行sql select和作為DN之間新增它們。以下是可新增的欄位:
- eu.firstname
- eu.middlename
- eu.lastname
- eu.manager
- eu.department
- eu.telephonenumber
- eu.mailid
- eu.mobile
- eu.homephone
- eu.title
- d.tkmodel — 使用前面提到的查詢來獲取每個模型的值。
- d.tkdeviceprotocol — 對於SCCP,值為0;對於SIP,值為11。
附註:可以對任何欄位進行過濾,以僅包括所需的資訊。例如,為了根據DN進行過濾,請在查詢結尾新增以下內容:其中n.dnorpattern像「8%」。
這將列出DN以8開頭的所有條目。格式為其中<column name>如「<value>%」。
查詢具有裝置級使用者關聯的電話
以下是旨在查詢具有裝置級使用者關聯的電話的查詢。
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
此查詢僅在DN位於分割槽中時提供資訊。要將none分割槽中包含的none,請輸入:
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
如果要新增tkmodel號以列出特定型號IP電話的詳細資訊,可以修改查詢。對於IP電話型號7945,將和d.tkmodel='435'新增到查詢結尾。
要獲取所有IP電話型號的tkmodel值,請輸入:
run sql select name,tkmodel from TypeProduct
還有其他一些欄位可以提供有用的資訊(使用者可讀而非PKID),這些資訊可以新增到此查詢中。在運行sql select和as DN之間新增這些欄位。以下是可以新增的欄位:
- eu.firstname
- eu.middlename
- eu.lastname
- eu.manager
- eu.department
- eu.telephonenumber
- eu.mailid
- eu.mobile
- eu.homephone
- eu.title
- d.tkmodel — 使用前面提到的查詢來獲取每個模型的值。
- d.tkdeviceprotocol — 對於SCCP,值為0;對於SIP,值為11。
附註:可以對任何欄位進行過濾,以僅包括所需的資訊。例如,為了根據DN進行過濾,請在查詢結尾新增以下內容:其中n.dnorpattern像「8%」。
這將列出DN以8開頭的所有條目。格式為其中<column name>如「<value>%」。