@Test public void testOKRingingLandOnSameNode() 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 { 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 = "******"; 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.UDP); route.setLrParam(); shootist.start(); // servers[0].sipListener.sendSipRequest("INVITE", fromAddress, toAddress, null, null, false); 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")); assertSame(ringingAppServer, okAppServer); assertNotNull(ringingAppServer); assertNotNull(okAppServer); }
@Test public void testInviteByeLandOnDifferentNodes() 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(9000); shootist.sendBye(); Thread.sleep(2000); assertNotNull(invite); assertNotNull(bye); assertEquals(ack, invite); assertNotEquals(bye, invite); }