Ext. with DND will not send to voicemail

If I set an extension with voicemail to DND “do not disturb” the extension will not go to voicemail when dialed, it just dies or hungs up. Has anyone experience this issue with the 2.4 Beta?

Thank you.

you need to provide very specific details of how the call came in and was routed to the extension, as well as what ‘DND’ you set. (The FreePBX server side DND feature code, or the device’s DND - as the two can act differently).

Thank you Philippe. I have both of these extensions in a ring group and if the ring group does not answer then it goes into voicemail. Everything works fine except when I change the extensions to DND, then the extensions work as they should but they are not sent to voicemail, the call drops. This is only happening with the DND activated. I use a linksys ATA but have made the changes for freepbx to take over the features.

The DND is a feature I use every day and noticed this after I changed to 2.4 Beta and callers made me aware of the issue. I used it exactly the same with 2.3.1 and worked perfectly. I also understand your concern that I have not made any other changes but, it seems to me it was pretty straight forward when I chaged from 2.3.1 to the beta release so my answer is I’m pretty sure no other changes were made and the changes to the ATA were made way before using 2.4.

The only thing I can think of is if someone else can create the same scenario and see if it sends to voicemail.

Thanks.

please provide a CLI trace of a call going through this scenario starting from the call coming in and ending where the user does not go to email.

Thanks again, here’s the trace…

