VoiceMail "Require From Same Device" does not work

Hey guys,

I have upgraded to freepbx 12 and was happy to see the voicemail function “Require From Same Device”.
Unfortunately it doesn’t work.
Is it possible this option does not work in user/device mode?
I don’t want to enter my voicebox password if I’m calling from my phone.

Is there any workaround?

I doubt it will work in this mode as that mode is unsupported.

Any chance this feature can be enabled in the future for user/device mode? The following works for me, but since I’m an asterisk dialplan newbie, I’m sure it can be coded better. I also haven’t tested it in extension mode. If this isn’t appropriate for FreePBX, what is the best way for me to make this change without editing exstensions_additional.conf directly?

Thanks!

[app-vmmain]                                                                     
exten => *97,1,Answer                                                            
exten => *97,n,Wait(1)                                                           
exten => *97,n,Macro(user-callerid,)                                             
exten => *97,n,Macro(get-vmcontext,${AMPUSER})                                   
exten => *97,n(check),Set(VMBOXEXISTSSTATUS=${IF(${VM_INFO(${AMPUSER}@${VMCONTEXT},exists)}?SUCCESS:FAILED)})
exten => *97,n,GotoIf($["${VMBOXEXISTSSTATUS}" = "SUCCESS"]?mbexist)             
exten => *97,n,VoiceMailMain()                                                   
exten => *97,n,GotoIf($["${IVR_RETVM}" = "RETURN" & "${IVR_CONTEXT}" != ""]?playret)
exten => *97,n,Macro(hangupcall,)                                                
exten => *97,check+101(mbexist),GotoIf($["${DB(AMPUSER/${AMPUSER}/novmpw)}"!=""]?novmpw:vmpw)
exten => *97,n(novmpw),Noop(Verifying channel ${CHANNEL} is assigned to ${AMPUSER})
exten => *97,n,Set(DEVICES=${DB(AMPUSER/${AMPUSER}/device)})                     
exten => *97,n,ExecIf($["${DEVICES}"=""]?Set(DEVICES=${AMPUSER}))                
exten => *97,n,ExecIf($["${DEVICES:0:1}"="&"]?Set(DEVICES=${DEVICES:1}))         
exten => *97,n,Set(LOOPCNT=${FIELDQTY(DEVICES,&)})                               
exten => *97,n,Set(ITER=1)                                                       
exten => *97,n(begin),GotoIf($["${REGEX("^${DB(DEVICE/${CUT(DEVICES,&,${ITER})}/dial)}-[0-9a-f]+$" ${CHANNEL})}"=="1"]?vmpws)
exten => *97,n,Set(ITER=$[${ITER}+1])                                            
exten => *97,n,GotoIf($[${ITER}<=${LOOPCNT}]?begin)                              
exten => *97,n,Noop(Channel ${CHANNEL} is NOT ${AMPUSER} forcing VM Password)    
exten => *97,n(vmpw),VoiceMailMain(${AMPUSER}@${VMCONTEXT})                      
exten => *97,n,Goto(vmend)                                                       
exten => *97,n(vmpws),VoiceMailMain(${AMPUSER}@${VMCONTEXT},s)                   
exten => *97,n,Goto(vmend)                                                       
exten => *97,n(vmend),GotoIf($["${IVR_RETVM}" = "RETURN" & "${IVR_CONTEXT}" != ""]?playret)
exten => *97,n,Macro(hangupcall,)                                                
exten => *97,n(playret),Playback(beep&you-will-be-transfered-menu&silence/1)     
exten => *97,n,Goto(${IVR_CONTEXT},return,1)