That’s what’s so strange - here’s what’s in the dialplan:
[app-vmmain]
include => app-vmmain-custom
exten => *0#,1,Answer
exten => *0#,n,Wait(1)
exten => *0#,n,Macro(user-callerid,)
exten => *0#,n,Macro(get-vmcontext,${AMPUSER})
exten => *0#,n(check),Set(VMBOXEXISTSSTATUS=${IF(${VM_INFO(${AMPUSER}@${VMCONTEXT},exists)}?SUCCESS:FAILED)})
exten => *0#,n,GotoIf($["${VMBOXEXISTSSTATUS}" = “SUCCESS”]?mbexist)
exten => *0#,n,VoiceMailMain()
exten => *0#,n,GotoIf($["${IVR_RETVM}" = “RETURN” & “${IVR_CONTEXT}” != “”]?playret)
exten => *0#,n,Macro(hangupcall,)
exten => *0#,check+101(mbexist),GotoIf($["${DB(AMPUSER/${AMPUSER}/novmpw)}"!=""]?novmpw:vmpw)
exten => *0#,n(novmpw),Noop(Verifying channel ${CHANNEL} is actually ${AMPUSER})
exten => *0#,n,GotoIf($["${REGEX("^${DB(DEVICE/${AMPUSER}/dial)}-[0-9a-fx]+$" ${CHANNEL})}"!=“1”]?vmpws)
exten => *0#,n,VoiceMailMain(${AMPUSER}@${VMCONTEXT},s)
exten => *0#,n,Goto(vmend)
exten => *0#,n(vmpws),Noop(Channel ${CHANNEL} is NOT ${AMPUSER} forcing VM Password)
exten => *0#,n(vmpw),VoiceMailMain(${AMPUSER}@${VMCONTEXT})
exten => *0#,n,Goto(vmend)
exten => *0#,n(vmend),GotoIf($["${IVR_RETVM}" = “RETURN” & “${IVR_CONTEXT}” != “”]?playret)
exten => *0#,n,Macro(hangupcall,)
exten => *0#,n(playret),Playback(beep&you-will-be-transfered-menu&silence/1)
exten => *0#,n,Goto(${IVR_CONTEXT},return,1)
;–== end of [app-vmmain] ==–;
[app-dialvm]
include => app-dialvm-custom
exten => #0*,1,Macro(user-callerid,)
exten => #0*,n,Answer
exten => #0*,n(start),Wait(1)
exten => #0*,n,Noop(app-dialvm: Asking for mailbox)
exten => #0*,n,Read(MAILBOX,vm-login,3,2)
exten => #0*,n(check),Noop(app-dialvm: Got Mailbox ${MAILBOX})
exten => #0*,n,Macro(get-vmcontext,${MAILBOX})
exten => #0*,n,Set(VMBOXEXISTSSTATUS=${IF(${VM_INFO(${MAILBOX}@${VMCONTEXT},exists)}?SUCCESS:FAILED)})
exten => #0*,n,GotoIf($["${VMBOXEXISTSSTATUS}" = “SUCCESS”]?good:bad)
exten => #0*,n,Macro(hangupcall,)
exten => #0*,n(good),Noop(app-dialvm: Good mailbox ${MAILBOX}@${VMCONTEXT})
exten => #0*,n,VoiceMailMain(${MAILBOX}@${VMCONTEXT})
exten => #0*,n,GotoIf($["${IVR_RETVM}" = “RETURN” & “${IVR_CONTEXT}” != “”]?playret)
exten => #0*,n,Macro(hangupcall,)
exten => #0*,n(bad),Noop(app-dialvm: BAD mailbox ${MAILBOX}@${VMCONTEXT})
exten => #0*,n,Wait(1)
exten => #0*,n,Noop(app-dialvm: Asking for password so people can’t probe for existence of a mailbox)
exten => #0*,n,Read(FAKEPW,vm-password,3,2)
exten => #0*,n,Noop(app-dialvm: Asking for mailbox again)
exten => #0*,n,Read(MAILBOX,vm-incorrect-mailbox,3,2)
exten => #0*,n,Goto(check)
exten => #0*,n,Macro(hangupcall,)
exten => #0*,n(playret),Playback(beep&you-will-be-transfered-menu&silence/1)
exten => #0*,n,Goto(${IVR_CONTEXT},return,1)