Hello all,

i have to make a change in the AmSessionContainer::startSessionUAC method, 
because a race condition existed between the moment where the INVITE was sent 
and the new session was added to the container (AmEventDispatcher). Sometimes 
it appears that sems is unable to assign a reply with the session, because the 
reply comes before a session exist. therefore i write the addSession command 
before the invite was send. 

Index: AmSessionContainer.cpp
===================================================================
--- AmSessionContainer.cpp      (Revision 1073)
+++ AmSessionContainer.cpp      (Arbeitskopie)
@@ -156,6 +156,8 @@
       session->dlg.updateStatusFromLocalRequest(req); // sets local tag as well
       session->setCallgroup(req.from_tag);
 
+      addSession("","",req.from_tag,session);
+
       session->setNegotiateOnReply(true);
       if (int err = session->sendInvite(req.hdrs)) {
        ERROR("INVITE could not be sent: error code = %d.\n", 
@@ -171,7 +173,7 @@
 
       session->start();
 
-      addSession("","",req.from_tag,session);
+      
     }
   }

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

Reply via email to