Revision: 4204 http://openser.svn.sourceforge.net/openser/?rev=4204&view=rev Author: dan_pascu Date: 2008-05-17 00:18:47 -0700 (Sat, 17 May 2008)
Log Message: ----------- Fixed wrong reference counting that could occur in certain cases when terminating the call using the MI dlg_end_dlg command. In such cases the reference count was not decremented enough and kept the dialog in memory because it never reached 0. One case where this could happen is if a BYE send by one of the endpoints arrived at the same time the local BYE messages were generated. Another case is when the messages in the dialog are forwarded to the proxy itself, having more than 1 Record-Route with the proxy. There are certain situations in this case where the route set in the dialog module is wrong having one of the routes pointing to the proxy itself duplicated. This makes the generated BYEs to be routed 1 more time than normal to the proxy itself, triggering a dialog termination as if an external BYE has been received, thus mimicking the previous mentioned case. There is still a bug related to the wrong route set that needs to be fixed, however this patch is able to fix and handle all cases gracefully, even when the route set is wrong. Modified Paths: -------------- trunk/modules/dialog/dlg_req_within.c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Devel mailing list Devel@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/devel