One thing I avoided working with for a long time is the Asterisk voicemail code. One module in Asterisk I’ve constantly been naming as one of the worst parts is voicemail. One part of Asterisk that I’ve been kind of avoiding during my trainings is voicemail. And there’s where I’ve spent a lot of time recently… Life is strange.Instead of fixing the current voicemail, I decided to restart. Breakup large apps into small building blocks, allowing Asterisk admins to use the rich dialplan script language or AEL to build a voicemail solution that fits the organization.I’ve named this minivoicemail, which for each addition becomes moreof a bad choice of name for this project. Flexivoicemail could be better… :-)I’ve removed functionality like ODBC and IMAP support, something thatc an be reapplied later. I’ve also not replaced the hooks into other channels for voicemail notification, but that can be done too. I haven’t started replacing voicemailmain(), since I\’ve focused on the need of larger systems where one only supports e-mail notifications of voicemail with audio attached.What I currently have is:Applications

  • MinivmGreet: Play voicemail greetings (busy/unavailable/temporary)
  • MinivmRecord: Record voicemail message
  • MinivmNotify: Notify account owner of message (email, pager)
  • MinivmDelete: Delete message

Dialplan functions

  • MINIVMACCOUNT() – Get properties of voicemail account

CLI commands

  • minivm show settings¬†
  • minivm reload
  • minivm show stats
  • minivm list accounts
  • minivm list templates

New features:

  • E-mail and pager templates in variouslanguages.
  • All apps are usable without setting up a voicemail “account” for auser.Just run the app with an e-mail address as an argument.

The branch is based on Asterisk 1.2 and can easily be downloaded from¬†svn.digium.com/svn/asterisk/team/oej/minivoicemail¬†I need testers, ideas for new applications and possibly coders that canhelp to complete this.Here’s how you start

  • Checkout this branch, compile and install
  • Check the minivm.conf.sample for instructions
  • Read the top of the source code file for a list of ideas, todo’s and changes

And if you want to encourage me further, paypal to info at edvina.net, thanks!