/** * @param proxyBranch * @param request * @param proxy * @param poppedURI */ private static void addRecordRouteHeader( Request request, SipFactoryImpl sipFactoryImpl, javax.sip.address.SipURI poppedURI) { try { SipURI recordRouteURI = (SipURI)((RecordRouteHeader)request.getHeader(RecordRouteHeader.NAME)).getAddress().getURI(); javax.sip.address.SipURI newRecordRouteURI = (javax.sip.address.SipURI) sipFactoryImpl.getAddressFactory().createURI(recordRouteURI.toString()); newRecordRouteURI.removeParameter(MessageDispatcher.SIP_OUTBOUND_PARAM_OB); newRecordRouteURI.setUser(poppedURI.getUser()); RecordRouteHeader recordRouteHeader = sipFactoryImpl.getHeaderFactory().createRecordRouteHeader( sipFactoryImpl.getAddressFactory().createAddress(newRecordRouteURI)); // removes the header created when the request was cloned request.removeFirst(RecordRouteHeader.NAME); request.addFirst(recordRouteHeader); } catch (ParseException e) { logger.error("Impossible to parse the following popped URI " + poppedURI, e); } catch (SipException e) { logger.error("Impossible to add the following recordRouteHeader ", e); } }
sipFactoryImpl.getAddressFactory().createSipURI(null, hop.getHost()); routeURI.setPort(hop.getPort()); routeURI.setTransportParam(hop.getTransport()); routeURI.setLrParam(); RouteHeader routeHeader = sipFactoryImpl.getHeaderFactory().createRouteHeader( sipFactoryImpl.getAddressFactory().createAddress(routeURI)); request.addHeader(routeHeader); } catch (ParseException e) {
javax.sip.address.SipURI sipURI = sipFactoryImpl.getAddressFactory().createSipURI(fromName, loadBalancerToUse.getAddress().getHostAddress()); sipURI.setHost(loadBalancerToUse.getAddress().getHostAddress()); sipURI.setPort(loadBalancerToUse.getSipPort()); sipURI.setTransportParam(ListeningPoint.UDP); javax.sip.address.Address contactAddress = sipFactoryImpl.getAddressFactory().createAddress(sipURI); if(diaplayName != null && diaplayName.length() > 0) { contactAddress.setDisplayName(diaplayName);