Documente Academic
Documente Profesional
Documente Cultură
Agenda
CTI overview
JTAPI overview
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
CTI Overview
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Application
Telephony
(JTAPI/TAPI)
Telephony Provider
Provider
Unified CM Server
CCX
CCX Admin
Admin
AXL
AXL Web
Web
Service
Service
JTAPI
JTAPI User
User
RmCm
RmCm Provider
Provider
RmCm
RmCm User
User
Telephony
Telephony Triggers
Triggers
CTI
CTI Route
Route Points
Points
Call
Call Control
Control Group
Group
CTI
CTI Ports
Ports
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
What is CTI?
CTI applications can also enable the agent to control his/her phone
using the PC.
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Local Area
Yes
Route to
Local
Queensland
Agents
No
Northern
Territory
Western
Australia
Enter Zip
Code
South
Australia
New South
Wales
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
UCCX
CTI
Manager
JTAPI
Client
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
CTI-Manager
UCCX
CUCM
Call Manager Service
UCCX Engine
Incoming Contact
Outgoing Contact
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
CTI
Manager
CCM
CTI
Manager
CCM
CM Server
CTI
Manager
CCM
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
10
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
11
12
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
13
JTAPI functions
To start and stop recording instructions while retrieving call statistics for analysis
For screen-pop calls into desktop applications, automated scripting, and remote call
control.
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
14
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
15
JTAPI objects
Provider
Terminal
CallControl
Address
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
16
17
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
18
JTAPI application
The JTAPI application (In our case, UCCX) runs a JTAPI Plugin which
needs to be the same as the version on the CUCM.
UCCX downloads the JTAPI plugin from the CUCM over HTTP and installs it locally for JTAPI
version consistency.
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
19
JTAPI Re-Sync
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
20
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
21
Application users
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
22
Application User
CTI Route Points & CTI Ports Device Associations
Standard CTI Enabled
Application User
Agent Phones Device Associations
Standard CTI Enabled
Application User
Recording user
End User
Agent
23
Used to control the Agents extension (DN) configured on the Agent Phone.
The RMCM Application user is used to check and control the state of the Line of
the phone such as on hook, off hook.
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
24
On CUCM
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
26
?
Port beginning DN 4000 x 60 ports. How many ports get created?
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
27
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
28
The Unified CM user is associated with the CTI Route Point as a device that the Unified
CM user controls.
When a trigger is assigned to an application in the Unified CCX system, the Unified CM
Telephony subsystem knows that it must take control of that line using the Unified CM
Telephony client installed on the Unified CCX system.
Once it has control of the line, Unified CM Telephony monitors that line for events as well
as performing call-control operations on that line.
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
29
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
30
31
Call Redirect This is done during the redirect of the call from the CTI route point to
the CTI port.
Call Consult Transfer This is done during the transfer of the call from the CTI port to
the Agent Phone.
32
6
4
2 3
3
5
UCCX
Supervisor
Stations
PSTN
Router/GW
Agent
Stations
CallManager
Cluster
1.
2.
3.
4.
5.
6.
On UCM
Telephony
Telephony
Provider
Provider
On UCCX
CTI Route
Point
Agent
Device
Telephony
Trigger
Call Control
Group
CTI Ports
RmCm
RmCm
Provider
Provider
Application
Script
Resource
Groups
Agent
User
Resources
CSQ
Skills
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
34
Lets summarize..
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
37
We discussed CTI
The use of the JTAPI client and the application users on CUCM for
UCCX (JTAPI, RMJTAPI).
The CTI components on the UCCX (CTI ports and CTI route points)
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
38
Questions?
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
39
40
Initialization
Application
CTIManager
ProcesC
tiManage
r
JTAPI/T
API
ProviderOpen
CM1
Process
CtiHandler
CTIDataba
se
EnvProc
essDire
ctory
Statio
nInit
CM2
Statio
nInit
ProviderOpen
LoginCheckReq
ProvidOpenRsp
LoginCheckRspns
DeviceFetchReq
DeviceFetchResponse
Thefollowingmessageflowisrepeatedforeachdeviceinuserscontrol
list
QueryCMs
QueryCMRspns
RegisterForDeviceNotification
RegisterForDeviceNotificationResponse
DeviceRegistered
RegisterForDeviceNotification
RegisterForDeviceNotificationResponse
DeviceRegistered
41
Redirect
CTIManager
Application
JTAPI/T
API
Proces
CtiMana
ger
CTIDatab
ase
EnvPr
ocess
Direct
ory
CC
(SSAPI
)
Statio
nD
New Call
New Call
Accept Call
Accept Call
Redirect Call
CM
Proces
sCtiHandl
er
Redirect Call
Accept Call
Accept Call Response
Get CC Info
Get CC Info Response
42
Fail-Over/Back
Application
JTAPI/T
API
CTIManager
Proces
CtiMana
ger
CM1
Proces
sCtiHandl
er
EnvPr
ocess
Direct
ory
CM2
Statio
nInit/S
tation
D
Statio
nInit/
Statio
nD
CallManager1goesdown
Call on Line A closed (if any)
Line/Device A OutOfService
CM1 OutOfService
OpenDevice A
Device A InService
DeviceRegistered
DeviceRegistered (A)
Open Line A
OpenLineResponse
Line A InService
CallManager1comesbackupwhilelineAisactiveonacall
CM1 InService
Line A OutOfService
Device A OutOfService
Device A InService
DeviceRegistered
DeviceRegistered (A)
Open Line A
Line A InService
OpenLineResponse
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
43
44
6
4
3 6
23 5 5 4
Agent
Stations
Supervisor
Stations
PSTN
Router/GW
UCCX
CallManager
Cluster
1.
2.
3.
4.
5.
6.
45
Key Takeaways
ANI
2145550001
DNIS
10000
0x.089
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
46
Key Takeaways
DTMF Cap
kpml
SIP Call-ID
AA33C1A6-447911E2-80399D93CB70B408@14.128.114.93
a=ptime:20
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
47
Key Takeaways
v=0
DTMF Cap
kpml
SIP Call-ID
AA33C1A6-447911E2-80399D93CB70B408@14.128.114.93
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
48
Key Takeaways
pss
UCCXTriggers:UCCXPorts
dd (dialed digits)
10000
PID
LineControl(2,100,167,7)
CI
35568320
00305549.001 |10:33:31.181 |AppInfo |Digit analysis: wait_DmPidRes- Partition=[] Pattern=[10000] Where=[],cmDeviceType=[UserDevice], OutsideDialtone =[0],
DeviceOverride=[0], PID=LineControl(2,100,167,7),CI=[35568319],Sender=Cdcc(2,100,212,66)
00305558.001 |10:33:31.181 |AppInfo |LineControl(7) - 0 calls, 0 CiReq, busyTrigger=10000, maxCall=10000
00305558.003 |10:33:31.182 |AppInfo |LineControl(7) - Get call instance=1 for CI=35568320
00305558.004 |10:33:31.182 |AppInfo |LineControl(7): restart0_CcSetupReq update State of cdpc (31) to receive7
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
49
Key Takeaway
GCI GCH implId
MIVR
(0000007) DEBUG whatToDo: line=1 calls=0 limit=10000, busy=10000. GCI=(2, 2023), cm_PL=(5, 0).
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
50
Message Flow
CTI
CCM
Key Takeaways
TP dn
10002
pss
UCCXTriggers:UCCXPorts:UCCXAgents
CCM
CTI
51
Message Flow
MIVR
238625: Dec 13 10:33:31.200 CST %MIVR-SS_TEL-7-UNK: Got ConnInProgressEv 10002::1, CallCtlConnOferedEv 10002::1, events on the AddressCallObserver.
Key Takeaway
CI
35568321
CCM
00305616.001 |10:33:31.194 |AppInfo |Digit analysis: wait_DmPidRes- Partition=[] Pattern=[10002] Where=[],cmDeviceType=[UserDevice], OutsideDialtone =[0],
DeviceOverride=[0], PID=LineControl(2,100,167,4),CI=[35568319],Sender=Cdcc(2,100,212,66)
00305623.003 |10:33:31.194 |AppInfo |LineControl(4) - Get call instance=1 for CI=35568321
00305625.005 |10:33:31.194 |AppInfo |StationD:
CTI CallStateChangedEvent_V2
CTI LineCallRedirectResponse
MIVR
238628: Dec 13 10:33:31.201 CST %MIVR-SS_TEL-7-UNK:CallID: 20, MediaID: 2023/2 CallCtlConnOferedEv received for CTI Port: 10002, lastRedirectedAddress: 10000
238631: Dec 13 10:33:31.207 CST %MIVR-SS_TEL-7-UNK:CallID: 20, MediaID: 2023/2 Accepting call for CTI Route Point: 10000 on CTI Port: 10002, ciscoCause=0
238633: Dec 13 10:33:31.207 CST %MIVR-SS_TEL-7-UNK:CallID:20 MediaId:2023/2, TerminalConnection to Terminal: ctipt_10002 is RINGING, [10002::1/(P1-jtapi_1)
GCID=(2,2023)->ACTIVE]->ALERTING
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
52
Message Flow
CTI
CTI
CTI LineCallAcceptRequest
|UnknownProcessName(1,200,25,1) |StationD(2,100,58,4)
CTI LineCallAcceptResponse
|StationD(2,100,58,4)
MIVR
238631: Dec 13 10:33:31.207 CST %MIVR-SS_TEL-7-UNK:CallID: 20, MediaID: 2023/2 Accepting call for CTI Route Point: 10000 on CTI Port: 10002, ciscoCause=0
238632: Dec 13 10:33:31.207 CST %MIVR-SS_TEL-7-UNK:Call.accepted() JTAPICallContact[id=20,implId=2023/2,state=STATE_ACCEPTED_IDX,inbound=true,App
name=appICD,task=null,session=2000000021,seq
num=0,cn=10000,dn=10000,cgn=2145550001,ani=null,dnis=null,clid=null,atype=DIRECT,lrd=null,ocn=10000,route=RP[num=10000],OrigProtocolCallRef=00000
000000007E7021EBAC100000000,DestProtocolCallRef=null,TP=10002]
=DIRECT,lrd=null,ocn=10000,route=RP[num=10000],OrigProtocolCallRef=00000000000007E7021EBAC100000000,DestProtocolCallRef=null,TP=10002]
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
53
Message Flow
CCM
CTI
MIVR
MIVR
Key Takeaway
Task
26000000032
CTI
MIVR
CTI LineCallAnswerRequest
|UnknownProcessName(1,200,25,1) |StationD(2,100,58,4)
CTI LineCallAnswerResponse
|StationD(2,100,58,4)
NOTE: Next, CUCM negotiates the media between the ingress gateway and the UCCX port. The media layer in CUCM is
very complex and outside the scope of this presentation. That said, media is
a common
problem
in UCCX
2014
Cisco and/or its affiliates.
All rights reserved.
Cisco Confidential
54
deployments. We will discuss further in the common problem section.
Message Flow
CCM
CTI
238656: Dec 13 10:33:31.214 CST %MIVR-ENG-7-UNK:Execute step of Task 26000000032 : Accept (--Triggering Contact--)
CTI LineCallSetupTransferRequest
00306038.001 |10:33:47.771 |AppInfo |StationCdpc(32): StationCtiCdpc-CcHoldAckReq CH=2|35568321 CmSsFeat=2 RFR=0 OnBehalf=Transfer Reason=2 State=10
CCM
(0000013) DEBUG whatToDo: line=1 calls=0 limit=4, busy=2. GCI=(1, 4009), cm_PL=(5, 0).
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
55
Message Flow
CTI
238772: Dec 13 10:33:47.759 CST %MIVR-SS_TEL-7-UNK:CallID:20 MediaId:2023/2 Task:26000000032, transfer(19001, 12000, ACKNOWLEDGED)
MIVR
CTI LineCallSetupTransferResponse
56
Message Flow
CTI
MIVR
CTI
CTI CallStateChangedEvent_V2
CTI CallStateChangedEvent_V2
238860: Dec 13 10:33:50.473 CST %MIVR-SS_TEL-7-UNK:CallID:20 MediaId:2023/2 Task:26000000032, ConsultCallObserver TALKING - CallCtlConnEstablished, [19001::1/(P1-jtapi_1)
GCID=(1,4009)->ACTIVE]->ESTABLISHED
238861: Dec 13 10:33:50.473 CST %MIVR-SS_TEL-7-UNK:CallID:20 MediaId:2023/2 Task:26000000032, Consult received Call TALKING, it's in correct state to transfer
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
238863: Dec 13 10:33:50.473 CST %MIVR-SS_TEL-7-UNK:CallID:20 MediaId:2023/2 Task:26000000032, transfer(19001, consultCall)
57
Message Flow
CCM
CCM
|NA RemoteSignal
|UnknownProcessName(1,200,25,1) |
| LH=1|19 remoteInUse=F mNumberOfIdleCallHandles=2 IdleCallHandles= 2|35568321 2|
|NA RemoteSignal
|UnknownProcessName(1,200,25,1) |
| LH=1|27 remoteInUse=F mNumberOfIdleCallHandles=2 IdleCallHandles= 2|35568321 2|
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
58
Message Flow
CTI
CTI LineCallDirectTransferResponse
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
59
Message Flow
CTI
Message Flow
MIVR
Call Disconnects
Step 1 Agent Goes On Hook
CCM
CTI
MIVR
CTI CallStateChangedEvent_V2
239064: Dec 13 10:34:03.424 CST %MIVR-SS_RM-7-UNK:RIMgrAddressCallObserver: TermConnDroppedEv received for call 33556455 [2023/2] and agent jtesar
239070: Dec 13 10:34:03.424 CST %MIVR-SS_RM-7-UNK:Processing msg: SessionTerminatedMsg (Rsrc:jtesar ID:2023/2 Type:IAQ Cause:DROPPED Abort Exception:null)
239083: Dec 13 10:34:03.426 CST %MIVR-SS_RM-7-UNK:Rsrc: jtesar New State:AVAILABLE Old State:IN_SESSION Reason code:0
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
61
Message Flow
Call Disconnects
Step 2 CUCM Sends Disconnect, Gateway Releases
00307318.001 |10:34:03.423 |AppInfo |//SIP/SIPUdp/wait_SdlSPISignal: Outgoing SIP UDP message to 14.128.114.93:[5060]:
[609,NET]
BYE sip:19001@14.128.114.93:5060 SIP/2.0
Via: SIP/2.0/UDP 14.128.60.248:5060;branch=z9hG4bKd07f6d060e
CCM
From: <sip:10000@14.128.60.248>;tag=105~89b8a152-2e12-4456-98c8-1a4f161227d9-35568319
To: "PSTN Caller" <sip:2145550001@14.128.114.93>;tag=62A60840-1D14
Date: Thu, 13 Dec 2012 16:33:50 GMT
Call-ID: AA33C1A6-447911E2-80399D93-CB70B408@14.128.114.93
User-Agent: Cisco-CUCM9.0
Max-Forwards: 70
Message Flow
GW
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
62