Page MenuHomePhabricator

Provisioning: Voicemail
AG Projects RTC Platforms (Provisioning Guides)

This guide describes the provisioning functions for Voicemail.

The provisioning is performed using the SOAP/XML functions present in the Voicemail port described in NGNPro WSDL.

To add a voicemail account for a SIP account, the Voicemail.addAccount() method must be used. For each newly created account, a mailbox number will be automatically generated by the provisioning to uniquely identify the voicemail account. If you set the mailbox by yourself, please note that the Asterisk configuration might need to be updated, for example if you give shorter voicemailboxes (3, 4 digits), that are not accepted by default.

By default mailboxes are created starting with number 1000000.

You can configure the voicemail server to delete or store the received voicemail messages by setting VoicemailAccount.VoicemailOptions.delete attribute to True or False, respectively.

To forward requests of a SIP account to the Voicemail account, use the voice-mailbox wildcard as a value for FUNC, FNOL, FUNV, FNOA, FBUS forwarding indicators in the Sip.setCallDiversions() method.

Each SIP account can access its own voicemail messages and settings by dialing the voicemail extension (by default *70) configured in the SIP Proxy in:

/etc/opensips/config/settings.m4
# Number to dial to get to voicemail
define(`VOICEMAIL_NUMBER', `*70')

Some devices are using the * key internally. For such devices you may create an alias in the platform (like voicemail or a full number without *).

Voice messages are by default sent by email. If you wish to store the on the voicemail server and listen to them using a telephone device you must enable voicemail storage option for each SIP account using the provisioning API. If the server storage option is enabled, a Message Waiting Indicator (a.k.a MWI) is sent to the devices that subscribed for this event, the devices supporting such feature will provide an indication that voice messages have been stored on the server.

MWI is enabled if the storage of message on server is enabled. MWI is reset by accessing the voicemail box using a SIP phone.

To change the default content of asterisk email notification, you must edit /etc/asterisk/config/settings.m4 and customise the following directives:

# Voicemail email settings
define(`VM_EMAIL_BODY',     `');
define(`VM_EMAIL_FROM_NAME',`')
define(`VM__EMAIL_FROM',`')
define(`VM_EMAIL_SUBJECT',`')
define(`VM_DATE_FORMAT', `%d-%m-%Y on %T')

; Change the from, body and/or subject, The following variables can be used:
;     ${VM_NAME}, ${VM_DUR}, ${VM_MSGNUM}, ${VM_MAILBOX}, ${VM_CALLERID}, ${VM_CIDNUM},
;     ${VM_CIDNAME}, ${VM_DATE}

After changing, the config files need to be regenerated and asterisk reload or restart is required:

sudo msp-reconfigure
sudo asterisk -r reload

SOAP/XML functions

  • VoicemailPortaddAccount()
  • VoicemailPortupdateAccount()
  • VoicemailPortdeleteAccount()
  • VoicemailPortgetAccount()
  • VoicemailPortsetAnnouncement()

Next Steps

Continue by: