Yeastar Blog | How to Set up Group Voicemail for Yeastar S-Series VoIP PBX

If you have ever needed to send voicemail messages like emergency alerts, customer reminders or employee announcements, you can see how a solution like Yeastar Group Voicemail could come in handy.

With Yeastar S-Series VoIP PBX, you are able to deliver the voicemail message to a large group of users instantly, rather than place mass calls to leave the same message.

Group voicemail, also known as Voicemail Blasting, is a group feature on Yeastar S-Series VoIP PBX that allows you to record a voicemail message and broadcast it to multiple recipients at the same time. By sending group voicemail, important messages reach everyone in a simple but effective way.

For Yeastar S-Series VoIP PBX, we could make a dummy extension’s voicemail as Group Voicemail, and system creates a monitor hint for multiple extensions BLF key monitoring. In the following instructions, we take dummy extension 1000 voicemail to be the Group Voicemail.

Step 1. Make the groupmwi.sh

1. Firstly, login to the SSH interface by Putty followed by the guide How to login SSH of Yeastar S Series PBX

2. Create the groupmwi.sh using the command vi /ysdisk/support/tmp/groupmwi.sh, and press i to input the script below in the groupmwi.sh

#!/bin/sh
VM_CONTEXT=$1
EXTEN=$2
VM_COUNT=$3
ASTCMD=”asterisk -rx”
if [ $EXTEN -eq 1000 ];then
if [[ $VM_COUNT = “0” ]];then
logger -t groupmwi “Switch OFF Group mailbox 1 message waiting”
$ASTCMD “devstate change Custom:groupmwi NOT_INUSE”
else
logger -t groupmwi “Switching ON Group mailbox 1 message waiting”
$ASTCMD “devstate change Custom:groupmwi INUSE”
fi
fi
exit 0

3. Press the ESC to quit the edit mode and :wq to save the script in vi editor.

4. Change the permission of this script groupmwi.sh using the command chmod 777 /ysdisk/support/tmp/groupmwi.sh

Step 2 Customize the voicemail.conf

1.Create the custom configuration file voicemail_custom.conf in the directory /ysdisk/support/customcfg. By command: vi /ysdisk/support/customcfg/voicemail_custom.conf

2. Press i and input the content below

[general]
externnotify=/ysdisk/support/tmp/groupmwi.sh

3. Press ESC and :wq to save the changes

Step 3 Customize the extensions.conf

1. Check the /etc/asterisk/extensions.conf by command vi /etc/asterisk/extensions.conf, and find out the context [default] using the command /[Local_Default_CallingRules] in vi editor command mode, then copy all the content of the context [default] to a notepad.

It looks like this,

[Local_Default_CallingRules]
include = sla_stations
include = reset_followme
include = enable_followme_always
include = disable_followme_always
include = enable_followme_noanswer
include = disable_followme_noanswer
include = enable_followme_busy
include = disable_followme_busy
include = enable_dnd
include = disable_dnd
include = vmm
include = en-force-to-outside
include = dis-force-to-outside
include = en-force-to-inside
include = force-to-businesshours
include = parkedcalls
include = conferences
include = ringgroups
include = ivrs
include = queues
include = voicemailgroups
include = pagegroups
include = page_an_extension
include = pickup_extension
include = speeddial
include = exten_dial_config
include = extension-white-and-black-outbound
include = inrouter_feature_dest
include = emergency-number
include = default

*Note: the [Local_Default_CallingRules] context could be different in your unit.

2. Create the custom configuration file extensions_custom.conf in the directory /ysdisk/support/customcfg.

vi /ysdisk/support/customcfg/extensions_custom.conf

3. Press i and add the contents below,

[ext-local-custom]
exten = 971000,1,Answer
exten = 971000,2,VoicemailMain(1000@default)

[hintcontext]
include = park-hints
exten = 971000,hint,Custom:groupmwi

and copy the context [Local_Default_CallingRules] from notepad to this vi editor, insert these 1 line to the [Local_Default_CallingRules]

include = ext-local-custom

Finally, the extensions_custom.conf should look like:

[ext-local-custom]
exten = 971000,1,Answer
exten = 971000,2,VoicemailMain(1000@default)

[hintcontext]
include = park-hints
exten = 971000,hint,Custom:groupmwi

[Local_Default_CallingRules]
include = sla_stations
include = reset_followme
include = enable_followme_always
include = disable_followme_always
include = enable_followme_noanswer
include = disable_followme_noanswer
include = enable_followme_busy
include = disable_followme_busy
include = enable_dnd
include = disable_dnd
include = vmm
include = en-force-to-outside
include = dis-force-to-outside
include = en-force-to-inside
include = force-to-businesshours
include = parkedcalls
include = conferences
include = ringgroups
include = ivrs
include = queues
include = voicemailgroups
include = pagegroups
include = page_an_extension
include = pickup_extension
include = speeddial
include = exten_dial_config
include = extension-white-and-black-outbound
include = inrouter_feature_dest
include = emergency-number
include = default
include = ext-local-custom

4. Press ESC and :wq to save the changes.

Step 4 Add devstate for this Group Voicemail into Asterisk built-in database

1. Log on the Asterisk by command asterisk -rvvvvvvvvvvvv

2. Run the command devstate change Custom:groupmwi INUSE

Step 5 Reboot Yeaster S-Series VoIP PBX
Step 6 Configure the BLF key in IP Phone

1.Register a extension of Yeastar S-Series VoIP PBX in IP Phone, I used Yealink phone for example.

Registration
2. Setup the DSS Key of IP Phone as BLF and monitor the value 971000

mceclip0

Step 7 Test

Leave some voicemails to Extension 1000 for test, The BLF key should turn RED when there are new voicemails and return to Green after the new voicemails have been listened.