Swyx Technology Conference 2011

Slides:



Advertisements
Similar presentations
Numbers Treasure Hunt Following each question, click on the answer. If correct, the next page will load with a graphic first – these can be used to check.
Advertisements

In-Box A/R As Of. In-Box VBS Menu WMN2001S Page 2.
1
Kapitel 9. Copyright © Houghton Mifflin Company. All rights reserved.9 | 2 1. Reflexive pronouns.
1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 2 Getting Started.
© 2008 Pearson Addison Wesley. All rights reserved Chapter Seven Costs.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Chapter 1 The Study of Body Function Image PowerPoint
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 3 CPUs.
Myra Shields Training Manager Introduction to OvidSP.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
UNITED NATIONS Shipment Details Report – January 2006.
RXQ Customer Enrollment Using a Registration Agent (RA) Process Flow Diagram (Move-In) Customer Supplier Customer authorizes Enrollment ( )
Writing Pseudocode And Making a Flow Chart A Number Guessing Game
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
Properties of Real Numbers CommutativeAssociativeDistributive Identity + × Inverse + ×
Create an Application Title 1A - Adult Chapter 3.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Mike Scott University of Texas at Austin
For Translators and Translation Editors Note-Taking presents... by Riccardo Schiaffino CTA 3rd Annual Conference Boulder, May © Riccardo Schiaffino,
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
Excel Functions. Part 1. Introduction 2 An Excel function is a formula or a procedure that is performed in the Visual Basic environment, outside the.
1. 2 Objectives Become familiar with the purpose and features of Epsilen Learn to navigate the Epsilen environment Develop a professional ePortfolio on.
Solve Multi-step Equations
REVIEW: Arthropod ID. 1. Name the subphylum. 2. Name the subphylum. 3. Name the order.
Intel VTune Yukai Hong Department of Mathematics National Taiwan University July 24, 2008.
ETS4 - What's new? - How to start? - Any questions?
PP Test Review Sections 6-1 to 6-6
Campaign Overview Mailers Mailing Lists
Modern Programming Languages, 2nd ed.
EU market situation for eggs and poultry Management Committee 20 October 2011.
EU Market Situation for Eggs and Poultry Management Committee 21 June 2012.
Vanderbilt Business Objects Users Group 1 Reporting Techniques & Formatting Beginning & Advanced.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Outline 24.1 Test-Driving the Ticket Information Application.
XML and Databases Exercise Session 3 (courtesy of Ghislain Fourny/ETH)
1 Undirected Breadth First Search F A BCG DE H 2 F A BCG DE H Queue: A get Undiscovered Fringe Finished Active 0 distance from A visit(A)
Exercise 1: Install PC Software & NXT Firmware
2 |SharePoint Saturday New York City
Green Eggs and Ham.
1 What is JavaScript? JavaScript was designed to add interactivity to HTML pages JavaScript is a scripting language A scripting language is a lightweight.
BEEF & VEAL MARKET SITUATION "Single CMO" Management Committee 18 April 2013.
VOORBLAD.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
© 2012 National Heart Foundation of Australia. Slide 2.
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Model and Relationships 6 M 1 M M M M M M M M M M M M M M M M
25 seconds left…...
1 Using one or more of your senses to gather information.
Analyzing Genes and Genomes
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Essential Cell Biology
Intracellular Compartments and Transport
PSSA Preparation.
Essential Cell Biology
Immunobiology: The Immune System in Health & Disease Sixth Edition
Energy Generation in Mitochondria and Chlorplasts
Profile. 1.Open an Internet web browser and type into the web browser address bar. 2.You will see a web page similar to the one on.
User Defined Functions Lesson 1 CS1313 Fall User Defined Functions 1 Outline 1.User Defined Functions 1 Outline 2.Standard Library Not Enough #1.
TCP/IP Protocol Suite 1 Chapter 18 Upon completion you will be able to: Remote Login: Telnet Understand how TELNET works Understand the role of NVT in.
Chapter 9: Using Classes and Objects. Understanding Class Concepts Types of classes – Classes that are only application programs with a Main() method.
Presentation transcript:

Swyx Technology Conference 2011 „Smart Call Routing with Persistent Variables“ Tom Wellige, Swyx Solutions AG

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

Agenda 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 Smart Call Routing with Persistent Variables

Maintool is GSE But from my point of view it only gets interesting beyond the GSE, beyond it‘s standard features This session is about to show the possibilities to extend functionality, to make the most out of the GSE, to show the additional tools. Smart Call Routing with Persistent Variables

