hello everyone!
How to get variable “ANSWEREDTIME” in “h” extension? which was set in dialAnswerContext subrout?
[dialAnswerContext]
exten => s,1,NoOp()
same => n,Set(__ANSWEREDTIME=${STRFTIME(,%s)})
same => n,Return()
[some_context]
exten => _X.,1,NoOp(external-call)
same => …
same => …
same => n,Dial(SIP/${prefix}${dial_num}@ktrunk,gU(dialAnswerContext)S(${MAX_SPEAK_TIME})
exten => h,1,noop(“extended CDR”)
same => n,NoOp(ANSWEREDTIME = ${ANSWEREDTIME})
‘ANSWEREDTIME’ is a dial channel variable so you should not set it as you did in ‘dialAnswerContext’ and in the hangup handler. If you just read it in the handler such as Set(tmp=${ANSWEREDTIME}) it will give you the call time.
[dialAnswerContext]
exten => s,1,NoOp(chan_name = ${chan_name})
same => n,Set(SHARED(answer_time,${chan_name})=${STRFTIME(,%s)})
same => n,Return()
[some_context]
exten => _X.,1,NoOp(external-call)
same => …
same => …
same => n,Set(__chan_name=${CHANNEL})
same => n,Dial(SIP/${prefix}${dial_num}@ktrunk,gU(dialAnswerContext)S(${MAX_SPEAK_TIME})
exten => h,1,noop(“extended CDR”)
same => n,Set(answer_time=${SHARED(answer_time)})
same => n,NoOp( ${answer_time})