Cisco Unified CallManager 新規および変更情報ガイド Release 5.1(1)
WebDialer API プログラミング
WebDialer API プログラミング
発行日;2012/01/07 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 5MB) | フィードバック

目次

WebDialer API プログラミング

定義

概要

WebDialer servlet

Redirector servlet

Release 5.1 での変更点

Cisco WebDialer セキュリティのサポート

Cisco WebDialer での SIP 電話機サポート

コール フロー

デスクトップ ベース クライアント アプリケーションのコール フロー

ブラウザ ベース アプリケーションのコール フロー

インターフェイス

SOAP over HTTPS インターフェイス

makeCallSoap

endCallSoap

getProfileSoap

isClusterUserSoap

HTML over HTTPS インターフェイス

makeCall

makeCallProxy

Cisco WebDialer の WSDL

JavaScript のサンプル

WebDialer API プログラミング

この章では、Simple Object Access Protocol(SOAP)および HTML over secure HTTP(HTTPS)インターフェイスについて説明します。これらは、Cisco Unified CallManager WebDialer Version 1.2 のカスタマイズ ディレクトリ検索アプリケーションを開発するために使用するものです。この章は、次の項で構成されています。

「定義」

「概要」

「コール フロー」

「インターフェイス」

「Cisco WebDialer の WSDL」

「JavaScript のサンプル」

定義

 

Cisco WebDialer サーバ

Cisco Unified CallManager WebDialer アプリケーションのホストとなるサーバ。

Cisco WebDialer
アプリケーション

Cisco Unified CallManager サーバにインストールされるソフトウェア。ハイパーリンクされた電話番号を会社のディレクトリ内に作成することにより、クリック ツー ダイヤル機能を使用可能にします。この機能により、ユーザは、コール先の電話番号をクリックすることにより、Web ページからコールを発信できるようになります。Cisco Unified CallManager WebDialer アプリケーションは 2 つの Java servlet(WebDialer servlet と Redirector servlet)で構成されています。

WebDialer servlet

この Java servlet を使用すると、特定のクラスタ内の Cisco Unified CallManager ユーザが、コールを開始および終了したり、電話機と回線の設定にアクセスしたりできます。

Redirector servlet

この Java servlet を使用すると、Cisco WebDialer ユーザが発行する要求を Cisco Unified CallManager クラスタで検索できます。この servlet は、ユーザの Cisco Unified CallManager クラスタ内にある特定の Cisco WebDialer サーバに要求を転送します。

概要

Cisco Unified CallManager WebDialer を Cisco Unified CallManager サーバにインストールし、Cisco Unified CallManager とともに使用すると、Cisco Unified IP Phone ユーザは Web およびデスクトップ アプリケーションから電話をかけることができます。たとえば、Cisco Unified CallManager WebDialer は、会社のディレクトリでハイパーリンクされた電話番号を使用して、ユーザが相手の電話番号をクリックすることによって Web ページから電話をかけられるようにします。

Cisco Unified CallManager WebDialer の 2 つの主要コンポーネントは、WebDialer Servlet と Redirector Servlet です。

WebDialer servlet

Java servlet である WebDialer servlet を使用すると、特定のクラスタ内の Cisco Unified CallManager ユーザが、コールを開始および終了したり、電話機と回線の設定にアクセスしたりできます。

Cisco WebDialer アプリケーションは、次の 2 つのインターフェイスを介して WebDialer servlet と通信できます。

SOAP over HTTPS:Simple Object Access Protocol(SOAP)に基づくこのインターフェイスは、Microsoft Outlook Add-in や SameTime Client Plug-in などのデスクトップ アプリケーションを開発するために使用されます。開発者は、isClusterUserSoap インターフェイスを使用して、Redirector servlet に類似した機能を必要とする複数クラスタ アプリケーションを設計することができます。

HTML over HTTPS:HTTPS プロトコルに基づくこのインターフェイスは、Cisco Unified
CallManager ディレクトリ検索ページ(directory.asp)などの Web ベース アプリケーションを開発するために使用されます。このインターフェイスを使用する開発者は、複数クラスタ アプリケーションの設計に Redirector servlet を使用できます。

Redirector servlet

Java ベースの servlet である Redirector servlet は、Cisco WebDialer ユーザが発行する要求のために Cisco Unified CallManager クラスタを検索します。そして、ユーザの Cisco Unified CallManager クラスタ内にある特定の Cisco WebDialer サーバにその要求を転送します。Redirector servlet は、複数クラスタ アプリケーションおよび HTML over HTTPS インターフェイスを使用して開発されたアプリケーションに対してだけ使用できます。

図37-1 に、Redirector servlet が複数クラスタ環境でコールを転送する仕組みを示します。

図37-1 複数クラスタ

 

Redirector servlet を使用した Cisco Unified CallManager WebDialer の例

たとえば、3 つのクラスタがそれぞれ San Jose、Dallas、New York などの都市にあるとします。各クラスタには、Cisco Unified CallManager サーバ SJ-CM1、D-CM2、および NY-CM3 用に設定された WebDialer servlet を持つ 3 つの Cisco Unified CallManager サーバが含まれています。

システム管理者は、 wdservers サービス パラメータで特定の Cisco Unified CallManager サーバの IP アドレスを入力することによって、任意の Cisco Unified CallManager サーバで WebDialer servlet を設定します。

WebDialer servlet および Redirector servlet の設定の詳細については、『 Cisco Unified CallManager 機能およびサービス ガイド Release 5.0 』の「Cisco WebDialer」の章を参照してください。

