Onvif ip camera service discovery

Aleksa picture Aleksa · Mar 19, 2015 · Viewed 7.2k times · Source

I need to discover all ip cameras in local area network that supports onvif protocol. I tried with WSDiscoveryClient, but it doesnt discover onvif services, although it discovers other services. Its like onvif doesnt responde to probe from WSDiscoveryClient. Onvif device manager can do the discovery, so I know it is possible to do it. Does anyone know how to do it?

Answer

ChrisWard1000 picture ChrisWard1000 · Mar 21, 2015

This document: http://www.onvif.org/Portals/0/documents/WhitePapers/ONVIF_WG-APG-Application_Programmer%27s_Guide.pdf

Shows an example of what is required to send(via UDP broadcast)in order to discover ONVIF devices

<?xml version="1.0" encoding="UTF-8"?>
<e:Envelope xmlns:e="http://www.w3.org/2003/05/soap-envelope"
xmlns:w="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:d="http://schemas.xmlsoap.org/ws/2005/04/discovery"
xmlns:dn="http://www.onvif.org/ver10/network/wsdl">
<e:Header>
<w:MessageID>uuid:84ede3de-7dec-11d0-c360-f01234567890</w:MessageID>
<w:To e:mustUnderstand="true">urn:schemas-xmlsoap-org:ws:2005:04:discovery</w:To>
<w:Action a:mustUnderstand="true">http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe</w:Action>
</e:Header>
<e:Body>
<d:Probe>
<d:Types>dn:NetworkVideoTransmitter</d:Types>
</d:Probe>
</e:Body>
</e:Envelope>