CTI Remote Device - Solution Partner Program
Download
Report
Transcript CTI Remote Device - Solution Partner Program
Unified Communications Manager
TAPI Interface
Update for releases 8.6(x) & 9.0(1)
George Gary, Product Manager
David Staudt, Developer Services Engineer
Housekeeping
We value your feedback- don't forget to complete your online
session evaluations after each session & the Overall
Conference Evaluation which will be available online from
Thursday
Visit the World of Solutions and Meet the Engineer
Visit the Cisco Store to purchase your recommended readings
The following content is protected under our Master Cisco
Developer Partner Not-to-Disclose Agreement
Use of recording devices is not permitted
Please set your mobile devices to vibrate/silent
Get ready for an exciting session After the event don’t forget
to visit Cisco Live Virtual: www.ciscolivevirtual.com
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
2
Required GAAP Reconciliation
and Forward-Looking Statements
The Cisco products, service or features identified in
this document may not yet be available or may not be
available in all areas and may be subject to change
without notice. Consult your local Cisco business
contact for information on the products or services
available in your area. You can find additional
information via Cisco’s World Wide Web server at
http://www.cisco.com. Actual performance and
environmental costs of Cisco products will vary
depending on individual customer configurations and
conditions.
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
3
New Cisco TAPI features
Unified CM 8.6(2)
Cisco application support for CTI and JTAPI over
WAN topologies
Unified CM 9.0(1)
User-based Selective Recording
Native Call Queuing
Hunt List Connected Party
Cisco Extend & Connect
Directory URI Dialing
Cius Session Persistency
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
4
Cisco CTI over WAN
Test cases, Calculations, & Topologies
Supported in release Unified CM 8.6(2)
Testing completed 12/2011
Supported in 8.6(2), but not documented in 8.6(x) release notes
Included in document plan for 9.0(1)
CTI Application Owners
Disclaimer
Cisco has completed testing to support CTI Manager and CTI client
(J/TAPI) over the WAN topologies beginning with Unified CM 8.6(2).
Tolerance for WAN topologies vary by application.
CTI Application Owners and Vendors must test and validate
Initialization, Failover, and Failback over WAN scenarios to ensure
proper application operation.
Application owners must provide guidance as to:
1. CTI and J/TAPI over WAN topologies supported
2. Network bandwidth required
3. Initialization, failover, failback performance recovery times
Application specific requirements should be added to the
performance results provided by Cisco to determine total expected
application performance
Open a case with Cisco Developer Services if additional information
or assistance is needed
http://developer.cisco.com/web/devservices
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
6
Over the WAN Topology
Test Cases
CTI over the WAN
SITE 1
J/TAPI
CTI
Subscriber
Application running CTIM
80ms RTT
Max Delay
SIP/SCCP
Subscriber
running CCM
SITE 2
CTI controlled
device
J/TAPI over the WAN
SITE 1
J/TAPI
CTI
Application
CiscoLive12
SIP/SCCP
80ms RTT
Max Delay
© 2012 Cisco and/or its affiliates. All rights reserved.
Subscriber
running
CTIM + CCM
Cisco Developer Network - Partner NDA
SITE 2
CTI controlled
device
7
CTI over WAN Test Case & Details
Topology:
Site 1: CTI Application and Subscriber node running CTIMgr
Site 2: Subscriber node with associated devices
Network latency: 80ms maximum delay between sites (round-trip)
Test case: 10,000 devices, 5 lines/device, device BHCA 6, using 7845-H3/I3 (1 node)
CTI Bandwidth Calculation
CTI devices originating and/or terminating calls
Unified CM 8.5(x) (or earlier): Total BW (Mbps) for CTI = (Total BHCA)/10,000*1.25
Unified CM 8.6(2) (or later):
Total BW (Mbps) for CTI = (Total BHCA)/10,000)*0.53
Does not include ICC traffic or per call bandwidth
Refer to the Unified Communications Deployment Models chapter in the 8.x SRND – Cluster
Over WAN section for guidance on calculating both ICCS Bandwidth and Per Call Bandwidth
based on codec.
http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/srnd/8x/models.html
MANDATORY CONSIDERATIONS:
Application owners must test and validate Initialization, Failover, and Failback
scenarios to ensure proper application operation
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
8
CTI over WAN – Initialization & Failover time
1 Node: 10,000 devices, 5 lines/device, device BHCA 6, 7845-H3/I3
Roundtrip WAN delay
(RTT)
0 ms
40 ms
80 ms
CTI over WAN
Total initialization time
00:04:25
00:04:38
00:04:50
CTI messages exchanged during initialization
1 message always required: DeviceLineFetch (local messaging)
3 messages per Device:
OpenRequest, OpenResponse, InService (2 of 3 msgs are over WAN)
3 messages per Line per Device:
OpenRequest, OpenResponse, InService (2 of 3 msgs are over WAN)
Time per message exchange based on WAN delay
10,000 DeviceLineInfoFetch + (3 * 10,000 device msgs) + (3 * 50,000 line msgs) =
190,000 messages
0 ms WAN delay = 4:25 (265,000 ms/ 190,000) = 1.40ms/message
40 ms WAN delay = 4:51 (291,000 ms/ 190,000) = 1.53ms/message
80 ms WAN delay = 6:04 (364,000 ms/ 190,000) = 1.92ms/message
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
9
CTI over WAN – Calculating Initialization Time
Customer with 10,000 devices, 2 lines each
Determine total number of messages exchanged
CTI messages exchanged during initialization
10,000 mandatory devices + 3 * 10,000 device msgs +
3 * 20,000 lines msgs = 100,000 messages
Calculate expected total initialization time
0 WAN delay = 2 min 20 sec total initialization time
100,000 messages * 1.40 ms/msg = 140,000 ms or 2:20
40 WAN delay = 2 min 33 sec total initialization time
100,000 messages * 1.53ms/msg = 153,000 ms or 2:33
80 WAN delay = 3 min 12 sec total initialization time
100,000 messages * 1.92ms/msg = 192,000 ms or 3:12
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
10
J/TAPI over WAN Test Case & Details
Topology:
Site 1: CTI Application
Site 2: Subscriber node running CTIMgr with associated devices
Network latency: 80ms maximum delay between sites (round-trip)
Test case: 10,000 devices, 5 lines/device, device BHCA 6, using 7845-H3/I3 (1 node)
CTI Bandwidth Calculation
CTI devices originating and/or terminating calls
Unified CM 8.5(x) (or earlier): Not available
Unified CM 8.6(2) (or later):
Total BW (Mbps) for CTI = (Total BHCA/10,000)*0.28
Does not include ICC traffic or per call bandwidth
Refer to the Unified Communications Deployment Models chapter in the 8.x SRND – Cluster
Over WAN section for guidance on calculating both ICCS Bandwidth and Per Call Bandwidth
based on codec.
http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/srnd/8x/models.html
MANDATORY CONSIDERATIONS:
Application owners must test and validate Initialization, Failover, and Failback
scenarios to ensure proper application operation
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
11
J/TAPI over WAN – Initialization & Failover time
1 Node: 10,000 devices, 5 lines/device, device BHCA 6, 7845-H3/I3
Roundtrip WAN delay
(RTT)
0 ms
40 ms
80 ms
J/TAPI over WAN
Total initialization time
00:04:55
00:58:47
01:51:00
CTI messages exchanged during initialization
1 message always required: DeviceLineFetch (1 msg over WAN)
3 messages per Device:
OpenRequest, OpenResponse, InService (3 of 3 msgs over WAN)
3 messages per Line per Device:
OpenRequest, OpenResponse, InService (3 of 3 msgs over WAN)
Time per message exchange based on WAN delay
10,000 DeviceLineInfoFetch + (3 * 10,000 device msgs) + (3 * 50,000 line msgs) =
190,000 messages
0 ms WAN delay = 4:55 (295,000 ms/190,000) = 1.55ms/message
40 ms WAN delay = 58:47 (3,527,000 ms/190,000) = 18.56ms/message
80 ms WAN delay = 1:51:00 (6,660,000 ms/190,000) = 35.05ms/message
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
12
J/TAPI over WAN
Calculating Initialization Time
Customer with 10,000 devices, 2 lines each
Determine total number of messages exchanged
CTI messages exchanged during initialization
10,000 mandatory devices + 3 * 10,000 device msgs +
3 * 20,000 lines msgs = 100,000 messages
Calculate expected total initialization time
0 WAN delay = 2 min 35 sec total initialization time
100,000 messages * 1.55 ms/msg = 155,000 or 2:35
40 WAN delay = 30 min 56 sec total initialization time
100,000 messages * 18.56 ms/msg = 1,856,000 or 30:56
80 WAN delay = 58 min 25 sec total initialization time
100,000 messages * 35.05 ms/msg = 3,505,000 or 58:25
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
13
TAPI Enhancements
Unified CM 9.0(1)
User-based Selective Recording
User-based Selective Recording
What does it do?
Enables the End-User to
record the ‘Active’ call on
their own device
Provides visual display
message indicating when a
recording session has
started
Button toggles to start/stop
recording
Available as new Softkey
and Programmable Line Key
(based on device model)
Works with Cisco
MediaSense and 3rd-party
recording solutions
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
16
User-based Selective Recording
Applications can specify recording session type
‘silent’ or ‘user’ upon invocation
TAPI application should negotiate new Extension
Version - 0x000C0000 to use this feature
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
17
User-based Selective Recording
Backward compatibility
Works with existing call recording options and
events
Applications will compile and run with existing API
calls and enumeration values
Invocating recording without specifying recording
session type will default to silent recording (existing
behavior)
Existing constants can still be used, but they have
been deprecated starting with release 9.0(1).
Applications are encouraged to update their code to
use the new constants
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
18
Selective Recording Interface Changes
Unified CM Line recording configuration is exposed
to TAPI applications in the devSpecific portion of
the LINEDEVCAPS structure as follows:
enum RecordingConfigurationType {
RecordingConfigurationType_NoRecording
= 0,
RecordingConfigurationType_AutomaticRecording = 1,
RecordingConfigurationType_SelectiveRecording = 2
};
The new RecordingConfigurationType replaces
the existing recordType
recordType enumeration can still be used for
backward compatibility
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
19
Selective Recording Interface Changes
A new “Recording Invocation Type” parameter is
added to methods:
CCiscoLineDevSpecificStartCallRecording() and
CCiscoLineDevSpecificStopCallRecording()
Valid parameter values are defined as:
enum RecordingInvocationType {
RecordingInvocationType_SilentRecording = 1,
RecordingInvocationType_UserControlledRecording = 2
};
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
20
Selective Recording Interface Changes
“Call Attribute Type” which is exposed to
applications in devSpecific portion of TAPI
LINECALLINFO structure is extended with the
following new values:
enum CallAttributeType {
...
CallAttribute_Recorded_Automatic ,
CallAttribute_Recorded_AppInitiatedSilent,
CallAttribute_Recorded_UserInitiatedFromApp,
CallAttribute_Recorded_UserInitiatedFromDevice
};
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
21
Selective Recording Interface Changes
New error codes:
LINEERR_RECORDING_INVOCATION_TYPE_NOT_MATCHING
LINEERR_RECORDING_CONFIG_NOT_MATCHING
LINEERR_NO_RECORDING_SESSION
LINEERR_RECORDING_SESSION_INACTIVE
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
22
Native Call Queuing
Native Call Queuing
Hold hunt pilot callers
while they wait for an
employee to become
available
Play Announcements &
Music in Queue
“Thank you for calling”
“Please hold a moment”
“Your call will be answered in the
order in which it was received”
Longest call waiting
distribution
View queue information
on Cisco IP Phones
Enhanced call detail
records and monitoring
tools
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Unified CM
Subscriber
Cisco Developer Network - Partner NDA
24
Native Call Queuing
Cisco TSP exposes new extended call reasons CallQueueing (0x2D) and CallDeQueueing
(0x2E) in the devSpecific portion of the TAPI
LINECALLINFO structure
CallQueueing reason is reported on the calling
party when call is queued
CallDeQueueing reason is reported when call is dequeued and offered to a hunt group member
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
25
Native Call Queuing
When call is queued the ConnectedHuntPilotDN
information is not shown for the calling party
ConnectedHuntPilotDN is updated when the call is
de-queued and answered (connected state) by the
hunt group member.
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
26
Hunt List Connected Party
Hunt List Connected Party
New service parameter available in Unified CM 9.0
toggles the Called Party (Connected Address)
information from Hunt Pilot DN to Hunt Member DN
New Service Parameter: “Display Line Group
Member DN as Connected Party” is found under
Hunt Pilot Configuration
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
28
Hunt List Connected Party
Feature Details
With the service parameter enabled the
ModifiedConnectedParty field in the devSpecific
portion of TAPI LINECALLINFO structure will
indicate the hunt group member (DN) who
answered the call
With the service parameter disabled the field will
indicate the hunt pilot number (DN)
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
29
Cisco Extend & Connect
Cisco Extend & Connect
Enables the User to work from any location on any
device
PSTN phones (Home/Hotel)
3rd party PBX devices
Enterprise numbers can be configured with remote
destinations which represent phones (Home, Hotel,
Mobile, or 3rd-party devices)
Works with Jabber/CSF and new CTI Remote
Device types
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
31
Cisco Extend & Connect – Overview
Unified
CM
CTI Manager
Enterprise DN: 8000
Jabber or
3rd-party
CTI client
CTI Remote Device /
Jabber/CSF device in
Extend mode
Office Phone
8000
PSTN
Cisco User
Home Phone
6265558244
PBX Phone
9495551202
CiscoLive12
Remote
Destination 1:
6265558244
© 2012 Cisco and/or its affiliates. All rights reserved.
Remote
Destination 2:
9495551202
3rd Party
PBX
Cisco Developer Network - Partner NDA
32
Jabber Call Modes
Remote Desktop – Jabber controls Cisco IP
Devices
Softphone – Jabber terminates media on PC
Extend (New) – Jabber extends call to the ‘Active’
remote destination
Home, Hotel, 3rd-party device, mobile devices, literally any
device with a reachable number
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
33
Jabber Extend Mode
Remote Destinations represent off-cluster devices and are configured
via Unified CM, AXL, BAT, UDS, and/or CTI interfaces
When Jabber Extend mode is selected, the User specifies their
preferred number where they desire to receive inbound and place
outbound calls
The preferred number is configured as a Remote Destination and set as
‘Active’ by the Jabber client
Incoming calls are routed to the ‘Active’ remote destination
Dial via Office (outbound calls) are first routed to the ‘Active’ remote
destination, then redirected to the desired number
The Remote Destination is marked ‘Inactive’ when the User logs out
or the client is shutdown
Mid-call features are supported using the Jabber client
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
34
Enabling CTI Remote Devices
New CTI Remote Device type configurable in
Unified CM for use with 3rd-party CTI desktop
clients
Up to 5 enterprise DNs can be assigned to the
device
Up to 10 remote destinations can be associated
(default maximum is 4)
Applications can programmatically add or remove remote
destinations through CTI, UDS, or AXL interfaces
CTI Remote Devices are added to User’s controlled
device list for CTI control and monitoring
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
35
CTI Remote Device support
Requirements
Remote Destinations represent off-cluster devices and
are configured via Unified CM, AXL, BAT, UDS, and/or
CTI interfaces
Pre-configured remote destinations in Unified CM can
be retrieved via CTI
Adding Remote Destination management to the CTI
client is optional
The CTI client must support the ability to set a Remote
Destination as ‘Active’/’Inactive’
Incoming calls are routed to the ‘Active’ remote
destination
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
36
CTI Remote Device support
Requirements
Dial via Office (outbound calls) are first routed to the
‘Active’ remote destination, then redirected to the
desired number
Media events for the DVO call to the remote destination
are not supported
The Remote Destination is automatically marked
‘Inactive’ when the client is shutdown
The client should set the remote destination to ‘Inactive’
during a logout event
Mid-call features are supported using existing CTI
interfaces
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
37
Cisco Extend & Connect
Supported features
Receive Incoming enterprise calls
MakeCall (DVO-Reverse)
Disconnect
Hold/Retrieve
Redirect/Forward
Call Forward All
Do Not Disturb
Transfer/Conference
Add/Remove/Update Remote Destinations
Set Remote Destination as ‘Active’/’Inactive’
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
38
Remote Destination Management
Remote Destinations can be configured via Unified
CM web administration or CTI application
Cisco TSP exposes new methods to add, update
and remove a remote destination
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
39
Remote Destination Management
Add a Remote Destination
class CciscoLineDevSpecificAddRemoteDestination: public
CCiscoLineDevSpecific
{
public:
CciscoLineDevSpecificAddRemoteDestination() :
CCiscoLineDevSpecific(SLDST_ADD_REMOTE_DESTINATION)
{}
virtual ~ CciscoLineDevSpecificAddRemoteDestination(
{}
char
m_RDNumber [MAX_CTI_LINE_DIR_SIZE];
wchar_t
m_UnicodeRDName[MAX_CTI_RD_UNICODE_DISPLAY_STRING];
DWORD m_ActiveRD;
virtual DWORD dwSize(void) const {
return sizeof(*this) - sizeof(void*);
} // subtract out the virtual function table pointer
};
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
40
Remote Destination Management
Update a Remote Destination
class CciscoLineDevSpecificUpdateRemoteDestination: public
CCiscoLineDevSpecific
{
public:
CciscoLineDevSpecificUpdateRemoteDestination() :
CCiscoLineDevSpecifi(SLDST_UPDATE_REMOTE_DESTINATION)
{}
virtual ~ CciscoLineDevSpecificUpdateRemoteDestination()
{}
char
m_RDNumber [MAX_CTI_LINE_DIR_SIZE];
wchar_t m_UnicodeRDNam[MAX_CTI_RD_UNICODE_DISPLAY_STRING];
char
m_NewRDNumber [MAX_CTI_LINE_DIR_SIZE];
DWORD m_ActiveRD;
virtual DWORD dwSize(void) const {
return sizeof(*this) - sizeof(void*);
} // subtract out the virtual function table pointer
};
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
41
Remote Destination Management
Remove a Remote Destination
class CciscoLineDevSpecificRemoveRemoteDestination: public
CCiscoLineDevSpecific
{
public:
CciscoLineDevSpecificRemoveRemoteDestination() :
CCiscoLineDevSpecific(SLDST_REMOVE_REMOTE_DESTINATION
{}
virtual ~ CciscoLineDevSpecificRemoveRemoteDestination()
{}
char
m_RDNumber [MAX_CTI_LINE_DIR_SIZE];
virtual DWORD dwSize(void) const {
return sizeof(*this) - sizeof(void*);
} // subtract out the virtual function table pointer
};
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
42
Active/Inactive Remote Destination
CTI client must specify one of the configured
Remote Destinations as “active” to initiate DVO
calls
Only one remote destination can be set as “active”
at any given time.
If a remote destination is active, incoming calls will
only be extended to that remote destination and not
to other configured remote destinations.
TAPI application can set Remote Destination as
“active” or “inactive” when Remote Destination is
added or updated:
CciscoLineDevSpecificUpdateAddDestination
CciscoLineDevSpecificUpdateRemoteDestination
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
43
Active/Inactive Remote Destination
‘Active’ remote destination is automatically
deactivated when the application is shutdown
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
44
TSP Support for CTI Remote Device
In order to use CTI Remote Devices TAPI application
should negotiate new Extension Version - 0x000C0000
Cisco TSP will enumerate and expose TAPI Lines for CTI
Remote Device
New “Line Type” is added and exposed in devSpecific
portion of TAPI LINEDEVCAPS structure to identify lines
on Remote Device:
LINEDEVCAPSDEVSPECIFIC_REMOTEDEVICE (0x00000008)
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
45
TSP Support for CTI Remote Device
The devSpecific portion of TAPI LINEDEVCAPS is
extended as follows:
typedef struct Cisco_LineDevCaps_Ext000C0000 {
DWORD DeviceProtocolType;
DWORD RemoteDestinationOffset; //Array of Remote
Destinations
DWORD RemoteDestinationSize;
DWORD RemoteDestinationCount;
DWORD RemoteDestinationElementFixedSize;
DWORD IsMyAppLastToSetActiveRD;
} CISCO_LINEDEVCAPS_EXT000C0000;
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
46
TSP Support for CTI Remote Device
DeviceProtocolType can be one of the following:
enum DeviceProtocolType {
DeviceProtocolType_None = 0,
DeviceProtocolType_SCCP = 1,
DeviceProtocolType_SIP
= 2,
DeviceProtocolType_CTI_REMOTE_DEVICE = 3
};
Remote Destinations are exposed as array of
RemoteDestination structures:
typedef struct RemoteDestination {
DWORD unicodeRDNameOffset;
DWORD unicodeRDNameSize;
DWORD RDNumberOffset;
DWORD RDNumberSize;
DWORD isActiveRD;
} RemoteDestination;
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
47
TSP Support for CTI Remote Device
IsMyAppLastToSetActiveRD is applicable only when
there is an active Remote Destination
It has to be set to 0x01 by an application when one of its
Remote Destinations is active and the application owns it.
Otherwise it should be set to 0x00.
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
48
TSP Support for CTI Remote Device
“Property Changed Type” which is used in
LINE_DEVSPECIFIC events to indicate what
property has changed is extended with the following
new values:
enum CiscoLinePropertyChangedType {
...
LPCT_REMOTE_DESTINATION_INFO = 0x00004000,
LPCT_DEVICE_PROTOCOL_TYPE
= 0x00008000
};
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
49
CTI Remote Device – Incoming Call
Like on all other devices, call and call events are reported
using existing LINE_NEWCALL and LINE_CALLSTATE
TAPI events
Call is offered on both EP Line and Remote Device (CTI
RD and EP “Enterprise Device” are shared lines)
If there is an active Remote Destination (isActiveRD flag is
set to 0x01) call will be offered to that destination only
If there is no active Remote Destination (all isActiveRD
flags are set to 0x00) call will be offered to all Remote
Destinations
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
50
CTI Remote Device – DVO Call
DVO (Dial via Office) feature enables the User to make
outgoing calls from the ‘Active’ Remote Destination
configured on the CTI Remote Device
TAPI application has to use lineMakeCall() API to initiate
DVO call from CTI Remote Device
DVO call can be initiated from CTI Remote Device only
when there is an ‘active’ Remote Destination set
When an active Remote Destination is set, ‘isActiveRD’ flag
is set to 0x01
If an ‘active’ Remote Destination is not set, all ‘isActiveRD’
flags are set to 0x00. Incoming calls are then offered to all
Remote Destinations.
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
51
CTI Remote Device – DVO Call
CallAttributeBits enumeration which is exposed to
applications in devSpecific portion of TAPI LINECALLINFO
structure is extended with a new value to indicate DVO
calls:
typedef enum {
...
TSPCallAttribute_DVOCall
} CallAttributeBits;
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
=
0x00002000
Cisco Developer Network - Partner NDA
52
Directory URI Dialing
Directory URI Dialing
Single Cluster & Shared Lines
1
2
[email protected]
Ext 35101
dials [email protected]
UCM Cluster 1
route: sjc.cisco.com
3
[email protected], 35101
[email protected], 35123
Shared
Line
4
CiscoLive12
[email protected]
Ext 35123
© 2012 Cisco and/or its affiliates. All rights reserved.
Chris
Ext 35123
Cisco Developer Network - Partner NDA
4
54
Directory URI Dialing
Applications can now pass a Directory URI as the
dialing string in the following APIs:
lineMakeCall()
lineRedirect()
lineSetupConference()
lineSetupTransfer()
lineUnpark()
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
55
Cius Session Persistency
Cius Session Persistency
Cius devices can dynamically change IP addresses
while remaining registered to Unified CM
Examples include: Roaming between different Wifi/3G/4G
networks and docking/undocking
CTI applications interoperating with Cius devices
need a new way to be advised about Cius dynamic
IP address changes
10.10.10.254
CiscoLive12
10.10.20.254
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
57
Cius Session Persistency
Whenever the IP address of a device changes
dynamically TAPI applications which control the device
will be notified
In order to receive IP address change notifications
TAPI Application should negotiate Extension Version 0x00090001 or higher
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
58
Cius Session Persistency
On a device IP address change TAPI application
receives PHONE_DEVSPECIFIC event as follows:
param1 = PDSMT_PHONE_PROPERTY_CHANGED_EVENT
param2 = PPCT_DEVICE_IPADDRESS
Changed IP Address and IP Addressing Mode (IPv4,
IPv6) are exposed to applications in the devSpecific
portion of the TAPI PHONEDEVCAPS structure
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
59
Cius Session Persistency
On a device IP address change for each line on that
device TAPI application receives LINE_DEVSPECIFIC
event as follows:
param1 = SLDSMT_LINE_PROPERTY_CHANGED
param2 = LPCT_DEVICE_IPADDRESS
Changed IP Address and IP Addressing Mode (IPv4,
IPv6) are exposed to applications in the devSpecific
portion of the TAPI LINEDEVCAPS structure
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
60
Cisco TSP on the web
Developer guides, sample applications, and forum
support are available on the Cisco Developer
Network
http://developer.cisco.com/web/tapi/home
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
61
Q&A
Complete Your Online Session
Evaluation
Give us your feedback and
you could win fabulous prizes.
Winners announced daily
Receive 20 Cisco Preferred
Access points for each session
evaluation you complete
Complete your session evaluation
online now (open a browser
through our wireless network to
access our portal) or visit one of
the Internet stations throughout
the Convention Center
Don’t forget to activate your Cisco Live
and Networkers Virtual account for access
to all session materials, communities, and
on-demand and live activities throughout
the year. Activate your account at any internet
station or visit www.ciscolivevirtual.com.
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
63
Thank you.
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
64