Transferred Emails Get Sent To End of Queue

From DocWiki

Revision as of 21:24, 15 November 2011 by Ginod (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Contents

Scenario Setup

Administration Console

  1. Set integrated agent's concurrent_task_limit for EIM queue to 1

Agent PC

  1. Send 4 emails "PriorityMail" from customer@eim.lab to support@eim.lab
  2. Use integrated agent "goofy" for this scenario.

Problem Statement

Suppose a customer emailed the "Parts" alias, but should have instead emailed the "Support" alias. Let's track the life of this email from EIM retrieval to Response.

  1. EIM retrieves mail from server, inserts at end of "Parts" queue as per FIFO logic.
  2. After 18 hours in queue, email is routed to an agent in "Parts." Agent realizes that this mail should have been sent to the "Support" alias, and transfers the email to the "Support" queue.
  3. Email is then inserted at end of Support queue as per FIFO logic.
  4. Email must then wait another 12 hours in queue before being routed to an agent in "Support."
  5. Agent responds to customer.

The problem here is that the business has a 24 hour SLA for response to customers. In this case, a response was not received for 30 hours due to the email waiting through two separate queues before being handled. With the current implementation of EAAS/MR PIM, there is no way for EIM to automatically flag these emails to be handled before others. However, with some agent training and an ECC variable, this can be handled through scripting.

Prioritized Transfer

Agents have the ability of setting a Priority when they transfer an email. This value is written to the egpl_casemgmt_activity table, but EAAS does not send this to UCCE by default. We will create an ECC variable to take this value and include it in the NEW_TASK message sent to the MR PIM. We can use this "Prioritized Transfer" to address the above problem scenario. Items must be configured on the EIM side as well as the UCCE side.

UCCE Configuration

ECC variables must be created in Unified CCE before they can be associated with an EIM/WIM queue.

  1. From the ICM Configuration Manager > Expanded Call Variable List Tool, add user.cim.activity.priority.
    ECClist.png
  2. Modify ICM routing script to have a separate Queue-to-SG node with priority 1.
  3. Add an IF node to check user.cim.activity.priority. If 1, send to higher priority Queue-to-SG node. Otherwise, send to standard Queue-to-SG node with default priority 5.

PriScript.png

EIM Configuration

  1. Confirm that the value for FIFO_ALGO_TO_SAVE_EMAIL_ENABLE in the file \CIM\eService\config\ipcc\egicm_configuration.properties is set to “false”. If scripts utilize “wait” nodes, this is likely already disabled, but should be checked just to be certain.
    Note: All queries should be done on the eGActiveDB.
  2. Run the following query on the egpl_casemgmt_activity table to get all the activity attributes available in the table.
    sp_help egpl_casemgmt_activity

    Sp help.png
    From here we can see that ACTIVITY_PRIORITY is the column we want to match.
  3. Run the following query on the egicm_call_variable table to identify the call variable IDs that are already in use. Be careful not to overwrite one of the existing call variables!
    select * from egicm_call_variable

    Call variables.png
  4. Run the following query on the egicm_call_variable table to add the new call variables.
    Insert into EGICM_CALL_VARIABLE VALUES (Call_Variable_ID, ‘Call_Variable_Name’, ‘Call_Variable_Description’)
    1. Call_Variable_ID: The ID of the call variable. Make sure that you do not use a call variable ID that is already in use.
    2. Call_Variable_Name: This name should match the exact name (case-sensitive!) of the activity attribute you got from the sp_help egpl_casemgmt_activity in Step 1.
    3. Call_Variable_Description: The description of the call variable. This is optional information.
      For example, the query should look like:
      Insert into EGICM_CALL_VARIABLE VALUES (1003,'ACTIVITY_PRIORITY','Activity Priority')
  5. Log in to the Administration Console > Workflow > Queues > Expanded Call Variables tab, and add the UCCE ECC variable to the appropriate queue. Set the "Data" dropdown to the "Call_Variable_Name" you inserted in the above step.
    ECCtab.png
  6. Log in to the System Console and cycle the EAAS process.

Validation

  • Send 4 emails to EIM. Log in an integrated agent with max concurrent task limit set to 1.
  • Emails initially come into EIM with no priority, so a 0 is sent to the MR PIM for the ECC variable created (user.cim.activity.priority)
12:10:40 pg2A-pim2 Trace: [  2156]Application->PG:
Message = NEW_TASK; Length = 102 bytes
   DialogueID = (4) Hex 00000004
   SendSeqNo = (1) Hex 00000001
   MRDomainID = (5003) Hex 0000138b
   PreviousTask = -1:-1:-1
   PreferredAgent = Undefined
   Service = (0) Hex 00000000
   CiscoReserved = (0) Hex 00000000
   ScriptSelector: 8000
ECC Variable Name: user.cim.activity.id
Value: 1045
ECC Variable Name: user.cim.activity.priority
Value: 0
  • The agent then transfers the activity from the EIM agent console and sets the priority to 1.

Transfer.png

  • EIM writes this to the ACTIVITY_PRIORITY column in the database, and EAAS sends the value to MR PIM as user.cim.activity.priority:
12:14:01 pg2A-pim2 Trace: [  2156]Application->PG:
Message = NEW_TASK; Length = 102 bytes
   DialogueID = (8) Hex 00000008
   SendSeqNo = (1) Hex 00000001
   MRDomainID = (5003) Hex 0000138b
   PreviousTask = -1:-1:-1
   PreferredAgent = Undefined
   Service = (0) Hex 00000000
   CiscoReserved = (0) Hex 00000000
   ScriptSelector: 8000
ECC Variable Name: user.cim.activity.id
Value: 1045
ECC Variable Name: user.cim.activity.priority
Value: 1
  • After the transfer, the agent receives another default priority email.
    • Default Priority emails in queue: 2
    • High Priority emails in queue: 1.
      The transferred (now priority=1) email has since arrived in the Priority=1 queue.
  • The agent then completes the second mail.
  • The higher-prioritized queue's transferred email is then received before the remaining emails in the default priority queue.

Resolution

Through the use of Priority variables and scripting, transferred emails can avoid waiting through multiple FIFO queues to be processed.

Rating: 4.0/5 (1 vote cast)

Personal tools