Search in sources :

Example 51 with AppServer

use of org.mobicents.tools.sip.balancer.AppServer in project load-balancer by RestComm.

the class SprayingTwoLoadBalancersTest method testSprayingRoundRobinSIPLBsUASCallConsistentHash.

@Test
public void testSprayingRoundRobinSIPLBsUASCallConsistentHash() throws Exception {
    EventListener failureEventListener = new EventListener() {

        @Override
        public void uasAfterResponse(int statusCode, AppServer source) {
        }

        @Override
        public void uasAfterRequestReceived(String method, AppServer source) {
            if (method.equals("INVITE")) {
                inviteServer = source;
            } else if (method.equals("ACK")) {
                ackServer = source;
            } else {
                byeServer = source;
            }
        }

        @Override
        public void uacAfterRequestSent(String method, AppServer source) {
        // TODO Auto-generated method stub
        }

        @Override
        public void uacAfterResponse(int statusCode, AppServer source) {
        }
    };
    for (AppServer as : servers) as.setEventListener(failureEventListener);
    shootist.peerHostPort = "127.0.0.1:9988";
    shootist.callerSendsBye = true;
    shootist.sendInitialInvite();
    // servers[0].sendHeartbeat = false;
    Thread.sleep(12000);
    shootist.sendBye();
    Thread.sleep(4000);
    assertEquals(3, externalIpLoadBalancer.sipMessageWithoutRetrans.size());
    assertSame(inviteServer, byeServer);
    assertSame(inviteServer, ackServer);
    assertNotNull(byeServer);
    assertNotNull(ackServer);
}
Also used : AppServer(org.mobicents.tools.sip.balancer.AppServer) EventListener(org.mobicents.tools.sip.balancer.EventListener) Test(org.junit.Test)

Example 52 with AppServer

use of org.mobicents.tools.sip.balancer.AppServer in project load-balancer by RestComm.

the class InternalTransportTest method testOKRingingLandOnDifferentNodes.

@Test
public void testOKRingingLandOnDifferentNodes() throws Exception {
    EventListener failureEventListener = new EventListener() {

        @Override
        public void uasAfterResponse(int statusCode, AppServer source) {
        }

        @Override
        public void uasAfterRequestReceived(String method, AppServer source) {
        // TODO Auto-generated method stub
        }

        @Override
        public void uacAfterRequestSent(String method, AppServer source) {
        // TODO Auto-generated method stub
        }

        @Override
        public void uacAfterResponse(int statusCode, AppServer source) {
            if (statusCode == 180) {
                ringingAppServer = source;
            } else if (statusCode == 200) {
                okAppServer = source;
            }
        }
    };
    for (AppServer as : servers) as.setEventListener(failureEventListener);
    shootist.callerSendsBye = true;
    String fromName = "sender";
    String fromHost = "sip-servlets.com";
    SipURI fromAddress = servers[0].protocolObjects.addressFactory.createSipURI(fromName, fromHost);
    String toUser = "replaces";
    String toHost = "sip-servlets.com";
    SipURI toAddress = servers[0].protocolObjects.addressFactory.createSipURI(toUser, toHost);
    SipURI ruri = servers[0].protocolObjects.addressFactory.createSipURI("usera", "127.0.0.1:5033");
    ruri.setTransportParam(ListeningPointExt.WSS);
    ruri.setLrParam();
    SipURI route = servers[0].protocolObjects.addressFactory.createSipURI("lbint", "127.0.0.1:5065");
    route.setParameter("node_host", "127.0.0.1");
    route.setParameter("node_port", "4060");
    route.setTransportParam(ListeningPoint.TCP);
    route.setLrParam();
    shootist.start();
    servers[0].sipListener.sendSipRequest("INVITE", fromAddress, toAddress, null, route, false, null, null, ruri);
    Thread.sleep(16000);
    assertTrue(shootist.inviteRequest.getHeader(RecordRouteHeader.NAME).toString().contains("node_host"));
    assertNotSame(ringingAppServer, okAppServer);
    assertNotNull(ringingAppServer);
    assertNotNull(okAppServer);
}
Also used : AppServer(org.mobicents.tools.sip.balancer.AppServer) EventListener(org.mobicents.tools.sip.balancer.EventListener) SipURI(javax.sip.address.SipURI) SinglePointTest(org.mobicents.tools.sip.balancer.SinglePointTest) Test(org.junit.Test)

