Introduction
This document describes how to troubleshoot a scenario where Finesse Agents recieve calls while already on an outbound call.
Contributed by Kevin Sheppard and Ramiro Amaya, Cisco TAC Engineers.
Prerequisites
Requirements
Cisco recommends you have the knowledge of these topics:
- Cisco Unified Contact Center Enterprise (UCCE)
- Cisco Finesse
Components Used
- UCCE 10.5
- CUCM 10.5
- Finesse 11
The information in this document was created from the devices in a specific production environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Note: Scenario not always reproducible in a lab environment
Background Information
In this production environment Finesse agents recieve a call while already on an outbound call. The agent has only one line assigned to their phone, their ACD line. The agents place an outbound call from their phone instead of the Finesse application while still in a Ready state. The agent line is configured in Callmanager(CUCM) as a maximum number of calls to 2 and busy trigger to 1, so when the agent recevies the second call, the call goes to voice mail based on their busy trigger configuration.
Recreate Scenario
- Agent ID: Agent1
- Agent Extension 9001
- Agent calls outbound number 9002
- Inbound call comes from number 11141986 -> It is routed to Voicemail.
Agent with only one extension makes an outbound call from his/her hardphone while in READY state using Finesse
Logs Analysis
- In this scenario Call ID (CID) is 215550389
JGW Logs
- At 12:55:42:254 the Agent1 dials from 9001 to 9002 but as you can see here in the JGW logs the DevTGStr = Null
12:55:42:254 PG1A-jgw1 Trace: In service initiated the unique id is 00000000000F462F13F44C1300000000.
12:55:42:254 PG1A-jgw1 Trace: After setting DevTgDevStrMyConn: GenID: 600364 IDVal: 334777363 Dev: 9001/0 Ext: 9001 DevTgStr: null Addr: 9001 State: CONNECTED CCState: INITIATED prevCCState: UNKNOWN loggedIn: Y.
12:55:42:254 PG1A-jgw1 Trace: After setting deviceTarg MyConn: GenID: 600364 IDVal: 334777363 Dev: 9001/0 Ext: 9001 DevTgStr: null Addr: 9001 State: CONNECTED CCState: INITIATED prevCCState: INITIATED loggedIn: Y.
12:55:42:254 PG1A-jgw1 Trace: MsgServiceInitiated: CID: 215550389 ConnDevID: 9001/0 ConsCID: -1 ConsConnDevID: /0 LocConnInfo: 1 Cause: -1 DevTgDevStr: Unique ID: 00000000000F462F13F44C1300000000.
- This is what must be expected in the JGW logs. You can see that the DevTgStr holds the calling number value 9001:
12:55:42:25 PG6A-jgw1 Trace: After setting DevTgDevStrMyConn: GenID: 600364 IDVal: 334777363 Dev: 9001/0 Ext: 9001 DevTgStr: 9001 Addr: 9001 State: CONNECTED CCState: INITIATED prevCCState: UNKNOWN loggedIn: Y.
12:55:42:25 PG6A-jgw1 Trace: After setting deviceTarg MyConn: GenID: 600364 IDVal: 334777363 Dev: 9001/0 Ext: 9001 DevTgStr: 9001 Addr: 9001 State: CONNECTED CCState: INITIATED prevCCState: INITIATED loggedIn: Y.
PIM LOGS
- Look for this unique error "couldn't find client stack for device target device string"
12:55:42:254 PG1A-pim1 Trace: ServiceInitiated: CID=215550389 ConnDevID=9001/0 ConsOrigCID=-1 ConsOrigConnDevID=/0 LocalConn=1 Cause=-1UniqueID=00000000000F462F13F44C1300000000 DevTgDevStr=.
12:55:42:254 PG1A-pim1 Trace: RecvServiceInitiated couldn't find client stack for device target device string .
12:55:42:426 PG1A-pim1 Trace: Originated: CID=215550389 ConnDevID=/0 CallingDev=/0 CalledDev=9002/0 LocalConn=3 Cause=-1UniqueID= 00000000000F462F13F44C1300000000 DigitsDialed=9002 DevTgDevStr=.
12:55:42:426 PG1A-pim1 Trace: RecvOriginated couldn't find client stack for device target device string .
OPC LOGS
14:56:00:553 PG1A-opc Trace: CSTACallClearedEvent - Call not found for specified connection (CallID=215550389, Device= DevType=Static) on Peripheral 5008..
CTISVR Logs
- From these CTISVR logs the device is reserved for incoming call 11141986 even though the agent is on an outbound call that they initiated at 12:55:42:254. The outbound call was initiated 13 seconds earlier.
12:55:55:608 cg1A-ctisvr Trace: DEVICE_TARGET_PRE_CALL_IND - Instrument=9001 RouterCallKey=151848 20382 NetworkTargetID=0.
12:55:55:608 cg1A-ctisvr Trace: SvSkTargID=-1(-1) SkGroupSkTarID=13686(10100).
12:55:55:608 cg1A-ctisvr Trace: AgSkTargID=19279 ANI=11141986 CED=.
12:55:55:608 cg1A-ctisvr Trace: Var1=CCN Military Var2= Var3= Var4= Var5=.
12:55:55:608 cg1A-ctisvr Trace: Var6= Var7= Var8= Var9= Var10=.
12:55:55:608 cg1A-ctisvr Trace: CallTypeID=10225 PreCallInvokeID=284797.
12:55:55:608 cg1A-ctisvr Trace: AGENT_EVENT: ID=agent1 SkgState=BUSY_OTHER Periph=5008 Ext=9001 Inst=9001 Sig=Finesse MRDID=1 SkTgtID=19279 SkGrpNo=0x3abe SkGrpID=8778 Direction=0.
12:55:55:608 cg1A-ctisvr Trace: AGENT_EVENT: ID=agent1 SkgState=BUSY_OTHER Periph=5008 Ext=9001 Inst=9001 Sig=Finesse MRDID=1 SkTgtID=19279 SkGrpNo=0x272 SkGrpID=10745 Direction=0.
12:55:55:608 cg1A-ctisvr Trace: AGENT_EVENT: ID=agent1 Periph=5008 Ext=9001 Inst=9001 Sig=Finesse.
12:55:55:608 cg1A-ctisvr Trace: SkgState=RESERVED SkgDuration=0 OverallState=RESERVED OverallDuration=0 Reason=0.
Solution
Because JGW process sends a null DevTgStr to PIM, PIM does not send the status of the outbound call to OPC. Because of this OPC does not receive the status of the Agent1, and does not send any update to CTISVR and Router. The Agent1 status will show as Ready state even though they are on an outbound call and calls will still be routed to them.
This is a configuration issue.
Navigate to Configuration Manager -> Agent Targeting Rule -> Routing Client -> The Call Manager is not a Routing Client. Add the Call Manager as a Routing Client.
Common best practices:
- Agents should answer inbound calls and make outbound calls from the Finesse Application desktop.
- Agents who make outbound calls from their phone should first put themselves in a Not Ready state in Finesse Application desktop.