/** * Pushes a route header on initial request based on the jain sip sipUri given on parameter * @param sipUri the jain sip sip uri to use to construct the route header to push on the request */ private void pushRoute(javax.sip.address.SipURI sipUri) { if(!isInitial() && getSipSession().getProxy() == null) { //as per JSR 289 Section 11.1.3 Pushing Route Header Field Values // pushRoute can only be done on the initial requests. // Subsequent requests within a dialog follow the route set. // Any attempt to do a pushRoute on a subsequent request in a dialog // MUST throw and IllegalStateException. throw new IllegalStateException("Cannot push route on subsequent requests, only intial ones"); } else { if (logger.isDebugEnabled()) logger.debug("Pushing route into message of value [" + sipUri + "]"); sipUri.setLrParam(); try { javax.sip.header.Header p = SipFactoryImpl.headerFactory .createRouteHeader(SipFactoryImpl.addressFactory .createAddress(sipUri)); this.message.addFirst(p); } catch (SipException e) { logger.error("Error while pushing route [" + sipUri + "]"); throw new IllegalArgumentException("Error pushing route ", e); } } }
addressFactory.createAddress(sipUriUdp); balancerRouteHeaderUdp = headerFactory.createRouteHeader(routeAddressUdp); headerFactory.createRouteHeader(routeAddressTcp);
SipFactoryImpl.addressFactory.createAddress(sipUri); RouteHeader routeHeader = SipFactoryImpl.headerFactory.createRouteHeader(routeAddress); request.addFirst(routeHeader); if(Request.REGISTER.equalsIgnoreCase(request.getMethod())) {
/** * * @param hop * @param request */ private void addDnsRoute(Hop hop, final Request request) throws ParseException, SipException { if(hop != null && sipFactoryImpl.getSipApplicationDispatcher().isExternal(hop.getHost(), hop.getPort(), hop.getTransport())) { javax.sip.address.SipURI nextHopUri = SipFactoryImpl.addressFactory.createSipURI(null, hop.getHost()); nextHopUri.setLrParam(); nextHopUri.setPort(hop.getPort()); if(hop.getTransport() != null) { nextHopUri.setTransportParam(hop.getTransport()); } // Deal with http://code.google.com/p/mobicents/issues/detail?id=2346 nextHopUri.setParameter(DNSAwareRouter.DNS_ROUTE, Boolean.TRUE.toString()); final javax.sip.address.Address nextHopRouteAddress = SipFactoryImpl.addressFactory.createAddress(nextHopUri); final RouteHeader nextHopRouteHeader = SipFactoryImpl.headerFactory.createRouteHeader(nextHopRouteAddress); if(logger.isDebugEnabled()) { logger.debug("Adding next hop found by RFC 3263 lookups as route header" + nextHopRouteHeader); } request.addFirst(nextHopRouteHeader); } }
try { routeAddress = SipFactoryImpl.addressFactory.createAddress(routes[0]); applicationRouterInfoRouteHeader = SipFactoryImpl.headerFactory.createRouteHeader(routeAddress); if(sipApplicationDispatcher.isRouteExternal(applicationRouterInfoRouteHeader)) { ((javax.sip.address.SipURI)routeURI).setLrParam(); Header routeHeader = SipFactoryImpl.headerFactory.createRouteHeader(routeAddress);
routeURI.setTransportParam(hop.getTransport()); routeURI.setLrParam(); RouteHeader routeHeader = sipFactoryImpl.getHeaderFactory().createRouteHeader( sipFactoryImpl.getAddressFactory().createAddress(routeURI)); request.addHeader(routeHeader);
SipFactoryImpl.addressFactory.createAddress(sipUri); RouteHeader routeHeader = SipFactoryImpl.headerFactory.createRouteHeader(routeAddress); request.addFirst(routeHeader); } catch (ParseException e) {
RouteHeader routeHeader = headerFactory.createRouteHeader(this.ecsAddress); request.addHeader(routeHeader);
for (String route : routes) { try { routeList.add((Route)headerFactory.createRouteHeader(addressFactory.createAddress(route))); } catch (ParseException e) { logger.logError("Unexpected exception while parsing a deserialized route address", e);
final RouteHeader applicationRouterInfoRouteHeader = SipFactoryImpl.headerFactory.createRouteHeader(routeAddress); if(isRouteExternal(applicationRouterInfoRouteHeader)) {
SipFactoryImpl.addressFactory.createAddress(sipURI); final RouteHeader routeHeader = SipFactoryImpl.headerFactory.createRouteHeader(routeAddress); request.addFirst(routeHeader);