Top Banner
Titel bitte hier angeben! Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“ Tom Wellige, Swyx Solutions AG
37

Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Jan 03, 2016

Download

Documents

Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“ Tom Wellige, Swyx Solutions AG. This session is going to be webcasted. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben!

Swyx Technology Conference 2011„Smart Call Routing with Persistent Variables“

Tom Wellige, Swyx Solutions AG

Page 2: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 2 / 37

This session is going to be webcasted.

Because of that I would kindly like to ask you to switch off your mobile phones (really off - not just silent) to prevent any negative interference on the audio recording.

THANK YOU!

Smart Call Routing with Persistent Variables

Page 3: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 3 / 37

• The main tool - the Graphical Script Editor (GSE)• Extendability - How to add own VBScript Code• If things do not work - Error Handling and Tracing• Get organized! - GSE Rule Parameters and GSE Actions• Spread your work! - Install own rules/actions using the IpPbx File Explorer• Put everything together! - e.g. Persistent Variables• Make it easy! - usage of Persistent Variables• Don‘t invent the wheel a second time! - some examples• Want more? - hints and help

Agenda

Smart Call Routing with Persistent Variables

Page 4: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 4 / 37Smart Call Routing with Persistent Variables

Page 5: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 5 / 37

• The GSE is the tool to build Call Routing Scripts, from simple to highly complex.• Lots of so blocks provide a

huge set of functionality.• The blocks are graphically

connected.• Build in functionality includes

announcements, recordingmessages, connect a call,voicemails, remote inquiry,call queues, etc.

• Missing functionality can beextended!

The main tool - the Graphical Script Editor (GSE)

Smart Call Routing with Persistent Variables

Page 6: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 6 / 37

• Behind the scenes Call Routing Scripts are compiled into VBScripts, so it is quite natural that it is also possible to add own VBScript code into a Call Routing Script.

• Use the Insert Script Code block to paste in pieces of code anywhere into the script.

Extendability - How to add own VBScript Code (1)

Smart Call Routing with Persistent Variables

Page 7: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 7 / 37

• Use the Start block to paste in your VBScript functions.

Extendability - How to add own VBScript Code (2)

Smart Call Routing with Persistent Variables

Page 8: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 8 / 37

• Call your VBScript functions from nearly everywhere from within the Call Routing Script.

Extendability - How to add own VBScript Code (3)

Smart Call Routing with Persistent Variables

Page 9: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 9 / 37

• Call your VBScript functions from nearly everywhere from within the Call Routing Script.

Extendability - How to add own VBScript Code (4)

Smart Call Routing with Persistent Variables

Page 10: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 10 / 37

• GSE Build In Functions

• Server Script API

• VBScript Build In Functions

Extendability - How to add own VBScript Code (5)

Smart Call Routing with Persistent Variables

Page 11: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 11 / 37

• Standard error handling disconnects a call on any “run time” error within a Call Routing Script.

• Run time errors can occur in many situations like database access, file access, invalid calculations, and so on.

• To be able to create some proper error handling into a Call Routing Script the standard error handling has to be disabled

If things do not work - Error Handling and Tracing (1)

Smart Call Routing with Persistent Variables

Page 12: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 12 / 37

• Proper error handling in Call Routing Scripts depends on the script itself.• Runtime errors occur in the VBScript code part of this script.• So, how to get the error from the VBScript code part of the script back into the

graphical part of the script ?

• The most easiest way is to:• Write a function around a “run time error” endangered code snippet. This

function returns either true or false, depending if an error occurred or not .• Use an Evaluate block to route the result into the graphical part of the script

If things do not work - Error Handling and Tracing (2)

Smart Call Routing with Persistent Variables

Page 13: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 13 / 37

If things do not work - Error Handling and Tracing (3)

Smart Call Routing with Persistent Variables

Page 14: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 14 / 37

• How to figure problems on a running system ?• Make use of SwyxWare’s trace mechanism.

• Trace as many information as necessary/possible. • Do not only trace errors but also success.• The more information you trace the more easy it will become in the future to

figure what’s going wrong

If things do not work - Error Handling and Tracing (4)

Smart Call Routing with Persistent Variables

Page 15: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 15 / 37

If things do not work - Error Handling and Tracing (5)

Smart Call Routing with Persistent Variables

Page 16: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 16 / 37

• Make re-useable rules.• Values that need to be modified per

user/usage should be extracted from the rule and made rule parameters.

Get organized! - GSE Rule Parameters and GSE Actions (1)

Smart Call Routing with Persistent Variables

Page 17: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 17 / 37

Get organized! - GSE Rule Parameters and GSE Actions (2)

Smart Call Routing with Persistent Variables

Page 18: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 18 / 37

Get organized! - GSE Rule Parameters and GSE Actions (3)

Smart Call Routing with Persistent Variables

Page 19: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 19 / 37

Get organized! - GSE Rule Parameters and GSE Actions (4)

Smart Call Routing with Persistent Variables

Page 20: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 20 / 37

• An action can be seen as a subroutine.• It can be easily used in many different

scripts of different users.• It encapsulates complicated stuff in just

one GSE block, e.g. the remote inquiry

Get organized! - GSE Rule Parameters and GSE Actions (5)

Smart Call Routing with Persistent Variables

Page 21: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 21 / 37

Get organized! - GSE Rule Parameters and GSE Actions (6)

Smart Call Routing with Persistent Variables

Page 22: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 22 / 37

Get organized! - GSE Rule Parameters and GSE Actions (7)

Smart Call Routing with Persistent Variables

Page 23: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 23 / 37

• After having finished a rule export it as RSE file.• To install it for another user create a new rule and import the RSE file.• There is no other way to distribute rules!

• After having finished an action download two files from the database by using the IpPbx File Explorer:• actionNAME.ase• actionNAME.vbs

• To install it for another or all users use the IpPbx File Explorer to upload these files into the USER scope or the GLOBAL scope.

Spread your work! - Install rules/actions using the IpPbx File Explorer (1)

Smart Call Routing with Persistent Variables

Page 24: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 24 / 37

Spread your work! - Install rules/actions using the IpPbx File Explorer (1)

Smart Call Routing with Persistent Variables

Page 25: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 25 / 37

• After having seen how to extend GSE functionality, how to do it in an organized way and how to distribute this new functionality on other SwyxWare machines it is time to take a look on some examples doing exactly this.

• There are lots of such extensions already available (for free or commercial).• One of the freely available extensions are the so called

• Persistent Variables

• A persistent variable keeps it’s content even after an application/script has been terminated, while a common variable will loose it’s content and is empty on the next start of an application/script.

Put everything together! - e.g. Persistent Variables (1)

Smart Call Routing with Persistent Variables

Page 26: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 26 / 37

• The persistent variables are implemented as a GSE Action and can therefore be used in any extended call routing script.

• One step of installing them on a SwyxWare machine is to upload two files (ase and vbs) into the SwyxWare database using the IpPbx File Explorer.

• By uploading these files into the global scope the persistent variables can be used in any script of any user.

• There is of course a little bit more to do to install them, but that’s just related on how these persistent variables work and have nothing to do with SwyxWare.

• You will get everything you need (setup, documentation, examples) from the Swyx Forum page:• Projects - Call Routing Extensions - Documentation - Persistent Variables

Put everything together! - e.g. Persistent Variables (2)

Smart Call Routing with Persistent Variables

Page 27: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 27 / 37

• The project provides an easy to use VBScript class (PersistentVariable) which stores it's content into a database and retrieves it from there.

• The visibility, i.e. scope, of a persistent variable can be configured finely grained:• User• Global• Namespace

• A variable with the scope User is accessible form all scripts of the current user. A user scope variable of another user with the same name does not interfere.

• A variable with the scope Global is accessible from all scripts of all users.• A variable with the scope Namespace is accessible from any script (of any user)

defining the same namespace. A variable being stored in another namespace but with the same name does not interfere.

Make it easy! - usage of Persistent Variables (1)

Smart Call Routing with Persistent Variables

Page 28: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 28 / 37

• The default scope is User, i.e. each user has his own set of persistent variables without need to worry to interfere with other user's scripts.

• So, how to use them?

• Put the Persistent Variables GSE Action into you call routing script.

Make it easy! - usage of Persistent Variables (2)

Smart Call Routing with Persistent Variables

Page 29: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 29 / 37

• Afterwards you can declare a persistent variable more or less just like you would declare a common VBScript variable:

Make it easy! - usage of Persistent Variables (3)

Smart Call Routing with Persistent Variables

• To store something in it, just do it like you would do it with a common variable:

Page 30: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 30 / 37

• And reading from a persistent variable works the same:

Make it easy! - usage of Persistent Variables (4)

Smart Call Routing with Persistent Variables

• Or directly within a GSE block:

Page 31: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 31 / 37

• Example: Night Switch

Make it easy! - usage of Persistent Variables (5)

Smart Call Routing with Persistent Variables

Page 32: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 32 / 37

• Example: Night Switch Manager

Make it easy! - usage of Persistent Variables (6)

Smart Call Routing with Persistent Variables

Page 33: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 33 / 37

• There are lots of examples available!• The SwyxPEDIA wiki tries to gather all of them together at one single point:

• SwyxWare Development

• Just a few examples…

• IsAgentFree• IsCallTransferred• IsExternalRedirectionConfigured• IsRedirectedFrom

Don‘t invent the wheel a second time! - Some examples… (1)

Smart Call Routing with Persistent Variables

Page 34: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 34 / 37

• And even more examples…

• Call logging into database• Caller verification against database• Twitter incoming calls• Launch command line application from within an ECR script• Launch an URL from within an ECR script

• Conference Room Manager• Open Queue• Longest Idle

• And much much more!

Don‘t invent the wheel a second time! - Some examples… (2)

Smart Call Routing with Persistent Variables

Page 35: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 35 / 37

• The Swyx Knowledge Base!• http://www.swyx.com/support• Scroll the page down!

Want more? - hints and help (1)

Smart Call Routing with Persistent Variables

Page 36: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 36 / 37

• Swyx Forumhttp://www.swyx-forum.com• SwyxPEDIA - Wiki (examples)• Forum (help/discussion)• Projects (inspiration/examples)

• Swyx Partner Net Forumhttps://partnernet.swyx.com/forum

• SwyxECR for Developers Training (2 days, instead of 1 hour)

Want more? - hints and help (2)

Smart Call Routing with Persistent Variables

Page 37: Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“

Titel bitte hier angeben! 37 / 37

• Join me between the sessions for a chat• Meet me in the forums• Take part in my training

Thank you for your interest!

Smart Call Routing with Persistent Variables