San Jose にいるユーザが Cisco Unified CallManager WebDialer によって使用可能にされた社内ディレクトリ検索ページで電話番号をクリックすると、次のアクションが実行されます。

1. Cisco Unified CallManager サーバが最初の makeCall HTTPS 要求を Redirector servlet に送信します。

2. この要求が初めて受信された場合、Redirector servlet は Cisco Unified CallManager WebDialer サーバの cookie を読み取り、それが空であることを検出します。

2 回目以降の要求の場合、Redirector servlet は、前にクライアントに対して使用された Cisco Unified CallManager WebDialer サーバの IP アドレスを読み取り、そのサーバにだけ isClusterUser HTTPS 要求を送信します。

3. Redirector servlet は情報を求める応答を再び送信し、それによって認証ダイアログボックスがユーザに表示されます。

4. ユーザは Cisco Unified CallManager ユーザ ID とパスワードを入力し、 [Submit] ボタンをクリックします。

5. Redirector servlet は、この情報からユーザ ID だけを読み取り、システム管理者が設定した各 Cisco Unified CallManager WebDialer サーバに isClusterUser HTTPS 要求を送信します。

図37-1 に、SJ-CM1、D-CM2、および NY-CM3 用に設定された WebDialer servlet にこの要求が送信される仕組みを示します。発信側の地理上の場所に応じて、その場所を表すクラスタの WebDialer servlet が、Redirector servlet に肯定応答を返します。通知を受けた残りの WebDialer servlet は、否定応答を返します。WebDialer servlet SJ-CM1 は、発信側の場所が San Jose(SJ-CM)なので、この要求に肯定応答を返します。

Redirector servlet は、ユーザからの元の要求を SJ-CM1 に転送し、今後の使用のために cookie をユーザのブラウザに設定します。

Release 5.1 での変更点

Cisco Unified CallManager Release 5.1 では、Cisco Unified CallManager WebDialer に関して次の点が変更になっています。

WebDialer と Redirector では HTTPS が必要。

開発者は、HTTPS を使用するように Redirector 要求および WebDialer 要求の形式を設定する必要があります。Cisco Unified CallManager には、許可されないアプリケーションがユーザ データを読み取るのを防止するために安全なプロトコルが必要です。

リリース 5.0 における WebDialer API プログラミングの重要な変更点については、『 Cisco Unified CallManager Developers Guide for Release 5.0 』を参照してください。

Cisco WebDialer セキュリティのサポート

Cisco WebDialer は、CTI へのセキュアな接続(TLS接続)をサポートしています。この機能のため、Cisco WebDialer は JTAPI によって提供されるセキュリティ API を使用します。JTAPI API については、『Cisco Unified CallManager JTAPI Developers Guide』を参照してください。WebDialer は、CTI 接続の確立にアプリケーション ユーザ「WDSysUser」を使用します。

CTI 接続をセキュア モードで確立するように WebDialer を設定するには、次の設定を完了しておく必要があります。


ステップ 1 Cisco Unified CallManager Serviceability で Cisco CTL Provider サービスをアクティブにします。

ステップ 2 Cisco Certificate Authority Proxy Function サービスをアクティブにします。

ステップ 3 アプリケーション プラグインのページで Cisco CTL Client をダウンロードして、任意のコンピュータにインストールします。

ステップ 4 CTL Client を実行して、「クラスタ セキュリティを有効にする」オプションを選択し、表示された指示に従います。これには、USB E トークンが必要です。

ステップ 5 クラスタ セキュリティが有効であることを確認するには、Cisco Unified CallManager の管理ページに移動して、[System]>[Enterprise Parameter]を選択し、[Enterprise Parameters Configuration ]ウィンドウに移動します。[Security Parameters]を確認します。クラスタ セキュリティが 1 に設定されている必要があります。

ステップ 6 Cisco Unified CallManager の管理ページの[User Management]メニューから[Application User CAPF Profile]を選択します。

ステップ 7 [Add New]をクリックします。

ステップ 8 [Application User CAPF Profile Configuration]ウィンドウで、インスタンス ID と、アプリケーション ユーザ WDSysUser のインスタンス ID の CAPF プロファイルを設定します。

a. [InstanceID]:インスタンス ID の値を入力します(たとえば 001)。

b. [Certificate Operation]:ドロップダウン メニューから[Install/Upgrade]を選択します。

c. [Authentication Mode]:ドロップダウン メニューから[Authentication String]を選択します。

d. [Authentication String]:認証文字列の値を入力します(たとえば 12345)。

e. [Key Size]:ドロップダウン メニューからキー サイズを選択します(たとえば 1024)。

f. [Operation Completes By]:yyyy:mm:dd:hh:mn の形式で日時を入力します。yyyy は年、mm は月、dd は日、hh は時、mn は分です(たとえば、2006:07:30:12:30 と入力します)。


) この日時が過去のものである場合、証明書の更新操作は失敗します。


g. [Packet Capture Mode]フィールド、[Packet Capture Duration]フィールド、および Certificate]フィールドは無視します。

h. [Certificate Status]:ドロップダウン メニューから[Operation Pending]を選択します。

他のものが選択されている場合は、証明書の更新は失敗します。


 

セキュリティのサービス パラメータ

Cisco WebDialer には、CTI 接続のセキュリティに関してモード固有のサービス パラメータが 2 つ用意されています。

