Voicemail not recording when using custom greeting

Joined
Nov 19, 2007
Messages
180
Reaction score
8
Voicemail not recording when using custom greeting (SOLVED)

New voicemail issue that I can't seem to figure out. Did a search, but didn't find anything similar to it in the forums.

Scenario: I have voicemail enabled on an extension. When I let the system use the default VM greeting ("the person at extension..."), the system will do the beep, record the voicemail and deliver and notify as expected.

However, if I record my own greeting, through the mailbox administration menu via my phone or any other way it seems, then the beep never plays and the system times out waiting for the voice mail. During that time, the keypress detection is active because I can press keys and have the system respond appropriately.

Ultimately, this is preventing voice mails from being left because nobody uses the system default greeting on their voicemail. Any ideas where to look?
 
Check the permissions of your greeting files. The files should be owned by asterisk:asterisk and should have a mode of 700 (-rwx------).
 
Yep, just checked:

drwx------ 9 asterisk asterisk 4096 Jun 14 12:56 .
drwx------ 4 asterisk asterisk 4096 May 7 22:17 ..
drwx------ 2 asterisk asterisk 4096 Jun 14 12:47 busy
-rwx------ 1 asterisk asterisk 106604 Jun 14 12:56 busy.wav
-rwx------ 1 asterisk asterisk 10850 Jun 14 12:56 busy.WAV
drwx------ 2 asterisk asterisk 4096 May 7 21:58 greet
drwx------ 2 asterisk asterisk 4096 Jun 14 13:05 INBOX
drwx------ 2 asterisk asterisk 4096 Jun 14 12:55 Old
drwx------ 2 asterisk asterisk 4096 May 7 21:58 temp
drwx------ 2 asterisk asterisk 4096 Jun 14 13:05 tmp
drwx------ 2 asterisk asterisk 4096 May 7 21:58 unavail
-rwx------ 1 asterisk asterisk 138604 May 7 22:29 unavail.wav
-rwx------ 1 asterisk asterisk 14100 May 7 22:29 unavail.WAV


Here's a snippet from the console:

-- Executing [vmx@macro-vm:10] NoOp("SIP/10.10.10.10-b7d32d68", "Checking if ext 8000 is enabled: enabled") in new stack
-- Executing [vmx@macro-vm:11] GotoIf("SIP/10.10.10.10-b7d32d68", "0?s-NOANSWER|1") in new stack
-- Executing [vmx@macro-vm:12] Macro("SIP/10.10.10.10-b7d32d68", "get-vmcontext|8000") in new stack
-- Executing [s@macro-get-vmcontext:1] Set("SIP/10.10.10.10-b7d32d68", "VMCONTEXT=default") in new stack
-- Executing [s@macro-get-vmcontext:2] GotoIf("SIP/10.10.10.10-b7d32d68", "0?200:300") in new stack
-- Goto (macro-get-vmcontext,s,300)
-- Executing [s@macro-get-vmcontext:300] NoOp("SIP/10.10.10.10-b7d32d68", "") in new stack
-- Executing [vmx@macro-vm:13] GotoIf("SIP/10.10.10.10-b7d32d68", "0?tmpgreet") in new stack
-- Executing [vmx@macro-vm:14] GotoIf("SIP/10.10.10.10-b7d32d68", "0?nofile") in new stack
-- Executing [vmx@macro-vm:15] Set("SIP/10.10.10.10-b7d32d68", "LOOPCOUNT=0") in new stack
-- Executing [vmx@macro-vm:16] GotoIf("SIP/10.10.10.10-b7d32d68", "1?vmxtime") in new stack
-- Goto (macro-vm,vmx,18)
-- Executing [vmx@macro-vm:18] GotoIf("SIP/10.10.10.10-b7d32d68", "1?vmxloops") in new stack
-- Goto (macro-vm,vmx,20)
-- Executing [vmx@macro-vm:20] GotoIf("SIP/10.10.10.10-b7d32d68", "1?vmxanswer") in new stack
-- Goto (macro-vm,vmx,22)
-- Executing [vmx@macro-vm:22] Answer("SIP/10.10.10.10-b7d32d68", "") in new stack
-- Executing [vmx@macro-vm:23] Read("SIP/10.10.10.10-b7d32d68", "ACTION|/var/spool/asterisk/voicemail/default/8000/unavail|1|skip||") in new stack
-- Accepting a maximum of 1 digits.
-- <SIP/10.10.10.10-b7d32d68> Playing '/var/spool/asterisk/voicemail/default/8000/unavail' (language 'en')
-- User entered nothing.
-- Executing [vmx@macro-vm:24] GotoIf("SIP/10.10.10.10-b7d32d68", "0?checkopt") in new stack
-- Executing [vmx@macro-vm:25] NoOp("SIP/10.10.10.10-b7d32d68", "Timeout: going to timeout dest") in new stack
-- Executing [vmx@macro-vm:26] Set("SIP/10.10.10.10-b7d32d68", "VMX_OPTS=") in new stack
-- Executing [vmx@macro-vm:27] GotoIf("SIP/10.10.10.10-b7d32d68", "0?chktime") in new stack
-- Executing [vmx@macro-vm:28] Set("SIP/10.10.10.10-b7d32d68", "VMX_OPTS=s") in new stack
-- Executing [vmx@macro-vm:29] GotoIf("SIP/10.10.10.10-b7d32d68", "1?dotime") in new stack
-- Goto (macro-vm,vmx,35)
-- Executing [vmx@macro-vm:35] Goto("SIP/10.10.10.10-b7d32d68", "||") in new stack
== Spawn extension (macro-vm, vmx, 35) exited non-zero on 'SIP/10.10.10.10-b7d32d68' in macro 'vm'
== Spawn extension (macro-vm, vmx, 35) exited non-zero on 'SIP/10.10.10.10-b7d32d68'

