javax.servlet.sip
インタフェース Proxy


public interface Proxy

SIPリクエストをプロキシするオペレーションを表す。 多数のパラメータが、プロキシがどのように実行されるかコントロールします。
recurse
  自動的に再帰するか否か。デフォルトはtrue。
recordRoute
  経路記録するか否か。デフォルトはfalse。
parallel
  並行してプロキシするか、順次プロキシするか。デフォルトはtrue。
stateful
  プロキシオペレーションの間、トランザクションをステートフルにしておくか否か。デフォルトはtrue。
  現在WebOTX SIP Application Serverはステートレスモードをサポートしていません。
supervised
  アプリケーションが、イベントのために呼び出されるか否か。(受信したベスト応答、CANCEL、もしくは受信したACK)
sequentialSearchTimeout
  コンテナが、ブランチをキャンセルし、ターゲットセットの新しい宛先にプロキシする前に、最終応答を待つ時間。


メソッドの概要
 void cancel()
          このプロキシトランザクションをキャンセルします。
 SipServletRequest getOriginalRequest()
          アップストリームの発呼者から受信したリクエストを返します。
 boolean getParallel()
          プロキシオブジェクトが平行してプロキシするよう設定されている場合はtrueを戻し、順次プロキシするよう設定されている場合にはfalseを返します。
 boolean getRecordRoute()
          proxyTo(URI)の後続の呼び出しが、プロキシされたリクエストにRecord-Routeを追加する場合にはtrueを返します。
 SipURI getRecordRouteURI()
          アプリケーションがRecord-Routeヘッダにパラメータを追加するために使用できるSipURIを返します。
 boolean getRecurse()
          のプロキシオブジェクトが再帰するよう設定されている場合はtrueを返し、そうでない場合はfalseを返します。
 int getSequentialSearchTimeout()
          シーケンシャル検索のタイムアウトパラメータの現在値を返します。
 boolean getStateful()
          このプロキシ操作がトランザクションステートフル(デフォルト)である場合は、trueを戻し、ステートレスである場合はfalseを返します。
 boolean getSupervised()
          制御しているサーブレットがこのプロキシ操作の応答を受信するときに呼び出される場合には、trueを戻し、そうでない場合にはfalseを返します。
 void proxyTo(java.util.List uris)
          指定された宛先にSIPリクエストをプロキシします。
 void proxyTo(URI uri)
          SIPリクエストを指定された宛先にプロキシします。
 void setParallel(boolean parallel)
          並行してプロキシするか、順次プロキシするかを指定します。
 void setRecordRoute(boolean rr)
          このプロキシオペレーションで開始されたブランチが、このサーブレットエンジンに対してRecord-Routeヘッダを含むべきかどうかを指定します。
 void setRecurse(boolean recurse)
          サーブレットエンジンが自動的に再帰するか否かを指定します。
 void setSequentialSearchTimeout(int seconds)
          このProxyオブジェクトに対してシーケンシャル検索タイムアウト値を設定します。
 void setStateful(boolean stateful)
          サーバがステートレスにプロキシするべきかどうか、つまり、プロキシオペレーションが進行中の間にトランザクションステートを維持するべきかどうかを指定します。
 void setSupervised(boolean supervised)
          制御しているサーブレットが、このプロキシトランザクションに関連する後続のイベント、すなわち受信するCANCEL応答やACK応答に対して呼び出されるかどうかを指定します。
 

メソッドの詳細

cancel

public void cancel()
このプロキシトランザクションをキャンセルします。

例外:
java.lang.IllegalStateException - トランザクションが終了している場合、java.lang.IllegalStateExceptionをスローします。

getOriginalRequest

public SipServletRequest getOriginalRequest()
アップストリームの発呼者から受信したリクエストを返します。

戻り値:
プロキシされた受信リクエストを表すオブジェクトを返します。

getParallel

public boolean getParallel()
プロキシオブジェクトが平行してプロキシするよう設定されている場合はtrueを戻し、順次プロキシするよう設定されている場合にはfalseを返します。

戻り値:
"parallel"フラグの値を返します

getRecordRoute

public boolean getRecordRoute()
proxyTo(URI)の後続の呼び出しが、プロキシされたリクエストにRecord-Routeを追加する場合にはtrueを返します。
そうでない場合にはfalseを返します。

戻り値:
"recordroute"フラグの値を返します。

getRecordRouteURI

public SipURI getRecordRouteURI()
アプリケーションがRecord-Routeヘッダにパラメータを追加するために使用できるSipURIを返します。
これはエンドポイントにステートをプッシュし、それが同じダイアログに属する後続のリクエストに戻されるために、経路記録プロキシアプリケーションによって使用されます。
このメソッドによって戻されたURIから追加されたパラメータを、ServletRequest.getParameter(java.lang.String)を呼び出すことによって、同じダイアログの後続のリクエストから取り出すことができます。

