private void HostStatusChanged(object sender, IDeviceHost.StatusEventArgs e) { switch (e.type) { case IDeviceHost.PHONE_EVENT_TYPE.InCallRing: case IDeviceHost.PHONE_EVENT_TYPE.Ring: device.SetRinger(e.enable, last_caller_id); break; case IDeviceHost.PHONE_EVENT_TYPE.LineActive: if (e.enable == false && muted) { device.SetMicrophoneMute(false); } device.SetHookState(e.enable); hook_enabled = e.enable; break; case IDeviceHost.PHONE_EVENT_TYPE.Mute: device.SetMicrophoneMute(e.enable); muted = e.enable; break; } }
private void OnStateEvent(JA.IDevice device, JA.State state, bool value) { switch (state) { case JA.State.OnLine: if (value) { StatusChanged(this, new StatusEventArgs(HEADSET_EVENT_TYPE.RadioOpen)); if (muted) { DelayedFunction.DelayedCall("jabra_mute", () => { ignore_next_mute = true; device.SetMicrophoneMute(muted); }, 2500); } } else { StatusChanged(this, new StatusEventArgs(HEADSET_EVENT_TYPE.RadioClosed)); } break; } }