Sun GlassFish Communications Server 1.5 Administration Reference

sip-container-availability

Enables availability in the SIP container, including replicated session persistence. This element is not implemented; the persistence-type is memory.

If availability is disabled, there is no high availability for session persistence. The manager-properties element’s session-file-name attribute specifies the file system location where the HTTP session state is stored if the server instance is gracefully shut down. This is useful for internal testing but is not supported for production environments.

If availability is enabled but no other sip-container-availability attributes are specified, the default session persistence configuration is as follows:

persistence-type=replicated
persistence-frequency=sip-transaction
persistence-scope=session

The default configuration for all applications can be changed by setting the various sip-container-availability attributes and properties.

You can override the various sip-container-availability attributes and properties for a specific application in sun-web.xml or sun-sip.xml. For details, see the Sun GlassFish Communications Server 1.5 Developer’s Guide.

For additional replicated session persistence properties you can set, see availability-service.

Superelements

availability-service

Subelements

The following table describes subelements for the sip-container-availability element.

Table 1–189 sip-container-availability Subelements

Element 

Required 

Description 

property

zero or more 

Specifies a property or a variable. 

Attributes

The following table describes attributes for the sip-container-availability element.

Table 1–190 sip-container-availability Attributes

Attribute 

Default 

Description 

availability-enabled

true

(optional) If set to true, and if availability is enabled for the server instance (see availability-service), high-availability features apply to all SIP extension modules deployed to the server instance that do not have availability disabled. All instances in a cluster should have the same availability value to ensure consistent behavior.

persistence-type

memory (availability disabled)

replicated (availability enabled)

(optional) Specifies the session persistence mechanism for SIP extension modules that have availability enabled. Allowed values are memory (no persistence) and replicated (other servers).

If set to memory, the manager-properties element’s session-file-name attribute specifies the file system location where the session state is stored if the server instance is gracefully shut down. This is useful for internal testing but is not supported for production environments.

persistence-frequency

sip-transaction

(optional) Specifies how often the session state is stored. The default, sip-transaction, is the only allowed value. The session state is stored at the end of each request prior to sending a response back to the client. This provides the best guarantee that the session state is fully updated in case of failure.

persistence-scope

session

(optional) Specifies how much of the session state is stored. Allowed values are as follows: 

  • session - The entire session state is stored every time. This mode provides the best guarantee that your session data is correctly stored for any distributable SIP extension module.

  • modified-session - The entire session state is stored if it has been modified. A session is considered to have been modified if SipSession.setAttribute() or SipSession.removeAttribute() was called. You must guarantee that setAttribute() is called every time an attribute is changed. This is not a Java EE specification requirement, but it is required for this mode to work properly.

  • modified-attribute - Only modified session attributes are stored. For this mode to work properly, you must follow some guidelines, which are explained immediately following this table.

repair-during-failure

true

(optional) Deprecated. If true, specifies that a forward and reverse repair should be performed on an instance that has joined or rejoined the cluster.

If the persistence-scope attribute is set to modified-attribute , your SIP extension module must follow these guidelines:

Properties

The following table describes properties for the sip-container-availability element.

Table 1–191 sip-container-availability Properties

Property 

Default 

Description 

uuid-impl-class

none 

Specifies the name of the class that generates session IDs. If this property is not specified, the Communications Server's internal session ID generator is used. 

It is the developer's responsibility to ensure that generated IDs are universally unique even when running on multiple JVMs on multiple machines in a cluster. Failure to ensure this in the algorithm results in nondeterministic behavior and likely corruption of session data.