Hello,
We currently use the acc module to capture information to generate CDR missed call info.
I have now introduced serial forking and I would like to see if I can improve how accounting is working for missed calls.
I am using the following configuration.
# turn accounting on for all new calls
if (is_method("INVITE")){
setflag(1); # do accouting
setflag(2); # missed calls
record_route();
}
# Handle requests within SIP dialogs
route[WITHINDLG] {
if (has_totag()) {
# sequential request withing a dialog should
# take the path determined by record-routing
if (loose_route()) {
if (is_method("BYE")){
setflag(1); # do accounting
setflag(3); # even if the transaction fails
xdbg("## BISNET ## - RTPPROXY CHECK \n");
# clear any rtpproxy sessions in progress
unforce_rtp_proxy();
}
I’ve noticed that accounting for missed calls is generated for the main branch (1st destination) only, whether this is a 486 response or a 408 on expiry of the ‘fr_inv_timer’. After a receiving a failure another destination
is created/tried by the script, we are allowing up to 4 serial forks. I do see the 183 message for each fork and if the call is answered then the acc table is updated correctly.
How can I log the missed call response for each fork, or only log the final failure message for the call? Logging failed transactions seems to put them into the main acc table and not the missed call table which I would have expected.
Thanks,
Steve.