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