Cisco MediaSense 開発者ガイド リリース 11.0(1) 初版:2015 年 07 月 02 日 シスコシステムズ合同会社 〒107-6227 東京都港区赤坂9-7-1 ミッドタウン・タワー http://www.cisco.com/jp お問い合わせ先:シスコ コンタクトセンター 0120-092-255 (フリーコール、携帯・PHS含む) 電話受付時間:平日 10:00~12:00、13:00~17:00 http://www.cisco.com/jp/go/contactcenter/ 【注意】シスコ製品をご使用になる前に、安全上の注意( www.cisco.com/jp/go/safety_warning/ ) をご確認ください。本書は、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきま しては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更され ている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容 については米国サイトのドキュメントを参照ください。また、契約等の記述については、弊社販 売パートナー、または、弊社担当者にご確認ください。 このマニュアルに記載されている仕様および製品に関する情報は、予告なしに変更されることがあります。 このマニュアルに記載されている表現、情報、および推奨 事項は、すべて正確であると考えていますが、明示的であれ黙示的であれ、一切の保証の責任を負わないものとします。 このマニュアルに記載されている製品の使用 は、すべてユーザ側の責任になります。 対象製品のソフトウェア ライセンスおよび限定保証は、製品に添付された『Information Packet』に記載されています。 添付されていない場合には、代理店にご連絡く ださい。 The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB's public domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California. ここに記載されている他のいかなる保証にもよらず、各社のすべてのマニュアルおよびソフトウェアは、障害も含めて「現状のまま」として提供されます。 シスコお よびこれら各社は、商品性の保証、特定目的への準拠の保証、および権利を侵害しないことに関する保証、あるいは取引過程、使用、取引慣行によって発生する保証 をはじめとする、明示されたまたは黙示された一切の保証の責任を負わないものとします。 いかなる場合においても、シスコおよびその供給者は、このマニュアルの使用または使用できないことによって発生する利益の損失やデータの損傷をはじめとする、 間接的、派生的、偶発的、あるいは特殊な損害について、あらゆる可能性がシスコまたはその供給者に知らされていても、それらに対する責任を一切負わないものと します。 このマニュアルで使用している IP アドレスおよび電話番号は、実際のアドレスおよび電話番号を示すものではありません。 マニュアル内の例、コマンド出力、ネット ワーク トポロジ図、およびその他の図は、説明のみを目的として使用されています。 説明の中に実際のアドレスおよび電話番号が使用されていたとしても、それは意 図的なものではなく、偶然の一致によるものです。 Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: http:// www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R) © 2015 Cisco Systems, Inc. All rights reserved. 目次 はじめに vii 変更履歴 vii 関連資料 ix マニュアルの入手方法およびテクニカル サポート ix フィールド アラートおよび Field Notice ix トラブルシューティング x マニュアルに関するフィードバック x はじめに 1 MediaSense の概念 1 録音へのセッションのマッピング 1 トラックへのメディア ストリームのマッピング 3 保留から再開または転送から会議の動作 3 保留から再開と一時停止から再開 7 録音の相関付け 7 MediaSense メタデータと Unified Communications Manager CDR の相関付け 8 再生と録音のダウンロード 8 RTSP および HTTP 要求の認証とリダイレクト 10 説明(認証済み) 10 説明(認証前) 10 説明(リダイレクト後) 11 HTTP ダウンロード要求の配信 11 Media Forking 11 Cisco Unified Communications Manager のネットワークベースの録音 11 ブログの録音 12 クラスタの導入 12 Unified Communications Manager シナリオと Unified Border Element シナリオの違い 13 Cisco MediaSense 開発者ガイド リリース 11.0(1) iii 目次 Cisco MediaSense API の使用 17 MediaSense API 規則 17 HTTPS の使用 17 POST 要求または GET 要求の使用 18 API バージョン 18 応答の JSON 形式 19 MediaSense API の重要な要素 19 API 応答スキーマ 20 非同期イベントのスキーマ 20 API 応答コード 21 応答メッセージ 25 Response Body 25 エンコード 25 テキスト文字列の特殊文字 25 ジョブの状態 26 paramConnector および fieldConnector の優先順位ルール 26 エンコード 27 テキスト文字列の特殊文字 27 要求と応答パラメータの定義 27 2 台の MediaSense Server 間のフェールオーバー 27 セキュリティに関する注意事項 27 認証のための API Inter-Dependencies 28 ポスター 28 イベント サブスクリプション API 33 はじめに 33 subscribeToEvents 33 unsubscribeFromEvents 35 verifyEventSubscription 37 subscribeRecordingEvent(非推奨) 39 unsubscribeRecordingEvent(非推奨) 40 verifyRecordingSubscription(非推奨) 40 ジョブ管理 API 43 はじめに 43 Cisco MediaSense 開発者ガイド リリース 11.0(1) iv 目次 createJob 43 cancelJob 44 deleteJob 45 ジョブ クエリー API 47 はじめに 47 getJobById 47 getJobResult 49 getJobs 51 録音制御 API 55 はじめに 55 pauseRecording 56 resumeRecording 57 startRecording 58 stopRecording 61 launchMediaPlayer 63 セッション管理 API 67 はじめに 67 addSessionTag 68 convertSession (廃止) 69 deleteSessions 71 deleteSessionTag 72 セッション クエリー API 75 はじめに 75 getAllActiveSessions 76 getAllPrunedSessions 79 getArchiveSessions 82 getAssociatedSessions 82 getSessionBySessionId 87 getSessions 89 getSessionsByCCID 101 getSessionsByDeviceRef 104 getSessionsByMediaType 107 getSessionsByTag 109 同時検索要求 112 Cisco MediaSense 開発者ガイド リリース 11.0(1) v 目次 スケーラブルなクエリーとスケーラブルでないクエリー 112 スケーラブルでないクエリーの回避 113 System Information 119 はじめに 119 getAPIVersion 119 getSystemTime 120 getSessionsResponseSchema 121 ユーザ認証 API 125 はじめに 125 signIn 126 signOut 128 共有パラメータ 131 はじめに 131 API すべてに共通のパラメータ 131 共有パラメータ 132 トリガーされるイベント 153 sessionEvent 153 storageThresholdEvent 156 tagEvent 157 Cisco MediaSense 開発者ガイド リリース 11.0(1) vi はじめに • 変更履歴, vii ページ • 関連資料, ix ページ • マニュアルの入手方法およびテクニカル サポート, ix ページ • フィールド アラートおよび Field Notice, ix ページ • トラブルシューティング, x ページ • マニュアルに関するフィードバック, x ページ 変更履歴 このマニュアルは、予告なしに更新されることがあります。 このマニュアルの最新バージョン は、次の URL から入手できます。http://www.cisco.com/c/en/us/support/customer-collaboration/ mediasense/products-programming-reference-guides-list.html この Cisco.com の Web サイトを定期的に参照し、お手元のマニュアルの(表紙ページにある)改 訂日と Web サイトにあるマニュアルの改訂日とを比較して、更新されているかどうかを確認して ください。 次の表は、このマニュアルの改訂履歴を示したものです。 Change 参照先 日付 「Session Query APIs」セク getArchiveSessions, (82 リリース 11.0(1) 向けのマニュアルの初 ションに getArchiveSessions と ページ) 期リリース 呼ばれる API を追加しまし た。 Cisco MediaSense 開発者ガイド リリース 11.0(1) vii はじめに 変更履歴 Change 参照先 日付 「Session Query APIs」セク セッション クエリー ションの応答スキーマにエー API, (75 ページ) ジェント情報(loginId、 lastName、firstName、 loginIdDomain、および loginName)を追加しました。 リリース 11.0(1) 向けのマニュアルの初 期リリース 「Session Query APIs」セク セッション クエリー ションの応答スキーマに API, (75 ページ) lineDisplayName パラメータを 追加しました。 リリース 11.0(1) 向けのマニュアルの初 期リリース 「Session Query APIs」セク セッション クエリー ションの応答スキーマに API, (75 ページ) errorDetail および errorCode パラメータを追加しました。 リリース 11.0(1) 向けのマニュアルの初 期リリース 「“Session Query”」セクショ セッション クエリー ンの JSON 応答スキーマが正 API, (75 ページ) 常に更新されました。 リリース 10.5(1)_SU1 向けのマニュアル の初期リリース 「“Session Event”」セクショ sessionEvent, (153 ペー リリース 10.5(1)_SU1 向けのマニュアル ンのイベント スキーマが更新 ジ) の初期リリース されました。 現在では次の API パラメータ 共有パラメータ, (132 は、HTTP URL ではなく、 ページ) HTTPS URL です。 リリース 10.5(1) 向けのマニュアルの初 期リリース • DownloadURL • HTTPUrl • mp4Url • wavUrl 「Unified Communications Manager Network-based Recording」セクションを追加 しました。 Cisco Unified リリース 10.5(1) 向けのマニュアルの初 Communications Manager 期リリース のネットワークベースの 録音, (11 ページ) 「Session Query」セクション getAssociatedSessions, ( リリース 10.5(1) 向けのマニュアルの初 に getAssociatedSessions と呼ば 82 ページ) 期リリース れる API を追加しました。 Cisco MediaSense 開発者ガイド リリース 11.0(1) viii はじめに 関連資料 関連資料 マニュアルまたはリソース Link Cisco MediaSense Documentation Guide http://www.cisco.com/c/en/us/support/customer-collaboration/ mediasense/products-documentation-roadmaps-list.html Cisco MediaSense の Cisco.com サイ http://www.cisco.com/c/en/us/support/customer-collaboration/ mediasense/tsd-products-support-series-home.html ト Cisco MediaSense のドキュメント Wiki http://docwiki.cisco.com/wiki/Category:Cisco_MediaSense Cisco MediaSense のトラブルシュー http://www.cisco.com/c/en/us/support/customer-collaboration/ mediasense/products-troubleshooting-guides-list.html ティングのヒント Cisco MediaSense のための仮想化 http://docwiki.cisco.com/wiki/Virtualization_for_Cisco_ MediaSense [英語] Cisco MediaSense に関する FAQ http://docwiki.cisco.com/w/index.php?title=FAQs_for_Cisco_ MediaSense [英語] マニュアルの入手方法およびテクニカル サポート マニュアルの入手、Cisco Bug Search Tool(BST)の使用、サービス要求の送信、追加情報の収集 の詳細については、『What's New in Cisco Product Documentation』を参照してください。このドキュ メントは、http://www.cisco.com/c/en/us/td/docs/general/whatsnew/whatsnew.html から入手できます。 『What's New in Cisco Product Documentation』では、シスコの新規および改訂版の技術マニュアル の一覧を、RSS フィードとして購読できます。また、リーダー アプリケーションを使用して、コ ンテンツをデスクトップに配信することもできます。 RSS フィードは無料のサービスです。 フィールド アラートおよび Field Notice シスコ製品が変更される可能性や、主要プロセスが重要と判断される可能性があります。 これら は、シスコのフィールド アラートおよび Cisco Field Notice メカニズムを使用して発表されます。 Cisco.com で製品アラート ツールを使用し、フィールド アラートや Field Notice を受信するように 登録できます。 このツールを使用すると、関心のあるすべての製品を選択して、通知を受信する ためのプロファイルを作成することができます。 www.cisco.com にログインし、http://www.cisco.com/cisco/support/notifications.html でツールにアク セスしてください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) ix はじめに トラブルシューティング トラブルシューティング 「Troubleshooting Tips」wiki では、他のユーザによってすでに報告された問題の解決に役立つ情報 を提供します。これは次の URL から入手できます。http://docwiki.cisco.com/wiki/Troubleshooting_ Tips_for_Cisco_MediaSense マニュアルに関するフィードバック このマニュアルに関する技術的なフィードバック、または誤りや記載もれなどお気づきの点がご ざいましたら、HTML ドキュメント内のフィードバック フォームよりご連絡ください。ご協力を よろしくお願いいたします。 [email protected] We appreciate your comments. Cisco MediaSense 開発者ガイド リリース 11.0(1) x 第 1 章 はじめに • MediaSense の概念, 1 ページ • Unified Communications Manager シナリオと Unified Border Element シナリオの違い, 13 ペー ジ MediaSense の概念 ここでは、一般的な MediaSense の概念と用語を識別し定義します。 録音へのセッションのマッピング MediaSense およびこのマニュアル内でのセッションとは、1 人以上の参加者が関係する録音され たモノローグ、ダイアログ、または会議です。 MediaSense のセッションは、Unified Communications Manager の録音セッションと同じ意味を持ちます。 録音セッションの詳細については、『Cisco Unified Communications Manager Features and Services Guide』(http://www.cisco.com/en/US/partner/ products/sw/voicesw/ps556/prod_maintenance_guides_list.html)を参照してください。 参加者はデバイスを使用して、このセッションを実施します。 デバイスは、エンドポイントまたはパーソナル コンピュータなどの物理エンティティであり、記 録可能な任意のアイテムを指します。 デバイスは、各デバイスの電話番号または内線番号である deviceRef によって識別されます。 deviceId は各デバイスの一意の識別子で、次の図に示すよう Cisco MediaSense 開発者ガイド リリース 11.0(1) 1 はじめに 録音へのセッションのマッピング に、デバイス名(MAC アドレスや ユニバーサル デバイス識別子 [UDI] など)に直接対応してい ます。 図 1:デバイス、デバイス ID、およびデバイス Ref 各セッションは sessionID で識別され、1 個以上のトラックが含まれます。 各トラックは 1 個の オーディオ ストリームまたは 1 個のビデオ ストリームに固有であり、trackNumber で識別されま す。 セッションは、ライブ(アクティブ)または記録済み(完了済み)を使用できます。ライブセッ ションのモニタリングと録音を同時に実行できます。 録音されたセッションをいつでも再生でき ます。 sessionId を使用して、録音されたセッションを管理できます。 Cisco MediaSense プラットフォームを使用すれば、複数の録音が可能です。 • Cisco IP Phone または Cisco Unified Border Element デバイスから分岐されたメディア。 この録 音には 2 個のオーディオ チャネルがあります。 • 電話機と MediaSense プラットフォーム間の直接コール。 この録音には 1 個のオーディオ チャ ネルと 1 個のオプション ビデオ チャネルがあります。 これらの録音は、本マニュアルで「ブ ログ録音」と呼ばれています。 次のコーデック オプションを使用した MediaSense 録音セッション。 • オーディオ録音:g.711(aLaw または µ-Law)、g.722、または g.729(a または b)コーデッ ク。 • ビデオ録画:h.264 ベースライン コーデック(48 kHz オーディオ サンプリング レートのみを 使用)。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 2 はじめに トラックへのメディア ストリームのマッピング トラックへのメディア ストリームのマッピング メディアストリームとは、ライブまたはレコーディングされたセッション内のオーディオチャネ ルまたはビデオ チャネルを通じて送信されるパケットを指します。 トラックは、各メディア ストリームを識別し、参加者、期間、startDate、および trackNumber など の追加データによってそれを定量化します。 トラック 0 には、分岐デバイスからストリームされ たメディアが含まれ、トラック 1 には、分岐デバイスに対してストリームされた メディアが含ま れます。 1 つの sessionEvent では、各トラックは 1 人の参加者に関連付けられます。 trackNumber の割り当ては任意であり、メディア分岐が有効になっているダイヤル ピアからの入 力または出力のどちらであるかに基づきます。 詳細については、Unified Communications Manager シナリオと Unified Border Element シナリオの違い, (13 ページ)を参照してください。 保留から再開または転送から会議の動作 Unified Border Element は、メディア ストリームと Unified Border Element コールを関連付け、コー ルの参加者を識別するために MediaSense が使用するメタデータ情報を送信します。 SIP セッショ ンの範囲内に蓄積されるメタデータは、レコーディングセッションオブジェクトの形式でクライ アントに示されます。 Unified Communications Manager および Unified Border Element 双方のレコー ディング セッションには、トラック、コール レコードおよびメディア イベントの情報が含まれ ます。 保留/再開、転送/会議などのコール機能をコール参加者が使用する際、Unified Border Element と Unified Communications Manager 導入とで動作は異なります。 • Unified Border Element:SIP セッションは、対応するメディア トラック イベントによって複 数回更新される場合があります。 • Unified Communications Manager:コールが保留中の場合、レコーディング セッションは終了 します。 参加者がコールを再開すると、新しいレコーディング セッションが作成されます。 次の表は、さまざまな代表的導入シナリオに対する応答を示しています。 配置 Unified Border Element フォーキング Unified Communications Unified Communications Manager フォーキング Manager Phone Endpoints での Unified Border Element フォーキ ング コールの発信側 参加者 A 参加者 A 参加者 A コールの受信者 参加者 B 参加者 B 参加者 B Cisco MediaSense 開発者ガイド リリース 11.0(1) 3 はじめに 保留から再開または転送から会議の動作 配置 Unified Border Element フォーキング 保留と再開の実施者 • 保留または転送: 参加者 A • 再開または会議: 参加者 A Unified Communications Unified Communications Manager フォーキング Manager Phone Endpoints での Unified Border Element フォーキ ング • どちらの参加者が • 保留(保留音: 保留したかに関係 なく、レコーディ ング セッション は終了します。 M0H)または転 送:参加者 A • どちらの参加者が コールを再開した かに関係なく、新 しいレコーディン グ セッションが 作成されます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 4 • 再開または会議: 参加者 A はじめに 保留から再開または転送から会議の動作 配置 Unified Border Element フォーキング Unified Communications Unified Communications Manager フォーキング Manager Phone Endpoints での Unified Border Element フォーキ ング クライアントが受信し 2 つのタグ イベント: タグ イベントなし。 たタグ イベント数 1 1 つのイベント(保 留または転送):タ イプ: TAG_EVENT、処 理:ADDED、タグ 名:TrackInactive、 トラック ナン バー:参加者 B 2 1 つのイベント(再 開または会議):タ イプ: TAG_EVENT、処 理:ADDED、タグ 名:TrackActive、ト ラック ナンバー: 参加者 B Cisco MediaSense 開発者ガイド リリース 11.0(1) 5 はじめに 保留から再開または転送から会議の動作 配置 Unified Border Element フォーキング Unified Communications Unified Communications Manager フォーキング Manager Phone Endpoints での Unified Border Element フォーキ ング 6 つのタグ イベント: 保留または転送用 3 イ ベントと(再開または 会議)用 3 イベント: 1 タイプ: TAG_EVENT、処 理:ADDED、タグ 名:TrackInactive、 トラック ナン バー:参加者 A 2 タイプ: TAG_EVENT、処 理:ADDED、タグ 名:TrackInactive、 トラック ナン バー:参加者 B 3 タイプ: TAG_EVENT、処 理:ADDED、タグ 名:TrackActive、ト ラックナンバー:参 加者 A 4 タイプ: TAG_EVENT、処 理:ADDED、タグ 名:TrackInactive、 トラック ナン バー:参加者 A 5 タイプ: TAG_EVENT、処 理:ADDED、タグ 名:TrackInactive、 トラック ナン バー:参加者 B 6 タイプ: TAG_EVENT、処 理:ADDED、タグ 名:TrackActive、ト Cisco MediaSense 開発者ガイド リリース 11.0(1) 6 はじめに 保留から再開と一時停止から再開 配置 Unified Border Element フォーキング Unified Communications Unified Communications Manager フォーキング Manager Phone Endpoints での Unified Border Element フォーキ ング ラック ナンバー: 参加者 B クライアントはどのような時でもこれらの SYSTEM_DEFINED(TrackActive および TrackInactive) タグ名を削除できません。 トラックの初期状態はデフォルトでアクティブ(TrackActive)になる と想定されます。 メディアの状態が、(保留から再開、または転送から会議)に変更になる場 合、アクティブな状態(TrackActive)は、非アクティブ(TrackInactive)に変更されます。 保留から再開と一時停止から再開 MediaSense は、保留状態または一時停止状態にあったコールに戻るのに「再開」を使用します。 • 保留状態から再開: • この作業は、デバイスから行うことができます。 • TRACK レベルでシステム定義されたタグ イベントの TrackActive が追加されます。 • 一時停止状態から再開 • この作業は、API から行うことができます。 • SESSION レベルでシステム定義されたタグ イベントの Resumed が追加されます。 録音の相関付け MediaSense を使用して、ゲートウェイで分岐したメディアの録音を相関付けます。 次のオプショ ンの 1 つを使用して、録音を相関付けることができます。 • リアルタイム相関によって、クライアントは録音がアクティブな間に MediaSense API 要求を 出すことができます(たとえば、録音の一時停止と再開機能、AgentID またはエージェント の指定する時間別注釈をつけた録音をタグ付けする機能)。 • 履歴相関によって、クライアントは外部データベースから選択した録音(またはその逆)を 探し、Cisco MediaSense メタデータからの情報を使用して、外部データベース内でコール情 報を探すことができます。 この相関を確立するために、コール相関 ID (CCID)と callControllerType パラメータを使用しま す。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 7 はじめに MediaSense メタデータと Unified Communications Manager CDR の相関付け getSessionsByCCID API を使用して、CCID に基づき、録音またはライブ セッションの検索および 取得を行います。 MediaSense メタデータと Unified Communications Manager CDR の相関 付け 『Cisco Unified Communications Manager Call Detail Records Administration Guide』では、コール詳細 レコード(CDR)とコール管理レコード(CMR)を設定する方法と、これらのレコードの例につ いて説明します。 MediaSense では、callcontrollertype が Cisco-Unified Communications Manager の場合、各コールのメ タデータは xRefci (参照コール ID)と、分岐デバイスおよび遠端デバイスのデバイス参照(会議 ブリッジまたはその他の電話)を提供します。 callcontrollertype が Cisco-Unified Communications Manager-Gateway の場合、各コールのメタデータには CCID (コール相関 ID)フィールドが含ま れています。これは、Unified Communications Manager コール詳細レコードのフィールドに一致し ます。 元の発信番号、着信番号、コールのタイプなどの詳細を確認するには、次の URL にある『Cisco Unified Communications Manager Call Detail Records Administration Guide』の「Call Detail Records」 の項を参照してください。http://www.cisco.com/en/US/products/sw/voicesw/ps556/prod_maintenance_ guides_list.html すべてのコールが MediaSense サーバに保存されます。 再生と録音のダウンロード MediaSense 録音は、リアルタイム ストリーミング プロトコル(RTSP)を使用してストリーミン グし、.mp4 や .wav ファイルとしてダウンロードできます。または、HTTP 1.1 のチャンク転送コー ディングを使用して RAW 形式でダウンロードできます。 これらの機能(例:VideoLAN クライ アント [VLC])をサポートする任意のプレーヤーを使用して MediaSense 録音を再生できます。 一部のプレイヤー(例:VLC)を使用して RTSP 形式で分岐されたメディア録音を聞く場合、一 度に聞けるのは 1 個のトラックだけです(両方を同時に聞くことはできません)。 両方のオー ディオ チャネルとビデオを同時に視聴したい場合は、mp4Url または wavUrl リンクを使用して mp4 または wav 形式に MediaSense をエクスポートします。 標準の HTTP アクセス方式を使用し てそのファイルをダウンロードし、両方のオーディオ チャネルとビデオを同時に視聴します。 .mp4 または .wav への変換によって、ファイルが移植可能になり、任意の場所にコピーできるよう になります。 セッション クエリー API, (75 ページ) API によって返される downloadUrl パラメータを使用す ることにより、クライアント アプリケーションも RAW オーディオ形式の録音をダウンロードで きます。 各 API には、オーディオ トラック用の downloadUrl しかありません。 MediaSense ビデ オ トラックを RAW 形式でダウンロードすることはできません。 URL(ダウンロード、wav、お よび mp4)は、sessionState が CLOSED_NORMAL である場合にのみセッション クエリー応答に存 在し、eventAction が ENDED である場合にのみ sessionEvent に存在します。 他の状態(ACTIVE、 Cisco MediaSense 開発者ガイド リリース 11.0(1) 8 はじめに 再生と録音のダウンロード DELETED、または CLOSED_ERROR)にある他のセッションの場合、downloadUrl、wavUrl、お よび mp4Url は使用できません。 downloadUrl により、HTTP 1.1 のチャンク転送コーディング(RFC 2616、セクション 3.6.1)を使 用してファイルをダウンロードできます。したがって、本文には受信者により元のメディアスト リームへの再構成が必要な一連のチャンクが含まれます。 各チャンクは 16 進数で表わされるチャ ンク長を含む行で始まり、それと全く同じバイト数のバイナリデータが続きます。ファイルの最 初の行には、長さフィールドと、後続データのメディア コーデックのタイプを示す <;MEDIA-TYPE=> チャンク拡張タグが含まれます。 コーデックの値は次のいずれかになります。 • "G711-Mulaw" • "G711-Alaw" • "G722" • "G729" 通常、データチャンクは相互に直接連結されて、メディアストリームを再構築します。ただし、 長さ行にはオプションの <;SILENCE=n> チャンク拡張タグが含まれる場合があります。これは、 問題のあるチャンクの前に n ミリ秒間の無音部分を挿入する必要があることを示します。 最終 チャンクはゼロ バイト長で表示されます。 すべての行は「\ r」と「\ n」の両方の文字で終了しま す。 MediaSense は「MEDIA- TYPE」タグのすぐ後に続く raw ダウンロード本文のコンテンツに 「START-TIME」タグも含めます。 START-TIME は、各トラックの最初のメディア パケットがレ コーダにより受信された時刻を示します(1970 年8 月 1 日 GMT から経過したミリ秒単位の時 間)。 このタグは、ダウンロードされた raw メディア トラックを配列して調整するために、クラ イアント アプリケーションにより使用されることがあります。これにより、たとえば、参加者は 互いの発言を妨げることなく、交互に発言します。 すべての URL(rtsp を含む)は、クライアントにより不透明な文字列として処理されます。 クラ イアント コードは、完全に形成された HTTP URL の使用を前提とする以外には、その形式または 構造に依存しません。これは、シスコが将来的に形式または構造を変更する権限を留保している ためです。 ただし、クライアントは必要に応じて URL パラメータを追加できます。 具体的には、 timeout=n パラメータを追加すると、ダウンロードを中断する前に Cisco MediaSense はソケットへ の書き込みを少なくとも n 秒間試みます(デフォルトでは 5 秒間)。 これにより、ネットワーク またはクライアントが低速な場合にシステムが保護されます。 受信した最後の行が「0\r\n」で終 わっていることを確認することにより、クライアントはダウンロードが完了したかどうかを判断 できます。 次に、G711-Mulaw メディア ストリームの例を示します。ここでは、3 個のチャンクに分割され、 合計 26796 バイトのデータに対して、2 個の無音セグメント(計 240 ミリ秒)が組み入れられて います。 -----------1234;MEDIA-TYPE=’G711-mulaw’;START-TIME=2069539211\r\n 0x1234 bytes of binary data\r\n 2222;SILENCE=’40’\r\n 0x2222 bytes of data\r\n 3456;SILENCE=’200’\r\n 0x3456 bytes of binary data\r\n 7788\r\n Cisco MediaSense 開発者ガイド リリース 11.0(1) 9 はじめに RTSP および HTTP 要求の認証とリダイレクト 0x7788 bytes of binary data\r\n 0\r\n downloadUrl、 wavUrl、および mp4url パラメータがダウンロード機能を提供するのに対し、rtspUrl パラメータは ストリーミング機能を提供します。 したがって、他の URL は終了したセッション でのみ使用できるのに対し、rtspURL はアクティブなセッションと終了したセッションの両方で 提供されます。 RTSP および HTTP 要求の認証とリダイレクト MediaSense は基本認証を使用して、リアルタイム ストリーミング プロトコル(RTSP)要求とメ ディア関連の HTTP 要求を発行する API クライアントのユーザ名とパスワードを確認します。 OPTIONS コマンドは認証を必要としないため、このパターンの例外です。ただし、リダイレクト されることがあります。 認証後、MediaSense は他の URL に RTSP 要求とメディア関連の HTTP 要求を別の URL へリダイ レクトします。 リダイレクトされた URL は不透明で変更されることがあるため、解析やキャッ シュはできません。 以下は RTSP 認証および DESCRIBE コマンドのリダイレクトの例です。 • 認証前 • 認証中 • リダイレクト後 説明(認証済み) REQUEST DESCRIBE rtsp://10.194.118.94/archive/e4137a336b0bf1 RTSP/1.0 CSeq: 7 Authorization: Basix YXBpdXNIcjpaXNjbw== User-Agent: LibVLC/1.1.9 {LIVE555; Streaming Media v2011.03.14} Accept: application/sdp RESPONSE RTSP/1.0 302 Moved Temporarily Server: Cisco MediaSense Media Server CSeq: 7 Location: rtsp://10.194.118.94:9554/archive/e4137a336b0bf1?token=abc123 説明(認証前) REQUEST DESCRIBE rtsp://10.194.118.94/archive/e4137a336b0bf1 RTSP/1.0 CSeq: 6 User-Agent: LibVLC/1.1.9 {LIVE555; Streaming Media v2011.03.14} Accept: application/sdp RESPONSE RTSP/1.0 401 Unauthorized WWW-Authenticate: Basic realm=”Secured Area” Cisco MediaSense 開発者ガイド リリース 11.0(1) 10 はじめに 説明(リダイレクト後) CSeq: 6 Server: Cisco MediaSense Media Server 説明(リダイレクト後) REQUEST DESCRIBE rtsp://10.194.118.94:9554/archive/e4137a336b0bf1?token=abc123 RTSP/1.0 CSeq: 8 User-Agent: LibVLC/1.1.9 (LIVE555; Streaming Media v2011.03.14) Accept: application/sdp RESPONSE RTSP/1.0 200 ok CSeq: 8 Content-Type: application/sdp Content-Length=512 V=0 O=15237780159166911470 15237780159166912070 IN IP4 10.194.118.94 a=Cisco Live Media Streaming Session HTTP ダウンロード要求の配信 一部のクライアントは、すべてのレコーディングのコピーを作成するために HTTP ダウンロード 機能を使用します。その際、長期的なアーカイブとしてではなく、それらのファイルの一時領域 として MediaSense が多く使用されます。 ダウンロード機能を使用することは、非常に有効な使用 例です。 ただし、これらのダウンロード要求をバッチ化し、1 日 1 回(またはその他の定期的な 期間で)発行することが望ましい場合があります。 リソースをさらに有効活用するためにこれらの要求を長期にわたって平均的に分散させます。 た とえば、コールのレコーディングが終了次第ダウンロードを開始するために、セッション ENDED イベントを使用します。 Media Forking MediaSense がサポートするすべての Cisco IP Phone には、着信および発信メディア ストリームの 分岐を可能にするビルトイン ブリッジ(BIB)があります。 MediaSense は、この機能を利用して 分岐された着信および発信メディアを録音します。 メディア分岐の詳細については、Unified Communications Manager のマニュアルを参照してください。 コール フォーキングは電話機からではなく Unified Border Element アプリケーション内で実行され るため、Unified Border Element には BIB の概念がありません。 Cisco Unified Communications Manager のネットワークベースの録音 Unified Communications Manager のネットワークベースの録音(NBR)を使用すると、ゲートウェ イを使用して通話を録音できます。 NBR によって、Unified Communications Manager はデバイス、 場所、地域に関係なく、通話録音をルート指定できます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 11 はじめに ブログの録音 NBR では、通話録音のメディア ソースは、IP 電話または SIP トランクを介して Unified Communications Manager に接続されたゲートウェイから提供されます。 Unified Communications Manager は、コール フローおよびコール参加者に基づいて、動的に適切なメディア ソースを選択 します。 個別の録音設定が必要ないため、Integrated Services Router(ISR)が利用できない場合、NBR はビ ルトインブリッジ(BiB)に自動フォールバックを提供します。 これは、Unified Border Element でコンサルト コールを録音できず、BiB を別途有効にする必要があるため、お客様がエージェン ト対エージェントのコンサルト コールを録音ポリシーに含める必要がある場合に便利です。 Unified Communications Manager NBR の詳細については、次の URL にある『Features and Services Guide for Cisco Unified Communications Manager』を参照してください。 http://www.cisco.com/c/en/ us/support/unified-communications/unified-communications-manager-callmanager/ products-maintenance-guides-list.html (注) MediaSense は TDM ゲートウェイの録音をサポートしています。 ブログの録音 MediaSense では、サポートされる Cisco IP Phone を使用してブログの記録(オーディオとビデオ) を作成できます。 ブログを記録した後、サードパーティ製のアプリケーションでそれを公開でき ます。 ブログの記録は、次のいずれかの方法で開始できます。 • ユーザが MediaSense サーバにダイヤルする。 • API 要求に応じて、MediaSense サーバがユーザの電話を呼び出す。 クラスタの導入 MediaSense サーバは、1 つのクラスタに導入されます。 1 つのクラスタには、1 ~ 5 台のサーバを 含めることができます。導入に応じて、各クラスタは基本的なメディア記録とデータベーススト レージを提供し、スケーラブルな記録容量を処理します。 • 1 サーバのクラスタは、小企業によって導入されます。 この場合サーバは、メディア記録、 データベース ストレージ、および設定情報を管理します。 • 2 サーバのクラスタは、データ レプリケーションと冗長性を配慮する企業が導入します。 こ の場合はどちらのサーバも、メディア記録、データベース ストレージ、および設定情報を管 理します。 この導入によりハイ アベイラビリティを提供し、すべてのデータベースのデー タが冗長に保存されるようにします。 • 3 ~ 5 サーバのクラスタは、記録容量を増やして、重い負荷を処理します。 拡張サーバは、 追加したメディアの記録を管理します。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 12 はじめに Unified Communications Manager シナリオと Unified Border Element シナリオの違い Unified Communications Manager シナリオと Unified Border Element シナリオの違い Unified Communications Manager は MediaSense で録音プロファイルまたはコール制御サービス接続 (SIP トランク)を設定するために使用されます。 同様に、Unified Border Element を利用し、ダ イヤル ピアとメディア クラス設定により MediaSense との通信が決まります。 コール シグナリン グに関連しないほとんどは MediaSense を使用した Unified Communications Manager シナリオと MediaSense を使用した Unified Border Element シナリオ間で同じです。 MediaSense が Unified Communications Manager で展開されているか、Unified Border Element で展開されているかに関係 なく、イベント、応答コード、パラメータ定義は両方のシナリオで同じです。 コール プロバイダーの種類を区別するために MediaSense が使用する API (アプリケーション プ ログラミング インタフェイス)パラメータの 1 つが callControllerType パラメータです。 このパラ メータは両方の展開に存在しますが、パラメータの値は Unified Border Element と Unified Communications Manager で異なります。 次の表は、両方のシナリオ間の主な API 関連の違いについて示したものです。 MediaSense 機能 Unified Communications Manager Unified Border Element ダイヤル を使用 (ビルトインブリッジ ピア分岐を使用 の録音とネットワークベースの 録音の両方に適用) trackNumber パラメータの割り SessionEvents とセッション trackNumber の割り当ては任意 当て (API 応答)には次のトラック であり、メディア分岐が有効に 割り当てがあります。 なっているダイヤル ピアから の入力または出力のどちらであ • トラック 0 は 1 人の参加 るかに基づきます。 者(分岐電話)に関連付 けられます。 • トラック 1 は 1 人の参加 者(非分岐電話)または 複数の参加者(非分岐の 電話転送コールの場合) に関連付けられます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 13 はじめに Unified Communications Manager シナリオと Unified Border Element シナリオの違い MediaSense 機能 Unified Communications Manager Unified Border Element ダイヤル を使用 (ビルトインブリッジ ピア分岐を使用 の録音とネットワークベースの 録音の両方に適用) コール相関(xRefCi パラメー タ) xRefCi パラメータは Unified xRefCi パラメータは MediaSense Communications Manager によっ によって生成されます。 この て生成されます。 場合、Unified Communications Manager レコードに xRefCi レ コードの詳細は表示されませ ん。 MediaSense ソリューショ ンでは、ゲートウェイ分岐メ ディアの録音を関連付けること ができます。 この相関を確立 するために、コール相関 ID (CCID)と callControllerType パラメータを使用します。 詳 細については、「相関録音」セ クションを参照してください。 CCID パラメータは Unified Border Element によって生成さ れたシスコ GUID に対応し、ソ リューション全体のエンドツー エンド コール トレースに使用 できます。 発信側と着信側のトラックの識 数値が小さい xRefCi パラメー 別。 詳細については、Cisco タは、ほとんどの場合、発信側 MediaSense Web サイトの FAQ のトラックを示します。 をご覧ください(「How do you determine which track has the calling and which has the called party?」)。 保留状態にされたコール • コールが保留中のとき、 • SIP セッションは、対応す 論理録音セッションは終 了します。 セッションは 関連しています。xRefCi パラメータの同じペアを 共有します。 るメディア トラック イベ ントによって複数回更新 される場合があります。 保留/再開シーケンスにか かわらずセッションは 1 つです。 • 終わりに近づいたところ で、セッションは終了し ます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 14 トラック 0 には、メディア録音 プロファイルが構成されダイヤ ル ピアに対応するメディア ス トリームが含まれます。 • コールを保留にすると、 SYSTEM_DEFINED TrackInactive タグが追加さ れます。 はじめに Unified Communications Manager シナリオと Unified Border Element シナリオの違い MediaSense 機能 コール再開 Unified Communications Manager Unified Border Element ダイヤル を使用 (ビルトインブリッジ ピア分岐を使用 の録音とネットワークベースの 録音の両方に適用) • 参加者がコールを再開す ると、新しい録音セッショ ンが作成されます。 セッ ションは関連しています。 xRefCi パラメータの同じ ペアを共有します。 • 終りに近づいたところで、 新しいセッションが開始 されます。 (注) • SIP セッションは、対応す るメディア トラック イベ ントによって複数回更新 される場合があります。 保留/再開シーケンスにか かわらずセッションは 1 つです。 • コールを再開すると、 SYSTEM_DEFINED TrackActive タグが追加さ れます。 他の展開および管理関連の違いについての詳細情報については、『User Guide for Cisco MediaSense』を参照してください(http://www.cisco.com/en/US/products/ps11389/products_user_ guide_list.html から入手可能)。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 15 はじめに Unified Communications Manager シナリオと Unified Border Element シナリオの違い Cisco MediaSense 開発者ガイド リリース 11.0(1) 16 第 2 章 Cisco MediaSense API の使用 • MediaSense API 規則, 17 ページ • ジョブの状態, 26 ページ • paramConnector および fieldConnector の優先順位ルール, 26 ページ • エンコード, 27 ページ • テキスト文字列の特殊文字, 27 ページ • 要求と応答パラメータの定義, 27 ページ • 2 台の MediaSense Server 間のフェールオーバー, 27 ページ • セキュリティに関する注意事項, 27 ページ • 認証のための API Inter-Dependencies, 28 ページ • ポスター, 28 ページ MediaSense API 規則 MediaSense API は camelCase 表記法を使用します。 API URI では大文字と小文字が区別されます。 API ごとに識別される厳密な URI を使用します。 パラメータでは大文字と小文字が区別されませ ん。 HTTPS の使用 MediaSense API は HTTPS のみをサポートします。 安全でない HTTP はほとんどの MediaSense API で受け入れられません。 getAPIVersion のみ、例外的に HTTP または HTTPS を受け入れることが できます。 MediaSense は HTTP バージョン 1.1 を使用し、連続する要求を処理し、クライアント接続を維持 します。 特にイベント配信の場合にパフォーマンスを向上させるには、必ず同様の動作が実行さ れるように、サードパーティ製のアプリケーションを構築してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 17 Cisco MediaSense API の使用 POST 要求または GET 要求の使用 POST 要求または GET 要求の使用 MediaSense API は、POST 要求と GET 要求に次の表記法を使用します。 HTTP 要求タ 説明 イプ Action POST サーバでアクションを 実行し、MediaSense サーバの状態を変更す る要求(開始または停 止要求)。 または、パ ラメータの構造がクエ リー パラメータで指定 するには複雑すぎる、 すべてのクエリーまた は読み取り要求。 たと えば、getSessions API は、それが安全な方法 でも POST を使用しま す(サーバの状態を変 更しません)。 パラメータは POST デー タ ブロックで渡されま す。 データ ブロックは JSON 構文を使用します。 GET MediaSense システムに 情報を問い合わせる か、情報を読み取るだ けの要求(情報取得だ けが目的であり、サー バの状態を変更しな い、安全な方法)。 パラメータはクエリー パ ラメータとして URL で渡 されます。 クエリー パラ メータを指定するとき、 疑問符「?」を最初のパラ メータに付け、アンパサ ンド「&」を各後続パラ メータに付けます。 例 { "requestParameters":{ "param1":"value1", "param2":"value2" } } http://cisco.com/abc /xyz?param1=value1 ¶m2=value2 API バージョン MediaSense API は次のバージョン表記法に従います。 • MediaSense リリース 11.0(1) API のバージョンは 1.7 です。 • API バージョン番号は 1.0 から始まり、製品バージョンと結び付いていません。 • API バージョン番号は x.y.z ではなく x.y(例:1.0)です。 getAPIVersion API を使用して、システムで実行されている API の現在のバージョンを取得しま す。 この API は、MediaSense 展開で動作する API のバージョン番号を返します。 この API を使 用するためにサインインする必要はありません。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 18 Cisco MediaSense API の使用 応答の JSON 形式 応答の JSON 形式 MediaSense では JSON がサポートされます。 API 応答とイベントは JSON 形式です。 MediaSense API を使用するサードパーティ アプリケーションで使用される形式に関係なく、これらの規則に 従ってください。 • 各 API リクエストの HTTP ヘッダーでコンテンツ タイプをアプリケーションまたは json と して指定します。 • ヘッダーが欠落している場合、データはデフォルトの JSON 形式で返されます。 (注) JSON 形式は、キーと値のペアです。 キーと値のペアの順序は、各応答内で同じではない場合 があります。 シスコでは、通常、1 つの API バージョンから次のバージョンまで、JSON 応答スキーマに新 しいプロパティを追加しますが、既存のプロパティのオブジェクト階層の意味または相対的な 位置は変更されません。 MediaSense の新しいバージョンでクライアント コードを正しく機能 させるには、認識されない JSON プロパティをすべて無視する必要があります。 これは、API 応答とイベントの両方に適用されます。 MediaSense API の重要な要素 ここでは、MediaSense API 内の重要な要素とパターンを識別します。 MediaSense API のサンプル URI。 https://<host>:<port>/ora/<sampleService>/<sample>/<sampleMethod> このサンプル URI の要素を次の表に示します。 要素 説明 https:// MediaSense API が使用するセキュアなプロトコル。 • サーバ間の通信は常に HTTPS を使用する必要があります。 • クライアント/サーバ間の通信では認証に HTTPS を使用する必要 があります。 • HTTPS は、ほとんどすべての MediaSense API に必要です。 1 つの 例外が getAPIVersion API で、HTTP または HTTPS のいずれかを必 要とします。 <host>:<port> <host> をホスト名に、<port> をポート番号に置き換えます。 これら 2 つの要素は、各 API のコンテキスト ルートの一部です。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 19 Cisco MediaSense API の使用 MediaSense API の重要な要素 要素 説明 ora MediaSense API の製品名仕様です。 この要素はすべての MediaSense API を通して一定です。 sampleService または sample 特定の MediaSense API によって指定されたサービスの名前。 利用可能 なサービスはユーザ認証、イベント サブスクリプション、セッション 照会、セッション管理などです。 この要素では、sampleService はインターフェイスで、sample がその実 装です。 sampleMethod API の名前。 各 API 名は動詞で始まり、実行されるアクションを示し ます。 次の URI は、MediaSense subscribeRecording API の例です。 https://<host>:<port>/ora/eventService/event/subscribeToEvents API 応答スキーマ すべての MediaSense API 応答にこれらの重要な要素があります。 JSON スキーマ: { "responseCode": <replace with your integer> //Numeric code for the response "responseMessage": <replace with your string> //A textual description of the result "responseBody": {<JSON object>} //The response itself (optional) } (注) responseMessage パラメータは変更される場合があり、プログラム上の比較の目的で使用する ものではありません。 その目的には、responseCode パラメータを使用してください。 非同期イベントのスキーマ すべての MediaSense API 応答にこれらの重要な要素があります。 JSON の例: { "eventType": <string value>, //type of the event, such as SESSION_EVENT "eventAction": <string value>, //possible actions for a given event such as SESSION_STARTED "forwardedEvent": <true or false>, //indicates that the event is not locally generated "eventBody": <JSON object> //the event itself } Cisco MediaSense 開発者ガイド リリース 11.0(1) 20 Cisco MediaSense API の使用 MediaSense API の重要な要素 (注) これらの要素の詳細については、共有パラメータ, (132 ページ)を参照してください。 API 応答コード 2xxx 成功応答コード 操作が正常に受信され、理解され、受け入れられました。 応答コード 説明 2000 成功:リクエストは正常に完了しました。 2001 成功:このクライアント要求に一致する結果は見つかりませんでした。 2002 成功:セッションのレコーディングが正常に一時停止しましたが、データ ベースは更新されませんでした。 2003 成功:セッションのレコーディングが正常に再開されましたが、データベー スは更新されませんでした。 2004 成功:セッションのレコーディングは正常に削除されましたが、データベー スは更新されませんでした。 2005 成功:指定されたサブスクリプション Uri を持つサブスクリプションはすで に存在します。 2006 成功:現在のサブスクリプションは更新され、要求された subscriptionFilters から解除されました。 サブスクリプションはまだアクティブです。 3xxx リダイレクト応答コード 要求を完了するには、クライアントは追加アクションを実行する必要があります。 応答コード 説明 3001 失敗:要求を処理できません。 リダイレクトを指定し、再試行してくださ い。 4xxx クライアント エラー応答コード 要求に不正な構文が含まれているか、要求を実行できません。 応答コード 説明 4000 失敗:要求は無効です。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 21 Cisco MediaSense API の使用 MediaSense API の重要な要素 応答コード 説明 4001 失敗:安全でない HTTP は許可されません。 要求に HTTPS を使用します。 4005 失敗:データベースには値が見つかりません。 詳細:<parameter name>: <parameter value> 4019 失敗:認証されていない MediaSense ユーザ。 4020 失敗:ログイン認証情報(ユーザ名またはパスワード)は無効です。 4021 失敗:無効なセッションです。 セッションが期限切れになっている可能性 があります。 再度ログインするか、または有効な JSESSIONID を入力して ください。 4022 失敗:指定したユーザは Finesse スーパーバイザではありません。 4023 失敗:Cisco Finesse サーバへの接続に失敗しました。 Cisco Finesse の設定を 確認し、再試行してください。 4030 失敗:この deviceRef を使用してコールを確立できません。 deviceRef を確 認し、再試行してください。 4031 失敗:deviceRef が使用できないか、使用中です。 デバイスを確認し、後で 再試行してください。 4032 失敗:この deviceRef を使用してコールを接続解除できません。 コールが存 在していることを確認し、再試行してください。 4033 失敗:サポートされていない mediaStreams の組み合わせです。 このパラメー タの許容ストリームを確認し、再試行してください。 4041 失敗:fieldName パラメータは無効です。 4042 失敗:fieldOperator パラメータは無効です。 4043 失敗:fieldValue パラメータ数が無効です。 4045 失敗:connector パラメータが無効です。 4046 失敗:order パラメータが無効です。 4047 失敗:fieldName パラメータが欠落しています。 4048 失敗:fieldCondition パラメータが欠落しています。 4049 失敗:fieldOperator パラメータが欠落しています。 4050 失敗:fieldValue パラメータが欠落しています。 4051 失敗:fieldConnector パラメータが欠落しています。 4052 失敗:paramConnector パラメータが欠落しています。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 22 Cisco MediaSense API の使用 MediaSense API の重要な要素 応答コード 説明 4053 失敗:fieldName パラメータが欠落しています。 fieldName でソートできま せん。 4054 失敗:order パラメータが欠落しています。 4055 失敗:requestParameter が欠落しています。 4056 失敗:無効な JSON 構文です。 構文を確認し、再試行してください。 4057 失敗:1 つ以上の fieldValue パラメータはタイプが不正です。 4058 失敗:tagName パラメータが欠落しています。 4059 失敗:認証プロバイダーが無効です。 有効な認証プロバイダーは、AXL、 FINESSE です。 4060 失敗:クライアント要求に値が欠落しています。 4061 失敗:メッセージにパラメータが欠落しています。 詳細:<parameter name> 4062 失敗:パラメータの構文が無効です。 詳細:<parameter name> 4063 失敗:offset パラメータが無効です。 4064 失敗:limit パラメータが無効です。 4066 失敗:日付範囲が無効です。 日付範囲の上限は 1 年です。 要求を再送信し ます。 4070 失敗:セッション ID が無効であるか、アクティブなセッションがありませ ん。 4071 失敗:セッション ID が無効であるか、非アクティブなセッションがありま せん。 4072 失敗:セッション ID が無効であるか、セッションがありません。 4073 失敗:conversionFormat が無効です。 サポートされている形式を確認し、再 試行してください。 4080 失敗:指定された subscriptionUri を持つサブスクリプションはすでに存在し ます。 4081 失敗:指定された subscriptionUri を持つサブスクリプションは存在しませ ん。 4082 失敗:ACTIVE または ERROR 状態のセッションを変換することはできませ ん。 4090 失敗:jobId が無効であるか、特定のジョブがこの時点で実行されていませ ん。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 23 Cisco MediaSense API の使用 MediaSense API の重要な要素 5xxx サーバ エラー応答コード サーバは有効と思われる要求を実行できませんでした。 応答コード 説明 5000 失敗:不明なサーバ エラーが発生しました。 後でもう一度試してくださ い。 5001 失敗:データベース エラーが発生しました。 後でもう一度試してくださ い。 5002 失敗:セッションを一時停止できません。 後でもう一度試してください。 5003 失敗:セッションを再開できません。 後でもう一度試してください。 5004 失敗:セッションを削除できません。 後でもう一度試してください。 5006 失敗:セッションを変換できません。 後でもう一度試してください。 詳 細:<Reason For Failure> 5020 失敗:Unified Communications Manager の AXL サービスがタイムアウトしま した。 後でもう一度試してください。 5021 失敗:Unified Communications Manager の AXL サービスはアクティブになっ ていません。 サービスをアクティブにし、再試行してください。 5022 失敗:AXL 認証は無効です。 Unified Communications Manager の設定を確認 し、再試行してください。 5023 失敗:不明な AXL ホスト。 Unified Communications Manager の設定を確認 し、再試行してください。 5024 失敗:不明な AXL サービス エラー。 後でもう一度試してください。 5025 失敗:AXL サービスへの接続が失敗しました。 後でもう一度試してくださ い。 5030 失敗:このシステムに関連する DeviceRef を使用してコールを確立できませ ん。 Unified Communications Manager または Unified Border Element システム への接続を確認し、再試行してください。 5031 失敗:コールをレコーディングできません。 MediaSense Media Service が動 作していることを確認し、再試行してください。 5032 失敗:コールをレコーディングできません。 MediaSense Media Service のディ スク容量が不足しています。 5040 失敗:要求を処理できません。 要求されたオペレーションのジョブの状態 が無効です。 ジョブの状態を確認し、再試行してください。 詳細:<Job State> 5041 失敗:リクエストがタイムアウトになりました。 要求を再送信します。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 24 Cisco MediaSense API の使用 エンコード 応答コード 説明 5042 失敗:このシステムは、同時要求の最大数を超えました。 後でもう一度試 してください。 5053 失敗:要求を処理できません。 アーカイブされたセッションの検索の上限 を超えました。 検索を絞り込んでください。 応答メッセージ 応答メッセージでは、以下のタイプの値を使用できます。 • 肯定応答の場合:「Success」または「Partial success」。 • 否定応答の場合:「Failure: <text indicating reason for failure>」。 Response Body API 応答には、要件に基づいてオプションの本文を含めることもできます(responseBody)。 responseBody 内には、前述の 2 つのキー以外にも情報が含まれます。 JSON スキーマ: "responseBody": {//one or more optional elements within the responseBody depending on the request specifications. .. .. } (注) 場合によっては、すべてのパラメータが API の応答本文に存在しない可能性があります。 こ のような場合は、適切なパラメータのみが関連 API の応答本文に示されます。 たとえば、 getSessions API の応答本文では、アクティブ セッションに duration パラメータの詳細は含まれ ません。 エンコード すべての URL は URL エンコードである必要があります(パーセントエンコード)。 テキスト文字列の特殊文字 すべてのテキスト文字列に対して(パスワードを含む)、ユーザは http://www.json.org/ の仕様に 従います。また前にバックスラッシュを付けることで、特殊文字をエスケープする必要がありま す。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 25 Cisco MediaSense API の使用 ジョブの状態 ジョブの状態 ジョブの状態 説明 RUNNING ジョブの実行は正常に開始され、引き続き実行されています。 COMPLETED ジョブが正常に完了しました。 (注) 「正常に完了しました」とは、すべてのオペレーションが成功し たという意味ではなく、単にこのジョブのすべてのオペレーショ ンが正常に試行されたことを示します。 CANCELED ジョブは cancelJob API を使用して取り消され、現在は実行されていませ ん。 ERROR システム エラーが原因でジョブは実行を停止しました。 paramConnector および fieldConnector の優先順位ルール getSessions のクエリー シンタックスには柔軟性があります(ただし、すべての考え得るクエリー を表現できるわけではありません)。 クエリーは、期間を AND および OR 演算子とリンクさせ て形成します。各期間はフィールド名、関連する演算子、およびフィールド値で構成されます (BETWEEN の場合は 2 つのフィールド値)。 カッコを導入するには次に説明する優先順位ルー ルに従います。この優先順位ルールにより、期間の評価が順序付けられます。 • 同じフィールドに複数の条件がある場合に、論理優先順位が最も高くなります。 • AND は OR よりも優先されます。 次に例を示します。 クエリー「deviceRef=1000 or deviceRef=2000 or tagName=foo and state=active」の場合、OR と リンクされているにもかかわらず、最初の 2 つの期間の優先順位が最も高くなります。これは、 同じフィールド名を参照するためです。 次に、tagName=foo and state=active が評価されます。これは、AND の優先順位が OR より高いた めです。 最後に、前の 2 つの評価結果が計算されます。これは、フィールド名との組み合わせでない OR の優先順位が低いためです。 上記のクエリーをカッコで表す場合は、次のようになります。 ((deviceRef=1000 or deviceRef=2000) or (tagName=foo and state=active)) Cisco MediaSense 開発者ガイド リリース 11.0(1) 26 Cisco MediaSense API の使用 エンコード 上記の例は、分かりやすくするために、読み取り可能な英語に似た形式で記述しています。 ただ し、実際の API 要求では、JSON 形式で表されます。 詳細な例については、getSessions, (89 ペー ジ)を参照してください。 エンコード すべての URL は URL エンコードである必要があります(パーセントエンコード)。 テキスト文字列の特殊文字 すべてのテキスト文字列に対して(パスワードを含む)、ユーザは http://www.json.org/ の仕様に 従います。また前にバックスラッシュを付けることで、特殊文字をエスケープする必要がありま す。 要求と応答パラメータの定義 MediaSense API で使用される要求および応答パラメータのリストについては、共有パラメータ, (132 ページ)を参照してください。 2 台の MediaSense Server 間のフェールオーバー MediaSense クラスタが複数のサーバを含んでいる場合、それらのサーバの内の 2 台だけが API を 処理する API サービスを提供します。 MediaSense はノード間のクライアント要求の内部リダイレ クションをサポートしないため、フェールオーバーはサポートされません。 これらの REST 要求 を処理する MediaSense API サービスが何らかの理由で休止中である場合、サードパーティのクラ イアントを示す応答コードを送信し、このサービスを提供する他の MediaSense サーバに要求をリ ダイレクトします。 クライアントはこの応答コードを解釈し、それに応じて要求をリダイレクト します。 MediaSense API サービスがダウンしているか、サーバ自体がダウンしている場合、クライアント は HTTP タイムアウトを処理し、他の MediaSense サーバに要求を適宜リダイレクトする必要があ ります。 セキュリティに関する注意事項 すべての MediaSense API は HTTPS に基づいており、自己署名証明書を使用します。 API を使用 するたびにセキュリティ例外が表示されることがあります。 セキュア サーバは証明書を使用して、Web ブラウザが識別できるようにします。 独自の証明書 (自己署名証明書と呼ばれる)を生成したり、認証局(CA)から証明書を取得できます。 詳細に Cisco MediaSense 開発者ガイド リリース 11.0(1) 27 Cisco MediaSense API の使用 認証のための API Inter-Dependencies ついては、http://en.wikipedia.org/wiki/Certificate_authority または Web ブラウザのマニュアルを参照 してください。 (注) ポスターまたは他の類似するアプリケーションを使用して API 要求を発行する場合、まず Web ブラウザで次の URI を開いて、証明書を取得する必要があります。 https://<Cisco MediaSense IP address>>:8440 認証のための API Inter-Dependencies MediaSense API はすべてのセッションを維持するために JSESSIONID を使用しています。そのた め、(認証を必要とする)他の API を使用できるようにするには、事前にユーザを認証するため に JSESSIONID が必要です。 JSESSIONID を取得するために MediaSense SignIn API を使用します。 SignIn API からの応答は次 のようになります。 Header Name: Set-Cookie Header Value: JSESSIONID=SomeRandomAlphaNumericString 認証が必要な MediaSense API を使用するたびに、SignIn API から返された JSESSIONID の値にヘッ ダーを設定する必要があります。 cookie の 設定に関する詳細については、 http://en.wikipedia.org/wiki/HTTP_cookie を参照してくだ さい。 JSESSIONID は、ユーザがログアウトしたときか、または非アクティブになってから 30 分後(い ずれか早いほう)に期限切れになります。 ポスター すべての MediaSense API は、URI によるアクセスが可能で、要求応答パラダイムに従います。 ポ スターは、Web サービスおよび Web リソースと連携する Firefox のアドオンです。これにより、 Web サービスとやり取りし、結果を調べます。 ポスターを Firefox に追加する方法: • MediaSense API ユーザを設定します(有効なユーザ名とパスワードを使用)。 • Firefox からポスター アドオンをダウンロードします。 https://addons.mozilla.org/en-US/firefox/ addon/2691/ から無料でダウンロードできます。 • Firefox にポスターを追加したら、Ctrl + Alt + P を押して起動します。 ポスターの API をテストする方法: • Web ブラウザで次の URI を開き、受け入れることで、Web ブラウザに MediaSense セキュリ ティ証明書を受け入れます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 28 Cisco MediaSense API の使用 ポスター https://<Cisco MediaSense IP address>>:8440 これは 1 回で行う必要があります。 • この開発者ガイドからテキスト エディタに API 要求の URI をコピー アンド ペーストしま す。 たとえば、サインインの URI を入力するには、signIn API から URI をコピーします。 • 貼り付けたコードの大文字と小文字の区別や形式を調べ、キャリッジ リターンをすべて削除 します。 • MediaSense サーバの IP アドレスとポートを使用して URI を更新します。 • 要求の必須パラメータを追加します。 • コンテンツ タイプ ヘッダーに適切な値を設定します。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 29 Cisco MediaSense API の使用 ポスター • 適切なアクションをクリックします(GET または POST)。 図 2:ポスターを使用した Cisco MediaSense API 要求 図 3:ポスターを使用した Cisco MediaSense API 応答ステータス Cisco MediaSense 開発者ガイド リリース 11.0(1) 30 Cisco MediaSense API の使用 ポスター Cisco MediaSense 開発者ガイド リリース 11.0(1) 31 Cisco MediaSense API の使用 ポスター Cisco MediaSense 開発者ガイド リリース 11.0(1) 32 第 3 章 イベント サブスクリプション API • はじめに, 33 ページ • subscribeToEvents, 33 ページ • unsubscribeFromEvents, 35 ページ • verifyEventSubscription, 37 ページ • subscribeRecordingEvent(非推奨), 39 ページ • unsubscribeRecordingEvent(非推奨), 40 ページ • verifyRecordingSubscription(非推奨), 40 ページ はじめに eventSubscription API は、さまざまなイベント通知のサブスクライブ、サブスクリプションの確 認、およびアンサブスクライブを可能にします。 subscribeToEvents 以下のようなイベント通知を受信するのにこの API を使用します。録音が開始した、録音が終了 した、録音データが更新された、録音にタグが追加された、録音からタグが削除されたときなど。 すべてのイベント、特定のカテゴリのイベント、特定の種類のイベントをサブスクライブできま す。 URI https://<host>:<port>/ora/eventService/event/subscribeToEvents HTTP メソッド POST Cisco MediaSense 開発者ガイド リリース 11.0(1) 33 イベント サブスクリプション API subscribeToEvents パラメータ(Parameters) • subscriptionFilters:出力 JSON アレイとオプション入力 JSON アレイ。 イベントのリストまた はイベント カテゴリのリストを指定します。 共有パラメータ, (132 ページ)を参照してく ださい。 • subscriptionId:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • subscriptionType:出力文字列。 サブスクリプションのタイプを指定します。 共有パラメー タ, (132 ページ)を参照してください。 • subscriptionUri:必須入力文字列。 イベント通知がサーバ ベースのクライアントに送信され る場所の URI を指定します。 共有パラメータ, (132 ページ)を参照してください。 • tagNameRegEx:オプション入力文字列。 タグ イベントだけに適用される Java 正規表現で す。 共有パラメータ, (132 ページ)を参照してください。 (注) 同じ subscriptionUri がもう一度サブスクライブされると、既存のサブスクリプション内の subscriptionFilters は新しい subscriptionFilters に置き換えられます。 subscriptionFilters が同じ場 合、エラーは生成されません。 2005 の 応答コード が生成され、サブスクリプションが既に存 在することが示されます。 例 例1 すべてのイベントのイベント通知を受信するには: HTTPS POST: https://10.194.118.1:8440/ora/eventService/event/ subscribeToEvents ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { requestParameters: { "subscriptionType": "http", "subscriptionUri": "http://10.35.146.157: 8085/sessionEvent", "subscriptionFilters": ["ALL_EVENTS"] } } 応答: { "responseMessage": "Success: Your request was successfully completed.", "responseCode": 2000, "responseBody": { Cisco MediaSense 開発者ガイド リリース 11.0(1) 34 イベント サブスクリプション API unsubscribeFromEvents "subscriptionFilters": [ "EXIT_EMERGENCY_STORAGE_SPACE_EVENT", "TAG_ADDED_EVENT", "TAG_DELETED_EVENT", "TAG_UPDATED_EVENT", "SESSION_STARTED_EVENT", "SESSION_ENDED_EVENT", "EXIT_LOW_STORAGE_SPACE_EVENT", "EXIT_CRTITICAL_STORAGE_SPACE_EVENT", "ENTER_CRTITICAL_STORAGE_SPACE_EVENT", "ENTER_LOW_STORAGE_SPACE_EVENT", "SESSION_UPDATED_EVENT", "SESSION_DELETED_EVENT", "ENTER_EMERGENCY_STORAGE_SPACE_EVENT", "SESSION_PRUNED_EVENT" ], "subscriptionId": "3oV6jCEnJUlGYZo8" } } 例2 TAG_EVENTS のみに対してイベント通知を受信するには: HTTPS POST: https://10.194.118.1:8440/ora/eventService/event/ subscribeToEvents ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { requestParameters: { "subscriptionType": "http", "subscriptionUri": "http://10.35.146.157: 8085/sessionEvent", "subscriptionFilters": ["TAG_EVENTS"] } } 応答: { "responseMessage": "Success: Your request was successfully completed.", "responseCode": 2000, "responseBody": { "subscriptionFilters": [ "TAG_ADDED_EVENT", "TAG_DELETED_EVENT", "TAG_UPDATED_EVENT" ], "subscriptionId": "D52C4aeXISTURzM7" } } unsubscribeFromEvents 録音イベントの受信を停止するには、この API を使用します。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 35 イベント サブスクリプション API unsubscribeFromEvents • 「subscriptionFilters」パラメータを持たない要求は、クライアントを完全に登録解除し、サブ スクリプションを終了します。 • 「subscriptionFilters」パラメータを持つ要求は、サブスクリプションから指定されたフィルタ のみを削除し、サブスクリプション全体はアクティブなままです。 サブスクライブされてい るフィルタがない場合は、「subscriptionFilters」パラメータが指定されていないときとまった く同じように、サブスクリプション全体が削除されます。 • イベント タイプが残っている限り、応答には残りのサブスクリプション フィルタのリスト が含まれます。 URI https://<host>:<port>/ora/eventService/event/unsubscribeFromEvents HTTP メソッド POST パラメータ(Parameters) • subscriptionId:必須入力文字列。 共有パラメータ, (132 ページ)を参照してください。 • subscriptionFilters:出力 JSON アレイとオプション入力 JSON アレイ。 イベントのリストまた はイベント カテゴリのリストを指定します。 共有パラメータ, (132 ページ)を参照してく ださい。 • tagNameRegEx:オプション入力文字列。 タグ イベントだけに適用される Java 正規表現で す。 共有パラメータ, (132 ページ)を参照してください。 例 例1 あらゆるイベントのイベント通知の受信を停止するには(すべてのイベントをアンサブスクライ ブする): HTTPS POST: https://10.194.118.1:8440/ora/eventService/event/ unsubscribeFromEvents ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { requestParameters: { "subscriptionId": "sN7DASoAArHmDfI1", "subscriptionFilters":[ALL_EVENTS] } } Cisco MediaSense 開発者ガイド リリース 11.0(1) 36 イベント サブスクリプション API verifyEventSubscription または { requestParameters: { "subscriptionId": "sN7DASoAArHmDfI1" } } 応答: { "responseCode": 2000, "responseMessage": "Successful" } 例2 クライアントは現在、RECORDING_EVENTS および CLEANUP_EVENTS に登録されており、今、 CLEANUP_EVENTS からは登録解除しようとしているが、RECORDING_EVENTS への登録は維持 したい。 HTTPS POST: https://10.194.118.1:8440/ora/eventService/event/ unsubscribeFromEvents ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { requestParameters: { "subscriptionId": "sN7DASoAArHmDfI1", "subscriptionFilters":[CLEANUP_EVENTS] } } 応答: (まだサブスクライブされているフィルタについてクライアントに伝えます。) { "responseMessage": "Success: Your request was successfully completed.", "responseCode": 2000, "responseBody": { "subscriptionFilters": [ "SESSION_STARTED_EVENT", "SESSION_UPDATED_EVENT", "SESSION_ENDED_EVENT" ] } } verifyEventSubscription イベント受信への登録がアクティブかどうかを確認するには、この API を使用します。 URI https://<host>:<port>/ora/eventService/event/verifyEventSubscription Cisco MediaSense 開発者ガイド リリース 11.0(1) 37 イベント サブスクリプション API verifyEventSubscription HTTP メソッド POST パラメータ(Parameters) • subscriptionFilters:出力 JSON アレイとオプション入力 JSON アレイ。 イベントのリストまた はイベント カテゴリを指定します。 共有パラメータ, (132 ページ)を参照してください。 • subscriptionId:必須入力文字列。 システム生成 ID です。 共有パラメータ, (132 ページ)を 参照してください。 • subscriptionStatus:出力文字列。 API から受信した応答です。 共有パラメータ, (132 ページ) を参照してください。 • tagNameRegEx:オプション入力文字列。 タグ イベントだけに適用される Java 正規表現で す。 共有パラメータ, (132 ページ)を参照してください。 例 例1 すべての RECORDING_EVENTS を受け取るように現在登録されていると想定し、そのサブスクリ プションがアクティブであることを確認するには、次の API を使用します。 HTTPS POST: https://10.194.118.1:8440/ora/eventService/event/ verifyEventSubscription ヘッダー: { requestParameters: { "subscriptionId": "sN7DASoAArHmDfI1" } } 応答: { "responseMessage": "Success: Your request was successfully completed.", "responseCode": 2000, "responseBody": { "subscriptionFilters": [ "SESSION_STARTED_EVENT", "SESSION_UPDATED_EVENT", "SESSION_ENDED_EVENT" ], "subscriptionStatus": "ACTIVE" } } 例2 INACTIVE のサブスクリプションを確認します。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 38 イベント サブスクリプション API subscribeRecordingEvent(非推奨) HTTPS POST: https://10.194.118.1:8440/ora/eventService/event/ verifyEventSubscription ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { requestParameters: { "subscriptionId": "sN7DASoAArHmDfI2" } } 応答: { "responseMessage": "Success: Your request was successfully completed.", "responseCode": 2000, "responseBody": { "subscriptionStatus": "INACTIVE" } } subscribeRecordingEvent(非推奨) 以下のようなイベント通知を受信するのにこの API を使用します。録音が開始した、録音が終了 した、録音データが更新された、録音にタグが追加された、録音からタグが削除されたときなど。 URI https://<host>:<port>/ora/eventService/event/subscribeRecordingEvent HTTP Post POST パラメータ(Parameters) • subscriptionId:必須入力文字列。 システム生成 ID です。 共有パラメータ, (132 ページ)を 参照してください。 • subscriptionType:出力文字列。 サブスクリプションのタイプです。 共有パラメータ, (132 ページ)を参照してください。 • subscriptionUri:必須入力文字列。 イベント通知がサーバ ベースのクライアントに送信され る場所の URI です。 共有パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 39 イベント サブスクリプション API unsubscribeRecordingEvent(非推奨) (注) 同じ subscriptionUri がもう一度登録されると、エラーが返されます。その中には元の subscriptionId が含まれます。 関連イベント storageThresholdEvent:このイベントは、ストレージのディスク容量が各種しきい値に達するたび に送信されます。 詳細については、storageThresholdEvent, (156 ページ)を参照してください。 unsubscribeRecordingEvent(非推奨) 録音イベントの受信を停止するには、この API を使用します。 URI https://<host>:<port>/ora/eventService/event/unsubscribeRecordingEvent HTTP メソッド POST パラメータ subscriptionId:必須入力文字列。 システム生成 ID です。 参照先 共有パラメータ, (132 ページ) verifyRecordingSubscription(非推奨) 録音サブスクリプションがアクティブかどうかを確認するには、この API を使用します。 URI https://<host>:<port>/ora/eventService/event/verifyRecordingSubscription HTTP メソッド POST パラメータ • subscriptionId:必須入力文字列。 システム生成 ID です。 共有パラメータ, (132 ページ)を 参照してください。 • subscriptionStatus:出力文字列。 API から受信した応答です。 共有パラメータ, (132 ページ) を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 40 イベント サブスクリプション API verifyRecordingSubscription(非推奨) (注) subscriptionStatus は、サブスクリプションがあるかどうかによって、ACTIVE または INACTIVE になります。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 41 イベント サブスクリプション API verifyRecordingSubscription(非推奨) Cisco MediaSense 開発者ガイド リリース 11.0(1) 42 第 4 章 ジョブ管理 API • はじめに, 43 ページ • createJob, 43 ページ • cancelJob, 44 ページ • deleteJob, 45 ページ はじめに ジョブは 1 つ以上のオペレーションを含むことができ、完了に時間がかかります。 各結果は各オ ペレーションごとに返されます。 ジョブの目的は、ジョブが完了するまでの間クライアントから サーバへの永続的な接続を必要とせずに、システムがジョブ要求を受け入れ、実行できるように することです。 deleteSessions API を使用して MediaSense ジョブを作成できます。deleteSessions API は、複数の セッションを同時に削除できる、一括削除オペレーションに応じてジョブを作成します。 すでに完了した、キャンセルされた、またはエラー状態のジョブだけが削除できます。 ジョブが RUNNING 状態にある場合は、最初に cancelJob API を使用してジョブを停止し、次にそのジョブ を削除するために deleteJob API を使用します。 ジョブは処理中に拒否される可能性があるため、最終的に実行できない場合があります。 ジョブ ステータスとオペレーション結果を取得するには、Job Query API を使用します。 createJob 完了するまでに時間がかかるジョブ用のバッチ処理を作成する場合に、この API を使用します。 結果は各オペレーションに返されます。 URI https://<host>:<port>/ora/eventService/manage/createJob Cisco MediaSense 開発者ガイド リリース 11.0(1) 43 ジョブ管理 API cancelJob HTTP メソッド POST パラメータ(Parameters) • jobType:入力文字列。 ジョブのタイプです。 共有パラメータ, (132 ページ)を参照してく ださい。 • jobParameters:セッションのシステム生成識別子。 共有パラメータ, (132 ページ)を参照し てください。 (注) ジョブの状態, (26 ページ)を参照してください。 cancelJob 既に進行中のジョブをキャンセルするには、この API を使用します。 この API は、ジョブの実行 を停止するだけです。 データベースからジョブを削除するには、deleteJob API を使用します。 URI https://<host>:<port>/ora/eventService/manage/cancelJob パラメータ jobId:出力文字列。 これはシステム生成ジョブ ID です。 共有パラメータ, (132 ページ)を参照 してください。 HTTP メソッド POST 例 HTTPS POST: https://10.194.118.1:8440/ora/managementService/manage/cancelJob ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": { "jobId": "123456789" } } Cisco MediaSense 開発者ガイド リリース 11.0(1) 44 ジョブ管理 API deleteJob 応答: { "responseMessage": "Success: Your request was successfully completed.", "responseCode": 2000, "jobId": "123456789" } deleteJob データベースからジョブを削除するには、この API を使用します。 この API は、すでに完了し た、キャンセルされた、またはエラー状態にあるジョブにのみ適用されます。 ジョブが RUNNING 状態にある場合は、最初に cancelJob API を使用してジョブを停止し、次にそのジョブを削除する ために deleteJob API を使用します。 この API は、データベースからジョブの詳細とすべてのジョ ブの結果を削除します。 URI https://<host>:<port>/ora/eventService/manage/deleteJob HTTP メソッド POST パラメータ jobId:出力文字列。 これはシステム生成ジョブ ID です。 共有パラメータ, (132 ページ)を参照 してください。 例 HTTPS POST: https://10.194.118.1:8440/ora/managementService/manage/deleteJob ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": { "jobId": "JobId_1" } } 応答: { "responseMessage": "Success: Your request was successfully completed.", "responseCode": 2000, "jobId": "JobId_1" } Cisco MediaSense 開発者ガイド リリース 11.0(1) 45 ジョブ管理 API deleteJob Cisco MediaSense 開発者ガイド リリース 11.0(1) 46 第 5 章 ジョブ クエリー API • はじめに, 47 ページ • getJobById, 47 ページ • getJobResult, 49 ページ • getJobs, 51 ページ はじめに ジョブ 管理 API を使用して作成されたジョブの状態および結果を取得するにはジョブ クエリー API を使用します。 getJobsById API は jobId パラメータを使用して既存のジョブを取得できるようにします。 この API への 2 回目以降のコールはジョブが進行中であるため、異なる値を返すことがあります。 getJobs API では、検索基準に基づいた結果を得るために、特定のパラメータを指定できます。 有効なジョブ状態が指定されていない場合、MediaSense は要求を処理できないことがあります。 この場合、ジョブ状態を確認し、要求を再度発行します。 すべてのジョブ状態は、ジョブの状態, (26 ページ)に記載されています。 getJobById jobId を使用して既存のジョブを取得するには、この API を使用します。 成功した JSON 応答の フィールド内で、jobstate、operationsCompleted、operationsRemaining のパラメータ値は、この API が呼び出されたときに取得されます。 この API への 2 回目以降のコールは異なる値が表示される ことがあります。 URI https://<host>:<port>/ora/eventService/query/getJobById Cisco MediaSense 開発者ガイド リリース 11.0(1) 47 ジョブ クエリー API getJobById HTTP メソッド GET パラメータ(Parameters) • jobDuration:API の出力整数。 共有パラメータ, (132 ページ)を参照してください。 • jobId:出力文字列。 システム生成 ID です。 共有パラメータ, (132 ページ)を参照してくだ さい。 • jobState:API の出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • jobs:ジョブ オブジェクトの出力アレイ。 共有パラメータ, (132 ページ)を参照してくださ い。 • jobStartTime:API の出力整数。 共有パラメータ, (132 ページ)を参照してください。 • jobType:API の出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • operationsCompleted:出力整数。 このジョブで完了した操作の数。 この数は、いつこのパラ メータが呼び出されるかによって異なります。 ゼロ(0)から始まるカウンタ。 • operationsRemaining:出力整数。 このジョブで残っている操作の数。 この数は、いつこのパ ラメータが呼び出されるかによって異なります。 例 HTTPS GET: https://10.194.118.1:8440/ora/queryService/query/ getJobById?jobId=AMS_10.194.118.1_1282948026491_5 ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> 応答: { "responseMessage": "Success: Your request was successfully completed.", "responseCode": 2000, "responseBody": { "jobs": [ { "jobType": "BULK_DELETE_SESSIONS", "jobDuration": 203567, "jobStartTime": 1343333766345, "jobId": "AMS_10.194.118.1_ 1282948026491_5", "jobState": "COMPLETED" } ], "operationsCompleted": 2, "operationsRemaining": 0 } } Cisco MediaSense 開発者ガイド リリース 11.0(1) 48 ジョブ クエリー API getJobResult getJobResult 存在するジョブの結果を取得するには、この API を使用します。 「requestParameters」パラメータ は、省略可能です。 指定されていない場合、指定されたジョブ ID のすべてのジョブ オペレーショ ンが返されます。 「requestParameters」パラメータで指定されたクエリー フィルタが、指定され たジョブ ID のジョブ オペレーションと一致しない場合、応答には、「jobOperationResultset」パ ラメータは含まれません。 URI https://<host>:<port>/ora/eventService/query/getJobResult HTTP メソッド POST パラメータ(Parameters) • byFieldName:オプション入力文字列。 このパラメータに許可される列挙値は次のとおりで す。 ◦ operationId ◦ operationData ◦ operationResponse 共有パラメータ, (132 ページ)を参照してください。 • fieldConditions:必須入力。 共有パラメータ, (132 ページ)を参照してください。 • fieldConnector:アレイ内に 1 個のフィールドがある場合のオプション文字列。 アレイ内に 2 個以上のフィールドがある場合に必要な入力文字列です。 共有パラメータ, (132 ページ)を 参照してください。 • fieldName:必須入力文字列。 共有パラメータ, (132 ページ)を参照してください。 • fieldOperator:必須入力文字列。 共有パラメータ, (132 ページ)を参照してください。 • fieldValues:必須入力。 共有パラメータ, (132 ページ)を参照してください。 • jobDuration:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • jobId:出力文字列。 システム生成 ID です。 共有パラメータ, (132 ページ)を参照してくだ さい。 • jobOperationsResultset:文字列の出力アレイ。 特定のジョブに対する個々の操作結果のセッ トを表します。 • jobState:API の出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • jobStartTime:API の出力整数。 共有パラメータ, (132 ページ)を参照してください。 • jobType:API の出力文字列。 共有パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 49 ジョブ クエリー API getJobResult • limit:必須入力整数。 共有パラメータ, (132 ページ)を参照してください。 • order:オプション入力文字列。 共有パラメータ, (132 ページ)を参照してください。 • operationData:出力文字列とオプション入力文字列。 大文字と小文字が区別されます。 ジョ ブ内の個々の操作の入力データです。 • operationId:出力文字列とオプション入力文字列。 大文字と小文字が区別されます。 ジョブ 内の個々の操作です。 • operationResponse:出力文字列とオプション入力文字列。 大文字と小文字が区別されます。 ジョブ内の個々の操作です。 • pageParameters:オプション入力。 共有パラメータ, (132 ページ)を参照してください。 • paramConnector:アレイ内に 1 個のフィールドがある場合のオプション文字列。 アレイ内に 2 個以上のフィールドがある場合に必要な入力文字列です。 共有パラメータ, (132 ページ) を参照してください。 • sortParameters:オプション入力 JSON アレイ。 共有パラメータ, (132 ページ)を参照してく ださい。 getJobResult 用の fieldOperators パラメータ このパラメータに許容された fieldOperators operationId equals operationData equals operationResult equals operationFailureReason equals contains startsWith endsWith 例 HTTPS POST: https://10.194.118.1:8440/ora/queryService/query/ getJobResult ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "jobId": "AMS_10.27.185.20_1287093966514_162", Cisco MediaSense 開発者ガイド リリース 11.0(1) 50 ジョブ クエリー API getJobs "requestParameters": [ { "fieldName" : "operationResult", "fieldConditions": [ { "fieldOperator" : "equals", "fieldValues" : [ "2000" ] } ] } ], "sortParameters": [ { "byFieldName": "operationResult", "order": "ASC" } ] } 応答: { "responseMessage": "Success: Your request was successfully completed.", "responseCode": 2000, "responseBody": { "job": { "jobType": "BULK_DELETE_SESSIONS", "jobDuration": 36005, "jobId": "AMS_10.27.185.20_1287093966514_ 162", "jobStartTime": 1287171904409, "jobState": "COMPLETED" }, "jobOperationsResultset": [ { "responseCode": 2000, "operationData": "Session-1-10.194.118. 92-1287017042781", "jobOperationId": "AMS_10.27.185.20_ 1287093966514_163", "OperationResponse": "Successful: Your request was successfully completed." }, { "responseCode": 2000, "operationData": "Session-11-10.194.118. 92-1287178816956", "jobOperationId": "AMS_10.27.185.20_ 1287093966514_164", "OperationResponse": "Successful: Your request was successfully completed." } ] } } getJobs ジョブ パラメータ名のいずれかを使用して既存のジョブを取得するには、この API を使用しま す。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 51 ジョブ クエリー API getJobs URI https://<host>:<port>/ora/eventService/query/getJobs HTTP メソッド POST パラメータ(Parameters) • byFieldName:オプション入力文字列。 共有パラメータ, (132 ページ)を参照してください。 このパラメータに許可される列挙値。 ◦ jobId ◦ jobState ◦ jobType ◦ jobStartTime ◦ jobDuration • fieldConditions:文字列の必須アレイ。 共有パラメータ, (132 ページ)を参照してください。 • fieldConnector:アレイ内に 1 個のフィールドがある場合のオプション入力文字列。 アレイ内 に 2 個以上のフィールドがある場合に必要な入力文字列です。 共有パラメータ, (132 ペー ジ)を参照してください。 • fieldName:必須入力文字列。 共有パラメータ, (132 ページ)を参照してください。 • fieldOperator:必須入力文字列。 共有パラメータ, (132 ページ)を参照してください。 getJobs 用の fieldOperators パラメータ このパラメータに許可される fieldOperators jobId equals jobState equals jobType equals jobStartTime between lessThan greaterThan jobDuration between lessThan greaterThan • fieldValues:文字列の必須アレイ。 共有パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 52 ジョブ クエリー API getJobs • jobDuration:オプション入力整数。 共有パラメータ, (132 ページ)を参照してください。 • jobId:オプション入力文字列。 共有パラメータ, (132 ページ)を参照してください。 • jobState:オプション入力文字列。 共有パラメータ, (132 ページ)を参照してください。 • jobs:オブジェクトの出力アレイ。 共有パラメータ, (132 ページ)を参照してください。 • jobStartTime:オプション入力整数。 共有パラメータ, (132 ページ)を参照してください。 • jobType:オプション入力文字列。 共有パラメータ, (132 ページ)を参照してください。 • limit:必須入力整数。 共有パラメータ, (132 ページ)を参照してください。 • order:オプション入力文字列。 ただし、sortParameters 内の必須の入力文字列になります。 共有パラメータ, (132 ページ)を参照してください。 • pageParameters:オプション入力 JSON オブジェクト。 共有パラメータ, (132 ページ)を参 照してください。 • paramConnector:アレイ内に 1 個のフィールドがある場合のオプション入力文字列。 アレイ 内に 2 個以上のフィールドがある場合に必要な入力文字列です。 共有パラメータ, (132 ペー ジ)を参照してください。 • sortParameters:オプション入力 JSON アレイ。 共有パラメータ, (132 ページ)を参照してく ださい。 例 HTTPS POST: https://10.194.118.1:8440/ora/queryService/query/ getJobs ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": [ { "fieldName" : "jobState", "fieldConditions": [ { "fieldOperator" : "equals", "fieldValues" : [ "completed" ] } ] } ], "sortParameters": [ { "byFieldName": "jobId", "order": "ASC" } Cisco MediaSense 開発者ガイド リリース 11.0(1) 53 ジョブ クエリー API getJobs ] } 応答: { "responseMessage": "Success: Your request was successfully completed.", "responseCode": 2000, "responseBody": { "jobs": [ { "jobType": "BULK_DELETE_SESSIONS", "jobDuration": 34200, "jobStartTime": 1343334076111, "jobId": "Job_123", "jobState": "COMPLETED" }, { "jobType": "BULK_DELETE_SESSIONS", "jobDuration": 44200, "jobStartTime":1343334075432, "jobId": "Job_234", "jobState": "COMPLETED" }, { "jobType": "BULK_DELETE_SESSIONS", "jobDuration": 43678, "jobStartTime": 1343334073567, "jobId": "Job_345", "jobState": "COMPLETED" } ] } } Cisco MediaSense 開発者ガイド リリース 11.0(1) 54 第 6 章 録音制御 API • はじめに, 55 ページ • pauseRecording, 56 ページ • resumeRecording, 57 ページ • startRecording, 58 ページ • stopRecording, 61 ページ • launchMediaPlayer, 63 ページ はじめに MediaSense が提供する録音制御 API により、サードパーティ製クライアントがセッションの録音 を制御できるようになります。 サードパーティ製クライアントは、現在進行中(アクティブ)のセッションの録音を一時停止し たり、再開したりできます。次の条件がこれらの API に適用されます。 • アクティブなセッションの録音でのみこの API を使用できます。 • 一時停止中の録音だけを再開できます。 MediaSense は、別の種類の制御も提供します。これにより、サードパーティ製クライアントは MediaSense から電話機へのコールをトリガーし、コールが応答されたらすぐに録音を開始できま す。 これは Direct Outbound Recording と呼ばれます。 対応する API はこの方法で開始された録音 を停止できます。 これらの API を使用して、ブログやビデオ メッセージを録音できます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 55 録音制御 API pauseRecording (注) Direct Outbound Recording は、Unified Communications Manager 電話機でのみサポートされます。 録音を開始するには、デバイス参照で startRecording API によって開始されたコールに応答す る必要があります。 電話を切るか、そのデバイス参照で stopRecording API を呼び出すことに より、録音を停止できます。 通話中のコーデック変更は、ダイレクト受信コールまたはダイレクト発信コールではサポート されていません。 pauseRecording この API を使用して、セッションの録音を一時停止します。 URI https://<host>:<port>/ora/controlService/control/pauseRecording HTTP メソッド POST パラメータ sessionId:セッションのシステム生成識別子。 共有パラメータ, (132 ページ)を参照してくださ い。 関連イベント tagEvent:タグがセッションに追加またはセッションから削除された場合にイベントが送信されま す。 詳細については、tagEvent, (157 ページ)を参照してください。 例 現在進行中の録音を一時停止する方法: HTTPS POST: https://10.194.118.1:8440/ora/controlService/control/ pauseRecording ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { requestParameters: { "sessionId": "Session-1234.abc. 5678" Cisco MediaSense 開発者ガイド リリース 11.0(1) 56 録音制御 API resumeRecording } } 応答: { "responseCode": 2000, "responseMessage": "Successful" } resumeRecording この API を使用して、セッションの録音を再開します。 URI https://<host>:<port>/ora/controlService/control/resumeRecording HTTP メソッド POST パラメータ sessionId:セッションのシステム生成識別子。 共有パラメータ, (132 ページ)を参照してくださ い。 関連イベント tagEvent:タグがセッションに追加またはセッションから削除された場合にイベントが送信されま す。 詳細については、tagEvent, (157 ページ)を参照してください。 例 HTTPS POST: https://10.194.118.1:8440/ora/controlService/control/ resumeRecording ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { requestParameters: { "sessionId": "Session-1234.abc. 5678" } } 応答: { Cisco MediaSense 開発者ガイド リリース 11.0(1) 57 録音制御 API startRecording "responseCode": 2000, "responseMessage": "Successful" } startRecording この API を使用して MediaSense で電話機にコールし、受信者のオーディオおよびビデオ入力を録 音します。 URI https://<host>:<port>/ora/controlService/control/startRecording HTTP メソッド POST パラメータ(Parameters) • codec:出力文字列。 トラックのコーデック。 共有パラメータ, (132 ページ)を参照してく ださい。 • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータ, (132 ページ)を参照し てください。 • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータ, (132 ページ)を参照し てください。 • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共 有パラメータ, (132 ページ)を参照してください。 • httpUrl:出力文字列。 セッションの HTTPS リンクです。 共有パラメータ, (132 ページ)を 参照してください。 • isConference:出力ブール。 参加者が会議ブリッジまたは個々のデバイスであるかどうかを 示します。 共有パラメータ, (132 ページ)を参照してください。 • mediaType:出力文字列。 作成中のメディアのタイプです。 共有パラメータ, (132 ページ) を参照してください。 • mediaStreams:メディア タイプの必須入力アレイ。 作成中のメディア ストリーム。 各スト リームはメディア タイプです。 したがって、mediaStreams はメディア タイプのアレイです。 録音には、少なくとも 1 個のメディア ストリームが必要です。 アレイは順序付けされてい ません。 これは必須の入力です。 • mp4Url:出力文字列。 セッションの mp4 リンク。 共有パラメータ, (132 ページ)を参照し てください。 • offset:オプション入力整数。 pageParameters 内の必須の入力整数になります。 返される最初 のレコード。 共有パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 58 録音制御 API startRecording • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単 位)。 共有パラメータ, (132 ページ)を参照してください。 • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参 照してください。 • participantStartDate:出力整数。 1970 年 1 月 1 日 GMT からこのトラックの録音が開始される までに経過した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照です。 共 有パラメータ, (132 ページ)を参照してください。 • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を 参照してください。 • sessionId:必須入力文字列。 システムで生成されるセッションの一意の識別子です。 共有パ ラメータ, (132 ページ)を参照してください。 • sessionStartDate:出力整数。 1970 年 1 月 1 日 GMT からセッションの録音が開始されるまで に経過した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • sessionState:出力文字列。 セッションのステート。 共有パラメータ, (132 ページ)を参照 してください。 • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照してく ださい。 • tagCreateDate:出力整数。 1970 年 1 月 1 日 GMT からタグの作成までに経過した時間(ミリ 秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • tagName:出力文字列。 録音を分類するために使用される大文字と小文字を区別しない名前。 共有パラメータ, (132 ページ)を参照してください。 • tagOffset:出力整数。 このタグのセッション開始から経過した時間(ミリ秒単位)。 共有パ ラメータ, (132 ページ)を参照してください。 • tagType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • trackMediaType:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子。 共有パラメータ, (132 ページ)を参照してください。 • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照 してください。 • trackStartDate:出力整数。 1970 年 1 月 1 日 GMT からトラックの録音が開始されるまでに経 過した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • urls:出力 JSON オブジェクト。 httpUrl および rtspUrl パラメータの情報が含まれます。 共有 パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 59 録音制御 API startRecording • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータ, (132 ページ)を参照し てください。 • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子。 共有パラメータ, (132 ページ)を参照してください。 (注) この API では、Cisco MediaSense 管理のコール制御サービス プロバイダーを設定し、発信先の 電話機がその Unified Communications Manager にアクセスできることが必要です。 関連イベント sessionEvent:このイベントは、録音セッションが開始されるか、既存の録音セッションが更新ま たは終了されるたびに送信されます。 詳細については、sessionEvent, (153 ページ)を参照してく ださい。 例 例1 deviceRef 1000 を使用したデバイスでオーディオおよびビデオ トラックを含むブログの録音を開 始する方法: HTTPS POST: https://10.194.118.1:8440/ora/controlService/control/ startRecording ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": { "deviceRef": "1000", "mediaStreams": [ { "mediaType": "VIDEO" }, { "mediaType": "AUDIO" } ] } } 例2 deviceRef 1111 を使用したデバイスでオーディオ トラックだけが含まれるブログの録音を開始す る方法: Cisco MediaSense 開発者ガイド リリース 11.0(1) 60 録音制御 API stopRecording HTTPS POST: https://10.194.118.1:8440/ora/controlService/control/ startRecording ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": { "deviceRef": "1111", "mediaStreams": [ { "mediaType": "AUDIO" } ] } } stopRecording この API を使用して、発信コール(startRecording API により開始)の終了後すぐにデバイスの録 音を停止します。 URI https://<host>:<port>/ora/controlService/control/stopRecording HTTP メソッド POST パラメータ(Parameters) • codec:トラックのコーデック。 共有パラメータ, (132 ページ)を参照してください。 • deviceId:デバイスの一意の識別子。 共有パラメータ, (132 ページ)を参照してください。 • deviceRef:各デバイスの電話番号。 共有パラメータ, (132 ページ)を参照してください。 • downloadUrl:RAW 形式で録音をダウンロードするために使用される URL。 共有パラメー タ, (132 ページ)を参照してください。 • httpUrl:セッションの HTTPS リンク。 共有パラメータ, (132 ページ)を参照してください。 • isConference:参加者が会議ブリッジまたは個々のデバイスであるかどうかを示します。 共 有パラメータ, (132 ページ)を参照してください。 • mp4Url:セッションの mp4 リンク。 共有パラメータ, (132 ページ)を参照してください。 • offset:返される最初のレコード。 共有パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 61 録音制御 API stopRecording • participantDuration:セッション内で参加者がアクティブだった期間(ミリ秒単位)。 共有パ ラメータ, (132 ページ)を参照してください。 • participants:参加者オブジェクトの JSON アレイ。 共有パラメータ, (132 ページ)を参照し てください。 • participantStartDate:1970 年 1 月 1 日 GMT からこのトラックの録音が開始されるまでに経過 した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • rtspUrl:複数のトラックを含むことができるセッション全体への参照。 共有パラメータ, ( 132 ページ)を参照してください。 • sessions:セッション オブジェクトの JSON アレイ。 共有パラメータ, (132 ページ)を参照 してください。 • sessionDuration:セッションが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ) を参照してください。 • sessionId:システムで生成されるセッションの一意の識別子。 共有パラメータ, (132 ペー ジ)を参照してください。 • sessionStartDate:1970 年 1 月 1 日 GMT からセッションの録音が開始されるまでに経過した 時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • sessionState:セッションの状態。 共有パラメータ, (132 ページ)を参照してください。 • tags:タグ オブジェクトの JSON アレイ。 共有パラメータ, (132 ページ)を参照してくださ い。 • tagCreateDate:1970 年 1 月 1 日 GMT からタグの作成までに経過した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • tagName:録音を分類するために使用される大文字と小文字を区別しない名前。 共有パラメー タ, (132 ページ)を参照してください。 • tagOffset:このタグのセッション開始から経過した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • tagType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • trackDuration:トラックが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を 参照してください。 • trackMediaType:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • trackNumber:システムで生成されるトラックの一意の識別子。 共有パラメータ, (132 ペー ジ)を参照してください。 • tracks:トラック オブジェクトの JSON アレイ。 共有パラメータ, (132 ページ)を参照して ください。 • trackStartDate:1970 年 1 月 1 日 GMT からトラックの録音が開始されるまでに経過した時間 (ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 62 録音制御 API launchMediaPlayer • urls:httpUrl および rtspUrl パラメータの情報が含まれます。 共有パラメータ, (132 ページ) を参照してください。 • wavUrl:セッションの wav リンク。 共有パラメータ, (132 ページ)を参照してください。 • xRefCi:特定のメディア ストリームに対する Unified Communications Manager 識別子。 共有 パラメータ, (132 ページ)を参照してください。 関連イベント sessionEvent:このイベントは、録音セッションが開始されるか、既存の録音セッションが更新ま たは終了されるたびに送信されます。 詳細については、sessionEvent, (153 ページ)を参照してく ださい。 例 deviceRef 1000 を使用したデバイスで進行中のブログ録音を停止する方法: HTTPS POST: https://10.194.118.1:8440/ora/controlService/control/ stopRecording ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": { "deviceRef": "1000" } } launchMediaPlayer この API を使用して MediaSense メディア プレーヤーを起動し、特定の録音を再生します。 この API は、ブラウザのプロキシとして機能するサーバ ベースのアプリケーションと連携するように 設計されています。 ただし、ブラウザで直接 API を呼び出すこともできます。 アプリケーション がブラウザ クライアントの代わりにこの要求を発行すると、実行のためにそのブラウザに JNLP ファイルを渡します。 それから、ブラウザは直接 MediaSense とやり取りして、プレーヤー アプ リケーションをダウンロードし、再生するメディア ストリームを取得します。 API パラメータは JSON で、URL ではありません。 URI https://<host>:<port>/ora/controlService/control/launchMediaPlayer HTTP メソッド GET Cisco MediaSense 開発者ガイド リリース 11.0(1) 63 録音制御 API launchMediaPlayer パラメータ rtspUrl:このパラメータは、URL のクエリー セクションで指定する必要があります。 rtspUrl=<ユーザが指定した文字列> rtspUrl は起動時にメディア プレイヤーで再生するセッションの rtsp URL です。 この URL は、ク エリー API(getSessions など)を使用して取得します。 クライアントは、launchMediaPlayer 要求 で使用する少し前に MediaSense からこの rtspUrl を取得します。 MediaSense により提供されるす べての URL と同様に、録音されたセッションの rtspUrl は予告なしに随時変更されることがあり ます。 (注) クライアント マシンに Java の特定のバージョンをインストールする必要があります。 Java 要 件の詳細については、次の URL にある『MediaSense User Guide』の「Search and Play」の項を 参照してください。http://www.cisco.com/c/en/us/support/customer-collaboration/mediasense/ tsd-products-support-maintain-and-operate.html 例 例1 メディア プレイヤーの rtspUrl 「13092154564622」でセッションを再生する方法: HTTPS GET: https://<server>:<port>/ora/controlService/control/launchMediaPlayer?rtspUrl=rtsp://<server>/archive/2413e6746c8441 ヘッダー:JSESSIONID(前の signIn 要求から受信した jsessionID) 応答: (注) この応答は、説明のみを目的としています。 アプリケーションでこの応答を解析する必要は ありません。 Java が正常にインストールされている場合、この応答により JWS を使用したメ ディア プレイヤー アプレットが自動的に起動されます。 ... Content-type: application/x-java-jnlp-file ... <?xml version="1.0" encoding="UTF-8"?> <jnlp codebase="https://<server>:<port>/mediasense/ " spec="1.0+"> <information> <title>MediaSensePlayer</title> <vendor>Cisco Systems</vendor> <homepage href="http://www.cisco.com" /> <description>MediaSensePlayer</description> <description kind="short">MediaSensePlayer</description> </information> <update check="always" /> <security> <all-permissions /> </security> <resources> <j2se version="1.7.0_11" /> <jar href="java/MediaSensePlayer.jar" main="true" /> Cisco MediaSense 開発者ガイド リリース 11.0(1) 64 録音制御 API launchMediaPlayer <jar href="java/jna-3.4.0.jar" /> </resources> <application-desc main-class="com.cisco.cbabu.videoplayer. Main"> <argument>rtsp://<server>/archive/2413e6746c8441? token=HQFmZ0yl2ynton0CvOKMifXwe6gBONLAOeMqaPzw2jTrrbhh SjbnjOr2siZJmIIqcg2gJDNsFpMrDheQyUGYveUhDQAwdT6ze6mQeek JPhipAhtI15Rrfaackd6r6jlj</argument> </application-desc> </jnlp> 例2 失敗した応答の例。 (GET 要求が必要な rtspUrl パラメータなしで送信された場合)。 HTTPS GET:https://<server>:<port>/ora/controlService/control/launchMediaPlayer ヘッダー:JSESSIONID(前の signIn 要求から受信した jsessionID) 応答: ... Content-type: application/json ... { "responseMessage": "Failure: Missing parameter in message.", "responseCode": 4061, "detail": "rtspUrl" } Cisco MediaSense 開発者ガイド リリース 11.0(1) 65 録音制御 API launchMediaPlayer Cisco MediaSense 開発者ガイド リリース 11.0(1) 66 第 7 章 セッション管理 API • はじめに, 67 ページ • addSessionTag, 68 ページ • convertSession (廃止), 69 ページ • deleteSessions, 71 ページ • deleteSessionTag, 72 ページ はじめに コンタクト センターまたは音声分析環境では、スーパーバイザ、エージェント、音声分析システ ムは、場合によっては、記録中の、またはすでに記録されているセッションにタグを追加する必 要があります。 あるいは、一部のセッションを削除したり、保存して削除を防いだりすること で、セッション録音を効率的に管理する必要があります。 MediaSense はセッション管理 API を利用し、こうした管理機能を提供します。 これらの API を使 用し、サードパーティ クライアントは 1 回に 1 つずつ、または一括でセッションにタグを追加し たり、セッションからタグを削除したりできます。 クライアントはまた、mp4 や wav などのサ ポートされる形式にセッションを変換し、MediaSense システム上の事前に指定した場所に移動で きます。 (注) アクティブなセッション録音と完了したセッション録音の両方でタグを追加したり、削除した りできますが、セッション録音自体は完了しているものだけ削除できます。 同様に、アクティ ブまたはエラー状態にあるセッションは変換できません。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 67 セッション管理 API addSessionTag addSessionTag この API を使用し、終了(すでに記録されている)セッションまたはアクティブ(現在、記録中) セッションにタグを追加します。 タグは、録音にラベルを付けるためにユーザが割り当てる名前 です。 (注) シスコでは、タグを追加するとき、各タグの先頭に接頭辞とコロン(:)を含め、タグを挿入 するアプリケーションを特定できます。 たとえば、CCX アプリケーションによって挿入され るタグの接頭辞は「CCX:」です。 この規則に従うことで、複数の非依存クライアント アプリ ケーションが、互いに意味のある、または混乱させるタグ名を不注意で挿入せずに MediaSense にタグを挿入できます。 URI https://<host>:<port>/ora/managementService/manage/addSessionTag パラメータ • sessionId:必須入力文字列。 セッションのシステム生成識別子です。 共有パラメータ, (132 ページ)を参照してください。 • tagName:出力文字列。 録音を分類するために使用される大文字と小文字を区別しない名前。 共有パラメータ, (132 ページ)を参照してください。 • tagOffset:オプション整数。 タグのセッション開始から経過した時間(ミリ秒単位)。 共有 パラメータ, (132 ページ)を参照してください。 関連イベント tagEvent:タグがセッションに追加またはセッションから削除された場合にイベントが送信されま す。 詳細については、tagEvent, (157 ページ)を参照してください。 例 HTTPS POST: https://10.10.10.10:8440/ora/managementService/manage/ addSessionTag ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": { Cisco MediaSense 開発者ガイド リリース 11.0(1) 68 セッション管理 API convertSession (廃止) "sessionId": "AMS_10.194.118.56_1283550575777_2", "tagName": "Sample tag", "tagOffset": 10 } } 応答: { "responseMessage":"Success: Your request was successfully completed.", "responseCode":2000 } convertSession (廃止) この API を使用し、要求で指定された形式に MediaSense セッションを変換します。 要求が成功 した場合、変換されたファイルのリンクの一覧を応答で受け取ります。 (注) MediaSense セッションが要求の形式で存在する場合、既存のリンクが返されます。 新しいリ ンクはシステムに作成されません。 MediaSense セッションがアクティブまたはエラー状態に ある場合、そのセッションは変換できません。 変換された mp4 と wav ファイルは、作成後または最終変更後 2 時間以内にシステムにより削 除されます。 URI https://<host>:<port>/ora/managementService/manage/convertSession HTTP メソッド POST パラメータ(Parameters) • convertedLink:出力文字列。 これらの文字列は convertSession API の一部として生成されま す。 URL のカンマで区切られたリスト。 各 URL はセッションのオーディオ録音を指しま す。 すべての値が文字列を構成します。 • convertedFormat:入力文字列。 MediaSense セッションを変換する形式です。 列挙値は MP4 です。 • sessionId:必須入力文字列。 セッションのシステム生成識別子です。 共有パラメータ, (132 ページ)を参照してください。 例 例1 Cisco MediaSense 開発者ガイド リリース 11.0(1) 69 セッション管理 API convertSession (廃止) HTTPS POST: https://10.10.10.10:8440/ora/managementService/manage/ convertSession ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": { "sessionId": "AMS_10.10.10.10_1283550575777_2", "conversionFormat": "mp4" } } 応答: { "responseMessage":"Success: Your request was successfully completed.", "responseCode":2000, "responseBody": { "convertedLink":"http://10.10.10.10:8080/ oramedia/mp4/Session-1-10.10.10.101283811989534.mp4" } } 例 2 - システム容量超過 HTTPS POST: https://10.10.10.10:8440/ora/managementService/manage/ convertSession ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": { "sessionId": "AMS_10.10.10.10_1283550575777_2", "conversionFormat": "mp4" } } 応答: { “responseCode”: 5006, “responseMessage”: “Failure: Unable to convert the session. Try again later.”, "detail": "Capacity Exceeded" } Cisco MediaSense 開発者ガイド リリース 11.0(1) 70 セッション管理 API deleteSessions deleteSessions この API を使用し、指定したセッション ID に基づいて記録されたセッションを削除します。 (注) アクティブなセッションは削除できません。 成功した応答の jobId パラメータがジョブ クエリー API で使用され、ジョブのステータスと結 果を取得します。 URI https://<host>:<port>/ora/managementService/manage/deleteSessions HTTP メソッド POST パラメータ(Parameters) • jobId:出力文字列。 システム生成 ID です。 共有パラメータ, (132 ページ)を参照してくだ さい。 • sessionIds:入力パラメータ。 セッション ID のリストです。 例 複数の録音を削除するには: HTTPS POST: https://10.194.118.64:8440/ora/managementService/manage/ deleteSessions ヘッダー: Content-Type: application/json ボディ: { "requestParameters": { "sessionIds": [ "4ed31387d58902d1", "4ed31387d58923a3" ] } } 応答: { "responseCode": 2000, Cisco MediaSense 開発者ガイド リリース 11.0(1) 71 セッション管理 API deleteSessionTag "responseMessage": "Successful", "jobId": "abcd1234" } deleteSessionTag この API を使用し、セッションからタグを削除します。 タグは、録音にラベルを付けるために ユーザが割り当てる名前です。 ラベルまたはタグが必要なくなったら、この API を使用してこの セッションから削除します。 tagName パラメータと tagOffset パラメータはタグに対して一意で す。 録音を削除するときは、(addSessionTag API を使用して)作成されたタグと同じ名前とオフ セットフィールドが使用されていることを確認します。タグを削除すると、この操作は元に戻す ことができません。ただし、タグ名とオフセットフィールドを指定し、セッションにタグを再追 加できます。 URI https://<host>:<port>/ora/managementService/manage/deleteSessionTag HTTP メソッド POST パラメータ • sessionId:出力文字列。 セッションのシステム生成識別子です。 共有パラメータ, (132 ペー ジ)を参照してください。 • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータ, (132 ページ)を参照してください。 • tagOffset:出力整数。 オフセットはセッションまたはトラックの最初から計算されます。 共 有パラメータ, (132 ページ)を参照してください。 関連イベント tagEvent:タグがセッションに追加またはセッションから削除された場合にイベントが送信されま す。 詳細については、tagEvent, (157 ページ)を参照してください。 例 HTTPS POST: https://10.78.95.207:8440/ora/managementService/manage/ deleteSessionTag ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> Cisco MediaSense 開発者ガイド リリース 11.0(1) 72 セッション管理 API deleteSessionTag ボディ: { "requestParameters": { "sessionId": "3212d734fd0a71", "tagName": "demo", "tagOffset": 10 } } 応答: { "responseMessage":"Success: Your request was successfully completed.", "responseCode":2000 } Cisco MediaSense 開発者ガイド リリース 11.0(1) 73 セッション管理 API deleteSessionTag Cisco MediaSense 開発者ガイド リリース 11.0(1) 74 第 8 章 セッション クエリー API • はじめに, 75 ページ • getAllActiveSessions, 76 ページ • getAllPrunedSessions, 79 ページ • getArchiveSessions, 82 ページ • getAssociatedSessions, 82 ページ • getSessionBySessionId, 87 ページ • getSessions, 89 ページ • getSessionsByCCID, 101 ページ • getSessionsByDeviceRef, 104 ページ • getSessionsByMediaType, 107 ページ • getSessionsByTag, 109 ページ • 同時検索要求, 112 ページ • スケーラブルなクエリーとスケーラブルでないクエリー, 112 ページ • スケーラブルでないクエリーの回避 , 113 ページ はじめに MediaSense クエリー API を利用すると、アプリケーションは柔軟な方法でセッションに関する問 い合わせを実行できます。 • 複雑でも柔軟性のある getSessions API を利用すると、複雑なクエリーを実行できます。 この API を使用し、検索条件にさまざまな論理演算やその他のソート パラメータ、ページング パ ラメータを指定できます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 75 セッション クエリー API getAllActiveSessions • 単純で柔軟性の低いクエリー API の場合、一部の基本的なよく使用されるクエリー (getAllActiveSessions など)のみを実行できます。 getAllActiveSessions この API を使用し、アクティブな録音をすべて検索します。 返されたセッションは sessionStartDate により自動的にソートされます(降順)。 (注) この API の応答はクエリーによって異なります。一部のパラメータは応答によっては使用でき ません。 たとえば、アクティブなセッションには sessionDuration や downloadUrl などのパラ メータがありません。 同様に、httpUrl はセッションが変換されている場合にのみ使用できま す。 URI https://<host>:<port>/ora/queryService/query/getAllActiveSessions HTTP メソッド GET パラメータ(Parameters) • callControllerIP:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • callControllerType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • ccid:同じコールの一部となっている録音セッションを識別するために使用される出力文字 列。 共有パラメータ, (132 ページ)を参照してください。 • codec:出力文字列。 トラックのコーデック。 共有パラメータ, (132 ページ)を参照してく ださい。 • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータ, (132 ページ)を参照し てください。 • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータ, (132 ページ)を参照し てください。 • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共 有パラメータ, (132 ページ)を参照してください。 • errorCode: • errorDetail:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータ, (132 ページ)を参照 してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 76 セッション クエリー API getAllActiveSessions • isConference:出力ブール。 参加者が会議ブリッジまたは個々のデバイスであるかどうかを 示します。 共有パラメータ, (132 ページ)を参照してください。 • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラ メータ, (132 ページ)を参照してください。 • maxSessionStartDate:オプション入力整数。 1970 年 1 月 1 日 GMT からセッション録音の開 始まで、より正確にはこのセッションの最初のトラックが録音を開始するまでに経過した時 間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • minSessionStartDate:オプション入力整数。 1970 年 1 月 1 日 GMT からセッション録音の開 始まで、より正確にはこのセッションの最初のトラックが録音を開始するまでに経過した時 間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • mp4Url:出力文字列。 セッションの mp4 リンク。 共有パラメータ, (132 ページ)を参照し てください。 • offset:オプション入力整数。 返される最初のレコード。 共有パラメータ, (132 ページ)を 参照してください。 • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単 位)。 共有パラメータ, (132 ページ)を参照してください。 • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参 照してください。 • participantStartDate:出力整数。 1970 年 1 月 1 日 GMT からこのトラックの録音が開始される までに経過した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パ ラメータ, (132 ページ)を参照してください。 • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を 参照してください。 • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • sessionId:出力文字列。 セッションのシステム生成識別子です。 共有パラメータ, (132 ペー ジ)を参照してください。 • sessionStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • sessionState:出力文字列。 セッションのステート。 共有パラメータ, (132 ページ)を参照 してください。 • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照してく ださい。 • tagCreateDate:出力整数。 1970 年 1 月 1 日 GMT からこのタグの作成までに経過した時間(ミ リ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 77 セッション クエリー API getAllActiveSessions • tagOffset:出力整数。 オフセットはセッションまたはトラックの最初から計算されます。 共 有パラメータ, (132 ページ)を参照してください。 • tagType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • trackMediaType:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子。 共有パラメータ, (132 ページ)を参照してください。 • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照 してください。 • trackStartDate:出力整数。 1970 年 1 月 1 日 GMT からトラックの録音が開始されるまでに経 過した時間(ミリ秒単位)。 • urls:出力 JSON オブジェクト。 共有パラメータ, (132 ページ)を参照してください。 • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータ, (132 ページ)を参照し てください。 • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子。 共有パラメータ, (132 ページ)を参照してください。 例 例1 2012 年 7 月 26 日 20:45:40 GMT の時点で最後の 2 時間のアクティブ セッションをすべて取得する には(18:45:40 から 20:45:40 まで): HTTPS GET: https://10.194.118.1:8440/ora/queryService/ query/getAllActiveSessions?maxSessionStartDate= 1343335540154 ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> 例2 2012 年 7 月 26 日 18:45:40 GMT と 2012 年 7 月 26 日 20:45:40 GMT (2 時間の時間枠)の間のアク ティブなセッションから最初の 10 件を取得するには: HTTPS GET: https://10.194.118.1:8443/ora/queryService/query/ getAllActiveSessions?offset=0&limit=10& minSessionStartDate=1343328340000&maxSessionStartDate =1343335540154 Cisco MediaSense 開発者ガイド リリース 11.0(1) 78 セッション クエリー API getAllPrunedSessions ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> getAllPrunedSessions この API を使用し、取り除かれた録音をすべて検索します。 返されたセッションは sessionStart 日 付により自動的にソートされます。 「取り除かれた」という用語は、MediaSense システムによっ て削除された録音を意味します。 deleteSessions API を使用し、明示的に録音を削除した場合、そ れらは「削除された」録音であり、「取り除かれた」録音ではありません。 URI https://<host>:<port>/ora/queryService/query/getAllPrunedSessions HTTP メソッド GET パラメータ(Parameters) • callControllerIP:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • callControllerType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • ccid:同じコールの一部となっている録音セッションを識別するために使用される出力文字 列。 共有パラメータ, (132 ページ)を参照してください。 • codec:出力文字列。 トラックのコーデック。 共有パラメータ, (132 ページ)を参照してく ださい。 • deviceId:出力文字列。 デバイスの一意の識別子。 「共有パラメータ」を参照してください 共有パラメータ, (132 ページ)。 • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータ, (132 ページ)を参照し てください。 • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共 有パラメータ, (132 ページ)を参照してください。 • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータ, (132 ページ)を参照 してください。 • isConference:出力ブール。 参加者が会議ブリッジまたは個々のデバイスであるかどうかを 示します。 共有パラメータ, (132 ページ)を参照してください。 • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラ メータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 79 セッション クエリー API getAllPrunedSessions • maxSessionStartDate:オプション入力整数。 1970 年 1 月 1 日 GMT からセッション録音の開 始まで、より正確にはこのセッションの最初のトラックが録音を開始するまでに経過した時 間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • minSessionStartDate:オプション入力整数。 1970 年 1 月 1 日 GMT からセッション録音の開 始まで、より正確にはこのセッションの最初のトラックが録音を開始するまでに経過した時 間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • mp4Url:これは、出力文字列。 セッションの mp4 リンク。 共有パラメータ, (132 ページ) を参照してください。 • offset:オプション入力整数。 返される最初のレコード。 共有パラメータ, (132 ページ)を 参照してください。 • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単 位)。 共有パラメータ, (132 ページ)を参照してください。 • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参 照してください。 • participantStartDate:出力整数。 1970 年 1 月 1 日 GMT からこのトラックの録音が開始される までに経過した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パ ラメータ, (132 ページ)を参照してください。 • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を 参照してください。 • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • sessionId:セッションのシステム生成識別子。 共有パラメータ, (132 ページ)を参照してく ださい。 • sessionStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • sessionState:出力文字列。 セッションのステート。 共有パラメータ, (132 ページ)を参照 してください。 • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照してく ださい。 • tagCreateDate:出力整数。 1970 年 1 月 1 日 GMT からこのタグの作成までに経過した時間(ミ リ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータ, (132 ページ)を参照してください。 • tagOffset:出力整数。 オフセットはセッションまたはトラックの最初から計算されます。 共 有パラメータ, (132 ページ)を参照してください。 • tagType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 80 セッション クエリー API getAllPrunedSessions • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • trackMediaType:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子。 共有パラメータ, (132 ページ)を参照してください。 • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照 してください。 • trackStartDate:出力整数。 1970 年 1 月 1 日 GMT からトラックの録音が開始されるまでに経 過した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • urls:出力 JSON オブジェクト。 共有パラメータ, (132 ページ)を参照してください。 • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータ, (132 ページ)を参照し てください。 • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子。 共有パラメータ, (132 ページ)を参照してください。 例 例1 2012 年 7 月 26 日 20:45:40 GMT の時点で最後の 2 時間を対象に、取り除かれたセッションをすべ て取得するには(18:45:40 から 20:45:40 まで): HTTPS GET: https://10.194.118.1:8440/ora/queryService/query/ getAllPrunedSessions?maxSessionStartDate=1343335540154 ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> 例2 2012 年 7 月 26 日 18:45:40 GMT と 2012 年 7 月 26 日 20:45:40 GMT (2 時間の時間枠)の間を対象 に、取り除かれたセッションから最初の 10 件を取得するには: HTTPS GET: https://10.194.118.1:8440/ora/queryService/query/ getAllPrunedSessions?offset=0&limit=10& minSessionStartDate=1343328340000&maxSessionStartDate= 1343335540154 ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> Cisco MediaSense 開発者ガイド リリース 11.0(1) 81 セッション クエリー API getArchiveSessions getArchiveSessions このAPIを使用し、アーカイブされたセッションを検索し、取得します。 URI https://<host>:<port>/ora/queryService/query/getArchiveSessions HTTP メソッド POST パラメータ(Parameters) • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータ, (132 ページ)を参照し てください。 • sessionIdList:このパラメータは、複数のカンマ区切りの sessionIds のリストを受け入れます。 ただし、現在、最初の sessionId だけが強く関連した sessionIds を返します。 追加の sessionIds は無視されます。 この入力パラメータは、今後の機能拡張のために List タイプで構成されて います。 • maxSessionStartDate:オプション入力整数。 ただし、minSessionStartDate に固有の値がない場 合は必須の入力整数になります。 共有パラメータ, (132 ページ)を参照してください。 • minSessionStartDate:オプション入力整数。 共有パラメータ, (132 ページ)を参照してくだ さい。 (注) アーカイブされたセッションを検索する場合は、次の点を考慮してください。 • 要求パラメータとして sessionId と deviceRef の両方がある場合、getArchiveSessions API は sessionId のみを認識します。 • 複数の sessionId を入力すると、getArchiveSessions API は最初の sessionId のみを認識しま す。 • 複数の deviceRef を入力すると、getArchiveSessions API は最初の deviceRef のみを認識し ます。 getAssociatedSessions この API を使用し、関連性の強いセッションを sessionID 別に検索し、取得します。 関連性の強 いセッションには、1 つの共通 xRefci(ビルトインブリッジ(BiB)録音および Unified Communications Manager 対応のネットワークベース録音(NBR)の場合)と、少なくとも 1 つの 共通 CCID(Unified Border Element を介した録音の場合)が含まれます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 82 セッション クエリー API getAssociatedSessions MediaSense は、次のモードで生成されたセッションのコールの関連付けをサポートしています。 • Unified Communications Manager BiB 分岐 • Unified Communications Manager NBR • Unified Border Element ダイヤル ピア (注) コール関連付け機能は、保存されている録音を順に処理し、共通 xRefCi 値(Unified Communications Manager を介した録音の場合)および共通 CCID 値(Unified Border Element を 介した録音の場合)を検索することで動作します。 次に例を示します。 1 録音された会話に(いずれも BiB がアクティベートされた)エージェント間のコール転送 が含まれている場合、生成された録音セッションは、一連の共通 xRefCi 値により、互いに リンクされます。 2 Unified Border Element を介して録音された会話に通話中のコーデック変更が含まれている 場合(A が B をコールし、そのコールがコーデック X でネゴシエートされた場合など)、 A はコールを保留にし、保留音(MoH)コーデックは Y となります。そのため、MoH のも う 1 つの新しいセッションがあることになります。 A がコールを再開すると、別の 3 番目 のセッションが生成されます。 これらの生成された録音セッションは共通 CCID 値で相互 にリンクされます。 コール関連付け機能はこれを利用し、互いに関連付けられている一連の録音を用意します。 (注) 一部のコール シナリオでは、結果として、録音セッションが分離されます(その xRefCi また は CCID とデータベースの他のセッションに共通点がないセッション)。 そのようなセッショ ンはこの機能で関連付けることができません。 URI https://<host>:<port>/ora/queryService/query/getAssociatedSessions HTTP メソッド POST パラメータ(Parameters) • callControllerType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • codec:出力文字列。 トラックのコーデック。 共有パラメータ, (132 ページ)を参照してく ださい。 • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータ, (132 ページ)を参照し てください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 83 セッション クエリー API getAssociatedSessions • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータ, (132 ページ)を参照し てください。 • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共 有パラメータ, (132 ページ)を参照してください。 • firstName:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • httpUrl:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • isConference:出力ブール。 参加者が会議ブリッジまたは個々のデバイスであるかどうかを 示します。 共有パラメータ, (132 ページ)を参照してください。 • lastName:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • lineDisplayName:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • loginId:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • loginIdDomain:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • loginName:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • mp4Url:出力文字列。 セッションの mp4 リンク。 共有パラメータ, (132 ページ)を参照し てください。 • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単 位)。 共有パラメータ, (132 ページ)を参照してください。 • participantInformation:参加者情報の出力 JSON アレイ。 共有パラメータ, (132 ページ)を参 照してください。 • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参 照してください。 • participantStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 • sessionId:出力文字列。 セッションのシステム生成識別子です。 共有パラメータ, (132 ペー ジ)を参照してください。 • sessionIdList:複数のカンマ区切りの sessionIds のリストを受け入れます。ただし、現在、最 初の sessionId だけが強く関連した sessionIds を返します。 追加の sessionIds は無視されます。 この入力パラメータは、今後の機能拡張のために List タイプで構成されています。 • sessionStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • sessionState:出力文字列。 セッションのステート。 共有パラメータ, (132 ページ)を参照 してください。 • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • trackMediaType:出力整数。 共有パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 84 セッション クエリー API getAssociatedSessions • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子。 共有パラメータ, (132 ページ)を参照してください。 • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照 してください。 • trackStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • urls:出力 JSON オブジェクト。 共有パラメータ, (132 ページ)を参照してください。 • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータ, (132 ページ)を参照し てください。 • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子。 共有パラメータ, (132 ページ)を参照してください。 例 HTTPS POST: https://10.78.170.114:8440/ora/queryService/query/getAssociatedSessions ヘッダー: Content-Type: application/json ボディ: { "requestParameters":{ "sessionIdList" : ["514406fbae4a1"] } } 応答: { "responseMessage":"Success: Your request was successfully completed.", "responseCode":2000, "responseBody":{ "sessions":[ { "sessionState":"CLOSED_NORMAL", "callControllerType":"Cisco-CUCM", "sessionId":"614406fbae5e1", "urls":{ "httpUrl":"https://10.78.170.114:19443/recordedMedia/oramedia/mp4/614406fbae5e1.mp4", "rtspUrl":"rtsp://10.78.170.114/archive/614406fbae5e1", "mp4Url":"https://10.78.170.114:19443/recordedMedia/oramedia/mp4/614406fbae5e1.mp4", "wavUrl":"https://10.78.170.114:19443/recordedMedia/oramedia/wav/614406fbae5e1.wav" }, "sessionStartDate":1391686561, "tracks":[ { "trackStartDate":1391686561, "trackDuration":78119, "codec":"PCMU", "downloadUrl":"http://10.78.170.114:8081/mma/ExportRaw?recording=614406fbae5e1-TRACK1", "trackNumber":1, "trackMediaType":"AUDIO", "participants":[ { "participantStartDate":1391686561, "deviceRef":"1341051", "participantInformation": { Cisco MediaSense 開発者ガイド リリース 11.0(1) 85 セッション クエリー API getAssociatedSessions "loginId": "davpete", "lastName": "Peter", "firstName": "Dave", "loginIdDomain": 1, "loginName": "Peter" }, "lineDisplayName": "Dave Peter", "isConference":false, "xRefCi":"20248680", "participantDuration":78119, "deviceId":"SEP70F39517B88A" } ] }, { "trackStartDate":1391686561, "trackDuration":78119, "codec":"PCMU", "downloadUrl":"http://10.78.170.114:8081/mma/ExportRaw?recording=614406fbae5e1-TRACK0", "trackNumber":0, "trackMediaType":"AUDIO", "participants":[ { "participantStartDate":1391686561, "deviceRef":"1341052", "participantInformation": { "loginId": "davpete", "lastName": "Peter", "firstName": "Dave", "loginIdDomain": 1, "loginName": "Peter" }, "lineDisplayName": "Dave Peter", "isConference":false, "xRefCi":"20248679", "participantDuration":78119, "deviceId":"SEP402CF4ECA126" } ] } ], "sessionDuration":78119, "callControllerIP":"10.65.157.134" }, { "sessionState":"CLOSED_NORMAL", "callControllerType":"Cisco-CUCM", "sessionId":"514406fbae4a1", "urls":{ "httpUrl":"https://10.78.170.114:19443/recordedMedia/oramedia/mp4/514406fbae4a1.mp4", "rtspUrl":"rtsp://10.78.170.114/archive/514406fbae4a1", "mp4Url":"https://10.78.170.114:19443/recordedMedia/oramedia/mp4/514406fbae4a1.mp4", "wavUrl":"https://10.78.170.114:19443/recordedMedia/oramedia/wav/514406fbae4a1.wav" }, "sessionStartDate":1391686561, "tracks":[ { "trackStartDate":1391686561, "trackDuration":78093, "codec":"PCMU", "downloadUrl":"http://10.78.170.114:8081/mma/ExportRaw?recording=514406fbae4a1-TRACK1", "trackNumber":1, "trackMediaType":"AUDIO", "participants":[ { "participantStartDate":1391686561, "deviceRef":"1341052", "participantInformation": { Cisco MediaSense 開発者ガイド リリース 11.0(1) 86 セッション クエリー API getSessionBySessionId "loginId": "davpete", "lastName": "Peter", "firstName": "Dave", "loginIdDomain": 1, "loginName": "Peter" }, "lineDisplayName": "Dave Peter", "isConference":false, "xRefCi":"20248679", "participantDuration":78093, "deviceId":"SEP402CF4ECA126" } ] }, { "trackStartDate":1391686561, "trackDuration":78093, "codec":"PCMU", "downloadUrl":"http://10.78.170.114:8081/mma/ExportRaw?recording=514406fbae4a1-TRACK0", "trackNumber":0, "trackMediaType":"AUDIO", "participants":[ { "participantStartDate":1391686561, "deviceRef":"1341051", "participantInformation": { "loginId": "davpete", "lastName": "Peter", "firstName": "Dave", "loginIdDomain": 1, "loginName": "Peter" }, "lineDisplayName": "Dave Peter", "isConference":false, "xRefCi":"20248680", "participantDuration":78093, "deviceId":"SEP70F39517B88A" } ] } ], "sessionDuration":78093, "callControllerIP":"10.65.157.134" } ] } } getSessionBySessionId この API を使用し、記録済みセッションまたはライブ セッションをそのセッション ID で検索し、 取得します。 URI https://<host>:<port>/ora/queryService/query/getSessionBySessionId HTTP メソッド GET Cisco MediaSense 開発者ガイド リリース 11.0(1) 87 セッション クエリー API getSessionBySessionId パラメータ(Parameters) • callControllerIP:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • callControllerType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • ccid:出力文字列。 同じコールの一部となっている録音セッションを識別するために使用さ れます。 共有パラメータ, (132 ページ)を参照してください。 • codec:出力文字列。 トラックのコーデック。 共有パラメータ, (132 ページ)を参照してく ださい。 • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータ, (132 ページ)を参照し てください。 • devRef:出力文字列。 各デバイスの電話番号。 共有パラメータ, (132 ページ)を参照して ください。 • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共 有パラメータ, (132 ページ)を参照してください。 • httpUrl:リリース 10 では廃止になり、mp4url が導入されます。 出力文字列です。 セッショ ンの HTTPS リンク。 共有パラメータ, (132 ページ)を参照してください。 • isConference:出力ブール。 共有パラメータ, (132 ページ)を参照してください。 • mp4url:出力文字列。 セッションの mp4 リンク。 共有パラメータ, (132 ページ)を参照し てください。 • participantDuration:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参 照してください。 • participantStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パ ラメータ, (132 ページ)を参照してください。 • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を 参照してください。 • sessionDuration:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • sessionId:システムで生成されるセッションの一意の識別子。 共有パラメータ, (132 ペー ジ)を参照してください。 • sessionStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • sessionState:出力文字列。 セッションのステート。 共有パラメータ, (132 ページ)を参照 してください。 • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照してく ださい。 • tagCreateDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 88 セッション クエリー API getSessions • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータ, (132 ページ)を参照してください。 • tagOffset:このタグのセッション開始から経過した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • tagType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • trackMediaType:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子です。 共有パラメー タ, (132 ページ)を参照してください。 • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照 してください。 • trackStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • urls:出力 JSON オブジェクト。 共有パラメータ, (132 ページ)を参照してください。 • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータ, (132 ページ)を参照し てください。 • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子。 共有パラメータ, (132 ページ)を参照してください。 例 sessionId が「13092154564622」のセッションを取得するには: HTTPS GET: https://10.194.118.1:8440/ora/queryService/query/ getSessionBySessionId?value=13092154564622 ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> getSessions この API を使用し、記録済み、ライブ、または取り除かれたセッションを検索し、取得します。 要件: スケーラビリティを実行するには、この API に sessionStartDate フィールド条件が必要で す。 制限:getSessions クエリー シンタックスには柔軟性がありますが、SQL のように一般的ではあり ません。 getSessions API を使用しても、特定のタイプの複合クエリーを表現できるわけではあり ません。 具体的には、シンタックスは組み込みの優先順位ルールを上書きするアプローチを提供 Cisco MediaSense 開発者ガイド リリース 11.0(1) 89 セッション クエリー API getSessions しません。 また、テーブルを組み合わせて値のマッチングを適用して順序を表示する方法も提供 しません。 例: 例1 f1、f2、f3 の 3 つのフィールドに問い合わせる場合、そのクエリーが「f1=<query> AND f2=<query> OR f3=<query>」であれば、SQL 先行ルールがフィールドに適用され、クエリーは「[(f1=<query> AND f2=<query>) OR (f3=<query>)]」として解釈されます。 カッコを使用することにより、AND 演算子が OR 演算子よりも先に評価されます。 ただし、表現 シンタックスは暗黙の優先順位ルールを上書きする方法を提供しないため、OR 演算子が AND 演 算子よりも先に評価されるように指定することはできません。 要約すると、"[(f1) and (f2 or f3)]" のようなクエリーは不可能だということです。 例2 トラック オブジェクト内の異なるフィールドを参照する検索の場合、AND 演算子は同じトラック インスタンスで検出された値に適用されますが、同じセッションの異なるトラックの値には適用 されません。 たとえば、「deviceRef=1000 AND loginName='Smith'」のようなクエリーは、Smith というエージェントが内線 1000 でログインした場合にのみセッションを返します。 また、エー ジェント Smith が内線 1000 で会話中の場合、これらの 2 つの値が異なるトラックで発生するた め、セッションは返されません。 さらに、AND 演算子の両側で同じフィールドが参照されている場合、MediaSense はそれらを同じ セッション内の異なるトラックに適用します。 そのため、たとえば「deviceRef=1000 AND deviceRef=2000」というクエリーは、内線 1000 のユーザが内線 2000 にいる別のユーザと会話する セッションを検出します。これらの値が異なるトラックで見つかった場合も同様です。 この特別 な処理は、第 3 のトラック固有のフィールドがクエリーに追加された場合は機能しません。 たと えば、「deviceRef=1000 AND deviceRef=2000 AND loginName='Smith'」は、異なるフィールド名が 含まれているため、予想される結果にはなりません。 また、その値が同じトラックで見つかった ものなのか、同じセッションの別のトラックで見つかったものなのかを明確にすることができま せん。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 90 セッション クエリー API getSessions (注) • BETWEEN フィールド演算子の場合、sessionStartDate フィールドは、2 つのフィールド値 を含むようにバウンドされることはありません。 • BETWEEN フィールド演算子によってフィールド値が 1 つだけ提供された場合、その値 は sessionStartDate_value1 パラメータとして扱われます。 getSessions API 自身によって、 sessionStartDate_value2 パラメータは MS サーバの現在の時刻に自動的に設定されます。 • BETWEEN フィールド演算子によって 2 つのフィールド値が提供された場合、それらの 値はそれぞれ sessionStartDate_value1 および sessionStartDate_value2 として扱われます(上 記の動作と同様)。 • スケーラビリティを実行するには、この API に sessionStartDate フィールド条件が必要で す。 • この API は現在、検索可能な fieldName として sessionId をサポートしません。 URI https://<host>:<port>/ora/queryService/query/getSessions HTTP メソッド POST パラメータ • byFieldName:オプション入力文字列。 「Shared Parameters」を参照してください。 許可され る列挙値は次のとおりです。 ◦ sessionID ◦ sessionState ◦ sessionDuration ◦ sessionStartDate ◦ ccid • callControllerIP:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • callControllerType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • ccid:オプション入力文字列。 同じコールの一部となっている録音セッションを識別するた めに使用されます。 共有パラメータ, (132 ページ)を参照してください。 許可される fieldOperator は “equals” です。 • codec:出力文字列。 トラックのコーデック。 共有パラメータ, (132 ページ)を参照してく ださい。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 91 セッション クエリー API getSessions • deviceId:オプション入力文字列。 デバイスの一意の識別子。 共有パラメータ, (132 ペー ジ)を参照してください。 • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータ, (132 ページ)を参照し てください。 許可される fieldOperator は次のとおりです。 ◦ equals ◦ contains ◦ startsWith ◦ endsWith ◦ between • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共 有パラメータ, (132 ページ)を参照してください。 • fieldConditions:文字列の必須入力アレイ。 呼び出されたフィールドに指定された条件。 共 有パラメータ, (132 ページ)を参照してください。 • fieldConnector:継続的条件により条件を論理接続するために使用します。 共有パラメータ, (132 ページ)を参照してください。 • fieldName:必須入力文字列。 呼び出されたフィールドの名前。 「共有パラメータ」を参照 してください。 • fieldOperator:必須入力文字列。 共有パラメータ, (132 ページ)を参照してください。 • fieldValues:文字列の必須入力アレイ。 共有パラメータ, (132 ページ)を参照してくださ い。 • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータ, (132 ページ)を参照 してください。 • isConference:出力ブール。 共有パラメータ, (132 ページ)を参照してください。 • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラ メータ, (132 ページ)を参照してください。 • mp4Url:出力文字列。 セッションの mp4 リンク。 共有パラメータ, (132 ページ)を参照し てください。 • nodeIPAddress:出力文字列。 Cisco MediaSense サーバの IP アドレス。 共有パラメータ, ( 132 ページ)を参照してください。許可される fieldOperator は “equals” です。 • offset:オプション入力整数。 返される最初のレコード。 共有パラメータ, (132 ページ)を 参照してください。 • order:オプション入力文字列。 共有パラメータ, (132 ページ)を参照してください。 • partition:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 許可される fieldOperator は “equals” です。 許可される fieldOperator は “equals” です。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 92 セッション クエリー API getSessions • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単 位)。 共有パラメータ, (132 ページ)を参照してください。 • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参 照してください。 • participantStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • pruned:出力ブール。 セッションがシステムによって削除されたかどうかを示します。 ユー ザによって削除されたセッションはプルーニングされたとは見なされません。 セッションが 削除されていない場合、pruned は省略されます。 列挙値は次のとおりです。 ◦ TRUE ◦ FALSE 許可される fieldOperator は “equals” です。 • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パ ラメータ, (132 ページ)を参照してください。 • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を 参照してください。 • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 許可される fieldOperator は次のとおりです。 ◦ lessThan ◦ greaterThan ◦ equals • sessionStartDate:必須入力整数。 共有パラメータ, (132 ページ)を参照してください。許可 される fieldOperator は “between” です。 • sortParameters:オプション入力 JSON アレイ。 共有パラメータ, (132 ページ)を参照してく ださい。 • sessionState:出力文字列。 セッションのステート。 共有パラメータ, (132 ページ)を参照 してください。 許可される fieldOperator は “equals” です。 • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照してく ださい。 • tagCreateDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータ, (132 ページ)を参照してください。 許可される fieldOperator は次のとおりです。 ◦ equals ◦ contains ◦ startsWith ◦ endsWith Cisco MediaSense 開発者ガイド リリース 11.0(1) 93 セッション クエリー API getSessions • tagOffset:addSessionTag のオプション整数。 このタグのセッション開始から経過した時間 (ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • tagType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 許可される fieldOperator は “equals” です。 • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • trackMediaType:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子です。 共有パラメー タ, (132 ページ)を参照してください。 • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照 してください。 • trackStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • urls:出力 JSON オブジェクト。 共有パラメータ, (132 ページ)を参照してください。 • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータ, (132 ページ)を参照し てください。 • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子です。 共有パラメータ, (132 ページ)を参照してください。 許可される fieldOperator は “equals” です。 例 例1 クエリー:((tagName = "foo" で、sessionStartDate が 2010/11/02 21:21:40 と 2010/11/03 21:21:40 の 間)または((deviceRef = "1000" で、sessionState = "active"))のセッションをすべて取得する HTTPS POST: https://10.194.118.1:8440/ora/queryService/query/getSessions ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": [ { "fieldName" : "tagName", "fieldConditions": [ { "fieldOperator" : "equals", "fieldValues" : ["foo"] } ], "paramConnector": "AND" }, { Cisco MediaSense 開発者ガイド リリース 11.0(1) 94 セッション クエリー API getSessions "fieldName" : "sessionStartDate", "fieldConditions": [ { "fieldOperator" : "between", "fieldValues" : [ 1288732900000, // Tue, 02 Nov 2010 21:21:40 GMT 1288819300000 // Wed, 03 Nov 2010 21:21:40 GMT ] } ], "paramConnector": "OR" }, { "fieldName" : "deviceRef", "fieldConditions": [ { "fieldOperator" : "equals", "fieldValues" : ["1000"] } ], "paramConnector": "AND" }, { "fieldName" : "sessionState", "fieldConditions": [ { "fieldOperator" : "equals", "fieldValues" : ["active"] } ] } ] } 例2 クエリー:((xRefCi = 12345678 で、tagName = foo)または(sessionState = active で、 sessionStartDate が Nov 2, 2010 21:21:40 と Nov 3, 2010 21:21:40 の間))のセッションをすべて取得 する (注) 「or」コネクタを指定するときは注意してください。 「or」の前の部分式は、2 つ目の副次式 の sessionStartDate により制限されます。 最初の副次式がスケーラブルであることを確認する 必要があります。または、最初の副次式に sessionStartDate フィルタを追加する必要がありま す。 この例では、「xRefCi」を指定するフィルタを使用します。 xRefCi はスケーラブル フィー ルドです。そのため、sessionStartDate によってさらに制限する必要はありません。「tagName」 は非スケーラブルですが、「and」演算子により xRefCi フィルタに接続されるため、完全な副 次式はスケーラブルになります。 スケーラブル クエリーの式を記述する方法の詳細については、「非スケーラブル クエリーを 回避する」を参照してください。 HTTPS POST: https://10.194.118.1:8440/ora/queryService/query/getSessions Cisco MediaSense 開発者ガイド リリース 11.0(1) 95 セッション クエリー API getSessions ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": [ { "fieldName" : "xRefCi", "fieldConditions": [ { "fieldOperator" : "equals", "fieldValues" : [ "12345678" ] } ], "paramConnector": "AND" }, { "fieldName" : "tagName", "fieldConditions": [ { "fieldOperator" : "equals", "fieldValues" : [ "foo" ] } ], "paramConnector": "OR" }, { "fieldName" : "sessionState", "fieldConditions": [ { "fieldOperator" : "equals", "fieldValues" : [ "active" ] } ], "paramConnector": "AND" }, { "fieldName" : "sessionStartDate", "fieldConditions": [ { "fieldOperator" : "between", "fieldValues" : [ 1288732900000, // Tue, 02 Nov 2010 21:21:40 GMT 1288819300000 // Wed, 03 Nov 2010 21:21:40 GMT ] } ] } ] } 例3 クエリー:(((deviceRef = "1000" または deviceRef="2000")または tagName="foo")および sessionState="active")のセッションをすべて取得する A query where higher precedence is intended for an 'OR' Cisco MediaSense 開発者ガイド リリース 11.0(1) 96 セッション クエリー API getSessions operation over an 'AND' operation is not possible. 例4 クエリー:(deviceRef = "1000" で、sessionStartDate が 2010/11/02 21:21:40 と 2010/11/03 21:21:40 の間)のセッションをすべて取得する (注) シンプルな getSessionsByDeviceRef API を利用してシンプルなクエリーを簡単に作成できます が、getSessions API を使用することもできます。 HTTPS POST: https://10.194.118.1:8440/ora/queryService/query/getSessions ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": [ { "fieldName" : "deviceRef", "fieldConditions": [ { "fieldOperator" : "equals", "fieldValues" : ["1000"] } ], "paramConnector": "AND" }, { "fieldName" : "sessionStartDate", "fieldConditions": [ { "fieldOperator" : "between", "fieldValues" : [ 1288732900000, // Tue, 02 Nov 2010 21:21:40 GMT 1288819300000 // Wed, 03 Nov 2010 21:21:40 GMT ] } ] } ] } 例5 クエリー:トラックが nodeIPAddress "10.35.146.158" で記録されており、パーティション "/common" が 2010/11/02 21:21:40 と 2010/11/03 21:21:40 の間にあるセッションをすべて取得する HTTPS POST: https://10.194.118.1:8440/ora/queryService/query/getSessions Cisco MediaSense 開発者ガイド リリース 11.0(1) 97 セッション クエリー API getSessions ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": [ { "fieldName" : "nodeIPAddress", "fieldConditions": [ { "fieldOperator" : "equals", "fieldValues" : ["10.35.146.158"] } ], "paramConnector": "AND" }, { "fieldName" : "partition", "fieldConditions": [ { "fieldOperator" : "equals", "fieldValues" : ["/common"] } ], "paramConnector": "AND" }, { "fieldName" : "sessionStartDate", "fieldConditions": [ { "fieldOperator" : "between", "fieldValues" : [ 1288732900000, // Tue, 02 Nov 2010 21:21:40 GMT 1288819300000 // Wed, 03 Nov 2010 21:21:40 GMT ] } ] } ] } 例6 クエリー:2010/11/02 21:21:40 と 2010/11/03 21:21:40 の間でシステムによりプルーニングされた セッションをすべて取得する クエリー:2010/11/02 21:21:40 と 2010/11/03 21:21:40 の間でシステムによりプルーニングされた セッションをすべて取得する HTTPS POST: https://10.194.118.1:8440/ora/queryService/query/getSessions ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { Cisco MediaSense 開発者ガイド リリース 11.0(1) 98 セッション クエリー API getSessions "requestParameters": [ { "fieldName" : "pruned", "fieldConditions": [ { "fieldOperator" : "equals", "fieldValues" : ["true"] } ], "paramConnector": "AND" }, { "fieldName" : "sessionStartDate", "fieldConditions": [ { "fieldOperator" : "between", "fieldValues" : [ 1288732900000, // Tue, 02 Nov 2010 21:21:40 GMT 1288819300000 // Wed, 03 Nov 2010 21:21:40 GMT ] } ] } ] } 例7 クエリー:特定の日付範囲にあるすべてのセッションを取得する。 たとえば、Tue, 02 Nov 2010 21:21:40 GMT と Wed, 03 Nov 2010 21:21:40 GMT の間 HTTPS POST: https://10.194.118.1:8440/ora/queryService/query/getSessions ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": [ { "fieldName" : "sessionStartDate", "fieldConditions": [ { "fieldOperator" : "between", "fieldValues" : [ 1288732900000, // Tue, 02 Nov 2010 21:21:40 GMT 1288819300000 // Wed, 03 Nov 2010 21:21:40 GMT ] } ] } ] } 例8 Cisco MediaSense 開発者ガイド リリース 11.0(1) 99 セッション クエリー API getSessions クエリー:((deviceRef = 1000 または deviceRef = 2000 または deviceRef = 3000)および sessionStartDate は 2010/11/02 21:21:40 と 2010/11/03 21:21:40 の間))のセッションをすべて取得す る HTTPS POST: https://10.194.118.1:8440/ora/queryService/query/getSessions ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> ボディ: { "requestParameters": [ { "fieldName": "deviceRef", "fieldConditions": [ { "fieldOperator": "equals", "fieldValues": ["1000"], "fieldConnector": "OR" }, { "fieldOperator": "equals", "fieldValues": ["2000"], "fieldConnector": "OR" }, { "fieldOperator": "equals", "fieldValues": ["3000"] } ], "paramConnector": "AND" }, { "fieldName": "sessionStartDate", "fieldConditions": [ { "fieldOperator": "between", "fieldValues": [ 1288732900000, // Tue, 02 Nov 2010 21:21:40 GMT 1288819300000 // Wed, 03 Nov 2010 21:21:40 GMT ] } ] } ] } 例9 クエリー:特定の日付と MS サーバの現在の時刻の間に開始されたすべてのセッションを取得す る たとえば、2014/08/12 12:00 GMT-07:00 と MS サーバの現在の時刻の間 HTTP POST: https://10.194.118.1:8440/ora/queryService/query/getSessions ヘッダー: Content-Type: application/json JSESSIONID: <the jsessionId received from a signIn request> Cisco MediaSense 開発者ガイド リリース 11.0(1) 100 セッション クエリー API getSessionsByCCID ボディ: { "requestParameters": [ { "fieldName" : "sessionStartDate", "fieldConditions": [ { "fieldOperator" : "between", "fieldValues" : [407870000000 // 12 Aug 2014 12:00 GMT-07:00] } ] } ] } MS サーバの 現在の時刻が 2014/08/19, 12:05 = 1408475100000, の場合、getSessions API の要求本文 は 次のように更新されます。 { "requestParameters": [ { "fieldName" : "sessionStartDate", "fieldConditions": [ { "fieldOperator" : "between", "fieldValues" : [ 1407870000000, // 12 Aug 2014 12:00 GMT-07:00 1408475100000 // 19 Aug 2014 12:05 GMT-07:00 ] } ] } ] } getSessionsByCCID この API を使用し、Call Correlation Identifier (CCID) で記録済みセッションまたはライブ セッショ ンを検索し、取得します。 返されたセッションは sessionStartDate によって自動的に降順でソート されます。 URI https://<host>:<port>/ora/queryService/query/getSessionsByCCID HTTP メソッド GET パラメータ(Parameters) • callControllerIP:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • callControllerType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • ccid:必須入力文字列。 同じコールの一部となっている録音セッションを識別するために使 用されます。 共有パラメータ, (132 ページ)を参照してください。 • codec:出力文字列。 トラックのコーデック。 共有パラメータ, (132 ページ)を参照してく ださい。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 101 セッション クエリー API getSessionsByCCID • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータ, (132 ページ)を参照し てください。 • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータ, (132 ページ)を参照し てください。 • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共 有パラメータ, (132 ページ)を参照してください。 • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータ, (132 ページ)を参照 してください。 • isConference:出力ブール。 共有パラメータ, (132 ページ)を参照してください。 • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラ メータ, (132 ページ)を参照してください。 • mp4Url:出力文字列。 セッションの mp4 リンク。 共有パラメータ, (132 ページ)を参照し てください。 • offset:オプション入力整数。 返される最初のレコード。 共有パラメータ, (132 ページ)を 参照してください。 • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単 位)。 共有パラメータ, (132 ページ)を参照してください。 • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参 照してください。 • participantStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パ ラメータ, (132 ページ)を参照してください。 • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を 参照してください。 • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • sessionId:出力文字列。 セッションのシステム生成識別子です。 共有パラメータ, (132 ペー ジ)を参照してください。 • sessionStartDate:必須入力整数。 共有パラメータ, (132 ページ)を参照してください。 • sessionState:出力文字列。 セッションのステート。 共有パラメータ, (132 ページ)を参照 してください。 許可される fieldOperator は “equals” です。 • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照してく ださい。 • tagCreateDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 102 セッション クエリー API getSessionsByCCID • tagOffset:addSessionTag のオプション整数。 このタグのセッション開始から経過した時間 (ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • tagType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 許可される fieldOperator は “equals” です。 • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • trackMediaType:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子です。 共有パラメー タ, (132 ページ)を参照してください。 • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照 してください。 • trackStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • urls:出力 JSON オブジェクト。 共有パラメータ, (132 ページ)を参照してください。 • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータ, (132 ページ)を参照し てください。 • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子です。 共有パラメータ, (132 ページ)を参照してください。 例 例1 ccid が「0584071424-0000065536-0000000016-0671746570」のセッションをすべて取得するには: HTTPS GET: https://10.194.118.1:8080/ora/queryService/query/ getSessionsByCCID?value=0584071424-0000065536-00000000160671746570&offset=0&limit=0 ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> 例2 ccid が「0584071424-0000065536-0000000016-0671746570」のセッションの最初の 10 件を取得する には: HTTPS GET: https://10.194.118.1:8080/ora/queryService/query/ getSessionsByCCID?value=13092154564622%4010.194.118.71 &offset=0&limit=10 Cisco MediaSense 開発者ガイド リリース 11.0(1) 103 セッション クエリー API getSessionsByDeviceRef ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> 例3 ccid が「0584071424-0000065536-0000000016-0671746570」のセッションの最初の 100 件(返され るレコードのデフォルト数)を取得するには: HTTPS GET: https://10.194.118.1:8080/ora/queryService/query/ getSessionsByCCID?value=0584071424-0000065536-00000000160671746570 ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> (注) オフセットまたは制限パラメータがない場合、要求は、最初の100セッションを返すように初 期設定されます。 getSessionsByDeviceRef この API を使用し、デバイス Ref (電話番号、IP アドレス、デバイス別の URI/URL)別に記録済 みセッションまたはライブ セッションを検索し、取得します。 返されたセッションは sessionStartDate により自動的にソートされます(降順)。 URI https://<host>:<port>/ora/queryService/query/getSessionsByDeviceRef HTTP メソッド GET パラメータ(Parameters) • callControllerIP:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • callControllerType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • ccid:出力文字列。 同じコールの一部となっている録音セッションを識別するために使用さ れます。 共有パラメータ, (132 ページ)を参照してください。 • codec:出力文字列。 トラックのコーデック。 共有パラメータ, (132 ページ)を参照してく ださい。 • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータ, (132 ページ)を参照し てください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 104 セッション クエリー API getSessionsByDeviceRef • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータ, (132 ページ)を参照し てください。 • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共 有パラメータ, (132 ページ)を参照してください。 • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータ, (132 ページ)を参照 してください。 • isConference:出力ブール。 共有パラメータ, (132 ページ)を参照してください。 • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラ メータ, (132 ページ)を参照してください。 • maxSessionStartDate:オプション入力整数。 共有パラメータ, (132 ページ)を参照してくだ さい。 • minSessionStartDate:オプション入力整数。 共有パラメータ, (132 ページ)を参照してくだ さい。 • offset:オプション入力整数。 返される最初のレコード。 共有パラメータ, (132 ページ)を 参照してください。 • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単 位)。 共有パラメータ, (132 ページ)を参照してください。 • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参 照してください。 • participantStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パ ラメータ, (132 ページ)を参照してください。 • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を 参照してください。 • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • sessionId:出力文字列。 セッションのシステム生成識別子です。 共有パラメータ, (132 ペー ジ)を参照してください。 • sessionStartDate:必須入力整数。 共有パラメータ, (132 ページ)を参照してください。 • sessionState:出力文字列。 セッションのステート。 共有パラメータ, (132 ページ)を参照 してください。 • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照してく ださい。 • tagCreateDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 105 セッション クエリー API getSessionsByDeviceRef • tagOffset:addSessionTag のオプション整数。 このタグのセッション開始から経過した時間 (ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • tagType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • trackMediaType:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子です。 共有パラメー タ, (132 ページ)を参照してください。 • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照 してください。 • trackStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • urls:出力 JSON オブジェクト。 共有パラメータ, (132 ページ)を参照してください。 • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータ, (132 ページ)を参照し てください。 • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子。 共有パラメータ, (132 ページ)を参照してください。 例 例1 2012 年 7 月 26 日 20:45:40 GMT の時点で最後の 2 時間を対象に、deviceRef が "1000" のセッショ ンをすべて取得するには(18:45:40 から 20:45:40 まで): HTTPS GET: https://10.194.118.1:8440/ora/queryService/query/ getSessionsByDeviceRef?value=1000&maxSessionStartDate= 1343335540154 ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> 例2 2012 年 7 月 26 日 18:45:40 GMT と 2012 年 7 月 26 日 20:45:40 GMT(2 時間の時間枠)の間を対象 に、deviceRef が "1000" のセッションから最初の 10 件を取得するには: HTTPS GET: https://10.194.118.1:8440/ora/queryService/query/ getSessionsByDeviceRef?value=1000&offset=0&limit= 10&minSessionStartDate=1343328340000&maxSessionStartDate= 1343335540154 Cisco MediaSense 開発者ガイド リリース 11.0(1) 106 セッション クエリー API getSessionsByMediaType ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> getSessionsByMediaType この API を使用し、メディア タイプ(オーディオ、ビデオ、オーディオとビデオ、スクリーン キャプチャ)に基づいて記録済みセッションまたはライブセッションを検索し、取得します。返 されたセッションは sessionStartDate によって自動的にソートされます。最新のセッションが一番 上になります。 URI https://<host>:<port>/ora/queryService/query/getSessionsByMediaType HTTP メソッド GET パラメータ(Parameters) • callControllerIP:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • callControllerType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • ccid:出力文字列。 同じコールの一部となっている録音セッションを識別するために使用さ れます。 共有パラメータ, (132 ページ)を参照してください。 • codec:出力文字列。 トラックのコーデック。 共有パラメータ, (132 ページ)を参照してく ださい。 • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータ, (132 ページ)を参照し てください。 • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータ, (132 ページ)を参照し てください。 • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共 有パラメータ, (132 ページ)を参照してください。 • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータ, (132 ページ)を参照 してください。 • isConference:出力ブール。 共有パラメータ, (132 ページ)を参照してください。 • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラ メータ, (132 ページ)を参照してください。 • maxSessionStartDate:オプション入力整数。 共有パラメータ, (132 ページ)を参照してくだ さい。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 107 セッション クエリー API getSessionsByMediaType • mediaType:出力文字列と必須入力文字列。 共有パラメータ, (132 ページ)を参照してくだ さい。 • minSessionStartDate:オプション入力整数。 共有パラメータ, (132 ページ)を参照してくだ さい。 • mp4Url:出力文字列。 セッションの mp4 リンク。 共有パラメータ, (132 ページ)を参照し てください。 • offset:オプション入力整数。 返される最初のレコード。 共有パラメータ, (132 ページ)を 参照してください。 • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単 位)。 共有パラメータ, (132 ページ)を参照してください。 • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参 照してください。 • participantStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パ ラメータ, (132 ページ)を参照してください。 • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を 参照してください。 • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • sessionId:出力文字列。 セッションのシステム生成識別子です。 共有パラメータ, (132 ペー ジ)を参照してください。 • sessionStartDate:必須入力整数。 共有パラメータ, (132 ページ)を参照してください。 • sessionState:出力文字列。 セッションのステート。 共有パラメータ, (132 ページ)を参照 してください。 • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照してく ださい。 • tagCreateDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータ, (132 ページ)を参照してください。 • tagOffset:addSessionTag のオプション整数。 このタグのセッション開始から経過した時間 (ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • tagType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • trackMediaType:出力整数。 共有パラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 108 セッション クエリー API getSessionsByTag • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子です。 共有パラメー タ, (132 ページ)を参照してください。 • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照 してください。 • trackStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • urls:出力 JSON オブジェクト。 共有パラメータ, (132 ページ)を参照してください。 • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータ, (132 ページ)を参照し てください。 例 例1 2012 年 7 月 26 日 20:45:40 GMT の時点で最後の 2 時間を対象に、mediaType が "AUDIO" のセッ ションをすべて取得するには(18:45:40 から 20:45:40 まで): HTTPS GET: https://10.194.118.1:8440/ora/queryService/query/ getSessionsByMediaType?value=AUDIO&maxSessionStartDate= 1343335540154 ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> 例2 2012 年 7 月 26 日 18:45:40 GMT と 2012 年 7 月 26 日 20:45:40 GMT(2 時間の時間枠)の間を対象 に、mediaType が "AUDIO" のセッションから最初の 10 件を取得するには: HTTPS GET: https://10.194.118.1:8440/ora/queryService/query/ getSessionsByMediaType?value=AUDIO&offset=0&limit= 10&minSessionStartDate=1343328340000&maxSessionStartDate= 1343335540154 ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> getSessionsByTag この API を使用し、ユーザが割り当てたタグ名で記録済みセッションまたはライブ セッションを 検索し、取得します。 タグは録音のラベルとしてユーザが割り当てる名前です。 返されたセッ ションは sessionStartDate により自動的にソートされます(降順)。 URI https://<host>:<port>/ora/queryService/query/getSessionsByTag Cisco MediaSense 開発者ガイド リリース 11.0(1) 109 セッション クエリー API getSessionsByTag HTTP メソッド GET パラメータ(Parameters) • callControllerIP:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • callControllerType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • ccid:出力文字列。 同じコールの一部となっている録音セッションを識別するために使用さ れます。 共有パラメータ, (132 ページ)を参照してください。 • codec:出力文字列。 トラックのコーデック。 共有パラメータ, (132 ページ)を参照してく ださい。 • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータ, (132 ページ)を参照し てください。 • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータ, (132 ページ)を参照し てください。 • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共 有パラメータ, (132 ページ)を参照してください。 • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータ, (132 ページ)を参照 してください。 • isConference:出力ブール。 共有パラメータ, (132 ページ)を参照してください。 • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラ メータ, (132 ページ)を参照してください。 • maxSessionStartDate:オプション入力整数。 共有パラメータ, (132 ページ)を参照してくだ さい。 • minSessionStartDate:オプション入力整数。 共有パラメータ, (132 ページ)を参照してくだ さい。 • mp4Url:出力文字列。 セッションの mp4 リンク。 共有パラメータ, (132 ページ)を参照し てください。 • offset:オプション入力整数。 返される最初のレコード。 共有パラメータ, (132 ページ)を 参照してください。 • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単 位)。 共有パラメータ, (132 ページ)を参照してください。 • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参 照してください。 • participantStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パ ラメータ, (132 ページ)を参照してください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 110 セッション クエリー API getSessionsByTag • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を 参照してください。 • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • sessionId:出力文字列。 セッションのシステム生成識別子です。 共有パラメータ, (132 ペー ジ)を参照してください。 • sessionStartDate:必須入力整数。 共有パラメータ, (132 ページ)を参照してください。 • sessionState:出力文字列。 セッションのステート。 共有パラメータ, (132 ページ)を参照 してください。 • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照してく ださい。 • tagCreateDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータ, (132 ページ)を参照してください。 • tagOffset:addSessionTag のオプション整数。 このタグのセッション開始から経過した時間 (ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • tagType:出力文字列。 共有パラメータ, (132 ページ)を参照してください。 • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータ, (132 ページ)を参照してください。 • trackMediaType:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子です。 共有パラメー タ, (132 ページ)を参照してください。 • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータ, (132 ページ)を参照 してください。 • trackStartDate:出力整数。 共有パラメータ, (132 ページ)を参照してください。 • urls:出力 JSON オブジェクト。 共有パラメータ, (132 ページ)を参照してください。 • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータ, (132 ページ)を参照し てください。 例 例1 2012 年 7 月 26 日 20:45:40 GMT の時点で最後の 2 時間を対象に、タグが "mysampletag1" のセッ ションをすべて取得するには(18:45:40 から 20:45:40 まで): HTTPS GET: https://10.194.118.1:8440/ora/queryService/query/ Cisco MediaSense 開発者ガイド リリース 11.0(1) 111 セッション クエリー API 同時検索要求 getSessionsByTag?value=mysampletag1&maxSessionStartDate= 1343335540154 ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> 例2 2012 年 7 月 26 日 18:45:40 GMT と 2012 年 7 月 26 日 20:45:40 GMT(2 時間の時間枠)の間を対象 に、タグが "mysampletag1" のセッションから最初の 10 件を取得するには: HTTPS GET: https://10.194.118.1:8440/ora/queryService/query/ getSessionsByTag?value=mysampletag1&offset=0&limit= 10&minSessionStartDate=1343328340000&maxSessionStartDate= 1343335540154 ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> 同時検索要求 システム パフォーマンスに影響しないように、MediaSense はセッション クエリー API 要求に対 して次のルールを実行します。 • MediaSense システムは、15 の着信セッション クエリー API 要求を受け入れ、さらに要求 10 件の待機リストを作成します。 これら 25 件の要求を超える他のすべての要求は、システム が拒否します。 • セッション クエリー API 要求が送信後 2 分以内に MediaSense システムによって完了されな い場合、その要求はタイムアウトしてドロップされます。 その場合、要求は後で再送信する 必要があります。 スケーラブルなクエリーとスケーラブルでないクエリー getSessions API により、クライアントはセッションごとに収集されたメタデータのカスタム クエ リーを実行できます。 この API により、クライアントはセッションのメタデータ内にある複数の 重要なデータフィールドでのフィルタリングを可能にする、カスタムクエリーを形成できます。 また、これらのクエリーを組み合わせた柔軟な方法で、パワフルなメタデータ検索を実行できま す。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 112 セッション クエリー API スケーラブルでないクエリーの回避 (注) このカスタム クエリー機能は、正しく使用しないと、クエリー自体だけでなく MediaSense シ ステム全体のパフォーマンスに重大な影響を与えることがあります。 システム上のトラフィッ クや使用中の保持機能に応じて、大量のセッション記録を保存するのは通常行われることで す。 ただし、クエリーが大量のデータを処理する場合は完了までに数分かかる場合がありま す。 また、新しい記録とメタデータの処理に使用するシステム上のリソースに影響する可能 性があります。同時に実行される他の大きなクエリーについては言うまでもありません。 た とえば、2 つの同時クエリーの両方が実行のために大量の一時データベース領域を必要とする 場合、 そのうちの 1 つが容量不足でエラーとなる可能性があり、どちらがエラーになるかに ついての保証はありません。 この問題を回避するため、クライアントはスケーラブル なクエリーを形成することが重要です。 スケーラブル クエリーとは、データベースにどの程度データがあるかに関係なく、パフォーマン スが一定となるクエリーです。 スケーラブルなクエリーには、「開始日時が本日の 4 ~ 5 時の間 であるセッションをすべて検索する」などがあります。 データベース内にどれだけ多くのセッ ションが存在する場合でも、本日の 4 ~ 5 時の間のセッション数は、かなり安定して少ないまま です。スケーラブルでないクエリーには「セッションをすべて検索する」などがあります。戻さ れるセッション数は、データベース内のセッション数に比例する可能性があります。 大量のセッ ションが保存されている場合、結果は膨大な数になります。 そのため完了するまでに相当な時間 がかかり、MediaSense システムの他の機能が必要とするリソースに影響を及ぼします。 該当するラッパー API の minSessionStartDate および maxSessionStartDate パラメータを使用するこ とによって、膨大な数の結果を返すクエリーからシステムを保護できます。 これらのパラメータ の具体的使用方法については、該当するセッション クエリー API を参照してください。 詳細については、スケーラブルでないクエリーの回避 , (113 ページ)を参照してください。 スケーラブルでないクエリーの回避 このカスタム クエリー機能は、正しく使用しないと、クエリー自体だけでなく MediaSense システ ム全体のパフォーマンスに重大な影響を与えることがあります。これは、システム上のトラフィッ クや使用中の保持機能に応じて、大量のセッション記録を保存することが可能であるためです。 このシステムパフォーマンスは通常のものです。ただし、クエリーが大量のデータを処理する場 合は完了までに数分かかる場合があります。 また、新しい記録とメタデータの処理に使用するシ ステム上のリソースに影響する可能性もあります。 この問題を回避するため、クライアントはスケーラブルクエリーを形成する必要があります。ス ケーラブル クエリーとは、データベースにどの程度データがあるかに関係なく、パフォーマンス が一定となるクエリーです。 スケーラブルなクエリーには、「開始日時が本日の 4 ~ 5 時の間で あるセッションをすべて検索する」などがあります。 データベース内にどれだけ多くのセッショ ンが存在する場合でも、本日の 4 ~ 5 時の間のセッション数は、かなり安定して少ないままです。 スケーラブルでないクエリーには「セッションをすべて検索する」などがあります。 戻される セッション数は、データベース内のセッション数に比例する可能性があります。 大量のセッショ ンが保存されている場合、結果は膨大な数になります。 そのため完了するまでに相当な時間がか かり、MediaSense システムの他の機能が必要とするリソースに影響を及ぼします。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 113 セッション クエリー API スケーラブルでないクエリーの回避 getSessions API で「すべてのセッションを検索する」クエリーを発行する直接的な方法はありま せんが、ほぼ同じ結果を得られるカスタムクエリーを形成することはできます。たとえば、すべ てのセッションにメディア タイプが「オーディオ」のトラックが少なくとも 1 つあるので、「メ ディア タイプがオーディオであるすべてのセッションを検索する」というクエリーを送信する可 能性があります。 このクエリーは防ぐことができず、システムのパフォーマンスに重大な影響を 及ぼす原因になる可能性があります。メディアタイプの特定の値(「オーディオ」)が指定され ていますが、これで十分に制限されるわけではありません。 これは、すべてではなくてもほとん どのセッションに「オーディオ」のメディアタイプがあるからです。大量のセッションがデータ ベースに保存されている場合、クエリーはこれらすべてのセッションを処理する必要があります。 このクエリーはスケーラブルでありません。 (注) 小さいページ サイズの指定にページ番号の使用は役立ちません。 ページは、完全な結果のセッ トが処理された後に取得されますが、それでは遅すぎます。 処理されるセッション数を減らして、クエリーの範囲を小さくするのが優れた方法です。 この場 合、クライアントが実際に必要とするのは、発生した過去数回のセッションです。 セッション数 を削減するには「開始日時が 1 時間以上前のすべてのセッションを検索する」のようなクエリー にします。これにより、返される結果がより少なくなります。さらに重要なこととして、データ ベース内のセッション数に関係なく、ほぼ同じセッション数を返します。 このクエリーはスケー ラブルです。 最新の10セッションのみが必要な場合、クライアントは開始日時フィールドの結果をソートする 修飾子を追加して、最後の 10 行を表示するページ番号を指定することもできます。 基本の結果 セットが小さいため、この修飾子の追加は手間のかかる操作ではありません。 メディアタイプをフィルタすることは、常に問題をもたらすわけではありません。たとえば、次 のクエリー「開始日時が前の火曜日で、メディア タイプがビデオであるすべてのセッションを検 索する」はスケーラブルです。まず、時間枠の設定によって結果セット全体を絞り込みます。こ のクエリーは、メディア タイプが「ビデオ」となっているものだけを探すため、小さいセッショ ンのセットのみを検索することになります。 この場合、メディア タイプ フィールドはスケーラ ブル フィルタと統合されるため、スケーラビリティに影響を与えません。 メタデータの各フィールドでは、スケーラビリティの程度を変えてセッションをフィルタするこ とができます。 参考として次の表をご覧ください。 表 1:フィールド名および相対的スケーラビリティ フィールド名 相対的ス ケーラビ リティ 注意 sessionId スケーラ ブル この値は一意です。 特定の ID を持つセッションについてクエ リーを行うと、結果は 1 つだけ得られます。 sessionStartDate スケーラ ブル 使用には注意が必要です。 不当に大きなウィンドウ サイズを指 定すると、データベース内のセッションの大部分が結果として返 されることになります。 時間枠は最大限に絞ってください。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 114 セッション クエリー API スケーラブルでないクエリーの回避 フィールド名 相対的ス ケーラビ リティ 注意 maxSessionStartDate スケーラ ブル minSessionStartDate と併用すると、このパラメータで時間枠の上 限を指定することができます。 結果の数を制限するために、適 切なサイズのウィンドウを使用してください。 このパラメータ がない場合、minSessionStartDate が必要となり、時間枠は 2 時間 であると見なされます。 minSessionStartDate スケーラ ブル maxSessionStartDate と併用すると、このパラメータで時間枠の下 限を指定することができます。 結果の数を制限するために、適 切なサイズのウィンドウを使用してください。 このパラメータ がない場合、maxSessionStartDate が必要となり、時間枠は 2 時間 であると見なされます。 xrefCi スケーラ ブル この値は一意で、サイクルにしばらく時間がかかります。 特定 の xrefCi 値を使用してフィルタリングを行った場合は、わずかな 数のセッションしか取得しません。 pruned ほとんど スケーラ ブルでな い これはブール フィールドです。 「false」を選択すると、データ ベースの大部分のセッションを取得する可能性があります。 「true」を選択すると、結果のセットは小さくスケーラブルにな ります。 tagType ほとんど スケーラ ブルでな い わずか 2 つから 5 つの値です。 mediaType の「Audio」や sessionState の「Completed」などの値の場合、戻されるセッショ ン数はデータベース内のセッション数に比例します。 その他の 値も小さな結果セットを返すかもしれませんが、それもデータ ベース内のセッション数に比例します。 tagName スケーラ ブルでな い タグを使用すると、同じタグ名が多数のセッションで繰り返し使 用されていることがあります。 タグを使用するかぎり、返され た結果のうち、特定のタグを含んでいるものの数は、データベー ス内のセッション数に比例する可能性があります。 deviceRef スケーラ ブルでな い deviceRef フィールドにある内線番号は、多くのセッションでも 出現する傾向があります。 頻繁に使用される数は、多くのセッ ションと関連付けられている傾向があります。 この数は、デー タベース内のセッション数に比例する可能性があります。 sessionDuration スケーラ ブルでな い 継続時間は多少違っても、「継続時間が 2 分未満のすべてのセッ ションを検索する」のように単純なクエリーは、データベース内 のセッションの大部分を返すことになります。 sessionState mediaType Cisco MediaSense 開発者ガイド リリース 11.0(1) 115 セッション クエリー API スケーラブルでないクエリーの回避 フィールド名 相対的ス ケーラビ リティ 注意 nodeIPAddress partition スケーラ ブルでな い パーティション数またはノード数は比較的少ないものです。 そ のため、特定のパーティションやサーバ(ノード)と関連付けら れているセッションは、データベース内のセッション数に比例し たセッション数を返します。 フィールドとパラメータのコネクタがスケーラビリティに影響を与えます。 次の表を参照してく ださい。 表 2:コネクタおよび相対的スケーラビリティ コネクタ 相対的ス 注意 ケーラビ リティ および スケーラ このコネクタはフィルタのスコープを絞り込むため、通常は結果 ブル セットがより小さくなります。 または スケーラ このコネクタはフィルタのスコープを広げるため、結果セットが ブルでな より大きくなります。 これは、スケーラブルな演算子を使用し い たスケーラブル フィールドの接続フィルタに限定して使用する 必要があります。 クエリー フィルタを定義する場合は、スケーラブル フィルタを必ず使用してください。 スケー ラブルでないフィールドでフィルタリングする必要がある場合は、常に「and」のコネクタを使用 して、結果セットの絞り込みを行うスケーラブル フィルタに接続します。 以下は、クライアント アプリケーションがシステム パフォーマンスに影響を及ぼすことなく MediaSense API を効果的に使用する方法のいくつかの例です。 セッションの進行状況を追跡するため、クライアント アプリケーションは、MediaSense のクエ リーとイベントの両方の機能を活用することがあります。 クライアントは最初に希望するセッ ションの状態を収集する必要があります。これは、最初のクエリー、たとえば「最終日に開始さ れた、内線番号 nnnn を含む、有効なすべてのセッションを検索する」によって行われます。 こ のクエリーにより、セッション数は最終日に開始されたセッションのみに限定され、クエリーは スケーラブルになります。 次に、指定された内線番号を含む有効なセッションはわずかしかない ため、すぐに見つけ出せます。 このとき、クライアントはアプリケーション イベントをサブスクライブする必要があります。 セッションの状態が変わるにしたがい、この方法によってクライアントは進行状況を追跡できま す。 これは、前述のシナリオと同様です。アクティブセッションの現在のセットを設定する最初のク エリーを作成します。たとえば「最終日に開始された、有効なすべてのセッションを検索する」 Cisco MediaSense 開発者ガイド リリース 11.0(1) 116 セッション クエリー API スケーラブルでないクエリーの回避 などです。データベース内のすべてのセッションを検索するのに、システムリソースを使い過ぎ ずに、アクティブなセッションをすべて検索するには 1 日で十分です。 クライアントは、イベントメカニズムを使用して、アクティブセッションの進行状況を監視でき ます。 新しいセッションが作成されると、イベントはこれを追跡できるようにクライアントに通 知します。同様に、セッションを閉じた場合、追跡されたセッションのクライアントリストから 削除することができます。重要な点は、クライアントが初期設定のために主なデータベースクエ リーを実行する必要があるということです。それによって、システムリソースへの影響が最小限 に抑えられます。 記録優先度の保存モードを使用するようにシステムが設定されていると、保存されている期間に 基づいてセッションがプルーニングされます。 ただし、それらのセッションと関連づけられたメ タデータは削除されません。これは削除する前に管理者が確認できるように保存されます。予測 されるシーケンスは、クライアント アプリケーションが「プルーニング済み」セッションのリス トを要求します。その後、これらのセッションから該当のメタデータを表示します。最後に、プ ルーニングされたセッションの中から、削除するものを 1 つ以上選択することができます。 次のようなクエリーによって、最初の一歩を踏み出すことができます。「直近 2 日間に開始され た、プルーニングされた状態が「true」であるすべてのセッションを検索する」。 また、クエリー をスケーラブルにするために妥当な時間枠を使用します。 プルーニングは経過時間に基づくメカ ニズムを使用するため、少なくとも昨日よりも前の日付を参照してください。 これを毎日行わな い場合、時間枠をほぼ 1 日に制限することもできます。 これは、サイトのトラフィックに依存し ます。 一度に約 100 件のセッションを返すクエリーは選択したくないものです。 これには何らか のテストが必要となる場合があります。 クライアントは、前回この操作を実行した最後の日までさかのぼって検索するまで、前日につい て 1 日ずつこの操作を再実行する必要があります。 クライアントは、ユーザにそのリストを示 し、セッションを削除してよいか確認する場合もあります(同様に「delete all」オプションも提供 します)。 クライアントは、API の deleteSessions メソッドを使用して、選択したセッションを削 除するジョブを送信します。 deleteSessions メソッドは各セッションの削除を連続的に行うため、 この場合はスケーラビリティの問題がありません。 削除の進行状況を監視するために、クライアントはイベント メカニズムを使用します。 各セッ ションが削除されると、イベント タイプが「deleted」のセッション イベントが生成されます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 117 セッション クエリー API スケーラブルでないクエリーの回避 Cisco MediaSense 開発者ガイド リリース 11.0(1) 118 第 9 章 System Information • はじめに, 119 ページ • getAPIVersion, 119 ページ • getSystemTime, 120 ページ • getSessionsResponseSchema, 121 ページ はじめに これらの API を使用し、MediaSense API バージョン情報を取得します。 この API を使用するため にサインインする必要はありません。 getAPIVersion API は MediaSense 展開で実行されている API の浮動小数点バージョン番号を返します。 getAPIVersion この API を使用し、システムで実行されている API の現在のバージョンを取得します。 バージョ ン番号は 1.0 から始まります。製品バージョンには関連しません。 バージョン番号は x.y.z ではな く、x.y です(たとえば、1.0.1 ではなく、1.0 です)。 URI https://<host>:<port>/ora/infoService/info/getAPIVersion HTTP メソッド GET パラメータ apiVersion:出力文字列。 現在システムで動作している API のバージョン番号。 このバージョン は文字列として返されますが、浮動小数点数でもあります。 比較的小さな数値は、古いバージョ ンを示します。 比較的大きな数値は、新しいバージョンを示します。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 119 System Information getSystemTime 例 HTTPS GET: https://10.10.10.10:8440/ora/infoService/info/ getAPIVersion 応答: { "responseMessage": "Success: Your request was successfully completed.", "responseCode": 2000, "responseBody": { "apiVersion": "1.4" } } getSystemTime この API を使用し、システムの現在の時刻を取得します。 この時間は 1970 年 1 月 1 日 GMT 以降 の秒数で返されます。 すべての MediaSense サーバが NTP クライアントとして設定されるため、サーバ間の違いが少な いことが求められます。 そのため、システム時刻が 1 つだけ返されます。この時間が MediaSense クラスタ内のすべてのサーバに適用されます。 URI https://<host>:<port>/ora/infoService/info/getSystemTime HTTP メソッド GET パラメータ currentSystemTime:出力整数。 要求が処理されたシステム時刻(1970 年 1 月 1 日 GMT からの経 過時間をミリ秒単位で表示)。 例 HTTPS GET: https://10.194.118.72:8440/ora/infoService/info/ getSystemTime ヘッダー: JSESSIONID: <the jsessionId received from a signIn request> 応答: { "responseMessage": "Success: Your request was successfully completed.", Cisco MediaSense 開発者ガイド リリース 11.0(1) 120 System Information getSessionsResponseSchema "responseCode": 2000, "responseBody": { "currentSystemTime": "1301145648258" } } getSessionsResponseSchema この API を使用し、システムで実行されている getSessions 応答スキーマの現在のバージョンを取 得します。 (注) スキーマの「required」タグは、親プロパティが実際の応答に入っていなければならないこと を意味します。 「required」が指定されていない場合、または false に設定されている場合、そ のプロパティは応答で返されないことがあります。 MediaSense は json スキーマのドラフトとは少し異なる方法で「searchable」を使用します。ノー ドは、可能な操作のアレイであるオブジェクトから構成されます。 「searchable」値が存在す る場合、それに該当するプロパティを検索できます。 存在しないか、false に設定されている 場合、そのプロパティは検索できません。 アレイはプロパティ(equals、greaterThan、lessThan、between など)を定義します。このプロ パティでオブジェクトを検索できます。 between プロパティには lowerBound 値と upperBound 値があります。 URI https://<host>:<port>/ora/infoService/info/getSessionsResponseSchema HTTP メソッド GET パラメータ なし 例 HTTPS GET: https://10.10.10.10:8440/ora/infoService/info/ getSessionsResponseSchema 応答: { "type":"object", "$schema": "http://json-schema.org/draft-03/schema", "apiVersion": "string representation of api version", "properties": {"responseCode": {"type":"number", Cisco MediaSense 開発者ガイド リリース 11.0(1) 121 System Information getSessionsResponseSchema "required":true }, "responseMessage": {"type":"string", "required":true } "responseBody": {"type":"object", "required":false "properties": {"sessions": {"type":"array", "required":true, "items": {"type":"object", "required":true, "properties": {"callControllerIP": {"type":"string", "required":true }, "callControllerType": {"type":"string", "required":true }, "ccid": {"type":"string", "required":false, "searchable": {"operations": ["equals"] } }, "sessionDuration": {"type":"number", "required":false, "minimum":0, "searchable": {"operations": ["equals", "lessThan", "greaterThan"] } }, "sessionId": {"type":"string", "required":true }, "sessionStartDate": {"type":"number", "required":true, "minimum":0, "searchable": {"operations": ["between"] } }, "sessionState": {"description":"string values are ACTIVE, CLOSED_NORMAL, DELETED, and CLOSED_ERROR", "type":"string", "required":true, "searchable": {"operations": ["equals"] } }, "tags": {"type":"array", "required":false, "items": {"type":"object", "required":true, "properties": {"tagCreateDate": {"type":"number", "required":true }, "tagName": {"type":"string", "required":true, "searchable": {"operations": ["equals", "contains", "startsWith", "endsWith"] } }, "tagOffset": {"type":"number", "required":false }, Cisco MediaSense 開発者ガイド リリース 11.0(1) 122 System Information getSessionsResponseSchema "tagType": {"description":"string values are SYSTEM_DEFINED and USER_DEFINED", "type":"string", "required"true, "searchable": {"operations": ["equals"] } } } }, "tracks": {"type":"array", "required":true, "items": {"type":"object", "required":true, "properties": {"codec": {"type":"string", "required":true }, "downloadUrl": {"type":"string", "required":false }, "participants": {"type":"array", "required":true, "items": {"type":"object", "required":true, "properties": {"deviceId": {"type":"string", "required":true }, "deviceRef": {"type":"string", "required":true, "searchable": {"operations": ["equals", "contains", "startsWith", "endsWith", "between"] } }, "isConference": {"type":"boolean", "required":true }, "participantDuration": {"type":"number", "required":false }, "participantStartDate": {"type":"number", "required":true }, "xRefCi": {"type":"string", "required":false, "searchable": {"operations": ["equals"] } } } } }, "tags": {"type":"array", "required":false, "items": {"type":"object", "required":true, "properties": {"tagCreateDate": {"type":"number", "required":true }, "tagName": {"type":"string", "required":true }, Cisco MediaSense 開発者ガイド リリース 11.0(1) 123 System Information getSessionsResponseSchema "tagOffset": {"type":"number", "required":false }, "tagType": {"description":"string values are SYSTEM_DEFINED and USER_DEFINED", "type":"string", "required":true, } } } }, "trackDuration": {"type":"number", "required":false }, "trackMediaType": {"description":"string values are AUDIO and VIDEO", "required":true, "type":"string" }, "trackNumber": {"type":"number", "required"true }, "trackStartDate": {"type":"number", "required":true } } } }, "urls": {"type":"object", "required":false, "properties": {"mp4Url": {"type":"string", "required":false }, "rtspUrl": {"type":"string", "required":false }, "wavUrl": {"type":"string", "required":false } } } } } } } } } } Cisco MediaSense 開発者ガイド リリース 11.0(1) 124 第 10 章 ユーザ認証 API • はじめに, 125 ページ • signIn, 126 ページ • signOut, 128 ページ はじめに MediaSense を利用すると、サードパーティの開発者は、サードパーティ製アプリケーションにそ れ自体の認証を許可するアプリケーション ユーザを構成できます。 MediaSense API へのすべての アクセスで認証が必要です。アプリケーションの最初の手順はそれ自体を認証することです。認 証が成功すると、JSESSION トークンが返されます。 このトークンは、アプリケーションがサイ ンアウトするまで、すべての後続要求で渡す必要があります。 JSESSIONID も signOut API 要求で 必要です。 サードパーティ製のアプリケーションがプライマリ サーバとセカンダリ サーバの両方に API 要求 を発行するように設計されていれる場合、各ノードに個別にサインインする必要があり、対応す る JSESSIONID と要求を返したサーバを常に使用します。 JSESSIONID は、ユーザがログアウトしたときか、または非アクティブになってから 30 分後(い ずれか早いほう)に期限切れになります。 要求がブラウザから発信される場合、そのブラウザが自動的にクライアントのセッションを処理 します。 (注) クライアントがサードパーティ製クライアントにログインし、MediaSense プラットフォームを 使用するとき、サードパーティ製ソフトウェアは、そのソフトウェア アプリケーションが指 図する認証を実行する必要があります。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 125 ユーザ認証 API signIn signIn ユーザ認証とログインにこの API を使用します。API は、特定のユーザ名とパスワードの認証を 確認します。 ログインが正常に完了すると、JSESSIONID が HTTP 応答ヘッダーの Cookie として 返されます。 この JSESSIONID は認証のトークンとして機能し、後続のすべての要求で渡す必要 があります。 ログインに成功すると、API は、API の JSON 応答に含まれている、管理者が設定 したパラメータのコンフィギュレーションデータベースを確認します。管理者によって設定され ていないパラメータは、JSON 応答から除外されます。 URI https://<host>:<port>/ora/authenticationService/authentication/signIn HTTP メソッド POST パラメータ(Parameters) • archiveSearchEnabled:ブール。 値が true の場合、MediaSense Search and Play でアーカイブ検 索が有効になっています。 • authenticationProviders:文字列のオプション入力アレイ。 ユーザ認証に使用するサービスの 識別子。 列挙値は次のとおりです。 • AXL • Finesse このパラメータが指定されていない場合、システムは上記の順序でプロバイダーと認証を試 み、最初の認証が成功すると戻ります。 • firstNameDisplayConfig:ブール。 値が true の場合、詳細検索のフィールドとして名が表示さ れます。これは MediaSense Search and Play のエージェント情報の一部として表示されます。 • inbrowserPlaybackEnabled:ブール。 MediaSense Search and Play でブラウザ内再生が有効に なっています。 • lastNameDisplayConfig:ブール。 値が true の場合、詳細検索のフィールドとして姓が表示さ れます。これは MediaSense Search and Play のエージェント情報の一部として表示されます。 • lineNameDisplayConfig:ブール。 値が true の場合、詳細検索のフィールドとして Unified Communications Manager の回線名が表示されます。これは MediaSense Search and Play のエー ジェント情報の一部として表示されます。 • loginIdDisplayConfig:ブール。 値が true の場合、詳細検索のフィールドとしてログイン ID が表示されます。これは MediaSense Search and Play のエージェント情報の一部として表示さ れます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 126 ユーザ認証 API signIn • loginNameDisplayConfig:ブール。 値が true の場合、詳細検索のフィールドとしてログイン 名が表示されます。これは MediaSense Search and Play のエージェント情報の一部として表示 されます。 • password:必須入力文字列。 MediaSense ユーザとしてプロビジョニングされる Unified Communications Manager ユーザのパスワード。 すべての Unified Communications Manager パ スワード制限が適用されます。 Unified Border Element が SSH 認証を使用するため、MediaSense はすべての MediaSense ユーザに対し Unified Communications Manager 認証を使用します。 大 文字と小文字が区別されます。 • username:必須入力文字列。 MediaSense ユーザとしてプロビジョニングされる Unified Communications Manager ユーザのユーザ名。 MediaSense が username(大文字と小文字の区別 なし)を使用するのに対し、Unified Communications Manager は「User ID」を使用します。 すべての Unified Communications Manager ユーザ ID の制限が適用されます。 Unified Border Element が SSH 認証を使用するため、MediaSense はすべての MediaSense ユーザに対し Unified Communication Manager 認証を使用します。 (注) API ユーザのパスワードが Unified Communications Manager で変更されたとき、MediaSense で その変更が反映されるまで数分かかる場合があります。 成功応答は、cookie 内で JSESSIONID も返します。 例 例1 ポート 8440 でサーバ 10.194.118.1 にユーザ名「myUser」とパスワード「cisco」でユーザをログイ ンするには: 認証プロバイダーが指定されていないため、この要求は、AXL と Finesse を含む、考えられるす べての構成済み認証プロバイダーに対して認証を試みます。 HTTPS POST: https://10.194.118.1:8440/ora/authenticationService/authentication/signIn ヘッダー: Content-Type: application/json ボディ: { "requestParameters": { "username":"myUser", "password":"cisco" } } 例2 ポート 8440 でサーバ 10.194.118.1 にユーザ名「myUser」とパスワード「cisco」で Finesse スーパー バイザをサインインするには: Cisco MediaSense 開発者ガイド リリース 11.0(1) 127 ユーザ認証 API signOut HTTPS POST: https://10.194.118.1:8440/ora/authenticationService/authentication/signIn ヘッダー: Content-Type: application/json 本体 { "requestParameters": { "username":"myUser", "password":"cisco" }, "authenticationProviders": ["FINESSE"] } 例 3:応答パラメータ { "responseMessage": "Success: Your request was successfully completed.", "responseCode": 2000, "inbrowserPlaybackEnabled": "true", "lineNameDisplayConfig": "true", "archiveSearchEnabled": "true", "agentDataDisplayConfig": { "loginNameDisplayConfig": "true", "loginIdDisplayConfig": "true", "lastNameDisplayConfig": "true", "firstNameDisplayConfig": "true" } } signOut この API はユーザを MediaSense からログアウトするために使用されます。 ユーザはサインアウ トするために JSESSIONID 以外のパラメータを必要としません。 URI https://<host>:<port>/ora/authenticationService/authentication/signOut HTTP メソッド POST 要求パラメータ なし 例 前にサインインしたユーザをサインアウトするには: HTTPS POST: https://10.194.118.1:8440/ora/authenticationService/ authentication/signOut Cisco MediaSense 開発者ガイド リリース 11.0(1) 128 ユーザ認証 API signOut ヘッダー: JSESSIONID: <the jsessionId received from a previous signIn request> Content-Type: application/json JSESSIONID で識別されたユーザがログアウトされます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 129 ユーザ認証 API signOut Cisco MediaSense 開発者ガイド リリース 11.0(1) 130 第 11 章 共有パラメータ • はじめに, 131 ページ • API すべてに共通のパラメータ, 131 ページ • 共有パラメータ, 132 ページ はじめに MediaSense API では、ターム パラメータを使用して、項目を JSON オブジェクトの名前と値で説 明します。これらの項目は、各種プログラミングインターフェイスのさまざまなタームによって 参照されます。 パラメータは次のように分類されます。 • 必須の入力パラメータは必要なユーザ定義の値であり、API またはイベントが発行されると ユーザがシステムに提供します。 • 任意の入力パラメータはユーザ定義の値であり、API またはイベントが発行されるとユーザ がシステムに提供する場合があります。 これらのパラメータ値は、ユーザが必要と判断した ときにだけ提供されます。 • 出力パラメータは、システムによって生成される、API またはイベントを発行した結果の値 です。 これらの値は、入力パラメータ値とそれを使用する API またはイベントに従って計算 されます。 API すべてに共通のパラメータ 以下は、すべての API で共通のパラメータです。 detail • 出力文字列。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 131 共有パラメータ 共有パラメータ • 応答コードに関する情報を提供します。 JSESSIONID • 出力文字列と必須の入力文字列の両方。 • ヘッダー パラメータ。 • セッション識別子であり、後続の要求の認証手段として機能します。 • ユーザが明示的にログアウトした時点、または非アクティブになってから 30 分後(どちら か早い方)に期限切れになります。 responseCode • 出力整数。 • 対応するエラー コード。 responseMessage • 出力文字列。 • トラブルシューティングを目的とした responseCode の説明。 共有パラメータ byFieldName • オプション入力文字列。 • sortParameters に必須の入力文字列。 • 列挙値はこのパラメータを使用している API によって異なります。 callControllerIP • 出力文字列。 • callControllerType = Cisco-SIPGateway の場合、録音を開始したゲートウェイの IP アドレスで す。 • callControllerType = Cisco-Unified Communications Manager の場合、録音を開始した Unified Communications Manager デバイスの IP アドレスです。 • callControllerType = direct の場合、IOS の IP アドレスまたは MediaSense と通信する Unified Ccommunications Manager デバイスです。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 132 共有パラメータ 共有パラメータ callControllerType • 出力文字列。 • 列挙値(大文字と小文字が区別され、太字で識別) ◦ Cisco SIP Gateway(Unified Border Element からのコール)。 ◦ Cisco Unified Communications Manager(Unified Communications Manager から分岐され たコール)。 ◦ direct(MediaSense により開始されたダイレクト発信/受信コール)。 ◦ Cisco-Unified Communications Manager-Gateway(Unified Communications Manager の制 御下でゲートウェイから分岐されたコール) ccid • 出力文字列。 • getSessions を使用する場合のオプション入力文字列。 • getSessionsByCCID を使用する場合に必須の入力文字列。 • コール相関 ID。 • Unified Border Element Gateway から分岐されたコールに常に存在します。ただし、Unified Communications Manager の電話機から分岐されたコールには存在しない場合があります。 • 同じコールの一部となっている録音セッションを識別するために使用されます。 • Unified Border Element Gateway により提供される「シスコ guid」フィールドに対応するため、 ソリューションの他のコンポーネントからのコール情報に録音セッションを関連付けるため に使用することもできます。 コーデック • 出力文字列。 • トラックのコーデック。 • コーデックの SDP 定義からの標準の名前が含まれます。 (注) g.711 µ-law および a-law コーデックは、それぞれ「PCMU」および「PCMA」 として SDP で認識されます。 AAC-LD コーデックは、MP4A-LATM として認 識されます。 deviceId • 出力文字列。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 133 共有パラメータ 共有パラメータ • getSessions を使用する場合のオプション入力文字列。 • デバイスの一意の識別子。 deviceRef • 出力文字列。 • 各デバイスの電話番号。 • コールの一方の当事者が会議ブリッジの場合、deviceRef は Unified Border Element において 「匿名」、BIB フォーキングにおいて数字の文字列が続く「b」を示します。 downloadUrl • 出力文字列。 • RAW 形式で録音をダウンロードするために使用される URL。 • 次の 3 つの条件すべてを満たす場合にのみ存在します。 ◦ API sessionState = CLOSED_NORMAL または eventAction = ENDED であること ◦ track mediaType = AUDIO であること ◦ trackSize > 0 であること。downloadUrl パラメータは、ACTIVE、DELETED、または CLOSED_ERROR 状態の他のセッションでは使用できません。 downloadUrl パラメータ は、クライアントにより不透明な文字列として処理される必要があります。 クライアン ト コードは完全に形成された HTTPS URL を含むことを前提としますが、それ以外では 形式や構造に依存しません。 クライアントは URL パラメータ「?timeout=n」を追加で きます。これにより、ダウンロードを中断する前に MediaSense が少なくとも n 秒間ソ ケットへの書き込みを試行する必要があることを示します。 デフォルト値は n = 5 秒間 です。 errorCode • 出力整数。 • 特定のセッションのレポートにエラーがある場合に表示されます。 errorDetail • 出力文字列。 • セッション状態が CLOSED_ERROR のとき、[errorDetail] フィールドに次の値のいずれかが 表示されます。 ◦ MEDIA_SERVER_ERROR:コール制御サーバは、開始セッションまたは終了セッショ ン要求のためのメディア(録音)サーバからのエラー応答を受信します。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 134 共有パラメータ 共有パラメータ ◦ MEDIA_SERVER_TIMEOUT:コール制御サーバは、開始セッションまたは終了セッショ ン要求のためのメディア(録音)サーバからの応答の待機をタイムアウトします。 ◦ SIP_SIGNALING_ERROR:コール制御サーバは SIP シグナリング エラーを検出します。 たとえば、ACK の欠落などがあります。 ◦ SIP_CANCEL_RECEIVED:CANCEL または準備ができていない BYE などのコール制御 サーバにより録音がキャンセルされました。 ◦ NO_MEDIA_RECEIVED:セッションは正常に終了しましたが、すべてのトラックのサ イズがゼロです。 ◦ ORPHANED:セッションが消えずに残っています。 これは、サービスを再開した後に セッションを強制的に終了した場合に発生することがあります。 ◦ UNSUPPORTED_CODEC:コーデックがサポートされていません。 eventAction • 出力文字列。 • eventAction(sessionEvent)パラメータは、新しい録音セッションの開始、または既存の録音 セッションの更新、削除、または切り取りを通知します。 列挙値: ◦ STARTED ◦ UPDATED ◦ ENDED ◦ DELETED ◦ PRUNED • eventAction(storageThresholdEvent)パラメータは、ストレージ ディスク容量が指定したしき い値に達するたびに送信されます。 • eventAction(tagEvent)パラメータは、新しいタグの追加、または既存のタグの更新や削除を 通知します。 列挙値: ◦ ADDED ◦ DELETED eventType • 出力文字列。 • 対応する MediaSense API にトリガーされるイベント。 • 列挙値: ◦ SESSION_EVENT ◦ STORAGE_THRESHOLD_EVENT Cisco MediaSense 開発者ガイド リリース 11.0(1) 135 共有パラメータ 共有パラメータ ◦ TAG_EVENT fieldConditions • 文字列の必須入力アレイ。 • 呼び出されたフィールドに指定された条件。 • フィールド名に対して複数の条件を指定します。 • fieldOperator、fieldValues、および fieldConnector の詳細が含まれます。 • このパラメータを使用する API によって列挙値は異なります。 fieldConnector • アレイ内に 1 個のフィールドがある場合のオプション入力文字列。 • アレイ内に 2 個以上のフィールドがある場合に必要な入力文字列。 • 継続的条件により条件を論理接続するために使用します。 • 列挙値: ◦ かつ ◦ または fieldName • 必須の入力文字列。 • 呼び出されたフィールドの名前。 • このパラメータを使用する API によって列挙値は異なります。 fieldOperator • 必須の入力文字列。 • [Each fieldOperator] セクションの [Values Expected] において指定された論理演算子の条件。 • 各演算子のオペランドの許容数: ◦ equals = 1 ◦ contains = 1 ◦ startsWith = 1 ◦ endsWith = 1 ◦ lessThan = 1 ◦ greaterThan = 1 Cisco MediaSense 開発者ガイド リリース 11.0(1) 136 共有パラメータ 共有パラメータ ◦ between = 2(境界値を含む) ◦ 例:11 ~ 14 には、11、12、13、および 14 が含まれます。 特別な否定演算子(! )* を AND および OR 以外のすべての演算子に追加して、それらの意味を否定できます。 例: • 「equals」は「!equals」により否定されます。 • 「between」は「!between」により否定され、A ~ B の外側にあるすべて値を意味 します。 fieldValues • 文字列の必須入力アレイ。 • このアレイに渡される値の数は、[Each fieldOperator] セクションの [Values Expected] で指定さ れた fieldOperator によって異なります。 • 正規表現は使用できません(* や + など)。 • このパラメータを使用する API によって列挙値は異なります。 firstName • 出力文字列。 • Finesse エージェント デスクトップにログインしているエージェントの名。 forwardedEvent • イベントが MediaSense サーバでローカルに生成された場合、および転送が無効の場合は省略 されます。 • MediaSense 導入では、デフォルトで無効になっています。 • 列挙値: ◦ TRUE = 有効 ◦ FALSE(デフォルト) = 無効 httpUrl • リリース 10 では廃止になり、mp4Url が導入されます。 • 出力文字列。 • セッションの HTTPS リンク。 • セッション状態が CLOSED_NORMAL の場合にのみ URL が存在します。 • 最大文字数は 512 文字です。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 137 共有パラメータ 共有パラメータ (注) 変換された mp4 と wav ファイルは、作成後または最終変更後 2 時間以内にシ ステムにより削除されます。 isConference • 出力ブール。 • 参加者オブジェクト内で使用されます。 • 参加者が会議ブリッジまたは個々のデバイスであるかどうかを示します。 (注) 特定のケースでは、1 人の参加者が会議ブリッジを代表することもあります。 jobDuration • getJobById または getJobResult を使用する場合の出力整数。 • getJobs を使用する場合のオプション入力整数。 • jobStartTime からこのジョブが終了するまでの時間(ミリ秒単位)。 jobId • getJobs を使用する場合のオプション入力文字列。 • 他のすべての API またはイベントを使用する場合の出力文字列。 • ジョブ管理フレームワークにより作成および管理されるジョブ。 • システムが生成。 • ジョブ管理およびジョブ クエリー API とともに使用します。 jobState • getJobById または getJobResult を使用する場合の出力文字列。 • getJobs を使用する場合のオプション入力文字列。 • ジョブ ステータスを取得した後、ポーリング時の値に基づいて適切な値がデータベースから 取得されます。 jobs • ジョブ オブジェクトの出力アレイ。 • ジョブのリスト。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 138 共有パラメータ 共有パラメータ • 各ジョブの詳細。 jobStartTime • getJobById または getJobResult を使用する場合の出力整数。 • getJobs を使用する場合のオプション入力整数。 • 1970 年 1 月 1 日 GMT からジョブの開始までに経過した時間(ミリ秒単位)。 • ジョブの実行が開始される時刻。 jobType • getJobById または getJobResult を使用する場合の出力文字列。 • getJobs を使用する場合のオプション入力文字列。 • ジョブの目的。 • 大文字と小文字を区別します。 • 列挙値は BULK_DELETE_SESSIONS です。 lastName • 出力文字列。 • Finesse エージェント デスクトップにログインしているエージェントの姓。 limit • 必須の入力整数。 • 返されるレコード数(指定したオフセットから数えます)。 • pageParameters 内で必須です。 • オフセット パラメータと併用する必要があります。 • デフォルトでは、最初の 100 件のレコードを返します。 • ゼロ(0)より大きな正の値。 • このパラメータの最大値は 1000 です。 lineDisplayName • 出力文字列。 • 電話機に表示される発信側の名前。Cisco Unified Call Manager Administration の [Directory Number Configuration] ウィンドウの [Display(Caller ID)] フィールドに入力されます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 139 共有パラメータ 共有パラメータ loginId • 出力文字列。 • Finesse エージェント デスクトップにログインしているエージェントのログイン ID。 loginIdDomain • 出力文字列。 • Finesse エージェント デスクトップにログインしているエージェントのログイン ID のドメイ ン。 loginName • 出力文字列。 • Finesse エージェント デスクトップにログインしているエージェントのログイン名。 maxSessionStartDate • オプション入力整数。 • minSessionStartDate に固有の値がない場合に必須の入力整数です。 • 1970 年 1 月 1 日 GMT からセッション録音の開始まで、より正確にはこのセッションの最初 のトラックが録音を開始するまでに経過した時間(ミリ秒単位)。 • minSessionStartDate または maxSessionStartDate が欠落している場合、その方向に 2 時間と見 なされます。 mediaType • 出力文字列と必須入力文字列。 • 作成中のメディアのタイプを示します。 • 大文字と小文字を区別します。 • 列挙値は次のとおりです。 ◦ AUDIO ◦ VIDEO mediaStreams • メディア タイプの必須入力アレイ。 • 作成中のメディア ストリーム。 • 各ストリームはメディア タイプです。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 140 共有パラメータ 共有パラメータ • mediaStreams はメディア タイプのアレイです。 • 録音には、少なくとも 1 個のメディア ストリームが必要です。 • アレイは順序付けされていません。 minSessionStartDate • オプション入力整数。 • 1970 年 1 月 1 日 GMT からセッション録音の開始まで、より正確にはこのセッションの最初 のトラックが録音を開始するまでに経過した時間(ミリ秒単位)。 • minSessionStartDate または maxSessionStartDate が欠落している場合、その方向に 2 時間と見 なされます。 mp4Url • 出力文字列。 • セッションの mp4 リンク。 • 最大文字数は 512 文字です。 • mp4Url は、セッション状態が CLOSED_NORMAL の場合のみ存在し、次の HTTPS 応答コー ドを返すことがあります。 ◦ 200 OK ◦ 404 Not Found ◦ 500 Internal Server Error ◦ 503 Service Unavailable(Cisco MediaSense メディア サービスが使用できない場合)セッ ションは、URL への最初のアクセス時に mp4 に 変換されます。これにより、結果が最 初に返される前に遅延が生じることがあります。 (注) URL へのアクセス時に Mp4 ファイルが生成され、しばらくの間キャッシュさ れます。 ファイルを生成する必要がある場合、この URL 要求が応答する前に 遅延が生じることがあります。 変換された mp4 ファイルは、作成後または最終変更後 2 時間以内にシステム によって削除されます。 nodeId • 出力整数。 • システムにより定義された数値。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 141 共有パラメータ 共有パラメータ nodeIPAddress • 出力文字列。 • Cisco MediaSense サーバの IP アドレス。 • 最大文字数は 54 文字です。 offset • オプション入力整数。 • pageParameters 内の必須の入力整数になります。 • 返される最初のレコード。 • limit パラメータと併用する必要があります。 • ゼロ(0)から始まる整数値。 order • オプション入力文字列。 • sortParameters 内の必須の入力文字列になります。 • 大文字と小文字を区別します。 • 列挙値は次のとおりです。 ◦ ASC= Ascending:最小値を最初にして結果を並べ替えます。 ◦ DESC=Descending:最大値を最初にして結果を並べ替えます。 pageParameters • オプション入力。 • JSON オブジェクト。 • クライアントが要求結果表現の特定のサブセットを要求できるようにします。 • 返すための要素を指定します。 • これを使用すると、最初の 1000 セッションを返します。 • limit パラメータおよび offset パラメータも指定する必要があります。 paramConnector • アレイにフィールドが 1 つしかない場合のオプション入力文字列。 • アレイに 2 つ以上のフィールドがある場合に必須の入力文字列。 • 大文字と小文字を区別します。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 142 共有パラメータ 共有パラメータ • RequestParameters のアレイで 2 個の要素間の論理接続を指定します。 • 列挙値は次のとおりです。 ◦ かつ ◦ または partition • 出力文字列。 • 記憶域を使用するデータストアの名前。 • 最大文字数は 128 文字です。 participantDuration • 出力整数。 • セッション内で参加者がアクティブだった期間(ミリ秒単位)。 (注) この期間は SIP コール制御情報から取得され、通常、実際のメディアの期間よ りも数秒長くなります。 participantInformation • 参加者情報の出力 JSON アレイ。 • 情報には、loginId、lastName、firstName、loginIdDomain、および loginName パラメータの詳 細が含まれます。 参加者 • 参加者オブジェクトの出力 JSON アレイ。 • 各オブジェクトには、deviceRef、participantStartDate、participantDuration、isConference、およ び xRefCi パラメータの詳細が含まれます。 participantStartDate • 出力整数。 • 1970 年 1 月 1 日 GMT からこのトラックの録音が開始されるまでに経過した時間(ミリ秒単 位)。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 143 共有パラメータ 共有パラメータ rtspUrl • 出力文字列。 • 複数のトラックを含むことができるセッション全体への参照。 • 特定のトラックにアクセスするには、rtspUrl の末尾に「-TRACK0」または「-TRACK1」を 追加してください。 特定のセッションのトラックは同時に開始および終了します。 • URL はセッション継続中は一定です。 • 最大文字数は 512 文字です。 • 列挙値は次のとおりです。 ◦ eventAction = STARTED/UPDATED である場合、rtspUrl = monitor(現在録音されている ストリームのモニタリングに使用)です。 ◦ eventAction = ENDED の場合、rtspUrl = play(保存されたメディアの再生に使用)です。 sessions • セッション オブジェクトの出力 JSON アレイ。 • 各オブジェクトには、sessionId、トラック、URL、sessionStartDate、および sessionDuration の 値が含まれます。 sessionDuration • 出力整数。 • セッションが継続した時間(ミリ秒単位)。 (注) この期間は SIP コール制御情報から取得され、通常、実際のメディアの期間よ りも数秒長くなります。 sessionId • セッションのシステム生成識別子です。 • すべての MediaSense サーバにわたり一意で、最大文字数は 128 です。 セッションは、1 個の セッションが 1 個の MP4 ファイルに変換されるキャプチャ サービスの単位です。 • セッションは、1 個のセッションが 1 個の MP4 ファイルに変換されるキャプチャ サービスの 単位です。 • startRecording、stopRecording、addSessionTag、convertSession および getSessionBySessionId に 必須の入力文字列。 • 残りの API とイベントの出力文字列。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 144 共有パラメータ 共有パラメータ sessionIdList • 複数のカンマ区切りの sessionIds のリストを受け入れます。ただし、現在、最初の sessionId だけが強く関連した sessionIds を返します。 • 追加の sessionIds は無視されます。 • 今後の機能拡張のための List タイプで構成されています。 sessionStartDate • すべての API とイベントの出力整数。 • getSessions に必須の入力整数。 • 1970 年 1 月 1 日 GMT からセッション録音の開始まで、より正確にはこのセッションの最初 のトラックが録音を開始するまでに経過した時間(ミリ秒単位)。 sortParameters • オプション入力 JSON アレイ。 • 返された結果の並べ替え方法を指定します。 • デフォルトの並べ替えは startDate に基づいて新しいセッションを最初に配置します。 sessionState • 出力文字列。 • セッションのステート。 • 列挙値は次のとおりです。 ◦ ACTIVE = セッション内の少なくとも 1 個のセッションがアクティブです。 ◦ CLOSED_NORMAL = セッション内のすべてのセッションがエラーなしで閉じられま す。 ◦ DELETED = ユーザにより削除されたセッションまたはシステムにより切り取られたセッ ション ◦ CLOSED_ERROR = セッション内の少なくとも 1 個のセッションにエラーがあります (録音不可)。 subscriptionFilters • 出力 JSON アレイとオプション入力 JSON アレイ。 • イベントのリストまたはイベント カテゴリのリストを指定します。 • アレイが使用される API によって意味は異なります。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 145 共有パラメータ 共有パラメータ 1 クライアントが登録するイベント。 2 unsubscribeFromEvents API 内の場合: 1 要求で使用する場合:クライアントが登録を解除するイベント。 2 応答で使用する場合:登録解除の実行後もクライアントが登録しているイベント。 3 クライアントが現在登録しているイベント。 大文字と小文字を区別した列挙値は次のと おりです。* ALL_EVENTS(カテゴリ) • RECORDING_EVENTS(カテゴリ) • SESSION_STARTED_EVENT • SESSION_UPDATED_EVENT • SESSION_ENDED_EVENT • CLEANUP_EVENTS(カテゴリ) • SESSION_DELETED_EVENT • SESSION_PRUNED_EVENT • TAG_EVENTS(カテゴリ) • TAG_ADDED_EVENT • TAG_DELETED_EVENT • TAG_UPDATED_EVENT • STORAGE_EVENTS(カテゴリ) • ENTER_LOW_STORAGE_ SPACE_EVENT • EXIT_LOW_STORAGE_ SPACE_EVENT • ENTER_CRITICAL_STORAGE_ SPACE_EVENT • EXIT_CRITICAL_STORAGE_ SPACE_EVENT • ENTER_EMERGENCY_STORAGE_ SPACE_EVENT • EXIT_EMERGENCY_STORAGE_ SPACE_EVENT クライアントは、カテゴリ名または特定のイベント名を使用できます。 カテゴリを使用すると、 クライアントはそのカテゴリ内のすべてのイベントに登録します。 subscriptionId • subscribeToEvents の出力文字列。 • リスト内の他のすべての API とイベントに必須の入力文字列。 • subscribeRecordingEvent API から受信したシステム生成 ID です。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 146 共有パラメータ 共有パラメータ subscriptionStatus • 出力文字列。 • verifyEventSubscription API または verifyRecordingSubscription API から受信した応答。 • 列挙値は次のとおりです。 ◦ ACTIVE ◦ INACTIVE subscriptionType • 出力文字列。 • サブスクリプションのタイプ。 • サーバ ベースのクライアントの場合、タイプは HTTP です。 subscriptionUri • 必須の入力文字列。 • イベント通知がサーバ ベースのクライアントに送信される URI。 • サブスクリプションは subscriptionUri パラメータで制御されます。 • 特定の subscriptionUri に対してサブスクリプションが 1 件だけ許可されます。 tags • タグ オブジェクトの出力 JSON アレイ。 • 各オブジェクトには、tagName、tagType、tagCreateDate、および tagOffset パラメータが含ま れます。 • 最大文字数は 255 文字です。 tagCreateDate • 出力整数。 • 1970 年 1 月 1 日 GMT からこのタグの作成までに経過した時間(ミリ秒単位)。 tagName • 出力文字列。 • 録音を分類するために使用される大文字と小文字を区別しない名前。 • 最大文字数は 255 文字です。 • tagtype = SYSTEM_DEFINED である場合、tagName の列挙値は次のとおりです。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 147 共有パラメータ 共有パラメータ ◦ タグがセッション レベルにある場合: • Pause • 再開 ◦ タグがトラック レベルにある場合: • TrackActive • TrackInactive tagNameRegEx • オプション入力文字列。 • タグ イベントだけに適用される Java 正規表現。 • 付加的文字列です。つまり、イベントがサブスクライバが要求したアクションと一致する場 合、および tagName がこのパラメータで指定されたサブスクライバのオプション正規表現と 一致する場合に、MediaSense が tagEvent をサブスクライバに送信するだけです。 Java 正規表現の詳細については、http://download.oracle.com/javase/tutorial/essential/regex/ を参照して ください。 tagOffset • addSessionTag のオプション整数。 • このタグのセッション開始から経過した時間(ミリ秒単位)。 • tagOffset を使用して、録音のポイントを指定します。 たとえば、特定の録音開始から 10 秒 後に、予期せぬイベントが発生します。 これは、リスト内の他のすべての API とイベントの 出力整数です。 • オフセットはセッションまたはトラックの最初から計算されます(トラック レベルまたは セッション レベルにあるタグは関係ありません)。 • オフセットが指定されていない場合、タグはセッション内の特定のポイントではなく、セッ ション全体に適用されます。 tagType • 出力文字列。 • 列挙値は次のとおりです。 ◦ SYSTEM_DEFINED = デフォルト。 ユーザによりトリガーされたシステム イベントに 使用されます(一時停止と再開、TrackInactive および TrackActive)。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 148 共有パラメータ 共有パラメータ ◦ USER_DEFINED = ユーザはタグ(addSessionTag, (68 ページ) API)を作成できます。 ただし、すべてのタグ タイプはシステム定義され、ユーザは tagType の値を再定義でき ません。 trackDuration • 出力整数。 • トラックが継続した時間(ミリ秒単位)。 (注) この期間は SIP コール制御情報から取得され、通常、実際のメディアの期間よ りも数秒長くなります。 trackMediaType • 出力整数。 • 列挙値は次のとおりです。 ◦ AUDIO ◦ VIDEO trackNumber • 出力整数。 • システムで生成されるトラックの一意の識別子。 Unified Communications Manager の場合、トラック 0 には分岐デバイスからストリーミングされた メディアが含まれ、トラック 1 には分岐デバイスへストリーミングされるメディアが含まれます。 Unified Comminications Manager の sessionEvent では、各トラックは各トラックのメディアを生成し ている 1 人以上の参加者に関連付けられます。 Unified Border Element の場合、trackNumber の割り当ては任意であり、分岐デバイスに基づいてい ません。 要素がトラック アレイに表示される順番は任意のものであり、とくに意味はありませ ん。 tracks • トラック オブジェクトの出力 JSON アレイ。 • 各オブジェクトには、trackNumber、trackStartDate、trackDuration、trackMediaType、および participants パラメータに関する情報が含まれます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 149 共有パラメータ 共有パラメータ trackStartDate • 出力整数。 • 1970 年 1 月 1 日 GMT からトラック録音の開始(コール制御サービスが Unified Communications Manager または Unified Border Element から 200 件の OK メッセージを受信した時)までに経 過した時間(ミリ秒単位)。 • MediaSense はそれに従って Unified Communications Manager または Unified Border Element に 確認応答(ACK)を返します。 urls • 出力 JSON オブジェクト。 • httpUrl および rtspUrl パラメータの情報が含まれます。 wavUrl • 出力文字列。 • セッションの wav リンク。 • 最大文字数は 512 文字です。 • ビデオ トラックも含むセッションの場合、wavUrl にはオーディオ トラックのみが含まれま す。 • wavUrl はセッション状態が CLOSED_NORMAL である場合のみ存在し、次の HTTPS 応答 コードを返すことがあります。 ◦ 200 OK ◦ 404 Not Found ◦ 500 Internal Server Error ◦ 503 Service Unavailable(MediaSense メディア サービスが使用できない場合) (注) URL へのアクセス時に Wav ファイルが生成され、しばらくの間キャッシュさ れます。 ファイルを生成する必要がある場合、この URL 要求が応答する前に 遅延が生じることがあります。 変換された wav ファイルは、作成後または最終変更後 2 時間以内にシステム によって削除されます。 xRefCi • getSessionsByCCID を除く出力文字列。これは出力文字列とオプション入力文字列の両方で す。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 150 共有パラメータ 共有パラメータ • 特定のメディア ストリームに対する Unified Communications Manager 識別子。 • 録音トラックと常に 1 対 1 で対応しているわけではありません。 ただし、この識別子を使用 して、Unified Communications Manager JTAPI イベントを録音セッションに関連付ける必要が あります。 • xRefCi は、セッションの callControllerType が「Cisco-SIPGateway」または「Cisco-Unified Communications Manager」である場合に存在します。callControllerType が「direct」の場合、 xRefCi は省略されます。 • Unified Border Element はこの識別子を使用しません。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 151 共有パラメータ 共有パラメータ Cisco MediaSense 開発者ガイド リリース 11.0(1) 152 第 12 章 トリガーされるイベント • sessionEvent, 153 ページ • storageThresholdEvent, 156 ページ • tagEvent, 157 ページ sessionEvent このイベントは、新しい録音セッションが開始されるか、既存の録音セッションが更新または終 了されるたびに送信されます。 また、録音セッションが削除されるか、切り取られる場合にも送 信されます。 削除されたり、切り取られたりしたセッションでは、セッションが 1 つのイベント でバッチ処理され、送信されます。 方式 POST 本体 JSON 関連 API • startRecording, (58 ページ) • stopRecording, (61 ページ) 例 { "eventType": "SESSION_EVENT", "eventAction": "DELETED", "forwardedEvent": "TRUE", "eventBody": { "sessionIds": ["Session-6-10.194.118.57-1284096640651", "Session-6-10.194.118.57-1284096640652"] Cisco MediaSense 開発者ガイド リリース 11.0(1) 153 トリガーされるイベント sessionEvent } } { "eventAction": "STARTED", "eventBody": { "sessionId": "Session-6-10.194.118.57-1284096640651", "callControllerType": "Cisco-CUCM", "callControllerIP": "10.194.118.57" "ccid": "2728850048-0000065536-0000018373", "sessionStartDate": 1284096641174, "sessionState": "ACTIVE", "tracks": [ { "trackStartDate": 1429519331647, "trackDuration": 14252, "codec": "PCMU", "downloadUrl": "https://10.126.135.72:8446/mma/ExportRaw?recording=7814cd5fdf06f1-TRACK1", "trackNumber": 1, "trackMediaType": "AUDIO", "participants": [ { "participantStartDate": 1429519331647, "participantInformation":{ "loginId": "ambdev", "lastName": "dev", "firstname": "ambrose", "loginIdDomain": "1", "loginName": "ambdev", }, "deviceRef": "11052", "isConference": false, "xRefCi": "29236211", "participantDuration": 14252, "deviceId": "trunk_to_cube150" } ] }, { "trackStartDate": 1429519331647, "trackDuration": 14252, "codec": "PCMU", "downloadUrl": "https://10.126.135.72:8446/mma/ExportRaw?recording=7814cd5fdf06f1-TRACK0", "trackNumber": 0, "trackMediaType": "AUDIO", "participants": [ { "participantStartDate": 1429519331647, "participantInformation":{ "loginId": "avmaitra", "lastName": "maitra", "firstname": "avirup", "loginIdDomain": "1", "loginName": "avmaitra", }, "deviceRef": "11024", "lineDisplayName": "Avirup12", "isConference": false, "xRefCi": "29236210", "participantDuration": 14252, "deviceId": "SEPF0292958FA6D" } ] } ], "urls": [ { "rtspUrl": "rtsp://10.194.118.57/live/ Session-6-10.194.118.57-1284096640651" } ] }, Cisco MediaSense 開発者ガイド リリース 11.0(1) 154 トリガーされるイベント sessionEvent "eventType": "SESSION_EVENT", "forwardedEvent": "TRUE" } { "eventAction": "ENDED", "eventBody": { "sessionId": "Session-6-10.194.118.57-1284096640651", "callControllerType": "Cisco-CUCM", "callControllerIP": "10.194.118.57" "ccid": "2728850048-0000065536-0000018373", "sessionState": "CLOSED_NORMAL", "sessionStartDate": 1284096641174, "sessionDuration": 8394, "tracks": [ { "trackStartDate": 1429519331647, "trackDuration": 14252, "codec": "PCMU", "downloadUrl": "https://10.126.135.72:8446/mma/ExportRaw?recording=7814cd5fdf06f1-TRACK1", "trackNumber": 1, "trackMediaType": "AUDIO", "participants": [ { "participantStartDate": 1429519331647, "participantInformation":{ "loginId": "ambdev", "lastName": "dev", "firstname": "ambrose", "loginIdDomain": "1", "loginName": "ambdev", }, "deviceRef": "11052", "isConference": false, "xRefCi": "29236211", "participantDuration": 14252, "deviceId": "trunk_to_cube150" } ] }, { "trackStartDate": 1429519331647, "trackDuration": 14252, "codec": "PCMU", "downloadUrl": "https://10.126.135.72:8446/mma/ExportRaw?recording=7814cd5fdf06f1-TRACK0", "trackNumber": 0, "trackMediaType": "AUDIO", "participants": [ { "participantStartDate": 1429519331647, "participantInformation":{ "loginId": "avmaitra", "lastName": "maitra", "firstname": "avirup", "loginIdDomain": "1", "loginName": "avmaitra", }, "deviceRef": "11024", "lineDisplayName": "Avirup12", "isConference": false, "xRefCi": "29236210", "participantDuration": 14252, "deviceId": "SEPF0292958FA6D" } ] } ], "urls": [ { "rtspUrl": "rtsp://10.194.118.57/archive/ Session-6-10.194.118.57-1284096640651" } Cisco MediaSense 開発者ガイド リリース 11.0(1) 155 トリガーされるイベント storageThresholdEvent ] }, "eventType": "SESSION_EVENT", "forwardedEvent": "TRUE" } storageThresholdEvent このイベントは、ストレージのディスク容量(録音されたメディアを保存)が各種しきい値に達 するたびに送信されます。 しきい値に関する詳細を次の表に示します。 方式 POST 本体 JSON 関連 API subscribeRecordingEvent(非推奨), (39 ページ) 例 { "eventType":"STORAGE_THRESHOLD_EVENT", "eventAction":"ENTER_LOW_STORAGE_SPACE", "forwardedEvent":"TRUE", "eventBody": { "nodeId": 1, "nodeIPAddress":"10.X.X.X", "partition" : "/common", "percentageUtilization": 70 } } イベント アクション値 しきい値の割合とその意味を次の表に示します。 しきい値 ストレージの割合 ENTER_LOW_ STORAGE_SPACE 録音済みメディアのストレージ ディスク ストレージがスペー 使用率が 75% の限度を超えまし ス不足状態になっていること た。 を示す最初の警告です。 EXIT_LOW_ STORAGE_SPACE 録音メディアの使用率が 70% の ディスク ストレージはスペー 限度以下に低下しました。 ス不足状態から脱出していま す。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 156 説明 トリガーされるイベント tagEvent しきい値 ストレージの割合 説明 ENTER_CRITICAL_ STORAGE_SPACE 録音済みメディアのストレージ 2 度目の警告です。 この状態 使用率が 90% の限度を超えまし に達した場合、このノード上 た。 で将来の録音リソースを保証 するための措置を講じる必要 があります。 保持優先モード で動作している場合、このし きい値に達すると新しい録音 セッションは受け入れられま せん。 新規録音優先モードで は、新しい録音用の領域を確 保するため、古い録音は自動 的に切り取られます。 EXIT_CRITICAL_ STORAGE_SPACE 録音メディアの使用率が 85% の ディスク ストレージは危機的 限度以下に低下しました。 なスペース状態から脱出して います。 この時点では、ロー カル ノードはリソース不足状 態と見なされます。 ENTER_EMERGENCY_ STORAGE_SPACE 録音済みメディアのストレージ 最後の警告です。 この状態に 使用率が 99% の限度を超えまし 達した場合、このノード上で た。 将来の録音リソースを保証す るための措置を講じる必要が あります。 保持優先モードで 稼動している場合、このしき い値に達すると既存の録音 セッションが終了します。 EXIT_EMERGENCY_ STORAGE_SPACE 録音メディアの使用率が 97% の ディスク ストレージは緊急ス 限度以下に低下しました。 トレージ容量状態から脱出し ています。 この時点では、 ローカル ノードはまだリソー ス不足状態と見なされ、新し い録音セッションは受け入れ られません。 tagEvent このイベントは、タグがセッションに追加またはセッションから削除された場合に送信されます。 マルチサーバ MediaSense 展開では、クライアントは 1 つの MediaSense API サービスだけにサブス クライブし、他の MediaSense サービスによって生成される通知を受信できます。 Cisco MediaSense 開発者ガイド リリース 11.0(1) 157 トリガーされるイベント tagEvent 方式 POST 本体 JSON 関連 API • addSessionTag, (68 ページ) • pauseRecording, (56 ページ) • resumeRecording, (57 ページ) • deleteSessionTag, (72 ページ) 例 次は、期間が限定された(tagOffset フィールドあり)ユーザ定義タグの例です。 タグが作成され た日付は 2010 年 9 月 9 日 23:14:13 GMT です。 Epoch converter を使用すれば、暗号化された日付 と時刻を表示できます。 オフセットは、タグが表すセッションの開始からの時間をミリ秒単位で 表します。 この例では、5 分を表しています。 (注) MediaSense では、USER_DEFINED の期間限定タグに tagOffset 0 (ゼロ値)を使用できません。 期間限定タグを使用して録音を開始する場合とき、少なくとも 1 ミリ秒の tagOffset を使用し ます。 { "eventType": "TAG_EVENT", "eventAction": "UPDATED", "eventBody": { "sessionId": "1234abcd5678efgh90xyz", "tagName": "Customer response", "tagType": "USER_DEFINED", "tagCreateDate": 1284074053, "tagOffset": 300000 } } 次は、セッション内のトラックに追加されたシステム定義タグの例です。 トラックは trackNumber で識別されます。 { "eventType": "TAG_EVENT", "eventAction": "ADDED", "eventBody": { "sessionId": "57130d87d73f41", "tagCreateDate": 1309302169848, "tagName": "TrackInactive", "tagOffset": 11203, "tagType": "SYSTEM_DEFINED", "trackNumber": 1 } } Cisco MediaSense 開発者ガイド リリース 11.0(1) 158
© Copyright 2026 Paperzz