utilizing the power of the uui and local shared ... - avaya

22
UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES CONTENTS 1. Preface…………………………………………………………………………………………………………………....... 2 2. Design Summary and Requirements .………………………………………………………………………... 3 2.1 Assumptions…………………………………………………………………………………………………. 3 2.2 Client Requirements…………………………………………………………………………………….. 3 2.3 Programming Overview…………………………………………….………………………………….. 3 3. Detailed Programming Logic………………..…………………………………………………………………….. 4 3.1 Variables…...…………………………………………………………………………………………………. 4 3.2 Vdns………………………..…………………………………………………………………………………….. 5 3.3 Vector Logic………………..…………………………………………….………………………………….. 6

Upload: others

Post on 22-Oct-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Utilizing the power of the UUI and Local Shared ... - Avaya

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

CONTENTS

1. Preface…………………………………………………………………………………………………………………....... 2

2. Design Summary and Requirements .………………………………………………………………………... 3

2.1 Assumptions…………………………………………………………………………………………………. 3

2.2 Client Requirements…………………………………………………………………………………….. 3

2.3 Programming Overview…………………………………………….………………………………….. 3

3. Detailed Programming Logic………………..…………………………………………………………………….. 4

3.1 Variables…...…………………………………………………………………………………………………. 4

3.2 Vdns………………………..…………………………………………………………………………………….. 5

3.3 Vector Logic………………..…………………………………………….………………………………….. 6

Page 2: Utilizing the power of the UUI and Local Shared ... - Avaya

Page 2

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

1. PREFACE

Variables in Vectors were introduced in CM Release 2.0 and expanded on with every new release of CM.

Additional capacity, as well as new ways to use the variables has been an ever evolving process in the

design of Contact Center Vectors ever since. Implementing variables in several different ways allows for

consultants to be both creative in their programming as well as aid in consolidation and efficiency of the

call processing.

While no designs are ever the exact same there are several methods to implementing variables that can

be used over and over as applicable.

As a consultant or programmer we must always use caution when working with variables, as while we

may understand the concepts, some Clients can be reluctant to implement them due to a lack of

understanding. For that reason alone it is always a wise choice to use comments in vectors so that the

Clients can understand what the logic is doing.

An assumption when integrating variables in vectoring is that you have a firm grasp of how each type of

variable can used, specifically how the asai-uui variable can be utilized. An understanding of Vdn

Variables, Announcements, Vector Directory Numbers (VDNs), Hunt Groups, and Vector Programming

concepts is also necessary.

-Curtis Nunn, Avaya Professional Services

February, 2013

Page 3: Utilizing the power of the UUI and Local Shared ... - Avaya

Page 3

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

2. Design Summary and Requirements

2.1 Assumptions

CM will be on CM Release 5.2 or higher.

Client allows use of variables in the Vectors.

2.2 Client Requirements

The client requests programming that will allow for individual skills to have separate Emergency checks

and does not want to manage several vectors. The skills are managed by different Managers so the

need for protected activation of Emergency is a requirement. They would also like to be able

activate/deactivate the emergency treatment internally from any Avaya telephone set, as well as

externally from a cell phone. Each skill would also need the capability of up to three different three

treatments (Mailbox, Extension, Announcement) in an emergency condition. The client is also using

several variables and would like to use a single one that can support up to 16 skills each. They would

also like to expand on this so that each new single variable added can support up to 16 skills. They

would also like the ability to have custom hold and greeting messages for each Vdn used. Call priorities

should be determined by the Vdn that directs the caller to the vector processing logic.

2.3 Programming Overview

We will be using several UUI variables to handle the activation of the emergency values for each Skill.

One global collect variable will be used to support the 16 different skills. Three local collect variables to

handle the custom hold messages, call priorities, and emergency flags. A stepcount variable will also be

added to prevent disconnection of callers. A total of five vectors will be used to setup this logic up.

One of the vectors can be used enterprise wide while the other four would just need to be duplicated

