Not exactly, this table only mentions which features are supported by different Plantronics devices. But it says nothing about which events (exactly) are sent in one or another situation by these devices, i.e. under what exact conditions each event occur. For instance, when one or another device turned on/off what events are sent? Voyager PRO sends a bunch of events after turning it on: InRange, Doff(!), Undocked. I doubt that it's the same for all other devices. Another one question what events are sent periodically by one or another device? (e.g. Undocked, MobileOnCall) etc
Also not sure how precise the table is. It states that there are no docking events for Voyager PRO, though they are still sent by this device (e.g. Undocked event).
This makes me confused since I want to support at least a few Plantronics devices in my application and to process their events correctly I need to know when these devices send their events. For instance, I couldn't expect that Voyager PRO sends Undocked event every 10 minutes (while Savi 440 does this only once during actual undocking from base). Another one example would be that Voyager PRO sends MobileOnCall multiple times while device is in pairing mode and mobile phone has established a call (is it the same for other devices)...
It appears you are having some issues about the events you received. When you receive an event you are confused which device actually send the event.
I presume you have multiple devices plugged to the PC at the same time. Actually this is a non issue because Spokes has this all sorted out for you. While Spokes can recognize multiple Plantronics devices plugged in at the same time, one and only one is selected as the active device. This is the first device detected in the enumeration. If the active device is removed, the next device in the list becomes active. Only events from the active device are passed on through the API. There is zero chance for any confusion to arise.
If this does not solve your problem, perhaps you can be more specific about the problem you are trying to solve. The document you are requesting contains proprietary engineering information and It may not be appropriate to be posted on the forum. But if you can help me understand your project better, I can provide you the information to overcome your hurdle.
I'm not confused by which device sends the events. Actually I'm having only 1 device connected at a time...
What I'm trying to get is information about what Events (and when) are sent by various Plantronics devices.
Let me try to illustrate what I expect to get (see table below). I've marked significant (from my point of view) differences with red and blue.
I assume that there could be other differences (besides those mentioned by me here) that in their turn can cause problems in API consumer applications logic. So it would be great to get this info about events without "playing" with real devices...
Don Doff Docked UnDocked InRange OutOfRange Voyager PRO
sent once: 1) when headset put on.
sent once: 1) when headset put off;
2) when headset turned on.
sent once: 1) when headset turned on (though there is no base there).
sent periodically (interval 10 min):
1) when headset is
on (though there is no base there).
sent once: 1) when headset is in range; 2) when headset turned on.
sent once: 1) when headset is out of range; 2) when headset turned off.
Savi 440 not sent not sent sent once: 1) when headset docked with base sent once: 1) when headset undocked with base. sent once: 1) when headset is in range sent once: 1) when headset is out of range .... Other devices
The simplest way for an app to handle device events is to capture ONLY the events relevant to you device, which is just a very small percentage of the total events count. THe earlier list provided by Greg Rose provides a complete list of relevant events for each device. The new generation of Plantronics devices are sophisticated engineering products and capable of sending over 100 different events, most of which are of no interest to application developers. You really should not be spending time chasing after events irrelevant to your project.
Perhaps if you help me understand your project better I can help you identify the events you really need.
Let me tell you a story...
I do use UnDocked event in my application and have to react on it. So in my application I assume that this event will be sent once at the moment of headset "undocking" from base station. So I tried my application with Savi 440 and got expected behavior of my application (i.e. my assumption was correct). OK, then I tried my application with Voyager Pro and got different behavior. After looking through logs I figured out that my very first assumption was wrong for this particular headset, i.e. Voyager Pro sent UnDocked event not once as Savi 440 but was sending it periodically every 10 min (though this headset shouldn't have this event at all).
Now let me ask a question...
How would I know that:
- Voyager Pro will be sending UnDocked event? In the table you are referring to it is stated that this headset has no "docking" events at all.
- Voyager Pro will be sending UnDocked event in a different way than Savi 440? I.e. not once but periodically with interval in 10 min...
First of all, thanks for posting to the forums, as we really appreciate it.
Unfortunately, we cannot provide a list of events to you, as proprietary information is only available to our business partners and is beyond the scope of the PDC Forum. We can recommend that you write your code in such a way that it discards any events that are not associated with each specific device.
Perhaps you can use this pusedo code snippet below to help you achieve this route?
If (<device> && !(one of the supported events for <device>)) then ignore;
Hope this helps in the development of your application.
I see. Sorry for delay, I was on vacation...
Yes, I was also thinking about suggested approach. But here is very similar problem ...
How would I know what each Plantronics device will return in the code below (otherwise I'll be unable to differentiate devices):
Do you have document that describes what each Plantronics device will return here?
If you take a look at this file that comes with Spokes / Spokes SDK:
(or C:\Program Files\Plantronics\Plantronics SDK\PlantronicsDevices.xml)
It lists all the product id's of current range of Plantronics products.
This doesn’t show the product names (friendly names) of the enumerated USB device however but just the internal names, e.g.:
DA45 = DA45 Amplifier
Delphi Dongle = Voyager Pro series dongle
Yeti Dongle = Savi Office 400 series dongle (D100)
Delphi 1.5 Dongle = Voyager Pro series dongle
Delphi 2.0 Dongle = Voyager Pro series dongle
Poseidon = Savi 7xx series
Capri = Calisto 800 series
Latte = Calisto P240
You could also use a tool like USBView to display information about the attached USB device, e.g.:
English (United States) "Plantronics"
English (United States) "Plantronics Savi 7xx"