private void MainWindow_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            if (
                CallStatus.PeerCancelled == CallController.Instance.CurrentCallStatus &&
                (CallStatus.P2pIncoming == CallController.Instance.PreviousCallStatus || CallStatus.ConfIncoming == CallController.Instance.PreviousCallStatus)
                )
            {
                CallController.Instance.CurrentCallStatus = CallStatus.Idle;
                PromptWindow promptWindow = new PromptWindow(this);
                promptWindow.ShowPromptByTime(LanguageUtil.Instance.GetValueByKey("CALL_ENDED_BY_OTHER_USER"), 3000);
            }

            if (
                CallStatus.TimeoutSelfCancelled == CallController.Instance.CurrentCallStatus &&
                (CallStatus.P2pIncoming == CallController.Instance.PreviousCallStatus ||
                 CallStatus.P2pOutgoing == CallController.Instance.PreviousCallStatus ||
                 CallStatus.ConfIncoming == CallController.Instance.PreviousCallStatus)
                )
            {
                CallController.Instance.CurrentCallStatus = CallStatus.Idle;
                PromptWindow promptWindow = new PromptWindow(this);
                promptWindow.ShowPromptByTime(LanguageUtil.Instance.GetValueByKey("CALL_TIMEOUT"), 3000);
            }

            if (CallStatus.PeerDeclined == CallController.Instance.CurrentCallStatus && CallStatus.P2pOutgoing == CallController.Instance.PreviousCallStatus)
            {
                CallController.Instance.CurrentCallStatus = CallStatus.Idle;
                PromptWindow promptWindow = new PromptWindow(this);
                promptWindow.ShowPromptByTime(LanguageUtil.Instance.GetValueByKey("CALL_DECLINED"), 3000);
            }
        }