この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この付録には、メッセージ シーケンスまたはコール シナリオをまとめました。さらに、Cisco Unified TSP でサポートしているコール シナリオも一部説明します。どのケースでもイベントの順序は保証されておらず、シナリオおよびイベントによって変化する場合があります。
|
|
エージェントの電話機:IP Phone B(DN 1002)
エージェントの電話機:IP Phone C(DN 1002)(共用回線)
アプリケーションは、すべてのデバイス上ですべての回線をモニタしている。
アプリケーションが回線をオープンすると、新しい拡張がネゴシエートされます。
SRTP は IVR 側でもサポートされています(次の使用例の変化形の場合があります)。
SCCP 電話:A(Customer/Remote)、B(Agent/Local)。
すべての回線は、拡張バージョン 0x000B0000 を指定してオープンされます。
A(Customer/Remote)は、SCCP 電話です。
B(Agent/Local)は、CTI ポート/ルート ポイントです。
SCCP 電話:A(Customer/Remote)、B、B’(Agent/Local)
特に指定された場合を除き、すべてのアナウンス コール使用例の前提条件は、次のとおりです。
操作 | TAPI メッセージ | TAPI 構造体 |
---|---|---|
アナウンス コールの作成: LineMakeCall() on Line-A: lpCallParams: devSpecific = Cisco_ CallParamsDevSpecific { dwCallPriority = 0x00000000; dwDevSpecificFlags = 0x00000004 (Cisco_ CALLPARAMS_ DEVSPECIFICFLAGS_ ANNOUNCEMENTCALL) } CallData = "WelcomeID" |
LINE_ CALLSTATE hDevice = hCall-2 dwParam1 = 0x40000002 (CLDSMT_ ANNOUNCEMENT_ CALL_ STATE + OFFERING) LINE_ CALLSTATE dwParam1 = 0x40000004 (CLDSMT_ ANNOUNCEMENT_ CALL_ STATE + ACCEPTED) |
|
LINE_ CALLSTATE hDevice = hCall-2 dwParam1 = 0x40000100 (CLDSMT_ ANNOUNCEMENT_ CALL_ STATE + CONNECTED) LINE_ CALLDEVSPECIFIC hDevice = hCall-2 dwParam1 = SLDSMT_ ANNOUNCEMENT_ STARTED dwParam2 = 0 dwParam3 = 0 |
LINECALLINFO (hCall-2) dwOrigin = OUTBOUND dwReason = DIRECT CallerID = 5000 CallerIDName = RD5000 CalledID = A ConnectedID = 5000 DevSpecific 部分: CallAttributeType = 0x00008000 ( TSPCallAttribute_ AnnouncementCall) |
|
LINE_ CALLDEVSPECIFIC hDevice = hCall-2 dwParam1 = SLDSMT_ ANNOUNCEMENT_ ENDED dwParam2 = 0 dwParam3 = 0 |
||
LINE_ CALLSTATE dwParam1 = 0x40004000 (CLDSMT_ ANNOUNCEMENT_ CALL_ STATE + DIS CONNECTED) |
||
LINE_ CALLSTATE dwParam1 = 0x40000001 (CLDSMT_ ANNOUNCEMENT_ CALL_ STATE + IDLE ) |
操作 | TAPI メッセージ | TAPI 構造体 |
---|---|---|
アナウンス コールの作成: LineMakeCall() on Line-A: lpCallParams: devSpecific = Cisco_ CallParamsDevSpecific { dwCallPriority = 0x00000000; dwDevSpecificFlags = 0x00000004 (Cisco_ CALLPARAMS_ DEVSPECIFICFLAGS_ ANNOUNCEMENTCALL) } CallData = "WelcomeID" |
LINE_ CALLSTATE hDevice = hCall-2 dwParam1 = 0x40000002 (CLDSMT_ ANNOUNCEMENT_ CALL_ STATE + OFFERING) LINE_ CALLSTATE dwParam1 = 0x40000004 (CLDSMT_ ANNOUNCEMENT_ CALL_ STATE + ACCEPTED) |
|
LINE_ CALLSTATE hDevice = hCall-2 dwParam1 = 0x40000100 (CLDSMT_ ANNOUNCEMENT_ CALL_ STATE + CONNECTED) LINE_ CALLDEVSPECIFIC hDevice = hCall-2 dwParam1 = SLDSMT_ ANNOUNCEMENT_ STARTED dwParam2 = 0 dwParam3 = 0 |
LINECALLINFO (hCall-2) dwOrigin = OUTBOUND dwReason = DIRECT CallerID = 5000 CallerIDName = RD5000 CalledID = A ConnectedID = 5000 DevSpecific 部分: CallAttributeType = 0x00008000 ( TSPCallAttribute_ AnnouncementCall) |
|
アナウンス コールのドロップ: (アナウンス再生中) LineDrop() on Line-A: |
LINE_ CALLDEVSPECIFIC hDevice = hCall-2 dwParam1 = SLDSMT_ ANNOUNCEMENT_ ENDED dwParam2 = 0 dwParam3 = 0 LINE_ CALLSTATE dwParam1 = 0x40004000 (CLDSMT_ ANNOUNCEMENT_ CALL_ STATE + DIS CONNECTED) LINE_ CALLSTATE dwParam1 = 0x40000001 (CLDSMT_ ANNOUNCEMENT_ CALL_ STATE + IDLE ) |
操作 | TAPI メッセージ | TAPI 構造体 |
---|---|---|
アナウンス コールの作成: LineMakeCall() on Line-A: lpCallParams: devSpecific = Cisco_ CallParamsDevSpecific { dwCallPriority = 0x00000000; dwDevSpecificFlags = 0x00000004 (Cisco_ CALLPARAMS_ DEVSPECIFICFLAGS_ ANNOUNCEMENTCALL) } CallData = "WelcomeID" |
LINE_ REPLY LINEERR_ NO_ PERSISTENT_ CALL_ EXISTS (0xC0000021) |
次の表に、A が B にコールを発信し、B が応答する場合、および A と B が接続される場合にブラインド転送を行うメッセージ シーケンスを示します。
SCCP 電話機 A(1900)は、クラスタ A に登録されています。
電話機 A は、エンドユーザ クラスタ 1 に関連付けられています。
SCCP 電話機 B(1000)は、クラスタ B に登録されています。
電話機 B は、エンドユーザ クラスタ 2 に関連付けられています。
CUCM は SAF ネットワークからパターン 10XX、および PSTN フェールオーバー ルールを 0:1408972 として取得します。TAPI は、A を監視しています。
アプリケーションが A で lineMakeCall を送信して B をコールします。
SCCP 電話機 A は、クラスタ A に登録されています。
電話機 A は、エンドユーザ cluster1 にアソシエートされています。
SCCP 電話機 B(1000)は、クラスタ B に登録されています。
電話機 B は、エンドユーザ cluster2 にアソシエートされています。
CUCM はパターン 10XX を取得します。SAF ネットワークからの PSTN フェールオーバー ルール(0:1408972)は設定されていません。
アプリケーションが A で lineMakeCall を送信して B を呼び出します。
SCCP 電話機 A および B は、クラスタ A に登録されています。
電話機 A および B は、エンドユーザ クラスタ 1 に関連付けられています。
SCCP 電話機 C(1000)は、クラスタ B に登録されています。
電話機 C は、エンドユーザ クラスタ 2 に関連付けられています。
CUCM は SAF ネットワークからパターン 10XX、および PSTN フェールオーバー ルールを 0:1408972 として取得します。
アプリケーションが A で lineMakeCall を送信して B をコールします。
SCCP 電話機 A および B は、クラスタ A に登録されています。
電話機 A(1900)および B(1901)は、エンドユーザ クラスタ 1 に関連付けられています。
SCCP 電話機 C(1000)は、クラスタ B に登録されています。
電話機 C は、エンドユーザ クラスタ 2 に関連付けられています。
CUCM は SAF ネットワークからパターン 10XX、および PSTN フェールオーバー ルールを 0:1408972 として取得します。
アプリケーションが A で lineMakeCall を送信して B を呼び出します。
SCCP 電話機 A および B は、クラスタ A に登録されています。
電話機 A(1900)および B(1901)は、エンドユーザ クラスタ 1 に関連付けられています。
SCCP 電話機 C(1000)は、クラスタ B に登録されています。
電話機 C は、エンドユーザ クラスタ 2 に関連付けられています。
CUCM はパターン 10XX、および SAF ネットワークからのフェールオーバー ルールとして 0:1408972 を取得します。
アプリケーションが A で lineMakeCall を送信して B をコールします。
SCCP 電話機 A(1900)は、クラスタ A に登録されています。
電話機 A は、エンドユーザ クラスタ 1 に関連付けられています。
SCCP 電話機 B(1000)は、クラスタ B に登録されています。
電話機 B は、エンドユーザ クラスタ 2 に関連付けられています。
CUCM はパターン 10XX を取得します。SAF ネットワークとして無限の帯域幅を持つ PSTN フェールオーバー ルールは存在しません。TAPI は A を監視しています。
アプリケーションが A で lineMakeCall を送信して B をコールします。
SCCP 電話機 A および B は、クラスタ A に登録されています。
電話機 A および B は、エンドユーザ クラスタ 1 に関連付けられています。
SCCP 電話機 C(1000)は、クラスタ B に登録されています。
アプリケーションが A で lineMakeCall を送信して B をコールします。
SCCP 電話機 A および B は、クラスタ A に登録されています。
電話機 A および B は、エンドユーザ クラスタ 1 に関連付けられています。
SCCP 電話機 C(1000)は、クラスタ B に登録されています。
電話機 C は、エンドユーザ クラスタ 2 に関連付けられています。
CUCM はパターン 10XX、および SAF ネットワークからのフェールオーバー ルールとして 0:1408972 を取得します。SAF ネットワークには無限の帯域幅があります。
アプリケーションが A で lineMakeCall を送信して B をコールします。
アプリケーションが新しい ExtVersion 0x000A0000 で回線をオープンします。デバイスがオンフック状態のときに、ユーザが A で CFwdAll ソフトキーを押します。
|
|
|
|
||
|
LINECALLINFO::DEVSPECIFIC に CallAttributeBitMask 0x00000040 が含まれている |
アプリケーションが新しい ExtVersion 0x000A0000 で回線をオープンします。デバイスがオフ フック状態になります。
|
|
|
|
||
|
LINECALLINFO::DEVSPECIFIC に CallAttributeBitMask : 0x00000000 が含まれている |
デバイスがオフ フック状態になります。アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 で回線 A をオープンします。
|
|
|
|
||
|
ユーザがデバイスで CFwdAll ソフトキーを押します。アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 で回線 A をオープンします。
|
|
|
|
||
|
LINECALLINFO::DEVSPECIFIC に CallAttributeBitMask : 0x00000040 が含まれている |
TAPI アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 で回線 A をオープンします。デバイスがオフ フックになり、ユーザが CFwdAll ソフトキーを押します。
|
||
LINECALLINFO::DEVSPECIFIC に CallAttributeBitMask : 0x00000040 が含まれている |
||
|
LINECALLINFO::DEVSPECIFIC に CallAttributeBitMask : 0x00000000 が含まれている |
TAPI アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 でデバイスのすべての回線(A1 および A2)をオープンします。ユーザが CFwdAll ソフトキーを押します。
|
|
|
|
||
|
LINECALLINFO::DEVSPECIFIC に CallAttributeBitMask : 0x00000040 が含まれている |
TAPI アプリケーションは LineInitialize を実行し、新しい ExtVersion 0x000A0000 でデバイスのすべての回線(A1 および A2)をオープンします。ユーザが回線 A2 を選択し、CFwdAll ソフトキーを押します。
|
|
|
|
||
|
LINECALLINFO::DEVSPECIFIC に CallAttributeBitMask : 0x00000000 が含まれている |
TAPI アプリケーションが LineInitialize を実行し、デバイス P および Q 上で新しい ExtVersion 0x000A0000 を指定して共有回線 A をオープンします。ユーザがデバイス P で CFwdAll ソフトキーを押します。
|
|
|
|
||
|
LINECALLINFO::DEVSPECIFIC に CallAttributeBitMask : 0x00000040 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に CallAttributeBitMask : 0x00000000 が含まれている |
TAPI アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 で回線 A をオープンします。ユーザが CFwdAll ソフトキーに続いてコール転送先番号を入力し、回線 A にコール転送を設定します。
その後、ユーザがもう一度 [CFwdAll] ソフトキーを押してコール転送設定をキャンセルします。
|
|
|
|
||
|
LINECALLINFO::DEVSPECIFIC に CallAttributeBitMask : 0x00000040 が含まれている |
|
|
||
|
LINECALLINFO::DEVSPECIFIC に CallAttributeBitMask : 0x00000080 が含まれている |
通話者 C をモニタしている TAPI アプリケーションで B の IP アドレスが使用可能になる。
通話者 C をモニタリングしている TAPI アプリケーションで A の発信者 IP アドレスが使用不能になる(サポートされているシナリオではありません)
通話者 C をモニタしている TAPI アプリケーションで B の IP アドレスが使用可能になる。
通話者 C をモニタしている TAPI アプリケーションで A と B の発信者 IP アドレスが使用不能になる(サポートされているシナリオではありません)
TAPI アプリケーションは通話者 B と通話者 C をモニタする
通話者 B をモニタしている TAPI アプリケーションで A の IP アドレスが使用可能になる
通話者 B をモニタしている TAPI アプリケーションで発信者 IP アドレスが使用不能になる(サポートされているシナリオではありません)
操作 |
CTI メッセージ |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|---|
PSTN 番号 5551212/<SUBSCRIBER> からサンノゼのゲートウェイ経由で CCM エンド ポイント 2000 にコールがオファーされる |
CallStateChangedEvent, UnModified Calling Party = 5551212, UnModified Called Party = 2000, UnModified Original Called Party = 2000, Modified Calling Party = 5551212, Modified Called Party = 2000, Modified Original Called Party = 2000, Globalized Calling party = +14085551212, Calling Party Number Type = SUBSCRIBER, Called Party Number Type = UNKNOWN, Original Called Party Number Type, = UNKNOWN State = Connected, Origin = OutBound, Reason = Direct |
LINE_CALLSTATE = CONNECTED |
LINECALLINFO Displayed Calling Party = 5551212, Displayed Called Party = 2000, Displayed Redirection Party = , Displayed Redirected Party = , Globalized Calling Party = +14085551212, Calling Party Number Type = SUBSCRIBER, Called Party Number Type = UNKNOWN, Redirection Party Number Type = , Redirecting Party Number Type = |
操作 |
CTI メッセージ |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|---|
インドの PSTN 番号 22221111/<INTERNATIONAL> からサンノゼのゲートウェイ経由で CCM エンド ポイント 2000 にコールがオファーされる |
CallStateChangedEvent, UnModified Calling Party = 011914422221111, UnModified Called Party = 2000, UnModified Original Called Party = 2000, Modified Calling Party = 011914422221111, Modified Called Party = 2000, Modified Original Called Party = 2000, Globalized Calling party = +914422221111, Calling Party Number Type = INTERNATIONAL, Called Party Number Type = UNKNOWN, Original Called Party Number Type, = UNKNOWN State = Connected, Origin = OutBound, Reason = Direct |
LINE_CALLSTATE = CONNECTED |
LINECALLINFO Displayed Calling Party = 011914422221111, Displayed Called Party = 2000, Displayed Redirection Party = , Displayed Redirected Party = , Globalized Calling Party = +914422221111, Calling Party Number Type = INTERNATIONAL, Called Party Number Type = UNKNOWN, Redirection Party Number Type = , Redirecting Party Number Type = |
サービス パラメータ「Auto Call Pickup Enabled」が有効です。""
デバイス/回線:1000:P1、1001:P1、1002:P1、4000:P1 および 4001:P1
ピックアップ グループ P1:1111 が設定されています。
P1:1000、P1:1001、P1:1002 はすべて、ピックアップ グループ P1:1111 にあります。
アプリケーションは、PickUpGroup P1:1111 の DN およびパーティション情報を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|
DN とパーティション情報が、ピックアップ グループの DN とパーティションになる |
アプリケーションは、InValid DN または Partition を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|
|
アプリケーションは、PickUpGroup P1:1111 の DN およびパーティション情報を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|||||
回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する |
|||||
アプリケーションは、P1:1000 で CallPickup オプションを指定して、CCiscoLineDevSpecificPickUpCallFromPickupGroup を送信する |
LINE_CALLSTATE(state = LINECALLSTATE_CONNECTED 指定) Caller = 4000, Called = 1002, Connected = 4000, dwReason = PickUp, dwOrigin = Outbound
|
||||
バリエーション:アプリケーションは、P1:1002 で CallPickup オプションを指定して、CCiscoLineDevSpecificPickUpCallFromPickupGroup を送信する |
アプリケーションは、PickUpGroup P1:1111 の DN およびパーティション情報を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|||
回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する |
|||
回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する |
|||
|
dwCallState : PickupCallState (0x10000000) |
||
アプリケーションは、P1:1000 で CallPickup オプションを指定して、CCiscoLineDevSpecificPickUpCallFromPickupGroup を送信する |
LINE_CALLSTATE(state = LINECALLSTATE_CONNECTED 指定) Caller = 4000, Called = 1002, Connected = 4000, dwReason = Direct, dwOrigin = Internal
|
ピックアップ グループ P1:9999 が設定されています。
アプリケーションは、PickUpGroup P1:1111 の DN およびパーティション情報を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|
ここで Admin ページから、1000:P1 回線の CallPickupGroup を None または他のグループの P1:9999 に変更する |
アプリケーションは、PickUpGroup P1:1111 の DN およびパーティション情報を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|
回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する |
|
アプリケーションは、PickUpGroup P1:1111 の DN およびパーティション情報を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|
[コールをキューイング(Queue Calls)] チェックボックスがオンになっています。
[回線グループ メンバー DN を接続側として表示(Display Line Group Member DN as Connected Party)] チェックボックスがオンになっています。
ExtendedCallReason = x1(DirectCall)
|
|
|
LG1 のコールが IDLE になる(LG1 は空いている)。A からのキューイングされているコールはキュー解除され、LG1 でオファーされる。
バリエーション:[回線グループ メンバー DN を接続側として表示(Display Line Group Member DN as Connected Party)] がオンになっている
|
ExtendedCallReason = x2e(CallDeQueue) ExtendedCallReason = x2e(CallDeQueue)
ExtendedCallReason = x2e(CallDeQueue) ExtendedCallReason = x2e(CallDeQueue)
|
|
|
|
ExtendedCallReason = x1(DirectCall) ExtendedCallReason = x30(CallDeQueueAgentsBusy)
ExtendedCallReason = x1(DirectCall) |
HP2 の LG1 のコールが IDLE になる(LG1 は空いている)。A からのキューイングされているコールはキュー解除され、LG1 でオファーされる。 |
ExtendedCallReason = x1(DirectCall)
ExtendedCallReason = x30(CallDeQueueAgentsBusy)
ExtendedCallReason = x1(DirectCall)
|
アプリケーションが A から HP1 へのコールを開始する。
|
ExtendedCallReason = x1(DirectCall)
|
|
ExtendedCallReason = x2d(CallQueue) ExtendedCallReason = x2f(CallDeQueueTimerExpired)
ExtendedCallReason = x2d(CallQueue) |
ExtendedCallReason = x2d(CallQueue) ExtendedCallReason = x2d(CallQueue) ExtendedCallReason = x2f(CallDeQueueTimerExpired) ExtendedCallReason = x2d(CallQueue) |
アプリケーションが A から HP1 へのコールを開始する。(登録またはログインされているハントメンバなし)。 ログインまたは登録されているエージェントがない場合の接続先 = 'B'
|
ExtendedCallReason = x1(DirectCall)
ExtendedCallReason = x31(CallDeQueueAgentsUnavailable) ExtendedCallReason = x1(DirectCall) |
アプリケーションが A から HP1 へのコールを開始する。(登録またはログインされているハントメンバなし)。 ログインまたは登録されているエージェントがない場合の接続先 = 'HP2'
|
ExtendedCallReason = x1(DirectCall)
ExtendedCallReason = x31(CallDeQueueAgentsUnavailable)
ExtendedCallReason = x1(DirectCall)
|
ExtendedCallReason = x1(DirectCall) |
|
ExtendedCallReason = x7(BlindTransferCall) CallReason = x100(LINECALLREASON_TRANSFER) ExtendedCallReason = x7(BlindTransferCall) ExtendedCallReason = x1(DirectCall) |
|
|
ExtendedCallReason = x6(Redirect) CallReason = x40(LINECALLREASON_REDIRECT) ExtendedCallReason = x6(Redirect) ExtendedCallReason = x1(DirectCall) CallReason = x40(LINECALLREASON_REDIRECT) |
|
ExtendedCallReason = x1(DirectCall)
CallReason = x8(LINECALLREASON_FWDUNCOND) ExtendedCallReason = x5(ForwardAllCall) ExtendedCallReason = x1(DirectCall) CallReason = x8(LINECALLREASON_FWDUNCOND) |
ExtendedCallReason = x2d(CallQueue)
|
|
A のキューイングされているコールが B にリダイレクトされる。B が応答する。 LG1 のコールが IDLE になる(LG1 は空いている)。B からのキューイングされているコールはキュー解除され、LG1 でオファーされる。
|
CallReason = x40(LINECALLREASON_REDIRECT) ExtendedCallReason = x6(Redirect)
ExtendedCallReason = x2e(CallDeQueue) CallReason = x40(LINECALLREASON_REDIRECT) ExtendedCallReason = x2e(CallDeQueue) ExtendedCallReason = x2e(CallDeQueue)
|
|
アプリケーションは、PickUpGroup P1:1111 の DN およびパーティション情報を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|||
回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する |
|||
回線 P1:1111 について OutofService を実行する 回線 P1:1111 について INService を実行する
|
サービス パラメータ「Auto Call Pickup Enabled」が有効です。""
ピックアップ グループ P1:1111 が設定され、オープンされています。
P1:1000、P1:1001、P1:1002 はすべて、ピックアップ グループ P1:1111 にあります。
P1:2000、P1:2001、P1:2002 はすべて、ピックアップ グループ P1:2222 にあります。
アプリケーションは、PickUpGroup P1:1111 の DN およびパーティション情報を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|||
回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する |
|||
アプリケーションは、P1:2000 で GroupCallPickup オプションおよび GroupPickUp DN 1111 を指定して、CCiscoLineDevSpecificPickUpCallFromPickupGroup を送信する |
アプリケーションは、P1:2000 で P1:2000Events の GroupCallPickup オプションおよび GroupPickUp DN 1111 を指定して、CCiscoLineDevSpecificPickUpCallFromPickupGroup を送信する LINE_CALLSTATE(state = LINECALLSTATE_CONNECTED 指定) Caller = 4000, Called = 1111, Connected = 4000, dwReason = Direct, dwOrigin = Internal
|
サービス パラメータ「Auto Call Pickup Enabled」が有効です。""
ピックアップ グループ P1:1111、P1:2222、P1:3333 が設定され、オープンされています。
P1:1000、P1:1001、P1:1002 はすべて、ピックアップ グループ P1:1111 にあります。
P1:2000、P1:2001、P1:2002 はすべて、ピックアップ グループ P1:2222 にあります。
P1:3000、P1:3001、P1:3002 はすべて、ピックアップ グループ P1:3333 にあります。
P1:1111、および P1:2222 は、プライオリティの順にピックアップ グループ P1:3333 に含まれています。
アプリケーションは、PickUpGroup P1:1111 の DN およびパーティション情報を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|||
|
回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する 回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する |
||
アプリケーションは、P1:3000 で OtherPickup オプションを指定して、CCiscoLineDevSpecificPickUpCallFromPickupGroup を送信する
|
LINE_CALLSTATE(state = LINECALLSTATE_CONNECTED 指定) Caller = 4001, Called = 1000, Connected = 4001, dwReason = Direct, dwOrigin = Internal |
アプリケーションは、PickUpGroup P1:1111 の DN およびパーティション情報を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|
|
回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する 回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する |
アプリケーションは、P1:10001 でピックアップ グループ DN(1000)による DirectCallPickup オプションを指定して、CCiscoLineDevSpecificPickUpCallFromPickupGroup を送信する |
LINE_CALLSTATE(state = LINECALLSTATE_CONNECTED 指定) Caller = 1001, Called = 1000, Connected = 4001, dwReason = Direct, dwOrigin = Internal |
サービス パラメータ「Auto Call Pickup Enabled」が有効です。
P1:2000 がすでにアプリケーションによってオープンされています。
ピックアップ グループ P1:1111、P1:2222、P1:3333 が設定され、オープンされています。
P1:1000、P1:1001、P1:1002 はすべて、ピックアップ グループ P1:1111 にあります。
P1:2000、P1:2001、P1:2002 はすべて、ピックアップ グループ P1:2222 にあります。
アプリケーションは、PickUpGroup P1:1111 の DN およびパーティション情報を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|
回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する
|
|
アプリケーションは、P1:2000 で CallPickup オプションを指定して、CCiscoLineDevSpecificPickUpCallFromPickupGroup を送信する |
サービス パラメータ「Auto Call Pickup Enabled」が有効です。
ピックアップ グループ P1:1111、P1:2222、P1:3333 が設定され、オープンされています。
P1:1000、P1:1001、P1:1002 はすべて、ピックアップ グループ P1:1111 にあります。
P1:2000、P1:2001、P1:2002 はすべて、ピックアップ グループ P1:2222 にあります。
P1:3000、P1:3001、P1:3002 はすべて、ピックアップ グループ P1:3333 にあります。
P1:1111、および P1:2222 は、プライオリティの順にピックアップ グループ P1:3333 に含まれています。
アプリケーションは、PickUpGroup P1:1111 の DN およびパーティション情報を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|
|
回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する 回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する |
アプリケーションは、P1:3000 でピックアップ グループ(3333)による GroupPickup オプションを指定して、CCiscoLineDevSpecificPickUpCallFromPickupGroup を送信する |
アプリケーションは、PickUpGroup P1:1111 の DN およびパーティション情報を指定して、CCiscoLineDevSpecificRegisterCallPickupGroupForNotification を送信する |
|
回線 P1:1111 上で、アプリケーションに対し、State = LINECALLSTATE_UNKNOWN を指定して LINE_CALLSTATE を送信する |
|
アプリケーションは、P1:3000 でピックアップ グループ(9999)による GroupPickup オプションを指定して、CCiscoLineDevSpecificPickUpCallFromPickupGroup を送信する
|
Line_Reply でエラー「LINEERR_OPERATIONFAILED」が報告される Line_Reply でエラー「LINEERR_INVALLINESTATE」が報告される |
操作 | TAPI メッセージ | TAPI 構造体 |
---|---|---|
PhoneInitializeEx/LineInitializeEx | デバイスが列挙されている/回線が列挙されている |
(注) | アプリケーションは変更の前にデバイス/回線を制御/モニタできます。 バリエーション:CiscoTSP と CTI 間のセキュア CUCM およびセキュア接続と同じテストをします。 |
操作 | TAPI メッセージ | TAPI 構造体 |
---|---|---|
PhoneInitializeEx/LineInitializeEx | デバイスが列挙されている/回線が列挙されている |
(注) | アプリケーションは変更の前にデバイス/回線を制御/モニタできます |
操作 | TAPI メッセージ | TAPI 構造体 |
---|---|---|
PhoneInitializeEx/LineInitializeEx | 初期化が失敗し、CiscoTSP デバイスは列挙されません。 |
Notifier は、プロバイダーの初期化が失敗したことを示すエラー メッセージを表示します。 エラー:プロバイダーの初期化に失敗しました - 互換性のないプロトコル バージョン |
|
||
|
||
RegisteredIPAddressMode = IPAddress_IPv4_only RegisteredIPv4Address = "10.77.31.250"(FA1F4D0A:リトル エンディアンの 16 進形式) |
||
デバイス TAPI100 が WiFi ネットワーク間を移動するため、IPv4 アドレスが 10.77.31.250 から 10.77.31.176 に変更される バリエーション 1:デバイス TAPI100 は、新しい IP(2001:db8::1:0:0:1)を使用して IPv4 ネットワークから IPv6 ネットワークに移動する バリエーション 2:デバイス TAPI100 はドック/ドック解除されるため、WAN/LAN からワイヤレス ネットワークに切り替える |
dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_DEVICE_IPADDRESS
|
|
RegisteredIPAddressMode = IPAddress_IPv4_only RegisteredIPv4Address = "10.77.31.176"(B01F4D0A:リトル エンディアンの 16 進形式) RegisteredIPAddressMode = IPAddress_IPv6_only RegisteredIPv6Address = "2001:db8::1:0:0:1" (アプリケーションは、LINEDEVCAPS の IPv6 アドレスのオフセットおよびサイズ フィールドを使用して、IPv6 アドレスの値を取得する必要がある) |
|
||
|
||
RegisteredIPAddressMode = IPAddress_IPv4_only RegisteredIPv4Address = "10.77.31.250"(FA1F4D0A:リトル エンディアンの 16 進形式) |
||
デバイス TAPI100 が WiFi ネットワーク間を移動するため、IPv4 アドレスが 10.77.31.250 から 10.77.31.176 に変更される バリエーション 1:デバイス TAPI100 は、新しい IP(2001:db8::1:0:0:1)を使用して IPv4 ネットワークから IPv6 ネットワークに移動する バリエーション 2:デバイス TAPI100 はドック/ドック解除されるため、WAN/LAN からワイヤレス ネットワークに切り替える |
dwParam1 = CPDSMT_PHONE_PROPERTY_ CHANGED_EVENT dwParam2 = PPCT_DEVICE_IPADDRESS
|
|
RegisteredIPAddressMode = IPAddress_IPv4_only RegisteredIPv4Address = "10.77.31.176"(B01F4D0A:リトル エンディアンの 16 進形式) Phone Name = Cisco Phone [SEP123456789000] RegisteredIPAddressMode = IPAddress_IPv6_only RegisteredIPv6Address = "2001:db8::1:0:0:1" (アプリケーションは、PHONEDEVCAPS の IPv6 アドレスのオフセットおよびサイズ フィールドを使用して、IPv6 アドレスの値を取得する必要がある) RegisteredIPAddressMode = IPAddress_IPv4_only RegisteredIPv4Address = "10.77.31.176"(B01F4D0A:リトル エンディアンの 16 進形式) |
クリック ツー会議機能を使用して作成された 3 者間の会議:
Calling = A, Called = B, Connected = B Calling = A, Called = C, Connected = C Calling = A, Called = B, Connected = A Calling = B, Called = C, Connected = C ExtendedCallReason = ClickToConference |
Calling = A, Called = B, Connected = B Calling = A, Called = C, Connected = C Calling = A, Called = B, Connected = A Calling = C, Called = C, Connected = C ExtendedCallReason = ClickToConference |
|
Calling = A, Called = B, Connected = B Calling = A, Called = C, Connected = C Calling = A, Called = D, Connected = D Calling = A, Called = B, Connected = A Calling = B, Called = C, Connected = C Calling = B, Called = D, Connected = D ExtendedCallReason = ClickToConference Calling = C, Called = A, Connected = A Calling = C, Called = B, Connected = B |
|
|
Calling = D, Called = A, Connected = A |
操作 |
イベント |
---|---|
クリック ツー会議機能を使用して会議を作成し、C を会議に追加する |
A: CONNECTED reason = DIRECT ExtendedCallReason = DIRECT CONFERENCED Calling = A, Called = B, Connected = B CONFERENCED Calling = A, Called = C, Connected = C B: CONNECTED reason = DIRECT ExtendedCallReason = DIRECT CONFERENCED Calling = A, Called = B, Connected = A CONFERENCED Calling = B, Called = C, Connected = C C: CONNECTED Reason = UNKNOWN ExtendedCallReason = ClickToConference CONFERENCED Calling = C, Called = A, Connected = A CONFERENCED Calling = C, Called = B, Connected = B |
C をクリック ツー会議から切断する |
A: CONNECTED Reason = DIRECT ExtendedCallReason = DIRECT Calling = A, Called = B, Connected = B B: CONNECTED Reason = DIRECT ExtendedCallReason = DIRECT Calling = A, Called = B, Connected = A C: IDLE |
操作 |
イベント |
---|---|
クリック ツー会議機能を使用して会議を作成し、C を会議に追加する |
A: CONNECTED reason = DIRECT ExtendedCallReason = DIRECT CONFERENCED Calling = A, Called = B, Connected = B CONFERENCED Calling = A, Called = C, Connected = C B: CONNECTED reason = DIRECT ExtendedCallReason = DIRECT CONFERENCED Calling = A, Called = B, Connected = A CONFERENCED Calling = B, Called = C, Connected = C C: CONNECTED Reason = UNKOWN ExtendedCallReason = ClickToConference CONFERENCED Calling = C, Called = A, Connected = A CONFERENCED Calling = C, Called = B, Connected = B |
会議全体を中断する |
A: IDLE
B: IDLE
C: IDLE |
A、B、および C が、A によって作成された会議に参加している。
Conference – Caller = A, Called = B, Connected = B Conference – Caller = A, Called = C, Connected = C Conference – Caller = A, Called = B, Connected = A Conference – Caller = B, Called = C, Connected = C |
|
Conference – Caller = A, Called = B, Connected = B Conference – Caller = A, Called = C, Connected = C Conference – Caller = A, Called = B, Connected = A Conference – Caller = B, Called = C, Connected = C Conference – Caller = B, Called = C, Connected = B Conference – Caller = C, Called = A, Connected = A |
|
Conference – Caller = A, Called = B, Connected = B Conference – Caller = A, Called = C, Connected = C Conference – Caller = A, Called = D, Connected = D Conference – Caller = A, Called = B, Connected = A Conference – Caller = B, Called = C, Connected = C Conference – Caller = B, Called = D, Connected = D Conference – Caller = B, Called = C, Connected = B Conference – Caller = C, Called = A, Connected = A Conference – Caller = C, Called = D, Connected = D Conference – Caller = C, Called = D, Connected = C |
A が B にコールを発信し、B が応答する。その後 B が C に対して会議を開始し、C が応答する。その後、B が会議を開催する |
|
|
|
前提条件:ユーザの制御リストに CTI リモート デバイス「CTIRD1」があります。CTIRD1 デバイスに、3 つのリモート接続先が設定されています。
操作 |
CTI メッセージ/イベント |
---|---|
アプリケーションがプロバイダーをオープンする。 |
CTI はユーザの制御リストに含まれているデバイスを取得する |
アプリケーションは、CTI に GetSignleDeviceAndLineInfoRequest を送信して CTIRD1 デバイスの情報を取得する。 |
CTI はアプリケーションに ProviderDeviceLineInfoEvent を送信し、「リモート接続先情報」構造体の一部としてデバイスに設定された 3 つの RD を提供する。 |
前提条件:ユーザの制御リストに CTI リモート デバイス「CTIRD1」があります。CTIRD1 デバイスに、3 つのリモート接続先が設定されています。
操作 |
CTI メッセージ/イベント |
---|---|
アプリケーションがプロバイダーをオープンする。 |
CTI はユーザの制御リストに含まれているデバイスを取得する |
アプリケーションは、アプリケーションに GetSignleDeviceAndLineInfoRequest を送信して CTIRD1 デバイスの情報を取得する。 |
CTI はアプリケーションに ProviderDeviceLineInfoEvent を送信し、「リモート接続先情報」構造体の一部としてデバイスに設定された 3 つの RD を提供する。 |
アプリケーションは管理ページからデバイス CTIRD1 をリセットする。 |
CTI はアプリケーションに ProviderDeviceRegisteredWithLineInfoNotify を送信し、「リモート接続先情報」構造体の一部としてデバイスに設定された 3 つの RD を提供する。 |
前提条件:
CTIRD(CTI リモート デバイス - 名前:CTIRDdrajesh)
CTI リモート デバイスに設定されている(設定される)リモート接続先:
RD1-CTIRD:(名前:Mobile、番号:914086271309)
RD2-CTIRD:(名前:Office、番号:914089022131)
Line-A(DN -1000):CTI リモート デバイスに設定されている Line-A(デバイス EP に設定されている企業 DN -1000 の共有回線)
EP(エンタープライズ電話 - SCCP - IP フォン)
デバイス EP に設定されている Line-A'(DN -1000)
CSF(CSF デバイス - 名前:CSFdrajesh)
デバイス CSF に設定されている Line-A''(DN -1000)
CSF デバイスに設定されているリモート接続先:
RD1-CSF:(名前:CSF-Mobile、番号:914086271310)
RD2-CSF:(名前:CSF-Office、番号:914089022132)
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
PhoneInitializeEx |
デバイスが列挙されている |
|
DeviceID として CTIRD のデバイス ID が指定された PhoneGetDevCaps() |
PhoneGetDevCaps() が success を返す |
PHONECAPS::PhoneInfo = "CTI Remote Device" PHONECAPS:: PhoneName = "Cisco Phone: [CTIRDdrajesh]" |
DeviceID として CSF のデバイス ID が指定された PhoneGetDevCaps() |
PhoneGetDevCaps() が success を返す |
PHONECAPS::PhoneInfo = "Cisco Unified Client Services Framework" PHONECAPS:: PhoneName = "Cisco Phone: [CSF-drajesh]" |
前提条件:前述の使用例と同じ。RD1-CTIRD および RD1-CSF がそれぞれのデバイスに設定されている
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として CTIRD 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
dwDeviceID として CSF 上の Line-A'' の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) リモート接続先情報: unicodeRDName = "CSF-Mobile" RDNumber = "91486271310" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
前提条件:前述の使用例に追加
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として CTIRD 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_REMOTE_DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として CTIRD 上の Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
管理ページから CTI リモート デバイスに他のリモート接続先 RD2-CTIRD を追加 RD2-CTIRD 情報:(名前:Office、番号:4089022131) |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として CTIRD 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_REMOTE_ DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) リモート接続先情報: unicodeRDName = "CSF-Mobile" RDNumber = "91486271310" isActiveRD = 0x00000000 unicodeRDName = "CSF-Office" RDNumber = "4089022132" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
前提条件:前述の使用例からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として CTIRD 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_REMOTE_ DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として CTIRD 上の Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
管理ページから CTI リモート デバイス「CTIRD」のリモート接続先 RD2-CTIRD の名前を更新 RD2-CTIRD 情報:(名前:Home、番号:4089022132) |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として CTIRD 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Home" RDNumber = "4089022132" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
管理ページから CTI リモート デバイス CTIRD のリモート接続先 RD2-CTIRD の番号を更新 RD2Info:(名前:Home、番号:4089021234) |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID を指定した lineGetDevCaps() |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific |
CTIRD 上の Line-A の LineDeviceId。 |
success |
リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Home" RDNumber = "4089021234" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
管理ページから CTI リモート デバイス CTIRD のリモート接続先 RD2-CTIRD の名前と番号を更新 RD2Info:(名前:Office、番号:4089022131) |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として CTIRD 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
それぞれの RD 情報で dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:前述の使用例からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として CTIRD 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_REMOTE_ DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
管理ページから CTI リモート デバイス CTIRD のリモート接続先 RD2-CTIRD を削除 RD2Info:(名前:Office、番号:4089022131) |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:前述の使用例に追加
CTIRD2(CTI リモート デバイス:RemoteDestination が設定されていない)
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として CTIRD2 上の Line-C の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_REMOTE_ DEVICE(0x03) リモート接続先の情報は空 RemoteDestinationOffset = 0 RemoteDestinationSize = 0 RemoteDestinationCount = 0 RemoteDestinationElementFixedSize = 0 IsMyAppLastToSetActiveRD = 0x00000000 |
前提条件:前述の使用例に追加
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として EP 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific DeviceProtocolType = DeviceProtocolType_SCCP (0x01) リモート接続先の情報は空 RemoteDestinationOffset = 0 RemoteDestinationSize = 0 RemoteDestinationCount = 0 RemoteDestinationElementFixedSize = 0 IsMyAppLastToSetActiveRD = 0x00000000 |
前提条件:管理ページからすべての RD を削除する
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として CTIRD 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_REMOTE_ DEVICE(0x03) リモート接続先情報: RemoteDestinationOffset = 0 RemoteDestinationSize = 0 RemoteDestinationCount = 0 RemoteDestinationElementFixedSize = 0 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として Line-A の LineDeviceID が指定された LineOpen() CTI リモート デバイス CTIRD にリモート接続先 RD2-CTIRD を追加: CiscoLineDevSpecific AddRemoteDestination Req m_RDNumber = "4089022131" m_UnicodeRDName = "Office" m_activeRD = 0x00000000 |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE LINE_REPLY で成功が通知される EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:前述の使用例からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_REMOTE_ DEVICE(0x03) リモート接続先情報: unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
CTI リモート デバイス「CTIRD」の RD2-CTIRD のリモート接続先名を更新 CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "4089022131" m_UnicodeRDName = "Office-Change" m_NewRDNumber = "4089022131" m_activeRD = 0x00000000 |
LINE_REPLY で成功が通知される EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Office-Change" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
CTI リモート デバイス「CTIRD」の RD2-CTIRD のリモート接続先番号を更新 CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "4089022131" m_UnicodeRDName = "Office-Change" m_NewRDNumber = "4089020000" m_activeRD = 0x00000000 |
LINE_REPLY で成功が通知される EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Office-Change" RDNumber = "4089020000" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
CTI リモート デバイス「CTIRD」の RD2-CTIRD のリモート接続先名と番号を更新 CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "408902000" m_UnicodeRDName = "Office" m_NewRDNumber = "4089022131" m_activeRD = 0x00000000 |
LINE_REPLY で成功が通知される EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:前述の使用例からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として CTIRD 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_REMOTE_ DEVICE(0x03) リモート接続先情報: unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
ActiveRD として RD2-CTIRD を設定: Req CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "4089022131" m_UnicodeRDName = "Office" m_RDNumber = "4089022131" m_activeRD = 0x00000001 |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000001 IsMyAppLastToSetActiveRD = 0x00000001 |
LineShutdown() |
LineShutdown success |
|
RD をアクティブとして設定したアプリケーションをシャットダウンするか閉じると、アクティブ RD は False にリセットされる |
||
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として CTIRD 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:前述の使用例からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
ExtVer-0x000C0000 dwDeviceID として CTIRD 上の Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す |
|
RD2-CTIRD -「Office」をアクティブとして設定 |
||
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000001 IsMyAppLastToSetActiveRD = 0x00000001 |
「IsActive」が true に設定された CTI リモート デバイス CTIRD のリモート接続先 RD1-CTIRD を追加 CiscoLineDevSpecific AddRemoteDestination Req m_RDNumber = "914086271309" m_UnicodeRDName = "Mobile" m_activeRD = 0x00000001 |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として CTIRD 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000001 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000001 |
バリエーション: IsActive RD = False を指定して RD1-CTIRD を追加 |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000001 IsMyAppLastToSetActiveRD = 0x00000001 |
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:前の使用例のバリエーション(IsActive = false を指定して RD2 を追加)からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
ExtVer-0x000C0000 dwDeviceID として Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
RD2-CTIRD「Office」をアクティブとして設定 |
||
dwDeviceID として CTIRD 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000001 IsMyAppLastToSetActiveRD = 0x00000001 |
IsActive が true に設定された CTI リモート デバイス「CTIRD」のリモート接続先 RD1-CTIRD を更新 CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "914086271309" m_UnicodeRDName = "Mobile-t" m_NewRDNumber = "91408627130900" m_activeRD = 0x00000001 |
*** 2 つの変更通知 EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Mobile-t" RDNumber = "9148627130900" isActiveRD = 0x00000001 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000001 |
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:前述の使用例からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
ExtVer-0x000C0000 dwDeviceID として Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
RD1-CTIRD「Mobile t」をアクティブとして設定 |
||
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Mobile-t" RDNumber = "91486271309" isActiveRD = 0x00000001 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000001 |
CTI リモート デバイス「CTIRD」のリモート接続先 RD1-CTIRD を削除 CiscoLineDevSpecific AddRemoteDestination Req m_RDNumber = "9148627130900" |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:前述の使用例からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として CTIRD の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
CTI リモート デバイス CTIRD のリモート接続先を追加 バリエーション 1: 空の RD 番号: m_RDNumber = "" CiscoLineDevSpecific AddRemoteDestination Req m_RDNumber = "" m_UnicodeRDName = "" m_activeRD = 0x00000000 |
LineDevSpecific() が dwRequestID を返す LINE_REPLY lResult = LINEERR_INVALPARAM |
|
バリエーション 2: RDNumber:既存の RD 名のいずれかと同じ RD の番号 "12345":CUCM ですでに設定されている RD。 CiscoLineDevSpecific AddRemoteDestination Req m_RDNumber = "12345" m_UnicodeRDName = "Office" m_activeRD = 0x00000000 |
LineDevSpecific() が dwRequestID を返す LINE_REPLY lResult = LINEERR_DUPLICATE_INFORMATION (0xC0000013) |
|
バリエーション 3: CTI RD に使用するユーザ ID のユーザ制限に到達している状態で RD を追加する。 例:ユーザの制限が 4 に設定され、リモート デバイスにすでに 4 つのリモート接続先が設定されている場合に、ユーザがアプリケーションから 5 つめのリモート デバイスを追加しようとする。 CiscoLineDevSpecific AddRemoteDestination Req m_RDNumber = "12345" m_UnicodeRDName = "temp" m_activeRD = 0x00000000 |
LineDevSpecific() が dwRequestID を返す LINE_REPLY lResult = LINEERR_REMOTE_DESTINATION_LIMIT_EXCEEDED (0xC0000015) |
|
バリエーション 4: RDNumber:無効なリモート接続先名(name& など、名前にサポートされていない文字が含まれている)または無効な番号(サポートされていない番号でローカル デバイス DN を設定できない) CiscoLineDevSpecific AddRemoteDestination Req m_RDNumber = "1000" m_UnicodeRDName = "Office&" m_activeRD = 0x00000000 |
LineDevSpecific() が dwRequestID を返す LINE_REPLY lResult = LINEERR_INVALPARAM |
|
バリエーション 5: オーナー/エンド ユーザ ID が設定されていない CSF デバイスに RD を追加する CiscoLineDevSpecific AddRemoteDestination Req m_RDNumber = "12345" m_UnicodeRDName = "Office" m_activeRD = 0x00000000 |
LineDevSpecific() が dwRequestID を返す LINE_REPLY lResult = LINEERR_ENDUSER_NOT_ASSOCIATED_WITH_DEVICE (0xC000001B) |
|
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:前述の使用例からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
CTI リモート デバイスのリモート接続先を更新: バリエーション 1: 空の RD 番号: m_RDNumber = "" CiscoLineDevSpecific AddRemoteDestination Req m_RDNumber = "" m_UnicodeRDName = "" m_NewRDNumber = "" m_activeRD = 0x00000000 |
LineDevSpecific() が dwRequestID を返す LINE_REPLY lResult = LINEERR_INVALPARAM |
|
バリエーション 2: RDNumber:要求の RD 番号がデバイスの RD リスト内の既存の RD のいずれとも一致しない CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "12345" m_UnicodeRDName = "Temp" m_RDNumber = "12345" m_activeRD = 0x00000000 |
LineDevSpecific() が dwRequestID を返す LINE_REPLY lResult = LINEERR_REMOTE_DESTINATION_UNAVAIL (0xC0000014) |
|
バリエーション 3: RDNumber:既存の RD 名のいずれかと同じ RD の番号 *** RDNumber「4086271309」は、他のリモート接続先ですでに設定されています CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "4089022131" m_UnicodeRDName = "Office" m_RDNumber = "4086271309" m_activeRD = 0x00000000 |
LineDevSpecific() が dwRequestID を返す LINE_REPLY lResult = LINEERR _DUPLICATE_INFORMATION (0xC0000013) |
|
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:前述の使用例からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として CTIRD 上の Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE(0x03) リモート接続先情報: unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
CTI リモート デバイスのリモート接続先を削除: 空の RDNumber: CiscoLineDevSpecific AddRemoteDestination Req m_RDNumber = "" |
LineDevSpecific() が dwRequestID を返す LINE_REPLY lResult = LINEERR_INVALPARAM |
|
バリエーション 1: RDNumber:要求の RD 番号がリスト内の既存の RD のいずれとも一致しない CiscoLineDevSpecific AddRemoteDestination Req m_RDNumber = "1234567" |
LineDevSpecific() が dwRequestID を返す LINE_REPLY lResult = LINEERR_REMOTE_DESTINATION_UNAVAIL (0xC0000014) |
|
CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:前述の使用例からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
CTI リモート デバイス CTIRD のリモート接続先を追加/削除/更新 バリエーション 1: 前のステップの回線が必要な拡張バージョン(0x000C0000 以上)を使用してオープンされていない |
LineDevSpecific() が dwRequestID を返す LINE_REPLY lResult = LINEERR_OPERATIONUNAVAIL |
|
バリエーション 2: CTI リモート デバイス/CSF デバイス上にない回線に対する要求 |
LineDevSpecific() が dwRequestID を返す LINE_REPLY lResult = LINEERR_OPERATIONUNAVAIL |
|
バリエーション 3: 前述の使用例で示されていない他の理由による追加/削除/更新要求の失敗 |
LineDevSpecific() が dwRequestID を返す LINE_REPLY lResult = LINEERR_OPERATIONFAILED |
前提条件:使用例 1 と同じ
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
App1 および App2: LineInitializeEx |
回線が列挙されている |
|
App1 および App2: dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
App1 および App2: ExtVer-0x000C0000 dwDeviceID として Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
App1: IsActive が true に設定された CTI リモート デバイス「CTIRD」のリモート接続先 RD2 を更新 CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "914086271309" m_UnicodeRDName = "Mobile" m_NewRDNumber = "914086271309" m_activeRD = 0x00000001 |
App1 および App2 への変更通知: EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
App1: dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000001 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000001 |
App2: dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000001 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
App2: IsActive が true に設定された CTI リモート デバイス「CTIRD」のリモート接続先 RD2 を更新 CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "914089022131" m_UnicodeRDName = "Office" m_NewRDNumber = "914089022131" m_activeRD = 0x00000001 |
App1 および App2 への変更通知: EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
App1: dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000001 IsMyAppLastToSetActiveRD = 0x00000000 |
App2: dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000001 IsMyAppLastToSetActiveRD = 0x00000001 |
バリエーション 1: App2: LineShutdown() |
LineShutdown() が success を返す App1 への変更通知: EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000 |
|
App1: dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
バリエーション 2: App1: LineShutdown() |
LineShutdown() が success を返す App2 への変更通知なし |
|
App2: dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000001 IsMyAppLastToSetActiveRD = 0x00000001 |
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:使用例 1 と同じ
TSP にプライマリおよびセカンダリ CTI Manager が設定されている
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
IsActive が true に設定された CTI リモート デバイス「CTIRD」のリモート接続先 RD1 を更新 CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "914086271309" m_UnicodeRDName = "Mobile" m_NewRDNumber = "914086271309" m_activeRD = 0x00000001 |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000001 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000001 |
プライマリ CTI マネージャを停止する TSP はセカンダリ CTIManager に接続する および アクティブ RD の設定が CiscoTSP によってリセットされる |
回線 A のイベント: Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_OUTOFSERVICE Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000001 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000001 |
RD Mobile を ACTIVE RD に設定し、セカンダリ CTI Manager のノードの Call Manager を停止 アクティブな RD の設定は変更またはリセットされない |
回線 A のイベント: Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_OUTOFSERVICE Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:使用例 1 と同じ
TSP にプライマリおよびセカンダリ CTI Manager が設定されている
他のアプリケーションがデバイスの ACTIVE RD を設定し、アプリケーションがセカンダリ CTI Manager に接続されている
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000001 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として Line-A の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
プライマリ CTI マネージャを停止する このアプリケーションは ACTIVE RD を設定していないため、アクティブ RD の設定はリセットされない |
回線 A のイベント: Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_OUTOFSERVICE Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = LINEDEVCAPSDEVSPECIFIC_ REMOTEDEVICE (0x00000008) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE(0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "91486271309" isActiveRD = 0x00000001 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
セカンダリ CTI Manager のノードの Call Manager を停止 アクティブな RD の設定は変更またはリセットされない |
回線 A のイベント: Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_OUTOFSERVICE Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
バリエーション: CSF デバイス [CSF -Line-A''] に対して同じテストを実行 |
dwLineTypes および DeviceProtocolType 情報以外は CTI リモート デバイスと同じ。 dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) |
前提条件:前述の使用例からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として CSF デバイス上の Line-A'' の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) リモート接続先情報: unicodeRDName = "CSF-Mobile" RDNumber = "4086271309" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として Line-A" の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す |
|
dwLineStates として INSERVICE および OUTOFSERVICE が指定された Line A" に対する LineSetStatusMessages() |
Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
LineMake Call() または着信コール |
コール イベントがアプリケーションに報告される |
|
Lineclose および ShutDown |
LineClose および LineShutdown の成功 |
前提条件:前述の使用例からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として CSF デバイス上の Line-A'' の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) リモート接続先情報: unicodeRDName = "CSF-Mobile" RDNumber = "4086271309" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として Line-A" の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す |
|
dwLineStates として INSERVICE および OUTOFSERVICE が指定された Line A" に対する LineSetStatusMessages() |
Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
Jabber クライアントからモードを拡張モードに切り替え |
Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_OUTOFSERVICE Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_DEVICE_PROTOCOL_TYPE (0x00008000) |
|
dwDeviceID として Line-A" の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE (0x03) リモート接続先情報: unicodeRDName = "CSF-Mobile" RDNumber = "4086271309" isActiveRD = 0x00000000 |
Lineclose および ShutDown |
LineClose および LineShutdown の成功 |
前提条件:前述の使用例からの続き
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として CSF デバイス上の Line-A'' の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE (0x03) リモート接続先情報: unicodeRDName = "CSF-Mobile" RDNumber = "4086271309" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
ExtVer-0x000C0000 dwDeviceID として Line-A" の LineDeviceID が指定された LineOpen() |
LineOpen() が success を返す |
|
dwLineStates として INSERVICE および OUTOFSERVICE が指定された Line A" に対する LineSetStatusMessages() |
Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE |
|
Jabber クライアントからモードをソフト モードに切り替え または Jabber クライアントからモードをデスクフォン モードに切り替え |
Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_OUTOFSERVICE Line INSERVICE EVENT Event = LINE_LINEDEVSTATE dwParam1 = LINEDEVSTATE_INSERVICE EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_DEVICE_PROTOCOL_TYPE (0x00008000) |
|
dwDeviceID として Line-A" の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_SIP (0x02) リモート接続先情報: unicodeRDName = "CSF-Mobile" RDNumber = "4086271309" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
Lineclose および ShutDown |
LineClose および LineShutdown の成功 |
CTI リモート デバイス:
A(CTI リモート デバイス - 名前:CTIRD1)
リモート接続先:
RD1:CTI リモート デバイス A に設定されたリモート接続先
(名前:Mobile、番号:914086271309)
RD2:CTI リモート デバイス A に設定されたリモート接続先
(名前:Office、番号:914089022131)
回線:
CTI リモート デバイス A に設定された Line-A1(DN-2000)(呼び出し表示:2000name、表示名:CTIRD-2000name)(デバイス B に設定された企業 DN-2000 の共有回線)
CTI リモート デバイス A に設定された Line-A2(DN-2001)(呼び出し表示:2001name、表示名:CTIRD-2001name)(デバイス B に設定された企業 DN-2001 の共有回線)
エンタープライズ電話:
B(IP フォン、名前:SEPxxxxxxxx)
回線:
デバイス B に設定された Line-A1'(DN-2000)(呼び出し表示:2000name、表示名:EP-2000name)
デバイス B に設定された Line-A2'(DN-2001)(呼び出し表示:2001name、表示名:EP-2001name)
C(IP フォン、名前:SEPxxxxxxxx)
回線:
デバイス C に設定された Line-C(DN-1000)(呼び出し表示:1000name、表示名:1000Name)
D(IP フォン、名前:SEPxxxxxxxx)
回線:
デバイス D に設定された Line-D(DN-1001)(呼び出し表示:1001name、表示名:1001Name)
CSF デバイス:
D(CSF デバイス、名前:CSF-drajesh)
リモート接続先:
RD-01:CSF デバイス D に設定されたリモート接続先
(名前:CSF-Mobile、番号:914086271309)
RD-02:CSF デバイス D に設定されたリモート接続先
(名前:CSF-Office、番号:914089022131)
回線:
Line-A''(DN -2000):CSF デバイス D に設定された Line-A(呼び出し表示:2000name、表示名:CSF-2000)(デバイス B に設定された企業 DN-2000 の共有回線)
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LINEDEVCAPS::DevSpecific dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE (0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "4086271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
すべての回線(A、A'、および C)をオープン ExtVer-0x000C0000 が指定された LineOpen() |
LineOpen() が success を返す |
|
DN(A:DN 2000)の Line-C に対する LineMakeCall |
LineMakeCall() 成功 C のコール: LINE_CALLSTATE -Param1 = DIALING LINE_CALLSTATE -Param1 = PROCEEDING LINE_CALLSTATE -Param1 = RINGBACK CTI リモート デバイスのコール: LINE_APPNEWCALL LINE_CALLSTATE -Param1 = OFFERING LINE_CALLSTATE -Param1 = ACCEPTED エンタープライズ電話のコール: LINE_APPNEWCALL LINE_CALLSTATE -Param1 = OFFERING LINE_CALLSTATE -Param1 = ACCEPTED |
|
「呼び出し前の遅延タイマー」が期限切れになると、コールがリモート接続先およびすべてのリモート接続先呼び出しでオファーされる |
||
デバイス C のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: dwCallerID = 1000 dwCallerIDName = 1000name dwCalledID = 2000 dwCalledIDName = 2000name DevSpecific :: UnicodeCallerPartyName = 1000name UnicodeCalledPartyName = 2000name UnicodeConnectedPartyName = ModifiedCallingParty = 1000 ModifiedCalledParty = 2000 ModifiedConnectedID = |
デバイス A/B のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: dwCallerID = 1000 dwCallerIDName = 1000name dwCalledID = 2000 dwCalledIDName = 2000name DevSpecific :: UnicodeCallerPartyName = 1000name UnicodeCalledPartyName = 2000name UnicodeConnectedPartyName = ModifiedCallingParty = 1000 ModifiedCalledParty = 2000 ModifiedConnectedID = |
リモート接続先の応答 |
C のコール: LINE_CALLSTATE -Param1 = CONNECTED CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = CONNECTED (active) エンタープライズ電話のコール: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) |
|
デバイス C のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: dwCallerID = 1000 dwCallerIDName = 1000name dwCalledID = 2000 dwCalledIDName = 2000name dwConnectedID = 2000 dwConnectedIDName = CTIRD-2000name DevSpecific :: UnicodeCallerPartyName = 1000name UnicodeCalledPartyName = 2000name UnicodeConnectedPartyName = CTIRD-2000name ModifiedCallingParty = 1000 ModifiedCalledParty = 2000 ModifiedConnectedID = 2000 |
デバイス A/B のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: dwCallerID = 1000 dwCallerIDName = 1000name dwCalledID = 2000 dwCalledIDName = 2000name dwConnectedID = 2000 dwConnectedIDName = CTIRD-2000name DevSpecific :: UnicodeCallerPartyName = 1000name UnicodeCalledPartyName = 2000name UnicodeConnectedPartyName = CTIRD-2000name ModifiedCallingParty = 1000 ModifiedCalledParty = 2000 ModifiedConnectedID = 2000 |
デバイス A(CTI-RD)のコールに対する LineDrop() *** リモート接続先のコールが切断される |
LineDrop() 成功 C のコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE エンタープライズ電話のコール: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) LINE_CALLSTATE -Param1 = IDLE |
|
バリエーション: エンタープライズ電話(B)でコールに応答 デバイス B のコールに対する LineAnswer() *** リモート デバイス/リモート接続先のコールが切断される |
C のコール: LINE_CALLSTATE -Param1 = CONNECTED CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE エンタープライズ電話のコール: LINE_CALLSTATE - Param1 = CONNECTED |
|
バリエーション: リモート接続先の 1 つが「呼び出し開始タイマー」の前にコールに応答 |
想定される結果: すべてのコールは Disconnected/IDLE 状態になる |
|
バリエーション: CTI リモート デバイスに設定されたアクティブ RD |
想定される結果: アクティブとして設定されたリモート接続先でのみ呼出音が鳴る ACTIVE RD が設定されている場合、すぐに呼出音が鳴り、「呼び出し前の遅延タイマー」が有効になる。 ACTIVE RD が設定されている場合、リモート接続先はすぐにコールに応答でき、「呼び出し開始タイマー」は有効にならない。 |
|
前述のバリエーションの続き 2 番めの着信コール… |
リモート接続先には 2 番めのコールが存在せず、リモート デバイスにのみ 2 番めのコールが存在し、アプリケーションに報告される。 |
|
バリエーション: 拡張モードの CSF デバイスを使用したテスト |
想定される結果: CTI リモート デバイスと同じ結果になる |
前提条件:前述の使用例と同じ
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE (0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "4086271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
すべての回線(A、A'、および C)をオープン ExtVer-0x000C0000 が指定された LineOpen() |
LineOpen() が success を返す |
|
DN(C:DN 1000)の Line-A に対する LineMakeCall |
LineMakeCall() が RequestID を返す LINE_REPLY Param1 = RequestID Param2 = LINEERR_OPERATION_FAIL_NO_ACTIVE_RD_SET (0xC0000016) |
|
IsActive が true に設定された CTI リモート デバイス A のリモート接続先 RD1「Mobile」を更新 CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "914086271309" m_UnicodeRDName = "Mobile" m_NewRDNumber = "914086271309" m_activeRD = 0x00000001 |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE (0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "4086271309" isActiveRD = 0x00000001 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000001 |
LineMakeCall on Line-A with DN (C -DN 1000) *** リモート接続先「Mobile」でのみ呼出音が鳴り、RD がアクティブとして設定されるとすぐに呼出音が鳴る *** EP では、コールは表示されない |
LineMakeCall() 成功 CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = OFFERING |
|
CTI リモート デバイスの最初のコールに応答: CTI リモート デバイス(A)のコールに対する Answer() |
LineAnswer() がエラー LINEEE_OPERATIONUNAVAIL で失敗する |
|
デバイス A(CTIRD)のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: dwCallerID = 2000 dwCallerIDName = voiceConnect dwCalledID = 2000 dwCalledIDName = 2000name DevSpecific :: UnicodeCallerPartyName = UnicodeCalledPartyName = 2000name UnicodeConnectedPartyName = ModifiedCallingParty = 2000 ModifiedCalledParty = 2000 ModifiedConnectedID = |
リモート接続先でコールに応答すると、コールは最初の着信番号 C でオファーされる コールはエンタープライズ電話に存在し、通話をリモートで使用中になる |
C のコール: LINE_CALLSTATE -Param1 = OFFERING LINE_CALLSTATE -Param1 = ACCEPTED CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = CONNECTED LINE_CALLSTATE -Param1 = RINGBACK エンタープライズ電話のコール: LINE_APPNEWCALL LINE_CALLSTATE -Param1 = ACCEPTED LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) |
|
C がコールに応答する。 デバイス C のコールに対する LineAnswer() |
LineAnswer() 成功 C のコール: LINE_CALLSTATE -Param1 = CONNECTED CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = CONNECTED (active) エンタープライズ電話のコール: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) |
|
デバイス C のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: CallReason = UNKNOWN (0x400) dwCallerID = 2000 dwCallerIDName = 2000name dwCalledID = 1000 dwCalledIDName = 1000name dwConnectedID = 2000 dwConnectedIDName = CTIRD-2000name DevSpecific :: ExtendedCallReason = CtiReasonMobility(0x021 = 33) UnicodeCallerPartyName = 2000name UnicodeCalledPartyName = 1000name UnicodeConnectedPartyName = 2000name ModifiedCallingParty = 2000 ModifiedCalledParty = 1000 ModifiedConnectedID = 2000 |
デバイス A/B のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: dwCallerID = 2000 dwCallerIDName = 2000name dwCalledID = 2000 dwCalledIDName = 2000name dwConnectedID = 1000 dwConnectedIDName = 1000name DevSpecific :: CallAttributeType = TSPCallAttribute_DVOCall (0x00002000) UnicodeCallerPartyName = 2000name UnicodeCalledPartyName = 2000name UnicodeConnectedPartyName = 1000name ModifiedCallingParty = 2000 ModifiedCalledParty = 2000 ModifiedConnectedID = 1000 |
デバイス A(CTI-RD)のコールに対する LineDrop() |
LineDrop() 成功 C のコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE エンタープライズ電話のコール: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) LINE_CALLSTATE -Param1 = IDLE |
|
バリエーション: 拡張モードの CSF デバイスを使用した同じテスト |
予想される結果は、CTI リモート デバイスと同じ |
前提条件:前述の使用例と同じ
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE (0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "4086271309" isActiveRD = 0x00000000 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000000 |
すべての回線(A、A'、A''、および C)をオープン ExtVer-0x000C0000 が指定された LineOpen() |
LineOpen() が success を返す |
|
IsActive が true に設定された CTI リモート デバイス A のリモート接続先 RD1「Mobile」を更新 CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "914086271309" m_UnicodeRDName = "Mobile" m_NewRDNumber = "914086271309" m_activeRD = 0x00000001 |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
C と A(リモート接続先)間のコールを CTI リモート デバイス上の通常の着信または DVO コールにする コール情報は、前述のテスト ケースと同じ |
||
LineMakeCall on Line-D with DN (A -DN 2000) |
LineMakeCall() 成功 デバイス D のコール: LINE_CALLSTATE -Param1 = OFFERING LINE_CALLSTATE -Param1 = ACCEPTED CTI リモート デバイス [A] の 2 番めのコール [D ' A]: LINE_CALLSTATE -Param1 = OFFERING LINE_CALLSTATE -Param1 = ACCEPTED エンタープライズ電話 [B] の 2 番めのコール [D ' A]: LINE_CALLSTATE -Param1 = OFFERING LINE_CALLSTATE -Param1 = ACCEPTED |
|
リモート接続先にオファーされた 2 番めのコールはありません |
||
CTI リモート デバイス(A)の 2 番めのコールに対する Answer() リモート接続先および D が通話するか、メディア接続を確立する |
LineAnswer() が success を返す CTI リモート デバイスのコール: Call1 [C ' A]: LINE_CALLSTATE -Param1 = ONHOLD Call1 [D ' A]: LINE_CALLSTATE -Param1 = CONNECTED エンタープライズ電話 [B] のコール: Call1 [C ' A]: LINE_CALLSTATE -Param1 = ONHOLD Call1 [D ' A]: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) |
|
CTI リモート デバイス [A] の最初のコールを再開 デバイス A のコール [c ' A] に対する LineUnhold() リモート接続先および C が通話するか、メディア接続を確立する |
LineUnHold() が success を返す CTI リモート デバイスのコール: Call1 [C ' A]: LINE_CALLSTATE -Param1 = CONNECTED Call1 [D ' A]: LINE_CALLSTATE -Param1 = ONHOLD エンタープライズ電話 [B] のコール: Call1 [C ' A]: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) Call1 [D ' A]: LINE_CALLSTATE - Param1 = ONHOLD |
|
エンタープライズ電話からの ONHOLD コール [D ' A] を再開する デバイス B のコール [D ' A] に対する LineUnHold() |
LineUnHold() が success を返す CTI リモート デバイスのコール: Call1 [C ' A]: LINE_CALLSTATE -Param1 = CONNECTED Call1 [D ' A]: LINE_CALLSTATE -Param1 = IDLE エンタープライズ電話 [B] のコール: Call1 [C ' A]: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) Call1 [D ' A]: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x01(active) |
|
デバイス A(CTI-RD)のコールに対する LineDrop() リモート接続先のコールが切断される |
LineDrop() 成功 C のコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE エンタープライズ電話のコール: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) LINE_CALLSTATE -Param1 = IDLE |
|
バリエーション: 拡張モードの CSF デバイスを使用した同じテスト |
予想される結果は、CTI リモート デバイスと同じ |
前提条件:前述の使用例と同じ
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
すべての回線(A、A'、A''、および C)をオープン ExtVer-0x000C0000 が指定された LineOpen() |
LineOpen() が success を返す |
|
IsActive が true に設定された CTI リモート デバイス A のリモート接続先 RD1「Mobile」を更新 CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "914086271309" m_UnicodeRDName = "Mobile" m_NewRDNumber = "914086271309" m_activeRD = 0x00000001 |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
C と A(リモート接続先)間のコールを CTI リモート デバイス上の通常の着信または DVO コールにする コール情報は、前述のテスト ケースと同じ |
||
DN(A2:DN 2001)の Line-D に対する LineMakeCall |
LineMakeCall() 成功 デバイス D のコール: LINE_CALLSTATE -Param1 = OFFERING LINE_CALLSTATE -Param1 = ACCEPTED CTI リモート デバイス [A] の 2 番めのコール [D ' A2]: LINE_CALLSTATE -Param1 = OFFERING LINE_CALLSTATE -Param1 = ACCEPTED エンタープライズ電話 [B] の 2 番めのコール [D ' A2]: LINE_CALLSTATE -Param1 = OFFERING LINE_CALLSTATE -Param1 = ACCEPTED |
|
リモート接続先にオファーされた 2 番めのコールはありません |
||
CTI リモート デバイス(A)の 2 番めのコールに対する Answer() リモート接続先および D が通話するか、メディア接続を確立する |
LineAnswer() が success を返す CTI リモート デバイスのコール: Call1 [C ' A1]: LINE_CALLSTATE -Param1 = ONHOLD Call1 [D ' A2]: LINE_CALLSTATE -Param1 = CONNECTED エンタープライズ電話 [B] のコール: Call1 [C ' A1]: LINE_CALLSTATE -Param1 = ONHOLD Call1 [D ' A2]: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) |
|
CTI リモート デバイス [A] の最初のコールを再開 デバイス A のコール [c ' A1] に対する LineUnhold() リモート接続先および C が通話するか、メディア接続を確立する |
LineUnHold() が success を返す CTI リモート デバイスのコール: Call1 [C ' A1]: LINE_CALLSTATE -Param1 = CONNECTED Call1 [D ' A2]: LINE_CALLSTATE -Param1 = ONHOLD エンタープライズ電話 [B] のコール: Call1 [C ' A1]: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) Call1 [D ' A2]: LINE_CALLSTATE - Param1 = ONHOLD |
|
CTI リモート デバイスの接続されたアクティブ コールを切断する。 デバイス A(CTI-RD)のコール [C ' A1] に対する LineDrop() CTI リモート デバイスに他の Active/OnHold コールがあるため、リモート接続先のコールは切断されない 2 番めのコールが OnHold 状態になると、リモート接続先は無音状態になる |
LineDrop() 成功 C のコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE CTI リモート デバイスのコール: [C ' A1]: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE エンタープライズ電話のコール: コール [C ' A1] LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) LINE_CALLSTATE -Param1 = IDLE |
|
CTI リモート デバイスの onHold コールを切断する デバイス A(CTI-RD)のコールに対する LineDrop() リモート接続先のコールが切断される C および EP のコールは切断されない。 C のコールは Connected 状態、EP のコールは OnHold 状態になる。 |
LineDrop() 成功 CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE |
|
バリエーション: 拡張モードの CSF デバイスを使用した同じテスト |
予想される結果は、CTI リモート デバイスと同じ |
前提条件:前述の使用例と同じ
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
すべての回線(A、A'、A''、および C)をオープン ExtVer-0x000C0000 が指定された LineOpen() |
LineOpen() が success を返す |
|
C と A1(リモート接続先)間のコールを CTI リモート デバイス上の通常の着信または DVO コールにする コール情報は、前述のテスト ケースと同じ |
||
転送を設定し、D をダイヤル デバイス A のコール [C ' A1] に対する LineSetupTransfer() |
LineSetupTransfer が success を返す Primary Call on CTI Remote Device[A] [C ' A1] : LINE_CALLSTATE -Param1 = OnholdPendingTransfer CTI リモート デバイス [A] のコンサルト コール [A1 ' D]: |
|
DN - D のコンサルト コールに対する LineDial() |
LINE_CALLSTATE -Param1 = DIALTONE LINE_CALLSTATE -Param1 = DIALING エンタープライズ電話 [B] のコール: Call1 [C ' A1]: LINE_CALLSTATE -Param1 = ONHOLD Call1 [A1 ' D]: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) CTI リモート デバイス [A] のコンサルト コール [A1 ' D]: LINE_CALLSTATE -Param1 = PROCEEDING LINE_CALLSTATE -Param1 = RINGBACK |
|
デバイス D でコールに応答する リモート接続先および D が通話するか、メディア接続を確立する |
CTI リモート デバイスのセカンダリ コール: Call1 [A1 ' D]: LINE_CALLSTATE -Param1 = CONNECTED Param2 = 0x01(active) |
|
[A ' D] コールをコンサルト コールとして使用して、プライマリ コール [C ' A] の転送を完了する デバイス A のコール [c ' A1] に対する LineCompleteTranfer() D および C が通話するか、メディア接続を確立する |
CTI リモート デバイス上の両方のコールが切断される CTI リモート デバイスのプライマリ コール: Call1 [C ' A1]: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE CTI リモート デバイスのセカンダリ コール: Call1 [A ' D]: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE |
|
バリエーション: 拡張モードの CSF デバイスを使用した同じテスト |
予想される結果は、CTI リモート デバイスと同じ |
前提条件:前述の使用例と同じ
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
すべての回線(A、A'、A''、および C)をオープン ExtVer-0x000C0000 が指定された LineOpen() |
LineOpen() が success を返す |
|
C と A1(リモート接続先)間のコールを CTI リモート デバイス上の通常の着信または DVO コールにする コール情報は、前述のテスト ケースと同じ |
||
D と A1 間でコールを行う コール情報は、前述の複数回線をまたがる複数コールと同じ |
||
CTI リモート デバイスのコールに対する DirectTrnasfer リモート デバイスのコールとリモート接続先のコールの両方が切断される |
CTI リモート デバイス上の両方のコールが切断される CTI リモート デバイスのプライマリ コール: Call1 [C ' A1]: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE CTI リモート デバイスのセカンダリ コール: Call1 [A1 ' D]: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE |
|
CTI リモート デバイスのコールに対する DirectTrnasfer リモート デバイスのコールとリモート接続先のコールの両方が切断される ConsultCallID として [D ' A1] の CallID が指定された、デバイス A のコール [c ' A1] に対する CciscoLineDevSpecificDirectTransfer D および C が通話するか、メディア接続を確立する |
CTI リモート デバイス上の両方のコールが切断される CTI リモート デバイスのプライマリ コール: Call1 [C ' A1]: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE CTI リモート デバイスのセカンダリ コール: Call1 [A1 ' D]: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE |
|
バリエーション: 拡張モードの CSF デバイスを使用した同じテスト |
予想される結果は、CTI リモート デバイスと同じ |
前提条件:前述の使用例と同じ
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
すべての回線(A、A'、A''、および C)をオープン ExtVer-0x000C0000 が指定された LineOpen() |
LineOpen() が success を返す |
|
C と A1(リモート接続先)間のコールを CTI リモート デバイス上の通常の着信または DVO コールにする コール情報は、前述のテスト ケースと同じ |
||
会議を設定し、D をダイヤル デバイス A のコール [C ' A1] に対する LineSetupConference() DN - D のコンサルト コールに対する LineDial() |
LineSetupConference が success を返す CTI リモート デバイス [A] の元のコール LINE_CALSTATE = CONFERENCE CTI リモート デバイス [A] の親の電話会議: LINE_APPNEWCALL LINE_CALLSTATE -Param1 = OnholdPendingConference CTI リモート デバイス [A] のコンサルト コール: LINE_CALLSTATE -Param1 = DIALTONE LINE_CALLSTATE -Param1 = DIALING エンタープライズ電話 [B] のコール: Call1 [C ' A]: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) Call1 [A ' D]: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) CTI リモート デバイス [A] のコンサルト コール: LINE_CALLSTATE -Param1 = PROCEEDING LINE_CALLSTATE -Param1 = RINGBACK |
|
デバイス D でコールに応答する リモート接続先および D が通話するか、メディア接続を確立する |
CTI リモート デバイスのセカンダリ コール: Call1 [A ' D]: LINE_CALLSTATE -Param1 = CONNECTED LINE_CALLSTATE -Param1 = IDLE |
|
[A ' D] コールをコンサルト コールとして使用して、プライマリ コール [C ' A] の会議を完了する デバイス A のコール [c ' A1] に対する LineAddtoConference() 3 台の通話者 C、D、および CTI リモート デバイス(リモート接続先)のすべてが会議中になる |
CTI リモート デバイスのコール モデル: [C ' A1]-[ Original Call1]-[ state = Conference] [A1 ' Conference]-[ Conference Parent Call]-[State = CONNECTED] [A1 ' D]-[Consult Call]-[state -CONFERENCE] エンタープライズ電話のコール モデル: CTI リモート デバイスと同じ。すべてのコールは RIU コール |
|
バリエーション: 拡張モードの CSF デバイスを使用した同じテスト |
予想される結果は、CTI リモート デバイスと同じ |
前提条件:前述の使用例と同じ
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
すべての回線(A、A'、A''、および C)をオープン ExtVer-0x000C0000 が指定された LineOpen() |
LineOpen() が success を返す |
|
C と A1(リモート接続先)間のコールを CTI リモート デバイス上の通常の着信または DVO コールにする コール情報は、前述のテスト ケースと同じ |
||
D と A1 間でコールを行う コール情報は、前述の複数回線をまたがる複数コールと同じ |
||
[A1 ' D] コールをコンサルト コールとして使用して、プライマリ コール [C ' A1] に参加 CallIDstoJoin としてコール [D ' A1] の CallID が指定された、デバイス A のコール [c ' A1] に対する CCiscoLineDevSpecificJoin() CTIRemoteDevice(A - リモート接続先)、D、および C が会議中になる。 |
CTI リモート デバイス [A] の元のコール [C ' A1]: LINE_CALSTATE = CONFERENCE CTI リモート デバイス [A] の親の電話会議: LINE_APPNEWCALL LINE_CALLSTATE -Param1 = CONNECTED CTI リモート デバイス [A] のコンサルト コール [D ' A1]: LINE_CALLSTATE -Param1 = CONFERENCE 会議モデルが CTI リモート デバイスおよび EP の RIU 会議モデルで作成される |
|
バリエーション: 拡張モードの CSF デバイスを使用した同じテスト |
予想される結果は、CTI リモート デバイスと同じ |
前提条件:前述の使用例と同じ
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
すべての回線(A、A'、A''、および C)をオープン ExtVer-0x000C0000 が指定された LineOpen() |
LineOpen() が success を返す |
|
C と A1(リモート接続先)間のコールを CTI リモート デバイス上の通常の着信または DVO コールにする コール情報は、前述のテスト ケースと同じ |
||
D と A2 間でコールを行う コール情報は、前述の複数回線をまたがる複数コールと同じ |
||
[A2 ' D] コールをコンサルト コールとして使用して、プライマリ コール [C ' A1] に参加 CallIDstoJoin としてコール [D ' A2] の CallID が指定された、デバイス A のコール [c ' A1] に対する CCiscoLineDevSpecificJoin() または ConsultCallID として [D ' A2] の CallID が指定された、デバイス A のコール [c ' A1] に対する CciscoLineDevSpecificDirectTransfer CTI リモート デバイスでは、回線をまたぐ直接転送または参加はサポートされない |
Line_Reply でエラー LINEERR_OPERATIONUNAVAIL が報告される |
|
バリエーション: サポートされない機能の要求時 例: CallAcceptRequest CallAnswerRequest CallParkRequest LineCallUnParkRequest |
LINEERR_OPERATIONUNAVAIL または PHONEERR_OPERATIONUNAVAIL 回線/電話 API 要求によって異なる。 |
|
バリエーション: 拡張モードの CSF デバイスを使用した同じテスト |
予想される結果は、CTI リモート デバイスと同じ |
前提条件:前述の使用例と同じ
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
すべての回線(A、A'、A''、および C)をオープン ExtVer-0x000C0000 が指定された LineOpen() |
LineOpen() が success を返す |
|
C と A1(リモート接続先)間のコールを CTI リモート デバイス上の通常の着信または DVO コールにする コール情報は、前述のテスト ケースと同じ |
||
CTI リモート デバイスからの cBarge は、CTI リモート デバイスがスタティック仮想デバイスであるためサポートされない。 EP(エンタープライズ電話)からの cBarge *** cBarge が成功し、CTI リモート デバイス、EP、および発信者が会議中になる。 *** CTI リモート デバイスは RIU コールを報告しないため、CTI リモート デバイス上で EP のアクティブな電話会議を反映した RIU 会議は作成されません |
CTI リモート デバイスの電話会議モデル: [C ' A1]-[ Original Call1]-[ state = Conference] [A1 ' Conference]-[ Conference Parent Call]-[State = CONNECTED] [A1 ' A1(EP)]-[Consult Call]-[state -CONFERENCE] エンタープライズ電話のコール モデル: アクティブな電話会議: [C ' A1(CTIRD)]-[ Original Call1]-[ state = Conference] [A1(EP) ' Conference]-[ Conference Parent Call]-[State = CONNECTED] [A1(EP) ' A1(CTIRD)]-[Consult Call]-[state -CONFERENCE] RIU 電話会議: [C ' A1]-[ Original Call1]-[ state = Conference] [A1 ' Conference]-[ Conference Parent Call]-[State = CONNECTED] [A1 ' A1(EP)]-[Consult Call]-[state -CONFERENCE] |
|
バリエーション: エンタープライズ電話の割り込み処理 |
割り込み処理は、CTI リモート デバイスに BIB がないため失敗する。 |
|
バリエーション: 拡張モードの CSF デバイスを使用した同じテスト |
予想される結果は、CTI リモート デバイスと同じ |
前提条件:前の使用例の設定に追加
CTI リモート デバイス:
回線:
Line-A(DN -2000)(URI 設定:drajesh@cisco.com)
C(IP フォン、名前:SEPxxxxxxxx)
回線:
Line-C(DN -1000)(URI 設定:1000@cisco.com)
D(IP フォン、名前:SEPxxxxxxxx)
回線:
Line-D(DN -1001)(URI 設定:1001@cisco.com)
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
すべての回線(A、A'、および C)をオープン ExtVer-0x000C0000 が指定された LineOpen() |
LineOpen() が success を返す |
|
CTI リモート デバイスの URI が指定された Line-C に対する LineMakeCall(DestinationAddress:drajesh@cisco.com) |
LineMakeCall() 成功 C のコール: LINE_CALLSTATE -Param1 = DIALING LINE_CALLSTATE -Param1 = PROCEEDING LINE_CALLSTATE -Param1 = RINGBACK CTI リモート デバイスのコール: LINE_APPNEWCALL LINE_CALLSTATE -Param1 = OFFERING LINE_CALLSTATE -Param1 = ACCEPTED エンタープライズ電話のコール: LINE_APPNEWCALL LINE_CALLSTATE -Param1 = OFFERING LINE_CALLSTATE -Param1 = ACCEPTED |
|
「呼び出し前の遅延タイマー」が期限切れになると、コールがリモート接続先およびすべてのリモート接続先呼び出しでオファーされる |
||
デバイス C のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: dwCallerID = 1000 dwCallerIDName = 1000name dwCalledID = 2000 dwCalledIDName = 2000name DevSpecific :: UnicodeCallerPartyName = 1000name UnicodeCalledPartyName = 2000name UnicodeConnectedPartyName = SIP URI 情報: Caller: [User | Host | Port | TransportType | URI Type] = [100 | Cisco.com | 0x0 | 0x0 | 0x1] Called: [User | Host | Port | TransportType | URI Type] = [drajesh | Cisco.com | 0x0 | 0x0 | 0x1] Connected:空 ModifiedCallingParty = 1000 ModifiedCalledParty = 2000 ModifiedConnectedID = |
デバイス A/B のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: dwCallerID = 1000 dwCallerIDName = 1000name dwCalledID = 2000 dwCalledIDName = 2000name DevSpecific :: UnicodeCallerPartyName = 1000name UnicodeCalledPartyName = 2000name UnicodeConnectedPartyName = SIP URI 情報: Caller: [User | Host | Port | TransportType | URI Type] = [100 | Cisco.com | 0x0 | 0x0 | 0x1] Called: [User | Host | Port | TransportType | URI Type] = [drajesh | Cisco.com | 0x0 | 0x0 | 0x1] Connected:空 ModifiedCallingParty = 1000 ModifiedCalledParty = 2000 ModifiedConnectedID = |
リモート接続先の応答 |
C のコール: LINE_CALLSTATE -Param1 = CONNECTED CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = CONNECTED (active) エンタープライズ電話のコール: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) |
|
デバイス C のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: dwCallerID = 1000 dwCallerIDName = 1000name dwCalledID = 2000 dwCalledIDName = 2000name dwConnectedID = 2000 dwConnectedIDName = CTIRD-2000name DevSpecific :: UnicodeCallerPartyName = 1000name UnicodeCalledPartyName = 2000name UnicodeConnectedPartyName = CTIRD-2000name SIP URI 情報: Caller: [User | Host | Port | TransportType | URI Type] = [100 | Cisco.com | 0x0 | 0x0 | 0x1] Called: [User | Host | Port | TransportType | URI Type] = [drajesh | Cisco.com | 0x0 | 0x0 | 0x1] Connected: [User | Host | Port | TransportType | URI Type] = [drajesh | Cisco.com | 0x0 | 0x0 | 0x1] ModifiedCallingParty = 1000 ModifiedCalledParty = 2000 ModifiedConnectedID = 2000 |
デバイス A/B のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: dwCallerID = 1000 dwCallerIDName = 1000name dwCalledID = 2000 dwCalledIDName = 2000name dwConnectedID = 2000 dwConnectedIDName = CTIRD-2000name DevSpecific :: UnicodeCallerPartyName = 1000name UnicodeCalledPartyName = 2000name UnicodeConnectedPartyName = CTIRD-2000name SIP URI 情報: Caller: [User | Host | Port | TransportType | URI Type] = [100 | Cisco.com | 0x0 | 0x0 | 0x1] Called: [User | Host | Port | TransportType | URI Type] = [drajesh | Cisco.com | 0x0 | 0x0 | 0x1] Connected: [User | Host | Port | TransportType | URI Type] = [100 | Cisco.com | 0x0 | 0x0 | 0x1] ModifiedCallingParty = 1000 ModifiedCalledParty = 2000 ModifiedConnectedID = 2000 |
デバイス A(CTI-RD)のコールに対する LineDrop() リモート接続先のコールが切断される |
LineDrop() 成功 C のコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE エンタープライズ電話のコール: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) LINE_CALLSTATE -Param1 = IDLE |
|
バリエーション: エンタープライズ電話(B)でコールに応答 デバイス B のコールに対する LineAnswer() リモート デバイス/リモート接続先のコールが切断される |
C のコール: LINE_CALLSTATE -Param1 = CONNECTED CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE エンタープライズ電話のコール: LINE_CALLSTATE - Param1 = CONNECTED |
前提条件:前述の使用例と同じ
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
LineInitializeEx |
回線が列挙されている |
|
すべての回線(A、A'、および C)をオープン ExtVer-0x000C0000 が指定された LineOpen() |
LineOpen() が success を返す |
|
DN(C:DN 1000)の Line-A に対する LineMakeCall |
LineMakeCall() が RequestID を返す LINE_REPLY Param1 = RequestID Param2 = LINEERR_OPERATION_FAIL_NO_ACTIVE_RD_SET (0xC0000016) |
|
IsActive が true に設定された CTI リモート デバイス A のリモート接続先 RD1「Mobile」を更新 CiscoLineDevSpecific UpdateRemoteDestination Req m_RDNumber = "914086271309" m_UnicodeRDName = "Mobile" m_NewRDNumber = "914086271309" m_activeRD = 0x00000001 |
EVENT = LINE_DEVSPECIFIC dwParam1 = SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_REMOTE_DESTINATION_INFO (0x00004000) |
|
dwDeviceID として Line-A の LineDeviceId が指定された LineGetDevCaps()。 |
LineGetDevCaps() が success を返す |
LINEDEVCAPS::DevSpecific dwLineTypes = (0x00000000) DeviceProtocolType = DeviceProtocolType_CTI_ REMOTE_DEVICE (0x03) リモート接続先情報: unicodeRDName = "Mobile" RDNumber = "4086271309" isActiveRD = 0x00000001 unicodeRDName = "Office" RDNumber = "4089022131" isActiveRD = 0x00000000 IsMyAppLastToSetActiveRD = 0x00000001 |
C の URI が指定された Line-A に対する LineMakeCall(DestinationAddress:1000@cisco.com) *** リモート接続先「Mobile」でのみ呼出音が鳴り、RD がアクティブとして設定されるとすぐに呼出音が鳴る *** EP では、コールは表示されない |
LineMakeCall() 成功 CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = OFFERING |
|
CTI リモート デバイスの最初のコールに応答: CTI リモート デバイス(A)のコールに対する Answer() |
LineAnswer() がエラー LINEEE_OPERATIONUNAVAIL で失敗する |
|
デバイス A(CTIRD)のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: dwCallerID = 2000 dwCallerIDName = voiceConnect dwCalledID = 2000 dwCalledIDName = 2000name DevSpecific :: UnicodeCallerPartyName = UnicodeCalledPartyName = 2000name UnicodeConnectedPartyName = SIP URI 情報: Caller: [User | Host | Port | TransportType | URI Type] = empty Called: [User | Host | Port | TransportType | URI Type] = [drajesh | Cisco.com | 0x0 | 0x0 | 0x1] Connected: [User | Host | Port | TransportType | URI Type] = empty ModifiedCallingParty = 2000 ModifiedCalledParty = 2000 ModifiedConnectedID = |
リモート接続先でコールに応答すると、コールは最初の着信番号 C でオファーされる コールはエンタープライズ電話に存在し、通話をリモートで使用中になる |
C のコール: LINE_CALLSTATE -Param1 = OFFERING LINE_CALLSTATE -Param1 = ACCEPTED CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = CONNECTED LINE_CALLSTATE -Param1 = RINGBACK エンタープライズ電話のコール: LINE_APPNEWCALL LINE_CALLSTATE -Param1 = ACCEPTED LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) |
|
C がコールに応答する。 デバイス C のコールに対する LineAnswer() |
LineAnswer() 成功 C のコール: LINE_CALLSTATE -Param1 = CONNECTED CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = CONNECTED (active) エンタープライズ電話のコール: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) |
|
デバイス C のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: CallReason = UNKNOWN (0x400) dwCallerID = 2000 dwCallerIDName = 2000name dwCalledID = 1000 dwCalledIDName = 1000name dwConnectedID = 2000 dwConnectedIDName = CTIRD-2000name DevSpecific :: ExtendedCallReason = CtiReasonMobility(0x021 = 33) UnicodeCallerPartyName = 2000name UnicodeCalledPartyName = 1000name UnicodeConnectedPartyName = 2000name SIP URI 情報: Caller: [User | Host | Port | TransportType | URI Type] = [drajesh | Cisco.com | 0x0 | 0x0 | 0x1] Called: [User | Host | Port | TransportType | URI Type] = [100 | Cisco.com | 0x0 | 0x0 | 0x1] Connected: [User | Host | Port | TransportType | URI Type] = [drajesh | Cisco.com | 0x0 | 0x0 | 0x1] ModifiedCallingParty = 2000 ModifiedCalledParty = 1000 ModifiedConnectedID = 2000 |
デバイス A/B のコールに対する LineGetCallInfo() |
LineGetCallInfo() 成功 |
LineCallInfo :: dwCallerID = 2000 dwCallerIDName = 2000name dwCalledID = 2000 dwCalledIDName = 2000name dwConnectedID = 1000 dwConnectedIDName = 1000name DevSpecific :: CallAttributeType = TSPCallAttribute_DVOCall (0x00002000) UnicodeCallerPartyName = 2000name UnicodeCalledPartyName = 2000name UnicodeConnectedPartyName = 1000name SIP URI 情報: Caller: [User | Host | Port | TransportType | URI Type] = [drajesh | Cisco.com | 0x0 | 0x0 | 0x1] Called: [User | Host | Port | TransportType | URI Type] = [drajesh | Cisco.com | 0x0 | 0x0 | 0x1] Connected: [User | Host | Port | TransportType | URI Type] = [1000 | Cisco.com | 0x0 | 0x0 | 0x1] ModifiedCallingParty = 2000 ModifiedCalledParty = 2000 ModifiedConnectedID = 1000 |
デバイス A(CTI-RD)のコールに対する LineDrop() |
LineDrop() 成功 C のコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE CTI リモート デバイスのコール: LINE_CALLSTATE -Param1 = DISCONNECTED LINE_CALLSTATE -Param1 = IDLE エンタープライズ電話のコール: LINE_CALLSTATE - Param1 = CONNECTED Param2 = 0x02 (Inactive) LINE_CALLSTATE -Param1 = IDLE |
|
バリエーション: 拡張モードの CSF デバイスを使用した同じテスト |
予想される結果は、CTI リモート デバイスと同じ |
シナリオ | 想定される結果 |
---|---|
1.プロバイダー オープン要求 2.リモート デバイスおよびリモート接続先を持つデバイス上で回線オープンを発行 3.電話機 A は CTIRD にコールする |
着信コールはすべてのリモート接続先に転送されます。 |
シナリオ | 想定される結果 |
---|---|
1.プロバイダー オープン要求 2.リモート デバイスおよびリモート接続先を持つデバイス上で回線オープンを発行 3.電話機 A は CTIRD にコールする |
コールは、理由コード:USER_BUSY で切断されています。 |
シナリオ | 想定される結果 |
---|---|
1.プロバイダー オープン要求 2.リモート デバイスおよびリモート接続先を持つデバイス上で回線オープンを発行 3.電話機 A は CTIRD にコールする |
コールはボイス メール番号にルーティングされます。 |
シナリオ | 想定される結果 |
---|---|
1.プロバイダー オープン要求 2.リモート デバイスおよびリモート接続先を持つデバイス上で回線オープンを発行 3.電話機 A は CTIRD にコールする |
コールはボイス メール番号にルーティングされます。 |
シナリオ | 想定される結果 |
---|---|
1.プロバイダー オープン要求 2.リモート デバイスおよびリモート接続先を持つデバイス上で回線オープンを発行 3.電話機 A は B にコールする 4.C がコールに応答する。 |
着信コールは C などのアクティブなリモート接続先にルーティングされます。 |
シナリオ | 想定される結果 |
---|---|
1.プロバイダー オープン要求 2.リモート デバイスおよびリモート接続先を持つデバイス上で回線オープンを発行 3.電話機 A は B にコールする |
着信コールはアクティブなリモート接続先にルーティングされます。 |
linedevice A の deviceId と拡張バージョン 0x000D0000 で LineGetDevCaps() を発行する
|
LINEGETDEVCAPS::DEVSPECIFIC が提供するビデオ機能 = 0x00000001[CiscoDeviceVideoCapability_Enabled]
|
linedevice A の deviceId と拡張バージョン 0x000D0000 で LineGetDevCaps() を発行する
|
LINEGETDEVCAPS::DEVSPECIFIC が提供するメディア機能 = 0x00000000 [CiscoDeviceVideoCapability_None]
|
linedevice A の deviceId と拡張バージョン 0x000D0000 で LineGetDevCaps() を発行する
|
LINEGETDEVCAPS::DEVSPECIFIC が提供するメディア機能 = 0x00000000 [CiscoDeviceVideoCapability_None]
|
linedevice A の deviceId と拡張バージョン 0x000D0000 で LineOpen を発行する
CCiscoLineDevSpecificAcquire を発行してデバイス B を取得する。
linedevice B の deviceId と拡張バージョン 0x000D0000 で LineGetDevCaps() を発行する
|
デバイスの取得に成功しました。LINE_CREATE メッセージが表示されます。
LINEGETDEVCAPS::DEVSPECIFIC が提供するメディア機能 = 0x00000001 [CiscoDeviceVideoCapability_Enabled]
|
linedevice A の deviceId と拡張バージョン 0x000D0000 で LineGetDevCaps() を発行する
|
LINEGETDEVCAPS::DEVSPECIFIC が提供するメディア機能 = 0x00000000 [CiscoDeviceVideoCapability_None] |
linedevice A の deviceId と拡張バージョン 0x000D0000 で LineGetDevCaps() を発行する
|
LINEGETDEVCAPS::DEVSPECIFIC が提供するメディア機能 = 0x00000000 [CiscoDeviceVideoCapability_None] |
A が B に LineMakeCall を発行し、B が応答する。
linedevice B の拡張バージョンで LineGetcallInfo() を発行する
|
LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapabilities : VideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] TelepresenceInfo = 0x000000001(Telepresence Enabled) CalledPartyVideoCapabilities : VideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] |
A はビデオ対応で、B はビデオ非対応。A はテレプレゼンス対応で、3 画面であり、B はテレプレゼンス非対応で、1 画面。 |
LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapabilities : VideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] TelepresenceInfo = 0x000000001(Telepresence Enabled) CalledPartyVideoCapabilities :
VideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_None]
TelepresenceInfo = 0x000000000(Telepresence Disabled)
|
LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapabilities : VideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] TelepresenceInfo = 0x000000000(Telepresence Disabled) CalledPartyVideoCapabilities : VideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_None] |
linedevice C の拡張バージョンで LineGetcallInfo() を発行する
|
LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_None] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled |
linedevice C の拡張バージョンで LineGetcallInfo() を発行する
|
LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_None] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled |
B は C に LineSetupTransfer を発行し、
B は LineCompleteTransfer を実行する
linedevice C の拡張バージョンで LineGetcallInfo() を発行する
|
LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled |
linedevice B の拡張バージョンで LineGetcallInfo() を発行する
|
LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] |
LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_None |
|
LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_None |
linedevice A の deviceId と拡張バージョン 0x000D0000 で LineGetDevCaps() を発行する
CUCM 管理ページからデバイスのビデオ機能を非対応に変更する
|
LINEGETDEVCAPS::DEVSPECIFIC が提供するビデオ機能 = 0x00000001[CiscoDeviceVideoCapability_Enabled] TSP は、SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_DEVICE_VIDEO_INFO(0x00010000) でアプリケーションにイベントを実行する。
|
TSP は、SLDSMT_LINE_PROPERTY_CHANGED dwParam2 = LPCT_DEVICE_VIDEO_INFO(0x00010000) でアプリケーションにイベントを実行する。 |
操作 |
想定されるイベント |
---|---|
LineInitializeEx
A および B で LineOpen を実行する
A が B に LineMakeCall を発行し、B が応答する。
linedevice A の拡張バージョンで LineGetcallInfo() を発行する
LineShutdown |
A: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyMultiMediaCapBitMask = 0x00000007 CalledPartyMultiMediaCapBitMask = 0x00000007
CallingPartyMultiMediaCapInfo : VideoCapability = 0x000000001[CiscoDeviceVideoCapability_Enabled] TelepresenceInfo = 0x000000001(Telepresence Enabled) 画面数 = 3 CalledPartyMultiMediaCapInfo : VideoCapability = 0x00000001[CiscoDeviceVideoCapability_Enabled] TelepresenceInfo = 0x00000001(Telepresence Enabled 画面数 = 3 |
バリエーション 1: A はビデオ対応で、B はビデオ非対応。A はテレプレゼンス対応で、3 画面であり、B はテレプレゼンス非対応で、1 画面。 |
A: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyMultiMediaCapBitMask = 0x00000007 CalledPartyMultiMediaCapBitMask = 0x00000007 CallingPartyMultiMediaCapInfo : VideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] TelepresenceInfo = 0x000000001(Telepresence Enabled) 画面数 = 3 CalledPartyMultiMediaCapInfo : VideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_None] TelepresenceInfo = 0x000000000(Telepresence Disabled) 画面数 = 1 |
バリエーション 2: A はビデオ対応で 1 画面、B は CTI ポートまたはルート ポイント。 |
A: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyMultiMediaCapBitMask = 0x00000007 CalledPartyMultiMediaCapBitMask = 0x00000000 CallingPartyMultiMediaCapInfo : VideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] TelepresenceInfo = 0x000000000(Telepresence Disabled) Screen Count = 0x00000001 CalledPartyMultiMediaCapInfo : VideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_None] TelepresenceInfo = 0x000000000(Telepresence Disabled) Screen Count = 0x00000000 |
操作 |
想定されるイベント |
---|---|
LineInitializeEx
拡張バージョン 0x000B0000 で A と B に LineOpen を実行する
A は B に LineMakeCall を実行し、B はコールに応答する
CallDevSpecific イベントが返っていないかどうかを確認する。 |
CallDevSpecific イベントが返っていない - SLDSMT_MULTIMEDIA_STREAMSDATA |
操作 |
想定されるイベント |
---|---|
LineInitializeEx 拡張バージョン 0x000B0000 で A と B に LineOpen を実行する A は B に LineMakeCall を実行し、B はコールに応答する CallDevSpecific イベントが返っているかどうかを確認する。
A で LineGetCallInfo を実行する |
CallDevSpecific イベントが返った - SLDSMT_MULTIMEDIA_STREAMSDATA 通話者 A の DevSpecificPart of LINECALLINFO: 以下のビデオ ストリーム情報が返った。 CompressionType = 実際の圧縮タイプ BitRate = 実際のビット レート MediaMode = 0x00000000 PacketSize = 実際のパケット サイズ bSilenceSupressionFlag = 0x00000000 bKeyInfoPresen = 0x00000000 RxRTPDestinationV6Offset = 実際の IPV6 アドレス オフセット RxRTPDestinationV6Size = 実際の IPV6 アドレス サイズ RxRTPIPV4Address = 実際の IPv4 アドレス RxRTPIPV4Por t = 実際の IPV4 ポート RxIpAddrMode = 実際の IPV4 モード TxRTPDestinationV6Offset = 実際の IPV6 アドレス オフセット TxRTPDestinationV6Size = 実際の IPV6 アドレス サイズ TxRTPIPV4Address = 実際の IPv4 アドレス TxRTPIPV4Port = 実際の IPV4 ポート TxIpAddrMode = 実際の IPV4 モード 以下の MultiMediaEncryptionKey 情報が返る AlgorithmID = 0x00000000 TxKeyOffset = 0x00000000 TxKeySize = 実際のサイズ RxKeyOffset = 実際のオフセット RxKeySize = 実際のサイズ TxSaltOffset = 実際のオフセット TxSaltSize = 実際のサイズ RxSaltOffset = 実際のオフセット RxSaltSize = 実際のサイズ TxIsMKIPresent = 0x00000000 RxIsMKIPresent = 0x00000000 SecurityIndicator = 0x00000001 |
バリエーション 1:
A は B に LineMakeCall を実行し、B はコールに応答する
アプリケーションは B で LineHold を実行する
A と B で LineGetCallInfo を実行する
アプリケーションは B で LineUnHold を実行する
A と B で LineGetCallInfo を実行する
アプリケーションが B で LineDrop を実行する。
A と B で LineGetCallInfo を実行する |
CallDevSpecific イベントが返った - SLDSMT_MULTIMEDIA_STREAMSDATA MediaMode の値は変更された 0x000000003 である
CallDevSpecific イベントが返った - SLDSMT_MULTIMEDIA_STREAMSDATA MediaMode の値は変更された 0x000000000 である
CallDevSpecific イベントが返った - SLDSMT_MULTIMEDIA_STREAMSDATA MediaMode の 値は変更された 0x000000003 である |
操作 |
想定されるイベント |
---|---|
LineInitializeEx
A が B に LineMakeCall を実行し、B が応答する。
A で LineGetCallInfo を実行する
B で LineGetCallInfo を実行する
LineShutdown |
A: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled] CalledPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled] B: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] |
バリエーション 1:
A と B は SIP 電話機で、ビデオ対応である。
A で LineGetCallInfo を実行する
B で LineGetCallInfo を実行する |
A: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] B: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] |
操作 |
想定されるイベント |
---|---|
LineInitializeEx
A が B に LineMakeCall を発行する。
B で LineGetCallInfo を実行する
B はコールを C にリダイレクトし、
C で LineGetCallInfo を実行する
C はコールを D にリダイレクトする。
D で LineGetCallInfo を実行する
LineShutdown |
B: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled]
C: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled]
D: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled] |
操作 |
想定されるイベント |
---|---|
LineInitializeEx
A が B に LineMakeCall を実行し、B が応答する。
B は C にリダイレクトし、C は応答する。
A で LineGetCallInfo を実行する
C で LineGetCallInfo を実行する
LineShutdown
A と B はビデオ対応で、C はビデオ非対応
A が B に LineMakeCall を実行し、B が応答する。
B は C にリダイレクトし、C は応答する。
A で LineGetCallInfo を実行する
C で LineGetCallInfo を実行する |
A: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled]
C: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled] CalledPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled]
A: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled]
C: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled] |
操作 |
想定されるイベント |
---|---|
LineInitializeEx
A が B に LineMakeCall を実行し、B が応答する。
B がコールを保留する。
C がコールの保留を解除する。
A で LineGetCallInfo を実行する
C で LineGetCallInfo を実行する
LineShutdown
A と B はビデオ対応で、C はビデオ非対応である。
A が B に LineMakeCall を実行し、B が応答する。
B がコールを保留する。
C がコールの保留を解除する。
A で LineGetCallInfo を実行する
C で LineGetCallInfo を実行する |
A: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled]
C: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled]
A: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled]
C: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled] |
操作 |
想定されるイベント |
---|---|
LineInitializeEx
A が B に LineMakeCall を発行する。
B で LineGetCallInfo を実行する
B はコールを C にリダイレクトします。
C で LineGetCallInfo を実行する
C はコールを D にリダイレクトする。
D で LineGetCallInfo を実行する
LineShutdown |
B: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyMultiMediaCapabilityBitMask = 0x000000001 CalledPartyMultiMediaCapabilityBitMask = 0x000000001 CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled]
C: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyMultiMediaCapabilityBitMask = 0x000000001 CalledPartyMultiMediaCapabilityBitMask = 0x000000001 CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] D: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyMultiMediaCapabilityBitMask = 0x000000001 CalledPartyMultiMediaCapabilityBitMask = 0x000000001 CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] |
操作 |
想定されるイベント |
---|---|
LineInitializeEx
A が B に LineMakeCall を実行し、B が応答する。
B は C にリダイレクトし、C は応答する。
A で LineGetCallInfo を実行する
C で LineGetCallInfo を実行する
LineShutdown
A と B はビデオ対応で、C はビデオ非対応
A が B に LineMakeCall を実行し、B が応答する。
B は C にリダイレクトし、C は応答する。
A で LineGetCallInfo を実行する
C で LineGetCallInfo を実行する |
A: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled]
C: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled] CalledPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled]
A: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000000[CiscoDeviceVideoCapability_Disabled]
C: LINEGETCALLINFO::DEVSPECIFIC は以下の機能を提供する CallingPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] CalledPartyVideoCapStatus = 0x000000001[CiscoDeviceVideoCapability_Enabled] |
(注) | アプリケーションから直接転送が発行される場合、使用例で説明するデバイスには SCCP デバイスと SIP TNP フォンも該当します。 |
デバイス A、B、および C があり、B は RoundTable フォンで、設定済みの回線 B1 と B2 があります。
Caller = A, Called = B1 Connected B1 Caller = A, Called = B1, Connected = A |
|
アプリケーションは B1 の CCiscoLineDevSpecificDirectTransfer と B2 をコンサルト コールとして送信する |
デバイス A、B、C があり、B は RoundTable フォンです。
Caller = A, Called = B Connected B Caller = A, Called = B, Connected = A |
|
アプリケーションは B(c1)の CCiscoLineDevSpecificDirectTransfer と c2 をコンサルト コールとして送信する |
デバイス A、B、C があり、B は RoundTable フォンで、設定済みの回線 B1 と B2 があります。
Caller = A, Called = B1 Connected B1 |
|
アプリケーションは B1(c2)の CCiscoLineDevSpecificDirectTransfer と B2(c3)をコンサルト コールとして送信する |
デバイス A、B、C があり、B は RoundTable フォンで、設定済みの回線 B1 と B2 があります。
Caller = A, Called = B1 Connected B1 |
|
アプリケーションは B1(c2)の CCiscoLineDevSpecificDirectTransfer と B2(c3)をコンサルト コールとして送信する |
CCiscoLineDevSpecificDirectTransfer は LINEERR_INVALCALLSTATE というエラーを取得する |
デバイス A、B、C、D、E があり、C は RoundTable フォンで、設定済みの回線 C1 と C2 があります。
|
|
アプリケーションは C1 の CCiscoLineDevSpecificDirectTransfer と C2-call をコンサルト コールとして送信する |
CCiscoLineDevSpecificDirectTransfer が成功する Caller = A, called = B, connected = B Caller = A, called = CB-2, connected = CB-2 Caller = A, called = B, connected = B Caller = B, called = CB-2, connected = CB-2 Caller = D, called = CB-1, connected = CB-1 Caller = D, called = E, connected = E |
デバイス A、B、C があり、B は RoundTable フォンで、設定済みの回線 B1 と B2 があります。
Caller = A, Called = B1 Connected B1 Caller = A, Called = B1, Connected = A |
|
Caller = A, Called = B1 Connected C
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
電話機 B で DND-R が有効になっている場合に、機能プライオリティが [通常(Normal)] に設定されている状態で電話機 A が電話機 B にコールを発信する |
|
|
|
|
|
|
|
|
|
|
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
電話機 B で DND-R が有効になっている場合に、機能プライオリティが [緊急(Emergency)] に設定されている状態で電話機 A が電話機 B にコールを発信する |
通話者 A |
|
LINE_CALLSTATE = CONNECTED dwParam1 = 0x00000100 dwParam2 = 0x00000001 |
LINECALLINFO (hCall-1) hLine = C dwCallID = T2 dwOrigin = INTERNAL dwCallerID = A dwCalledID = B dwRedirectionID = NP dwRedirectingID = NP |
|
通話者 B |
||
LINE_CALLSTATE = CONNECTED dwParam1 = 0x00000100 dwParam2 = 0x00000001 |
LINECALLINFO (hCall-1) hLine = C dwCallID = T2 dwOrigin = INTERNAL dwCallerID = A dwCalledID = B dwRedirectionID = NP dwRedirectingID = NP |
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
電話機 B と B’ は共有回線である。B ではなく電話機 B' で DND-R が有効になっている。機能プライオリティが [通常(Normal)] に設定されている状態で電話機 A が電話機 B にコールを発信する |
通話者 A |
|
LINE_CALLSTATE = CONNECTED dwParam1 = 0x00000100 dwParam2 = 0x00000001 |
LINECALLINFO (hCall-1) hLine = C dwCallID = T2 dwOrigin = INTERNAL dwCallerID = A dwCalledID = B dwRedirectionID = NP dwRedirectingID = NP |
|
通話者 B |
||
LINE_CALLSTATE = CONNECTED dwParam1 = 0x00000100 dwParam2 = 0x00000001 |
LINECALLINFO (hCall-1) hLine = C dwCallID = T2 dwOrigin = INTERNAL dwCallerID = A dwCalledID = B dwRedirectionID = NP dwRedirectingID = NP |
|
通話者 B' |
||
|
LINE_CALLSTATE = CONNECTED dwParam1 = 0x00000100 dwParam2 = 0x00000002 |
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
会議の回線ごとに 4 つのコール レッグがあり、3 つは Conferenced で 1 つは Connected である |
||
Conferenced -(Connected Id -B) |
||
Conferenced -(Connected Id -A) |
||
Conferenced -(Connected Id -A) |
||
Conferenced -(Connected Id -A) |
||
|
||
会議の回線ごとに 4 つのコール レッグがあり、2 つは Conferenced、1 つは IDLE、もう 1 つは Connected である |
||
Conferenced -(Connected Id -C) |
||
IDLE -(A に接続されていた Conferenced コール レッグ) |
||
IDLE -(A に接続されていた Conferenced コール レッグ) Conferenced -(Connected Id -B) Conferenced -(Connected Id -C)
|
||
|
||
会議の回線ごとに 4 つのコール レッグがあり、3 つは Conferenced で 1 つは Connected である |
||
Conferenced -(Connected Id -B) |
||
Conferenced -(Connected Id -A) |
||
Conferenced -(Connected Id -A) |
||
Conferenced -(Connected Id -A) |
||
新しいバージョンの Ext で LineOpen(A)を実行する B に接続されている A の「Conferenced」コール レッグで LineRemoveFromConference を実行する。 |
|
|
会議の回線ごとに 4 つのコール レッグがあり、2 つは Conferenced、1 つは IDLE、もう 1 つは Connected である |
||
Conferenced -(Connected Id -C) |
||
IDLE -(B に接続されていた Conferenced コール レッグ) |
||
IDLE -(B に接続されていた Conferenced コール レッグ) Conferenced -(Connected Id -A) Conferenced -(Connected Id -C)
|
||
会議の回線 B および C には 4 つのコール レッグがあり、3 つは Conferenced で 1 つは Connected である |
|
Conferenced -(caller Id -A ;Called Id -B; Connected Id -B) (Active) Conferenced -(caller Id -A ;Called Id -C; Connected Id -C) (Active) Conferenced -(caller Id -A ;Called Id -A' ; Connected Id -A') (Active) Connected - 会議ブリッジ(Remote in Use) Conferenced -(caller Id -A' ;Called Id -B; Connected Id -B) (Remote in Use) Conferenced -(caller Id -A' ;Called Id -C; Connected Id -C) (Remote in Use) Conferenced -(caller Id -A' ;Called Id -A; Connected Id -A) (Remote in Use) |
|
Conferenced -(caller Id -A' ;Called Id -B; Connected Id -B) (Active) Conferenced -(caller Id -A' ;Called Id -C; Connected Id -C) (Active) Conferenced -(caller Id -A' ;Called Id -A; Connected Id -A) (Active) Connected - 会議ブリッジ(Remote in Use) Conferenced -(caller Id -A ;Called Id -B; Connected Id -B) (Remote in Use) Conferenced -(caller Id -A ;Called Id -C; Connected Id -C) (Remote in Use) Conferenced -(caller Id -A ;Called Id -A'; Connected Id -A') (Remote in Use) Conferenced -(caller Id -B ;Called Id -A; Connected Id -A) Conferenced -(caller Id -B ;Called Id -C; Connected Id -C) Conferenced -(caller Id -B ;Called Id -A'; Connected Id -A') Conferenced -(caller Id -C ;Called Id -A; Connected Id -A) Conferenced -(caller Id -C ;Called Id -B; Connected Id -B) Conferenced -(caller Id -C ;Called Id -A' ; Connected Id -A') |
|
新しいバージョンの Ext で LineOpen(A)を実行する Unified CM のパラメータ「Advanced Ad Hoc Conference Enabled = True」の場合 |
|
|
|
|
|
IDLE -(A - B に接続されていた Conferenced コール レッグ) Conferenced -(caller Id -A ;Called Id -C; Connected Id -C) (Active) Conferenced -(caller Id -A ;Called Id -A'; Connected Id -A') (Active) Connected - 会議ブリッジ(Remote in Use) IDLE -(A' - B に接続されていた Conferenced コール レッグ) Conferenced -(caller Id -A' ;Called Id -C; Connected Id -C) (Remote in Use) Conferenced -(caller Id -A' ;Called Id -A; Connected Id -A) (Remote in Use) IDLE -(A' - B に接続されていた Conferenced コール レッグ) Conferenced -(caller Id -A' ;Called Id -C; Connected Id -C) (Active) Conferenced -(caller Id -A' ;Called Id -A; Connected Id -A) (Active) Connected - 会議ブリッジ(Remote in Use) IDLE -(A - B に接続されていた Conferenced コール レッグ) Conferenced -(caller Id -A ;Called Id -C; Connected Id -C) (Remote in Use) Conferenced -(caller Id -A ;Called Id -A'; Connected Id -A') (Remote in Use) Conferenced -(caller Id -C ;Called Id -A; Connected Id -A) IDLE -(C - B に接続されていた Conferenced コール レッグ) Conferenced -(caller Id -C ;Called Id -A'; Connected Id -A') |
|
新しいバージョンの Ext で LineOpen(B)を実行するUnified CM のパラメータ Advanced Ad Hoc Conference Enabled = True |
|
|
|
IDLE -(会議ブリッジ A-CFB に接続されていた Connected コール レッグ) IDLE -(A - B に接続されている Conferenced コール レッグ) IDLE -(A - C に接続されている Conferenced コール レッグ) IDLE -(A - A' に接続されている Conferenced コール レッグ) Connected - 会議ブリッジ(Remote in Use) Conferenced -(caller Id -A' ;Called Id -C; Connected Id -C) (Remote in Use) Conferenced -(caller Id -A' ;Called Id -B; Connected Id -B) (Remote in Use) |
|
IDLE -(会議ブリッジ A-CFB に接続されていた Connected コール レッグ) IDLE -(A - B に接続されている Conferenced コール レッグ) IDLE -(A - C に接続されている Conferenced コール レッグ) IDLE -(A - A' に接続されている Conferenced コール レッグ) Conferenced -(caller Id -A' ;Called Id -C; Connected Id -C) (Active) Conferenced -(caller Id -A' ;Called Id -B; Connected Id -B) (Active) |
|
Conferenced -(caller Id -B ;Called Id -A; Connected Id -A') |
|
|
Conferenced -(caller Id -C ;Called Id -A'; Connected Id -A') |
A、B、および CB2 は会議(CB1)に参加しており、会議コントローラは B である C、D、および E は会議(CB2)に参加しており、会議コントローラは D である Unified CM のパラメータ Advanced Ad Hoc Conference Enabled = True 新しいバージョンの Ext で LineOpen(A)を実行する
|
|
C 割り込み:Unified CM のサービス パラメータ Advanced Ad Hoc Conference Enabled = True の場合
A、B、および A' は会議に参加し、会議コントローラは A である |
|
新しいバージョンの Ext で LineOpen(A)を実行する
|
IDLE 状態の LINECALLSTATE イベントがアプリケーションに送信される
Connected -(A - A' に接続されていた Conferenced コール レッグ)(Active) Connected -(A' - A に接続されていた Conferenced コール レッグ)(Remote in Use) IDLE -(A - B に接続されていた Conferenced コール レッグ) IDLE -(会議ブリッジ A-CFB に接続されている Connected コール レッグ) IDLE -(A' - B に接続されていた Conferenced コール レッグ) IDLE -(会議ブリッジ A’-CFB に接続されている Connected コール レッグ) Connected -(A' - A に接続されていた Conferenced コール レッグ)(Active) Connected -(A - A' に接続されていた Conferenced コール レッグ)(Remote in Use) IDLE -(A - B に接続されていた Conferenced コール レッグ) IDLE -(会議ブリッジ A-CFB に接続されている Connected コール レッグ) IDLE -(A' - B に接続されていた Conferenced コール レッグ) |
Connected -(A - B に接続されていた Conferenced コール レッグ)(Remote in Use) IDLE -(A' - B に接続されていた Conferenced コール レッグ) IDLE -(A - A' に接続されていた Conferenced コール レッグ)(Active) IDLE -(会議ブリッジ A-CFB に接続されている Connected コール レッグ) IDLE -(A' - A に接続されていた Conferenced コール レッグ)(Remote in Use) IDLE -(会議ブリッジ A’-CFB に接続されている Connected コール レッグ) Connected -(B - A に接続されていた Conferenced コール レッグ) IDLE -(A' - B に接続されていた Conferenced コール レッグ) IDLE -(会議ブリッジ B-CFB に接続されている Connected コール レッグ) Connected -(A - B に接続されていた Conferenced コール レッグ)(Active) IDLE -(A' - B に接続されていた Conferenced コール レッグ)(Remote in Use) IDLE -(A - A' に接続されていた Conferenced コール レッグ)(Active) IDLE -(会議ブリッジ A-CFB に接続されている Connected コール レッグ) |
次のセクションでは、アプリケーションがアーリー オファー サポート付きの個々のポートを動的に登録する仕組みについて説明します。
Cluster1 と Cluster2 は、SIP トランク経由で接続されています。
アプリケーションが、m_Feature に 0x00000001、m_Feature_Capability に 0x00000001 を指定して lineDevSpecific(CCiscoLineDevSpecificEnableFeatureSupport) を送信する |
|
アプリケーションが、MediaCaps 情報を指定して lineDevSpecific(CCiscoLineDevSpecificPortRegistrationPerCall) を送信する |
|
アプリケーションが、m_DevSpecificStatusMsgsFlag = DEVSPECIFIC_GET_IP_PORT に 0x00000400 を指定して lineDevSpecific(CCiscoLineDevSpecificSetStatusMsgs) を送信する |
|
アプリケーションが A で LineMakeCall() をコールし、Cluster2 内の通話者にダイヤルする
|
LINE_CALLSTATE (LINECALLSTATE_PROCEEDING)
dwParam1 = SLDSMT_RTP_GET_IP_PORT |
アプリケーションが、IPAddress およびポート情報を指定して lineDevSpecific(CCiscoLineDevSpecificSetRTPParamsForCall) を送信する |
|
LINE_CALLSTATE (LINECALLSTATE_CONNECTED) dwParam1 = compressionType & SLDSMT_OPEN_LOGICAL_CHANNEL |
|
LINE_CALLSTATE (LINECALLSTATE_HOLD/LINECALLSTATE_CONNECTED)
dwParam1 = compressionType & SLDSMT_OPEN_LOGICAL_CHANNEL |
|
アプリケーションが、IPAddress およびポート情報を指定して lineDevSpecific(CCiscoLineDevSpecificSetRTPParamsForCall) を送信する |
|
*** アプリケーションは、もう一度 RTP 情報を設定する必要はありません アプリケーションが、IPAddress およびポート情報を指定して lineDevSpecific(CCiscoLineDevSpecificSetRTPParamsForCall) を送信する |
|
アプリケーションが lineDevSpecific (CCiscoLineDevSpecificSetStatusMsgs) を使用して新しい通知を受信するためのフィルタを設定しない。通知が行われないため、アプリケーションは Proceeding 状態で RTP を設定しない |
|
バリエーション 4:アーリー オファー サポート付きで動的に登録された CTI ポートで、アプリケーションがアーリー オファー サポートを無効にしようと試みる アプリケーションが、m_Feature に 0x00000001、m_Feature_Capability に 0x00000000 を指定して、lineDevSpecific(CCiscoLineDevSpecificEnableFeatureSupport) を送信する |
Cluster1 と Cluster2 は、SIP トランク経由で接続されています。
アプリケーションが、MediaCaps 情報を指定して lineDevSpecific(CCiscoLineDevSpecificPortRegistrationPerCall) を送信する |
|
LINE_CALLSTATE (LINECALLSTATE_CONNECTED) dwParam1 = compressionType & SLDSMT_OPEN_LOGICAL_CHANNEL |
|
アプリケーションが、IPAddress およびポート情報を指定して lineDevSpecific(CCiscoLineDevSpecificSetRTPParamsForCall) を送信する |
|
Cluster1 と Cluster2 は、SIP トランク経由で接続されています。
アプリケーションが、m_Feature に 0x00000001、m_Feature_Capability に 0x00000001 を指定して lineDevSpecific(CCiscoLineDevSpecificEnableFeatureSupport) を送信する |
|||
アプリケーションが、MediaCaps 情報を指定して lineDevSpecific(CCiscoLineDevSpecificSetIPv6AddressAndMode) を送信する。 アプリケーションが、MediaCaps 情報を指定して lineDevSpecific(CCiscoLineDevSpecificPortRegistrationPerCall) を送信する |
|
||
アプリケーションが、m_DevSpecificStatusMsgsFlag = DEVSPECIFIC_GET_IP_PORT に 0x00000400 を指定して lineDevSpecific(CCiscoLineDevSpecificSetStatusMsgs) を送信する |
|||
LINE_CALLSTATE (LINECALLSTATE_PROCEEDING)
|
|||
LINE_CALLSTATE (LINECALLSTATE_CONNECTED)
dwParam1 = compressionType & SLDSMT_OPEN_LOGICAL_CHANNEL |
|||
アプリケーションが、IPAddress およびポート情報を指定して lineDevSpecific(CCiscoLineDevSpecificSetRTPParamsForCallIPv6) を送信する |
Cluster1 と Cluster2 は、SIP トランク経由で接続されています。
*** App1 と App2 は、異なるクライアント マシンで実行しています。
|
|
アプリケーションが、m_Feature に 0x00000001、m_Feature_Capability に 0x00000001 を指定して lineDevSpecific(CCiscoLineDevSpecificEnableFeatureSupport) を送信する |
|
アプリケーションが、MediaCaps 情報を指定して lineDevSpecific(CCiscoLineDevSpecificPortRegistrationPerCall) を送信する |
|
アプリケーションが、MediaCaps 情報を指定して lineDevSpecific(CCiscoLineDevSpecificPortRegistrationPerCall) を送信する |
|
Cluster1 と Cluster2 は、SIP トランク経由で接続されています。
*** App1 と App2 は、異なるクライアント マシンで実行しています。
|
|
|
|
|
|
アプリケーションが、m_Feature に 0x00000001、m_Feature_Capability に 0x00000001 を指定して lineDevSpecific(CCiscoLineDevSpecificEnableFeatureSupport) を送信する |
|
アプリケーションが、MediaCaps 情報を指定して lineDevSpecific(CCiscoLineDevSpecificPortRegistrationPerCall) を送信する |
|
LINE_CALLSTATE (LINECALLSTATE_PROCEEDING) dwParam1 = SLDSMT_RTP_GET_IP_PORT |
|
アプリケーションが、IPAddress およびポート情報を指定して lineDevSpecific(CCiscoLineDevSpecificSetRTPParamsForCall) を送信する |
|
アプリケーションが、App1 が設定した情報とは異なる IPAddress およびポート情報を指定して LineDevSpecific (CCiscoLineDevSpecificSetRTPParamsForCall) を送信する |
|
LINE_CALLSTATE (LINECALLSTATE_CONNECTED) dwParam1 = compressionType & SLDSMT_OPEN_LOGICAL_CHANNEL |
Cluster1 と Cluster2 は、SIP トランク経由で接続されています。
アプリケーションが、m_Feature に 0x00000001、m_Feature_Capability に 0x00000001 を指定して lineDevSpecific(CCiscoLineDevSpecificEnableFeatureSupport) を送信する |
|
アプリケーションが、MediaCaps 情報を指定して lineDevSpecific(CCiscoLineDevSpecificUserControlRTPStream) を送信する。 |
|
アプリケーションが、m_DevSpecificStatusMsgsFlag = DEVSPECIFIC_GET_IP_PORT に 0x00000400 を指定して lineDevSpecific(CCiscoLineDevSpecificSetStatusMsgs) を送信する |
|
アプリケーションが A で LineMakeCall() をコールし、Cluster2 内の通話者にダイヤルする
|
LINE_CALLSTATE (LINECALLSTATE_PROCEEDING)
dwParam1 = SLDSMT_RTP_GET_IP_PORT |
アプリケーションが、m_Feature に 0x00000001、m_Feature_Capability に 0x00000000 を指定して lineDevSpecific(CCiscoLineDevSpecificEnableFeatureSupport) を送信し、アーリー オファー サポートを無効にする |
|
LINE_CALLSTATE (LINECALLSTATE_PROCEEDING/ LINECALLSTATE_RINGBACK) |
|
Cluster1 と Cluster2 は、SIP トランク経由で接続されています。
アプリケーションが、MediaCaps 情報を指定して lineDevSpecific(CCiscoLineDevSpecificUserControlRTPStream) を送信する。 |
|
アプリケーションが、m_Feature に 0x00000001、m_Feature_Capability に 0x00000001 を指定して lineDevSpecific(CCiscoLineDevSpecificEnableFeatureSupport) を送信し、アーリー オファー サポートを有効にする |
|
アプリケーションが、m_DevSpecificStatusMsgsFlag = DEVSPECIFIC_GET_IP_PORT に 0x00000400 を指定して lineDevSpecific(CCiscoLineDevSpecificSetStatusMsgs) を送信する |
|
LINE_CALLSTATE (LINECALLSTATE_PROCEEDING)
dwParam1 = SLDSMT_RTP_GET_IP_PORT |
|
LINE_CALLSTATE (LINECALLSTATE_CONNECTED)
|
|
Cluster1 と Cluster2 は、SIP トランク経由で接続されています。
LineSetStatusMessages が Success を返す |
|
アプリケーションが、m_Feature に 0x00000001、m_Feature_Capability に 0x00000001 を指定して lineDevSpecific(CCiscoLineDevSpecificEnableFeatureSupport) を送信する |
|
アプリケーションが、m_DevSpecificStatusMsgsFlag = DEVSPECIFIC_GET_IP_PORT に 0x00000400 を指定して lineDevSpecific(CCiscoLineDevSpecificSetStatusMsgs) を送信する |
|
Cluster1 と Cluster2 は、SIP トランク経由で接続されています。
|
|||
LineSetStatusMessages が Success を返す |
|||
アプリケーションが、m_Feature に 0x00000001、m_Feature_Capability に 0x00000001 を指定して lineDevSpecific(CCiscoLineDevSpecificEnableFeatureSupport) を送信する |
|||
アプリケーションが、m_DevSpecificStatusMsgsFlag = DEVSPECIFIC_GET_IP_PORT に 0x00000400 を指定して lineDevSpecific(CCiscoLineDevSpecificSetStatusMsgs) を送信する |
|||
LINE_CALLSTATE (LINECALLSTATE_PROCEEDING)
dwParam1 = SLDSMT_RTP_GET_IP_PORT (1:アプリケーションは RTP を設定する必要がある/0:アプリケーションは RTP を設定する必要がない)
|
|||
Cluster1 と Cluster2 は、SIP トランク経由で接続されています。
*** App1 と App2 は、異なるクライアント マシンで実行しています。
|
|
|
|
|
|
アプリケーションが、m_Feature に 0x00000001、m_Feature_Capability に 0x00000001 を指定して lineDevSpecific(CCiscoLineDevSpecificEnableFeatureSupport) を送信する |
|
アプリケーションが、MediaCaps 情報を指定して lineDevSpecific(CCiscoLineDevSpecificUserControlRTPStream) を送信し、A を登録する |
|
アプリケーションが、MediaCaps 情報を指定して lineDevSpecific(CCiscoLineDevSpecificUserControlRTPStream) を送信し、A を登録する |
|
バリエーション:App1 および App2 が異なる CTI Manager に接続している App2:(App1 が CtiPort -A を登録した後) アプリケーションが、MediaCaps 情報を指定して lineDevSpecific(CCiscoLineDevSpecificUserControlRTPStream) を送信し、CtiPort A を登録する |
|
アプリケーションは LineInitializ を実行します。アプリケーションが新しい ExtVersion 0x000A0000 ですべての回線をオープンします。A が B にコールを発信し、B がコールに応答します。
新しい ExtVesrion 0x000A0000 を指定して、A で LineOpen を実行し、B で LineOpen を実行する |
|
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
A が B にコールを発信し、B がコールに応答します。アプリケーションが LineInitialize を実行します。アプリケーションが新しい ExtVersion 0x000A0000 ですべての回線をオープンします。
|
|
|
新しい ExtVesrion 0x000A0000 を指定して、A で LineOpen を実行し、B で LineOpen を実行する |
A について ExistingCallEvent が受信される
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 ですべての回線 A をオープンします。A が B にコールを発信し、B がコールに応答します。B が C への転送を設定し、C がコールに応答し、B が転送を実行します。A は C に接続されます。
|
|
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B2 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている |
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C2 が含まれている |
||
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C2 が含まれている |
A が B にコールを発信し、B がコールに応答します。B が C への転送を設定します。アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 ですべての回線をオープンします。アプリケーションが転送を実行します。A は C に接続されます。
|
||
A について ExistingCallEvent が受信される(A と B の間のプライマリ コール)
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
B について ExistingCallEvent が受信される(A と B の間のプライマリ コール)
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
B について ExistingCallEvent が受信される(B と C の間のコンサルト コール)
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B2 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている |
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
||
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C2 が含まれている |
アプリケーションが LineInitialize を実行します。アプリケーションが、新しい ExtVersion 0x000A0000 でデバイスのすべての回線(A1 および A2)をオープンします。A が B にコールを発信し、B がコールに応答します。B が C への lineBlindTransfer を実行します。A は C に接続されています。
|
|
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
||
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている |
アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 ですべての回線 A をオープンします。A が B にコールを発信し、B がコールに応答します。アプリケーションが B を C にリダイレクトします。A は C に接続されます。
新しい ExtVesrion 0x000A0000 を指定して、A で LineOpen を実行し、B で LineOpen を実行する |
|
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
||
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている |
アプリケーションが LineInitialize を実行します。アプリケーションが新しい ExtVersion 0x000A0000 ですべての回線をオープンします。A が B と B’ をコールする。B がコールに応答します。
|
|
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
アプリケーションが LineInitialize を実行します。アプリケーションが、新しい ExtVersion 0x000A0000 でデバイスのすべての回線(A1 および A2)をオープンします。A が B と B’ を呼び出します。B がコールに応答します。
|
|
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
B について CallGlobalCallHandleChangedEvent が受信される
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B2 が含まれている LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B2 が含まれている
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B3 が含まれている |
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B3 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B3 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B3 が含まれている |
アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 ですべての回線 A をオープンします。A が B にコールを発信し、B がコールに応答します。アプリケーションは B の CallPark を開始します。A は parkedDn でパークされています。C が parkDn にコールを発信し、C が A に接続されます。
サービス パラメータ「Preserve globalcallid For Parked Calls」は、False に設定されます。
|
|
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
|
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A2 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A2 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている |
アプリケーションが LineInitialize を実行します。アプリケーションが、新しい ExtVersion 0x000A0000 でデバイスのすべての回線(A1 および A2)をオープンします。A が B にコールを発信し、B がコールに応答します。アプリケーションは B の CallPark を開始します。A は parkedDn でパークされています。C が parkDn にコールを発信し、C が A に接続されます。
サービス パラメータ「Preserve globalcallid For Parked Calls」は、True に設定されます。
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
|
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C2 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C2 が含まれている |
アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 ですべての回線 A をオープンします。A が B にコールを発信し、B がコールに応答します。B が C に対して会議を設定し、C がコールに応答し、B が会議を実行します。A、B、および C が会議中。
(注) | すべての会議のシナリオで、電話会議レッグの Unique Call Reference ID は 0 です。 |
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B2 が含まれている
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B2 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている |
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
||
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C2 が含まれている |
アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 ですべての回線 A をオープンします。A が B にコールを発信し、B がコールに応答します。B が C に対して会議を設定し、C がコールに応答し、B が会議を実行します。A、B、および C が会議を行います。C が会議から抜けます。A は B に接続されています。
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B2 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている |
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
||
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C2 が含まれている |
|
|
|
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 ですべての回線 A をオープンします。A、B、および C が会議 1 に参加しています。C、D、および E が会議 2 に参加しています。アプリケーションは CallJoinRequest を送信して、両方の電話会議を参加させます。
|
Unique Call Reference ID = ID1 |
|
|
Unique Call Reference ID = ID4 |
|
|
||
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
||
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference ID1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference ID が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference ID3 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference ID7 が含まれている |
アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 ですべての回線 A をオープンします。クラスタ 1 の A がクラスタ 2 の B にコールを発信し、B が応答します。その後 B は、クラスタ 1 の C に対して転送を設定します。C がコールに応答し、B が転送を実行します。A は C に接続されています。
|
|
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B2 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている |
|
|
|
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている |
アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 ですべての回線 A をオープンします。クラスタ 1 の A がクラスタ 2 の B にコールを発信し、B が応答します。その後 B は、クラスタ 1 の C に対して転送を設定します。C がコールに応答し、B が転送を実行します。A は C に接続されています。
|
|
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B2 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている |
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C2 が含まれている |
||
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C2 が含まれている |
LineGroup LG1、LG2、および LG3 に A、B および C が設定されています。HuntList「Hunt_List」が LineGroup LG1、LG2、および LG3 に設定されています。ハント パイロット「99999」がこの HuntList に設定されています。
アプリケーションが LineInitialize を実行します。アプリケーションが新しい ExtVersion 0x000A0000 ですべての回線をオープンします。D は「99999」をコールします。コールは、A、B、および C をルーティングします。
|
|
|
D が Hunt Pilot DN をコールする。コールはまず電話機 A にオファーされ、次に B、C の順にオファーされる |
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference D1 が含まれている
|
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference B1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C1 が含まれている |
アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 ですべての回線 A をオープンします。
B と C は、同じコール ピックアップ グループに属しています。サービス パラメータ「Auto Call Pickup Enabled」は False に設定されています。A が B にコールを発信し、C が NewCall ソフトキーを押した後、Call Pickup ソフトキーを押します。コールは C にリダイレクトされます。
|
|
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C2 が含まれている |
アプリケーションが LineInitialize を実行し、新しい ExtVersion 0x000A0000 ですべての回線 A をオープンします。
B と C は、同じコール ピックアップ グループに属しています。サービス パラメータ「Auto Call Pickup Enabled」は True に設定されています。A が B にコールを発信し、C が NewCall ソフトキーを押した後、Call Pickup ソフトキーを押します。その後、コールは C にリダイレクトされます。
|
|
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA dwParam2 = SLDST_UNIQUE_CALL_REF_ID_INFO LINE_CALLDEVSPECIFIC イベントが受信される dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference A1 が含まれている |
|
|
LINECALLINFO::DEVSPECIFIC に、Unique Call Reference C2 が含まれている |
Cisco Unified IP Phones 9900、7900、6900 シリーズの電話機の回線 A は LINE_LINEDEVSTATE /PHONE_STATE EVENT の dwparam2 内の理由コードを受信するために EnergyWise スイッチに接続し、拡張 0x000B0000 以上をサポートした LineNegotiate を実行します。デバイス管理ページから、省電力を有効にして、電源オンおよび電源オフ タイマーを設定します。
デバイスが Deep sleep に移行して登録解除するときの、LINEDEVSTATE メッセージの EnergyWisePowerSavePlus 理由コードを確認します。
|
|
|
|
イベント フィルタを Inservice および Outofservice イベントに設定する。 |
CiscoTSP は次のように LineInServiceEvent をアプリケーションに通知する。 |
Cisco TSP は次のように LineOutOfServiceEvent をアプリケーションに通知する。 param1 = LINEDEVSTATE_OUTOFSERVICE param2 = CiscoLineDevStateOutOfServiceReason_ EnergyWisePowerSavePlus |
|
電源オン時間に達すると、Unified IP Phones Series 7900 デバイスが CUCM に再登録する。
|
Cisco TSP は次のように LineInServiceEvent をアプリケーションに通知する。 |
Cisco Unified IP Phones 9900 および 6900 シリーズの場合、選択キーを押して電源を入れる。
Deep Sleep モードに移行してデバイスが登録解除するときの、PhoneState のサスペンドの EnergyWisePowerSavePlus 理由コードを確認します。
|
|
|
|
Resume および Suspend イベントのイベント フィルタを設定する。 次の dwPhoneStates フラグを指定した PhonesetstatusMessage を実行する PHONESTATE_SUSPEND | PHONESTATE_RESUME |
|
Cisco TSP が DeviceOutOfServiceEvent を電話機ステータス イベントを使用してアプリケーションに通知する。 param2 = CiscoPhoneStateOutOfServiceReason_ EnergyWisePowerSavePlus |
|
電源オン時間に達すると、Unified IP Phones Series 7900 デバイスが CUCM に再登録する。
|
Cisco TSP は次のように LineInServiceEvent をアプリケーションに通知する。 |
Cisco Unified IP Phones 9900 および 6900 シリーズの場合、選択キーを押して電源を入れる。
省電力アイドル タイムアウト後に登録解除するときの、LineDevstate/Phone State メッセージの EnergyWisePowerSavePlus 理由コードを確認します。省電力アイドル タイムアウトを 20 分(デフォルトは 1 時間)に設定します。
|
|
|
|
イベント フィルタを Inservice および Outofservice イベントに設定する。 |
Cisco TSP は次のように LineInServiceEvent をアプリケーションに通知する。 |
|
|
|
|
Resume および Suspend イベントのイベント フィルタを設定する。 次の dwPhoneStates フラグを指定した PhonesetstatusMessage を実行する PHONESTATE_SUSPEND | PHONESTATE_RESUME |
|
Cisco TSP が DeviceOutOfServiceEvent を電話機ステータス イベントを使用してアプリケーションに通知する。 param2 = CiscoPhoneStateOutOfServiceReason_ EnergyWisePowerSavePlus
Cisco TSP は次のように LineOutOfServiceEvent をアプリケーションに通知する。 param1 = LINEDEVSTATE_OUTOFSERVICE param2 = CiscoLineDevStateOutOfServiceReason_ EnergyWisePowerSavePlus |
|
Cisco Unified IP Phones 9900 および 6900 シリーズの場合、選択キーを押して電源を入れる。 |
Cisco TSP は次のように LineInServiceEvent をアプリケーションに通知する。 param1 = LINEDEVSTATE_INSERVICE
Cisco TSP は次のように LineOutOfServiceEvent を電話機ステータス イベントを使用してアプリケーションに通知する。 |
Cisco TSP が DeviceOutOfServiceEvent を電話機ステータス イベントを使用してアプリケーションに通知する。 param2 = CiscoPhoneStateOutOfServiceReason_ EnergyWisePowerSavePlus
Cisco TSP は次のように LineOutOfServiceEvent をアプリケーションに通知する。 param1 = LINEDEVSTATE_OUTOFSERVICE param2 = CiscoLineDevStateOutOfServiceReason_ EnergyWisePowerSavePlus |
LineDevstate/Phone State メッセージの CallManagerFailure 理由コードを、Call Manager サービスがサービスアビリティ ページから再起動されてデバイスが登録解除するときに確認します。
|
|
|
|
イベント フィルタを Inservice および Outofservice イベントに設定する。 |
Cisco TSP は次のように LineInServiceEvent をアプリケーションに通知する。 |
|
|
|
|
Resume および Suspend イベントのイベント フィルタを設定する。 次の dwPhoneStates フラグを指定した PhonesetstatusMessage を実行する PHONESTATE_SUSPEND | PHONESTATE_RESUME |
|
Cisco TSP が DeviceOutOfServiceEvent を電話機ステータス イベントを使用してアプリケーションに通知する。 param2 = CiscoPhoneStateOutOfServiceReason_CallManagerFailure
Cisco TSP は次のように LineOutOfServiceEvent をアプリケーションに通知する。 param1 = LINEDEVSTATE_OUTOFSERVICE param2 = CiscoLineDevStateOutOfServiceReason_CallManagerFailure |
|
Cisco TSP は次のように LineInServiceEvent をアプリケーションに通知する。 param1 = LINEDEVSTATE_INSERVICE
Cisco TSP は次のように LineOutOfServiceEvent を電話機ステータス イベントを使用してアプリケーションに通知する。 |
LineDevstate/Phone ステータス イベントの DeviceUnregister 理由コードを、イーサネット ケーブルをデバイスから手動で取り外すことでデバイスが登録解除するときに確認します。
|
|
|
|
イベント フィルタを Inservice および Outofservice イベントに設定する。 |
Cisco TSP は次のように LineInServiceEvent をアプリケーションに通知する。 |
|
|
|
|
Resume および Suspend イベントのイベント フィルタを設定する。 次の dwPhoneStates フラグを指定した PhonesetstatusMessage を実行する PHONESTATE_SUSPEND | PHONESTATE_RESUME |
|
Cisco TSP が DeviceOutOfServiceEvent を電話機ステータス イベントを使用してアプリケーションに通知する。 param2 = CiscoPhoneStateOutOfServiceReason_DeviceUnregistered
Cisco TSP は次のように LineOutOfServiceEvent をアプリケーションに通知する。 param1 = LINEDEVSTATE_OUTOFSERVICE param2 = CiscoLineDevStateOutOfServiceReason_DeviceUnregistered |
|
Cisco TSP は次のように LineInServiceEvent をアプリケーションに通知する。 param1 = LINEDEVSTATE_INSERVICE
Cisco TSP は次のように LineOutOfServiceEvent を電話機ステータス イベントを使用してアプリケーションに通知する。 |
LineDevstate/Phone ステータス メッセージの CTILinkFailure 理由コードを、CTIManager サービスが停止するときに確認します。
|
|
|
|
イベント フィルタを Inservice および Outofservice イベントに設定する。 |
Cisco TSP は次のように LineInServiceEvent をアプリケーションに通知する。 |
|
|
|
|
Resume および Suspend イベントのイベント フィルタを設定する。 次の dwPhoneStates フラグを指定した PhonesetstatusMessage を実行する PHONESTATE_SUSPEND | PHONESTATE_RESUME |
|
Cisco TSP が DeviceOutOfServiceEvent を電話機ステータス イベントを使用してアプリケーションに通知する。 param2 = CiscoPhoneStateOutOfServiceReason_CTILinkFailure
Cisco TSP は次のように LineOutOfServiceEvent をアプリケーションに通知する。 param1 = LINEDEVSTATE_OUTOFSERVICE |
|
Cisco TSP は次のように LineInServiceEvent をアプリケーションに通知する。 param1 = LINEDEVSTATE_INSERVICE
Cisco TSP は次のように LineOutOfServiceEvent を電話機ステータス イベントを使用してアプリケーションに通知する。 |
TAPI アプリケーションが LineInitializeEx を実行し、EMCCUser がデバイスにログインするシナリオをテストする |
|
TAPI アプリケーションが LineInitializeEx を実行し、EMCC ユーザがデバイスからログアウトするシナリオをテストする |
|
TAPI アプリケーションが PhoneInitializeEx を実行し、EMCC ユーザがデバイスにログインするシナリオをテストする |
|
TAPI アプリケーションが PhoneInitializeEx を実行し、EMCC ユーザがデバイスからログアウトするシナリオをテストする |
|
役職(Title) |
LineH が設定されたデバイスへの EMCC ユーザのログインおよび管理者によるアプリケーション制御リストからのデバイスの削除 |
説明 |
LineH が設定されたデバイスに EMCC ユーザがログインし、管理者がアプリケーション制御リストからデバイスを削除するシナリオをテストする |
テストの設定 |
EM_Profile1 は、アプリケーション制御リストに含まれている DeviceH は、アプリケーション制御リストに含まれており、LineH が設定されている |
想定される結果 |
ステップ 2:
ステップ 3: |
LineH が設定されたデバイスでの EMCC ユーザのログインとログアウト、および管理者によるアプリケーション制御リストからのデバイスの削除 |
|
LineH が設定されたデバイスに EMCC ユーザがログインし、管理者がアプリケーション制御リストからデバイスを削除するシナリオをテストする |
|
役職(Title) |
LineH が設定されたデバイスへの EMCC ユーザのログインおよび管理者によるアプリケーション制御リストからのデバイスの削除 |
説明 |
LineH が設定されたデバイスに EMCC ユーザがログインし、管理者がアプリケーション制御リストからデバイスを削除するシナリオをテストする |
テストの設定 |
EM_Profile1 は、アプリケーション制御リストに含まれていない DeviceH は、アプリケーション制御リストに含まれており、LineH が設定されている |
想定される結果 |
ステップ 2: ステップ 3: ステップ 4: |
DeviceV への EMCC ユーザのログインおよび管理者によるアプリケーション制御リストからの EM_Profile の削除 |
|
EMCC ユーザが DeviceV にログインし、管理者がアプリケーション制御リストから EM_Profile を削除するシナリオをテストする |
|
Testing the scenario where EMCC ユーザが DeviceV(cluster2)にログインするシナリオをテストする。次に、アプリケーションが Provider オープンを実行する |
|
訪問先クラスタの DeviceV への EMCC ユーザのログインと、管理者によるアプリケーション制御リストへの EM_Profile の追加 |
|
訪問先クラスタの DeviceV に EMCC ユーザがログインし、管理者がアプリケーション制御リストに EM_Profile を追加するシナリオをテストする |
|
IP Phone_A は、回線(Line_A1 および LineA2)を使用する設定になっています。
User1 には、Line_P11 が設定されたデバイス プロファイル EM_Profile1 があります。
User2 には、回線(Line_P21 および Line_P22)が設定されたデバイス プロファイル EM_Profile2 があります。
EM メモリの最適化オプション機能に関する使用例を次に示します。
次の図のメッセージ フローを、ステップ 1 ~ 4 で説明します。
次の図のメッセージ フローを、ステップ 1 ~ 5 で説明します。
次の図のメッセージ フローを、ステップ 1 ~ 5 で説明します。
次の図のメッセージ フローを、ステップ 1 ~ 4 で説明します。
電話機 A、B はクラスタ デバイスです。B は、A を A1 に、B を B1 に変換するように定義された発信側変換と着信側変換を持つトランスレーション パターン BXXX に一致します。また、外部コール制御が有効です。
ダイヤルされた番号 B は外部コール制御が有効なトランスレーション パターン BXXX に一致します。これは他に優先して処理され、CUCM は CEPM に対して B のルーティング規則に従うことを要求します。CEPM は Reject を返します。
A が NewCallEvent および CallStateChangeEvent(Dialtone/Dialing)を受信する |
LINE_APPNEWCALL, LINE_CALLSTATE (LINECALLSTATE_DIALTONE/ LINECALLSTATE_DIALING) |
LINE_CALLSTATE (LINECALLSTATE_DISCONNECTED, LINEDISCONNECTMODE_REJECT) |
電話機 A、B はクラスタ デバイスです。B は、A を A1 に、B を B1 に変換するように定義された発信側変換と着信側変換を持つトランスレーション パターン BXXX に一致します。また、外部コール制御が有効です。
ダイヤルされた番号 B は外部コール制御が有効なトランスレーション パターン BXXX に一致します。これは他に優先して処理され、CUCM は CEPM に対して B のルーティング ルールに従うことを要求します。
CEPM は、divertTo=C に加え、ModifiedCalling= MA と ModifiedCalled = MB を返します
コールは C に拡張されます(変更された発信側と着信側がルーティング ディレクティブに流用され、トランスレーション パターン用に設定された発着信番号の変換が上書きされ、コールが C に転送されます)。
A が NewCallEvent および CallStateChangeEvent(Dialtone/Dialing)を受信する |
LINE_APPNEWCALL, LINE_CALLSTATE (LINECALLSTATE_DIALTONE/ LINECALLSTATE_DIALING) |
LINE_CALLSTATE (LINECALLSTATE_RINGBACK)/ LINE_CALLINFO CallerID = A / CalledID = B1 / RedirectingID = MB / mod Calling = MA / mod Called = B1 / mod Redirecting = MB / mod Redirection = C LINE_APPNEWCALL, LINE_CALLSTATE (LINECALLSTATE_OFFERING/ LINECALLSTATE_ACCEPTED dwReason = LINECALLREASON_UNKNOWN extendCallReason = CtiReasonCallIntercept CallerID = A / CalledID = MB / RedirectingID = MB / |
|
LINE_CALLSTATE (LINECALLSTATE_CONNECTED) CallerID = A / CalledID = B1 / ConnectedID = C / RedirectingID = MB / RedirectionID = C mod Calling = MA / mod Called = B1 / mod Connected = C / mod Redirecting = MB / LINE_APPNEWCALL, LINE_CALLSTATE (LINECALLSTATE_OFFERING/ LINECALLSTATE_ACCEPTED CallerID = A / CalledID = MB / ConnectedID = A / RedirectingID = MB / RedirectionID = C mod Calling = MA / mod Called = MB / |
電話機 A、B はクラスタ デバイスです。B は、A を A1 に、B を B1 に変換するように定義された発信側変換と着信側変換を持つトランスレーション パターン BXXX に一致します。また、外部コール制御が有効です。
ダイヤルされた番号 B は外部コール制御が有効なトランスレーション パターン BXXX に一致します。これは他に優先して処理され、CUCM は CEPM に対して B のルーティング ルールに従うことを要求します。
CEPM は、continue に加え、ModifiedCalling= MA と ModifiedCalled = MB を返します
コールは MB に拡張されます(continue ルーティング ディレクティブで発信側と着信側が変更され、トランスレーション パターン用に設定された発着信番号の変換が上書きされます)。
A が NewCallEvent および CallStateChangeEvent(Dialtone/Dialing)を受信する |
LINE_APPNEWCALL, LINE_CALLSTATE (LINECALLSTATE_DIALTONE/ LINECALLSTATE_DIALING) |
LINE_CALLSTATE (LINECALLSTATE_RINGBACK)/ LINE_CALLINFO mod Calling = MA / mod Called = B1 LINE_APPNEWCALL, LINE_CALLSTATE (LINECALLSTATE_OFFERING/ LINECALLSTATE_ACCEPTED |
|
LINE_CALLSTATE (LINECALLSTATE_CONNECTED) CallerID = A / CalledID = B1 / ConnectedID = MB mod Calling = MA / mod Called = B1 / LINE_CALLSTATE (LINECALLSTATE_CONNECTED) CallerID = A / CalledID = MB / ConnectedID = A |
C は、B を A1 に、C を C1 に変換するように定義された発信側変換と着信側変換を持つトランスレーション パターン CXXX に一致します。また、外部コール制御も有効です。
アプリケーションが A で lineMakeCall を送信して B を呼び出します。アプリケーションが lineSetupConference/lineAddToconference を B に送信して、C へのコールのコンサルト会議を実行します。
ダイヤルされた番号 C は外部コール制御が有効なトランスレーション パターン CXXX に一致します。これは他に優先して処理され、CUCM は CEPM に対して B のルーティング ルールに従うことを要求します。
CEPM は、continue に加え、ModifiedCalling= MB と ModifiedCalled = MC を返します。
コールは「MC」に拡張されます(continue ルーティング ディレクティブで発信側と着信側が変更され、トランスレーション パターン用に設定された発着信番号の変換が上書きされます)。
会議の完了後、電話会議の正しい番号が、すべての参加者に提示されます。
LINE_CALLSTATE (LINECALLSTATE_CONNECTED) CallerID = A / CalledID = B / ConnectedID = B mod Calling = A / mod Called = B / LINE_CALLSTATE (LINECALLSTATE_CONNECTED) CallerID = A / CalledID = B / ConnectedID = A |
|
LINE_CALLSTATE (LINECALLSTATE_ONHOLDPENDCONF) CallerID = A / CalledID = B / ConnectedID = A mod Calling = A / mod Called = B / LINE_APPNEWCALL, LINE_CALLSTATE (LINECALLSTATE_PROCEEDING)/ LINE_CALLINFO mod Calling = MB / mod Called = C1 LINE_APPNEWCALL, LINE_CALLSTATE (LINECALLSTATE_OFFERING/ LINECALLSTATE_ACCEPTED) |
|
LINE_CALLSTATE (LINECALLSTATE_CONNECTED) CallerID = B / CalledID = C1 / ConnectedID = MC mod Calling = MB / mod Called = C1 / LINE_CALLSTATE (LINECALLSTATE_CONNECTED) CallerID = B / CalledID = MC / ConnectedID = B |
|
CallerID = A / CalledID = B / ConnectedID = B mod Calling = A / mod Called = B /
CallerID = A / CalledID = MC / ConnectedID = MC mod Calling = A / mod Called = MC / CallerID = A / CalledID = B / ConnectedID = A mod Calling = A / mod Called = B /
CallerID = B / CalledID = C1 / ConnectedID = MC mod Calling = B/ mod Called = C1 / CallerID = B / CalledID = MC / ConnectedID = B mod Calling = B / mod Called = MC / CallerID = MC / CalledID = A / ConnectedID = A |
電話機 A、C1、D はクラスタ デバイスです。B は外部コール制御が有効なトランスレーション パターン BXXX に一致します。アプリケーションが A で lineMakeCall を送信して B を呼び出します。
CEPM はこのコールを、シャペロンによる監督が必要なコールと判断します。CEPM は許可の決定とともに、<divert> の必要性、宛先を HuntPilot C(シャペロンのハント パイロット)とすること、および理由文字列「chaperone」を返します。
CUCM は、このコールをハント パイロット C にリダイレクトし、シャペロンのメンバである C1 がコールに応答します。
シャペロン C1 は、A との簡単なやり取りを行い、A が意図する通信相手が D であることを理解すると、D への会議の確立を開始します。C1 は会議ソフトキーを押し、D をダイヤルします。
CUCM は、発信側ユーザ C1 を DN C1、着信側ユーザ D を DN D としてこのコールを CEPM に問い合わせます。
発信側がシャペロンであることがポリシー サーバによって検出されるため、CEPM は応答として、<continue> コール ルーティング ディレクティブの付いた許可の決定を返します。
CUCM が D の電話機にコールを発信し、D がコールに応答します。
シャペロン C1 が [録音(record)] ソフトキーを押します。" " これにより、C1 の IP フォンからレコーダへのコール録音が設定されます。
コール録音が正常に確立されると、C1 の電話で録音警告音が鳴ります。録音警告音は、サービス パラメータ、Play Recording Notification Tone To Observed Target を True に設定すると有効になります。
A が NewCallEvent および CallStateChangeEvent(Dialtone/Dialing)を受信する |
LINE_APPNEWCALL, LINE_CALLSTATE (LINECALLSTATE_DIALTONE/ LINECALLSTATE_DIALING) |
LINE_CALLSTATE (LINECALLSTATE_RINGBACK)/ LINE_CALLINFO CallerID = A / CalledID = B / RedirectingID = B / mod Calling = A / mod Called = B / mod Redirecting = B / mod Redirection = C LINE_APPNEWCALL, LINE_CALLSTATE (LINECALLSTATE_OFFERING/ LINECALLSTATE_ACCEPTED CallerID = A / CalledID = B / RedirectingID = B / mod Calling = A / mod Called = B / |
|
LINE_CALLSTATE (LINECALLSTATE_CONNECTED) CallerID = A / CalledID = B / ConnectedID = C / RedirectingID = B / RedirectionID = C mod Calling = A / mod Called = B / mod Redirecting = B / mod Connected = B / mod Redirection = C LINE_CALLSTATE (LINECALLSTATE_CONNECTED) CallerID = A / CalledID = B / ConnectedID = C / RedirectingID = B / RedirectionID = C mod Calling = A / mod Called = B / mod Redirecting = B / mod Connected = B / mod Redirection = C |
|
Line_Reply でエラー コード「LINEERR_OPERATION_FAIL_CHAPERONE_DEVIC」が報告される |
|
LINE_CALLSTATE (LINECALLSTATE_ONHOLDPENDCONF) CallerID = A / CalledID = B / ConnectedID = A / RedirectingID = B / RedirectionID = C mod Calling = A / mod Called = B / mod Connected = A / mod Redirecting = B / mod Redirection = C LINECALLINFO::DEVSPECIFIC に IsChaperoneCall = 0x1 が含まれている LINE_APPNEWCALL, LINE_CALLSTATE (LINECALLSTATE_PROCEEDING)/ LINE_CALLINFO mod Calling = C1 / mod Called = D LINE_APPNEWCALL, LINE_CALLSTATE (LINECALLSTATE_OFFERING/ LINECALLSTATE_ACCEPTED) |
|
LINE_CALLSTATE (LINECALLSTATE_CONNECTED) CallerID = C1 / CalledID = D / ConnectedID = D mod Calling = C1 / mod Called = D / LINE_CALLSTATE (LINECALLSTATE_CONNECTED) |
|
CallerID = A / CalledID = B / ConnectedID = C / RedirectingID = B / RedirectionID = C mod Calling = A / mod Called = B / mod Redirecting = B / mod Connected = C / mod Redirection = C CallerID = A / CalledID = D / ConnectedID = D mod Calling = A / mod Called = D / mod Connected = D CallerID = A / CalledID = B / ConnectedID = A / RedirectingID = B / RedirectionID = C mod Calling = A / mod Called = B / mod Connected = A / mod Redirecting = B / mod Redirection = C LINECALLINFO::DEVSPECIFIC に IsChaperoneCall = 0x1 が含まれている CallerID = C / CalledID = D / ConnectedID = D mod Calling = C / mod Called = D / mod Connected = D CallerID = C / CalledID = D / ConnectedID = C mod Calling = C / mod Called = D / mod Connected = C CallerID = D / CalledID = A / ConnectedID = A mod Calling = D / mod Called = A / mod Connected = A |
|
LINE_DEVSPECIFIC(SLDSMT_RECORDING_STARTED, 0, 0) LINE_DEVSPECIFIC(SLDSMT_LINECALLINFO_ DEVSPECIFICDATA, SLDST_CALL_ATTRIBUTE_INFO, 0) CallAttributeTye = ‘Recording’ Address = R’s DN, Partition = R’s Partition, DeviceName = R’s DeviceName |
次の表に、FAC を必要とする宛先に手動でコールを発信する場合に、強制承認コードおよびクライアント識別コードのシナリオを使用するメッセージ シーケンスを示します。
通話者 A がアイドル状態である。通話者 B へのコールには FAC が必要である
(通話者 B が FAC ではなく CMC を必要とする場合も、シナリオは同じ)
CallStateChangedEvent, CH = C1, |
|||
CallToneChangedEvent, CH = C1, Tone = ZipZip, Feature = FACCMC, FACRequired = True, CMCRequired = False |
|||
次の表に、FAC と CMC の両方を必要とする宛先への手動コールで、強制承認コードおよびクライアント識別コードのシナリオを使用するメッセージ シーケンスを示します。
通話者 A がアイドル状態である。通話者 B へのコールには FAC と CMC が必要である。
次の表に、FAC を必要とする宛先への lineMakeCall で、強制承認コードおよびクライアント識別コードのシナリオを使用するメッセージ シーケンスを示します。
通話者 A がアイドル状態である。通話者 B へのコールには FAC が必要である(通話者が FAC ではなく CMC を必要とする場合も、シナリオはほとんど同じです)。
CallToneChangedEvent, CH = C1, Tone = ZipZip, Feature = FACCMC, FACRequired = True, CMCRequired = False |
|||
次の表に、FAC と CMC の両方を必要とする宛先への lineMakeCall で、強制承認コードおよびクライアント識別コードのシナリオを使用するメッセージ シーケンスを示します。このシナリオでは、通話者 A はアイドル状態で、通話者 B には FAC と CMC の両方が必要です。
次の表では、FAC 待ちでタイムアウトになった場合や、FAC に不正な入力が行われた場合に、強制承認コードおよびクライアント識別コードのシナリオを使用するメッセージ シーケンスを説明します。ここでは、通話者 A はアイドル状態で、通話者 B には FAC が必要です。
通話者 B が FAC ではなく CMC を必要とする場合も、シナリオはほとんど同じです。
コードの入力待ちで T302 タイマーがタイムアウトするか、通話者 A が不正な FAC を指定して lineDial() を実行する |
MODE_FACCMC1 |
||
CallStateChangedEvent, CH = C1, State = Idle, Cause = CtiCauseNoError, Reason = Direct, Calling = A, Called = NP, OrigCalled = NP, LR = NP |
回線の拡張バージョンが 0x00050000 以上に設定されている場合、dwParam2 は DISCONNECTMODE_FACCMC に設定されます。それ以外の場合、dwParam2 は DISCONNECTMODE_UNAVAIL に設定されます。
操作 | TSP メッセージ/イベント |
---|---|
アプリケーションがプロバイダーをオープンする。 | |
アプリケーションは、CTI リモート デバイスの回線で lineGetDevCaps を送信する |
LINEGETDEVCAPS::DEVSPECIFIC に含まれるもの Cisco_LineDevCaps_Ext00080000::recordType = 設定された録音タイプ Cisco_LineDevCaps_Ext000D0000::clusteID = 回線のクラスタ ID |
操作 | TSP メッセージ/イベント |
---|---|
アプリケーションがプロバイダーをオープンする。 | |
A が CTI RD をコールし、リモート接続先が応答する | |
アプリケーションは CCiscoLineDevSpecificStartCallRecordingwith m_InvocationType = RecordingInvocationType_UserControlledRecording (2) を発行します |
TSP が LINE_REPLY を送信する TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
操作 | TSP メッセージ/イベント |
---|---|
アプリケーションがプロバイダーをオープンする。 | |
A が CTI RD をコールし、リモート接続先が応答する |
TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_Automatic (6) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
操作 | TSP メッセージ/イベント |
---|---|
アプリケーションがプロバイダーをオープンする。 | |
A が CTI RD をコールし、リモート接続先が応答する |
TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_Automatic (6) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
CTI RD が、コールを保留にする。 | TSP は LineDevSpecific(SLDSMT_RECORDING_ENDED) イベントを送信する |
CTI RD はコールを再開する |
TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_Automatic (6) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
操作 | TSP メッセージ/イベント |
---|---|
アプリケーションがプロバイダーをオープンする。 | |
A が CTI RD をコールし、リモート接続先が応答する | |
アプリケーションは CCiscoLineDevSpecificStartCallRecordingwith m_InvocationType = RecordingInvocationType_UserControlledRecording (2) を発行します |
TSP が LINE_REPLY を送信する TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
A が、コールを保留にする。 | TSP により渡されるイベントのパスはなく、録音は継続する |
A が、コールを再開する。 | TSP により渡されるイベントのパスはなく、録音は継続する |
操作 | TSP メッセージ/イベント |
---|---|
アプリケーションがプロバイダーをオープンする。 | |
A が CTI RD をコールし、リモート接続先が応答する | |
アプリケーションは CCiscoLineDevSpecificStartCallRecordingwith m_InvocationType = RecordingInvocationType_UserControlledRecording (2) を発行します |
TSP が LINE_REPLY を送信する TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
A はコールを B にリダイレクトする | TSP は LineDevSpecific(SLDSMT_RECORDING_ENDED) イベントを送信する |
B がコールに応答する |
TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
操作 | TSP メッセージ/イベント |
---|---|
アプリケーションがプロバイダーをオープンする。 | |
A が CTI RD をコールし、リモート接続先が応答する | |
アプリケーションは CCiscoLineDevSpecificStartCallRecordingwith m_InvocationType = RecordingInvocationType_UserControlledRecording (2) を発行します |
TSP が LINE_REPLY を送信する TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
A はコールを B にリダイレクトする | |
B がコールに応答する |
TSP は LineDevSpecific(SLDSMT_RECORDING_ENDED) イベントを送信する TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
操作 | TSP メッセージ/イベント |
---|---|
アプリケーションがプロバイダーをオープンする。 | |
A が CTI RD をコールし、リモート接続先が応答する | |
アプリケーションは CCiscoLineDevSpecificStartCallRecordingwith m_InvocationType = RecordingInvocationType_UserControlledRecording (2) を発行します |
TSP が LINE_REPLY を送信する TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
A は B への転送をセットアップ | |
B がコールに応答する | |
A は B への転送を完了する |
TSP は LineDevSpecific(SLDSMT_RECORDING_ENDED) イベントを送信する TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
操作 | TSP メッセージ/イベント |
---|---|
アプリケーションがプロバイダーをオープンする。 | |
A が CTI RD をコールし、リモート接続先が応答する | |
アプリケーションは CCiscoLineDevSpecificStartCallRecordingwith m_InvocationType = RecordingInvocationType_UserControlledRecording (2) を発行します |
TSP が LINE_REPLY を送信する TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
A は B への転送をセットアップ | |
B がコールに応答する | |
A は B への転送を完了する |
TSP は LineDevSpecific(SLDSMT_RECORDING_ENDED) イベントを送信する TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
操作 | CTI メッセージ/イベント |
---|---|
アプリケーションがプロバイダーをオープンする。 | |
A が CTI RD をコールし、リモート接続先が応答する | |
アプリケーションは CCiscoLineDevSpecificStartCallRecordingwith m_InvocationType = RecordingInvocationType_UserControlledRecording (2) を発行します |
TSP が LINE_REPLY を送信する TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
A は B への会議をセットアップ | |
B がコールに応答する | |
A は B への会議を完了する | TSP は LineDevSpecific(SLDSMT_RECORDING_ENDED) イベントを送信する TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
B が会議から抜ける | TSP は LineDevSpecific(SLDSMT_RECORDING_ENDED) イベントを送信する TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがフォークされている clusterID。 |
操作 | CTI メッセージ/イベント |
---|---|
アプリケーションがプロバイダーをオープンする。 | |
A が CTI RD をコールし、リモート接続先が応答する | |
アプリケーションは CCiscoLineDevSpecificStartCallRecordingwith m_InvocationType = RecordingInvocationType_UserControlledRecording (2) を発行します |
TSP が LINE_REPLY を送信する TSP は LineDevSpecific(SLDSMT_RECORDING_STARTED) イベントを送信する LINEGETCALLINFO::DEVSPECIFIC CallAttributeInfo:: PartyDN = Recorder's DN PartyPartition = レコーダーのパーティション DeviceName = レコーダーのデバイス名 CallAttributeType = CallAttribute_Recorded_UserInitiatedFromApp (8) RecordingAttributeInfo_ExtD0:: ForkingDeviceType = MediaForkingType_GW (2) ForkingDeviceName = ゲートウェイへのトランクの名前 GatewayCallProtocolReference = Cisco GUID ForkingClusterName = メディアがある clusterID forkedforkingClusterID = メディアがフォークされている clusterID |
A は B への転送をセットアップ | |
B がコールに応答する | |
A は B への転送を完了する |
利用可能な録音リソースがないため TSP は LineDevSpecific(SLDSMT_RECORDING_FAILED) イベントを送信します アプリケーションは録音を再起動する必要があります |
B は C への転送をセットアップ | |
C がコールに応答する。 | |
B は C への転送を完了する | CTI リモート デバイスの録音の再起動なし。 |
操作 |
イベント、要求、応答 |
---|---|
アプリケーションは、A から HP1 に対してコールを開始し、コールは LG1 にオファーされる |
A: LINE_CALLSTATE -RINGBACK Caller = A Called = HP1, HuntPilot = HP1
LG1: LINE_CALLSTATE -ACCEPTED Caller = A, Called = HP1 HuntPilot = HP1 |
LG1 がコールに応答する |
A: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1
LG1: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = A |
LG2 がコールに応答する |
A: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG2 HuntPilot = HP1
LG2: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = A |
バリエーション:すべての HuntList アルゴリズムで同様のテストを行う
Top-Down アルゴリズム 循環アルゴリズム 最長アイドル時間アルゴリズム
|
|
操作 |
イベント、要求、応答 |
---|---|
アプリケーションは、A から HP1 に対してコールを開始し、コールは LG1 にオファーされる |
A: LINE_CALLSTATE -RINGBACK Caller = A Called = HP1, Called Name = HP1 HuntPilot = HP1
LG1: LINE_CALLSTATE -ACCEPTED Caller = A, Called = HP1, HuntPilot = HP1
|
コールが LG1 から LG2 に移動される |
LG1 のコールが IDLE になる
LG2: LINE_CALLSTATE -ACCEPTED Caller = A, Called = HP1, HuntPilot = HP1 |
LG2 がコールに応答する |
A: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG2 HuntPilot = HP1
LG2: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = A |
操作 |
イベント、要求、応答 |
---|---|
アプリケーションは、A から HP1 に対してコールを開始し、コールは LG1 にオファーされる |
A: LINE_CALLSTATE -RINGBACK Caller = A Called = HP1, HuntPilot = HP1
LG1: LINE_CALLSTATE -ACCEPTED Caller = A, Called = HP1, HuntPilot = HP1 |
コールが LG1 から LG2 に移動される |
LG1 のコールが IDLE になる
LG2: LINE_CALLSTATE -ACCEPTED Caller = A, Called = HP1, HuntPilot = HP1 |
コールが LG2 から LG3 に移動される |
LG2 のコールが IDLE になる
LG3: LINE_CALLSTATE -ACCEPTED Caller = A, Called = HP1, HuntPilot = HP1 |
LG3 がコールに応答しないので、コールが中止される |
A:コールが IDLE になる LINEDISCONNECTMODE_NOANSWER?
LG3:コールが IDLE になる LINEDISCONNECTMODE_NOANSWER ? |
操作 |
イベント、要求、応答 |
---|---|
アプリケーションは、A から HP1 に対してコールを開始し、コールは LG1 にオファーされる |
A: LINE_CALLSTATE -RINGBACK Caller = A Called = HP1, HuntPilot = HP1
LG1: LINE_CALLSTATE -ACCEPTED Caller = A, Called = HP1, HuntPilot = HP1 |
コールが LG1 から LG2 に移動される |
LG1 のコールが IDLE になる LG2: LINE_CALLSTATE -ACCEPTED Caller = A, Called = HP1, HuntPilot = HP1 |
コールが LG2 から LG3 に移動される |
LG2 のコールが IDLE になる LG3: LINE_CALLSTATE -ACCEPTED Caller = A, Called = HP1, HuntPilot = HP1 |
コールは FWNA から B で、B が応答する |
A: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connectedid = B LG3:コールが IDLE になる B: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = A Redirecting = HP1 Redirection = B |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
操作 |
イベント、要求、応答 |
---|---|
アプリケーションは A から HP1 にコールを開始し、コールは LG1 にオファーされ、LG1 が応答する |
A: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1
LG1: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1 |
LG1 が B をコールし、B が応答する |
LG1: Call-1 が HOLD になる
Call-2 LINE_CALLSTATE -CONNECTED Caller = LG1 Called = B Connected = B
B: LINE_CALLSTATE -CONNECTED Caller = LG1 Called = B Connected = B |
LG1 が直接転送を実行する |
A: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = B RedirectionID = B RedirectingID = LG1 LG1:両方のコールが IDLE になる
B: LINE_CALLSTATE -CONNECTED Caller = A Called = B Connected = A RedirectionID = B RedirectingID = LG1 |
|
|
|
|
|
|
|
|
|
|
操作 |
イベント、要求、応答 |
---|---|
アプリケーションは A から HP1 にコールを開始し、コールは LG1 にオファーされ、LG1 が応答する |
A: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1
LG1: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = A |
LG1 が HG2 への会議を設定し、それが LG11 に通知され、LG11 がコールに応答する |
LG1: ONHOLDPENDINGCONF CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = A CONNECTED Caller = LG1 Called = HP2 HuntPilot = HP2 Connected = LG11 HuntPilot = HG2
LG11: LINE_CALLSTATE -CONNECTED Caller = LG1 Called = HP2 HuntPilot = HP2 Connected = LG1 HuntPilot = HG1 |
LG1 が会議を開催する |
A: CONNECTED CONFERENCED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1 CONFERENCED Caller = A Called = HP2 ->LG11 HuntPilot = HP2 Connected = LG11 HuntPilot = HP2
LG1: CONNECTED CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = A CONFERENCED Caller = LG1 Called = HP2 HuntPilot = HP2 Connected = LG11 HuntPilot = HP2 |
|
LG11: CONNECTED CONFERECED Caller = LG1 Called = HP2 HuntPilot = HP2 Connected = LG1 HuntPilot = HG1 HP name = -empty CONFERECED Caller = LG11 Called = A Connected = A |
操作 |
イベント、要求、応答 |
---|---|
アプリケーションは A から HP1 にコールを開始し、コールは LG1 にオファーされ、LG1 が応答する |
A: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1
LG1: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = A |
LG1 が HG1 への会議を設定し、それが LG2 に通知される |
LG1: ONHOLDPENDINGCONF CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = A RINGBACK Caller = LG1 Called = HP1 HuntPilot = HP1
LG2: LINE_CALLSTATE -ACCEPTED Caller = LG1 Called = HP2 HuntPilot = HP2 |
LG1 が会議を開催する |
A: CONNECTED CONFERENCED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1 CONFERENCED Caller = A Called = HP1 HuntPilot = HP1 Connected = HP1 HuntPilot = HP1
LG1: CONNECTED CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = A CONFERENCED Caller = LG1 Called = HP1 HuntPilot = HP1 Connected = HP1 HuntPilot = HP1 |
|
LG2: ACCEPTED CONFERECED Caller = LG1 Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HG1 CONFERECED Caller = LG2 Called = A Connected = A |
LG2 がコールに応答する |
A: CONNECTED CONFERENCED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 Called Name = LG1 HuntPilot = HP1 CONFERENCED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG2 ConnectedName = LG2 HuntPilot = HP1
LG1: CONNECTED CONFERECED Caller = A Called = HP1 Connected = A CONFERENCED Caller = LG1 Called = HP1 HuntPilot = HP1 Connected = LG2 HuntPilot = HP1 Called = A Connected = A |
|
LG2: CONNECTED CONFERECED Caller = LG1 Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HG1 CONFERECED Caller = LG11 |
|
アプリケーションは A から HP1 にコールを開始するが、LG1 で DND が有効になっているため、コールは LG2 にオファーされ、LG2 が応答する |
A: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG2 HuntPilot = HP1
LG2: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = A |
操作 |
イベント、要求、応答 |
---|---|
B が A をコールし、A が応答する |
A: Call-1 LINE_CALLSTATE -CONNECTED Caller = B Called = A Connected = B
G: LINE_CALLSTATE -CONNECTED Caller = B Called = A Connected = A |
アプリケーションは A から HP1 にコールを開始し、コールは LG1 にオファーされ、LG1 が応答する |
A: Call-1 が HOLD になる Call-2 LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1
LG1: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = A |
アプリケーションは、最後のコールを call-1 と指定して、A で JOIN コールを開始する |
A: CONNECTED CONFERENCED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1 CONFERENCED Caller = B Called = A Connected = B LG1: CONNECTED CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = A CONFERENCED Caller = LG1 Called = B Connected = B B: CONNECTED CONFERENCED Caller = B Called = A Connected = A CONFERECED Caller = B Called = LG1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1 |
|
|
|
|
|
X:サーバから新しいコールが X にオファーされ、X が応答する
|
|
|
|
操作 |
イベント、要求、応答 |
---|---|
アプリケーションは A から HP1 にコールを開始し、コールは LG1 にオファーされ、LG1 が応答する |
A: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1
Connected = LG1 HuntPilot = HP1
LG1: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1
Connected = A |
LG1 が HG2 への会議を設定し、それが LG11 に通知され、LG11 がコールに応答する |
LG1: ONHOLDPENDINGCONF CONFERECED Caller = A Called = HP1 HuntPilot = HP1
Connected = A CONNECTED Caller = LG1 Called = HP2 HuntPilot = HP2
Connected = LG11 HuntPilot = HG2
B: LINE_CALLSTATE -CONNECTED Caller = LG1 Called = HP2 HuntPilot = HP2
Connected = LG11 HuntPilot = HG2 |
LG1 が会議を開催する |
A: CONNECTED CONFERENCED Caller = A Called = HP1 HuntPilot = HP1
Connected = LG1 Called Name = LG1 HuntPilot = HP1 CONFERENCED Caller = A Called = LG11 HuntPilot = HP2 Connected = LG11 HuntPilot = HP2
LG1: CONNECTED CONFERECED Caller = A Called = HP1 HuntPilot = HP1 CONNECTED Caller = LG1 Called = HP2 HuntPilot = HP2 Connected = LG11 HuntPilot = HP2 |
|
LG11: CONNECTED Caller = LG1 Called = HP2 HuntPilot = HP2 Connected = LG11 HuntPilot = HG2 CONFERECED Caller = LG11 Called = A Connected = A |
LG11 がコールを抜ける |
A: 親の電話会議が IDLE になる LG11 の CONFERENCED コールが IDLE になる CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1
LG1: 親の電話会議が IDLE になる LG11 の CONFERENCED コールが IDLE になる CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = A
LG11: コールが IDLE になる |
|
(注) | コール ピックアップ機能との対話時は、HP ブロードキャストはサポートされません。 |
操作 |
イベント、要求、応答 |
---|---|
アプリケーションは A から HP1 にコールを開始し、コールは LG1 にオファーされ、LG1 が応答する |
A: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1
Connected = LG1 HuntPilot = HP1
LG1: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1
Connected = A
LG1’: LINE_CALLSTATE -CONNECTED INACTIVE Caller = A Called = HP1 HuntPilot = HP1
Connected = A |
LG1 が B に会議を設定し、B が応答する |
LG1: ONHOLDPENDINGCONF CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = A CONNECTED Caller = LG1 Called = B Connected = B
LG1’: LINE_CALLSTATE -CONNECTED INACTIVE Caller = A Called = HP1 HuntPilot = HP1 Connected = A
LINE_CALLSTATE -CONNECTED INACTIVE CONNECTED Caller = LG1 Called = B Connected = B
B: LINE_CALLSTATE -CONNECTED Caller = LG1 Called = B Connected = B |
LG1 が会議を開催する |
A: CONNECTED CONFERENCED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1 CONFERENCED Caller = A Called = B Called Name = B Connected = B Called Name = B
LG1: CONNECTED CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = A CONFERENCED Caller = LG1 Called = B Connected = B |
|
LG1’: CONNECTED INACTIVE CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = A CONFERENCED Caller = LG1 Called = B Connected = B
B: CONNECTED CONFERENCED Caller = LG1 Called = B Connected = LG1 CONFERECED Caller = B Called = A Connected = A |
LG1’ が C 割り込みする |
A: CONNECTED CONFERENCED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1 CONFERENCED Caller = A Called = B Connected = B CONFERENCED Caller = A Called = LG1’ Connected = LG1’
LG1: CONNECTED CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1 CONFERENCED Caller = LG1 Called = B Connected = B CONFERENCED Caller = LG1 Called = LG1’ Connected = LG1’ |
|
CONNECTED INACTIVE CONFERECED Caller = LG1’ Called = LG1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1 CONFERENCED Caller = LG1’ Called = B Connected = B CONFERENCED Caller = LG1’ Called = A Connected = A
LG1’: CONNECTED CONFERECED Caller = LG1’ Called = LG1
HuntPilot = HP1 Connected = LG1 HuntPilot = HP1 CONFERENCED Caller = LG1’ Called = B
Connected = B CONFERENCED Caller = LG1’ Called = A Connected = A CONNECTED INACTIVE |
|
CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = A CONFERENCED Caller = LG1 Called = B Connected = B CONFERENCED Caller = LG1 Called = LG1’ Connected = LG1’
B: CONNECTED CONFERENCED Caller = LG1 Called = B Connected = LG1 CONFERECED Caller = B Called = A Connected = A CONFERENCED Caller = B Called = LG1’ Connected = LG1’ |
操作 |
イベント、要求、応答 |
---|---|
アプリケーションは A から HP1 にコールを開始し、コールは LG1 にオファーされ、LG1 が応答する |
A: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1
Connected = LG1 HuntPilot = HP1
LG1: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = A |
LG1 が HG2 への会議を設定し、それが LG11 に通知され、LG11 がコールに応答する |
LG1: ONHOLDPENDINGCONF CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = A CONNECTED Caller = LG1 Called = LG11 HuntPilot = HP2 Connected = LG11 HuntPilot = HG2
LG11: LINE_CALLSTATE -CONNECTED Caller = LG1 Called = HP2 HuntPilot = HP2
Connected = LG1 HuntPilot = HG1 |
LG1 が会議を開催する |
A: CONNECTED CONFERENCED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1 CONFERENCED Caller = A Called = HG2 Connected = LG11 HuntPilot = HP2
LG1: CONNECTED CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = A CONFERECED Caller = LG1 Called = HP2 Connected = LG11 HuntPilot = HP2
LG11: CONNECTED CONFERECED Caller = LG1 Called = HP2 HuntPilot = HP2 Connected = LG11 HuntPilot = HG2 |
|
CONFERECED Caller = LG11 Called = A Connected = A |
LG1 が X に会議を設定し、X がコールに応答する |
LG1: ONHOLDPENDINGCONFERENCE CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = A CONFERECED Caller = LG1 Called = HP2 Connected = LG11 HuntPilot = HP2
CONNECTED Caller = LG1 Called = X Connected = X X: CONNECTED Caller = LG1 Called = X Connected = LG1 |
LG1 が会議を開催する |
A: CONNECTED CONFERENCED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1 CONFERENCED Caller = A Called = LG11 HuntPilot = HP2 Connected = LG11 HuntPilot = HP2
CONFERENCED Caller = A Called = X Connected = X
LG1: CONNECTED CONFERECED Caller = A Called = HP1 HuntPilot = HP1 Connected = A CONFERECED Caller = LG1 Called = HP2 Connected = LG11 HuntPilot = HP2 CONFERENCED Caller = LG1 Called = X Connected = X |
|
LG11: CONNECTED CONFERECED Caller = LG1 Called = HP2 HuntPilot = HP2 Connected = LG11 HuntPilot = HG1 CONFERECED Caller = LG11 Called = A Connected = A CONFERENCED Caller = LG11 Called = X Connected = X |
HP1 と HP2 は、[回線グループ メンバ DN を接続側として表示(Display Line Group Member DN as Connected Party)] が設定された 2 つのハント パイロットです。
HP1:LG1、LG2、LG3(回線グループ/メンバ DN)
HP2:LG4、LG5、LG6(回線グループ/メンバ DN)
|
|
|
|
|
バリエーション:すべての HuntList アルゴリズムで同様のテストを行う
|
|
|
|
|
|
|
表 1と同じ。ただし CTI ポートを使用 |
表 2と同じ。ただし CTI ポートを使用 |
|
|
|
|
操作 |
イベント、要求、応答 |
---|---|
アプリケーションは A から HP1 にコールを開始し、コールは LG1 にオファーされ、LG1 が応答する |
A: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = LG1 HuntPilot = HP1
LG1: LINE_CALLSTATE -CONNECTED Caller = A Called = HP1 HuntPilot = HP1 Connected = A |
A は HP2 への転送を設定するが、LG11 にオファーされ、LG11 が応答する |
A: Call-1 が HOLD になる
Call-2 LINE_CALLSTATE -CONNECTED Caller = A Called = HP2 HuntPilot = HP2 Connected = LG11 HuntPilot = HP2
LG11: LINE_CALLSTATE -CONNECTED Caller = A Called = HP2 HuntPilot = HP2 Connected = A |
A による転送を実行する |
LG1: LINE_CALLSTATE -CONNECTED Caller = LG1 HuntPilot = HP1 Called = HP1 HuntPilot = HP1 Connected = LG11 HuntPilot = HP2 RedirectionID = LG11 RedirectingID = A
A:両方のコールが IDLE になる
LG11: LINE_CALLSTATE -CONNECTED Caller = LG1 HuntPilot = HP1 Called = HP2 HuntPilot = HP2 Connected = LG1 HuntPilot = HP1 RedirectionID = LG11 RedirectingID = A |
拡張機能を使用する HuntGroup ログイン ステータスに関連する使用例を以下に示します。
デバイス A、B。
操作(Action) |
想定されるイベント |
---|---|
アプリケーションは LineInitialize を実行する A で新しい ExtVesrion 0x000E0000 を指定して LineOpen を実行する |
LineInitialize 成功 |
アプリケーションが PhoneInitialize と PhoneOpen を拡張バージョン 0x00030000 として実行する |
PhoneInitialize 成功 |
アプリケーションが phoneSetStatusMessages を実行する |
Phone_State 成功 |
HuntLog ステータスを設定する要求が CCiscoPhoneDevSpecificSetHuntGroupLoginStatus を使用して送信される |
PHONE_REPLY 成功 |
(CCiscoPhoneDevSpecificSetHuntGroupLoginStatus)... |
次の情報とともに PHONE_STATE を受信 |
操作(Action) |
想定されるイベント |
---|---|
アプリケーションは LineInitialize を実行する A で新しい ExtVesrion 0x000E0000 を指定して LineOpen を実行する |
LineInitialize 成功 |
アプリケーションが PhoneInitialize と PhoneOpen を拡張バージョン 0x00030000 として実行する |
PhoneInitialize 成功 |
アプリケーションが phoneSetStatusMessages を実行する |
PHONE_STATE 成功 |
HuntLog ステータスを設定する要求が CCiscoPhoneDevSpecificSetHuntGroupLoginStatus を使用して送信される |
PHONE_REPLY 成功 |
(CCiscoPhoneDevSpecificSetHuntGroupLoginStatus)... |
アプリケーションにイベントは送信されません。 |
操作(Action) |
想定されるイベント |
---|---|
アプリケーションは LineInitialize を実行する A で新しい ExtVesrion 0x000E0000 を指定して LineOpen を実行する |
LineInitialize 成功 |
アプリケーションが PhoneInitialize と PhoneOpen を拡張バージョン 0x00030000 として実行する |
PhoneInitialize 成功 |
アプリケーションが、拡張子が 0x000E0000 の LineGetDevCaps を使用して機能をクエリし、HuntGroupLogin ステータスを取得する。 |
LineGetDevCaps 成功 |
操作(Action) |
想定されるイベント |
---|---|
アプリケーションは LineInitialize を実行する A で新しい ExtVesrion 0x000E0000 を指定して LineOpen を実行する |
LineInitialize 成功 |
アプリケーションが PhoneInitialize と PhoneOpen を拡張バージョン 0x00030000 として実行する |
PhoneInitialize 成功 |
アプリケーションが phoneSetStatusMessages を実行する |
PHONE_STATE 成功 |
HuntLog ステータスを設定する要求が CCiscoPhoneDevSpecificSetHuntGroupLoginStatus を使用して送信される |
エラー付きの PHONE_REPLY |
(CCiscoPhoneDevSpecificSetHuntGroupLoginStatus)... |
LINEERR_INVALPARAM がアプリケーションに返されます。 |
操作(Action) |
想定されるイベント |
---|---|
アプリケーションは LineInitialize を実行する A(CTI ルート ポイント)で新しい ExtVersion 0x000E0000 を指定して LineOpen を実行する |
LineInitialize 成功 |
アプリケーションが PhoneInitialize と PhoneOpen を拡張バージョン 0x00030000 として実行する |
PhoneInitialize 成功 |
アプリケーションが phoneSetStatusMessages を実行する |
PHONE_STATE 成功 |
HuntLog ステータスを設定する要求が CCiscoPhoneDevSpecificSetHuntGroupLoginStatus を使用して送信される |
エラー付きの PHONE_REPLY |
(CCiscoPhoneDevSpecificSetHuntGroupLoginStatus)... |
LINEERR_OPERATIONUNAVAIL がアプリケーションに返されます。 |
操作(Action) |
想定されるイベント |
---|---|
アプリケーションは LineInitialize を実行する A で新しい ExtVesrion 0x000E0000 を指定して LineOpen を 実行する B で新しい ExtVesrion 0x000E0000 を指定して LineOpen を 実行する C で新しい ExtVesrion 0x000E0000 を指定して LineOpen を 実行する |
LineInitialize 成功 |
アプリケーションが B で拡張バージョン 0x00030000 を指定して PhoneInitialize と PhoneOpen を実行する |
PhoneInitialize 成功 |
アプリケーションが A から HP(ハント パイロット)に対してコールを開始し、コールは LG1 にオファーされる |
A: |
B は HuntGroup からログアウトしたのでコールを受信しない |
C: |
C が呼び出しを開始し、コールを受け入れる。 |
C: A: |
IPPhone A には、line1(1000)および line2(5000)という 2 つの回線がある。Line2 はインターコム回線である。「Assistant_1」というラベルで 5001 へのスピード ダイヤルが設定されている。
IPPhone B には、line1(1001)、line2(5001)、および Line3(5002)という 3 つの回線がある。Line2 および Line3 はインターコム回線である。line2 では、「Manager_1」というラベルで 5000 へのスピード ダイヤルが設定されている。Line 3 ではスピード ダイヤルが設定されていない。
IPPhone C には、line1(1002)および line2(5003)という 2 つの回線がある。5003 はインターコム回線であり、「Assistant_5002」というラベルで 5002 へのスピード ダイヤルが設定されている。
IPPhone D には 1 つの回線(5004)がある。5004 はインターコム回線である。
CTIPort X には、line1(2000)および line2(5555)という 2 つの回線がある。Line2 はインターコム回線である。「Assistant_1」というラベルで 5001 へのスピード ダイヤルが設定されている。
インターコム回線(5000 ~ 5003)は同一のパーティション(Intercom_Group_1)に存在し、そのまま互いに到達可能である。5004 は Intercom_Group_2 に存在する。
アプリケーションは、すべてのデバイス上ですべての回線をモニタしている。
仮定:アプリケーションの初期化が完了し、CTI からすべてのデバイス上のインターコム回線にスピード ダイヤルと回線に関する詳細が提供された。SCCP を実行している電話機と SIP を実行している電話機の動作は同じ。
|
操作 |
イベント |
---|---|
上記の例に続いて、5001 がアプリケーションからインタコム コールに対して LineTalkBack を開始 |
5000: LINE_CALLSTATE を受信 device = x10218 param1 = x100, CONNECTED param2 = x1, ACTIVE param3 = x0,
StartReception イベントを受信
5001: LINE_CALLSTATE を受信 device = x101f6 cbInst = x0 param1 = x100, CONNECTED param2 = x1, ACTIVE param3 = x0,
StartTransmission イベントを受信 |
操作 |
イベント |
---|---|
回線 5000 をオープン LineChangeSpeeddial 要求(5003 へのスピード ダイヤル、ラベルは「Assistant_5003」) |
インターコム回線で新しいスピード ダイヤルとラベルが正しく設定される
CTI から LineSpeeddialChangeEvent を受信
スピード ダイヤルとラベルが変更されたことを示す LINE_DEVSPECIFIC を送信 |
アプリケーションは LIneGetDevCaps を発行して、回線上で設定されたスピード ダイヤルとラベルを取得 |
TAPI が回線上で設定されたスピード ダイヤルとラベルを返す |
|
|
アプリケーションは CTI ポートを登録できない。TSP からエラー LINEERR_OPERATIONUNAVAIL が返される。 |
|
アプリケーションは CTI ポートを登録できない。TSP からエラー LINEERR_OPERATIONUNAVAIL が返される。 |
|
FireCallState = Offering、GetlineCallInfo が実行される。 LineCallInfo の DevSpecific 部分には次の内容が含まれる。 FarEndIPAddressIpv6:A の IPv6 アドレス
LineCallInfo の DevSpecific 部分には次の内容が含まれる。 TransmissionRTPDestinationAddress = B の IPv6 アドレス ReceptionRTPDestinationAddress = B の IPv6 アドレス
LineCallInfo の DevSpecific 部分には次の内容が含まれる。 |
|
FireCallState = Offering、GetlineCallInfo が実行される。 LineCallInfo の DevSpecific 部分には次の内容が含まれる。 FarEndIPAddressIpv6:A の IPv6 アドレス
LineCallInfo の DevSpecific 部分には次の内容が含まれる。 TransmissionRTPDestinationAddress = B の IPv6 アドレス ReceptionRTPDestinationAddress = B の IPv6 アドレス
LineCallInfo の DevSpecific 部分には次の内容が含まれる。 |
|
FireCallState = Offering、GetlineCallInfo が実行される。 LineCallInfo の DevSpecific 部分には次の内容が含まれる。
LineCallInfo の DevSpecific 部分には次の内容が含まれる。 TransmissionRTPDestinationAddress = MTP リソースの IPv4 アドレス ReceptionRTPDestinationAddress = A の IPv4 アドレス
LineCallInfo の DevSpecific 部分には次の内容が含まれる。 |
|
FireCallState = Offering、GetlineCallInfo が実行される。 LineCallInfo の DevSpecific 部分には次の内容が含まれる。 FarEndIPAddressIpv6:A の IPv6 アドレス
LineCallInfo の DevSpecific 部分には次の内容が含まれる。 TransmissionRTPDestinationAddress = MTP リソースの IPv6 アドレス ReceptionRTPDestinationAddress = B の IPv6 アドレス
LineCallInfo の DevSpecific 部分には次の内容が含まれる。 |
|
LineCallInfo の DevSpecific 部分には次の内容が含まれる。 FarEndIPAddressIpv6:A の IPv6 アドレス
LineCallInfo の DevSpecific 部分には次の内容が含まれる。 TransmissionRTPDestinationAddress = MTP リソースの IPv6 アドレス ReceptionRTPDestinationAddress = B の IPv6 アドレス
LineCallInfo の DevSpecific 部分には次の内容が含まれる。 |
アプリケーションは、デバイス設定で開かれた CTI ポートまたは RP の LineDevSpecific を受け取る。これはアドレッシング モードが変更されたことを示す。IPv6 として登録されたすべての回線が LINE_CLOSE イベントを取得する。アプリケーションはこれらの回線を後で再登録できる。 |
アプリケーションは、デバイス設定で開かれた CTI ポートまたは RP の LineDevSpecific を受け取る。これはアドレッシング モードが変更されたことを示す。IPv4 として登録されたすべての回線は LINE_CLOSE イベントを取得する。アプリケーションはこれらの回線を後で再登録できる。 |
LINE_CALLSTATE param1 = x100, CONNECTED Caller = A, Called = B1 Connected B1 |
|
|
For B1: LINE_CALLSTATE param1 = x100, HOLD Caller = A, Called = B1, Connected = A |
|
For B2: LINE_CALLSTATE param1 = x100, CONNECTED Caller = C, Called = B2 , Connected = C |
|
For C: LINE_CALLSTATE param1 = x100, CONNECTED Caller = C, Called = B2, Connected = B2 |
|
For B1’: LINE_CALLSTATE param1 = x100, CONNECTED, INACTIVE Caller = A, Called = B1, Connected = A |
B1 のコールを存続コールとして、アプリケーションが lineDevSpecific(SLDST_JOIN) を発行する |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
param1 = x100, CONNECTED Caller = A, Called = B1 Connected B1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
param1 = x100, CONNECTED Caller = D, Called = B2 , Connected = D |
|
|
|
|
|
param1 = x100, CONNECTED Caller = C, Called = B2, Connected = B2 |
|
|
|
|
|
param1 = x100, CONNECTED Caller = D, Called = B2, Connected = B2 |
|
|
|
|
|
|
B1 のコールを存続コールとして、アプリケーションが lineDevSpecific(SLDST_JOIN) を発行する |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
param1 = x100, CONNECTED Caller = D, Called = B2 , Connected = D |
|
|
|
|
|
|
|
|
|
|
|
|
|
param1 = x100, CONNECTED Caller = D, Called = B2, Connected = B2 |
|
|
|
|
|
|
|
|
|
|
B1 のコールを存続コールとして、アプリケーションが lineDevSpecific(SLDST_JOIN) を発行する |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
param1 = x100, CONNECTED Caller = A, Called = B1 Connected B1 |
|
|
|
|
|
param1 = x100, CONNECTED Caller = C, Called = B2 , Connected = C |
|
|
|
|
|
param1 = x100, CONNECTED Caller = C, Called = B2, Connected = B2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
param1 = x100, CONNECTED Caller = A, Called = B1 Connected B1 |
|
|
|
|
|
|
|
|
|
|
|
param1 = x100, CONNECTED Caller = C, Called = B2 , Connected = C |
|
|
|
|
|
param1 = x100, CONNECTED Caller = C, Called = B2, Connected = B2 |
|
|
|
|
|
|
B1 のコールを存続コールとして、アプリケーションが lineDevSpecific(SLDST_JOIN) を発行する |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
param1 = x100, CONNECTED Caller = A, Called = B1 Connected B1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
param1 = x100, CONNECTED Caller = C, Called = B2 , Connected = C |
|
|
|
|
|
param1 = x100, CONNECTED Caller = C, Called = B2, Connected = B2 |
|
|
|
|
|
|
B2 のコールを存続コールとして、アプリケーションが lineDevSpecific(SLDST_JOIN) を発行する |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
バリエーション 2:A は Proceeding 状態に移行し、LINEDISCONNECTMODE_UNKNOWN という原因のために A にある DISCONNECTED 状態がアプリケーションに送信される。 |
2 つのクラスタ(Cluster1 および Cluster2)は、Cluster1 から Cluster2 の PSTN コールへの VOIP コールを制限する論理パーティション ポリシーで設定されている(PSTN から VIOP へのコールも同様)。 |
|
操作はエラー コード LINEERR_OPERATION_FAIL_PARTITIONING_POLICY で失敗する。 |
|
あるジオロケーション(GeoLoc 1)にある A(VOIP) 別のジオロケーション(GeoLoc 2)にある B(VOIP) |
|
あるジオロケーション(GeoLoc 1)にある A(VOIP) 別のジオロケーション(GeoLoc 2)にある B(VOIP) B と同じジオロケーション(GeoLoc 2)にある C(VOIP) B と同じジオロケーション(GeoLoc 2)にある D(PSTN) バリエーション 1:B で B -> A にプライマリ コールとして参加する。 |
|
あるジオロケーションにある A(PSTN)- GeoLoc1 あるジオロケーションにある B(VOIP)- GeoLoc1 |
|
あるジオロケーションにある A(PSTN)- GeoLoc1 あるジオロケーションにある B(VOIP)- GeoLoc1 |
|
バリエーション 2:A は Proceeding 状態に移行し、LINEDISCONNECTMODE_UNKNOWN という原因のために A にある DISCONNECTED 状態がアプリケーションに送信される。 |
次の表に、通話者 A がアイドル状態である場合に手動でアウトバウンド コールを行うメッセージ シーケンスを示します。
操作 |
CTI メッセージ |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|---|
1.通話者 A がオフフック状態になる |
NewCallEven CH = C1, GCH = G1, Calling = A, Called = NP, OrigCalled = NP, LR = NP, State = Dialtone, Origin = OutBound, Reason = Direct |
LINE_APPNEWCALL hDevice = A dwCallbackInstance = 0 dwParam1 = 0 dwParam2 = hCall-1 dwParam3 = OWNER |
LINECALLINFO (hCall-1) hLine = A dwCallID = T1 dwOrigin = OUTBOUND dwReason = DIRECT dwCallerID = A dwCalledID = NP dwConnectedID = NP dwRedirectionID = NP dwRedirectionID = NP |
CallStateChangedEvent, CH = C1, State = Dialtone, Cause = CauseNoError, Reason = Direct, Calling = A, Called = NP, OrigCalled = NP, LR = NP |
LINE_CALLSTATE hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = DIALTONE dwParam2 = UNAVAIL dwParam3 = 0 |
変更なし |
|
2.通話者 A が通話者 B にダイヤルする |
CallStateChangedEvent, CH = C1, State = Dialing, Cause = CauseNoError, Reason = Direct, Calling = A, Called = NP, OrigCalled = NP, LR = NP |
LINE_CALLSTATE hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = DIALING dwParam2 = 0 dwParam3 = 0 |
変更なし |
3.通話者 B にコールが着信する |
CallStateChangedEvent, CH = C1, State = Proceeding, Cause = CauseNoError, Reason = Direct, Calling = A, Called = B, OrigCalled = B, LR = NP |
LINE_CALLSTATE hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = PROCEEDING dwParam2 = 0 dwParam3 = 0 LINE_CALLINFO hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = CALLEDID dwParam2 = 0 dwParam3 = 0 |
LINECALLINFO (hCall-1) hLine = A dwCallID = T1 dwOrigin = OUTBOUND dwReason = DIRECT dwCallerID = A dwCalledID = B dwConnectedID = NP dwRedirectionID = NP dwRedirectionID = NP |
CallStateChangedEvent, CH = C1, State = Ringback, Cause = CauseNoError, Reason = Direct, Calling = A, Called = B, OrigCalled = B, LR = NP |
LINE_CALLSTATE hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = RINGBACK dwParam2 = 0 dwParam3 = 0 |
変更なし |
|
4.通話者 B がコールに応答する |
CallStateChangedEvent, CH = C1, State = Connected, Cause = CauseNoError, Reason = Direct, Calling = A, Called = B, OrigCalled = B, LR = NP |
LINE_CALLSTATE hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = CONNECTED dwParam2 = ACTIVE dwParam3 = 0 LINE_CALLINFO hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = CONNECTEDID dwParam2 = 0 dwParam3 = 0 |
LINECALLINFO (hCall-1) hLine = A dwCallID = T1 dwOrigin = OUTBOUND dwReason = DIRECT dwCallerID = A dwCalledID = B dwConnectedID = B dwRedirectionID = NP dwRedirectionID = NP |
CallStartReceptionEvent, DH = A, CH = C1 |
LINE_DEVSPECIFIC hDevice = hCall-1 dwCallBackInstance = 0 dwParam1 = StartReception dwParam2 = IP Address dwParam3 = Port |
変更なし |
|
CallStartTransmissionEvent, DH = A, CH = C1 |
LINE_DEVSPECIFIC hDevice = hCall-1 dwCallBackInstance = 0 dwParam1 = StartTransmission dwParam2 = IP Address dwParam3 = Port |
変更なし |
(注) | LINE_DEVSPECIFIC イベントは、lineDevSpecific() を使用してこのアプリケーションが要求された場合にだけ送信されます。 |
A(エージェント)と B(カスタマー)が接続されている。A の BIB はオンに設定されている。
|
|||
NewCallEvent, CH = C3, GCH = G2, Calling = C, Called = NP, OrigCalled = NP, LR = NP, State = Dialtone, Origin = OutBound, Reason = Direct |
|||
|
CallStateChangedEvent, CH = C3, State = Connected, Cause = CauseNoError, Reason = Direct, Calling = C, Called = A, OrigCalled = A, LR = NP |
||
|
|||
|
|||
|
|||
|
CH = C3, Type = 2 (MonitorCall_Target), Address = A の DN, Partition = A のパーティション, DeviceName = A の名前 |
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
|||
|
CH = C1, Type = 1 (MonitorCall), Address = C の DN, Partition = C のパーティション, DeviceName = C の名前 |
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
CallStateChangedEvent, CH = C3, State = Idle, Cause = CauseNoError, Reason = Direct, Calling = C, Called = A, OrigCalled = A, LR = NP |
|
|
|
|||
|
dwParam1 = SLDSMT_MONITOR_ENDED |
|
A(エージェントの電話)の録音タイプが「Automatic」に設定されています。レコーダ デバイスとして D が設定されています。
|
CallStateChangedEvent, CH = C1, State = Connected, Cause = CauseNoError, Reason = Direct, Calling = B, Called = A, OrigCalled = A, LR = NP |
||
|
dwCallID = T1 dwOrigin = OUTBOUND |
||
|
CH = C1, Type = 3 (Automatic Recording), Address = D’s DN, Partition = D’s Partition, DeviceName = D’s Name |
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
A(C1)と B(C2)が接続される。A において録音タイプが「Application Based」に設定されている。レコーダ デバイスとして D が設定されている。
|
dwCallID = T1 dwOrigin = OUTBOUND |
||
|
CH = C1, Type = 4 (App Controlled Recording), Address = D’s DN, Partition = D’s Partition, DeviceName = D’s Name |
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
dwParam1 = SLDSMT_RECORDING_ ENDED |
デフォルトでは、パーク モニタリング メッセージ フラグは無効です。
SIP を実行している Cisco Unified IP Phone(将来のバージョン):A(3000)、B(3001)
パーク モニタリング フラグが無効であるため、LINE_NEWCALL イベントによって新しくパークされたコールに関する通知は行われない。 |
SIP を実行している Cisco Unified IP Phone(将来のバージョン):A(3000)、B(3001)、C(3002)
LINE_NEWCALL イベントによって、新しくパークされたコールに関する通知が行われる |
|
dwReason:LINECALLREASON_PARKED dwRedirectingIDName:TransactionIDID = Sub1 |
|
Park Status = Parked の LINE_CALLSTATE イベントを受信する。 Park Status = Reminder の LINE_CALLSTATE イベントを受信する。 アプリケーションは LineGetCallInfo を実行する。 dwReason:LINECALLREASON_PARKED dwRedirectingIDName:TransactionIDID = Sub1 |
|
|
Park Status = Parked の LINE_CALLSTATE イベントを受信する。 Park Status = Reminder の LINE_CALLSTATE イベントを受信する。 Park Status = Forwarded の LINE_CALLSTATE イベントを受信する。 callstate が IDLE の LINE_CALLSTATE イベントを受信する。 理由コード CtiReasonforwardedNoRetrieve が LINECALLINFO::dwDevSpecificData.ExtendedCallInfo で更新される。dwExtendedCallReason = CtiReasonforwardedNoRetrieve。 |
アプリケーションは LineGetCallInfo を実行する。 dwReason:LINECALLREASON_PARKED dwRedirectingIDName:TransactionIDID = Sub1 |
|
1.回線 B(3001)の SLDST_SET_STATUS_MESSAGES 要求を使用して、パーク モニタリング メッセージ フラグが有効になる。 |
Park Status = Parked の LINE_CALLSTATE イベントを受信する。 Park Status = Abandoned の LINE_CALLSTATE イベントを受信する。 |
dwReason:LINECALLREASON_PARKED dwRedirectingIDName:TransactionIDID = Sub1 |
|
|
Park Status = Parked の LINE_CALLSTATE イベントを受信する。 Park Status = Reminder の LINE_CALLSTATE イベントを受信する。 |
アプリケーションは LineGetCallInfo を実行する。 dwReason:LINECALLREASON_PARKED dwRedirectingIDName:TransactionIDID = Sub1 |
|
|
Park Status = Parked の LINE_CALLSTATE イベントを受信する。 Park Status = Reminder の LINE_CALLSTATE イベントを受信する。 Park Status = Forwarded の LINE_CALLSTATE イベントを受信する。 |
dwReason:LINECALLREASON_PARKED dwRedirectingIDName:TransactionIDID = Sub1 |
|
|
Park Status = Parked の LINE_CALLSTATE イベントを受信する。 Park Status = Reminder の LINE_CALLSTATE イベントを受信する。 |
アプリケーションは LineGetCallInfo を実行する。 dwReason:LINECALLREASON_PARKED dwRedirectingIDName:TransactionIDID = Sub1 |
SIP を実行している Cisco Unified IP Phone(将来のバージョン):A(3000)、B(3001)。
|
それまでにシスコの TSP がすでにパークされたコールの LINE_PARK_STATUS イベントを受け取っている場合は、LINE_NEWCALL イベントからパークされたコールに関して通知される。 アプリケーションは LineGetCallInfo を実行する。 dwReason:LINECALLREASON_PARKED dwRedirectingIDName:TransactionIDID = Sub1 |
A(3000)、D(3003)は SIP を実行している Cisco Unified IP Phone(将来のバージョン)です。
B(3001)および B'(3001)は、SIP を実行している Cisco Unified IP Phone(将来のバージョン)の共用回線です。
C(3002)および C'(3002)は共用回線で、C は SIP を実行している Cisco Unified IP Phone(将来のバージョン)、C' は SIP を実行している Cisco Unified IP Phone 7900 シリーズです。
共用回線の場合、イベントはコールをパークしている電話機に配信されます。イベントは回線を共有している他の電話機には配信されません。
|
|
|
|
アプリケーションは LineGetCallInfo を実行する。 dwReason:LINECALLREASON_PARKED dwRedirectingIDName:TransactionIDID = Sub1 |
|
|
パーク ステータス イベントは B' ではなく B だけに送信される。
Park Status = Parked の LINE_CALLSTATE イベントを受信する。 |
callstate が IDLE の LINE_CALLSTATE イベントを受信する。 アプリケーションは LineGetCallInfo を実行する。 dwReason:LINECALLREASON_PARKED dwRedirectingIDName:TransactionIDID = Sub1 |
|
|
コールが通常の TNP フォンによってパークされたため、LINE_NEWCALL イベントによって新しくパークされたコールに関する通知が行われる。 |
回線 B(3001)の SLDST_SET_STATUS_MESSAGES 要求を使用して、パーク モニタリング メッセージ フラグが有効になります。
A(3000)、D(3003)は Cisco Unified IP Phone(将来のバージョン)です。
アプリケーションはプロバイダーで Line_open () API を呼び出して ParkDN をモニタします。
.
|
PARKDN の LINE_NEW_CALL イベントを受信する。 Park Status = Parked の LINE_PARK_STATUS イベントを受信する。 Park Status = Reminder の LINE_CALL_STATE イベントを受信する。 アプリケーションは LineGetCallInfo を実行する。 dwReason:LINECALLREASON_PARKED dwRedirectingIDName:TransactionIDID = Sub1 |
特に指定しない限り、次の前提条件が永続的接続の使用例のすべてに適用されます。
プロバイダーは IN_SERVICE 状態になっている。
すべてのアドレスと端末がすでに使用中になっている。
デバイス A(CTI リモート デバイス - 名前:「CTIRDtapi」、回線 A(dn:881000))
リモート接続先 1(名前:「rd」、番号:「78000」)
デバイス B(IP 電話:名前:「SEP001319ACCA26」、回線 B1(dn:1000))
デバイス C(IP Phone - 名前:「SEP00156247EE60」、回線 C1(dn:2000)
User1 には専用の制御リスト、デバイス A、B、C、があります。すべてのデバイスと回線を監視します。
操作 |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
User1 が CiscoAddress.createPersistentCall ("SEP00156247EE60", "5000", "remote") をデバイス C で呼び出す。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:Internal Callprocessing エラー:デバイスでコマンドがサポートされていない |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException. COMMAND_NOT_IMPLEMENTED_ ON_DEVICE. |
操作 |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
User1 が CiscoAddress.createPersistentCall ("CTIRDjtapi", "5000", "remote") をデバイス A で呼び出す。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:アクティブ リモート接続先が設定されていない。 |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_REMOTE_DEVICE_REQUEST_ FAILED_ ACTIVE_RD_NOT_SET. |
操作 |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
User1 が TermA で CiscoRemoteTerminal.setActiveRemoteDestination ("78000", true)(デバイス A で)。 |
CiscoProvTerminalRemote DestinationChangedEv |
A.getActiveRemoteDestinations() = CiscoRemoteDestinationInfo[1]. CiscoRemoteDestinationInfo[0].getRemoteDestinationNumber() = "78000" CiscoRemoteDestinationInfo[0].getIsActiveRD() = true. |
User1 が CiscoAddress.createPersistentCall ("CTIRDjtapi", "5000", "remote") をデバイス A で呼び出す。 |
GC1: CallActiveEv GC1: ConnCreatedEv 8881000 GC1: ConnInProgressEv 8881000 GC1: CallCtlConnOfferedEv 8881000 GC1: ConnCreatedEv 5000 GC1: ConnConnectedEv 5000 GC1: CallCtlConnEstablishedEv 5000 GC1 ConnAlertingEv 8881000 GC1: CallCtlConnAlertingEv 8881000 GC1: TermConnCreatedEv CTIRDjtapi GC1: TermConnRingingEv CTIRDjtapi GC1: CallCtlTermConnRingingEv CTIRDjtapi |
CallingAddress = 5000, CalledAddress = 8881000, CurrentCallingAddress = 5000, CurrentCalledAddress = 8881000 |
コールがリモート接続先で応答される、dn = 78000 |
GC1: ConnConnectedEv 8881000 GC1: CallCtlConnEstablishedEv 8881000 GC1: TermConnActiveEv CTIRDjtapi GC1: CallCtlTermConnTalkingEv CTIRDjtapi |
CallingAddress = 5000, CalledAddress = 8881000, CurrentCallingAddress = 5000, CurrentCalledAddress = 8881000 |
User1 が CiscoAddress.getPersistentConnection ("CTIRDjtapi") を呼び出し、永続的コールの接続が返ることを確認し、それで Call オブジェクトを取得し、それが永続的コール用であることを確認する。 |
((CiscoAddress.getPersistentConnection("CTIRDjtapi")).getCall()).isPersistentCall() = true. |
|
User1 が Provider.getCalls() を呼び出す。 |
Provider.getCalls() = null |
|
User1 が回線 A で Address.getConnections() を呼び出す。 |
回線 A の Address.getConnections() = null |
|
User1 がデバイス A で Terminal.getTerminal Connections() を呼び出す。 |
デバイス A の Terminal.getTerminalConnections() = null |
|
永続的コールを切断/ドロップする。User1 が Call.drop() または Connection.disconnect() を呼び出す |
GC1: ConnDisconnectedEv 5000 GC1: CallCtlConnDisconnectedEv 5000 GC1: TermConnDroppedEv CTIRDjtapi GC1: CallCtlTermConnDroppedEv CTIRDjtapi GC1: ConnDisconnectedEv 8881000 GC1: CallCtlConnDisconnectedEv 8881000 GC1: CallInvalidEv |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
User1 が CiscoAddress.createPersistentCall ("CTIRDjtapi", "6000", "remote2") をデバイス A で呼び出す。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:永続的コールが存在する。 |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException. CTIERR_PERSISTENT_CALL_EXISTS. |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
User1 が TermA で CiscoRemoteTerminal.setActiveRemoteDestination ("78000", true)(デバイス A で)。 |
CiscoProvTerminalRemote DestinationChangedEv |
A.getActiveRemoteDestinations() = CiscoRemoteDestinationInfo[1]. CiscoRemoteDestinationInfo[0].getRemoteDestinationNumber() = "78000" CiscoRemoteDestinationInfo[0].getIsActiveRD() = true. |
User1 が CiscoAddress.createPersistentCall ("CTIRDjtapi", "5000", "remote") をデバイス A で呼び出す。 |
GC1: CallActiveEv GC1: ConnCreatedEv 8881000 GC1: ConnInProgressEv 8881000 GC1: CallCtlConnOfferedEv 8881000 GC1: ConnCreatedEv 5000 GC1: ConnConnectedEv 5000 GC1: CallCtlConnEstablishedEv 5000 GC1 ConnAlertingEv 8881000 GC1: CallCtlConnAlertingEv 8881000 GC1: TermConnCreatedEv CTIRDjtapi GC1: TermConnRingingEv CTIRDjtapi GC1: CallCtlTermConnRingingEv CTIRDjtapi |
CallingAddress = 5000, CalledAddress = 8881000, CurrentCallingAddress = 5000, CurrentCalledAddress = 8881000 |
コールがリモート接続先で応答される、dn = 78000 |
GC1: ConnConnectedEv 8881000 GC1: CallCtlConnEstablishedEv 8881000 GC1: TermConnActiveEv CTIRDjtapi GC1: CallCtlTermConnTalkingEv CTIRDjtapi |
CallingAddress = 5000, CalledAddress = 8881000, CurrentCallingAddress = 5000, CurrentCalledAddress = 8881000 |
dn = 78000 のリモート接続先が切断。 |
GC1: ConnDisconnectedEv 5000 GC1: CallCtlConnDisconnectedEv 5000 GC1: TermConnDroppedEv CTIRDjtapi GC1: CallCtlTermConnDroppedEv CTIRDjtapi GC1: ConnDisconnectedEv 8881000 GC1: CallCtlConnDisconnectedEv 8881000 GC1: CallInvalidEv |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
User1 が TermA で CiscoRemoteTerminal.setActiveRemoteDestination ("78000", true) をデバイス A で呼び出す。 |
CiscoProvTerminal RemoteDestinationChangedEv |
A.getActiveRemoteDestinations() = CiscoRemoteDestinationInfo[1]. CiscoRemoteDestinationInfo[0].getRemoteDestinationNumber() = "78000" CiscoRemoteDestinationInfo[0].getIsActiveRD() = true. |
User1 が CiscoAddress.createPersistentCall ("CTIRDjtapi", "5000", "remote") をデバイス A で呼び出す。 |
GC1: CallActiveEv GC1: ConnCreatedEv 8881000 GC1: ConnInProgressEv 8881000 GC1: CallCtlConnOfferedEv 8881000 GC1: ConnCreatedEv 5000 GC1: ConnConnectedEv 5000 GC1: CallCtlConnEstablishedEv 5000 GC1 ConnAlertingEv 8881000 GC1: CallCtlConnAlertingEv 8881000 GC1: TermConnCreatedEv CTIRDjtapi GC1: TermConnRingingEv CTIRDjtapi GC1: CallCtlTermConnRingingEv CTIRDjtapi |
CallingAddress = 5000, CalledAddress = 8881000, CurrentCallingAddress = 5000, CurrentCalledAddress = 8881000 |
コールがリモート接続先で応答される、dn = 78000 |
GC1: ConnConnectedEv 8881000 GC1: CallCtlConnEstablishedEv 8881000 GC1: TermConnActiveEv CTIRDjtapi GC1: CallCtlTermConnTalkingEv CTIRDjtapi |
CallingAddress = 5000, CalledAddress = 8881000, CurrentCallingAddress = 5000, CurrentCalledAddress = 8881000 |
User1 が TermA で CiscoRemoteTerminal.setActiveRemoteDestination ("78000", false) をデバイス A で呼び出す。 |
CiscoProvTerminal RemoteDestinationChangedEv 永続的コールがドロップされたことを確認: GC1: ConnDisconnectedEv 5000 GC1: CallCtlConnDisconnectedEv 5000 GC1: TermConnDroppedEv CTIRDjtapi GC1: CallCtlTermConnDroppedEv CTIRDjtapi GC1: ConnDisconnectedEv 8881000 GC1: CallCtlConnDisconnectedEv 8881000 GC1: CallInvalidEv |
A.getActiveRemoteDestinations() = CiscoRemoteDestinationInfo[1]. CiscoRemoteDestinationInfo[0].getRemoteDestinationNumber() = "78000" CiscoRemoteDestinationInfo[0].getIsActiveRD() = false |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
User1 が TermA で CiscoRemoteTerminal.setActiveRemoteDestination ("78000", true)(デバイス A で)。 |
CiscoProvTerminal RemoteDestinationChangedEv |
A.getActiveRemoteDestinations() = CiscoRemoteDestinationInfo[1]. CiscoRemoteDestinationInfo[0].getRemoteDestinationNumber() = "78000" CiscoRemoteDestinationInfo[0].getIsActiveRD() = true. |
User1 が CiscoAddress.createPersistentCall ("CTIRDjtapi", "5000", "remote") をデバイス A で呼び出す。 |
GC1: CallActiveEv GC1: ConnCreatedEv 8881000 GC1: ConnInProgressEv 8881000 GC1: CallCtlConnOfferedEv 8881000 GC1: ConnCreatedEv 5000 GC1: ConnConnectedEv 5000 GC1: CallCtlConnEstablishedEv 5000 GC1 ConnAlertingEv 8881000 GC1: CallCtlConnAlertingEv 8881000 GC1: TermConnCreatedEv CTIRDjtapi GC1: TermConnRingingEv CTIRDjtapi GC1: CallCtlTermConnRingingEv CTIRDjtapi |
CallingAddress = 5000, CalledAddress = 8881000, CurrentCallingAddress = 5000, CurrentCalledAddress = 8881000 |
コールがリモート接続先で応答される、dn = 78000 |
GC1: ConnConnectedEv 8881000 GC1: CallCtlConnEstablishedEv 8881000 GC1: TermConnActiveEv CTIRDjtapi GC1: CallCtlTermConnTalkingEv CTIRDjtapi |
CallingAddress = 5000, CalledAddress = 8881000, CurrentCallingAddress = 5000, CurrentCalledAddress = 8881000 |
Call.connect("SEP001319ACCA26", "1000", "8881000") |
GC2: CallActiveEv GC2: ConnCreatedEv 1000 GC2: ConnConnectedEv 1000 GC2: CallCtlConnInitiatedEv 1000 GC2: TermConnCreatedEv SEP001319ACCA26 GC2: TermConnActiveEv SEP001319ACCA26 GC2: CallCtlTermConnTalkingEv SEP001319ACCA26 GC2: CallCtlConnDialingEv 1000 GC2: CallCtlConnEstablishedEv 1000 GC2: ConnCreatedEv 8881000 GC2: ConnInProgressEv 8881000 GC2: CallCtlConnOfferedEv 8881000 GC2: ConnAlertingEv 8881000 GC2: CallCtlConnAlertingEv 8881000 GC2: TermConnCreatedEv CTIRDjtapi GC2: TermConnRingingEv CTIRDjtapi GC2: CallCtlTermConnRingingEv CTIRDjtapi |
CallingAddress = 1000, CalledAddress = 8881000, CurrentCallingAddress = 1000, CurrentCalledAddress = 8881000 |
デバイス A がコールに応答 |
GC2: ConnConnectedEv 8881000 GC2: CallCtlConnEstablishedEv 8881000 GC2: TermConnActiveEv CTIRDjtapi GC2: CallCtlTermConnTalkingEv CTIRDjtapi |
|
User1 がデバイス A で CiscoRemoteTerminal.setActiveRemoteDestination ("78000", false) をデバイス A で呼び出す。 |
CiscoProvTerminal RemoteDestinationChangedEv アクティブ rd = false であるが、GC1 での永続的コールと GC2 のカスタマー コールの両方とも、ドロップ/切断されない。 |
A.getActiveRemoteDestinations() = CiscoRemoteDestinationInfo[1]. CiscoRemoteDestinationInfo[0].getRemoteDestinationNumber() = "78000" CiscoRemoteDestinationInfo[0].getIsActiveRD() = false. |
GC2 のカスタマー コールが切断/ドロップされる。User1 が GC2 のコールで Call.drop() または Connection.disconnect() のいずれかを呼び出す。 |
GC2: TermConnDroppedEv SEP001319ACCA26 GC2: CallCtlTermConnDroppedEv SEP001319ACCA26 GC2: ConnDisconnectedEv 1000 GC2: CallCtlConnDisconnectedEv 1000 GC2: TermConnDroppedEv CTIRDjtapi GC2: CallCtlTermConnDroppedEv CTIRDjtapi GC2: ConnDisconnectedEv 8881000 GC2: CallCtlConnDisconnectedEv 8881000 GC2: CallInvalidEv デバイス A にアクティブなコールがなく、アクティブ rd が false となったので、GC1 の永続的コールは、ここでドロップ/切断される。 GC1: ConnDisconnectedEv 5000 GC1: CallCtlConnDisconnectedEv 5000 GC1: TermConnDroppedEv CTIRDjtapi GC1: CallCtlTermConnDroppedEv CTIRDjtapi GC1: ConnDisconnectedEv 8881000 GC1: CallCtlConnDisconnectedEv 8881000 GC1: CallInvalidEv |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
GC1 に永続的コール、GC2 にカスタマー コールがすでに存在していると仮定する。 |
||
GC1 の永続的コールで hold() を呼び出す。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:動作が永続的コールでは許可されない。 |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_OPERATION_NOT_ALLOWED_ ON_PERSISTENT _CALL. |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
GC1 に永続的コール、GC2 にカスタマー コールがすでに存在していると仮定する。 |
||
GC1 の永続的コールで startRecording() を呼び出す。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:動作が永続的コールでは許可されない。 |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_OPERATION_NOT_ALLOWED_ ON_PERSISTENT _CALL. |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
GC1 に永続的コール、GC2 にカスタマー コールがすでに存在していると仮定する。 |
||
GC1 の永続的コールで stopRecording() を呼び出す。選択的コール録音が有効であることを確認する。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:動作が永続的コールでは許可されない。 |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_OPERATION_NOT_ALLOWED_ ON_PERSISTENT _CALL. |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
GC1 に永続的コール、GC2 にカスタマー コールがすでに存在していると仮定する。 |
||
GC1 の永続的コールがプライマリ コール、GC2 のカスタマー コールがセカンダリ コールである場合に conference() を呼び出す(このとき JTAPI は内部的に join() を呼び出す)。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:動作が永続的コールでは許可されない。 |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_OPERATION_NOT_ALLOWED_ ON_PERSISTENT _CALL. |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
GC1 に永続的コール、GC2 にカスタマー コールがすでに存在していると仮定する。 |
||
GC2 のカスタマー コールがプライマリ コール、GC1 の永続的コールがセカンダリ コールである場合に conference() を呼び出す(このとき JTAPI は内部的に join() を呼び出す)。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:動作が永続的コールでは許可されない。 |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_OPERATION_NOT_ALLOWED_ ON_PERSISTENT _CALL. |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
GC1 に永続的コール、GC2 にカスタマー コールがすでに存在していると仮定する。 |
||
park() を呼び出す。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:動作が許可されない |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_OPERATION_NOT_ALLOWED_ ON_PERSISTENT _CALL. |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
GC1 に永続的コール、GC2 にカスタマー コールがすでに存在していると仮定する。 |
||
GC1 の永続的コールがプライマリ コール、GC2 のカスタマー コールがセカンダリである場合に、transfer(Call) を呼び出す。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:動作が永続的コールでは許可されない。 |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_OPERATION_NOT_ALLOWED_ ON_PERSISTENT _CALL. |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
GC1 に永続的コール、GC2 にカスタマー コールがすでに存在していると仮定する。 |
||
GC1 の永続的コールが回線 C へのプライマリ コール(dn = 2000)である場合に transfer(String address) を呼び出す。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:動作が永続的コールでは許可されない。 |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_OPERATION_NOT_ALLOWED_ ON_PERSISTENT _CALL. |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
GC1 に永続的コール、GC2 にカスタマー コールがすでに存在していると仮定する。 |
||
GC2 のカスタマー コールがプライマリ コール、GC1 の永続的コールがセカンダリである場合に、transfer(Call) を呼び出す。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:動作が永続的コールでは許可されない。 |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_OPERATION_NOT_ALLOWED_ ON_PERSISTENT _CALL. |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
GC1 に永続的コール、GC2 にカスタマー コールがすでに存在していると仮定する。 |
||
デバイス A から回線 C にコンサルト コール(dn = 2000)。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:動作が永続的コールでは許可されない。 |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_OPERATION_NOT_ALLOWED_ ON_PERSISTENT _CALL. |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
GC1 に永続的コール、GC2 にカスタマー コールがすでに存在していると仮定する。 |
||
デバイス A で pickup("8881000") を呼び出す。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:動作が許可されない |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_OPERATION_NOT_ALLOWED_ ON_PERSISTENT _CALL. |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
GC1 に永続的コール、GC2 にカスタマー コールがすでに存在していると仮定する。 |
||
デバイス A で otherPickup("8881000") を呼び出す。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:動作が許可されない |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_OPERATION_NOT_ALLOWED_ ON_PERSISTENT _CALL. |
アクション(Actions) |
イベント |
コール情報 |
---|---|---|
User1 がプロバイダーを開き、プロバイダー オブザーバを追加する。 |
ProvInServiceEv |
|
GC1 に永続的コール、GC2 にカスタマー コールがすでに存在していると仮定する。 |
||
永続的コールで redirect("2000") を呼び出す。 |
例外 com.cisco.jtapi.PlatformException をキャッチ:動作が永続的コールでは許可されない。 |
「ex」を PlatformException のインスタンスにする。 ((CiscoJtapiException) ex).getErrorCode() = CiscoJtapiException.CTIERR_OPERATION_NOT_ALLOWED_ ON_PERSISTENT _CALL. |
次の表に、トランスレーション パターンを利用してコールを発信するプレゼンテーション表示シナリオのメッセージ シーケンスを示します。トランスレーション パターンの管理ページでは、callerID/Name と ConnectedID/Name の両方が [非許可(Restricted)] に設定されています。
操作 |
CTI メッセージ |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|---|
通話者 A がオフフック状態になる |
NewCallEvent, CH = C1, GCH = G1, Calling = A, Called = NP, OrigCalled = NP, LR = NP, State = Dialtone, Origin = OutBound, Reason = Direct |
LINE_APPNEWCALL hDevice = A dwCallbackInstance = 0 dwParam1 = 0 dwParam2 = hCall-1 dwParam3 = OWNER |
LINECALLINFO (hCall-1) hLine = A dwCallID = T1 dwOrigin = OUTBOUND dwReason = DIRECT dwCallerID = A dwCalledID = NP dwConnectedID = NP dwRedirectionID = NP dwRedirectionID = NP |
CallStateChangedEvent, CH = C1, State = Dialtone, Cause = CauseNoError, Reason = Direct, Calling = A, Called = NP, OrigCalled = NP, LR = NP |
LINE_CALLSTATE hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = DIALTONE dwParam2 = UNAVAIL dwParam3 = 0 |
変更なし |
|
通話者 A が、トランスレーション パターンを利用して通話者 B にダイヤルする |
CallStateChangedEvent, CH = C1, State = Dialing, Cause = CauseNoError, Reason = Direct, Calling = A, Called = NP, OrigCalled = NP, LR = NP |
LINE_CALLSTATE hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = DIALING dwParam2 = 0 dwParam3 = 0 |
変更なし |
通話者 B にコールが着信する |
CallStateChangedEvent, CH = C1, State = Proceeding, Cause = CauseNoError, Reason = Direct, Calling = A, CallingPartyPI = Allowed, Called = B, CalledPartyPI = Restricted, OrigCalled = B, OrigCalledPI = restricted, LR = NP |
LINE_CALLSTATE hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = PROCEEDING dwParam2 = 0 dwParam3 = 0 LINE_CALLINFO hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = CALLEDID dwParam2 = 0 dwParam3 = 0 |
LINECALLINFO (hCall-1) hLine = A dwCallID = T1 dwOrigin = OUTBOUND dwReason = DIRECT dwCallerID = A dwCallerIDName = A の名前 dwCalledID = B dwCalledIDName = B の名前 dwConnectedID = NP dwConnectedIDName = NP dwRedirectionID = NP dwRedirectionIDName = NP dwRedirectionID = NP dwRedirectionIDName = NP |
通話者 B にコールが着信する (続き) |
CallStateChangedEvent, CH = C1, State = Ringback, Cause = CauseNoError, Reason = Direct, Calling = A, CallingPI = Allowed, Called = B, CalledPI = Restricted, OrigCalled = B, OrigCalledPI = Restricted, LR = NP |
LINE_CALLSTATE hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = RINGBACK dwParam2 = 0 dwParam3 = 0 |
LINECALLINFO (hCall-1) hLine = A dwOrigin = OUTBOUND dwReason = DIRECT dwCallerID = A dwCalledID = B dwConnectedIDFlags = LINECALLPARTYID_ BLOCKED dwConnectedID = NP dwRedirectionID = NP dwRedirectionIDFlags = LINECALLPARTYID_ BLOCKED dwRedirectionID = NP |
通話者 B がコールに応答する |
CallStateChangedEvent, CH = C1, State = Connected, Cause = CauseNoError, Reason = Direct, Calling = A, CallingPI = Allowed, Called = B, CalledPI = Restricted, OrigCalled = B, OrigCalledPI = Restricted, LR = NP |
LINE_CALLSTATE hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = CONNECTED dwParam2 = ACTIVE dwParam3 = 0 LINE_CALLINFO hDevice = hCall-1 dwCallbackInstance = 0 dwParam1 = CONNECTEDID dwParam2 = 0 dwParam3 = 0 |
LINECALLINFO (hCall-1) hLine = A dwCallID = T1 dwOrigin = OUTBOUND dwReason = DIRECT dwCallerID = A dwCallerIDName = A の名前 dwCalledID = B dwCalledIDName = B の名前 dwConnectedID = A, dwConnectedIDName = A's Name, dwRedirectingID = NP dwRedirectingIDName = NP dwRedirectionIDFlags = LINECALLPARTYID_ BLOCKED dwRedirectionID = NP dwRedirectionIDName = NP |
CallStartReceptionEvent, DH = A, CH = C1 |
LINE_DEVSPECIFIC hDevice = hCall-1 dwCallBackInstance = 0 dwParam1 = StartReception dwParam2 = IP Address dwParam3 = Port |
変更なし |
|
CallStartTransmissionEvent, DH = A, CH = C1 |
LINE_DEVSPECIFIC1 hDevice = hCall-1 dwCallBackInstance = 0 dwParam1 = StartTransmission dwParam2 = IP Address dwParam3 = Port |
変更なし |
(注) | LINE_DEVSPECIFIC イベントは、lineDevSpecific() を使用してこのイベントが要求された場合にだけ送信されます。 |
次の表に、トランスレーション パターンを利用してブラインド転送を行う場合に、プレゼンテーション表示のシナリオを使用するメッセージ シーケンスを示します。このシナリオでは、A はトランスレーション パターン B を使用してコールを発信し、B が応答して、A と B が接続されます。
操作 |
CTI メッセージ |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|---|
通話者 B が lineBlindTranfser() を実行し、トランスレーション パターンを使用して通話者 A から通話者 C にコールをブラインド転送する |
通話者 A |
||
|
CallPartyInfoChangedEvent, CH = C1, CallingChanged = False, Calling = A, CallingPartyPI = Restricted, CalledChanged = True, Called = C, CalledPartyPI = Restricted, OriginalCalled = NULL, OriginalCalledPI = Restricted, LR = NULL, Cause = BlindTransfer |
LINE_CALLINFO, hDevice = hCall-1, dwCallbackInstance = 0, dwParam1 = CONNECTEDID, REDIRECTINGID, REDIRECTIONID |
TSPI LINECALLINFO dwOrigin = OUTBOUND dwReason = DIRECT dwCallerIDFlags = LINECALLPARTYID_ BLOCKED dwCallerID = NP dwCallerIDName = NP dwCalledID = B dwCalledIDName = B’s name dwConnectedIDFlags = LINECALLPARTYID_ BLOCKED dwConnectedID = NP dwConnectedIDName = NP dwRedirectingID = B dwRedirectingIDName = B’s name dwRedirectionIDFlags = LINECALLPARTYID_ BLOCKED dwRedirectionID = NP dwRedirectionIDName = NP |
|
通話者 B |
||
|
CallStateChangedEvent, CH = C2, State = Idle, Reason = Direct, Calling = A, CallingPartyPI = Restricted, Called = B, CalledPartyPI = Restricted, OriginalCalled = B, OrigCalledPartyPI = Restricted, LR = NULL |
TSPI: LINE_CALLSTATE, hDevice = hCall-1, dwCallbackInstance = 0, dwParam1 = IDLE dwParam2 = 0 dwParam3 = 0 |
TSPI LINECALLINFO dwOrigin = INTERNAL dwReason = DIRECT dwCallerIDFlags = LINECALLPARTYID_ BLOCKED dwCallerID = NP dwCallerIDName = NP dwCalledID = B dwCalledIDName = B’s name dwConnectedIDFlags = LINECALLPARTYID_ BLOCKED dwConnectedID = NP dwConnectedIDName = NP dwRedirectingID = B dwRedirectingIDName = B’s name dwRedirectionIDFlags = LINECALLPARTYID_ BLOCKED dwRedirectionID = NP dwRedirectionIDName = NP |
通話者 B が lineBlindTranfser() を実行し、トランスレーション パターンを使用して通話者 A から通話者 C にコールをブラインド転送する(続き) |
通話者 C |
||
NewCallEvent, CH = C3, origin = Internal_Inbound, Reason = BlindTransfer, Calling = A, CallingPartyPI = Restricted, Called = C, CalledPartyPI = Restricted, OriginalCalled = B, OrigCalledPartyPI = Restricted, LR = B, LastRedirectingPartyPI = 非許可(Restricted) |
TSPI: LINE_APPNEWCALL hDevice = C dwCallbackInstance = 0 dwParam1 = 0 dwParam2 = hCall-1 dwParam3 = OWNER |
TSPI LINECALLINFO dwOrigin = INTERNAL dwReason = TRANSFER dwCallerIDFlags = LINECALLPARTYID_ BLOCKED dwCallerID = NP dwCallerIDName = NP dwCalledID = NP dwCalledIDName = NP dwConnectedIDFlags = LINECALLPARTYID_ BLOCKED dwConnectedID = NP dwConnectedIDName = NP dwRedirectingID = B dwRedirectingIDName = B's name dwRedirectionIDFlags = LINECALLPARTYID_ BLOCKED dwRedirectionID = NP dwRedirectionIDName = NP |
|
通話者 C のオファー中 |
通話者 A |
||
CallStateChangeEvent, CH = C1, State = Ringback, Reason = Direct, Calling = A, CallingPartyPI = Restricted, Called = C, CalledPartyPI = Restricted, OriginalCalled = B, OrigCalledPartyPI = Restricted, LR = B, LastRedirectingPartyPI = 非許可(Restricted) |
TSPI: LINE_CALLSTATE, hDevice = hCall-1, dwCallbackInstance = 0, dwParam1 = RINGBACK dwParam2 = 0 dwParam3 = 0 |
TSPI LINECALLINFO dwOrigin = OUTBOUND dwReason = DIRECT dwCallerIDFlags = LINECALLPARTYID_ BLOCKED dwCallerID = NP dwCallerIDName = NP dwCalledID = B dwCalledIDName = B’s name dwConnectedIDFlags = LINECALLPARTYID_ BLOCKED dwConnectedID = NP dwConnectedIDName = NP dwRedirectingID = B dwRedirectingIDName = B’s name dwRedirectionIDFlags = LINECALLPARTYID_ BLOCKED dwRedirectionID = NP dwRedirectionIDName = NP |
|
通話者 C のオファー中(続き) |
通話者 C |
||
CallStateChangedEvent, CH = C3, State = Offering, Reason = BlindTransfer, Calling = A, CallingPartyPI = Restricted, Called = C, CalledPartyPI = Restricted, OriginalCalled = B, OrigCalledPartyPI = Restricted, LR = B, LastRedirectingPartyPI = 非許可(Restricted) |
TSPI: LINE_CALLSTATE, hDevice = hCall-1, dwCallbackInstance = 0, dwParam1 = OFFERING dwParam2 = 0 dwParam3 = 0 |
TSPI LINECALLINFO dwOrigin = INTERNAL dwCallerIDFlags = LINECALLPARTYID_ BLOCKED dwCallerID = NP dwCallerIDName = NP dwCalledID = NP dwCalledIDName = NP dwConnectedIDFlags = LINECALLPARTYID_ BLOCKED dwConnectedID = NP dwConnectedIDName = NP dwRedirectingID = B dwRedirectingIDName = B's name dwRedirectionIDFlags = LINECALLPARTYID_ BLOCKED dwRedirectionID = NP dwRedirectionIDName = NP |
次の使用例は、デバイス機能への PSAP コールバック リダイレクトに関連しています。すべての使用例では、デバイス A、B、C、および C' の 4 つのデバイスがあります。デバイス C と C' は 1 回線を共有します。
シナリオ 1:A は B に電話をかけ、B はコールを C にリダイレクトし、C' は C として redirectDeviceName を持ちます。
操作(Action) |
想定されるイベント |
---|---|
LineInitialize を実行する A で LineOpen、B で LineOpen、C で LineOpen を実行する C ' で新しい ExtVersion 0x000D0000 を指定して LineOpen を 実行する |
|
A が B にコールを発信する。 |
A: B: |
アプリケーションは、コールを C と、C として redirectDeviceName を持つ C' にリダイレクトするように B に CciscoLineDevSpecificRedirectEx を送信します。 |
A: C: |
C がコールに応答する。 |
C: C': |
シナリオ 1:A は B に電話をかけ、B はコールを C にリダイレクトし、C' は無効なデバイス名を持ちます。
操作(Action) |
想定されるイベント |
---|---|
LineInitialize を実行する A で LineOpen、B で LineOpen、C で LineOpen を実行する C ' で新しい ExtVesrion 0x000E0000 を指定して LineOpen を 実行する |
|
A が B にコールを発信する。 |
A: B: |
アプリケーションは、無効なデバイス名でコールをリダイレクトするように B に CciscoLineDevSpecificRedirectEx を送信します。 (CciscoLineDevSpecificRedirectEx)... |
エラー コード「LINEERR_ INVALADDRESS」を含む Line_Reply |
シナリオ 3:A は B に電話をかけ、B はコールを C、C' は C として redirectDeviceName を持ち、CallingSearchSpace の値が 2 に指定されている。
操作(Action) |
想定されるイベント |
---|---|
LineInitialize を実行する A で LineOpen、B で LineOpen、C で LineOpen を実行する C ' で新しい ExtVesrion 0x000E0000 を指定して LineOpen を 実行する |
|
A が B にコールを発信する。 |
A: B: |
アプリケーションは、コールを C と、C として redirectDeviceName を持つ C' にリダイレクトするように B に CciscoLineDevSpecificRedirectEx を送信します。 |
A: C: デバイス C の CallingSearchSpace は、B(リダイレクトしている側)の CSS に設定されます。 |
C がコールに応答する。 |
C: C': |
次の表に、A が B にコールを発信して B が応答する場合、および A と B が接続される場合にリダイレクト時の元の着信者のセット(TxToVM)を行うメッセージ シーケンスを示します。
通話者 B が、DestDN =「C の VMP」および SetOrigCalled = C が設定された REDIRECT_SET_ ORIG_CALLED に対して lineDevSpecific を実行する |
|||
CallPartyInfoChangedEvent, CH = C1, CallingChanged = False, Calling = A, CalledChanged = True, Called = C, OriginalCalled = NULL, LR = NULL, Cause = Redirect |
LINE_CALLINFO, hDevice = hCall-1, dwCallbackInstance = 0, dwParam1 = CONNECTEDID, REDIRECTINGID, REDIRECTIONID |
||
TSPI: LINE_CALLSTATE, hDevice = hCall-1, dwCallbackInstance = 0, dwParam1 = IDLE dwParam2 = 0 |
|||
次の表に、ダイアログ内参照で、Referer が Cisco Unified Communications Manager クラスタ内にある場合に Refer および Replaces のシナリオを使用するメッセージ シーケンスを示します。
Referrer(A)、Referee(B)、および Refer-to-Target(C)が Cisco Unified Communications Manager クラスタ内にあり、これらの回線を CTI がモニタしている |
A-->B に、接続状態のコールがある。A の通話者情報は {calling = A, called = B, LRP = null, origCalled = B, reason = direct} になる |
A-->B に、接続状態のコールがある。B の通話者情報は {calling = A, called = B, LRP = null, origCalled = B, reason = direct} になる |
|
|
NewCallEvent は {calling = B, called = C, LRP = A, origCalled = C, reason = REFER} となる |
||
CallPartyInfoChangedEvent @ B with {calling = B, called = C, LRP = A, origCalled = C, reason = REFER} |
次の表に、ダイアログ内参照で Refer-to-Target が Offering 状態のコールをリダイレクトする場合に、Refer および Replaces のシナリオを使用するメッセージ シーケンスを示します。
Referrer(A)、Referee(B)、および Refer-to-Target(C)が Cisco Unified Communications Manager クラスタ内にあり、これらの回線を CTI がモニタしている |
A-->B に、接続状態のコールがある。A の通話者情報は {calling = A, called = B, LRP = null, origCalled = B, reason = direct} になる |
A-->B に、接続状態のコールがある。B の通話者情報は {calling = A, called = B, LRP = null, origCalled = B, reason = direct} になる |
|
B が(calling = B, called = C, ocdpn = C, LRP = A, reason = REFER, call state = Ringback)が指定された CPIC を受け取る |
NewCallEvent は {calling = B, called = C, LRP = A, origCalled = C, reason = REFER} となる |
||
CallPartyInfoChangedEvent @ B with {calling = B, called = D, LRP = C, origCalled = C, reason = Redirect} |
D は、B のコール情報と同じ reason = Redirect のコール情報が指定された NewCallEvent を受け取る。(calling = B, called = D, ocdpn = C, LRP = C, reason = redirect) |
次の表に、ダイアログ内参照で Refer が失敗するか Refer-to-Target がビジーの場合に、Refer および Replaces のシナリオを使用するメッセージ シーケンスを示します。
Referrer(A)、Referee(B)、および Refer-to-Target(C)が Cisco Unified Communications Manager クラスタ内にあり、これらの回線を CTI がモニタしている |
A-->B に、接続状態のコールがある。A の通話者情報は {calling = A, called = B, LRP = null, origCalled = B, reason = direct} になる |
A-->B に、接続状態のコールがある。B の通話者情報は {calling = A, called = B, LRP = null, origCalled = B, reason = direct} になる |
|
|
|||
A は、LINECALLSTATE_CONNECTED(extended reason = REFER 指定)を受け取る |
C を呼び出したときに B がリングバック状態になる(C が最終的に応答しない)場合、B は Connected のコール状態と CPIC イベントも受信する。 |
|
次の表に、ダイアログ外の Refer で Refer および Replaces のシナリオを使用するメッセージ シーケンスを示します。
Referrer(A)、Referee(B)、および Refer-to-Target(C)が Cisco Unified Communications Manager クラスタ内にあり、これらの回線を CTI がモニタしている |
|
||
|
B は、{calling=A, called=B, LRP=null, origCalled=B, reason=REFER} というコール情報が指定された NewCallEvent を受け取る。 |
|
|
|
Call state = connected(コールが connected 状態になったときには、A と B の間に流れるメディアはない) |
|
|
|
{calling = B, called = C, LRP = A, origCalled = C, reason = REFER} が指定された、B の CallPartyInfoChangedEvent |
NewCallEvent は {calling=B, called=C, LRP=A, origCalled=C, reason=REFER} となる。この情報は、REDIRECT 操作を行った発信者(A)と(理由が異なっている点以外は)まったく同じ。 |
次の表に、確認済みのダイアログに対して Invite に Replace を指定する場合に、Refer および Replace のシナリオを使用するメッセージ シーケンスを示します。ここでは、A、B、および C は Cisco Unified Communications Manager 内にあります。確認されたダイアログは A と B の間で表示されます。C は B のダイアログ ID の置き換えを指定して A に Invite を開始します。
|
|||
|
|
||
Cisco Unified Communications Manager は A と C を 1 つのコールに結合して、B でコール レッグを切断する |
次の表に、クラスタ内のすべての Refer に Replace を指定した場合に、Refer および Replace のシナリオを使用するメッセージ シーケンスを示します。ここで、A と B の間および A と C の間には、確認済みのダイアログが存在します。A は、B のダイアログ ID の Replace を指定して C に対する Refer を開始します。
CTI から(callState = IDLE(理由 TRANSFER)) TAPI コール状態は、拡張理由 TRANSFER が指定された Reason = DIRECT が指定された IDLE |
TAPI callinfo caller=B, called=C, connected=B, redirecting=A, redirection=C, reason=direct(拡張 TRANSFER 指定), callId = GC1 |
次の表に、クラスタ内のすべての Refer に Replace を指定し、置き換えるダイアログが別のステーションに属する場合に、Refer および Replace のシナリオを使用するメッセージ シーケンスを示します。この場合のシナリオは次のとおりです。
A は Referrer、D は Referee、C は Refer-to-Target。
A(d1)と B の間および C(d2)と D の間に、確認済みのダイアログがある。
A が(d1)上で、D への Refer を(d2)への Replaces を指定して開始する。
(callState = IDLE、reason = REFER) extended reason = REFER が指定された reason = DIRECT が指定された、TAPI コール状態 IDLE |
(callState = IDLE、reason = REPLACEs) extended reason = REPLACEs が指定された reason = DIRECT が指定された、TAPI コール状態 IDLE |
会議ブリッジにセキュリティ プロファイルがある。MOH は設定されていない。A、B、および C は、Encrypted として登録されている。
|
CallStateChangedEvent, CH = C1, GCH = G1, Calling = A, Called = B, OrigCalled = B, LR = NP, State = Connected, Origin = OutBound, Reason = Direct SecurityStaus = NotAuthenticated
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
|||
|
CallStateChangedEvent, CH = C2, GCH = G1, Calling = A, Called = B, OrigCalled = B, LR = NP, State = Connected, Origin = OutBound, Reason = Direct SecurityStaus = NotAuthenticated
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
||
|
CallStateChangedEvent, CH = C3, GCH = G2, Calling = A, Called = B, OrigCalled = B, LR = NP, State = Connected, Origin = OutBound, Reason = Direct SecurityStaus = NotAuthenticated
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
|||
|
CallStateChangedEvent, CH = C4, GCH = G2, Calling = B, Called = C, OrigCalled = C, LR = NP, State = Connected, Origin = OutBound, Reason = Direct SecurityStaus = NotAuthenticated
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
会議ブリッジにセキュリティ プロファイルがある。MOH が設定されている。A、B、および C はセキュアな電話機であり、全体としてのセキュリティ状態がセキュアである会議に参加している。
|
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
|||
|
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
dwConnectedID = NP dwRedirectionID = NP Devspecific データ:CallSecurityInfo = CtiCallSecurityStatusUpdate, |
|
|||
|
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
|||
|
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
|
|
|||
|
|
dwParam1 = SLDSMT_LINECALLINFO_ DEVSPECIFICDATA |
ユーザは、"Allow Monitoring" グループに所属しています
すべての回線は、Ext Version 0x000A0000 を指定してオープンされます
C は B の固定 lineID、サイレント モニタリング モードおよび NoTone を入力に指定して、LineDevSpecific(Start Monitoring)を発行する。
|
サイレント モニタリングのコールが非セキュア モードで作成される
Line_CallDevSpecific (dwparam1 = MonitoringStarted) が B に対して発行される。 Line_CallDevSpecific(dwparam1 = DevSpecificData, dwparam2 = CallAttributeInfo) が B および C に対して発行される
CallReason = LINECALLREASON_DIRECT B の LineCallInfo の devspecific 部分にある CallAttributeInfo に C の情報が含まれる。 CallAttributeType = ‘CallAttribute_SilentMonitorCall’ アドレス= 「C の DN」, Partition = 「C のパーティション」 Call Security Status = Not Authenticated
CallReason = LINECALLREASON_DIRECT C の LineCallInfo の devspecific 部分にある CallAttributeInfo に B の情報が含まれる Extended Call Reason = "CtiReasonSilentMonitoring" CallAttributeType = CallAttribute_SilentMonitorCall_Target |
||
バリエーション 1:モニタリング セッションの開始後にカスタマー、エージェントおよびスーパーバイザの回線をモニタリングする。
|
C が B の固定 lineID、サイレント モニタリング モードおよび NoTone を入力として指定して、LineDevSpecific (Start Monitoring) を発行する。
|
サイレント モニタリングのコールがセキュア モードで作成される Line_CallDevSpecific (dwparam1 = MonitoringStarted) が B に対して発行される。 Line_CallDevSpecific(dwparam1 = DevSpecifcData, dwparam2 = CallAttributeInfo) が B および C に対して発行される Line_CallDevSpecific(dwparam1 = DevSpecificData, dwparam2 = SLDST_SRTP_INFO, dwParam3= MEDIA_ENCRYPT_KEYS_AVAILABLE) が C のコールに対して発行される。
B の LineCallInfo の devspecific 部分にある CallAttributeInfo に C の情報が含まれる。 CallAttributeTye = ‘CallAttribute_SilentMonitorCall’ アドレス= 「C の DN」, Partition = 「C のパーティション」 Call Security Status = Encrypted
C の LineCallInfo の devspecific 部分にある CallAttributeInfo に B の情報が含まれる CallAttributeTye = CallAttribute_SilentMonitorCall_Target |
C は B の固定 lineID、サイレント モニタリング モードおよび NoTone を入力に指定して、LineDevSpecific(Start Monitoring)を発行する。
A のコールは Hold であり 非セキュアな MOH が挿入されている |
モニタリング セッションが開始し、メディアがセキュア モードで設定される Line_CallDevSpecific (dwparam1 = DevSpecifcData, dwparam2 = OverallSecurityStatus) が C に対して発行される
security Indicator = MEDIA_NOT_ENCRYPTED B の LineCallInfo の devspecific 部分にある CallAttributeInfo に C の情報が含まれる。 CallAttributeTye = ‘CallAttribute_SilentMonitorCall’ アドレス= 「C の DN」, Partition = 「C のパーティション」 Call Security Status = Not Authenticated security Indicator = MEDIA_ENCRYPT_KEYS_AVAILABLE C の LineCallInfo の devspecific 部分にある CallAttributeInfo に B の情報が含まれる CallAttributeTye = CallAttribute_SilentMonitorCall_Target Address = 「B の DN」, Partition = 「B のパーティション」 |
C は B の固定 lineID、サイレント モニタリング モードおよび NoTone を入力に指定して、LineDevSpecific(Start Monitoring)を発行する。
|
C の LineCallInfo の devspecific 部分にある CallAttributeInfo に B の情報が含まれる security Indicator = MEDIA_NOT_ENCRYPTED CallAttributeTye = CallAttribute_SilentMonitorCall_Target |
C は B の固定 lineID、サイレント モニタリング モードおよび NoTone を入力に指定して、LineDevSpecific(Start Monitoring)を発行する。 |
|
C は B の固定 lineID、サイレント モニタリング モードおよび NoTone を入力に指定して、LineDevSpecific(Start Monitoring)を発行する。
C で、DevSpecificStatusMsgsFlag = DEVSPECIFIC_SILENT_MONITORING_TERMINATED を指定して、lineDevSpecifc(CCiscoLineDevSpecificSetStatusMsgs) を実行する |
Line_CallDevSpecific (dwparam1 = MonitoringStarted) が B に対して発行される。 Line_CallDevSpecific(dwparam1 = DevSpecifcData, dwparam2 = CallAttributeInfo) が B および C に対して発行される
security Indicator = MEDIA_ENCRYPT_KEYS_AVAILABLE C の LineCallInfo の devspecific 部分にある CallAttributeInfo に B の情報が含まれる CallAttributeTye = CallAttribute_SilentMonitorCall_Target Address = 「B の DN」, Partition = 「B のパーティション」 CallSecurityStatus = Encrypted
|
|
Line_CallDevSpecific が B に対して発行される dwparam1 = SLDSMT_MONITORING_ENDED, dwparam2 = LINEDISCONNECTMODE_INCOMPATIBLE Line_DevSpecific (dwparam1 = SLDSMT_MONITORING_TERMINATED, dwparam2 = TransactionID – xxxx, dwparam3 = LINEDISCONNECTMODE_INCOMPATIBLE) が C に対して発行される。 Line_CallDevSpecific(dwparam1 = DevSpecifcData, dwparam2 = CallAttributeInfo) が B および C1 に対して発行される B の LineCallInfo の devspecific 部分にある CallAttributeInfo に C の情報が含まれる。 CallAttributeTye = ‘CallAttribute_SilentMonitorCall’ Address =「C の DN」, Partition = 「C のパーティション」 Device Name = 「C のデバイス名」 Transaction ID = XXXX Call Security Status = Encrypted C の LineCallInfo の devspecific 部分にある CallAttributeInfo に B の情報が含まれる CallAttributeTye = CallAttribute_SilentMonitorCall_Target |
C は B の固定 lineID、サイレント モニタリング モードおよび NoTone を入力に指定して、LineDevSpecific(Start Monitoring)を発行する。
|
Line_CallDevSpecific (dwparam1 = MonitoringStarted) が B に対して発行される。 Line_CallDevSpecific(dwparam1 = DevSpecifcData, dwparam2 = CallAttributeInfo) が B および C に対して発行される
Line_CallDevSpecific(dwparam1 = DevSpecificData, dwparam2 = SLDST_SRTP_INFO, dwParam3= MEDIA_ENCRYPT_KEYS_AVAILABLE) が C のコールに対して発行される。 Line_CallDevSpecific (dwparam1 = DevSpecifcData, dwparam2 = SLDST_SECURITY_STATUS_INFO) が B および C に対して発行される。 B の LineCallInfo の devspecific 部分にある CallAttributeInfo に C の情報が含まれる。 CallAttributeTye = ‘CallAttribute_SilentMonitorCall’ アドレス= 「C の DN」, Partition = 「C のパーティション」 Device Name = C’s Device Name Transaction ID = XXXX Call Security Status = Not Authenticated Security Indicator = MEDIA_ENCRYPT_KEYS_AVAILABLE C の LineCallInfo の devspecific 部分にある CallAttributeInfo に B の情報が含まれる CallAttributeTye = CallAttribute_SilentMonitorCall_Target Address = 「B の DN」, Partition = 「B のパーティション」 DeviceName =「B のデバイス名」 Transaction ID = XXXX |
C が B の固定 lineID、サイレント モニタリング モードおよび NoTone を入力として指定して、LineDevSpecific(Start Monitoring)を発行する。
C で、DevSpecificStatusMsgsFlag = DEVSPECIFIC_SILENT_MONITORING_TERMINATED を指定して、lineDevSpecifc(CCiscoLineDevSpecificSetStatusMsgs) を実行する
|
Line_CallDevSpecific (dwparam1 = MonitoringStarted) が B に対して発行される。 Line_CallDevSpecific (dwparam1 = DevSpecifcData, dwparam2 = CallAttributeInfo) が B および C に対して発行される。 Line_CallDevSpecific(dwparam1 = DevSpecificData, dwparam2 = SLDST_SRTP_INFO, dwParam3= MEDIA_ENCRYPT_KEYS_AVAILABLE) が C のコールに対して発行される。 パーク操作が成功し、overCallSecurity Status が Not-Authenticated に低下する LINE_REPLY (dwRequestId, 0) が返される
パーク解除操作が成功し、モニタリング セッションが終了する。 C1 はセキュア機能を持たないので、C1 上のコールが接続解除される。 Line_CallDevSpecific が B に対して発行される dwparam1 = SLDSMT_MONITORING_ENDED dwparam2 = LINEDISCONNECTMODE_INCOMPATIBLE Line_DevSpecific (dwparam1 = SLDSMT_MONITORING_TERMINATED, dwparam2 = TransactionID – xxxx, dwparam3 = LINEDISCONNECTMODE_INCOMPATIBLE) が C に対して発行される。 |
C は B の固定 lineID、サイレント モニタリング モードおよび NoTone を入力に指定して、LineDevSpecific(Start Monitoring)を発行する。 |
B と C の間のサイレント モニタリング コールがセキュア モードで設定される。 Line_CallDevSpecific (dwparam1 = DevSpecifcData, dwparam2 = OverallSecurityStatus) が C に対して発行される |
C が B の固定 lineID、サイレント モニタリング モードおよび NoTone を入力として指定して、LineDevSpecific (Start Monitoring) を発行する
|
Line_CallDevSpecific (dwparam1 = DevSpecifcData, dwparam2 = OverallSecurityStatus) が C1 に対して発行される Call Security Status = Not Authenticated B の LineCallInfo の devspecific 部分にある CallAttributeInfo に CFB の情報が含まれる。 CallAttributeTye = CallAttribute_SilentMonitorCall Call Security Status = Not Authenticated Security Indicator = MEDIA_NOT_ENCRYPT C の LineCallInfo の devspecific 部分にある CallAttributeInfo に B の情報が含まれる CallAttributeTye = CallAttribute_SilentMonitorCall_Target Address = 「B の DN」, Partition = 「B のパーティション」 DeviceName =「B のデバイス名」 Transaction ID = XXXX CallSecurityStatus = Not Authenticated Security Indicator = MEDIA_NOT_ENCRYPT C の LineCallInfo の devspecific 部分にある CallAttributeInfo に B の情報が含まれる CallAttributeTye = CallAttribute_SilentMonitorCall_Target Address = 「B の DN」, Partition = 「B のパーティション」 DeviceName =「B のデバイス名」 Transaction ID = XXXX CallSecurityStatus = Not Authenticated |
C が B の固定 lineID、サイレント モニタリング モードおよび NoTone を入力として指定して、LineDevSpecific (Start Monitoring) を発行する C で、DevSpecificStatusMsgsFlag = DEVSPECIFIC_SILENT_MONITORING_TERMINATED を指定して、lineDevSpecifc (CCiscoLineDevSpecificSetStatusMsgs) を実行する |
モニタリング セッションが終了し、C と C1 は単純な直接コールになる。 Line_CallDevSpecific が B に対して発行される。 dwparam1 = SLDSMT_MONITORING_ENDED, dwparam2 = LINEDISCONNECTMODE_INCOMPATIBLE Line_DevSpecific (dwparam1 = SLDSMT_MONITORING_TERMINATED, dwparam2 = TransactionID – xxxx, Dwparam3 = LINEDISCONNECTMODE_INCOMPATIBLE) が C に対して発行される
|
C が A の固定 lineID、サイレント モニタリング モードおよび NoTone を入力として指定して、LineDevSpecific(Start Monitoring)を発行する。
バリエーション:C1 がセキュアではなく、C で DEVSPECIFIC_SILENT_MONITORING_TERMINATED フィルタが有効である |
メディアが開始する。C 上のコールは INACTIVE(RIU Call)である
Line_CallDevSpecific が B に対して発行される dwparam1 = SLDSMT_MONITORING_ENDED, dwparam2 = LINEDISCONNECTMODE_INCOMPATIBLE C1 のコールが新しい原因コード LINEDISCONNECTMODE_INCOMPATIBLE で接続解除される。 Line_DevSpecific (dwparam1 = SLDSMT_MONITORING_TERMINATED, dwparam2 = TransactionID – xxxx, |
B は、AB 間のコールに対して LineDevSpecific (Start Recording, BothLocalAndRemote) を発行する
|
Line_CallDevSpecific (dwparam1 = RecordingStarted) が B に対して発行される B で Line_CallDevSpecific(dwparam1 = DevSpecifcData, dwparam2 = CallAttributeInfo) が発行される CallReason = LINECALLREASON_DIRECT CallAttributeTye = ‘CallAttribute_RecordedCall’ |
B は、AB 間のコールに対して LineDevSpecific (Start Recording, BothLocalAndRemote) を発行する
|
Line_CallDevSpecific (dwparam1 = RecordingStarted) が B に対して発行される。 B で Line_CallDevSpecific(dwparam1 = DevSpecifcData, dwparam2 = CallAttributeInfo) が発行される CallAttributeTye = CallAttribute_RecordedCall Address = C’s DN, Partition = C’s Partition Device Name = C’s Device Name Transaction ID = 0 Call Security Status = Encrypted |
B は、AB 間のコールに対して LineDevSpecific (Start Recording, BothLocalAndRemote) を発行する
|
Line_CallDevSpecific (dwparam1 = RecordingStarted) が B に対して発行される。 Line_CallDevSpecific(dwparam1 = DevSpecifcData, dwparam2 = CallAttributeInfo) が B に対して発行される CallAttributeTye = CallAttribute_RecordedCall Address = C’s DN, Partition = C’s Partition Device Name = C’s Device Name Transaction ID = 0 Call Security Status = Not Authenticated |
B は、AB 間のコールに対して LineDevSpecific (Start Recording, BothLocalAndRemote) を発行する |
|
B は、AB 間のコールに対して LineDevSpecific (Start Recording, BothLocalAndRemote) を発行する
|
Line_CallDevSpecific (dwparam1 = RecordingStarted) が B に対して発行される Line_CallDevSpecific (dwparam1 = RecordingEnded) が B に対して発行される Line_CallDevSpecific (dwparam1 = RecordingStarted) が B に対して発行される
|
C が B の固定 lineID、サイレント モニタリング モードおよび NoTone を入力として指定して、LineDevSpecific (Start Monitoring) を発行する
|
サイレント モニタリングのコールがセキュア モードで作成される
inputLine_CallDevSpecific (dwparam1 = MonitoringStarted) は B に対して発行されるため、C は B の固定 lineID、サイレント モニタリング モードおよび NoTone を指定して、LineDevSpecific (Start Monitoring) を発行する。 Line_CallDevSpecific(dwparam1 = DevSpecifcData, dwparam2 = CallAttributeInfo) が B および C に対して発行される Line_CallDevSpecific(dwparam1 = DevSpecificData, dwparam2 = SLDST_SRTP_INFO, dwParam3 = MEDIA_ENCRYPT_KEYS_AVAILABLE) が C のコールに対して発行される。 B の LineCallInfo の devspecific 部分にある CallAttributeInfo に C の情報が含まれる。 CallAttributeTye = ‘CallAttribute_SilentMonitorCall’ アドレス= 「C の DN」, Partition = 「C のパーティション」 Call Security Status = Encrypted
C の LineCallInfo の devspecific 部分にある CallAttributeInfo に B の情報が含まれる CallAttributeTye = CallAttribute_SilentMonitorCall_Target Address = 「B の DN」, Partition = 「B のパーティション」 DeviceName =「B のデバイス名」 Transaction ID = XXXX CallSecurityStatus = Encrypted |
B は、AB 間のコールに対して LineDevSpecific (Start Recording, BothLocalAndRemote) を発行する
|
Line_CallDevSpecific (dwparam1 = RecordingStarted) が B に対して発行される。 B で Line_CallDevSpecific(dwparam1 = DevSpecifcData, dwparam2 = CallAttributeInfo) が発行される SRTP 情報は利用不可(BA 間のコールに関する SRTP 情報) CallAttributeTye = ‘CallAttribute_SilentMonitorCall’ アドレス= 「C の DN」, Partition = 「C のパーティション」 Device Name = C’s Device Name Transaction ID = XXXX CallAttributeTye = CallAttribute_RecordedCall Address = D’s DN, Partition = D’s Partition Device Name = D’s Device Name Transaction ID = 0 Call Security Status = Encrypted |
C は B の固定 lineID、サイレント モニタリング モードおよび NoTone を入力に指定して、LineDevSpecific(Start Monitoring)を発行する。
C は、BC 間のコールに対して LineDevSpecific (Start Recording, BothLocalAndRemote) を発行する
|
Line_CallDevSpecific (dwparam1 = MonitoringStarted) が B に対して発行される C で新しいコール(サイレント モニタリング コール)が発信される Line_CallDevSpecific(dwparam1 = DevSpecifcData, dwparam2 = CallAttributeInfo) が B および C に対して発行される
B の LineCallInfo の devspecific 部分にある CallAttributeInfo に C の情報が含まれる。 CallAttributeTye = ‘CallAttribute_SilentMonitorCall’ アドレス= 「C の DN」, Partition = 「C のパーティション」 Device Name = C’s Device Name Transaction ID = XXXX Call Security Status = Unauthenticated Security Indicator = MEDIA_NOT_ENCRYPT C の LineCallInfo の devspecific 部分にある CallAttributeInfo に B の情報が含まれる CallAttributeTye = CallAttribute_SilentMonitorCall_Target Address = 「B の DN」, Partition = 「B のパーティション」 DeviceName =「B のデバイス名」 Transaction ID = XXXX CallSecurityStatus = Not Authenticated Line_CallDevSpecific (dwparam1 = RecordingStarted) が C に対して発行される Line_CallDevSpecific(dwparam1 = DevSpecifcData, dwparam2 = CallAttributeInfo) が C に対して発行される |
Security Indicator = MEDIA_NOT_ENCRYPT CallAttributeTye = CallAttribute_SilentMonitorCall_Target Address = 「B の DN」, Partition = 「B のパーティション」 DeviceName =「B のデバイス名」 Transaction ID = XXXX CallAttributeTye = ‘CallAttribute_RecordedCall’ Address =「D の DN」, Partition =「D のパーティション」 Device Name = D’s Device Name Transaction ID = 0 Call Security Status = Not Authenticated |
次の表は、通話者 A と通話者 A’ が共有回線アピアランスである場合に、手動で共有回線の新規コールを発信するメッセージ シーケンスを示します。また、通話者 A と通話者 A’ はアイドル状態です。
バージョンをネゴシエートする
拡張バージョン 0x8007000 を指定した LineOpen を送信する
CCiscoLineDevSpecificUserSetSRTPAlgorithmID を送信する
CCiscoLineDevSpecificUserControlRTPStream を送信する
この時点で、CTI ポートまたは RP がセキュア ポートとして登録される
セキュアな IP フォンからその CTI ポートまたは RP ポートをコールする
アプリケーションからコールに応答する
SRTP 通知が、LineDevSpecific イベントとして通知される
SRTP キー情報が、後で取得できるように LINECALLINFO::devSpecifc に保存される
バージョンをネゴシエートする
拡張バージョン 0x4007000 を指定した LineOpen を送信する
CCiscoLineDevSpecificUserSetSRTPAlgorithmID を送信する
CCiscoLineDevSpecificSendLineOpen を送信する
この時点で、CTI ポートがセキュア ポートとして登録される
セキュアな IP Phone からその CTI ポートをコールする
アプリケーションからコールに応答する
SRTP 通知が、LineDevSpecific イベントとして通知される
SRTP キー情報が、後で取得できるように LINECALLINFO::devSpecifc に保存される
Cisco Unified IP Phone 6900 シリーズのサポートに関連する使用例を次に示します。
説明 |
ユーザが新しいユーザ グループに追加される場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の動作をテストする。 |
テストの設定 |
A - ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の電話機 ユーザが新しいユーザ グループに追加される。 アプリケーションは LineInitialize を実行する。 |
想定される結果 |
Cisco Unified IP Phone 7931 の回線が列挙される。 アプリケーションは Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 を開くことができ、電話機でコール操作を制御および実行できる。 |
説明 |
ユーザが新しいユーザ グループに追加される場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の動作をテストする。 |
テストの設定 |
A - ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 ステップ 1:アプリケーションは LineInitialize を実行する。 ステップ 2:ユーザが新しいユーザ グループに追加される。 |
想定される結果 |
ステップ 1:Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の回線は列挙されない。 アプリケーションはデバイス A に関して通知されないため、モニタできない。 ステップ 2:アプリケーションは、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 のデバイスおよび回線の PHONE_CREATE イベントと LINE_CREATE イベントを受信する。 アプリケーションは Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 をモニタリングおよび制御できるようになる。 |
説明 |
ユーザが新しいユーザ グループに追加される場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の転送のシナリオをテストする。 |
テストの設定 |
ユーザが新しいユーザ グループに追加される。 A、B は、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである。 アウトバウンド ロール オーバー モード - [任意の回線へのロール オーバー(Rollover to any line)] コールの最大数:1 ビジー トリガー:1 アプリケーションは LineInitialize を実行。Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 のすべての回線をオープンする。 C が A にコールを発信し、A が応答する A で SetupTransfer を実行する。 バリエーション:アプリケーションは Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の回線 A だけを開く |
想定される結果 |
A のコールが OnHold 状態になる。 回線 B で新しいコールが発信される。 アプリケーションは DTAL 機能を使用して転送を成立させる必要がある。 バリエーション:回線 B がモニタされていないため、アプリケーションから転送を成立させることができない。 |
説明 |
ユーザが新しいユーザ グループに追加される場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の会議のシナリオをテストする。 |
テストの設定 |
ユーザが新しいユーザ グループに追加される。 A、B は、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである アウトバウンド ロール オーバー モード - [任意の回線へのロール オーバー(Rollover to any line)] コールの最大数:1 ビジー トリガー:1 アプリケーションは LineInitialize を実行する。 C が A にコールを発信し、A が応答する A で SetupConference を実行する。 |
想定される結果 |
A のコールが OnHold 状態になる。 回線 B で新しいコールが発信される。 アプリケーションは複数ライン同時通話機能を使用して会議を成立させる必要がある。 |
説明 |
ユーザが新しいユーザ グループに追加され、ロール オーバー モードが異なる場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の転送または会議のシナリオをテストする。 |
テストの設定 |
ユーザが新しいユーザ グループに追加される。 A、B は、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである。 アウトバウンド ロール オーバー モード - [任意の回線へのロール オーバー(Rollover to any line)] コールの最大数:2 ビジー トリガー:1 アプリケーションは LineInitialize を実行。Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 のすべての回線をオープンする。 C が A にコールを発信し、A が応答する A で SetupTransfer を実行する。 |
想定される結果 |
A のコールが OnHoldPendingTransfer または OnHoldPendingConference になる。 回線 A に新しいコンサルト コールが作成される。 アプリケーションは CompleteTransfer または DTAL 機能を使用して転送を成立させる必要がある。 |
バリエーション |
会議で同じシナリオをテストする 会議を成立させるためにモードを Conference に設定した LineCompleteTransfer |
説明 |
ユーザが新しいユーザ グループに追加され、ロール オーバー モードが異なる場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の転送または会議のシナリオをテストする。 |
テストの設定 |
ユーザが新しいユーザ グループに追加される。 A、B は、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである。 アウトバウンド ロール オーバー モード - [任意の回線へのロール オーバー(Rollover to any line)] コールの最大数:2 ビジー トリガー:1 アプリケーションは LineInitialize を実行。Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 のすべての回線をオープンする。 C が A にコールを発信し、A が応答する A で SetupTransfer を実行する。 |
想定される結果 |
A のコールが OnHoldPendingTransfer または OnHoldPendingConference になる。 回線 A に新しいコンサルト コールが作成される。 アプリケーションは CompleteTransfer または DTAL 機能を使用して転送を成立させる必要がある。 |
バリエーション |
会議で同じシナリオをテストする 会議を成立させるためにモードを Conference に設定した LineCompleteTransfer |
説明 |
ユーザが新しいユーザ グループに追加され、ロール オーバー モードが異なる場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の転送または会議のシナリオをテストする。 |
テストの設定 |
ユーザが新しいユーザ グループに追加される。 A、B は、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである。 回線 A と B は、異なる DN で設定されている アウトバウンド ロール オーバー モード - [同一 DN 内のロール オーバー(Rollover Within Same DN)] コールの最大数:1 ビジー トリガー:1 アプリケーションは LineInitialize を実行。Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 のすべての回線をオープンする。 C が A にコールを発信し、A が応答する A で SetupTransfer を実行する。 |
想定される結果 |
SetupTransfer 要求はエラー「LINEERR_CALLUNAVAIL」で失敗する。 |
バリエーション |
SetupConference と同じシナリオをテストする。 |
説明 |
ユーザが新しいユーザ グループに追加され、ロール オーバー モードが異なる場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の転送または会議のシナリオをテストする。 |
テストの設定 |
ユーザが新しいユーザ グループに追加される。 A、B は、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである。 回線 A と B は、異なる DN で設定されている アウトバウンド ロール オーバー モード - [同一 DN 内のロール オーバー(Rollover Within Same DN)] コールの最大数:2 ビジー トリガー:1 アプリケーションは LineInitialize を実行。Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 のすべての回線をオープンする。 C が A にコールを発信し、A が応答する A で SetupTransfer を実行する。 |
想定される結果 |
A のコールが OnHoldPendingTransfer/Conference 状態になる。 回線 A に新しいコンサルト コールが作成される。 アプリケーションは CompleteTransfer または DTAL 機能を使用して転送を成立させる必要がある。 |
バリエーション |
SetupConference と同じシナリオをテストする。 |
説明 |
ユーザが新しいユーザ グループに追加され、ロール オーバー モードが異なる場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 での LineMakeCall 操作をテストする。 |
テストの設定 |
ユーザが新しいユーザ グループに追加される。 A、B は、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである。 回線 A と B は、異なる DN で設定されている アウトバウンド ロール オーバー モード - [同一 DN 内のロール オーバー(Rollover Within Same DN)] または [任意の回線へのロール オーバー(Rollover to any line)] コールの最大数:1 ビジー トリガー:1 アプリケーションは LineInitialize を実行。Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 のすべての回線をオープンする。 C が A にコールを発信し、A が応答する A で LineMakeCall を実行する。 |
想定される結果 |
LineMakeCall 操作はエラー「LINEERR_CALLUNAVAIL」で失敗する。 ロール オーバーは発信コールだけであるため、2 番めの回線に対してロール オーバーは発生しない。 |
説明 |
ユーザが新しいユーザ グループに追加され、ロール オーバー モードが異なる場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 での LineUnPark 操作をテストする。 |
テストの設定 |
ユーザが新しいユーザ グループに追加される。 A、B は、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである。 回線 A と B は、異なる DN で設定されている アウトバウンド ロール オーバー モード - [同一 DN 内のロール オーバー(Rollover Within Same DN)] または [任意の回線へのロール オーバー(Rollover to any line)] コールの最大数:1 ビジー トリガー:1 アプリケーションは LineInitialize を実行。Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 のすべての回線をオープンする。 C が A にコールを発信し、A が応答する A で LineUnPark を実行する(Park DN からパークされた使用可能なコールの取得を試行する) |
想定される結果 |
LineUnPark 操作はエラー「LINEERR_CALLUNAVAIL」で失敗する。 ロール オーバーは発信コールだけであるため、2 番めの回線に対してロール オーバーは発生しない。 |
説明 |
ユーザが新しいユーザ グループに追加され、ロール オーバー モードが異なる場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 での EM ログインまたはログアウト操作をテストする。 |
テストの設定 |
ユーザが新しいユーザ グループに追加される。 A、B は、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである。 EM プロファイルが Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 にログインする。 UseCase#1 から UseCase#10 までをテストする |
想定される結果 |
テストされた使用例と同じ。 |
説明 |
ユーザが新しいユーザ グループに追加され、ロール オーバー モードが異なる場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 で既存のコール イベントをテストする。 |
||
テストの設定 |
ユーザが新しいユーザ グループに追加される。 A、B は、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである。 アウトバウンド ロール オーバー モード - [任意の回線へのロール オーバー(Rollover to any line)] コールの最大数:1 ビジー トリガー:1 アプリケーションは LineInitialize を実行。Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 のすべての回線をオープンする。 ステップ 1:電話機 C から A にコールを発信する。 ステップ 2:A でコールに応答する。 ステップ 3:Cisco Unified IP Phone 6900 シリーズの [転送(Transfer)] ボタンを押して、D にダイヤルする。 ステップ 4:D でコールに応答する。 ステップ 5:電話機 A からの転送が成立する。 バリエーション:電話機から転送が成立した後に電話機をモニタする。 |
||
想定される結果 |
ステップ 4: 回線 A のコールが OnHold 状態になる。 回線 B のコールが Connected 状態になる。
ステップ 5: A および B の両方のコールが IDLE 状態になる。 C および D は単純なコールになる。 バリエーション:この使用例と同じ |
説明 |
ユーザが新しいユーザ グループに追加され、ロール オーバー モードが異なる場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の動作をテストする。 |
||
テストの設定 |
ユーザが新しいユーザ グループに追加される。 A、B は、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである。 アウトバウンド ロール オーバー モード - [任意の回線へのロール オーバー(Rollover to any line)] コールの最大数:1 ビジー トリガー:1 アプリケーションは LineInitialize を実行。Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 のすべての回線をオープンする。 ステップ 1:電話機 C から A にコールを発信する。 ステップ 2:A でコールに応答する。 ステップ 3:Cisco Unified IP Phone 6900 シリーズで [会議(Conference)] ボタンを押して、D にダイヤルする。 ステップ 4:D でコールに応答する。 ステップ 5:電話機から会議が開催される。 バリエーション:電話機から会議が開催された後に電話機をモニタする。 |
||
想定される結果 |
ステップ 4: 回線 A のコールが OnHold 状態になる。 回線 B のコールが Connected 状態になる。
ステップ 5:A、C、および D が会議に参加する。 回線 A に会議モデルが作成される。 バリエーション:この使用例と同じ。 |
説明 |
ユーザが新しいユーザ グループに追加され、ロール オーバー モードが異なる場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の動作をテストする。 |
||
テストの設定 |
ユーザが新しいユーザ グループに追加される。 A、B は、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである。 アウトバウンド ロール オーバー モード - [任意の回線へのロール オーバー(Rollover to any line)] コールの最大数:1 ビジー トリガー:1 アプリケーションは LineInitialize を実行。Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 のすべての回線をオープンする。 ステップ 1:電話機 C から A にコールを発信する。 ステップ 2:A でコールに応答する。 ステップ 3:Cisco Unified IP Phone 6900 シリーズの電話機で [会議(Conference)] ボタンを押して、D にダイヤルする。 ステップ 4:D でコールに応答する。 ステップ 5:電話機から会議が開催される。 バリエーション:電話機から会議が開催された後に電話機をモニタする。 |
||
想定される結果 |
ステップ 4: 回線 A のコールが OnHold 状態になる。 回線 B のコールが Connected 状態になる。
ステップ 5:A、C、および D が会議に参加する。 回線 A に会議モデルが作成される。 バリエーション:この使用例と同じ。 |
説明 |
ユーザが新しいユーザ グループに追加され、ロール オーバー モードが異なる場合の Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の動作をテストする。 |
テストの設定 |
ユーザが新しいユーザ グループに追加される。 A、B は、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである。 アウトバウンド ロール オーバー モード - [任意の回線へのロール オーバー(Rollover to any line)] コールの最大数:1 ビジー トリガー:1 アプリケーションは LineInitialize を実行。Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 のすべての回線をオープンする。 C が A にコールを発信し、A が応答する ステップ 1:A で SetupTransfer 実行。 ステップ 2:電話機から会議が開催される。 |
想定される結果 |
ステップ 1: 回線 A のコールが OnHold 状態になる。 回線 B のコールが Connected 状態になる。 ステップ 5:A、C、および D が会議に参加する。 回線 A に会議モデルが作成される。 |
説明 |
ユーザが新しいユーザ グループから削除される場合のロール オーバー以外のモードの Cisco Unified IP Phone 7931 をテストする。 |
テストの設定 |
ユーザが新しいユーザ グループから削除される。 A、B は、ロール オーバー以外のモードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の 2 つの回線である C、D は 2 つの SCCP フォンである。 アウトバウンド ロール オーバー モード - [ロール オーバー以外のモード(Non Roll Over Mode)] コールの最大数:1 ビジー トリガー:1 アプリケーションは LineInitialize を実行する。 |
想定される結果 |
Cisco Unified IP Phone 7931 の回線が列挙される。 アプリケーションは、ロール オーバー以外のモードの Cisco Unified IP Phone 7931 を開くことができ、電話機でコール操作を制御および実行できる。 |
説明 |
ユーザが新しいユーザ グループに追加される場合のスーパー プロバイダーの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 の動作をテストする。 |
テストの設定 |
A - ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 ユーザが新しいユーザ グループに追加される。 ステップ 1:アプリケーションは LineInitialize を実行する。 ステップ 2:Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 を取得するために LineDevSpecific を実行する。 ステップ 3:ユーザが新しいユーザ グループから削除される。 |
想定される結果 |
ステップ 2:アプリケーションは、ロール オーバー モードの Cisco Unified IP Phone 6900 シリーズまたは Cisco Unified IP Phone 7931 のデバイスおよび回線の PHONE_CREATE イベントと LINE_CREATE イベントを受信する。 ステップ 3:アプリケーションは Cisco Unified IP Phone 7931 に関する LINE_REMOVE と PHONE_REMOVE を受信し、そのデバイスに対するモニタリングまたは制御を実行できなくなる。 |
Cisco Unified IP Phone 6900 および 9900 シリーズのサポートに関連する使用例を次に示します。
アプリケーションは LineInitialize を実行する アプリケーションが LineGetDevCaps を呼び出し、Voice Mail Pilot フィールドをチェックする。 |
LineDevCaps:DevSpecific 内で取得可能な RegisteredIPv4Address および RegisteredIPv6Address |
|
バリエーション:PhoneInitialize を実行し、PhoneGetDevCpas をチェックして、IP address フィールドをチェックする。 |
PhoneDevCaps:DevSpecific 内で取得可能な RegisteredIPv4Address および RegisteredIPv6Address |
デバイスの ConsultRollOver は TRUE です。
アプリケーションは LineInitialize を実行する アプリケーションが LineGetDevCaps を呼び出し、Consult Roll Over フィールドをチェックする。 |
|
バリエーション:PhoneInitialize を実行し、PhoneGetDevCpas をチェックして Consult Roll Over フィールドをチェックする。 |
|
PhoneInitialize を実行し、PhoneGetDevCpas をチェックして、Consult Roll Over フィールドをチェックする。 |
LineDevCaps:DevSpecific 内の JoinAcrossLine および DirectTransferAcrossLine フラグが TRUE。 |
|
バリエーション:PhoneInitialize を実行し、PhoneGetDevCpas をチェックして Consult Roll Over フィールドをチェックする。 |
PhoneDevCaps:DevSpecific 内の JoinAcrossLine および DirectTransferAcrossLine フラグが TRUE。 |
バリエーション:電話が JAL/DTAL をサポートしていない PhoneInitialize を実行し、PhoneGetDevCpas をチェックして、JAL/DTAL フィールドをチェックする。 |
PhoneDevCaps:DevSpecific 内の JoinAcrossLine および DirectTransferAcrossLine フラグが FALSE。 |
アプリケーションは LineInitialize を実行する アプリケーションが LineGetDevCaps を呼び出し、Voice Mail Pilot フィールドをチェックする。 |
|
ボイスメール パイロットを示す LineDevSpecific(SLDSMT_LINE_PROPERTY_CHANGED)が変更される。 |
|
アプリケーションが LineGetDevCaps を呼び出し、Voice Mail Pilot フィールドをチェックする。 |
|
|
電話は静的 IP アドレスを使用しており、すでに登録されていることを前提とします。
LineDevCaps:DevSpecific 内で RegisteredIPv4Address および RegisteredIPv6Address が取得可能、RegisteredIPAddressMode は IPAddress_IPv4_IPv6。 |
|
登録済み IP アドレス情報を示す LineDevSpecific(SLDSMT_LINE_PROPERTY_CHANGED)が変更される。 |
|
LineDevCaps:DevSpecific 内で同じ RegisteredIPv4Address および RegisteredIPv6Address が取得可能だが、RegisteredIPAddressMode は IPAddress_Unknown になる。 |
|
登録済み IP アドレス情報を示す LineDevSpecific(SLDSMT_LINE_PROPERTY_CHANGED)が変更される。 |
|
LineDevCaps:DevSpecific 内で同じ RegisteredIPv4Address および RegisteredIPv6Address が取得可能だが、RegisteredIPAddressMode は IPAddress_IPv4_IPv6 に設定される。 |
|
登録済み IP アドレスを示す LineDevSpecific(SLDSMT_LINE_PROPERTY_CHANGED)が変更される。 新しい IP アドレスは、アプリケーションが LineGetDevCap を照会したときに devSpecific に格納される。。 |
デバイス A、B、C があり、A は Cisco Unified IP Phone(将来のバージョン)です。
Caller = A, Called = C Connected C Caller = A, Called = B Connected B |
|
デバイス A、B、C、A' があり、A および A' は共有回線です。
Caller = A, Called = C, Connected = A Caller = A, Called = C Connected C |
|
Caller = A, Called = B Connected B Caller = A, Called = C Connected C |
|
アプリケーションが A で CompleteTransfer または DirectTransfer のいずれかを送信する |
param1 = x100, ONHOLDPENDINGTRANSFER Caller = A, Called = B Connected B Caller = A, Called = C Connected C |
|
Caller = A, Called = B Connected B Caller = A, Called = C Connected C |
param1 = x100, ONHOLDPENDINGTRANSFER |
|
|
|
param1 = x100, ONHOLDPENDINGTRANSFER |
|
param1 = x100, ONHOLDPENDINGTRANSFER |
|
Caller = A, Called = B Connected B Caller = A, Called = C Connected C |
|
Caller = A, Called = B Connected B Caller = A, Called = C Connected C |
|
Caller = A, Called = B Connected B param1 = x100, ONHOLDPENDINGCONFENRENCE |
|
電話機の UI で A がアクティブ コール(A ‡ C)を取り上げ、[会議(Conference)] を押して会議を開催する |
Caller = A, called = B, connected = B Caller = A, called = C, connected = C Caller = A, called = B, connected = B Caller = B, called = C, connected = C |
Caller = A, Called = B Connected B Caller = A, Called = C Connected C |
|
Caller = A, Called = B Connected B Caller = A, Called = C Connected C param1 = x100, ONHOLDPENDINGCONFENRENCE |
|
Caller = A, Called = B Connected B Caller = A, Called = C Connected C |
Caller = A, called = B, connected = B Caller = A, called = C, connected = C Caller = A, called = B, connected = B Caller = B, called = C, connected = C |
Caller = A, called = B, connected = B Caller = A, called = C, connected = C Caller = A, celled = B, connected = B Caller = A, celled = C, connected = C |
|
App は Cisco Unified IP Phone(将来のバージョン)の電話機で LineOpen を送信して回線を開く |
|
アプリケーションが LineInitialize を呼び出す
|
すべてのデバイス/回線に関する OutOfService イベント ***TSP は、セキュア モードでの CTI への接続を内部的に試行します。 CTI は非セキュアにアップグレードされているため、接続は失敗し、アプリケーションは通知されない CTI/CUCM への接続を設定するには、アプリケーションの TSP UI の [セキュリティ(Security)] タブで "[CTIManager へのセキュア接続(Secure Connection to CTIManager)]" を無効にする必要がある。 |
アプリケーションが LineInitialize を呼び出す
|
|
アプリケーションが LineInitialize を呼び出す
|
エンド ユーザに関連付けられているすべての回線が列挙されている
|
CTI ポート:デバイス プール(ノード 1 を高優先度の CM として指定)
TSP には、ノード 2 の CTI Manager への接続が設定される アプリケーションが LineInitialize を呼び出す
|
|
特に指定された場合を除き、すべての永続的コールの使用例の前提条件は、次のとおりです。
操作 |
TAPI メッセージ |
TAPI 構造体 |
---|---|---|
コールを作成: 回線 A で、DestAddress= "B の DN" に設定して LineMakeCall() を実行する。B がコールに応答する |
A: LINE_CALLSTATE dwParam1 = 0x00000100 ( CONNECTED) B: LINE_CALLSTATE dwParam1 = 0x00000100 ( CONNECTED) |
A の CallInfo: CallerID: 1000 CalledID: 2000 ConnectedID: 2000 |
アプリケーションは CCiscoLineDevSpecificHoldEx with ContentID = contentID1 on hCall1(call on A1) を発行する ***コールが保留され、選択した VOH ストリームは B に再生される。 |
A: LINE_CALLSTATE dwParam1 = 0x00000400 (LINECALLSTATE_ONHOLD) |
サービス パラメータ設定:Observed Target = false、Observed Connected Parties = true
Calling = A, Called = B, Connected = B Calling = A, Called = B, Connected = A |
|||
C は、次のとおり指定して CCiscoLineDevSpecificStartCallMonitoring を発行する permLineId = B permLineId mode = MonitorMode_Whisper_Coaching tone = PlayToneDirection_LocalOnly |
LineDevSpecific(SLDST_START_CALL_MONITORING) type = CallAttribute_WhisperMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly
Calling = C, Called = B/B’s Name Connected = ""/Whisper, Redirection = ""/Whisper, Redirecting = ""/Whisper, type = CallAttribute_WhisperMonitorCall_Target dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
サービス パラメータ設定:Observed Target = true、Observed Connected Parties = false
Calling = A, Called = B, Connected = B Calling = A, Called = B, Connected = A |
|
C は、次のとおり指定して CCiscoLineDevSpecificStartCallMonitoring を発行する permLineId = B permLineId mode = MonitorMode_Silent tone = PlayToneDirection_RemoteOnly |
LineDevSpecific(SLDST_START_CALL_MONITORING) type = CallAttribute_SilentMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly Calling = C, Called = B/B’s Name Connected = ""/Whisper, Redirection = ""/Whisper, Redirecting = ""/Whisper, type = CallAttribute_SilentMonitorCall_Target dn = B, partition = B’s Partition, deviceName = B’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
C は、次のとおり指定して CCiscoLineDevSpecificMonitoringUpdateMode を発行する mode = MonitorMode_Whisper_Coaching tone = PlayToneDirection_BothLocalAndRemote |
LineDevSpecific(SLDSMT_MONITORING_MODE_UPDATED, MonitorMode_Whisper_Coaching, PlayToneDirection_RemoteOnly) type = CallAttribute_WhisperMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly LineDevSpecific(SLDSMT_START_TRANSMISION) LineDevSpecific(SLDSMT_MONITORING_MODE_UPDATED, MonitorMode_Whisper_Coaching, PlayToneDirection_RemoteOnly) type = CallAttribute_WhisperMonitorCall_Target dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
C は、次のとおり指定して CCiscoLineDevSpecificMonitoringUpdateMode を発行する mode = MonitorMode_Silent tone = PlayToneDirection_NoLocalOrRemote |
LineDevSpecific(SLDSMT_MONITORING_MODE_UPDATED, MonitorMode_Silent, PlayToneDirection_RemoteOnly) type = CallAttribute_SilentMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly LineDevSpecific(SLDSMT_STOP_TRANSMISION) LineDevSpecific(SLDSMT_MONITORING_MODE_UPDATED, MonitorMode_Silent, PlayToneDirection_RemoteOnly) type = CallAttribute_SilentMonitorCall_Target dn = B, partition = B’s Partition, deviceName = B’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
C は、次のとおり指定して CCiscoLineDevSpecificStartCallMonitoring を発行する permLineId = B permLineId mode = MonitorMode_Whisper_Coaching tone = PlayToneDirection_RemoteOnly |
type = CallAttribute_WhisperMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly Calling = C, Called = B/B’s Name Connected = ""/Whisper, Redirection = ""/Whisper, Redirecting = ""/Whisper, type = CallAttribute_WhisperMonitorCall_Target dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
|
C は、次のとおり指定して CCiscoLineDevSpecificStartCallMonitoring を発行する permLineId = B permLineId mode = MonitorMode_Whisper_Coaching tone = PlayToneDirection_RemoteOnly |
type = CallAttribute_WhisperMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly Calling = B, Called = D, Connected = D Calling = C, Called = B/B’s Name Connected = ""/Whisper, Redirection = ""/Whisper, Redirecting = ""/Whisper, type = CallAttribute_WhisperMonitorCall_Target dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
C は、次のとおり指定して CCiscoLineDevSpecificStartCallMonitoring を発行する permLineId = B permLineId mode = MonitorMode_Silent tone = PlayToneDirection_RemoteOnly |
Calling = A, Called = B, Connected = B type = CallAttribute_SilentMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly Calling = B, Called = D, Connected = D Calling = C, Called = B/B’s Name Connected = ""/Whisper, Redirection = ""/Whisper, Redirecting = ""/Whisper, type = CallAttribute_SilentMonitorCall_Target dn = B, partition = B’s Partition, deviceName = B’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
C は、次のとおり指定して CCiscoLineDevSpecificMonitoringUpdateMode を発行する mode = MonitorMode_Silent tone = PlayToneDirection_RemoteOnly |
LineDevSpecific(SLDSMT_MONITORING_MODE_UPDATED, MonitorMode_Silent, PlayToneDirection_RemoteOnly) Calling = A, Called = B, Connected = B type = CallAttribute_SilentMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly Calling = B, Called = D, Connected = D LineDevSpecific(SLDSMT_STOP_TRANSMISION) LineDevSpecific(SLDSMT_MONITORING_MODE_UPDATED, MonitorMode_Silent, PlayToneDirection_RemoteOnly) type = CallAttribute_SilentMonitorCall_Target dn = B, partition = B’s Partition, deviceName = B’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
type = CallAttribute_SilentMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
C は、次のとおり指定して CCiscoLineDevSpecificStartCallMonitoring を発行する permLineId = B permLineId mode = MonitorMode_Whisper_Coaching tone = PlayToneDirection_RemoteOnly |
type = CallAttribute_WhisperMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly Calling = C, Called = B/B’s Name Connected = ""/Whisper, Redirection = ""/Whisper, Redirecting = ""/Whisper, type = CallAttribute_WhisperMonitorCall_Target dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
Calling = C, Called = B/B’s Name Connected = ""/Whisper, Redirection = ""/Whisper, Redirecting = ""/Whisper, type = CallAttribute_WhisperMonitorCall_Target dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
C は、次のとおり指定して CCiscoLineDevSpecificStartCallMonitoring を発行する permLineId = B permLineId mode = MonitorMode_Whisper_Coaching tone = PlayToneDirection_RemoteOnly |
type = CallAttribute_WhisperMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly Calling = C, Called = B/B’s Name Connected = ""/Whisper, Redirection = ""/Whisper, Redirecting = ""/Whisper, type = CallAttribute_WhisperMonitorCall_Target dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
type = CallAttribute_WhisperMonitorCall dn = D, partition = 「D のパーティション」, deviceName =「D のデバイス」 transactionID = xxxx, tone = PlayToneDirection_RemoteOnly Calling = C, Called = D Connected = ""/Whisper, Redirection = ""/Whisper, Redirecting = ""/Whisper, type = CallAttribute_WhisperMonitorCall_Target dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
C は、次のとおり指定して CCiscoLineDevSpecificStartCallMonitoring を発行する mode = MonitorMode_Whisper_Coaching |
type = CallAttribute_WhisperMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly Calling = C, Called = B/B’s Name Connected = ""/Whisper, Redirection = ""/Whisper, Redirecting = ""/Whisper, type = CallAttribute_WhisperMonitorCall_Target dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
type = CallAttribute_WhisperMonitorCall dn = CFB, partition = CFB Partition, deviceName = CFB device transactionID = xxxx, tone = PlayToneDirection_RemoteOnly Calling = C, Called = B/B’s Name, Connected = CFB type = CallAttribute_WhisperMonitorCall_Target dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionId = xxxx, tone = PlayToneDirection_RemoteOnly Calling = C, Called = D, Connected = D |
|
type = CallAttribute_WhisperMonitorCall dn = D, partition = 「D のパーティション」, deviceName =「D のデバイス」 transactionID = xxxx, tone = PlayToneDirection_RemoteOnly type = CallAttribute_WhisperMonitorCall dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionID = xxxx, tone = PlayToneDirection_RemoteOnly |
|
D は、次のとおり指定して CCiscoLineDevSpecificMonitoringUpdateMode を発行する permLineId = B permLineId mode = MonitorMode_Silent tone = PlayToneDirection_RemoteOnly |
|
C は、次のとおり指定して CCiscoLineDevSpecificStartCallMonitoring を発行する permLineId = B permLineId mode = MonitorMode_Whisper_Coaching tone = PlayToneDirection_RemoteOnly |
type = CallAttribute_WhisperMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly Calling = C, Called = B/B’s Name Connected = ""/Whisper, Redirection = ""/Whisper, Redirecting = ""/Whisper, type = CallAttribute_WhisperMonitorCall_Target dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
CallAttributeBitMask = TSPCallAttribute_WhisperMonitorCall type = CallAttribute_WhisperMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly CallAttributeBitMask = TSPCallAttribute_WhisperMonitorCall_Target Calling = C, Called = B/B’s Name Connected = ""/Whisper, Redirection = ""/Whisper, Redirecting = ""/Whisper, type = CallAttribute_WhisperMonitorCall_Target dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionId = xxxx, tone = PlayToneDirection_RemoteOnly |
C は、次のとおり指定して CCiscoLineDevSpecificStartCallMonitoring を発行する permLineId = B permLineId mode = MonitorMode_Whisper_Coaching tone = PlayToneDirection_LocalOnly |
LineDevSpecific(SLDST_START_CALL_MONITORING) type = CallAttribute_WhisperMonitorCall dn = C, partition = C’s Partition, deviceName = C’s device transactionId = xxxx, tone = PlayToneDirection_RemoteOnly CallSecurityStatus = OverallCallSecurityStatus_Encrypted
LineDevSpecific (dwparam1 = DevSpecificData, dwparam2 = SLDST_SRTP_INFO, dwParam3 = MEDIA_ENCRYPT_KEYS_AVAILABLE) Calling = C, Called = B/B’s Name Connected = ""/Whisper, Redirection = ""/Whisper, Redirecting = ""/Whisper, type = CallAttribute_WhisperMonitorCall_Target dn = B, partition = 「B のパーティション」, deviceName =「B のデバイス」 transactionId = xxxx, tone = PlayToneDirection_RemoteOnly CallSecurityStatus = OverallCallSecurityStatus_Encrypted |
アプリケーションが、次のようにウィスパー コーチングを開始します。エージェントは、メディア ミキシングをサポートしない古いバージョンのファームウェアを使用する SIP デバイスです。
アプリケーションが、次のようにモニタリング モードを更新します。エージェントは、メディア ミキシングをサポートしない古いバージョンのファームウェアを使用する SIP デバイスです。
アプリケーションが、次のようにエージェントでウィスパー コーチングを開始します。このエージェントは、エージェント グリーティングを再生中です。
アプリケーションが、次のようにコールでエージェント グリーティングを開始します。このコールでは、ウィスパー コーチング セッションを実行中です。