Unified Communications Manager
TAPI Interface Update
for releases 8.6(x) & 9.0
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
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
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
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
Calling Party Normalization
Cius Session Persistency
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
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
Over the WAN Topology Test Cases
CTI over the WAN
SITE 1
J/TAPI
CTI
Subscriber
Application running CTIM
80ms RTT
Max Delay
SITE 2
SIP/SCCP
Subscriber
running CCM
CTI controlled
device
J/TAPI over the WAN
SITE 1
J/TAPI
CTI
Application
CiscoLive12
SITE 2
SIP/SCCP
80ms RTT
Max Delay
© 2012 Cisco and/or its affiliates. All rights reserved.
Subscriber
running
CTIM + CCM
CTI controlled
device
Cisco Developer Network - Partner NDA
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
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
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
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
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
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
Unified CM 8.6(x) Updates
CiscoLive 8.6(1) Updates are posted here:
http://developer.cisco.com/web/cdc/devforumpreso
For 8.6(2) Updates, refer to the Release Notes posted here:
http://www.cisco.com/en/US/products/sw/voicesw/ps556/prod_release_notes_list.html
Unified CM 9.0(1) (Q2CY2012)
TAPI New/Changed Features
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
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
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
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
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
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
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
Native Call Queuing
Native Call Queuing
Queue (hold) 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
Login/logout of queues and view
queue information on Cisco IP
Phones
Enhanced call detail records and
monitoring tools
Enhances Unified CM Hunt
Group feature
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Unified CM
Subscriber
Cisco Developer Network - Partner NDA
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 de-queued and offered to
a hunt group member
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
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
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
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
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
Cisco Extend & Connect
CTI client Call Modes
Phone Control “Use my Phone for calls” – Client controls Cisco IP Device
Soft phone “Use my PC for calls” – Client terminates media on PC
Extend & Connect (New) – “Use the following phone number for calls” –
specified as a Remote Destination
‒ Incoming calls are routed to the Remote Destination.
Outbound calls first ring at the Remote Destination, then are connected to the
desired number.
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
Cisco Extend and Connect
Architecture & Call Flow
CTI
Cisco
CTI
client
Enterprise DN: 3000
Jabber in Extend/Connect Mode
Office 3000
Remote Destination:
4083333333
Home
4083333333
PSTN
Mobile
9724444444
Cisco User
CiscoLive12
PBX
9195555555
Remote Destination:
9724444444
Remote Destination:
9195555555
Any 3rd
Party PBX
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
CTI Client Extend Mode
Remote Destinations represent off-cluster devices and may be configured via Unified CM
Administration & User web pages, AXL, BAT, and/or CTI interfaces
‒ Up to four Remote Destinations are supported per Jabber device
When Extend mode is selected, the User specifies a preferred number where they desire
to receive inbound- and place outbound calls or selects a number from a pre-configured
list of remote destinations
‒ The preferred number is configured as a Remote Destination and is set as ‘Active’ by the CTI client
Called party sees User’s work name/number for caller ID
The Remote Destination is marked ‘Inactive’ when the User logs out or the client is
shutdown
Mid-call features are supported using the CTI client
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
Enabling CTI Remote Devices
New CTI Remote Device type configurable in Unified CM for use with 3rdparty CTI desktop clients
CTI Remote Devices are added to User’s controlled device list for CTI
control and monitoring
Up to 5 enterprise DNs can be assigned to the device
Up to 10 remote destinations can be associated using Admin/User web UI
(default maximum is 4)
‒ Applications can programmatically add or remove remote destinations through CTI or
AXL interfaces
Pre-configured remote destinations in Unified CM can be retrieved via CTI
Adding Remote Destination management to the CTI client is optional
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
CTI Remote Device support
Requirements
The CTI client must support the ability to set a Remote Destination as
‘Active’/’Inactive’
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
Cisco Extend & Connect
Supported features
Receive Incoming enterprise calls
MakeCall (DVO-Reverse)
Disconnect
Hold/Retrieve
Redirect/Forward
Call Forward All
Do Not Disturb
Consult 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
=
0x00002000
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
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
4
Cisco Developer Network - Partner NDA
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
Calling Party Normalization
Calling Party Normalization
Unified CM 7.0(1) introduced a Calling Party Normalization feature to
localize the presentation of the number to the Called Party. The feature
did not support transferred calls.
Unified CM 9.0(1) extends feature support for transferred calls.
After a transfer operation is completed, the Called Party in the consult call
will see the localized number of the Calling Party in the primary call.
The original number is stored in the existing GlobalizedCallingParty field
in the devSpecific portion of lineCallInfo that was introduced in Unified CM
7.0(1).
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
Calling Party Normalization
Old Behavior:
A(+12345) calls B
CTI app monitoring B sees “0012345” as the calling party (localized)
B transfers call to C:
CTI app monitoring C sees “+12345” as the calling party (not localized)
New Behavior:
A(+12345) calls B:
CTI app monitoring B sees “0012345” as the calling party (localized)
B transfers call to C:
CTI app monitoring C sees “0012345” as the calling party (localized)
CiscoLive12
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
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
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
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
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
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
Questions?
Complete Your Online
Session Evaluation
Give us your feedback and you could
win fabulous prizes.
Winners announced daily.
Receive 20 Passport 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.
CiscoLive12
Don’t forget to activate your
Cisco Live Virtual account for access to
all session material, communities, and
on-demand and live activities throughout
the year. Activate your account at the
Cisco booth in the World of Solutions or visit
www.ciscolive.com.
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Developer Network - Partner NDA
67
Presentation_ID
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
© Copyright 2026 Paperzz