I am using cling UPnP framework in android to connect to UPnP enabled device. I am successful in creating a device and browsing for available devices in the network. But for the samsung TV in the network the framework in not returning any actions.
Here I am adding the service detail for the RenderingControl
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<controlURL>/upnp/control/RenderingControl1</controlURL>
<eventSubURL>/upnp/event/RenderingControl1</eventSubURL>
<SCPDURL>RenderingControl1.xml</SCPDURL>
</service>
This is the url for fetching the service descriptor xml file
> http://<ip address>:52235/dmr/SamsungMRDesc.xml
But the SCPDURL is relative and I am wondering whether the cling framework is searching for
http://<ip address>:52235/RenderingControl1.xml
instead of
http://<ip address>:52235/dmr/RenderingControl1.xml
Is it the reason for no actions being displayed for the services in cling UPnP or am I doing something really stupid?
How can I properly do this with cling UPnP?
Just a clarification beforehand: the URL
*SamsungMRDesc.xmlis a device descriptor, not a service descriptor as you’ve written, right?The
<SCPDURL>per UPnP spec is “relative to the URL at which the device description is located”. So yes, the correct absolute SCPDURL is the second one. But i would be highly surprised if there was really such severe bug in Cling. So to offer some theories:<action>nodes under<actionList>?Theories 4 and 5 obviously require a PC connected to the same network as the TV (and your Android).