In WebSphere Application Server v8.0 è presente una modifica del comportamento associata ai metodi
SipFactory createRequest() e
createAddress() che utilizzano parametri di indirizzo della stringa.
I metodi javax.servlet.sip.SipFactory specifici associati a tale
modifica e contrassegnati da tale regola sono:
- Address createAddress(java.lang.String addr)
- SipServletRequest createRequest(SipApplicationSession appSession,
java.lang.String method,
java.lang.String from,
java.lang.String to)
throws ServletParseException
Questa regola fornisce l'opportunità di analizzare codice che potrebbe essere interessato
dalla modifica del comportamento. Di seguito sono riportati i dettagli della modifica del comportamento:
- Feature Pack CEA (Feature Pack for Communications Enabled Applications) ha aggiunto il supporto per
SIP Servlet Specification 1.1, JSR 289.
- Rispetto ai metodi createRequest() e createAddress()
l'API JSR289 stabilisce che:
"... if either of the from or to argument is a SIP URI containing parameters, the URI must be enclosed in
angle brackets. Altrimenti l'indirizzo verrà analizzato come se il parametro appartenesse all'indirizzo e non all'URI".
- Tuttavia, il CEA Feature Pack, come originariamente spedito, non seguiva l'API.
Invece di fare quanto detto prima, i parametri che non sono incapsulati da parentesi angolari
vengono trattati come parametri URI. Ad esempio, in base al JSR,
- sip:asaf@ibm.com;param1=1 deve essere uguale a
- <sip:asaf@ibm.com>;param1=1 ma viene letto come
- <sip:asaf@ibm.com;param1=1>.
- In una release di servizio di CEA Feature Pack, è stata aggiunta una proprietà personalizzata, sip.jsr289.parse.address,
per abilitare il corretto comportamento.
- In WebSphere Versione 8.0 il comportamento è stato modificato in modo che sia conforme all'API per impostazione predefinita.
Nella versione 8.0, se la proprietà personalizzata è impostata su false, si ottiene il comportamento originale.
Per ulteriori informazioni, consultare la documentazione: