public void Connect(Oracle.RightNow.Cti.Providers.CtiServiceProvider.Device device, bool enableGlobalSubscription = false) { Channel.Connect(device, enableGlobalSubscription); (this as ICommunicationObject).Faulted -= SwitchClient_Faulted; (this as ICommunicationObject).Faulted += SwitchClient_Faulted; _keepAliveTimer = new Timer(ping, null, 30000, 30000); }
public void Disconnect(Oracle.RightNow.Cti.Providers.CtiServiceProvider.Device device) { if (_keepAliveTimer != null) { _keepAliveTimer.Change(Timeout.Infinite, Timeout.Infinite); _keepAliveTimer.Dispose(); _keepAliveTimer = null; } Channel.Disconnect(device); }