CTI Manager Connection Security Flag:この必須サービス パラメータは、Cisco Unified CallManager WebDialer サービスの CTI Manager 接続のセキュリティを有効にするか無効にするかを指定します。

有効(true)にすると、Cisco WebDialer は、アプリケーション ユーザ WDSysUser のインスタンス ID(CTI Manager Connection Instance ID サービス パラメータで設定済みの ID)用に設定されたアプリケーション CAPF プロファイルを使用して、CTI Manager へのセキュアな接続を確立します。デフォルト値は false に設定されています。

Application CAPF Profile Instance ID:このサービス パラメータは、アプリケーション ユーザ WDSysUser のアプリケーション CAPF プロファイルのインスタンス ID を指定します。このアプリケーション ユーザは、この Cisco Unified CallManager WebDialer サーバで CTI Manager へのセキュアな接続を確立するために使用します。CTI Manager Connection Security Flag パラメータが有効(true)の場合は、このパラメータを設定する必要があります。

アルゴリズム

1. サービス パラメータを読み取ります。

2. TFTP および CAPF がアクティブになっているノードのノード IP または名前を取得します。

3. インスタンス ID(サービス パラメータで入力)について、[Certificate Operation]が[Install/Upgrade]または[Delete]の場合は、現在の証明書を削除します(ある場合)。

4. [Certificate Operation]が[Install/Upgrade]または[Delete]でなく、現在の証明書が存在する場合は、この証明書を使用します。

5. 証明書が存在しない場合は、JTAPI API setSecurityPropertyForInstance を使用して証明書を要求します。これには、username、instanceID、authCode、tftpServerName、tftpPort、capfServerName、capfPort、certPath、および securityFlag が必要です。この呼び出しで、TFTP サーバへの接続、証明書のダウンロード、CAPF サーバへの接続、CTL ファイルの確認、クライアントおよびサーバ証明書の要求が発行されます。

6. ステップ 5 が正常に終了したら、ICCNProvider に次の項目を設定して open().provider.setInstanceID(instanceID) を呼び出します。設定する項目は、provider.setTFTPServer(tftpServerName)、provider.setCAPFServer(capfServerName)、provider.setCertificatePath(certPath)、provider.setSecurityOptions(securityFlag) です。

7. ステップ 5 が失敗した場合は、initFailedException をスローします。これは、WebDialer トレースで確認できます。

インストールの変更点

Cisco WebDialer rpm によって新しいディレクトリ「/usr/local/cm/wd/wd-certificates/」が作成され、このディレクトリに対するユーザの権限が設定されます。このディレクトリは証明書の保存に使用されます。

Files Changed: /vob/ccm/Projects/CMAppServices/rpm/cm-webdialer.spec
 

Cisco WebDialer での SIP 電話機サポート

このリリースの Cisco WebDialer は、SIP 電話機をサポートしています。CTI は新規の SIP 電話機のみをサポートし、既存の SIP 電話機はサポートしません。Cisco WebDialer でも、同じサポートが提供されます。JTAPI には、この 2 種類の電話機を区別し、サポートされない電話機を Cisco WebDialer の初期設定ウィンドウでユーザに非表示にするために使用される API が用意されています。

コール フロー

この項で示すコール フローは、Cisco Unified CallManager WebDialer を使用するクライアントおよびブラウザ ベース アプリケーションのイベントのフローを説明するものです。これは、Cisco WebDialer のカスタマイズ アプリケーションの設計に役立ちます。

デスクトップ ベース クライアント アプリケーションのコール フロー

図37-2 に、Microsoft Outlook プラグインなどのクライアント アプリケーションから WebDialer servlet への発信コールのコール フローを示します。ユーザが、クライアント アプリケーションのアドレス帳で [Dial] ボタンまたは [Make Call] ボタンをクリックします。ユーザが初めてコールを発信する場合、アプリケーションにはユーザの認証または設定の情報がありません。

ユーザが初めてコールを発信する場合、次のように処理されます。

1. クライアントが設定済み WebDialer servlet に makeCallSoap 要求を送信します。

2. WebDialer servlet がユーザの認証を試みます。図37-2 に、認証情報が不完全かまたは存在しないことが原因で認証が失敗するケースを示します。

3. WebDialer servlet がクライアント アプリケーションに認証失敗の応答を送信します。

4. クライアント アプリケーションが、ユーザ ID およびパスワードを要求するダイアログボックスをユーザのコンピュータ画面に表示します。ユーザはこの情報を入力して、 [submit] ボタンをクリックします。ユーザ ID とパスワードは、アプリケーションの今後の呼び出しで使用するために保存されます。

5. アプリケーションが WebDialer servlet に再度 SOAP 要求を送信します。この要求には、ユーザの資格情報が含まれています。

6. WebDialer servlet がユーザを認証します。

7. WebDialer servlet が、要求内に設定情報が不足していることを読み取ります。

8. WebDialer servlet がクライアント アプリケーションに設定エラー メッセージを返します。

9. クライアント アプリケーションが WebDialer servlet に getConfigSoap 要求を送信します。

10. WebDialer servlet が、ディレクトリに格納されているユーザ設定情報を使用して応答します。

11. クライアント アプリケーションが、設定の選択または更新をユーザに要求する設定ダイアログボックスをユーザのコンピュータ画面に表示します。ユーザはこの情報を入力して、 [submit] ボタンをクリックします。ユーザ設定情報は、アプリケーションの今後の呼び出しで使用するために保存されます。

