Search in sources :

Example 86 with BalancerRunner

use of org.mobicents.tools.sip.balancer.BalancerRunner in project jain-sip.ha by RestComm.

the class B2BUAEarlyDialogRecoveryOn1xxTest method testEarlyDialogFailoverOn1xxStopNodeOnReinvite.

/**
 * UA1			B2BUA (Engine1)			B2BUA (Engine2)			UA2
 * INVITE (CSeq 1)
 * --------------------->
 *
 * 				INVITE (CSeq 1)
 * 				------------------------------------------------->
 *
 * 											INVITE (CSeq 1)
 * 								             <---------------------
 * 					INVITE (CSeq 1)
 * <------------------------------------------
 *
 *  BYE (CSeq 2)
 *  ------------------------------------------->
 *  												BYE (CSeq 2)
 *  											-------------------->
 */
public void testEarlyDialogFailoverOn1xxStopNodeOnReinvite() throws Exception {
    stopNodeOnReinvite = true;
    balancer = new BalancerRunner();
    Handler fh = new FileHandler("logs/sipbalancer_util.log");
    fh.setFormatter(new SimpleFormatter());
    Logger.getLogger("org.mobicents").addHandler(fh);
    Logger.getLogger("org.mobicents").setLevel(Level.FINEST);
    Properties properties = new Properties();
    properties.setProperty("javax.sip.STACK_NAME", "SipBalancerForwarder");
    properties.setProperty("javax.sip.AUTOMATIC_DIALOG_SUPPORT", "off");
    // You need 16 for logging traces. 32 for debug + traces.
    // Your code will limp at 32 but it is best for debugging.
    properties.setProperty("gov.nist.javax.sip.TRACE_LEVEL", "32");
    properties.setProperty("gov.nist.javax.sip.DEBUG_LOG", "logs/sipbalancerforwarderdebug.txt");
    properties.setProperty("gov.nist.javax.sip.SERVER_LOG", "logs/sipbalancerforwarder.xml");
    properties.setProperty("gov.nist.javax.sip.THREAD_POOL_SIZE", "8");
    properties.setProperty("gov.nist.javax.sip.REENTRANT_LISTENER", "true");
    properties.setProperty("gov.nist.javax.sip.CANCEL_CLIENT_TRANSACTION_CHECKED", "false");
    // properties.setProperty("algorithmClass", InviteTransactionFailover.class.getName());
    properties.setProperty("host", IP_ADDRESS);
    properties.setProperty("internalPort", "5065");
    properties.setProperty("externalPort", "5060");
    balancer.start(properties);
    shootist = new Shootist("shootist_reinvite", true);
    shootme = new Shootme("shootme_reinvite", 5070, true);
    b2buaNode1 = new SimpleB2BUA("b2buaNode1_reinvite", 5080, IP_ADDRESS, ListeningPoint.UDP, ReplicationStrategy.EarlyDialog, true);
    Thread.sleep(5000);
    b2buaNode2 = new SimpleB2BUA("b2buaNode2_reinvite", 5081, IP_ADDRESS, ListeningPoint.UDP, ReplicationStrategy.EarlyDialog, true);
    b2buaNode1.getB2buaHandler().setSendAckOn2xx(true);
    b2buaNode2.getB2buaHandler().setSendAckOn2xx(true);
    Thread.sleep(5000);
    b2buaNode1.pingBalancer();
    Thread.sleep(1000);
    b2buaNode2.pingBalancer();
    Thread.sleep(1000);
    shootist.setFailoverOn1xx(true);
    shootme.init();
    shootist.init("ReInvite");
    Thread.sleep(100000);
    shootme.checkState(false);
    shootist.checkState(false);
    // make sure dialogs are removed on both nodes
    // non regression for Issue 1418
    // http://code.google.com/p/restcomm/issues/detail?id=1418
    assertTrue(b2buaNode1.checkDialogsRemoved());
    assertTrue(b2buaNode2.checkDialogsRemoved());
    assertTrue(b2buaNode1.checkTransactionsRemoved());
    assertTrue(b2buaNode2.checkTransactionsRemoved());
    balancer.stop();
    b2buaNode1.stop();
    b2buaNode2.stop();
    shootist.stop();
    shootme.stop();
    Thread.sleep(5000);
}
Also used : BalancerRunner(org.mobicents.tools.sip.balancer.BalancerRunner) SimpleFormatter(java.util.logging.SimpleFormatter) FileHandler(java.util.logging.FileHandler) Handler(java.util.logging.Handler) Properties(java.util.Properties) FileHandler(java.util.logging.FileHandler)

Example 87 with BalancerRunner

use of org.mobicents.tools.sip.balancer.BalancerRunner in project jain-sip.ha by RestComm.

the class B2BUAEarlyDialogRecoveryOn1xxTCPTest method testEarlyDialogFailoverOn1xxStopNodeOnReinvite.

