Overview


This application consists of two subsystems:

  • Voice Mail Recording Subsystem
  • Listen to Voice Mail Subsystem


Both of them look like independent applications and require independent call routing setup.

Since version 2.1 of Sippy Softswitch it is possible to mix these applications: when Voice Mail Recording scenario is in action, user can press * and access his Voicemail after Voice Mail PIN check. This feature is controlled by VM Dialing Access account flag.


Voice Mail Recording Subsystem

Note. This application is executed automatically with no additional setup when On-Net Voicemail Connection is enabled.

This application is executed when the callee is unavailable. The application plays prompt and records a caller's voice message into the voice mailbox. These messages can be later inspected by the owner of mailbox using the Listen To Voice Mail Subsystem.

Voicemail control options
  • account's preferences


Main checkbox to be set - VM Enabled

VM Dialin Access checkbox allows reaching voicemail by dialing VM Check # with authentication under that account.

  • routing group's preferences

Default setting allows usage of built-in System Vendor/System Connection



Listen to Voice Mail Subsystem

This subsystem allows the user to listen to the voice messages left by other callers. Could be useful when the user wants to listen his voicemail box by calling to DID number.


In the simple case send the call to the VM Check # to IP of the system, authenticate as account, and proceed with manage of mailbox.


Enhanced call routing setup

  1. Add a DID, assign it to the account you want to use.
  2. In account set VM Enabled checkbox and configure some PIN code for it. The CLI should match the account's username, otherwise the call would be rejected. You can set the CLI translation rule for this account to the account's username.
  3. Add vendor connection. Set the Asterisk's host/port in the Destination field of Vendor Connection (ex: 192.168.0.100:5062).
  4. Set the CLD Translation Rule for the connection to the value s/.*/vm/
  5. Correct the Onnet routing value to the connection you've configured.
  6. Call to the DID number from outside and you'd be prompted to enter the PIN code of the account. Once entered, you'd be able to manage its voicemail box.


Configuration options to be done in ivr_config DB table

Case no record for the needed option is present in ivr_config table, the hard-coded Default value is used. After addition of new option reload of settings would be done by ivrd itself within ~1 minute. Options for the subsystem are stored in the database with the following keys:

Section
Option
Value
Meaning
Default
voicemail
skipaftercmd
Yes/No
Whether to skip to the next message after the current message has been acted upon (deleted/undeleted/stored)
Yes
voicemail
maxsilencetimesec
X seconds
Voice message or custom prompt recording stops automatically if this number of seconds of silence has been detected, replace X with needed number
5 seconds
voicemail
maxmessagetimemsec
X milliseconds
The maximum allowed recording duration for the voice message, replace X with needed number
60000 milliseconds
voicemail
maxgreetingtimemsec
X milliseconds
The maximum allowed recording duration for the custom prompts (busy and unavailable messages), replace X with needed number
30000 milliseconds
voicemail
maxmessages
X
The maximum allowed number of new voicemail messages on per-account basis, after reaching this limit mboxoverflowmode policy would be applied, replace X with needed number. Option available starting from 5.1 version of Sippy
200
voicemail
mboxoverflowmode
reject/purge
Policy to be applied after number of new voicemail messages reaches maxmessages limit.
Option reject will reject attempts to leave new voicemail messages, option purge will purge one of the new messages with oldest arrived time. Option available starting from 5.1 version of Sippy
reject


Starting from 5.2 version the new menu to manage Voicemail is present in Environment additional preferences:



Obsolete options:

voicemail - spooldir, folder where the voice message files are stored(obsolete since in 1.5), default value /var/spool/voicemail


Old call routing setup

  1. Add vendor connection. Set the Asterisk's host/port in the Destination field of Vendor Connection (ex: 192.168.0.100:5062).
  2. Set the CLD Translation Rule for the connection to the value s/^/vm-/
  3. Add route to this connection in the same way as for normal calls but with lower preference than for normal calls. This will forward the call to the Voice Mail after the normal call to destination has failed. (Smaller value in the field Preference of the Vendor Connection Route means lower preference.)


Database usage

The Voice Mail IVR Application stores information about voice messages in the database in the table vm_messages.


Since the 1.5 version the Voice Mail application stopped using the files to store audio and stores the voice messages and custom greetings in the database instead (tables vm_message_data, vm_greetings and some helper tables).


In order to apply the DB modification properly, set i_ivr_instance to 1 for the added records.

That way the option would be applied to the whole environment.