15


SIP の使用法

Sun JavaTM Wireless Toolkit for CLDC では、プロキシサーバー、登録機関、およびネットワークモニターサポートを含む、SIP API for J2ME (JSR 180) がサポートされます。

SIP (Session Initiation Protocol) は、RFC 3261 で定義されています。この情報は、
http://www.ietf.org/rfc/rfc3261.txt で入手できます。

SIP では、アプリケーションで通信を設定する標準的な方法が提供されます。アプリケーションでは、実際に実行する通信を決定します。SIP を使用して、インスタントメッセージング、テキストチャット、音声チャット、ビデオ会議、およびその他のセッションを設定できます。


15.1 登録機関とプロキシについて

SIP 登録機関により、クライアントアプリケーションはユーザー名と特定のネットワークアドレスを関連付けることができます。登録処理により、自分の場所を通知する方法がユーザーに提供されます。

SIP プロキシサーバーは、プロキシサーバーによる大規模なネットワークへの入口でしかありません。プロキシサーバーに到着する SIP メッセージは、適切な宛先にルーティングされます。通常、この宛先は別のプロキシサーバーか、デスクトップコンピュータやモバイルデバイスなどのエンドポイントです。SIP メッセージはデバイス間で直接送信できますが、通常はプロキシサーバーを通してルーティングされます。

たとえば、Diggory が Polly とのテレビ会議を開始する場合を考えてみましょう。Polly は外出中で、その携帯電話から登録機関にメッセージが送信され、自分の名前と携帯電話のネットワークアドレスが関連付けられます。Diggory が Polly とのテレビ会議を設定しようとするときに、Diggory のアプリケーションでは SIP を使用して Polly の現在のネットワーク上の場所を登録機関に問い合わせます。

Sun JavaTM Wireless Toolkit for CLDC には、SIP API を使用するアプリケーションのテストに使用できる、簡単な SIP プロキシと登録機関サーバーが用意されています。また、ツールキットを設定して、外部のプロキシサーバーと登録機関サーバーを使用することもできます。


15.2 SIP の設定

Sun JavaTM Wireless Toolkit for CLDC の SIP 環境の設定を調整するには、「編集」->「環境設定」を選択し、「SIP」をクリックします。

図 15-1 SIP の設定


Preferences window with SIP category selected has Display name and Address fields.

「表示名」と「アドレス」フィールドでは、それぞれ sip.display.namesip.address のシステムプロパティーを設定します。アプリケーションでは、デバイスに関連付けられた識別情報を取得する標準的な方法として、これらのシステムプロパティーを使用できます。


15.3 ネットワークモニターでの SIP トラフィック

SIP API を使用して送受信されるネットワークデータは、ネットワークモニターで記録できます。ネットワークモニターについては、第 5 章で詳しく説明しています。ネットワークモニターを使用して、エミュレータで送受信される SIP メッセージを追跡できます。

「SIP」タブをクリックして SIP メッセージを表示します。SIP メッセージは、ネットワークモニターの左側の区画に表示されます。メッセージをクリックすると、その詳細が右側の区画に表示されます。

図 15-2 ネットワークモニターでの SIP メッセージ


Network monitor with SIP tab selected


15.4 SIP プロキシサーバーと登録機関

SIP アプリケーションを簡単に作成できるように、Sun JavaTM Wireless Toolkit for CLDC には簡単な SIP プロキシサーバーと登録機関が用意されています。サーバーを起動するには、「ファイル」->「ユーティリティー」を選択します。リストから「SIP サーバーを起動」を選択し、「起動」を押します。SIP サーバーのコンソールウィンドウが表示されます。

図 15-3 SIP サーバーのコンソール


SIP Proxy and Registrar window shows the registered user

サーバーを停止するには、「停止」をクリックします。サーバーを起動するには、「起動」をクリックします。

サーバーの動作中は、左上の区画に登録機関で認識されているすべてのユーザーが表示されます。ユーザー名をクリックすると、ユーザーに関する詳細が右上の区画に表示されます。ウィンドウの下部の区画は、プロキシサーバーによって送受信される SIP メッセージが表示されるコンソールです。

サーバーが動作していないときは、サーバーのオプションを調整できます。サーバーを停止して「オプション」をクリックすると、オプションのウィンドウが表示されます (図 15-4 参照)。

図 15-4 プロキシオプションの設定


Options window with proxy tab selected has IP Address field and lists Listening points specified by user

「プロキシ」タブで、IP アドレスと、サーバーが着信メッセージを待機するポートを設定できます。待機中のデフォルトの場所 (リスニングポイント) として、SIP プロキシではポート 5060 がよく使われます。マルチユーザー環境で作業している場合は、ほかのユーザーがこのポートを使用していて、意図せず別のユーザーの SIP サーバーインスタンスに接続してしまう可能性があります (SIP サーバーには認証の機構がなく、TCP/IP ポートには自由にアクセスできます)。この場合は、別のポートを指定する必要があります。

「追加」をクリックして、ポートとその種類を指定します。ポートを選択して「削除」をクリックすると、待機中のポートを削除できます。

接続するクライアントをサーバーに対して強制的に認証するには、「認証を使用」にチェックマークを付けます。使用される方式はダイジェスト認証です。この認証は、RFC 3261 の第 22.4 節で説明されています。SIP のダイジェスト認証は、HTTP のダイジェスト認証とほぼ同じです。

「登録機関」タブで、登録機関で認識されるユーザーとドメインを設定できます。上部のリストには、SIP サーバーを起動したときに自動的に登録される SIP ユーザーがリストされます。新しいユーザーの追加、既存のユーザーの編集、またはユーザーの削除を行えます。

また、この登録機関で管理されるドメインのリストを調整できます。「追加」を押すとドメインを追加できます。「編集」を押すと既存のドメイン名を編集できます。「削除」を押すとドメインを削除できます。

図 15-5 登録機関オプションの設定


Options window Registrar tab manages registrations and domains