with only some minor logic changes to support each set of 16 Skills.

Special Note on the Variables: UUI and the local collect variables only need to be built once and can

reused system wide. For each additional group of up to 16 Skills you add one additional global collect

variable that is setup identical to variable we are using in our example.

Page 4: Utilizing the power of the UUI and Local Shared ... - Avaya

Page 4

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

3. Detailed Programming Logic

3.1. Variable Reference Screen

Definitions of the Variables Used

1. A: Local collect type with a length of 1. Used to store the Emergency Flag Value. Can be used

system wide for other applications.

2. B: Local collect type with length of 4. Used to store announcements, mailbox numbers, and

Extension Numbers. . Can be used system wide for other applications.

3. C: Local collect type with a length of 2. Used to store the Skill Number. Can be used system

wide for other applications.

4. D: Global collect type with a length of 16. Used to support the first set of 16 Skills, with each

position being a flag value for each of these Skills. For each new set of 16 Skills you would add

an additional variable of this type.

5. E – T: Temporary locations to store values of each Skills Emergency Flag Values into UUI.

Remember UUI stays with each call until completion. Can be used system wide for other

applications.

6. U: Temporary full 16 digit String of UUI value, each position represents a Skills Emergency flag

value.

7. V: Stepcount variable used in vector logic so that the maximum number steps are not reached.

Limits are 1000 for release CM 5.2 and lower and 10000 starting in CM release 6.0

Page 5: Utilizing the power of the UUI and Local Shared ... - Avaya

Page 5

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

3.2. Vdn Reference Screen- Example of 5 Vdns to understand logic

Vdn Name Vector V1 Desc V1 Value V2 Desc V2 Value

3000 Eastern Sales Skill 10 1 Pri,Sk,Emrg Opt 210400050001050 Queue Msgs 110011011102

3001 Central Sales Skill 11 1 Pri,Sk,Emrg Opt 111400150011051 Queue Msgs 110311041105

3002

Mountain Sales Skill

12 1 Pri,Sk,Emrg Opt 312400250021052 Queue Msgs 110611071108

3003 Pacific Sales Skill 13 1 Pri,Sk,Emrg Opt 413400350031053 Queue Msgs 110911101111

3004

3173290111 Emerg

DID 3

Password

Prompt 1000

Options

Prompt 1002

Breakdown of Settings

1. Vdn: Number assigned for call processing

2. Name: Description of Call Type

3. Vector: Which vector the Vdn will point to for call processing

4. V1 Desc: Shortened verbiage for what we will be using the values in V1 for

5. V1 Value: 1st

Digit=Queue Priority, 2nd

– 3rd

Digits=Skill number, 4th

– 7th

Digits= Emergency

Mailbox Number, 8th

– 11th

Digits=Emergency Extension Number, 12th

– 15th

Digits= Emergency

Announcement Number

6. V2 Desc: Shortened verbiage for what we will be using the values in V2 for

7. V2 Value: 1st

– 4th

Digits=Greeting Announcement Number, 5th

– 8th

Digits=First Hold

Announcement Number, 9th

– 12th

Digits=Continue Hold Announcement Number

NOTE: Be sure you understand the VDN Override Rule. These Vdns need to be the Active one in control

otherwise the V1 and V2 values will not work.

Page 6: Utilizing the power of the UUI and Local Shared ... - Avaya

Page 6

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

3.3. Vector Logic

Page 7: Utilizing the power of the UUI and Local Shared ... - Avaya

Page 7

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Let’s review the rationale behind the relevant program steps one at a time:

4) This is an optional step but is still widely used to start the call processing

6) Step will grab the positions 2 and 3 from left to right in what is stored in Vdn Variable V1. The value

will then be stored in a local variable “C”. The SEL 14 statement means to look at the entire string of

numbers in V1 and then move from right to left 14 positions. Since Variable “C” is defined as 2 digits in

length it will grab the 1st

two digits in the string.

8) This will run our emergency subroutine; the logic will be explained further in that subroutine vector

