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",

Reply via email to