ManagedUPnP no longer detecting all services from Sonos speakers

Apr 22, 2015 at 6:08 PM
Hello!

We've used ManagedUPnP on CastleOS, our home automation software. We've used it to detect UPnP smart devices such as Sonos speakers and WeMo switches.

This has run well for months. However, we've recently seen that ManagedUPnP will only detect 4 of 7 services the device exposes. It previously detected all 7. Other UPnP software, such as Intel's device spy, will detect all 7 services.

Do you have any idea why ManagedUPnP wouldn't see all of them anymore? Is there anything we can do?

Thanks!

-Chris
Coordinator
Apr 23, 2015 at 1:11 PM
Hey Chris,

It's hard to say what could be happening here without seeing the HTTP data that is being transmitted back and forth. Full device description documents might help as to why it is only seeing 4 of 7. Have you updated the firmware on any of these devices? Its possible the have changed the implementation of UPnP on the devices, I have seen some strange stuff over the years, I updated a routers firmware and it started using the same UDN for all its devices and services, this caused issues as the framework expects this to be unique (as it is meant to be).

Thanks.
May 2, 2015 at 10:51 PM
Edited May 2, 2015 at 11:05 PM
Sorry I didn't reply sooner, for some reason I never got the email you replied despite being subscribed. Anyways I'm doing some debugging in the ManagedUPnP code now. Using the latest code base and the test app, this is what I get. You'll see the list on the left only populates four services, but the device properties on the right list all seven services.

I will post more as I discover more...

Image
May 2, 2015 at 11:03 PM
UPnP Log (part 1):

[2015/05/02 17:59:09.640] Getting RootDescription from cache for: '192.168.0.125 - Sonos PLAY:1' root of '192.168.0.125 - Sonos PLAY:1' key 'uuid:RINCON_B8E9375A583201400'
[2015/05/02 17:59:09.640] Cache hit
[2015/05/02 17:59:09.640] Finished getting RootDescription from cache
[2015/05/02 17:59:09.955] Getting readable info for services failed with exception: 'System.Runtime.InteropServices.COMException (0x80040500): Exception from HRESULT: 0x80040500
[2015/05/02 17:59:09.955] at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
[2015/05/02 17:59:09.955] at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)
[2015/05/02 17:59:09.955] at System.Runtime.InteropServices.CustomMarshalers.EnumeratorViewOfEnumVariant.MoveNext()
[2015/05/02 17:59:09.955] at ManagedUPnP.IUPnPServicesExtensions.ReadableInfo(IUPnPServices services, Int32 indent) in f:\Downloads\Managed UPnP Library and Demo Source (2.1)\ManagedUPnP\Extensions\IUPnPServicesExtensions.cs:line 39'
[2015/05/02 17:59:10.095] Getting readable info for services failed with exception: 'System.Runtime.InteropServices.COMException (0x80040500): Exception from HRESULT: 0x80040500
[2015/05/02 17:59:10.095] at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
[2015/05/02 17:59:10.095] at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)
[2015/05/02 17:59:10.095] at System.Runtime.InteropServices.CustomMarshalers.EnumeratorViewOfEnumVariant.MoveNext()
[2015/05/02 17:59:10.095] at ManagedUPnP.IUPnPServicesExtensions.ReadableInfo(IUPnPServices services, Int32 indent) in f:\Downloads\Managed UPnP Library and Demo Source (2.1)\ManagedUPnP\Extensions\IUPnPServicesExtensions.cs:line 39'
[2015/05/02 17:59:10.095] Adding services for device: '192.168.0.125 - Sonos PLAY:1', ServiceType:'(null)' ChildDevices:'False'
[2015/05/02 17:59:10.095] Scanning services
[2015/05/02 17:59:10.207] Service found: ID:'urn:upnp-org:serviceId:AlarmClock', Type:'urn:schemas-upnp-org:service:AlarmClock:1'
[2015/05/02 17:59:10.207] Service accepted - matched
[2015/05/02 17:59:10.207] Service added
[2015/05/02 17:59:10.232] Service found: ID:'urn:upnp-org:serviceId:MusicServices', Type:'urn:schemas-upnp-org:service:MusicServices:1'
[2015/05/02 17:59:10.232] Service accepted - matched
[2015/05/02 17:59:10.232] Service added
[2015/05/02 17:59:10.267] Service found: ID:'urn:upnp-org:serviceId:DeviceProperties', Type:'urn:schemas-upnp-org:service:DeviceProperties:1'
[2015/05/02 17:59:10.267] Service accepted - matched
[2015/05/02 17:59:10.267] Service added
[2015/05/02 17:59:10.307] Service found: ID:'urn:upnp-org:serviceId:SystemProperties', Type:'urn:schemas-upnp-org:service:SystemProperties:1'
[2015/05/02 17:59:10.307] Service accepted - matched
[2015/05/02 17:59:10.307] Service added
[2015/05/02 17:59:10.367] Error occurred while scanning services: 'System.Runtime.InteropServices.COMException (0x80040500): Exception from HRESULT: 0x80040500
[2015/05/02 17:59:10.367] at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
[2015/05/02 17:59:10.367] at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)
[2015/05/02 17:59:10.367] at System.Runtime.InteropServices.CustomMarshalers.EnumeratorViewOfEnumVariant.MoveNext()
[2015/05/02 17:59:10.367] at ManagedUPnP.Services.AddFrom(IUPnPDevice device, Guid interfaceGuid, String serviceType, Boolean includingChildDevices) in f:\Downloads\Managed UPnP Library and Demo Source (2.1)\ManagedUPnP\Services.cs:line 87'
[2015/05/02 17:59:10.367] Finished scanning services
[2015/05/02 17:59:10.367] Finished adding services for device
May 2, 2015 at 11:03 PM
UPnP Log (part 2 of 2):

