Voicemail
Description
Voicemail (or voice mail, voice-mail, vmail or VMS, sometimes called messagebank) is a centralized system of managing telephone messages for a large group of people. The term is also used more broadly, to denote any system of conveying voice messages, including the answering machine. (http://en.wikipedia.org/wiki/Voicemail)
Voicemail is automatically sent to a user's email if the email address is specified in the device details.
An audio recording in WAV format is attached to the email.
One minute of audio takes approx. 100 Kb.
Configuration
This section can be found in ADDONS –> PBX Functions –> External DIDs –> VoiceMail:
- VoiceMail Extension (local) - describes which local extensions a local user can dial to retrieve his voicemail (the system will ask him to enter his voicemail password, which can be set in the device's details).
If you want to setup VoiceMail (VM) on a different server, then the following settings are important:
- VoiceMail Server active - turns VM server on/off. When on, all VM requests will go to distant VM server; when off, VM will be handled locally on Asterisk.
- VoiceMail Server connection/device - describes connection to VM server.
- VoiceMail Retrieve Extension (local) - which extension to dial on a distant VM server to retrieve voicemail for an extension.
Example:
- Let's say we have our server on IP 23.45.67.89 connected with SIP to our Asterisk.
- We create a separate user/device (vm_device) to describe this connection. Device's type is SIP, IP = 23.45.67.89; set other settings also (codecs/etc).
- VoiceMail Retrieve Extension (local) = 999.
First action is when VM is recorded
So now when the VM server is ON and the user with device 201 gets a VM, the call is redirected like this:
Dial(SIP/vm_device/201)
This means that the server on 23.45.67.89 will receive a call to extension 201. The server SHOULD BE configured so that it will process VM correctly when it receives such a call.
Second action - retrieving VM
When user wants to retrieve his VM on a distant machine he dials VoiceMail Extension (local).
He is redirected like this:
Dial(SIP/vm_device/999#201)
Again, the distant server should know how to process such a request.
Let's say we have a distant VM server based on Asterisk.
So in our example its configuration in /etc/asterisk/extensions.conf should look like this:
[incoming] # to retrieve VM exten => _999#.,1,VoiceMailMain(${EXTEN:4}) exten => _999#.,2,Hangup
# to record VM exten => _X.,1,VoiceMail(${EXTEN}) exten => _X.,2,Hangup
Retrieve VoiceMail from outside over DID
- In PBX functions create new function with type: check_voicemail.
- Assign this PBX Function to a DID by editing the DID number.
FROM string
To change the Voicemail email sending FROM field, edit the /etc/asterisk/voicemail.conf file line:
;fromstring=The Asterisk PBX
to:
fromstring=SOME OTHER LINE
... and reload Asterisk.
Email sending when VM is received
- Go to Device settings
- Locate the Voicemail field
- Fill in Email – where to send received Voicemail.
- Fill in Password – the digital password the user enters when he calls the Voicemail number to hear his messages.
serveremail
This setting can be used to identify the source of a voicemail notification message.
;serveremail=asterisk
to:
serveremail=SOME OTHER LINE
OR:
;serveremail=asterisk@linux-support.net
to
serveremail=YOUR COMPANY@YOUR COMPANY.net
... and reload Asterisk.
Leave only one of those settings, not both.
Change UNAVAILABLE message
Dial Voicemail access number (default *97) and press 01; then, after the signal, dictate your UNAVAILABLE message. UNAVAILABLE message is played when call to your device is forwarded to Voicemail by "Failed" Call state in Call Flow.
UNAVAILABLE message can be only set by using method mentioned above.
Change BUSY message
Dial Voicemail access number (default *97) and press 02; then, after the signal, dictate your BUSY message. BUSY message is played when call to your device is forwarded to Voicemail by "Busy" Call state in Call Flow.
BUSY message can be only set by using method mentioned above.
MWI - Message Waiting Indication
This option is available starting from MOR 9
In telephony, a Message Waiting Indicator (MWI) is a telephone calling feature that illuminates a LED on selected telephones to notify a user of waiting voicemail messages. It works on most telephone networks and PBXs. (Wikipedia)
MWI is supported automatically starting from MOR 9.
Most phones support this feature.
Email body and other options
Email body and other options can be changed on /etc/asterisk/voicemail.conf directly.
Description of variables can be found here:
http://astbook.asteriskdocs.org/en/2nd_Edition/asterisk-book-html-chunk/asterisk-APP-D-SECT-41.html