redirectサンプルについて
 
1. 機能概要

Redirectサンプルはリダイレクトサーバとして動作します。INVITEリクエストのリダイレクト策略は下記です:

    ・ 送信先はJNDIからバインディング情報に見つかった場合、
    バインディング情報によりINVITEリクエストをリダイレクトします。
    ・ 送信先はJNDIからバインディング情報に見つからない場合、
    設定によりINVITEリクエストをリダイレクトします。
 
2. ソースファイルリスト

Redirectサンプルに下記のファイルがあります。

redirectserver.java SIPサーブレットです。doInvite()を実装します。
INVITEリクエストをJNDIからバインディング情報、sip.xmlの設定によりリダイレクトします。
 
3. sip.xmlの設定

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

servlet-mapping ProxyとredirectサンプルはINVITEリクエストを処理できます。この二つサンプルは同じなSIPコンテナで動けるために、servlet-mappingでrequest.uri.hostによりUACからのINVITEリクエストを分けます。
サーブレットRedirectServerのservlet-mappingに、request.uri.hostの既定値はuniversity.comになります。
init-param samples.redirect-hostはリダイレクトホストとして利用します。既定値はproxyサンプルが受けられるcompany.comですので、proxyサンプルと一緒に配備すると、university.comへのINVITEリクエストをcompany.com(proxyサンプル)にリダイレクトできます。

※通話元のx-liteのDomainはサーブレットRedirectServerの[servlet-mapping - request.uri.host]と合わせてください。

 
4. proxyサンプルと組み込みます

redirectサンプルはINVITEリクエストに対して302レスポンスを返信しますので、二つ端末の通話をセットアップできません。
proxyサンプルと組み込んで動作すると、二つ端末の通話は実現できます。

 

 図 1. proxyサンプルと組み込み
 

端末001@university.comと002@company.comの通話はRedirectとProxyサンプルを経由してセットアップできます:

  1. 001@university.comは002@university.comへのINVITEを送信します。
  2. Redirectサンプルは001@university.comのINVITEリクエストを受けて、302レスポンスを返信します。Contactヘッダを002@company.comとして、proxyサンプルにリダイレクトします。
  3. 001@university.comは302レスポンスを受けて、Contactヘッダにより、002@company.comへのINVITEを送信します。
  4. Proxyサンプルは001@university.comのINVITEリクエストを受けて、002@company.comに転送します。

※サンプルの体験としては、redirectとproxyサンプルは一つSIPコンテナに配備してもいいし、環境構築が二つコンテナにより簡単的なので、下記は一つSIPコンテナに配備するように説明します。

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

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

一、Proxyサンプルとredirectサンプルを同じなコンテナに配備して、アカウント設定完了した二つのx-liteを起動して、以下のURIでx-liteのアドレスをregistrarに登録するか確認します:
001@university.com
002@company.com
http://localhost/registrar

 

 図 2. 二つアドレスが登録済み
 

二、001@university.comが002に電話をかけて、002@company.comが電話を受信すると、以下のURLで通話の状態を確認します:
http://localhost/proxy
001と002は通話中です。
※001@university.com(x-lite)が電話をかける場合、302の受信ともう一度INVITEの送信が一瞬で完成できて、x-liteの画面から見えない場合、x-liteのログでリダイレクトの過程を確認できます。

 

 図 3. redirectとproxyを経由した通話
 

 

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