The main tool - the Graphical Script Editor (GSE) 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, recording messages, connect a call, voicemails, remote inquiry, call queues, etc. Missing functionality can be extended! Smart Call Routing with Persistent Variables

Extendability - How to add own VBScript Code (1) 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. Smart Call Routing with Persistent Variables

Extendability - How to add own VBScript Code (2) Use the Start block to paste in your VBScript functions. Smart Call Routing with Persistent Variables

Extendability - How to add own VBScript Code (3) Call your VBScript functions from nearly everywhere from within the Call Routing Script. Smart Call Routing with Persistent Variables

Extendability - How to add own VBScript Code (4) Call your VBScript functions from nearly everywhere from within the Call Routing Script. Smart Call Routing with Persistent Variables

Extendability - How to add own VBScript Code (5) GSE Build In Functions Server Script API VBScript Build In Functions Smart Call Routing with Persistent Variables

If things do not work - Error Handling and Tracing (1) 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 Smart Call Routing with Persistent Variables

If things do not work - Error Handling and Tracing (2) 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 Smart Call Routing with Persistent Variables

If things do not work - Error Handling and Tracing (3) Smart Call Routing with Persistent Variables

If things do not work - Error Handling and Tracing (4) 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 Smart Call Routing with Persistent Variables

If things do not work - Error Handling and Tracing (5) Smart Call Routing with Persistent Variables

Get organized! - GSE Rule Parameters and GSE Actions (1) Make re-useable rules. Values that need to be modified per user/usage should be extracted from the rule and made rule parameters. Smart Call Routing with Persistent Variables

Get organized! - GSE Rule Parameters and GSE Actions (2) Smart Call Routing with Persistent Variables

Get organized! - GSE Rule Parameters and GSE Actions (3) Smart Call Routing with Persistent Variables

Get organized! - GSE Rule Parameters and GSE Actions (4) Smart Call Routing with Persistent Variables

Get organized! - GSE Rule Parameters and GSE Actions (5) 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 Smart Call Routing with Persistent Variables

Get organized! - GSE Rule Parameters and GSE Actions (6) Smart Call Routing with Persistent Variables

Get organized! - GSE Rule Parameters and GSE Actions (7) Smart Call Routing with Persistent Variables

Spread your work! - Install rules/actions using the IpPbx File Explorer (1) 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. Smart Call Routing with Persistent Variables

Spread your work! - Install rules/actions using the IpPbx File Explorer (1) Smart Call Routing with Persistent Variables

Put everything together! - e.g. Persistent Variables (1) 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. Smart Call Routing with Persistent Variables

Put everything together! - e.g. Persistent Variables (2) 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 Smart Call Routing with Persistent Variables

Make it easy! - usage of Persistent Variables (1) 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. Smart Call Routing with Persistent Variables

Make it easy! - usage of Persistent Variables (2) 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. Smart Call Routing with Persistent Variables

Make it easy! - usage of Persistent Variables (3) Afterwards you can declare a persistent variable more or less just like you would declare a common VBScript variable: To store something in it, just do it like you would do it with a common variable: Smart Call Routing with Persistent Variables

Make it easy! - usage of Persistent Variables (4) And reading from a persistent variable works the same: Or directly within a GSE block: Smart Call Routing with Persistent Variables

Make it easy! - usage of Persistent Variables (5) Example: Night Switch Smart Call Routing with Persistent Variables

Make it easy! - usage of Persistent Variables (6) Example: Night Switch Manager Smart Call Routing with Persistent Variables

Don‘t invent the wheel a second time! - Some examples… (1) 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 Smart Call Routing with Persistent Variables

Don‘t invent the wheel a second time! - Some examples… (2) 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! Smart Call Routing with Persistent Variables

Want more? - hints and help (1) The Swyx Knowledge Base! http://www.swyx.com/support Scroll the page down! Smart Call Routing with Persistent Variables

Want more? - hints and help (2) Swyx Forum http://www.swyx-forum.com SwyxPEDIA - Wiki (examples) Forum (help/discussion) Projects (inspiration/examples) Swyx Partner Net Forum https://partnernet.swyx.com/forum SwyxECR for Developers Training (2 days, instead of 1 hour) Smart Call Routing with Persistent Variables

Thank you for your interest! Join me between the sessions for a chat Meet me in the forums Take part in my training Smart Call Routing with Persistent Variables