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 track Agent events in JTAPI Gateway (JGW) logs in a conference call.
Cisco recommends that you have knowledge of these topics:
The information in this document is based on these software and hardware versions:
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
The JTAPI Gateway (JGW) process is the one responsible to initialize communications with the CUCM through JTAPI. The main purpose is to track and monitor the agent events while an ACD call is getting delievered or if the agent is performing any of the task available from Finesse. The purpose of this document is to track an Agent trying to make a Conference call with another agent and what are the key points that can help troubleshoot these events.
Both agent phones are extensions on a CUCM and the caller is a PSTN number.
CUCM 192.168.10.10
Agent 1 Extension 1080
Agent 2 Extension 1082
Comprehensive Call Flow:
PSTN > CUBE > CVP > ICM > VVB > CUCM > Agent
Important Elements to take in consideration:
1) deviceName --> Device Receiving the Call
2) CallLegID --> This is used to track the call in JGW trace
3) CallID --> Call ID generated for the Call
4) CallActiveEv CID --> This CID can be mapped with CTISVR, OPC, PIM as well to track the call in ICM
5) State --> These are the states of the Call in JGW
Each Event have a Sequence Number. If JGW sends a request, youcan use the Sequence Number to track the response from CUCM CTI Manager.
1) PSTN Caller makes a call to the Toll Free Number (TFL) which hits CUBE and then CVP.
2) After going through the Comprehensive Call Flow, call gets routed to Agent 1 with extension 1080.
3) Agent 1 choose Consult in Finesse and Dials Agent 2 Extension 1082.
4) Once the Call is connected between both agents, Agent 1 hits Conference.
5) Once all parties are connected, the Conference takes place.
Use these debug levels in order to troubleshoot the JGW messaging and the Session Initiation Protocol (SIP) signaling that corresponds on CUCM:
On the Agent Peripheral Gateway (PG), use the Procmon utility in order to turn up tracing for the JGW process:
C:\>procmon <cust_inst> <node> jgw<jtapi instance>
>>>trace JT_TPREQUESTS /on
>>>trace JT_JTAPI_EVENT_USED* /on
>>>trace JT_PIM_EVENT /on
>>>trace JT_ROUTE_MESSAGE /on
>>>trace *CONF* /on
<cust_inst> = CCE Instance.
<node> = This is the PG where you want to work on.
<jtapi instance> = Instance number assigned to the JGW process. You can find that number from Diagnostic Portico > Services > List Processes.
You can also use Diagnostic Framework Portico on the Agent PG and increase the trace level of the JGW process to 3. For that you go to Trace > Set Trace Level > Select the Component > Select the Level > Submit.
-UnknownState 0
-IdleState 1
-OfferingState 2
-AcceptedState 3
-DialtoneState 4
-DialingState 5
-RingbackState 6
-BusyState 7
-ConnectedState 8
-ProceedingState 9
-OnHoldstate 10
-TransferOnpendingState 12
-TransferOnholdState 13
-DisconnectedState 14
-CallWaitingState 15
-RemoteInUseState 16
-ProgressingState 17
-WhisperState 18
Agent Received Call From PSTN and Shows State 2 as Offering.
7:18:17:959 pg3a-jgw1 Trace: 393: Jul 10 17:18:17.959 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.NewCallEvent {
eventSequence = 61236.
17:18:17:959 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
lineHandleSpecified = true
deviceName = UCSFSJEFFERS.
17:18:17:959 pg3a-jgw1 Trace:
callCallManagerID = 1
callLegID = 27308081
globalCallManagerID = 1
callID = 7470099.
17:18:17:959 pg3a-jgw1 Trace:
callingParty = <PSTN NUMBER>
calledParty = 1080
originalCalledParty = 1080
state = 2.
17:18:17:959 pg3a-jgw1 Trace: 396: Jul 10 17:18:17.959 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.CallStateChangedEvent_V2 {
eventSequence = 61237.
17:18:17:959 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
callCallManagerID = 1
callLegID = 27308081
state = 2.
17:18:17:959 pg3a-jgw1 Trace: CallActiveEv CID: 24247315.
17:18:17:959 pg3a-jgw1 Trace: ConnCreatedEv CID: 24247315 (7470099/1) Addr: 1080 CurCalling: 5555551234 CurCallingURLType: URL_TYPE_UNKNOWN CurCalled: 1080 CurCalledURLType: URL_TYPE_SIP Calling: 5555551234 Called: 1080 Cause: NORMAL.
Call Changed to Accepted State.
17:18:18:006 pg3a-jgw1 Trace: 438: Jul 10 17:18:18.006 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.CallStateChangedEvent_V2 {
eventSequence = 61238.
17:18:18:006 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
callCallManagerID = 1
callLegID = 27308081
state
JGW sends the Answer request. You can see Sequence Number 11057. You receive a response with that Sequence Number.
17:18:20:653 pg3a-jgw1 Trace: 462: Jul 10 17:18:20.653 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) [GW-ThreadAnswerCall] sending: com.cisco.cti.protocol.CallAnswerRequest {
sequenceNumber = 11057.
17:18:20:653 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
callLegCallManagerID = 1
callLegID = 27308081
mediaDeviceName =
mediaResourceId = 0
}.
17:18:20:784 pg3a-jgw1 Trace: 463: Jul 10 17:18:20.784 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Response: com.cisco.cti.protocol.CallAnswerResponse {
sequenceNumber = 11057
result = 0
}.
Since the call was accpeted, you start seeing the Start Transmission and Reception, meaning RTP is getting connected.
17:18:20:784 pg3a-jgw1 Trace: 464: Jul 10 17:18:20.784 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.StartTransmissionEvent {
eventSequence = 61239
deviceCallManagerID = 1.
17:18:20:784 pg3a-jgw1 Trace:
deviceID = 34
callCallManagerID = 1
callLegID = 27308081
ipAddr = -494595386
rtpPortNumber = 8980.
17:18:20:784 pg3a-jgw1 Trace: 467: Jul 10 17:18:20.784 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.StartReceptionEvent {
eventSequence = 61240
deviceCallManagerID = 1.
17:18:20:784 pg3a-jgw1 Trace:
deviceID = 34
callCallManagerID = 1
callLegID = 27308081
ipAddr = 1267012294
rtpPortNumber = 20704.
Call Change to State 8, Meaning Connected.
17:18:20:784 pg3a-jgw1 Trace: 482: Jul 10 17:18:20.784 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.CallStateChangedEvent_V2 {
eventSequence = 61242.
17:18:20:784 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
callCallManagerID = 1
callLegID = 27308081
state = 8.
When the agent wants to do a Consult Transfer (Conference) you see the request being sent to CUCM, and you see a result of the sequence coming back from CUCM.
17:19:28:463 pg3a-jgw1 Trace: 780: Jul 10 17:19:28.463 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) [GW-ThreadConsultationCall] sending: com.cisco.cti.protocol.CallSetupTransferRequest {
sequenceNumber = 11062.
17:19:28:463 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
callLegCallManagerID = 1
callLegID = 27308081.
17:19:28:463 pg3a-jgw1 Trace:
newCallManagerID = 1
newGlobalCallID = 7470101
callingAddress = null
destAddress = 1082.
17:19:28:463 pg3a-jgw1 Trace:
userData = null
bNeverConnectMediaForConsultCall = false
}.
17:19:28:595 pg3a-jgw1 Trace: 791: Jul 10 17:19:28.595 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Response: com.cisco.cti.protocol.CallSetupTransferResponse {
sequenceNumber = 11062
result = 0.
Caller Transition to Hold, Which is State 10.
17:19:28:595 pg3a-jgw1 Trace: 781: Jul 10 17:19:28.595 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.CallStateChangedEvent_V2 {
eventSequence = 61255.
17:19:28:595 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
callCallManagerID = 1
callLegID = 27308081
state
A new Call gets Generated by the Agent. You Can use the New CallLeg to Track this New Call to the Other User.
17:19:28:595 pg3a-jgw1 Trace: 797: Jul 10 17:19:28.595 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.NewCallEvent {
eventSequence = 61257.
17:19:28:595 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
lineHandleSpecified = true
deviceName = UCSFSJEFFERS.
17:19:28:595 pg3a-jgw1 Trace:
callCallManagerID = 1
callLegID = 27308086
globalCallManagerID = 1
callID = 7470101.
17:19:28:595 pg3a-jgw1 Trace:
callingParty = 1080
calledParty =
originalCalledParty =
state = 4.
17:19:28:879 pg3a-jgw1 Trace: 883: Jul 10 17:19:28.879 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.CallPartyInfoChangedEvent {
eventSequence = 61262.
17:19:28:879 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
callCallManagerID = 1
callLegID = 27308086.
17:19:28:879 pg3a-jgw1 Trace:
callingPartyChanged = false
callingParty = 1080
callingPartyName =
calledPartyChanged = true.
17:19:28:879 pg3a-jgw1 Trace:
calledParty = 1082
Once the Other Agent Answers, Call Gets Connected.
17:19:32:828 pg3a-jgw1 Trace: 1017: Jul 10 17:19:32.828 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.CallStateChangedEvent_V2 {
eventSequence = 61278.
17:19:32:828 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
callCallManagerID = 1
callLegID = 27308086
state = 8.
17:19:32:844 pg3a-jgw1 Trace: 1074: %JTAPI-CTI-7-UNK:(P1-PG_USER){Line:UCSFSJEFFERS:1080:Everyone:(1,32)|Call:[GCID=(7470101/1),CID=27308086]} CallStateChanged (V2) [state=CONNECTED cause=NOERROR destType=IN_CLUSTER destCM=0 fwdD.
Then Agent Join the Callers Into the Conference. You See the Sequence Number and the Response from CUCM.
17:19:46:393 pg3a-jgw1 Trace: MsgConferenceCall: HeldCID: 24247315 HeldConnDevID: 1080/0 ActiveCID: 24247317 ActiveConnDevID: 1080/0 DialedNum: InvID: 120563.
17:19:46:393 pg3a-jgw1 Trace: 1079: %JTAPI-JTAPI-7-UNK:(P1-PG_USER)[GW-ThreadConferenceCall][(P1-PG_USER) GCID=(1,7470099)->ACTIVE]Request: conference((P1-PG_USER) GCID=(1,7470101)->ACTIVE).
17:19:46:393 pg3a-jgw1 Trace: 1080: %JTAPI-JTAPI-7-UNK:[7470099/1]conference(): conference controller 1: [UCSFSJEFFERS/[1080:Everyone:1/(P1-PG_USER) GCID=(1,7470099)->ACTIVE]->ESTABLISHED]->HELD, conference controller 2: [UCSFSJE.
17:19:46:393 pg3a-jgw1 Trace: FFERS/[1080:Everyone:1/(P1-PG_USER) GCID=(1,7470101)->ACTIVE]->ESTABLISHED]->TALKING.
17:19:46:393 pg3a-jgw1 Trace: 1081: %JTAPI-JTAPI-7-UNK:[(P1-PG_USER) GCID=(1,7470099)->ACTIVE]conference ((P1-PG_USER) GCID=(1,7470101)->ACTIVE,[UCSFSJEFFERS/[1080:Everyone:1/(P1-PG_USER) GCID=(1,7470099)->ACTIVE]->ESTABLISHED]->.
17:19:46:393 pg3a-jgw1 Trace: HELD,[UCSFSJEFFERS/[1080:Everyone:1/(P1-PG_USER) GCID=(1,7470101)->ACTIVE]->ESTABLISHED]->TALKING).
17:19:46:393 pg3a-jgw1 Trace: 1082: %JTAPI-JTAPIIMPL-7-UNK:[Call:[GCID=(7470099/1),CID=27308081]]calling call.join(Call:[GCID=(7470101/1),CID=27308086])..
17:19:46:393 pg3a-jgw1 Trace: 1083: Jul 10 17:19:46.393 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) [GW-ThreadConferenceCall] sending: com.cisco.cti.protocol.CallJoinRequest {
sequenceNumber = 11064.
17:19:46:393 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
callLegCallManagerID = 1
callLegID = 27308081
otherCalls = 1@[.
17:19:46:393 pg3a-jgw1 Trace:
com.cisco.cti.protocol.ClientCallHandle {CallManagerId=1
CallLegId=27308086
}]
}.
17:19:46:477 pg3a-jgw1 Trace: 1123: Jul 10 17:19:46.477 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Response: com.cisco.cti.protocol.CallJoinResponse {
sequenceNumber = 11064
result = 0
}.
Once all Parties Join, the New Conference Starts and the Start Transmission and Start Reception Happen to All Parties Involved (PSTN Caller and 2 Agents).
17:19:46:477 pg3a-jgw1 Trace: primaryConnectionMyConn: GenID: 20193 IDVal: 27308081 Dev: 1080/0 Ext: 1080 DevTgStr: 1080 Addr: 1080 State: CONNECTED CCState: ESTABLISHED prevCCState: ESTABLISHED loggedIn: Y reportedToOPC: Y.
17:19:46:477 pg3a-jgw1 Trace: secondaryConnectionMyConn: GenID: 20198 IDVal: 27308088 Dev: 1082/0 Ext: 1082 DevTgStr: 1082 Addr: 1082 State: CONNECTED CCState: ESTABLISHED prevCCState: ESTABLISHED loggedIn: Y reportedToOPC: Y.
17:19:46:477 pg3a-jgw1 Trace: CiscoConferenceStart: CID: 24247315 (7470099/1) ConfCID: 24247317 (7470101/1) FinCID: 24247315 (7470099/1).
17:19:47:725 pg3a-jgw1 Trace: 1299: Jul 10 17:19:47.725 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.CallConferenceStateChangedEvent {
eventSequence = 61299.
17:19:47:725 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
callCallManagerID = 1
callLegID = 27308081
conferenceStateChangedID = 2.
17:19:47:725 pg3a-jgw1 Trace:
globalCallManagerID = 1
globalCallID = 7470099
modifyStatus = 1
17:19:47:740 pg3a-jgw1 Trace: 1396: %JTAPI-CTI-7-UNK:Call:[GCID=(7470099/1),CID=27308081] On Device:(P1-PG_USER) UCSFSJEFFERS(1,34) StartTransmission MediaConnectionMode:3.
17:19:47:740 pg3a-jgw1 Trace: 1401: %JTAPI-CTI-7-UNK:Call:[GCID=(7470099/1),CID=27308081] On Device:(P1-PG_USER) UCSFSJEFFERS(1,34) StartReception MediaConnectionMode:3.
Once One of the Parties Ends the call, the Conference changes state.
17:19:47:725 pg3a-jgw1 Trace: 1299: Jul 10 17:19:47.725 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.CallConferenceStateChangedEvent {
eventSequence = 61299.
17:19:47:725 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
callCallManagerID = 1
callLegID = 27308081
conferenceStateChangedID = 2.
17:19:47:725 pg3a-jgw1 Trace:
globalCallManagerID = 1
globalCallID = 7470099
modifyStatus = 1
You see the LineConferenceEndedEvent Coming from CUCM and the CallLeg that Ended their call.
17:19:47:725 pg3a-jgw1 Trace: 1301: Jul 10 17:19:47.725 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.LineConferenceEndedEvent {
eventSequence = 61300.
17:19:47:725 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
transactionID = 16777217
success = true.
17:19:47:725 pg3a-jgw1 Trace:
bRemoteInUse = false
idleCalls = 1@[
com.cisco.cti.protocol.CtiCallHandle {
callManagerID = 1
callLegID = 27308086
}].
Now a New Connection Gets Created with the Remaining Parties.
17:19:47:725 pg3a-jgw1 Trace: 1309: %JTAPI-JTAPIIMPL-7-UNK:{(P1-PG_USER) GCID=(1,7470099)->ACTIVE} CallManager.conferenceCall: Creating new connection for conferenced party.
17:19:47:725 pg3a-jgw1 Trace: CiscoCallChangedEv CID: 24247317 Addr: 1082 Surviving Call ID: 24247315 (7470099/1) Surviving Calling Address: 5555551234 Surviving Called Address: 1080 Original Call ID: 24247317 (7470101/1) Original Calling Address: 1080 Original Called Address: 1082 CiscoC.
17:19:47:725 pg3a-jgw1 Trace: 1354: %JTAPI-JTAPIIMPL-7-UNK:{(P1-PG_USER) GCID=(1,7470099)->ACTIVE} Handling External STATE_CONNECTED for 5555551234::2.
17:19:47:725 pg3a-jgw1 Trace: 1371: %JTAPI-JTAPIIMPL-7-UNK:[ FinalCall=(P1-PG_USER) GCID=(1,7470099)->ACTIVE ]CiscoConferenceEndEv event.Success=true.
A New Start Reception and Start Transmission is Received for this New Connection.
17:19:47:725 pg3a-jgw1 Trace: 1391: Jul 10 17:19:47.725 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.StartTransmissionEvent {
eventSequence = 61301
deviceCallManagerID = 1.
17:19:47:725 pg3a-jgw1 Trace:
deviceID = 34
callCallManagerID = 1
callLegID = 27308081
ipAddr = 59052742
rtpPortNumber = 26320.
17:19:47:740 pg3a-jgw1 Trace: 1394: Jul 10 17:19:47.725 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.StartReceptionEvent {
eventSequence = 61302
deviceCallManagerID = 1.
17:19:47:740 pg3a-jgw1 Trace:
deviceID = 34
callCallManagerID = 1
callLegID = 27308081
ipAddr = 1267012294
rtpPortNumber = 20704.
As Soon as the Call Finish Between the Remaining Parties, You See the Disconnect Request Sent as well as the ConferenceStateChangeEvent.
17:20:07:835 pg3a-jgw1 Trace: 1521: Jul 10 17:20:07.835 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) [GW-ThreadClearConnection] sending: com.cisco.cti.protocol.CallDisconnectRequest {
sequenceNumber = 11065.
17:20:07:835 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
callLegCallManagerID = 1
callLegID = 27308081
}.
17:20:07:835 pg3a-jgw1 Trace: 1522: Jul 10 17:20:07.835 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Response: com.cisco.cti.protocol.CallDisconnectResponse {
sequenceNumber = 11065
result = 0
}.
17:20:07:881 pg3a-jgw1 Trace: 1523: Jul 10 17:20:07.881 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.CallConferenceStateChangedEvent {
eventSequence = 61308.
17:20:07:881 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 80
callCallManagerID = 1
callLegID = 27308088
conferenceStateChangedID = 4.
17:20:07:881 pg3a-jgw1 Trace:
globalCallManagerID = 1
globalCallID = 7470099
modifyStatus = 2
Finally You Receive the Stop Reception and Transmission for RTP.
17:20:07:881 pg3a-jgw1 Trace: 1526: Jul 10 17:20:07.881 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.StopReceptionEvent {
eventSequence = 61309
deviceCallManagerID = 1.
17:20:07:881 pg3a-jgw1 Trace:
deviceID = 34
callCallManagerID = 1
callLegID = 27308081
mediaDeviceName =
mediaResourceId = 0
mediaConnectionMode = 3
}.
17:20:07:881 pg3a-jgw1 Trace: 1528: Jul 10 17:20:07.881 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.StopTransmissionEvent {
eventSequence = 61310
deviceCallManagerID = 1.
17:20:07:881 pg3a-jgw1 Trace:
deviceID = 34
callCallManagerID = 1
callLegID = 27308081
mediaDeviceName =
mediaResourceId = 0
mediaConnectionMode = 3
}.
Call Change State with the Disconnect Cause, in Our example 16 as Normal Call Clearing.
17:20:07:897 pg3a-jgw1 Trace: 1536: Jul 10 17:20:07.897 EDT %JTAPI-PROTOCOL-7-UNK:(P1-192.168.10.10) received Event: com.cisco.cti.protocol.CallStateChangedEvent_V2 {
eventSequence = 61313.
17:20:07:897 pg3a-jgw1 Trace:
lineCallManagerID = 1
lineID = 32
callCallManagerID = 1
callLegID = 27308081
state = 1.
17:20:07:897 pg3a-jgw1 Trace:
cause = 16
Revision | Publish Date | Comments |
---|---|---|
1.0 |
20-Jul-2023 |
Initial Release |