10) Step will grab the first 4 digits from left to right in what is stored in Vdn Variable V2. The value will

then be stored in a local variable “B”. The SEL 12 statement means to look at the entire string of

numbers in V2 and then move from right to left 12 positions. Since Variable “B” is defined as 4 digits in

length it will grab digits 1-4 in the string. P will now be the Greeting Announcement Number

11) Greeting Announcement is now played, the Extension Number is now stored in variable “B”

13) This will run our priority and queuing subroutine, the logic will be explained further in that

subroutine vector

15) Step will grab the second set 4 digits from left to right in what is stored in Vdn Variable V2. The

value will then be stored in a local variable “B”. The SEL 8 statement means to look at the entire string

of numbers in V2 and then move from right to left 8 positions. Since Variable “B” is defined as 4 digits in

length it will grab digits 5-8 in the string. P will now be the First Hold Announcement Number

16) First Hold Announcement is now played, the Extension Number is now stored in variable “B”

20) Using a Stepcount Variable “V” we need to make sure that if more than 950 steps have been

executed for this call that we break the loop while in queue. Send the call to music only if the value has

been exceeded.

22) Step will grab the third set 4 digits from left to right in what is stored in Vdn Variable V2. The value

will then be stored in a local variable “B”. The SEL 4 statement means to look at the entire string of

numbers in V2 and then move from right to left 4 positions. Since Variable “B” is defined as 4 digits in

length it will grab digits 9-12 in the string. B will now be the Continue Hold Announcement Number

23) Continue Hold Announcement is now played, the Extension Number is now stored in variable “B”

25) This will run our emergency subroutine; the logic will be explained further in that subroutine vector

26) Looping command to continue processing. Will send back to step 17 which will play music

27) Used to play music if the stepcount threshold is met

Page 8: Utilizing the power of the UUI and Local Shared ... - Avaya

Page 8

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Vector 2 Continued Next Page

Page 9: Utilizing the power of the UUI and Local Shared ... - Avaya

Page 9

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Vector 2 Continued Next Page

Page 10: Utilizing the power of the UUI and Local Shared ... - Avaya

Page

10

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Let’s review the rationale behind the relevant program steps one at a time:

2-17) We use this ladder check to see the value of variable “C”. Remember we set this value to the

actual Skill number in the queuing vector. Depending on the value the call will be sent a specific step so

we can further process the emergency logic. If the value is not set or is not in the ladder check we

return back to the queuing vector at the next step in line.

22-53) These steps handle setting up the value of Variable “A”. Each different Skill uses a specific

position in the Global Variable “D”. Remember “A” is one digit in length whereas “D” is the full sixteen

digits allowed. “A” is also a local variable so it can be changed again and again throughout the call. Now

let’s take a closer look at step 22. Step 22 is using the SEL command again. In particular what the logic

does is to make “A” equal to the 1st

position in the sixteen digit string contained in “D”. The SEL

command says 16, so we move from right to left 16 positions, and since “A” is only one digit in length we

grab that value and make “A” equal to it. Example: D= 2000000000000000 then step 22 would make

the value of “A” equal to 2.

This process then repeats for each skill, with each using a specific position, thus in step 24 you will see

the SEL 15 statement, step 26 would use the SEL 14 statement, and so on and so forth until all sixteen

positions are accounted for. Thus you have now given each individual Skill a specific location within the

Global variable “D”.

We then go to step 56 for further processing.

57-60) Using another ladder check we are just looking at the value of “A” so a decision can be made as

to how to handle the call. If A equals 1 or an invalid value we simply return back to the queuing vector

at the next step in line. If A equals 2, 3, 9 then we continue on for further processing.

64)This logic is valid if “A” was equal to a value of 2. Which means send the call to a mailbox. Step will

grab the positions 4-7 from left to right in what is stored in Vdn Variable V1. The value will then be

stored in a local variable “B”. The SEL 12 statement means to look at the entire string of numbers in V2

and then move from right to left 12 positions. Since Variable “B” is defined as 4 digits in length it will

