/// <summary> /// Displays incoming call. /// </summary> /// <param name="call">The incoming call.</param> public void IncomingCall(PhoneCallInfo call) { if (call.Direction == CallDirection.Outgoing) return; if (InvokeRequired) { BeginInvoke((Action<MainForm, PhoneCallInfo>)((t, e1) => t.IncomingCall(e1)), this, call); return; } if (ActualIncomingCall != null) { softphoneEngine.RejectCall(call); ActualIncomingCall = null; ItsDisplay.Text = string.Empty; } ActualIncomingCall = call; ItsDisplay.Text = call.ToString(); tbPhoneStatus.Text = "Incoming call!"; string logMsg = string.Format("Incoming call from {0} [line: {1}]", call.Dial, call.PhoneLineInfo); LogEvent(logMsg); AddCallToHistory(call.PhoneLineInfo, call.Dial, call.Direction); SetGUIState(new IncommingCall(this)); if (AutoAcceptCalls) currentState.PickUpPressed(); }