Author: jean.deruelle
Date: Thu Mar 19 10:26:19 2009
New Revision: 5141

Modified:
trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/message/SipFactoryImpl.java trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/message/SipServletRequestImpl.java

Log:
Fixing bug wrt routes in lb configuration

Modified: trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/message/SipFactoryImpl.java
==============================================================================
--- trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/message/SipFactoryImpl.java (original) +++ trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/message/SipFactoryImpl.java Thu Mar 19 10:26:19 2009
@@ -34,6 +34,7 @@
 import javax.servlet.sip.URI;
 import javax.servlet.sip.ar.SipApplicationRouterInfo;
 import javax.sip.ListeningPoint;
+import javax.sip.SipException;
 import javax.sip.header.CSeqHeader;
 import javax.sip.header.CallIdHeader;
 import javax.sip.header.ContactHeader;
@@ -662,10 +663,13 @@
                                
SipFactories.addressFactory.createAddress(sipUri);
                        RouteHeader routeHeader =
                                
SipFactories.headerFactory.createRouteHeader(routeAddress);
-                       request.addHeader(routeHeader);
+                       request.addFirst(routeHeader);                  
                } catch (ParseException e) {
                        //this should never happen
- throw new IllegalArgumentException("Impossible to set the Load Balancer Route Header !"); + throw new IllegalArgumentException("Impossible to set the Load Balancer Route Header !", e);
+               } catch (SipException e) {
+                       //this should never happen
+ throw new IllegalArgumentException("Impossible to set the Load Balancer Route Header !", e);
                }
        }
 }

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 Thu Mar 19 10:26:19 2009
@@ -995,8 +995,10 @@
         * Add a route header to route back to the container
* @param applicationName the application name that was chosen by the AR to route the request
         * @throws ParseException
+        * @throws SipException
+        * @throws NullPointerException
         */
- public void addInfoForRoutingBackToContainer(String applicationName) throws ParseException { + public void addInfoForRoutingBackToContainer(String applicationName) throws ParseException, SipException {
                Request request = (Request) super.message;
                javax.sip.address.SipURI sipURI = 
JainSipUtils.createRecordRouteURI(
                                sipFactoryImpl.getSipNetworkInterfaceManager(),
@@ -1010,7 +1012,7 @@
                        SipFactories.addressFactory.createAddress(sipURI);
                RouteHeader routeHeader =
                        
SipFactories.headerFactory.createRouteHeader(routeAddress);
-               request.addHeader(routeHeader);                                 
        
+               request.addFirst(routeHeader);                                  
        
        }

        /**

Reply via email to