Cisco Cisco Computer Telephony Integration Option 8.5 Reference Guide

Page of 276
   
2-3
CTI Server Message Reference Guide (Protocol Version 14) for Cisco Unified ICM/Contact Center Enterprise & Hosted
Release 8.0(1)
Chapter 2      CTI Client Application Guidelines
Side A/B Selection and TCP/IP Connections
Side A/B Selection and TCP/IP Connections
The following algorithm is suggested for establishing TCP/IP connections with the CTI Server. This 
algorithm attempts to strike a balance between rapid reconnection following loss of connection and 
network saturation (due to hundreds of clients attempting to connect simultaneously). The algorithm is 
terminated as soon as a successful TCP/IP connection is achieved:
Step 1
Attempt to connect to the same side as the last successful connection.
Step 2
Attempt to connect to the opposite side.
Step 3
Generate a random integer number N between 0 and the expected number of CTI clients divided by 10.
Step 4
Wait for N seconds. This step helps avoid “rush hour” traffic when all clients at a site are reconnecting 
simultaneously.
Step 5
Attempt to connect to the same side as the last successful connection.
Step 6
Attempt to connect to the opposite side.
Step 7
Wait for 15 seconds.
Step 8
Attempt to connect to the same side as the last successful connection.
Step 9
Attempt to connect to the opposite side.
Step 10
Wait for 30 seconds.
Step 11
Attempt to connect to the same side as the last successful connection.
Step 12
Attempt to connect to the opposite side.
Step 13
Wait for 60 seconds.
Step 14
Attempt to connect to the same side as the last successful connection.
Step 15
Attempt to connect to the opposite side.
Step 16
Wait for 120 seconds.
Step 17
Repeat steps 14 – 16 until a connection is achieved.
Alignment of Data Elements
The messages described in this document are sent as a stream of bytes. If the CTI client application uses 
data structures to represent the messages, be sure that the data structures do not have padding inserted 
to align elements on particular boundaries, such as aligning 32-bit integers so that they are located on a 
4-byte boundary.
Incompatible Changes to Reported Call ConnectionIDs
In the early releases of CTI Server, there was a defect in the connectionID logic that caused a call's first 
connectionID to be used as the connectionID in all subsequent call event messages, even when the event 
referred to a different call connection. This sometimes presented CTI clients with ambiguous call event 
messages, particularly when the call involved more than two parties.