What I want to do:
Answer an incoming call and Dial another number. When call is finished I need to have the correct conversation time of the call (which is supposed to be stored in ${CDR(billsec)}).
What I am getting:
Since the channel is answered, the C option in Dial application is only resetting the answer variable of CDR to current time therefore the resulting billsec is equal to duration variable of CDR and is equal to channel seize time not call conversation time.
My dial plan:
exten => 333333,1,NoOp(Here I answer the channel and make another call)
same => n,Answer
same => n,Dial(DAHDI/g0/123456789,,gC)
same => n,NoOP(Billsec: ${CDR(billsec)}) // Here billsec is equal to CDR(duration)
Note: If I simply remove Answer CMD from dialplan then billsec variable is showing the correct call time and this makes sense because channel was not answered and CDR(answer) will be assigned as soon as called party answers the channel. But the problem is that in my complete dialplan I have to answer the channel before making the call because I need to interact with user beforehand and it needs the channel to be answered.
BTW, I am using Asterisk 13.0.0-beta1. Could any of you guys let me know how can I achieve what I want to do please?