セッション クエリー API
セッション クエリー API

セッション クエリー API

はじめに

MediaSense クエリー API を利用すると、アプリケーションは柔軟な方法でセッションに関する問い合わせを実行できます。

  • 複雑でも柔軟性のある getSessions API を利用すると、複雑なクエリーを実行できます。 この API を使用し、検索条件にさまざまな論理演算やその他のソート パラメータ、ページング パラメータを指定できます。

  • 単純で柔軟性の低いクエリー API の場合、一部の基本的なよく使用されるクエリー(getAllActiveSessions など)のみを実行できます。

getAllActiveSessions

この API を使用し、アクティブな録音をすべて検索します。 返されたセッションは sessionStartDate により自動的にソートされます(降順)。


(注)  


この API の応答はクエリーによって異なります。一部のパラメータは応答によっては使用できません。 たとえば、アクティブなセッションには sessionDuration や downloadUrl などのパラメータがありません。 同様に、httpUrl はセッションが変換されている場合にのみ使用できます。


URI

https://<host>:<port>/ora/queryService/query/getAllActiveSessions

HTTP メソッド

GET

パラメータ(Parameters)

  • callControllerIP:出力文字列。 共有パラメータを参照してください。

  • callControllerType:出力文字列。 共有パラメータを参照してください。

  • ccid:同じコールの一部となっている録音セッションを識別するために使用される出力文字列。 共有パラメータを参照してください。

  • codec:出力文字列。 トラックのコーデック。 共有パラメータを参照してください。

  • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータを参照してください。

  • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータを参照してください。

  • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共有パラメータを参照してください。

  • errorCode:

  • errorDetail:出力文字列。 共有パラメータを参照してください。

  • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータを参照してください。

  • isConference:出力ブール。 参加者が会議ブリッジまたは個々のデバイスであるかどうかを示します。 共有パラメータを参照してください。

  • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラメータを参照してください。

  • maxSessionStartDate:オプション入力整数。 1970 年 1 月 1 日 GMT からセッション録音の開始まで、より正確にはこのセッションの最初のトラックが録音を開始するまでに経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • minSessionStartDate:オプション入力整数。 1970 年 1 月 1 日 GMT からセッション録音の開始まで、より正確にはこのセッションの最初のトラックが録音を開始するまでに経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • mp4Url:出力文字列。 セッションの mp4 リンク。 共有パラメータを参照してください。

  • offset:オプション入力整数。 返される最初のレコード。 共有パラメータを参照してください。

  • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単位)。 共有パラメータを参照してください。

  • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • participantStartDate:出力整数。 1970 年 1 月 1 日 GMT からこのトラックの録音が開始されるまでに経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パラメータを参照してください。

  • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • sessionId:出力文字列。 セッションのシステム生成識別子です。 共有パラメータを参照してください。

  • sessionStartDate:出力整数。 共有パラメータを参照してください。

  • sessionState:出力文字列。 セッションのステート。 共有パラメータを参照してください。

  • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • tagCreateDate:出力整数。 1970 年 1 月 1 日 GMT からこのタグの作成までに経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータを参照してください。

  • tagOffset:出力整数。 オフセットはセッションまたはトラックの最初から計算されます。 共有パラメータを参照してください。

  • tagType:出力文字列。 共有パラメータを参照してください。

  • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • trackMediaType:出力整数。 共有パラメータを参照してください。

  • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子。 共有パラメータを参照してください。

  • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • trackStartDate:出力整数。 1970 年 1 月 1 日 GMT からトラックの録音が開始されるまでに経過した時間(ミリ秒単位)。

  • urls:出力 JSON オブジェクト。 共有パラメータを参照してください。

  • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータを参照してください。

  • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子。 共有パラメータを参照してください。

例 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

