Hi there,
I'm using a dialog module in a small kamailio script that only does routing based on prefix, and relay the invite from one ipaddr to another ip addr (diferent interfaces) using $fs variavel.
Now i was introducing the dialog module to limit the number of concurrent calls, and i noticed that it only can increasing the number of dialogs, and it isn't decreasing when receives the "BYE", I also noticed that when kamailio receives "BYE" the dialog event route for state "end" is not executed.
To count the number of concurrent calls I'm using the following logic in main route:
if (is_method("INVITE")) { setflag(FLT_ACC); # do accounting dlg_manage();
if(get_profile_size("concurrentcalls","local","$avp(s:size)")) { if($avp(s:size) != $null) { xlog("L_INFO", "Number of calls for this server : $avp(s:size) - ID=$ci\n"); if($avp(s:size) >= 15000) { xlog("L_INFO", "Concurrent_max calls exceeded $avp(s:size) for caller '$fU' - R=$ru ID=$ci\n"); sl_send_reply("503", "Channel limit exceeded\n"); exit; }
} } set_dlg_profile("concurrentcalls","local"); }
Please check out the attachment with logs.
Best Regards
José Seabra