click-to-dialサンプルについて
 
1. 機能概要
 

 図 1. click-to-dialの流れ
 
(1) ブラウザでpartyAとpartyBとの通話リクエストをClick-to-dialアプリケーションに出すと、(2) ブラウザへOKレスポンスを返信して、(3) partyAに対してINVITEリクエストを送信します。
(4) partyAの200 OKレスポンス(SDP1含め)が来ると、(5) partyBに対してINVITEリクエスト(SDP1含め)を送信します。
(6) partyBの200 OKレスポンス(SDP2含め)が来ると、(7) partyBに対してACKリクエストを送信して、(8) partyAに対してACKリクエスト(SDP2含め)を送信します。
(9) partyAとpartyBとの通話はできます。
(10) partyAのBYEリクエストが来ると、(11) partyAに対して200 OKレスポンスを送信して、(12) partyBに対してBYEリクエストを送信します。  
2. ソースファイルリスト

Click-to-dialサンプルに下記のファイルがあります。

CallController.java SIPサーブレットです。doResponse()/doBye()を実装します。
通話初期化のメソッドを提供して、JSPに呼び出されます。
INVITEリクエストの後続のSIPメッセージを受信して、流れ図のように制御します。
Call.java 通話セットアップ情報を保存するクラスです。
Participant.java 通話者情報を保存するクラスです。
リソースファイル JSPのためのリソースファイル(CallControllerResources_*.properties)です。
日本語と英語をサポートします。
list_parties.jsp バインディング情報をcheckbox付きリストするJSPです。
ユーザはCheckboxで二つ通話者を選択できます。
list_call.jsp 通話を初期化するJSPです。
list_parties.jspで選択した通話者間の通話を初期化します。
 
3. sip.xmlの設定

サーブレットCallControllerのinit-paramに関して、下記の設定は変更できます。

samples.user SIPコンテナのアドレスのuserとして利用します。
samples.host SIPコンテナのアドレスのhostとして利用します。127.0.0.1、ホスト名ではなく、ネットワークで接続できる実際のIPアドレスを設定してください。
samples.transport SIPコンテナのアドレスのtransportとして利用します。SIPコンテナ実際のトランスポートプロトコルを設定してください。
samples.port SIPコンテナのアドレスのportとして利用します。SIPコンテナ実際のポートを設定してください。

※サーブレットCallControllerのinit-paramのsamples.host/samples.transport/samples.portは正しく設定していない場合、UACからのメッセージは受信できません。
ぜひ、samples.hostを実際のIPアドレスに変更してください。

 
4. 配備したclick-to-dialアプリケーションを使ってみます

※click-to-dialサンプルを利用すると、registrarサンプルも同時に配備しなければなりません。

一、Webブラウザを起動し以下のURLへアクセスします:
http://localhost/click-to-dial
registrarに登録したアドレスがない場合、テーブルに内容はありません。

 

 図 1. 登録したアドレスがない
 

二、アカウント設定完了した二つのx-liteを起動して、もう一度以下のURLへアクセスします。
http://localhost/click-to-dial
二つ通話者を選択して、通話開始ボタンを押します。

 

 図 2. JSPで通話を開始
 

三、選択した二つ通話者の通話の初期化が成功した場合、成功画面が出ます。
二つx-liteが順番に電話を来て、受信すると通話できます。

 

 図 3.初期化成功
 

 

Copyright (C) 1998 - 2008 NEC Corporation. All rights reserved.