戻されたURIは、アプリケーションが同じダイアログの後続のリクエストを処理するために呼び出された時に取り出すことができるパラメータを指定するためだけに有効であることに注意が必要です。URIの他のコンポーネントは無関係で、コンテナがプロキシされたリクエストにRecord-Routeヘッダを挿入するときに使用している実際の値を反映するために信頼できるものではありません。

戻り値:
修正され、そして同じSIPダイアログで後続のリクエストを処理しているときにこのアプリケーションによって取り出されることができるSIP URIを返します。
例外:
java.lang.IllegalStateException - 経路記録が有効でない場合は、java.lang.IllegalStateExceptionをスローします。

getRecurse

public boolean getRecurse()
のプロキシオブジェクトが再帰するよう設定されている場合はtrueを返し、そうでない場合はfalseを返します。

戻り値:
プロキシが有効である場合はtrueを返し、そうでない場合はfalseを返します。

getSequentialSearchTimeout

public int getSequentialSearchTimeout()
シーケンシャル検索のタイムアウトパラメータの現在値を返します。これは秒で計測されます。

戻り値:
シーケンシャル検索タイムアウトパラメータの現在値を返します。

getStateful

public boolean getStateful()
このプロキシ操作がトランザクションステートフル(デフォルト)である場合は、trueを戻し、ステートレスである場合はfalseを返します。

戻り値:
"stateful"フラグの値を返します。

getSupervised

public boolean getSupervised()
制御しているサーブレットがこのプロキシ操作の応答を受信するときに呼び出される場合には、trueを戻し、そうでない場合にはfalseを返します。

戻り値:
アプリケーションが応答に対して呼び出される場合はtrueを戻し、そうでない場合はfalseを返します。

proxyTo

public void proxyTo(java.util.List uris)
指定された宛先にSIPリクエストをプロキシします。

パラメータ:
uris - プロキシの転送先のリストを指定します。
例外:
java.lang.IllegalStateException - トランザクションがすでに終了している場合、java.lang.IllegalStateExceptionをスローします。

proxyTo

public void proxyTo(URI uri)
SIPリクエストを指定された宛先にプロキシします。
SipURI引数をサポートするため、また他のタイプのURIをサポートする可能性があるため、実装が必要です。

パラメータ:
uri - プロキシの転送先を指定します。
例外:
java.lang.IllegalStateException - トランザクションがすでに終了している場合、java.lang.IllegalStateExceptionをスローします。
java.lang.IllegalArgumentException - 指定されたURIのスキームがプロキシのためにサポートされていない場合、java.lang.IllegalArgumentExceptionをスローします。

setParallel

public void setParallel(boolean parallel)
並行してプロキシするか、順次プロキシするかを指定します。

パラメータ:
parallel - trueの場合サーブレットエンジンはすべての宛先に並行にプロキシします。そうでない場合は、一度に1つの宛先にプロキシします。

setRecordRoute

public void setRecordRoute(boolean rr)
このプロキシオペレーションで開始されたブランチが、このサーブレットエンジンに対してRecord-Routeヘッダを含むべきかどうかを指定します。
経路記録は、このサーブレットエンジンが後続のリクエストのシグナリングパスに留まるよう指定するために使用されます。

パラメータ:
rr - trueの場合は、エンジンは経路記録し、そうでない場合は経路記録しません。

setRecurse

public void setRecurse(boolean recurse)
サーブレットエンジンが自動的に再帰するか否かを指定します。
再帰が有効であれば、サーブレットエンジンはリダイレクト(3xx)応答で受信したアドレスにコンタクトするため自動的にプロキシしようとします。
再帰が無効で、より良い応答が受信されない場合は、リダイレクト応答はアプリケーションに渡され、
そしてクライアントに向けてアップストリームに渡されます。

パラメータ:
recurse - trueの場合は再帰を有効にし、そうでない場合は無効にします。

setSequentialSearchTimeout

public void setSequentialSearchTimeout(int seconds)
このProxyオブジェクトに対してシーケンシャル検索タイムアウト値を設定します。これは、コンテナがシーケンシャルにプロキシするときに最終応答を待つ総時間数です。
タイマーが切れるとコンテナは現在のブランチをキャンセルし、ターゲットセットの次のエレメントにプロキシします。

パラメータ:
seconds - 秒数−順次プロキシするとき最終応答を待つ秒数。

setStateful

public void setStateful(boolean stateful)
サーバがステートレスにプロキシするべきかどうか、つまり、プロキシオペレーションが進行中の間にトランザクションステートを維持するべきかどうかを指定します。
このプロキシパラメータは、ヒントにすぎない。実装では、このフラグの値にかかわらずトランザクションステートを維持することを選択できます。
しかしその場合には、アプリケーションはこのトランザクションに対して再度呼び出されません。

パラメータ:
stateful -

setSupervised

public void setSupervised(boolean supervised)
制御しているサーブレットが、このプロキシトランザクションに関連する後続のイベント、すなわち受信するCANCEL応答やACK応答に対して呼び出されるかどうかを指定します。

パラメータ:
supervised - trueの場合は、最初に受信されたリクエストを処理するために呼び出されたサーブレットは、"ベスト"応答が受信されるときに通知されます。