on 01-21-2015 06:12 PM
Contents
1. Connection profiles
2. Heartbeating mechanism
3. How the heart beating mechanism works on the CTI OS client before failover.
4. Lab and Log Analysis
Connection Profile
The ConnectionProfiles key contains an organized list of the connection information of all configured CTIOS Servers present in the corporate network that you can access by a client application.
The connection profiles are defined in the registry of each server at the following location:
HKEY_LOCAL_MACHINE\SOFTWARE\Cisco Systems Inc.\CtiOs\<CTIOS InstanceName>\ <CTIOSServerName>\ EnterpriseDesktopSettings\All Desktops\Login\ConnectionProfiles\Name
While Agent login, it’s connect to the same profile (ex:UCCE)and download all information.
Heartbeat Mechanism
The heartbeating mechanism uses the MaxHeartbeats and Heartbeat values in registry together to determine when a client must send heartbeat requests to the server and when the client must connect to the other server.
MaxHeartbeats (Default = 3): It is the max number of missed heartbeats before failover.
Heartbeat (Default = 5): It is the time interval between consecutive heartbeats.
How the heart beating mechanism works on the CTI OS client before failover
LAB and Log Analysis
.
//1st heartbeat missing
01/21/15 13:24:36.707 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::OnEvent, (MsgID:eOnMissingHeartbeat EvtTime:11676707 HBIntv:5000 MissedHBs:1)
01/21/15 13:24:36.707 3176 CTIOSSoftphone Thd(3172) CObjectManager::GetTarget( eOnMissingHeartbeat )
01/21/15 13:24:36.707 3176 CTIOSSoftphone Thd(3172) CSessionManager::OnEvent( eOnMissingHeartbeat )
01/21/15 13:24:36.707 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::OnMissingHeartbeat()
01/21/15 13:24:36.707 3176 CTIOSSoftphone Thd(3172) EventTime ---------[11676707]
01/21/15 13:24:36.707 3176 CTIOSSoftphone Thd(3172) MissedHeartbeats --[1]
01/21/15 13:24:36.707 3176 CTIOSSoftphone Thd(3172) HeartbeatInterval -[5000]
01/21/15 13:24:36.707 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::FireEvent( Type(0), Evt(eOnMissingHeartbeat), EnablementMask = -1 )
01/21/15 13:24:36.707 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::FireEvent( Type(0), Evt(eOnMissingHeartbeat), EnablementMaskExtension = -1 )
01/21/15 13:24:36.707 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::FireEvent, (EvtTime:11676707 HBIntv:5000 MissedHBs:1)
01/21/15 13:24:36.707 3176 CTIOSSoftphone Thd(3172) CEventPublisher::FireSessionEvent( eOnMissingHeartbeat )
//2nd heartbeat missing after 5sec
01/21/15 13:24:41.707 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::OnEvent( eOnMissingHeartbeat ), EnablementMask = ffffffff
01/21/15 13:24:41.707 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::OnEvent, (MsgID:eOnMissingHeartbeat EvtTime:11681707 HBIntv:5000 MissedHBs:2)
01/21/15 13:24:41.707 3176 CTIOSSoftphone Thd(3172) CObjectManager::GetTarget( eOnMissingHeartbeat )
01/21/15 13:24:41.707 3176 CTIOSSoftphone Thd(3172) CSessionManager::OnEvent( eOnMissingHeartbeat )
01/21/15 13:24:41.707 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::OnMissingHeartbeat()
01/21/15 13:24:41.707 3176 CTIOSSoftphone Thd(3172) EventTime ---------[11681707]
01/21/15 13:24:41.707 3176 CTIOSSoftphone Thd(3172) MissedHeartbeats --[2]
01/21/15 13:24:41.707 3176 CTIOSSoftphone Thd(3172) HeartbeatInterval -[5000]
01/21/15 13:24:41.707 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::FireEvent( Type(0), Evt(eOnMissingHeartbeat), EnablementMask = -1 )
01/21/15 13:24:41.707 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::FireEvent( Type(0), Evt(eOnMissingHeartbeat), EnablementMaskExtension = -1 )
01/21/15 13:24:41.707 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::FireEvent, (EvtTime:11681707 HBIntv:5000 MissedHBs:2)
01/21/15 13:24:41.707 3176 CTIOSSoftphone Thd(3172) CEventPublisher::FireSessionEvent( eOnMissingHeartbeat )
//3rd and the final heartbeat missing
01/21/15 13:24:46.707 3176 CTIOSSoftphone Thd(3756) CCilConnection(05534C78)::WatchdogThread, FAILED all heartbeat retry attempts, closing connection
// 4th time Client reports that connection to CTIOS server B fails and connect to CTIOS Side A.
01/21/15 13:24:51.410 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::OnEvent( eOnConnectionFailure ), EnablementMask = ffffffff
01/21/15 13:24:51.410 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::OnEvent, (MsgID:eOnConnectionFailure EvtTime:11686707 RsnCode:1 FailedSvr:10.104.209.84)
01/21/15 13:24:51.410 3176 CTIOSSoftphone Thd(3172) CObjectManager::GetTarget( eOnConnectionFailure )
01/21/15 13:24:51.410 3176 CTIOSSoftphone Thd(3172) CSessionManager::OnEvent( eOnConnectionFailure )
01/21/15 13:24:51.410 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::OnConnectionFailure()
01/21/15 13:24:51.410 3176 CTIOSSoftphone Thd(3172) EventTime --------[11686707]
01/21/15 13:24:51.410 3176 CTIOSSoftphone Thd(3172) FailedServer -----[10.104.209.84]
01/21/15 13:24:51.410 3176 CTIOSSoftphone Thd(3172) ReasonCode -------[1]
01/21/15 13:24:51.442 3176 CTIOSSoftphone Thd(3172) ** Attempting to connect to server [pga9 (10.104.209.129) port:42028] **
01/21/15 13:24:51.442 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::OnEvent( eOnConnection ), EnablementMask = ffffffff
01/21/15 13:24:51.442 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::OnEvent, (MsgID:eOnConnection EvtTime:11691442 CurSvr:pga9 CurPort:42028 SecConn:0)
01/21/15 13:24:51.442 3176 CTIOSSoftphone Thd(3172) CObjectManager::GetTarget( eOnConnection )
01/21/15 13:24:51.442 3176 CTIOSSoftphone Thd(3172) CSessionManager::OnEvent( eOnConnection )
01/21/15 13:24:51.442 3176 CTIOSSoftphone Thd(3172) CCtiOsSession::OnConnection()
01/21/15 13:24:51.442 3176 CTIOSSoftphone Thd(3172) EventTime --------[11691442]
01/21/15 13:24:51.442 3176 CTIOSSoftphone Thd(3172) CurrentServer ----[pga9]
01/21/15 13:24:51.442 3176 CTIOSSoftphone Thd(3172) CurrentPort ------[42028]
01/21/15 13:24:51.442 3176 CTIOSSoftphone Thd(3172) SecureConnection -[0]
Note: CTI OS Server process crashes or the machine is turned off, the socket breaks and the client immediately knows that the connection has failed. In this case, the client directly connects to the other server without heartbeat attempts.
Refer Design guide for UCCE for more information
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: