private void OnCallStateChanged(COMCallEventArgs e) { if (CallStateChanged != null) { CallStateChanged(e); } }
private void _sessionManagerEvents_onCallStateChanged(COMCallEventArgs callEventArgs) { // informs us the calling state has changed, for example user as answered/terminated a call // using headset buttons - this event should be used in my app to actually connect/terminate the call! OnCallStateChanged(callEventArgs); OnCallStateChangedPy(callEventArgs.call.Id, (int)callEventArgs.CallState, callEventArgs.CallState.ToString(), callEventArgs.CallSource); }
// print session events void m_sessionEvents_CallStateChanged(COMCallEventArgs e) { DebugPrint(MethodInfo.GetCurrentMethod().Name, "Spokes: ICallEvents call state event = " + e.ToString()); switch (e.CallState) { case CallState.CallState_CallRinging: m_voipIncoming = true; // Getting here indicates user is ON A CALL! DebugPrint(MethodInfo.GetCurrentMethod().Name, "Spokes: Calling activity detected!" + e.ToString()); OnOnCall(new OnCallArgs(e.CallSource, m_voipIncoming, OnCallCallState.Ringing, e.call.Id)); break; case CallState.CallState_MobileCallRinging: m_mobIncoming = true; // user incoming mobile call DebugPrint(MethodInfo.GetCurrentMethod().Name, "Spokes: Mobile Calling activity detected!" + e.ToString()); OnOnMobileCall(new OnMobileCallArgs(m_mobIncoming, MobileCallState.Ringing)); break; case CallState.CallState_MobileCallInProgress: DebugPrint(MethodInfo.GetCurrentMethod().Name, "Spokes: Mobile Calling activity detected!" + e.ToString()); OnOnMobileCall(new OnMobileCallArgs(m_mobIncoming, MobileCallState.OnCall)); break; case CallState.CallState_AcceptCall: case CallState.CallState_CallInProgress: DebugPrint(MethodInfo.GetCurrentMethod().Name, "Spokes: Call was ansswered/in progress!" + e.ToString()); OnOnCall(new OnCallArgs(e.CallSource, m_voipIncoming, OnCallCallState.OnCall, e.call.Id)); OnCallAnswered(new CallAnsweredArgs(e.call.Id, e.CallSource)); break; case CallState.CallState_HoldCall: case CallState.CallState_Resumecall: case CallState.CallState_TransferToHeadSet: case CallState.CallState_TransferToSpeaker: // Getting here indicates user is ON A CALL! DebugPrint(MethodInfo.GetCurrentMethod().Name, "Spokes: Calling activity detected!" + e.ToString()); OnOnCall(new OnCallArgs(e.CallSource, m_voipIncoming, OnCallCallState.OnCall, e.call.Id)); break; case CallState.CallState_MobileCallEnded: m_mobIncoming = false; // Getting here indicates user HAS FINISHED A CALL! DebugPrint(MethodInfo.GetCurrentMethod().Name, "Spokes: Mobile Calling activity ended." + e.ToString()); OnNotOnMobileCall(EventArgs.Empty); break; case CallState.CallState_CallEnded: case CallState.CallState_CallIdle: case CallState.CallState_RejectCall: case CallState.CallState_TerminateCall: m_voipIncoming = false; // Getting here indicates user HAS FINISHED A CALL! DebugPrint(MethodInfo.GetCurrentMethod().Name, "Spokes: Calling activity ended." + e.ToString()); OnNotOnCall(new NotOnCallArgs(e.call.Id, e.CallSource)); OnCallEnded(new CallEndedArgs(e.call.Id, e.CallSource)); break; default: // ignore other call state events break; } }
private static void _session_onCallStateChanged(COMCallEventArgs callEventArgs) { // informs us the calling state has changed, for example user as answered/terminated a call // using headset buttons - this event should be used in my app to actually connect/terminate the call! Console.WriteLine("Call State Changed: callid=" + callEventArgs.call.Id + " new state=" + callEventArgs.CallState); }
// print session events void m_sessionEvents_CallStateChanged(COMCallEventArgs e) { string id = e.call != null ? e.call.Id.ToString() : "none"; }
private void _session_onCallStateChanged(COMCallEventArgs callEventArgs) { // informs us the calling state has changed, for example user as answered/terminated a call // using headset buttons - this event should be used in my app to actually connect/terminate the call! OnCallStateChanged(callEventArgs); }