3. USB HID

3a. Two arbitrary UC Clients

USB HID

The architecture of USB HID is not suited to manage parallel calls consistently.

Both UC clients use device integration with USB HID via Standard Telephony Usage Page. UC Client 1 has an active call. UC Client 2 receives an incoming call.

Before the incoming call, the device is Off-hook with an active call on UC Client 1. The incoming call triggers various automatic actions.

Automatic Actions

Steps Automatic Action
Step 1) - UC Client 2 tells the device to ring and to go On-hook. According to USB HID definition, several control signals are sent in combination.

Note: All subsequent steps happen in milliseconds. Due to that, the device actually does not ring.
Step 2) - The device goes On-hook and tries to start ringing.
- Broadcasts an On-hook Acknowledgement.
Step 3) - UC Client 1 misinterpretes the On-hook Acknowledgement as an On-hook Signal. It then hangs up its active call.
- Sends another On-hook Acknowledgement to the device and this stops the ringer.
Step 4) - UC Client 2 also received ab On-hook Acknowledgement and misinterprets it as an On-hook Signal.
- UC Client 2 then hangs up the incoming call.

This use case is completely broken. Both calls are ended automatically without any user input.

3b. MS Teams and arbitrary UC Client

MS Teams and generic UC Client

MS Teams and other UC Client with USB HID integration share the same usage page.

The combination of MS Teams and an arbitrary UC Client (using USB HID) work exactly like the combination of two arbitrary UC Clients using USB HID.