12. クライアントが WebDialer servlet に makeCallSoap 要求を再送信します。この要求には、ユーザ設定情報が含まれています。

13. WebDialer servlet がユーザを認証し、makeCallSoap 要求に含まれている情報を使用して電話番号をダイヤルします。その後、成功または障害のメッセージでクライアントに応答します。


) 次の場合には、コール フローは直接ステップ 12 に進みます。

アプリケーションのインストール時に、資格情報および設定情報がすでに保存されている場合。

そのユーザが以降に発行する要求の場合。


 

図37-2 クライアント ベース アプリケーションの Cisco Unified CallManager WebDialer コール フロー

 

ブラウザ ベース アプリケーションのコール フロー

図37-3 に、ディレクトリ検索ページ、個人アドレス帳、または Cisco Unified CallManager ディレクトリ検索ページ(directory.asp)などの HTTP ベース ブラウザ アプリケーションのコール フローを示します。

ユーザが、クライアント アプリケーションのアドレス帳で [Dial] ボタンまたは [Make Call] ボタンをクリックします。ユーザが初めてコールを発信する場合、アプリケーションにはユーザの認証または設定の情報がありません。

図37-3 ブラウザ ベース アプリケーションの Cisco Unified CallManager WebDialer コール フロー

 

ユーザが初めてコールを発信する場合、次のように処理されます。

1. クライアントが設定済み WebDialer servlet に makeCallHTTPS 要求を送信します。クエリー文字列には、コールされる番号が含まれています。

2. WebDialer servlet がユーザを認証します。認証情報が不完全かまたは存在しないことが原因で認証が失敗します。


) ユーザの資格情報が要求とともに送信される場合は認証に成功し、コール フローはステップ 7 に直接進みます。


3. WebDialer servlet がクライアント ブラウザにユーザ認証用の認証ダイアログを送信します。

4. ユーザがユーザ ID とパスワードを入力して [Submit] ボタンをクリックします。

5. クライアントが、ユーザ資格情報を含む makeCallHTTPS 要求を WebDialer servlet に送信します。

6. WebDialer servlet がユーザを認証します。

7. WebDialer servlet が、要求とともに送信された cookie 内の設定情報を読み取ります。

8. 要求が初めて発行され、servlet が cookie を含む応答をクライアント ブラウザに送信すると想定します。クライアントの資格情報を含む cookie は、クライアント ブラウザに保存されます。クライアントの資格情報は、ユーザ ID、IP アドレス、および要求時刻で構成されます。

9. ユーザが設定ダイアログボックスに更新情報を入力して [Submit] ボタンをクリックします。

10. クライアント ブラウザが WebDialer servlet に makeCallHTTPS 要求を送信します。この要求には、資格情報および設定情報がパラメータ形式で格納されている cookie が含まれています。

11. WebDialer servlet がこの資格情報を使用してユーザを認証し、設定情報をメモリに保存します。

12. WebDialer servlet が、cookie に保存されている設定情報とともに、[makeCall]確認ダイアログをクライアント ブラウザに送信します。cookie は、今後の呼び出しで使用するためにクライアント ブラウザに保存されます。

13. [makeCall]ダイアログボックスがユーザのコンピュータ画面に表示されます。ユーザが [Dial] ボタンをクリックします。この操作により、別の makeCallHTTPS 要求が WebDialer servlet に送信されます。

14. WebDialer servlet が、cookie 内の資格情報を使用してユーザを認証し、cookie から設定情報を取得して、コールを発信します。

15. servlet が、[endCall]確認ダイアログを送信することでユーザに応答し、コールを終了します。[End Call]ダイアログがユーザのコンピュータ画面に表示され、サービス パラメータで設定された時間、そのまま表示されます。

以降に発行されるすべての要求では、コール フローはステップ 12 から開始してステップ 15 で終了します。

インターフェイス

Cisco Unified CallManager WebDialer アプリケーションは、次の 2 つのインターフェイスを介して WebDialer servlet と通信できます。

SOAP over HTTPS:Simple Object Access Protocol(SOAP)に基づくこのインターフェイスは、Microsoft Outlook Add-in や SameTime Client Plug-in などのデスクトップ アプリケーションを開発するために使用されます。開発者は、isClusterUserSoap インターフェイスを使用して、Redirector servlet に類似した機能を必要とする複数クラスタ アプリケーションを設計することができます。

HTML over HTTPS:HTTPS プロトコルに基づくこのインターフェイスは、Cisco Unified
CallManager ディレクトリ検索ページ(directory.asp)などの Web ベース アプリケーションを開発するために使用されます。このインターフェイスを使用する開発者は、複数クラスタ アプリケーションの設計に Redirector servlet を使用できます。


) 次のファイルを実行して、ENV 変数と Java クラスを適切に設定する必要があります。
installWDService.bat
installWDSOAP.bat


SOAP over HTTPS インターフェイス

Cisco Unified CallManager WebDialer の SOAP インターフェイスにアクセスするには、「Cisco WebDialer の WSDL」に示す Cisco Unified CallManager WebDialer の Web Service Definition Language(WSDL)を使用します。

makeCallSoap

makeCallSoap インターフェイスにアクセスするには、
URL https://CCM-IP:8080/webdialer/services/WebdialerSoapService への SOAP 要求を開始します。ここで、CCM-IP には、Cisco WebDialer が設定されている Cisco Unified CallManager サーバの IP アドレスを指定します。

 

