WebSphere Application Server v8.0 では、ストリングのアドレス・パラメーターを使用する SipFactory createRequest() メソッドと createAddress() メソッドに関連した振る舞いの変更があります。
この変更に関連しており、この規則によってフラグが立てられる特定の javax.servlet.sip.SipFactory メソッドは以下のとおりです。
- Address createAddress(java.lang.String addr)
- SipServletRequest createRequest(SipApplicationSession appSession,
java.lang.String method,
java.lang.String from,
java.lang.String to)
throws ServletParseException
この規則を使用すると、振る舞いの変更の影響を受ける可能性があるコードを検査できます。 振る舞いの変更に関する詳細情報は以下のとおりです。
- Feature Pack for Communications Enabled Applications (CEA フィーチャー・パック) により SIP サーブレット仕様 1.1、JSR 289 のサポートが追加されました。
- createRequest() メソッドと createAddress() メソッドに関して、JSR289 API では次のように記述されています。
「from または to 引数が、パラメーターを含む SIP URI である場合は、この URI を不等号括弧で囲まなければなりません。 そうしないと、パラメーターが URI ではなくアドレスに属しているかのように、アドレスが構文解析されます。」
- しかし、当初出荷されていた CEA フィーチャー・パックは、この API に従っていませんでした。
前述のようにする代わりに、不等号括弧で囲まれていないパラメーターは URI パラメーターとして扱われました。 例えば、この JSR に従うと、
- sip:asaf@ibm.com;param1=1 は
- <sip:asaf@ibm.com>;param1=1 と同等のはずですが、その代わりに
- <sip:asaf@ibm.com;param1=1> と読み取られていました。
- CEA フィーチャー・パック・サービス・リリースでは、カスタム・プロパティー sip.jsr289.parse.address が追加され、正しい動作が可能になりました。
- WebSphere Version 8.0 では、デフォルトの動作が API に正しく準拠した動作になるように、振る舞いが変更されています。
バージョン 8.0 では、このカスタム・プロパティーが false に設定されていると、元の振る舞いとなります。
追加情報については、以下の資料を参照してください。