The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes how to troubleshoot commands for Cisco Unified Intelligent Contact Management (ICM) product through Process Monitor Console (ProcMon) against JTAPI Gateway (JGW), Peripheral Interface Manager (PIM), and Computer Telephony Integration Server (CTISVR) processes.
Cisco recommends that you have knowledge of UCCE Peripheral gateway.
The information in this document is based on UCCE version 11.x.
You can run ProcMon utility from a Telnet session or a DOS command prompt. This section provides the list of basic ProcMon process-specific commands for use with processes such as:
Connect to JGW process via procmon utility.
C:\icm\lab1\PG1A\logfiles>procmon lab1 pg1a jgw1
14:32:40 Trace: EMT Creating Mutex Global\IMTConnect_DisconnectLock
Jtapiver command is used to check JTAPI version.
>>>> jtapiver
>>>>Cisco Jtapi version 11.0(1.10000)-2 Release
Jrever command provides the version of JRE.
>>>>jrever
>>>>Java Runtime Environment Version = <1.7.0_51>
Jli command provides information of all monitoring instruments in the Jtapi GW. This command helps to confirm if specific instrument is in or out of service. In the example two agent phones are registered (IN_SERVICE) and respective agents are logged in. There is an information about Unified Communications Manager (UCM), CTI route points (ICM 1110, IP IVR 1360), and CTI port (1351).
Caution: For production systems it is recommended to write the outputs on txt file instead of doing the display to screen to avoid performance issues. You can reference CSCti18587
>>>> jli
Addr: ActiveLines RegistrationState DeviceStatus TermName TermIPAddressingMode
1011 0 IN_SERVICE LoggedIn-Agent SEP0050569902C1 IP_ADDR_IPV4_V6
1012 0 IN_SERVICE LoggedIn-Agent SEP005056996F7E IP_ADDR_IPV4_V6
2012 0 OUT_OF_SERVICE UnmonitoredDevice SEP000000000009 IP_ADDR_IPV4_V6
1110 0 Registered-RouteAddr Registered-RouteAddress ICM_RP_TS IPV4_V6
1360 0 UnRegistered-RouteAddress UnRegistered-RouteAddress ICM-TR-Trigger IPV4_V6
1351 0 IN_SERVICE UnmonitoredDevice CTIp_1351 IP_ADDR_IPV4_V6
Jdi <instrument> command dumps the content of the specified instrument. It is similar to di command in PIM. Some output is omitted for brevity.
>>>>jdi 1012
Addr: 1012 ActiveLines: 0 RegistrationState: IN_SERVICE
m_CurrentInvokeID = 0
m_elapsedTPServicesRequestSeconds = 0
queuedDTMFDigits = null
sendingDTMFInProgress: N
sendQueuedMsgAddCallObserverResponse: Y
monitoredVirtualDialerPort: N
virtualDialerPort: N
loggedInAgent: Y
DeviceStatus : LoggedIn-Agent
addressDeviceType : GWMSG.DEVICE_TYPE_DEVICE
observeredTypeString : logged In Agent Device
isAddressRestricted: N
isPQDevice: Y
addressDeviceProtocol : PROTOCOL_SCCP
silentMonitorStatus : 0
silentMonitoredCallID : -1
TerminalName : SEP005056996F7E
IPAddressingMode : IP_ADDRESSING_MODE_IPV4_V6
CallID=-1 DeviceID=null/-1 LT=LT_UNKNOWN LCS=CS_NONE ...
CallID=-1 DeviceID=null/-1 LT=LT_UNKNOWN LCS=CS_NONE ...
CallID=-1 DeviceID=null/-1 LT=LT_UNKNOWN LCS=CS_NONE ...
CallID=-1 DeviceID=null/-1 LT=LT_UNKNOWN LCS=CS_NONE ...
CallID=-1 DeviceID=null/-1 LT=LT_UNKNOWN LCS=CS_NONE ...
CallID=-1 DeviceID=null/-1 LT=LT_UNKNOWN LCS=CS_NONE ...
CallID=-1 DeviceID=null/-1 LT=LT_UNKNOWN LCS=CS_NONE ...
CallID=-1 DeviceID=null/-1 LT=LT_UNKNOWN LCS=CS_NONE ...
CallID=-1 DeviceID=null/-1 LT=LT_UNKNOWN LCS=CS_NONE ...
CallID=-1 DeviceID=null/-1 LT=LT_UNKNOWN LCS=CS_NONE ...
Jgetci <instrument> command provides information of calls present at the agent phone. In the example the agent has one active call.
>>>> jgetci 1012
Address: 1012 - NumActiveLines: 1 NumConnectedLines: 1 NumHeldLines: 0 NumAlertingLines: 0
SEP005056996F7E - MaxActiveCallls: 1 MaxCalllsOnHold: 4 NumActiveCallls: 1 NumCalllsOnHold: 0
Jlc command provides the list of all calls in JGW process.
>>>> jlc
Call CID: MyCID: State Duration
16802259 6 ACTIVE 18
Jdc <call id> command provides the details of that specific call. Apart from the duration field,there is a UCM Call Handle to find the same call in CTIManager logs. It can be found with the given string.
CH=1|26015161
>>>> jdc 16802259
Call CID: MyCID: State Duration
16802259 6 ACTIVE 37
Connections associated with this call:
ConnAddr: State: CCState: GenID: ConnIDVal: ConnDev: DevTgDevStrDevExt: DevExt:
1012 CONNECTED ESTABLISHED 9 26015150 1012/0 1012 1012 loggedIn: Y,
5035 CONNECTED ESTABLISHED 10 0 5035/1 1012 5035 loggedIn: N,
transferredPrimaryMyCall == null
processedConferencedEvent = N
deliveredInitiateReported = Y
serviceInitiatedReported = N
serviceInitiated = N
originatedReported = Y
callClearedToOPC = N
callInitializedToOPC = Y
m_TransferOrConferenceInProgress = N
lastRedirectedAddressString =
callRequestedMillis = 1479908148485
m_callCreatedSeconds = 1479908148
queuedRouteMessageMillis = 0
sourceMyConnection:
ConnAddr: State: CCState: GenID: ConnIDVal: ConnDev: DevTgDevStrDevExt: DevExt:
5035 CONNECTED ESTABLISHED 10 0 5035/1 1012 5035 loggedIn: N,
callingAddressMyConnection:
ConnAddr: State: CCState: GenID: ConnIDVal: ConnDev: DevTgDevStrDevExt: DevExt:
5035 CONNECTED ESTABLISHED 10 0 5035/1 1012 5035 loggedIn: N,
m_TransferOrConferenceInProgress: N
singleStepTransferViaRedirectInProgress: N
tpRequestInProgress: N
reverseConnectionCreation: Y
processedNetworkReachedEvent = N
superviseCallType = 0
monitorTargetAddr =
monitorInitiatorAddr =
Connect to Agent PIM process via procmon utility.
C:\icm\lab1\PG1A\logfiles>procmon lab1 pg1a pim1
14:37:37 Trace: EMT Creating Mutex Global\IMTConnect_DisconnectLock
>>>>
Dperiph command provides the information of PIM status. It gives the time PIM is in that status.
>>>> dperiph
ProcessName=pim1 ShutdownType=1 Duplex=1 Side=1
GeoTelBaseDir=C:\icm\lab1\pg1a RegistryBase=ICM\lab1\PG1A DMPSystemID=1
MDSConnections=1 MDSPIMHandle=33 MDSOPCHandle=1 PIMHeartBeatTime=-1
CTIRestarts=0
RoutingClientState=ACTIVE
State=ACTIVE StateInitTime=11/17 09:53:47 (6.1 day)
La command lists all agents configured for a specific PIM along with their current status. Agent with id 1011 is logged with phone extension 1011. Some output is omitted for brevity.
>>>> la
HashIndex SkillTargetID Periph# C Ext# Inst# ActGroups Attributes
195 5003 1011 Y 1011(1011) 1011(1011 ) (0x168c6), ..., (0x65), true
196 5004 1012 Y 1012(1012) 1012(1012 ) (0x168c6), ..., (0x66), true
197 5007 1013 Y -1(-1 ) -1(-1 ) true
Dagent <agent ID> command shows more details about the agent configuration.
>>>> dagent 1011
HashIndex=195 SkillTargetID=5003 PeripheralNumber=1011 ExtensionNumber=1011(1011)
ConfigExtension=-1(-1) InstrumentNumber=1011(1011)
AgentDeskSettingsID=5000 ConfigSkillGroupIDSize=6 AgentPassword={enc:1}3+rxA5Rcy6U+BE7Q==
EnterpriseName=UCM143.Levicheva_Ekaterina Description= UserDeletable=T
FirstName=Ekaterina LastName=Levicheva LoginName=kalevich
ConfigSkillGroupID[0] - 5000 (SkillGroup=92358 SkillPriority=0)
ConfigSkillGroupID[1] - 5001 (SkillGroup=101 SkillPriority=0)
ConfigSkillGroupID[2] - 5002 (SkillGroup=102 SkillPriority=0)
ConfigSkillGroupID[3] - 5008 (SkillGroup= 0 SkillPriority=0)
ConfigSkillGroupID[4] - 5009 (SkillGroup=1475603 SkillPriority=0)
ConfigSkillGroupID[5] - 5010 (SkillGroup=15176698 SkillPriority=0)
ActiveGroupAssignmentSize=6 StateSize=6 DurationCurrentStateSize=6
ActiveGroupAssignment[0] - 92358 (0x168c6) Priority=0 State=AS_NOT_READY DurationState=0
ActiveGroupAssignment[1] - 101 (0x65) Priority=0 State=AS_NOT_READY DurationState=0
ActiveGroupAssignment[2] - 102 (0x66) Priority=0 State=AS_NOT_READY DurationState=0
ActiveGroupAssignment[3] - 0 (0x0) Priority=0 State=AS_NOT_READY DurationState=0
ActiveGroupAssignment[4] - 1475603 (0x168413) Priority=0 State=AS_NOT_READY DurationState=0
ActiveGroupAssignment[5] - 15176698 (0xe793fa) Priority=0 State=AS_NOT_READY DurationState=0
Attributes=true ConfigParam= SupervisorAgent=N
ConfigParam= AgentLoginDisabled=N
OnACall: F PrevState: AS_NOT_READY PendPrevState: AS_AVAILABLE
CurrSkillIdx: 3 DefSkillIdx: 3 NTID: 100000 UnavailReqID: -1
NumActACDCalls: 0 NumActCalls: 0 WrapupData: SubState: (0x3): LOGIN READY
AgentCache: deviceNetworkTargetID = -1,agentSkillTargetID = -1,agentState = AS_UNKNOWN
Di /ext <agent extension> command gives the output of all 10 lines which EA PIM maintains internally. It is similar to jdi command in JGW.
>>>> di /ext 1011
HashIdx= 3 InstNumber= 1011 AgentID= 1011 InstType= TELE_SET_TYPE Monitored=-1 CurLine#= -1
Extn:1011/0 LT=LT_UNKNOWN LS=LS_IDLE SkGrp:0xFFFFFFFF CID=-1 LineWeight=10010 DeviceID=1011
Extn:1011/1 LT=LT_UNKNOWN LS=LS_IDLE SkGrp:0xFFFFFFFF CID=-1 LineWeight=10010 DeviceID=1011
Extn:1011/2 LT=LT_UNKNOWN LS=LS_IDLE SkGrp:0xFFFFFFFF CID=-1 LineWeight=10010 DeviceID=1011
Extn:1011/3 LT=LT_UNKNOWN LS=LS_IDLE SkGrp:0xFFFFFFFF CID=-1 LineWeight=10010 DeviceID=1011
Extn:1011/4 LT=LT_UNKNOWN LS=LS_IDLE SkGrp:0xFFFFFFFF CID=-1 LineWeight=10010 DeviceID=1011
Extn:1011/5 LT=LT_UNKNOWN LS=LS_IDLE SkGrp:0xFFFFFFFF CID=-1 LineWeight=10010 DeviceID=1011
Extn:1011/6 LT=LT_UNKNOWN LS=LS_IDLE SkGrp:0xFFFFFFFF CID=-1 LineWeight=10010 DeviceID=1011
Extn:1011/7 LT=LT_UNKNOWN LS=LS_IDLE SkGrp:0xFFFFFFFF CID=-1 LineWeight=10010 DeviceID=1011
Extn:1011/8 LT=LT_UNKNOWN LS=LS_IDLE SkGrp:0xFFFFFFFF CID=-1 LineWeight=10010 DeviceID=1011
Extn:1011/9 LT=LT_UNKNOWN LS=LS_IDLE SkGrp:0xFFFFFFFF CID=-1 LineWeight=10010 DeviceID=1011
Lc command lists the active calls on the PIM.
>>>> lc
CallID State Called Device Calling Device TrkGrp TrkPrt DNIS Owner Request End NumParties
16802259 Connected 1012 5035 -1 -1 PIM 0 0 0
Dcall <call ID> command shows the details for the specific call.
>>>> dcall 16802259
CallID=16802259 State=Connected HashIndex=211 Owner=PIM
CallingDev=5035 CalledDev=1012 ANIInfo=
TrkGrp=-1 TrkPrt=-1 DNIS= PeripheralTarget=-1
CrossRefID=-1 RtRequest=0 RtResponse=0 RtState=RTUnknown
Destination Connection(CallID=16802259 DeviceID=1012 DevIDType=Static
Source Connection(CallID=16802259 DeviceID=5035 DevIDType=Dynamic
Parties:
Extn:1012/0 LT=LT_INBOUND_ACD LS=LS_TALKING SkGrp:0x168413 CID=16802259
LineWeight=40090 DeviceID=1012 DeviceIDType=DEVICE_IDENTIFIER(0)
Connect to CTISVR process via procmon utility.
C:\icm\lab1\PG1A\logfiles>procmon lab1 cg1a ctisvr
15:04:52 Trace: EMT Creating Mutex Global\IMTConnect_DisconnectLock
>>>>
Clients command lists all CTI clients connected to the server.
>>>> clients
Session Time Ver Flags ClientID AgentID AgentExt Signature Host
1 6 days 15 AUX CTIOSServer CTIOSServer (10.48.47.145:58244)
7 6 days 16 AUX R Finesse Finesse (10.48.47.140:49712)
8 6 days 16 AUX R Finesse Finesse (10.48.46.218:42339)
9 6 days 14 AUX BA_PGA CISCOBlendedAgen (10.48.47.145:58439)
Dclient command shows the connection status, client ip address, port and other details.
>>>> dclient 7
ClientCB:
SessionID=7 Version=16 State=OPEN(6) Services=0x1140196(AUXR) ClientID="Finesse" Signature="Finesse"
HostName= HostAddress=10.48.47.140 HostPort=49712
AgentExtension= AgentID= AgentInstrument=
Associated Agents:
AccociateAgentID=1012 AssociatePeriph=5000
SessionProtocol:
m_State=sessionOpen sm_SessionsNow=4
m_ClientVersion=16 m_IdleTimeout=120 m_InvokeID=0xc2f10(798480)
m_ServiceMask=0x1140196 m_CallMSGMask=0x85efff m_AgentStateMask=0x3ff
m_PeripheralID=5000 m_ClientID="Finesse" m_ClientSignature="Finesse"
m_AgentID="" m_AgentExtension="" m_AgentInstrumentID=""
m_RegisteredCallVars=0x3ff
m_RegisteredVariables: NULL (all ECC variables)
m_DeviceID= m_WasOpened=True m_ApplicationCloseSent=False
m_CloseStatus=0(E_CTI_NO_ERROR) m_LastHeardFrom=15:05:00
TransportProtocol:
m_State=connectionOpen
m_HostName= m_HostAddress=10.48.47.140 m_HostPort=49712
m_BytesSent=227298714 m_BytesReceived=9238165
m_ConnectionID=10 m_ConnectionSocket=808
La command provides thelist of the agents contolled by CTisvr process.
>>>> la
AgentID Periph SkillTgtID TeamID Extension Instrument Current State Signature
1011 5000 5003 5000 1011 1011 AS_NOT_READY
1012 5000 5004 5000 1012 1012 AS_TALKING Finesse
1013 5000 5007 5000 ( ) ( ) AS_LOG_OUT
1014 5000 5013 5001 ( ) ( ) AS_LOG_OUT
Dagent <agent ID> command provides the details for the specific agent.
>>>> dagent 1012
AgentID=1012 PeripheralID=5000 PeriphType=30(EnterpriseAgt) SkillTargetID=5004 AgtTeamID=5000
ExtensionNumber= 1012 InstrumentNumber= 1012 Signature=Finesse
OverallState=AS_TALKING OverallDuration=1788 CurLine=0 CurGroup=4
SkillGroup[0]: State=AS_BUSY_OTHER Number=0x168c6 (No 92358 Pri 0) ID=5000 Duration=1793
SkillGroup[1]: State=AS_BUSY_OTHER Number=0x66 (No 102 Pri 0) ID=5002 Duration=1793
SkillGroup[2]: State=AS_BUSY_OTHER Number=0x0 (No 0 Pri 0) ID=5008 Duration=1793
SkillGroup[3]: State=AS_BUSY_OTHER Number=0xc9 (No 201 Pri 0) ID=5012 Duration=1793
*SkillGroup[4]: State=AS_TALKING Number=0x168413 (No 1475603 Pri 0) ID=5009 Duration=1788
*Line[0]: Type=LINETYPE_INBOUND_ACD CallID=16802259
MonitorList:
CTICSTADevice: PeripheralID=5000 DeviceType=0(Device) DeviceID=1012
Extension= AgentID=1012 Origin=SetAgentStateRequest
Connection: CallID=16802259 State=CS_CONNECT Flags= OPCid=DEST 1012(s)
Hint=Estab:answeringDev SubjectDevice=1012
AssociateClientCB:
SessionID=7 AccociateAgentID=1012 AssociatePeriph=5000
Ld command provides the list of devices seen by the Ctisvr process.
>>>> ld
Periph DeviceID DeviceType Extension AgentID Connections Monitors Origin
5000 1011 Device 1011 1011 0 0 AgentEvent
5000 1012 Device 1012 1 0 SetAgentStateRequest
5000 5035 Device 1 0 CallCreated->callingDevice
5001 65537 Trunk 0 0 delivered->callingDevice
Dd <device ID> command is used to check the details for the specific device.
>>>> dd 1012
PeripheralID=5000 DeviceType=0(Device) DeviceID=1012
Extension= AgentID=1012 Origin=SetAgentStateRequest
Connection: CallID=16802259 State=CS_CONNECT Flags=
OPCid=DEST 1012(s) Hint=Estab:answeringDev SubjectDevice=1012
Lat command lists all teams configured on the system.
>>>> lat
Periph TeamID PriSuper dialedNumberID NumMembers TeamName
5000 5000 5004 5009 3 T1_Team
5000 5001 -1 -1 1 T2_Team
Lats command provides a list of the supervisors and the teams they control.
>>>> lats
TeamID SupervisorSkillTargetID
5000 5004