Hi Everyone,
What is a accurate way to get current call count. I am only relaying calls.
Initialy I tried the code below. It seemed to work, it reported the correct number of calls I had dialed. I get the result through kamcmd htable get command.
------------------------------------------ under route[RELAY] # # COUNT # if (is_method("BYE")) { $var(n) = $shtdec(callcount=>active); sht_rm_name_re("callcount=>$ft"); }
--------------------------------------------
# Manage incoming replies onreply_route[MANAGE_REPLY] { # # COUNT # if (status=="200") { if (is_method("INVITE")) { # On start if($sht(callcount=>active) == $null) { $sht(callcount=>active) = 0; } # New call if ($sht(callcount=>$ft::from_tag)== $null) { $sht(callcount=>$ft::from_tag) = $ft; $var(n) = $shtinc(callcount=>active); } } xlog("L_INFO", "This is a 200 OK reply\n"); }
xdbg("incoming reply\n"); if(status=~"[12][0-9][0-9]") { route(NATMANAGE); } }
-------------------------------------------------------
However I wanted to distribute calls to several servers
I further added the despatcher code below
# round robin dispatching on gateways group '1'
if(!ds_select_dst("1", "4")) { send_reply("404", "No destination"); exit; } xlog("L_INFO", "-----RELAYING going to <$ru> via <$du> time [$Tf] -----\n");
This makes my counting code above give incorrect call count.
How can I make call count work with dispatcher ? Do advise how I can do this
Regards
Seems like your best bet is to use the dialog module, which the state of a call through all phases.