/**
 * UA1			B2BUA (Engine1)			B2BUA (Engine2)			UA2
 * INVITE (CSeq 1)
 * --------------------->
 *
 * 				INVITE (CSeq 1)
 * 				------------------------------------------------->
 *
 * 											INVITE (CSeq 1)
 * 								             <---------------------
 * 					INVITE (CSeq 1)
 * <------------------------------------------
 *
 *  BYE (CSeq 2)
 *  ------------------------------------------->
 *  												BYE (CSeq 2)
 *  											-------------------->
 */
public void testEarlyDialogFailoverOn1xxStopNodeOnReinvite() throws Exception {
    stopNodeOnReinvite = true;
    balancer = new BalancerRunner();
    Handler fh = new FileHandler("logs/sipbalancer_util.log");
    fh.setFormatter(new SimpleFormatter());
    Logger.getLogger("org.mobicents").addHandler(fh);
    Logger.getLogger("org.mobicents").setLevel(Level.FINEST);
    Properties properties = new Properties();
    properties.setProperty("javax.sip.STACK_NAME", "SipBalancerForwarder");
    properties.setProperty("javax.sip.AUTOMATIC_DIALOG_SUPPORT", "off");
    // You need 16 for logging traces. 32 for debug + traces.
    // Your code will limp at 32 but it is best for debugging.
    properties.setProperty("gov.nist.javax.sip.TRACE_LEVEL", "32");
    properties.setProperty("gov.nist.javax.sip.DEBUG_LOG", "logs/sipbalancerforwarderdebug.txt");
    properties.setProperty("gov.nist.javax.sip.SERVER_LOG", "logs/sipbalancerforwarder.xml");
    properties.setProperty("gov.nist.javax.sip.THREAD_POOL_SIZE", "8");
    properties.setProperty("gov.nist.javax.sip.REENTRANT_LISTENER", "true");
    properties.setProperty("gov.nist.javax.sip.CANCEL_CLIENT_TRANSACTION_CHECKED", "false");
    // properties.setProperty("algorithmClass", InviteTransactionFailover.class.getName());
    properties.setProperty("host", IP_ADDRESS);
    properties.setProperty("internalPort", "5065");
    properties.setProperty("externalPort", "5060");
    balancer.start(properties);
    shootist = new Shootist("shootist_reinvite", true);
    shootme = new Shootme("shootme_reinvite", 5070, true);
    b2buaNode1 = new SimpleB2BUA("b2buaNode1_reinvite", 5080, IP_ADDRESS, ListeningPoint.TCP, ReplicationStrategy.EarlyDialog, true);
    Thread.sleep(5000);
    b2buaNode2 = new SimpleB2BUA("b2buaNode2_reinvite", 5081, IP_ADDRESS, ListeningPoint.TCP, ReplicationStrategy.EarlyDialog, true);
    b2buaNode1.getB2buaHandler().setSendAckOn2xx(true);
    b2buaNode2.getB2buaHandler().setSendAckOn2xx(true);
    Thread.sleep(5000);
    b2buaNode1.pingBalancer();
    Thread.sleep(1000);
    b2buaNode2.pingBalancer();
    Thread.sleep(1000);
    shootist.setFailoverOn1xx(true);
    shootme.init();
    shootist.init("ReInvite");
    Thread.sleep(100000);
    shootme.checkState(false);
    shootist.checkState(false);
    // make sure dialogs are removed on both nodes
    // non regression for Issue 1418
    // http://code.google.com/p/restcomm/issues/detail?id=1418
    assertTrue(b2buaNode1.checkDialogsRemoved());
    assertTrue(b2buaNode2.checkDialogsRemoved());
    assertTrue(b2buaNode1.checkTransactionsRemoved());
    assertTrue(b2buaNode2.checkTransactionsRemoved());
    balancer.stop();
    b2buaNode1.stop();
    b2buaNode2.stop();
    shootist.stop();
    shootme.stop();
    Thread.sleep(5000);
}
Also used : BalancerRunner(org.mobicents.tools.sip.balancer.BalancerRunner) SimpleFormatter(java.util.logging.SimpleFormatter) FileHandler(java.util.logging.FileHandler) Handler(java.util.logging.Handler) Properties(java.util.Properties) FileHandler(java.util.logging.FileHandler)

Example 88 with BalancerRunner

use of org.mobicents.tools.sip.balancer.BalancerRunner in project jain-sip.ha by RestComm.

the class B2BUAEarlyDialogRecoveryOn1xxTCPTest method testEarlyDialogFailoverOn1xxForwardACK.

/**
 * UA1			B2BUA (Engine1)			B2BUA (Engine2)			UA2
 * INVITE (CSeq 1)
 * --------------------->
 *
 * 				INVITE (CSeq 1)
 * 				------------------------------------------------->
 *
 * 											INVITE (CSeq 1)
 * 								             <---------------------
 * 					INVITE (CSeq 1)
 * <------------------------------------------
 *
 *  BYE (CSeq 2)
 *  ------------------------------------------->
 *  												BYE (CSeq 2)
 *  											-------------------->
 */
public void testEarlyDialogFailoverOn1xxForwardACK() throws Exception {
    balancer = new BalancerRunner();
    Handler fh = new FileHandler("logs/sipbalancer_util.log");
    fh.setFormatter(new SimpleFormatter());
    Logger.getLogger("org.mobicents").addHandler(fh);
    Logger.getLogger("org.mobicents").setLevel(Level.FINEST);
    Properties properties = new Properties();
    properties.setProperty("javax.sip.STACK_NAME", "SipBalancerForwarder");
    properties.setProperty("javax.sip.AUTOMATIC_DIALOG_SUPPORT", "off");
    // You need 16 for logging traces. 32 for debug + traces.
    // Your code will limp at 32 but it is best for debugging.
    properties.setProperty("gov.nist.javax.sip.TRACE_LEVEL", "32");
    properties.setProperty("gov.nist.javax.sip.DEBUG_LOG", "logs/sipbalancerforwarderdebug.txt");
    properties.setProperty("gov.nist.javax.sip.SERVER_LOG", "logs/sipbalancerforwarder.xml");
    properties.setProperty("gov.nist.javax.sip.THREAD_POOL_SIZE", "8");
    properties.setProperty("gov.nist.javax.sip.REENTRANT_LISTENER", "true");
    properties.setProperty("gov.nist.javax.sip.CANCEL_CLIENT_TRANSACTION_CHECKED", "false");
    // properties.setProperty("algorithmClass", InviteTransactionFailover.class.getName());
    properties.setProperty("host", IP_ADDRESS);
    properties.setProperty("internalPort", "5065");
    properties.setProperty("externalPort", "5060");
    balancer.start(properties);
    shootist = new Shootist("shootist_reinvite", true);
    shootme = new Shootme("shootme_reinvite", 5070, true);
    b2buaNode1 = new SimpleB2BUA("b2buaNode1_reinvite", 5080, IP_ADDRESS, ListeningPoint.TCP, ReplicationStrategy.EarlyDialog, true);
    Thread.sleep(5000);
    b2buaNode2 = new SimpleB2BUA("b2buaNode2_reinvite", 5081, IP_ADDRESS, ListeningPoint.TCP, ReplicationStrategy.EarlyDialog, true);
    b2buaNode1.getB2buaHandler().setSendAckOn2xx(false);
    b2buaNode2.getB2buaHandler().setSendAckOn2xx(false);
    Thread.sleep(5000);
    b2buaNode1.pingBalancer();
    Thread.sleep(1000);
    b2buaNode2.pingBalancer();
    Thread.sleep(1000);
    shootist.setFailoverOn1xx(true);
    shootme.init();
    shootist.init("ReInvite");
    Thread.sleep(100000);
    shootme.checkState(false);
    shootist.checkState(false);
    // make sure dialogs are removed on both nodes
    // non regression for Issue 1418
    // http://code.google.com/p/restcomm/issues/detail?id=1418
    assertTrue(b2buaNode1.checkDialogsRemoved());
    assertTrue(b2buaNode2.checkDialogsRemoved());
    assertTrue(b2buaNode1.checkTransactionsRemoved());
    assertTrue(b2buaNode2.checkTransactionsRemoved());
    balancer.stop();
    b2buaNode1.stop();
    b2buaNode2.stop();
    shootist.stop();
    shootme.stop();
    Thread.sleep(5000);
}
Also used : BalancerRunner(org.mobicents.tools.sip.balancer.BalancerRunner) SimpleFormatter(java.util.logging.SimpleFormatter) FileHandler(java.util.logging.FileHandler) Handler(java.util.logging.Handler) Properties(java.util.Properties) FileHandler(java.util.logging.FileHandler)

Aggregations

BalancerRunner (org.mobicents.tools.sip.balancer.BalancerRunner)88 LoadBalancerConfiguration (org.mobicents.tools.configuration.LoadBalancerConfiguration)50 BeforeClass (org.junit.BeforeClass)34 ListeningPoint (javax.sip.ListeningPoint)30 Before (org.junit.Before)26 AppServer (org.mobicents.tools.sip.balancer.AppServer)26 Shootist (org.mobicents.tools.sip.balancer.operation.Shootist)25 SmppChannelException (com.cloudhopper.smpp.type.SmppChannelException)21 DefaultSmppServer (com.cloudhopper.smpp.impl.DefaultSmppServer)19 Properties (java.util.Properties)14 FileHandler (java.util.logging.FileHandler)13 Handler (java.util.logging.Handler)13 SimpleFormatter (java.util.logging.SimpleFormatter)13 WorstCaseUdpTestAffinityAlgorithm (org.mobicents.tools.sip.balancer.WorstCaseUdpTestAffinityAlgorithm)8 ArrayList (java.util.ArrayList)7 Test (org.junit.Test)6 UserBasedAlgorithm (org.mobicents.tools.sip.balancer.UserBasedAlgorithm)6 HeartbeatConfigHttp (org.mobicents.tools.heartbeat.impl.HeartbeatConfigHttp)5 HeaderConsistentHashBalancerAlgorithm (org.mobicents.tools.sip.balancer.HeaderConsistentHashBalancerAlgorithm)5 SinglePointTest (org.mobicents.tools.sip.balancer.SinglePointTest)4