ONVIF TM
Feature discovery specification
Version 11.12
Dec, 2011
2011 by ONVIF, Inc. All rights reserved.
Recipients of this document may copy, distribute, publish, or display this docume nt so long as this copyright notice, license and disclaimer are retained with all copies of the document. No license is granted to modify this document.
THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND THEIR AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE; OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) SUCH DAMAGES WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT. THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT APPLY TO, INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS AND THEIR RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN CERTAIN WRITTEN POLICIES OF THE CORPORATION.
Revision History
Table of Contents
1Introduction (6)
1.1Scope (6)
2Normative references (7)
3Informative references (7)
4Terms and Definitions (7)
4.1Definitions (7)
4.2Abbreviations (8)
5Discovery procedure (8)
5.1General policy (8)
5.2Capabilities (8)
5.3Network configuration functionality in Device Management Service (10)
5.4Security (HTTP digest authentication) support (11)
5.5NTP support (11)
5.6WS-Discovery Bye Message support (11)
5.7System logging support (12)
5.8I/O functionality in Device Management Service (12)
5.9Devices scopes retrieval via GetDeviceScopes (14)
5.10Media Service – general (14)
5.10.1Media Service – Video encoding support (14)
5.10.2Media Service – Audio encoding support (15)
5.10.3Media Service – Supported Real-time streaming Setup (15)
5.10.4Media Service - GetSnapshotUri (16)
5.10.5Media Service – Audio outputs support (17)
5.11Device IO Service (17)
5.11.1Relay outputs support (18)
5.12PTZ Service support (18)
5.12.1Various functions support in PTZ Service (18)
5.12.2Fixed / Configurable Home Position support (20)
5.13Imaging Service support (21)
5.14Video Analytics Service support (21)
Annex A (22)
A.1Selection / Creation of Media Profile that contains PTZConfiguration (22)
1 Introduction
ONVIF Test Specification ([ONVIF Test]) defines / describes test cases need to verify according to [ONVIF Core Specs], [ONVIF Conformance] in conjunction with a certain Profile Specification requirements. However, requirement on which test cases need to be executed and passed is out of the scope of [ONVIF Test]. Such requirements have to be described in separate document.
This document focuses on detailing out feature discovery procedure for ONVIF Device Test Tool (hereafter, it is referred to as ONVIF Client) to identify which functionality is supported / not supported by DUT. Based on this result of the feature discovery, which test cases must be executed and passed is determined for the purpose of claiming conformance to its Profile specification. Some feature detection will be based on capability query and some other feature detection will be based on error code response retrieval toward a specific request.
1.1 Scope
The scope of this document is to define feature discovery procedure of functionalities listed below.
1. Capabilities
2. Network configuration functionality in Device Management Service
3. Security (WS-UsernameToken and / or HTTP digest authentication) support
4. NTP support
5. WS-Discovery Bye Message support
6. System logging support
7. I/O functionality in Device Management Service
8. Device scopes retrieval via GetDeviceScopes
9. Media Service – general
a. Video encoding support
b. Audio encoding support
c. Supported Real-time streaming Setup
d. GetSnapshotUri support
e. Audio outputs support
10. Device IO Service support – general
a. Relay outputs support
11. PTZ Service support
a. Various functions support in PTZ Service
b. Fixed / Configurable Home Position support
12. Imaging Service support
13. Video Analytics Service support
The coverage of the discovery procedure will be evolving in accordance with [ONVIF Test] version evolution and addition of Profile Specification.
2 Normative references
[ONVIF Core Specs] ONVIF Core Specification documents
https://www.sodocs.net/doc/f26687276.html,/Documents/Specifications.aspx
[ONVIF Conformance] ONVIF Conformance Process Specification version 2.0
https://www.sodocs.net/doc/f26687276.html,/Documents/Specifications.aspx
[ONVIF Test] ONVIF Test Specification version 11.12, December 2011
https://www.sodocs.net/doc/f26687276.html,/Documents/Specifications.aspx
[ONVIF Base Test] ONVIF Base Test Specification version 11.12, December 2011
https://www.sodocs.net/doc/f26687276.html,/Documents/Specifications.aspx
[ONVIF Media Test] ONVIF Media Test Specification version 11.12, December 2011
https://www.sodocs.net/doc/f26687276.html,/Documents/Specifications.aspx
[ONVIF PTZ Test] ONVIF PTZ Test Specification version 11.12, December 2011
https://www.sodocs.net/doc/f26687276.html,/Documents/Specifications.aspx
[ONVIF Imaging Test] ONVIF Imaging Test Specification version 11.12, December 2011
https://www.sodocs.net/doc/f26687276.html,/Documents/Specifications.aspx
3 Informative references
[ONVIF Test Case Summary for Profile S] ONVIF Test Case Summary for Profile S Conformance, version 11.12, December 2011 https://www.sodocs.net/doc/f26687276.html,/Documents/Specifications.aspx
[ONVIF Profile S] ONVIF Profile S Specification, December 2011
https://www.sodocs.net/doc/f26687276.html,/Documents/Specifications.aspx
4 Terms and Definitions
4.1 Definitions
Capability The capability commands allow a client to ask for the services provided by an
ONVIF device.
Network A network is an interconnected group of devices communicating using the
Internet protocol.
ONVIF Client ONVIF Device Test Tool in the context of this document
4.2 Abbreviations
DUT Device Under Test
DNS Domain Name System
DHCP Dynamic Host Configuration Protocol
IP Internet Protocol
IPv4 Internet Protocol version 4
IPv6 Internet Protocol version 6
NTP Network Time Protocol
RTCP RTP Control Protocol
RTSP Real Time Streaming Protocol
RTP Real-time Transport Protocol
URI Uniform Resource Identifier
5 Discovery procedure
This section describes about policy on how ONVIF Client assumes that a certain feature is supported or not, followed by respective feature discovery procedures.
5.1 General policy
ONVIF Client will issue capability query command (GetCapabilities) to get to know whether a certain feature is supported by DUT. If the DUT returns correct response, ONVIF Client determine whether a feature in question is supported or not, based on the content of the response. If the DUT returns unexpected response or it does not return any response, ONVIF Client assumes that the capability query command which is being used is not supported by DUT.
There are a number of functions which are defined as conditionally required. And there are some of functions which are not present in any capability response fields. As for these commands, ONVIF Client will issue the very function command to determine whether the function is supported or not. In the case that the DUT returns correct response to indicate no function support such as SOAP fault env:Receiver / ter:ActionNotSupported / ter:NoSuchService, ONVIF Client assumes that the function is not supported by DUT. In the case that the DUT returns unexpected response or it does not return any response, ONVIF Client will mark the function support in question as undefined.
After going through all the feature discovery steps based on the above general policy, w hat are marked as supported and undefined will be processed as supported features during conformance testing.
5.2 Capabilities
From the first version of ONVIF Core Specification document, GetCapabilities command defined in Device Management Service was the only command to get to know the various feature capabilities by DUT. This capability query scheme was modified in the later version of [ONVIF Core Specs] in order to enhance its scalability. The following procedure focuses on GetCapabilities as supported capability query method by DUT, which is a mandatory requirement for Profile S.
Discovery Procedure:
1. ONVIF Client invokes GetCapabilitiesRequest message without any authentication to retrieve
the capabilities and check GetCapabilities command support by DUT.
a. If DUT returns correct GetCapabilitiesResponse message, ONVIF Client assume that
GetCapabilities feature is supported by the DUT. Go to step 4
b. If DUT returns fault message (any SOAP fault except Sender/NotAuthorized) or it does
not return any response, ONVIF Client assumes that GetCapabilities feature is not
supported by the DUT. Go to step 4.
c. If DUT returns fault message (SOAP fault Sender/NotAuthorized), go to step 2.
d. If DUT returns HTTP 401 Unauthorized error, go to step 3.
2. ONVIF Client invokes GetCapabilitiesRequest message with WS-UsernameToken
authentication to retrieve the capabilities and check GetCapabilities command support of DUT.
a. If DUT returns correct GetCapabilitiesResponse message, ONVIF Client assumes that
GetCapabilities feature is supported by the DUT. Go to step 4.
b. If DUT does not return correct GetCapabilitiesResponse message, ONVIF Client
assumes that GetCapabilities feature is not supported by the DUT. Go to step 4.
3. ONVIF Client invokes GetCapabilitiesRequest message with HTTP Digest authentication to
retrieve the capabilities and check GetCapabilities command support of DUT.
a. If DUT returns correct GetCapabilitiesResponse message, ONVIF Client assumes that
GetCapabilities feature is supported by the DUT. Go to step 4.
b. If DUT does not return correct GetCapabilitiesResponse message, ONVIF Client
assumes that GetCapabilities feature is not supported by the DUT. Go to step 4.
4. ONVIF Client invokes GetServicesRequest message without any authentication to retrieve the
capabilities and check GetServices command support by DUT.
a. If DUT returns GetServicesResponse message, ONVIF Client assumes that
GetServices feature is supported by the DUT. Go to next feature detection.
b. If DUT returns fault message (any SOAP fault except Sender/NotAuthorized) or it does
not return any response, ONVIF Client assumes that GetServices feature is supported
by the DUT. Go to next feature detection.
c. If DUT return fault message (Sender/NotAuthorized), go to step 5.
d. If DUT return HTTP 401 Unauthorized error, go to step 6.
5. ONVIF Client invokes GetServicesRequest message with WS-UsernameToken authentication
to retrieve the capabilities and check GetServices command support of DUT.
a. If DUT returns GetServicesResponse message, ONVIF Client assumes that
GetServices feature is supported by the DUT. Go to next feature detection.
b. If DUT does not return GetServicesResponse message, ONVIF Client assumes that
GetServices feature is not supported by the DUT. Go to next feature detection.
6. ONVIF Client invokes GetServicesRequest message with HTTP Digest authentication to
retrieve the capabilities and check GetServices command support by DUT.
a. If DUT returns GetServicesResponse message, ONVIF Client assumes that
GetServices feature is supported by the DUT.
b. If DUT does not return GetServicesResponse message, GetServices feature is not
supported by the DUT.
Note: If GetCapabilities function is defined as unsupported, other features except GetServices will be marked as undefined.
5.3 Network configuration functionality in Device Management Service
There are various network configuration functions defined in [ONVIF Core] as a part of ONVIF Device Management Service. The following provides with the functionality discovery procedure which is related to network configuration.
Discovery Procedure:
1. If GetCapabilitiesResponse does not include https://www.sodocs.net/doc/f26687276.html,work.ZeroConfiguration
or it includes https://www.sodocs.net/doc/f26687276.html,work.ZeroConfiguration = false, then ONVIF Client assumes that Zero Configuration feature is not supported by DUT.
2. If GetCapabilitiesResponse includes https://www.sodocs.net/doc/f26687276.html,work.ZeroConfiguration = true,
then ONVIF Client assumes that Zero Configuration feature is supported by DUT.
3. If GetCapabilitiesResponse does not include https://www.sodocs.net/doc/f26687276.html,work.IPVersion6 or it
includes https://www.sodocs.net/doc/f26687276.html,work.IPVersion6 = false, then ONVIF Client assumes that IPv6 feature is not supported by DUT.
4. If GetCapabilitiesResponse includes https://www.sodocs.net/doc/f26687276.html,work.IPVersion6 = true, then
ONVIF Client assumes that IPv6 feature is supported by DUT.
5. If GetCapabilitiesResponse does not include https://www.sodocs.net/doc/f26687276.html,work.IPFilter or it
includes https://www.sodocs.net/doc/f26687276.html,work.IPFilter = false, then IP Filter feature is not supported by DUT.
6. If GetCapabilitiesResponse includes https://www.sodocs.net/doc/f26687276.html,work.IPFilter = true, then IP Filter
feature is supported by DUT.
7. If GetCapabilitiesResponse does not include https://www.sodocs.net/doc/f26687276.html,work.DynDNS or it
includes https://www.sodocs.net/doc/f26687276.html,work.DynDNS = false, then Dynamic DNS feature is not supported by DUT.
8. If GetCapabilitiesResponse includes https://www.sodocs.net/doc/f26687276.html,work.DynDNS = true, then
Dynamic DNS feature is supported by DUT.
Note:Absence of https://www.sodocs.net/doc/f26687276.html,work element in GetCapabilitiesResponse will be regarded as no support of the following functionalities.
?ZeroConfiguration
?IPv6
?IP Filter
?Dynamic DNS
5.4 Security (HTTP digest authentication) support
In the first version of [ONVIF Core], WS-UsernameToken support was the only method defined as mandatory feature for user authentication. This has been changed in the later version of [ONVIF Core] where it also defines the HTTP digest authentication support as mandatory feature.
The following discovery procedure will be performed for ONVIF Client to determine which user authentication function will be used in conformance testing.
Discovery Procedure:
1. ONVIF Client invokes request message for command with security support without any user
authentication (no WS-Security and no HTTP digest authentication) to check HTTP digest authentication support.
2. If DUT returns HTTP 401 Unauthorized error, then ONVIF Client assumes that HTTP digest
feature is supported by DUT. ONVIF Client, otherwise, assumes that HTTP digest feature is not supported by DUT.
Note: The command which is being used for this discovery procedure should be provided by before performing the steps.
Note:If HTTP digest authentication is assumed as supported, the HTTP digest authentication scheme will be used in the following feature discovery procedure whenever necessary as well as in conformance testing.
5.5 NTP support
Whether DUT supports NTP functionality is determined by the following discovery procedure.
Discovery Procedure:
1. ONVIF Client invokes GetNTPRequest.
a. If DUT returns correct GetNTPResponse message, ONVIF Client assumes that NTP is
supported by DUT.
b. If DUT return any SOAP fault, ONVIF Client assumes that NTP is not supported by
DUT.
c. In any other case than the above, NTP function support will be marked as undefine
d.
5.6 WS-Discovery Bye Message support
WS-Discovery Bye Message support can be retrieved by checking correspondent element GetCapabilitiesResponse. The following is the detailed procedure to determine this function support.
Discovery Procedure:
1. ONVIF Client invokes GetCapabilitiesRequest to check WS-Discovery Bye Message support.
a. If GetCapabilitiesResponse does not include
Capabilities.Device.System.DiscoveryBye or it includes
Capabilities.Device.System.DiscoveryBye = false, ONVIF Client assumes that BYE
Message feature is not supported by DUT.
b. If GetCapabilitiesResponse includes Capabilities.Device.System.DiscoveryBye = true,
ONVIF Client assumes that BYE Message feature is supported by DUT.
Note:Absence of Capabilities.Device.System element in the GetCapabilitiesResponse will be regarded as absence of Capabilities.Device.System.DiscoveryBye.
Note:If Capabilities.Device element is not included in the GetCapabilitiesResponse, BYE Message feature will be marked as unsupported.
5.7 System logging support
System logging function support can be retrieved by checking correspondent element of GetCapabilitiesResponse. The following is the detailed procedure to determine the function support. Discovery Procedure:
1. ONVIF Client invokes GetCapabilitiesRequest to check System logging function support.
a. If GetCapabilitiesResponse does not include
Capabilities.Device.System.SystemLogging or it includes
Capabilities.Device.System.SystemLogging = false, ONVIF Client assumes that
System logging function is not supported by DUT.
b. If GetCapabilitiesResponse includes Capabilities.Device.System.SystemLogging =
true, ONVIF Client assumes that System logging function is supported by DUT.
Note:Absence of Capabilities.Device.System element in the GetCapabilitiesResponse will be defined as absence of Capabilities.Device.System.SystemLogging.
Note:If Capabilities.Device element is not included in the GetCapabilitiesResponse System logging feature will be marked as unsupported.
5.8 I/O functionality in Device Management Service
I/O related functionality support can be retrieved by checking correspondent element of GetCapabilitiesResponse. The following is the procedure to determine the function support. Discovery Procedure:
1. ONVIF Client invokes GetCapabilitiesRequest to check I/O functionality support.
a. If GetCapabilitiesResponse does not include Capabilities.Device.IO.RelayOutputs or it
includes Capabilities.Device.IO.RelayOutputs = 0, ONVIF Client assumes that
RelayOutputs feature is not supported by DUT. Go to next feature detection.
b. If GetCapabilitiesResponse includes Capabilities.Device.IO.RelayOutputs > 0, ONVIF
Client assumes that RelayOutputs feature is supported by DUT.
c. ONVIF Client invokes GetRelayOutputsRequest message to retrieve relay output list.
d. The DUT returns GetRelayOutputsResponse with list of relay outputs.
e. ONVIF Client invokes SetRelayOutputSettingsRequest message (RelayOutputToken =
“[first token from GetRelayOutputsResponse]”, Properties.Mode = “Bistable”,
Properties.DelayTime = “PT30S”, Properties.IdleState = “open”).
f. If the DUT returns SetRelayOutputSettingsResponse, ONVIF Client assumes that
Open Idle State for Bistable Mode is supported by the DUT. Otherwise, ONVIF Client
assumes that Open Idle State for Bistable Mode is not supported by the DUT.
g. ONVIF Client invokes SetRelayOutputSettingsRequest message (RelayOutputToken =
“[first token from GetRelayO utputsResponse]”, Properties.Mode = “Bistable”,
Properties.DelayTime = “PT30S”, Properties.IdleState = “closed”).
h. If the DUT returns SetRelayOutputSettingsResponse, ONVIF Client assumes that
Closed Idle State for Bistable Mode is supported by the DUT. Otherwise, ONVIF Client
assumes that Closed Idle State for Bistable Mode is not supported by the DUT.
i. If Closed Idle State for Bistable Mode is supported or Open Idle State for Bistable Mode
is supported by DUT, ONVIF Client assumes that Bistable Mode is supported.
Otherwise, ONVIF Client assumes that Bistable Mode is not supported by DUT.
j. ONVIF Client invokes SetRelayOutputSettingsRequest message (RelayOutputToken = “[first token from GetRelayOutputsResponse]”, Properties.Mode = “Monostable”,
Properties.DelayTime = “PT30S”, Properties.IdleState = “open”).
k. If the DUT returns SetRelayOutputSettingsResponse, ONVIF Client assumes that Open Idle State for Monostable Mode is supported by DUT. Otherwise, ONVIF Client
assumes that Open Idle State for Monostable Mode is not supported by DUT.
l. ONVIF Client invokes SetRelayOutputSettingsRequest message (RelayOutputToken = “[first token from GetRelayOutputsResponse]”, Properties.Mode = “Monostable”,
Properties.DelayTime = “PT30S”, Properties.IdleState = “closed”).
m. If the DUT returns SetRelayOutputSettingsResponse, ONVIF Client assumes that Closed Idle State for Monostable Mode is supported by DUT. Otherwise, ONVIF Client
assumes that Closed Idle State for Monostable Mode is not supported by DUT.
n. If Closed Idle State for Monostable Mode is supported or Open Idle State for Monostable Mode is supported, ONVIF Client assumes that Monostable Mode is
supported by DUT. Otherwise, ONVIF Client assumes that Monostable Mode is not
supported by DUT.
Note: Absence of Capabilities.Device.IO element in the GetCapabilitiesResponse will be defined as absence of Capabilities.Device.IO.RelayOutputs.
Note:If Capabilities.Device element is not included in the GetCapabilitiesResponse, Relay Outputs feature will be marked as unsupported.
Note:If DUT does not return GetRelayOutputsResponse or list of relay outputs in the GetRelayOutputsResponse is empty, Relay Outputs features will be marked as undefined.
5.9 Devices scopes retrieval via GetDeviceScopes
Device scopes provided via GetDeviceScopes may indicate referenced Profiles by DUT in case that DUT support a certain profile. The following is the procedure to identify referenced Profile(s) by DUT. For the details on how the retrieved scope will be used for Profile checking, refer to separate document.
Discovery Procedure:
1. ONVIF Client invokes GetScopesRequest message to retrieve device scope list.
2. ONVIF Client preserves the device scope list to determine the referenced Profiles.
Note:If DUT does not return GetScopesResponse, ONVIF Client regards that the device scope is defined as empty.
5.10 Media Service – general
Media Service support is defined according to the following procedure.
Discovery Procedure:
1. ONVIF Client invokes GetCapabilitiesRequest to check Media Service support by DUT.
2. If the GetCapabilitiesResponse does not include Capabilities.Media, ONVIF Client assumes
that Media Service is supported by DUT.
Note: If Media service is not supported, skip following parts of feature define process:
5.10.1 Media Service – Video encoding support
Video encoding function support in Media Service is determined according to the following procedure.
Pre-requisite:
JPEG shall be defined as supported as it is mandatory to be supported by DUT.
Discovery Procedure:
1. ONVIF Client invokes GetVideoEncoderConfigurationOptionsRequest (no ConfigurationToken,
no ProfileToken) message to retrieve all supported codec’s.
2. The DUT returns GetVideoEncoderConfigurationOptionsResponse with list of supported
codec’s.
3. If GetVideoEncoderConfigurationOptionsResponse includes Options.MPEG4 element, ONVIF
Client assumes that MPEG4 function is supported by DUT. Otherwise, ONVIF Client assumes that MPEG4 function is not supported by DUT.
4. If GetVideoEncoderConfigurationOptionsResponse includes Options.H264 element, ONVIF
Client assumes that H.264 function is supported by DUT. Otherwise, ONVIF Client assumes that H.264 function is not supported by DUT.
Note:If DUT does not return GetVideoEncoderConfigurationOptionsResponse MPEG4 and H.264 feature will be marked as undefined.
5.10.2 Media Service – Audio encoding support
Audio encoding function support in Media Service is determined according to the following procedure.
Pre-requisite:
?In case that DUT support Audio encoding function, it is determined that G.711 audio encoding support is supported by DUT.
Discovery Procedure:
5. ONVIF Client invokes GetAudioEncoderConfigurationOptionsRequest (no ConfigurationToken,
no ProfileToken) message to retrieve all supported audio codecs.
If DUT returns correct GetAudioEncoderConfigurationOptionsResponse, ONV IF Client
assumes that Audio encoding function is supported by DUT.
If DUT returns any SOAP fault, ONVIF Client assumes that Audio encoding function is
not supported by DUT. Otherwise, ONVIF Client marks Audio encoding function
support by DUT as undefined.
6. If the GetAudioEncoderConfigurationOptionsResponse includes Options.Options.Encoding =
“G726”element, ONVIF Client assumes that G.726 Audio encoding is supported by DUT.
Otherwise, ONVIF Client assumes that G.726 Audio encoding is not supported by DUT.
7. If the GetAudioEncoderConfigurationOptionsResponse includes Options.Options.Encoding =
“AAC”element, ONVIF Client assumes that AAC Audio encoding is supported by DUT.
Otherwise, ONVIF Client assumes that AAC Audio encoding is not supported by DUT.
5.10.3 Media Service – Supported Real-time streaming Setup
Which Real-time streaming Setup is supported is determined according to the following procedure.
Pre-requisite:
?If DUT supports Media Service, RTP/UDP Setup (StreamSetup.Stream = “RTP_Unicast”, StreamSetup.TransPort=”UDP”) is determined as supported by DUT.
If DUT supports Media Service, RTP/RTSP/HTTP Setup (StreamSetup.Stream = “RTP_Unicast”, StreamSetup.TransPort=”HTTP”) is determined as supported by DUT. Discovery Procedure:
1. ONVIF Client invokes GetCapabilitiesRequest message to check Multicast streaming
capability support by DUT.
2. If the GetCapabilitiesResponse does not include
Capabilities.Media.StreamingCapabilities.RTPMulticast or it includes Capabilities.Media.StreamingCapabilities.RTPMulticast = false element, ONVIF Client assumes that RTP Multicast streaming (UDP) is not supported by DUT.
3. If the GetCapabilitiesResponse includes
Capabilities.Media.StreamingCapabilities.RTPMulticast = true, ONVIF Client assumes that RTP Multicast streaming (UDP) is supported by DUT.
4. If the GetCapabilitiesResponse does not include
Capabilities.Media.StreamingCapabilities.RTP_RTSP_TCP or it includes Capabilities.Media.StreamingCapabilities.RTP_RTSP_TCP = false element, ONVIF Client assumes that RTP/RTSP/TCP Setup (StreamSetup.Stream = “RTP_Unicast”, StreamSetup.Transport = “RTSP”) is not supported by DUT.
5. If the GetCapabilitiesResponse includes
Capabilities.Media.StreamingCapabilities.RTP_RTSP_TCP = true element, ONVIF Client assumes that RTP/RTSP/TCP Setup is supported by DUT.
5.10.4 Media Service - GetSnapshotUri
GetSnapshotUri function support is determined according to the following procedure.
Discovery Procedure:
1. ONVIF Client invokes GetProfilesRequest message to retrieve existing Media Profiles list
2. DUT returns GetProfilesResponse with the list of existing Media Profiles.
3. ONVIF Client looks for ready-to-use profile (a profile with VideoSourceConfiguration and
VudeioEncoderConfiguration in the GetProfilesResponse. If there are no ready-to-use profiles found in the GetProfilesResponse, ONVIF Client marks GetSnapshotUri support by DUT as undefined.
4. ONVIF Client invokes GetSnapshotUriRequest (ProfileToken = found ready-to-use profile
token) message to get Snapshot URI.
a. If DUT returns correct GetSnapshotUriResponse, ONVIF Client assumes that
GetSnapshotUri function is supported by DUT.
b. If DUT returns any SOAP fault, ONVIF Client assumes that GetSnapshotUri function is
not supported by DUT. Otherwise, ONVIF Client marks GetSnapshotUri support by
DUT as undefined.
Note:If no GetProfilesResonse is returned by DUT, GetSnapshotUri function support by DUT is marked as undefined.
5.10.5 Media Service – Audio outputs support
Audio outputs support in conjunction with its Audio decoding function is determined according to the following procedure.
Discovery Procedure:
1. ONVIF Client invokes GetAudioOutputsRequest message to retrieve Audio outputs list.
a. If DUT returns correct GetAudioOutputsResponse and there are at least one
AudioOutput in the list, ONVIF Client assumes that Audio output is supported by DUT.
b. If DUT returns empty GetAudioOutputsResponse and there are no AudioOutputs in the
list, ONVIF Client assumes that Audio output is not supported by DUT.
c. If DUT returns any SOAP fault, ONVIF Client assumes that Audio output is not
supported by DUT. Otherwise, ONVIF Client assumes that Audio output support is
marked as undefined.
2. ONVIF Client invokes GetAudioDecoderConfigurationOptionsRequest (no ConfigurationToken,
no ProfileToken) message to retrieve all supported Audio codecs for decoding by DUT.
a. If the GetAudioDecoderConfigurationOptionsResponse includes
Options.G711DecOptions element, ONVIF Client assumes that G.711 Audio decoding
function is supported by DUT. Otherwise, ONVIF Client assumes that G.711 Audio
decoding function is not supported by DUT.
b. If the GetAudioDecoderConfigurationOptionsResponse includes
Options.G726DecOptions element, ONVIF Client assumes that G.726 Audio decoding
function is supported by DUT. Otherwise, ONVIF Client assumes that G.726 decoding
function is not supported by DUT.
c. If the GetAudioDecoderConfigurationOptionsResponse includes
Options.AACDecOptions element, ONVIF Client assumes that AAC Audio decoding
function is supported by DUT. Otherwise, ONVIF Client assumes that AAC Audio
decoding function is not supported by DUT.
Note: If DUT does not return GetAudioDecoderConfigurationResponse, ONVIF Client assumes that
G.711, G.726 and AAC Audio decoding function support is marked as undefined.
5.11 Device IO Service
Device IO Service feature support is determined according to the following procedure.
Discovery Procedure:
1. ONVIF Client invokes GetCapabiltiesRequest message to check Device IO Service feature
support.
2. If the GetCapabilitiesResopnse does not include Extension.DeviceIO, ONVIF Client assumes
that Device IO Service feature is not supported by DUT.
3. If the GetCapabilitiesResponse includes Extension.DeviceIO, ONVIF Client assumes that
Device IO Service feature is supported by DUT.
Note: If the Device IO Service feature is not supported by DUT, the following feature discovery (Relay outputs support) should be skipped.
5.11.1 Relay outputs support
Relay outputs support under Device IO Service is determined according to the following procedure in conjunction with the above procedure.
Pre-requisite
This procedure assumes that GetCapabilitiesResponse has been already retrieved via preceding procedure described in Section 5.11.
Discovery Procedure:
1. If the GetCapabilitiesResponse includes Capabilities.Extension.DeviceIO.RelayOutputs = 0,
ONVIF Client assumes that Relay outputs under Device IO Service is not supported by DUT.
2. If the GetCapabilitiesResponse includes Capabilities.Extension.DeviceIO.ReplayOutputs > 0,
ONVIF Client assumes that Relay outputs under Device IO Service is not supported by DUT.
5.12 PTZ Service support
PTZ Service feature support is defined according to the following procedure, followed by its sub-functions discovery procedure.
Discovery Procedure:
1. ONVIF Client invokes GetCapabilitiesRequest message to check PTZ Service feature support
by DUT.
2. If the GetCapabilitiesResponse does not include Capabilities.PTZ, ONVIF Client assumes that
PTZ Service feature is not supported by DUT. Otherwise, ONVIF Client assumes that PTZ Service feature is supported by DUT.
Note: If PTZ Service feature support is determined as unsupported, the following function discovery (Various functions support and Fixed / Configurable Home Position support) should be skipped.
5.12.1 Various functions support in PTZ Service
Number of function support in PTZ Service is determined according to the following procedure.
Pre-requisite
? A PTZNode which is used in the function discovery procedure should be provided prior to the execution of the procedure. Otherwise, ONVIF Client will invoke GetNode sRequest message to get the PTZNodes that can be used for the procedure and the first PTZNode present in GetNodesResponse will be used in the procedure. In case that PTZNode token is provided, ONVIF Client will use the provided PTZNode token to derive PTZNode via GetNodeRequest.
?Continuous move function is considered as supported if DUT supports PTZ Service feature.
Discovery Procedure:
1. If SupportedPTZSpaces.ContinousPanTiltVelocitySpace element is present in PTZNode,
ONVIF Client assumes that Continuous Pan/Tilt movement function is supported by DUT.
Otherwise, ONVIF Client assumes that Continuous Pan/Tilt movement function is not supported by DUT.
2. If SupportedPTZSpaces.ContinousZoomVelocitySpace element is present in PTZNode,
ONVIF Client assumes that Continous Zoom movement function is supported by DUT.
Otherwise, ONVIF Client assumes that Continous Zoom movement function is not supported by DUT.
3. If SupportedPTZSpaces.AbsolutePanTiltPositionSpace element is present in PTZNode,
ONVIF Client assumes that Absolute Pan/Tilt movement function is s upported by DUT.
Otherwise, ONVIF Client assumes that Absolute Pan/Tilt movement function is not supported by DUT.
4. If SupportedPTZSpaces.AbsoluteZoomPositionSpace element is present in PTZNode, ONVIF
Client assumes that Absolute Zoom movement function is s upported by DUT. Otherwise, ONVIF Client assumes that Absolute Zoom movement function is not supported by DUT.
5. If either Absolute Pan/Tilt movement function or Absolute Zoom movement function is
supported by DUT, ONVIF Client assumes that Absolute movement function is supported by DUT. Otherwise, ONVIF Client assumes that Absolute movement function is not supported by DUT.
6. If SupportedPTZSpaces.RelativePanTiltTranslationSpace is present in PTZNode, ONVIF
Client assumes that Relative Pan/Tilt movement function is supported by DUT. Otherwise, ONVIF Client assumes that Relative Pan/Tilt movement function is not supported by DUT.
7. If SupportedPTZSpaces.RelativeZoomTranslationSpace is present in PTZNode, ONVIF Client
assumes that Relative Zoom movement function is supported by DUT. Otherwise, ONVIF Client assumes that Relative Zoom movement function is not supported by DUT.
8. If either Relative Pan/Tilt movement function or Relative Zoom movement function is supported
by DUT, ONVIF Client assumes that Relative movement function is supported by DUT.
Otherwise, ONVIF Client assumes that Relative movement is not supported by DUT.
9. If SupportedPTZSpaces.PanTiltSpeedSpace is present in PTZNode, ONVIF Client assumes
that Speed configuration function for Pan/Tilt movement is supported by DUT. Otherwise, ONVIF Client assumes that Speed configuration function for Pan/Tilt movement is not supported by DUT.
10. If SupportedPTZSpaces.ZoomSpeedSpace is present in PTZNode, ONVIF Client assumes
that Speed configuration function for Zoom movement is supported by DUT. Otherwise, ONVIF Client assumes that Speed configuration for Zoom movement is not supported by DUT.
11. If MaximumNumberOfPresets > 0 in PTZNode, ONVIF Client assumes that preset position
function is supported by DUT. Otherwise, preset position function is not supported by DUT.
12. If at least one AuxiliaryCommands element is present in PTZNode, ONVIF Client assumes that
Auxiliary operation under PTZ Service is supported by DUT. Otherwise, ONVIF Client assumes that Auxiliary operation under PTZ Service is not supported by DUT.
13. If HomeSupported element is defined as true in PTZNode, ONVIF Client assumes that Home
Position function is supported by DUT. Otherwise, ONVIF Client assumes that Home Position function is not supported by DUT.
Note: If neither GetPTZNodesResponse nor GetPTZNodeResponse is retuned correctly by DUT, all functions support under PTZ Service is marked as undefined.
5.12.2 Fixed / Configurable Home Position support
In case that Home Position function is supported by DUT, either Fixed or Configurable Home Position shall be supported by DUT. The following defines the discovery procedure to determine which Home Position function is supported by DUT.
Pre-requisite
A PTZNode which is used in the function discovery procedure should be provided prior to the
execution of the procedure. Otherwise, ONVIF Client will invoke GetNodesRequest message to get the PTZNodes that can be used for the procedure and the first PTZNode present in GetNodesResponse will be used in the procedure. In case that PTZNode token is provided, ONVIF Client will use the provided PTZNode token to derive PTZNode via GetNodeRequest. Discovery Procedure:
1. ONVIF Client invokes GetConfigurationsRequest message to retrieve PTZNodes list.
2. DUT returns GetConfigurationsResponse with the list of PTZConfiuguraion that contains
PTZNode. ONVIF Client identifies first PTZConfiguration which has the corresponding PTZNode with the provided PTZNode.
3. ONVIF Client either selects or newly creates Media Profile along with the identified
PTZConfiguration. Refer to Annex A1 for the details.
4. ONVIF Client invokes SetHomePositionRequest (ProfileToken = selected or newly created
profile token) message to check Configurable Home Position is supported by DUT.
a. If DUT returns correct SetHomePositionResponse, ONVIF Client assumes that
Configurable Home Position function is supported by DUT.
b. If DUT returns any SOAP fault, ONVIF Client assumes that ONVIF Client assumes that
Fixed Home Position function is supported by DUT.
c. Other than the above, ONVIF Client marks Home Position function support is
undefined.
5. ONVIF Client restores Media Profiles setting in case that it changes some of the Media Profiles
configuration.