[2015/05/02 17:59:10.367] Getting icon image for device: '192.168.0.125 - Sonos PLAY:1'
[2015/05/02 17:59:10.367] Getting URL for icon: Size:'16x16', BitDepth'24'
[2015/05/02 17:59:10.367] URL is null or empty, failed
[2015/05/02 17:59:10.367] Finished getting icon image for device
[2015/05/02 17:59:10.367] Getting ServiceDescription from cache for: '192.168.0.125 - Sonos PLAY:1' root of 'urn:upnp-org:serviceId:AlarmClock' key 'uuid:RINCON_B8E9375A583201400|urn:upnp-org:serviceId:AlarmClock'
[2015/05/02 17:59:10.367] Finished getting ServiceDescription from cache
[2015/05/02 17:59:10.367] Getting ServiceDescription from cache for: '192.168.0.125 - Sonos PLAY:1' root of 'urn:upnp-org:serviceId:MusicServices' key 'uuid:RINCON_B8E9375A583201400|urn:upnp-org:serviceId:MusicServices'
[2015/05/02 17:59:10.367] Finished getting ServiceDescription from cache
[2015/05/02 17:59:10.367] Getting ServiceDescription from cache for: '192.168.0.125 - Sonos PLAY:1' root of 'urn:upnp-org:serviceId:DeviceProperties' key 'uuid:RINCON_B8E9375A583201400|urn:upnp-org:serviceId:DeviceProperties'
[2015/05/02 17:59:10.367] Finished getting ServiceDescription from cache
[2015/05/02 17:59:10.367] Getting ServiceDescription from cache for: '192.168.0.125 - Sonos PLAY:1' root of 'urn:upnp-org:serviceId:SystemProperties' key 'uuid:RINCON_B8E9375A583201400|urn:upnp-org:serviceId:SystemProperties'
[2015/05/02 17:59:10.367] Finished getting ServiceDescription from cache
[2015/05/02 17:59:10.367] Adding services for device: '192.168.0.125 - Sonos PLAY:1 Media Server', ServiceType:'(null)' ChildDevices:'False'
[2015/05/02 17:59:10.367] Scanning services
[2015/05/02 17:59:10.392] Service found: ID:'urn:upnp-org:serviceId:ContentDirectory', Type:'urn:schemas-upnp-org:service:ContentDirectory:1'
[2015/05/02 17:59:10.392] Service accepted - matched
[2015/05/02 17:59:10.392] Service added
[2015/05/02 17:59:10.422] Service found: ID:'urn:upnp-org:serviceId:ConnectionManager', Type:'urn:schemas-upnp-org:service:ConnectionManager:1'
[2015/05/02 17:59:10.422] Service accepted - matched
[2015/05/02 17:59:10.422] Service added
[2015/05/02 17:59:10.422] Finished scanning services
[2015/05/02 17:59:10.422] Finished adding services for device
[2015/05/02 17:59:10.422] Getting icon image for device: '192.168.0.125 - Sonos PLAY:1 Media Server'
[2015/05/02 17:59:10.422] Getting URL for icon: Size:'16x16', BitDepth'24'
[2015/05/02 17:59:10.422] URL is null or empty, failed
[2015/05/02 17:59:10.422] Finished getting icon image for device
[2015/05/02 17:59:10.422] Getting ServiceDescription from cache for: '192.168.0.125 - Sonos PLAY:1' root of 'urn:upnp-org:serviceId:ContentDirectory' key 'uuid:RINCON_B8E9375A583201400|urn:upnp-org:serviceId:ContentDirectory'
[2015/05/02 17:59:10.422] Finished getting ServiceDescription from cache
[2015/05/02 17:59:10.422] Getting ServiceDescription from cache for: '192.168.0.125 - Sonos PLAY:1' root of 'urn:upnp-org:serviceId:ConnectionManager' key 'uuid:RINCON_B8E9375A583201400|urn:upnp-org:serviceId:ConnectionManager'
[2015/05/02 17:59:10.422] Finished getting ServiceDescription from cache
[2015/05/02 17:59:10.422] Adding services for device: 'Living Room - Sonos PLAY:1 Media Renderer', ServiceType:'(null)' ChildDevices:'False'
[2015/05/02 17:59:10.422] Scanning services
[2015/05/02 17:59:10.467] Service found: ID:'urn:upnp-org:serviceId:RenderingControl', Type:'urn:schemas-upnp-org:service:RenderingControl:1'
[2015/05/02 17:59:10.467] Service accepted - matched
[2015/05/02 17:59:10.467] Service added
[2015/05/02 17:59:10.487] Service found: ID:'urn:upnp-org:serviceId:ConnectionManager', Type:'urn:schemas-upnp-org:service:ConnectionManager:1'
[2015/05/02 17:59:10.487] Service accepted - matched
[2015/05/02 17:59:10.487] Service added
[2015/05/02 17:59:10.580] Service found: ID:'urn:upnp-org:serviceId:AVTransport', Type:'urn:schemas-upnp-org:service:AVTransport:1'
[2015/05/02 17:59:10.580] Service accepted - matched
[2015/05/02 17:59:10.580] Service added
[2015/05/02 17:59:10.640] Error occurred while scanning services: 'System.Runtime.InteropServices.COMException (0x80040500): Exception from HRESULT: 0x80040500
[2015/05/02 17:59:10.640] at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
[2015/05/02 17:59:10.640] at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)
[2015/05/02 17:59:10.640] at System.Runtime.InteropServices.CustomMarshalers.EnumeratorViewOfEnumVariant.MoveNext()
[2015/05/02 17:59:10.640] at ManagedUPnP.Services.AddFrom(IUPnPDevice device, Guid interfaceGuid, String serviceType, Boolean includingChildDevices) in f:\Downloads\Managed UPnP Library and Demo Source (2.1)\ManagedUPnP\Services.cs:line 87'
[2015/05/02 17:59:10.640] Finished scanning services
[2015/05/02 17:59:10.640] Finished adding services for device
[2015/05/02 17:59:10.640] Getting icon image for device: 'Living Room - Sonos PLAY:1 Media Renderer'
[2015/05/02 17:59:10.640] Getting URL for icon: Size:'16x16', BitDepth'24'
[2015/05/02 17:59:10.640] URL is null or empty, failed
[2015/05/02 17:59:10.640] Finished getting icon image for device
[2015/05/02 17:59:10.640] Getting ServiceDescription from cache for: '192.168.0.125 - Sonos PLAY:1' root of 'urn:upnp-org:serviceId:RenderingControl' key 'uuid:RINCON_B8E9375A583201400|urn:upnp-org:serviceId:RenderingControl'
[2015/05/02 17:59:10.640] Finished getting ServiceDescription from cache
[2015/05/02 17:59:10.640] Getting ServiceDescription from cache for: '192.168.0.125 - Sonos PLAY:1' root of 'urn:upnp-org:serviceId:ConnectionManager' key 'uuid:RINCON_B8E9375A583201400|urn:upnp-org:serviceId:ConnectionManager'
[2015/05/02 17:59:10.640] Finished getting ServiceDescription from cache
[2015/05/02 17:59:10.640] Getting ServiceDescription from cache for: '192.168.0.125 - Sonos PLAY:1' root of 'urn:upnp-org:serviceId:AVTransport' key 'uuid:RINCON_B8E9375A583201400|urn:upnp-org:serviceId:AVTransport'
[2015/05/02 17:59:10.640] Finished getting ServiceDescription from cache
May 2, 2015 at 11:14 PM
Full text from device information: I noticed at the bottom it's dropping not only several top level services, but also a couple nested services:

