Plantronics MyHeadset/Update/Configuration

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?