No WebSphere Application Server v8.0 há uma mudança de comportamento associada ao
SipFactory createRequest()
e
createAddress()
que usam parâmetros de endereço de sequência.
O
javax.servlet.sip.SipFactory
métodos associados a essa mudança e que são sinalizados por essa regra são os seguintes:
-
Address createAddress(java.lang.String addr)
-
SipServletRequest createRequest(SipApplicationSession appSession,
java.lang.String method,
java.lang.String from,
java.lang.String to)
throws ServletParseException
Esta regra fornece a oportunidade de inspecionar o código que pode ser afetado pela
mudança de comportamento. Os detalhes da mudança de comportamento são os seguintes:
- O Feature Pack para Communications Enabled Applications (CEA Feature Pack) incluiu o suporte
para SIP Servlet Specification 1.1, JSR 289.
- Em relação a
createRequest()
e
createAddress()
métodos da API JSR289 declara:
" ... se um dos argumentos from ou to for um URI SIP contendo parâmetros, o URI deverá ser colocado entre sinais de maior e menor. Caso contrário, o endereço será analisado como se o parâmetro pertencesse ao endereço e não ao URI."
- No entanto, o CEA Feature Pack, conforme fornecido originalmente, não estava seguindo a API.
Em vez de fazer o que foi mencionado anteriormente, os parâmetros que não são encapsulados por sinais de maior e menor
são tratados como parâmetros de URI. Por exemplo, de acordo com a JSR,
-
sip:asaf@ibm.com;param1=1
deve ser igual a
-
<sip:asaf@ibm.com>;param1=1
mas em vez disso foi lido como
-
<sip:asaf@ibm.com;param1=1>
.
- Em uma liberação de serviço do CEA Feature Pack, uma propriedade customizada,
sip.jsr289.parse.address
foi incluído para ativar o comportamento correto.
- No WebSphere Versão 8.0, o comportamento é alterado para que o comportamento padrão seja o comportamento compatível com a API correta.
Na versão 8.0, se a propriedade customizada for configurada como false, então o comportamento original será obtido.
Para obter informações adicionais, consulte a documentação: