Side Tone For Usb Headsets Mac

  1. HP USB PC Gaming Headset with Microphone. 7.1 Surround Sound, RGB LED Lighting, Noise Isolating Over Ear Game Headphones with Detachable Mic for PC, PS4, Mac, Laptop - Black 4.3 out of 5 stars 112 $69.99 $ 69.
  2. Eons ago, I began my gaming/headset story with the classic, shitty Xbox 360 Headset. This headset got me through countless hours of Halo 3, COD4, and Netflix parties. Eventually, my dog got a hold of this headset, and I needed to buy a new one. A friend had recently bought a pair of Astros, so I asked my parents to find me a similar set.
  3. May 04, 2017 if it is an analog mic (3.5mm or xlr) you could use a type of audio interface to manage sidetone without delay. This will not work for usb mics. Some microphones have a built in headphone port for sidetone. An example would be the at2020usbplus (though i'm sure there are cheaper models that have a jack on them as well, its an example).

Jabra Usb Headsets

This simple plug-and-play USB digital audio headset comes with a noise-cancelling condenser mic for clear communications with a sidetone mic-monitoring feature on PC and Mac. Incorporated with an inline remote, get easy access to functions like mic mute, volume playback, and even answer calls directly via the headset cord.

1.1 Purpose

This document provides an overview of the fundamental and standardized USB HID commands implemented in Jabra USB headsets (see Appendix A for a full list of devices and their familiarities). In general HID commands are defined and referred in [1].

A target reader for this document is developers requiring a command interface towards USB headsets with intention to implement headset call control functions in their application. An application could be;

  • Softphone application running on Windows/Linux and Mac OS.
  • A deskphone based on e.g. Linux platform

Target readers are furthermore engineers employed by external vendors developing products supposed to cooperate with GN headsets.

Overall the document can be split in two categories, basic and advanced call control functions. Basic call control functions deals with;

  • Incoming call notification
  • Answer incoming call
  • Reject incoming call
  • Terminate active call
  • Synchronized Mute/unmute microphone
  • Volume control

Advanced call control functions deal with;

  • Last Number Redial
  • Active call Scenarios
  • Multiple Calls Handling (i.e. One active call and one call on hold)

1.2 Scope

Scope of this document is to provide an overview on how to use standard USB HID signals for supporting Jabra headset functions.

1.3 Definitions

TermExplanation
ControlA control is used to operate or regulate a particular aspect of a device. In this document a control refers broadly to the physical entity on the device that the usage identifies.
UsageDefines the purpose or meaning of an item. Each usage has a usage ID, usage name and a detailed description
Usage pageUsages are organized into pages - the so-called usage pages - of related controls.

1.4 References

IDDocumentDocument number/reference
[1]USB_HID_USAGE_TABLES 1_12.pdfRefer to www.usb.org
[2]

This document states several call scenarios – ranging from basic to advanced - which for majority of the Jabra products are supported. Please ask your Jabra contact for more information on functionality on this matter.

Please visit Jabra.com to get latest product listing.

Note: All Jabra USB headsets use the vendor ID [VID] 0x0B0E. This can be used as common denominator to recognize Jabra USB headsets.

Wireless Headset For Mac

All Jabra USB products described in this document support the standard HID interface. In the following section the input and output usage pages are outlined.

3.1 HID Input

Following signals are sent from the Jabra headset to the host. Please refer to sequence diagrams later in this document for actual usage and command flow of these signals.

3.1.1 Telephony page [0x0B]

CommandHexTypeSizeDescription
Hook switch0x20Absolute1 bitSent from Jabra device to host when the answer/end button is pressed.
1 = off-hook (answer)
0 = on-hook (end)
Flash0x21Relative1 bitSent from Jabra device to host to signal a flash (call swap between an active call and a call on hold).
Redial0x24Relative1 bitSent from Jabra device to host to signal a last number redial.
Phone Mute0x2FRelative1 bitSent from Jabra device to host when the mute button is pressed.
Line Busy0x97Absolute1 bitSent from Jabra device to host to indicate whether the user has a call on one of the telephony interfaces.
1 = Line is busy
0 = Line is free

3.1.2 Consumer page [0x09]

CommandHexTypeSizeDescription
Volume Down0xEARelative1 bitSent from Jabra device to host to signal volume decrement.
Volume Up0xEARelative1 bitSent from Jabra device to host to signal volume increment.

3.2 HID Output

Following signals are expected to be sent from the host towards the Jabra headset.

3.2.1 LED page [0x08]

CommandHexTypeSizeDescription
Mute0x09Absolute1 bitSent from host to Jabra device to set microphone mute state.
1 = muted
0 = unmuted
Off-hook0x17Absolute1 bitSent from host to Jabra device to set hook state.
1 = off-hook (on call)
0 = on-hook (idle)
Ring0x18Absolute1 bitSent from host to Jabra device to set ringer state.
1 = ringer on
0 = ringer off
Hold0x20Absolute1 bitSent from host to Jabra device to set call held state.
1 = held call
0 = no held call
Microphone0x21Absolute1 bitSent from host to Jabra device to set microphone mute state.
1 = muted
0 = unmuted

Side Tone For Usb Headsets Mac Os

3.2.2 Telephony page [0x0B]

Usage PageUsageTypeSizeDescription
Ringer0x09Absolute1 bitSent from host to device to set ringer state.
1 = ringer on
0 = ringer off

3.3 Usage of Line Busy

The line busy signal is provided from the headset towards the host in order to indicate call activity on a phone interface. Whenever there is an active and/or held call on one of the phones connected to the headset, both line busy indications will be set high. This includes if i.e. a mobile phone connected to the same headset.

Within the Headset collection two sub usage pages are defined each with its own main usage page:

  • Usage page 0xB (Telephony)
  • Usage page 0x8 (LED).
  • Usage page 0xFF30 (Vendor Specific GN Telephony)

The usages form two interfaces as shown in the figure below.

Figure 1 GN standard USB interface

4.1 HID Co-existence with Jabra PC Suite and Jabra Direct

When using direct HID implementations there is possible conflict with Jabra PC Suite [JPCS] and Jabra Direct. Both applications use a proprietary command set and can in some cases be chosen as default for headset devices.

All recent Jabra devices have two USB HID Telephony interfaces, a standard USB Telephony interface defined by the USB Implementers Forum (www.usb.org) and a proprietary telephony interface defined by Jabra and understood only by Jabra applications and SDKs. Softphone applications with built-in HID telephony support, such as Microsoft Lync, use the standard telephony interface.

The purpose of having a proprietary telephony interface is to improve the interoperability between a softphone with built-in HID telephony support (typically Lync) and softphones integrated via a proprietary SDK. When a call is started on a softphone integrated via a Jabra proprietary SDK, the HID events from the device will not be detected by Lync because they are sent on the proprietary interface.

The Jabra SDK for Windows and Native HID specifications provide a solid description of the usage of the proprietary HID signaling methodologies.

The following sequence diagrams indicate how HID commands should be handled.
Be aware that several other commands might be sent beside those specified. These should be ignored and are only valid for advanced functionality implementations.

5.1 Incoming call, answered.

Figure 2 Sequence diagram for HID commands. Incoming call from SP is answered.

5.2 Incoming call, rejected.

Precondition is that everything is idle; all USB HID signals are idle. The incoming call arrives on the standard telephony interface.

Figure 3 Reject call standard telephony

5.3 Outgoing call

Figure 4 Outgoing call

5.4 Terminate Active call

Precondition is that there is an active call on the standard USB telephony interface. The Hook on event can be replaced by the End call event in this case.

Figure 5 End active call standard telephony

5.5 Mute Microphone

Precondition is that there is an active call on the standard telephony interface.

Primary feature is to secure that headset and application are synchronized with the mute state.

Figure 6 Mute active call standard telephony

5.5.1 Un-mute a muted call

Precondition is that there is a muted active call on the standard telephony interface.

Figure 7 Unmute active call standard telephony

5.6 Volume Control

Apart from volume controls the USB layer must also handle audio settings for microphone gain/mute, and side-tone levels, these aspects are currently all outside the scope of this document.

Two settings though has impact on the functionality, these are the controls for speaker volume and mute. The speaker volume is the one that generates the ‘set volume’ event, and the speaker mute can generate a ‘mute’ or ‘unmute’ event. The speaker mute is not synchronised, since the host doesn’t change its value based on changes to the HID mute setting. If the user selects to mute on the audio control, and the headset is not muted, it will generate a mute event, and likewise if the headset is muted and the user selects to unmute on the audio control, it will generate an unmute event.

Lg tone headsets

To function optimal the softphone driver must detect which operating system is running on the USB host. The host operating selection algorithm is based on the following mechanisms:

Side
  • Linux OS attempts to set volume resolution.
  • Macintosh doesn't send set idle.
  • Windows 7 and Window 8 sends get current speaker volume before get minimum speaker volume.
  • Windows XP sends get minimum speaker volume before get current speaker volume.

5.6.1 Volume set from Host

Figure 8 Volume set from host

5.6.2 Volume decrement from device

Figure 9 Volume decrement from device

The device will continue to send Volume Down until it receives a Set speaker volume that has a volume fitting the current volume setting of the device.

Side Tone For Usb Headsets Mac

5.6.3 Volume increment from device

Figure 10 Volume increment from device

The device will continue to send Volume Up until it receives a Set speaker volume that has a volume fitting the current volume setting of the device.

5.6.4 Linux specific volume synchronization

On Linux hosts the device should not retry the Volume Up/Down request if it doesn’t receive a set speaker volume signal. It must send one Volume Up/down request per volume change, Linux will jump one volume resolution step per request, but it is application dependent whether it is replied to.

5.6.5 Windows XP specific volume synchronization

On Windows XP the device should not retry the Volume Up/Down request if it doesn’t receive a set speaker volume, and it must not send another until it receives a set volume request.

5.6.6 Windows 7/8 specific volume synchronization

On Windows 7/8 the device should retry once the Volume Up/Down request if it doesn’t receive a set speaker volume. It should continue this for each volume change.

5.6.7 Macintosh specific volume synchronization

On Macintosh the device should retry once the Volume Up/Down request if it doesn’t receive a set speaker volume. It should continue this for each volume change.

Best Headset For Mac

The following section will describe the more advanced device capabilities.

6.1 Last Number Redial

This scenario deals with the option to perform an outgoing call to the last dialed number from the headset.

Figure 11 Last Number Redial standard telephony

6.2 Answer call during active call

This scenario deals with the option to answer an incoming call while already being in an active call. This means, precondition is that there is an active call on the standard telephony interface.

Figure 12 Answer waiting call during active call standard telephony

Side Tone For Usb Headsets Mac

6.3 Terminate active and answer waiting call

This scenario deals with the option to terminate an active call and automatically answer the incoming call. This means, precondition is that there is an active call on the standard telephony interface.

Figure 13 End active call answer waiting standard telephony

6.4 Reject call during an active call

This scenario deals with the option to reject an incoming call while already being in an active call. This means, precondition is that there is an active call on the standard telephony interface.

Figure 14 Reject call during active call standard telephony

6.5 Swap between calls

This scenario deals with the option to swap between an active call and a call placed on hold. Once the held call is activated the previous active call will be placed on hold and vice versa. This means, that precondition is that there is an active and a held call either on the standard telephony interface.

Figure 15 Swap calls during active call Standard telephony

Side Tone For Usb Headsets Machine

The last pulse on Off-Hook is not required, but is the way e.g. Microsoft Lync is currently signaling.

6.6 Terminate active call and activate other

This scenario deals with the option to terminate the active call and re-activate the held call. This means, that precondition is that there is an active and a held call either on the standard telephony interface.

Figure 16 End call activate other standard telephony

6.7 Terminate multiple calls

This scenario deals with the option to terminate the active and the held call. This means, that precondition is that there is an active and a held call either on the standard telephony interface.

Figure 17 End call standard telephony

6.8 Terminate all calls

This scenario deals with the option to terminate the active and the held call. This means, that precondition is that there is an active and a held call either on the standard telephony interface.

Figure 18 End all calls standard telephony

6.9 Place an active call on hold

Scenario deals with the option to place an active call on hold. Precondition is that there is an active call on the standard telephony interface.

Figure 19 Put call on hold standard telephony

6.10 Activate the call on hold

Scenario deals with the option to resume the held call. Precondition is that there is a call on hold on the standard telephony interface.

Figure 20 Activate held call standard telephony

The tables below show products who share functional behavior in either USB HID or PSTN usage scenarios. The headsets offer different functionalities but testing one device within a certain group will provide a representative report for the other devices.

The list is based on current device list of June 2015.

USB (Soft phone)
PRO 9470
PRO 9465 DUO
PRO 9460 DUO
PRO 9460
PRO 9450
Evolve 65 (Link360 dongle)
Motion (Link360 dongle)
Speak 510+ (Link360)
Supreme (Link360 dongle)
Stealth (Link360 dongle)
BIZ2300
LINK230
LINK260
Link265
UCVoice 750a
UCVoice 550a
UCVoice 250a
UCVoice 150a
Evolve 80
Evolve 40
BIZ 2400
Link 280
Evolve 30
Evolve 20
Speak 510 (via USB)
Speak 410
BIZ 2400
Link 280
Motion Office
Dial 550
PRO 930Link180
PRO 935
PSTN (Desk phone)
PRO 9470
PRO 9465 DUO
PRO 9460 DUO
PRO 9460
PRO 9450
PRO 920
PRO 925
Motion Office