Read Next


On Farah Husain

it has taken me weeks to get on here as my server wouldn't let me. So I hope now to continue blogging in peace. Schools out for summer and I am more excited that my kids as got a new grant that I have been struggling with for months, so can spend the summer teaching art to kids who have no gardens in a protected wildlife area. WOO HOO!

Onvif&gSoap (part 1): Introduction

On .flush()

OnVif (http://www.onvif.org/) is a standard protocol designed for searching and controlling IP cameras in a uniform manner. Prior to this protocol, each vendor has his own API for retrieving information from the cameras and changing its configuration.

Onvif protocol is a web-service with the camera as the server. From a logical point of view, the functions are divided into categories, based on the functionality (for instance, streaming, device configuration, IO modules, etc.). From an implementation point of view, there are only three types of functions: discovery, configuration/information retrieval and event notification.

The discovery protocol is based on WS-discovery. Basically, the client sends a specific message on a defined multicast address. All OnVif servers respond to the client and advertise their IP address and some of their characteristics.

The configuration/information retrieval is based on SOAP over HTTP protocol. The client makes a request and the server execute it and/or send the requested data.

The event notification has two modes (based on WS-BaseNotification): either push-mode, or pull-mode. In push-mode is based, the client subscribes to some events on the server and then it listen for incoming connections. The server sends a message to the client for each new event. The client has to renew periodically its subscription. It pull-mode, the client connects periodically to the server, asking if new events are available.

Rendering New Theme...