Available on Network Interface IP Addresses:
2002:421f:88c5:0:807d:77ef:3f4c:c69a
2002:421f:88c5:0:a048:7adc:b0bf:bdbe
fe80::807d:77ef:3f4c:c69a%11
192.168.0.109

Device: 192.168.0.125 - Sonos PLAY:1 (urn:schemas-upnp-org:device:ZonePlayer:1) (UDN:uuid:RINCON_B8E9375A583201400)
(
softwareVersion = '28.1-83040', 
hardwareVersion = '1.8.3.7-1', 
serialNum = 'B8-E9-37-5A-58-32:B', 
minCompatibleVersion = '27.0-00000', 
legacyCompatibleVersion = '24.0-0000', 
displayVersion = '5.2', 
extraVersion = 'OTP: ', 
roomName = 'Living Room', 
displayName = 'PLAY:1', 
zoneType = '9', 
feature1 = '0x00000000', 
feature2 = '0x00403332', 
feature3 = '0x0001000e', 
internalSpeakerSize = '5', 
bassExtension = '75.000', 
satGainOffset = '6.000', 
memory = '128', 
flash = '64', 
ampOnTime = '10'
)
{
Service: urn:upnp-org:serviceId:AlarmClock (urn:schemas-upnp-org:service:AlarmClock:1)
Service: urn:upnp-org:serviceId:MusicServices (urn:schemas-upnp-org:service:MusicServices:1)
Service: urn:upnp-org:serviceId:DeviceProperties (urn:schemas-upnp-org:service:DeviceProperties:1)
Service: urn:upnp-org:serviceId:SystemProperties (urn:schemas-upnp-org:service:SystemProperties:1)
Service: urn:upnp-org:serviceId:ZoneGroupTopology (urn:schemas-upnp-org:service:ZoneGroupTopology:1)
Service: urn:upnp-org:serviceId:GroupManagement (urn:schemas-upnp-org:service:GroupManagement:1)
Service: urn:tencent-com:serviceId:QPlay (urn:schemas-tencent-com:service:QPlay:1)
}
{
Icon: /img/icon-S1.png (W:48 x H:48 x Colors:24 - 'image/png')
( 
    id = '0', 
    url = '/img/icon-S1.png'
)
}
{
Device: 192.168.0.125 - Sonos PLAY:1 Media Server (urn:schemas-upnp-org:device:MediaServer:1) (UDN:uuid:RINCON_B8E9375A583201400_MS)
{
    Service: urn:upnp-org:serviceId:ContentDirectory (urn:schemas-upnp-org:service:ContentDirectory:1)
    Service: urn:upnp-org:serviceId:ConnectionManager (urn:schemas-upnp-org:service:ConnectionManager:1)
}
Device: Living Room - Sonos PLAY:1 Media Renderer (urn:schemas-upnp-org:device:MediaRenderer:1) (UDN:uuid:RINCON_B8E9375A583201400_MR)
( 
    deviceID = 'urn:rhapsody-real-com:device-id-1-0:sonos_1:RINCON_B8E9375A583201400', 
    qq:X_QPlay_SoftwareCapability = 'QPlay:2'
)
{
    Service: urn:upnp-org:serviceId:RenderingControl (urn:schemas-upnp-org:service:RenderingControl:1)
    Service: urn:upnp-org:serviceId:ConnectionManager (urn:schemas-upnp-org:service:ConnectionManager:1)
    Service: urn:upnp-org:serviceId:AVTransport (urn:schemas-upnp-org:service:AVTransport:1)
    Service: urn:sonos-com:serviceId:Queue (urn:schemas-sonos-com:service:Queue:1)
    Service: urn:upnp-org:serviceId:GroupRenderingControl (urn:schemas-upnp-org:service:GroupRenderingControl:1)
}
{
    Icon: /img/icon-S1.png (W:48 x H:48 x Colors:24 - 'image/png')
    ( 
        url = '/img/icon-S1.png'
    )
}
}

