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

すべてのスーパーインタフェース:
java.io.Serializable

public interface SipSession
extends java.io.Serializable

ポイントツーポイントのSIP関係を表します。 概ねSIPダイアログに対応します。 特に、UAの場合、(createRequestを使って)そのダイアログに属する後続のリクエストを作成することが可能になるようダイアログステートを維持します (またはダイアログステートに関連づけられる)。
UACの場合、SipSessionは、ダイアログが確立される前、 また最終の非2xxが先のダイアログを終了後に明確なステートを持つようSIPダイアログの概念を拡張します。 これによりUACは、ダイアログを確立することなく後続のリクエストを作成することができます。結果、後続のリクエストは同じCall-ID、FromおよびToのヘッダを有し(同じFromタグを持ち、Toタグは持たない)、同じCseqスペースに存在することになります。
全メッセージがSipsessionに関連づけられる可能性があります。SipSessionは、SipServletMessage.getSession( )を呼び出すことによりメッセージから取り出すことができます。


メソッドの概要
 SipServletRequest createRequest(java.lang.String method)
          新しいリクエストを返します。
 SipApplicationSession getApplicationSession()
          このSipSessionが関連付けられるアプリケーションセッションを返します。
 java.lang.Object getAttribute(java.lang.String name)
          このセッションで指定された名前に連結されたオブジェクトを返します。
 java.util.Enumeration getAttributeNames()
          このセッションに連結されたすべてのオブジェクトの名前を含むStringオブジェクトを、Enumerationのデータとして返します。
 java.lang.String getCallId()
          このSipSessionに対するCall-IDを返します。
 long getCreationTime()
          このセッションが作成された時間を、1970年1月1日の午前零時(GMT)以降ミリ秒で計測して返します。
 java.lang.String getId()
          このセッションに割り当てられた一意の識別子を含む文字列を返します。
 long getLastAccessedTime()
          クライアントが、このセッションに関連付けられたリクエストを送った最後の時間を、 1970年1月1日午前零時(GMT)以降ミリ秒数で返します。
 Address getLocalParty()
          ローカルパーティを特定するAddressを返します。
 Address getRemoteParty()
          リモートのパーティを特定するAddressを返します。
 void invalidate()
          このセッションを無効にし、それに連結されたオブジェクトを連結解除します。
 void removeAttribute(java.lang.String name)
          指定された名前で連結されたオブジェクトをこのセッションから削除します。
 void setAttribute(java.lang.String name, java.lang.Object attribute)
          指定された名前を使って、このセッションにオブジェクトを連結します。
 void setHandler(java.lang.String name)
          このSipSessionに対してハンドラを設定します。
 

メソッドの詳細

createRequest

public SipServletRequest createRequest(java.lang.String method)
新しいリクエストを返します。

パラメータ:
method - 新しいリクエストのSIPメソッド
戻り値:
新しいリクエストオブジェクトを返します。
例外:
java.lang.IllegalStateException - このSIpSessionが無効になっている場合は、java.lang.IllegalStateExceptionをスローします。

getApplicationSession

public SipApplicationSession getApplicationSession()
このSipSessionが関連付けられるアプリケーションセッションを返します。

戻り値:
このSipSessionに対するアプリケーションセッションを返します。

getAttribute

public java.lang.Object getAttribute(java.lang.String name)
このセッションで指定された名前に連結されたオブジェクトを返します。その名前でオブジェクトが連結されていない場合にはnullを返します。

パラメータ:
name - オブジェクトの名前を指定する文字列
戻り値:
指定された名前のオブジェクトを戻す
例外:
java.lang.IllegalStateException - このメソッドが無効なセッションで呼び出される場合は、java.lang.IllegalStateExceptionをスローします。

getAttributeNames

public java.util.Enumeration getAttributeNames()
このセッションに連結されたすべてのオブジェクトの名前を含むStringオブジェクトを、Enumerationのデータとして返します。

