code: public void sendSwitchoverInstruction(SipLoadBalancer sipLoadBalancer, String fromJvmRoute, String toJvmRoute) {
  		if(logger.isLoggingEnabled(StackLogger.TRACE_INFO)) {
  			logger.logInfo("switching over from " + fromJvmRoute + " to " + toJvmRoute);
  		}
  		if(fromJvmRoute == null || toJvmRoute == null) {
  			return;
  		}	
  		ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
  		try {			
  			Thread.currentThread().setContextClassLoader(NodeRegisterRMIStub.class.getClassLoader());
  			Registry registry = LocateRegistry.getRegistry(sipLoadBalancer.getAddress().getHostAddress(),sipLoadBalancer.getRmiPort());
  			NodeRegisterRMIStub reg=(NodeRegisterRMIStub) registry.lookup("SIPBalancer");
  			reg.switchover(fromJvmRoute, toJvmRoute);
  			sipLoadBalancer.setDisplayWarning(true);
  			if(logger.isLoggingEnabled(StackLogger.TRACE_INFO) && !sipLoadBalancer.isAvailable()) {
  				logger.logInfo("Switchover: SIP Load Balancer Found! " + sipLoadBalancer);
  			}
  		} catch (IOException e) {
  			sipLoadBalancer.setAvailable(false);
  			if(sipLoadBalancer.isDisplayWarning()) {
  				logger.logWarning("Cannot access the SIP load balancer RMI registry: " + e.getMessage() +
  				"\nIf you need a cluster configuration make sure the SIP load balancer is running.");
  				sipLoadBalancer.setDisplayWarning(false);
  			}
  		} catch (Exception e) {
  			sipLoadBalancer.setAvailable(false);
  			if(sipLoadBalancer.isDisplayWarning()) {
  				logger.logError("Cannot access the SIP load balancer RMI registry: " + e.getMessage() +
  				"\nIf you need a cluster configuration make sure the SIP load balancer is running.", e);
  				sipLoadBalancer.setDisplayWarning(false);
  			}
  		} finally {
  			Thread.currentThread().setContextClassLoader(oldClassLoader);
  		}
  	}
docs: /*
  (non-Javadoc)
  @see org.mobicents.ha.javax.sip.LoadBalancerHeartBeatingService#sendSwitchoverInstruction(org.mobicents.ha.javax.sip.SipLoadBalancer, java.lang.String, java.lang.String)