Author: rco
Date: 2008-05-14 07:51:53 +0200 (Wed, 14 May 2008)
New Revision: 940

Modified:
   trunk/core/plug-in/sipctrl/trans_layer.cpp
Log:
- this should fix INVITE transaction timeout whereby a provisional reply has 
been received.


Modified: trunk/core/plug-in/sipctrl/trans_layer.cpp
===================================================================
--- trunk/core/plug-in/sipctrl/trans_layer.cpp  2008-05-06 10:31:23 UTC (rev 
939)
+++ trunk/core/plug-in/sipctrl/trans_layer.cpp  2008-05-14 05:51:53 UTC (rev 
940)
@@ -839,6 +839,7 @@
 
        case TS_CALLING:
            t->clear_timer(STIMER_A);
+           t->clear_timer(STIMER_B);
            // fall through trap
 
        case TS_TRYING:
@@ -1219,13 +1220,20 @@
        break;
        
     case STIMER_B:  // Calling: -> Terminated
+
+       tr->clear_timer(STIMER_B);
+       if(tr->state == TS_CALLING) {
+           DBG("Transaction timeout!\n");
+           timeout(bucket,tr);
+       }
+       break;
+
     case STIMER_F:  // Trying/Proceeding: terminate transaction
        
-       tr->clear_timer(type);
+       tr->clear_timer(STIMER_F);
 
        switch(tr->state) {
 
-       case TS_CALLING:
        case TS_TRYING:
        case TS_PROCEEDING:
            DBG("Transaction timeout!\n");

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to