From Kolmisoft Wiki

Jump to: navigation, search


[edit] 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.

[edit] 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.


  • Let's say we have our server on IP connected with SIP to our Asterisk.
  • We create a separate user/device (vm_device) to describe this connection. Device's type is SIP, IP =; set other settings also (codecs/etc).
  • VoiceMail Retrieve Extension (local) = 999.

[edit] 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:


This means that the server on 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.

[edit] 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:


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:

# 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

[edit] 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.

[edit] FROM string

To change the Voicemail email sending FROM field, edit the /etc/asterisk/voicemail.conf file line:

;fromstring=The Asterisk PBX


fromstring=SOME OTHER LINE

... and reload Asterisk.

[edit] 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.

End User can change email field if User have VoiceMail email edit and Devices permissions enabled.

[edit] serveremail

This setting can be used to identify the source of a voicemail notification message.



 serveremail=SOME OTHER LINE





... and reload Asterisk.

Leave only one of those settings, not both.

[edit] 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" or "No Answer" Call states in Call Flow.

UNAVAILABLE message can be only set by using method mentioned above.

If default UNAVAILABLE message is changed, it is recommended to turn off intro message (http://wiki.kolmisoft.com/index.php/Call_Flow#Voicemail)

[edit] 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.

If default BUSY message is changed, it is recommended to turn off intro message (http://wiki.kolmisoft.com/index.php/Call_Flow#Voicemail)

[edit] 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.

[edit] 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:


[edit] Change encoding on voicemail emails

If you use, for e.g. Greek language in Voicemail text or in Users details in MOR you need to enable the UTF-8 Encoding.

To do so, first of all enable it on Ast.Voicemail side. Edit /etc/asterisk/voicemail.conf, uncomment charset and make it UTF-8 :


To apply changes reload the Voicemail in Asterisk CLI:

VM*CLI> voicemail reload

This will lead to send Voicemail emails in UTF-8 Encoding. However, if you have User with details which are in, for e.g. Greek language, Asterisk should read the data from DB using UTF-8 Encoding.

For this, edit the /etc/asterisk/res_config_mysql.conf, uncomment dbcharset and set it to UTF-8:

dbcharset = utf8

Once changes are applied, reload Asterisk:

VM*CLI> reload

Now, Asterisk will correctly send text in UTF-8 Encoding even if, for e.g., Greek text is used in Voicemail email text or in DB.

[edit] Change Voicemail language

Set language in Device Edit window.

[edit] See also

Personal tools


Try M2