Cisco Packaged Contact Center Enterprise Features Guide, Release 10.0(x)
Agent Request
Downloads: This chapterpdf (PDF - 1.52 MB) The complete bookPDF (PDF - 7.1 MB) | The complete bookePub (ePub - 2.55 MB) | Feedback

Agent Request

Agent Request feature description

The Agent Request feature allows a customer to initiate a request on the web that results in a call from an agent.

Cisco SocialMiner works in a Contact Center Enterprise (CCE) solution to process the request from its inception through the delivery of the callback.


Unified WIM also offers callback and delayed callback. You can use either Agent Request or Unified WIM—but not both.


The Agent Request feature can be used only if the customer or a partner develops a custom application. There is sample code on the DevNet (formerly Cisco Developer Network) that you can use to understand how to start building your custom application to submit callback requests to SocialMiner.

SocialMiner and Agent Request

SocialMiner provides the Callback API used by a custom application to request a phone call from a contact center agent.

The API works in conjunction with SocialMiner callback feeds, campaigns, and notifications to pass callback requests to the contact center for routing.

The Callback API:
  • Allows custom applications to initiate a callback.
  • Forwards the callback request and callback details to CCE using a notification mechanism (the Connection to CCE notification type) through a Media Routing (MR) connection.
  • Allows custom applications to retrieve the state of the callback as well as the estimated wait time (EWT) until an agent becomes available.
  • Allows custom applications to cancel a requested callback.

The Callback API supports the use of Call variables and ECC variables for callback requests. Call variables and ECC variables send customer-specific information with the request. When you create a callback contact, the social contact associated with the callback contact includes all of the specified variables as extension fields.

CCE and Agent Request

CCE services in the Agent Request solution:
  • Process the callback request.
  • Route the callback request to an agent and place a call from the agent's phone to the customer.
  • Notify SocialMiner that the agent has been selected.

Agent desktops and Agent Request

Both Cisco Finesse and CTI OS support Agent Request.

Agent Request prerequisites

You must install and configure SocialMiner before you can implement Agent Request. SocialMiner must be geographically co-located with the Call Server on one side.

The customer or partner must build a custom application for the Agent Request feature. See Sample code to create customer callback request

SocialMiner is always deployed in a DMZ. You must open the port you have configured for the MR PG. See Set up the Media Routing PG and PIM.

Agent Request call flow

Figure 1. Agent request call flow

The flow proceeds as follows:

  1. The customer application initiates an agent request by requesting a callback.
  2. SocialMiner sends the request to the Call Server.
  3. The Call Server sends the request to the agent.
  4. A call is initiated from the agent's phone, dialing the customer's phone number.

Agent Request scenarios

  1. From the web, the customer requests to speak to an agent.
  2. The customer receives feedback that the request is accepted.
  3. The customer receives feedback that the call is queued and the estimated wait time.
  4. The customer receives feedback that a call is on its way.
  5. The agent's phone places an outbound call.
  6. The agent is presented with call context.
If Then

The customer is available

The customer receives and answers the call, and speaks to the agent

The customer is busy when the callback occurs

The agent receives a busy tone

The customer does not answer when the callback occurs

The agent hears ringing

The customer cancels the callback before an agent is selected

There is no impact on the agent

Configure Packaged CCE for Agent Request

Web Administration tools

This topic explains the Unified Web Administration tools you need to configure Agent Request.

Before You Begin

