[Freeswitch-users] New Bounty (again): Improved Mod_voicemail Emulation

Tim St. Pierre fs-list at communicatefreely.net
Tue Aug 24 06:10:07 PDT 2010


  So, what are your thoughts?
> 
I think I would be interested in helping if I can, as I'm more or less in the same boat, with an
existing user base on Asterisk.  I would like to make things a little bit more configurable (not
that they aren't already).

I don't have any experience working with C, but I am getting to know LUA, PHP, SQL, and a few
others. I'm hoping I can do something helpful.

I have moved a lot of logic outside of the application and into a lua script to do what I want.
Here's some of the features I have added.  Let me know if this is something we could roll into a new
module.

-Configurable cause code to greeting mappings

This lets you define an alternate greeting that will play if your phone is busy, in do not disturb,
not registered, etc.  It gives similar functionality to the busy/unavail greetings in Asterisk, but
with a lot more flexibility.  I also defined a mapping for "vm-direct", as on our PBX, you can
transfer a call to **EXTEN to go straight to voicemail.  On a NO_ANSWER cause, the selected greeting
is played, which allows for vacation messages.  If the mappings are set in the database, but the
alternate greeting hasn't been recorded, it will use the selected main greeting, or play "the person
at extension ... is unavailable".

-Configurable 0 IVR routing

I have put a bit more functionality in the 0 routing.  In our Asterisk implementation, we had 0 go
to reception, and # go to the users cell phone.  A lot of people use this.  There isn't a good way
to do this in Freeswitch, so we came up with a different option.  In the VM config database that we
use, I have an IVR enable flag, as well as an extension slot for digits 0-9.  If the IVR is
disabled, pressing 0 transfers to the extension in the 0 slot.  If the IVR is enabled, it uses
greeting 9 as the menu, and will let the caller choose an option, transferring them to the extension
set in the database.  This lets a user do something like this:

"You have reached Tim, but I'm away from my desk at the moment.  Please leave a message after the
tone or press 0 for immediate assistance".
->"For technical support, press 1.  To reach my assistant, press 2.  If you would like to try my
cell phone, press 3".


I would also like to see:
An option NOT to delete the voice message when you e-mail it from the vm menu.
A mechanism to record your name that the dial by name directory module can use.
An option to skip the message details before you play them.

I'm sure there are others.

Let me know if you think any of these options are useful.



More information about the FreeSWITCH-users mailing list