はじめに
このドキュメントでは、IPフォンに関連付けられた電話番号(DN)とパーティションを取得するためのSQLクエリについて説明します。
前提条件
要件
このドキュメントの読者は Cisco Unified Communications Manager(CUCM)に関する知識を持っていることを推奨します。
使用するコンポーネント
このドキュメントの情報は、CUCMバージョン8.X以降に基づいていますが、以前のバージョンでも同様に動作します。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
テーブル
SQL クエリは、次のテーブルのデータを使用して形成されます。
- Device:このテーブルには IP フォンやゲートウェイなどのデバイスレベルの情報が含まれます。
- NumPlan:このテーブルには CUCM で設定されているすべてのパターンについての情報が含まれます。
- DeviceNumPlanMap:このテーブルには Device テーブルと NumPlan テーブルのデータ間のマッピングが含まれます。
- RoutePartition:このテーブルには CUCM で設定されているすべての Partition についての情報が含まれます。
- EndUser:このテーブルにはエンド ユーザに関する情報が含まれます。
- DeviceNumPlanMapEndUserMap:このテーブルには、DeviceNumPlanMap テーブルと EndUser テーブルのデータ間のマッピングが含まれます。
- EndUserDeviceMap:このテーブルには、Device テーブルと EndUser テーブルのデータ間のマッピングが含まれます。
これらのテーブルに関する詳細については、それぞれのバージョンの CUCM データ辞書を参照してください。
SQL クエリ
クエリは、1 つのアソシエーションを一度に見つけるために書き込まれ、簡単に把握できるようにします。
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 がある NumPlan テーブルのカラムです。
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
特定のモデルの IP フォンの詳細を一覧表示するには、tkmodel の番号を追加すればクエリを変更できます。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でフィルタリングするには、クエリの最後にwhere n.dnorpattern like '8%'を追加します。
このクエリは、8 で始まる DN があるすべてのエントリを表示します。フォーマットは where <column name> like '<value>%' です。
注:有用な情報を提供するその他のフィールド(ユーザが読み取り可能で、Primary Key Identifier(PKID)ではない)をこのクエリに追加できます。run sql select と as DNの間に追加します。 追加できるフィールドを次に示します。
d.tkmodel:各モデルの値を取得するには、上記の注に記載があるクエリを使用します。
d.tkdeviceprotocol:Skinny Call Control Protocol(SCCP)の値は 0 で、Session Initiation Protocol(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
特定のモデルの IP フォンの詳細を一覧表示するには、tkmodel の番号を追加すればクエリを変更できます。IP フォン モデル 7945 の場合、クエリの最後に and d.tkmodel='435' を追加します。
すべての IP フォン モデルの tkmodel 値を取得するには、次のように入力します。
run sql select name,tkmodel from TypeProduct
注:必要な情報のみを含むように、任意のフィールドをフィルタリングできます。たとえば、DNでフィルタリングするには、クエリの最後にwhere n.dnorpattern like '8%'を追加します。
このクエリは、8 で始まる DN があるすべてのエントリを表示します。フォーマットは where <column name> like '<value>%' です。
注:有用な情報を提供するその他のフィールド(ユーザが読み取り可能で、PKIDではない)をこのクエリに追加できます。run 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 Partition にあるものを含めるには、次のように入力します。
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
特定のモデルの IP フォンの詳細を一覧表示するには、tkmodel の番号を追加すればクエリを変更できます。IP フォン モデル 7945 の場合、クエリの最後に and d.tkmodel='435' を追加します。
すべての IP フォン モデルの tkmodel 値を取得するには、次のように入力します。
run sql select name,tkmodel from TypeProduct
このクエリに追加できる有用な情報(PKIDではなくユーザが読み取り可能)を提供するフィールドは、他にもあります。run 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でフィルタリングするには、クエリの最後にwhere n.dnorpattern like '8%'を追加します。
このクエリは、8 で始まる DN があるすべてのエントリを表示します。フォーマットは where <column name> like '<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 Partition にあるものを含めるには、次のように入力します。
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
特定のモデルの IP フォンの詳細を一覧表示するには、tkmodel の番号を追加すればクエリを変更できます。IP フォン モデル 7945 の場合、クエリの最後に and d.tkmodel='435' を追加します。
すべての IP フォン モデルの tkmodel 値を取得するには、次のように入力します。
run sql select name,tkmodel from TypeProduct
役立つ情報(ユーザが読み取り可能、PKID 以外)を提供する、このクエリに追加することができるその他のフィールドがいくつかあります。run 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でフィルタリングするには、クエリの最後にwhere n.dnorpattern like '8%'を追加します。
これは、8 で始まる DN があるすべてのエントリを表示します。フォーマットは where <column name> like '<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 Partition にあるものを含めるには、次のように入力します。
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
特定のモデルの IP フォンの詳細を一覧表示するには、tkmodel の番号を追加すればクエリを変更できます。IP フォン モデル 7945 の場合、クエリの最後に and d.tkmodel='435' を追加します。
すべてのIPフォンモデルのtkmodel値を取得するには、次のように入力します。
run sql select name,tkmodel from TypeProduct
役立つ情報(ユーザが読み取り可能、PKID 以外)を提供する、このクエリに追加することができるその他のフィールドがいくつかあります。run 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でフィルタリングするには、クエリの最後にwhere n.dnorpattern like '8%'を追加します。
これは、8 で始まる DN があるすべてのエントリを表示します。フォーマットは where <column name> like '<value>%' です。