戻り値:
このセッションに連結されたすべてのオブジェクトの名前を指定するStringオブジェクトを、Enumerationのデータとして返します。
例外:
java.lang.IllegalStateException - このメソッドが無効なセッションで呼び出される場合は、java.lang.IllegalStateExceptionをスローします。

getCallId

public java.lang.String getCallId()
このSipSessionに対するCall-IDを返します。これは、このセッションに属するすべてのメッセージに対するCall-IDヘッダの値です。

戻り値:
このSipSessionに対するCall-IDを返します。

getCreationTime

public long getCreationTime()
このセッションが作成された時間を、1970年1月1日の午前零時(GMT)以降ミリ秒で計測して返します。

戻り値:
このセッションが作成された時間を、1970年1月1日の午前零時(GMT)以降ミリ秒で計測して返します。
例外:
java.lang.IllegalStateException - このメソッドが無効なセッションで呼び出されると、java.lang.IllegalStateExceptionをスローします。

getId

public java.lang.String getId()
このセッションに割り当てられた一意の識別子を含む文字列を返します。識別子は、サーブレットコンテナによって割り当てられ、また実装依存です。

戻り値:
このセッションに割り当てられた識別子を指定する文字列を返します。

getLastAccessedTime

public long getLastAccessedTime()
クライアントが、このセッションに関連付けられたリクエストを送った最後の時間を、 1970年1月1日午前零時(GMT)以降ミリ秒数で返します。 セッションに関連する値の入手または設定など、アプリケーションが行うアクションは、アクセス時間に影響しません。

戻り値:
クライアントが、このセッションに関連付けられたリクエストを送った最後の時間を、1970年1月1日午前零時(GMT)以降ミリ秒数で表し返します。

getLocalParty

public Address getLocalParty()
ローカルパーティを特定するAddressを返します。これは、このレグでローカルに開始されたリクエストのFromヘッダの値です。

戻り値:
ローカルパーティのAddressを返します。

getRemoteParty

public Address getRemoteParty()
リモートのパーティを特定するAddressを返します。 これは、このレグでローカルに開始されたリクエストのToヘッダの値です。

戻り値:
リモートのパーティを特定するAddressを返します。

invalidate

public void invalidate()
このセッションを無効にし、それに連結されたオブジェクトを連結解除します。

例外:
java.lang.IllegalStateException - このメソッドが無効なセッションで呼び出されると、java.lang.IllegalStateExceptionをスローします。

removeAttribute

public void removeAttribute(java.lang.String name)
指定された名前で連結されたオブジェクトをこのセッションから削除します。 セッションが、指定された名前で連結されたオブジェクトを持たない場合は、このメソッドは何もしません。

パラメータ:
name - このセッションから削除されるオブジェクトの名前
例外:
java.lang.IllegalStateException - このメソッドが無効なセッションで呼び出される場合は、java.lang.IllegalStateExceptionをスローします。

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object attribute)
指定された名前を使って、このセッションにオブジェクトを連結します。同じ名前のオブジェクトがすでにセッションに連結されている場合は、オブジェクトは置き換えられます。

パラメータ:
name - オブジェクトが連結される名前。nullは不可。
attribute - 連結されるオブジェクト。nullは不可。
例外:
java.lang.IllegalStateException - このメソッドが無効なセッションで呼び出される場合は、java.lang.IllegalStateExceptionをスローします。

setHandler

public void setHandler(java.lang.String name)
                throws javax.servlet.ServletException
このSipSessionに対してハンドラを設定します。このメソッドは、 このSipSessionに対する後続の受信メッセージすべてを処理するサーブレットの名前を明確に指定するために使用できます。 サーブレットは、発呼側と同じアプリケーション(すなわち、同じServletContext)に属していなければなりません。

パラメータ:
name - このSipSessionに属する受信したSIPメッセージのために呼び出されるサーブレットの名前
例外:
javax.servlet.ServletException - 指定された名前のサーブレットがこのアプリケーションに存在しない場合には、javax.servlet.ServletException をスローします。