grab digits 4-7 in the string. “B” will now be the Mailbox Number

Page 11: Utilizing the power of the UUI and Local Shared ... - Avaya

Page

11

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

65)Will send the call to the Messaging System and open the mailbox number that is now stored in

variable “B”

67) This logic is valid if “A” was equal to a value of 3. Which means send the call to an extension. Step

will grab the positions 8-11 from left to right in what is stored in Vdn Variable V1. The value will then be

stored in a local variable “B”. The SEL 8 statement means to look at the entire string of numbers in V2

and then move from right to left 8 positions. Since Variable “B” is defined as 4 digits in length it will grab

digits 8-11 in the string. B will now be the Extension Number to route the call to.

68)Will route the call to the extension number which is now stored in “B”

70) This logic is valid if “A” was equal to a value of 9. Which means play a announcement and

disconnect. Step will grab the positions 12-15 from left to right in what is stored in Vdn Variable V1.

The value will then be stored in a local variable “B”. The SEL 4 statement means to look at the entire

string of numbers in V2 and then move from right to left 4 positions. Since Variable “B” is defined as 4

digits in length it will grab digits 12-15 in the string. B will now be the announcement extension number

to play

71)Will play the emergency announcement and disconnect the caller. Announcement extension to play

is now stored in “B”

Page 12: Utilizing the power of the UUI and Local Shared ... - Avaya

Page

12

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Vector 3 Continued Next Page

Page 13: Utilizing the power of the UUI and Local Shared ... - Avaya

Page

13

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Vector 3 Continued Next Page

Page 14: Utilizing the power of the UUI and Local Shared ... - Avaya

Page

14

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Vector 3 Continued Next Page

Page 15: Utilizing the power of the UUI and Local Shared ... - Avaya

Page

15

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Page 16: Utilizing the power of the UUI and Local Shared ... - Avaya

Page

16

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Let’s review the rationale behind the relevant program steps one at a time:

3-22) Using a ladder check we are just looking at the value of the digits entered so we can send the

caller to specific steps within this vector, or vector 4. The digits entered in this case are password digits

that are for specific control of the 16 individual skills. The prompt is played first (announcement

extension stored in Vdn variable V1), and a there is an invalid announcement played at the end of the

ladder check if the digits are not correct.

23-64) The sequence in these steps is essentially identical; however the major difference is where we

are storing the value entered in the Global Variable “D”. To break this down let’s examine how steps 25-

28 actually work.

-Step 25 we first must take the current 16 digit value of Global Variable “D” and insert it into the UUI

Variable “U”. Example: D equal 3420000000000000, so the command in step 25 we make UUI Variable

“U” equal to this same value.

-Step 26 will play a prompt asking the caller what treatment they want the emergency value set to

(Prompt announcement number is stored in Vdn Variable V2)

-Step 27 will load the value of the digit entered into Position one of the UUI String. This is because UUI

variable E is defined as the first position in the digit string, and is a length of 1. So looking back at what

happened in Step 25 the current value of U would be 3420000000000000. In an example let’s say the

caller wants to return the emergency value back to normal operations, they would enter a value of 1 at

the prompt. Since variable E represents start position one the new value of the UUI string is now set to

1420000000000000. Notice the change, position one is now equal to value of 1.

-Step 28 then sends the caller to further processing at step 65, which will be explained in detail after the

next paragraph.

Now that we have examined the process in steps 25-28 the logic remains the same all the way to step

64, with the difference being which UUI Variable is used to store the single digit value. Notice that each

one of these is a length of 1, but the Start position is sequentially incremented. So Variable F would

start at position two, G would be at position three, and so forth.

65-66)Since we have now changed a value in UUI Variable “U” we must now reverse the logic so that we

make the value of Global Variable “D” equal to what is stored in “U”. Using the example given in step

27 the value of “U” is 1420000000000000, so the Set command in step 66 will make “D” equal to that

value.

69-80) First thing we want to do is make Variable “A” equal to the digit that was entered in the

