| redirectサンプルについて |
| 1. 機能概要 |
Redirectサンプルはリダイレクトサーバとして動作します。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サンプルと組み込んで動作すると、二つ端末の通話は実現できます。

端末001@university.comと002@company.comの通話はRedirectとProxyサンプルを経由してセットアップできます:
※サンプルの体験としては、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

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