ヘッダー:

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:出力文字列。 共有パラメータを参照してください。

  • callControllerType:出力文字列。 共有パラメータを参照してください。

  • ccid:同じコールの一部となっている録音セッションを識別するために使用される出力文字列。 共有パラメータを参照してください。

  • codec:出力文字列。 トラックのコーデック。 共有パラメータを参照してください。

  • deviceId:出力文字列。 デバイスの一意の識別子。 「Pthbbt.」を参照してください共有パラメータ

  • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータを参照してください。

  • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共有パラメータを参照してください。

  • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータを参照してください。

  • isConference:出力ブール。 参加者が会議ブリッジまたは個々のデバイスであるかどうかを示します。 共有パラメータを参照してください。

  • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラメータを参照してください。

  • maxSessionStartDate:オプション入力整数。 1970 年 1 月 1 日 GMT からセッション録音の開始まで、より正確にはこのセッションの最初のトラックが録音を開始するまでに経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • minSessionStartDate:オプション入力整数。 1970 年 1 月 1 日 GMT からセッション録音の開始まで、より正確にはこのセッションの最初のトラックが録音を開始するまでに経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • mp4Url:これは、出力文字列。 セッションの mp4 リンク。 共有パラメータを参照してください。

  • offset:オプション入力整数。 返される最初のレコード。 共有パラメータを参照してください。

  • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単位)。 共有パラメータを参照してください。

  • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • participantStartDate:出力整数。 1970 年 1 月 1 日 GMT からこのトラックの録音が開始されるまでに経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パラメータを参照してください。

  • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • sessionId:セッションのシステム生成識別子。 共有パラメータを参照してください。

  • sessionStartDate:出力整数。 共有パラメータを参照してください。

  • sessionState:出力文字列。 セッションのステート。 共有パラメータを参照してください。

  • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • tagCreateDate:出力整数。 1970 年 1 月 1 日 GMT からこのタグの作成までに経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータを参照してください。

  • tagOffset:出力整数。 オフセットはセッションまたはトラックの最初から計算されます。 共有パラメータを参照してください。

  • tagType:出力文字列。 共有パラメータを参照してください。

  • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • trackMediaType:出力整数。 共有パラメータを参照してください。

  • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子。 共有パラメータを参照してください。

  • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • trackStartDate:出力整数。 1970 年 1 月 1 日 GMT からトラックの録音が開始されるまでに経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • urls:出力 JSON オブジェクト。 共有パラメータを参照してください。

  • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータを参照してください。

  • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子。 共有パラメータを参照してください。

例 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>

getArchiveSessions

このAPIを使用し、アーカイブされたセッションを検索し、取得します。

URI

https://<host>:<port>/ora/queryService/query/getArchiveSessions

HTTP メソッド

POST

パラメータ(Parameters)

  • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータを参照してください。

  • sessionIdList:このパラメータは、複数のカンマ区切りの sessionIds のリストを受け入れます。ただし、現在、最初の sessionId だけが強く関連した sessionIds を返します。 追加の sessionIds は無視されます。 この入力パラメータは、今後の機能拡張のために List タイプで構成されています。

  • maxSessionStartDate:オプション入力整数。 ただし、minSessionStartDate に固有の値がない場合は必須の入力整数になります。 共有パラメータを参照してください。

  • minSessionStartDate:オプション入力整数。 共有パラメータを参照してください。


(注)  


