Hi, I am using dialog time_avp() parameter to limit the call duration to a configured number of seconds but unfortunately when the number is reached, i get a warning but the call is not torn down. Here is the output from the log file
3(3711) DEBUG: <script>: return value = 30 -----> $avp(i:10)
5(3713) WARNING: dialog [dlg_handlers.c:1426]: dlg_ontimeout(): timeout for dlg with CallID '1-3743@192.168.1.100' and tags '37431' '37401' 5(3713) DEBUG: dialog [dlg_hash.c:832]: dlg_unref(): unref dlg 0x7f32ee941140 with 2 -> 0 5(3713) DEBUG: dialog [dlg_hash.c:832]: dlg_unref(): ref <=0 for dialog 0x7f32ee941140 5(3713) DEBUG: dialog [dlg_hash.c:320]: destroy_dlg(): destroying dialog 0x7f32ee941140 (ref 0) 5(3713) DEBUG: dialog [dlg_hash.c:336]: destroy_dlg(): removed timer for dlg 0x7f32ee941140 [773:2813] with clid '1-3743@192.168.1.100' and tags '37431' '37401'
Here is my config. file related to dialog module:
#!define DLG_FLAG 4
loadmodule "dialog.so" modparam("dialog", "dlg_match_mode", 2) modparam("dialog", "default_timeout", 3600) # 1 hour timeout modparam("dialog", "db_mode", 0) modparam("dialog", "hash_size", 2048) modparam("dialog", "dlg_flag", DLG_FLAG) modparam("dialog", "default_timeout", 3600) # 1 hour timeout modparam("dialog", "timeout_avp", "$avp(i:10)")
if (is_method("INVITE")) { #$var(rv) = perl_exec("max_allowed_time"); $var(rv) = 30; $avp(i:10) = $var(rv); xlog("L_DBG", "return value = $var(rv)\n"); setflag(FLT_ACC); # do accounting setflag(DLG_FLAG); }
Maybe i am missing some configuration related to the dialog module.
Any help is very much appreciated.
Thanks.