Hi George,
Not sure what 'buggy corner cases' you are referring to, but involving
dlg_manage() makes sense only for initial INVITEs.
IMO in that snippet, dlg_manage() should placed one row higher, within the
curly brackets condition.
Regards,
--Sergiu
On Mon, Nov 25, 2019 at 9:58 AM George Diamantopoulos <georgediam(a)gmail.com>
wrote:
Hello all,
I've been reading through the dialog module docs again, and there seems to
be a discrepancy in what's suggested in the docs. In the intro, it is
stated that 'To create the dialog associated with an initial INVITE
request, execute the function “dlg_manage()"'. Later on, in section
"7.10" the following example code is provided:
request_route {
...
if(is_method("INVITE") && !has_totag())
{
$dlg_ctx(timeout_route) = "DLGTIMEOUT";
$dlg_ctx(timeout_bye) = 1;
}
dlg_manage();
...
}
In this example code, dlg_manage seems to be called for all requests, as
it is not dependent on the conditional that only requests with no to-tag
are to be handled.
Previously, Daniel had suggested to me in person that one also run
dlg_manage() for CANCELs, and in-dialog reINVITEs, BYEs and ACKs to
mitigate some buggy corner cases. Is this still the case?
What do you guys and gals do in production? Have you had to revise how you
use dlg_manage in terms of calling it for initial INVITEs only vs all
requests? Thanks!
BR,
George
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users