SIP アプリケーションの開発

     前  次    新しいウインドウで目次を開く     
コンテンツの開始位置

SIP メッセージの圧縮および長いヘッダ フォーマットの使用

以下の節では、Oracle Communications Converged Application Server WlssSipServletMessage インタフェースおよびコンフィグレーション パラメータを使用して、SIP メッセージ ヘッダ フォーマットを制御する方法を説明します。

 


ヘッダ フォーマット API とコンフィグレーションの概要

ワイヤレス ネットワークで動作するアプリケーションでは、メッセージのサイズを縮小して帯域を節約するために、SIP ヘッダのサイズを制限できます。JSR 116 の SipServletMessage.setHeader メソッドを使用すると、アプリケーション開発者は所定のヘッダを特定な文字列値 (圧縮 (1 文字) フォーマットなど) に設定することができます。

Oracle Communications Converged Application Server は、WlssSipServletMessage SipServletMessage インタフェースを拡張します。WlssSipServletMessage API の 1 つの機能は、setUseHeaderForm メソッドを使用して全体の SIP メッセージに対して長いヘッダまたは圧縮ヘッダ フォーマットを設定可能にすることです。

WlssSipServletMessage に加え、Oracle Communications Converged Application Server には、システムで生成されたすべてのヘッダに対して SIP ヘッダ フォーマットを制御できるコンテナ全体のコンフィグレーション パラメータが用意されています。このシステム全体のパラメータを WlssSipServletMessage.setUseHeaderForm および SipServletMessage.setHeader とともに使用してヘッダ フォーマットをさらにカスタマイズすることができます。

 


圧縮ヘッダの概要

表 4-1 は、SIP 仕様 (RFC3261) に説明されている圧縮ヘッダの省略形を定義しています。追加ヘッダを説明する仕様には、圧縮ヘッダの省略形が含まれる可能性もあります。

表 4-1 圧縮ヘッダの省略形
ヘッダの名 (長いフォーマット)
圧縮フォーマット
Call-ID
i
Contact
m
Content-Encoding
e
Content-Length
l
Content-Type
c
From
f
Subject
s
Supported
k
To
t
Via
v

 


WlssSipServletMessage でヘッダ フォーマットの割り当て

拡張 API を使用するには、SipServletRequestSipServletResponse および WlssSipServletResponse のすべてのインスタンスを WlssSipServletMessage にカストすることができます。ヘッダ フォーマットの割り当てや取得には、setUseHeaderForm および getUseHeaderForm のような getter/setter メソッドの組み合わせを使用します。これらのメソッドは、HeaderForm オブジェクトを割り当てたり返したりします。このオブジェクトは、ヘッダ フォーマットを説明する単純な列挙オブジェクトです。

WlssSipServletResponse.setUseHeaderFormSipServletMessage.setHeader とコンテナ レベルのコンフィグレーション パラメータ use-compact-form と組み合わせて使用することができます。API およびコンフィグレーションの動作の概要

 


API およびコンフィグレーションの動作の概要

ヘッダ フォーマットは、ヘッダ、メッセージ、および SIP サーブレット コンテナ レーベルで設定することができます。表 4-2 は、さまざまなコンテナ コンフィグレーションおよびメッセージ レベルを設定する場合に、WlssSipServletResponse.setUseHeaderFormSipServletMessage.setHeader と共にヘッダを追加した場合のヘッダ フォーマットを示しています。

表 4-2 ヘッダを追加する時の API の動作
SIP サーブレット コンテナ ヘッダ コンフィグレーション (use-compact-form 設定)
WlssSipServletMessage.
setUseHeaderForm の設定
SipServletMessage.
setHeader の値
取得したヘッダ
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」

表 4-3 は、コンテナ コンフィグレーション値が異なる場合に、WlssSipServletResponse.setUseHeaderForm でヘッダ フォーマットを設定したときのシステム ヘッダ フォーマットを示しています。

表 4-3 システム ヘッダに対する API の動作
SIP サーブレット コンテナ ヘッダ コンフィグレーション (use-compact-form 設定)
WlssSipServletMessage.
setUseHeaderForm の設定
取得した コンタクト ヘッダ
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」


  ページの先頭       前  次