データベーステーブル

この章では、 IM およびプレゼンスサービス ノードをサポートするために、自分のスキーマで作成される外部データベーステーブルについて説明します。


(注)  


IM とプレゼンスサービス はデフォルトで外部データベースに 27 個のテーブルを生成しますが、現在はこのモジュールで説明されているテーブルのみを使用します。



(注)  


外部データベース中のデータを変更する必要がある場合は、変更を行った後に Cisco XCP テキスト会議マネージャサービスを再起動してください。


AFT_LOG テーブル

AFT_LOG テーブルには、 Cisco Unified Communications ManagerIM and Presence Service 管理ファイル転送機能の使用時に発生するファイル転送に関する情報が含まれます。

Indexes: "aft_log_pkey" PRIMARY KEY, btree (aft_index)

列名

Postgres データ型

Oracle データ型

Microsoft SQL データ型

Not Null

説明

AFT_INDEX

BIGINT

NUMBER (19)

bigint

トランザクションを識別するシーケンス番号。

JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

ファイルをアップロードまたはダウンロードしたユーザの Jabber ID (JID) です。 この列の内容は、METHOD 列の内容によって異なります。

  • METHOD 列に「POST」と表示されている場合、これはファイルをアップロードしたユーザの JID です。

  • METHOD 列に「GET」と表示されている場合、これはファイルをダウンロードしたユーザの JID です。

TO_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

ファイル転送の意図された受信者であるユーザ、グループ チャット、または永続的な会議室の JID です。

METHOD

VARCHAR (63)

VARCHAR2 (63)

nvarchar (63)

この列には、ユーザがファイルをアップロードしたことを示す POST、またはユーザがファイルをダウンロードしたことを示す GET のいずれかを含めることができます。

ファイル名

VARCHAR (511)

VARCHAR2 (511)

nvarchar (511)

アップロードまたはダウンロードされたファイルのリソース名です。 リソース名は HTTP 要求でファイルを識別します。 これは、 IM and Presence Serviceによって自動生成されます。

REAL_FILENAME

VARCHAR (511)

VARCHAR2 (511)

nvarchar (511)

ユーザがアップロードしたファイルの実際の名前です。

ファイル タイプ

VARCHAR (10)

VARCHAR2 (10)

Nvarchar (10)

ファイル拡張子 (jpg、txt、pptx、docx など)。

CHAT_TYPE

VARCHAR (10)

VARCHAR2 (10)

Nvarchar (10)

ファイルが 1 対 1 の IM 会話中に転送された場合は「IM」です。

ファイルが臨時のグループ チャットの会話中に転送された場合は「groupchat」です。

ファイルが永続的なチャットルームに転送された場合は「persistent」です。

ファイルサーバ

VARCHAR (511)

VARCHAR2 (511)

nvarchar (511)

ファイルが保存されているファイルサーバのホスト名または IP アドレスです。

ファイルパス

VARCHAR (511)

VARCHAR2 (511)

nvarchar (511)

ファイルサーバ上のファイル (ファイル名を含む) への絶対パスです。 レポジトリに保存されるファイル名は一意であり、IM and Presence Service によって自動生成されます。

ファイルサイズ

BIGINT

NUMBER (19)

bigint

バイト単位でのファイルサイズです。

BYTES_ TRANSFERRED

BIGINT

NUMBER (19)

bigint

転送されたバイト数。 転送中にエラーが発生した場合にのみ、この数は FILESIZE とは異なります。

TIMESTAMPVALUE

タイムスタンプ

タイムスタンプ

タイムスタンプ

ファイルがアップロードまたはダウンロードされた日時 (UTC) です。

AFT_LOG テーブルのサンプル SQL クエリ

このセクションには、特定の情報を抽出するために AFT_LOG テーブルで実行できるサンプル SQL クエリが含まれています。

アップロードされたすべてのファイル

次の SQL クエリは、マネージド ファイル転送機能を使用してアップロードされたすべてのファイルと画面キャプチャのレコードを返します。

SELECT file_path

FROM aft_log

WHERE method = 'Post';

特定の受信者にアップロードされたすべてのファイル

次の SQL クエリは、ユーザが管理ファイル転送機能を使用してアップロードしたすべてのファイルと画面キャプチャの記録を返します。 <userid>

(注)  


ダウンロードされたファイルの記録および画面キャプチャの場合、[ to_jid ] フィールドのデータは含まれません。


SELECT file_path

FROM aft_log

WHERE to_jid = '<userid>@<domain>';

特定の送信者がアップロードしたすべてのファイル

次の SQL クエリは、ユーザが管理ファイル転送機能を使用してアップロードしたすべてのファイルと画面キャプチャの記録を返します。 <userid>

SELECT file_path

FROM aft_log