パラメータ
必須かオプションか
説明
データ型
値の
範囲
デフォルト値

Destination

必須

標準の正準型式。たとえば、+1 408 5551212、または 2222 などの内線番号。

文字列

なし

なし

Credential

必須

ユーザやプロキシ ユーザのユーザ ID またはパスワード。プロキシ ユーザの作成については、『 Cisco Unified CallManager 機能およびサービス ガイド Release 5.0 』の「Cisco WebDialer」の章を参照してください。

「Cisco WebDialer の WSDL」の資格情報のデータ型を参照してください。

なし

なし

Profile

必須

コールの発信に使用されるプロファイル。通常のプロファイルは、IP Phone または回線などの発信側デバイスです。

「Cisco WebDialer の WSDL」のプロファイルのデータ型を参照してください。

なし

なし

結果

返される値とそのデータ型については、「Cisco WebDialer の WSDL」を参照してください。

 

エラー コード
名前
説明
アプリケーションのアクション

0

responseCode

整数

成功。

ダイアログボックスを表示します。

responseDescription

文字列

成功。

1

responseCode

整数

コール障害エラー。

関連のエラー メッセージを表示します。

responseDescription

文字列

コール障害エラー。

2

responseCode

整数

認証エラー。

ユーザが ID およびパスワードの情報を入力する認証ダイアログを表示します。

responseDescription

文字列

ユーザ認証エラー。

3

responseCode

整数

認証プロキシ権限なし。

ユーザ ベース アプリケーションの場合は無効にします。

responseDescription

文字列

認証プロキシ権限なし。

4

responseCode

整数

ディレクトリ エラー。

該当するディレクトリ エラー メッセージを表示します。

responseDescription

文字列

ディレクトリ エラー。

5

responseCode

整数

ユーザのデバイスが設定されていないか、または要求でパラメータが不足しています。

アプリケーションは、
getConfigSOAP 要求を開始して、選択されたデバイスおよび回線をユーザに表示します。

responseDescription

文字列

ユーザのデバイスが設定されていないか、または要求でパラメータが不足しています。

6

responseCode

整数

サービスが一時的に使用不可。

該当するエラー ダイアログを表示し、再試行のオプションを示します。

responseDescription

文字列

サービスが一時的に使用不可。

7

responseCode

整数

送信先に到達できません。

ダイヤルした番号をユーザが編集できる、該当するエラー ダイアログを表示します。

responseDescription

文字列

送信先に到達できません。

8

responseCode

整数

サービス エラー。

該当するエラー ダイアログを表示します。

responseDescription

文字列

サービス エラー。

9

responseCode

整数

サービス過負荷。

該当するエラー ダイアログを表示し、再試行のオプションを示します。

responseDescription

文字列

サービス過負荷。

endCallSoap

endCallSoap インターフェイスにアクセスするには、
URL https://CCM-IP:8080/webdialer/services/WebdialerSoapService への SOAP 要求を開始します。ここで、CCM-IP には、Cisco WebDialer が設定されている Cisco Unified CallManager サーバの IP アドレスを指定します。

 

パラメータ
必須かオプションか
説明
データ型
値の範囲
デフォルト値

Credential

必須

ユーザやプロキシ ユーザのユーザ ID またはパスワード。プロキシ ユーザの作成については、『 Cisco Unified CallManager 機能およびサービス ガイド Release 5.0 』の「Cisco WebDialer」の章を参照してください。

「Cisco WebDialer の WSDL」の資格情報のデータ型を参照してください。

なし

なし

Profile

必須

コールの発信に使用されるプロファイル。通常のプロファイルは、IP Phone または回線などの発信側デバイスです。

「Cisco WebDialer の WSDL」のプロファイルのデータ型を参照してください。

なし

なし

返される値とそのデータ型については、「Cisco WebDialer の WSDL」を参照してください。

 

エラー コード
名前
説明
アプリケーションのアクション

0

responseCode

整数

成功。

コンピュータの画面にダイアログボックスを表示します。

responseDescription

文字列

成功。

1

responseCode

整数

コール障害エラー。

関連のエラー メッセージを表示します。

responseDescription

文字列

コール障害エラー。

2

responseCode

整数

認証エラー。

ユーザ ID およびパスワードをユーザが入力するための認証ダイアログを表示します。

responseDescription

文字列

ユーザ認証エラー。

3

responseCode

整数

認証プロキシ権限なし。

ユーザ ベース アプリケーションの場合は無効にします。

responseDescription

文字列

認証プロキシ権限なし。

4

responseCode

整数

ディレクトリ エラー。

該当するディレクトリ エラー メッセージを表示します。

responseDescription

文字列

ディレクトリ エラー。

5

responseCode

整数

ユーザのデバイスが設定されていないか、または要求でパラメータが不足しています。

アプリケーションは、
getConfigSOAP 要求を開始して、選択されたデバイスおよび回線をユーザに表示します。

responseDescription

文字列

ユーザのデバイスが設定されていないか、または要求でパラメータが不足しています。

6

responseCode

整数

サービスが一時的に使用不可。

該当するエラー ダイアログを表示し、再試行のオプションを示します。

responseDescription

文字列

サービスが一時的に使用不可。

7

responseCode

整数

送信先に到達できません。

ダイヤルした番号をユーザが編集できる、該当するエラー ダイアログを表示します。

responseDescription

文字列

送信先に到達できません。

8

responseCode

整数

サービス エラー。

該当するエラー ダイアログを表示します。

