6 posts / 0 new
Last post
Support for multiple connected headsets in native SDK?
I am using the C++ native SDK. Is there a way to manage multiple connected headsets? I wish to define the device to which I send an event via the "ICallCommand" object. On the other side I wish to distinguish from which device I received an event in my event sink function "OnCallStateChanged". Best regards Martin Hillmeier

<div>Hi Martin,<br /> <br /> The Plantronics SDK does not offer an API for enumerating and attaching to a specific device when more than one Plantronics devices are attached to the PC.</div> <div>&nbsp;</div> <div>Instead the Plantronics SDK will choose one of the devices as the &quot;primary&quot; device and will notify your application the primary device was &quot;Attached&quot; via DeviceStateChanged event.</div> <div>&nbsp;</div> <div>The selection of which of more than one attached Plantronics device will seem arbitrary if you only have the Plantronics SDK&nbsp;installed (or <a href="/article/plantronics-sdk-3x-deployment-options">minimal SDK runtime </a>components that&nbsp;are included&nbsp;with SDK), it will generally be the USB device that was enumerated first.</div> <div>&nbsp;</div> <div>However, if your user has the full Plantronics Hub software installed from <a href="http://www.plantronics.com/software/" target="_blank">http://www.plantronics.com/software/</a>&nbsp;then he/she can switch primary device using the Plantronics Hub settings available from the system tray icon. This is how the multiple device scenario can be handled at present.</div> <div>&nbsp;</div> <div>From an integration standpoint your code should:</div> <div>1. After registering to Plantronics SDK see if there is an active device on the SessionManager, if so register for that device&#39;s events</div> <div>2. Handle a DeviceStateChange event as meaning the primary device may have changed, therefore unregisted previous device events (if applicable), and look again for an active device on the SessionManager, if so register for that device&#39;s event</div> <div>&nbsp;</div> <div>I hope that helps. Let us know if you have more questions.</div> <div><br /> Thanks,</div> <div>Lewis.</div> <div>&nbsp;</div> <div>&nbsp;</div>

Hello,<br /> There are two methods in the API: ISessionManager.getDeviceForPath and&nbsp;IDeviceManager.getDevice.<br /> Don&#39;t they allow to get devices that is not currently active?<br /> <br /> Regards,<br /> MichaƂ

Hi Michal,<br /> <br /> Those 2 methods you mention are to do with obtaining device information and are used internally by Plantronics Hub software and API for enumerating devices.<br /> <br /> The API functions for actually attaching to a device (making device primary) are not exposed publicly. Currently the only way switch between multiple Plantronics devices on same PC is via choosing a different primary device in Plantronics Hub gui.<br /> <br /> Thanks,<br /> Lewis.

I try to handle a &quot;DeviceStateChange&quot;, but I can&#39;t receive this event after choosing one of the devices as the &quot;primary&quot; device. In the documentation I read:<br /> <br /> <br /> &quot;Notifies on device state changes like device arrival and removal, and returns success status.<br /> Notifies the plug-in about device removal and arrival. Once a Plantronics device is plugged in,<br /> the Session Manager notifies the plug-in about the arrival of the device.<br /> The getActiveDevice() method provides a reference to the current device to which the Call Manager is connected.&quot;<br /> <br /> <br /> If I remove the Device, than I receive the event &quot;DeviceStateChange&quot;.<br /> <br /> <br /> What is wrong?<br /> <br /> Regards,<br /> Dieter<br /> &nbsp;

Hi,<br /> <br /> If you are using the Native SDK then you are choosing the device as primary device using Plantronics Hub, you will not receive a notification of the devicestatechange.<br /> <br /> You would only receive the notification if you use our out-of-proc COM Service or COM Service .NET APIs.<br /> <br /> This is because the Native SDK is seperate to the Plantronics Hub, and therefore has it&#39;s own primary device, which cannot be selected in GUI or programmatically via API (it chooses the first Plantronics device that enumerates on USB).<br /> <br /> Thanks,<br /> Lewis.<br /> <br /> <br /> &nbsp;

Add new comment