WHERE jid LIKE '<userid>@<domain>%' AND method = 'Post';

特定のユーザがダウンロードしたすべてのファイル

次の SQL クエリは、ユーザー <userid> が管理ファイル転送機能を使用してダウンロードしたすべてのファイルと画面キャプチャの記録を返します。

SELECT file_path

FROM aft_log

WHERE jid LIKE '<userid>@<domain>%' AND method = 'Get';

IM 会話中にアップロードおよびダウンロードされたすべてのファイル

次の SQL クエリは、管理対象ファイル転送機能を使用して IM 会話でアップロードおよびダウンロードされたすべてのファイルと画面キャプチャの記録を返します。

SELECT file_path

FROM aft_log

WHERE chat_type = 'im';

特定の時間後に特定のユーザによりアップロードされたすべてのファイル

次の SQL クエリは、ユーザー <userid> が管理ファイル転送機能を使用して一定時間後にアップロードしたすべてのファイルと画面キャプチャの記録を返します。

SELECT file_path

FROM aft_log

WHERE jid LIKE '<userid>@<domain>%' AND method = 'Post' AND timestampvalue > '2014-12-18 11:58:39';

AFT_LOG テーブルの SQL クエリのサンプル出力

これらのクエリからの出力例は次のようになります。

/opt/mftFileStore/node_1/files/im/20140811/15/file_name1

/opt/mftFileStore/node_1/files/im/20140811/15/file_name2

/opt/mftFileStore/node_1/files/im/20140811/15/file_name3

/opt/mftFileStore/node_1/files/im/20140811/15/file_name4

...

/opt/mftFileStore/node_1/files/im/20140811/15/file_name99

/opt/mftFileStore/node_1/files/im/20140811/15/file_name100

出力を使用した外部ファイルサーバのクリーンアップ

この出力を rm コマンドで使用して、外部ファイルサーバから不要なファイルを削除することができます。 例えば、以下のコマンドを外部ファイルサーバ上で実行することができます:

rm /opt/mftFileStore/Node_1/files/im/20140811/15/file_name1

rm /opt/mftFileStore/Node_1/files/im/20140811/15/file_name2

rm /opt/mftFileStore/node_1/files/im/20140811/15/file_name3

(以下、同様)

TC_ROOMS テーブル

TC_ROOMS テーブルには、グループ チャット ルームの情報が含まれます。

列名

Postgres データ型

Oracle データ型

Microsoft SQL データ型

Not Null

説明

ROOM_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

会議室の ID です。

CREATOR_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

ルームを作成したユーザの ID です。

SUBJECT

VARCHAR (255)

VARCHAR2 (255)

Nvarchar (255)

会議室の現在の件名です。

TYPE

VARCHAR (32)

VARCHAR2 (32)

nvarchar (32)

制約 'check_type'です。 この値は、 "アドホック" または "固定のいずれかでなければなりません"

CONFIG

TEXT

CLOB

nvarchar (MAX)

前回会議室が構成された時点からのパケット。 この情報により、会議室が再作成されるとき (例えば、開始時)、会議室を再構成することができます。

SPACKET

TEXT

CLOB

nvarchar (MAX)

前回会議室の件名が設定された時の全パケット。 この情報により、会議室が再作成されたときに会議室の件名を表示できるようになります。

START_MSG_ID

BIGINT

NUMBER (19)

bigint

TC_MSGARCHIVE テーブルの MSG_ID カラムに入力するシーケンス番号です。

この値を変更しないでください。

NEXT_MSG_ID

BIGINT

NUMBER (19)

bigint

TC_MSGARCHIVE テーブルの MSG_ID カラムに入力するシーケンス番号です。

この値を変更しないでください。

TC_USERS テーブル

TC_USERS テーブルには、グループ チャット ルームのユーザに関連する役割、所属、代替名、およびその他のデータが含まれます。

列名

Postgres データ型

Oracle データ型

Microsoft SQL データ型

Not Null

説明

ROOM_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

会議室の ID です。

REAL_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

会議室にいるユーザの ID。 この値はユーザの代替名ではなく、実際の ID です。

役割

VARCHAR (32)

VARCHAR2 (32)

nvarchar (32)

ユーザーの部屋での役割。 この値は、次のいずれか1つに制限されます: "なし""非表示""訪問者""参加者"、または "進行係"

アフィリエーション

VARCHAR (32)

VARCHAR2 (32)

nvarchar (32)

会議室のユーザの所属です。 この値は、次のいずれか 1 つに制限されます: "なし""追放者"" メンバー""管理者"、または "所有者" です。

NICK_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

会議室の ID とユーザの別名を加えます。 形式は room@tc-server/nick です。

REASON

VARCHAR (255)

VARCHAR2 (255)

Nvarchar (255)

