Get information from specific IP address

May 13, 2014 at 1:10 PM
Hi everyone,

I'm new in UPnP issues using C#. I try to get specific information from device in my local network. For now I get all informations about all devices from all over network, but i need to connect to specyfic IP adress, and ask them about it's propertys.

Could You give me some advice what can I use to do it?
Coordinator
May 14, 2014 at 10:29 AM
Dear Piotr_Sz,

The best way to do this is to send out a search query directly to the IP address, this will then give you the Device Description document for that device which will give you all the information required for its Services and what the services support.

The other way is to send out a search query broadcast as you normally would and then only select the device with the required IP address once it replies.

Is this what you were looking for?

Thanks.
May 19, 2014 at 7:24 AM
The first option seems to be better. With functions can I use to search directly by IP? I try to find any with IP paramiter, but I don't see any.
Coordinator
May 19, 2014 at 10:25 AM
Edited May 19, 2014 at 10:27 AM
Hey Piotr_Sz,

Unfortunately, because UPnP is not designed to work this way there is no way to do this using the Windows UPnP Control Point API, because my C# framework is built on this there is no way that I know of to do it. You may look into specifying a special "TypeURI" parameter for the search, but as far as I know there is no way to filter by IP address:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa381592(v=vs.85).aspx

You could of course do it by writing your own request sender and send the UPnP search request yourself to a specific IP address, but this is out of scope for this project as it is not how UPnP works, UPnP works using a discovery method.

The second option you can do simply by doing a find and then reading the IP Address information for each device until you see it.

This page here has details on how the request is sent:

http://bighow.net/4881599-device_types_in_CreateAsyncFind_function_of_UPnP.html

Kind Regards,
TheToid