public void RedirectCall(LinphoneCall linphoneCall, string redirect_uri) { if (linphoneCall.IsExist() && LinphoneCore.IsNonZero()) { CallModule.linphone_call_redirect(LinphoneCore, linphoneCall.LinphoneCallPtr, redirect_uri); } }
public void HoldCall(LinphoneCall linphoneCall) { if (linphoneCall.IsExist() && LinphoneCore.IsNonZero()) { CallModule.linphone_core_pause_call(LinphoneCore, linphoneCall.LinphoneCallPtr); } }
public void ResumeCall(LinphoneCall linphoneCall) { if (linphoneCall.IsExist() && LinphoneCore.IsNonZero()) { CallModule.linphone_core_resume_call(LinphoneCore, linphoneCall.LinphoneCallPtr); } }
public void SendDTMFs(LinphoneCall linphoneCall, string dtmfs) { if (linphoneCall.IsExist() && LinphoneCore.IsNonZero() && !string.IsNullOrWhiteSpace(dtmfs)) { CallModule.linphone_call_send_dtmfs(linphoneCall.LinphoneCallPtr, dtmfs); } }
public void PauseRecording(LinphoneCall linphoneCall) { if (linphoneCall.IsExist() && LinphoneCore.IsNonZero() && !string.IsNullOrWhiteSpace(linphoneCall.RecordFile)) { GenericModules.linphone_call_stop_recording(linphoneCall.LinphoneCallPtr); } }
public void SetRingbackSound(string file) { if (LinphoneCore.IsNonZero()) { MediaModule.linphone_core_set_ringback(LinphoneCore, file); } }
public void TerminateCall(LinphoneCall linphoneCall) { if (linphoneCall.IsExist() && LinphoneCore.IsNonZero()) { CallModule.linphone_core_terminate_call(LinphoneCore, linphoneCall.LinphoneCallPtr); } }
public void SetIncomingRingSound(string file) { if (LinphoneCore.IsNonZero()) { MediaModule.linphone_core_set_ring(LinphoneCore, file); } }
public void OnRegistrationChanged(IntPtr lc, IntPtr cfg, LinphoneRegistrationState cstate, string message) { if (LinphoneCore.IsNonZero()) { RegistrationStateChangedEvent?.Invoke(cstate); } }
public void MakeCallAndRecord(string uri, string filename, bool startRecordInstantly) { if (LinphoneCore.IsNonZero()) { var callParams = CreateCallParameters(); if (!string.IsNullOrWhiteSpace(filename)) { CallModule.linphone_call_params_set_record_file(callParams, filename); } IntPtr call = CallModule.linphone_core_invite_with_params(LinphoneCore, uri, callParams); if (call.IsZero()) { #if (DEBUG) ErrorEvent?.Invoke(null, "Can't call!"); #endif return; } CallModule.linphone_call_ref(call); if (startRecordInstantly) { GenericModules.linphone_call_start_recording(call); } } }
public void SendMessage(string to, string message) { if (LinphoneCore.IsNonZero()) { IntPtr chat_room = ChatModule.linphone_core_get_chat_room_from_uri(LinphoneCore, to); IntPtr chat_message = ChatModule.linphone_chat_room_create_message(chat_room, message); ChatModule.linphone_chat_room_send_chat_message(chat_room, chat_message); } }
public void ReceiveCall(LinphoneCall linphoneCall) { if (linphoneCall.IsExist() && LinphoneCore.IsNonZero()) { CallModule.linphone_call_ref(linphoneCall.LinphoneCallPtr); IntPtr callParams = CreateCallParameters(); CallModule.linphone_core_accept_call_with_params(LinphoneCore, linphoneCall.LinphoneCallPtr, callParams); } }
public void ReceiveCallAndRecord(LinphoneCall linphoneCall, string filename, bool startRecordInstantly = true) { if (linphoneCall.IsExist() && LinphoneCore.IsNonZero()) { CallModule.linphone_call_ref(linphoneCall.LinphoneCallPtr); IntPtr callParams = CreateCallParameters(); CallModule.linphone_call_params_set_record_file(callParams, filename); CallModule.linphone_core_accept_call_with_params(LinphoneCore, linphoneCall.LinphoneCallPtr, callParams); if (startRecordInstantly) { GenericModules.linphone_call_start_recording(linphoneCall.LinphoneCallPtr); } } }
public void OnCallStateChanged(IntPtr lc, IntPtr call, LinphoneCallState callState, string message) { if (LinphoneCore.IsNonZero() && IsRunning) { var newCallState = CallState.None; var newCallType = CallType.None; string from, to, recordFile; from = to = recordFile = null; IntPtr callParams = CallModule.linphone_call_get_params(call); bool recordEnable = MarshalingExtensions.TryConvert(CallModule.linphone_call_params_get_record_file(callParams), out recordFile); newCallState = GetNewCallState(call, callState, ref newCallType, ref from, ref to, recordEnable); UpdateCallReferences(call, newCallState, newCallType, callState, from, to, recordFile); } }