Need Voicemail VmX locator help

I need a way so that if somebody dials an extension, and the extension
doesn’t answer, when the call is put through to voicemail, if the caller
doesn’t want to leave a message (maybe he’s calling long distance and
would rather try somebody else’s extension), then the caller is given
the option of pressing ‘0’ to return to main IVR menu, etc.

So I installed today’s SVN version of freepbx on my Gentoo Linux server.
I now have under “Basic/GeneralSettings” a new VmX configuration:

Voicemail VmX Locator
Default Context & Pri: context <1> pri
Timeout/#-press default: <?> context exten <1> pri
Loop Exceed default: <?> context exten <1> pri
Timeout VM Msg: <StdInstructions/Beep>
Max Loop VM Msg: <StdInstructions/Beep>
Direct VM Option <StdInstructions/Beep>
Msg Timeout: 2 seconds
Msg Play: 1 times
Error Re-tries: 1 times
Direct VM Option
Msg Timeout: 2 seconds
Msg Play: 1 times
Error Re-tries: 1 times

What should go in the <?> fields?
Also, there are no new options on my “Extensions” page. The instructions
said VmX could be enabled on a per user basis on the user/extension page.

Under the “AsteriskRecordingInterface/Settings” page I have:
Call Forwarding
Unconditional: <?> [] Enable
Unavailable: <?> [] Enable
Busy: <?> [] Enable

Again, do I use an extension for the <?> fields? I’ve tried setting an
unavailable and busy extension, but when I dial in and get voicemail,
I’m only given the option of leaving a message after the tone.

get rid of your amportal entry and let it default to the mirror. If it still doesn’t work, something is messed up with your networking/firewall/other - becasue the mirror works and is accessed constantly (aside from the rare occaision that the server is down).

I finally found the problem.
Looking through /var/www/localhost/admin/
I see that the php function file_get_contents is used to open
and download a file from a URL into a string.

For this to work I needed to set
allow_url_fopen = On
in /etc/php/apache2-php5/php.ini

After restarting apache, I was finally able to check for module updates!

like I said - did you upgrade your voicemail module - you need to go to the module admin and upgrade modules - 1.6.3 was the latest in the repository. (And I just renamed it to 2.0.0 to avoid overlapping with freepbx 2.2.x module version numbers).