Example 53 with AppServer

use of org.mobicents.tools.sip.balancer.AppServer in project load-balancer by RestComm.

the class InternalTransportTest method testInviteAckLandOnDifferentNodes.

@Test
public void testInviteAckLandOnDifferentNodes() throws Exception {
    EventListener failureEventListener = new EventListener() {

        @Override
        public void uasAfterResponse(int statusCode, AppServer source) {
        }

        @Override
        public void uasAfterRequestReceived(String method, AppServer source) {
            if (method.equals("INVITE"))
                invite = source;
            if (method.equals("ACK")) {
                ack = source;
            }
            if (method.equals("BYE")) {
                bye = source;
            }
        }

        @Override
        public void uacAfterRequestSent(String method, AppServer source) {
        // TODO Auto-generated method stub
        }

        @Override
        public void uacAfterResponse(int statusCode, AppServer source) {
        // TODO Auto-generated method stub
        }
    };
    for (AppServer as : servers) as.setEventListener(failureEventListener);
    shootist.callerSendsBye = true;
    shootist.sendInitialInvite();
    Thread.sleep(5000);
    shootist.sendBye();
    Thread.sleep(15000);
    assertNotNull(invite);
    assertNotNull(ack);
    assertEquals(ack, invite);
    assertNotSame(ack, bye);
}
Also used : AppServer(org.mobicents.tools.sip.balancer.AppServer) EventListener(org.mobicents.tools.sip.balancer.EventListener) SinglePointTest(org.mobicents.tools.sip.balancer.SinglePointTest) Test(org.junit.Test)

Example 54 with AppServer

use of org.mobicents.tools.sip.balancer.AppServer in project load-balancer by RestComm.

the class InternalTransportTest method setUp.

@Before
public void setUp() throws Exception {
    shootist = new Shootist(ListeningPointExt.WSS, 5061);
    balancer = new BalancerRunner();
    LoadBalancerConfiguration lbConfig = new LoadBalancerConfiguration();
    lbConfig.getSipConfiguration().getExternalLegConfiguration().setTcpPort(5060);
    lbConfig.getSipConfiguration().getInternalLegConfiguration().setTcpPort(5065);
    lbConfig.getSipConfiguration().getExternalLegConfiguration().setWssPort(5061);
    lbConfig.getSipConfiguration().getInternalLegConfiguration().setWssPort(5066);
    lbConfig.getSipConfiguration().getAlgorithmConfiguration().setAlgorithmClass(WorstCaseUdpTestAffinityAlgorithm.class.getName());
    lbConfig.getSipConfiguration().getAlgorithmConfiguration().setEarlyDialogWorstCase(true);
    lbConfig.getSipStackConfiguration().getSipStackProperies().setProperty("javax.net.ssl.keyStore", SinglePointTest.class.getClassLoader().getResource("keystore").getFile());
    lbConfig.getSipStackConfiguration().getSipStackProperies().setProperty("javax.net.ssl.trustStorePassword", "123456");
    lbConfig.getSipStackConfiguration().getSipStackProperies().setProperty("javax.net.ssl.trustStore", SinglePointTest.class.getClassLoader().getResource("keystore").getFile());
    lbConfig.getSipStackConfiguration().getSipStackProperies().setProperty("javax.net.ssl.keyStorePassword", "123456");
    // lbConfig.getSslConfiguration().setTerminateTLSTraffic(true);
    lbConfig.getSipConfiguration().setInternalTransport(ListeningPoint.TCP);
    balancer.start(lbConfig);
    for (int q = 0; q < servers.length; q++) {
        servers[q] = new AppServer("node" + q, 4060 + q, "127.0.0.1", 2000, 5060, 5065, "0", ListeningPoint.TCP, 2222 + q);
        servers[q].start();
    }
    Thread.sleep(5000);
}
Also used : AppServer(org.mobicents.tools.sip.balancer.AppServer) SinglePointTest(org.mobicents.tools.sip.balancer.SinglePointTest) BalancerRunner(org.mobicents.tools.sip.balancer.BalancerRunner) LoadBalancerConfiguration(org.mobicents.tools.configuration.LoadBalancerConfiguration) Shootist(org.mobicents.tools.sip.balancer.operation.Shootist) WorstCaseUdpTestAffinityAlgorithm(org.mobicents.tools.sip.balancer.WorstCaseUdpTestAffinityAlgorithm) ListeningPoint(javax.sip.ListeningPoint) Before(org.junit.Before)