responseDescription

文字列

サービス エラー。

9

responseCode

整数

サービス過負荷。

該当するエラー ダイアログを表示し、再試行のオプションを示します。

responseDescription

文字列

サービス過負荷。

getProfileSoap

プラグイン ベース クライアントによって使用される getProfileSoap インターフェイスにアクセスするには、URL https://CCM-IP:8080/webdialer/services/WebdialerSoapService への SOAP 要求を開始します。ここで、CCM-IP には、Cisco WebDialer が設定されている Cisco Unified CallManager サーバの IP アドレスを指定します。

 

パラメータ
必須かオプションか
説明
データ型
値の範囲
デフォルト値

Credential

必須

ユーザやプロキシ ユーザのユーザ ID またはパスワード。プロキシ ユーザの作成については、
Cisco Unified CallManager 機能およびサービス ガイド Release 5.0 』の「Cisco WebDialer」の章を参照してください。

「Cisco WebDialer の WSDL」の資格情報のデータ型を参照してください。

なし

なし

UserID

必須

設定を要求されているユーザ ID。

文字列

なし

なし

返される値とそのデータ型については、「Cisco WebDialer の WSDL」を参照してください。

 

エラー コード
名前
説明
プラグイン アプリケーションのアクション

0

responseCode

整数

ユーザに関連付けられている電話機または電話機の回線の配列を返します。WDDeviceInfo のデータ型については、Cisco Unified CallManager WebDialer の WSDL を参照してください。

コンピュータの画面にダイアログボックスを表示します。

responseDescription

文字列

成功。

deviceInfoList

配列

WDDeviceInfo データ型の配列を返します。

1

responseCode

整数

ユーザのデバイスが設定されていません。

該当するエラー メッセージを表示します。

responseDescription

文字列

ユーザのデバイスが設定されていません。

2

responseCode

整数

認証エラー。

ユーザが ID およびパスワードの情報を入力する認証ダイアログを表示します。

responseDescription

文字列

ユーザ認証エラー。

3

responseCode

整数

認証プロキシ権限なし。

ユーザ ベース アプリケーションの場合は無効にします。

responseDescription

文字列

認証プロキシ権限なし。

4

responseCode

整数

ディレクトリ エラー。

該当するディレクトリ エラー メッセージを表示します。

responseDescription

文字列

ディレクトリ エラー。

6

responseCode

整数

サービスが一時的に使用不可。

該当するエラー ダイアログを表示し、再試行のオプションを示します。

responseDescription

文字列

サービスが一時的に使用不可。

9

responseCode

整数

サービス過負荷。

該当するエラー ダイアログを表示し、再試行のオプションを示します。

responseDescription

文字列

サービス過負荷。

isClusterUserSoap

isClusterUserSoap インターフェイスにアクセスするには、
URL https://CCM-IP:8080/webdialer/services/WebdialerSoapService への SOAP 要求を開始します。ここで、CCM-IP には、WebDialer が設定されている Cisco Unified CallManager サーバの IP アドレスを指定します。

この SOAP インターフェイスは、Cisco Unified CallManager WebDialer がインストールされているネットワーク上のさまざまな場所にコールを転送するために、Redirector servlet と類似した機能を必要とする複数クラスタ アプリケーションに使用します。アプリケーションはこのインターフェイスを使用して、ユーザを処理している Cisco Unified CallManager WebDialer を見つけて確認し、それに続いて、その Cisco WebDialer に makeCall、endCall、または getProfile の要求を発行します。

 

パラメータ
必須かオプションか
説明
データ型
値の範囲
デフォルト値

UserID

必須

要求の発行先のユーザ ID。

文字列

なし

なし

返される値とそのデータ型については、「Cisco WebDialer の WSDL」を参照してください。

 

名前
説明

result

ブール

ユーザがクラスタのディレクトリに提示されている場合は、true を指定します。ユーザがディレクトリに提示されていない場合は、false を指定します。

HTML over HTTPS インターフェイス

ここでは、HTML over HTTPS インターフェイスについて説明します。

makeCall

makeCall インターフェイスは、カスタマイズされたディレクトリ検索アプリケーションで使用します。Cisco Unified CallManager ディレクトリ検索ページ(directory.asp)でも、このインターフェイスを使用します。makeCall インターフェイスにアクセスするには、
URL https://<ipaddress>/webdialer/Webdialer への HTTPS 要求を開始します。この URL で、ipaddress には、Cisco WebDialer が設定されている Cisco Unified CallManager サーバの IP アドレスを指定します。

ブラウザが cookie を受け入れるブラウザ ベース アプリケーションは、このインターフェイスを使用します。cookie がブラウザで無効に設定されている場合、ユーザ プロファイルは、セッションが有効な間だけ存在します。ディレクトリ検索ページの有効化に使用されるサンプル スクリプトについては、「JavaScript のサンプル」を参照してください。

 

パラメータ
必須かオプションか
説明
データ型
値の範囲
デフォルト値

destination

必須

アプリケーションによってコールされる送信先番号。番号は、アプリケーション ダイヤル規則の適用により、正規の電話番号に変換されます。『 Cisco Unified
CallManager 機能およびサービス ガイド Release
5.0』の「Cisco WebDialer」の章を参照してください。

文字列

なし

なし

 

名前
説明

result

Cisco Unified CallManager WebDialer によって、適切なダイアログと、該当する成功またはエラーのメッセージが表示されます。アクティブ セッションが存在しない場合は、認証ダイアログが表示されます。