-- Executing [3225558695@from-trunk:1] Set("SIP/164.4.147.192-1bbfc000", "__FROM_DID=3225558695") in new stack
    -- Executing [3225558695@from-trunk:2] GotoIf("SIP/164.4.147.192-1bbfc000", "1 ?cidok") in new stack
    -- Goto (from-trunk,3225558695,4)
    -- Executing [3225558695@from-trunk:4] NoOp("SIP/164.4.147.192-1bbfc000", "CallerID is "NOT FOUND" <19512325689>") in new stack
    -- Executing [3225558695@from-trunk:5] Goto("SIP/164.4.147.192-1bbfc000", "ext-group|600|1") in new stack
    -- Goto (ext-group,600,1)
    -- Executing [600@ext-group:1] Macro("SIP/164.4.147.192-1bbfc000", "user-callerid|") in new stack
    -- Executing [s@macro-user-callerid:1] NoOp("SIP/164.4.147.192-1bbfc000", "user-callerid: NOT FOUND 19512325689") in new stack
    -- Executing [s@macro-user-callerid:2] Set("SIP/164.4.147.192-1bbfc000", "AMPUSER=19512325689") in new stack
    -- Executing [s@macro-user-callerid:3] GotoIf("SIP/164.4.147.192-1bbfc000", "0?report") in new stack
    -- Executing [s@macro-user-callerid:4] ExecIf("SIP/164.4.147.192-1bbfc000", "1|Set|REALCALLERIDNUM=19512325689") in new stack
    -- Executing [s@macro-user-callerid:5] NoOp("SIP/164.4.147.192-1bbfc000", "REALCALLERIDNUM is 19512325689") in new stack
    -- Executing [s@macro-user-callerid:6] Set("SIP/164.4.147.192-1bbfc000", "AMPUSER=") in new stack
    -- Executing [s@macro-user-callerid:7] Set("SIP/164.4.147.192-1bbfc000", "AMPUSERCIDNAME=") in new stack
    -- Executing [s@macro-user-callerid:8] GotoIf("SIP/164.4.147.192-1bbfc000", "1?report") in new stack
    -- Goto (macro-user-callerid,s,13)
    -- Executing [s@macro-user-callerid:13] NoOp("SIP/164.4.147.192-1bbfc000", "TTL:  ARG1: ") in new stack
    -- Executing [s@macro-user-callerid:14] GotoIf("SIP/164.4.147.192-1bbfc000", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:15] Set("SIP/164.4.147.192-1bbfc000", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:16] GotoIf("SIP/164.4.147.192-1bbfc000", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,23)
    -- Executing [s@macro-user-callerid:23] NoOp("SIP/164.4.147.192-1bbfc000", "Using CallerID "NOT FOUND" <19512325689>") in new stack
    -- Executing [600@ext-group:2] GotoIf("SIP/164.4.147.192-1bbfc000", "1?skipdb") in new stack
    -- Goto (ext-group,600,4)
    -- Executing [600@ext-group:4] Set("SIP/164.4.147.192-1bbfc000", "__NODEST=") in new stack
    -- Executing [600@ext-group:5] Set("SIP/164.4.147.192-1bbfc000", "__BLKVM_OVERRIDE=BLKVM/600/SIP/164.4.147.192-1bbfc000") in new stack
    -- Executing [600@ext-group:6] Set("SIP/164.4.147.192-1bbfc000", "__BLKVM_BASE=600") in new stack
    -- Executing [600@ext-group:7] Set("SIP/164.4.147.192-1bbfc000", "DB(BLKVM/600/SIP/164.4.147.192-1bbfc000)=TRUE") in new stack
    -- Executing [600@ext-group:8] Set("SIP/164.4.147.192-1bbfc000", "RRNODEST=") in new stack
    -- Executing [600@ext-group:9] Set("SIP/164.4.147.192-1bbfc000", "__NODEST=600") in new stack
    -- Executing [600@ext-group:10] Set("SIP/164.4.147.192-1bbfc000", "RecordMethod=Group") in new stack
    -- Executing [600@ext-group:11] Macro("SIP/164.4.147.192-1bbfc000", "record-enable|3225558695-6589558962|Group") in new stack
    -- Executing [s@macro-record-enable:1] GotoIf("SIP/164.4.147.192-1bbfc000", "0?2:4") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s@macro-record-enable:4] AGI("SIP/164.4.147.192-1bbfc000", "recordingcheck|20071220-143122|1198179082.5") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
    -- AGI Script recordingcheck completed, returning 0
    -- Executing [s@macro-record-enable:5] NoOp("SIP/164.4.147.192-1bbfc000", "No recording needed") in new stack
    -- Executing [600@ext-group:12] Set("SIP/164.4.147.192-1bbfc000", "RingGroupMethod=hunt") in new stack
    -- Executing [600@ext-group:13] GotoIf("SIP/164.4.147.192-1bbfc000", "0?DIALGRP") in new stack
    -- Executing [600@ext-group:14] Answer("SIP/164.4.147.192-1bbfc000", "") in new stack
    -- Executing [600@ext-group:15] Wait("SIP/164.4.147.192-1bbfc000", "1") in new stack
    -- Executing [600@ext-group:16] Playback("SIP/164.4.147.192-1bbfc000", "custom/Home_Greeting") in new stack
    -- <SIP/164.4.147.192-1bbfc000> Playing 'custom/Home_Greeting' (language 'en')
    -- Executing [600@ext-group:17] Macro("SIP/164.4.147.192-1bbfc000", "dial|25|m(Home)t|3225558695-6589558962") in new stack
    -- Executing [s@macro-dial:1] GotoIf("SIP/164.4.147.192-1bbfc000", "1?dial") in new stack
    -- Goto (macro-dial,s,3)
    -- Executing [s@macro-dial:3] AGI("SIP/164.4.147.192-1bbfc000", "dialparties.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
  dialparties.agi: Starting New Dialparties.agi
  == Parsing '/etc/asterisk/manager.conf': Found
  == Parsing '/etc/asterisk/manager_additional.conf': Found
  == Parsing '/etc/asterisk/manager_custom.conf': Found
  == Manager 'admin' logged on from 127.0.0.1
  dialparties.agi: Caller ID name is 'NOT FOUND' number is '19512325689'
  dialparties.agi: USE_CONFIRMATION:  'FALSE'
  dialparties.agi: RINGGROUP_INDEX:   ''
  dialparties.agi: Methodology of ring is  'hunt'
    --  dialparties.agi: Added extension 3225558695 to extension map
    --  dialparties.agi: Added extension 6589558962 to extension map
    --  dialparties.agi: Extension 3225558695 cf is disabled
    --  dialparties.agi: Extension 6589558962 cf is disabled
  ==  dialparties.agi: Extension 3225558695 has do not disturb enabled, or followme pre-ring returned busy
  ==  dialparties.agi: Extension 6589558962 has do not disturb enabled, or followme pre-ring returned busy
    --  dialparties.agi: Filtered ARG3:
       >  dialparties.agi: NODEST: 600 adding M(auto-blkvm) to dialopts: m(Home)tM(auto-blkvm)
       >  dialparties.agi: NODEST: 600 blkvm enabled macro already in dialopts: m(Home)tM(auto-blkvm)
  == Manager 'admin' logged off from 127.0.0.1
    -- AGI Script dialparties.agi completed, returning 0
    -- Executing [s@macro-dial:4] NoOp("SIP/164.4.147.192-1bbfc000", "Returned from dialparties with no extensions to call and DIALSTATUS: BUSY") in new stack
    -- Executing [s@macro-dial:5] Dial("SIP/164.4.147.192-1bbfc000", "") in new stack
  == Spawn extension (macro-dial, s, 5) exited non-zero on 'SIP/164.4.147.192-1bbfc000' in macro 'dial'
  == Spawn extension (macro-dial, s, 5) exited non-zero on 'SIP/164.4.147.192-1bbfc000'
    -- Executing [h@macro-dial:1] Macro("SIP/164.4.147.192-1bbfc000", "hangupcall") in new stack
    -- Executing [s@macro-hangupcall:1] ResetCDR("SIP/164.4.147.192-1bbfc000", "w") in new stack
    -- Executing [s@macro-hangupcall:2] NoCDR("SIP/164.4.147.192-1bbfc000", "") in new stack
    -- Executing [s@macro-hangupcall:3] GotoIf("SIP/164.4.147.192-1bbfc000", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing [s@macro-hangupcall:6] GotoIf("SIP/164.4.147.192-1bbfc000", "0?skipblkvm") in new stack
    -- Executing [s@macro-hangupcall:7] NoOp("SIP/164.4.147.192-1bbfc000", "Cleaning Up Block VM Flag: BLKVM/600/SIP/164.4.147.192-1bbfc000") in new stack
    -- Executing [s@macro-hangupcall:8] DBdel("SIP/164.4.147.192-1bbfc000", "BLKVM/600/SIP/164.4.147.192-1bbfc000") in new stack
    -- DBdel: family=BLKVM, key=600/SIP/164.4.147.192-1bbfc000
    -- Executing [s@macro-hangupcall:9] GotoIf("SIP/164.4.147.192-1bbfc000", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing [s@macro-hangupcall:11] Hangup("SIP/164.4.147.192-1bbfc000", "") in new stack
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/164.4.147.192-1bbfc000' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/164.4.147.192-1bbfc00

file a bug please, I’ll have a fix to apply against it momentarily.

and here’s the patch to try and see if it fixes:

Index: extensions.conf
===================================================================
--- extensions.conf     (revision 5527)
+++ extensions.conf     (working copy)
@@ -70,7 +70,7 @@
 exten => s,n(dial),AGI(dialparties.agi)
 exten => s,n,NoOp(Returned from dialparties with no extensions to call and DIALSTATUS: ${DIALSTATUS})
 
-exten => s,n(normdial),Dial(${ds})                               ; dialparties will set the priority to 10 if $ds is not null
+exten => s,n+2(normdial),Dial(${ds})                               ; dialparties will set the priority to 10 if $ds is not null
 exten => s,n,Set(DIALSTATUS=${IF($["${DIALSTATUS_CW}"!="" ]?${DIALSTATUS_CW}:${DIALSTATUS})})
 
 exten => s,20(huntdial),NoOp(Returned from dialparties with hunt groups to dial )

Thaks again Philippe. This patch fixes the problem.