code: public void closeAllSockets() {
  		if(transport.equalsIgnoreCase("udp")) {
  			logger.warn("Cannot close TCP sockets on UDP connector");
  			return;
  		}
  		MBeanServer mbeanServer = getMBeanServer();
  		try {
  			if(logger.isDebugEnabled()) {
  				logger.debug("MBean Server = " + mbeanServer);
  			}
  			Set<ObjectName> queryNames = mbeanServer.queryNames(new ObjectName("*:type=GlobalRequestProcessor,*"), null);
  			for(ObjectName objectName : queryNames) {
  				if(objectName.getCanonicalName().toLowerCase().contains("sip-tcp") ||
  						objectName.getCanonicalName().toLowerCase().contains("sip-tls")) {
  					// TODO: we may want to check the IP address if it matches this.ipAddress
  					if(logger.isInfoEnabled()) {
  						logger.info("Invoking closeAllTcpSockets()");
  					}
  					mbeanServer.invoke(objectName, "closeAllTcpSockets", null, null);
  				}
  			}
  		} catch (Exception e) {
  			logger.error("Error closing the TCP sockets", e);
  		}
  	}
docs: Cleans up all cached TCP/TLS/SCTP sockets in case they are stalled. You should not call this method on
  UDP connector, it has no effect.
  
  After closing the sockets when needed new sockets will be created for the same dialog or
  transaction as required by the SIP specification.