It sits at the "Accepting a maximum of 1 digits" line for a few seconds before timing out. Like I said in the original post, I can hit keys on the phone and the system responds appropriately. It just never played the "beep" and doesn't record.
 
You need to set a few things in the General Settings page under the VmX Locator section.

For both "Timeout#press default" and "Loop Exceed default" you should enter "dovm" (without the quotes) in the exten field (to the left of the work "exten"). In the pri field, enter an integer in each field.

Hit the Submit button, reload and you should be good to go.
 
Changes made to those fields don't seem to hold. The fields are blank again after I hit submit.
 
This would indicate a more fundamental issue with your install. Check your asterisk database, globals table, and see what's set for those variables (VMX_TIMEDEST_EXT, VMX_TIMEDEST_PRI, VMX_LOOPDEST_EXT and VMX_LOOPDEST_PRI). By default, they should be dovm, 1, dovm, 1, respectively. If they're not, try setting them in the database (make sure you backup your system first), reload asterisk and see if they stick. This won't solve the underlying issue of not being able to update the values through FreePBX, but it should take care of your original problem.
 
Well, I actually had to add those values to my database before it would work (that is, they didn't even exist in the global table).

I am using freepbx 2.7.0.2, but I don't see how that would have messed up the database table. My guess is that the web page can't actually add the variables if they don't exist, because I can change them now through the web interface...but only after manually adding them to the database.

So now the system finishes playing the custom greeting, and there seems to be about a three to five second pause before the beep and the recording happens. I'll look around for something else that may be causing the delay after the greeting but before the beep.
 
This definitely has something to do with the VMX locator. I went into the extension that I am testing and turned off the VMX locator completely, and now only have followme turned on. The beep happens right after the greeting, as I would expect.
 
Agreed. I think something is wrong with your database. I'm running FreePBX v2.7.0.2 as well and never had to manually enter anything into the DB.

The silence you hear between the end of your greeting and the beep is the VmX timeout value ("Msg Timeout" on the FreePBX General Settings page). The default is 2 seconds, but I suspect you're either missing this value in your DB or it's configured to something longer.

The database variable name is VMX_TIMEOUT and the default value is 2.
 

Members online

Forum statistics

Threads
26,687
Messages
174,410
Members
20,257
Latest member
Dempan
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Back
Top