[asterisk-users] ResetCDR not working after forced hangup

Motiejus Jakštys desired.mta at gmail.com
Mon Jul 12 03:17:23 CDT 2010


Hello, Asterisk party,
If block the call before dialing (Hangup()), CDR's don't write to
MySQL or CSV. Otherwise, if Hangup() is after Dial(), CDRs write
normally.
Here is the dialplan:

; we skipped dial, because the number is "blocked"
exten => _X.,n(Finish),Hangup()
exten => h,1,NoOP("hangup")
exten => h,2,ResetCDR(w)
exten => h,n,NoCDR()
exten => h,n,GotoIf($["${BLOCKED}"="1"]?Bl)

And asterisk verbose log

    -- Executing [370xxxxxxxx at NPDB2:78] Hangup("SIP/1002-00000201",
"") in new stack
  == Spawn extension (NPDB2, 370xxxxxxxx, 78) exited non-zero on
'SIP/1002-00000201'
    -- Executing [h at NPDB2:1] NoOp("SIP/1002-00000201", ""hangup"") in new stack
    -- Executing [h at NPDB2:2] ResetCDR("SIP/1002-00000201", "w") in new stack
    -- Executing [h at NPDB2:3] NoCDR("SIP/1002-00000201", "") in new stack
    -- Executing [h at NPDB2:4] GotoIf("SIP/1002-00000201", "1?Bl") in new stack

This case there is no cdr. If I do dial() before ResetCDR(), it's
fine. With asterisk 1.2 this worked fine.

Any clue what's wrong?

Asterisk 1.6.2.7 self-compiled, Debian 5.0.5

Regards
Motiejus



More information about the asterisk-users mailing list