Oracle® Communications Converged Application Server Developer's Guide Release 5.1 Part Number E27707-01 |
|
|
PDF · Mobi · ePub |
This chapter describes how to use the Oracle Communications Converged Application Server SipServletMessage
interface and configuration parameters to control SIP message header formats:
Applications that operate on wireless networks may want to limit the size of SIP headers to reduce the size of messages and conserve bandwidth. JSR 289 provides the SipServletMessage.setHeaderForm()
method, which enables application developers to set a long or compact format for the value of a given header.
One feature of the SipServletMessage
API provided in JSR 289 is the ability to set long or compact header formats for the entire SIP message using the setHeaderForm
method.
In addition to SipServletMessage
, Converged Application Server provides a container-wide configuration parameter that can control SIP header formats for all system-generated headers. This system-wide parameter can be used along with SipServletMessage.setHeaderForm
and SipServletMessage.setHeader
to further customize header formats.
Table 8-1 defines the compact header abbreviations described in the SIP specification (http://www.ietf.org/rfc/rfc3261.txt
). Specifications that introduce additional headers may also include compact header abbreviations.
All instances of SipServletRequest
, SipServletResponse
, and WlssSipServletResponse
can be cast to WlssSipServletMessage
in order to use the extended API.
A pair of getter/setter methods, setUseHeaderForm
and getUseHeaderForm
, are used to assign or retrieve the header formats used in the message. These methods assign or return a HeaderForm
object, which is a simple Enumeration that describes the header format:
COMPACT
: Forces all headers in the message to use compact format. This behavior is similar to the container-wide configuration value of “force compact,” as described in use-header-form
in the Converged Application Server Administrator's Guide.
LONG
: Forces all headers in the message to use long format. This behavior is similar to the container-wide configuration value of “force long,” as described in use-header-form
in the Converged Application Server Administrator's Guide.
DEFAULT
: Defers the header format to the container-wide configuration value set in use-header-form
.
WlssSipServletResponse.setUseHeaderForm
can be used in combination with SipServletMessage.setHeader
and the container-level configuration parameter, use-compact-form
. See "Summary of API and Configuration Behavior".
Header formats can be specified at the header, message, and SIP Servlet container levels. Table 8-2 shows the header format that results when adding a new header with SipServletMessage.setHeader
, given different container configurations and message-level settings with WlssSipServletResponse.setUseHeaderForm.
Table 8-2 API Behavior when Adding Headers
SIP Servlet Container Header Configuration (use-compact-form Setting) | WlssSipServletMessage.setUseHeaderForm Setting | SipServletMessage.setHeader Value | Resulting Header |
---|---|---|---|
COMPACT |
DEFAULT |
“Content-Type” |
“Content-Type” |
COMPACT |
DEFAULT |
“c” |
“c” |
COMPACT |
COMPACT |
“Content-Type” |
“c” |
COMPACT |
COMPACT |
“c” |
“c” |
COMPACT |
LONG |
“Content-Type” |
“Content-Type” |
COMPACT |
LONG |
“c” |
“Content-Type” |
LONG |
DEFAULT |
“Content-Type” |
“Content-Type” |
LONG |
DEFAULT |
“c” |
“c” |
LONG |
COMPACT |
“Content-Type” |
“c” |
LONG |
COMPACT |
“c” |
“c” |
LONG |
LONG |
“Content-Type” |
“Content-Type” |
LONG |
LONG |
“c” |
“Content-Type” |
FORCE_COMPACT |
DEFAULT |
“Content-Type” |
“c” |
FORCE_COMPACT |
DEFAULT |
“c” |
“c” |
FORCE_COMPACT |
COMPACT |
“Content-Type” |
“c” |
FORCE_COMPACT |
COMPACT |
“c” |
“c” |
FORCE_COMPACT |
LONG |
“Content-Type” |
“Content-Type” |
FORCE_COMPACT |
LONG |
“c” |
“Content-Type” |
FORCE_LONG |
DEFAULT |
“Content-Type” |
“Content-Type” |
FORCE_LONG |
DEFAULT |
“c” |
“Content-Type” |
FORCE_LONG |
COMPACT |
“Content-Type” |
“c” |
FORCE_LONG |
COMPACT |
“c” |
“c” |
FORCE_LONG |
LONG |
“Content-Type” |
“Content-Type” |
FORCE_LONG |
LONG |
“c” |
“Content-Type” |
Table 8-3 shows the system header format that results when setting the header format with WlssSipServletResponse.setUseHeaderForm
given different container configuration values.
Table 8-3 API Behavior for System Headers
SIP Servlet Container Header Configuration (use-compact-form Setting) | WlssSipServletMessage.setUseHeaderForm Setting | Resulting Contact Header |
---|---|---|
COMPACT |
DEFAULT |
“m” |
COMPACT |
COMPACT |
“m” |
COMPACT |
LONG |
“Contact” |
LONG |
DEFAULT |
“Contact” |
LONG |
COMPACT |
“m” |
LONG |
LONG |
“Contact” |
FORCE_COMPACT |
DEFAULT |
“m” |
FORCE_COMPACT |
COMPACT |
“m” |
FORCE_COMPACT |
LONG |
“Contact” |
FORCE_LONG |
DEFAULT |
“Contact” |
FORCE_LONG |
COMPACT |
“m” |
FORCE_LONG |
LONG |
“Contact” |