goto step and goto vector commands operation

Last Updated : May 17, 2013 |

Basic operation

If the command syntax includes unconditionally, the command always branches. The unconditional form of the command is commonly used for skipping vector commands as well as for looping through vector commands.

Otherwise, branching takes place according to one of the conditions that follow:

  • The average speed of answer for the indicated split/skill or VDN meets the constraints defined by the comparator and threshold value.

  • The number of available agents in the indicated split/skill meets the constraints defined by the comparator and the threshold value.

  • The number of queued calls in the indicated split/skill and at the specified priority level (or higher) meets the constraints defined by the comparator and the threshold value.

  • The number of active calls in the indicated VDN meets the constraints defined by the comparator and the threshold value.

  • The expected wait time at the specified priority level for the indicated split/skill, or for the call meets the constraints defined by the comparator and the threshold value.

  • The oldest call-waiting in the indicated split/skill at the specified priority level (or higher) has been waiting for a period of time within the constraints defined by the comparator and the threshold value, which is expressed in seconds.

  • The number of staffed agents in the indicated split/skill meets the constraints defined by the comparator and the threshold value.

  • Digits collected using the collect digits command match the criteria defined by the comparator for the specified digit string. Or, the digits are found or not found, depending upon the option chosen, in the specified Vector Routing Table. The # digit can be tested against as a single digit.

  • The ani digits match the criteria defined by the comparator for the specified digit string. Or, the ani digits are found or not found, depending upon the option chosen, in the specified Vector Routing Table.

  • The II-digits match the criteria defined by the comparator for the specified digit string. Or, the II-digits are found or not found, depending upon the option chosen, in the specified Vector Routing Table.

  • Time-of-day criteria are met.

    Note:

    The syntax for this condition can be illustrated by a couple of examples, as follows: mon 8:01 to fri 17:00 means anytime between 8:01 A.M. Monday through 5:00 P.M. Friday, and all 17:00 to all 8:00 means between 5:00 P.M. and 8:00 A.M. on any day of the week.

  • The Expected Wait Time (EWT) for the call is decreased by a period of time within the constraints defined by the comparator and the threshold value, which is expressed in seconds. The improvement in EWT is defined by calculating the difference between the call’s current EWT and its EWT were it to be queued to the resource specified in the command.

  • The call’s position in the interflow-eligible portion of the queue meets the condition defined by the comparator and the threshold value (representing queue position counting backward from 1, which is the head of the eligible queue).

  • For Attendant Vectoring, there is no way to check ahead of time to see if a call can queue, and there is no way to check if, after the fact, a call queued successfully. The queue-fail command allows you to provide additional routing if a call to an attendant vector fails. You can redirect the call to another step or to another vector if the call cannot be queued.

General considerations

When a goto command is used in a vector step to connect to a different VDN, the following events occur:

  1. Vector processing continues at the first step in the branched-to vector.

  2. Call (if queued) remains in queue.

  3. Wait treatment (if any) is continued.

  4. Processing then continues in the receiving vector at step 1.

Unconditional branching

Unconditional branching passes control from the current vector step to a preceding vector step, a subsequent vector step, or to another vector. Unconditional branching is implemented when a goto step or goto vector command is associated with an unconditionally parameter.

The following example shows a vector that uses an unconditional branching step:

Unconditional branching example

1. goto step 8 if calls-queued in split 3 pri m > 10
2. queue-to split 3 pri m
3. wait-time 12 seconds hearing ringback
4. announcement 3001
5. wait-time 30 seconds hearing music
6. announcement 3002
7. goto step 5 if unconditionally
8. busy

In the example shown above, the unconditional branch statement in step 7 establishes a loop between steps 5 through 7. Vector processing within the loop terminates when:

  • An agent answers the call

  • The system recognizes that the caller abandoned the call

Conditional branching

Conditional branching passes control from the current vector step to a preceding vector step, a subsequent vector step, or to another vector. Conditional branching is enabled by a goto step or goto vector command when a conditional statement is associated with the command.

The list of condition statements that can be assigned, which depends on the features enabled in your Communication Manager installation, is summarized in the following table.

Condition statement

Basic call vectoring

Advanced vector routing

ANI and II-digits routing

available-agents

x

x

x

staffed-agents

x

x

x

calls-queued

x

x

x

oldest call-waiting

x

x

x

time-of-day

x

x

x

rolling-asa

x

counted-calls

x

expected-wait

x

ani

x

II-digits

x

service-hours

x

For information about comparators that can be used with the condition statements, see goto step and goto vector command. A to Z and AA to ZZ vector variables and V1 to V9 VDN variables both need Basic Call Vectoring and Vectoring (variables). In addition, V1 to V9 VDN variables need Call Center Software 3.0 or later.

The following vector example includes several goto commands that use conditional branching:

Conditional branching example

1. goto vector 100 if time-of-day is all 17:00 to all 8:00
2. goto vector 200 if time-of-day is fri 17:00 to mon 8:00
3. goto step 8 if calls-queued in split 1 pri l > 5
4. queue-to split 1 pri l
5. announcement 4000
6. wait-time 60 seconds hearing ringback
7. goto step 5 if unconditionally
8. busy

In the above example, conditional branch test statements are used in steps 1 through 3. If the call is placed during non business hours, the goto vector command in Step 1 routes the call to vector 100, but if the call is placed during business hours, control is passed to step 2.

In step 2, the goto vector command tests whether the call is placed during the weekend. If the test outcome is true, the call is routed to vector 200. Otherwise, control is passed to step 3.

In step 3, a goto step command tests for the number of calls that are queued to the main split. If the number of calls is greater than five, control is passed to busy in step 8. If the number of calls is five or less, vector processing continues at step 4, which queues the call to split 1. Finally, steps, 5 through 7 specify an announcement-wait cycle until an agent answers the call or the call is abandoned.