Emergency Value prompt. This is followed by a ladder check to look at the value of “A”. Depending on

the value different announcements are played and the caller disconnected. Default is normal. This is

done as a courtesy to the caller so that they can check the current value, or verify the entered the

correct option.

Page 17: Utilizing the power of the UUI and Local Shared ... - Avaya

Page

17

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Vector 4 Continued Next Page

Page 18: Utilizing the power of the UUI and Local Shared ... - Avaya

Page

18

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Vector 4 Continued Next Page

Page 19: Utilizing the power of the UUI and Local Shared ... - Avaya

Page

19

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Vector 4 Continued Next Page

Page 20: Utilizing the power of the UUI and Local Shared ... - Avaya

Page

20

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Let’s review the rationale behind the relevant program steps one at a time:

(Same logic used in Vector 3, except the ladder check for the password is not necessary)

1-41) The sequence in these steps is essentially identical; however the major difference is where we are

storing the value entered in the Global Variable “D”. To break this down let’s examine how steps 2-5

actually work.

-Step 2 we first must take the current 16 digit value of Global Variable “D” and insert it into the UUI

Variable “U”. Example: D equal 3420000000000000, so the command in step 2 we make UUI Variable

“U” equal to this same value.

-Step 3 will play a prompt asking the caller what treatment they want the emergency value set to

(Prompt announcement number is stored in Vdn Variable V2)

-Step 3 will load the value of the digit entered into Position nine of the UUI String. This is because UUI

variable M is defined as the ninth position in the digit string, and is a length of 1. So looking back at

what happened in Step 2 the current value of U would be 3420000000000000. In an example let’s say

the caller wants to return the emergency value back to normal operations, they would enter a value of 1

at the prompt. Since variable M represents start position nine the new value of the UUI string is now set

to 3420000010000000. Notice the change, position nine is now equal to value of 1.

-Step 5 then sends the caller to further processing at step 42, which will be explained in detail after the

next paragraph.

Now that we have examined the process in steps 2-5 the logic remains the same all the way to step 41,

with the difference being which UUI Variable is used to store the single digit value. Notice that each one

of these is a length of 1, but the Start position is sequentially incremented. So Variable N would start at

position ten, O would be at position eleven, and so forth.

42-43)Since we have now changed a value in UUI Variable “U” we must now reverse the logic so that we

make the value of Global Variable “D” equal to what is stored in “U”. Using the example given in step

27 the value of “U” is 3420000010000000, so the Set command in step 43 will make “D” equal to that

value.

Page 21: Utilizing the power of the UUI and Local Shared ... - Avaya

Page

21

44-57) First thing we want to do is make Variable “A” equal to the digit that was entered in the

Emergency Value prompt. This is followed by a ladder check to look at the value of “A”. Depending on

the value different announcements are played and the caller disconnected. Default is normal. This is

done as a courtesy to the caller so that they can check the current value, or verify the entered the

correct option.

Page 22: Utilizing the power of the UUI and Local Shared ... - Avaya

Page

22

UTILIZING THE POWER OF THE UUI AND LOCAL SHARED VARIABLES

Let’s review the rationale behind the relevant program steps one at a time:

5) Step will grab the position 1 from left to right in what is stored in Vdn Variable V1. The value will then

be stored in a local variable “A”. The SEL 15 statement means to look at the entire string of numbers in

V1 and then move from right to left 15 positions. Since Variable “A” is defined as 1 digit in length it will

grab digit position 1 in the string.

6-11) We use this ladder check to see the value of variable “A”. Remember we set this value to the

priority in step 5. Depending on the value the call will be queued at a specific priority level. Value 1

equal low, 2 equal medium, 3 equal high, 4 equal top. Invalid numbers and the default treatment are

set to low priority.

13-23) These steps are used to actually queue the call up to the correct priority and then the call is

returned back to the queuing vector at the next step in line. The ladder check used in steps 6-11 is how

calls will reach the 13-23 steps.