Features
- Password protected
- Separate away and unavailable greetings
- Default or custom greetings
- Multiple mail folders
- Web interface for checking of voicemail
- E-mail notification of voicemail with audio file attachment
- Voicemail forwarding
- Visual message waiting indicator (MWI)
- Message waiting stutter dialtone
The number of messages for each voicemailbox is limited to 99 messages. Starting with Asterisk 0.7.1 the system now plays a prompt warning the user that the mailbox is full and cannot record any more messages.
Enhanced voicemail
New features (as of April 28, 2004)
- Option to have the CID of the caller heard before the voicemail
- Option to allow an operator to be reached after leaving a voicemail
- Option to review, rerecord, or save voicemails after leaving them
- Option to review, rerecord, or save busy, unavailable, and name prompts.
- Option to allow dialing out from within voicemail
- Option to allow calling back of the person who left voicemail (with the correctly formatted contexts in extensions.conf)
- Group voicemail (voicemail broadcast)
VoiceMail contexts.
The context defined in the voicemail.conf corresponds to entries in the channel configuration file, i.e. zapata.conf and sip.conf which require the context to be appended to the mailbox when using VoiceMail2.
Configuration lines for a voicemailbox in voicemail.conf:
[YourVoicemailContext]
210 => 5555,John Smith,[email protected]
Line in zapata.conf or sip.conf:
mailbox=210@YourVoicemailContext
The location of saved messages also changes with the context:
/var/spool/asterisk/voicemail/YourVoicemailContext/210/INBOX
VoiceMail includes a time stamp with the message by default.
When listening to a message you’ll hear when it was recorded.
Please note
- Voicemails are saved on the server in all formats specified in voicemail.conf, but only the first format specified is sent as an attachment to the email.
- The /contrib/scripts directory of /usr/src/asterisk contains a Perl script that can be applied to regularly expire too old voicemail messages
Sending voicemail emails as MP3’s
The easiest way to have Asterisk send voicemails as mp3 files is to use the script found on www.generationd.com This script even extracts the message number, sender name, sender number, etc. and inserts them as tags into the mp3 file. It even allows you to insert a logo (cover art) for your company into the mp3 file. This scripts also ensure that you can playback voicemail files on android phones! (Format compatability)
Here is another method for sending voicemail as an MP3 using a perl script that works just fine.
note: my <pathto> is /var/lib, some peoples will be /usr/share.
1. ensure “attachfmt=wav” and “format=wav|gsm”
2. Put the below script in: /<pathto>/asterisk/agi-bin/mp3vm.pl
3. chmod a+rx mp3vm.pl
4. modify mailcmd=perl /<pathto>/asterisk/agi-bin/mp3vm.pl
5. install lame if you don’t already have it
6. check the path to perl, base64, dos2unix and lame and modify the script and mailcmd as needed. (If you are getting 0kb files, your path to lame is likely wrong.)
#!/usr/bin/perl
open(VOICEMAIL,"|/usr/sbin/sendmail -t");
open(LAMEDEC,"|/usr/bin/dos2unix|/usr/bin/base64 -di|/usr/local/bin/lame --quiet --preset voice - /var/spool/asterisk/tmp/vmout.$$.mp3");
open(VM,">/var/spool/asterisk/tmp/vmout.debug.txt");
my $inaudio = 0;
loop: while(<>){
if(/^\.$/){
last loop;
}
if(/^Content-Type: audio\/x-wav/i){
$inaudio = 1;
}
if($inaudio){
while(s/^(Content-.*)wav(.*)$/$1mp3$2/gi){}
if(/^\n$/){
iloop: while(<>){
print LAMEDEC $_;
if(/^\n$/){
last iloop;
}
}
close(LAMEDEC);
print VOICEMAIL "\n";
print VM "\n";
open(B64,"/usr/bin/base64 /var/spool/asterisk/tmp/vmout.$$.mp3|");
while(<B64>){
print VOICEMAIL $_;
print VM $_;
}
close(B64);
print VOICEMAIL "\n";
print VM "\n";
$inaudio = 0;
}
}
print VOICEMAIL $_;
print VM $_;
}
print VOICEMAIL "\.";
print VM "\.";
close(VOICEMAIL);
close(VM);
#CLEAN UP THE TEMP FILES CREATED
#This has to be done in a separate cron type job
#because unlinking at the end of this script is too fast,
#the message has not even gotten piped to send mail yet
attribution: minor modifications to script from user “analognipple” from trixbox.org
Dependencies
- The voicemail system follows the language setting, see Asterisk cmd SetLanguage
- The voicemail storage directory is specified in asterisk.conf
- The sound files used for prompts is by default english
Old versions:
- cmd VoiceMail2
- cmd VoiceMailMain2
See Also
- Advanced Voicemail: 1CTI – Innovator® SIP Based Voice Messaging interfaces with IP-PBXs like Asterisk. – 1CTI
- Magic VoiceMail: Magicvoicemail say your style write by perl with AGI
- Asterisk chinese voicemail intro: Speak Intro voice with chinese usage
- Asterisk gui tycho: Eclipse based voicemail client/manager
- Asterisk gui vmail.cgi: Web application to manage voice mail
- Voicemail / Messaging RESt middleware for asterisk: Can be used to build an AJAX UI.
- cmd VoiceMail
- cmd VoiceMailMain
- cmd HasNewVoicemail
- cmd MailboxExists
- Asterisk MWI: Working with Message Waiting Indication
- Asterisk sound files: Description of the standard sound files in Asterisk
- Script to Age/Delete old Voicemails: Deletes voicemail files from spool
- Asterisk tips callback: Voicemail callback tip
- Asterisk voicemail database: Database support in voicemail
- Asterisk Voicemail ODBC storage: Voicemail file storage via ODBC
- Tip: Voicemail for Asterisk Realtime configuration
- Tip: Voicemail based upon AIM messenger status
- Tip: Voicemail live: Answering machine mimic: Listen while caller is leaving voicemail for you, with pick-up option
- Tip: Centralized Voicemail amongst multiple Asterisk Servers
- Tip: ((Script to Age/Delete old Voicemails|vmspool_manager)): Perl script that deletes voicemails older than a selectable number of days.
- Tip: Shell script to age and renumber voicemail messages
- Tip: Shared voicemail – How to set up shared/group voicemail and use custom device states for MWI
- Tip: Asterisk Voicemail to Email w/ Gmail and Postfix – Configure Postfix on CentOS for Asterisk Voicemail to Email using a Gmail Account