I’ve never been able to check for updates online.
I always get the following error message:
“Warning: Cannot connect to online repository ( Online modules are not available.”

In my /etc/amportal.conf I have

If I use my browser to go to $AMPMODULESVN I get
You don’t have permission to access /modules/ on this server.

My “Settings/Extension” page has the following sections:

Delete extension
Add Folow Me Settings
Edit Extension
Extension Options
Device Options
Fax Handling
Dictation Services
Recording Options
Voicemail & Directory

There is no checkbox to enable VmX
Is there some other way to enable VmX manually for an extension?

there needs to be that checkbox - are you sure you loaded svn/trunk for freepbx? It should be in there.

I followed these steps:

#cd /usr/src/
#svn co freepbx
#cd /usr/src/freepbx
#svn update
At revision 3987.
#./install_amp --force-version=2.2.1

#cd /usr/src/freepbx/amp_conf/htdocs
#diff -r admin /var/www/localhost/htdocs/admin|grep -v .svn

no differences except for my modules which came with the tarball

I’m also using the FOP from op_panel-0.26.tar.gz, so I didn’t do a
#diff /usr/src/freepbx/amp_conf/htdocs_panel

I also don’t see any differences between the files in
/usr/src/freepbx/amp_conf/{agi-bin,astetc ,bin}
and those in

The only page in freepbx with VmX listed is in
The “Setup/Basic/Extensions” page says nothing about VmX

Connecting with phpmyadmin to MySQL,
I see that the db asterisk has 38 tables and that
the table users has the following fields:

Again, no boolean checkbox field name VmX.

did you upgrade your voicemail module? That is where it is exposed, but in the extensions screen.



for f in $FREEPBXARI/*; do

diff -r $f $HTDOCROOT/recordings/$f|
grep -v .svn;

grep vmx $HTDOCROOT/recordings/modules/settings.module | wc

128     584   11005

So it looks like the recordings directory got copied correctly from svn
to $HTDOCROOT and that the settings module has code for vmx.

On my freepbx server I’m running apache2 with php5
Do I need to install php4 too?

I’ve compiled php5 with the following flags:
dev-lang/php-5.2.2-r1 USE=“apache2 berkdb bzip2 cli crypt ctype debug gd gdbm iconv ipv6 mysql ncurses nls pcre posix readline reflection session spl ssl threads unicode xml xmlreader xmlwriter zlib"
but without
”-adabas -bcmath -birdstep -calendar -cdb -cgi -cjk -concurrentmodphp
-curl -curlwrappers -db2 -dbase -dbmaker -discard-path -doc -empress
-empress-bcs -esoob -exif -fastbuild -fdftk -filter -firebird -flatfile
-force-cgi-redirect -frontbase -ftp -gd-external -gmp -hash -imap -inifile
-interbase -iodbc -java-external -json -kerberos -ldap -ldap-sasl -libedit
-mcve -mhash -msql -mssql -mysqli -oci8 -oci8-instant-client -odbc -pcntl
-pdo -pdo-external -pic -postgres -qdbm -recode -sapdb -sharedext
-sharedmem -simplexml -snmp -soap -sockets -solid -spell -sqlite
-suhosin -sybase -sybase-ct -sysvipc -tidy -tokenizer -truetype -wddx
-xmlrpc -xpm -xsl -yaz -zip -zip-external"

The INSTALL says "php (or php4)"
It also says "php4-pear if not included with your php…"
I’ve installed dev-php/PEAR-DB-1.7.10
but there are a total of 109 dev-php/PEAR-* Gentoo packages.

Under “Tools/ModuleAdmin” I have voicemail module listed:
Module Type Version
Voicemail setup 1.6.1 Enabled


OK, I tried running the install_amp script again, but I still have
no VmX option on my “Setup/Extensions/” pages.

Any ideas on what I might be missing?
Can I downgrade back to 2.2.1 and then try upgrading to svn again?

./install_amp --force-version=2.2.1

Checking for PEAR DB…OK
Checking for PEAR Console::Getopt…OK
Forcing upgrade from version 2.2.1
Checking user…OK
Checking for /etc/amportal.conf…OK
Reading /etc/amportal.conf…OK
Checking for /etc/asterisk/asterisk.conf…OK
Reading /etc/asterisk/asterisk.conf…OK
Using asterisk as PBX Engine
Checking for Asterisk version…Checking for selinux…OK
Connecting to database…OK
Installing new freePBX files…OK (325 files copied, 0 skipped)
Configuring install for your environment…OK
Setting permissions on files…OK
Checking for upgrades…1 found
Upgrading to 2.3.0alpha…
-> Running PHP script /usr/src/freepbx/upgrades/2.3.0alpha/tables.php
Upgrading Inbound Routing to allow for Music on Hold per DID…Not Required
Upgrading Users/Extension Table to allow for Music on Hold per Direct DID…Not Required
Not Required
Checking for Global var VMX_CONTEXT…Already exists!
Checking for Global var VMX_PRI…Already exists!
Checking for Global var VMX_TIMEDEST_CONTEXT…Already exists!
Checking for Global var VMX_TIMEDEST_EXT…Already exists!
Checking for Global var VMX_TIMEDEST_PRI…Already exists!
Checking for Global var VMX_LOOPDEST_CONTEXT…Already exists!
Checking for Global var VMX_LOOPDEST_EXT…Already exists!
Checking for Global var VMX_LOOPDEST_PRI…Already exists!
Checking for Global var VMX_OPTS_TIMEOUT…Already exists!
Checking for Global var VMX_OPTS_LOOP…Already exists!
Checking for Global var VMX_OPTS_DOVM…Already exists!
Checking for Global var VMX_TIMEOUT…Already exists!
Checking for Global var VMX_REPEAT…Already exists!
Checking for Global var VMX_LOOPS…Already exists!
Upgrading to 2.3.0alpha…OK
Generating AMP configs…
Generating Configurations.conf…

Checking for PEAR DB…OK
Checking for PEAR Console::Getopt…OK
Running module install.php and install.sql scripts
Checking for /etc/amportal.conf…OK
Reading /etc/amportal.conf…OK
Reading /etc/asterisk/asterisk.conf…OK
Connecting to database…OK
Connecting to Asterisk manager interface…OK
Please Reload Asterisk by visiting http://localhost/admin
Generating AMP configs…OK
Restarting Flash Operator Panel… Operation not permitted no process killed
Please update your modules and reload Asterisk by visiting http://localhost/admin

  • Note: It’s possible that if you click the red ‘Update Now’ bar BEFORE *
  • updating your modules, your machine will start dropping calls. Ensure *
  • that all modules are up to date BEFORE YOU CLICK THE RED BAR. As long *
  • as this is observed, your machine will be fully functional whilst the *
  • upgrade is in progress. *

I usually start asterisk first using "/etc/init.d/asterisk start"
and then start the FOP using “/var/www/localhost/htdocs/panel/safe_opserver &”

if you check the box that enables VmX on an exetnsion, the VmX optoins should show up on the ARI page for the given extension. Similarly, if you have a followme for an extension, some of the folllowme settings shoul d show up on the settings tab in ARI also. If neither is showing up then there may be an isssue with your upgrade and ARI may not have upgraded for some reason.

I guess what I’m confused about is that on the ARI/Settings page
I have no VmX options. I only have options for CallForwarding and Voicemail. Is something wrong with my installation?

I upgraded to SVN from freepbx-2.2.1 following the instructions:
#./install_amp --force-version=2.2.1

I only had to make a few changes to get the install script to work
on Gentoo:

  1. edited /usr/src/freepbx/amp_conf/astetc/manager.conf
    to change the section [AMPMGRPASS] to [admin] with
    otherwise it would always copy an incorrect manager.conf
    over /etc/asterisk/manager.conf and I would get an error about
    "FAILED: unable to connect to Asterisk Manager "
  2. changed first line of from “#!/usr/sh” to “#!/bin/sh”

you are usually best off using all the defaults, but on the ARI Settings page, once an extension has VmX enabled, they should be able to put in their options. Also - you are usually best of setting up a Follow-Me for the user also - but disable it by default and then use the VmX to go to the followme if the caller chooses.

I have a similar situation. After a call is put through to voicemail, and they leave a message or whatever. After this, is there a way/how can I send them to a specific IVR, if they don’t want to just hang up. A way to let them do more before terminating their call?

I saw the “Return to IVR”, but I’d like to specify a different IVR than the one the came from. I realize they can press 0 for the operator. Is there a way I can specify that the operator is a specific IVR? I know under general setting you can specify the operator extension.


Guess I could always create a ring group that is set to 1 sec dest/no answer to the IVR. This way that IVR would have a numeric extension associated with it and thus could be set as the operator extension.