No WebSphere Application Server v8.0 há uma mudança de comportamento associada aos
métodos SipFactory createRequest() e
createAddress() que usam parâmetros de endereços de sequências.
Os métodos javax.servlet.sip.SipFactory específicos, associados
a esta mudança e que são sinalizados por esta 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.
- Com relação aos métodos createRequest() e createAddress(),
a API JSR289 informa:
"... 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 um release de serviço do CEA Feature Pack, uma propriedade customizada, sip.jsr289.parse.address,
foi incluída 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: