Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.



Html
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.11';
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

...

Info

The Article describes the procedure that allows users to dial a specific number from their phone to change their voicemail password.

Created: March 2020

Permalink: https://confluence.wildix.com/x/N4AbB

Table of Contents

Introduction

...

There is a required script called “changePIN.php” that you need to upload to your system and place it in /var/www/scripts directory.  You can of course put the script in some other suitable place if you choose but you will need to adjust the corresponding entry in “execute” number within “changeVMPIN” procedure if you do so. Make sure that “changePIN.php” has execution permissions and is owned by WMS user.

Download the script: View filename

changePIN.phpheight150 

Dialplan Configuration

A Dialplan called “changeVMPIN” is was created to allow users to dial a number to change their voicemail password.  In the example Within this dial plan, the access number is 7777 but this number can be changed to anything that you desire.  

Import the Dialplan to your system and include it in any procedure your users already have access to (most likely "users" Dialplan).  For clarity, we mean add it as an “included procedure”.:

Download the Dialplan: 

Prior to WMS 5.03:                   Starting from WMS 5.03:

Section
View file
namedialplan_2020.03.27_11.49.34_wildixacd_4.03.44914.08_221100002b70.bkp
height150
         

View file
namedialplan_2021.11.12_17.23.31_usateam502_5.03.20210927.4_221100006d85.bkp
height150

...

Then create the following entry in users dial plan (or any dial plan your users are using):


changeVMPIN Dialplan procedure consists of:

...

  • Custom application -> NoOp(Setting all needed variables)
  • Set -> attempts -> 0
  • Custom application -> Set(uid=${SHELL(ldapsearch -xLLL -D 'cn=admin,dc=wildix' -b 'dc=wildix' -w 'wildix' '(&(objectClass=wPerson)(|(telephoneNumber=${CALLERID(num)})))' userPIN | grep dn | tr -d '\n')})
  • Custom application -> Set(pin=${SHELL(ldapsearch -xLLL -D 'cn=admin,dc=wildix' -b 'dc=wildix' -w 'wildix' '(&(objectClass=wPerson)(|(telephoneNumber=${CALLERID(num)})))' userPIN | grep userPIN | tr -d '\n')})
  • Custom application -> Read(pass,00000/vmpass,5,,2,5)
  • Jump to -> changeVMPIN procedure -> set "start" number
  • Hangup -> 16 - Normal Call Clearing

change

  • Custom application -> NoOp(Changing vm password)
  • Custom application -> Read(pass1,00000/getnewpass,5,,2,5)
  • Custom application -> Read(pass2,00000/getnewpass&00000/again,5,,2,5)
  • Jump to if -> ${pass1}==${pass2} -> changeVMPIN procedure -> set "execute" number
  • Play sound -> Entered passwords do not match, please try again
  • Jump to -> changeVMPIN procedure -> set "change" number

execute

  • Jump to if -> ${LEN(${pass1})}!=5 -> changeVMPIN procedure -> set "finish" number
  • Remote script -> /var/www/scripts/changePIN.php
  • Hangup -> 16 - Normal Call Clearing

finish

  • Play sound -> too many wrong attempts or password length minor than 5 digits
  • Hangup -> 16 - Normal Call Clearing

start

  • Jump to if -> ${attempts}==3 -> changeVMPIN procedure -> set "finish" number
  • Jump to if -> ${REGEX("^.*${pass}$" ${pin})} -> changeVMPIN procedure -> set "change" number
  • Set -> attempts -> $[${attempts} + 1]
  • Play sound -> Wrong password
  • Custom application -> Read(pass,00000/vmpass,5,,2,5)
  • Jump to -> changeVMPIN procedure -> set "start" number

Recap of Setup Steps

  1. Create sounds in the system
  2. Download the “changePIN.php” script and copy it to the system under the /var/www/scripts directory.
  3. Make the script file executable and change it’s ownership to wms
  4. Download the dial plan and include into any users dial plans that need access to itcreate a pilot number to jump to ext 7777 on the imported dial plan.


Html
<div class="fb-like" data-href="https://confluence.wildix.com/x/N4AbB" data-layout="button_count" data-action="recommend" data-size="large" data-show-faces="true" data-share="true"></div>

...