2 new revisions:
Revision: 339a241a1be6
Author: Vladimir Ralev <[email protected]>
Date: Thu May 17 19:47:15 2012
Log: Update Issue 99...
http://code.google.com/p/sipservlets/source/detail?r=339a241a1be6
Revision: 312f77edef97
Author: Vladimir Ralev <[email protected]>
Date: Mon May 21 10:54:28 2012
Log: Update Issue 99...
http://code.google.com/p/sipservlets/source/detail?r=312f77edef97
==============================================================================
Revision: 339a241a1be6
Author: Vladimir Ralev <[email protected]>
Date: Thu May 17 19:47:15 2012
Log: Update Issue 99
Backporting to TelScale
Fix for testing(cherry picked from commit
d50350acdf2bc783772338ac4d3d877f50a9bb4b)
http://code.google.com/p/sipservlets/source/detail?r=339a241a1be6
Modified:
/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/proxy/ProxyBranchImpl.java
=======================================
---
/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/proxy/ProxyBranchImpl.java
Fri May 25 07:14:11 2012
+++
/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/proxy/ProxyBranchImpl.java
Thu May 17 19:47:15 2012
@@ -303,7 +303,7 @@
}
}
}
- return outgoingRequest;
+ return null;
} else {
return outgoingRequest;
}
==============================================================================
Revision: 312f77edef97
Author: Vladimir Ralev <[email protected]>
Date: Mon May 21 10:54:28 2012
Log: Update Issue 99
Backporting to TelScale
Testcase(cherry picked from commit 9e824f14d17ecbfc08cbca2944b16d51403c49f2)
http://code.google.com/p/sipservlets/source/detail?r=312f77edef97
Modified:
/sip-servlets-test-suite/testsuite/src/test/java/org/mobicents/servlet/sip/testsuite/proxy/ProxyOverlappingTransactionsTest.java
=======================================
---
/sip-servlets-test-suite/testsuite/src/test/java/org/mobicents/servlet/sip/testsuite/proxy/ProxyOverlappingTransactionsTest.java
Thu Apr 28 11:18:14 2011
+++
/sip-servlets-test-suite/testsuite/src/test/java/org/mobicents/servlet/sip/testsuite/proxy/ProxyOverlappingTransactionsTest.java
Mon May 21 10:54:28 2012
@@ -22,9 +22,14 @@
package org.mobicents.servlet.sip.testsuite.proxy;
+import java.util.HashMap;
+import java.util.HashSet;
+
import javax.sip.ListeningPoint;
import javax.sip.SipProvider;
import javax.sip.address.SipURI;
+import javax.sip.header.ViaHeader;
+import javax.sip.message.Request;
import org.apache.log4j.Logger;
import org.mobicents.servlet.sip.SipServletTestCase;
@@ -81,6 +86,56 @@
assertTrue(sender.getByeReceived());
assertTrue(receiver.getOkToByeReceived());
}
+
+ //http://code.google.com/p/sipservlets/issues/detail?id=99
+ public void testProxyOverlapReinviteInfo() throws Exception {
+ setupPhones(ListeningPoint.UDP);
+ String fromName = "unique-location";
+ String fromSipAddress = "sip-servlets.com";
+ SipURI fromAddress =
senderProtocolObjects.addressFactory.createSipURI(
+ fromName, fromSipAddress);
+
+ String toSipAddress = "sip-servlets.com";
+ String toUser = "proxy-receiver";
+ SipURI toAddress =
senderProtocolObjects.addressFactory.createSipURI(
+ toUser, toSipAddress);
+
+ sender.sendSipRequest("INVITE", fromAddress, toAddress, null, null,
false);
+
+ Thread.sleep(TIMEOUT/2);
+ assertTrue(sender.isAckSent());
+ assertTrue(receiver.isAckReceived());
+ receiver.setAckReceived(false);
+ sender.setAckSent(false);
+ sender.sendInDialogSipRequest("INVITE", null, null, null, null,
null);
+ Thread.sleep(1);
+
+ sender.sendInDialogSipRequest("INFO", null, null, null, null,
null);
+
+ Thread.sleep(TIMEOUT);
+ //assertTrue(sender.numberOf491s>0);
+ //assertTrue(receiver.numberOf491s>0);
+ receiver.sendBye();
+ HashMap<String,Request> ackBranches = new
HashMap<String,Request>();
+ for(Request request:receiver.allRequests) {
+ if(request.getMethod().equals("ACK")) {
+ ViaHeader via = (ViaHeader)
request.getHeader("VIa");
+ String branch = via.getBranch();
+ ackBranches.put(branch, request);
+ }
+ }
+ for(Request request:receiver.allRequests) {
+ if(request.getMethod().equals("INFO")) {
+ ViaHeader via = (ViaHeader)
request.getHeader("VIa");
+ String branch = via.getBranch();
+ if(ackBranches.containsKey(branch))
+ fail("INFO and ACK have the same branch id for " + request + " and "
+ ackBranches.get(branch));;
+ }
+ }
+ Thread.sleep(TIMEOUT);
+ assertTrue(sender.getByeReceived());
+ assertTrue(receiver.getOkToByeReceived());
+ }
public void setupPhones(String transport) throws Exception {
senderProtocolObjects = new ProtocolObjects("proxy-sender",