アーカイブされたセッションを検索する場合は、次の点を考慮してください。
  • 要求パラメータとして 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 を介した録音の場合)が含まれます。

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:出力文字列。 共有パラメータを参照してください。

  • codec:出力文字列。 トラックのコーデック。 共有パラメータを参照してください。

  • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータを参照してください。

  • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータを参照してください。

  • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共有パラメータを参照してください。

  • firstName:出力文字列。 共有パラメータを参照してください。

  • httpUrl:出力文字列。 共有パラメータを参照してください。

  • isConference:出力ブール。 参加者が会議ブリッジまたは個々のデバイスであるかどうかを示します。 共有パラメータを参照してください。

  • lastName:出力文字列。 共有パラメータを参照してください。

  • lineDisplayName:出力文字列。 共有パラメータを参照してください。

  • loginId:出力文字列。 共有パラメータを参照してください。

  • loginIdDomain:出力文字列。 共有パラメータを参照してください。

  • loginName:出力文字列。 共有パラメータを参照してください。

  • mp4Url:出力文字列。 セッションの mp4 リンク。 共有パラメータを参照してください。

  • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単位)。 共有パラメータを参照してください。

  • participantInformation:参加者情報の出力 JSON アレイ。 共有パラメータを参照してください。

  • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • participantStartDate:出力整数。 共有パラメータを参照してください。

  • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。

  • sessionId:出力文字列。 セッションのシステム生成識別子です。 共有パラメータを参照してください。

  • sessionIdList:複数のカンマ区切りの sessionIds のリストを受け入れます。ただし、現在、最初の sessionId だけが強く関連した sessionIds を返します。 追加の sessionIds は無視されます。 この入力パラメータは、今後の機能拡張のために List タイプで構成されています。

  • sessionStartDate:出力整数。 共有パラメータを参照してください。

  • sessionState:出力文字列。 セッションのステート。 共有パラメータを参照してください。

  • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • trackMediaType:出力整数。 共有パラメータを参照してください。

  • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子。 共有パラメータを参照してください。

  • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • trackStartDate:出力整数。 共有パラメータを参照してください。

  • urls:出力 JSON オブジェクト。 共有パラメータを参照してください。

  • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータを参照してください。

  • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子。 共有パラメータを参照してください。

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": {
                                    "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": {
                                    "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

パラメータ(Parameters)

  • callControllerIP:出力文字列。 共有パラメータを参照してください。

  • callControllerType:出力文字列。 共有パラメータを参照してください。

  • ccid:出力文字列。 同じコールの一部となっている録音セッションを識別するために使用されます。 共有パラメータを参照してください。

  • codec:出力文字列。 トラックのコーデック。 共有パラメータを参照してください。

  • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータを参照してください。

  • devRef:出力文字列。 各デバイスの電話番号。 共有パラメータを参照してください。

  • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共有パラメータを参照してください。

  • httpUrl:リリース 10 では廃止になり、mp4url が導入されます。 出力文字列です。 セッションの HTTPS リンク。 共有パラメータを参照してください。

  • isConference:出力ブール。 共有パラメータを参照してください。

  • mp4url:出力文字列。 セッションの mp4 リンク。 共有パラメータを参照してください。

  • participantDuration:出力整数。 共有パラメータを参照してください。

  • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • participantStartDate:出力整数。 共有パラメータを参照してください。

  • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パラメータを参照してください。

  • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • sessionDuration:出力整数。 共有パラメータを参照してください。

  • sessionId:システムで生成されるセッションの一意の識別子。 共有パラメータを参照してください。

  • sessionStartDate:出力整数。 共有パラメータを参照してください。

  • sessionState:出力文字列。 セッションのステート。 共有パラメータを参照してください。

  • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • tagCreateDate:出力整数。 共有パラメータを参照してください。

  • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータを参照してください。

  • tagOffset:このタグのセッション開始から経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • tagType:出力文字列。 共有パラメータを参照してください。

  • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • trackMediaType:出力整数。 共有パラメータを参照してください。

  • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子です。 共有パラメータを参照してください。

  • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • trackStartDate:出力整数。 共有パラメータを参照してください。

  • urls:出力 JSON オブジェクト。 共有パラメータを参照してください。

  • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータを参照してください。

  • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子。 共有パラメータを参照してください。

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 を使用しても、特定のタイプの複合クエリーを表現できるわけではありません。 具体的には、シンタックスは組み込みの優先順位ルールを上書きするアプローチを提供しません。 また、テーブルを組み合わせて値のマッチングを適用して順序を表示する方法も提供しません。

例:

例 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'」は、異なるフィールド名が含まれているため、予想される結果にはなりません。 また、その値が同じトラックで見つかったものなのか、同じセッションの別のトラックで見つかったものなのかを明確にすることができません。


(注)  


  • 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:出力文字列。 共有パラメータを参照してください。

  • callControllerType:出力文字列。 共有パラメータを参照してください。

  • ccid:オプション入力文字列。 同じコールの一部となっている録音セッションを識別するために使用されます。 共有パラメータを参照してください。 許可される fieldOperator は "equals" です。

  • codec:出力文字列。 トラックのコーデック。 共有パラメータを参照してください。

  • deviceId:オプション入力文字列。 デバイスの一意の識別子。 共有パラメータを参照してください。

  • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータを参照してください。 許可される fieldOperator は次のとおりです。

    • equals

    • contains

    • startsWith

    • endsWith

    • between

  • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共有パラメータを参照してください。

  • fieldConditions:文字列の必須入力アレイ。 呼び出されたフィールドに指定された条件。 共有パラメータを参照してください。

  • fieldConnector:継続的条件により条件を論理接続するために使用します。 共有パラメータを参照してください。

  • fieldName:必須入力文字列。 呼び出されたフィールドの名前。 「\」を参照してください。

  • fieldOperator:必須入力文字列。 共有パラメータを参照してください。

  • fieldValues:文字列の必須入力アレイ。 共有パラメータを参照してください。

  • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータを参照してください。

  • isConference:出力ブール。 共有パラメータを参照してください。

  • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラメータを参照してください。

  • mp4Url:出力文字列。 セッションの mp4 リンク。 共有パラメータを参照してください。

  • nodeIPAddress:出力文字列。 Cisco MediaSense サーバの IP アドレス。 共有パラメータを参照してください。許可される fieldOperator は "equals" です。

  • offset:オプション入力整数。 返される最初のレコード。 共有パラメータを参照してください。

  • order:オプション入力文字列。 共有パラメータを参照してください。

  • partition:出力文字列。 共有パラメータを参照してください。 許可される fieldOperator は "equals" です。 許可される fieldOperator は "equals" です。

  • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単位)。 共有パラメータを参照してください。

  • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • participantStartDate:出力整数。 共有パラメータを参照してください。

  • pruned:出力ブール。 セッションがシステムによって削除されたかどうかを示します。 ユーザによって削除されたセッションはプルーニングされたとは見なされません。 セッションが削除されていない場合、pruned は省略されます。 列挙値は次のとおりです。

    • TRUE

    • FALSE

    許可される fieldOperator は "equals" です。
  • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パラメータを参照してください。

  • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。 許可される fieldOperator は次のとおりです。

    • lessThan

    • greaterThan

    • equals

  • sessionStartDate:必須入力整数。 共有パラメータを参照してください。許可される fieldOperator は "between" です。

  • sortParameters:オプション入力 JSON アレイ。 共有パラメータを参照してください。

  • sessionState:出力文字列。 セッションのステート。 共有パラメータを参照してください。 許可される fieldOperator は "equals" です。

  • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • tagCreateDate:出力整数。 共有パラメータを参照してください。

  • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータを参照してください。 許可される fieldOperator は次のとおりです。

    • equals

    • contains

    • startsWith

    • endsWith

  • tagOffset:addSessionTag のオプション整数。 このタグのセッション開始から経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • tagType:出力文字列。 共有パラメータを参照してください。 許可される fieldOperator は "equals" です。

  • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • trackMediaType:出力整数。 共有パラメータを参照してください。

  • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子です。 共有パラメータを参照してください。

  • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • trackStartDate:出力整数。 共有パラメータを参照してください。

  • urls:出力 JSON オブジェクト。 共有パラメータを参照してください。

  • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータを参照してください。

  • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子です。 共有パラメータを参照してください。 許可される 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"
        },
        {
            "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

ヘッダー:

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' 
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

ヘッダー:

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>

ボディ:

{
    "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

クエリー:((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>

ボディ:

{
    "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:出力文字列。 共有パラメータを参照してください。

  • callControllerType:出力文字列。 共有パラメータを参照してください。

  • ccid:必須入力文字列。 同じコールの一部となっている録音セッションを識別するために使用されます。 共有パラメータを参照してください。

  • codec:出力文字列。 トラックのコーデック。 共有パラメータを参照してください。

  • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータを参照してください。

  • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータを参照してください。

  • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共有パラメータを参照してください。

  • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータを参照してください。

  • isConference:出力ブール。 共有パラメータを参照してください。

  • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラメータを参照してください。

  • mp4Url:出力文字列。 セッションの mp4 リンク。 共有パラメータを参照してください。

  • offset:オプション入力整数。 返される最初のレコード。 共有パラメータを参照してください。

  • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単位)。 共有パラメータを参照してください。

  • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • participantStartDate:出力整数。 共有パラメータを参照してください。

  • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パラメータを参照してください。

  • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • sessionId:出力文字列。 セッションのシステム生成識別子です。 共有パラメータを参照してください。

  • sessionStartDate:必須入力整数。 共有パラメータを参照してください。

  • sessionState:出力文字列。 セッションのステート。 共有パラメータを参照してください。 許可される fieldOperator は "equals" です。

  • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • tagCreateDate:出力整数。 共有パラメータを参照してください。

  • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータを参照してください。

  • tagOffset:addSessionTag のオプション整数。 このタグのセッション開始から経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • tagType:出力文字列。 共有パラメータを参照してください。 許可される fieldOperator は "equals" です。

  • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • trackMediaType:出力整数。 共有パラメータを参照してください。

  • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子です。 共有パラメータを参照してください。

  • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • trackStartDate:出力整数。 共有パラメータを参照してください。

  • urls:出力 JSON オブジェクト。 共有パラメータを参照してください。

  • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータを参照してください。

  • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子です。 共有パラメータを参照してください。

例 1

ccid が「0584071424-0000065536-0000000016-0671746570」のセッションをすべて取得するには:

HTTPS GET:

https://10.194.118.1:8080/ora/queryService/query/
getSessionsByCCID?value=0584071424-0000065536-0000000016-
0671746570&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

ヘッダー:

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-0000000016-
0671746570

ヘッダー:

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:出力文字列。 共有パラメータを参照してください。

  • callControllerType:出力文字列。 共有パラメータを参照してください。

  • ccid:出力文字列。 同じコールの一部となっている録音セッションを識別するために使用されます。 共有パラメータを参照してください。

  • codec:出力文字列。 トラックのコーデック。 共有パラメータを参照してください。

  • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータを参照してください。

  • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータを参照してください。

  • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共有パラメータを参照してください。

  • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータを参照してください。

  • isConference:出力ブール。 共有パラメータを参照してください。

  • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラメータを参照してください。

  • maxSessionStartDate:オプション入力整数。 共有パラメータを参照してください。

  • minSessionStartDate:オプション入力整数。 共有パラメータを参照してください。

  • offset:オプション入力整数。 返される最初のレコード。 共有パラメータを参照してください。

  • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単位)。 共有パラメータを参照してください。

  • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • participantStartDate:出力整数。 共有パラメータを参照してください。

  • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パラメータを参照してください。

  • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • sessionId:出力文字列。 セッションのシステム生成識別子です。 共有パラメータを参照してください。

  • sessionStartDate:必須入力整数。 共有パラメータを参照してください。

  • sessionState:出力文字列。 セッションのステート。 共有パラメータを参照してください。

  • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • tagCreateDate:出力整数。 共有パラメータを参照してください。

  • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータを参照してください。

  • tagOffset:addSessionTag のオプション整数。 このタグのセッション開始から経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • tagType:出力文字列。 共有パラメータを参照してください。

  • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • trackMediaType:出力整数。 共有パラメータを参照してください。

  • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子です。 共有パラメータを参照してください。

  • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • trackStartDate:出力整数。 共有パラメータを参照してください。

  • urls:出力 JSON オブジェクト。 共有パラメータを参照してください。

  • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータを参照してください。

  • xRefCi:出力文字列。 特定のメディア ストリームに対する Unified Communications Manager 識別子。 共有パラメータを参照してください。

例 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

ヘッダー:

JSESSIONID: <the jsessionId received from a previous signIn request>

getSessionsByMediaType

この API を使用し、メディア タイプ(オーディオ、ビデオ、オーディオとビデオ、スクリーン キャプチャ)に基づいて記録済みセッションまたはライブ セッションを検索し、取得します。 返されたセッションは sessionStartDate によって自動的にソートされます。最新のセッションが一番上になります。

URI

https://<host>:<port>/ora/queryService/query/getSessionsByMediaType

HTTP メソッド

GET

パラメータ(Parameters)

  • callControllerIP:出力文字列。 共有パラメータを参照してください。

  • callControllerType:出力文字列。 共有パラメータを参照してください。

  • ccid:出力文字列。 同じコールの一部となっている録音セッションを識別するために使用されます。 共有パラメータを参照してください。

  • codec:出力文字列。 トラックのコーデック。 共有パラメータを参照してください。

  • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータを参照してください。

  • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータを参照してください。

  • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共有パラメータを参照してください。

  • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータを参照してください。

  • isConference:出力ブール。 共有パラメータを参照してください。

  • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラメータを参照してください。

  • maxSessionStartDate:オプション入力整数。 共有パラメータを参照してください。

  • mediaType:出力文字列と必須入力文字列。 共有パラメータを参照してください。

  • minSessionStartDate:オプション入力整数。 共有パラメータを参照してください。

  • mp4Url:出力文字列。 セッションの mp4 リンク。 共有パラメータを参照してください。

  • offset:オプション入力整数。 返される最初のレコード。 共有パラメータを参照してください。

  • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単位)。 共有パラメータを参照してください。

  • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • participantStartDate:出力整数。 共有パラメータを参照してください。

  • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パラメータを参照してください。

  • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • sessionId:出力文字列。 セッションのシステム生成識別子です。 共有パラメータを参照してください。

  • sessionStartDate:必須入力整数。 共有パラメータを参照してください。

  • sessionState:出力文字列。 セッションのステート。 共有パラメータを参照してください。

  • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • tagCreateDate:出力整数。 共有パラメータを参照してください。

  • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータを参照してください。

  • tagOffset:addSessionTag のオプション整数。 このタグのセッション開始から経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • tagType:出力文字列。 共有パラメータを参照してください。

  • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • trackMediaType:出力整数。 共有パラメータを参照してください。

  • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子です。 共有パラメータを参照してください。

  • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • trackStartDate:出力整数。 共有パラメータを参照してください。

  • urls:出力 JSON オブジェクト。 共有パラメータを参照してください。

  • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータを参照してください。

例 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

HTTP メソッド

GET

パラメータ(Parameters)

  • callControllerIP:出力文字列。 共有パラメータを参照してください。

  • callControllerType:出力文字列。 共有パラメータを参照してください。

  • ccid:出力文字列。 同じコールの一部となっている録音セッションを識別するために使用されます。 共有パラメータを参照してください。

  • codec:出力文字列。 トラックのコーデック。 共有パラメータを参照してください。

  • deviceId:出力文字列。 デバイスの一意の識別子。 共有パラメータを参照してください。

  • deviceRef:出力文字列。 各デバイスの電話番号。 共有パラメータを参照してください。

  • downloadUrl:出力文字列。 raw 形式で録音をダウンロードするために使用される URL。 共有パラメータを参照してください。

  • httpUrl:出力文字列。 セッションの HTTPS リンク。 共有パラメータを参照してください。

  • isConference:出力ブール。 共有パラメータを参照してください。

  • limit:必須入力整数。 返されるレコード数(指定したオフセットから数えます)。 共有パラメータを参照してください。

  • maxSessionStartDate:オプション入力整数。 共有パラメータを参照してください。

  • minSessionStartDate:オプション入力整数。 共有パラメータを参照してください。

  • mp4Url:出力文字列。 セッションの mp4 リンク。 共有パラメータを参照してください。

  • offset:オプション入力整数。 返される最初のレコード。 共有パラメータを参照してください。

  • participantDuration:出力整数。 セッション内で参加者がアクティブだった期間(ミリ秒単位)。 共有パラメータを参照してください。

  • participants:参加者オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • participantStartDate:出力整数。 共有パラメータを参照してください。

  • rtspUrl:出力文字列。 複数のトラックを含むことができるセッション全体への参照。 共有パラメータを参照してください。

  • sessions:セッション オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • sessionDuration:出力整数。 セッションが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • sessionId:出力文字列。 セッションのシステム生成識別子です。 共有パラメータを参照してください。

  • sessionStartDate:必須入力整数。 共有パラメータを参照してください。

  • sessionState:出力文字列。 セッションのステート。 共有パラメータを参照してください。

  • tags:タグ オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • tagCreateDate:出力整数。 共有パラメータを参照してください。

  • tagName:出力文字列。 録音にラベルを付けるために使用される名前です。 共有パラメータを参照してください。

  • tagOffset:addSessionTag のオプション整数。 このタグのセッション開始から経過した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • tagType:出力文字列。 共有パラメータを参照してください。

  • trackDuration:出力整数。 トラックが継続した時間(ミリ秒単位)。 共有パラメータを参照してください。

  • trackMediaType:出力整数。 共有パラメータを参照してください。

  • trackNumber:出力整数。 システムで生成されるトラックの一意の識別子です。 共有パラメータを参照してください。

  • tracks:トラック オブジェクトの出力 JSON アレイ。 共有パラメータを参照してください。

  • trackStartDate:出力整数。 共有パラメータを参照してください。

  • urls:出力 JSON オブジェクト。 共有パラメータを参照してください。

  • wavUrl:出力文字列。 セッションの wav リンク。 共有パラメータを参照してください。

例 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/
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 により、クライアントはセッションのメタデータ内にある複数の重要なデータ フィールドでのフィルタリングを可能にする、カスタム クエリーを形成できます。 また、これらのクエリーを組み合わせた柔軟な方法で、パワフルなメタデータ検索を実行できます。


(注)  


このカスタム クエリー機能は、正しく使用しないと、クエリー自体だけでなく MediaSense システム全体のパフォーマンスに重大な影響を与えることがあります。 システム上のトラフィックや使用中の保持機能に応じて、大量のセッション記録を保存するのは通常行われることです。 ただし、クエリーが大量のデータを処理する場合は完了までに数分かかる場合があります。 また、新しい記録とメタデータの処理に使用するシステム上のリソースに影響する可能性があります。同時に実行される他の大きなクエリーについては言うまでもありません。 たとえば、2 つの同時クエリーの両方が実行のために大量の一時データベース領域を必要とする場合、 そのうちの 1 つが容量不足でエラーとなる可能性があり、どちらがエラーになるかについての保証はありません。

この問題を回避するため、クライアントはスケーラブル なクエリーを形成することが重要です。 スケーラブル クエリーとは、データベースにどの程度データがあるかに関係なく、パフォーマンスが一定となるクエリーです。 スケーラブルなクエリーには、「開始日時が本日の 4 ~ 5 時の間であるセッションをすべて検索する」などがあります。 データベース内にどれだけ多くのセッションが存在する場合でも、本日の 4 ~ 5 時の間のセッション数は、かなり安定して少ないままです。 スケーラブルでないクエリーには「セッションをすべて検索する」などがあります。 戻されるセッション数は、データベース内のセッション数に比例する可能性があります。 大量のセッションが保存されている場合、結果は膨大な数になります。 そのため完了するまでに相当な時間がかかり、MediaSense システムの他の機能が必要とするリソースに影響を及ぼします。

該当するラッパー API の minSessionStartDate および maxSessionStartDate パラメータを使用することによって、膨大な数の結果を返すクエリーからシステムを保護できます。 これらのパラメータの具体的使用方法については、該当するセッション クエリー API を参照してください。

詳細については、スケーラブルでないクエリーの回避を参照してください。

スケーラブルでないクエリーの回避

このカスタム クエリー機能は、正しく使用しないと、クエリー自体だけでなく MediaSense システム全体のパフォーマンスに重大な影響を与えることがあります。 これは、システム上のトラフィックや使用中の保持機能に応じて、大量のセッション記録を保存することが可能であるためです。 このシステム パフォーマンスは通常のものです。 ただし、クエリーが大量のデータを処理する場合は完了までに数分かかる場合があります。 また、新しい記録とメタデータの処理に使用するシステム上のリソースに影響する可能性もあります。

この問題を回避するため、クライアントはスケーラブル クエリーを形成する必要があります。 スケーラブル クエリーとは、データベースにどの程度データがあるかに関係なく、パフォーマンスが一定となるクエリーです。 スケーラブルなクエリーには、「開始日時が本日の 4 ~ 5 時の間であるセッションをすべて検索する」などがあります。 データベース内にどれだけ多くのセッションが存在する場合でも、本日の 4 ~ 5 時の間のセッション数は、かなり安定して少ないままです。 スケーラブルでないクエリーには「セッションをすべて検索する」などがあります。 戻されるセッション数は、データベース内のセッション数に比例する可能性があります。 大量のセッションが保存されている場合、結果は膨大な数になります。 そのため完了するまでに相当な時間がかかり、MediaSense システムの他の機能が必要とするリソースに影響を及ぼします。

getSessions API で「すべてのセッションを検索する」クエリーを発行する直接的な方法はありませんが、ほぼ同じ結果を得られるカスタム クエリーを形成することはできます。 たとえば、すべてのセッションにメディア タイプが「オーディオ」のトラックが少なくとも 1 つあるので、「メディア タイプがオーディオであるすべてのセッションを検索する」というクエリーを送信する可能性があります。 このクエリーは防ぐことができず、システムのパフォーマンスに重大な影響を及ぼす原因になる可能性があります。 メディア タイプの特定の値(「オーディオ」)が指定されていますが、これで十分に制限されるわけではありません。 これは、すべてではなくてもほとんどのセッションに「オーディオ」のメディア タイプがあるからです。 大量のセッションがデータベースに保存されている場合、クエリーはこれらすべてのセッションを処理する必要があります。 このクエリーはスケーラブルでありません。


(注)  


小さいページ サイズの指定にページ番号の使用は役立ちません。 ページは、完全な結果のセットが処理された後に取得されますが、それでは遅すぎます。


処理されるセッション数を減らして、クエリーの範囲を小さくするのが優れた方法です。 この場合、クライアントが実際に必要とするのは、発生した過去数回のセッションです。 セッション数を削減するには「開始日時が 1 時間以上前のすべてのセッションを検索する」のようなクエリーにします。 これにより、返される結果がより少なくなります。 さらに重要なこととして、データベース内のセッション数に関係なく、ほぼ同じセッション数を返します。 このクエリーはスケーラブルです。

最新の 10 セッションのみが必要な場合、クライアントは開始日時フィールドの結果をソートする修飾子を追加して、最後の 10 行を表示するページ番号を指定することもできます。 基本の結果セットが小さいため、この修飾子の追加は手間のかかる操作ではありません。

メディア タイプをフィルタすることは、常に問題をもたらすわけではありません。 たとえば、次のクエリー「開始日時が前の火曜日で、メディア タイプがビデオであるすべてのセッションを検索する」はスケーラブルです。 まず、時間枠の設定によって結果セット全体を絞り込みます。 このクエリーは、メディア タイプが「ビデオ」となっているものだけを探すため、小さいセッションのセットのみを検索することになります。 この場合、メディア タイプ フィールドはスケーラブル フィルタと統合されるため、スケーラビリティに影響を与えません。

メタデータの各フィールドでは、スケーラビリティの程度を変えてセッションをフィルタすることができます。 参考として次の表をご覧ください。

表 1 フィールド名および相対的スケーラビリティ
フィールド名 相対的スケーラビリティ 注意

sessionId

スケーラブル

この値は一意です。 特定の ID を持つセッションについてクエリーを行うと、結果は 1 つだけ得られます。

sessionStartDate

スケーラブル

使用には注意が必要です。 不当に大きなウィンドウ サイズを指定すると、データベース内のセッションの大部分が結果として返されることになります。 時間枠は最大限に絞ってください。

maxSessionStartDate

スケーラブル

minSessionStartDate と併用すると、このパラメータで時間枠の上限を指定することができます。 結果の数を制限するために、適切なサイズのウィンドウを使用してください。 このパラメータがない場合、minSessionStartDate が必要となり、時間枠は 2 時間であると見なされます。

minSessionStartDate

スケーラブル

maxSessionStartDate と併用すると、このパラメータで時間枠の下限を指定することができます。 結果の数を制限するために、適切なサイズのウィンドウを使用してください。 このパラメータがない場合、maxSessionStartDate が必要となり、時間枠は 2 時間であると見なされます。

xrefCi

スケーラブル

この値は一意で、サイクルにしばらく時間がかかります。 特定の xrefCi 値を使用してフィルタリングを行った場合は、わずかな数のセッションしか取得しません。

pruned

ほとんどスケーラブルでない

これはブール フィールドです。 「false」を選択すると、データベースの大部分のセッションを取得する可能性があります。 「true」を選択すると、結果のセットは小さくスケーラブルになります。

tagType

sessionState

mediaType

ほとんどスケーラブルでない

わずか 2 つから 5 つの値です。 mediaType の「Audio」や sessionState の「Completed」などの値の場合、戻されるセッション数はデータベース内のセッション数に比例します。 その他の値も小さな結果セットを返すかもしれませんが、それもデータベース内のセッション数に比例します。

tagName

スケーラブルでない

タグを使用すると、同じタグ名が多数のセッションで繰り返し使用されていることがあります。 タグを使用するかぎり、返された結果のうち、特定のタグを含んでいるものの数は、データベース内のセッション数に比例する可能性があります。

deviceRef

スケーラブルでない

deviceRef フィールドにある内線番号は、多くのセッションでも出現する傾向があります。 頻繁に使用される数は、多くのセッションと関連付けられている傾向があります。 この数は、データベース内のセッション数に比例する可能性があります。

sessionDuration

スケーラブルでない

継続時間は多少違っても、「継続時間が 2 分未満のすべてのセッションを検索する」のように単純なクエリーは、データベース内のセッションの大部分を返すことになります。

nodeIPAddress partition

スケーラブルでない

パーティション数またはノード数は比較的少ないものです。 そのため、特定のパーティションやサーバ(ノード)と関連付けられているセッションは、データベース内のセッション数に比例したセッション数を返します。

フィールドとパラメータのコネクタがスケーラビリティに影響を与えます。 次の表を参照してください。

表 2 コネクタおよび相対的スケーラビリティ
コネクタ 相対的スケーラビリティ 注意
および スケーラブル このコネクタはフィルタのスコープを絞り込むため、通常は結果セットがより小さくなります。
または スケーラブルでない このコネクタはフィルタのスコープを広げるため、結果セットがより大きくなります。 これは、スケーラブルな演算子を使用したスケーラブル フィールドの接続フィルタに限定して使用する必要があります。

クエリー フィルタを定義する場合は、スケーラブル フィルタを必ず使用してください。 スケーラブルでないフィールドでフィルタリングする必要がある場合は、常に「and」のコネクタを使用して、結果セットの絞り込みを行うスケーラブル フィルタに接続します。

以下は、クライアント アプリケーションがシステム パフォーマンスに影響を及ぼすことなく MediaSense API を効果的に使用する方法のいくつかの例です。

セッションの進行状況を追跡するため、クライアント アプリケーションは、MediaSense のクエリーとイベントの両方の機能を活用することがあります。 クライアントは最初に希望するセッションの状態を収集する必要があります。これは、最初のクエリー、たとえば「最終日に開始された、内線番号 nnnn を含む、有効なすべてのセッションを検索する」によって行われます。 このクエリーにより、セッション数は最終日に開始されたセッションのみに限定され、クエリーはスケーラブルになります。 次に、指定された内線番号を含む有効なセッションはわずかしかないため、すぐに見つけ出せます。

このとき、クライアントはアプリケーション イベントをサブスクライブする必要があります。 セッションの状態が変わるにしたがい、この方法によってクライアントは進行状況を追跡できます。

これは、前述のシナリオと同様です。 アクティブ セッションの現在のセットを設定する最初のクエリーを作成します。たとえば「最終日に開始された、有効なすべてのセッションを検索する」などです。 データベース内のすべてのセッションを検索するのに、システム リソースを使い過ぎずに、アクティブなセッションをすべて検索するには 1 日で十分です。

クライアントは、イベント メカニズムを使用して、アクティブ セッションの進行状況を監視できます。 新しいセッションが作成されると、イベントはこれを追跡できるようにクライアントに通知します。 同様に、セッションを閉じた場合、追跡されたセッションのクライアント リストから削除することができます。 重要な点は、クライアントが初期設定のために主なデータベース クエリーを実行する必要があるということです。 それによって、システム リソースへの影響が最小限に抑えられます。

記録優先度の保存モードを使用するようにシステムが設定されていると、保存されている期間に基づいてセッションがプルーニングされます。 ただし、それらのセッションと関連づけられたメタデータは削除されません。 これは削除する前に管理者が確認できるように保存されます。 予測されるシーケンスは、クライアント アプリケーションが「プルーニング済み」セッションのリストを要求します。 その後、これらのセッションから該当のメタデータを表示します。 最後に、プルーニングされたセッションの中から、削除するものを 1 つ以上選択することができます。

次のようなクエリーによって、最初の一歩を踏み出すことができます。「直近 2 日間に開始された、プルーニングされた状態が「true」であるすべてのセッションを検索する」。 また、クエリーをスケーラブルにするために妥当な時間枠を使用します。 プルーニングは経過時間に基づくメカニズムを使用するため、少なくとも昨日よりも前の日付を参照してください。 これを毎日行わない場合、時間枠をほぼ 1 日に制限することもできます。 これは、サイトのトラフィックに依存します。 一度に約 100 件のセッションを返すクエリーは選択したくないものです。 これには何らかのテストが必要となる場合があります。

クライアントは、前回この操作を実行した最後の日までさかのぼって検索するまで、前日について 1 日ずつこの操作を再実行する必要があります。 クライアントは、ユーザにそのリストを示し、セッションを削除してよいか確認する場合もあります(同様に「delete all」オプションも提供します)。 クライアントは、API の deleteSessions メソッドを使用して、選択したセッションを削除するジョブを送信します。 deleteSessions メソッドは各セッションの削除を連続的に行うため、この場合はスケーラビリティの問題がありません。

削除の進行状況を監視するために、クライアントはイベント メカニズムを使用します。 各セッションが削除されると、イベント タイプが「deleted」のセッション イベントが生成されます。