VMX Locator and voicemail looping with temp greeting

Hello,
I’m having an issue where if VMX locator is enabled for an extension and they make a temporary greeting the temporary greeting will play twice before actually going to the record voicemail prompt plays. For the extensions in question I have the vmx locator selected for busy, unavailable, and temp, and I have the dialplan settings under voicemail admin set about as low as they can go. I’ve tried swapping them around but no luck.

Any chance this is a bug or known issue?

Hard to tell without the Asterisk CLI information being presented.

However I am suspecting the VMX locator is playing the recorded message, then it goes to voice mail where you have the recorded message playing again.

May want to try disabling the “Standard Voicemail prompts” to see if that resolves it.

Otherwise it would be better to see what is going on as VMX is being executed.

Thanks for the reply GeekBoy, disabling the voicemail prompts unfortunately did not help.
It looks to me like if the temporary greeting is set then vmx locator / voicemail continues to wait until a response is entered almost as if it has different settings from unavailable or busy.

This is the output from the cli:

-- Executing [s@macro-dial-one:45] ExecIf("SIP/sips-000115f5", "0?MacroExit()") in new stack
-- Executing [s@macro-dial-one:46] ExecIf("SIP/sips-000115f5", "0?Set(DIALSTATUS=)") in new stack
-- Executing [s@macro-dial-one:47] GosubIf("SIP/sips-000115f5", "0?s-NOANSWER,1()") in new stack
-- Executing [s@macro-dial-one:48] MacroExit("SIP/sips-000115f5", "") in new stack
-- Executing [s@macro-exten-vm:17] Set("SIP/sips-000115f5", "SV_DIALSTATUS=NOANSWER") in new stack
-- Executing [s@macro-exten-vm:18] GosubIf("SIP/sips-000115f5", "0?docfu,1()") in new stack
-- Executing [s@macro-exten-vm:19] GosubIf("SIP/sips-000115f5", "0?docfb,1()") in new stack
-- Executing [s@macro-exten-vm:20] Set("SIP/sips-000115f5", "DIALSTATUS=NOANSWER") in new stack
-- Executing [s@macro-exten-vm:21] ExecIf("SIP/sips-000115f5", "0?MacroExit()") in new stack
-- Executing [s@macro-exten-vm:22] GotoIf("SIP/sips-000115f5", "0?s-NOANSWER,1") in new stack
-- Executing [s@macro-exten-vm:23] Macro("SIP/sips-000115f5", "vm,1009,NOANSWER,") in new stack
-- Executing [s@macro-vm:1] Macro("SIP/sips-000115f5", "user-callerid,SKIPTTL") in new stack
set_destination: Parsing <sip:[email protected]:5060;transport=UDP;ob> for address/port to send to
-- Executing [s@macro-user-callerid:1] Set("SIP/sips-000115f5", "TOUCH_MONITOR=1447865987.759372") in new stack
set_destination: set destination to MY.IP.ADDRESS:5060
-- Executing [s@macro-user-callerid:2] Set("SIP/sips-000115f5", "AMPUSER=14193030841") in new stack


== Extension Changed auto_hint_1009[from-internal] new state Idle for Notify User 1009 
-- Executing [s@macro-user-callerid:3] GotoIf("SIP/sips-000115f5", "0?report") in new stack
-- Executing [s@macro-user-callerid:4] ExecIf("SIP/sips-000115f5", "0?Set(REALCALLERIDNUM=14193030841)") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/sips-000115f5", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/sips-000115f5", "0?limit") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/sips-000115f5", "AMPUSERCIDNAME=") in new stack
-- Executing [s@macro-user-callerid:8] GotoIf("SIP/sips-000115f5", "1?report") in new stack
-- Goto (macro-user-callerid,s,16)
-- Executing [s@macro-user-callerid:16] GotoIf("SIP/sips-000115f5", "1?continue") in new stack
-- Goto (macro-user-callerid,s,30)
-- Executing [s@macro-user-callerid:30] Set("SIP/sips-000115f5", "CALLERID(number)=14193030841") in new stack
-- Executing [s@macro-user-callerid:31] Set("SIP/sips-000115f5", "CALLERID(name)=WIRELESS CALLER") in new stack
-- Executing [s@macro-user-callerid:32] Set("SIP/sips-000115f5", "CDR(cnum)=14193030841") in new stack
-- Executing [s@macro-user-callerid:33] Set("SIP/sips-000115f5", "CDR(cnam)=WIRELESS CALLER") in new stack
-- Executing [s@macro-user-callerid:34] Set("SIP/sips-000115f5", "CHANNEL(language)=en") in new stack
-- Executing [s@macro-vm:2] Set("SIP/sips-000115f5", "VMGAIN=g(12)") in new stack
-- Executing [s@macro-vm:3] Macro("SIP/sips-000115f5", "blkvm-check,") in new stack
-- Executing [s@macro-blkvm-check:1] Set("SIP/sips-000115f5", "GOSUB_RETVAL=") in new stack
-- Executing [s@macro-blkvm-check:2] ExecIf("SIP/sips-000115f5", "0?Set(GOSUB_RETVAL=TRUE)") in new stack
-- Executing [s@macro-blkvm-check:3] MacroExit("SIP/sips-000115f5", "") in new stack
-- Executing [s@macro-vm:4] GotoIf("SIP/sips-000115f5", "1?vmx,1") in new stack
-- Goto (macro-vm,vmx,1)
-- Executing [vmx@macro-vm:1] Set("SIP/sips-000115f5", "MEXTEN=1009") in new stack
-- Executing [vmx@macro-vm:2] Set("SIP/sips-000115f5", "MMODE=NOANSWER") in new stack
-- Executing [vmx@macro-vm:3] Set("SIP/sips-000115f5", "RETVM=") in new stack
-- Executing [vmx@macro-vm:4] Set("SIP/sips-000115f5", "MODE=unavail") in new stack
-- Executing [vmx@macro-vm:5] Macro("SIP/sips-000115f5", "get-vmcontext,1009") in new stack
-- Executing [s@macro-get-vmcontext:1] Set("SIP/sips-000115f5", "VMCONTEXT=default") in new stack
-- Executing [s@macro-get-vmcontext:2] GotoIf("SIP/sips-000115f5", "0?200:300") in new stack
-- Goto (macro-get-vmcontext,s,300)
-- Executing [s@macro-get-vmcontext:300] NoOp("SIP/sips-000115f5", "") in new stack



