Author: jean.deruelle
Date: Mon Apr 20 19:07:20 2009
New Revision: 5559
Modified:
trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/dispatchers/InitialRequestDispatcher.java
trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/message/SipServletRequestImpl.java
Log:
bug fix for last TCK test failing
Modified:
trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/dispatchers/InitialRequestDispatcher.java
==============================================================================
---
trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/dispatchers/InitialRequestDispatcher.java
(original)
+++
trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/dispatchers/InitialRequestDispatcher.java
Mon Apr 20 19:07:20 2009
@@ -483,13 +483,13 @@
* @throws DispatcherException a proble occured while checking the
information returned by the AR
*/
private boolean checkRouteModifier(SipApplicationRouterInfo
applicationRouterInfo, SipServletRequestImpl sipServletRequest) throws
DispatcherException {
- Request request = (Request) sipServletRequest.getMessage();
- SipRouteModifier sipRouteModifier =
applicationRouterInfo.getRouteModifier();
+ final Request request = (Request)
sipServletRequest.getMessage();
+ final SipRouteModifier sipRouteModifier =
applicationRouterInfo.getRouteModifier();
if(logger.isDebugEnabled()) {
logger.debug("the AR returned the following sip route modifier" +
sipRouteModifier);
}
if(sipRouteModifier != null) {
- String[] routes = applicationRouterInfo.getRoutes();
+ final String[] routes =
applicationRouterInfo.getRoutes();
switch(sipRouteModifier) {
// ROUTE modifier indicates that SipApplicationRouterInfo.getRoute()
returns a valid route,
// it is up to container to decide whether it
is external or internal.
Modified:
trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/message/SipServletRequestImpl.java
==============================================================================
---
trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/message/SipServletRequestImpl.java
(original)
+++
trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/message/SipServletRequestImpl.java
Mon Apr 20 19:07:20 2009
@@ -112,7 +112,7 @@
* Popped route header - when we are the UAS we pop and keep the route
* header
*/
- private Address poppedRoute;
+ private AddressImpl poppedRoute;
private RouteHeader poppedRouteHeader;
/* Cache the application routing directive in the record route header */
@@ -356,7 +356,8 @@
* @see javax.servlet.sip.SipServletRequest#getPoppedRoute()
*/
public Address getPoppedRoute() {
- if(this.poppedRoute == null && poppedRouteHeader != null) {
+ if((this.poppedRoute == null && poppedRouteHeader != null) ||
+ (poppedRoute != null && poppedRouteHeader != null
&& !poppedRoute.getAddress().equals(poppedRouteHeader.getAddress()))) {
this.poppedRoute = new AddressImpl(poppedRouteHeader.getAddress(),
null, getTransaction() == null ? true : false);
}
return poppedRoute;