ユーザの所属が最後に変更されたときに入力された理由です。

INITIATOR_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

構成の変更が行われた会議室の ID です。

TC_MESSAGES テーブル

TC_MESSAGES テーブルには、グループチャットルームで送信されたメッセージが含まれます。

列名

Postgres データ型

Oracle データ型

Microsoft SQL データ型

Not Null

説明

MSG_ID

BIGINT

NUMBER (19)

bigint

メッセージの ID です。 MSG_ID は各メッセージのチャット ルームの一意の識別子です。グローバルに一意ではありません。

ROOM_JID

VARCHAR (3071)

VARCHAR (3071)

Nvarchar (3071)

メッセージが送信された会議室の ID です。

スタンプ

タイムスタンプ

タイムスタンプ

datetime

メッセージが送信された日時です。

MSG

TEXT

CLOB

nvarchar (MAX)

メッセージ全体。

TC_TIMELOG テーブル

TC_TIMELOG テーブルには、ユーザが特定のグループチャットルームに入室および退室した時間が含まれます。 このテーブルは他の TC テーブルと組み合わせて使用され、グループ チャットの会話を再現し、どのユーザが会話を参照したかを判断できます。

列名

Postgres データ型

Oracle データ型

Microsoft SQL データ型

Not Null

説明

REAL_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

会議室に入室または退室するユーザの ID です。

NICK_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

会議室の ID とユーザの別名を加えます。 形式は room@tc-server/nick です。

方向

VARCHAR (1)

VARCHAR2 (1)

Nvarchar (1)

ユーザが部屋に入室 (E) または退室 (L) したかを示します。 "E" および "L"の値に制限されます。

スタンプ

タイムスタンプ

タイムスタンプ

datetime

ユーザが会議室に入室または退室した日時。 IMP サーバからの UTC 形式。

TC_MSGARCHIVE テーブル

TC_MSGARCHIVE テーブルには、グループチャットルームのメッセージと関連情報が保存されます。


(注)  


IM and Presence Serviceでグループチャットをオンにした場合、このテーブルにすべてのメッセージがアーカイブされます。Cisco Unified CM IM and Presence 管理画面 でオプション [すべての会議室のメッセージをアーカイブする] を選択します。 「メッセージング 」「会議および常設チャット > 」を選択します。 グループチャット機能の詳細は、 Cisco Unified Communications Manager の IM とプレゼンスサービス の設定と管理 を参照してください。


列名

Postgres データ型

Oracle データ型

Microsoft SQL データ型

Not Null

説明

MSG_ID

BIGINT

NUMBER (19)

bigint

メッセージの一意の識別子です。

TO_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

メッセージを受信した会議室の ID です。

FROM_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

メッセージを送信したユーザの ID です。

NICK_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

会議室の ID と送信者の代替名。例:

room@conference.exmpl.com/nick

SENT_DATE

タイムスタンプ

タイムスタンプ

datetime

メッセージが送信された日付です。 IMP サーバからの UTC 形式。

MSG_TYPE

VARCHAR (1)

VARCHAR2 (1)

Nvarchar (1)

メッセージの type 属性の最初の文字。 可能な値は、 "c" (チャット)、 "n" (ノーマル)、 "g" (グループチャット)、 "h" (見出し)、および "e" (エラー)。

BODY_LEN

INT

NUMBER (9)

int

メッセージ本文の長さ (文字数) です。

MESSAGE_LEN

INT

NUMBER (9)

int

件名と本文を含めたメッセージの文字数です。

BODY_STRING

VARCHAR (4000)

VARCHAR2 (4000)

Nvarchar (4000)

不可

メッセージ本文です。

MESSAGE_ STRING

VARCHAR (4000)

VARCHAR2 (4000)

Nvarchar (4000)

不可

生のパケット全体。

BODY_TEXT

TEXT

CLOB

nvarchar (MAX)

不可

メッセージ本文が 4000 文字を超える場合、本文は BODY_STRING フィールドではなく、このフィールドに保存されます。

MESSAGE_TEXT

TEXT

CLOB

nvarchar (MAX)

不可

Raw パケット全体が 4000 文字を超える場合、MESSAGE_STRING カラムではなく、このカラムに保存されます。

SUBJECT

VARCHAR (255)

VARCHAR2 (255)

Nvarchar (255)

不可

会議室の現在の件名です。

JM テーブル

JM テーブルは、メッセージ アーカイバー コンポーネントの会話と関連情報を保存します。 メッセージ アーカイバ コンポーネントは、IM and Presence Service でネイティブなコンプライアンス機能を提供します。

列名

Postgres データ型

Oracle データ型

Microsoft SQL データ型

Not Null

説明

TO_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

アーカイブされているメッセージを送信しているユーザの Jabber ID(JID)です。