For details on the procedures for steps 2 - 5, refer to the Web Administration online help or to the Administration and Configuration Guide at http:/​/​​en/​US/​products/​ps12586/​prod_​maintenance_​guides_​list.html.

    Step 1   Sign in to Unified Web Administration.
    Step 2   Call Type: Create a call type for Agent Request.
    Step 3   Dialed Number: Create a dialed number for Agent Request. You will use this number when you configure the notification in SocialMiner.
    1. For Routing Type, select Multichannel.
    2. For Media Routing Domain, select Cisco_Voice.
    3. Select the Call Type that you created in Step 2.
    Step 4   Expanded Call Variable: You can use an existing Expanded Call Variable, or you can create an expanded call variable for Agent Request.

    Arrays are not supported with the Agent Request feature.

    CCE solutions support the Latin 1 character set only for Expanded Call Context variables and Call variables when used with CVP, Finesse, and SocialMiner. CCE also supports the use of multi-byte character sets in limited usage for ECC and call variables when:
    • setting them in script editor using double quotes
    • setting and receiving them via CTI OS desktops
    Step 5   Create a Network VRU Script.

    Set up the Media Routing PG and PIM

    Before You Begin

    To use Agent Request, you must access Peripheral Gateway Setup to set up a Multichannel PIM that associates SocialMiner with the MR PG.

      Step 1   From Cisco Unified CCE Tools, select Peripheral Gateway Setup.
      Step 2   On the Components Setup screen, in the Instance Components panel, select the PG Instance component. Then click Edit.
      Step 3   In the Peripheral Gateways Properties screen, click Media Routing. Then click Next.
      Step 4   Click Yes at the prompt to stop the service.
      Step 5   From the Peripheral Gateway Component Properties screen, click Add, select the next PIM, and configure with the Client Type of Media Routing as follows.
      1. Check Enabled.
      2. In the Peripheral Name field, enter MR.
      3. In the Peripheral ID field, enter 5005.
      4. For Application Hostname (1), enter the hostname or IP address of SocialMiner.
      5. Make a note of the default Application Connection Port. You will use it in the CCE Configuration for Multichannel Routing for SocialMiner.

        The Application connection port defaults to 38001; this is the default port on which SocialMiner accepts MR connections. If you change the default port number for either side of the MR PG, you must change the second side.

      6. Leave the Application Hostname (2), field blank.
      7. Keep all other values.
      8. Click OK.
      Step 6   Accept defaults and click Next until the Setup Complete screen opens.
      Step 7   At the Setup Complete screen, check Yes to start the service. Then Click Finish.
      Step 8   Click Exit Setup.
      Step 9   Repeat from Step 1 for Side B.

      Configure SocialMiner for a voice callback agent request

      To support a callback request, SocialMiner must be configured with:
      • A callback feed
      • A campaign
      • A Connection to CCE notification configured for the campaign mentioned above that will be triggered by incoming callback requests with a matching tag.
      • CCE Configuration for Multichannel Routing must be enabled on the SocialMiner Administration tab.

      Configure SocialMiner to allow MR PG connections

        Step 1   Click Administration.
        Step 2   In the System Administration panel, click CCE Configuration for Multichannel Routing.
        Step 3   Click Edit.
        Step 4   Check the Enabled checkbox.
        Step 5   Enter the hostnames or IP addresses of the Side A and Side B Call Server so that SocialMiner will only allow connections from those hosts.
        Step 6   Update the Port (if necessary) to match the port set up on the Call Server, or leave the default.
        Step 7   Click Save.

        Create feed

          Step 1   Click Configuration.
          Step 2   On the Feeds panel, click Add.
          Step 3   For Type, select Callback.
          Step 4   Name the feed.
          Step 5   For Reply Template, retain the default, No reply template.
          Step 6   Configure the feed to automatically tag all callback requests that come in on that feed. For example, autotag with 'sendtocontactcenter'. Make a note of the tag. It is used to trigger the notification to CCE.
          Step 7   Click Save.

          Create campaign

            Step 1   Click Configuration.
            Step 2   On the Campaigns panel, click Add.
            Step 3   Name the campaign.
            Step 4   Enter an optional description.
            Step 5   Make no selection in the Chat Invitation Feed drop-down list.
            Step 6   Locate the Callback feed in the Available panel and move it to Selected.
            Step 7   Click Save.

            Create notification

              Step 1   Click Administration.
              Step 2   On the Notifications panel, click Add.
              Step 3   For Type, select Connection to CCE.
              Step 4   Name the notification.
              Step 5   From the Campaigns drop-down list, select the campaign that you created for the callback.
              Step 6   In the Tags field, enter the tag that is automatically applied to callback requests by the feed. In our example 'sendtocontactcenter'.
              Step 7   In the Dialed Number/Script Selector field, enter the dialed number string that you have configured.

              See Web Administration tools.

              Step 8   In the Media Routing Domain field, accept the default, Cisco_Voice.
              Step 9   Click Save.

              For additional SocialMiner configuration information, see the SocialMiner User Guide.

              Create script for Agent Request

              This illustration shows a sample script. The key below explains the nodes.

              Start node: Create the Start node by selecting a new Routing Script from the Script Editor.

              Set Variable (Call.Calling Line ID) node: (optional). If required, you can set the CallingLineID (CLID/ ANI) variable to implement a "dial-plan," pre-pending a set of digits to the phone number provided by the customer so that it can be correctly routed. For example, it is often necessary to add 9 to the phone number to reach an outside line. In other cases, more pre-pended digits may be required to reach the end customer.

              You can also set up Unified Communications Manager Route Patterns to respond to a certain set of digits by routing the call to an outside line with a specified area code. To implement a dial-plan, add a Set Variable node before the queue, as shown in this example. In this case, a 9 is pre-pended to the customer phone number using the built-in concatenate function.

              Queue to Skill Group node: The Agent Request call can be queued against one or more Skill Groups, Precision Queues, or a queue-to-agent node. In the example script, the call is queued against a single skill group.

              Set Variable (Call.Estimated Wait Time) node: A customer who requests a voice callback might want to know approximately how long it will be before the call is returned. You can configure voice callback to provide an estimate of the wait time back to the customer. The estimated wait time is calculated once, when the call enters the queue. The time is not updated as the position in the queue changes.

              The default estimated wait time algorithm is based on a running five minute window of the rate of calls leaving the queue. Any calls that 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 recision Queue steps. The algorithm computes the wait time for each of the queues against which the call is queued (Skill Groups or Precision Queues) and then returns the minimum estimated wait time. Queue to Agent is not supported.

              While the queue builds, the small number of calls in the queue makes the estimated wait time less accurate and the value fluctuates rapidly. As the queue operates with more calls over time, the estimated wait time is more accurate and consistent. If CCE does not have enough data to calculate EWT, the callback API returns a value of -1. Customers must determine how their custom applications handle this situation.

              Note that the built-in function also applies to inbound calls that queue.

              Set the Call Wait time as follows:
              1. From the Set Variable node, select Call from the Object type drop-down menu.
              2. From the Variable drop-down menu, choose Estimated Wait Time(). You can then work with the Formula Editor to use the default estimated wait value or create a formula and use your own value.
              3. Click Formula Editor, and do either of the following:
                • To use the default estimated wait value, click the Built-In Functions tab and choose EstimatedWaitTime()
                • To create a formula and use your own value, click the Variables tab and choose an entry in the Object type list and an entry in the Object list. Then double-click a variable in the Variable list.
              Run Ext Script node: Apply the Network VRU script as follows:
              1. Click the Queue tab.
              2. Click Run External Script.
              3. Click inside the script. A Run External Script node appears.
              4. Double-click the node and choose the Network VRU script from the list; then click OK. The call variable Estimated Wait Time now contains a value in the EstimatedWaitTime field and can be passed to peripherals. Note that a Run External Script node is required to send the EstimatedWaitTime to SocialMiner.

              Wait node: The wait period before an agent becomes available.

              End node: The script ends if no agent becomes available.

              Sample code to create customer callback request

              Cisco Systems has made sample callback application code available to use as a baseline in building your own application. This sample includes retrieving and displaying the estimated wait time, assuming it has been configured in CCE. You can find the sample code on DevNet (formerly, Cisco Developer Network).


              You cannot copy and paste this code to achieve a working application. It is a only a guideline.

              For more information about how to use the Callback API, see the SocialMiner Developer Guide.

                Step 1   Retrieve the feed id by entering this URL in a browser: https://<SocialMiner_Hostname_or_Ip>/ccp-webapp/ccp/feed.

                In the example output below, note that the value in the <name> field is "Callback." Look for the number of the feed id identified at the end of the refURL path (in this case, it is 100000) just before the </refURL> tag. Copy this number.

                Step 2   Access the sample application from DevNet: https:/​/​​web/​socialminer.
                Step 3   Enter values in the fields:
                • Title: A title or subject for the callback request.
                • Author: The name of the person submitting the callback request.
                • Phone: The phone number to call back.
                • Feed Id: The value from the refURL above.
                Step 4   Click Call me back.

                Agent Request reporting

                Cisco Unified Intelligence Center CCE reports include data for Agent Requests


                Agent requests that fail before being routed to CCE will not be included in the CCE solution-level reports. The SocialMiner search function can be used to identify these requests.

                Call Type and Call Type Skill Group metrics

                • Calls Offered — Incremented when Call Type is entered (through Script Selector or Call Type node).
                • Calls Abandoned in Queue — Incremented when a Queued Callback request is canceled by the customer prior to when an Agent is selected to handle the Voice Callback call.
                • Calls Answered — Incremented if the call is placed from the agent and represents work accepted by the agent.
                • Calls Handled — Incremented if the customer answers the call. Calls Answered minus Calls Handled indicates how many calls failed to reach the intended customer.
                • Service Level Offered — Incremented for all routed calls, including voice callback calls initiated through the agent request API.
                • ServiceLevelCalls — Incremented if the call is presented to the agent within a service level.
                • Answer Intervals (1 - 10) — The appropriate bucket is incremented based on how long the call was in the queue.

                Skill Group metrics

                Call Type Skill Group and Skill Group metrics are not counted in the same way. The skill group metric treats each call as agent-initiated; therefore, Calls Answered and Calls Handled are not incremented. AgentOutCallsTime, AgentOutCalls, AgentOutCallsTalkTime, AgentOutCallsOnHold, and AgentOutCallsOnHoldTime are incremented.


                Agent Real Time

                The direction in the Agent Real Time table is listed as Outbound.

                Termination Call Detail

                For custom reporting, the Termination Call Detail records contain a PeripheralCallType of 41 -Voice Callback.

                Calls which do not successfully connect to a customer have a call disposition of 10 - Disconnect/Drop no answer. This includes agent request calls to busy numbers.