private void OnHangupCallsTimerElapsed(object sender, ElapsedEventArgs e) { if (!_StateManager.Jacks.SomeJack && _StateManager.Engine.Connected) { for (int i = 0; i < Tlf.NumDestinations + Tlf.NumIaDestinations; i++) { TlfDst dst = _StateManager.Tlf[i]; switch (dst.State) { case TlfState.Hold: _EngineCmdManager.EndTlfCall(i, TlfState.Hold); break; case TlfState.Conf: _EngineCmdManager.EndTlfConfCall(i); break; case TlfState.OutOfService: case TlfState.Congestion: case TlfState.Busy: case TlfState.Out: case TlfState.Set: case TlfState.RemoteHold: _EngineCmdManager.EndTlfCall(i); break; } } for (int i = 0; i < Radio.NumDestinations; i++) { RdDst dst = _StateManager.Radio[i]; if (dst.Rx) { _EngineCmdManager.ResetRdPosition(i); //_EngineCmdManager.SetRdRx(i, false); } } } }