Name: 192.168.0.125 - Sonos PLAY:1 (urn:schemas-upnp-org:device:ZonePlayer:1)
Description: Sonos PLAY:1
Manufacturer: Sonos, Inc. (http://www.sonos.com/)
Model: Sonos PLAY:1 - S1 (http://www.sonos.com/products/zoneplayers/S1)
Serial:
Unique Device Name: uuid:RINCON_B8E9375A583201400
UPC:
Description URL: http://192.168.0.125:1400/xml/device_description.xml
Devices
{
Name: 192.168.0.125 - Sonos PLAY:1 Media Server (urn:schemas-upnp-org:device:MediaServer:1)
Description: Sonos PLAY:1 Media Server
Manufacturer: Sonos, Inc. (http://www.sonos.com/)
Model: Sonos PLAY:1 - S1 (http://www.sonos.com/products/zoneplayers/S1)
Serial: 
Unique Device Name: uuid:RINCON_B8E9375A583201400_MS
UPC: 
Description URL: http://192.168.0.125:1400/xml/device_description.xml
Devices(none)
Services
{
    urn:upnp-org:serviceId:ContentDirectory (urn:schemas-upnp-org:service:ContentDirectory:1)
    urn:upnp-org:serviceId:ConnectionManager (urn:schemas-upnp-org:service:ConnectionManager:1)
}
Name: Living Room - Sonos PLAY:1 Media Renderer (urn:schemas-upnp-org:device:MediaRenderer:1)
Description: Sonos PLAY:1 Media Renderer
Manufacturer: Sonos, Inc. (http://www.sonos.com/)
Model: Sonos PLAY:1 - S1 (http://www.sonos.com/products/zoneplayers/S1)
Serial: 
Unique Device Name: uuid:RINCON_B8E9375A583201400_MR
UPC: 
Description URL: http://192.168.0.125:1400/xml/device_description.xml
Devices(none)
Services
{
    urn:upnp-org:serviceId:RenderingControl (urn:schemas-upnp-org:service:RenderingControl:1)
    urn:upnp-org:serviceId:ConnectionManager (urn:schemas-upnp-org:service:ConnectionManager:1)
    urn:upnp-org:serviceId:AVTransport (urn:schemas-upnp-org:service:AVTransport:1)
}
}
Services
{
urn:upnp-org:serviceId:AlarmClock (urn:schemas-upnp-org:service:AlarmClock:1)
urn:upnp-org:serviceId:MusicServices (urn:schemas-upnp-org:service:MusicServices:1)
urn:upnp-org:serviceId:DeviceProperties (urn:schemas-upnp-org:service:DeviceProperties:1)
urn:upnp-org:serviceId:SystemProperties (urn:schemas-upnp-org:service:SystemProperties:1)
}
May 2, 2015 at 11:15 PM
Edited May 2, 2015 at 11:16 PM
Here is the full XML provided by the device. Perhaps you can parse this and find out where it's erroring?
<?xml version="1.0" encoding="utf-8" ?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
  <specVersion>
    <major>1</major>
    <minor>0</minor>
  </specVersion>
  <device>
    <deviceType>urn:schemas-upnp-org:device:ZonePlayer:1</deviceType>
    <friendlyName>192.168.0.125 - Sonos PLAY:1</friendlyName>
    <manufacturer>Sonos, Inc.</manufacturer>
    <manufacturerURL>http://www.sonos.com</manufacturerURL>
    <modelNumber>S1</modelNumber>
    <modelDescription>Sonos PLAY:1</modelDescription>
    <modelName>Sonos PLAY:1</modelName>
    <modelURL>http://www.sonos.com/products/zoneplayers/S1</modelURL>
    <softwareVersion>28.1-83040</softwareVersion>
    <hardwareVersion>1.8.3.7-1</hardwareVersion>
    <serialNum>B8-E9-37-5A-58-32:B</serialNum>
    <UDN>uuid:RINCON_B8E9375A583201400</UDN>
    <iconList>
      <icon>
        <id>0</id>
        <mimetype>image/png</mimetype>
        <width>48</width>
        <height>48</height>
        <depth>24</depth>
        <url>/img/icon-S1.png</url>
      </icon>
    </iconList>
    <minCompatibleVersion>27.0-00000</minCompatibleVersion>
    <legacyCompatibleVersion>24.0-0000</legacyCompatibleVersion>
    <displayVersion>5.2</displayVersion>
    <extraVersion>OTP: </extraVersion>
    <roomName>Living Room</roomName>
    <displayName>PLAY:1</displayName>
    <zoneType>9</zoneType>
    <feature1>0x00000000</feature1>
    <feature2>0x00403332</feature2>
    <feature3>0x0001000e</feature3>
    <internalSpeakerSize>5</internalSpeakerSize>
    <bassExtension>75.000</bassExtension>
    <satGainOffset>6.000</satGainOffset>
    <memory>128</memory>
    <flash>64</flash>
    <ampOnTime>10</ampOnTime>
    <serviceList>
      <service>
        <serviceType>urn:schemas-upnp-org:service:AlarmClock:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:AlarmClock</serviceId>
        <controlURL>/AlarmClock/Control</controlURL>
        <eventSubURL>/AlarmClock/Event</eventSubURL>
        <SCPDURL>/xml/AlarmClock1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:MusicServices:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:MusicServices</serviceId>
        <controlURL>/MusicServices/Control</controlURL>
        <eventSubURL>/MusicServices/Event</eventSubURL>
        <SCPDURL>/xml/MusicServices1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:DeviceProperties:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:DeviceProperties</serviceId>
        <controlURL>/DeviceProperties/Control</controlURL>
        <eventSubURL>/DeviceProperties/Event</eventSubURL>
        <SCPDURL>/xml/DeviceProperties1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:SystemProperties:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:SystemProperties</serviceId>
        <controlURL>/SystemProperties/Control</controlURL>
        <eventSubURL>/SystemProperties/Event</eventSubURL>
        <SCPDURL>/xml/SystemProperties1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:ZoneGroupTopology:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:ZoneGroupTopology</serviceId>
        <controlURL>/ZoneGroupTopology/Control</controlURL>
        <eventSubURL>/ZoneGroupTopology/Event</eventSubURL>
        <SCPDURL>/xml/ZoneGroupTopology1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:GroupManagement:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:GroupManagement</serviceId>
        <controlURL>/GroupManagement/Control</controlURL>
        <eventSubURL>/GroupManagement/Event</eventSubURL>
        <SCPDURL>/xml/GroupManagement1.xml</SCPDURL>
      </service>
      <service>
        <serviceType>urn:schemas-tencent-com:service:QPlay:1</serviceType>
        <serviceId>urn:tencent-com:serviceId:QPlay</serviceId>
        <controlURL>/QPlay/Control</controlURL>
        <eventSubURL>/QPlay/Event</eventSubURL>
        <SCPDURL>/xml/QPlay1.xml</SCPDURL>
      </service>
    </serviceList>
    <deviceList>
      <device>
  <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
  <friendlyName>192.168.0.125 - Sonos PLAY:1 Media Server</friendlyName>
  <manufacturer>Sonos, Inc.</manufacturer>
  <manufacturerURL>http://www.sonos.com</manufacturerURL>
  <modelNumber>S1</modelNumber>
  <modelDescription>Sonos PLAY:1 Media Server</modelDescription>
  <modelName>Sonos PLAY:1</modelName>
  <modelURL>http://www.sonos.com/products/zoneplayers/S1</modelURL>
  <UDN>uuid:RINCON_B8E9375A583201400_MS</UDN>
  <serviceList>
    <service>
      <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
      <serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
      <controlURL>/MediaServer/ContentDirectory/Control</controlURL>
      <eventSubURL>/MediaServer/ContentDirectory/Event</eventSubURL>
      <SCPDURL>/xml/ContentDirectory1.xml</SCPDURL>
    </service>
    <service>
      <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
        <controlURL>/MediaServer/ConnectionManager/Control</controlURL>
        <eventSubURL>/MediaServer/ConnectionManager/Event</eventSubURL>
        <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
      </service>
    </serviceList>
      </device>
      <device>
    <deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
  <friendlyName>Living Room - Sonos PLAY:1 Media Renderer</friendlyName>
  <manufacturer>Sonos, Inc.</manufacturer>
  <manufacturerURL>http://www.sonos.com</manufacturerURL>
  <modelNumber>S1</modelNumber>
  <modelDescription>Sonos PLAY:1 Media Renderer</modelDescription>
  <modelName>Sonos PLAY:1</modelName>
  <modelURL>http://www.sonos.com/products/zoneplayers/S1</modelURL>
    <UDN>uuid:RINCON_B8E9375A583201400_MR</UDN>
    <serviceList>
      <service>
        <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
        <controlURL>/MediaRenderer/RenderingControl/Control</controlURL>
        <eventSubURL>/MediaRenderer/RenderingControl/Event</eventSubURL>
        <SCPDURL>/xml/RenderingControl1.xml</SCPDURL>
      </service>
      <service>
        <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
        <controlURL>/MediaRenderer/ConnectionManager/Control</controlURL>
        <eventSubURL>/MediaRenderer/ConnectionManager/Event</eventSubURL>
        <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
      </service>
      <service>
        <serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
        <controlURL>/MediaRenderer/AVTransport/Control</controlURL>
        <eventSubURL>/MediaRenderer/AVTransport/Event</eventSubURL>
        <SCPDURL>/xml/AVTransport1.xml</SCPDURL>
      </service>
      <service>
        <serviceType>urn:schemas-sonos-com:service:Queue:1</serviceType>
        <serviceId>urn:sonos-com:serviceId:Queue</serviceId>
        <controlURL>/MediaRenderer/Queue/Control</controlURL>
        <eventSubURL>/MediaRenderer/Queue/Event</eventSubURL>
        <SCPDURL>/xml/Queue1.xml</SCPDURL>
      </service>
          <service>
            <serviceType>urn:schemas-upnp-org:service:GroupRenderingControl:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:GroupRenderingControl</serviceId>
            <controlURL>/MediaRenderer/GroupRenderingControl/Control</controlURL>
            <eventSubURL>/MediaRenderer/GroupRenderingControl/Event</eventSubURL>
            <SCPDURL>/xml/GroupRenderingControl1.xml</SCPDURL>
          </service>
    </serviceList>
        <X_Rhapsody-Extension xmlns="http://www.real.com/rhapsody/xmlns/upnp-1-0">
          <deviceID>urn:rhapsody-real-com:device-id-1-0:sonos_1:RINCON_B8E9375A583201400</deviceID>
            <deviceCapabilities>
              <interactionPattern type="real-rhapsody-upnp-1-0"/>
            </deviceCapabilities>
        </X_Rhapsody-Extension>
        <qq:X_QPlay_SoftwareCapability xmlns:qq="http://www.tencent.com">QPlay:2</qq:X_QPlay_SoftwareCapability>
        <iconList>
          <icon>
            <mimetype>image/png</mimetype>
            <width>48</width>
            <height>48</height>
            <depth>24</depth>
            <url>/img/icon-S1.png</url>
          </icon>
        </iconList>
      </device>
    </deviceList>
  </device>
</root>
Coordinator
May 14, 2015 at 8:00 PM
Hey

Sorry I have not replied sooner, I have been on holiday for the last 2 weeks.

When I get some time I will analyse these logs in more detail, can you point out which exact services for which devices it is not detecting?

Thanks.
May 15, 2015 at 11:39 PM
Edited May 15, 2015 at 11:39 PM
No problem!

Here are the seven services it should see:
<serviceList>
      <service>
        <serviceType>urn:schemas-upnp-org:service:AlarmClock:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:AlarmClock</serviceId>
        <controlURL>/AlarmClock/Control</controlURL>
        <eventSubURL>/AlarmClock/Event</eventSubURL>
        <SCPDURL>/xml/AlarmClock1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:MusicServices:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:MusicServices</serviceId>
        <controlURL>/MusicServices/Control</controlURL>
        <eventSubURL>/MusicServices/Event</eventSubURL>
        <SCPDURL>/xml/MusicServices1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:DeviceProperties:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:DeviceProperties</serviceId>
        <controlURL>/DeviceProperties/Control</controlURL>
        <eventSubURL>/DeviceProperties/Event</eventSubURL>
        <SCPDURL>/xml/DeviceProperties1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:SystemProperties:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:SystemProperties</serviceId>
        <controlURL>/SystemProperties/Control</controlURL>
        <eventSubURL>/SystemProperties/Event</eventSubURL>
        <SCPDURL>/xml/SystemProperties1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:ZoneGroupTopology:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:ZoneGroupTopology</serviceId>
        <controlURL>/ZoneGroupTopology/Control</controlURL>
        <eventSubURL>/ZoneGroupTopology/Event</eventSubURL>
        <SCPDURL>/xml/ZoneGroupTopology1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:GroupManagement:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:GroupManagement</serviceId>
        <controlURL>/GroupManagement/Control</controlURL>
        <eventSubURL>/GroupManagement/Event</eventSubURL>
        <SCPDURL>/xml/GroupManagement1.xml</SCPDURL>
      </service>
      <service>
        <serviceType>urn:schemas-tencent-com:service:QPlay:1</serviceType>
        <serviceId>urn:tencent-com:serviceId:QPlay</serviceId>
        <controlURL>/QPlay/Control</controlURL>
        <eventSubURL>/QPlay/Event</eventSubURL>
        <SCPDURL>/xml/QPlay1.xml</SCPDURL>
      </service>
    </serviceList>
It is not seeing the following three services:

urn:schemas-upnp-org:service:ZoneGroupTopology:1
urn:schemas-upnp-org:service:GroupManagement:1
urn:schemas-tencent-com:service:QPlay:1

I notice that they are the last three as defined, so it's throwing an error somewhere and then not processing further. BUT, I'm not sure this is in the ManagedUPnP code, or in the Windows code. In my testing, it appears it's bubbling up for the Windows code, but I'm far from an expert in this regard. I can only confirm that until recently, this worked for months and months reliably, and now the issue has been confirmed on many different computers and networks. I suppose it's possible that Microsoft pushed an update that broke it, but again this isn't my area of expertise.

Thanks for looking into it! Let me know if you need anything else!

-Chris
Nov 11, 2015 at 4:18 AM
+1 for this issue. I have the same problem and ZoneGroupTopology is a critical service for me...
Jan 8, 2016 at 3:41 AM
skavan wrote:
+1 for this issue. I have the same problem and ZoneGroupTopology is a critical service for me...
any updates on this?
Coordinator
Jan 12, 2016 at 12:17 PM
Hello Everyone,

I looked into this and unfortunately I cannot see any reason why, without having the hardware with me and sniffing the SOAP packets to see why its not working I can't really do much from my end. Is anybody else able to do this?

However, the API still does work for my own router (which I use everyday) so something may have changed in the hardware with a firmware update maybe?

Thanks.
Jan 12, 2016 at 7:39 PM
In my investigation of this previously, it appears the error is bubbling up from the underlying Windows UPnP library. Beyond that, I can't say for sure. We're unfortunately forced to take steps to remove the dependency altogether and write our own UPnP code.
Coordinator
Jan 13, 2016 at 11:10 AM
Thanks for this info ccicchitelli, that was the long term goal of this project, to cut out the dependency on the UPnP Endpoint API altogether, but I just have not had enough time to implement it unfortunately.
Cheers.