Cisco Packaged Contact Center Enterprise Administration and Configuration Guide, Release 10.5(1)
Scripting with Packaged CCE
Downloads: This chapterpdf (PDF - 3.74MB) The complete bookPDF (PDF - 6.01MB) | The complete bookePub (ePub - 1.93MB) | The complete bookMobi (Mobi - 3.91MB) | Feedback

Scripting with Packaged CCE

Contents

Scripting with Packaged CCE

Script Editor and Internet Script Editor

Script Editor and Internet Script Editor

In a Packaged CCE deployment, two tools are available for creating routing and administration scripts—Script Editor and Internet Script Editor. You can use either or both of these two tools. They provide the same functionality, and that functionality is documented in this section. This table lists some considerations:

Script Editor

Internet Script Editor

Is automatically deployed as part of the Unified CCE Data Server installation.

Must be enabled during the installation of the Unified CCE Data Server by selecting it in Web Setup, then downloaded and installed.

Requires a full Administration and Data server. You must run it from the Unified CCE Data Server.

Can be run on a local machine.

Can be used by global administrators.

Can be used by global administrators and departmental administrators.

Imposes no scripting access restrictions for global administrators.

Imposes scripting access restrictions for departmental administrators.

Administrator Privileges in Internet Script Editor

In a Packaged CCE deployment, global administrators and departmental administrators have different access permissions in Internet Script Editor.

Global administrators have access as follows:
  • Full access to scripts and can reference all global and all departments objects when they create scripts.
  • Full access to dynamic scripting nodes.
Departmental administrators have access as follows:
  • Full access to scripts that reference global objects and objects in their departments.
  • Read-only access to scripts that reference Dynamic Scripting Nodes such as formulas.
  • No access to scripts that reference objects that are associated with departments they do not administer.

Install Internet Script Editor

Before You Begin

The Internet Script Editor installer requires Windows 7 (Professional, Enterprise, Ultimate).

You cannot install it directly on a VM.

For example, for Packaged CCE, you cannot install it on the Data Server or on an HDS.

