Onvif Test Specification
Onvif Test Specification
Test Specification
Version 1.01
September, 2009
NOTE:
This ONVIF Test Specification does not cover all
requirements of the ONVIF Core Specification Version 1.01
1 Scope ............................................................................................................................ 6
2 Normative References ................................................................................................... 6
3 Terms and Definitions .................................................................................................... 7
3.1 Definitions ............................................................................................................ 7
3.2 Abbreviations ....................................................................................................... 8
4 Test Overview ............................................................................................................... 9
4.1 Basic Functionality Test ........................................................................................ 9
4.1.1 Device Discovery ...................................................................................... 9
4.1.2 Device Management .................................................................................. 9
4.1.3 Media Configuration ................................................................................. 11
4.1.4 Real Time Viewing ................................................................................... 12
5 Test Infrastructure ........................................................................................................ 13
5.1 Network Configuration for NVT Device ................................................................. 13
6 Test Procedure ............................................................................................................. 14
6.1 Test Sequence .................................................................................................... 14
6.2 Precondition ........................................................................................................ 15
6.3 Requirement level ................................................................................................ 15
6.3.1 MUST ...................................................................................................... 15
6.3.2 MUST IF SUPPORTED ............................................................................ 15
6.3.3 SHOULD, SHOULD IF SUPPORTED and OPTIONAL ................................ 15
7 Test Policy ................................................................................................................... 16
7.1 IP Address Transition .......................................................................................... 16
7.2 Multiple Network Interfaces .................................................................................. 16
7.3 Retesting ............................................................................................................. 16
7.4 Test Logging ....................................................................................................... 16
7.5 Device Discovery Test ......................................................................................... 16
7.6 Device Management Test ..................................................................................... 17
7.7 Media Configuration Test ..................................................................................... 17
7.8 Real Time Viewing Test ....................................................................................... 17
8 NVT Basic Functionality Test Cases .............................................................................. 17
8.1 Device Discovery Test Cases ............................................................................... 18
8.1.1 NVT HELLO MESSAGE ............................................................................ 18
8.1.2 NVT HELLO MESSAGE VALIDATION ....................................................... 19
8.1.3 NVT SEARCH BASED ON DEVICE SCOPE TYPES .................................. 20
8.1.4 NVT SEARCH USING UNICAST PROBE MESSAGE ................................. 23
8.1.5 NVT DEVICE SCOPES CONFIGURATION ................................................ 23
8.1.6 NVT BYE MESSAGE ................................................................................ 26
8.1.7 NVT SOAP FAULT MESSAGE .................................................................. 27
8.2 Device Management Test Cases .......................................................................... 28
8.2.1 NVT WSDL URL .......................................................................................28
8.2.2 NVT ALL CAPABILITIES .......................................................................... 29
8.2.3 NVT DEVICE CAPABILITIES .................................................................... 30
8.2.4 NVT MEDIA CAPABILITIES ...................................................................... 31
8.2.5 NVT SERVICE CATEGORY CAPABILITIES .............................................. 32
8.2.6 NVT SOAP FAULT MESSAGE .................................................................. 32
8.2.7 NVT NETWORK COMMAND HOSTNAME CONFIGURATION .................... 33
The goal of the ONVIF test specification is to make it possible to realize fully interoperable
network video implementations from different network video vendors. The ONVIF test
specification describes test framework, test infrastructure, test sequences, pre-requisites and
test policies. The ONVIF test specification document refers ONVIF Core Specification v1.01
wherever necessary.
This is the ONVIF test specification. In addition, ONVIF has released the following related
specifications:
The purpose of this document is to define the ONVIF test framework to test Network Video
Transmitter (NVT) Implementation conformance towards the ONVIF Core Specification v1.01.
NVT Implementation conformance shall be validated by Network Video Client (NVC) Test Tool.
NVC Test Tool is hereafter referred as “NVC”.
This ONVIF Test Specification defines and regulates the conformance testing procedure for
the ONVIF NVT implementation. Conformance testing is meant to be functional black-box
testing. The objective of ONVIF Test Specification is to test individual requirements of NVT
implementation as per ONVIF Core Specification v1.01.
2. Provide comprehensive test suite coverage for ONVIF Core Specification v1.01.
3. Protocol Implementation Conformance test for HTTPS, HTTP, RTP and RTSP
protocols.
ONVIF Test Specification v1.01 will test the subset or basic functionality of the ONVIF Core
Specification v1.01 and future versions of the ONVIF Test Specification will test the advanced
and optional features. Refer Section 4.1 for basic functionality tests.
An NVT implementation which claims conformance to ONVIF Core Specification v1.01 MUST
successfully execute all basic functionality test cases. Refer Section 8.0 for basic functionality
test case descriptions.
2 Normative References
3.1 Definitions
Address An address refers to a URI
Capability The capability commands allow an NVC to ask for the services provided by an
NVT.
Configuration Entity A network video device media abstract component that is used to produce a
3.2 Abbreviations
DUT Device Under Test
DP Discovery Proxy
DNS Domain Name System
DHCP Dynamic Host Configuration Protocol
HTTP Hyper Text Transport Protocol
HTTPS Hyper Text Transport Protocol over Secure Socket Layer
IP Internet Protocol
IPv4 Internet Protocol version 4
JPEG Joint Photographic Experts Group
NVT Network Video Transmitter
NVC Network Video Client
NTP Network Time Protocol
POSIX Portable Operating System Interface
PTZ Pan/Tilt/Zoom
QVGA Quarter Video Graphics Array
RTSP Real Time Streaming Protocol
RTP Real-time Transport Protocol
SDP Session Description Protocol
TCP Transport Control Protocol
TTL Time To Live
UTC Coordinated Universal Time
USB Universal Serial Bus
UDP User Datagram Protocol
URI Uniform Resource Identifier
WSDL Web Services Description Language
WS-I BP 2.0 Web Services Interoperability Basic Profile version 2.0
XML eXtensible Markup Language
The ONVIF Test Specification v1.01 is designed to test if the device under test has
implemented the basic functionality necessary to comply with [ONVIF Core]. Basic
Functionality test covers basic features of NVT which includes Device Discovery, Device
Management, Media Configuration and Real Time Viewing.
The future versions of ONVIF Test Specification will cover advanced and optional features of
NVT i.e. Remote Discovery, Event Handling, Security, PTZ, Imaging, Analytics etc.
Refer [ONVIF Core] for the detailed description of the NVT features.
Device discovery and location of the device services in the network are achieved using a
multicast discovery protocol defined in WS-Discovery. The communication between client
and target service is done using Web Services, notably SOAP/UDP.
Probe
Probe Match
Bye
Device Management defines the set of commands for retrieving device capabilities,
management of network and system settings.
Capability GetCapabilities
Commands
Network GetHostname
Commands
SetHostname
GetDNS
SetDNS
GetNTP
SetNTP
System GetDeviceInformation
Commands
GetSystemDateAndTime
SetSystemDateAndTime
SetSystemFactoryDefault
SystemReboot
Discovery GetScopes
Commands
SetScopes
AddScopes
DeleteScopes
Media Configuration provides streaming properties of the audio and video streams. Real
time audio and video streaming configurations are controlled using a media profile. A
media profile maps a video and/or audio source to a video and/or an audio encoder, PTZ
and analytics configurations.
Media Configuration (media profile and media entity) is done over SOAP/HTTP.
GetProfiles
GetProfile
AddVideoSourceConfiguration
AddVideoEncoderConfiguration
RemoveVideoSourceConfiguration
RemoveVideoEncoderConfiguration
DeleteProfile
SetVideoEncoderConfiguration
Real Time Viewing handles audio and video streaming and provides a mechanism for
Client (NVC) to request media streams from the device under test (NVT).
Media Control is done over RTSP/TCP and media transfer over RTP/UDP.
• RTSP methods.
DESCRIBE
SETUP
PLAY
TEARDOWN
JPEG QVGA
Basic Functionality test cases shall be tested in the test configuration mentioned below (figure
1.0).
NVT NVC
(Device Under Test) (Test Tool)
Analyzer
(PC)
NVC Test Tool: tests are executed by this system and it controls the behaviour of the DUT.
The NVC handles both expected and unexpected behaviour.
Wireless Access Point: provides wireless connectivity to the devices that support wireless
connection.
Analyzer PC: capture the packets in real time and save the packet capture log information of
the failure test cases.
This section describes the generic test sequence between NVC Test Tool and NVT. All tests
are executed by the NVC. NVC will test for both success and failure test scenarios.
This generic test sequence diagram (figure 2.0) is to be considered as an example. All basic
functionality test cases are illustrated with test sequence diagram. Refer Section 8.0 for basic
functionality test cases.
1
Device Discovery Device Discovery
2
Device Capability Device Capabilities
1. Device Discovery
2. Device Capability
3. Action Request
4. Action Response
a. NVC will wait and receive the action response from the DUT.
5. Device Reset
6.2 Precondition
The pre-requisites for executing the test cases prescribed in this Test Specification are
• The DUT must be configured with the time i.e. manual configuration of UTC time and if
NTP is supported by DUT then NTP time must be synchronized with NTP Server.
The general interpretation of the requirement levels is as defined in [RFC2119]. The following
sections describe how the requirement levels affect the test procedure.
6.3.1 MUST
Test cases that cover parts of [ONVIF Core] that are mandatory to implement in all ONVIF
conformant products have the requirement level “MUST”. The test result for these test cases
MUST be "PASSED" for the DUT to be ONVIF conformant.
The requirement level “MUST IF SUPPORTED” is used for test cases that cover parts of
[ONVIF Core] that are mandatory to implement if and only if the DUT supports the referenced
service, feature or functional block in any possible way.
If the DUT does support the referenced service, feature or functional block, then the test
result MUST be "PASSED" for the DUT to be ONVIF conformant.
If the DUT does not support the referenced service, feature or functional block, then the DUT
MUST correctly reply with a proper fault message to be ONVIF conformant. The test result in
this case MUST be "DEVICE FEATURE NOT SUPPORTED BY NVT".
The “SHOULD” level indicates that the service, functional block or feature, SHOULD be
implemented by the DUT. The “SHOULD IF SUPPORTED” level indicates that the service,
functional block or feature, SHOULD be implemented by the DUT if supported by the DUT in
any way. The “OPTIONAL” level indicates that the service, functional block or feature, MAY or
MAY NOT be implemented by the DUT. Failure to comply with these requirement levels is not
a violation of the ONVIF Conformance requirement. However, if the ONVIF support is
implemented, then it MUST be done in conformance with [ONVIF Core].
If the referenced part of [ONVIF Core] has not been implemented in the DUT, then the test
should not be executed.
7 Test Policy
The DUT (NVT) must adhere to the test policies defined in this section.
IPv4 address of DUT and NVC are configured by one of the following means.
• DHCP based
During the testing, IP address change or address transition is not permitted. If this happens,
then all testing shall be repeated from the beginning i.e. Device Discovery Test.
A device under test that has multiple network interfaces (Wired Ethernet i.e. 802.3af and
Wireless Ethernet i.e. 802.11a/b/g/n), initial testing will be performed on the Wired Ethernet
network interface. After completion of all testing on the Wired Ethernet network interface, all
tests shall be repeated on Wireless Ethernet network interface.
ONVIF Test Specification restricts all testing to Wired Ethernet and/or Wireless Ethernet
network interface, other interfaces like USB, Bluetooth etc are outside the scope of the testing.
7.3 Retesting
At any time during the testing, the DUT may enter into an unrecoverable state (e.g. a system
crash or a hung) and NVC is no longer able to perform the prescribed test procedure, then the
DUT will be rebooted and the test shall be restarted from the beginning i.e. Device Discovery
Test.
All test sequences are analyzed by the packet capture tool (ex: Wire Shark running on a PC).
If device under test exhibits a failure condition, the packet capture log shall be saved for
further analysis. Packet capture will be stopped and restarted at multiple times throughout the
test procedure.
• The device under test must be discovered by the NVC device that exists in the testing
environment.
• Failure to discover the device on the network constitutes failure of the test procedure.
• Failure to locate the device services on the network constitutes failure of the test
procedure.
• Certain DUT’s may not support device discovery feature, in such situations, device
discovery tests shall not be executed and NVC will directly communicate with the DUT.
Discovery mode settings of the DUT can be retrieved through GetDiscoveryMode
SOAP command.
• The device under test must demonstrate the Device and Media capabilities. A NVT
that does not list the mandatory device capability constitutes failure of the test
procedure.
• If DUT does not support NTP Configuration commands (i.e. Get NTP Settings and Set
NTP Settings) then it MUST respond to the request with SOAP 1.2 fault message
(ActionNotSupported).
• The device under test must support at-least one media profile with Video Configuration.
Video Configuration must include video source and video encoder media entities.
• The device under test much support JPEG QVGA video encoding.
• In certain test cases, NVC may create new media configuration (i.e. media profile and
media entities). In such cases, the test procedure will delete those modified
configuration at the end of the test procedure.
• For real time media contents, NVT must be able to serve the content and NVC must be
able to receive media streams at a rate sufficient for real time rendering (streaming).
• Inability to stream full length media content (i.e. start to end) by NVT constitutes
failure of the test procedure.
• Real Time Viewing testing will only test one media stream at a time.
• Poor streaming performance test is outside the scope of the ONVIF Test Specification.
This section describes the test procedure for basic functionality test cases.
This section covers tests designed for NVT Device Discovery Feature.
Test Purpose: To verify that the NVT transmits HELLO message with the correct
multicast parameters (address, port number and TTL) when it is connected to the
network.
Test Sequence:
NVC NVT
Start
NVT
SystemReboot
Reboot
NVT
Received SystemReboot Response
SystemR
eboot
response
2. Start an NVT.
5. NVC waits for the user defined boot time to receive HELLO
message from NVT.
Test Purpose: To verify the mandatory XML elements Device type, Scope types,
Endpoint Reference and Meta data version in the HELLO message.
Test Sequence:
NVC NVT
Start
NVT
SystemReboot
Reboot
NVT
Received
SystemR SystemReboot Response
eboot
response
2. Start an NVT.
5. NVC waits for the user defined boot time to receive HELLO
message from NVT.
The DUT did not send HELLO message with one or more
mandatory XML elements.
Test Label: Device Discovery NVT Search based on device scope types.
ONVIF Core Specification Coverage: 7.3.3.2 Scopes, 7.3.4 Probe and Probe Match
Test Purpose: To search the NVT based on the mandatory scope types (type,
location, hardware and name).
Test Sequence:
NVC NVT
GetScopesRequest Start
NVT
GetScopesResponse
Send
Validate Scope
Scopes list
Multicast PROBE Message
(different scope types)
Receive and
Validate Unicast PROBE MATCH Message Send
PROBE PROBE
MATCH MATCH
The DUT scope list does not have one or more mandatory
scope entry.
The DUT did not send mandatory XML elements (device, scope
type, service address and scope matching rule) in the PROBE
MATCH message.
Test Label: Device Discovery NVT Search with omitted device type and scope
types.
ONVIF Core Specification Coverage: 7.3.3.2 Scopes, 7.3.4 Probe and Probe Match
Test Purpose: To search the NVT with device and scope types being omitted.
Test Sequence:
Receive and
Validate Unicast PROBE MATCH Message
PROBE Send
MATCH PROBE
MATCH
2. Start an NVT.
FAIL – The DUT did not send PROBE MATCH message between 0 to
500 milliseconds.
The DUT did not send mandatory XML elements (device, scope
type, service address and scope matching rule) in the PROBE MATCH
message.
Test Label: Device Discovery NVT does not respond to invalid multicast PROBE
message.
Test Purpose: To verify that NVT do not reply to the invalid multicast PROBE
message (invalid device and scope types).
Test Sequence:
2. Start an NVT.
4. Verify that the NVT did not send PROBE MATCH message.
Note: See Annex A for Invalid Device and Scope Types definition.
Note: All Tests 8.1.3, 8.1.3.1, 8.1.3.2 to be repeated with Unicast PROBE message.
ONVIF Core Specification Coverage: 8.3.11 Get scope parameters, 8.3.12 Set
scope parameters, 8.3.13 Add scope parameters, 8.3.14 Delete scope parameters
Test Sequence:
2. Start an NVT.
10. NVC will invoke Unicast PROBE message to search NVT with
newly added scope types.
14. NVT sends Multicast Hello message to indicate the change in the
metadata (i.e. deletion of scope types from the existing list).
15. NVC will invoke Unicast PROBE message to search NVT with
deleted scope types.
16. Verify that the NVT did not send PROBE MATCH message.
The DUT scope list does not have one or more mandatory
scope entry.
The DUT did not send multicast Hello message after the change
in its metadata (addition/deletion of scope types).
Test Purpose: To verify that NVT transmits BYE message before the system reboot.
Test Sequence:
NVC NVT
SystemReboot Start
(empty message) NVT
Receive
Reboot SystemRebootResponse Reboot
response (message = “Rebooting in x seconds”) NVT
message
Multicast BYE Message
Receive
BYE
message
2. Start an NVT.
6. NVC waits for the user defined boot time before proceeding to
execute next test case.
Test Label: Device Discovery NVT generates SOAP 1.2 fault message for Invalid
Unicast PROBE Message.
Test Purpose: To verify that NVT generates a SOAP 1.2 fault message to the
invalid Unicast PROBE message (Invalid matching rule).
Test Sequence:
NVC NVT
2. Start an NVT.
FAIL – The DUT did not send SOAP 1.2 fault message.
The DUT did not send correct SOAP 1.2 fault message
(fault code, namespace etc).
This section covers tests designed for NVT Device Management Feature.
Test Purpose: To retrieve complete XML schema and WSDL definitions of the NVT.
Test Sequence:
NVC NVT
Start
GetWsdlUrlRequest NVT
Receive
and GetWsdlUrlResponse (WSDL URL)
Validate Send WSDL
WSDL URL
URL
2. Start an NVT.
Test Sequence:
NVC NVT
Start
GetCapabilitiesRequest NVT
(CapabilityCategory = “All”)
Receive and
Validate GetCapabilitesResponse
GetCapabilit (supported capabilities) Send all
esResponse capabilities
of the NVT
message
2. Start an NVT.
4. Verify the Capabilities Response from the NVT and support for
Device and Media capabilities.
Test Sequence:
NVC NVT
Start
GetCapabilitiesRequest NVT
(CapabilityCategory = “Device”)
2. Start an NVT.
The DUT did not send the address of the device service.
Test Sequence:
NVC NVT
Start
GetCapabilitiesRequest NVT
(CapabilityCategory = “Media”)
2. Start an NVT.
Note: NVT Service Category Capabilities Test to be repeated for each service
category like Analytics, Events, Imaging and PTZ.
If a specific service category is not supported by the DUT, it MUST generate SOAP 1.2
fault response (ActionNotSupported/NoSuchService).
Test Label: Device Management NVT generates a SOAP 1.2 fault message for
Invalid GetCapabilitiesRequest Message.
Test Purpose: To verify that NVT generates a SOAP 1.2 fault message to the
invalid GetCapabilitiesRequest message (invalid capability category).
Test Sequence:
NVC NVT
Start
NVT
GetCapabilitiesRequest Message
(CapabilityCategory = “XYZ”)
Receive and
Validate
SOAP 1.2 Send
SOAP 1.2 fault response SOAP 1.2
fault
message fault
message
2. Start an NVT.
The DUT did not send correct SOAP 1.2 fault message
(fault code, namespace etc).
Note: See Annex A for Invalid SOAP 1.2 fault message definition.
Test Sequence:
NVC NVT
Start
GetHostnameRequest NVT
(empty message)
2. Start an NVT.
Test Sequence:
NVC NVT
Start
SetHostnameRequest NVT
(Name= “test”)
SetHostnameResponse Configure
(empty message) Hostname
GetHostnameRequest
Receive and (empty message)
Validate the
messages Return
GetHostnameResponse Hostname
(FromDHCP=false, Name =“test”)
2. Start an NVT.
The DUT did not send correct hostname (i.e. “test”) in the
GetHostnameResponse message.
Test Sequence:
NVC NVT
Start
NVT
SetHostnameRequest
(Name = “test#$%”)
Receive and
Validate Generate
SOAP 1.2 fault message SOAP 1.2
SOAP 1.2
fault (InvalidArgVal/InvalidHostname) fault
message message
GetHostnameRequest
(empty message)
Return
Receive GetHostnameResponse configured
Hostname (FromDHCP=true or false, Hostname
Name=Hostname)
2. Start an NVT.
FAIL – The DUT did not send SOAP 1.2 fault message.
The DUT did not send correct fault code in the SOAP fault
message (InvalidArgVal/InvalidHostname).
Note: Hostname “test#$%” is just an example. See Annex A for Invalid Hostname and
SOAP 1.2 fault message definitions.
Test Sequence:
NVC NVT
GetDNSRequest Start
(empty message) NVT
GetDNSResponse
(FromDHCP, SearchDomain,
Receive and
DNSFromDHCP, DNSManual) Return DNS
Validate the
message configurations
2. Start an NVT.
Test Sequence:
NVC NVT
Start
SetDNSRequest NVT
(DNSManual = IPv4 DNS Server
Address)
SetDNSResponse Configure
(empty message) DNS
Server
GetDNSResponse Return
(FromDHCP=false, DNSManual Configured
= manual configuration of DNS DNS
Servers) Servers
2. Start an NVT.
F AIL – The DUT did not send Se tDNSRes ponse messa ge.
T est P urpose: To verify behaviour of NVT for invalid DNS Serv e r Address
Configuration.
Test Sequence:
Return
Receive GetDNSResponse configured
DNS (FromDHCP, SearchDomain, DNS
Server cfg DNSFromDHCP, DNSManual) Servers
2. Start an NVT.
FAIL – The DUT did not send SOAP 1.2 fault message.
The DUT did not send correct fault code in the SOAP fau lt
message (InvalidArgVal/InvalidIPv4Address ).
N ote: See Ann ex A for Invalid IPv4 Address and SOAP 1.2 fault message definitio ns.
Test Purpose: To retrieve NTP Server settings of the NVT through GetNTP command.
Test Sequence:
NVC NVT
Start
GetNTPRequest NVT
(empty message)
GetNTPResponse
Receive (FromDHCP, NTPFromDHCP,
and NTPManual) Return NTP
validate Server
the configurations
message
2. Start an NVT.
Note: If DUT does not support NT P Get Configuration command, then it MUST
respond to a request with SOAP 1.2 fault message (ActionNotSupported).
Test Sequence:
NVC NVT
Start
SetNTPRequest NVT
(FromDHCP=false, NTPManual =
“IPv4”, “10.1.1.1”)
SetNTPResponse Configure
(empty message) NVT
Server
Receive GetNTPRequest
and (empty message)
Validate
the
messages GetNTPResponse Return
(FromDHCP=false, NTPManual = NTP
“IPv4”, “10.1.1.1”) settings
2. Start an NVT .
FAIL – The DUT did not send SetNTPResponse message in step -4.
The DUT did not send correct NTP Server information (i.e.
FromDHCP =false, NTPManual = “IPv4”, “10.1.1.1”) in
GetNTPResponse message in step-6..
Note: If DUT does not support NTP Set Configuration command, then it MUST
respond to a request with SOAP 1.2 fault m essage (ActionNotSupported).
Test Purpose: To verify behaviour of NVT for Invalid IPv4 address configuration.
Test Sequence:
NVC NVT
Start
NVT
SetNTPRequest
(FromDHCP=false, NTPManual =
Receive “IPv4”, “10.1.1.255”)
and Generate
Validate SOAP
SOAP 1.2 fault message
SOAP 1.2 fault
(InvalidArgVal/InvalidIPv4Address) message
fault
message
GetNTPRequest
(empty message)
Return
Receive GetNTPResponse NTP
NTP (FromDHCP, NTPFromDHCP, settings
settings NTPManual)
2. Start an NVT.
4. Verify that the NVT generates SOA P 1.2 fault mess age
(InvalidArgVal/In validIPv4Address).
The DUT did not send correct fault code in the SOAP fault
message (InvalidArgVal/InvalidIPv4Address).
N ote: If DUT does not support NTP Set Configuration command, then it MUST
re spon d to a re quest with SOAP 1.2 fault message (ActionNotSupported).
See Annex A for Invalid IPv4 Address and SOAP 1.2 fault message definition s.
Test Sequence:
Receive
and GetDeviceInformationResponse
Validate (Manufacture, Model, Firmware
the version, Serial Number, Hardware Id)
message
2. Start an NVT.
The DUT did not sen d one or more mandatory information in the
GetDeviceInformationResponse message (manda tory information -
Manufacture, Model, Firmware Version , Serial Nu mber and Hardware
Id)
ONVIF Core Specification Coverage: 8.3.4 Get system date and time
Test Sequence:
Receive GetSystemDateAndTimeResponse
and (DateTimeType, DayLightSavings,
Validate Timezone, UTCDateTime, LocalTime Return
the Date) system
date and
message
time
2. Start an NVT.
Note: If system date and time are set manually, then DUT MUST return
UTCDateTime or LocalDateTime in the GetSystemDateAndTimeResponse message.
ONVIF Core Specification Coverage: 8.3.5 Set system date and time
Test Purpose: To set the NVT system date and time through
SetSystemDateAndTime command.
Test Sequence:
NVC NVT
Start
SetSystemDateAndTimeRequest NVT
(DateTimeType = “Manual”,
DayLightSavings = true, Timezone =
POSIX 1003.1, UTCDateTime =
Hour:Min:Sec, Year:Month:Day)
Configure
date and
SetSystemDateAndTimeResponse time
(empty message)
Receive and
validate the
message GetSystemDateAndTimeRequest
(empty message)
GetSystemDateAndTimeResponse
(DateTimeType = “Manual”,
DayLightSavings = true, Timezone = Return
POSIX 1003.1, UTCDateTime = configured
date and
Hour:Min:Sec, Year:Month:Day)
time
2. Start an NVT.
The DUT did not send expected system date and time
configuration (DateTimeType = “Manual”, DayLightSavings = true ,
Timezone = POSIX 1003.1, UTCDateTime = Hour:Min:Sec,
Year:Month:Day) in the GetSystemDateAndTimeResponse messag e.
Test Purpose: To verify the behaviour of NVT for invalid Timezone configuration.
Test Sequence:
NVC NVT
SetSystemDateAndTimeRequest Start
(DateTimeType = “Manual”, NVT
DayLightSavings = true, Timezone =
Invalid, UTCDateTime = Time and
Date)
Generate
SOAP 1.2 fault response SOAP 1.2
(InvalidArgVal/InvalidTimeZone) fault
Receive and message
Validate
SOAP 1.2 GetSystemDateAndTimeRequest
fault (empty message)
message
GetSystemDateAndTimeResponse
(DateTimeType, DayLightSavings,
Timezone, UTCDateTime, Return
LocalTimeDate) configured
date and
time
5. Verify the NVT system date and tim e configur ations through
GetSystemDateAndTimeReques t messa ge.
FAIL – The DUT did not send SOAP 1.2 f ault messag e.
The DUT did not send correct faul t code in the SOAP fault
message (InvalidArgVal/InvalidTimeZone).
Note: If system date and time are set manually, then DUT MUST return
UTCDateTime or LocalDateTime in the GetSystemDateAndTimeResponse message.
See Annex A for Invalid TimeZone and SOAP 1.2 fault m essage definitions.
ONVIF Core Specification Coverage: 8.3.5 Set system date and time
Test Purpose: To verify the behaviour of NVT for invalid system date and time
c onfigu ration.
NVC NVT
SetSystemDateAndTimeRequest Start
(DateTimeType = “Manual”, NVT
DayLightSavings = false, Timezone =
POSIX 1003.1, UTCDateTime =
Invalid Date and Time)
Generate
SOAP 1.2 fault response SOAP 1.2
(InvalidArgVal/InvalidDateTime) fault
Receive and message
Validate
SOAP 1.2 GetSystemDateAndTimeRequest
fault (empty message)
message
GetSystemDateAndTimeResponse
(DateTimeType, DayLightSavings,
Timezone, UTCDateTime, Return
LocalTimeDate) configured
date and
time
2. Start an NVT.
5. Verify the NVT system date and time configur ations through
G etSystemDateAndTimeReques t message.
FAIL – The DUT did not send SOAP 1.2 fault message.
The DUT did n ot send correct fault code in the SOAP fault
message (InvalidArg Val/ InvalidDateTime).
Note: If system date a nd time are set manually, then DUT MUST return
UTCDateTime or LocalDateTime in the GetSystemDateAndTimeResponse message.
See Annex A for Invalid SOAP 1.2 fault message definiti on.
T est P urpose: To reload all parameters of NVT to their default values throu gh
S etSys temFactoryDefault command. This test is for hard factory default.
Test Sequence:
NVC NVT
Start
SetSystemFactoryDefaultRequest NVT
(FactoryDefaultType = “Hard”)
Hard
SetSystemFactoryDefaultResponse Reset
Receive the (empty message)
message
Send
Receive Multicast HELLO message
HELLO
HELLO message
message
2. Start an NVT.
Note: After Hard Reset certain DUT’s are not IP reachable. In such situation, DUT
must be configured with an IPv4 address, must be IP reachable in the test network
and o ther relev ant configurations to be do ne for further tests.
Test Purpose: To reload all parameters of NVT to their factory default values through
Se tSys temFactoryDefault command. This test is for soft factory default.
T est Se quence:
NVC NVT
Start
SetSystemFactoryDefaultRequest NVT
(FactoryDefaultType = “Soft”)
Soft
SetSystemFactoryDefaultResponse Reset
(empty message)
Receive the
message
Unicast PROBE message
Send
PROBE
Discover Unicast PROBE message MATCH
NVT … message
PROBE MATCH message
2. Start an NVT.
5. NVC will verify that NVT is acces sible after soft reset. NVC will
send Unicast PRO BE message sev eral t imes (i .e. 50 times at an
interval of 5 secon ds).
The DUT did not send PROBE MATCH message (i.e. DUT
cannot be discovered).
Test Sequence:
Receive
and display SystemRebootResponse Reboot in
the (message = Rebooting in x seconds) progress
message
Multicast HELLO message
Receive Reboot
HELLO successful
message Unicast PROBE message
Send
Discover PROBE MATCH message PROBE
NVT MATCH
device message
2. St art an NVT.
Note: if BYE message is supported by NVT, then NVT shall send multicast BYE
m essage befor e the reboot.
T his se c tion co vers tests designed for NVT Media Configuration Feature.
Test Purpose: To retrieve existing media profile configurations of NVT and the
corresponding media entities (video s ource and video encoder).
Test Sequence:
NVC NVT
Start
GetProfilesRequest NVT
(empty message)
Receive and
Validate GetProfilesResponse Send
Media Profile (existing media profiles) configured
configurations media profile
configurations
2. Start an NVT.
4. Verify that the NVT returns at-least one media p rofile with video
configuration (video source and video enco der) in the
GetProfilesResponse message.
ONVIF Core Specification Coverage: 10.2.1 Create media profile, 10.2.2 Get media
p rofiles , 10.2. 3 Get media profile, 10.2.4 Add video source configuration to a profile,
1 0.2.5 A dd vid eo encoder configuration to a profile, 10.2.11 Remove video source
conf igu r ation from a profile, 10.2.12 Remove video encoder configuration from a
profile, 10.2.18 Delete media profile
Test Purpose: To verify the behaviour of NVT for dynamic media profile configuration.
Test Sequence:
AddVideoEncoderConfigurationRequest
(Profile Token, video encoder cfg)
Add video
Receive add encoder
video AddVideoEncoderConfigurationResponse configuration
encoder (empty message) to a given
configuration profile token
response.
GetProfileRequest
(Profile Token)
Remove Video
Receive the RemoveVideoSourceConfigurationResponse Source Cfg
message (empty message) from media
profile.
DeleteProfileRequest
(Profile Token)
GetProfileRequest
(Profile Token)
2. Start an NVT.
4. Verify that the NVT returns at-least one media profile with video
configuration (video source and video encoder) in GetProfilesResponse
message.
Note: See Annex A for Invalid SOAP 1.2 fault message definition.
ONVIF Core Specification Coverage: 10.2.2 Get media profiles, 10.5.2 Get video
encoder configuration, 10.5.5 Modify a video encoder configuration.
Test Sequence:
NVC NVT
GetProfilesRequest Start
(empty message) NVT
SetVideoEncoderConfigurationRequest
Set JPEG (JPEG Video Encoder Configuration,
video encoder force persistence = false)
configuration. Modify JPEG
video
SetVideoEncoderConfigurationResponse encoder
configuration
GetVideoEncoderConfigurationRequest
(Video Encoder Configuration token) Send
Receive and modified
Validate video
modified GetVideoEncoderConfigurationResponse encoder
Video Encoder configuration
Configuration
2. Start an NVT.
4. Verify that the NVT returns at-least one media profile with video
configuration (video source and video encoder) in GetProfilesResponse
message.
Test Sequence:
NVC NVT
Start
GetProfilesRequest NVT
Modify
Set JPEG SetVideoEncoderConfigurationResponse JPEG video
video encoder cfg
encoder cfg
GetStreamUriRequest
(Profile Token, RTP-Unicast, UDP)
Receive and
Validate GetStreamUriResponse (RTSP URI) Send RTSP URI
RTSP URI and lifetime of
URI
2. Start an NVT.
The DUT did not send one or more mandatory parameters in the
GetStreamUriResponse message (mandatory parameters – RTSP URI,
ValidUntilConnect, ValidUntilReboot and Timeout).
See Annex A for correct syntax for the StreamSetup element in GetStreamUri
requests.
Test Purpose: To retrieve media control stream URI of NVT for a given media
profile.
Test Sequence:
Modify
Set JPEG SetVideoEncoderConfigurationResponse JPEG video
video encoder cfg
encoder cfg
GetStreamUriRequest
(Profile Token, RTP-Unicast, HTTP)
Receive and
Validate GetStreamUriResponse (HTTP URI) Send HTTP URI
HTTP URI and lifetime of
URI
2. Start an NVT.
8. NVT sends HTTP URI and parameters defining the lifetime of the
URI like ValidUntilConnect, ValidUntilReboot and Timeout in the
GetStreamUriResponse message.
9. NVC verifies the HTTP media stream URI provided by the NVT.
The DUT did not send one or more mandatory parameters in the
GetStreamUriResponse message (mandatory parameters –
HTTP URI, ValidUntilConnect, ValidUntilReboot and Timeout).
See Annex A for correct syntax for the StreamSetup element in GetStreamUri
requests.
Test Label: Media Configuration NVT generates SOAP 1.2 fault message for
Invalid GetStreamUriRequest Message.
Test Purpose: To verify that NVT generates SOAP 1.2 fault message to the
invalid GetStreamUriRequest message (Invalid Media Profile).
Test Sequence:
NVC NVT
Start
NVT
GetStreamUriRequest
(Invalid Profile, RTP-Unicast, UDP)
FAIL – The DUT did not send SOAP 1.2 fault message.
The DUT did not send correct SOAP 1.2 fault message
(fault code, namespace etc).
Note: See Annex A for Invalid Media Profile and SOAP 1.2 fault message definitions.
See Annex A for correct syntax for the StreamSetup element in GetStreamUri
requests.
Test Label: Media Configuration NVT generates SOAP 1.2 fault message for
Invalid GetStreamUriRequest Message.
Test Purpose: To verify that NVT generates SOAP 1.2 fault message to the
invalid GetStreamUriRequest message (Invalid Transport).
Test Sequence:
2. Start an NVT.
FAIL – The DUT did not send SOAP 1.2 fault message.
The DUT did not send correct SOAP 1.2 fault message
(fault code, namespace etc).
Note: See Annex A for Invalid SOAP 1.2 fault message definition.
See Annex A for correct syntax for the StreamSetup element in GetStreamUri
requests.
This section covers tests designed for NVT Real Time Viewing Feature. All Real Time Viewing
test cases require RTSP Control Stream URI which is retrieved by GetStreamUriRequest
message.
NVC NVT
Test Case 8.3.4 Start
NVT
RTSP OPTIONS
Receive and
Validate 200 OK (SDP Message) Send SDP
SDP message
message
RTSP SETUP
Receive and
Validate 200 OK (Media Stream Information) Send Stream
Stream Information
information
RTSP PLAY
Initiate Media
Streaming Ready for
200 OK (RTP-Info) Media
Streaming
RTSP TEARDOWN
Delete the
RTSP Delete the
Session at RTSP
200 OK Session
the end of
streaming
Test Procedure: 1. Execute test case 8.3.4 and retrieve RTSP URI.
10. NVC will invoke RTSP PLAY control request to initiate the media
streaming.
14. NVC validates RTP header for each media stream and render
it after the validation.
16. NVT sends 200 OK Response and terminates the RTSP Session.
FAIL – The DUT did not send correct media stream information in the
SDP message.
The DUT did not send mandatory headers or fields in the SETUP
response message.
The DUT did not send mandatory headers or fields in the PLAY
response message.
The DUT did not send RTSP 200 OK response for RTSP
OPTIONS, DESCRIBE, SETUP and PLAY requests.
The DUT did not send valid RTP header in one or more media
streams.
Test Label: Real Time Viewing NVT media streaming using RTP/UDP Unicast
transport.
Test Purpose: To verify NVT media streaming based on RTP/UDP Unicast transport.
Test Sequence:
NVC NVT
Test Case 8.3.4
Start
RTSP DESCRIBE NVT
Receive and
Validate 200 OK (SDP Message)
Send SDP
SDP
message message
RTSP SETUP
Receive and
Validate 200 OK (Media Stream Information)
Send Stream
Stream
information Information
RTSP PLAY
Initiate Media
Streaming
200 OK (RTP-Info) Ready for
Media
Streaming
Receive, RTP packet (media streams)
validate,
Media
decode and
render media Streaming
RTP packet (media streams)
streams using RTP
…
RTSP TEARDOWN
Delete the
RTSP Delete the
Session at RTSP
200 OK
the end of Session
streaming
Test Procedure: 1. Execute test case 8.3.4 and retrieve RTSP URI.
The DUT did not send RTSP 200 OK response for RTSP
DESCRIBE SETUP and PLAY requests.
The DUT did not send valid RTP header in one or more media
streams.
Test Label: Real Time Viewing NVT media streaming using HTTP transport.
Test Sequence:
RTSP DESCRIBE
C2
SDP Message
200 OK (SDP Message)
C1
RTSP SETUP
C2
Stream
200 OK (Stream Information) Information
C1
RTSP PLAY
C2
Initiate media
200 OK (RTP-Info) streaming
C1
RTSP TEARDOWN
Delete the
C2 RTSP
Session
200 OK
C1
2. NVC will invoke HTTP GET Request on NVT and establishes NVT
to NVC connection for RTP data transfer.
10. NVC will close HTTP GET connection at the end of the media
streaming.
The DUT did not send RTSP 200 OK response for RTSP
DESCRIBE SETUP and PLAY requests.
The DUT did not send valid RTP header in one or more media
streams.
NVC NVT
Test Case 8.3.4
Start
RTSP DESCRIBE NVT
Receive and
Validate
SDP 200 OK (SDP Message)
Send SDP
message message
RTSP SETUP
Receive and
Validate
Stream 200 OK (Media Stream Information)
Send Stream
information Information
(Timeout
header) RTSP PLAY
RTSP SET_PARAMETER
Keep-alive
Keep-alive 200 OK RTSP
RTSP Session
Session
RTSP SET_PARAMETER
…
200 OK
RTSP TEARDOWN
Delete the Delete the
RTSP RTSP
Session at 200 OK Session
the end of
streaming
Test Procedure: 1. Execute test case 8.3.4 and retrieve RTSP URI.
FAIL – The DUT did not send Timeout header in RTSP SETUP
RESPONSE.
The DUT did not send RTSP 200 OK response for RTSP
DESCRIBE, SETUP, PLAY and SET_PARAMETER requests.
This section describes the meaning of the following definitions, these definitions are used in
the description of the test procedure (Section 8.0).
A string which is not formed according to the rules of RFC 952 is considered as invalid string.
A RTP header which is not formed according to the header field format defined in the RFC
3550 Section 5.1 is considered as invalid RTP header.
A SOAP 1.2 fault message which is not formed according to the rules defined in SOAP 1.2,
Part 1 Section 5.4 is considered as invalid.
A SOAP 1.2 fault message which does not include ONVIF defined namespace
“ter=http://www.onvif.org/ver10/error” is considered as invalid.
GetStreamUriResponse message contains the Uri to be used for requesting the media stream
as well as parameters defining the lifetime of the Uri.
GetStreamUriResponse message which does not include any of the above valid
combination is considered as invalid.
An URL which is not formed according to the rules of RFC 3986 is considered as invalid
WSDL URL.
IPv4 Address token is represented in dotted decimal notation (32 bit internet address is
divided into four 8 bit fields and each field is represented in decimal number separated by a
dot).
• Valid IPv4 addresses are in the range 0.0.0.0 to 255.255.255.255 excluding 0/8, 255/8,
and 127/8, as defined in RFC 758, and 169.254/16 as defined in RFC 3927.
• Valid IPv4 addresses for a device must be valid according to the defined network mask
and gateway (the gateway must be reachable and must not be identical to the
assigned IPv4 address).
The following media stream setups for GetStreamUri are covered in this Test Specification:
The correct syntax for the StreamSetup element for these media stream setups are as follows: