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);
}
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);
}
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);
}
Aggregations