Procedure
    Step 1   Point your browser to server-name/install/iscripteditor.htm, where server-name is the name of the computer on which you installed the distributor with the Internet Script Editor client package.
    Step 2   Enter your Domain and User Name, and Password, then click OK.
    Step 3   Click Download Internet Script Editor.

    You can also open the iscripteditor.exe file directly from the web page.

    Step 4   Navigate to the directory where you want to save iscripteditor.exe.
    Step 5   Click Save to begin the download.
    Step 6   When the download is complete, close the browser.
    Step 7   On your desktop, navigate to iscripteditor.exe and execute the file.
    Step 8   When the InstallShield Wizard for Internet Script Editor starts, click Next to continue.
    Step 9   Select the default Destination Folder by clicking Next; or click Browse to navigate to the desired Destination Folder, and then click Next.
    Step 10   When the InstallShield Wizard indicates the installation is complete, click Finish.

    A shortcut for Internet Script Editor (IScriptEditor) appears on the desktop, as well as in the Start menu in the Programs/Cisco Systems Inc. program group.

    Start Internet Script Editor

    Procedure
      Step 1   Double-click the desktop shortcut for Internet Script Editor (IScriptEditor).
      Step 2   Click Connection.
      Step 3   Enter the correct Address, Port, and ICM Instance information.
      Step 4   Click OK.
      Step 5   Enter your User Name and Password.
      Step 6   Enter the Domain of Unified ICM system.
      Step 7   Click OK.
      Step 8   Upgrade Internet Script Editor as necessary.

      Upgrade Internet Script Editor

      After you start Internet Script Editor, if there is a newer version, you receive a message informing you that you can upgrade Internet Script Editor.


      Note


      Some upgrades are optional; these upgrades typically contain GUI enhancements. Other upgrades, typically involving protocol or database changes, are mandatory. You cannot use Internet Script Editor until you accept mandatory upgrades.
      Procedure
        Step 1   Accept a software upgrade.

        A web page opens from which you can download the new Internet Script Editor.

        Step 2   From this point, follow the directions on installing Internet Script Editor, above.

        You cannot use Internet Script Editor during the upgrade.


        Common Tasks

        Common Tasks

        This section contains information about common tasks you perform in Script Editor. This section does not contain information about every possible task you can perform. For more information on Script Editor, see the Script Editor online help.


        Note


        If you are a department administrator for Packaged CCE deployments (Packaged CCE: CCE-PAC-M1 and Packaged CCE: CCE-PAC-M1 Lab Only), then you will not have access to the Script Editor. Instead, you have to use the Internet Script Editor client, unless restricted by the feature control of the client or by your role.


        The Palette

        Figure 1. Palette Icon

        You can display the Palette by clicking the Palette icon in the Main toolbar or by selecting Palette from the View menu. The Palette contains the icons that represent the nodes used in scripts.

        The available nodes are divided into the following tabs:

        General Tab

        The General tab contains icons for the following scripting activities:

        Routing Tab

        The Routing tab contains icons for the following scripting activities:

        Targets Tab

        The Targets tab contains icons for the following scripting activities:

        Create Routing Script

        Procedure
          Step 1   In Script Editor, choose File > New or click New. You are prompted to select a Routing Script or an Administrative Script:
          Figure 2. New Dialog Box

          Step 2   Click the following icon.
          Figure 3. Routing Script

          The new script opens in the Edit window, with a Start node. (See Start Node.

          Step 3   Build the script.
          Step 4   To save the script, choose File > Save or click Save. You are prompted for a script name.

          Add Comments to a Node

          Most nodes have a Comment tab:

          Figure 4. Comment Tab

          Procedure
            Step 1   To add a comment, type in the Enter text field.
            Step 2   To select the location where you want your comment to appear in the node, select a radio button in the Text justification area.

            Specify a Connection Label Location for a Node

            Most nodes have a Connection Labels tab.

            Procedure
              Step 1   When viewing a script in monitor mode, you can specify the location of connection labels by moving the slider in the Label position area to one of the following locations:
              1. Origin, displays the connection label close to the node you are editing.
              2. Destination, displays the connection label close to the targeted node.
              3. Center, displays the connection label between the nodes.
              Step 2   You can remove the connection label by clearing the Display monitor labels check box.

              Validate Scripts

              Procedure
                Step 1   To validate a single script, with the script open in the active window, choose Script > Validate or click the Validate Icon on the toolbar.

                Step 2   To validate multiple scripts, choose Script > Validate All or on the toolbar, click the Validate All Icon.

                You are prompted to choose between validating active versions of all scripts or all the opened scripts.

                Figure 5. Validate All Query Dialog

                Step 3   Make the appropriate selection and click OK.
                1. If a script is valid, a dialog box opens stating that script is valid.
                2. If the script is not valid, the Validate Script dialog box opens with a list of the errors. When you select an error, the node where the error occurs is highlighted in the Edit window.

                Open Script Explorer

                Procedure
                In Script Editor, choose File > Script Explorer or on the toolbar, click the Explorer Icon.

                The Script Explorer dialog box opens, listing scripts by customer and business entity:

                You can then set the active version of the script, view its properties, rename it, or delete it. For more information, see the Script Editor Online Help.


                Schedule Routing Script

                You schedule a script by associating it with a call type as follows:

                Procedure
                  Step 1   Choose Script > Call Type Manager. The Call Type Manager dialog box opens.
                  Figure 6. Call Type Manager Dialog Box—Schedules Tab

                  Step 2   Select the call type to associate with the script.
                  Step 3   Click Add. The Add Call Type Schedule dialog box opens.
                  Step 4   In the Script tab, select the script to schedule:
                  Figure 7. Add Call Type Dialog Box - Script Tab

                  Step 5   In the Period tab, choose the information to define the period for which the schedule will be effective.
                  Figure 8. Add Call Type Schedule Dialog Box - Period Tab

                  Step 6   Optionally, in the Description tab, enter a description of the schedule.
                  Step 7   Click OK in the Add Call Type Schedule dialog box.
                  Step 8   Click OK in the Call Type Manager dialog box.
                  Note    The schedule is not saved until you click OK in the Call Type Manager dialog box.

                  Viewing Modes

                  You can view a script in four different modes:

                  • Browse - Allows you to view the script.
                  • Edit - Allows you to edit the script.
                  • Monitor - Allows you to monitor the script
                  • Quick Edit - Allows you to make certain modifications to a script, with the following guidelines:
                    • In Quick Edit mode, you cannot add or delete a node.
                    • In Quick Edit mode, you can adjust most of the properties of the script nodes you select in the Node Control table of your assigned feature control set. However, in Quick Edit mode you cannot edit any properties of the selected nodes that change the structure of a script or that reset previous reporting data.
                  • As a Quick Edit Only User:
                    • You can only edit scripts through Quick Edit mode.
                    • You cannot create or delete a script.
                    • You can access the Properties of any script node in any mode by either right-clicking the node and selecting Properties, or by double-clicking the node.
                    • You cannot edit the Call Type Manager dialog box (Script > Call Type Manager).
                    • You cannot edit the Administrative Manager dialog box (Script > Administrative Manager).
                    • You cannot edit the Custom Functions dialog box (Script > Custom Functions).
                    • You can choose the viewing mode from the Scripting toolbar, or from the Script menu.

                  Making Packaged CCE Work with Unified CVP

                  The following sections describe the differences between Packaged Contact Center Enterprise ( Packaged CCE) and Unified Customer Voice Portal (Unified CVP) scripting and show how they work together in common tasks.

                  Difference Between Unified CCE and Unified CVP Scripting

                  Packaged CCE scripting offers call control such as how a call should be treated based on time of day, call type, and so on. It also handles queuing for an agent based on skill group or service. It determines when to send the call to Unified CVP (for example, to play prompts, collect call entered digits, and get or put information in a database), or for queuing the call while waiting for an agent.

                  Unified CVP scripting offers IVR interaction, like playing a prompt based on an audio file or text-to-speech or collecting caller-entered digits via touch tone or speech. It also offers advanced features such as accessing an external database or web service for information used in creating a dynamic caller interaction experience. Examples include accessing current balance or storing collected customer information in a database.

                  Packaged CCE scripting is used for routing the call; but when the call needs to go to the Unified CVP, a self-service component is enlisted with Unified CVP scripts that have been created in Call Studio. For example, if a customer calls a credit card company and gets a voice recorded message, the Packaged CCE component makes the decision which script to run, whether the interaction is treated as a sales call or a service call and then selects which VRU (voice response unit) scripts get run, The call is then sent to a VRU, which connects the call to the Unified CVP "self-service engine". It accomplishes these tasks without the customer talking to an agent, such as getting the account balance with touch tone activation or speech. Once the information is collected control is then returned to the Packaged CCE script. The Packaged CCE script queues the customer for an agent, and connects her to an agent.

                  How Packaged CCE and Unified CVP Work Together

                  To summarize, Packaged CCE and Unified CVP work together to perform such tasks as:

                  • Playing media, such as a recording stating office hours, to a caller.
                  • Playing streaming audio, such as a radio broadcast, to a caller.
                  • Retrieving caller-entered data, DTMF, or speech.
                  • Playing back different types of data, such as an account number or balance, to a caller.
                  • Moving calls to other destinations. For example, forwarding calls to an agent.

                  Packaged CCE uses Unified CVP messaging technology to direct Unified CVP and to receive the responses from Unified CVP.

                  For more information about Packaged CCE working with Unified CVP, proceed to Before You Begin.

                  Call Types, Contact Data, and Scripting

                  Call Types

                  When writing scripts to route contacts, you must understand call types and contact data.

                  A call type is the first-level category of a contact and is determined by data associated with the contact. You associate a script with a call type. When a contact of a certain call type is received, the associated script runs on that contact.

                  You create call types through the Call Type tool in Unified CCE Web Administration. See Call Types for more information.

                  Default Call Types

                  A default call type is the call type used when a contact does not map to a defined call type.

                  You specify the system default call type in the Settings tool of Unified CCE Web Administration. For more information, see System Settings for Call Reporting.

                  Relation Between Call Types and Scripts

                  Scripts are scheduled by call type. In other words, when the system receives a request to route a contact, it determines the call type of that contact, then runs the associated script.

                  Call types provide the first level of categorization of contacts, enabling you to write scripts to route contacts differently depending on their call type. While other types of categorization take place within a script, call types enable you to provide contacts with different treatment by running different scripts to begin with. Call types enable categorization before a script begins to execute.

                  Call Type Qualifiers

                    The call type is determined by the dialed number, which is referred to as the call type qualifier.

                    The call type qualifiers described in this section apply to contacts from all media. The terminology used is applicable to voice contacts; where the terminology differs for other media, the differences are explained in this section, as well as the following sections in this topic:

                    • Contact Data for Chat
                    • Contact Data for E-Mail

                  Dialed Number (DN)

                  A Dialed number (DN) is a string that represents the telephone number dialed by the caller, preceded by the name of the routing client and a period. For example, "ucm.18005551212" might be a dialed number.

                  Typically, a dialed number is associated with one or more call types.

                  Association of Contacts with Call Types in Packaged CCE

                  Following is the general process of how the system attempts to associate a contact with a call type:

                  1. If the dialed number of the contact maps to a defined call type, the system uses that call type.
                  2. If no call type matches the contact, the system uses the default call type.
                  3. If no default call type is defined, the system returns an error to the routing client.

                  Determination of Call Type for Voice Contact

                  The following example demonstrates how the system determines the call type for a voice contact and runs the appropriate script:

                  1. When configuring Packaged CCE , you create a call type called "MASSACHUSETTS_SALES". This call type is defined as:
                    • Having a dialed number of "ucm.8005551234".
                  2. You create a script called "MASSACHUSETTS_SALES_SCRIPT," which finds the longest available agent in the "NORTHEAST_SALES" skill group.
                  3. You schedule the script to run for the "MASSACHUSETTS_SALES" call type.
                  4. Packaged CCE determines that the call type is "MASSACHUSETTS_SALES" and executes the "MASSACHUSETTS_SALES_SCRIPT" script.
                  5. Packaged CCE assigns the task to a particular agent.

                  Determination of Call Type for E-mail or Web Request

                  The following basic example demonstrates how the system determines the call type for e-mail or chat web request:

                  1. When configuring Packaged CCE, you create a call type called "SSC_CT". This call type is defined as having a Script Selector (Dialed Number) of "SSC_DN".
                  2. When configuring Unified EIM/WIM, set the value of the Script Selector for Media Routing Domain to "SSC_DN".
                  3. You create a script called "SSC_SCRIPT," which finds the longest available agent in the "COLLABORATION_SALES" skill group.
                  4. You schedule the script to run for the "SSC_CT" call type.
                  5. An e-mail is sent or a web user requests a chat session.
                  6. A route request is sent to Packaged CCE .
                  7. Packaged CCE determines that the Call Type is "SSC_CT" and executes the "SSC_SCRIPT" script.
                  8. Packaged CCE instructs the Unified EIM/WIM to assign the task to a particular agent.

                  Contact Categorization

                  Contact Categorization

                  When you create a routing script, you typically use the nodes available in Script Editor to define how the script is to categorize contacts. By categorizing contacts, a script can provide unique solution for different customer needs.

                  Categorization and Call Type

                  Categorization is the process of classifying a contact based on certain data associated with the contact. Through categorization, a script can determine the best way to process a contact.

                  When you create a routing script, you typically use the nodes available in Script Editor to define how the script is to categorize contacts. By categorizing contacts, a script can provide unique solutions for different customer's needs.

                  Categorization Through Scheduling Scripts by Call Type

                  Call types provide the first level of categorization for routing scripts. You schedule scripts by call type; therefore, the call type of a contact determines which script is executed, enabling you to create different scripts for different types of contacts.

                  Change Call Type to Static

                  You can change the call type of a contact to static by using the Call Type node in a script. The Call Type node is in the Routing tab of the Palette.
                  Figure 9. The Call Type Icon

                  The following figure is the Call Type Properties dialog box of the Static Call Type node:

                  Figure 10. Call Type Properties Dialog Box - Static Call Type



                  To define a static call type node, complete the following steps.
                  Procedure
                    Step 1   In the Call Type tab, click the Statically radio button.
                    Step 2   From the Call Type list, click the call type to assign to the contact.

                    What to Do Next


                    Warning


                    The Call Type node changes the call type and continues the current script execution. The Requalify Call node terminates the current script execution and executes a new script associated with that call type.


                    Change Call Type to Dynamic

                    You can change the call type of a contact to dynamic by using the Call Type node in a script. The Call Type is on the Routing tab of the Palette.

                    Figure 11. Call Type Icon


                    Note


                    The dynamic call type option is enabled only for System Administrators. For other users, this option is disabled.


                    The following figure is the Call Type Properties dialog box of a dynamic call type node:

                    Figure 12. Call Type Properties Dialog Box - Dynamic Call Type



                    To define a dynamic call type node, complete the following steps.

                    Procedure
                      Step 1   On the call type tab, select the Dynamically radio button.
                      Step 2   To dynamically change the call type of a contact by call type name, In the Find By section, select the Call Type Name radio button.
                      Step 3   To dynamically change the call type of a contact by call type ID, In the Find By section, select the Call Type ID radio button.
                      Step 4   To determine which call type name or ID to use to change the call type of a contact, click the Formula Editor button to create a formula.

                      Change Call Type and Execute a New Script

                      You can change the call type of a contact from within a script and execute a new script associated with the call type by using the Requalify Call node ( in the Routing tab of the Palette).
                      Figure 13. The Requalify Call Icon

                      Following is the Requalify Properties dialog box of the Requalify Call node:

                      Figure 14. The Requalify Properties - Requalify Call Tab

                      Define Requalify node properties as follows:
                      Procedure
                        Step 1   In the Requalify Call Tab, select the Call type to assign to the contact.
                        Step 2   Optionally, add comments.

                        What to Do Next


                        Warning


                        The Call Type node changes the call type and continues the current script execution. The Requalify Call node terminates the current script execution and executes a new script associated with that call type.

                        Categorization by Call Type Qualifiers

                        A contact's call type is determined by the dialed number qualifier.

                        When the system determines a contact's call type based on these qualifiers, it executes the associated script.

                        However, after the script executes, you can further categorize the contact based on the values of the call type qualifiers.

                        Categorize Contact by Dialed Number

                        You can categorize a contact based on its dialed number by using the Dialed Number (DN) node ( in the Routing tab of the Palette).
                        Figure 15. The Dialed Number Icon

                        Following is the DN Properties dialog box of the Dialed Number node:

                        Figure 16. DN Properties - Dialed numbers Tab

                        You can define the Dialed Number node properties as follows:
                        Procedure
                          Step 1   Select one or more dialed numbers or Script Selectors from the Dialed numbers list and click Add> to move them to the Target dialed numbers list. If the current contact matches one of the selections in the Target dialed numbers list, processing continues on the node's success branch; otherwise, processing continues on the failure branch.
                          Step 2   Optionally, add comments and connection labels.

                          Categorization by Time and Date

                          You schedule a script by associating it with a call type. When a contact of a certain call type is received, the associated script runs for that contact.

                          However, after the script executes, you can further categorize the contact based on the time and day of week. This categorization refines the schedule.


                          Note


                          The time and day of the week are determined by the settings on the CallServer virtual machine.

                          For example, a call type named "CHAT_CT" may be defined to include all chat web requests. A script named "CHAT_SCRIPT" executes every time a contact with the call type "CHAT_CT" is received. Typically, this script instructs Unified WIM to assign the request to the longest available agent in the "Chat" skill group. However, the contact center is staffed differently over the weekend and the supervisor wants reports to better reflect weekend activity. Therefore, for chat web requests received on Saturday or Sunday, the script branches differently and instructs Unified WIM to assign the request to the longest available agent in the "WKEND_SUPPORT" skill group.

                          As another example, for a contact center where no phone support is available during night hours or weekends, you may choose to design a script that routes a phone call to an announcement instead to an agent, during those off hours.

                          Categorize Contact by Date and Time

                          You use the Time node (in the General tab of the Palette) to choose from among several paths within the script based on the current time at Packaged CCE Central Controller. Following is the Time Properties dialog box of the Time node.
                          Figure 17. Time Icon

                          Following is the Properties dialog box of the Time node:

                          Figure 18. Time Properties

                          You must insert targets and connections from the Time node before you can define the node's properties.

                          Then define Time node properties as follows:
                          Procedure
                            Step 1   For each branch listed in the Connections list, define a Time Range. You can define multiple time ranges for a single branch. Click Add Time to add a new time range to the branch, or select a time range listed and click Modify Time to modify it. A dialog box opens in which you can define the time range (the Add Time dialog box is shown below; the Modify Time dialog box looks and functions similarly):
                            Figure 19. Add Time Dialog

                            Step 2   To delete a time associated with the branch, select the time and click Delete Time.
                            Step 3   You can define a branch as Otherwise by selecting the branch and clicking Make Otherwise. Execution follows this branch if none of the specified time ranges apply. You can specify only one Otherwise branch for the node. If you do not want to define the branch as Otherwise, select the branch and click Delete Otherwise.
                            Step 4   Optionally, add comments and connection labels.

                            What to Do Next


                            Note


                            If you delete a connection, the time-range information you specified in the Properties dialog box is also deleted.

                            Categorize Contact by the Day of Week

                            You use the Day of Week node (in the General tab of the Palette) to transfer control to one of several branches depending on the current day of week (Sunday, Monday, etc.).
                            Figure 20. Day of Week Icon

                            Following is the Properties dialog box of the Day of Week node:

                            Figure 21. Day of Week Properties

                            You can define multiple output connections from the Day of Week node and associate each with one or more days of the week.

                            You must insert targets and connections from the Day of Week node before you can define the node's properties.

                            Define Day of Week node properties as follows:
                            Procedure
                              Step 1   For each branch listed in the Connection list, check the days of the week in which processing should continue on that branch. To check the day for that connection, left-click in a spot in the grid corresponding to that connection and day. A check mark appears in the grid. You can associate each day of week with one connection. However, you can associate each connection with one or more days of the week.
                              Step 2   Optionally, add comments and connection labels.

                              Categorization by Branching

                              Within a script, you can create multiple branches to direct script processing based on certain conditions. Branching allows you to use a single script that processes contacts differently, depending on data associated with the contact, or on conditions at the contact center.

                              Execute a Different Script

                              You use the Go To Script node (in the General tab of the Palette) to direct contact processing to another script without changing the call type. When Packaged CCE encounters a Go To Script node, it stops executing the current script and starts the script indicated in the node.
                              Figure 22. Go To Script Icon

                              For example, you might have several scripts that check for exception conditions and, if none are found, execute a standard subroutine. Instead of including that subroutine as a branch from the failure output terminal of each of the exception conditions, you could use a Go To Script node pointing to a separate script containing the subroutine.

                              Following is the Properties dialog box of the Go To Script node:

                              Figure 23. Go To Script Properties

                              Define "Go to Script" node properties as follows:
                              Procedure
                                Step 1   Select the Business entity that owns the script that the node should execute. By default, Packaged CCE consists of one business entity.
                                Step 2   Select a script from the Scripts list. From within an administrative script, you can only go to another administrative script. Within a routing script, you can only go to another routing script.
                                Step 3   Optionally, add comments and connection labels.

                                Direct Script Execution to Different Branches by Percentage

                                You can direct specific percentages of contacts to different branches in a script by using the Percent Allocation node (in the General tab of the Palette).
                                Figure 24. Percent Allocation Icon

                                Each branch may lead directly to a target, or may include additional processing. Because contacts are distributed by percentage and without tests of the targets' data, distributing by percentage never fails.

                                For example, in a geographically diverse environment, you can create a script that sends 10% of contacts to Boston, 5% to Chicago, and distributes the remaining 85% to another set of targets.

                                Following is the Properties dialog box of the Percent Allocation node:

                                Figure 25. % Allocation Properties

                                Define Percent Allocation node properties as follows:
                                Procedure
                                  Step 1   In the Percent column for each connection, enter a percent number for the percentage of contacts to process on that branch.
                                  Note    The percent total for all rows must equal 100.
                                  Step 2   Optionally, modify the Connection name. Changes appear in the connector labels when you save the properties and view the script.
                                  Step 3   Optionally, add comments and connection labels.

                                  Categorize Contact Based on a Condition

                                  You use the If node (in the General tab in the Palette) to direct script execution to one of two branches based on the result of an evaluation. You can use formulas to define the If node.
                                  Figure 26. If Icon

                                  When the system executes an If node, it first evaluates the condition specified in the node Properties dialog box Define condition field. If the system determines that the condition is true, control flows through the success output terminal; if it determines the condition is false, control flows through the failure output terminal.

                                  Following is the Properties dialog box of the If node:

                                  Figure 27. If Properties

                                  Define If node properties as follows:
                                  Procedure
                                    Step 1   In the Define condition field, enter a condition or use the Formula Editor to create a formula.
                                    Step 2   Optionally, add comments and connection labels.

                                    Categorize a Contact Based on Its Media Routing Domain

                                    You use the Media Routing Domain node to categorize contacts based on their media routing domains. This node is described in the Universal Queue section of this document.

                                    Routing Target Selection

                                    Routing Targets

                                    After defining how a script is used to categorize contacts, you typically use the nodes available in Script Editor to specify how the contact is to be routed to a target destination. A routing target is an entity to which the system can route a contact, including agents and skill groups. The routing target receives the contact and processes it accordingly.

                                    Agent Routing Nodes

                                    The following nodes available for agent routing:

                                    1. Queue to Agent Node. For more information, see Specify an Agent Directly
                                    2. Agent to Agent Node. For more information, see Transfer Calls from Agents to Agents

                                    Transfer Calls from Agents to Agents

                                    You can transfer a call from an agent to an agent by using the Agent to Agent node in the Targets tab of the Palette.
                                    Figure 28. Agent to Agent Icon

                                    The Agent to Agent node routes the call to the specified agent. You define the agent either by directly selecting the agent from the database or by providing an expression using a formula. The expression must translate to agent peripheral number or SkillTargetID. The router then finds a valid label for the agent. If there are no labels configured for the specified agent, the failure node of the Agent to Agent node is executed.

                                    Following is the Properties dialog box for the Agent to Agent node:

                                    Figure 29. Agent to Agent Properties

                                    Define Agent to Agent node properties as follows:
                                    Procedure
                                      Step 1   Choose an option from the Select agent by drop-down list:
                                      1. Peripheral number - To select a peripheral and a provide formula that translates to the agent's peripheral number.
                                      2. Enterprise Name - To select the agent from the list of configured agents.
                                      3. Skill target ID - To select the agent by providing an expression that translates into the agent's SkillTargetID. In the Packaged CCE/Unified CCH supervisory case, the expression should use the call's PreferredAgentID.
                                      Step 2   Based on your selection in Step 1, select the peripheral or agent, or enter an expression, as necessary.
                                      Step 3   Optionally, check or uncheck Fail node if agent is unavailable:
                                      1. When checked, the success branch of the Agent to Agent node is executed and the router sends the call if the router finds a valid label for the agent, the agent is available, and the agent state is Ready.
                                      2. The failure branch of the Agent to Agent node is executed if the router does not find a valid label for the agent, or the agent is not available or the agent is in TempUnavailable mode (the router has just send a call to the agent).
                                      3. When not checked, the success branch of the Agent to Agent node is executed and the router sends the call if the router finds a valid label for the agent. The failure branch of the Agent to Agent node is executed if the Router does not find a valid label for the agent.
                                      Step 4   Optionally, add comments and connection labels.

                                      Nodes Used to Stop Script Processing

                                      You can use the following nodes to stop script processing:

                                      • End Node
                                      • Termination Node
                                      • Release Call Node

                                      End Node

                                      You can terminate the script by using the End node in the General tab of the Palette.

                                      Figure 30. End Icon

                                      If the script reaches the End node, it has failed to find a target for the contact. Packaged CCE then uses the default route for the Dialed Number.

                                      Several End nodes can appear in the same script. The End node is never required; a script can terminate with any node.

                                      You do not define any properties for the End node. You can optionally add comments.

                                      Release Call Node

                                      You can terminate the script and disconnect the caller by using the Release Call node in the Targets tab of the Palette.

                                      Figure 31. Release Call Icon

                                      You can use a Release Call node in situations where the caller needs no further service after executing several Unified CVP scripts.

                                      You do not define any properties for the Release Call node. You can optionally add comments.

                                      Target Requery

                                      Target Requery is a script node feature that you can use to handle routing failures, for example due to No Answer or Busy responses, or for unreachable targets caused by transient failures in the network (such as network congestion). If the determined destination for a contact is available but not reachable, Target Requery attempts to find a different valid destination.

                                      You need Target Requery to address the following failures:

                                      • Failure to deliver a call to an agent.
                                      • Failure of the outbound leg of a blind-mode Network Transfer.
                                      • Target Requery works on a per call basis; that is, the routing information for one call does not affect the state for other calls. If the first target selected for the contact was not reachable, the target is not eliminated from the potential routing destinations for other contacts.

                                      Target Requery Functionality

                                      In the system, when queried, the CallRouter returns a label to the routing client. The routing client then routes the call to the destination specified by the label. If the destination is not reachable (for example, because of a busy signal or no answer), the call is routed to the default destination.

                                      With Target Requery in a Label, Route Select, or Select node, if the router fails to route to a target node, a second attempt is made. If the failure occurs a second time, then the router continues from the failure path in the node.


                                      Note


                                      In a Queue node, just one target is used. If the router fails to route to the target node, the failure path of the node is taken immediately. To implement requery in a Queue node, you can create a script that increases the priority and requeries the call from the failure path to the same queue.

                                      In the event of a failure, you can handle requerying in the scripting environment, as you deem appropriate.

                                      Target Requery does not require different definitions for different failure cases. However, you can choose to handle different failures differently.

                                      Test of the RequeryStatus Variable

                                      You can test the error path of these script nodes using Target Requery to determine the specific network cause of failure and conditionally retry the attempt as necessary. You can accomplish this using an If node to check the value of the call variable RequeryStatus. The decision path for the script is then determined by the value of the RequeryStatus variable.

                                      The following are possible values for the RequeryStatus variable:

                                      Table 1 RequeryStatus Variables

                                      Requery Status Variable

                                      Description

                                      REQUERY_ANSWER (0)

                                      Script ends. The call was successfully sent to the chosen target.

                                      Note    This variable is used internally by the CallRouter. You cannot test for this variable in an IF node.

                                      REQUERY_ROUTE_SELECT_FAILURE (1)

                                      Routing client generated an error code from ReRouteReq msg indicating a Route Select failure.

                                      REQUERY_CALLED_PARTY_BUSY (2)

                                      Routing client generated error code from ReRouteReq msg indicating the called party is busy.

                                      REQUERY_NO_ANSWER (3)

                                      Routing client generated an error code from ReRouteReq msg indicating no answer.

                                      REQUERY_ERROR (4)

                                      CallRouter generated an error code. The attempt to send the call to target failed because the target was not reachable (i.e., busy, ring no answer).

                                      REQUERY_TIMED_OUT (5)

                                      The attempt to send the call to a target failed because the Routing Client did not respond within the DivertOnBusyCallTimeout period. The script ends.

                                      Note    This variable is used internally by the CallRouter. You cannot test for this variable in an IF node.

                                      REQUERY_ABORTED (6)

                                      The attempt to send the call to a target failed because the caller hung up or the call was lost. In the case of ABANDON and DISCONNECT, the CallRouter assumes the call has ended and ends the script. The RequeryStatus value is set to 6, indicating REQUERY_ABORTED.

                                      Note    This variable is used internally by the CallRouter. You cannot test for this variable in an IF node.

                                      Nodes That Support Target Requery

                                      The following nodes support Target Requery:

                                      • Queue
                                      • Queue to Agent
                                      • Route Select
                                      • Precision Queue

                                      Use Target Requery

                                      You define nodes to enable Target Requery. For the Queue, Queue to Agent, and Route Select nodes:
                                      Procedure
                                        Step 1   Open the node properties.
                                        Step 2   Click Change. A dialog box opens.
                                        Step 3   Check Enable target requery.
                                        Step 4   Click OK to close the dialog box.
                                        Step 5   Click OK to close the properties dialog box.
                                        Step 6   For the Label, Select and Precision Queue nodes:

                                        For Select nodes:

                                        1. Open the node properties.
                                        2. Check Enable target requery.
                                        3. Click OK to close the properties dialog box.

                                        Network VRUs

                                        Network VRUs and Routing Scripts

                                        Through routing scripts, you can divert a call to a Network VRU for additional call processing.

                                        VRU Functionality

                                        You can use routing scripts to divert a call to a Network VRU for additional call processing.

                                        A VRU, or Voice Response Unit, is a telecommunications device, also called an Interactive Voice Response Unit (IVR), that plays recorded announcements and responds to caller-entered touch-tone digits. Cisco Unified Customer Voice Portal (CVP) is the supported VRU for Packaged CCE. A VRU can also be equipped with Automatic Speech Recognition (ASR) or Text-to-Speech (TTS) capabilities.

                                        Access to VRU Scripts in Packaged CCE Scripts

                                        You can write routing scripts that send calls to the VRU, queue the call, and invoke specific VRU scripts. VRU scripts are configured using the Network VRU Scripts gadget in the Unified CCE Web Administration tool.

                                        Send Call to a VRU with Send to VRU Node

                                        You can send a call to Unified CVP for further processing by using the Send to VRU node (in the Queue tab of the Palette).

                                        Figure 32. The Send to VRU Icon

                                        When Packaged CCE executes a Send to VRU Node, it looks up the call's Dialed Number, the Dialed Number's Customer, and the Customer’s Network VRU. If that fails to retrieve a Network VRU, the router uses the system default Network VRU.

                                        There are two failure cases:

                                        • If the label does not exist, script execution continues with control flowing through the nodes failure output terminal.
                                        • If Packaged CCE does not receive confirmation, execution continues with control flowing through the nodes failure output terminal.

                                        In all other cases script execution continues with control flowing through the nodes success output terminal.

                                        Notes:

                                        • If the Run External Script, Play, Menu, Collect Data, or Queue node is used in a script before a Send To VRU node, an implicit Send To VRU node is assumed. You do not have to use the Send To VRU node. However, include the node in routing scripts as a visual aid if you ever need to troubleshoot the script.
                                        • If the call is delivered to the Unified CVP but then abandoned, script execution ends. In monitor mode, a special label on the Send To VRU node accounts for these cases.

                                        You do not need to set properties for the Send to VRU node. However, you can optionally add comments or connection labels.

                                        Run External Scripts

                                        You can instruct a Unified CVP to run a specific script by using the Run External Script node (in the Queue tab of the Palette).
                                        Figure 33. The Run External Script icon

                                        You can use multiple Run External Script nodes to execute a series of scripts on the Unified CVP.

                                        The execution of Packaged CCE routing script waits for the external script to finish:
                                        • If the external script runs successfully, control then passes through the success branch of the Run External Script node.
                                        • If the external script does not run successfully for any reason, then control passes through the failure branch of the Run External Script node.

                                        Note


                                        • If the current call is not at a Unified CVP when the Run External Script node executes, the Packaged CCE sends the call to the associated Network VRU, as executing a Send to VRU node.
                                        • Design scripts so that the Failure branch of a Run External Script Node contains a test for the Call.VRUStatus variable. If the value is 2, the VRU is likely to be not functioning properly. Therefore, the script avoids executing any subsequent Run External Script nodes on this Failure branch.


                                        Note


                                        When an uninterruptible script is used in a Run External Script node, the CallRouter waits for the script result from the VRU. It then executes the next node. Calls can only be routed when they reach an interruptible node. The Wait node and interruptible Run External Script node ( micro apps) are interruptible. Every other node is uninterruptible.

                                        Following is the Properties dialog box for the Run External Script node:

                                        Figure 34. Run External Script Properties

                                        Define Run External Script node properties as follows:
                                        Procedure
                                          Step 1   Select the Packaged CCE Script/External Script Name you want to execute.
                                          Step 2   Optionally, add comments and connection labels.

                                          VRU Errors

                                          The following table lists the possible values for the VruStatus variable:

                                          Table 2  VruStatus Variable Codes

                                          Value

                                          Meaning

                                          Description

                                          0

                                          VRU_SUCCESS

                                          The last VRU node was successful.

                                          1

                                          VRU_ERROR

                                          The last VRU node failed because of a routing or configuration error.

                                          2

                                          VRU_TIMEOUT

                                          The last Send To VRU failed because the routing client did not respond within 20 seconds or the last Run External Script node failed because the timeout limit defined for the script expired.

                                          3

                                          VRU_ABORTED

                                          The last VRU node did not complete because the caller hung up or was otherwise lost. (Because this causes the routing script to terminate immediately, this value is never seen.)

                                          4

                                          VRU_DIALOG_ FAILED

                                          The last VRU node failed because communication with the VRU ended unexpectedly.

                                          5

                                          VRU_SCRIPT_ NOT_FOUND

                                          The VRU failed because the referenced VRU script was not found in the Packaged CCE configuration.

                                          Call Queuing at VRUs

                                          You can queue a call at a Network VRU until a specific resource becomes available. A call can be queued for one or more skill groups, or a precision queue. As soon as an agent becomes available at one of the specified targets, the call is removed from the queue and sent to the target.

                                          Specifically, you can:

                                          • Place a call in a precision queue.
                                          • Place the call in one or more skill groups.
                                          • Adjust the priority of call in a queue for one or more skill groups.
                                          • Remove the current call from any queues to which it is assigned.

                                          For example:

                                          1. The call is first sent to the Network VRU. This step is required before you queue the call.
                                          2. The call is queued for three skill groups.
                                          3. If the call is successfully queued, the script cycles between a Wait node and a Run External Script node so that the caller hears an announcement every 30 seconds. If an agent in one of the skill groups becomes available, the call is removed from queue and taken back from the Unified CVP. Routing script execution ends and the call is delivered to the target.

                                          Note


                                          In this scenario, you would likely make the VRU script interruptible so that the routing script can retrieve the call immediately when the resource becomes available.

                                          Place a Call in Queue

                                          You can place a call in queue at a Unified CVP for one or more skill groups using the Queue node (in the Queue tab of the Palette).
                                          Figure 35. The Queue Icon

                                          If an agent becomes available in one of the skill groups, the call is routed to that resource.


                                          Note


                                          If the current call is not at a Unified CVP when the Queue node executes, Packaged CCE sends the call to the associated Network VRU. (This does not apply to Type 2 VRUs, which are VRUs at customer premises.)


                                          The Queue node includes a Priority field, which sets the initial queuing priority for the calls processed through this node versus other calls queued for the same target. The Priority is expressed as an integer from 1 (top priority) to 10 (least priority). The default value is 5.

                                          If more than one call is queued to a group when an agent becomes available, the queued call with the lowest priority number is routed to the target first. For example, assume an agent in a skill group becomes available and two calls are queued to that skill group. If one call has priority 3 and the other has priority 5, the call with priority 3, the lower value, is routed to the skill group while the other call continues to wait.


                                          Note


                                          The Queue node does not actually result in instructions being sent to the VRU. When queuing occurs the Queue node exits immediately through the success branch and the call is assumed to be at the VRU; the script should then continue with a Run External Script node to instruct the VRU what to do while holding the call until an agent to becomes available. Typically this would invoke a Network VRU script that plays music-on-hold, possibly interrupted on a regular basis with an announcement.

                                          Following is the Properties dialog box for the Queue node:

                                          Figure 36. Queue to Skill Group Properties

                                          Define Queue node properties as follows:
                                          Procedure
                                            Step 1   To change the queue type:
                                            1. Click Change. The Queue Type dialog box opens.
                                            2. Select a Target Type (Skill Group). You cannot reference more than one type of target within a single Queue node. To queue a call to more than one target type, execute multiple Queue nodes sequentially.
                                            3. Optionally, select a Priority to set the initial queuing priority for calls processed through this node versus other calls queued for the same target: 1 for top priority to 10 for least priority. (The default is 5.)
                                            4. Optionally, check Enable Target Requery.
                                              Note    When Target Requery is enabled in a Queue node and a Requery happens, for example because the call is presented to an available agent, but the agent does not answer, the script continues through the failure terminal. The script can then inspect the call variable RequeryStatus to determine what to do next. The typical action in case of a No Answer would be to Queue the call again, possibly to other skill groups, and possibly increase the priority so that it is taken out of the queue before regular queued calls.

                                            5. Click OK to close the Queue Type dialog box.
                                            Step 2   To add targets:
                                            1. Click Add Targets. The Add Targets dialog box opens, listing available targets of the type you specified.
                                            2. Use the Available Targets list and the Add button to select targets.
                                            3. Click OK to close the Add Targets dialog box. The target members you selected appear in the Properties dialog box.
                                            Step 3   Optionally, continue defining Target Type information for the Route (Drop-down list) member. This is the route to send the call to when an agent in the target type becomes available. (The drop-down list includes all routes associated with the target.)
                                            Step 4   Optionally, add connection labels.

                                            What to Do Next


                                            Note


                                            When processing a Queue node, the router first checks for an available target, if there is none available then the router attempts to queue the call. The call does not move to the VRU if there is an available agent.

                                            Precision Queue Script Node

                                            You can use the Precision Queue script node to queue a call based on caller requirements until agents with desired proficiency become available. This node contains multiple agent selection criterion which are separated into steps.

                                            Figure 37. Precision Queue Script Node



                                            A single call can be queued on multiple precision queues. If an agent becomes available in one of the precision queues, the call is routed to that resource. You cannot reference multiple precision queues with a single Precision Queue node. However, you can execute multiple Precision Queue nodes sequentially to achieve this.

                                            The Precision Queue node includes a Priority field, which sets the initial queuing priority for the calls processed through this node versus other calls queued to the other targets using different nodes. The priority is expressed as an integer from 1 (top priority) to 10 (least priority). The default value is 5.

                                            If more than one call is queued to a precision queue when an agent becomes available, the queued call with the lowest priority number is routed to the target first. For example, assume an agent in a precision queue becomes available and two calls are queued to that precision queue. If one call has priority 3 and the other has priority 5, the call with priority 3, the lower value, is routed to the precision queue while the other call continues to wait. If the priorities of the two calls are same, then the call queued first is routed first.

                                            VRU script instructions are not sent to the VRU. If a call enters the Precision Queue node and no resource is available, the call is queued to the precision queue and the node transfers the call to the default VRU, if the call is not already on a VRU. The script flow then exits immediately through the success branch and continues to a Run External Script node to instruct the VRU what to do while holding the call until an agent becomes available. Typically, this invokes a Network VRU script that plays music-on-hold, possibly interrupted on a regular basis with an announcement. The script flow can also use other queuing nodes to queue the same call to other targets, for example, Queue to Skill Group and Queue to Agent.

                                            Precision Queue Properties Dialog Box - Static Precision Queue

                                            The following list describes the Precision Queue Properties dialog box for a static precision queue script node.

                                            Figure 38. Precision Queue Properties Dialog Box—Static Precision Queue

                                            The following property is unique to static precision queues:

                                            • Drop-down list—To route calls that enter this node to a static precision queue, you must select a precision queue from the list.

                                            The following properties are common to static and dynamic precision queues:

                                            • Select Precision Queue radio buttons—You can select one of the following options for each a precision queue:
                                              • Statically—Select this option to choose a single precision queue to be selected for all the calls that enter this node.
                                              • Dynamically—Select this option to select a precision queue on a call-by-call basis based on a formula.

                                              Note


                                              The dynamic precision queue option is enabled only for System Administrators. For other users, this option is disabled.


                                            • Priority selection—To select the initial queuing priority for calls processed through this node, you can select from 1 to 10. The default is 5.
                                            • Enable target requery check box—To enable the requery feature for calls processed through this node, select this check box. When a requery occurs, for example if a call is presented to an available agent and the agent does not answer, the script continues through the failure terminal. The script can then inspect the call variable RequeryStatus to determine what to do next. The typical action in case of a No Answer is to queue the call again to other precision queues, and increase the priority so that it is taken out of the queue before regular queued calls.
                                            • Wait if Agents Not Logged In check box — When this check box is selected and the agents who are associated with a step are not logged in, then the router will wait for the time that is configured for that step. When this check box is not selected, the router will not wait on any step. However, on the last step, the router will wait indefinitely irrespective of the selection.

                                            Precision Queue Properties Dialog Box - Dynamic Precision Queue

                                            The following list describes the Precision Queue Properties dialog box for a dynamic precision queue script node.

                                            Use dynamic precision queues when you want a single routing script for multiple precision queues (for example, when the overall call treatment does not vary from one precision queue to another). Dynamic precision queues can simplify and reduce the overall number of routing scripts in the system.

                                            Figure 39. Precision Queue Properties Dialog Box—Dynamic Precision Queue


                                            Note


                                            The dynamic precision queue option is enabled only for System Administrators. For other users, this option is disabled.


                                            The following properties are unique to dynamic precision queues:

                                            • Find By radio buttons—To dynamically route calls that enter this node to a Precision Queue name or ID, use the Find By radio buttons.
                                              • Precision Queue Name radio—Select this option to dynamically route calls that enter this node to a Precision Queue name.
                                              • Precision Queue ID—Select this option to dynamically route calls that enter this node to a Precision Queue ID.
                                            • Formula Editor button—To determine to which Precision Queue name or ID to route calls that enter this node, click the Formula Editor button to create a formula. The formula is then evaluated at run time to select a precision queue by either name or by database ID. For example, you can use the formula "Call.PeripheralVariable4" to look up the Precision Queue if call variable 4 contained the Precision Queue name, as a result of a database lookup or from Unified CVP call processing.

                                            For properties which are common to static and dynamic precision queues see, Precision Queue Properties Dialog Box - Static Precision Queue

                                            Queuing Behavior of Precision Queue Node

                                            Precision queues internally are configured with one or more time-based steps, each with a configured wait time. After a call is queued, the first step begins and the timer starts. This occurs although the execution path of the script exited the success node and a new node may be targeted (for example, Run Ext. Script).

                                            If the timer for the first step expires, control moves to the second step (assuming one exists), and so on. As long as the call remains in queue and there are steps left to execute, the call internally continues to move between steps regardless of the path the call takes after it leaves the Precision Queue node. If a call is queued to two or more precision queues, the call internally walks through the steps for each Precision Queue in parallel. After the call reaches the last step on a precision queue, it remains queued on that step until the call is routed, abandoned, or ended.

                                            Adjust Priority of a Call in a Queue

                                            You can override the priority of a call in queue set by the Queue node by using the Queue Priority node (in the Queue tab of the Palette).

                                            Figure 40. The Queue Priority Icon

                                            For example:

                                            1. The original priority of the call in queue is set by the Queue to Skill Group node or the Precision Queue node.
                                            2. The call waits in queue for 20 seconds while the caller listens to an announcement.
                                            3. Call control passes to a second Wait node.
                                            4. If 20 more seconds pass without an agent becoming available, the Queue Priority node executes and raises the call's priority in queue.

                                            Notes:

                                            • Only use the Queue Priority node after a Queue to Skill Group node or a Precision Queue node. Any subsequent use of the Queue to Skill Group node or the Precision Queue node results in setting the queue priority back to the original setting for that node.
                                            • The Queue Priority node sets the priority for a call within all queues that the call is placed in. If a call requires the priority to be raised in one queue only, you should use a subsequent Queue to Skill Group or Precision Queue node for only that skill group/queue (with the new priority).
                                            • Queuing priorities should be handled very carefully. Just increasing Queue priority does not get a call handled sooner. The effect depends on the other call in the queue. For example, if all calls are treated using the example above, the priority increase has no net effect. If the script above is only used for the Platinum customers while the Standard customers script leaves them at the default priority level, the effect is that all Platinum customers that have been in queue for more than 20 seconds are handled first regardless of other customers in queue. This can be a dangerous practice, because while the delay for Platinum customers is greater than 20 seconds, no Standard customer will ever be handled. The solution is to increase the priority level for Standard customers as well, but only after they have been in queue for a longer period, for example 3 minutes.

                                            Following is the Properties dialog box for the Queue Priority node:

                                            Figure 41. Queue Priority Properties

                                            Remove Call from a Queue

                                            You can remove a call from any queues by using the Cancel Queuing node (in the Queue tab of the Palette).
                                            Figure 42. The Cancel Queuing Icon

                                            You do not have to define properties for the Cancel Queuing node. You can optionally add comments or connection labels.

                                            Temporarily Halt Script Execution

                                            You can halt script execution for a specified number of seconds by using the Wait node (in the Queue tab of the Palette).
                                            Figure 43. The Wait Icon

                                            The Wait node simply stops script executing for the specified number of seconds. In the meantime, the Network VRU is waiting for instructions.


                                            Note


                                            You must set protocol time-out variables in Unified CVP to a value greater than the longest wait node used in the script.


                                            Following is the Properties dialog box for the Wait node:

                                            Figure 44. Wait Properties

                                            Define Wait node properties as follows:
                                            Procedure
                                              Step 1   In the Timeout in field, specify an interval to wait, in seconds.
                                              Step 2   Optionally, add comments or connection labels.

                                              Multichannel Routing

                                              Overview of Multichannel Services

                                              When your system is integrated with Unified WIM or Unified EIM, you write routing scripts to route contacts that are handled by these applications.

                                              Supported Route Requests

                                              Packaged CCE supports the following types of multichannel route requests:

                                              • Web callback - A web callback request is one that does not involve Unified WIM. A customer clicks a button on a website that says, "Call me back." Then the caller and agent simply talk on the phone.
                                              • Blended collaboration - With blended collaboration, the caller and agent talk on the phone and are linked in a collaborative web session. They can share web pages, forms, and applications, while at the same time conducting a voice conversation.
                                              • Text chat - The caller and agent can conduct a text chat session when a telephone call is not desired or not possible. They can both chat and collaborate on the web.
                                              • E-mail message - The customer and agent communicate using electronic mail.

                                              Application Request Routing

                                              The Unified WIM or Unified EIM applications route requests to Packaged CCE Media Routing Peripheral gateway (MR-PG). The Media Routing Peripheral Interface Manager (MR-PIM) on the MR-PG provides a generic interface to queue and route requests. The MR-PIM communicates with the CallRouter, which runs a routing script to determine how best to handle the request.

                                              Packaged CCE uses a media class ID to identify the type of media or channel. A media class is a communication channel that is correlated to an application. Cisco_Voice is a predefined media class that is used for web and delayed callbacks requests and Packaged CCE inbound and outbound voice calls.

                                              Each media class has at least one Media Routing Domain (MRD), which is a collection of skill groups associated with a medium. The Packaged CCE uses the MRD to route a task to an agent who is associated with a skill group and a particular medium. Each MRD requires a Packaged CCE script, but it is possible to route requests from different MRDs using one script.

                                              Synchronized Agents and Skill Groups

                                              Agents are common across the multichannel software, but skill groups are application-specific. Agents can be created in the Unified WIM or Unified EIM applications or in Packaged CCE and agents can be shared across applications. When agents or skill groups are created in either Unified WIM or Unified EIM, they are simultaneously created in Packaged CCE. If an agent is created in Packaged CCE, the agent must be enabled in the Unified WIM and Unified EIM applications if the agent wants to log in to and work on those applications.

                                              Skill groups are application-specific, and even though they are simultaneously created in Packaged CCE when they are created in Unified WIM or Unified EIM, do not create, modify, or delete them in Packaged CCE. You cannot enable skill groups in the applications.

                                              Independent Media Queues

                                              You can configure the multichannel software to route all media through independent queues defined by media class. You can configure agents to log in to only one media type to take either e-mail, text chat, or voice. In this configuration, requests are queued only to agents who have logged in to the corresponding media application.

                                              Universal Queue Functionality

                                              Universal Queue is the term used to describe the system's ability to route requests from different channels to agents who work with customer contacts in multiple media. With Universal Queue, the Packaged CCE treats requests from different channels as part of a single queue. Routing scripts can send requests to agents based on business rules regardless of the channel from which the request came. For example, the Packaged CCE can route phone, chat, and e-mail message requests to an agent who works with all these channels, based on the agent's skills and current tasks.

                                              Universal Queue Configuration Overview

                                              You can configure the multichannel software to manage a single universal work queue for all requests. You can configure agents to handle all media types, switching media on a task-by-task basis. For example, you can configure an agent as a member of three skill groups if the agent handles voice, e-mail, and chat, and the agent logs in to the softphone, the Unified EIM, and the Unified WIM. The agent is assigned the longest waiting request from any of the three skill groups, or you can choose to prioritize the requests using the multichannel software scripting environment.

                                              Media Routing Domains

                                              A Media Routing Domain (MRD) is a collection of skill groups and services associated with a specific communication channel. For example, the Unified EIM uses Packaged CCE MRD to route a task to an agent who is associated with a skill group and a particular channel. MRDs are defined in the Packaged CCE configuration and have unique IDs across the enterprise.

                                              Media Routing Domains and Interruptibility

                                              When you configure MRDs, you indicate whether tasks for the MRD are interruptible. If the MRD is not interruptible, and agent working on tasks for that MRD is not assigned tasks from other MRDs. If the MRD is interruptible, the agent may be assigned tasks from another MRD.

                                              Typically, voice calls and Unified WIM tasks are not interruptible, as agents are interacting with customers synchronously. E-mail messages, on the other hand, are typically interruptible because contact with the customer is asynchronous. Therefore, an agent responding to an e-mail message may be interrupted by a phone call or chat session.

                                              Use Media Routing Domains to Categorize Contacts

                                              You can categorize contacts based on the MRD based on the route request made by the MRD using the Media Routing Domain node (in the Routing tab of the Palette).
                                              Figure 45. MRD Domain Icon

                                              For example, you can have different MRDs for an Unified EIM instance and Unified WIM chat. You can have a single script for both types of requests that branches so that it routes e-mail messages and chats to different targets.

                                              You must insert targets and connections from the MRD node before you define the node's properties.


                                              Note


                                              A branch can include multiple MRDs, but a single MRD can only be associated with one branch.

                                              Following is the Properties dialog box for the Media Routing Domain node:

                                              Figure 46. Media Routing Domain Properties

                                              Define Media Routing Domain node properties as follows:
                                              Procedure
                                                Step 1   To associate a MRD with a branch: Select the branch:
                                                1. Click Add.
                                                2. Choose a MRD from the drop-down list.
                                                Step 2   To delete a branch, select it and click Delete.
                                                Step 3   To rename a branch, select it, click Rename, and type the new name.
                                                Step 4   You can define a branch as Otherwise by selecting the branch and clicking Make Otherwise. Execution follows this branch if none of the specified time ranges apply. You can specify only one Otherwise branch for the node.

                                                What to Do Next

                                                For more information, see Media Routing Domain List.

                                                Queue to Agent Node

                                                You can queue a contact directly to an agent by using the Queue to Agent node (in the Queue tab of the Palette).

                                                You can change the Queue to Agent type to:

                                                • Specify an agent directly
                                                • Select an agent by expression

                                                Change Queue to Agent Type

                                                Procedure
                                                  Step 1   In the Queue to Agent properties dialog box, click Change. The Queue Agent Type dialog box opens:
                                                  Figure 47. Queue Agent Type

                                                  Step 2   To select a specific agent, select Explicit agent references.
                                                  Step 3   To select and agent by an expression, select Lookup agent references by expression.
                                                  Step 4   Select a Priority between 1 (the highest) and 10 (the lowest).
                                                  Step 5   Optionally, select Enable target requery.

                                                  Specify an Agent Directly

                                                  Following is the properties dialog box of the Queue to Agent node when you select to specify agents directly:

                                                  Figure 48. Agent Direct Properties

                                                  To specify agents directly:

                                                  Procedure
                                                    Step 1   If necessary, change the Queue to Agent type to Explicit agent references.
                                                    Step 2   In the Agent column, select an agent.
                                                    Step 3   In the Media Routing Domain column, select the media routing domain for the selected agent.
                                                    Step 4   In the Skill Group column, select the skill group for the selected agent and media routing domain.
                                                    Step 5   In the Route column, select the route for the selected agent and media routing domain.
                                                    Step 6   Optionally, select Queue if agent not logged in, to have the contact queued to the agent even if the agent is not currently logged in.
                                                    Step 7   To test the data you entered, click Validate.
                                                    Step 8   Optionally, modify Connection Labels.

                                                    Use of Formulas

                                                    Formula Usage

                                                    You can use formulas in many routing nodes to both categorize contacts and select routing targets.

                                                    A formula consists of one or more expressions that Packaged CCE evaluates to produce a value that it can use for subsequent script processing. You define expressions—made up of variables, constants, operators, and functions—as part of custom selection rules or distribution criteria in scripts.

                                                    Formula Example

                                                    Following is a simple example of a formula:

                                                    CallerEnteredDigits == 1

                                                    In this example:

                                                    • The Left-value, CallerEnteredDigits, is a variable. More specifically, it is a call control variable.
                                                    • The operator is the "Equal To" equality operator.
                                                    • The Right-value is the number 1.

                                                    If the value of CallerEnteredDigits is 1, the formula returns true; otherwise, the formula returns false.

                                                    Variables

                                                    A variable is a named object that holds a value. You use variables in formulas to select targets and help in call tracking.

                                                    Variable Syntax

                                                    Following is the syntax for using a variable in a formula:

                                                    object-type.object-name.variable-name

                                                    Where:

                                                    • The object-type is an object category, such as SkillGroup.
                                                    • The object-name is the name of an object contained in Packaged CCE database, such as the name of a skill group (for example, BosSales).
                                                    • The variable-name is the name of an object that can hold a value, such as call information for the skill group; for example, (CallsInProgress).
                                                    • Each component in the variable is separated by a period (.).

                                                    Note


                                                    Passing of internationalized characters through Media Routing interface is not supported. The application that interacts with ICM through the Media Routing interface must send any call related data in English only.


                                                    Single-Target Variables

                                                    A single-target variable examines data for one specified routing target. For example, the variable:

                                                    SkillGroup.BosSales.CallsInProgress: Examines the number of calls in progress for the BosSales skill group.

                                                    Multiple-Target Variables

                                                    A multiple-target variable examines data across multiple routing targets. For example, the function:

                                                    Max(SkillGroup.*.LongestAvailable): Finds the skill group, from all skill groups defined in the target set for the script node that calls the function, with the longest available agent.

                                                    You use an asterisk (*) as the object-name value to indicate that the variable is to examine data across multiple targets.

                                                    Call Control Variables

                                                    Call control variables provide information about the current contact that is being routed by the script. Call control variables include information about where the route request came from, contact classification data, and data to be passed to the peripheral that receives the contact.

                                                    Variable

                                                    Data Type

                                                    Description

                                                    Can be Set by the User

                                                    CallerEnteredDigits

                                                    String

                                                    Digits caller entered in response to prompts.

                                                    Yes

                                                    CallingLineID

                                                    String

                                                    Billing telephone number of the caller.

                                                    No

                                                    DialedNumberString

                                                    String

                                                    Telephone number dialed by the caller.

                                                    No

                                                    ExpCallVarName

                                                    String

                                                    Expanded Call Context (ECC) variable value assigned in scripts and passed with contact.

                                                    Yes

                                                    PeripheralVariable1-

                                                    PeripheralVariable10

                                                    String

                                                    Values passed to and from the peripheral.

                                                    Yes

                                                    RequeryStatus

                                                    Integer

                                                    Provides the ability to test the error path of the Label, Queue, RouteSelect, and Select nodes to determine the specific network cause of failure and conditionally retry the attempt as necessary.

                                                    No

                                                    RouterCallDay

                                                    Integer

                                                    An encoded value that indicates the date on which Packaged CCE processes the call.

                                                    No

                                                    RouterCallKey

                                                    Integer

                                                    A value that is unique among all calls Packaged CCE has processed since midnight. RouterCallDay and RouterCallKey combine to form a unique call identifier.

                                                    No

                                                    RoutingClient

                                                    String

                                                    The name of the routing client that made the route request.

                                                    No

                                                    TimeInQueue

                                                    Integer

                                                    Number of seconds a call has been queued.

                                                    No

                                                    UserToUserInfo

                                                    String

                                                    ISDN private network User to User information

                                                    Yes

                                                    VruStatus

                                                    Integer

                                                    Indicates the result of a previous VRU node.

                                                    No

                                                    CallGUID

                                                    varchar (32)

                                                    Globally unique call identifier.

                                                    No

                                                    LocationParamName

                                                    varchar(50)

                                                    Location name.

                                                    No

                                                    PstnTrunkGroupID

                                                    varchar(32)

                                                    The Trunk Group ID on which the call arrived on IOS Gateway.

                                                    No

                                                    PstnTrunkGroupChannelNumber

                                                    Integer

                                                    The Trunk Group Channel Number on which the call arrived on IOS Gateway.

                                                    No

                                                    SIPHeader

                                                    varchar(255)

                                                    Specific header information extracted from a SIP call that arrives at Unified CVP (or VRU).

                                                    Yes


                                                    Note


                                                    The Call Variables can be used in a "SET" node in an Admin Script as temporary placeholders for complex calculation. However, because any call context is only existent as long as the call itself, the Variables cease to exist after the Route Request (a.k.a Call) is complete (be it by virtue of a successful Routing Script Execute Completion or an Administrative Script Execute Completion). They cannot be used to store values, so as to be re-used in Routing Scripts, as the Routing Scripts themselves will have a new set of CallVariables created for the Route Request.

                                                    Note


                                                    When comparing two Call Variables of Numeric string, you must use the Built-In Function "value()" in the IF Node to perform Numeric comparison, otherwise there is a String comparison. Example: value(Call.PeripheralVariable1)>=value(Call.PeripheralVariable2) where Call.PeripheralVariable1 and Call.PeripheralVariable2 are given as Numeric string.

                                                    Expanded Call Variables

                                                    Expanded call variables store values associated with the contact.

                                                    Expanded call values are written to Termination Call Detail records only if, and when, an ECC value is explicitly set, which can be done any numbers of ways, such as using a script, a Unified CVP, CTI, and so on. This applies to null values as well as non-null values.

                                                    If an expanded call variable is defined, but never assigned a value, it does not have a row in the Termination Call Variable table when a Termination Call Detail record is written.

                                                    The Latin 1 Character set for expanded call context variables and peripheral call variables is supported when used with Unified CVP, Cisco Finesse, and Cisco Social Miner, among others.

                                                    The use of multi-byte character sets in limited usage for ECC and peripheral call variables is also supported, when:

                                                    • setting them in script editor using double quotes
                                                    • stored in Termination Call Variables with appropriate SQL collation
                                                    • setting and receiving them via CTI OS desktops.

                                                    Generally speaking, expanded call values are passed from leg to leg on the call. After a value is assigned, the value is recorded in the Termination Call Variable for every Termination Call Detail Segment. However, this depends on how each new call segment is created.

                                                    The Packaged CCE is delivered with some ECC variables, and you can create others through the Unified CCE Administration tool.

                                                    Persistent vs. Non-persistent Call Variables

                                                    When Packaged CCE writes call data records to its historical database, it can store the values of all call variables. Storing excessive call variable data can degrade historical database performance. When you define a call variable (using the Expanded Call Variables gadget in the Unified CCE Administration web tool), you can tag it as either persistent or non-persistent. Only persistent call variables are written to the historical database. You can use non-persistent variables in routing scripts, but they are not written to the database.

                                                    User Variables

                                                    User variables are variables you create to serve as temporary storage for values you can test with an If node. For example, you could create a user variable called usertemp to serve as a temporary storage area for a string value used by an If node.

                                                    You create user variables through the Unified CCE Administration tool.

                                                    Each user variable must:

                                                    • Have a name that begins with user.
                                                    • Be associated with an object type, for example, skill group. (This enables the Packaged CCE to maintain an instance of that variable for each object of that type in the system.)
                                                    • Be identified as a persistent (retains value across CallRouter restarts) or non-persistent (does not retain value across CallRouter restarts) variable.
                                                    • Store a value up to 40 characters long.

                                                    After you have define a variable, you can use the Formula Editor to access the variable and reference it in expressions, just as you would with a built-in variable.

                                                    Set Variable Node Usage

                                                    Figure 49. Set Properties Window

                                                    You can set the value of a variable with the Set Variable node:

                                                    • Object type - Choose the type of object the variable is associated with.
                                                    • Object - Choose the specific object the variable is associated with.

                                                      Note


                                                      If you choose Call as the Object Type, this field does not apply.
                                                    • Variable - The specific variable you want to set.

                                                      Note


                                                      The variables that are available are determined by the value you choose in the Object Type field.

                                                      Note


                                                      Define all integer fields in tables accessed by a Set Variables node as NOT NULL.
                                                    • Array index - Enter an integer or an expression that evaluates to an integer. For example, if the Array Index expression evaluates to 2, then the Set Variable node sets the second element of the variable array.

                                                      Note


                                                      This field is only available if you select an array variable in the Variable field.
                                                    • Value - Enter the value to assign to the variable. The value can be:
                                                      • A constant
                                                      • A reference to another variable
                                                      • An expression

                                                    SkillGroup.Avail and SkillGroup.ICMAvailable Variables

                                                    When the Packaged CCE system includes only the voice channel, the value of the SkillGroup.Avail variable is the number of agents in the available state, meaning that the agents are able to accept new calls.

                                                    However, when the web or e-mail channel is used with non-voice Media Routing Domains and agents log in to multiple domains, the value of the SkillGroup.Avail variable is calculated differently. There is also a SkillGroup.ICMAvail variable.

                                                    The following table describes the difference between the SkillGroup.Avail and the SkillGroup.ICMAvail variables:

                                                    Case

                                                    SkillGroup.Avail

                                                    SkillGroup.ICMAvailable

                                                    Only voice domain is used

                                                    Number of agents in the Available state.

                                                    Same

                                                    Multiple Domains are used

                                                    Number of agents in the Available state, regardless of what they may be doing in this or other domains.

                                                    Number of agents who can actually handle an additional task or call in the domain.

                                                    SkillGroup.ICMAvailable Variable

                                                    The value of the SkillGroup.ICMAvailable variable is the actual number of agents logged in to the skill group who can take new calls or tasks. Such agents must meet all the following criteria:

                                                    1. They are routable in the domain.
                                                    2. The agent's state in the domain is something other than "Not-Ready".
                                                    3. The agent is below the maximum task limit.

                                                      Note


                                                      For most domains (that is, if the agent is not a Unified WIM Multi-session agent), the maximum task limit is 1, and an agent is below the maximum only when the agent is not working on any call or task.
                                                    4. The agent is not working on another task in a non-interruptible domain.

                                                    SkillGroup.Avail Variable

                                                    SkillGroup.Avail is the number of agents in the skill group who are not doing anything in the domain. An agent who is logged in to two domains can be counted as Avail in one domain even though that agent is handling a task in another non-interruptible domain. An agent in a domain that handles multiple tasks (such as chat) is not counted as Avail if that agent is handling a task, even though the agent has additional capacity for more tasks.

                                                    The following table shows some possible values for these variables. Assume three agents are logged in to a voice skill group, and the same three agents are also logged in to another non-interruptible domain, such as Unified WIM Chat. This table shows the voice skill group states and the number of agents available in that state.

                                                    Case

                                                    SkillGroup.Avail

                                                    SkillGroup.ICMAvailable

                                                    Initial state

                                                    3

                                                    3

                                                    First agent handles a call

                                                    2

                                                    2

                                                    Second agent handles a Collaboration chat session

                                                    2 (because there are two agents doing nothing in the domain)

                                                    1 (because there is only one agent left to handle voice calls)

                                                    Voice call ends

                                                    3

                                                    2

                                                    Collaboration chat ends

                                                    3

                                                    3

                                                    If a routing script needs to check the number of available agents, using SkillGroup.Avail produces better results as it uses an extrapolation mechanism in determining the available agent.

                                                    Following is another example showing agents handling chat. Assume three agents logged in to a chat skill group, each capable of handling two chats. This table shows states for the chat group.

                                                    Case

                                                    SkillGroup.Avail

                                                    SkillGroup.TalkingIn

                                                    SkillGroup.ICMAvailable

                                                    Initial state

                                                    3

                                                    0

                                                    3

                                                    First agent handles a Collaboration chat session

                                                    2 (because the agent is now in the talking state)

                                                    1

                                                    3 (because all three agents can still handle additional chats)

                                                    Second agent handles a Collaboration chat session

                                                    1

                                                    2

                                                    3

                                                    Third agent handles a Collaboration chat session

                                                    0

                                                    3

                                                    3

                                                    First agent handles second Collaboration chat session

                                                    0

                                                    3 (even though a total of 4 chats are in progress, only 3 agents are doing the work)

                                                    2 (because only the second and third agents can handle an additional chat)

                                                    By default, Script Editor shows the ICMAvailable value instead of Avail value when displaying skill group real-time data.

                                                    Closed Variables

                                                    Closed variables are available for use for skill groups, peripherals, and Media Routing Domains. Closed variables allow administration scripts to turn dequeuing to these objects on and off. The Closed variables default to 0, meaning that the object is open. A script (usually an administration script) can change the state of the Closed variables.

                                                    If a Closed flag is set to a non-zero integer, then calls are not dequeued to affected agents, regardless of their state.

                                                    When closed variables are set to zero, the queued calls do not go to the available agents immediately, and continue to be in the queue. When the agent state changes from "Not Ready" to "Ready" state, the new calls are sent to the availabe agents (agents in the "Ready" state) only, and not the queued calls.

                                                    Operators

                                                    Operator Precedence

                                                    The following table shows the order in which operators are evaluated.


                                                    Note


                                                    The operators with priority 1 are evaluated first, then those with priority 2, and so on. The order of evaluation within each priority level can also be important. Prefix operators are evaluated from right-to-left in an expression. Assignment operators are also evaluated from right-to-left. In all other cases where operators have equal priority, they are evaluated left-to-right.

                                                    Priority

                                                    Operator type

                                                    Operators

                                                    1

                                                    Prefix (unary)

                                                    + - ! ~

                                                    2

                                                    Multiplication and division

                                                    * /

                                                    3

                                                    Addition and subtraction

                                                    + -

                                                    4

                                                    Shift right and shift left

                                                    >> <<

                                                    5

                                                    Relational

                                                    < > <= >=

                                                    6

                                                    Equality

                                                    == !=

                                                    7

                                                    Bitwise And

                                                    &

                                                    8

                                                    Bitwise exclusive Or

                                                    ^

                                                    9

                                                    Bitwise inclusive Or

                                                    |

                                                    10

                                                    And

                                                    &&

                                                    11

                                                    Or

                                                    ||

                                                    12

                                                    Conditional

                                                    ?

                                                    13

                                                    Sequential

                                                    ,

                                                    Prefix Operators

                                                    The Prefix Operators in the following table take a single operand:

                                                    Operator

                                                    Meaning

                                                    Comments/Examples

                                                    +

                                                    Positive

                                                    Numeric values are positive by default, so the positive operator (+) is optional. Example: 2 and +2 represent the same value.

                                                    -

                                                    Negative

                                                    The negative operator (-) changes the sign of a value. Example: 2 represents a positive value; -2 represents a negative value.

                                                    !

                                                    Logical negation

                                                    A logical expression is any expression that evaluates to true or false. The logical negation operator (!) changes the value of a logical expression. Note: Numerically, a false value equates to 0 and a true value equates to a non-zero value. Example: If the current value of SkillGroup.Sales.Avail is 3, then SkillGroup.Sales.Avail > 0 is true and (SkillGroup.Sales.Avail > 0) is false.

                                                    ~

                                                    One's complement

                                                    Operates on a bit value, changing each 1 bit to 0 and each 0 bit to 1. Note: This operator is rarely used.

                                                    Arithmetic Operators

                                                    The Arithmetic Operators in the following table take two operands:

                                                    Operator

                                                    Meaning

                                                    Comments/Examples

                                                    *

                                                    Multiplication

                                                    Arithmetic operators perform the basic operations of addition, subtraction, multiplication and division. You can use them in making calculations for a skill group, service, or route. Note: Multiplication (*) and division (/) operators are evaluated before addition (+) and subtraction (-) operators. Examples: Returns the number of agents who are logged in to the service but not currently available. Evaluates to because the multiplication is performed first.

                                                    /

                                                    Division

                                                    +

                                                    Addition

                                                    -

                                                    Subtraction

                                                    Equality Operators

                                                    The Equality Operators in the following table take two operands:

                                                    Operator

                                                    Meaning

                                                    Comments/Examples

                                                    ==

                                                    Equal to

                                                    Equality operators allow you to determine whether two values are equivalent or not. Examples: Is true if any calls are currently queued for the service. Is true if all agents logged in to the service are currently available.

                                                    !=

                                                    Not Equal To

                                                    Relational Operators

                                                    The Relational Operators in the following table take two operands:

                                                    Operator

                                                    Meaning

                                                    Comments/Examples

                                                    >

                                                    Greater than

                                                    Relational operators allow you to perform a more sophisticated comparison than the equality operators. Examples: Is true if more members of the skill group are in the Not Ready state. Is true if at least as many agents are Ready as Not Ready.

                                                    <

                                                    Less than

                                                    >=

                                                    Greater Than or Equal To

                                                    <=

                                                    Less Than or Equal To

                                                    Logical Operators

                                                    The Logical Operators in the following table take two operands. Logical operators examine the values of different logical expressions:

                                                    Operator

                                                    Meaning

                                                    Comments/Examples

                                                    &&

                                                    And

                                                    The expression is true if both of the operands are true. If either is false, the overall expression is false. The following is true if the skill group has at least one agent logged in and no agents are currently available.

                                                    ||

                                                    Or

                                                    The expression is true if either or both of the operands is true. If both are false, the overall expression is false. The following is true if the skill group has at least 5 agents logged in or no agents are currently available. However, the expression is false if less than five agents are logged in and there is an agent available.


                                                    Note


                                                    The equality (==) and relational (>) operators are evaluated before the logical operators (&& and ||).

                                                    Bitwise Operators

                                                    The Bitwise Operators in the following table take two operands.

                                                    Operator

                                                    Meaning

                                                    Comments/Examples

                                                    &

                                                    And

                                                    The & Bitwise Operator turns specific bits in a value on or off. The following expression turns off the six low-order bits of AvgTalkTimeTo5.

                                                    Note the use of the complement operator (~) with the constant. This is equivalent to rounding the value down to the next multiple of 64.

                                                    |

                                                    Inclusive Or

                                                    Inclusive Or and Exclusive Or differ in the way they handle the case where bits in both values are 1: Inclusive Or evaluates the result as true and sets a 1 bit in the result. Exclusive Or evaluates the result as false and sets a 0 bit in the result. (An Exclusive Or applies the rule "one or the other, but not both").

                                                    ^

                                                    Exclusive Or

                                                     

                                                    Miscellaneous Operators

                                                    The following table lists miscellaneous operators:

                                                    Operator

                                                    Meaning

                                                    Comments/Examples

                                                    ?

                                                    Conditional

                                                    The conditional operator (?) takes three operands and its syntax is as follows:

                                                    The Packaged CCE evaluates the expression by first examining the logical expression condition and then tests the following condition: If the result is true, then the overall expression evaluates to the value of the expression true-result. If the result is false, then the overall expression evaluates to the expression false-result. The following expression determines whether the number of agents available for skill group S1 is even or odd.

                                                    &

                                                    Concatenation

                                                    The concatenation operator (&) joins two strings end-to-end. returns the value.

                                                    ,

                                                    Sequential

                                                    The sequential or comma operator (,) takes two operands, each of which is an expression. Packaged CCE evaluates the left expression first and then the right expression. The value of the overall expression is the value of the right expression. The first expression typically affects the valuation of the second.

                                                    <<

                                                    >>

                                                    Shift left

                                                    Shift right

                                                    The shift left (<<) and shift right (>>) operators shift the bits within a value. The following example shifts the bits in Avail two places to the left. The two right-most positions are filled with zeroes: The following example shifts the bits in Avail two places to the right. In this case, the positions are filled with sign bits (0 if the original value is positive or zero; 1 if the original value is negative).

                                                    Built-in Functions

                                                    Date and Time Functions

                                                    The following table lists the built-in date and time functions:

                                                    Function

                                                    Data Type

                                                    Return Value/Example

                                                    date [ (date) ]

                                                    Integer

                                                    Returns the current system date or the date portion of a given date-time value. The given date can be a floating point value (as returned by the now function), a string of the form mm/dd/yy, or three integers: yyyy, mm, dd. date (with no arguments) returns the current date. = date (2001, 7, 15) tests whether the current date is July 15, 2001.

                                                    Note    Do not use the slash (/) character in defining a date function. Because it is the division operator, the function would not return the results you are looking for. You can enclose the argument within a string.

                                                    day [ (date) ]

                                                    Integer

                                                    Returns the day of month (1-31) for the current date or a given date. The given date must be an integer or a floating-point value, as returned by the date or now function. Tests whether tomorrow is the first of the month.

                                                    hour [ (time) ]

                                                    Integer

                                                    Returns the hour (0-23) of the current time or a given time. The given time must be a floating-point value, as returned by the now function. Tests whether the current time is before noon.

                                                    minute [ (time) ]

                                                    Integer

                                                    Returns the minutes (0-59) of the current time or a given time. The given time must be a floating-point value as returned by the time function. Tests whether the current time is in the second fifteen-minute interval after an hour.

                                                    month [ (date) ]

                                                    Integer

                                                    Returns the month (1-12) of the current month or a given date. The given date must be a floating-point value, as returned by the date or now function. Tests whether the current month is June.

                                                    now

                                                    Float

                                                    Returns the current date and time, with the date represented as an integer and the time represented as a fraction. Note: You can use the date or time functions without any arguments to return just the current date or time. This function is useful for comparing the current date and time to a specific point in time. To test whether the current date and time is later than 10 P.M., December 24, 2001, use the expression.

                                                    second [ (time) ]

                                                    Integer

                                                    Returns the seconds (0-59) of the current time or a given time. The given time must be a floating-point value, as returned by the time function. Tests whether the current time is within the last ten seconds of a minute.

                                                    time [ (time) ]

                                                    Float

                                                    Returns the current system time or the time portion of a date-time value. The given time can be a floating point value, a string of the form hh:mm:ss, or two or three numeric values: hh, mm [, ss ]. (with no arguments) returns the current time. Tests whether the current time is after 2:00 PM.

                                                    weekday [ (date) ]

                                                    Integer

                                                    Returns the current day of week (Sunday=1, Monday=2, etc.) of the current date or given date. The given date must be an integer or floating-point value, as returned by the date or now function. Tests whether today is Tuesday.

                                                    year [ (date) ]

                                                    And

                                                    Returns the year of the current year or given date. The given date must be a floating-point value, as returned by the date or now function. Tests whether the millennium has passed.

                                                    Mathematical Functions

                                                    The following table lists the built-in mathematical functions:

                                                    Function

                                                    Data Type

                                                    Return Value/Example

                                                    abs(n)

                                                    Floating Point or Integer

                                                    Returns the absolute value of (the number with no sign). Returns the value 15.

                                                    max(n1, n2 [,n3] . . .)

                                                    Floating Point or Integer

                                                    Returns the largest of the operands. Each operand must be numeric. Returns the value 3.

                                                    min(n1, n2 [,n3] . . .)

                                                    Integer

                                                    Returns the smallest of the operands. Each operand must be numeric. Returns the value -2.

                                                    mod(n1,n2)

                                                    Floating Point or Integer

                                                    Returns the integer remainder of n1 divided by n2. Returns the value 99.

                                                    random()

                                                    Floating Point or Integer

                                                    Returns a random value between 0 and 1.

                                                    sqrt(n)

                                                    Floating Point or Integer

                                                    Returns the square root. (The operand n must be numeric and non-negative). Returns the value 7.

                                                    trunc(n)

                                                    Floating Point or Integer

                                                    Returns the value of truncated to an integer. returns the value 28.

                                                    Miscellaneous Functions

                                                    The following table lists the built-in miscellaneous functions:

                                                    Function

                                                    Data Type

                                                    Return Value/Example

                                                    after(string1,string2)

                                                    String

                                                    That portion of string2 following the first occurrence of string1. If string1 does not occur in string2, the null string is returned. If string1 is the null string, string2 is returned. Returns the value defg.

                                                    before(string1,string2)

                                                    String

                                                    That portion of string2 that precedes the first occurrence of string1. If string1 does not occur in string2, string2 is returned. If string1 is the null string, the null string is returned. Returns the value abc.

                                                    ClidInRegion

                                                    Logical

                                                    Indicates whether the CLID for the current contact is in the geographical region specified by string. The value string must be the name of a defined region. You can use the Name variable of a region to avoid entering a literal value. Tests whether the CLID is from the Maryland region.

                                                    concatenate(string1,string2, . . .)

                                                    String

                                                    Returns the concatenation of the arguments. The function takes up to eight arguments. Returns the value abcde.

                                                    EstimatedWaitTime

                                                    Integer

                                                    Returns the minimum estimated wait time for each of the queues against which the call is queued (skill group(s) or precision queue(s)). Queue to Agent(s) is not supported. If no data is available, returns -1. The estimated wait time is calculated once, when the call enters the queue.

                                                    The default estimated wait time algorithm is based on a running five minute window of the rate of calls leaving the queue. Any calls which are routed or abandoned during the previous 5 minutes are taken into account as part of the rate leaving queue. For precision queues, the rate leaving queue represents the rate at which calls are delivered or abandoned from the entire precision queue, not any individual precision queue steps.

                                                    find(string1, string2 [,index ])

                                                    Integer

                                                    Returns the starting location of string1 within string2. If you specify an index value, searching starts with the specified character of string2. Returns the value 6.

                                                    if(condition,true-value,false-value)

                                                    Logical

                                                    Returns a value of true-value if the condition is true; false-value if the condition is false. Returns the current hour in 12-hour format rather than 24-hour format.

                                                    left(string,n)

                                                    String

                                                    Returns left-most n characters of string. Returns the value abc.

                                                    len(string)

                                                    Integer

                                                    Returns the number of characters in string. Returns the value 3.

                                                    mid(string,start,length)

                                                    String

                                                    Returns a substring of string beginning with the start character and continuing for length characters. Returns the value bcd.

                                                    result

                                                    Floating Point or Integer

                                                    Returns the result of the current Select node. (This function is valid only in a Select node.) If you are using the LAA rule in the Select node, result returns the number of seconds the selected agent has been available.

                                                    right(string,n)

                                                    String

                                                    Returns right-most n characters of string. Returns the value cde.

                                                    substr(string,start [ , length ])

                                                    String

                                                    Returns a substring of string beginning with start character and continuing for length characters. Returns the value 01851.

                                                    text(n)

                                                    String

                                                    Converts a numeric value to a string. Returns the value "5".

                                                    valid(variable)

                                                    Logical

                                                    Returns whether variable has a valid value. Tests whether the database C name is a valid value.

                                                    ValidValue(variable,value)

                                                    String

                                                    If variable has a valid value, returns that value; otherwise, returns "value". Returns either a name from the database or the string value None.

                                                    value(string)

                                                    Floating Point or Integer

                                                    Converts a string to a numeric value. Returns the value 5.

                                                    Custom Functions

                                                    Custom functions are those functions you create for use within scripts, as opposed to built-in functions.

                                                    Add Custom Functions

                                                    Procedure
                                                      Step 1   In Script Editor, from the Script menu, choose Custom Functions. The Custom Functions dialog box opens, listing all the custom functions currently defined.
                                                      Step 2   Click Add to open the Add Custom Function dialog box.
                                                      Step 3   Specify the following:
                                                      1. Function name. All custom function names must begin with user.
                                                      2. Number of Parameters. The number of parameters to be passed to the function. A function may take 0, 1, or more parameters.
                                                      3. Function definition. The expression to be evaluated when the function is called. When entering the function definition, keep the following in mind:

                                                        The parameters to a function are numbered beginning with 1. To reference a parameter within the expression, surround it with percent signs (%). For example, %3% is a reference to the third parameter.

                                                        The lower portion of the dialog box is just like the Formula Editor. You can use it to help build the expression.

                                                      Step 4   When finished, click Test. The Test Function dialog box opens.
                                                      Step 5   Test the function by entering an example of how you might reference the function. Include a specific value for each parameter.
                                                      Step 6   Click Evaluate to see how the Script Editor interprets the function call and click Close to return to the Add Custom Function dialog box.
                                                      Step 7   Use one of the Validate buttons to validate the scripts that reference a selection function. (The Validate All button lets you validate all the scripts that reference any custom function.)
                                                      Step 8   When finished, click OK to apply changes and to close the dialog box.

                                                      Import Custom Functions

                                                      Procedure
                                                        Step 1   In Script Editor, from the Script menu, choose Custom Functions. The Custom Functions dialog box opens, listing all the custom functions currently defined.
                                                        Step 2   Click Import. The Import Custom Function dialog box opens.
                                                        Step 3   Choose a file name with an ICMF extension (.ICMF) and click Open. The Script Editor examines the file for naming conflicts. If a conflict is found, a dialog box appears listing options for resolving the conflict.
                                                        Step 4   Choose one of the options and click OK.
                                                        Note    If you choose to rename the function, the new name must begin with user.

                                                        The Script Editor performs automapping and the following happens:

                                                        • If all imported objects were successfully auto-mapped, a message window appears prompting you to review the mappings. Click OK to access the Object Mapping dialog box.
                                                        • If some imported objects were not successfully auto-mapped, the Object Mapping dialog box appears, with all unmapped objects labeled Unmapped.

                                                        The Object Mapping dialog box contains three columns:

                                                        • Object Types. The type of imported objects.
                                                          • Imported Object. Name of imported object.
                                                          • Mapped To. What this imported object will be mapped to.
                                                        • (Optional.) Click an Imported Object value. The Mapped To column displays all the valid objects on the target system.
                                                        • (Optional.) Choose an object from the Mapped To columns drop-down list on the target system that you want to map the imported object to.

                                                        Note


                                                        Multiple objects may be mapped to the same target. Objects may be left unmapped; however, the resulting custom function are not valid until all objects are mapped.

                                                        When the mapping is complete, click Apply and Finish.

                                                        Export Custom Functions

                                                        Procedure
                                                          Step 1   In Script Editor, from the Script menu, choose Custom Functions. The Custom Functions dialog box opens, listing all the custom functions currently defined.
                                                          Step 2   Choose the custom function(s) from the list and click Export. The Export Custom Function dialog box opens.
                                                          Note    If you selected a single function, that functions name appears in the File Name field. If you selected more than one function, the File Name field is blank.
                                                          Step 3   (Optional.) Change the File Name.
                                                          Note    You cannot change the file type; you can save the script only in .ICMF format.
                                                          Step 4   Click Save. If the file name already exists, the system prompts you to confirm the save.
                                                          Step 5   If prompted, click OK. The custom function(s) are saved to the specified file in text format.

                                                          Scripting Specifics in a Packaged CCE Environment

                                                          Call Priority

                                                          When a call is queued to a skill group because there are no agents available, the Queue to Skill Group node sets the call's priority. The Queue Priority node can then promote the call's priority based on time the caller has waited. The call can be queued to multiple skill groups with the same or different priorities.

                                                          If there are calls in the agent's skill group queues when an agent becomes available, the agent is presented with the highest priority (1-10 with 1 being the highest priority) call that has waited the longest within the skill group(s) that the agent is assigned to.

                                                          Check for Available Agents

                                                          A script that routes to Packaged CCE agents needs to check for an available agent within a skill group. If an agent is not available, then the script should use a Queue to Skill Group node. The script execution ends when an agent becomes available or when the caller disconnects.

                                                          Scripts for Precision Queues

                                                          To implement Precision Routing in your contact center, you must create scripts.

                                                          You can create and use configured (static) and dynamic precision queue nodes in your scripts.

                                                          • Static precision queue nodes target a single, configured precision queue. When the script utilizes a single precision queue, use static precision queues.
                                                          • Dynamic precision queue nodes are used to target one or more previously configured precision queues. Use dynamic precision queues when you want a single routing script for multiple precision queues (for example, when the overall call treatment does not vary from one precision queue to another). Dynamic precision queues can simplify and reduce the overall number of routing scripts in the system.

                                                          Precision Queue Script Node

                                                          Use the Precision Queue script node to queue a call based on caller requirements until an agent with desired proficiency become available. This node contains multiple agent selection criteria which are separated into steps.

                                                          A single call can be queued on multiple precision queues. If an agent becomes available in one of the precision queues, the call is routed to that resource. You cannot reference multiple precision queues with a single Precision Queue node. However, you can execute multiple Precision Queue nodes sequentially to achieve this.

                                                          The Precision Queue node includes a Priority field, which sets the initial queuing priority for the calls processed through this node versus other calls queued to the other targets using different nodes. The priority is expressed as an integer from 1 (top priority) to 10 (least priority). The default value is 5.

                                                          If more than one call is queued to a precision queue when an agent becomes available, the queued call with the lowest priority number is routed to the target first. For example, assume an agent in a precision queue becomes available and two calls are queued to that precision queue. If one call has priority 3 and the other has priority 5, the call with priority 3, the lower value, is routed to the precision queue while the other call continues to wait. If the priorities of the two calls are same, then the call queued first is routed first.

                                                          VRU (voice response unit) script instructions are not sent to the VRU. If a call enters the precision queue node and no resource is available, the call is queued to the precision queue and the node transfers the call to the default VRU, if the call is not already on a VRU. The script flow then exits immediately through the success branch. The script should then continue with a run external script node to instruct the VRU what to do while holding the call until an agent becomes available. Typically, this invokes a network VRU script that plays music-on-hold, possibly interrupted on a regular basis with an announcement. The script flow can also use other queuing nodes to queue the same call to other targets, for example, Queue to Skill Group and Queue to Agent.

                                                          Configure a Static Precision Queue

                                                          Procedure
                                                            Step 1   In the Precision Queue Properties dialog box, select the Statically option.
                                                            Step 2   From the list, select a precision queue to which to route all calls that enter this node.
                                                            Step 3   In the Priority selection box, select the initial queuing priority for calls processed through this node. You can select from 1 - 10. The default is 5.
                                                            Step 4   Check the Enable target requery check box to enable the requery feature for calls processed through this node.
                                                            Step 5   Check the Wait if Agents Not Logged In check box. If this check box is selected and the agents associated with this step are not logged in, then the router waits for the time that is configured for that step. Whereas, if this check box is not selected, the router does not wait on any step.
                                                            Note    The router waits indefinitely on the last step, irrespective of the selection of this check box.
                                                            Step 6   To edit a precision queue, select a precision queue from the list, and then click Edit Precision Queue.

                                                            Configure a Dynamic Precision Queue

                                                            Procedure
                                                              Step 1   In the Precision Queue Properties dialog box, select the Dynamically option.
                                                              Step 2   In the Priority selection section, select the initial queuing priority for calls processed through this node. You can select from 1 - 10. The default is 5.
                                                              Step 3   Check the Enable target requery check box to enable the requery feature for calls processed through this node.
                                                              Step 4   Check the Wait if Agents Not Logged In check box. If this check box is selected and the agents associated with this step are not logged in, then the router waits for the time that is configured for that step. Whereas, if this check box is not selected, the router does not wait on any step.
                                                              Note    The router waits indefinitely on the last step, irrespective of the selection of this check box.
                                                              Step 5   Select a queue option:
                                                              • To dynamically route calls that enter this node to a precision queue name, select the Precision Queue Name option.
                                                              • To dynamically route calls that enter this node to a precision queue ID, select the Precision Queue ID option.
                                                              Step 6   Click Formula Editor to create a formula that determines the precision queue name or ID to which to route calls.

                                                              Queuing Behavior of the Precision Queue Node

                                                              Precision queues internally are configured with one or more time-based steps, each with a configured wait time. After a call is queued, the first step begins and the timer starts. This occurs although the execution path of the script exited the success node and a new node may be targeted (for example, Run Ext. Script).

                                                              If the timer for the first step expires, control moves to the second step (assuming one exists), and so on. As long as the call remains in queue and there are steps left to execute, the call internally continues to move between steps regardless of the path the call takes after it leaves the precision queue node. If a call is queued to two or more precision queues, the call internally walks through the steps for each precision queue in parallel. After the call reaches the last step on a precision queue, it remains queued on that step until the call is routed, abandoned, or ended.

                                                              Cancel Queuing Node

                                                              If the call needs to be taken out of a skill group, then use the Cancel Queuing node. The Cancel Queuing node takes the call out of all the skill groups it is queued to.

                                                              End Node

                                                              The End node either tries default routing, or if there is no default label, it sends an error (dialog fail) to the routing client.

                                                              Agent to Agent Node

                                                              You can use the Agent to Agent node for agent to agent transfers; the router checks agent availability before sending the call to the agent. If the agent is not available, the script queues the call to a skill group. You can also use the Agent to Agent node to send a call to the agent: the "caller" is not required to be an agent.

                                                              For a transfer to a specific target agent, the initiating agent enters the target agent ID. The DNP entry matching the dialed number (agent ID) must have a DNP type of PBX. For this DNP type, the PIM enters the dialed number (agent ID) into the Caller-Entered Digits (CED) field while sending the route request to the Router. To have the Router handle the call properly, specify the CED field as the location of the agent ID in the Agent to Agent node.

                                                              Agent IDs must not match any of the extensions on the Unified Communications Manager cluster. If you make all agent IDs of the same length and begin with the same number, a generic wildcard string can match all agent IDs. With that wildcard string, you need only one entry in the DNP for agent-to-agent routing.

                                                              The agent-to-agent node requires that you specify the PIM. If your environment has multiple PIMs, use an agent ID number plan to determine which PIM contains an agent. Agent IDs are associated with a specific PIM and are not unique by themselves. You can set up a consistent agent ID assignment plan (such as, all agent IDs on PIM 1 begin with 1, and so on). That pattern enables you not to repeat agent IDs across the enterprise. Then, you can parse the CED field in the script editor to determine which PIM contains a specific agent.

                                                              Unified CVP as a queue point

                                                              Packaged CCE relies on the Unified CVP to queue the call while it is waiting for an available agent.

                                                              The Packaged CCE sends the call to the Unified CVP port for queuing:

                                                              • To provide the call with a termination point that allows the VoIP Gateway to return the correct signals or messages back to the PSTN.
                                                              • Provide announcements or music or expected wait time or initial position in queue to the caller while they are waiting for an agent. Allow the caller an option to leave a message if the caller does not want to wait for an agent.
                                                              • To obtain further information from the caller that is not sent from the network

                                                              The Unified CVP lets Packaged CCE know when the caller disconnects through the Event Report Message with an Event Type of either DISCONNECT or ABANDON. When an agent becomes available, Packaged CCE automatically instructs Unified CVP to route the call to the agent through the Connect message.

                                                              Interruptible vs. Non-interruptible

                                                              If the VRU script is collecting digits from the customer to ascertain information regarding the caller that is crucial for a screen pop or call routing, put the VRU script in a non-interruptible mode.

                                                              If a call was queued to a skill group through a Queue to Skill Group node and then sent to VRU to hear a non-interruptible VRU script, if during the time that the caller is interacting and listening to the non-interruptible VRU script, an agent becomes available, the call will not be connected to the agent. The Packaged CCE only looks for available agents for that call when the VRU script is finished and the call executes an interruptible node such as a Wait node or a Run External Script node for a VRU script that is interruptible. The call does, however, maintain its place in the queue so when the call does become available for an agent, it is answered before calls that came in afterward it (assuming the same priority).

                                                              For announcement and music type of treatments, put the VRU Scripts in interruptible mode. This allows the call to be connected to the first available agent even while the caller is listening to a VRU script.

                                                              You set the interruptibility of a VRU script through the Network VRU Scripts gadget in the Unified CCE Administration Web tool. Neither the VRU or the Packaged CCE script can overwrite this setting.

                                                              Utility Nodes

                                                              Start Node

                                                              The Start node marks the beginning of a script. The Script Editor automatically inserts the Start node when you create a new script; a script must have one and only one Start node.

                                                              You do not define any properties for the Start node. However, you can add comments and connection labels:

                                                              Figure 50. Start Properties

                                                              Comment Node

                                                              Use the Comment node (in the General tab of the Palette) to include a block comment in a script. A block comment provides general documentation for a script or section of a script:

                                                              Figure 51. The Comment Icon

                                                              Figure 52. Comment Properties

                                                              For example, you might add a comment describing the purpose of the script.

                                                              You can move and resize the comment box within the script.


                                                              Note


                                                              If you choose the Auto-Size Height option, you cannot adjust the height of the comment.

                                                              Line Connector Node

                                                              Use the Line Connector node (in the General tab of the Palette) to make routing and administrative scripts clear and understandable.

                                                              Figure 53. The Line Connector Icon

                                                              A script can be difficult to understand and the call flow hard to follow if:

                                                              • The connecting lines between nodes are too long.
                                                              • The connecting lines go in different directions.
                                                              • The connecting lines run over other nodes and other connection lines.

                                                              The Line Connector node allows you to break and reconnect lines using one or more of its multiple input connections and single output connection. Any request coming into this node (on any one of the multiple inputs) goes to the single output connection of the line connector node.

                                                              For the Line Connector node, you define the connection labels:

                                                              Figure 54. Line Connector Properties

                                                              Unified CVP Scripting

                                                              Writing Scripts for Unified CVP

                                                              This section discusses using Packaged CCE configuration and script editing to access the Unified CVP solution.

                                                              It includes information about how to:

                                                              • Set up Packaged CCE to interact with Unified CVP
                                                              • Write applications for Unified CVP

                                                              Note


                                                              This section contains important information for Unified CVP application developers. It also may be of interest to Call Center Managers, Unified CVP System Managers, and Packaged CCE system managers.

                                                              Before You Begin

                                                              This chapter makes the following assumptions:

                                                              • The information in this chapter assumes that you are already familiar with using the Unified CCE Administration and Script Editor tools for call center operations and management.
                                                              • When creating applications that interact with Unified CVP, only use alphanumeric characters for application, element, and field names; do not use special characters such as periods, asterisks or brackets. Following this practice will avoid potential issues with data transfer between different systems.

                                                              Scripts to Access Unified CVP from Packaged CCE

                                                              Both Packaged CCE and Unified CVP use scripts to invoke their features. In fact, Packaged CCE references Unified CVP scripts from within its own scripts . This method of invoking Unified CVP from within Packaged CCE enables Packaged CCE to take advantage of the features of Unified CVP.

                                                              The two products (Packaged CCE and Unified CVP) provide two service creation (scripting) environments. Each environment is used for different purposes:

                                                              • Script Editor. Use this scripting tool to develop agent routing scripts and to invoke the Unified CVP micro-applications: Play Media, Get Speech, Get Digits, Menu, Play Data, and Capture. These applications are the basic building blocks of a voice interaction design.
                                                              • Call Studio. Use Call Studio to develop sophisticated Unified CVP applications.

                                                                Note


                                                                For more information, refer to Scripting for Unified CVP with Call Studio.

                                                              Invoke Unified CVP Micro-applications Through Packaged CCE Scripts

                                                              The Packaged CCE Script Editor is used to develop agent routing scripts, and to invoke Unified CVP micro-applications - basic building blocks of a voice interaction design. The Unified CVP micro-applications are: Play Media, Get Speech, Get Digits, Menu, Play Data, and Capture. These applications are combined and customized in the Packaged CCE routing script to produce a viable voice interaction with the caller.

                                                              Instead of developing full scale Unified CVP applications using micro-applications, use Unified CVP scripts developed using Call Studio to create the Unified CVP applications. Micro-application-based scripts are primarily used for initial prompt and collection operations, as well as for directing the playing of .wav files while calls are in queue.

                                                              In an environment where Packaged CCE script works with Call Studio script (the 2-script implementation for Unified CCE-integrated models described here), the Packaged CCE script remains in control (and receives control back), even while it delegates the more complex self-service activity to the Call Studio script. Data can be passed from one script to the other and back through ECC variables.


                                                              Note


                                                              The capability of using Packaged CCE scripting for anything other than simple functions has been kept in support of legacy deployments. New customers are strongly advised to use the VoiceXML scripting environment of Unified CVP for creating Unified CVP applications.

                                                              Unified CVP Call Studio Scripting

                                                              Sophisticated Unified CVP applications can be developed using Call Studio which is an Eclipse-based service creation environment whose output is an intermediary file describing the application flow. That file gets loaded onto the VXML Server for execution. To invoke a VXML Server application, the script writer includes a Get Speech (GS) micro-application via the Run External Script node in his Packaged CCE routing script. This micro-application instructs the VoiceXML Gateway to interact with the VXML Server directly to execute the application. The final results are passed back to Packaged CCE.

                                                              Some of the Call Studio scripting environment features include:

                                                              • A drag-and-drop interface with a palette of Unified CVP functions
                                                              • The ability to do database queries
                                                              • Extensibility with Java code written to perform any task a Java application can perform

                                                              Note


                                                              Packaged CCE does not support using the MicroApp nodes that are available in the Script Editor. All MicroApp implementation must be done using the Run External Script node in Script Editor. Refer to Writing Packaged CCE Applications for Unified CVP for detailed information about setting Unified CVP-specific parameters in this node for each Unified CVP micro-application.

                                                              Note


                                                              For more information about creating scripts, refer to Writing Packaged CCE Applications for Unified CVP.

                                                              Scripting for Unified CVP with Packaged CCE

                                                              The sections that follow include:

                                                              • A discussion of micro-applications.
                                                              • A sample Packaged CCE script.
                                                              • A discussion of how Packaged CCE and Unified CVP exchange information.

                                                              Micro-applications

                                                              Micro-applications are a set of specific Unified CVP functions that can be invoked by Packaged CCE, enabling communication with the caller.

                                                              There are six Unified CVP micro-applications:

                                                              • Play Media. Plays a message to the caller.
                                                              • Play Data . Retrieves data from a storage area and plays it to the caller in a specific format called a data play back type.
                                                              • Get Digits. Plays a media file and retrieves digits from the caller.
                                                              • Menu. Plays a media menu file and retrieves a single telephone keypad entry from the caller.
                                                              • Get Speech. Executes a Call Studio script on VXML Server.
                                                              • Capture. The Capture (CAP) micro-application enables you to trigger the storage of current call data at multiple points in the Packaged CCE routing script.

                                                              Micro-applications are interpreted by the Unified CVP Service, which resides on the Call Server. The Unified CVP Service sends VoiceXML code to the VoiceXML Gateway Voice Browser.


                                                              Note


                                                              Using ASR/TTS(speech) through micro-applications is not supported. You have to use Call Studio scripts for any caller interaction that requires use of ASR/TTS (speech).


                                                              Simple Example Script: Welcome to XYZ Corporation

                                                              Suppose you want to create a script that has an example call flow as follows.

                                                              This simple script performs the following functions:

                                                              • Executes the GetInfo Call Studio script on the VXML Server to collect some caller input based on the example callflow.
                                                              • Based on caller input, queues for a sales or support agent .
                                                              • If an agent is not available, executes the MOH Call Studio script which will play music-on-hold to the caller until an agent becomes available.
                                                              Procedure
                                                                Step 1   A call arrives at Packaged CCE and executes a Packaged CCE script.
                                                                Step 2   The caller hears a welcome prompt.
                                                                Step 3   The script sends the call to Unified CVP for collecting some information from the caller before queuing the call for an agent. For example, a menu is offered such as "press 1 for sales and 2 for support," as well as entering an account number.
                                                                Step 4   If the caller is an existing customer, the caller-entered account number is used to retrieve additional information about the caller from an external database.
                                                                Step 5   Caller-entered digits and the additional information about the caller are returned back to the Packaged CCE script to be shown a screen pop to the agent, when an agent becomes available.
                                                                Step 6   The call is then queued waiting for an agent in a particular skill group, based on the caller selection of the type of service.
                                                                Step 7   If an agent is available, the caller is connected to that agent. The agent desktop displays the caller information collected via caller input as well as database lookup.
                                                                Step 8   If an agent is not available, the call is sent back to Unified CVP for playing music-on-hold while the caller waits for an agent to become available.
                                                                Step 9   The information collected from the caller is preserved as call context on the call until the agent becomes available.

                                                                You can create a script such as the one shown in the following figure.

                                                                Figure 55. Packaged CCE Script with Call Flow

                                                                This simple script performs the following functions:

                                                                • Executes the GetInfo Call Studio script on the VXML Server to collect some caller input based on the example callflow.
                                                                • Based on caller input, queues for a sales or support agent.
                                                                • If an agent is not available, executes the MOH Call Studio script which will play music-on-hold to the caller until an agent becomes available.
                                                                Note    In a "real life" application, any Packaged CCE script you create would include error checking to ensure that micro-applications instructions are properly executed.

                                                                Packaged CCE Unified CVP Micro-app Connection

                                                                Before the Unified CVP can be accessible through the Script Editor’s Run External Script node, you must first set up Packaged CCE with special Unified CVP parameters using the Unified CCE Administration tool.

                                                                Begin by using the Packaged CCE Administration’s New Network VRU Script window to define Unified CVP parameters.

                                                                Figure 56. New Network VRU Script Example

                                                                In the figure above:

                                                                • PM,Welcome. (VRU Script Name field.) This means: "Use the instructions in the Play Media micro-application to play the Welcome.wav media file."
                                                                • N. (Configuration Param field.) This means: "Do not allow barge-in." (Barge-in is when the caller can interrupt message play by entering a digit, causing the script to move to the next prompt.)
                                                                • You must check the Interruptible checkbox as shown in the figure above. This specification allows the script to be interrupted by the Unified CVP script functions.

                                                                Note


                                                                As shown in the two columns of the following table, certain entries for the VRU Script Name and Configuration Param fields are case-sensitive.

                                                                Attribute

                                                                Allowed Values

                                                                Applies to

                                                                Case-Sensitive?

                                                                Attribute: VRU Script Name (for example, PM, GD).

                                                                PM, GD

                                                                All micro-applications

                                                                N

                                                                Attribute: Media Library Type (A, S, V)

                                                                A, S, V

                                                                All micro-applications

                                                                N

                                                                Barge-in Allowed

                                                                Y/N

                                                                All micro-applications

                                                                N

                                                                Data playback type

                                                                Number, Char

                                                                PlayData (PD)

                                                                N

                                                                Time Format

                                                                HHMM, HHMMSS, HHMMAP

                                                                PlayData (PD)

                                                                N

                                                                Timeout Message Override

                                                                Y/N

                                                                Get Digits (GD), Get Speech (GS), Menu (M)

                                                                N

                                                                Invalid Entry Message Override

                                                                Y/N

                                                                Get Digits (GD), Get Speech (GS), Menu (M)

                                                                N

                                                                DTMF Termination Key

                                                                N

                                                                All micro-applications

                                                                N

                                                                Media File Name

                                                                 

                                                                All micro-applications

                                                                Y

                                                                Once the network VRU script configuration settings have been saved, the information is available to the Script Editor. When you place a Run External Script node in the Script Editor workspace and open the Properties dialog box, it displays all the script names defined in the system.

                                                                The Run External Script node below shows that the ICM Script Name Play_Welcome was selected.

                                                                Figure 57. Run External Script Node



                                                                Information Exchange Between Packaged CCE and Unified CVP

                                                                When Packaged CCE processes a Run External Script node, parameters are sent to Unified CVP.

                                                                These parameters contain instructions about how to interact with a caller, such as:

                                                                • What micro-application to use.
                                                                • The location of the media files to be played to the caller.
                                                                • Timeout settings to be used during caller digit entry.

                                                                Some Unified CVP parameters are passed to Unified CVP through Expanded Call Context (ECC) variables and/or Call.Peripheral variables. Other parameters are sent in the normal VRU messaging interface (Packaged CCE /Unified CVP Service Control Interface).

                                                                Packaged CCE Data Handling

                                                                In defining scripts, you might specify strings, numbers, or formulas to be sent to Unified CVP. When passing numbers to Unified CVP, always enclose them in quotes so that they will be processed as a string.

                                                                This is especially important if:

                                                                • Leading 0’s are significant to the data type (times, character), enter the number as a quoted string (example: "031524").
                                                                • Trailing 0’s after a decimal point are significant to the data type (number, character, currency), enter the number as a quoted string (examples: "42.00" or "42.10").
                                                                • The number is very large (example: a number normally expressed through exponential notation).

                                                                Unified CVP Script Error Checking

                                                                Unified CVP uses the user.microapp.error_code ECC variable to return information regarding problems encountered while running a script.

                                                                Unified CVP software tests for the following conditions when processing Packaged CCE scripts:
                                                                ASR error

                                                                Failure of an Advanced Speech Recognition component.

                                                                General error

                                                                General error occurred.

                                                                Invalid configuration param

                                                                Data passed from Packaged CCE to the Unified CVP Service is not consistent with what the micro-application requires for processing.

                                                                Invalid variable data

                                                                The variable data passed was not valid for the script type being processed.

                                                                Invalid VRU script name format

                                                                VRU Script Name data passed from Packaged CCE to the Unified CVP Service does not contain the expected components (micro-application name, media file name, media file type, uniqueness value).

                                                                Locale

                                                                Locale was not supported. (Only applies to Play Data micro-applications that use .wav files. Does not apply to Play Data micro-applications that use TTS, or to Play Media, Get Digits, Menu, Get Speech, or Capture micro-applications.)

                                                                Misconfigured ECC variable

                                                                An ECC variable was set to a value the Unified CVP Service did not recognize. ECC variable definitions must be the same in Packaged CCE and Unified CVP.

                                                                Network error

                                                                Failure of an IP network connection.

                                                                Reached maximum invalid tries

                                                                Caller was unsuccessful in entering digits during each of the tries allowed by the micro-application. (Only applies to Get Digits, Menu, and Get Speech micro-applications.)

                                                                Reached maximum number entry tries

                                                                Caller did not enter digits in response to the prompt for each of the tries allowed by the micro-application. (Only applies to Get Digits and Get Speech micro-applications.)

                                                                Semantic-runtime

                                                                Semantic error occurred while running a micro-application.

                                                                System error

                                                                Unexpected failure of a Unified CVP component.

                                                                Timed out

                                                                Caller did not enter digits in response to the prompt in the time allowed by the micro-application.

                                                                TTS error

                                                                Failure of a Text-to-Speech component.

                                                                Unavailable media file

                                                                Media file name passed from Packaged CCE to the Unified CVP Service did not exist on the Media Server.

                                                                Unknown micro-application

                                                                Micro-application name passed from Packaged CCE to the Unified CVP Service did not exist on the Unified CVP Service.

                                                                Unsupported locale

                                                                The VoiceXML Interpreter (that is, gateway) did not recognize the locale passed from the Unified CVP Service.

                                                                Unsupported VoiceXML element

                                                                The VoiceXML Interpreter (that is, gateway) did not recognize a VoiceXML element passed from the Unified CVP Service, VXML Server, or media server.

                                                                Unsupported VoiceXML format

                                                                The VoiceXML Interpreter (that is, gateway) did not recognize a VoiceXML format passed from the Unified CVP Service, VXML Server, or media server.

                                                                Each Unified CVP micro-application has individualized settings for user.microapp.error_code, as shown in the following table.

                                                                Table 3  Possible user.microapp.error_code ECC Variable Settings for Non-Video

                                                                Error Code

                                                                Play Media

                                                                Play Data

                                                                Get Digits

                                                                Menu

                                                                Get Speech

                                                                Capture

                                                                0

                                                                No error

                                                                No error

                                                                No error

                                                                No error

                                                                No error

                                                                No error

                                                                1

                                                                Caller Hangup

                                                                Caller Hangup

                                                                Caller Hangup

                                                                Caller Hangup

                                                                Caller Hangup

                                                                N/A

                                                                2

                                                                Network Error

                                                                Network Error

                                                                Network Error

                                                                Network Error

                                                                Network Error

                                                                N/A

                                                                3

                                                                System Error

                                                                System Error

                                                                System Error

                                                                System Error

                                                                System Error

                                                                System Error

                                                                5

                                                                Unknown micro-application

                                                                Unknown micro-application

                                                                Unknown micro-application

                                                                Unknown micro-application

                                                                Unknown micro-application

                                                                Unknown micro-application

                                                                6

                                                                Invalid VRU Script Name format

                                                                Invalid VRU Script Name format

                                                                Invalid VRU Script Name format

                                                                Invalid VRU Script Name format

                                                                Invalid VRU Script Name format

                                                                N/A

                                                                7

                                                                Invalid Configuration Param

                                                                Invalid Configuration Param

                                                                Invalid Configuration Param

                                                                Invalid Configuration Param

                                                                Invalid Configuration Param

                                                                N/A

                                                                8

                                                                Misconfigured ECC variable

                                                                Misconfigured ECC variable

                                                                Misconfigured ECC variable

                                                                Misconfigured ECC variable

                                                                Misconfigured ECC variable

                                                                N/A

                                                                9

                                                                One of the following:

                                                                • Media file does not exist.
                                                                • Invalid URL for Media file.

                                                                One of the following:

                                                                • Media file does not exist
                                                                • Invalid URL for Media L file

                                                                One of the following:

                                                                • Media file does not exist
                                                                • Invalid URL for Media L file

                                                                One of the following:

                                                                • Media file does not exist
                                                                • Invalid URL for Media L file

                                                                One of the following:

                                                                • Media file does not exist
                                                                • Invalid URL for Media file

                                                                N/A

                                                                10

                                                                Semantic-Runtime Error

                                                                Semantic-Runtime Error

                                                                Semantic-Runtime Error

                                                                Semantic-Runtime Error

                                                                Semantic-Runtime Error

                                                                N/A

                                                                11

                                                                Unsupported VoiceXML format

                                                                Unsupported VoiceXML format

                                                                Unsupported VoiceXML format

                                                                Unsupported VoiceXML format

                                                                Unsupported VoiceXML format

                                                                N/A

                                                                12

                                                                Unsupported VoiceXML element

                                                                Unsupported VoiceXML element

                                                                Unsupported VoiceXML element

                                                                Unsupported VoiceXML element

                                                                Unsupported VoiceXML element

                                                                N/A

                                                                13

                                                                N/A

                                                                Variable data is invalid

                                                                N/A

                                                                N/A

                                                                N/A

                                                                N/A

                                                                14

                                                                N/A

                                                                Location of variable data is empty

                                                                N/A

                                                                N/A

                                                                N/A

                                                                N/A

                                                                15

                                                                N/A

                                                                Time format is invalid

                                                                N/A

                                                                N/A

                                                                N/A

                                                                N/A

                                                                16

                                                                N/A

                                                                N/A

                                                                Reached Maximum Invalid Tries

                                                                Reached Maximum Invalid Tries

                                                                Reached Maximum Invalid Tries

                                                                N/A

                                                                17

                                                                N/A

                                                                N/A

                                                                Reached Maximum No Entry Tries

                                                                Reached Maximum No Entry Tries

                                                                Reached Maximum No Entry Tries

                                                                N/A

                                                                20

                                                                N/A

                                                                Data value out of range

                                                                N/A

                                                                N/A

                                                                N/A

                                                                N/A

                                                                23

                                                                No answer

                                                                No answer

                                                                No answer

                                                                No answer

                                                                No answer

                                                                N/A

                                                                24

                                                                Busy

                                                                Busy

                                                                Busy

                                                                Busy

                                                                Busy

                                                                N/A

                                                                25

                                                                General transfer error

                                                                General transfer error

                                                                General transfer error

                                                                General transfer error

                                                                General transfer error

                                                                N/A

                                                                26

                                                                Invalid extension

                                                                Invalid extension

                                                                Invalid extension

                                                                Invalid extension

                                                                Invalid extension

                                                                N/A

                                                                27

                                                                Called party hung up

                                                                Called party hung up

                                                                Called party hung up

                                                                Called party hung up

                                                                Called party hung up

                                                                N/A

                                                                28

                                                                Error after transfer established

                                                                Error after transfer established

                                                                Error after transfer established

                                                                Error after transfer established

                                                                Error after transfer established

                                                                N/A

                                                                30

                                                                Unsupported locale

                                                                Unsupported locale

                                                                Unsupported locale

                                                                Unsupported locale

                                                                Unsupported locale

                                                                N/A

                                                                31

                                                                ASR error

                                                                ASR error

                                                                ASR error

                                                                ASR error

                                                                ASR error

                                                                N/A

                                                                32

                                                                TTS error

                                                                TTS error

                                                                TTS error

                                                                TTS error

                                                                TTS error

                                                                N/A

                                                                33

                                                                General ASR/TTS error

                                                                General ASR/TTS error

                                                                General ASR/TTS error

                                                                General ASR/TTS error

                                                                General ASR/TTS error

                                                                N/A

                                                                34

                                                                Unknown error

                                                                Unknown error

                                                                Unknown error

                                                                Unknown error

                                                                Unknown error

                                                                N/A

                                                                40

                                                                VXML Server system unavailable

                                                                N/A

                                                                N/A

                                                                N/A

                                                                VXML Server system unavailable

                                                                N/A

                                                                41

                                                                VXML Server application error

                                                                N/A

                                                                N/A

                                                                N/A

                                                                VXML Server application error

                                                                N/A

                                                                42

                                                                VXML Server application used hangup element instead of subdialog return element

                                                                N/A

                                                                N/A

                                                                N/A

                                                                VXML Server application used hangup element instead of subdialog return element

                                                                N/A

                                                                43

                                                                VXML Server application is suspended

                                                                N/A

                                                                N/A

                                                                N/A

                                                                VXML Server application is suspended

                                                                N/A

                                                                44

                                                                VXML Server session error (for example, application has not yet been loaded)

                                                                N/A

                                                                N/A

                                                                N/A

                                                                VXML Server session error (for example, application has not yet been loaded)

                                                                N/A

                                                                45

                                                                VXML Server encounters a bad fetch error (for example, media or grammar file not found)

                                                                N/A

                                                                N/A

                                                                N/A

                                                                VXML Server encounters a bad fetch error (for example, media or grammar file not found)

                                                                N/A

                                                                46

                                                                Audio streaming error

                                                                N/A

                                                                N/A

                                                                N/A

                                                                N/A

                                                                N/A


                                                                Note


                                                                user.microapp.error_code is always zero, indicating success, if control proceeds out the Checkmark (success) branch of the Run External Script node. Usually, if control proceeds out the X (failure) branch, Unified CVP sets this variable to one of the codes listed here. (Set up your routing script to always test the error code after an X branch is taken.)

                                                                Note


                                                                However, if a configuration error, or a network or component failure of some sort, prevents the micro-application from being executed at all, then Unified CVP does not get a chance to set this variable at all. Such cases can be identified by using a Set node to pre-set user.microapp.error_code to some known invalid value such as -1, and then to test for that value using an If node, following the X branch of the Run External Script node.

                                                                Writing Packaged CCE Applications for Unified CVP

                                                                Once Packaged CCE-to-Unified CVP initial setup is complete, you can create Packaged CCE applications to access Unified CVP micro-applications.

                                                                You do this using two Packaged CCE software tools:

                                                                • Unified CCE Administration
                                                                • Packaged CCE Script Editor

                                                                The following section describes using the Script Editor to access Unified CVP micro-applications. See Add and Maintain Network VRU Scripts for information about configuring Unified CVP Network VRU scripts in Unified CCE Web Administration.

                                                                Run External Script Node That Accesses a Unified CVP Micro-application

                                                                Procedure
                                                                  Step 1   Within Script Editor, place the Run External Script object in the workspace, right-click, and open the Properties dialog box.

                                                                  The Run External Script Properties dialog box lists all Network VRU scripts currently configured

                                                                  Note    The ICM Script Name column reflects the values defined through the Name field in ICM Configuration Manager’s Scripts tool.
                                                                  Step 2   Select the ICM Script/VRU Script Name you want to execute.
                                                                  Step 3   Modify the Comments tab as needed.
                                                                  Step 4   Modify the Labels tab as needed.
                                                                  Step 5   When finished, click OK to submit the changes and close the dialog box.

                                                                  Unified CVP Micro-applications

                                                                  The sections that follow describe the parameters that can be defined through Unified CCE Administration for each of the six Unified CVP micro-applications.

                                                                  Keep the following in mind as you configure each Network VRU Script to be used with Unified CVP:

                                                                  • Each micro-application parameter in fields of theNetwork VRU Script ’s Attributes tab must be separated by a comma.
                                                                  • If a parameter value is not specified, the micro-application uses its default.

                                                                  Dynamic Audio File Support for Micro-applications

                                                                  Unified CVP lets you use a single micro-application and specify the prompt using call variables and the Packaged CCE formula editor.

                                                                  To provide dynamic audio file capability, set the second VRU script parameter to a numeric value, 1-10, prefixed by a dash. You then set the Media Library to either "A", "S", or "V". Unified CVP looks in the corresponding Call.PeripheralVariable for the name of the audio file to play.

                                                                  When you set the Media Library to "A" or "S", Unified CVP plays the audio file specified by the Call Variable after the "-(number)". For example, if the second VRU Script Parameter is set to "-4", it plays the audio file specified in Call.PeripheralVariable4. This functionality is added for Play Media, Menu, and Get Digits micro-applications.


                                                                  Note


                                                                  When A is specified as the Media Library, it means Unified CVP looks for the media file under the C:\inetpub\wwwroot\en-us\app folder by default and when S is specified, it looks under the C:\inetpub\wwwroot\en-us\sys folder by default.

                                                                  Second VRU Script Parameter

                                                                  Corresponding Call Variable

                                                                  -1 to -10

                                                                  Call.PeripheralVariable (1 to 10)

                                                                  For an example of how to use a dynamic audio file, see the following table.

                                                                  VRU Script Parameter Example

                                                                  Definition

                                                                  PM, -3,A

                                                                  PM - Uses the Play Media micro-application.

                                                                  -3 - Plays the file specified in Call.PeripheralVariable3.

                                                                  A - Acquires the file from the application media files folder (for example, C:\inetpub\wwwroot\en-us\app).

                                                                  Notes
                                                                  • If you do not specify a file extension for the file name in the Call.PeripheralVariable, the default media file extension is applied (for example, .wav for audio files).
                                                                  • If you set the second VRU script parameter to a value prefixed with a dash and don’t specify a file name in the corresponding Call.PeripheralVariable, the Unified CVP Service creates a VoiceXML that does not contain a media prompt.
                                                                  • You can only specify the name of a single file in the Peripheral Variable. You cannot set this value to a name/value pair.

                                                                  For more information, refer to the sections on individual micro-applications in this chapter.

                                                                  Default Media Server for Micro-applications

                                                                  You can specify a media server for a micro-application was to use the ECC variable user.microapp.media_server. You also can use the Operations Console to designate a default media server for the entire deployment.

                                                                  The global default media server can be specified in the Operations Console by selecting Device Management > Media Server. The default media server is used by the micro-applications if the ECC variable user.microapp.media_server is missing or empty in the Packaged CCE script.

                                                                  The following list specifies the order in which the micro-application tries to resolve which media server to use:

                                                                  1. Media server is specified by the ECC variable: user.microapp.media_server
                                                                  2. Global default media server is specified

                                                                  The first non-empty media server value encountered in the above order is used by the micro-application. This applies to all micro-applications including

                                                                  • Play Media (PM)
                                                                  • Play Data (PD)
                                                                  • Get Digits (PD)
                                                                  • Menu (M)

                                                                  The following screen shot shows the Packaged CCE script where Play Media micro-application plays a media file using the ECC variable user.microapp.media_server.

                                                                  Figure 58. Packaged CCE Script with Play Media Using ECC Variable



                                                                  The following screen shot shows the Packaged CCE script where Play Media micro-application plays a media file using a default media server configured in the Operations Console.

                                                                  Figure 59. Packaged CCE Script with Play Media Using Default Media Server



                                                                  Capture Micro-application

                                                                  The Capture (CAP) micro-application allows you to trigger the storage of current call data at multiple points in the Packaged CCE routing script. The CAP micro-application must be configured as a VRU script, and it is executed using a RunExternalScript node, just as with any other Unified CVP micro-application. The VRU Script Name value is "CAP" or "CAP,xxx," where "xxx" is any arbitrary string to be used if necessary for uniqueness purposes. There is no VRU Script Config string.

                                                                  Executing a Capture micro-application causes the Packaged CCE PG to produce an intermediate termination record. Specifically, it writes a record in the Termination_Call_Detail (TCD) table which includes all current call variables (not the VRUProgress variable), router call keys, date and time, and caller entered digits. Together with the TCD record, the Capture micro-application writes a set of records to the Termination_Call_Variable (TCV) table which includes the current values of all ECC variables.

                                                                  Packaged CCE provides no standard reporting templates for TCD and TCV records. These tables are large and minimally indexed, and are optimized for writing rather than querying, to minimally impact call handling throughput. If you plan to report on this data, create off-hours extract processes which copy rows in their raw format into a database which is external to Packaged CCE. From there you can organize the tables in the way that best supports your querying requirements.

                                                                  Information you need about these records includes:

                                                                  • TCD records for a given call may be identified because they contain the same RouterCallKeyDay and RouterCallKey. Successive TCD records are ordered by incrementing RouterCallKeySequenceNumber.
                                                                  • Intermediate TCD records may be identified because they contain a CallDisposition of 53, "PartialCall". Only the last TCD record for the call contains the actual disposition.
                                                                  • TCV records corresponding to a particular TCD record may be obtained by joining on TCV.TCDRecoveryKey. This key matches the RecoveryKey value in the TCD record.
                                                                  • The TCD record’s CallTypeId is also populated for VRU peripherals. This means you can determine the call’s current CallType at each Capture micro-application invocation, and at the end of the call.
                                                                  • In Unified CVP Comprehensive call flow models, these records are associated with the VRU leg peripheral. If you are doing VRU application reporting, you can filter for TCD records which contain the PeripheralID of the Unified CVP VRU leg.

                                                                  The Capture micro-application places a heavy demand on Packaged CCE resources. Each time you use it, Packaged CCE writes one TCD record and multiple TCV records. Though it can conveniently capture the information you need, it can also capture extra information which you do not require. If you overuse this micro-application, it can place a heavy load on Packaged CCE in terms of processing time and disk space, which despite the minimal indexing, may impact Packaged CCE ’s ability to handle the expected call load. Carefully choose where you need to capture information in your scripts. Spread data items into as many call variables as possible to maximize the usefulness of each invocation.

                                                                  Play Media Micro-application

                                                                  The Play Media (PM) micro-application can be configured to play a message that is contained in a media file or streaming audio file.

                                                                  Configure Network VRU Script for Play Media

                                                                  Use Packaged CCE Administration’s Network VRU Scripts tool to specify parameters.

                                                                  Procedure
                                                                    Step 1   Configure VRU Script field parameters:
                                                                    • Micro-application type. For Play Media, valid options are: PM or pm.
                                                                    • Media File Name. Name of the media file to be played (that is, the prompt file) or the name of the external VoiceXML file. The valid options are:
                                                                      • A file name (for instance, a .wav file).
                                                                      • null - (default) If this field is empty, no prompt is played.
                                                                      • -(number 1-10) - Unified CVP plays the file in the corresponding Call.PeripheralVariable file. For example, a value of 2 instructs Unified CVP to look at Call.PeripheralVariable2.
                                                                      • -a - Unified CVP automatically generates the media file name for agent greeting when this option is specified. The file name is based on GED-125 parameters received from Packaged CCE .
                                                                    • Media Library Type. Flag indicating the location of the media files to be played. The valid options are:
                                                                      • A - (default) Application
                                                                      • S - System
                                                                    • Uniqueness value. Optional. A string identifying a VRU Script Name as unique.
                                                                    Step 2   Configure the Configuration Param field parameters:
                                                                    • Barge-in Allowed. Specifies whether barge-in (digit entry to interrupt media playback) is allowed. The valid options are:
                                                                      • Y - (default) barge-in allowed
                                                                      • N - barge-in not allowed
                                                                        Note   

                                                                        Voice barge-in is not supported by Play Media and Play Data micro-applications. However, Dual Tone Multifrequency (DTMF) barge-in is supported for these micro-applications.

                                                                        For more information about barge-in, see How Unified CVP Handles Barge-In.

                                                                    • RTSP Timeout. Specifies the Real-time Streaming Protocol (RTSP) timeout - in seconds - when RTSP is used. The valid range is 0 - 43200 seconds (default is 10 seconds). If the value is set to 0 or a timeout value is not provided, the stream does not end. See Configure Play Media Micro-application to Use Streaming Audio for more details.
                                                                    • Type-ahead Buffer Flush. The Cisco VoiceXML implementation includes a type-ahead buffer that holds DTMF digits collected from the caller. When the VoiceXML form interpretation algorithm collects user DTMF input, it uses the digits from this buffer before waiting for further input. This parameter controls whether the type-ahead buffer is flushed after the prompt plays out. A false value (default) means that the type-ahead buffer is not flushed after the prompt plays out. If the prompt allows barge-in, the digit that barges in is not flushed. The valid options are
                                                                      • Y - flush the type-ahead buffer
                                                                      • N - (default) do not flush the type-ahead buffer
                                                                        Note   

                                                                        This parameter is normally used when two or more PM and/or PD microapps are used in a loop in the Packaged CCE script (such as while in queue for an agent). If the PM and/or PD microapps are enabled for barge-in, one would set this parameter to Y to prevent an uncontrolled looping in the Packaged CCE script when the user barges in.


                                                                    How Unified CVP Handles Barge-In
                                                                    Unified CVP deals with barge-in as follows:
                                                                    • If barge-in is not allowed, the gateway continues prompt play when a caller starts entering digits.
                                                                    • If barge-in is allowed, the gateway discontinues prompt play when the caller starts entering digits. See Get Speech and External VoiceXML
                                                                    Configure Play Media Micro-application to Use Streaming Audio

                                                                    Use the Script Editor to configure Play Media (PM) micro-application to play .wav files from a streaming audio server.

                                                                    Cisco does not sell, OEM, or support any Media Servers. The IOS gateway only supports µ-law wav files in 8-bit format. Media Servers such as RealNetwork's Helix Server will serve RTSP broadcast audio streams in the µ-Law format.


                                                                    Note


                                                                    The IOS gateway only supports µ-law wav files in 8-bit format.

                                                                    You must enclose the stream URL and stream name values in quotation marks.


                                                                    Procedure
                                                                      Step 1   Add a Set Node in the script to configure the media_server ECC variable.
                                                                      • On the Set Variable tab of the Set Properties dialog box, select Call from the Object Type drop down and then set the Variable to user.microapp.media.server.

                                                                      • In the Value field, specify the URL up to, but not including, the stream name.
                                                                        Note   

                                                                        The URL must begin with an rtsp:// prefix (Real-time Streaming Protocol) to stream audio over the network. A trailing forward slash is not permitted in the URL.

                                                                      • Click OK.
                                                                      Step 2   Add another Set Node in the script to configure the stream name.
                                                                      • On the Set Variable tab of the Set Properties dialog box, select Call from the Object Type drop down and set the Variable to PeripheralVariable<1>. The range for standard Peripheral Variables is PeripheralVariable1 through PeripheralVariables10.

                                                                      • In the Value field, specify the stream name and click OK.
                                                                        Note   

                                                                        Stream names are case-sensitive.

                                                                      Step 3   Add a Run External Script node to the workspace and double-click Run External Script.

                                                                      The Run External Script Properties dialog box lists all of the Network VRU scripts that are currently configured.



                                                                      Note   

                                                                      In the example above, the IVRUnified CVP_RTSPStream_Forever script's external script name contains four parameters: PM, -1, A, 5. The second parameter, -1, instructs Unified CVP to play the stream name declared in PeripheralVariable1 (shown in Step 2). Configure streaming audio following the steps outlined so that you may easily change the stream name within the Script Editor, if necessary.

                                                                      You can also use the Run External Script node in the CCE Script Editor to configure CCE to failover to a new streaming server. For example, if you want to point to an alternate streaming server (IP address), use the X-path out of the Run External Script node to redefine the media_server ECC variable. In a failover situation, the script executes and the stream plays from the targeted streaming server and proceeds normally.

                                                                      Step 4   From the Run VRU Script tab, select the Script Name desired and click OK.
                                                                      Step 5   Optionally, you can use the Packaged CCE Administration's Network VRU Scripts tool to configure the timeout value for the stream.

                                                                      Configure the Configuration Param field parameter:

                                                                      • In the RTSP Timeout field, enter a timeout value (in seconds).
                                                                        • The valid range is 0 - 43200 seconds.
                                                                        • If the value is set to 0 or a timeout value is not provided the stream does not end.
                                                                      Step 6   Access the IOS device in global configuration mode and use the rtsp client timeout connect command to set the number of seconds the router waits before it reports an error to the Real-time Streaming Protocol (RTSP) server.

                                                                      The range is 1 to 20. The standard value is 10 seconds.


                                                                      If the SIP Call with Unified CVP Service is Terminated with Reason Code: Q.850;Cause=38 then be sure that the network interface configuration is as follows:
                                                                      ip route-cache same-interface
                                                                      ip route-cache cef
                                                                      ip route-cache
                                                                      ip mroute-cache
                                                                      no cdp enable
                                                                                                  
                                                                      If specified, remove the following line from the network interface:
                                                                      keepalive 1800

                                                                      This issue arises if the Unified CVP loses network connectivity, then the VXML Server Gateway is not able to get information from the CVP Service, and as a result a code 38 rejection is generated in the Gateway logs.

                                                                      Configure Custom Streaming Ringtones

                                                                      You can configure custom ringtone patterns that enable you to play an audio stream to a caller in place of the usual ringtone. Customized streaming ringtones are based on the dialed number destination and, when configured, play an in-progress broadcast stream to the caller while the call is transferred an agent.

                                                                      Play Media Examples: Play Welcome Message
                                                                      The following table shows some Network VRU Script configuration examples for Play Media.

                                                                      Table 4 Network VRU Script Configuration Examples

                                                                      Example

                                                                      Field Name

                                                                      Field Contents

                                                                      Tells Unified CVP...

                                                                      1

                                                                      VRU Script Name

                                                                      PM,Welcome

                                                                      To use the Play Media (PM) micro-application to play the "Welcome.wav" Media file and accept the defaults for remaining settings.

                                                                      Note    If no file extension is specified, .wav is assumed.

                                                                      Configuration Param

                                                                      N

                                                                      That Barge-in is not allowed.

                                                                      2

                                                                      VRU Script Name

                                                                      pm,July,S

                                                                      To use the Play Media (PM) micro-application to play the "July.wav" Media file, using the System (S) Media library.

                                                                      Configuration Param

                                                                      Null (Accept default.)

                                                                      That Barge-in is allowed.

                                                                      3

                                                                      VRU Script Name

                                                                      PM,WebSite,,0

                                                                      To use the Play Media (PM) micro-application to play the "Website.wav" Media file, using the default Media Type (Application library), and setting 0 as the Uniqueness value.

                                                                      Note    A , (comma) indicates a skipped parameter. When a parameter is skipped, Unified CVP applies its default.

                                                                      Configuration Param

                                                                      Null (Accept default.)

                                                                      That Barge-in is allowed.

                                                                      4

                                                                      VRU Script Name

                                                                      PM,WebSite,,1

                                                                      To use the Play Media (PM) micro-application to play the "Website.wav" Media file, using the default Media Type (Application library), and setting 1 as the Uniqueness value.

                                                                      Configuration Param

                                                                      N

                                                                      That Barge-in is not allowed.

                                                                      5

                                                                      VRU Script Name

                                                                      PM, -3, A

                                                                      To use the Play Media (PM) micro-application, using the file listed in Call.PeripheralVariable3, acquiring the file from the Application (A) media library.

                                                                      Configuration Param

                                                                      N

                                                                      That Barge-in is not allowed.

                                                                      6

                                                                      VRU Script Name

                                                                      PM, stream.rm

                                                                      To use the Play Media (PM) micro-application to play "stream.rm" from a streaming audio server and accept the defaults for remaining settings.

                                                                      Configuration Param

                                                                      N, 30

                                                                      That Barge-in is not allowed, and the stream is configured to stop playing in 30 seconds.


                                                                      Note


                                                                      Play Media sets the ECC variable user.microapp.error_code to zero, indicating success, if control proceeds out the Checkmark (success) branch of the Run External Script node. If control proceeds out the X (failure) branch, Play Media typically sets this variable to one of the codes listed in Unified CVP Script Error Checking.

                                                                      Play Data Micro-application

                                                                      The Play Data micro-application retrieves data from a storage area and plays it to the caller in a specific format, called a data play back type.

                                                                      Some possible sources of the data to be played back:
                                                                      • Information retrieved from a database look-up
                                                                      • Information entered by the caller
                                                                      Play Data and Data Storage
                                                                      Before this micro-application can be called, you must specify the location of the play back data. You do this with a Script Editor Set node that points to one of the following storage areas:
                                                                      • One of the standard Packaged CCE Peripheral Variables (PeripheralVariable1 through PeripheralVariables10).
                                                                      • The user.microapp.play_data elements.
                                                                      Configure Network VRU Script Settings for Play Data Micro-application

                                                                      Use the Unified CCE Administration Network VRU Script tool’s Attributes tab to specify parameters.


                                                                      Note


                                                                      Voice barge-in is not supported by Play Media and Play Data micro-applications. However, DTMF barge-in is supported for these micro-applications.

                                                                      If you are using integers that are larger than nine digits, enclose the value in quotation marks, so it will be treated as a string.


                                                                      Before You Begin

                                                                      Procedure
                                                                        Step 1   Configure VRU Script field parameters:
                                                                        • Micro-application type. For Play Data, valid options are: PD or pd.
                                                                        • Data Playback Type. The type of the data to be returned ("played") to the caller. The valid options are:
                                                                          • Number
                                                                          • Char (character)
                                                                          • Date
                                                                          • Etime (elapsed time)
                                                                          • TOD (Time of Day)
                                                                          • 24TOD (24-hour Time of Day)
                                                                          • DOW (Day of Week)
                                                                          • Currency
                                                                          Note   

                                                                          24TOD and DOW data play back types are not supported when using TTS. Currency other than US dollar (USD) is not supported.

                                                                          For more information about each of these playback types, including input format and output examples, see Play Back Types for Voice Data.

                                                                        • Uniqueness value. Optional. A string identifying a VRU Script Name as unique.
                                                                        Step 2   Configure the Configuration Param field parameters:
                                                                        • Location of the data to be played . The valid options are:
                                                                          • null (default) - If you leave this option empty, uses the ECC variable user.microapp.play_data.
                                                                          • A number representing a Call Peripheral Variable number (for example, a 1 to represent Call.PeripheralVariable1).
                                                                          Note   

                                                                          For more information on data location, see Play Data and Data Storage.

                                                                        • Barge-in Allowed. Specifies whether barge-in (digit entry to interrupt media playback) is allowed. The valid options are:
                                                                          • Y - (default) barge-in allowed
                                                                          • N - barge-in not allowed
                                                                            Note   

                                                                            Voice barge-in is not supported by Play Media and Play Data micro-applications. However, DTMF barge-in is supported for these micro-applications.

                                                                            For more information about barge-in, see Play Data and Data Storage.

                                                                        • Time Format Valid only for the time Data Playback types (Etime, TOD, 24TOD). The available formats are:
                                                                          • null - leave this option empty for non-time formats
                                                                          • HHMM - default for time formats
                                                                          • HHMMSS - includes seconds
                                                                          • HHMMAP - includes am or pm; valid only for TOD
                                                                        • Type-ahead Buffer Flush . The Cisco VoiceXML implementation includes a type-ahead buffer that holds DTMF digits collected from the caller. When the VoiceXML form interpretation algorithm collects user DTMF input, it uses the digits from this buffer before waiting for further input. This parameter controls whether the type-ahead buffer is flushed after the prompt plays out. A false value (default) means that the type-ahead buffer is not flushed after the prompt plays out. If the prompt allows barge-in, the digit that barges in is not flushed. The valid options are:
                                                                          • Y - flush the type-ahead buffer
                                                                          • N - (default) do not flush the type-ahead buffer
                                                                            Note   

                                                                            This parameter is only applicable when using the Cisco IOS gateway with DTMF barge-in. This parameter is normally used when two or more PM and/or PD microapps are used in a loop in the CCE script (such as while in queue for an agent). If the PM and/or PD microapps are enabled for barge-in, one would set this parameter to Y to prevent an uncontrolled looping in the CCE script when the user barges in.


                                                                        Play Back Types for Voice Data

                                                                        Configuring how voice data is presented to a caller is an important part of setting up your Unified CVP. The "Data Play Back Types" table below describes each type, along with sample valid values and formats for the supported locales when not using TTS:

                                                                        • en-us. English (United States)
                                                                        • en-gb. English (Great Britain)
                                                                        • es-mx. Spanish (Mexico)
                                                                        • es-es. Spanish (Spain)

                                                                        Locale is selected by setting the user.microapp.locale variable.

                                                                        Any string of characters typically used in the language may need to be spoken back character by character (this includes special keyboard symbols and numbers). If a particular symbol is not used by a particular language, a string containing that symbol may be spelled out with a Play Data with Char data type.

                                                                        For example, assume that an Unified CVP application in the US (a locale of en-us) queries a database for an account owner’s name and spells the name back to the caller. If the name pulled from the database was "Hänschen Walther," the media files that would need to be pulled from the Media Server would have been derived from a URL including the en-us locale. The symbol ä has a decimal value of 228, which is different than the symbol a which has a value of 97. It is the translator’s task to record the proper word(s) for each symbol to be supported. For detailed information on character translation, refer to System Media Files.

                                                                        Table 5  Data Play Back Types

                                                                        Data Play Back Type

                                                                        Description

                                                                        Input Format

                                                                        Output Examples (When Not Using TTS)

                                                                        Number

                                                                        Play the stored data as a number.

                                                                        -###############.######

                                                                        The leading minus (-) is optional and is played as "minus."

                                                                        The whole number portion of the string can contain a maximum of 15 digits (for a maximum value of 999 trillion, 999 billion and so on).

                                                                        The decimal point is represented as a period (.) and played as "point." It is optional if there is no floating portion.

                                                                        The floating point portion of the number is optional and can contain a maximum of six digits.

                                                                        Trailing zeros are played.

                                                                        en-us and en-gb typical spoken form:

                                                                        • -123 = "minus one hundred twenty three"
                                                                        • 35.67 = "thirty five point six seven"
                                                                        • 1234.0 = "one thousand, two hundred, thirty four point zero"

                                                                        es-mx and es-es typical spoken form:

                                                                        • -120 = "menos ciento veinte"
                                                                        • 10.60 = "diez coma seis cero"
                                                                        • 1,100 = "mil cien"

                                                                        Char

                                                                        Play the stored data as individual characters.

                                                                        All printable American National Standards Institute (ANSI) characters are supported.

                                                                        Note   

                                                                        Code Page 1252 is ANSI standard. It contains ASCII (characters 0-127) and extended characters from 128 to 255

                                                                        en-us and en-gb typical spoken form:

                                                                        • abc123= "A, B, C, one, two, three"

                                                                        es-mx and es-es typical spoken form:

                                                                        • abc123 = "A, B, C, uno, dos, tres"

                                                                        Date

                                                                        Play the stored data as a date.

                                                                        YYYYMMDD, regardless of locale.

                                                                        YYYY options: the range of 1800 through 9999.

                                                                        MM options: the range of 01 through 12.

                                                                        DD options: the range of 01 through 31.

                                                                        Note   

                                                                        The software does not validate the date (for example, 20000231 is valid and played accordingly). However, a failure occurs if any bounds are broken (for example, 34 for month).

                                                                        en-us typical spoken form:

                                                                        • MMDDYYYY format: 20000114 = "January fourteenth, two thousand"

                                                                        en-gb typical spoken form:

                                                                        • DDMMYYYY format: 20000114 = "Fourteenth of January, two thousand"

                                                                        es-mx and es-es typical spoken form:

                                                                        • DDMMYYYY format: 20001012 = "doce octubre dos mil"
                                                                        Note    All spoken forms use the proper grammar for the locale.

                                                                        Etime (elapsed time)

                                                                        Play the stored data as an amount of elapsed time.

                                                                        HHMM or HHMMSS

                                                                        Maximum 99 hours, 59 minutes, 59 seconds

                                                                        Leading zeros are ignored.

                                                                        en-us and en-gb typical spoken form:

                                                                        • HHMM format: 0830= "eight hours thirty minutes"
                                                                        • HHMMSS format: 083020= "eight hours, thirty minutes, twenty seconds"

                                                                        es-mx and es-es typical spoken form:

                                                                        • HHMM format: 0205 = "dos horas cinco minutos"
                                                                        • HHMMSSS format: 020101 = "dos horas un minuto un segundo"

                                                                        TOD (Time of Day)

                                                                        Play the stored data as a time of day.

                                                                        HHMM or HHMMSS 24 hour time

                                                                        HH options: 00 - 24

                                                                        MM options: 00 - 59

                                                                        SS options: 00 - 59

                                                                        en-us and en-gb typical spoken form:

                                                                        • HHMM format: 0800 = "eight o’clock" 0830 = "eight thirty" 1430 = "two thirty"
                                                                        • HHMMSS format: 083020 = "eight thirty and twenty seconds"
                                                                        • HHMMAP format: 1430 = "two thirty p.m."

                                                                        es-mx and es-es typical spoken form:

                                                                        • HHMM format: 0100 = "una a.m."
                                                                        • HHMMAP format: 1203 = "doce y tres p.m."
                                                                        • HHMMSS format: 242124 = "doce veintiuno a.m."

                                                                        DOW (Day of Week)

                                                                        Play the stored data as a day of week.

                                                                        An integer from 1 through 7 (1 = Sunday, 2 = Monday, et cetera).

                                                                        Note   

                                                                        The DOW data play back type is not supported when using TTS.

                                                                        en-us and en-gb typical spoken form:

                                                                        • 7 = "Saturday"

                                                                        es-mx and es-es typical spoken form:

                                                                        • 7 = "Sabado"
                                                                        System Media Files

                                                                        The following tables describe the English System Media Files installed by Unified CVP. These system media files are intended as samples only. It is the Customer/Media Administrator’s responsibility to record all the system prompts for all the locales.

                                                                        The table that follows lists the System Media File information for cardinal numbers.

                                                                        Table 6  System Media Files, Cardinal Numbers

                                                                        Symbol (where applicable)

                                                                        Decimal Value

                                                                        Media File Name

                                                                        Media File Content

                                                                        Data Play Back Types / When Media File Is Used

                                                                           

                                                                        point

                                                                        point

                                                                        Number

                                                                           

                                                                        minus

                                                                        minus

                                                                        Number

                                                                        0

                                                                        48

                                                                        0

                                                                        zero

                                                                        All except DOW

                                                                        1

                                                                        49

                                                                        1

                                                                        one (masculine version), uno (es-mx and es-es)

                                                                        All except DOW

                                                                        2

                                                                        50

                                                                        2

                                                                        two

                                                                        All except DOW

                                                                        3

                                                                        51

                                                                        3

                                                                        three

                                                                        All except DOW

                                                                        4

                                                                        52

                                                                        4

                                                                        four

                                                                        All except DOW

                                                                        5

                                                                        53

                                                                        5

                                                                        five

                                                                        All except DOW

                                                                        6

                                                                        54

                                                                        6

                                                                        six

                                                                        All except DOW

                                                                        7

                                                                        55

                                                                        7

                                                                        seven

                                                                        All except DOW

                                                                        8

                                                                        56

                                                                        8

                                                                        eight

                                                                        All except DOW

                                                                        9

                                                                        57

                                                                        9

                                                                        nine

                                                                        All except DOW

                                                                           

                                                                        10

                                                                        ten

                                                                        Same for the rest of all the numbers

                                                                           

                                                                        11

                                                                        eleven

                                                                         
                                                                           

                                                                        12

                                                                        twelve

                                                                         
                                                                           

                                                                        13

                                                                        thirteen

                                                                         
                                                                           

                                                                        14

                                                                        fourteen

                                                                         
                                                                           

                                                                        15

                                                                        fifteen

                                                                         
                                                                           

                                                                        16

                                                                        sixteen

                                                                         
                                                                           

                                                                        17

                                                                        seventeen

                                                                         
                                                                           

                                                                        18

                                                                        eighteen

                                                                         
                                                                           

                                                                        19

                                                                        nineteen

                                                                         
                                                                           

                                                                        20

                                                                        twenty

                                                                         
                                                                           

                                                                        21

                                                                        twenty-one

                                                                         
                                                                           

                                                                        22

                                                                        twenty-two

                                                                         
                                                                           

                                                                        23

                                                                        twenty-three

                                                                         
                                                                           

                                                                        24

                                                                        twenty-four

                                                                         
                                                                           

                                                                        25

                                                                        twenty-five

                                                                         
                                                                           

                                                                        26

                                                                        twenty-six

                                                                         
                                                                           

                                                                        27

                                                                        twenty-seven

                                                                         
                                                                           

                                                                        28

                                                                        twenty-eight

                                                                         
                                                                           

                                                                        29

                                                                        twenty-nine

                                                                         
                                                                           

                                                                        30

                                                                        thirty

                                                                         
                                                                           

                                                                        31

                                                                        thirty-one

                                                                         
                                                                           

                                                                        32

                                                                        thirty-two

                                                                         
                                                                           

                                                                        33

                                                                        thirty-three

                                                                         
                                                                           

                                                                        34

                                                                        thirty-four

                                                                         
                                                                           

                                                                        35

                                                                        thirty-five

                                                                         
                                                                           

                                                                        36

                                                                        thirty-six

                                                                         
                                                                           

                                                                        37

                                                                        thirty-seven

                                                                         
                                                                           

                                                                        38

                                                                        thirty-eight

                                                                         
                                                                           

                                                                        39

                                                                        thirty-nine

                                                                         
                                                                           

                                                                        40

                                                                        forty

                                                                         
                                                                           

                                                                        41

                                                                        forty-one

                                                                         
                                                                           

                                                                        42

                                                                        forty-two

                                                                         
                                                                           

                                                                        43

                                                                        forty-three

                                                                         
                                                                           

                                                                        44

                                                                        forty-four

                                                                         
                                                                           

                                                                        45

                                                                        forty-five

                                                                         
                                                                           

                                                                        46

                                                                        forty-six

                                                                         
                                                                           

                                                                        47

                                                                        forty-seven

                                                                         
                                                                           

                                                                        48

                                                                        forty-eight

                                                                         
                                                                           

                                                                        49

                                                                        forty-nine

                                                                         
                                                                           

                                                                        50

                                                                        fifty

                                                                         
                                                                           

                                                                        51

                                                                        fifty-one

                                                                         
                                                                           

                                                                        52

                                                                        fifty-two

                                                                         
                                                                           

                                                                        53

                                                                        fifty-three

                                                                         
                                                                           

                                                                        54

                                                                        fifty-four

                                                                         
                                                                           

                                                                        55

                                                                        fifty-five

                                                                         
                                                                           

                                                                        56

                                                                        fifty-six

                                                                         
                                                                           

                                                                        57

                                                                        fifty-seven

                                                                         
                                                                           

                                                                        58

                                                                        fifty-eight

                                                                         
                                                                           

                                                                        59

                                                                        fifty-nine

                                                                         
                                                                           

                                                                        60

                                                                        sixty

                                                                         
                                                                           

                                                                        61

                                                                        sixty-one

                                                                         
                                                                           

                                                                        62

                                                                        sixty-two

                                                                         
                                                                           

                                                                        63

                                                                        sixty-three

                                                                         
                                                                           

                                                                        64

                                                                        sixty-four

                                                                         
                                                                           

                                                                        65

                                                                        sixty-five

                                                                         
                                                                           

                                                                        66

                                                                        sixty-six

                                                                         
                                                                           

                                                                        67

                                                                        sixty-seven

                                                                         
                                                                           

                                                                        68

                                                                        sixty-eight

                                                                         
                                                                           

                                                                        69

                                                                        sixty-nine

                                                                         
                                                                           

                                                                        70

                                                                        seventy

                                                                         
                                                                           

                                                                        71

                                                                        seventy-one

                                                                         
                                                                           

                                                                        72

                                                                        seventy-two

                                                                         
                                                                           

                                                                        73

                                                                        seventy-three

                                                                         
                                                                           

                                                                        74

                                                                        seventy-four

                                                                         
                                                                           

                                                                        75

                                                                        seventy-five

                                                                         
                                                                           

                                                                        76

                                                                        seventy-six

                                                                         
                                                                           

                                                                        77

                                                                        seventy-seven

                                                                         
                                                                           

                                                                        78

                                                                        seventy-eight

                                                                         
                                                                           

                                                                        79

                                                                        seventy-nine

                                                                         
                                                                           

                                                                        80

                                                                        eighty

                                                                         
                                                                           

                                                                        81

                                                                        eighty-one

                                                                         
                                                                           

                                                                        82

                                                                        eighty-two

                                                                         
                                                                           

                                                                        83

                                                                        eighty-three

                                                                         
                                                                           

                                                                        84

                                                                        eighty-four

                                                                         
                                                                           

                                                                        85

                                                                        eighty-five

                                                                         
                                                                           

                                                                        86

                                                                        eighty-six

                                                                         
                                                                           

                                                                        87

                                                                        eighty-seven

                                                                         
                                                                           

                                                                        88

                                                                        eighty-eight

                                                                         
                                                                           

                                                                        89

                                                                        eighty-nine

                                                                         
                                                                           

                                                                        90

                                                                        ninety

                                                                         
                                                                           

                                                                        91

                                                                        ninety-one

                                                                         
                                                                           

                                                                        92

                                                                        ninety-two

                                                                         
                                                                           

                                                                        93

                                                                        ninety-three

                                                                         
                                                                           

                                                                        94

                                                                        ninety-four

                                                                         
                                                                           

                                                                        95

                                                                        ninety-five

                                                                         
                                                                           

                                                                        96

                                                                        ninety-six

                                                                         
                                                                           

                                                                        97

                                                                        ninety-seven

                                                                         
                                                                           

                                                                        98

                                                                        ninety-eight

                                                                         
                                                                           

                                                                        99

                                                                        ninety-nine

                                                                         
                                                                           

                                                                        oh

                                                                        oh

                                                                        24TOD, Date

                                                                           

                                                                        hundred

                                                                        hundred

                                                                        Number, 24TOD, Date, Currency

                                                                           

                                                                        thousand

                                                                        thousand

                                                                        Number, Date, Currency

                                                                           

                                                                        million

                                                                        million

                                                                        Number, Currency

                                                                           

                                                                        billion

                                                                        billion

                                                                        Number, Date, Currency

                                                                           

                                                                        trillion

                                                                        trillion

                                                                        Number, Currency

                                                                        The table that follows lists the System Media File information for ordinal numbers.


                                                                        Note


                                                                        If ordinal system prompts are to be used in a script for a purpose other than dates, they should be recorded as application prompts with the true ordinal values.
                                                                        Table 7  System Media Files, Ordinal Numbers

                                                                        Symbol (where applicable)

                                                                        Decimal Value

                                                                        Media File Name

                                                                        Media File Content

                                                                        Data Play Back Types / When Media File Is Used

                                                                           

                                                                        1ord

                                                                        first

                                                                        Date

                                                                           

                                                                        2ord

                                                                        second

                                                                        Date for all ordinal numbers

                                                                           

                                                                        3ord

                                                                        third

                                                                         
                                                                           

                                                                        4ord

                                                                        fourth

                                                                         
                                                                           

                                                                        5ord

                                                                        fifth

                                                                         
                                                                           

                                                                        6ord

                                                                        sixth

                                                                         
                                                                           

                                                                        7ord

                                                                        seventh

                                                                         
                                                                           

                                                                        8ord

                                                                        eighth

                                                                         
                                                                           

                                                                        9ord

                                                                        nineth

                                                                         
                                                                           

                                                                        10ord

                                                                        tenth

                                                                         
                                                                           

                                                                        11ord

                                                                        eleventh

                                                                         
                                                                           

                                                                        12ord

                                                                        twelveth

                                                                         
                                                                           

                                                                        13ord

                                                                        thirteenth

                                                                         
                                                                           

                                                                        14ord

                                                                        fourteenth

                                                                         
                                                                           

                                                                        15ord

                                                                        fifteenth

                                                                         
                                                                           

                                                                        16ord

                                                                        sixteenth

                                                                         
                                                                           

                                                                        17ord

                                                                        seventeenth

                                                                         
                                                                           

                                                                        18ord

                                                                        eighteenth

                                                                         
                                                                           

                                                                        19ord

                                                                        nineteenth

                                                                         
                                                                           

                                                                        20ord

                                                                        twentieth

                                                                         
                                                                           

                                                                        21ord

                                                                        twenty-first

                                                                         
                                                                           

                                                                        22ord

                                                                        twenty-second

                                                                         
                                                                           

                                                                        23ord

                                                                        twenty-third

                                                                         
                                                                           

                                                                        24ord

                                                                        twenty-fourth

                                                                         
                                                                           

                                                                        25ord

                                                                        twenty-fifth

                                                                         
                                                                           

                                                                        26ord

                                                                        twenty-sixth

                                                                         
                                                                           

                                                                        27ord

                                                                        twenty-seventh

                                                                         
                                                                           

                                                                        28ord

                                                                        twenty-eight

                                                                         
                                                                           

                                                                        29ord

                                                                        twenty-nineth

                                                                         
                                                                           

                                                                        30ord

                                                                        thirtieth

                                                                         
                                                                           

                                                                        31ord

                                                                        thirty-first

                                                                         

                                                                        The table that follows lists the System Media File information for measurements.

                                                                        Table 8  System Media Files, Measurements

                                                                        Symbol (where applicable)

                                                                        Decimal Value

                                                                        Media File Name

                                                                        Media File Content

                                                                        Data Play Back Types / When Media File Is Used

                                                                        ½

                                                                        189

                                                                        one_half

                                                                        one half

                                                                        Char

                                                                        ¼

                                                                        188

                                                                        one_quarter

                                                                        one quarter

                                                                        Char

                                                                        ¾

                                                                        190

                                                                        three_quarters

                                                                        three quarters

                                                                        Char

                                                                        A, a

                                                                        65,97

                                                                        a

                                                                        A

                                                                        Char

                                                                        B,b

                                                                        66,98

                                                                        b

                                                                        B

                                                                        Char

                                                                        C, c

                                                                        67,99

                                                                        c

                                                                        C

                                                                        Char

                                                                        D, d

                                                                        68,100

                                                                        d

                                                                        D

                                                                        Char

                                                                        E, e

                                                                        69,101

                                                                        e

                                                                        E

                                                                        Char

                                                                        F, f

                                                                        70,102

                                                                        f

                                                                        F

                                                                        Char

                                                                        G, g

                                                                        71,103

                                                                        g

                                                                        G

                                                                        Char

                                                                        H, h

                                                                        72,104

                                                                        h

                                                                        H

                                                                        Char

                                                                        I, I

                                                                        73,105

                                                                        I

                                                                        I

                                                                        Char

                                                                        J, j

                                                                        74,106

                                                                        j

                                                                        J

                                                                        Char

                                                                        K, k

                                                                        75,107

                                                                        k

                                                                        K

                                                                        Char

                                                                        L, l

                                                                        76,108

                                                                        l

                                                                        L

                                                                        Char

                                                                        M, m

                                                                        77,109

                                                                        m

                                                                        M

                                                                        Char

                                                                        N, n

                                                                        78,110

                                                                        n

                                                                        N

                                                                        Char

                                                                        O, o

                                                                        79,111

                                                                        o

                                                                        O

                                                                        Char

                                                                        P, p

                                                                        80,112

                                                                        p

                                                                        P

                                                                        Char

                                                                        Q, q

                                                                        81,113

                                                                        q

                                                                        Q

                                                                        Char

                                                                        R, r

                                                                        82,114

                                                                        r

                                                                        R

                                                                        Char

                                                                        S, s

                                                                        83,115

                                                                        s

                                                                        S

                                                                        Char

                                                                        T, t

                                                                        84,116

                                                                        t

                                                                        T

                                                                        Char

                                                                        U, u

                                                                        85,117

                                                                        u

                                                                        U

                                                                        Char

                                                                        V, v

                                                                        86,118

                                                                        v

                                                                        V

                                                                        Char

                                                                        W, w

                                                                        87,119

                                                                        w

                                                                        W

                                                                        Char

                                                                        X, x

                                                                        88,120

                                                                        x

                                                                        X

                                                                        Char

                                                                        Y, y

                                                                        89,121

                                                                        y

                                                                        Y

                                                                        Char

                                                                        Z, z

                                                                        90,122

                                                                        z

                                                                        Z

                                                                        Char

                                                                                 

                                                                        Œ, œ

                                                                        140,156

                                                                        oe_140_156

                                                                        Ligature OE

                                                                        Char

                                                                        À,à

                                                                        192,224

                                                                        a_192_224

                                                                        A grave

                                                                        Char

                                                                        Á,á

                                                                        193,225

                                                                        a_193_225

                                                                        A acute

                                                                        Char

                                                                        Â,â

                                                                        194,226

                                                                        a_194_226

                                                                        A circumflex

                                                                        Char

                                                                        Ã,ã

                                                                        195,227

                                                                        a_195_227

                                                                        A tilde

                                                                        Char

                                                                        Ä,ä

                                                                        196,228

                                                                        a_196_228

                                                                        A umlaut

                                                                        Char

                                                                        Å,å

                                                                        197,229

                                                                        a_197_229

                                                                        A with ring above

                                                                        Char

                                                                        Æ,æ

                                                                        198,230

                                                                        ae_198_230

                                                                        Ligature AE

                                                                        Char

                                                                        È,è

                                                                        200,232

                                                                        e_200_232

                                                                        E grave

                                                                        Char

                                                                        É,é

                                                                        201,233

                                                                        e_201_233

                                                                        E acute

                                                                        Char

                                                                        Ê,ê

                                                                        202,234

                                                                        e_202_234

                                                                        E circumflex

                                                                        Char

                                                                        Ë,ë

                                                                        203,235

                                                                        e_203_235

                                                                        E umlaut

                                                                         

                                                                        Ì,ì

                                                                        204,236

                                                                        i_204_236

                                                                        I grave

                                                                        Char

                                                                        Í, í

                                                                        205,237

                                                                        i_205

                                                                        I acute

                                                                        Char

                                                                        Î,î

                                                                        206,238

                                                                        i_206

                                                                        I circumflex

                                                                        Char

                                                                        Ï,ï

                                                                        207,239

                                                                        i_207

                                                                        I umlaut

                                                                        Char

                                                                        Ð

                                                                        208

                                                                        char_208

                                                                        character 208

                                                                        Char

                                                                        ð

                                                                        240

                                                                        char_240

                                                                        character 240

                                                                         

                                                                        Ò,ò

                                                                        210,242

                                                                        o_210_242

                                                                        O grave

                                                                        Char

                                                                        Ó,ó

                                                                        211,243

                                                                        o_211_243

                                                                        O acute

                                                                        Char

                                                                        Ô,ô

                                                                        212,244

                                                                        o_212_244

                                                                        O circumflex

                                                                        Char

                                                                        Õ,õ

                                                                        213,245

                                                                        o_213_245

                                                                        O tilde

                                                                        Char

                                                                        Ö,ö

                                                                        214,246

                                                                        o_214_246

                                                                        O umlaut

                                                                        Char

                                                                        x

                                                                        215

                                                                        multiply

                                                                        multiplication sign

                                                                        Char

                                                                        Ø,ø

                                                                        216,248

                                                                        o_216_248

                                                                        oh stroke

                                                                        Char

                                                                        Ù,ù

                                                                        217,249

                                                                        u_217_249

                                                                        U grave

                                                                        Char

                                                                        Ú,ú

                                                                        218,250

                                                                        u_218_250

                                                                        U acute

                                                                        Char

                                                                        Û,û

                                                                        219,251

                                                                        u_219_251

                                                                        U circumflex

                                                                        Char

                                                                        Ü,ü

                                                                        220,252

                                                                        u_220_252

                                                                        U umlaut

                                                                        Char

                                                                        Ý,ý

                                                                        221,253

                                                                        y_221_253

                                                                        Y acute

                                                                        Char

                                                                        Þ

                                                                        222

                                                                        char_222

                                                                        character 222

                                                                        Char

                                                                        ß

                                                                        223

                                                                        ss

                                                                        double s

                                                                        Char

                                                                        ÷

                                                                        247

                                                                        divide

                                                                        division sign

                                                                        Char

                                                                        þ

                                                                        254

                                                                        char_254

                                                                        character 254

                                                                        Char

                                                                        Ÿ,ÿ

                                                                        159,255

                                                                        y_159_255

                                                                        character 159 or 255

                                                                        Char

                                                                        The table that follows lists the System Media File information for month values.

                                                                        Table 9  System Media Files, Months

                                                                        Symbol (where applicable)

                                                                        Decimal Value

                                                                        Media File Name

                                                                        Media File Content

                                                                        Data Play Back Types / When Media File Is Used

                                                                           

                                                                        January

                                                                        January

                                                                        Date

                                                                           

                                                                        February

                                                                        February

                                                                        Date

                                                                           

                                                                        March

                                                                        March

                                                                        Date

                                                                           

                                                                        April

                                                                        April

                                                                        Date

                                                                           

                                                                        May

                                                                        May

                                                                        Date

                                                                           

                                                                        June

                                                                        June

                                                                        Date

                                                                           

                                                                        July

                                                                        July

                                                                        Date

                                                                           

                                                                        August

                                                                        August

                                                                        Date

                                                                           

                                                                        September

                                                                        September

                                                                        Date

                                                                           

                                                                        October

                                                                        October

                                                                        Date

                                                                           

                                                                        November

                                                                        November

                                                                        Date

                                                                           

                                                                        December

                                                                        December

                                                                        Date

                                                                        The table that follows lists the System Media File information for month values.

                                                                        Table 10  System Media Files, Days

                                                                        Symbol (where applicable)

                                                                        Decimal Value

                                                                        Media File Name

                                                                        Media File Content

                                                                        Data Play Back Types / When Media File Is Used

                                                                           

                                                                        Sunday

                                                                        Sunday

                                                                        DOW

                                                                           

                                                                        Monday

                                                                        Monday

                                                                        DOW

                                                                           

                                                                        Tuesday

                                                                        Tuesday

                                                                        DOW

                                                                           

                                                                        Wednesday

                                                                        Wednesday

                                                                        DOW

                                                                           

                                                                        Thursday

                                                                        Thursday

                                                                        DOW

                                                                           

                                                                        Friday

                                                                        Friday

                                                                        DOW

                                                                           

                                                                        Saturday

                                                                        Saturday

                                                                        DOW

                                                                        The table that follows lists the System Media File information for month values.

                                                                        Table 11  System Media Files, Time

                                                                        Symbol (where applicable)

                                                                        Decimal Value

                                                                        Media File Name

                                                                        Media File Content

                                                                        Data Play Back Types / When Media File Is Used

                                                                           

                                                                        hour

                                                                        hour

                                                                        Etime, 24TOD per locale, TOD per locale

                                                                           

                                                                        hours

                                                                        hours

                                                                        Etime,24TOD per locale,TOD per locale

                                                                           

                                                                        minute

                                                                        minute

                                                                        Etime

                                                                           

                                                                        minutes

                                                                        minutes

                                                                        Etime

                                                                           

                                                                        second

                                                                        second

                                                                        Etime,24TOD

                                                                           

                                                                        seconds

                                                                        seconds

                                                                        Etime,24TOD

                                                                           

                                                                        on

                                                                        on

                                                                        per locale(unused for en-us)

                                                                           

                                                                        at

                                                                        at

                                                                        per locale(unused for en-us)

                                                                           

                                                                        am

                                                                        am

                                                                        TOD

                                                                           

                                                                        pm

                                                                        pm

                                                                        TOD

                                                                           

                                                                        oclock

                                                                        oclock

                                                                        TOD

                                                                        The table that follows lists the System Media File information for currency values.


                                                                        Note


                                                                        The customer’s Media Administrator may prefer to replace the contents of "currency_minus" (for the negative amount) and "currency_and" (the latter can even be changed to contain silence).
                                                                        Table 12  System Media Files, Currency

                                                                        Symbol (where applicable)

                                                                        Decimal Value

                                                                        Media File Name

                                                                        Media File Content

                                                                        Data Play Back Types / When Media File Is Used

                                                                           

                                                                        currency_ minus

                                                                        minus

                                                                        Currency

                                                                           

                                                                        currency_and

                                                                        and

                                                                        Currency

                                                                        $

                                                                        36

                                                                        USD_dollar

                                                                        dollar

                                                                        Currency

                                                                        USD_dollars

                                                                        dollars

                                                                        Currency

                                                                        Note    Unified CVP uses the USD_dollar.wav and USD_dollars.wav media files; the dollar.wav and dollars.wav used by ISN Version 1.0 are no longer installed.

                                                                        $

                                                                        36

                                                                        CAD_dollar

                                                                        dollar

                                                                        Currency

                                                                           

                                                                        CAD_dollars

                                                                        dollars

                                                                        Currency

                                                                           

                                                                        HKD_dollar

                                                                        dollar

                                                                        Currency

                                                                           

                                                                        HKD_dollars

                                                                        dollars

                                                                        Currency

                                                                        ¢

                                                                        162

                                                                        cent

                                                                        cent

                                                                        Currency

                                                                           

                                                                        cents

                                                                        cents

                                                                        Currency

                                                                           

                                                                        euro

                                                                        euro

                                                                        Currency

                                                                        £

                                                                        163

                                                                        GBP_pound

                                                                        pound

                                                                        Currency

                                                                           

                                                                        GBP_pounds

                                                                        pounds

                                                                        Currency

                                                                           

                                                                        penny

                                                                        penny

                                                                        Currency

                                                                           

                                                                        pence

                                                                        pence

                                                                        Currency

                                                                           

                                                                        MXN_peso

                                                                        peso

                                                                        Currency

                                                                           

                                                                        MXN_pesos

                                                                        pesos

                                                                        Currency

                                                                           

                                                                        centavo

                                                                        centavo

                                                                        Currency

                                                                           

                                                                        centavos

                                                                        centavos

                                                                        Currency

                                                                        The table that follows lists the System Media File information for gaps of silence and miscellaneous phrases.

                                                                        Table 13 System Media Files, Silence, and Miscellaneous Phrases

                                                                        Symbol (where applicable)

                                                                        Decimal Value

                                                                        Media File Name

                                                                        Media File Content

                                                                        Data Play Back Types / When Media File Is Used

                                                                           

                                                                        silence_.1_ sec

                                                                        (.1 second of silence)

                                                                        Used for pauses where needed

                                                                           

                                                                        silence_.25_ sec

                                                                        (.25 second of silence)

                                                                        Used for pauses where needed

                                                                           

                                                                        silence_.5_ sec

                                                                        (.5 second of silence)

                                                                        Used for pauses where needed

                                                                           

                                                                        silence_1_sec

                                                                        (1 second of silence)

                                                                        Used for pauses where needed

                                                                           

                                                                        and

                                                                        and

                                                                        Etime,TOD,25TOD

                                                                        The table that follows lists the System Media File information for ANSI characters.

                                                                        Table 14  System Media Files, ANSI Characters

                                                                        Symbol (where applicable)

                                                                        Decimal Value

                                                                        Media File Name

                                                                        Media File Content

                                                                        Data Play Back Types / When Media File Is Used

                                                                         

                                                                        32

                                                                        space

                                                                        space

                                                                        Char

                                                                        !

                                                                        33

                                                                        exclamation_ mark

                                                                        exclamation mark

                                                                        Char

                                                                        "

                                                                        34

                                                                        double_ quote

                                                                        double quote

                                                                        Char

                                                                        #

                                                                        35

                                                                        pound

                                                                        pound

                                                                        Char

                                                                        %

                                                                        37

                                                                        percent

                                                                        percent

                                                                        Char

                                                                        &

                                                                        38

                                                                        ampersand

                                                                        ampersand

                                                                        Char

                                                                        '

                                                                        39

                                                                        apostrophe

                                                                        apostrophe

                                                                        Char

                                                                        (

                                                                        40

                                                                        open_ parenthesis

                                                                        open parenthesis

                                                                        Char

                                                                        )

                                                                        41

                                                                        close_ parenthesis

                                                                        close parenthesis

                                                                        Char

                                                                        *

                                                                        42

                                                                        asterisk

                                                                        asterisk

                                                                        Char

                                                                        +

                                                                        43

                                                                        plus

                                                                        plus

                                                                        Char

                                                                        ,

                                                                        44

                                                                        comma

                                                                        comma

                                                                        Char

                                                                        -

                                                                        45

                                                                        hyphen

                                                                        hyphen

                                                                        Char

                                                                        .

                                                                        46

                                                                        period

                                                                        period

                                                                        Char

                                                                        /

                                                                        47

                                                                        slash

                                                                        slash

                                                                        Char

                                                                        :

                                                                        58

                                                                        colon

                                                                        colon

                                                                        Char

                                                                        ;

                                                                        59

                                                                        semicolon

                                                                        semicolon

                                                                        Char

                                                                        <

                                                                        60

                                                                        less_than

                                                                        less than

                                                                        Char

                                                                        =

                                                                        61

                                                                        equal

                                                                        equal

                                                                        Char

                                                                         

                                                                        62

                                                                        greater_than

                                                                        greater than

                                                                        Char

                                                                        ?

                                                                        63

                                                                        question_ mark

                                                                        question mark

                                                                        Char

                                                                        @

                                                                        64

                                                                        at_symbol

                                                                        at

                                                                        Char

                                                                        [

                                                                        91

                                                                        left_square_bracket

                                                                        left square bracket

                                                                        Char

                                                                        \

                                                                        92

                                                                        backslash

                                                                        backslash

                                                                        Char

                                                                        ]

                                                                        93

                                                                        right_square_bracket

                                                                        right square bracket

                                                                        Char

                                                                        ^

                                                                        94

                                                                        caret

                                                                        caret

                                                                        Char

                                                                        _

                                                                        95

                                                                        underscore

                                                                        underscore

                                                                        Char

                                                                        `

                                                                        96

                                                                        single_quote

                                                                        single quote

                                                                        Char

                                                                        {

                                                                        123

                                                                        open_brace

                                                                        open brace

                                                                        Char

                                                                        |

                                                                        124

                                                                        pipe

                                                                        pipe

                                                                        Char

                                                                        }

                                                                        125

                                                                        close_brace

                                                                        close brace

                                                                        Char

                                                                        ~

                                                                        126

                                                                        tilde

                                                                        tilde

                                                                        Char

                                                                        130

                                                                        char_130

                                                                        low single quote

                                                                        Char

                                                                        ƒ

                                                                        131

                                                                        char_131

                                                                        F with hook

                                                                        Char

                                                                        132

                                                                        low double quote

                                                                        low double quote

                                                                        Char

                                                                        133

                                                                        ellipsis

                                                                        ellipsis

                                                                        Char

                                                                        134

                                                                        char_134

                                                                        character 134

                                                                        Char

                                                                        135

                                                                        char_135

                                                                        character 135

                                                                        Char

                                                                        ˆ

                                                                        136

                                                                        char_136

                                                                        character 136

                                                                        Char

                                                                        137

                                                                        per_mille

                                                                        per mile

                                                                        Char

                                                                        Š

                                                                        138

                                                                        char_138

                                                                        character 138

                                                                         

                                                                        <

                                                                        139

                                                                        left_pointing _angle

                                                                        left pointing angle

                                                                        Char

                                                                        145

                                                                        left_single_ quote

                                                                        left single quote

                                                                        Char

                                                                        146

                                                                        right_single_ quote

                                                                        right single quote

                                                                        Char

                                                                        147

                                                                        left_double_ quote

                                                                        left double quote

                                                                        Char

                                                                        148

                                                                        right_double _quote

                                                                        right double quote

                                                                        Char

                                                                        ·

                                                                        149

                                                                        bullet

                                                                        bullet

                                                                        Char

                                                                        150

                                                                        en_dash

                                                                        en dash

                                                                        Char

                                                                        151

                                                                        em_dash

                                                                        em dash

                                                                         

                                                                        ˜

                                                                        152

                                                                        small_tilde

                                                                        small tilde

                                                                        Char

                                                                        153

                                                                        trade_mark

                                                                        trade mark

                                                                        Char

                                                                        š

                                                                        154

                                                                        char_154

                                                                        character 154

                                                                        Char

                                                                        155

                                                                        char_155

                                                                        character 155

                                                                        Char

                                                                        ¡

                                                                        161

                                                                        exclamation_ mark_ inverted

                                                                        inverted exclamation mark

                                                                        Char

                                                                        ¤

                                                                        164

                                                                        char_164

                                                                        character 164

                                                                        Char

                                                                        ¦

                                                                        166

                                                                        broken_pipe

                                                                        broken pipe

                                                                        Char

                                                                        §

                                                                        167

                                                                        section

                                                                        section

                                                                        Char

                                                                        ¨

                                                                        168

                                                                        char_168

                                                                        character 168

                                                                        Char

                                                                        ©

                                                                        169

                                                                        copyright

                                                                        copyright

                                                                        Char

                                                                        ª

                                                                        170

                                                                        char_170

                                                                        character 170

                                                                        Char

                                                                        «

                                                                        171

                                                                        left_double_ angle_ quote

                                                                        left double angle quote

                                                                        Char

                                                                        ¬

                                                                        172

                                                                        not

                                                                        not

                                                                        Char

                                                                        -

                                                                        173

                                                                        char_173

                                                                        character 173

                                                                        Char

                                                                        ®

                                                                        174

                                                                        registered

                                                                        registered

                                                                        Char

                                                                        ¯

                                                                        175

                                                                        char_175

                                                                        character 175

                                                                        Char

                                                                        °

                                                                        176

                                                                        degree

                                                                        degree

                                                                        Char

                                                                        ±

                                                                        177

                                                                        plus_minus

                                                                        plus or minus

                                                                        Char

                                                                        ²

                                                                        178

                                                                        superscript_ 2

                                                                        superscript two

                                                                        Char

                                                                        ³

                                                                        179

                                                                        superscript_ 3

                                                                        superscript three

                                                                        Char

                                                                        ´

                                                                        180

                                                                        acute_accent

                                                                        acute accent

                                                                        Char

                                                                        µ

                                                                        181

                                                                        micro

                                                                        micro

                                                                        Char

                                                                        182

                                                                        paragraph

                                                                        paragraph

                                                                        Char

                                                                        ·

                                                                        183

                                                                        middle_dot

                                                                        middle dot

                                                                        Char

                                                                        ¸

                                                                        184

                                                                        cedilla

                                                                        cedilla

                                                                        Char

                                                                        ¹

                                                                        185

                                                                        superscript_ 1

                                                                        superscript one

                                                                        Char

                                                                        º

                                                                        186

                                                                        char_186

                                                                        character 186

                                                                        Char

                                                                        »

                                                                        187

                                                                        right_double _angle_ quote

                                                                        right double angle quote

                                                                        Char

                                                                        ¿

                                                                        191

                                                                        question_ mark_ inverted

                                                                        inverted question mark

                                                                        Char

                                                                        Play Data Configuration Examples
                                                                        The following table shows several configuration examples for Play Data.

                                                                        Table 15  Play Data Configuration Examples

                                                                        If the VRU Script Name field setting is…

                                                                        It means…

                                                                        If the Configuration Param field is…

                                                                        It means…

                                                                        PD,Number

                                                                        Note   

                                                                        If you are using integers that are larger than nine digits, enclose the value in quotation marks, so it will be treated as a string.

                                                                        PD - Use the Play Data micro-app.

                                                                        Number - Play back the data as a number.

                                                                        empty

                                                                        Play the data in the default ECC, user.microapp.play_data, as a number.

                                                                        PD, Char

                                                                        pd - Use the Play Data micro-app.

                                                                        Char - Play back the data as individual characters.

                                                                        1

                                                                        1 - Play the data in Call PeripheralVariable 1 as a character.

                                                                        PD,Etime,0

                                                                        Note   

                                                                        If you are using integers that are larger than 9 digits, enclose the value in quotation marks, so it will be treated as a string.

                                                                        PD - Use the Play Data micro-app.

                                                                        Etime - Play back the data as a Time.

                                                                        1,,HHMM

                                                                        1 - Play the data in Call PeripheralVariable 1 as an elapsed time.

                                                                        , - (Skipped parameter) Accept default setting (Y)

                                                                        HHMM - Play the time in HHMM format (for example, 8 hours, 30 minutes).

                                                                        PD,Date

                                                                        PD - Use the Play Data micro-app.

                                                                        Date - Play back the data as a Date.

                                                                        1,N

                                                                        1 - Play the data in Call Variable 1 as a date.

                                                                        N - No barge-in allowed.

                                                                        PD,Currency

                                                                        PD - Use the Play Data micro-app.

                                                                        Currency - Play back the data as a Currency.

                                                                        4,N

                                                                        4 - Play the data in Call Variable 4 s currency.

                                                                        N - No barge-in allowed.


                                                                        Note


                                                                        Play Data sets the ECC variable user.microapp.error_code to zero, indicating success, if control proceeds out the Checkmark (success) branch of the Run External Script node. If control proceeds out the X (failure) branch, Play Data typically sets this variable to one of the codes listed in Unified CVP Script Error Checking.


                                                                        Get Digits Micro-application

                                                                        The Get Digits (GD) micro-application plays a media file and retrieves digits. For example, you could use Get Digits in an application that prompts a caller to enter a password.

                                                                        Unified Customer Voice Portal passes the retrieved digits back to Packaged CCE for further processing using the Caller-Entered Digits (CED) field in the CCE/Unified CVP Messaging interface. (This is available in the Packaged CCE script through the variable Call.CallerEnteredDigits).

                                                                        Configure Network VRU Script Settings for Get Digits Micro-application

                                                                        Use the Unified CCE Administration Network VRU Script tool to specify parameters.

                                                                        Procedure
                                                                          Step 1   Configure VRU Script field parameters:
                                                                          • Micro-application type. For Get Digits, valid options are: GD or gd.
                                                                          • Media File Name. Name of the media file to be played (that is, the prompt file). The valid options are:
                                                                            • A file name (for instance, a .wav file).
                                                                              Note   

                                                                              The file name is case-sensitive.

                                                                            • null - (default) If this field is empty, no prompt is played.
                                                                            • -(number 1-10) - Unified CVP plays the file in the corresponding Call.PeripheralVariable file. For example, entering -2 causes Unified CVP to look at Call.PeripheralVariable2.
                                                                          • Media Library Type . Flag indicating the location of the media files to be played. The valid options are:
                                                                            • A - (default) Application
                                                                            • S - System
                                                                          • Uniqueness value. Optional. A string identifying a VRU Script Name as unique.
                                                                          Step 2   Configure the Configuration Param field parameters:
                                                                          • Minimum Field Length. Minimum number of digits expected from the caller. The valid options are: 1-32 (the default is 1)
                                                                          • Maximum Field Length. Maximum number of digits expected from the caller. The valid options are: 1-32 (the default is 1).
                                                                            Note   

                                                                            For information about Maximum Field Length and the DTMF Termination Key, see Get Digits and Digit Entry Completion.

                                                                          • Barge-in Allowed . Specifies whether barge-in (digit entry to interrupt media playback) is allowed. The valid options are:
                                                                            • Y - (default) barge-in allowed
                                                                            • N - barge-in not allowed
                                                                            For more information about barge-in, see How Unified CVP Handles Barge-In.
                                                                            Note   

                                                                            Unified CVP deals with barge-in as follows: If barge-in is not allowed, the SIP/Gateway continues prompt play when a caller starts entering digits. If barge-in is allowed, the Gateway discontinues prompt play when the caller starts entering digits. See Get Speech and External VoiceXML.

                                                                          • Inter-digit Timeout . The number of seconds the caller is allowed between entering digits. If exceeded, the system times-out. The valid options are: 1-99 (the default is 3).
                                                                          • No Entry Timeout . The number of seconds a caller is allowed to begin entering digits. If exceeded, the system times-out. The valid options are: 0-99 (the default is 5).
                                                                          • Number of No Entry Tries. Unified CVP repeats the "Get Digits" cycle when the caller does not enter any data after the prompt has been played. (Total includes the first cycle.) The valid options are: 1-9 (the default is 3).
                                                                          • Number of Invalid Tries. Unified CVP repeats the "Get digits" cycle when the caller enters invalid data (total includes the first cycle). The valid options are: 1-9 (default is 3).
                                                                          • Timeout Message Override . The valid options are:
                                                                            • Y - override the system default with a pre-recorded Application Media Library file
                                                                            • N - (default) do not override the system default
                                                                          • Invalid Entry Message Override. The valid options are:
                                                                            • Y - override the system default with a pre-recorded Application Media Library file.
                                                                            • N - (default) do not override the system default
                                                                            Note   

                                                                            For more information about Timeout and Invalid Entry Messages, see System Media Files.

                                                                          • DTMF Termination Key. A single character that, when entered by the caller, indicates that the digit entry is complete. The valid options are:
                                                                            • 0-9
                                                                            • * (asterisk)
                                                                            • # (pound sign, the default)
                                                                            • N (No termination key)
                                                                            Note   

                                                                            For information about Maximum Field Length and the DTMF Termination Key, see Get Digits and Digit Entry Completion.

                                                                          • Incomplete Timeout. The amount of time after a caller stops speaking to generate an invalid entry error because the caller input does not match the defined grammar. The valid options are: 0-99 (the default is 3).
                                                                            Note   

                                                                            If the value is set to 0, the Unified CVP Service treats the NoEntry Timeout as NoError.


                                                                          Get Digits Configuration Examples
                                                                          The following table shows several configuration examples for Get Digits for an application that prompts using .wav files and retrieves input through DTMF.

                                                                          Table 16  Get Digits Configuration Examples for .wav Files

                                                                          If the VRU Script Name field setting is…

                                                                          It means…

                                                                          If the Configuration Param field setting is…

                                                                          It means…

                                                                          GD,Password,A,0

                                                                          GD - Use the Get Digits micro-app.

                                                                          Password - Play the Media file named "Password.wav."

                                                                          A - Application Media Library.

                                                                          0 - Uniqueness value.

                                                                          6,12

                                                                          6 - Minimum field length

                                                                          12 - Maximum field length

                                                                          Accept defaults for all other settings.

                                                                          GD,Password,A,1

                                                                          gd - Use the Get Digits micro-app.

                                                                          Password - Play the Media file named "Password.wav."

                                                                          A - Application Media Library.

                                                                          1 - Uniqueness value.

                                                                          6,12,N,3,5,2,2,N,Y,#

                                                                          6 - Minimum field length

                                                                          12 - Maximum field length

                                                                          N - No barge-in allowed

                                                                          3 - Inter-digit Timeout (seconds)

                                                                          5 - No Entry Timeout (seconds)

                                                                          2 - Number of no entry tries

                                                                          2 - Number of invalid tries

                                                                          N - Timeout Msg Override

                                                                          Y - Invalid Entry Msg Override

                                                                          # - DTMF Termination key

                                                                          Note    The two examples above both play the Password.wav file ("Please enter your password followed by the pound sign.") and collect digits. They differ in that the first example accepts most of the default settings available through the Configuration Param field; the second field does not.

                                                                          GD,ssn

                                                                          GD - Use the Get Digits micro-app.

                                                                          ssn - Play the Media file named "ssn.wav."

                                                                          9,9,

                                                                          9 - Minimum field length

                                                                          9 - Maximum field length

                                                                          Accept defaults for all other settings.

                                                                          Note    Type-ahead can only be used with the Get Digits micro-application when user.microapp.input_type is set to D. See Get Speech and External VoiceXML.

                                                                          GD, -4, S

                                                                          gd - Use the Get Digits micro-app

                                                                          -4 - Calls the file specified in Call.PeripheralVariable4

                                                                          S - Acquires the file from the System media library

                                                                          6,12,

                                                                          6 - Minimum field length

                                                                          12 - Maximum field length

                                                                          Accept defaults for all other settings

                                                                          Get Speech and External VoiceXML

                                                                          You can use the Get Speech micro-application to pass information to and from an external VoiceXML file. The following table describes how to set the Get Speech script to use external VoiceXML.

                                                                          To set up the Get Speech micro-application to use external VoiceXML, set the Media Library Type to "V". The Unified CVP Service creates VoiceXML that calls the external VoiceXML that is specified in the external VoiceXML file name. The URL to the external VoiceXML is formed from a combination of the media_server, locale, App_Media_Lib and external VoiceXML file name. If the VoiceXML file name does not contain a file extension, the default "*.VoiceXML" is used.

                                                                          If the external VoiceXML is used, the only GetSpeech VRU Script parameters that are used are:

                                                                          • "Number of Invalid Entry" errors, and
                                                                          • "Number of No Entry" errors.

                                                                          The Unified CVP Service "NoEntry" and "InvalidEntry" retry logic are used if the external VoiceXML returns a <noinput> or <nomatch> event.

                                                                          Error Handling
                                                                          Error handling

                                                                          The error handling for an external VoiceXML called from the Get Speech micro-application includes the following:

                                                                          • If you set the "Media Library Type" to "V" and you do not set an "External VoiceXML Name" parameter, an "Invalid VRU Script Name" error is returned to Packaged CCE .
                                                                          Get Digits and Digit Entry Completion

                                                                          Unified CVP tests GD digit entry input against several conditions to determine whether digit entry is complete.

                                                                          Unified CVP considers digit entry to be complete if the caller enters any of the following:

                                                                          • The maximum allowable number of digits (when terminator key is not used).
                                                                          • The maximum number of digits, excluding a terminator key.
                                                                          • Less than the maximum number of digits, followed by the terminator key.
                                                                          • Less than the maximum number of digits and exceeding the inter-digit timeout.
                                                                          • Nothing and reaching the no entry timeout.

                                                                          Caution


                                                                          It is important that you set up your Packaged CCE script to test for all the scenarios mentioned below.
                                                                          If Digit Entry Input Is Complete

                                                                          After digit-entry input is complete, Unified CVP validates the digit string to determine if it is >= (greater than or equal to) the minimum length and <= (less than or equal to) the maximum length.

                                                                          In variable-length data entry, the Maximum Field Length value does not accommodate the termination key. For example, if a GD micro-application is configured to accept a password that is between 6 and 12 digits long and digit-entry completion is indicated through a termination key (or a timeout), the Minimum Field Length setting would be 6, the Maximum Field Length setting would be 12, and the DTMF Termination Key is defined as a single character.

                                                                          Before passing the result back to the Unified CVP Service, SIP Service discards the termination key (only the password digits are included in the CED returned to Packaged CCE ).


                                                                          Note


                                                                          In this example, if the 13th digit is entered without reaching the interdigit timeout and the 13th digit is not the terminator key, the extra digits are buffered by the gateway VXML browser and will be consumed by the next digit collecting node (for example: GD or Menu micro-app).

                                                                          This type-ahead behavior is described online in the Type-ahead Support section of the Cisco VoiceXML Programmer’s Guide.

                                                                          After validating the digit string, Unified CVP does the following:

                                                                          • If the string is valid, Unified CVP stores the digit string (not including the terminator key) in the Call.CallerEnteredDigits variable, exits the node through the Checkmark (success) branch, and returns control to Packaged CCE software.
                                                                          • If the string is not valid, Unified CVP considers it an invalid entry and does the following:
                                                                            • If the Number of Invalid Entry Tries value is not reached, Unified CVP plays an error message and re-plays the original prompt.
                                                                            • If the Number of Invalid Entry Tries value is reached, Unified CVP stores the last-entered digit string in the Call.CallerEnteredDigits variable, exits the node through the X (failure) branch, sets the user.microapp.error_code ECC variable to 16 (Reached Maximum Invalid Tries), and returns control to Packaged CCE .
                                                                          If No Entry Timeout Occurs

                                                                          If the caller does not enter input and No Entry Timeout period is exceeded, the following happens:

                                                                          • If the Number of No Entry Tries value has not been reached, Unified CVP plays the "no entry" error message and re-plays the original prompt.
                                                                          • If the Number of No Entry Tries value has been reached, Unified CVP exits the node through the X (failure) branch, sets the Call.CallerEnteredDigits variable to NULL, the user.microapp.error_code ECC variable to 17 (Reached Maximum No Entry Tries), and returns control to Packaged CCE .

                                                                          Menu Micro-application

                                                                          This micro-application plays a menu media file and retrieves a defined digit. (Menu is similar to the Get Digit micro-application except that it only accepts one digit, which it checks for validity.)

                                                                          Unified CVP passes the retrieved digit back to Packaged CCE for further processing using the Caller-Entered Digits (CED) field in the Packaged CCE / Unified CVP Messaging interface.

                                                                          Configure Network VRU Script Settings for the Menu Micro-application

                                                                          Use the Packaged CCE Administration Network VRU Script tool to specify parameters.

                                                                          Procedure
                                                                            Step 1   Configure VRU Script field parameters:
                                                                            • Micro-application type . For Menu, valid options are: M or m.
                                                                            • Media File Name. Name of the media file to be played (that is, the prompt file). The valid options are
                                                                              • A file name (for instance, a .wav file)
                                                                                Note    The file name is case-sensitive.
                                                                              • null - (default) If this field is empty, Unified CVP examines the contents of the user.microapp.inline_tts ECC variable. If this ECC variable contains a value, Unified CVP prompts using TTS. If the ECC is empty, no prompt is played.
                                                                              • -(number 1-10) - Unified CVP plays the file in the corresponding Call.PeripheralVariable file. For example, entering -2 causes Unified CVP to look at Call.PeripheralVariable2.
                                                                            • Media Library Type . Flag indicating the location of the media files to be played. The valid options are:
                                                                              • A - (default) Application
                                                                              • S - System
                                                                            • Uniqueness value. Optional. A string identifying a VRU Script Name as unique.
                                                                            Step 2   Configure the Configuration Param field parameters:
                                                                            • A list of menu choices . The valid options are:
                                                                              • 0-9
                                                                              • * (asterisk)
                                                                              • # (pound sign)
                                                                              Formats allowed include:
                                                                              • Individual options delimited by a / (forward slash)
                                                                              • Ranges delimited by a - (hyphen) with no space
                                                                            • Barge-in Allowed . Specifies whether barge-in (digit entry to interrupt media playback) is allowed. The valid options are:
                                                                              • Y - (default) barge-in allowed
                                                                              • N - barge-in not allowed
                                                                              For more information about barge-in, see How Unified CVP Handles Barge-In.
                                                                            • No Entry Timeout . The number of seconds a caller is allowed to begin entering digits. If exceeded, the system times-out. The valid options are: 0-99 (the default is 5).
                                                                            • Number of No Entry Tries. Unified CVP repeats the "Menu" cycle when the caller does not enter any data after the prompt has been played. (Total includes the first cycle.) The valid options are: 1-9 (the default is 3).
                                                                            • Number of Invalid Tries . Unified CVP repeats the prompt cycle when the caller enters invalid data. (Total includes the first cycle.) The valid options are: 1-9 (the default is 3).
                                                                            • Timeout Message Override. The valid options are:
                                                                              • Y - override the system default with a pre-recorded Application Media Library file
                                                                              • N - (default) do not override the system default
                                                                            • Invalid Entry Message Override . The valid options are:
                                                                              • Y - override the system default with a pre-recorded Application Media Library file
                                                                              • N - (default) do not override the system default
                                                                              Note    For more information about Timeout and Invalid Entry Messages, refer to System Media Files

                                                                            Menu Configuration Examples

                                                                            The following table shows several configuration examples for Menu for use in an application where input type is DTMF.

                                                                            Table 17  Menu Configuration Example - DTMF Application

                                                                            If the VRU Script Name field setting is…

                                                                            It means...

                                                                            If the Config Param setting is...

                                                                            It means...

                                                                            M,Banking

                                                                            M - Use the Menu micro-app.

                                                                            Banking - Play the Media file named "Banking.wav."

                                                                            Note    This file may contain a message such as: "For Checking, press 1. For Savings, press 2. For Money Market, press 3."

                                                                            1-3

                                                                            1-3 - Accept numbers 1, 2, 3. Accept all other defaults (No Entry Timeout, Number of no entry tries, Number of invalid tries, Timeout Msg Override, Invalid Entry Msg Override).

                                                                            M,Main_Menu

                                                                            M - Use the Menu micro-app.

                                                                            Main_Menu - Play the Media file called "Main_Menu.wav."

                                                                            Note    This file may contain a message such as: "For information or transactions on checking, press 1. For savings or club accounts, press 2. For other information, press 0. If you know your party’s extension, press 9."

                                                                            0-2/9,,4,2,2

                                                                            0-2/9 - Accept numbers 0, 1, 2, and 9.

                                                                            , (Skipped parameter) - Accept the default barge-in setting (Y).

                                                                            4 - No Entry Timeout value (in seconds).

                                                                            2 - Number of no entry tries allowed.

                                                                            2 - Number of invalid tries allowed.

                                                                            Accept all other defaults (Timeout Msg Override, Invalid Entry Msg Override).

                                                                            M,-2,S

                                                                            M - Use the Menu micro-app.

                                                                            -2 - Plays the file specified in Call.PeripheralVariable2.

                                                                            S - Acquires the file from the System media library.

                                                                            1-3

                                                                            1-3 - Accept numbers 1, 2, 3. Accept all other defaults (No Entry Timeout, Number of no entry tries, Number of invalid tries, Timeout Msg Override, Invalid Entry Msg Override).


                                                                            Note


                                                                            Menu sets the ECC variable user.microapp.error_code to zero, indicating success, if control proceeds out the Checkmark (success) branch of the Run External Script node. If control proceeds out the X (failure) branch, Menu typically sets this variable to one of the codes listed in Unified CVP Script Error Checking.
                                                                            Menu and Digit Entry Completion

                                                                            Unified CVP tests Menu digit entry input against two conditions to determine whether digit entry is complete:

                                                                            • If a caller enters a digit, Unified CVP checks whether the digit is within the set of valid digits for this menu.
                                                                            • If a caller does not enter a digit, Unified CVP checks whether the No Entry Timeout value has been reached.

                                                                            Caution


                                                                            It is important that you set up your Packaged CCE script to test for all the scenarios mentioned below.
                                                                            Digit Entry Completion

                                                                            After a caller enters a digit, Unified CVP validates the digit against the list of valid menu options that were defined through CCE Configuration Manager. Then Unified CVP does the following:

                                                                            • If the digit is valid, Unified CVP stores the digit in the Call.CallerEnteredDigits variable, exits the node through the Checkmark (success) branch, and returns control to Packaged CCE .
                                                                            • If the digit is not valid, Unified CVP considers it an invalid entry and does the following:
                                                                              • If the Number of Invalid Entry Tries value has not been reached, Unified CVP plays the "invalid message" file and re-plays the menu prompt.
                                                                              • If the Number of Invalid Entry Tries value has been reached, Unified CVP stores the last-entered invalid digit in the user.microapp.caller_input variable, exits the node through the X (failure) branch, sets the user.microapp.error_code ECC variable to 16 (Reached Maximum Invalid Tries), and returns control to Packaged CCE .
                                                                            If No Entry Timeout Occurs

                                                                            If the caller does not enter a digit within the No Entry Timeout period:

                                                                            • If the Number of No Entry Tries value is reached, Unified CVP plays the "no entry" error message and re-plays the menu prompt.
                                                                            • If the Number of No Entry Tries value has been reached, Unified CVP exits the node through the X (failure) branch, sets the Call.CallerEnteredDigits variable to NULL, the user.microapp.error_code ECC variable to 17 (Reached Maximum No Entry Tries), and returns control to Packaged CCE .

                                                                            Get Speech Micro-application

                                                                            The Get Speech (GS) micro-application is used to execute a Call Studio script on VXML Server.

                                                                            Configure Network VRU Script Settings for the Get Speech Micro-application

                                                                            Use the Packaged CCE Administration’s Network VRU Script tool to specify parameters.


                                                                            Note


                                                                            By default a pre-configured network VRU script called VXML_Server has already been configured in Packaged CCE. This should be used in all Run External Script nodes that intend to execute a Call Studio script. When using an optional feature like Courtesy Callback, you must configure additional GS network VRU scripts. See the Courtesy Callback section in the Cisco Packaged Contact Center Enterprise Features Guide at http:/​/​www.cisco.com/​en/​US/​products/​ps12586/​tsd_​products_​support_​series_​home.html for further details.


                                                                            Procedure
                                                                              Step 1   Configure VRU Script field parameters:
                                                                              • Micro-application type. For Get Speech, valid options are: GS or gs.
                                                                              • Media File Name. Only the value Server is supported for this field for GS.
                                                                              • Media Library Type. Only the value V is supported for this field for GS.
                                                                              • Uniqueness value. Optional. A string identifying a VRU script name as unique.
                                                                              Step 2   Configure the Configuration Param field parameters:
                                                                              Note    Configuration parameters 1-10 are only for non-Packaged CCE deployments with Unified CVP where GS is supported with external VXML. Only the Pass FTP Information parameter (parameter 11) is configurable when using the Agent Greeting recording feature. See the Agent Greeting feature section in the Cisco Packaged Contact Center Enterprise Features Guide at http:/​/​www.cisco.com/​en/​US/​products/​ps12586/​tsd_​products_​support_​series_​home.html for further usage of this parameter.
                                                                              • Pass FTP Information Specifies whether to pass FTP server information to the VXML Server. This option is only useful if the VXML Server application uses the FTP_Client Element and the FTP server information is already configured using the Operations Console. Valid options are:
                                                                                • Y - Pass FTP server information to the VXML Server as VXML Server session variables.
                                                                                • N - (default) Do not pass FTP server information.
                                                                                If the Pass FTP Information parameter is set, the following information is passed:
                                                                                • ftpServer - A space separated string of FTP servers. For example, ftp_host1|21|username|password ftp_host2. Everything is optional except the host name. See FTP_Client Element settings located in the Elements Specifications for Cisco Unified CVP VXML Server and Cisco Unified Call Studio guide for more information.
                                                                                • ftpPath - A path on the FTP server. By default, this path is formed from the content of the ECC variable user.microapp.locale concatenated with path separator (/) and the content of the ECC variable user.microapp.app_media_lib. One exception is if the value of user.microapp.app_media_lib is .., then app is used instead. An example of a path is: en-us/app

                                                                              Passing Information to the Call Studio Scripts Executing on VXML Server

                                                                              You can pass up to 1050 characters to the Call Studio scripts executing on VXML server by using an ECC Variable array.

                                                                              Table 18  To External VoiceXML ECC Variable Array

                                                                              ECC Variable Name

                                                                              Type

                                                                              Max. Number of Elements

                                                                              Max. Size of Each Element

                                                                              user.microapp.ToExtVXML

                                                                              Array

                                                                              5

                                                                              210

                                                                              This variable array contains a list of semicolon delimited name/value pairs. The following is an example of the syntax:

                                                                              Table 19 Sample Array Definition

                                                                              Variable Name

                                                                              Values

                                                                              user.microapp.ToExtVXML[0]

                                                                              "Company=Cisco;Job=technical writer"

                                                                              user.microapp.ToExtVXML[1]

                                                                              "Location=Boxborough;Street=Main"

                                                                              user.microapp.ToExtVXML[2]

                                                                              "FirstName=Gerrard;LastName=Thock"

                                                                              user.microapp.ToExtVXML[3]

                                                                              "Commute=1hour;Car=Isuzu"

                                                                              Unified CVP sends each name/value pair as a session variable on the call to VXML server (for example, a session variable named Company with a value of Cisco). The session variables are accessible in the Call Studio scripts.

                                                                              Passing Data Back to Packaged CCE from the VXML Server

                                                                              Unified CVP can return 840 characters from the VXML server.

                                                                              The following ECC Variable array is added:

                                                                              Table 20  From External VoiceXML ECC Variable Array

                                                                              ECC Variable Name

                                                                              Type

                                                                              Max. Number of Elements

                                                                              Max. Size of Each Element

                                                                              user.microapp.FromExtVXML

                                                                              Array

                                                                              4

                                                                              210

                                                                              The Get Speech micro-app returns up to 840 characters by populating the user.microapp.caller_input variable and each element of the user.microapp.FromExtVXML array.


                                                                              Note


                                                                              By default user.microapp.FromExtVXML ECC variable is pre-defined for Packaged CCE but not enabled. You can use the predefined ECC variable or update the length based on your needs.

                                                                              Scripting for Unified CVP with Call Studio

                                                                              You can use Call Studio to build sophisticated Unified CVP applications which can then be loaded onto a VXML Server machine for execution.

                                                                              To invoke a VXML Server application, create a Packaged CCE routing script that

                                                                              • Includes a user.microapp.ToExtVXML[0] ECC variable instructing the VoiceXML Gateway to interact with the VXML Server directly to execute the application
                                                                              • Instructs the application to pass back results to Packaged CCE

                                                                              This section describes

                                                                              • Call Studio and how to use it to pass data to Packaged CCE
                                                                              • How to integrate Call Studio scripts with Packaged CCE scripts
                                                                              • How to deploy Call Studio Scripts in Unified CVP

                                                                              High-Level Configuration Instructions

                                                                              This chapter presents a set of high-level instructions for configuring many of the Unified CVP call flow models (deployment models).

                                                                              Each set of call flow model instructions contains:

                                                                              • A brief overview of that call flow model
                                                                              • High-level instructions for configuring the components in that call flow model
                                                                              • References to detailed instructions (elsewhere in this guide, in online help, or in other documents) for performing each high-level task

                                                                              This chapter also includes information, or pointers to information, for configuring the Gateway, Packaged CCE VRU handling and Unified CVP Call Server (including the SIP Service, Packaged CCE service, and Unified CVP Service).

                                                                              Call Studio ReqICMLabel Element to Pass Data

                                                                              The ReqICMLabel element allows a Call Studio script to pass caller input, Call Peripheral variables, and Expanded Call Context (ECC) variables to a Packaged CCE script. The ReqICMLabel must be inserted into a Call Studio script as a decision element. In Call Studio, the returned Packaged CCE label result can be used by other elements in the same application, such as the Transfer or Audio element. The Transfer element sends instructions to the IOS Voice Browser to transfer the caller to the desired location.

                                                                              After the ReqICMLabel exits its path, you can retrieve the values set by the Packaged CCE script by selecting the Element Data tab for the ReqICMLabel element. The element data value is {Data.Element.ReqICMLabelElement.result}. ReqICMLabelElement is the name of the ReqICMLabel element in the Call Studio script. The default name for this element is ReqICMLabel_<n>. For example, if you changed ReqICMLabel to GetICMLabel, the value returned from Packaged CCE is {Data.Element.GetICMLabel.result}, where result is the variable of the ReqICMLabel element that contains the Packaged CCE label.

                                                                              Table 21 Settings

                                                                              Name (Label)

                                                                              Type

                                                                              Required

                                                                              Single Setting Value

                                                                              Substitution Allowed

                                                                              Default

                                                                              Notes

                                                                              Call Peripheral Variables 1 - 10 (callvar1 - callvar10)

                                                                              String

                                                                              No

                                                                              Yes

                                                                              Yes

                                                                               

                                                                              Call Peripheral variables passed by the Call Studio script to thePackaged CCE server. This setting can be a maximum of 40 characters. The Packaged CCE server returns a name-value pair for up to 10 Call Peripheral Variables in a result. Any value that is placed in callvar<n> from a Call Studio script is returned unchanged, if the Packaged CCE script does not change it.

                                                                              Call Peripheral Variables Return 1 - 10 (callvarReturn1 - callvarReturn10)

                                                                              String

                                                                              No

                                                                              Yes

                                                                              Yes

                                                                               

                                                                              Call Peripheral variables created upon the return of the Packaged CCE Label request, regardless of whether or not these variables are filled by the Packaged CCE script. You need two sets of these variables to keep reporting to the Packaged CCE Call Peripheral Variables separate from what is returned from Packaged CCE.

                                                                              FromExtVXML0 - 3 (External VXML 0 - External VXML 3)

                                                                              String Array

                                                                              No

                                                                              Yes

                                                                              Yes

                                                                               

                                                                              External Call Context (ECC) variables passed by the Call Studio script to the Packaged CCE Packaged CCE server. Each variable is a string of name-value pairs, separated by semicolons, for up to four external VoiceXML variables. This setting can be a maximum of 210 characters.

                                                                              ToExtVXML0 - 4 (External VXML 0 - External VXML 4)

                                                                              String Array

                                                                              No

                                                                              Yes

                                                                              Yes

                                                                               

                                                                              External Call Context (ECC) variables received from the Packaged CCE script. The Packaged CCE erver returns a string of name-value pairs, separated by semicolons, for up to five external VoiceXML variables.

                                                                              Timeout

                                                                              Integer

                                                                              Yes

                                                                              Yes

                                                                              Yes

                                                                              3000 (ms)

                                                                              The number of milliseconds that the transfer request waits for a response from the Packaged CCE server before timing out.

                                                                              Note    This value is increased or decreased by increments of 500 ms.

                                                                              caller_input (Caller Input)

                                                                              String

                                                                              No

                                                                              Yes

                                                                              Yes

                                                                               

                                                                              This setting can be a maximum of 210 characters. The caller_input is only passed to Packaged CCE from Call Studio.

                                                                              Table 22 Element Data

                                                                              Name

                                                                              Type

                                                                              Notes

                                                                              result

                                                                              String

                                                                              Packaged CCE label returned from a Packaged CCE server. You can use this result as input to other Call Studio elements, such as Transfer or Audio. The element data value is {Data.Element.ReqICMLabelElement.result}.

                                                                              callvar<n>

                                                                              String

                                                                              Call Peripheral variables that the Call Studio scripts passes to the Packaged CCE server. Valid Call Peripheral Variables are callvar1 - callvar10.

                                                                              callvarReturn<n>

                                                                              String

                                                                              Call Peripheral variables that the Packaged CCE script returns to the VXML Server. Valid Call Peripheral Variables are callvarReturn1 - callvarReturn10.

                                                                              For example, if a Packaged CCE script contains Call Peripheral variable 3 with the string value "CompanyName=Cisco Systems, Inc", you can access the value of CompanyName that is returned by the Packaged CCE script by using

                                                                              Data.Element.ReqICMLabelElement.callvarReturn3

                                                                              The returned value is "Cisco Systems, Inc."

                                                                              Table 23 Session Data

                                                                              Name

                                                                              Type

                                                                              Notes

                                                                              name

                                                                              String

                                                                              Value for a name-value pair contained in a ToExtVXML variable returned in the Packaged CCE label. You must know which name-value pairs are set in the Packaged CCE script to retrieve the correct value from the Call Studio script.

                                                                              For example, if a Packaged CCE script contains a user.microapp.ToExtVXML0 variable with the string value "CustomerName=Mantle", specify Data.Session.CustomerName. If the same Packaged CCE script contains a user.microapp.ToExtVXML0 variable with the string value "BusinessType=Manufacturing", you can access the customer business type returned by the Packaged CCE script by using Data.Session.BusinessType.

                                                                              Table 24 Exit States

                                                                              Name

                                                                              Notes

                                                                              done

                                                                              The element execution is complete and the value is successfully retrieved.

                                                                              error

                                                                              The element failed to retrieve the value.

                                                                              Studio Element Folder is "Cisco."

                                                                              Integrate Call Studio Scripts with Unified CCE Scripts - Traditional Method

                                                                              This section describes how to integrate the VXML Server into the Unified CVP solution in the traditional way. This process involves

                                                                              • Creating a Unified CCE script with ECC variables configured for VXML Server
                                                                              • Creating a VRU Script to run in the Packaged CCE script
                                                                              Integrate Call Studio Scripts with Packaged CCE Scripts

                                                                              The following steps describe how to integrate Call Studio scripts with Packaged CCE :

                                                                              Procedure
                                                                                Step 1   Set the user.microapp.ToExtVXML[0] ECC variable to application=HelloWorld.
                                                                                Note    This example indicates that the VXML Server executes the "HelloWorld" application. To execute a different application, change the value of user.microapp.ToExtVXML[0] accordingly.
                                                                                Step 2   Create a Run External Script node within the Packaged CCE script with a VRU Script Name value of GS,Server,V.
                                                                                • Configure the timeout setting in the Network VRU Script to a value greater than the timeout value in the VXML Server application. (This timeout is only used for recovery from a failed VXML Server.)
                                                                                • Always leave the Interruptible checkbox in the Network VRU Script Attributes checked. Otherwise, calls queued to a VXML Server application may stay in the queue when an agent becomes available.
                                                                                Step 3   After you configure the Packaged CCE script, configure a corresponding VXML Server script with Call Studio. The VXML Server script must
                                                                                • Begin with a Unified CVP Subdialog_Start element (immediately after the Call Start element)
                                                                                • Contain a Unified CVP Subdialog_Return element on all return points (script must end with a Subdialog_Return element)
                                                                                • Must include a value for the call input for the Unified CVP Subdialog_Return element
                                                                                • Must add Data Feed/SNMP loggers to enable reporting

                                                                                Call Studio Scripts in Unified CVP

                                                                                Call Studio scripts can be deployed in one of the following ways:

                                                                                • In Call Studio, create and deploy the Call Studio scripts to the local machine using the Archive option.
                                                                                • In Call Studio, use the Deploy Remotely option to deploy the scripts to an FTP Server.
                                                                                • In the Operations Console, upload the archived Call Studio script file from the local machine to the Operations Server and deploy it to other VXML Server machines.
                                                                                Deploy Call Studio Scripts Using Call Studio
                                                                                Procedure
                                                                                  Step 1   Create or modify one or more VoiceXML application scripts.
                                                                                  Step 2   Use Call Studio to set up the loggers using the ActivityLogger, ErrorLogger, and Admin Logger tools. Set up the Unified CVP Datafeed logger for each application.
                                                                                  Note   

                                                                                  Call Studio also includes CVPDatafeedLogger and CVPSNMPLogger. Call Studio lets you change other parameters for these loggers, such as log file size, log lever, et cetera.

                                                                                  See the Call Studio documentation for more information.

                                                                                  Step 3   Deploy one or more VoiceXML application scripts to the local machine using the archive option. The archived scripts are saved as a zipped file under a user-specified directory, for example:

                                                                                  C:\Program Files\Cisco\CallStudio

                                                                                  Note    The sample folder is C:\Cisco\CallStudio, which is also the default folder.

                                                                                  Deploy Call Studio Scripts Using the Operations Console
                                                                                  Procedure
                                                                                    Step 1   From the web browser, enter the following URL:

                                                                                    https://ServerIP:9443/oamp or http://ServerIP:9000/oamp

                                                                                    Step 2   Enter your user ID in the User Name field.
                                                                                    Note    The first time you log in after installing Unified CVP, enter Administrator, the default user account.
                                                                                    Step 3   In the Password field, enter your password, as follows:
                                                                                    • If you are logging in to the default Administrator account, enter the password that was set for this account during installation.
                                                                                    • If the user ID or password is invalid, the Operations server displays the message, "Invalid Username or password." Click the link, enter your user ID and password again, and click OK.

                                                                                    The Operations Console Welcome window appears.

                                                                                    Step 4   Select Bulk Administration > File Transfer > Scripts and Media.
                                                                                    Step 5   From the Device Association drop-down menu, select Gateway.
                                                                                    Step 6   In the Available pane, select one or more archived script files to deploy.
                                                                                    Step 7   Click the arrow icon to move the file from Available to Selected.
                                                                                    Step 8   Click Transfer to transfer the selected archived scripts file(s) to the selected device.

                                                                                    Outbound Option Scripting

                                                                                    Detailed scripting information for Outbound Option is available in the Cisco Packaged Contact Center Enterprise Features Guide at http:/​/​www.cisco.com/​en/​US/​products/​ps12586/​tsd_​products_​support_​series_​home.html.