Right now I have my VM dial plan like this:
[macro-vm]
exten => s,1,Macro(user-callerid)
exten => s,2,Goto(s-${ARG2},1)
exten => s-BUSY,1,Macro(get-vmcontext,${ARG1})
exten => s-BUSY,2,Voicemail(b${ARG1}@${VMCONTEXT}) ; Voicemail Busy message
exten => s-BUSY,3,Hangup()
exten => _s-.,1,Macro(get-vmcontext,${ARG1})
exten => _s-.,2,Voicemail(u${ARG1}@${VMCONTEXT}) ; Voicemail Unavailable message
exten => _s-.,3,Hangup()
exten => o,1,Background(one-moment-please) ; 0 during vm message will hangup
;exten => o,2,GotoIf($["foo${FROM_DID}" = "foo"]?from-pstn,s,1:from-pstn,${FROM_DID},1)
exten => o,2,Goto(ext-group,500,1)
exten => a,1,Macro(get-vmcontext,${ARG1})
exten => a,2,VoiceMailMain(${ARG1}@${VMCONTEXT})
exten => a,3,Hangup
thus if you press ‘0’ it transfers you to the live operator at ring group 500. Can I also make it that you you hit any number (1-9) it transfers you to the IVR (ivr-3 in my case)?