/** * Non Regression test for http://code.google.com/p/mobicents/issues/detail?id=1837 ACK was * received by JAIN-SIP but was not routed to application */ public void testCallForwardingCallerReInviteAckRaceInfo() throws Exception { sender = new TestSipListener(5080, 5070, senderProtocolObjects, false); SipProvider senderProvider = sender.createProvider(); receiver = new TestSipListener(5090, 5070, receiverProtocolObjects, false); receiver.setDisableSequenceNumberValidation(true); SipProvider receiverProvider = receiver.createProvider(); receiverProvider.addSipListener(receiver); senderProvider.addSipListener(sender); senderProtocolObjects.start(); receiverProtocolObjects.start(); String fromName = "forward-pending-sender"; String fromSipAddress = "sip-servlets.com"; SipURI fromAddress = senderProtocolObjects.addressFactory.createSipURI(fromName, fromSipAddress); String toSipAddress = "sip-servlets.com"; String toUser = "******"; SipURI toAddress = senderProtocolObjects.addressFactory.createSipURI(toUser, toSipAddress); sender.setTimeToWaitBeforeAck(9000); sender.sendSipRequest("INVITE", fromAddress, toAddress, null, null, false); Thread.sleep(8000); receiver.sendInDialogSipRequest("UPDATE", null, null, null, null, null); Thread.sleep(TIMEOUT); assertTrue(receiver.isAckReceived()); }
/** * Non Regression test for http://code.google.com/p/mobicents/issues/detail?id=2230 BYE is routed * to unexpected IP */ public void testCallForwardingCallerSendBye408onReinviteUPDATENewThread() throws Exception { sender = new TestSipListener(5080, 5070, senderProtocolObjects, false); SipProvider senderProvider = sender.createProvider(); receiver = new TestSipListener(5090, 5070, receiverProtocolObjects, false); SipProvider receiverProvider = receiver.createProvider(); receiverProvider.addSipListener(receiver); senderProvider.addSipListener(sender); senderProtocolObjects.start(); receiverProtocolObjects.start(); String fromName = "forward-sender-408-new-thread"; String fromSipAddress = "sip-servlets.com"; SipURI fromAddress = senderProtocolObjects.addressFactory.createSipURI(fromName, fromSipAddress); String toSipAddress = "sip-servlets.com"; String toUser = "******"; SipURI toAddress = senderProtocolObjects.addressFactory.createSipURI(toUser, toSipAddress); sender.sendSipRequest("INVITE", fromAddress, toAddress, null, null, false); Thread.sleep(TIMEOUT); assertTrue(receiver.isInviteReceived()); assertTrue(receiver.isAckReceived()); MaxForwardsHeader maxForwardsHeader = (MaxForwardsHeader) receiver.getInviteRequest().getHeader(MaxForwardsHeader.NAME); assertNotNull(maxForwardsHeader); receiver.setProvisionalResponsesToSend(new ArrayList<Integer>()); receiver.setFinalResponseToSend(Response.REQUEST_TIMEOUT); Header methodHeader = receiverProtocolObjects.headerFactory.createHeader("Method", "UPDATE"); List<Header> headers = new ArrayList<Header>(); headers.add(methodHeader); sender.sendInDialogSipRequest("INVITE", null, null, null, headers, null); Thread.sleep(TIMEOUT); assertTrue(receiver.isInviteReceived()); assertTrue(receiver.isAckReceived()); receiver.sendInDialogSipRequest("UPDATE", null, null, null, null, null); Thread.sleep(TIMEOUT); assertTrue(receiver.isInviteReceived()); assertTrue(receiver.isAckReceived()); sender.sendInDialogSipRequest("BYE", null, null, null, null, null); Thread.sleep(TIMEOUT); assertTrue(sender.getOkToByeReceived()); Iterator<String> allMessagesIterator = sender.getAllMessagesContent().iterator(); while (allMessagesIterator.hasNext()) { String message = (String) allMessagesIterator.next(); logger.info(message); } assertTrue(sender.getAllMessagesContent().contains("IllegalStateException")); }
public void testCallForwardingCallerSendBye() throws Exception { sender = new TestSipListener(5080, 5070, senderProtocolObjects, false); SipProvider senderProvider = sender.createProvider(); receiver = new TestSipListener(5090, 5070, receiverProtocolObjects, false); receiver.setSendReinvite(true); SipProvider receiverProvider = receiver.createProvider(); receiverProvider.addSipListener(receiver); senderProvider.addSipListener(sender); senderProtocolObjects.start(); receiverProtocolObjects.start(); String fromName = "forward-sender"; String fromSipAddress = "sip-servlets.com"; SipURI fromAddress = senderProtocolObjects.addressFactory.createSipURI(fromName, fromSipAddress); String toSipAddress = "sip-servlets.com"; String toUser = "******"; SipURI toAddress = senderProtocolObjects.addressFactory.createSipURI(toUser, toSipAddress); sender.sendSipRequest("INVITE", fromAddress, toAddress, null, null, false); Thread.sleep(TIMEOUT); assertTrue(sender.isInviteReceived()); assertTrue(sender.isAckReceived()); assertNotNull(sender.getInviteRequest().getHeader("ReInvite")); MaxForwardsHeader maxForwardsHeader = (MaxForwardsHeader) receiver.getInviteRequest().getHeader(MaxForwardsHeader.NAME); assertNotNull(maxForwardsHeader); // Non Regression test for http://code.google.com/p/mobicents/issues/detail?id=1490 // B2buaHelper.createRequest does not decrement Max-forwards assertEquals(69, maxForwardsHeader.getMaxForwards()); sender.sendInDialogSipRequest("BYE", null, null, null, null, null); Thread.sleep(TIMEOUT); assertTrue(receiver.getByeReceived()); assertTrue(sender.getOkToByeReceived()); assertEquals(1, sender.bindings); // http://code.google.com/p/mobicents/issues/detail?id=2100 maxForwardsHeader = (MaxForwardsHeader) receiver.getByeRequestReceived().getHeader(MaxForwardsHeader.NAME); assertNotNull(maxForwardsHeader); // Non Regression test for http://code.google.com/p/mobicents/issues/detail?id=1490 // B2buaHelper.createRequest does not decrement Max-forwards assertEquals(69, maxForwardsHeader.getMaxForwards()); }
/** * Non Regression test for http://code.google.com/p/mobicents/issues/detail?id=1445 "Bad Request * Method. CANCEL" during sending CANCEL to re-INVITE */ public void testCallForwardingCallerReInviteCancel() throws Exception { sender = new TestSipListener(5080, 5070, senderProtocolObjects, false); SipProvider senderProvider = sender.createProvider(); receiver = new TestSipListener(5090, 5070, receiverProtocolObjects, false); SipProvider receiverProvider = receiver.createProvider(); receiverProvider.addSipListener(receiver); senderProvider.addSipListener(sender); senderProtocolObjects.start(); receiverProtocolObjects.start(); String fromName = "forward-sender"; String fromSipAddress = "sip-servlets.com"; SipURI fromAddress = senderProtocolObjects.addressFactory.createSipURI(fromName, fromSipAddress); String toSipAddress = "sip-servlets.com"; String toUser = "******"; SipURI toAddress = senderProtocolObjects.addressFactory.createSipURI(toUser, toSipAddress); sender.sendSipRequest("INVITE", fromAddress, toAddress, null, null, false); Thread.sleep(TIMEOUT); assertTrue(sender.isAckSent()); receiver.setWaitForCancel(true); sender.sendInDialogSipRequest("INVITE", null, null, null, null, null); Thread.sleep(500); sender.sendCancel(); Thread.sleep(TIMEOUT); assertTrue(sender.isCancelOkReceived()); assertTrue(sender.isRequestTerminatedReceived()); assertTrue(receiver.isCancelReceived()); sender.setCancelOkReceived(false); sender.setRequestTerminatedReceived(false); receiver.setCancelReceived(false); sender.sendInDialogSipRequest("INVITE", null, null, null, null, null); Thread.sleep(500); sender.sendCancel(); Thread.sleep(TIMEOUT); assertTrue(sender.isCancelOkReceived()); assertTrue(sender.isRequestTerminatedReceived()); assertTrue(receiver.isCancelReceived()); }
public void setupPhones(String transport) throws Exception { senderProtocolObjects = new ProtocolObjects("proxy-sender", "gov.nist", transport, AUTODIALOG, null, null, null); receiverProtocolObjects = new ProtocolObjects("proxy-receiver", "gov.nist", transport, AUTODIALOG, null, null, null); sender = new TestSipListener(5080, 5070, senderProtocolObjects, false); sender.setRecordRoutingProxyTesting(true); SipProvider senderProvider = sender.createProvider(); receiver = new TestSipListener(5057, 5070, receiverProtocolObjects, false); receiver.setRecordRoutingProxyTesting(true); SipProvider receiverProvider = receiver.createProvider(); receiverProvider.addSipListener(receiver); senderProvider.addSipListener(sender); senderProtocolObjects.start(); receiverProtocolObjects.start(); }
@Override protected void setUp() { try { super.sipIpAddress = "0.0.0.0"; super.setUp(); senderProtocolObjects = new ProtocolObjects("reinvite", "gov.nist", TRANSPORT, AUTODIALOG, null); sender = new TestSipListener(5080, 5070, senderProtocolObjects, false); SipProvider senderProvider = sender.createProvider(); senderProvider.addSipListener(sender); senderProtocolObjects.start(); } catch (Exception ex) { ex.printStackTrace(); fail("unexpected exception "); } }
public void testNoAppDeployed404() throws Exception { tomcat.addSipConnector(serverName, sipIpAddress, 5060, listeningPointTransport); super.tomcat.startTomcat(); sender = new TestSipListener(5080, 5060, senderProtocolObjects, true); SipProvider senderProvider = sender.createProvider(); senderProvider.addSipListener(sender); senderProtocolObjects.start(); String fromName = "sender"; String fromHost = "sip-servlets.com"; SipURI fromAddress = senderProtocolObjects.addressFactory.createSipURI(fromName, fromHost); String toUser = "******"; String toHost = "" + System.getProperty("org.mobicents.testsuite.testhostaddr") + ""; SipURI toAddress = senderProtocolObjects.addressFactory.createSipURI(toUser, toHost); sender.sendSipRequest("INVITE", fromAddress, toAddress, null, null, true); Thread.sleep(TIMEOUT); assertEquals(404, sender.getFinalResponseStatus()); }
// Issue 2500 http://code.google.com/p/mobicents/issues/detail?id=2500 // B2buaHelper.createRequest() throws a NullPointerException if the request contains an empty // header public void testCallForwardingCallerSendReInviteSendBye() throws Exception { sender = new TestSipListener(5080, 5070, senderProtocolObjects, false); SipProvider senderProvider = sender.createProvider(); receiver = new TestSipListener(5090, 5070, receiverProtocolObjects, false); SipProvider receiverProvider = receiver.createProvider(); receiverProvider.addSipListener(receiver); senderProvider.addSipListener(sender); senderProtocolObjects.start(); receiverProtocolObjects.start(); String fromName = "forward-sender"; String fromSipAddress = "sip-servlets.com"; SipURI fromAddress = senderProtocolObjects.addressFactory.createSipURI(fromName, fromSipAddress); String toSipAddress = "sip-servlets.com"; String toUser = "******"; SipURI toAddress = senderProtocolObjects.addressFactory.createSipURI(toUser, toSipAddress); sender.sendSipRequest( "INVITE", fromAddress, toAddress, null, null, false, new String[] {AllowHeader.NAME}, new String[] {"INVITE, CANCEL, BYE, ACK, OPTIONS"}, true); Thread.sleep(TIMEOUT); assertTrue(receiver.isInviteReceived()); assertTrue(receiver.isAckReceived()); MaxForwardsHeader maxForwardsHeader = (MaxForwardsHeader) receiver.getInviteRequest().getHeader(MaxForwardsHeader.NAME); assertNotNull(maxForwardsHeader); // Non Regression test for http://code.google.com/p/mobicents/issues/detail?id=1490 // B2buaHelper.createRequest does not decrement Max-forwards assertEquals(69, maxForwardsHeader.getMaxForwards()); ListIterator<AllowHeader> allowHeaderIt = receiver.getInviteRequest().getHeaders(AllowHeader.NAME); int i = 0; while (allowHeaderIt.hasNext()) { allowHeaderIt.next(); i++; } assertEquals(5, i); Header methodHeader = receiverProtocolObjects.headerFactory.createHeader("Supported", ""); // Non Regression for Issue 184 http://code.google.com/p/sipservlets/issues/detail?id=184 Header allowHeader = receiverProtocolObjects.headerFactory.createAllowHeader( "INVITE, CANCEL, BYE, ACK, OPTIONS"); List<Header> headers = new ArrayList<Header>(); headers.add(methodHeader); headers.add(allowHeader); sender.sendInDialogSipRequest("INVITE", null, null, null, headers, null); receiver.setInviteReceived(false); receiver.setAckReceived(false); Thread.sleep(TIMEOUT); assertTrue(receiver.isInviteReceived()); assertTrue(receiver.isAckReceived()); allowHeaderIt = receiver.getInviteRequest().getHeaders(AllowHeader.NAME); i = 0; while (allowHeaderIt.hasNext()) { allowHeaderIt.next(); i++; } assertEquals(5, i); sender.sendInDialogSipRequest("BYE", null, null, null, null, null); Thread.sleep(TIMEOUT); assertTrue(receiver.getByeReceived()); assertTrue(sender.getOkToByeReceived()); }