public boolean isSipURI() { return uri.isSipURI(); }
public SipURI getSipURI(URI uri) { if(uri instanceof TelURL) { return lookupSipUri(((TelURL)uri).getPhoneNumber()); } else if(uri.isSipURI() && ((SipURI)uri).getParameter("user") != null && ((SipURI)uri).getParameter("user").equalsIgnoreCase("phone")) { String phoneNumber = ((SipURI)uri).getUser(); if(phoneNumber == null || phoneNumber.isEmpty()) { // https://code.google.com/p/sipservlets/issues/detail?id=236 throw new IllegalArgumentException("Phone Number can't be empty in following uri with phone parameter " + uri); } return lookupSipUri(phoneNumber); } else if (uri instanceof SipURI) { return (SipURI) uri; } return null; }
/** * Check to see if the uri to resolve contains a "ob" parameter and if so, try * and locate a "flow" for this uri. * * This is part of the RFC5626 implementation * * @param uriToResolve * @return the flow uri or if no flow was found, the same uri * that was passed into the method */ private javax.sip.address.URI resolveSipOutbound(final javax.sip.address.URI uriToResolve) { if (!uriToResolve.isSipURI()) { return uriToResolve; } final javax.sip.address.SipURI sipURI = (javax.sip.address.SipURI) uriToResolve; if (sipURI.getParameter(MessageDispatcher.SIP_OUTBOUND_PARAM_OB) == null) { // no ob parameter, return return uriToResolve; } final MobicentsSipSession session = getSipSession(); final javax.sip.address.SipURI flow = session.getFlow(); if (flow != null) { if (logger.isDebugEnabled()) { logger.debug("Found a flow \"" + flow + "\" for the original uri \"" + uriToResolve + "\""); } return flow; } return uriToResolve; }
public static void optimizeRouteHeaderAddressForInternalRoutingrequest(SipConnector sipConnector, Request request, MobicentsSipSession session, SipFactoryImpl sipFactoryImpl, String transport) { RouteHeader rh = (RouteHeader) request.getHeader(RouteHeader.NAME); javax.sip.address.URI uri = null; if(rh != null) { uri = rh.getAddress().getURI(); } else { uri = request.getRequestURI(); } if(uri.isSipURI()) { javax.sip.address.SipURI sipUri = (javax.sip.address.SipURI) uri; optimizeUriForInternalRoutingRequest(sipConnector, sipUri, session, sipFactoryImpl, transport); } }
/** * Get the default route string. * * @param sipRequest * is the request for which we want to compute the next hop. * @throws SipException */ public Hop getNextHop(SIPRequest sipRequest) throws SipException { if (this.useRouterForAll) { // Use custom router to route all messages. if (router != null) return router.getNextHop(sipRequest); else return null; } else { // Also non-SIP request containing Route headers goes to the default // router if (sipRequest.getRequestURI().isSipURI() || sipRequest.getRouteHeaders() != null) { return defaultRouter.getNextHop(sipRequest); } else if (router != null) { return router.getNextHop(sipRequest); } else return null; } }
if(sipConnector != null && sipConnector.isUseStaticAddress()) { if(session != null && session.getProxy() == null) { boolean sipURI = contactHeader.getAddress().getURI().isSipURI(); if(sipURI) { javax.sip.address.SipURI sipUri = (javax.sip.address.SipURI) contactHeader.getAddress().getURI();
uri = route.getAddress().getURI(); if(uri.isSipURI()) { javax.sip.address.SipURI sipUri = (javax.sip.address.SipURI) uri; String host = sipUri.getHost();
sipStandardContext.getSipApplicationDispatcher().getSipFactory().getAddressFactory().createAddress(pAssertedHeaderValue); String username = null; if(address.getURI().isSipURI()) { SipURI sipUri = (SipURI)address.getURI(); username = sipUri.getUser();
sipStandardContext.getSipApplicationDispatcher().getSipFactory().getAddressFactory().createAddress(pAssertedHeaderValue); String username = null; if(address.getURI().isSipURI()) { SipURI sipUri = (SipURI)address.getURI(); username = sipUri.getUser();
routeAddress = SipFactoryImpl.addressFactory.createAddress(routes[i]); URI routeURI = routeAddress.getURI(); if(routeURI.isSipURI()) { ((javax.sip.address.SipURI)routeURI).setLrParam();
if(session.getProxy() == null && session.getTransport() != null && uriToResolve.isSipURI() && uriToResolveTransport == null &&
boolean sipURI = contactHeader.getAddress().getURI().isSipURI(); if(sipURI) { javax.sip.address.SipURI contactSipUri = (javax.sip.address.SipURI) contactHeader.getAddress().getURI(); if(requestURI.isSipURI() && ((javax.sip.address.SipURI)requestURI).isSecure()) { contactSipUri.setSecure(true); } else if(requestURI.isSipURI() && !((javax.sip.address.SipURI)requestURI).isSecure() && contactSipUri.isSecure()) {
public static void optimizeViaHeaderAddressForStaticAddress(SipConnector sipConnector, Request request, SipFactoryImpl sipFactoryImpl, String transport) throws ParseException, InvalidArgumentException { javax.sip.address.URI uri = request.getRequestURI(); ViaHeader viaHeader = (ViaHeader) request.getHeader(ViaHeader.NAME); RouteHeader route = (RouteHeader) request.getHeader(RouteHeader.NAME); if(route != null) { uri = route.getAddress().getURI(); } if(uri.isSipURI()) { javax.sip.address.SipURI sipUri = (javax.sip.address.SipURI) uri; String host = sipUri.getHost(); int port = sipUri.getPort(); if(sipFactoryImpl.getSipApplicationDispatcher().isExternal(host, port, transport)) { viaHeader.setHost(sipConnector.getStaticServerAddress()); viaHeader.setPort(sipConnector.getStaticServerPort()); } } } }
.getSipFactory().getAddressFactory().createAddress(pAssertedHeaderValue); String username = null; if (address.getURI().isSipURI()) { SipURI sipUri = (SipURI) address.getURI(); username = sipUri.getUser();
boolean isAnotherDomain = false; if(requestURI.isSipURI()){ final String host = ((SipURI) requestURI).getHost(); final int port = ((SipURI) requestURI).getPort();
.getSipFactory().getAddressFactory().createAddress(pAssertedHeaderValue); String username = null; if (address.getURI().isSipURI()) { SipURI sipUri = (SipURI) address.getURI(); username = sipUri.getUser();
if (uri.isSipURI()) { SipURI sipUri = (SipURI) uri; if (!sipUri.hasLrParam()) { } else if (requestURI.isSipURI() && ((SipURI) requestURI).getMAddrParam() != null) { Hop hop = createHop((SipURI) requestURI,request); + defaultRoute.toString()); return defaultRoute; } else if (requestURI.isSipURI()) { Hop hop = createHop((SipURI) requestURI,request); if (hop != null && logger.isLoggingEnabled(LogWriter.TRACE_DEBUG))
uri = route.getAddress().getURI(); if(uri.isSipURI()) { javax.sip.address.SipURI sipUri = (javax.sip.address.SipURI) uri; String host = sipUri.getHost();
if (uri.isSipURI()) { SipURI sipUri = (SipURI) uri; if(sipUri.getParameter(DNS_ROUTE) != null) { } else if (requestURI.isSipURI() && ((SipURI) requestURI).getMAddrParam() != null) { Hop hop = createHop((SipURI) requestURI,request); + getOutboundProxy().toString()); return getOutboundProxy(); } else if (requestURI.isSipURI()) { Hop hop = createHop((SipURI) requestURI,request); if (hop != null && logger.isLoggingEnabled(LogWriter.TRACE_DEBUG))
RouteHeader routeHeader = (RouteHeader) SipFactoryImpl.headerFactory.createHeader(RouteHeader.NAME, routes[i]); URI routeURI = routeHeader.getAddress().getURI(); if(routeURI.isSipURI()) { ((javax.sip.address.SipURI)routeURI).setLrParam();