Last week I have shown how to setup a simple call routing script for the conference user to have a different pin validation for every available conference room.
The latest version in that article had an hard coded pin validation for each room in an Evaluate block.
This was ok when still developing the script but I don't consider that version properly usable or a customer as it is quite complicated for an untrained person to change a pin for a conference room.
The GSE comes with a quite handy feature which could help us out here: GSE Rule Parameters.
A GSE rule can have any number of parameters which can be configured from outside the GSE rule, i.e. the call routing manager, and will then be passed into the GSE rule. We will make use of this to have all pins for all conference rooms as parameters, so they can be easily modified from the call routing manager, even from a totally untrained user. WE had seen this actually already in a previous blog, #3: Be more flexible on dates!
So, how do these parameter work? Quite simple actually. With just 3 steps you get them fully functional into your call routing script.
Step 1 - Define the Parameter
Open the properties of your GSE rule and switch to the parameters page. On there you will see an empty list in which you can add any number of parameters.
Press the "+" button to add a parameter. You are now getting asked for three values.
The first value is the name of the parameter. This name will show up in the description field in the call routing manager.
The second value is a variable name. The parameter which is configured on the call routing manager (outside the GSE rule) is available within the GSE rule in this variable.
The third value is the default value for this parameter which is used until the user modifies it. The user will also be able to revert back to this default at any time.
Step 2 - Use the Parameter
Once the parameter is defined it can be used. As said, within the GSE rule it is available in the variable we have defined in step 1. Of course now it depends on what your call routing script should do. In this tiny example I will pass the name of an announcement (file name) into the script and use the "Play Announcement" block to play that file.
As file name we simply use the content of the defined variable.
Step 3 - Set the Description
The final step is to take a closer look onto the description of the GSE rule. As seen in the first image in this article a parameter is a clickable link in the description field of the GSE rule. So somehow we need to write something clever into the description field of the GSE rule, so that the call routing manager will display that clickable link.
You can now read all manuals the SwyxWare comes with and do some extensive Google searches to find a definition of the required syntax for these links... Or....
Press the following button:
This is exactly the reason this button is there for in the first place. By clicking it, the GSE will generate for every configured parameter the required syntax in the description field.
That's it! Save the GSE rule, exit the GSE and the parameter in all its glory in the call routing manager:
By clicking on the link in the description field you are now able to set another announcement file name, which will further on used by the rule and announced for every incoming call.
In case you want to check this little yourself, here it is:
For VBScript based Call Routing
For Lua based Call Routing
Now it is time to take the PIN validation for the conference rooms of last weeks blog article and bring it to the promised next comfort level.
Define parameters for every room:
Use the parameters when validating the PIN:
Set the description field of the GSE rule:
Done! We now have a call routing script for the conference user that provide a PIN validation for each conference room, where it is possible to give every room its own welcome announcement and PIN number, and to modify the different PINs from outside of the GSE rule in the call routing manager.
In case you want to use it/play with it, here it is:
For VBScript based Call Routing:
For Lua based Call Routing:
PS: don't miss to take a look into the ECR Useful Link Collection