makeCallProxy

makeCallProxy インターフェイスにアクセスするには、
URL https://ipaddress/webdialer/Webdialer?cmd=doMakeCallProxy への HTTPS 要求を開始します。ブラウザが cookie を受け入れるブラウザ ベース アプリケーションは、このインターフェイスを使用します。cookie がブラウザで無効に設定されている場合、ユーザ プロファイルは、セッションが有効な間だけ存在します。

Unified CMUser ページ(https://cmserver/CMUser)で定義される個人アドレス帳などのアプリケーションは、makeCallProxy インターフェイスを使用できます。アプリケーションの資格情報が、プロキシとして、ユーザに代わってコールを発信するために使用されます。これらのユーザは Unified CMUser ウィンドウにアクセスする前に自身を認証しているので、ユーザ ID とパスワードを求めるプロンプトが再度表示されることはありません。アプリケーションによって、プロキシ ユーザのユーザ ID およびパスワードが、要求内のクエリー文字列の形式で、または POST メッセージ本体のパラメータとして送信されます。

ディレクトリ検索ページの有効化に使用されるサンプル スクリプトについては、「JavaScript のサンプル」を参照してください。

 

パラメータ
必須かオプションか
説明
データ型
値の範囲
デフォルト値

uid

必須

要求の発行先のユーザ ID。

文字列

なし

なし

appid

必須

ユーザに代わって要求を発行するアプリケーションのユーザ ID。たとえば、アプリケーションが認証プロキシ権限を許可する Unified CM の個人アドレス帳について考えてみます。appid パラメータは、ユーザが 1 回ログインするときに(たとえば、Unified CM ユーザのウィンドウで)使用されます。このログイン後、他のページではユーザが再度ログインする必要はありません。統合されていない Web ページ アプリケーションの場合、appid はユーザ ID と同じです。

文字列

なし

なし

pwd

必須

appid のパスワード。

文字列

なし

なし

destination

必須

コールされる番号。ダイヤル プラン サービスで、この番号は E.164 番号に変換されます。

文字列

なし

なし

 

名前
説明

result

Cisco Unified CallManager WebDialer によって、適切なダイアログと、該当する成功またはエラーのメッセージが表示されます。

Cisco WebDialer の WSDL

Cisco Unified CallManager WebDialer の WSDL の基本は、WSDL 仕様によって指定されます。Cisco Unified CallManager WebDialer の WSDL には Cisco Unified CallManager WebDialer サーバ インストールでアクセスできます。URL は次のとおりです。

https://CCM-IP:8080/webdialer/services/WebdialerSoapService?wsdl

Cisco Unified CallManager WebDialer のカスタマイズ アプリケーションを開発するには、この特定の WSDL とこのマニュアルで説明するインターフェイスを使用します。Cisco Unified CallManager、SOAP、および WSDL に関する参照資料の一覧については、『 Cisco Unified CallManager Developers Guide for Release 5.0 』の「Preface」の「Related Documentation」の項を参照してください。

<wsdl:definitions xmlns:tns="urn:WebdialerSoap" xmlns:soap="https://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="https://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="https://schemas.xmlsoap.org/wsdl/mime/" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:soapenc="https://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="https://schemas.xmlsoap.org/wsdl/" xmlns="https://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:WebdialerSoap" name="urn:WebdialerSoap">
<wsdl:types>
<xsd:schema xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:tns="urn:WebdialerSoap" targetNamespace="urn:WebdialerSoap">
<xsd:import namespace="https://schemas.xmlsoap.org/soap/encoding/"/>
<xsd:complexType name="CallResponse">
<xsd:sequence>
<xsd:element name="responseCode" type="xsd:int"/>
<xsd:element name="description" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Credential">
<xsd:sequence>
<xsd:element name="userID" nillable="true" type="xsd:string"/>
<xsd:element name="password" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UserProfile">
<xsd:sequence>
<xsd:element name="user" nillable="true" type="xsd:string"/>
<xsd:element name="deviceName" nillable="true" type="xsd:string"/>
<xsd:element name="lineNumber" nillable="true" type="xsd:string"/>
<xsd:element name="supportEM" type="xsd:boolean"/>
<xsd:element name="locale" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="GetConfigResponse">
<xsd:sequence>
<xsd:element name="responseCode" type="xsd:int"/>
<xsd:element name="description" nillable="true" type="xsd:string"/>
<xsd:element name="deviceInfoList" nillable="true" type="tns:ArrayOfWDDeviceInfo"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="WDDeviceInfo">
<xsd:sequence>
<xsd:element name="deviceName" nillable="true" type="xsd:string"/>
<xsd:element name="lines" nillable="true" type="tns:ArrayOfstring"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ArrayOfWDDeviceInfo">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="tns:WDDeviceInfo[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ArrayOfstring">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="makeCallSoap0In">
<wsdl:part name="cred" type="tns:Credential"/>
<wsdl:part name="dest" type="xsd:string"/>
<wsdl:part name="prof" type="tns:UserProfile"/>
</wsdl:message>
<wsdl:message name="makeCallSoap0Out">
<wsdl:part name="Result" type="tns:CallResponse"/>
</wsdl:message>
<wsdl:message name="endCallSoap1In">
<wsdl:part name="cred" type="tns:Credential"/>
<wsdl:part name="prof" type="tns:UserProfile"/>
</wsdl:message>
<wsdl:message name="endCallSoap1Out">
<wsdl:part name="Result" type="tns:CallResponse"/>
</wsdl:message>
<wsdl:message name="getProfileSoap2In">
<wsdl:part name="cred" type="tns:Credential"/>
<wsdl:part name="userid" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="getProfileSoap2Out">
<wsdl:part name="Result" type="tns:GetConfigResponse"/>
</wsdl:message>
<wsdl:message name="isClusterUser3In">
<wsdl:part name="userid" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="isClusterUser2Out">
<wsdl:part name="Result" type="xsd:boolean"/>
</wsdl:message>
<portType name="WebdialerSoapService">
<wsdl:operation name="makeCallSoap">
<wsdl:input message="tns:makeCallSoap0In"/>
<wsdl:output message="tns:makeCallSoap0Out"/>
</wsdl:operation>
<wsdl:operation name="endCallSoap">
<wsdl:input message="tns:endCallSoap1In"/>
<wsdl:output message="tns:endCallSoap1Out"/>
</wsdl:operation>
<wsdl:operation name="getProfileSoap">
<wsdl:input message="tns:getProfileSoap2In"/>
<wsdl:output message="tns:getProfileSoap2Out"/>
</wsdl:operation>
<wsdl:operation name="isClusterUserSoap">
<wsdl:input message="tns:isClusterUser3In"/>
<wsdl:output message="tns:isClusterUser2Out"/>
</wsdl:operation>
</portType>
<binding name="WebdialerSoapService" type="tns:WebdialerSoapService">
<soap:binding style="rpc" transport="https://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="makeCallSoap">
<soap:operation soapAction="urn:makeCallSoap"/>
<input>
<soap:body use="encoded" encodingStyle= "https://schemas.xmlsoap.org/soap/encoding/" namespace="urn:WebdialerSoap"/>
</input>
<output>
<soap:body use="encoded" encodingStyle= "https://schemas.xmlsoap.org/soap/encoding/" namespace="urn:WebdialerSoap"/>
</output>
</wsdl:operation>
<wsdl:operation name="endCallSoap">
<soap:operation soapAction="urn:endCallSoap"/>
<input>
<soap:body use="encoded" encodingStyle= "https://schemas.xmlsoap.org/soap/encoding/" namespace="urn:WebdialerSoap"/>
</input>
<output>
<soap:body use="encoded" encodingStyle= "https://schemas.xmlsoap.org/soap/encoding/" namespace="urn:WebdialerSoap"/>
</output>
</wsdl:operation>
<wsdl:operation name="getProfileSoap">
<soap:operation soapAction="urn:getProfileSoap"/>
<input>
<soap:body use="encoded" encodingStyle= "https://schemas.xmlsoap.org/soap/encoding/" namespace="urn:WebdialerSoap"/>
</input>
<output>
<soap:body use="encoded" encodingStyle= "https://schemas.xmlsoap.org/soap/encoding/" namespace="urn:WebdialerSoap"/>
</output>
</wsdl:operation>
<wsdl:operation name="isClusterUserSoap">
<soap:operation soapAction="urn:isClusterUserSoap"/>
<input>
<soap:body use="encoded" encodingStyle= "https://schemas.xmlsoap.org/soap/encoding/" namespace="urn:WebdialerSoap"/>
</input>
<output>
<soap:body use="encoded" encodingStyle="https://schemas.xmlsoap.org/soap/encoding/" namespace="urn:WebdialerSoap"/>
</output>
</wsdl:operation>
</binding>
<service name="WebdialerSoap">
<port name="WebdialerSoapService" binding="tns:WebdialerSoapService">
<soap:address location= "https://WebDialer_ip_address:8080/webdialer/services/WebdialerSoapService"/>
</port>
</service>
</wsdl:definitions>

JavaScript のサンプル

ここに示す JavaScript のサンプル スクリプトは、ディレクトリ検索ページから Cisco Unified CallManager WebDialer を有効にします。

単一クラスタ アプリケーション

すべてのユーザが 1 つのクラスタのみに存在する場合は、この単一クラスタ アプリケーション用のスクリプトを使用します。

 
function launchWebDialerWindow( url ) {
webdialer=window.open( url, "webdialer", "status=no, width=420, height=300, scrollbars=no, resizable=yes, toolbar=no" );
}
 
function launchWebDialerServlet( destination ) {
url = 'https://<%=server_name%>/webdialer/Webdialer?destination=' + escape(destination);
launchWebDialerWindow( url );
}
!These functions can be called from the HTML page which has a hyperlink to the phone number to be called. An example of it is:
<TD><A href="javascript:launchWebDialerServlet( <%= userInfo.TelephoneNumber %> )"><%= userInfo.TelephoneNumber %></A>&nbsp;</TD>
 

複数クラスタ アプリケーション

ユーザが複数の異なるクラスタに分散している場合は、このスクリプトを使用します。

function launchWebDialerWindow( url ) {
webdialer=window.open( url, "webdialer", "status=no, width=420, height=300, scrollbars=no, resizable=yes, toolbar=no" );
}
 
function launchWebDialerServlet( destination ) {
url= 'https://<%=server_name%>/webdialer/Redirector?destination='+escape(destination);
launchWebDialerWindow( url );
}
!These functions can be called from the HTML page which has a hyperlink to the phone number to be called. An example of it is:
<TD><A href="javascript:launchWebDialerServlet( <%= userInfo.TelephoneNumber %> )"><%= userInfo.TelephoneNumber %></A>&nbsp;</TD>