2019-11-12 08:01 PM - 最終編集日: 2019-11-13 01:00 PM 、編集者: Akshay Raghoji
いつもお世話になっております。
shared line(パーティションは別)時のprovider.getAddress挙動についてご教授ください。
CUCM11.5に下記デバイスA、Bが存在していて両デバイスともアプリケーションユーザに追加されている状況の中で、
provider.getAddress(内線)を呼び出すと複数のアドレスオブジェクト配列が返ってくると思うのですが、
その配列順番に法則性はあるのでしょうか(デバイス→電話で作成した順番、アプリケーションユーザに追加した順番等)
<デバイスA> ※SEPデバイス
内線:1000
パーティション:P1
<デバイスB> ※CTIデバイス
内線:1000
パーティション:P2
<背景>
provider.getAddress(内線)で返ってきた値で、配列indexが0のものを使用しているJTAPIアプリケーションがあり
アプリケーションの改修ができない為、返り値の配列順番を意図的に操作したいです。
勉強不足で説明になっているかわかりませんがよろしくお願い致します。
解決済! 解決策の投稿を見る。
2019-11-13 11:50 AM
Provider.getAddresses("電話番号")に関してですが、
返ってくるAddressの配列内のAddressオブジェクトの順序は、
仕様的に保証されません。
同じ電話番号文字列であっても、区別したい場合は、
アプリケーション側で、パーティション情報、デバイス情報、回線の位置情報などを
活用する以外に適切な方法はありません。
実装上は、"アプリケーション起動後で、すべての回線情報をJTAPI側が受信した後に"、
CTIPortを関連付けするか、いったん関連付け外して再度関連付ければ、
順序が制御できるはずですが、
仕様上規定されている動作でもないので、推奨できる方法ではありません。
仕様上公開されているものでもないので、予告なしに動作が変わる場合があります。
また、この方法の場合、アプリケーション側の処理によっては、
CTIPortが動作しなくなるなどの別の問題が発生する可能性もあります。
Unified CM側の設定順序に関しては、
仕様上も実装上も、順序が制御できる方法はありません。
様々な要因により、順序が変わる場合があります。
2019-11-13 11:50 AM
Provider.getAddresses("電話番号")に関してですが、
返ってくるAddressの配列内のAddressオブジェクトの順序は、
仕様的に保証されません。
同じ電話番号文字列であっても、区別したい場合は、
アプリケーション側で、パーティション情報、デバイス情報、回線の位置情報などを
活用する以外に適切な方法はありません。
実装上は、"アプリケーション起動後で、すべての回線情報をJTAPI側が受信した後に"、
CTIPortを関連付けするか、いったん関連付け外して再度関連付ければ、
順序が制御できるはずですが、
仕様上規定されている動作でもないので、推奨できる方法ではありません。
仕様上公開されているものでもないので、予告なしに動作が変わる場合があります。
また、この方法の場合、アプリケーション側の処理によっては、
CTIPortが動作しなくなるなどの別の問題が発生する可能性もあります。
Unified CM側の設定順序に関しては、
仕様上も実装上も、順序が制御できる方法はありません。
様々な要因により、順序が変わる場合があります。
2019-11-14 06:57 PM
エキスパートの回答、ステップバイステップガイド、最新のトピックなどお気に入りのアイデアを見つけたら、あとで参照できるように保存しましょう。
コミュニティは初めてですか?これらのヒントを活用してスタートしましょう。 コミュニティの活用方法 新メンバーガイド
下記より関連するコンテンツにアクセスできます