FROM_JID

VARCHAR (3071)

VARCHAR2 (3071)

Nvarchar (3071)

アーカイブされるメッセージを受け取るユーザの JID です。

SENT_DATE

タイムスタンプ

タイムスタンプ

datetime

メッセージが送信された日付です。 IMP サーバからの UTC 形式。

SUBJECT

VARCHAR (128)

VARCHAR2 (128)

Nvarchar (128)

不可

アーカイブされているメッセージの件名です。

THREAD_ID

VARCHAR (128)

VARCHAR2 (128)

Nvarchar (128)

不可

アーカイブされているメッセージのスレッド ID です。 メッセージスレッドが開始されると、IM クライアントは値を提供し、スレッドのすべての関連メッセージはこの値を使用します。 これらの値は一意であり、関連するアーカイブ メッセージのグループを識別する必要があります。

MSG_TYPE

VARCHAR (1)

VARCHAR2 (1)

Nvarchar (1)

メッセージの type 属性の最初の文字です。 値は次のいずれかになります。

  • "c" — チャット

  • "n" — 通常

  • "g" — グループチャット

  • "h" — 見出し

  • "e" — エラー

方向

VARCHAR (1)

VARCHAR2 (1)

Nvarchar (1)

メッセージが "O" —発信か、 "I" —着信かを示します。 同じサーバを使用するユーザ間でメッセージが送信されると、発信と着信の 2 回ログに記録されます。

BODY_LEN

INT

NUMBER (9)

int

メッセージ本文の文字数です。

MESSAGE_LEN

INT

NUMBER (9)

int

件名と本文を含めて、メッセージの文字数です。

BODY_STRING

VARCHAR (4000)

VARCHAR2 (4000)

Nvarchar (4000)

不可

メッセージ本文です。

MESSAGE_ STRING

VARCHAR (4000)

VARCHAR2 (4000)

Nvarchar (4000)

不可

生のパケット全体。

BODY_TEXT

TEXT

CLOB

nvarchar (MAX)

不可

メッセージ本文が 4000 文字を超える場合、本文は BODY_STRING フィールドではなく、このフィールドに保存されます。

MESSAGE_TEXT

TEXT

TEXT

nvarchar (MAX)

不可

Raw パケット全体が 4000 文字を超える場合、それは MESSAGE_STRING フィールドではなく、このフィールドに保存されます。

HISTORY_FLAG

VARCHAR (1)

VARCHAR2 (1)

Nvarchar (1)

既存の会議室への入室時、会議室の履歴メッセージが新しい参加者に送信される際に使用されます。 これにより、会議室に積極的に参加している間に受信したメッセージと履歴プッシュの一部として受信したメッセージを区別できます。 後者のメッセージタイプには、データベース内で HISTORY_FLAG="H" のフラグが付けられます。 そうでない場合、この列には "N がセットされます。"

JM テーブルのサンプル SQL クエリ

このセクションには、特定の情報を抽出するために JM テーブルで実行できるいくつかのサンプル SQL クエリが含まれています。 次のクエリはテーブルからすべての列を選択しますが、どの情報を SQL クエリに含めるかについて、より選択的にすることができます。

特定のユーザが送信したすべてのインスタントメッセージ

次の SQL クエリは、特定のユーザによって送信されたすべてのインスタントメッセージを返します:

SELECT to_jid, sent_date, subject, thread_id, msg_type, direction, body_len, message_len,

body_string、message_string、body_text、message_text、history_flag

FROM jm

WHERE from_jid like 'bob@cisco.com%';

特定のユーザが受信したすべてのインスタントメッセージ

次の SQL クエリは、特定のユーザが受信したすべてのインスタントメッセージを返します:

SELECT from_jid, sent_date, subject, thread_id, msg_type, direction, body_len,

Message_len、body_string、message_string、body_text、message_text、history_flag

FROM jm

WHERE to_jid like 'bob@cisco.com%';

特定の単語を含むすべてのインスタントメッセージ

次の SQL クエリは、特定の単語を含むすべてのインスタントメッセージを返します:

SELECT to_jid, from_jid, sent_date, subject, thread_id, msg_type, direction, body_len,

Message_len、body_string、message_string、body_text、message_text、history_flag

FROM jm

WHERE LOWER(body_string) like LOWER('%hello%');

特定の日付のすべてのインスタントメッセージ会話とチャットルーム

次の SQL クエリは、特定の日付からのすべてのインスタントメッセージ、会話、およびチャットルームを返します:

SELECT to_jid, from_jid, sent_date, subject, thread_id, msg_type, direction, body_len,

Message_len、body_string、message_string、body_text、message_text、history_flag

FROM jm

WHERE CAST(sent_date AS Character(32)) like '2011-01-31%';