Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Sv translation
languageen

Introduction

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.

  • So why so many?
  • And why does the list keep on growing with every release?
  • And what can I do with them?

Image Modified

Image Modified

Image Modified

Demo Scenario

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:

  • During office hours of the Munich branch
    • play a welcome prompt "Welcome to our Munich branch"
    • Ask the caller to press 1 for sales and 2 for technical support
    • Connect to either sales or technical support, depending on the choice the caller makes
  • Outside of Munich office hours or on German Holidays, play a prompt with the opening times of the Munich branch

You might build the application a little like this:

Image Modified

Then, a week later, you get a request to build the following application for the Amsterdam branch service number:

  • During office hours of a branch in Amsterdam
    • play a welcome prompt welcoming the caller to the Amsterdam branch
    • Ask the caller to press 1 for sales and 2 for technical support
    • Connect to either sales or technical support department in Amsterdam, depending on the choice the caller makes
  • Outside of Amsterdam office hours or on Dutch Holidays, play a prompt with the opening times of the Amsterdam branch

You copy the application, and change the following:

  • Change the opening times and holidays to the Amsterdam and Dutch opening times and holiday lists
  • Change the welcome and closed prompts to the prompts for the Amsterdam office
  • Change the destination number used in the connect objects for Sales and Support 

Then a week later, you get a request to build the same application for the London branch ...

Warning
iconfalse

You start to think that this is all getting a bit repetitive ...

Is there a Better Way?

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:

Use Variable Objects

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:

Image Modified

You can see, they look the same, except for the gear wheel on the variable object.

Let's look inside:

Image ModifiedImage Modified

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?

  • You put the ID of the prompt you want to play. For example, to play the same prompt as in the Play Voice object, you need the ID of the "JTEL - Willkommen" prompt, which in our case happens to be 2.
  • You can get the ID as shown in the following screenshot:

Image Added

Warning
iconfalse

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".

Info
iconfalse

Try it out!

Use Variables

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.

Info
iconfalse

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.

Populate the Variables using the Service Number Parameters

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:

Image Added

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:

Image Added

would result in the following variables being setup:

  • $holidaylists1_id Will contain the ID of the holiday list for Bavaria
  • $openingtimes1_idWill contain the ID of the opening times list for the Munich Office


Info
iconfalse

Get the idea?

You can now build the application just once, using variable objects for:

  • The opening times / holidays check object
  • The play voice objects
  • The connect to sales and support objects

Finished Application

The finished application will look something like this:

Image Added

Variable Objects

Let's look inside the variable objects. As you can see, these all reference parameters (variables) defined in the service number parameters.

Branch Opening Hours

Image Added

Welcome

Image Added

Closed

Image Added

Connect Sales

Image Added

Connect Support

Image Added

Service Number Parameters

And finally let's see the relevant service number parameters.

Image Added

Image Added

Image Added

Other Service Numbers

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.

Info
iconfalse

Remember: you always need to specify the language parameter for the service!

Conclusions

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:

  • The language used
  • ACD groups used in the routing
  • IVR statistics markers
  • Opening times
  • Destination numbers
  • User profiles
  • TTS engines

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!

Sv translation
languagede

Einführung

Haben Sie sich schon einmal gefragt, warum das jtel System so viele Variablen in der Konfiguration der Servicenummern-Parameter zur Verfügung hat?

Die folgenden Screenshots zeigen Ihnen die derzeit verfügbaren Parameter.

  • Warum also so viele?
  • Und warum wächst die Liste mit jedem Release weiter an?
  • Und was kann ich damit machen?

Image Added

Image Added

Image Added

Demo-Szenario

Zum besseren Verständnis betrachten wir ein einfaches Demoszenario, bei dem das System von mehreren Niederlassungen gemeinsam genutzt wird.

Stellen Sie sich vor, Sie müssen eine IVR-Anwendung erstellen, die für die Servicenummer in München Folgendes tun soll:

  • Während der Geschäftszeiten der Münchner Niederlassung
    • einen Begrüßungsprompt "Willkommen in unserer Münchner Niederlassung" abspielen
    • Aufforderung an den Anrufer, die 1 für den Vertrieb und die 2 für den technischen Support zu drücken
    • Verbinden entweder mit dem Vertrieb oder dem technischen Support, je nachdem, welche Wahl der Anrufer trifft
  • Außerhalb der Münchener Geschäftszeiten oder an Feiertagen eine Ansage mit den Öffnungszeiten der Münchener Niederlassung abspielen

Sie könnten die Anwendung in etwa so aufbauen:

Image Added

Dann, eine Woche später, erhalten Sie eine Aufforderung, die folgende Anwendung für die Servicenummer der Niederlassung Amsterdam zu erstellen:

  • Während der Geschäftszeiten der Filiale in Amsterdam
    • einen Begrüßungsprompt abspielen, der den Anrufer in der Niederlassung Amsterdam willkommen heißt
    • Aufforderung an den Anrufer, die 1 für den Vertrieb und die 2 für den technischen Support zu drücken
    • Verbinden entweder mit dem Vertrieb oder dem technischen Support in Amsterdam, je nachdem, welche Wahl der Anrufer trifft
  • Außerhalb der Amsterdamer Bürozeiten oder an niederländischen Feiertagen wird eine Ansage mit den Öffnungszeiten der Amsterdamer Niederlassung abgespielt

Sie kopieren die Anwendung und ändern Folgendes:

  • die Öffnungszeiten und Feiertage auf die Amsterdamer und niederländischen Öffnungs- und Feiertagslisten
  • die Begrüßungs- und Schließungsansagen auf die Ansagen für die Amsterdamer Niederlassung
  • die in den Verbindungsobjekten für Vertrieb und Support verwendete Zielnummer 

Dann, eine Woche später, erhalten Sie eine Anfrage, die gleiche Anwendung für die Londoner Niederlassung zu erstellen ...

Warning
iconfalse

Sie beginnen zu denken, dass sich das alles ein bisschen wiederholt ...

Gibt es einen besseren Weg?

Die gute Nachricht ist: ja, die gibt es!

Sie müssen die Anwendung nur einmal erstellen, und Sie können die Anwendung für alle drei Servicenummern wiederverwenden.

So gehen Sie vor:

Variable Objekte verwenden

Variable Objekte in der jtel IVR werden verwendet, um die gleiche Funktionalität wie "normale" Objekte auszuführen, aber basierend auf dem Inhalt einer Variable.

Schauen wir uns die Objekte Ausgabe Ansage und Ausgabe variable Ansage an:

Image Added

Beide sehen gleich aus, bis auf das Zahnrad am variablen Objekt.

Lass uns hineinschauen:

Image AddedImage Added

Das Objekt Ausgabe Ansage stellt Ihnen Dropdown-Listen zur Verfügung, in denen Sie aus allen Prompts, die Sie in das System hochgeladen haben, den gewünschten Prompt auswählen können.

Dies ist ein fester Wert, der mit der Anwendung gespeichert wird.

Das Objekt Ausgabe variable Ansage stellt Ihnen ein Feld zur Verfügung, in das Sie etwas eingeben können. 

Was geben Sie also hier ein?

  • Sie geben die ID der Ansage ein, den Sie abspielen möchten. Um zum Beispiel den gleichen Prompt wie im Ausgabe Ansage Objekt abzuspielen, benötigen Sie die ID der Ansage "JTEL - Willkommen", die in unserem Fall 2 ist.
  • Sie können die ID wie im folgenden Screenshot gezeigt finden:


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?

  • You put the ID of the prompt you want to play. For example, to play the same prompt as in the Play Voice object, you need the ID of the "JTEL - Willkommen" prompt, which in our case happens to be 2.
  • You can get the ID as shown in the following screenshot:

Image Modified

Warning
iconfalse

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".

Info
iconfalse

Try it out!

Use Variables

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.

Info
iconfalse

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.

Populate the Variables using the Service Number Parameters

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:

Image Modified

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:

Image Modified

would result in the following variables being setup:

  • $holidaylists1_id Will contain the ID of the holiday list for Bavaria
  • $openingtimes1_idWill contain the ID of the opening times list for the Munich Office


Info
iconfalse

Get the idea?

You can now build the application just once, using variable objects for:

  • The opening times / holidays check object
  • The play voice objects
  • The connect to sales and support objects

Finished Application

The finished application will look something like this:

Image Modified

Variable Objects

Let's look inside the variable objects. As you can see, these all reference parameters (variables) defined in the service number parameters.

Branch Opening Hours

Image Modified

Welcome

Image Modified

Closed

Image Modified

Connect Sales

Image Modified

Connect Support

Image Modified

Service Number Parameters

And finally let's see the relevant service number parameters.

Image Modified

Image Modified

Image Modified

Other Service Numbers

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.

Info
iconfalse

Remember: you always need to specify the language parameter for the service!

Conclusions

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:

  • The language used
  • ACD groups used in the routing
  • IVR statistics markers
  • Opening times
  • Destination numbers
  • User profiles
  • TTS engines

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!