I would like to log to the CDR Userfield when an ext is on DND.
I have the following DialPlan which shows up in the Asterisk Log File successfully, but it doesn’t actually put anything in the Userfield.
I included it within “from-internal-custom” because I am interested specially when a user in a ring group is in DND and the call bypasses that user because they are on DND.
extensions_custom.conf
Dial plan from orignal post removed. See soultion for working dial plan.
I re-read your post and the part that helped me the most was When do I use a dialplan hook and when do I use a Custom Destination?
So I edited my extensions_custom.conf to the following:
[custom-dnd-check]
exten => s,1,NoOp(Checking if DND is ON for Extension 5001)
exten => s,n,Set(DND_STATUS=${DB(DND/5001)})
exten => s,n,GotoIf($["${DND_STATUS}" = "YES"]?dnd_on:dnd_off)
exten => s,n(dnd_on),Set(CDR(userfield)=DND_ON)
exten => s,n,NoOp(Do Not Disturb is ON for Extension 5001)
exten => s,n,Goto(end)
exten => s,n(dnd_off),NoOp(Do Not Disturb is OFF for Extension 5001)
exten => s,n(end),Return()
Then I created a custom destination, set the target as the macro. (Is this the correct term here?)
Finally, I set the inbound route to this custom destination, and once the call hits the custom destination, it goes to the ring group as set in the custom destination.
Now, the CDR Userfield does populate with “DND_ON” if the internal user in the ring group is on DND.