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);
                    }
                }
            }
        }