configuring/updating a plantronics voyager legend headset is quite a pita:
- you need windoze
- install some software which has no startmenu-entry, does not start after install
- does not demand admin-rights when you start the .exe by hand w/o admin-rights
- does not show up anywhere (but task-manager) after beeing started, so you can not shut it down the normal way
- the configuration runs via a web-interface (http://www.plantronics.com/us/support/myheadset/updater/) which then talks to the running process which listens on
0.0.0.0/[::]:8011
- this the updater-website then runs some javascript which talks via XML with the local process and plantronics.com. in a ugly way (okay it is XML…)
Here some examples:
Query: http://127.0.0.1:8011/isThereAnInoperableDeviceAttached?_=someID
Reply: OK
Query: http://127.0.0.1:8011/getDeviceList?_=someID
Reply:
<?xml version="1.0" encoding="utf-8"?> <ArrayOfDeviceDescrip xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <DeviceDescrip name="Voyager Legend" pid="115" fwVersion="44" /> </ArrayOfDeviceDescrip>
Query:
http://127.0.0.1:8011/getExtendedDeviceDescription?xml=%3CExtendedDeviceQuery%20pid%3D%22115%22%3E%3CPStoreSetting%3Elanguage%3C/PStoreSetting%3E%3CPStoreSetting%3EvocalystPhoneNumber%3C/PStoreSetting%3E%3CPStoreSetting%3EenableAnswerIgnoreVR%3C/PStoreSetting%3E%3CPStoreSetting%3EenableDonDoff%3C/PStoreSetting%3E%3CPStoreSetting%3EenableA2DP%3C/PStoreSetting%3E%3CPStoreSetting%3EenableIncomingCallerAnnouncement%3C/PStoreSetting%3E%3CPStoreSetting%3EenableMuteVoicePrompt%3C/PStoreSetting%3E%3CPStoreSetting%3EmuteReminderTimeout%3C/PStoreSetting%3E%3CPStoreMap%20url%3D%22http%3A//www.plantronics.com/inc/support/myheadset/updater/psmap/bt_0044.PLT_Moorea_PStoreSettingConfiguration.xml%22%20/%3E%3C/ExtendedDeviceQuery%3E&_=someID
Reply:
<?xml version="1.0" encoding="utf-8"?> <DeviceDescripEx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Voyager Legend" pid="115" fwVersion="44"> <Settings> <NvPair name="language" value="0x407" /> <NvPair name="vocalystPhoneNumber" value="+492222222" /> <NvPair name="enableAnswerIgnoreVR" value="0x1" /> <NvPair name="enableDonDoff" value="0x1" /> <NvPair name="enableA2DP" value="0x1" /> <NvPair name="enableIncomingCallerAnnouncement" value="0x1" /> <NvPair name="enableMuteVoicePrompt" value="0x1" /> <NvPair name="muteReminderTimeout" value="0x15" /> </Settings> </DeviceDescripEx>
As that seems not to be enough we have an GET request to an statistics/tracking-interface by plantronics (URI decoded):
http://www.plantronics.com/moriniSrv/postMetrics?xml=<?xml version="1.0" encoding="UTF-8" ?> <UpdateDescrip pid="115" downloadUrl="http://www.plantronics.com/inc/support/myheadset/updater/dfu/bt_0115_0044.PLT_Moorea_GBR_EN_dfu.dfu" postUpdateDelaySecs="20"><BeforeUpdateDeviceDescrip name="Voyager Legend" pid="115" fwVersion="44"><Settings><NvPair name="enableIncomingCallerAnnouncement" value="0x1" /><NvPair name="language" value="0x407" /><NvPair name="vocalystPhoneNumber" value="+4922222" /><NvPair name="enableMuteVoicePrompt" value="0x1" /><NvPair name="muteReminderTimeout" value="0x15" /><NvPair name="enableDonDoff" value="0x1" /><NvPair name="enableA2DP" value="0x1" /><NvPair name="enableAnswerIgnoreVR" value="0x1" /></Settings></BeforeUpdateDeviceDescrip><AfterUpdateDeviceDescrip name="Voyager Legend" pid="115" fwVersion="44"><Settings><NvPair name="enableIncomingCallerAnnouncement" value="1" /><NvPair name="language" value="0x809" /><NvPair name="vocalystPhoneNumber" value="+492222222" /><NvPair name="enableMuteVoicePrompt" value="1" /><NvPair name="muteReminderTimeout" value="15" /><NvPair name="enableDonDoff" value="1" /><NvPair name="enableA2DP" value="1" /><NvPair name="enableAnswerIgnoreVR" value="0x1" /></Settings></AfterUpdateDeviceDescrip><SaveAndRestore><PStoreSetting>informationPhoneNumber</PStoreSetting><PStoreSetting>scoOpenTone</PStoreSetting></SaveAndRestore><PStoreMap_before url="http://www.plantronics.com/inc/support/myheadset/updater/psmap/bt_0044.PLT_Moorea_PStoreSettingConfiguration.xml" /><PStoreMap_after url="http://www.plantronics.com/inc/support/myheadset/updater/psmap/bt_0044.PLT_Moorea_PStoreSettingConfiguration.xml" /></UpdateDescrip>&_=someID
So what is this? Modern software-design?