In WebSphere Application Server v8.0 è presente una modifica del comportamento associata al
SipFactory createRequest()
e
createAddress()
metodi che utilizzano parametri di indirizzo stringa.
Lo specifico
javax.servlet.sip.SipFactory
i metodi associati a questa modifica e contrassegnati da questa regola sono i seguenti:
-
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.
- Per quanto riguarda
createRequest()
e
createAddress()
l'API JSR289 indica:
" ... se uno degli argomenti from o to è un URI SIP contenente parametri, l'URI deve essere racchiuso tra parentesi angolari. 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 invece è stato letto come
-
<sip:asaf@ibm.com;param1=1>
.
- In una release di servizio del pacchetto di funzione CEA, una proprietà personalizzata,
sip.jsr289.parse.address
, è stato aggiunto per abilitare il comportamento corretto.
- 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: