private void HostStatusChanged(object sender, IDeviceHost.StatusEventArgs e) { var now = DateTime.Now; Debug.WriteLine($"Jabr OurHost status changed {now}.{now.Millisecond}: {e.type} enable: {e.enable}"); switch (e.type) { case IDeviceHost.PHONE_EVENT_TYPE.InCallRing: case IDeviceHost.PHONE_EVENT_TYPE.Ring: device.SetRinger(e.enable); //device.SetCallerId(last_caller_id); break; case IDeviceHost.PHONE_EVENT_TYPE.LineActive: if (e.enable == false && muted) { device.SetMicrophoneMuted(false); } device.SetHookState(e.enable); hook_enabled = e.enable; break; case IDeviceHost.PHONE_EVENT_TYPE.Mute: //if (device.IsOffHook) device.SetMicrophoneMuted(e.enable); //doesn't work and screws up state otherwise muted = e.enable; break; } }
private void HostStatusChanged(object sender, IDeviceHost.StatusEventArgs e) { switch (e.type) { case IDeviceHost.PHONE_EVENT_TYPE.InCallRing: case IDeviceHost.PHONE_EVENT_TYPE.Ring: device.HostCommand.Ring(e.enable); break; case IDeviceHost.PHONE_EVENT_TYPE.LineActive: ignore_next_radio_on = e.enable; device.HostCommand.AudioState = e.enable ? PL.AudioType.MonoOn : PL.AudioType.MonoOff; break; } }
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; } }