-- Executing [vmx@macro-vm:6] Set("SIP/sips-000115f5", "MODE=temp") in new stack
-- Executing [vmx@macro-vm:7] NoOp("SIP/sips-000115f5", "MODE IS: temp") in new stack
-- Executing [vmx@macro-vm:8] GotoIf("SIP/sips-000115f5", "0?chknomsg") in new stack
-- Executing [vmx@macro-vm:9] Set("SIP/sips-000115f5", "VM_OPTS=") in new stack
-- Executing [vmx@macro-vm:10] GotoIf("SIP/sips-000115f5", "0?s-NOANSWER,1") in new stack
-- Executing [vmx@macro-vm:11] GotoIf("SIP/sips-000115f5", "1?notdirect") in new stack
-- Goto (macro-vm,vmx,13)
-- Executing [vmx@macro-vm:13] NoOp("SIP/sips-000115f5", "Checking if ext 1009 is enabled: enabled") in new stack
-- Executing [vmx@macro-vm:14] GotoIf("SIP/sips-000115f5", "0?s-NOANSWER,1") in new stack
-- Executing [vmx@macro-vm:15] GotoIf("SIP/sips-000115f5", "0?nofile") in new stack
-- Executing [vmx@macro-vm:16] Set("SIP/sips-000115f5", "VMX_TIMEOUT=0") in new stack
-- Executing [vmx@macro-vm:17] Set("SIP/sips-000115f5", "VMX_REPEAT=1") in new stack
-- Executing [vmx@macro-vm:18] Set("SIP/sips-000115f5", "VMX_LOOPS=1") in new stack
-- Executing [vmx@macro-vm:19] Set("SIP/sips-000115f5", "LOOPCOUNT=0") in new stack
-- Executing [vmx@macro-vm:20] Set("SIP/sips-000115f5", "VMX_REPEAT=1") in new stack
-- Executing [vmx@macro-vm:21] Set("SIP/sips-000115f5", "VMX_TIMEOUT=0") in new stack
-- Executing [vmx@macro-vm:22] Set("SIP/sips-000115f5", "VMX_LOOPS=1") in new stack
-- Executing [vmx@macro-vm:23] Answer("SIP/sips-000115f5", "") in new stack
Audio is at 11598
Adding codec 100003 (ulaw) to SDP

-- Executing [vmx@macro-vm:24] Read("SIP/sips-000115f5", "ACTION,/var/spool/asterisk/voicemail/default/1009/temp,1,skip,1,0") in new stack
-- Accepting a maximum of 1 digits.
-- <SIP/sips-000115f5> Playing '/var/spool/asterisk/voicemail/default/1009/temp.slin' (language 'en')


--- (9 headers 0 lines) ---
-- User entered nothing.
-- Executing [vmx@macro-vm:25] GotoIf("SIP/sips-000115f5", "0?checkopt") in new stack
-- Executing [vmx@macro-vm:26] NoOp("SIP/sips-000115f5", "Timeout: going to timeout dest") in new stack
-- Executing [vmx@macro-vm:27] Set("SIP/sips-000115f5", "VMX_OPTS=") in new stack
-- Executing [vmx@macro-vm:28] GotoIf("SIP/sips-000115f5", "1?dotime") in new stack
-- Goto (macro-vm,vmx,32)
-- Executing [vmx@macro-vm:32] Goto("SIP/sips-000115f5", ",dovm,1") in new stack
-- Goto (macro-vm,dovm,1)
-- Executing [dovm@macro-vm:1] NoOp("SIP/sips-000115f5", "VMX Timeout - go to voicemail") in new stack
-- Executing [dovm@macro-vm:2] VoiceMail("SIP/sips-000115f5", "1009@default,g(12)") in new stack
-- <SIP/sips-000115f5> Playing '/var/spool/asterisk/voicemail/default/1009/temp.slin' (language 'en')

This seems very much like a bug to me

bump please… really cant figure this out…

bump anyone? still totally lost as to why this is happening…

It was considered to be a bug in this issue

But I don’t know if it has been reported yet.

We’ve been having the same issue for a few months and the workaround has been to not use the temp greeting. Any resolution here, or has this been logged as a bug yet?

I believe we had decided to remove the Temp greeting option to VmX locator in version 13 (and maybe prior). The issue is, by design, the Temp greeting will always play when you enter Voicemail as it’s affectively a ‘forced’ greeting (often referred to as a vacation greeting). However, VmX locator is implemented in dialplan before entering voicemail. Without modifying voicemail in Asterisk, there’s no known way to address it so it’s been reverted back to how VmX used to be where a temp greeting would bypass all of VmX. If that’s not the case, then it may be considered a bug, or if you’re running into anomalies when using a temp greeting, in 13, you should report it to review.

I see, thanks for that clarification. If I understand you correctly, disabling the VmX locator feature for “temp” in an extension’s settings will resolve this, or at least work around it? (in v12…)