Have you ever wondered why the jtel System has so many variables available in the configuration of the Service Number parameters?
The following screenshots show you the parameters currently available.
General Parameters |
---|
Language - [$languages_id] : |
Second Service Number - [$alternative_servicenumbers_id] : |
User or Agent - [$usersID] : |
ACD Parameters |
---|
ACD Agent Group - [$acd_agent_groups_id] : |
ACD Agent Group 2 - [$acd_agent_groups_id2] : |
ACD Agent Group 3 - [$acd_agent_groups_id3] : |
ACD Agent Group 4 - [$acd_agent_groups_id4] : |
ACD Agent Group 5 - [$acd_agent_groups_id5] : |
ACD Agent Group 6 - [$acd_agent_groups_id6] : |
ACD Agent Group 7 - [$acd_agent_groups_id7] : |
ACD Agent Group 8 - [$acd_agent_groups_id8] : |
ACD Configuration Group - [$acd_configuration_groups_id] : |
ACD Configuration Group 2 - [$acd_configuration_groups_id2] : |
ACD Configuration Group 3 - [$acd_configuration_groups_id3] : |
ACD Configuration Group 4 - [$acd_configuration_groups_id4] : |
ACD Configuration Group 5 - [$acd_configuration_groups_id5] : |
ACD Configuration Group 6 - [$acd_configuration_groups_id6] : |
ACD Configuration Group 7 - [$acd_configuration_groups_id7] : |
ACD Configuration Group 8 - [$acd_configuration_groups_id8] : |
ACD Group (Standalone) - [$acd_groups_id] : |
ACD Group 2 (Standalone) - [$acd_groups_id2] : |
ACD Group 3 (Standalone) - [$acd_groups_id3] : |
ACD Group 4 (Standalone) - [$acd_groups_id4] : |
ACD Group 5 (Standalone) - [$acd_groups_id5] : |
ACD Group 6 (Standalone) - [$acd_groups_id6] : |
ACD Group 7 (Standalone) - [$acd_groups_id7] : |
ACD Group 8 (Standalone) - [$acd_groups_id8] : |
Skill 1 - [$acd_servicenumber_skillsID1] : |
Minimum Skill 1 - [$acd_servicenumber_skillsValue1] : |
Skill Timeout - [$acd_servicenumber_skillsTimeout] : |
Call Priority - [$caller_priority] : |
Do not send ALERT (ringing) at group start : |
Prompts |
---|
Prompt 1 - [$announcement1_id] : |
Prompt 2 - [$announcement2_id] : |
Prompt 3 - [$announcement3_id] : |
Prompt 4 - [$announcement4_id] : |
Prompt 5 - [$announcement5_id] : |
Prompt 6 - [$announcement6_id] : |
Prompt 7 - [$announcement7_id] : |
Prompt 8 - [$announcement8_id] : |
Prompt 9 - [$announcement9_id] : |
Prompt 10 - [$announcement10_id] : |
Prompt 11 - [$announcement11_id] : |
Prompt 12 - [$announcement12_id] : |
Prompt 13 - [$announcement13_id] : |
Prompt 14 - [$announcement14_id] : |
Prompt 15 - [$announcement15_id] : |
Prompt 16 - [$announcement16_id] : |
IVR-Menu Prompt - [$IVRMenu] : |
IVR-Menu Prompt 2 - [$IVRMenu2] : |
IVR-Menu Prompt 3 - [$IVRMenu3] : |
IVR-Menu Prompt 4 - [$IVRMenu4] : |
IVR Statistics Markers |
---|
IVR Statistics Marker 1 - [$ivr_statistics_marker1_id] : |
IVR Statistics Marker 2 - [$ivr_statistics_marker2_id] : |
IVR Statistics Marker 3 - [$ivr_statistics_marker3_id] : |
IVR Statistics Marker 4 - [$ivr_statistics_marker4_id] : |
IVR Statistics Marker 5 - [$ivr_statistics_marker5_id] : |
IVR Statistics Marker 6 - [$ivr_statistics_marker6_id] : |
IVR Statistics Marker 7 - [$ivr_statistics_marker7_id] : |
IVR Statistics Marker 8 - [$ivr_statistics_marker8_id] : |
IVR Statistics Marker 9 - [$ivr_statistics_marker9_id] : |
IVR Statistics Marker 10 - [$ivr_statistics_marker10_id] : |
TTS Parameters |
---|
TTS Engine - [$tts_engines_id] : |
Holiday Lists |
---|
Holiday List 1 - [$holidaylists1_id] : |
Holiday List 2 - [$holidaylists2_id] : |
Opening Times |
---|
Opening Times 1 - [$openingtimes1_id] : |
Opening Times 2 - [$openingtimes2_id] : |
Opening Times 3 - [$openingtimes3_id] : |
Opening Times 4 - [$openingtimes4_id] : |
Opening Times 5 - [$openingtimes5_id] : |
Opening Times 6 - [$openingtimes6_id] : |
Opening Times 7 - [$openingtimes7_id] : |
Opening Times 8 - [$openingtimes8_id] : |
Destination Numbers |
---|
Destination Number 1 - [$cnumbers1_id] : |
Destination Number 2 - [$cnumbers2_id] : |
Destination Number 3 - [$cnumbers3_id] : |
Destination Number 4 - [$cnumbers4_id] : |
Destination Number 5 - [$cnumbers5_id] : |
Destination Number 6 - [$cnumbers6_id] : |
Destination Number 7 - [$cnumbers7_id] : |
Destination Number 8 - [$cnumbers8_id] : |
Users Profiles |
---|
Users Profiles 1 - [$usersprofiles1_id] : |
Users Profiles 2 - [$usersprofiles2_id] : |
Users Profiles 3 - [$usersprofiles3_id] : |
Users Profiles 4 - [$usersprofiles4_id] : |
Lists |
---|
List 1 [$lists1_id] : |
List 2 [$lists2_id] : |
List 3 [$lists3_id] : |
List 4 [$lists4_id] : |
Texts |
---|
Text 1 - [$text1] : |
Text 2 - [$text2] : |
Text 3 - [$text3] : |
Text 4 - [$text4] : |
To help you understand, let's consider a simple demo scenario where the system is shared by several branch offices.
Imagine, you need to build an IVR application which needs to do the following on the Munich service number:
You might build the application a little like this:
Then, a week later, you get a request to build the following application for the Amsterdam branch service number:
You copy the application, and change the following:
Then a week later, you get a request to build the same application for the London branch ...
You start to think that this is all getting a bit repetitive ... |
The good news is: yes, there is!
You only have to build the application once, and you can re-use the application for all three service numbers.
Here's what to do:
Variable Objects in the jtel IVR are used to execute the same functionality as "normal" objects, but based on the contents of a variable.
Let's look at the Play Voice and the Play Voice with Variable ID objects:
You can see, they look the same, except for the gear wheel on the variable object.
Let's look inside:
The Play Voice object provides you with drop-down lists where you can select the prompt you require from all prompts you have uploaded to the system.
This is a fixed value, which is saved with the application.
The Play Voice with variable ID object provides you with a field where you can type in anything.
So what do you put here?
Note: the actual IDs will almost certainly be different on different systems, as the ID is a chronological value assigned by the database software when the record is created in the database table. |
So putting the value 2 in the ID - Voice Prompt field will play "JTEL - Willkommen".
Try it out! |
You can also use variables here. That's where these "variable" objects get their names.
Let's imagine, you have declared a variable $myPrompt and assigned this the value of 2.
Then you would get the same result.
Try it out! Hint: add a variable assignment object directly after the start object. Then change the ID value in the Play Voice with variable ID object to $myPrompt. |
Now for the trick with the service number parameters.
When you setup the service number parameters, what actually happens is the system declares variables for you before the application is started.
So for example, if you setup the following in the service number:
Prompts | Content |
---|---|
Prompt 1 - [$announcement1_id] : | JTEL - Willkommen |
What actually happens, is the jtel system assigns the variable $announcement1_id (shown on the left) the value of the ID of the JTEL - Willkommen prompt when the routing application is started.
You therefore get a variable called $announcement1_id which in this configuration contains the value 2.
Similarly, setting up these two parameters:
Holiday Lists | Content |
---|---|
Holiday List 1 - [$holidaylists1_id] : | Feiertag Bayern |
Holiday List 2 - [$holidaylists2_id] : |
Opening Times | Content |
---|---|
Opening Times 1 - [$openingtimes1_id] : | Munich Office |
Opening Times 2 - [$openingtimes2_id] : |
would result in the following variables being setup:
Get the idea? You can now build the application just once, using variable objects for:
|
The finished application will look something like this:
Let's look inside the variable objects. As you can see, these all reference parameters (variables) defined in the service number parameters.
And finally let's see the relevant service number parameters.
Prompts | Content |
---|---|
Prompt 1 - [$announcement1_id] : | JTEL - Willkommen |
Prompt 2 - [$announcement2_id] : | JTEL - Opening Times Munich |
Holiday Lists | Content |
---|---|
Holiday List 1 - [$holidaylists1_id] : | Feiertag Bayern |
Holiday List 2 - [$holidaylists2_id] : |
Opening Times | Content |
---|---|
Opening Times 1 - [$openingtimes1_id] : | Munich Office |
Opening Times 2 - [$openingtimes2_id] : |
Destination Numbers | Content |
---|---|
Destination Number 1 - [$cnumbers1_id] : | Munich Sales () |
Destination Number 2 - [$cnumbers2_id] : | Munich Support () |
The other two service numbers would be configured in the same way - using the same routing application, but different sets of parameters for the prompts, opening times and holiday lists, and connect destinations.
Remember: you always need to specify the language parameter for the service! |
Using "variable" objects enables you to create generic, re-usable applications.
You can parameterise these applications using assignments to variables using the service number parameters.
This makes for quick and easy re-use of applications allowing you to specify variable content for:
As we continue to develop the system, watch out for new parameters. And when you see one, you can be sure there will be an IVR object to match!
Try it out - have fun and good luck with it!