int port = sipUri.getPort(); if(sipFactoryImpl.getSipApplicationDispatcher().isExternal(host, port, transport)) { viaHeader.setHost(sipConnector.getStaticServerAddress()); viaHeader.setPort(sipConnector.getStaticServerPort()); logger.trace("Via " + viaHeader + " different than outbound SIP Connector picked by the container " + sipConnector + " , updating it"); viaHeader.setHost(ipAddressToCheckAgainst); viaHeader.setPort(sipConnector.getPort()); viaHeader.setTransport(sipConnector.getTransport());
if(connector.isUseStaticAddress()) { try { via.setHost(connector.getStaticServerAddress()); via.setPort(connector.getStaticServerPort()); } catch (Exception e) {
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()); } } } }
int port = sipUri.getPort(); if(sipFactoryImpl.getSipApplicationDispatcher().isExternal(host, port, transport)) { viaHeader.setHost(sipConnector.getStaticServerAddress()); viaHeader.setPort(sipConnector.getStaticServerPort());
via.setHost(getPeerAddress()); via.setPort(getPeerPort());