Setup Custom Group Voicemail for Yeastar S-Series IPPBX

Introduction

Group Voicemail also known as Voicemail Blasting, that let you send a voicemail message notification to multiple users at the same time. For Yeastar S-Series VoIP IPPBX, we could make a dummy extension's voicemail as Group Voicemail, and system create an monitor hint for multiple extensions BLF key monitoring. In this guide, we take dummy extension 1000 voicemail to be the Group Voicemail.

Main Steps

  • Make a bash script "groupmwi.sh"
  • Customize the voicemail.conf
  • Customize the extensions.conf
  • Add devstate for this Group Voicemail into Asterisk built-in database
  • Configure the BLF key in IP Phone

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. 

Note: 1000 is the extension number to be used as the group voicemail. Replace the number as required.

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,

[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 = 97705,1,Answer
exten = 97705,2,VoicemailMain(705@default)

[groupmwihint]
exten = 97705,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 looks like:

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

[groupmwihint]
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

include = groupmwihint

 

 

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 IPPBX

Step 6 Configure the BLF key in IP Phone

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

Registration.png

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

 

Step 7 Test

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

 

 

Have more questions? Submit a request

2 Comments

  • 0
    Avatar

    This actually does not work with S100.  While light will turn read within 60-120 seconds of receiving a voicemail, it will never return to green after deleting or listening to a VM.

    hardware: V1.40 0000-0000
    software: 30.10.0.34
    sn: 369381977343
    product: Yeastar S100
    oem: Yeastar S100

    Only way to fix this was to modify the shell script and run a cron job every 60 seconds.

  • 0
    Avatar

    Hello, at Step 3 cannot edit the file /ysdisk/support/customcfg/extensions_custom.conf, I am getting permission denied

    Yeastar S50

    Firmware Version : 30.10.0.59

Please sign in to leave a comment.