簡介
本文檔介紹用於獲取與IP電話關聯的目錄號碼(DN)和分割槽的SQL查詢。
必要條件
需求
思科建議您瞭解思科統一通訊管理器(CUCM)。
採用元件
本文檔中的資訊基於CUCM版本8.X及更高版本,但也可以用於早期版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
表格
SQL查詢由以下表中的資料形成:
- 裝置- 此表包含裝置級資訊,如IP電話和網關。
- NumPlan -此表包含有關CUCM中配置的所有模式的資訊。
- DeviceNumPlanMap -此表包含裝置表和NumPlan表中資料之間的對映。
- 路由分割槽- 此表包含有關CUCM中配置的所有分割槽的資訊
- EndUser - 此表包含與終端使用者相關的資訊。
- DeviceNumPlanMapEndUserMap - 此表包含DeviceNumPlanMap表中的資料與EndUser表中的資料之間的對映。
- EndUserDeviceMap - 此表包含裝置表中的資料與終端使用者表之間的對映。
有關這些表的詳細資訊,請參閱相應版本的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是表編號方案中的一列,它具有與電話/尋線引導/ VM埠/路由模式/ 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%」。
此查詢列出所有以8開頭的DN條目。格式為其中<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%」
此查詢列出所有以8開頭的DN條目。格式為其中<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分割槽中包含這些分割槽,請輸入:
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 like '8%'。
此查詢列出所有以8開頭的DN條目。格式為其中<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分割槽中包含這些分割槽,請輸入:
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和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 like '8%'。
這會列出所有以8開頭的DN專案。格式為其中<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分割槽中包含這些分割槽,請輸入:
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 like '8%'。
這會列出所有以8開頭的DN專案。格式為其中<column name>類似「<value>%」。