Example 55 with AppServer

use of org.mobicents.tools.sip.balancer.AppServer in project load-balancer by RestComm.

the class TcpWorstCaseAffinityTest method testOKRingingLandOnDifferentNodes.

@Test
public void testOKRingingLandOnDifferentNodes() {
    EventListener failureEventListener = new EventListener() {

        @Override
        public void uasAfterResponse(int statusCode, AppServer source) {
        }

        @Override
        public void uasAfterRequestReceived(String method, AppServer source) {
        // TODO Auto-generated method stub
        }

        @Override
        public void uacAfterRequestSent(String method, AppServer source) {
        // TODO Auto-generated method stub
        }

        @Override
        public void uacAfterResponse(int statusCode, AppServer source) {
            if (statusCode == 180) {
                ringingAppServer = source;
            } else if (statusCode == 200) {
                okAppServer = source;
            }
        }
    };
    for (AppServer as : servers) as.setEventListener(failureEventListener);
    shootist.callerSendsBye = true;
    String fromName = "sender";
    String fromHost = "sip-servlets.com";
    try {
        SipURI fromAddress = servers[0].protocolObjects.addressFactory.createSipURI(fromName, fromHost);
        String toUser = "replaces";
        String toHost = "sip-servlets.com";
        SipURI toAddress = servers[0].protocolObjects.addressFactory.createSipURI(toUser, toHost);
        SipURI ruri = servers[0].protocolObjects.addressFactory.createSipURI("usera", "127.0.0.1:5033");
        ruri.setLrParam();
        SipURI route = servers[0].protocolObjects.addressFactory.createSipURI("lbint", "127.0.0.1:5065");
        route.setParameter("node_host", "127.0.0.1");
        route.setParameter("node_port", "4060");
        route.setTransportParam(ListeningPoint.TCP);
        route.setLrParam();
        shootist.start();
        servers[0].sipListener.sendSipRequest("INVITE", fromAddress, toAddress, null, route, false, null, null, ruri);
    } catch (Exception e) {
        System.err.print("Exception : " + e);
    }
    Helper.sleep(5000);
    assertTrue(shootist.inviteRequest.getHeader(RecordRouteHeader.NAME).toString().contains("node_host"));
    assertNotSame(ringingAppServer, okAppServer);
    assertNotNull(ringingAppServer);
    assertNotNull(okAppServer);
}
Also used : AppServer(org.mobicents.tools.sip.balancer.AppServer) EventListener(org.mobicents.tools.sip.balancer.EventListener) SipURI(javax.sip.address.SipURI) Test(org.junit.Test)

Aggregations

AppServer (org.mobicents.tools.sip.balancer.AppServer)72 Test (org.junit.Test)41 EventListener (org.mobicents.tools.sip.balancer.EventListener)37 ListeningPoint (javax.sip.ListeningPoint)27 Before (org.junit.Before)26 BalancerRunner (org.mobicents.tools.sip.balancer.BalancerRunner)26 Shootist (org.mobicents.tools.sip.balancer.operation.Shootist)26 LoadBalancerConfiguration (org.mobicents.tools.configuration.LoadBalancerConfiguration)24 SipURI (javax.sip.address.SipURI)16 SinglePointTest (org.mobicents.tools.sip.balancer.SinglePointTest)11 WorstCaseUdpTestAffinityAlgorithm (org.mobicents.tools.sip.balancer.WorstCaseUdpTestAffinityAlgorithm)7 UDPPacketForwarder (org.mobicents.tools.sip.balancer.UDPPacketForwarder)5 UserBasedAlgorithm (org.mobicents.tools.sip.balancer.UserBasedAlgorithm)5 ArrayList (java.util.ArrayList)2 SipException (javax.sip.SipException)2 Response (javax.sip.message.Response)2 CongestionControlMessageValve (org.mobicents.ext.javax.sip.congestion.CongestionControlMessageValve)1 Node (org.mobicents.tools.heartbeat.api.Node)1 ActiveStandbyAlgorithm (org.mobicents.tools.sip.balancer.ActiveStandbyAlgorithm)1 HeaderConsistentHashBalancerAlgorithm (org.mobicents.tools.sip.balancer.HeaderConsistentHashBalancerAlgorithm)1