0% found this document useful (0 votes)
80 views216 pages

ONVIF Profile S Client Test Specification 22.06

The ONVIF Profile S Client Test Specification Version 22.06 outlines the testing requirements and updates for ONVIF Profile S devices, detailing revisions made to test cases and features. The document includes a comprehensive revision history, highlighting changes made in previous versions and the rationale behind them. It serves as a guideline for ensuring compliance and functionality of ONVIF Profile S clients.

Uploaded by

Akash
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views216 pages

ONVIF Profile S Client Test Specification 22.06

The ONVIF Profile S Client Test Specification Version 22.06 outlines the testing requirements and updates for ONVIF Profile S devices, detailing revisions made to test cases and features. The document includes a comprehensive revision history, highlighting changes made in previous versions and the rationale behind them. It serves as a guideline for ensuring compliance and functionality of ONVIF Profile S clients.

Uploaded by

Akash
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

ONVIF Profile S Client Test Specification Version 22.

06

ONVIF®
Profile S Client Test Specification

Version 22.06

June 2022

[Link]
ONVIF Profile S Client Test Specification Version 22.06

© 2022 ONVIF, Inc. All rights reserved.

Recipients of this document may copy, distribute, publish, or display this document 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.

2 [Link]
ONVIF Profile S Client Test Specification Version 22.06

REVISION HISTORY
Vers. Date Description
22.06 Dec 27, 2022 Profile Normative Reference were removed from test cases
according to #364
21.12 Oct 12, 2021 The following was done according to #425:

Check Condition based on Device Features of Discovery feature


was changed from 'All' to 'Discovery'
21.06 Jun 03, 2021 The following was updated according to #325:

SETSYNCHRONIZATIONPOINT-1 test name was changed from


SET SYNCHRONIZATION POINT to SET SYNCHRONIZATION
POINT (EVENT SERVICE).
Set Synchronization Point feature was renamed to Set
Synchronization Point (Event Service)
20.12 Dec 8, 2020 NVTDISCOVERYTYPEFILTER-1 NVT DISCOVERY TYPE FILTER
was updated according to #406:

Types value check was updated to accept QName list instead of


one QName value.
20.12 Nov 12, 2020 The following was done according to #399:

System Date and Time Configuration: Check Condition based on


Device Features was updated
20.12 Oct 27, 2020 The following was done according to #394:

Check Condition based on Device Features of Network


Configuration feature was changed from 'All' to 'Network
Configuration'
20.12 Oct 27, 2020 The following was done according to #393:

Check Condition based on Device Features of User Handling


feature was changed from 'All' to 'User Configuration'
20.12 Aug 31, 2020 Set Synchronization Point Feature: Check Condition based on
Device Features was changed according to #325.
20.12 Aug 31, 2020 Unsubscribe Feature: Check Condition based on Device Features
was changed according to #325.
20.12 Aug 31, 2020 Keep Alive for Pull Point Event Handling Feature: Check Condition
based on Device Features was changed according to #325.
20.12 Aug 31, 2020 Event Handling Feature: Check Condition based on Device Features
was changed according to #325.
19.12 Oct 04, 2019 Note about not found GetStreamUri was added in the following test
cases according to #339:

MEDIASTREAMING-3 STREAMING OVER RTSP

MEDIASTREAMING-4 STREAMING OVER UDP


MEDIASTREAMING-5 STREAMING OVER HTTP

VIDEOSTREAMING-1 MJPEG VIDEO STREAMING

[Link] 3
ONVIF Profile S Client Test Specification Version 22.06

VIDEOSTREAMING-2 MPEG4 VIDEO STREAMING

VIDEOSTREAMING-3 H264 VIDEO STREAMING

AUDIOSTREAMING-2 G.711
AUDIOSTREAMING-3 G.726

AUDIOSTREAMING-4 AAC
19.12 Sep 18, 2019 The following was done according to #325:

Scope\Supplementary Features and Test Cases sections was


added.

Supplementary Features and Test Cases sections was added.


19.12 Aug 13, 2019 The following was done according to #325:
EVENTHANDLING-3 METADATA STREAMING test was removed
from Event Handling Feature and moved to Metadata
Streaming Using Media2. Test case ID was changed to
MEDIA2_METADATASTREAMING-1. Event Handling will use link to
this test.

EVENTHANDLING-4 METADATA STREAMING USING MEDIA was


added for Profile S Devices.
19.12 Sep 6, 2019 NVTDISCOVERYTYPEFILTER-1 NVT DISCOVERY TYPE FILTER
was updated according to #323:

Unnecessary step with check that ProbeMatch is sent to Client IP


address was removed.
19.12 Aug 12, 2019 The following was done according to #341:

PTZ - Auxiliary Command section and PTZ - Auxiliary Command


Test Cases section was moved from ONVIF PTZ Client Test
Specification to ONVIF Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

PTZ Home Position section and PTZ Home Position Test Cases
section was moved from ONVIF PTZ Client Test Specification to
ONVIF Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

PTZ Presets section and PTZ Presets Test Cases section was
moved from ONVIF PTZ Client Test Specification to ONVIF Profile
S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

PTZ Zoom Relative Positioning section and PTZ Zoom Relative


Positioning Test Cases section was moved from ONVIF PTZ Client
Test Specification to ONVIF Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

PTZ Pan Tilt Relative Positioning section and PTZ Pan Tilt Relative
Positioning Test Cases section was moved from ONVIF PTZ Client
Test Specification to ONVIF Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

4 [Link]
ONVIF Profile S Client Test Specification Version 22.06

PTZ Zoom Absolute Positioning section and PTZ Zoom Absolute


Positioning Test Cases section was moved from ONVIF PTZ Client
Test Specification to ONVIF Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

PTZ Pan Tilt Absolute Positioning section and PTZ Pan Tilt Absolute
Positioning Test Cases section was moved from ONVIF PTZ Client
Test Specification to ONVIF Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

PTZ Zoom Continuous Positioning section and PTZ Zoom


Continuous Positioning Test Cases section was moved from ONVIF
PTZ Client Test Specification to ONVIF Profile S Client Test
Specifications.
19.12 Aug 12, 2019 The following was done according to #341:
PTZ Pan Tilt Continuous Positioning section and PTZ Pan Tilt
Continuous Positioning Test Cases section was moved from ONVIF
PTZ Client Test Specification to ONVIF Profile S Client Test
Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

PTZ - Configuration section and PTZ - Configuration Test Cases


section was moved from ONVIF PTZ Client Test Specification to
ONVIF Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

PTZ - Listing section and PTZ - Listing Test Cases section was
moved from ONVIF PTZ Client Test Specification to ONVIF Profile
S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

Network Protocols Configuration section and Network Protocols


Configuration Test Cases section was moved from ONVIF
Core Client Test Specification to ONVIF Profile S Client Test
Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

DNS Configuration section and DNS Configuration Test Cases


section was moved from ONVIF Core Client Test Specification to
ONVIF Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

Hostname Configuration section and Hostname Configuration


Test Cases section was moved from ONVIF Core Client Test
Specification to ONVIF Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

System Date and Time Configuration section and System Date and
Time Configuration Test Cases section was moved from ONVIF
Core Client Test Specification to ONVIF Profile S Client Test
Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

[Link] 5
ONVIF Profile S Client Test Specification Version 22.06

IP Address Filtering section and IP Address Filtering Test Cases


section was moved from ONVIF Core Client Test Specification to
ONVIF Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

Zero Configuration section and Zero Configuration Test Cases


section was moved from ONVIF Core Client Test Specification to
ONVIF Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

Dynamic DNS section and Dynamic DNS Test Cases section was
moved from ONVIF Core Client Test Specification to ONVIF Profile
S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

NTP section and NTP Test Cases section was moved from ONVIF
Core Client Test Specification to ONVIF Profile S Client Test
Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

Relay Outputs section and Relay Outputs Test Cases section was
moved from ONVIF Core Client Test Specification to ONVIF Profile
S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

User Handling section and User Handling Test Cases section was
moved from ONVIF Core Client Test Specification to ONVIF Profile
S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

System section and System Test Cases section was moved from
ONVIF Core Client Test Specification to ONVIF Profile S Client Test
Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

Network Configuration section and Network Configuration Test


Cases section was moved from ONVIF Core Client Test
Specification to ONVIF Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

Network Video Transmitter Discovery Type Filter section and


Network Video Transmitter Discovery Type Filter Test Cases section
was moved from ONVIF Core Client Test Specification to ONVIF
Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

Discovery section and Discovery Test Cases section was moved


from ONVIF Core Client Test Specification to ONVIF Profile S Client
Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

Keep Alive for Pull Point Event Handling section and Keep Alive
for Pull Point Event Handling Test Cases section was moved from
ONVIF Core Client Test Specification to ONVIF Profile S Client Test
Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

6 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Unsubscribe section and Unsubscribe Test Cases section was


moved from ONVIF Core Client Test Specification to ONVIF Profile
S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

Set Synchronization Point section and Set Synchronization Point


Test Cases section was moved from ONVIF Core Client Test
Specification to ONVIF Profile S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

Event Handling section and Event Handling Test Cases section was
moved from ONVIF Core Client Test Specification to ONVIF Profile
S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

Capabilities section and Capabilities Test Cases section was moved


from ONVIF Core Client Test Specification to ONVIF Profile S Client
Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

HTTP Digest section and HTTP Digest Test Cases section was
moved from ONVIF Core Client Test Specification to ONVIF Profile
S Client Test Specifications.
19.12 Aug 12, 2019 The following was done according to #341:

Username Token section and Username Token Test Cases section


was moved from ONVIF Core Client Test Specification to ONVIF
Profile S Client Test Specifications.
19.06 Jun 14, 2019 The following was done according to #309:

'Validated Feature' section for each feature updated to be


synchronized with feature ID used in feature list.

'Feature Under Test' section for each test case updated to be


synchronized with sub-feature ID used in feature list.

'Validated Feature List' test case section removed.


19.06 Mar 28, 2019 The following was updated in the scope of #319:

AUDIOSTREAMING-4 AAC AUDIO STREAMING (MP4A-LATM


encoding name added)
18.06 Jun 21, 2018 Reformatting document using new template
18.06 Apr 05, 2018 'Required Number of Devices Summary' Annex added according to
#241
18.06 Feb 16, 2018 The following were updated in the scope of #241:

Feature Level Requirement (updated with new rules)

Each Feature Level Requirement (updated with Check Condition


based on Device Features and Required Number of Devices)
17.06 Jun 15, 2017 Links in Normative references section were updated.
17.06 Jun 06, 2017 The following PTZ test cases were moved into PTZ Client Test
Specification accoring to #194:

PTZ - Listing

[Link] 7
ONVIF Profile S Client Test Specification Version 22.06

PTZ - Configuration

PTZ - Continuous Positioning

PTZ - Absolute Positioning


PTZ - Relative Positioning

PTZ - Presets

PTZ - Home Position

PTZ - Auxiliary Command

PTZ - Auxiliary Command


17.06 May 05, 2017 VIDEOENCODERCONFIGURATIONS-1 LIST VIDEO ENCODER
CONFIGURATIONS was updated according to #197.
MEDIAPROFILECONFIGURATIONS-1 LIST AVAILABLE MEDIA
PROFILES was updated according to #198.
MEDIASTREAMING-1 GET PROFILES was updated according to
#198.

MEDIAPROFILECONFIGURATIONS-3 CREATE A MEDIA


PROFILE was updated according to #199.
17.06 Apr 04, 2017 Profile T Normative Reference added for the following features:

PTZ - Presets Test Cases

PTZ - Home Position Test Cases


17.06 Mar 31, 2017 The following test cases were updated according to #179:

VIDEOSOURCECONFIGURATIONS-1 LIST VIDEO SOURCE


CONFIGURATIONS

MEDIASTREAMING-2 GET STREAM URI


The following test cases were updated according to #168:

MEDIASTREAMING-3 STREAMING OVER RTSP

MEDIASTREAMING-4 STREAMING OVER UDP

MEDIASTREAMING-5 STREAMING OVER HTTP

VIDEOSTREAMING-1 MJPEG VIDEO STREAMING

VIDEOSTREAMING-2 MPEG4 VIDEO STREAMING

VIDEOSTREAMING-3 H264 VIDEO STREAMING

MULTICASTSTREAMING-1 MULTICAST STREAMING USING


RTSP

AUDIOSTREAMING-2 G.711 AUDIO STREAMING

AUDIOSTREAMING-3 G.726 AUDIO STREAMING

AUDIOSTREAMING-4 AAC AUDIO STREAMING

MULTIPLEVIDEOSOURCES-1 STREAMING WITH ALL VIDEO


SOURCES DETECTED IN GET PROFILES

8 [Link]
ONVIF Profile S Client Test Specification Version 22.06

MULTIPLEAUDIOSOURCES-1 STREAMING WITH ALL AUDIO


SOURCES DETECTED IN GET PROFILES
17.06 Mar 02, 2017 Media Profile Configurations Feature was updated according to
#124

Profile S Normative Reference of GET SPECIFIC MEDIA PROFILE


was changed to Optional according to #124
16.12 Dec 06, 2016 Test steps with check that RTSP SETUP, RTSP PLAY and RTSP
TEARDOWN are not tunneled in HTTP were added in the following
test case: VIDEOSTREAMING-3.
16.07 Jun 14, 2016 Test steps sequence was changed in the following
test cases: VIDEOSTREAMING-1, VIDEOSTREAMING-2,
VIDEOSTREAMING-3, AUDIOSTREAMING-2,
AUDIOSTREAMING-3, AUDIOSTREAMING-4.
16.07 May 27, 2016 The following test case was updated: MULTICASTSTREAMING-2
MULTICAST STREAMING USING SOAP
16.07 Apr 18, 2016 Step description in Test Procedure was updated for
the test cases: MEDIASTREAMING-3, MEDIASTREAMING-4,
MEDIASTREAMING-5, VIDEOSTREAMING-1,
VIDEOSTREAMING-2, VIDEOSTREAMING-3,
MULTICASTSTREAMING-1, AUDIOSTREAMING-2,
AUDIOSTREAMING-3, AUDIOSTREAMING-4,
MULTIPLEVIDEOSOURCES-1, MULTIPLEAUDIOSOURCES-1

Old description:

Device response has code RTSP 200 OK if it is detected

New description:

If Device sends response to RTSP TEARDOWN, it has code RTSP


200 OK
16.07 Apr 15, 2016 PTZ - Continuous Positioning scenario was updated

PTZCONTINUOUSPOSITIONING-3 PTZ STOP test case was


replaced by two test cases: PTZCONTINUOUSPOSITIONING-3
PTZ STOP and PTZCONTINUOUSPOSITIONING-4 STOP
MOVEMENT USING PTZ CONTINUOUS MOVE
New Pre-Requisite added for PTZCONTINUOUSPOSITIONING-1
PTZ CONTINUOUS MOVE PAN/TILT: Device supports
PTZContinuousPanTilt

New Pre-Requisite added for PTZCONTINUOUSPOSITIONING-2


PTZ CONTINUOUS MOVE ZOOM: Device supports
PTZContinuousZoom

NOTE was removed from PTZCONTINUOUSPOSITIONING-1 PTZ


CONTINUOUS MOVE PAN/TILT

NOTE was removed from PTZCONTINUOUSPOSITIONING-2 PTZ


CONTINUOUS MOVE ZOOM
16.07 Mar 18, 2016 Checking of TEARDOWN response was changed in
Test Procedure and PASS criteria for the test cases
and annexes: MEDIASTREAMING-3, MEDIASTREAMING-4,
MEDIASTREAMING-5, VIDEOSTREAMING-1,
VIDEOSTREAMING-2, VIDEOSTREAMING-3,
MULTICASTSTREAMING-1, AUDIOSTREAMING-2,
AUDIOSTREAMING-3, AUDIOSTREAMING-4,

[Link] 9
ONVIF Profile S Client Test Specification Version 22.06

MULTIPLEVIDEOSOURCES-1, MULTIPLEAUDIOSOURCES-1,
Annex A.3, Annex A.6

Old description of checking of TEARDOWN response in Test


Procedure:
Device responds with code RTSP 200 OK.

New description of checking of TEARDOWN response in Test


Procedure:

Device response has code RTSP 200 OK if it is detected.

Old description of checking of TEARDOWN response in PASS


criteria:

Device response on the RTSP TEARDOWN request fulfills the


following requirements:

New description of checking of TEARDOWN response in PASS


criteria:

If there is Device response on the RTSP TEARDOWN request then


it fulfills the following requirements:
16.07 Mar 16, 2016 Docbook stylesheets were updated.
16.07 Mar 14, 2016 [Link] was removed from Сopyright section.
16.07 Mar 09, 2016 Minor changes: typos were fixed.
16.07 Feb 24, 2016 Multiple Audio Sources Test Cases were added

Annex A.4 Get Audio Sources List from GetProfiles responses was
added

Annex A.5 Get Audio Source Token That was Used for Streaming
Annex A.6 Find Audio Streaming corresponding to GetStreamUri
was added
16.07 Feb 16, 2016 Multiple Video Sources Test Cases were added

Annex A.1 Get Video Sources List from GetProfiles was added

Annex A.2 Get Video Source Token That was Used for Streaming
was added
Annex A.3 Find Video Streaming corresponding to GetStreamUri
was added
16.07 Feb 08, 2016 Video Source Configurations Test Cases were updated: Profile S
Requirement of LIST VIDEO SOURCE CONFIGURATIONS test
was changed to Optional Profile S Requirement of GET SPECIFIC
VIDEO SOURCE CONFIGURATION test was changed to Optional
MODIFY VIDEO SOURCE CONFIGURATION test was split to
tree tests: GET VIDEO SOURCE CONFIGURATION OPTIONS,
SET VIDEO SOURCE CONFIGURATION and GET COMPATIBLE
VIDEO SOURCE CONFIGURATIONS.

Video Encoder Configurations Test Cases were updated: Profile S


Requirement of LIST VIDEO ENCODER CONFIGURATIONS test
was changed to Optional Profile S Requirement of GET SPECIFIC
VIDEO ENCODER CONFIGURATION test was changed to Optional
MODIFY VIDEO ENCODER CONFIGURATION test was split to two

10 [Link]
ONVIF Profile S Client Test Specification Version 22.06

tests: GET VIDEO ENCODER CONFIGURATION OPTIONS and


SET VIDEO ENCODER CONFIGURATION.
16.07 Jan 26, 2016 The description about structure and hierarchy was replaced
for the test cases: MEDIASTREAMING-1, MEDIASTREAMING-2,
MULTICASTSTREAMING-2,
VIDEOENCODERCONFIGURATIONS-1,
VIDEOENCODERCONFIGURATION-2,
VIDEOENCODERCONFIGURATION-3,
MEDIAPROFILECONFIGURATIONS-1,
MEDIAPROFILECONFIGURATIONS-2,
MEDIAPROFILECONFIGURATIONS-3,
VIDEOSOURCECONFIGURATIONS-1,
VIDEOSOURCECONFIGURATIONS-2,
VIDEOSOURCECONFIGURATION-3,
VIDEOSOURCECONFIGURATION-4, PTZLISTING-1,
PTZLISTING-2, PTZCONFIGURATION-1, PTZCONFIGURATION-1,
PTZCONTINUOUSPOSITIONING-1,
PTZCONTINUOUSPOSITIONING-2,
PTZABSOLUTEPOSITIONING-1, PTZABSOLUTEPOSITIONING-2,
PTZRELATIVEPOSITIONING-1, PTZRELATIVEPOSITIONING-2,
PTZPRESETS-1, PTZPRESETS-2, PTZHOMEPOSITION-1

Old description:

Client %COMMAND NAME% request message is a well-formed


SOAP request (refer to [Link]) AND
Client %COMMAND NAME% request message has a proper
hierarchy (refer to %SERVICE%.wsdl) AND

New description:

Client %COMMAND NAME% request messages are valid according


to XML Schemas listed in Namespaces AND

Client %COMMAND NAME% request in Test Procedure fulfills the


following requirements:

The following steps was removed because the requirements are


fullfield by XML Schemas validation:

• MEDIASTREAMING-2:

[S2] "<GetStreamUri>" includes tag: "<StreamSetup>" AND

[S3] "<StreamSetup>" includes tag: "<Stream>" with ("RTP-


Unicast" OR "RTP-Multicast") value AND

[S4] "<StreamSetup>" includes tag: "<Transport>" AND


• PTZCONTINUOUSPOSITIONING-1:

[S3] "<ContinuousMove>" includes tag: "<Velocity>" AND

[S5] "<PanTilt>" tag contains attribute: "x=" with value


(example: -1, 0.1, 1, ...) AND

[S6] "<PanTilt>" tag contains attribute: "y=" with value


(example: -1, 0.1, 1, ...) AND
• PTZCONTINUOUSPOSITIONING-2:

[S3] "<ContinuousMove>" includes tag: "<Velocity>" AND

[S5] "<Zoom>" tag contains attribute: "x=" with value


(example: -1, 0.1, 1, ...) AND

[Link] 11
ONVIF Profile S Client Test Specification Version 22.06

• PTZABSOLUTEPOSITIONING-1:

[S3] "<AbsoluteMove>" includes tag: "<Position>" AND

[S5] "<PanTilt>" tag contains attribute: "x=" with value


(example: -1, 0.1, 1, ...) AND
[S6] "<PanTilt>" tag contains attribute: "y=" with value
(example: -1, 0.1, 1, ...) AND
• PTZABSOLUTEPOSITIONING-2:

[S3] "<AbsoluteMove>" includes tag: "<Position>" AND

[S5] "<Zoom>" tag contains attribute: "x=" with value


(example: -1, 0.1, 1, ...) AND
• PTZRELATIVEPOSITIONING-1:

[S3] "<RelativeMove>" includes tag: "<Translation>" AND

[S5] "<PanTilt>" tag contains attribute: "x=" with value


(example: -1, 0.1, 1, ...) AND

[S6] "<PanTilt>" tag contains attribute: "y=" with value


(example: -1, 0.1, 1, ...) AND
• PTZRELATIVEPOSITIONING-2:
[S3] "<RelativeMove>" includes tag: "<Translation>" AND

[S5] "<Zoom>" tag contains attribute: "x=" with value


(example: -1, 0.1, 1, ...) AND
16.07 Jan 11, 2016 The following test cases were updated to check of corresponding
between RTSP session and GetStreamUri: MULTICAST
STREAMING USING RTSP

Normative references were updated.


16.07 Dec 30, 2015 The following test cases were updated to check of corresponding
between RTSP session and GetStreamUri: STREAMING OVER
RTSP STREAMING OVER UDP STREAMING OVER HTTP

Normative references were updated.


16.01 Dec 28, 2015 The following test cases were updated to check of media type in
RTSP SETUP requests and to check of corresponding between
RTSP session and GetStreamUri: MJPEG VIDEO STREAMING
MPEG4 VIDEO STREAMING H264 VIDEO STREAMING G.711
AUDIO STREAMING G.726 AUDIO STREAMING AAC AUDIO
STREAMING
Normative references were updated.
16.01 December 02, • Media Streaming Feature was updated to requiere supporting
2015 of RTP/UDP or RTP/RTSP/HTTP/TCP.
16.07 Nov 27, 2015 General item (Test Owerview) was added

Minor updates in formatting, typos and terms

Metadata Configurations test cases and related feature were


updated according review results.
16.01 Sep 23, 2015 Added new Test Cases sections: Metadata Configurations.

PTZ SEND AUXILIARY COMMAND test case was updated

12 [Link]
ONVIF Profile S Client Test Specification Version 22.06

15.06 Jun 10, 2015 No major changes were made, just minor formatting fixes.
15.05 May 20, 2015 No major changes were made, just minor grammatical corrections.
15.02 Feb 19, 2015 Pass criteria in VIDEOSTREAMING-1, 2 and 3 test cases have been
updated (added check for Media Type: "video" in RTSP DESCRIBE
response).
14.12 Dec 11, 2014 Fixed typos and inconsistencies.
1.2 Oct 29, 2014 Changes were made in "PASS" criteria of the "5.4. STREAMING
OVER RTSP", "6.2. MJPEG VIDEO STREAMING", "6.3. MPEG4
VIDEO STREAMING", "6.4. H264 VIDEO STREAMING" and "7.2.
MULTICAST STREAMING USING RTSP" Test Cases.

Test "5.4. STREAMING OVER RTSP" was divided into three


different tests (RTSP, UDP and HTTP).
New Test Case "8.3. GET SPECIFIC VIDEO ENCODER
CONFIGURATION" has been added.

Section "10.1. Expected Scenarios Under Test" has been updated.

New Test Case "10.3. GET SPECIFIC VIDEO SOURCE


CONFIGURATION" has been added.

"ISO/IEC Directives, Part 2" reference has been added to "2.


Normative references" section.

The new section "3.1 Conventions" has been added.

Specific Namespace prefixes have been removed from "PASS"


criteria of all Test Cases.

Fixed typos and inconsistencies.


1.1 Sep 04, 2014 MEDIASTREAMING-1, MEDIASTREAMING-2 and
MEDIASTREAMING-3 test cases have been updated.

Video Streaming Test Cases have been added.

Multicast Streaming Test Cases have been added.


Test Cases for Video Encoder Configurations have been added.

Media Profile Configurations Test Cases have been added.

Video Source Configurations Test Cases have been added.

"Scope", "Security", "Capabilities" and "Event Handling" sections


have been updated.
1.0 Jul 31, 2014 Initial version. The first release includes MEDIASTREAMING-1
GET PROFILES, MEDIASTREAMING-2 GET STREAM URI and
MEDIASTREAMING-3 STREAMING OVER RTSP test cases.

[Link] 13
ONVIF Profile S Client Test Specification Version 22.06

Table of Contents
1 Introduction ...................................................................................................................... 24

1.1 Scope ..................................................................................................................... 24


1.2 Test Cases for Profile Mandatory Features ............................................................ 24

1.2.1 Username Token ......................................................................................... 25

1.2.2 HTTP Digest ................................................................................................ 25

1.2.3 Capabilities .................................................................................................. 25

1.2.4 Media Streaming ......................................................................................... 25

1.2.5 Video Streaming .......................................................................................... 25

1.2.6 Video Encoder Configuration ....................................................................... 25

1.2.7 Multiple Video Sources ................................................................................ 25

1.3 Test Cases for Profile Conditional Features ............................................................ 25


1.3.1 Event Handling ............................................................................................ 25

1.3.2 Keep Alive for Pull Point Event Handling ..................................................... 26

1.3.3 Discovery ..................................................................................................... 26

1.3.4 Network Video Transmitter Discovery Type Filter Test Cases ...................... 26

1.3.5 Network Configuration ................................................................................. 26

1.3.6 System ......................................................................................................... 27

1.3.7 User Handling .............................................................................................. 27

1.3.8 Relay Outputs .............................................................................................. 27

1.3.9 NTP ............................................................................................................. 27

1.3.10 Dynamic DNS ............................................................................................ 27

1.3.11 Zero Configuration ..................................................................................... 27

1.3.12 IP Address Filtering ................................................................................... 27

1.3.13 Multicast Streaming ................................................................................... 27

1.3.14 Media Profile Configurations ...................................................................... 27

1.3.15 Video Source Configuration ....................................................................... 28

1.3.16 Audio Streaming ........................................................................................ 28

1.3.17 Metadata Configuration .............................................................................. 28

1.3.18 Multiple Audio Sources .............................................................................. 28

1.3.19 PTZ - Listing .............................................................................................. 28

14 [Link]
ONVIF Profile S Client Test Specification Version 22.06

1.3.20 PTZ - Configuration ................................................................................... 28

1.3.21 PTZ Pan Tilt Continuous Positioning ......................................................... 28

1.3.22 PTZ Zoom Continuous Positioning ............................................................ 28

1.3.23 PTZ Pan Tilt Absolute Positioning ............................................................. 29

1.3.24 PTZ - Listing .............................................................................................. 29

1.3.25 PTZ Pan Tilt Relative Positioning .............................................................. 29


1.3.26 PTZ Zoom Relative Positioning ................................................................. 29

1.3.27 PTZ Presets .............................................................................................. 29

1.3.28 PTZ Home Position ................................................................................... 29

1.3.29 PTZ - Auxiliary Command ......................................................................... 29

1.4 Test Cases for Profile Optional Features ................................................................ 29

1.4.1 Set Synchronization Point (Event Service) .................................................. 29


1.4.2 Unsubscribe ................................................................................................. 30

1.4.3 System Date and Time Configuration .......................................................... 30

1.4.4 Hostname Configuration .............................................................................. 30

1.4.5 DNS Configuration ....................................................................................... 30

1.4.6 Network Protocols Configuration .................................................................. 30

1.5 Supplementary Features and Test Cases ............................................................... 30

2 Normative references ...................................................................................................... 31

3 Terms and Definitions ..................................................................................................... 33

3.1 Conventions ............................................................................................................ 33

3.2 Definitions ............................................................................................................... 33

3.3 Abbreviations .......................................................................................................... 33

3.4 Namespaces ........................................................................................................... 34

4 Test Overview .................................................................................................................. 36

4.1 General ................................................................................................................... 36

4.1.1 Feature Level Requirement ......................................................................... 36

4.1.2 Expected Scenarios Under Test .................................................................. 36

4.1.3 Test Cases .................................................................................................. 37

4.2 Test Setup .............................................................................................................. 37

4.3 Prerequisites ........................................................................................................... 37

[Link] 15
ONVIF Profile S Client Test Specification Version 22.06

5 Test Cases for Profile Mandatory Features ................................................................... 39

5.1 Username Token Test Cases ................................................................................. 39

5.1.1 Feature Level Requirement: ........................................................................ 39

5.1.2 Expected Scenarios Under Test: ................................................................. 39

5.1.3 USER TOKEN PROFILE ............................................................................. 39

5.2 HTTP Digest Test Cases ........................................................................................ 41


5.2.1 Feature Level Requirement: ........................................................................ 41

5.2.2 Expected Scenarios Under Test: ................................................................. 41

5.2.3 HTTP DIGEST ............................................................................................. 42

5.3 Capabilities Test Cases .......................................................................................... 43

5.3.1 Feature Level Requirement: ........................................................................ 43

5.3.2 Expected Scenarios Under Test: ................................................................. 43


5.3.3 GET SERVICES .......................................................................................... 44

5.3.4 GET CAPABILITIES .................................................................................... 44

5.4 Media Streaming Test Cases ................................................................................. 45

5.4.1 Feature Level Requirement: ........................................................................ 45

5.4.2 Expected Scenarios Under Test: ................................................................. 46

5.4.3 GET PROFILES .......................................................................................... 46

5.4.4 GET STREAM URI ...................................................................................... 47

5.4.5 STREAMING OVER RTSP .......................................................................... 48

5.4.6 STREAMING OVER UDP ............................................................................ 51

5.4.7 STREAMING OVER HTTP .......................................................................... 54

5.5 Video Streaming Test Cases .................................................................................. 57

5.5.1 Feature Level Requirement: ........................................................................ 57

5.5.2 Expected Scenarios Under Test: ................................................................. 57

5.5.3 MJPEG VIDEO STREAMING ...................................................................... 57

5.5.4 MPEG4 VIDEO STREAMING ...................................................................... 60

5.5.5 H264 VIDEO STREAMING .......................................................................... 63

5.6 Video Encoder Configurations Test Cases .............................................................. 66

5.6.1 Feature Level Requirement: ........................................................................ 66

5.6.2 Expected Scenarios Under Test: ................................................................. 66

16 [Link]
ONVIF Profile S Client Test Specification Version 22.06

5.6.3 LIST VIDEO ENCODER CONFIGURATIONS .............................................. 67

5.6.4 GET SPECIFIC VIDEO ENCODER CONFIGURATION ............................... 68

5.6.5 GET VIDEO ENCODER CONFIGURATION OPTIONS ............................... 69

5.6.6 SET VIDEO ENCODER CONFIGURATION ................................................ 70

5.7 Multiple Video Sources Test Cases ........................................................................ 71

5.7.1 Feature Level Requirement: ........................................................................ 71


5.7.2 Expected Scenarios Under Test: ................................................................. 71

5.7.3 STREAMING WITH ALL VIDEO SOURCES DETECTED IN GET

PROFILES ............................................................................................................... 72

6 Test Cases for Profile Conditional Features ................................................................. 75

6.1 Event Handling Test Cases .................................................................................... 75

6.1.1 Feature Level Requirement: ........................................................................ 75


6.1.2 Expected Scenarios Under Test: ................................................................. 75

6.1.3 PULLPOINT ................................................................................................. 76

6.1.4 BASE NOTIFICATION ................................................................................. 77

6.1.5 METADATA STREAMING USING MEDIA ................................................... 78

6.2 Keep Alive for Pull Point Event Handling Test Cases ............................................. 80

6.2.1 Feature Level Requirement: ........................................................................ 80

6.2.2 Expected Scenarios Under Test: ................................................................. 81

6.2.3 PULLPOINT ................................................................................................. 81

6.2.4 RENEW ....................................................................................................... 83

6.2.5 PULL MESSAGES AS KEEP ALIVE ........................................................... 84

6.3 Discovery Test Cases ............................................................................................. 85

6.3.1 Feature Level Requirement: ........................................................................ 85

6.3.2 Expected Scenarios Under Test: ................................................................. 85

6.3.3 WS-DISCOVERY ......................................................................................... 86

6.4 Network Video Transmitter Discovery Type Filter Test Cases ................................. 87

6.4.1 Feature Level Requirement: ........................................................................ 87

6.4.2 Expected Scenarios Under Test: ................................................................. 87

6.4.3 NVT DISCOVERY TYPE FILTER ................................................................ 88

6.5 Network Configuration Test Cases ......................................................................... 89

[Link] 17
ONVIF Profile S Client Test Specification Version 22.06

6.5.1 Feature Level Requirement: ........................................................................ 89

6.5.2 Expected Scenarios Under Test: ................................................................. 90

6.5.3 GET NETWORK INTERFACES ................................................................... 90

6.5.4 SET NETWORK INTERFACES ................................................................... 91

6.5.5 GET NETWORK DEFAULT GATEWAY ....................................................... 92

6.5.6 SET NETWORK DEFAULT GATEWAY ........................................................ 93


6.6 System Test Cases ................................................................................................ 94

6.6.1 Feature Level Requirement: ........................................................................ 94

6.6.2 Expected Scenarios Under Test: ................................................................. 95

6.6.3 GET DEVICE INFORMATION ..................................................................... 95

6.7 User Handling Test Cases ...................................................................................... 96

6.7.1 Feature Level Requirement: ........................................................................ 96


6.7.2 Expected Scenarios Under Test: ................................................................. 96

6.7.3 CREATE USERS ......................................................................................... 97

6.7.4 GET USERS ................................................................................................ 98

6.7.5 SET USER .................................................................................................. 99

6.7.6 DELETE USERS ....................................................................................... 100

6.8 Relay Outputs Test Cases .................................................................................... 101

6.8.1 Feature Level Requirement: ...................................................................... 101

6.8.2 Expected Scenarios Under Test: ................................................................ 101

6.8.3 GET RELAY OUTPUTS ............................................................................. 102

6.8.4 SET RELAY OUTPUT STATE ................................................................... 103

6.8.5 SET RELAY OUTPUT SETTINGS BISTABLE MODE ................................ 104

6.8.6 SET RELAY OUTPUT SETTINGS MONOSTABLE MODE ......................... 105

6.9 NTP Test Cases ................................................................................................... 106

6.9.1 Feature Level Requirement: ...................................................................... 106

6.9.2 Expected Scenarios Under Test: ................................................................ 107

6.9.3 GET NTP ................................................................................................... 107

6.9.4 SET NTP ................................................................................................... 108

6.10 Dynamic DNS Test Cases .................................................................................. 109

6.10.1 Feature Level Requirement: .................................................................... 109

18 [Link]
ONVIF Profile S Client Test Specification Version 22.06

6.10.2 Expected Scenarios Under Test: .............................................................. 109

6.10.3 GET DYNAMIC DNS SETTINGS ............................................................ 109

6.10.4 SET DYNAMIC DNS SETTINGS ............................................................. 110

6.11 Zero Configuration Test Cases ........................................................................... 111

6.11.1 Feature Level Requirement: ..................................................................... 111

6.11.2 Expected Scenarios Under Test: .............................................................. 111


6.11.3 GET ZERO CONFIGURATION ................................................................ 112

6.11.4 SET ZERO CONFIGURATION ................................................................. 113

6.12 IP Address Filtering Test Cases ......................................................................... 114

6.12.1 Feature Level Requirement: .................................................................... 114

6.12.2 Expected Scenarios Under Test: .............................................................. 114

6.12.3 GET IP ADDRESS FILTER ..................................................................... 115


6.12.4 SET IPv4 ADDRESS FILTER .................................................................. 116

6.12.5 SET IPv6 ADDRESS FILTER .................................................................. 117

6.12.6 ADD IPv4 ADDRESS FILTER .................................................................. 118

6.12.7 ADD IPv6 ADDRESS FILTER .................................................................. 119

6.12.8 REMOVE IPv4 ADDRESS FILTER .......................................................... 120

6.12.9 REMOVE IPv6 ADDRESS FILTER .......................................................... 121

6.13 Multicast Streaming Test Cases ......................................................................... 122

6.13.1 Feature Level Requirement: .................................................................... 122

6.13.2 Expected Scenarios Under Test: .............................................................. 122

6.13.3 MULTICAST STREAMING USING RTSP ................................................ 123

6.13.4 MULTICAST STREAMING USING SOAP ................................................ 126

6.14 Media Profile Configurations Test Cases ............................................................ 127

6.14.1 Feature Level Requirement: .................................................................... 127

6.14.2 Expected Scenarios Under Test: .............................................................. 127

6.14.3 LIST AVAILABLE MEDIA PROFILES ....................................................... 128

6.14.4 GET SPECIFIC MEDIA PROFILE ........................................................... 129

6.14.5 CREATE A MEDIA PROFILE .................................................................. 130

6.15 Video Source Configurations Test Cases ............................................................ 131

6.15.1 Feature Level Requirement: .................................................................... 131

[Link] 19
ONVIF Profile S Client Test Specification Version 22.06

6.15.2 Expected Scenarios Under Test: .............................................................. 131

6.15.3 LIST VIDEO SOURCE CONFIGURATIONS ............................................ 132

6.15.4 GET SPECIFIC VIDEO SOURCE CONFIGURATION .............................. 133

6.15.5 GET VIDEO SOURCE CONFIGURATION OPTIONS .............................. 134

6.15.6 SET VIDEO SOURCE CONFIGURATION ............................................... 135

6.15.7 GET COMPATIBLE VIDEO SOURCE CONFIGURATIONS ...................... 136


6.15.8 ADD VIDEO SOURCE CONFIGURATION ............................................... 137

6.16 Audio Streaming Test Cases .............................................................................. 139

6.16.1 Feature Level Requirement: .................................................................... 139

6.16.2 Expected Scenarios Under Test: .............................................................. 139

6.16.3 CONFIGURE MEDIA PROFILE FOR AUDIO STREAMING .................... 140

6.16.4 G.711 AUDIO STREAMING ..................................................................... 142


6.16.5 G.726 AUDIO STREAMING .................................................................... 145

6.16.6 AAC AUDIO STREAMING ....................................................................... 148

6.17 Metadata Configurations Test Cases .................................................................. 151

6.17.1 Feature Level Requirement: .................................................................... 151

6.17.2 Expected Scenarios Under Test: .............................................................. 151

6.17.3 LIST METADATA CONFIGURATIONS ..................................................... 152

6.17.4 GET SPECIFIC METADATA CONFIGURATION ...................................... 153

6.17.5 GET METADATA CONFIGURATION OPTIONS ....................................... 154

6.17.6 MODIFY METADATA CONFIGURATION ................................................. 155

6.18 Multiple Audio Sources Test Cases .................................................................... 156

6.18.1 Feature Level Requirement: .................................................................... 156

6.18.2 Expected Scenarios Under Test: .............................................................. 156

6.18.3 STREAMING WITH ALL AUDIO SOURCES DETECTED IN GET

PROFILES .............................................................................................................. 157

6.19 PTZ - Listing Test Cases .................................................................................... 159

6.19.1 Feature Level Requirement: .................................................................... 159

6.19.2 Expected Scenarios Under Test: .............................................................. 159

6.19.3 GET NODES ........................................................................................... 159

6.19.4 GET NODE .............................................................................................. 160

20 [Link]
ONVIF Profile S Client Test Specification Version 22.06

6.20 PTZ - Configuration Test Cases ......................................................................... 161

6.20.1 Feature Level Requirement: .................................................................... 161

6.20.2 Expected Scenarios Under Test: .............................................................. 161

6.20.3 ADD PTZ CONFIGURATION ................................................................... 162

6.21 PTZ Pan Tilt Continuous Positioning Test Cases ................................................ 163

6.21.1 Feature Level Requirement: .................................................................... 163


6.21.2 Expected Scenarios Under Test: .............................................................. 163

6.21.3 PTZ CONTINUOUS MOVE PAN/TILT ...................................................... 164

6.21.4 PTZ PAN TILT STOP ............................................................................... 165

6.21.5 STOP PAN TILT MOVEMENT USING PTZ CONTINUOUS MOVE .......... 166

6.22 PTZ Zoom Continuous Positioning Test Cases ................................................... 167

6.22.1 Feature Level Requirement: .................................................................... 167


6.22.2 Expected Scenarios Under Test: .............................................................. 168

6.22.3 PTZ CONTINUOUS MOVE ZOOM .......................................................... 168

6.22.4 PTZ ZOOM STOP ................................................................................... 169

6.22.5 STOP ZOOM MOVEMENT USING PTZ CONTINUOUS MOVE ............... 170

6.23 PTZ Pan Tilt Absolute Positioning Test Cases .................................................... 172

6.23.1 Feature Level Requirement: .................................................................... 172

6.23.2 Expected Scenarios Under Test: .............................................................. 172

6.23.3 PTZ ABSOLUTE MOVE PAN/TILT .......................................................... 172

6.24 PTZ Zoom Absolute Positioning Test Cases ....................................................... 173

6.24.1 Feature Level Requirement: .................................................................... 173

6.24.2 Expected Scenarios Under Test: .............................................................. 174

6.24.3 PTZ ABSOLUTE MOVE ZOOM ............................................................... 174

6.25 PTZ Pan Tilt Relative Positioning Test Cases ..................................................... 175

6.25.1 Feature Level Requirement: .................................................................... 175

6.25.2 Expected Scenarios Under Test: .............................................................. 175

6.25.3 PTZ RELATIVE MOVE PAN/TILT ............................................................ 176

6.26 PTZ Zoom Relative Positioning Test Cases ........................................................ 177

6.26.1 Feature Level Requirement: .................................................................... 177

6.26.2 Expected Scenarios Under Test: .............................................................. 177

[Link] 21
ONVIF Profile S Client Test Specification Version 22.06

6.26.3 PTZ RELATIVE MOVE ZOOM ................................................................. 177

6.27 PTZ Presets Test Cases ..................................................................................... 178

6.27.1 Feature Level Requirement: .................................................................... 178

6.27.2 Expected Scenarios Under Test: .............................................................. 179

6.27.3 PTZ GET PRESETS ................................................................................ 179

6.27.4 PTZ GOTO PRESET ............................................................................... 180


6.28 PTZ Home Position Test Cases .......................................................................... 181

6.28.1 Feature Level Requirement: .................................................................... 181

6.28.2 Expected Scenarios Under Test: .............................................................. 181

6.28.3 PTZ HOME POSITION ............................................................................ 181

6.29 PTZ - Auxiliary Command Test Cases ................................................................ 182

6.29.1 Feature Level Requirement: .................................................................... 182


6.29.2 Expected Scenarios Under Test: .............................................................. 183

6.29.3 PTZ SEND AUXILIARY COMMAND ........................................................ 183

7 Test Cases for Profile Optional Features .................................................................... 185

7.1 Set Synchronization Point (Event Service) Test Cases ......................................... 185

7.1.1 Feature Level Requirement: ...................................................................... 185

7.1.2 Expected Scenarios Under Test: ................................................................ 185

7.1.3 SET SYNCHRONIZATION POINT (EVENT SERVICE) .............................. 185

7.2 Unsubscribe Test Cases ....................................................................................... 186

7.2.1 Expected Scenarios Under Test: ................................................................ 187

7.2.2 UNSUBSCRIBE ......................................................................................... 187

7.3 System Date and Time Configuration Test Cases ................................................. 188

7.3.1 Feature Level Requirement: ...................................................................... 188

7.3.2 Expected Scenarios Under Test: ................................................................ 188

7.3.3 GET SYSTEM DATE AND TIME ............................................................... 189

7.3.4 SET SYSTEM DATE AND TIME ............................................................... 190

7.4 Hostname Configuration Test Cases .................................................................... 191

7.4.1 Feature Level Requirement: ...................................................................... 191

7.4.2 Expected Scenarios Under Test: ................................................................ 191

7.4.3 GET HOSTNAME ...................................................................................... 192

22 [Link]
ONVIF Profile S Client Test Specification Version 22.06

7.4.4 SET HOSTNAME ...................................................................................... 193

7.5 DNS Configuration Test Cases ............................................................................. 194

7.5.1 Feature Level Requirement: ...................................................................... 194

7.5.2 Expected Scenarios Under Test: ................................................................ 194

7.5.3 GET DNS .................................................................................................. 194

7.5.4 SET DNS ................................................................................................... 195


7.6 Network Protocols Configuration Test Cases ........................................................ 196

7.6.1 Feature Level Requirement: ...................................................................... 196

7.6.2 Expected Scenarios Under Test: ................................................................ 196

7.6.3 GET NETWORK PROTOCOLS ................................................................. 197

7.6.4 SET NETWORK PROTOCOLS ................................................................. 198

8 Supplementary Features and Test Cases .................................................................... 200


8.1 METADATA STREAMING USING MEDIA2 .......................................................... 200

A Test for Appendix A ..................................................................................................... 203

A.1 Get Video Sources List from GetProfiles responses ............................................. 203

A.2 Get Video Source Token That was Used for Streaming ........................................ 203

A.3 Find Video Streaming corresponding to GetStreamUri ......................................... 205

A.4 Get Audio Sources List from GetProfiles responses ............................................. 207

A.5 Get Audio Source Token That was Used for Streaming ....................................... 208

A.6 Find Audio Streaming corresponding to GetStreamUri ......................................... 210

A.7 Required Number of Devices Summary ............................................................... 212

[Link] 23
ONVIF Profile S Client Test Specification Version 22.06

1 Introduction
The goal of the ONVIF Test Specification set is to make it possible to realize fully interoperable
IP physical security implementations from different vendors. This specification also acts as an
input document to the development of a test tool which will be used to test the ONVIF Client
implementation conformance towards ONVIF standard. This Client Test Tool analyzes network
communications between ONVIF Devices and Clients being tested and determines whether a
specific Client is ONVIF conformant (see ONVIF Conformance Process Specification).

This particular document defines test cases required for testing Profile S features of a
Client application e.g. Media Streaming, Video Streaming, Multicast Streaming, Video Encoder
Configuration, Media Profile Creation and Video Source Configuration. It also describes the test
framework, test setup, prerequisites, test policies needed for the execution of the described test
cases.

1.1 Scope
This ONVIF Profile S Client Test Specification defines and regulates the conformance testing
procedure for the ONVIF conformant Clients in the scope of Profile S features. Conformance testing
is meant to be black-box network traces analysis and verification. The objective of this specification
is to provide the test cases to test individual requirements of ONVIF Clients in the scope of Profile
S features according to ONVIF Profile Specifications.

The principal intended purposes are:

• Provide self-assessment tool for implementations.

• Provide comprehensive test suite coverage for Profile S features.

This specification does not address the following:

• Product use cases and non-functional (performance and regression) testing and analysis.

• SOAP Implementation Interoperability test i.e. Web Services Interoperability Basic Profile
version 2.0 (WS-I BP2.0).

• Network protocol implementation Conformance test for HTTPS, HTTP, RTP and RTSP
protocols.

The following sections cover test cases needed for the verification of relevant features as mentioned
in the ONVIF Profile Specifications.

1.2 Test Cases for Profile Mandatory Features


This section defines test cases which are mandatory for Profile S Client conformance.

24 [Link]
ONVIF Profile S Client Test Specification Version 22.06

1.2.1 Username Token


Username Token section defines security mechanism for Username Token Profile.

1.2.2 HTTP Digest


HTTP Digest section defines security mechanism for HTTP Digest Authentication.

1.2.3 Capabilities
Capabilities section specifies Client ability to retrieve available services and advanced
functionalities which are offered by a Device.

1.2.4 Media Streaming


Media Streaming section defines different streaming options based on RTP protocol which are
required for all types of streams of video, audio and metadata. Media control is done using RTSP
protocol.

1.2.5 Video Streaming


Video Streaming section specifies Client ability to establish specific video streams in MJPEG,
MPEG4 and H264 video formats.

1.2.6 Video Encoder Configuration


Video Encoder Configurations section specifies listing and modification of video encoder
configurations on Device.

1.2.7 Multiple Video Sources


Multiple Video Sources section specifies Client ability to initiate video streaming for all Video
Sources returned by Device in GetProfilesResponse.

1.3 Test Cases for Profile Conditional Features


This section defines test cases which are mandatory for Profile S Client conformance.

1.3.1 Event Handling


Event Handling section defines Client ability to initiate and receive notifications (events) from a
Device.

[Link] 25
ONVIF Profile S Client Test Specification Version 22.06

The event handling test cases cover the following mandatory interfaces:

• Pull Point Notification Interface

• This test specification provides test cases to verify the implementation of the PullPoint
Interface of a Client.

• Basic Notification Interface

• This test specification provides test cases to verify the implementation of the Basic
Notification Interface of a Client.

• Metadata Streaming Interface

• This test specification provides test cases to verify the implementation of the Metadata
Streaming Interface of a Client using Media Service and using Media2 Service.

1.3.2 Keep Alive for Pull Point Event Handling


Keep Alive for Pull Point Event Handling section specifies Client ability to use keep alive for Pull
Point Event Handling using PullMessages or Renew approach.

1.3.3 Discovery
Discovery section defines Client ability to locate services on a local network using Web Services
Dynamic Discovery (WS-Discovery) protocol. It uses IP multicast address [Link] and
TCP and UDP port 3702 and SOAP-over-UDP standard for communication between nodes.

1.3.4 Network Video Transmitter Discovery Type Filter Test


Cases
Network Video Transmitter Discovery Type Filter Test Cases section defines Client ability
to locate services, which are support Network Video Transmitter Discovery Type on a local
network using Web Services Dynamic Discovery (WS-Discovery) protocol. It uses IPv4 address
[Link] or multicast IPv6 address [FF02::C] and port 3702 with Types filter that contains
dn:NetworkVideoTransmitter or with skipped Types filter.

1.3.5 Network Configuration


Network Configuration section defines Client ability to obtain and configure of network settings on
Device.

26 [Link]
ONVIF Profile S Client Test Specification Version 22.06

1.3.6 System
System section defines Client ability to obtain Device information and configure of system settings
on Device.

1.3.7 User Handling


User Handling section defines Client ability to manage users on Device.

1.3.8 Relay Outputs


Relay Outputs section defines Client ability to list, configure and trigger relay outputs on Device.

1.3.9 NTP
NTP section defines Client ability to configure synchronization of time using NTP servers on Device.

1.3.10 Dynamic DNS


Dynamic DNS section defines Client ability to configure dynamic DNS settings on Device.

1.3.11 Zero Configuration


Zero Configuration section defines Client ability to enable or disable zero configuration on Device.

1.3.12 IP Address Filtering


IP Address Filtering section defines Client ability to manage IP address filters on Device.

1.3.13 Multicast Streaming


Multicast Streaming section specifies Client ability to initiate multicast stream by using
StartMulticastStreaming and StopMulticastStreaming operations or by using RTSP SETUP
command with multicast transport parameter.

1.3.14 Media Profile Configurations


Media Profile Configurations section specifies creation and retrieval of Media Profile Configurations
from Device.

[Link] 27
ONVIF Profile S Client Test Specification Version 22.06

1.3.15 Video Source Configuration


Video Source Configurations section specifies listing and modification of video source
configurations on Device.

1.3.16 Audio Streaming


Audio Streaming section specifies Client ability to initiate audio stream in G.711, G.726 and AAC
encoding formats. This section also specifies Client ability to configure a media profile for audio
streaming.

1.3.17 Metadata Configuration


Metadata Configurations section specifies listing and modification of metadata configurations on
Device.

1.3.18 Multiple Audio Sources


Multiple Audio Sources section specifies Client ability to initiate audio streaming for all Audio
Sources returned by Device in GetProfilesResponse.

1.3.19 PTZ - Listing


PTZ - Listing section specifies Client ability to read PTZ capabilities.

1.3.20 PTZ - Configuration


PTZ - Configuration section specifies Client ability to add PTZ configuration to a media profile.

1.3.21 PTZ Pan Tilt Continuous Positioning


PTZ Pan Tilt Continuous Move section specifies Client ability to move a PTZ Device using
ContinuousMove operation for Pan Tilt and stop ongoing pan tilt movement using Stop operation
or sending zero values for Pan/Tilt.

1.3.22 PTZ Zoom Continuous Positioning


PTZ Zoom Continuous Move section specifies Client ability to move a PTZ Device using
ContinuousMove operation for Zoom and stop ongoing pan tilt movement using Stop operation or
sending zero values for Zoom.

28 [Link]
ONVIF Profile S Client Test Specification Version 22.06

1.3.23 PTZ Pan Tilt Absolute Positioning


PTZ Pan Tilt Absolute Positioning section specifies Client ability to move a PTZ Device using the
AbsoluteMove operation for Pan Tilt.

1.3.24 PTZ - Listing


PTZ - Listing section specifies Client ability to read PTZ capabilities.

1.3.25 PTZ Pan Tilt Relative Positioning


PTZ Pan Tilt Relative Positioning section specifies Client ability to move a PTZ Device using the
RelativeMove operation for Pan Tilt.

1.3.26 PTZ Zoom Relative Positioning


PTZ Zoom Relative Positioning section specifies Client ability to move a PTZ Device using the
RelativeMove operation for Zoom.

1.3.27 PTZ Presets


PTZ Presets section specifies Client ability to list the presets of a PTZ Node and move a PTZ Device
to a specific preset.

1.3.28 PTZ Home Position


PTZ Home Position section specifies Client ability to move a PTZ Device to its home position.

1.3.29 PTZ - Auxiliary Command


PTZ - Auxiliary Command section specifies Client ability to send auxiliary commands to a PTZ
Device.

1.4 Test Cases for Profile Optional Features


This section defines test cases which are optional for Profile S Client conformance.

1.4.1 Set Synchronization Point (Event Service)


Set Synchronization Point section defines Client ability to synchronize its properties with the
properties of the device using SetSynchronizationPoint operation.

[Link] 29
ONVIF Profile S Client Test Specification Version 22.06

1.4.2 Unsubscribe
Unsubscribe section defines Client ability to terminete subscription using Unsubscribe operation.

1.4.3 System Date and Time Configuration


System Date and Time Configuration section defines Client ability to configure Device system date
and time using GetSystemDateAndTime and SetSystemDateAndTime operations.

1.4.4 Hostname Configuration


Hostname Configuration section defines Client ability to obtain and configure of hostname settings
on Device.

1.4.5 DNS Configuration


DNS Configuration section defines Client ability to obtain and configure of DNS settings on Device.

1.4.6 Network Protocols Configuration


Network Protocols Configuration section defines Client ability to obtain and configure of network
protocols settings on Device.

1.5 Supplementary Features and Test Cases


This section defines supplementary features and test cases which are not the part of profile, but
Profile S Features results depends on them.

30 [Link]
ONVIF Profile S Client Test Specification Version 22.06

2 Normative references
• ONVIF Conformance Process Specification:

[Link]

• ONVIF Profile Policy:

[Link]

• ONVIF Network Interface Specifications:

[Link]

• ISO/IEC Directives, Part 2, Annex H:

[Link]/directives

• ISO 16484-5:2014-09 Annex P:

[Link]

• WS-BaseNotification:

[Link]

• W3C SOAP 1.2, Part 1, Messaging Framework:

[Link]

• W3C XML Schema Part 1: Structures Second Edition:

[Link]

• W3C XML Schema Part 2: Datatypes Second Edition:

"[Link] [[Link]

• W3C Web Services Addressing 1.0 – Core:

[Link]

• ONVIF Profile S Specification:

[Link]

• IETF RFC 2435, RTP Payload Format for JPEG-compressed Video:

[Link]

[Link] 31
ONVIF Profile S Client Test Specification Version 22.06

• IETF RFC 3016, RTP Payload Format for MPEG-4 Audio/Visual Streams:

[Link]

• IETF RFC 3984, RTP Payload Format for H.264 Video:

[Link]

• IETF RFC 3640, RTP Payload Format for Transport of MPEG-4 Elementary Streams:

[Link]

• IETF RFC 2326, Real Time Streaming Protocol (RTSP):

[Link]

32 [Link]
ONVIF Profile S Client Test Specification Version 22.06

3 Terms and Definitions

3.1 Conventions
The key words "shall", "shall not", "should", "should not", "may", "need not", "can", "cannot" in this
specification are to be interpreted as described in [ISO/IEC Directives Part 2].

3.2 Definitions
This section describes terms and definitions used in this document.

Address An address refers to a URI.


Profile See ONVIF Profile Policy.
ONVIF Device Computer appliance or software program that exposes one or
multiple ONVIF Web Services.
ONVIF Client Computer appliance or software program that uses ONVIF
Web Services.
Conversation A Conversation is all exchanges between two MAC
addresses that contains SOAP request and response.
Network A network is an interconnected group of devices
communicating using the Internet protocol.
Network Trace Capture file Data file created by a network protocol analyzer software
(such as Wireshark). Contains network packets data recorded
during a live network communications.
SOAP SOAP is a lightweight protocol intended for exchanging
structured information in a decentralized, distributed
environment. It uses XML technologies to define an
extensible messaging framework providing a message
construct that can be exchanged over a variety of underlying
protocols.
Client Test Tool ONVIF Client Test Tool that tests ONVIF Client
implementation towards the ONVIF Test Specification set.
Valid Device Response Device has responded to specific request with code HTTP or
RTSP 200 OK and SOAP fault message has not appeared.
Profile S The Profile S Specification.
Media Profile A media profile maps a video and/or audio source to a video
and/or an audio encoder, PTZ and analytics configurations.

3.3 Abbreviations
This section describes abbreviations used in this document.

HTTP Hyper Text Transport Protocol.


HTTPS Hyper Text Transport Protocol over Secure Socket Layer.

[Link] 33
ONVIF Profile S Client Test Specification Version 22.06

IP Internet Protocol.

IPv4 Internet Protocol version 4.

TCP Transport Control Protocol.

UDP User Datagram Protocol.

URI Uniform Resource Identifier.

WSDL Web Services Description Language.

XML eXtensible Markup Language.

JPEG Joint Photographic Expert Group.

MPEG-4 Moving Picture Experts Group 4.

RTP Real-time Transport Protocol.

RTSP Real Time Streaming Protocol.

SDP Session Description Protocol.

3.4 Namespaces
Prefix and namespaces used in this test specification are listed in Table 1. These prefixes are not
part of the standard and an implementation can use any prefix.

Table 3.1. Defined namespaces in this specification

Prefix Namespace URI Description


soapenv [Link] Envelope namespace as defined by SOAP 1.2
envelope [SOAP 1.2, Part 1]
xs [Link] Instance namespace as defined by XS [XML-
Schema, Part1] and [XMLSchema,Part 2]
xsi [Link] XML schema instance namespace
instance
tns1 [Link] The namespace for the ONVIF topic namespace
tt [Link] ONVIF XML schema descriptions
tds [Link] The namespace for the WSDL device service
tev [Link] The namespace for the WSDL event service
ter [Link] The namespace for ONVIF defined faults
wsnt [Link] Schema namespace of the [WS-
BaseNotification] specification.
wsa [Link] Device addressing namespace as defined by
[WS-Addressing].

34 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Prefix Namespace URI Description


trt [Link] The namespace for the WSDL media service

[Link] 35
ONVIF Profile S Client Test Specification Version 22.06

4 Test Overview
This section provides information for the test setup procedure and required prerequisites that should
be followed during test case execution.

An ONVIF Client compliant to the Profile S is an ONVIF Client that can configure, request, and
control streaming of video data over an IP network from an ONVIF Device compliant to the Profile
S. The Profile S also includes receiving Audio and Metadata Stream, and Relay Outputs.

An ONVIF Profile is described by a fixed set of functionalities through a number of services that
are provided by the ONVIF standard. A number of services and functionalities are mandatory for
each type of ONVIF Profile. An ONVIF Device and ONVIF Client may support any combination of
Profiles and other optional services and functionalities.

4.1 General
Test Cases are grouped depending on features. Each Test Cases group provides description of
feature requirement level for Profiles, expected scenario under test and related test cases:

• Feature Level Requirement

• Expected Scenarios Under Test

• List of Test Cases

4.1.1 Feature Level Requirement


Feature Level Requirement item contains a feature ID, check condition based on Device features,
required number of Devices and feature requirement level for the Profiles, which will be used for
Profiles conformance.

To claim this Feature as supported Client shall pass Expected Scenario Under Test:

• for each Device, which supports Device Features defined in Check Condition Based on
Device Features

• for at least with number of Devices specified in Required Number of Devices

If Feature Level Requirement is defined as Mandatory for some Profile, Client shall support this
Feature to claim this Profile Conformance.

4.1.2 Expected Scenarios Under Test


Expected Scenarios Under Test item contains expected scenario under test, conditions when the
feature will be defined as supported and as not supported.

36 [Link]
ONVIF Profile S Client Test Specification Version 22.06

4.1.3 Test Cases


Test Case items contain list of test cases which are related to feature. Test cases provide exact
procedure of testing feature support conditions.

Each Test Case contains the following parts:

• Test Label - Unique label for each test

• Test Case ID - Unique ID for each test

• Profile Normative References - Requirement level for the feature under test is defined in
Profile Specification. This reference is informative and will not be used in conformance
procedure.

• Feature Under Test - Feature which is under current test. Typically a particular command or
an event.

• Test Purpose - The purpose of current test case.

• Pre-Requisite - The pre-requisite defines when the test should be performed. In case if pre-
reqiusite does not match, the test result will be NOT DETECTED.

• Test Procedure - scenario expected to be reflected in network trace file.

• Test Result - Passed and failed criteria of the test case. Depending on these criteria test result
will be defined as PASSED or FAILED.

4.2 Test Setup


Collect Network traces files required by the test cases.

Collect Feature List XML files for Devices detected in the Network Trace files.

Client shall support all mandatory and conditional features listed in the Device Feature List XML file
supplied for the Profiles supported by the Client.

For compatibility with the Profile S, the ONVIF Client shall follow the requirements of the
conformance process. For details please see the latest ONVIF Conformance Process Specification.

4.3 Prerequisites
The pre-requisites for executing the test cases described in this Test Specification include:

The Device shall be configured with an IPv4 address.

[Link] 37
ONVIF Profile S Client Test Specification Version 22.06

The Device shall be able to be discovered by the Client.

38 [Link]
ONVIF Profile S Client Test Specification Version 22.06

5 Test Cases for Profile Mandatory Features

5.1 Username Token Test Cases

5.1.1 Feature Level Requirement:


Validated Feature: Username Token Authentication (UserTokenProfile)

Check Condition based on Device Features: WS-Username Token

Required Number of Devices: 1 (Note: Username Token feature shall be passed with at least one
Device and can by not detected with other devices with supporting of WS-Username Token)

Profile S Requirement: Mandatory

Profile A Requirement: None

Profile C Requirement: None

Profile G Requirement: None

Profile T Requirement: None

5.1.2 Expected Scenarios Under Test:


1. Client invokes a specific command which requires authentication with WS-Username Token
authentication header.

2. Device sends a valid response to this request.

3. Client is considered as supporting WS-Username Token if the following conditions are met:

• Device returns a valid response to specific request with UsernameToken authentication


header.

4. Client is considered as NOT supporting WS-Username Token if the following is TRUE:

• All UsernameToken attempts detected are failed.

5.1.3 USER TOKEN PROFILE


Test Label: Security - User token profile

[Link] 39
ONVIF Profile S Client Test Specification Version 22.06

Test Case ID: USERTOKENPROFILE-1

Feature Under Test: Username Token Authentication


(UserTokenProfile_UsernameTokenAuthentication)

Test Purpose: To verify that the Client supports the User Token Profile for Message level security.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with UsernameToken Authentication present.

Test Procedure (expected to be reflected in network trace file):

1. Client sends a request (e.g. GetUsers) to the Device with correctly formatted
UsernameToken.

2. Verify that the Device accepts the correct request.

Test Result:

PASS -

• Client request messages are valid according to XML Schemas listed in Namespaces AND

• Client request that contains UsernameToken authentication in SOAP header fulfills the
following requirements:

• [S1] Client request contains "<Security>" tag after the "<Header>" tag AND

• [S2] "<Security>" includes tag: "<UsernameToken>" AND

• [S3] "<UsernameToken>" includes tag: "<Username>" AND

• [S4] "<UsernameToken>" includes tag: "<Password>" AND

• [S5] "<UsernameToken>" includes tag: "<Nonce>" AND

• [S6] "<UsernameToken>" includes tag: "<Created>" AND

• [S7] Device response contains "HTTP/* 200 OK" AND

• [S8] Device response does NOT contain "<Fault>" tag.

FAIL -

• The Client failed PASS criteria.

40 [Link]
ONVIF Profile S Client Test Specification Version 22.06

5.2 HTTP Digest Test Cases

5.2.1 Feature Level Requirement:


Validated Feature: HTTP Digest authentication (HTTPDigest)

Check Condition based on Device Features: Digest

Required Number of Devices: 3

Profile A Requirement: Mandatory

Profile C Requirement: Mandatory

Profile D Requirement: Mandatory

Profile G Requirement: Mandatory

Profile S Requirement: Mandatory

Profile T Requirement: Mandatory

Profile M Requirement: Mandatory

5.2.2 Expected Scenarios Under Test:


1. Client invokes a specific command which is under testing without any user credentials (no
UsernameToken, no HTTP Digest authentication header).

2. Device returns HTTP 401 Unauthorized error along with WWW-Authentication: Digest
header.

3. Client re-sends request with HTTP Digest Authentication header corresponding to header
provided in device response.

4. Device sends a valid response to this request.

5. Client is considered as supporting HTTP Digest if the following conditions are met:

• Device returns a valid response to specific request with HTTP Digest authentication
header.

6. Client is considered as NOT supporting HTTP Digest if the following is TRUE:

• All HTTP Digest attempts detected are failed.

[Link] 41
ONVIF Profile S Client Test Specification Version 22.06

5.2.3 HTTP DIGEST


Test Label: Security - HTTP Digest Authentication.

Test Case ID: HTTPDIGEST-1

Feature Under Test: HTTP Digest (HTTPDigest_HTTPDigestAuthentication)

Test Purpose: To verify that the Client supports the HTTP Digest Authentication for HTTP level
security.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with HTTP Digest Authentication present.

Test Procedure (expected to be reflected in network trace file):

1. Client sends a request that requires authentication (e.g. GetUsers) to the Device without
any authentication.

2. Device rejects the request with HTTP error code 401 AND an HTTP Digest challenge.

3. Client sends a valid request with HTTP Digest Authentication.

4. Device accepts the correct request with response code HTTP 200 OK.

Test Result:

PASS -

• [S1] Client request contains (HTTP GET method OR HTTP POST method) without any
authentication AND

• Client HTTP GET request has a proper hierarchy (refer to [RFC 1945]) AND

• [S2] Device response contains "HTTP/* 401 Unauthorized" AND

• [S3] Device response contains "realm=*" element AND

• [S4] Device response contains "nonce=*" element AND

• [S5] Client request contains (HTTP GET method OR HTTP POST method) with
"Authorization: Digest username=*" element AND

• Client HTTP GET request with HTTP Authentication has a proper hierarchy (refer to [RFC
1945]) AND

42 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S6] Client request contains "realm=*" element with value from Device response AND

• [S7] Client request contains "nonce=*" element with value from Device response AND

• [S8] Client request contains "uri=*" element AND

• [S9] Device response contains "HTTP/* 200 OK".

FAIL -

• The Client failed PASS criteria.

5.3 Capabilities Test Cases

5.3.1 Feature Level Requirement:


Validated Feature: Capabilities (Capabilities)

Check Condition based on Device Features: None

Required Number of Devices: 3

Profile A Requirement: Mandatory

Profile C Requirement: Mandatory

Profile G Requirement: Mandatory

Profile S Requirement: Mandatory

Profile T Requirement: Mandatory

5.3.2 Expected Scenarios Under Test:


1. Client invokes a specific Capabilities command which is under testing.

2. Client is considered as supporting Capabilities if the following conditions are met:

• Device returns a valid response to GetServices request OR

• Device returns a valid response to GetCapabilities request.

3. Client is considered as NOT supporting Capabilities if the following is TRUE:

• No Valid Device Response to GetServices request AND

• No Valid Device Response to GetCapabilities request.

[Link] 43
ONVIF Profile S Client Test Specification Version 22.06

5.3.3 GET SERVICES


Test Label: Capabilities - Determine the available Services

Test Case ID: CAPABILITIES-1

Feature Under Test: Get Services (Capabilities_GetServicesRequest)

Test Purpose: To verify that Device Capabilities is received using GetServices request.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetServices command present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetServices request message to retrieve all services of the Device.

2. Verify that GetServicesResponse message from the Device contains code HTTP 200 OK
without SOAP Fault.

Test Result:

PASS -

• Client GetServices request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GetServices request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GetServices>" tag after the "<Body>" tag AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<GetServicesResponse>" tag.

FAIL -

• The Client failed PASS criteria.

5.3.4 GET CAPABILITIES


Test Label: Capabilities - Get Device Capabilities

Test Case ID: CAPABILITIES-2

Feature Under Test: Get Capabilities (Capabilities_GetCapabilities)

44 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Test Purpose: To verify that Device Capabilities is received using GetCapabilities request.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetCapabilities command present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetCapabilities request message to retrieve Device Capabilities of the


Device.

2. Verify that GetCapabilitiesResponse response message from the Device contains code
HTTP 200 OK without SOAP Fault.

Test Result:

PASS -

• Client GetCapabilities request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GetCapabilities request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GetCapabilities>" tag after the "<Body>" tag AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<GetCapabilitiesResponse>" tag.

FAIL -

• The Client failed PASS criteria.

5.4 Media Streaming Test Cases

5.4.1 Feature Level Requirement:


Validated Feature: Media Streaming (MediaStreaming)

Check Condition based on Device Features: Real Time Streaming (Media Service) is supported
by Device.

Required Number of Devices: 3

Profile S Requirement: Mandatory

[Link] 45
ONVIF Profile S Client Test Specification Version 22.06

5.4.2 Expected Scenarios Under Test:


1. Client connects to Device to initiate Media Streaming.

2. Client is considered as supporting Media Streaming if the following conditions are met:

• Device returns a valid response to GetProfiles request AND

• Device returns a valid response to GetStreamURI request AND

• Stream was successfully established by Client using UDP protocol OR HTTP protocol.

• Stream was successfully established by Client using RTSP protocol (if supported).

3. Client is considered as NOT supporting Media Streaming if the following is TRUE:

• No Valid Device Response to GetProfiles request OR

• No Valid Device Response to GetStreamURI request OR

• Client is unable to establish stream using UDP protocol OR HTTP protocol OR

• Client is unable to establish stream using RTSP protocol if detected.

5.4.3 GET PROFILES


Test Label: Media Streaming - GetProfiles

Test Case ID: MEDIASTREAMING-1

Feature Under Test: Get Profiles (MediaStreaming_GetProfiles)

Test Purpose: To verify that list of media profiles from Device is received by Client using the
GetProfiles operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetProfiles operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetProfiles request message to retrieve complete profiles list from Device.

2. Device responds with code HTTP 200 OK and GetProfilesResponse message.

Test Result:

46 [Link]
ONVIF Profile S Client Test Specification Version 22.06

PASS -

• Client GetProfiles request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GetProfiles request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element trt:GetProfiles AND

• Device response on the GetProfiles request fulfills the following requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element trt:GetProfilesResponse.

FAIL -

• The Client failed PASS criteria.

5.4.4 GET STREAM URI


Test Label: Media Streaming - GetStreamURI

Test Case ID: MEDIASTREAMING-2

Feature Under Test: Get Stream URI (MediaStreaming_GetStreamURI)

Test Purpose: To verify that stream URI from Device is received by Client using the GetStreamURI
operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetStreamURI operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetStreamUri request message with the Stream Setup element (contains
two parts: Stream Type and Transport protocol) and Profile Token element (indicates the
media profile selected).

2. Device responds with code HTTP 200 OK and GetStreamUriResponse message.

Test Result:

PASS -

• Client GetStreamUri request messages are valid according to XML Schemas listed in
Namespaces AND

[Link] 47
ONVIF Profile S Client Test Specification Version 22.06

• Client GetStreamUri request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element trt:GetStreamUri AND

• [S2] trt:GetStreamUri\trt:StreamSetup\tt:Transport\tt:Protocol element value is equal


EITHER "UDP" OR "HTTP" OR "RTSP" AND

• [S2] trt:GetStreamUri\trt:ProfileToken element has non-empty string value AND

• Device response on the GetStreamUri request fulfills the following requirements:

• [S3] It has HTTP 200 response code AND

• [S4] soapenv:Body element has child element trt:GetStreamUriResponse.

FAIL -

• The Client failed PASS criteria.

5.4.5 STREAMING OVER RTSP


Test Label: Media Streaming - RTSP

Test Case ID: MEDIASTREAMING-3

Feature Under Test: Streaming Over RTSP (MediaStreaming_RTSPStreaming)

Test Purpose: To verify that stream over RTSP protocol was successfully established between
Client and Device using RTSP commands and then successfully stopped.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with RTSP SETUP request with transport parameter as "RTP/AVP/TCP" and which
does not contain Require header with "onvif-replay" value and which is not tunneled in HTTP
present.

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetStreamUri for Media Service with trt:StreamSetup/tt:Transport/tt:Protocol
element value equals to "RTSP".

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetStreamUri request message for media profile with Stream Type element
with "RTP-Unicast" OR "RTP-Multicast" value and Transport Protocol element with "RTSP"
value.

48 [Link]
ONVIF Profile S Client Test Specification Version 22.06

2. Device responds with code HTTP 200 OK and GetStreamUriResponse message.


message.

3. Client invokes RTSP DESCRIBE request to retrieve media stream description.

4. Device responds with code RTSP 200 OK.

5. Client invokes RTSP SETUP request with Transport tag in RTSP header that
contains "RTP/AVP/TCP" and without "onvif-replay" Require header to set media session
parameters.

6. Device responds with code RTSP 200 OK.

7. Client invokes RTSP PLAY request without "onvif-replay" Require header to start media
stream.

8. Device responds with code RTSP 200 OK.

9. Client invokes RTSP TEARDOWN request to terminate the RTSP session.

10. If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

Test Result:

Note: If no GetStreamUri (Media Service) corresponding to detected RTSP session found, the test
will be assumed as NOT DETECTED.

PASS -

• Client RTSP SETUP request in Test Procedure fulfills the following requirements:

• [S1] It contains Transport request header field with value is equal to "RTP/AVP/
TCP" (transport=RTP, profile=AVP, lower-transport=TCP) (see [RFC 2326]) AND

• [S2] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• [S3] It is not tunneled in HTTP AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S4] It has RTSP 200 response code AND

• There is Client RTSP DESCRIBE request in Test Procedure fulfills the following requirements:

• [S5] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S6] It invoked before the Client RTSP SETUP request AND

[Link] 49
ONVIF Profile S Client Test Specification Version 22.06

• [S7] It is not tunneled in HTTP AND

• Device response on the RTSP DESCRIBE request fulfills the following requirements:

• [S8] SDP packet contains media type with Control URL that was used to send RTSP SETUP
(see [RFC 2326, C.1.1 Control URL]) AND

• [S9] It has RTSP 200 response code AND

• There is a Device GetStreamUri request in Test Procedure fulfills the following requirements:

• [S10] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S11] It invoked before the Client RTSP DESCRIBE request AND

• [S12] trt:StreamSetup/tt:Transport/tt:Protocol element value is equal to "RTSP"

• Device response on the GetStreamUri request fulfills the following requirements:

• [S13] It has HTTP 200 response code AND

• [S14] It contains trt:MediaUri\tt:Uri element which value is equal to RTSP address that
was used to send the RTSP DESCRIBE request AND

• There is Client RTSP PLAY request in Test Procedure fulfills the following requirements:

• [S15] It is invoked for the same RTSP session as the Client RTSP SETUP request AND

• [S16] It invoked after the Client RTSP SETUP request AND

• [S17] RTSP address that was used to send it is correspond to any media Control URL
or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• [S18] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• [S19] It is not tunneled in HTTP AND

• Device response on the RTSP PLAY request fulfills the following requirements:

• [S20] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure fulfills the following
requirements:

• [S21] It invoked for the same RTSP session as the Client RTSP SETUP request AND

50 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S22] It invoked after the Client RTSP PLAY request AND

• [S23] RTSP address that was used to send it is correspond to any media Control URL
or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• [S24] It is not tunneled in HTTP AND

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

• [S25] It has RTSP 200 response code.

FAIL -

• The Client failed PASS criteria.

5.4.6 STREAMING OVER UDP


Test Label: Media Streaming - UDP

Test Case ID: MEDIASTREAMING-4

Feature Under Test: Streaming Over UDP (MediaStreaming_UDP)

Test Purpose: To verify that stream over UDP protocol was successfully established between Client
and Device using RTSP commands and then successfully stopped.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with RTSP SETUP request with transport parameter as "RTP/AVP/UDP" or "RTP/
AVP" and which does not contain Require header with "onvif-replay" value present.

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetStreamUri for Media Service with trt:StreamSetup/tt:Transport/tt:Protocol
element value equals to "UDP".

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetStreamUri request message for media profile with Stream Type element
with "RTP-Unicast" OR "RTP-Multicast" value and Transport Protocol element with "UDP"
value.

2. Device responds with code HTTP 200 OK and GetStreamUriResponse message.


message.

[Link] 51
ONVIF Profile S Client Test Specification Version 22.06

3. Client invokes RTSP DESCRIBE request to retrieve media stream description.

4. Device responds with code RTSP 200 OK.

5. Client invokes RTSP SETUP request with Transport tag in RTSP header that contains
"RTP/AVP/UDP" or "RTP/AVP" and without "onvif-replay" Require header to set media
session parameters.

6. Device responds with code RTSP 200 OK.

7. Client invokes RTSP PLAY request without "onvif-replay" Require header to start media
stream.

8. Device responds with code RTSP 200 OK.

9. Client invokes RTSP TEARDOWN request to terminate the RTSP session.

10. If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

Test Result:

Note: If no GetStreamUri (Media Service) corresponding to detected RTSP session found, the test
will be assumed as NOT DETECTED.

PASS -

• Client RTSP SETUP request in Test Procedure fulfills the following requirements:

• [S1] It contains Transport request header field with value is equal to "RTP/AVP/UDP"
OR "RTP/AVP" (transport=RTP, profile=AVP, lower-transport=TCP or skipped) (see [RFC
2326]) AND

• [S2] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S3] It has RTSP 200 response code AND

• There is Client RTSP DESCRIBE request in Test Procedure fulfills the following requirements:

• [S4] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S5] It invoked before the Client RTSP SETUP request AND

• Device response on the RTSP DESCRIBE request fulfills the following requirements:

• [S6] SDP packet contains media type with Control URL that was used to send RTSP SETUP
(see [RFC 2326, C.1.1 Control URL]) AND

52 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S7] It has RTSP 200 response code AND

• There is a Device GetStreamUri request in Test Procedure fulfills the following requirements:

• [S8] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S9] It invoked before the Client RTSP DESCRIBE request AND

• [S10] trt:StreamSetup/tt:Transport/tt:Protocol element value is equal to "UDP"

• Device response on the GetStreamUri request fulfills the following requirements:

• [S11] It contains trt:MediaUri\tt:Uri element which value is equal to RTSP address that
was used to send the RTSP DESCRIBE request AND

• [S12] It has HTTP 200 response code AND

• There is Client RTSP PLAY request in Test Procedure fulfills the following requirements:

• [S13] It invoked for the same RTSP session as the Client RTSP SETUP request AND

• [S14] It invoked after the Client RTSP SETUP request AND

• [S15] RTSP address that was used to send it is correspond to any media Control URL
or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• [S16] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP PLAY request fulfills the following requirements:

• [S17] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure fulfills the following
requirements:

• [S18] It invoked for the same RTSP session as the Client RTSP SETUP request AND

• [S19] It invoked after the Client RTSP PLAY request AND

• [S20] RTSP address that was used to send it is correspond to any media Control URL
or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

[Link] 53
ONVIF Profile S Client Test Specification Version 22.06

• [S21] It has RTSP 200 response code.

FAIL -

• The Client failed PASS criteria.

5.4.7 STREAMING OVER HTTP


Test Label: Media Streaming - HTTP

Test Case ID: MEDIASTREAMING-5

Feature Under Test: Streaming Over HTTP (MediaStreaming_HTTP)

Test Purpose: To verify that stream over HTTP protocol was successfully established between
Client and Device using RTSP commands and then successfully stopped.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with RTSP SETUP request with transport parameter as "RTP/AVP/TCP" and which
does not contain Require header with "onvif-replay" value and which is tunneled in HTTP
present.

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetStreamUri for Media Service with trt:StreamSetup/tt:Transport/tt:Protocol
element value equals to "HTTP".

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetStreamUri request message for media profile with Stream Type element
with "RTP-Unicast" OR "RTP-Multicast" value and Transport Protocol element with "RTSP"
value.

2. Device responds with code HTTP 200 OK and GetStreamUriResponse message.


message.

3. Client invokes RTSP DESCRIBE request in HTTP tunnel to retrieve media stream
description.

4. Device responds with code RTSP 200 OK.

5. Client invokes RTSP SETUP request without "onvif-replay" Require header in HTTP tunnel
with Transport tag in RTSP header that contains "RTP/AVP/TCP" to set media session
parameters.

54 [Link]
ONVIF Profile S Client Test Specification Version 22.06

6. Device responds with code RTSP 200 OK.

7. Client invokes RTSP PLAY request without "onvif-replay" Require header in HTTP tunnel
to start media stream.

8. Device responds with code RTSP 200 OK.

9. Client invokes RTSP TEARDOWN request in HTTP tunnel to terminate the RTSP session.

10. If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

Test Result:

Note: If no GetStreamUri (Media Service) corresponding to detected RTSP session found, the test
will be assumed as NOT DETECTED.

PASS -

• Client RTSP SETUP request in Test Procedure fulfills the following requirements:

• [S1] It contains Transport request header field with value is equal to "RTP/AVP/
TCP" (transport=RTP, profile=AVP, lower-transport=TCP) (see [RFC 2326]) AND

• [S2] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• [S3] It is tunneled in HTTP AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S4] It has RTSP 200 response code AND

• There is Client RTSP DESCRIBE request in Test Procedure fulfills the following requirements:

• [S5] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S6] It invoked before the Client RTSP SETUP request AND

• [S7] It is tunneled in HTTP AND

• Device response on the RTSP DESCRIBE request fulfills the following requirements:

• [S8] SDP packet contains media type with Control URL that was used to send RTSP SETUP
(see [RFC 2326, C.1.1 Control URL]) AND

• [S9] It has RTSP 200 response code AND

• There is a Device GetStreamUri request in Test Procedure fulfills the following requirements:

[Link] 55
ONVIF Profile S Client Test Specification Version 22.06

• [S10] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S11] It invoked before the Client RTSP DESCRIBE request AND

• [S12] trt:StreamSetup/tt:Transport/tt:Protocol element value is equal to "HTTP"

• Device response on the GetStreamUri request fulfills the following requirements:

• [S13] It has HTTP 200 response code AND

• [S14] It contains trt:MediaUri\tt:Uri element which value is equal to RTSP address that
was used to send the RTSP DESCRIBE request AND

• There is Client RTSP PLAY request in Test Procedure fulfills the following requirements:

• [S15] It invoked for the same RTSP session as the Client RTSP SETUP request AND

• [S16] It invoked after the Client RTSP SETUP request AND

• [S17] RTSP address that was used to send it is correspond to any media Control URL
or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• [S18] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• [S19] It is tunneled in HTTP AND

• Device response on the RTSP PLAY request fulfills the following requirements:

• [S20] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure fulfills the following
requirements:

• [S21] It invoked for the same RTSP session as the Client RTSP SETUP request AND

• [S22] It invoked after the Client RTSP PLAY request AND

• [S23] RTSP address that was used to send it is correspond to any media Control URL
or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• [S24] It is tunneled in HTTP AND

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

56 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S25] It has RTSP 200 response code.

FAIL -

• The Client failed PASS criteria.

5.5 Video Streaming Test Cases

5.5.1 Feature Level Requirement:


Validated Feature: Video Streaming (VideoStreaming)

Check Condition based on Device Features: Real Time Streaming (Media Service) is supported
by Device.

Required Number of Devices: 3

Profile S Requirement: Mandatory

5.5.2 Expected Scenarios Under Test:


1. Client connects to Device to initiate Video Streaming of a specific encoding type.

2. Client is considered as supporting Video Streaming if the following conditions are met:

• Client is able to initiate and retrieve a video stream with MJPEG encoding type (when the
device doesn't support optional encoding features) OR

• Client is able to initiate and retrieve a video stream with MJPEG encoding AND support
all optional encodings (when the device supports optional encodings).

3. Client is considered as NOT supporting Video Streaming if ANY of the following is TRUE:

• MJPEG Video Streaming attempts detected have failed OR

• (when the device supports optional MPEG4 or H264 encodings) EITHER MPEG4 Video
Streaming attempts detected have failed OR H264 Video Streaming attempts detected
have failed.

5.5.3 MJPEG VIDEO STREAMING


Test Label: Video Streaming - MJPEG

Test Case ID: VIDEOSTREAMING-1

[Link] 57
ONVIF Profile S Client Test Specification Version 22.06

Feature Under Test: MJPEG Video Streaming (VideoStreaming_MJPEGStreaming)

Test Purpose: To verify that the Client is able to initiate and retrieve a video stream with MJPEG
encoding type.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with Video Streaming of MJPEG encoding type.

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetStreamUri for Media Service.

• Device supports JPEG encoding for Video Streaming.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetStreamUri request message for media profile that contains Video Source
Configuration and Video Encoder Configuration with JPEG Encoding value. GetStreamUri
request is set for RTP-Unicast/UDP OR RTP-Multicast/UDP OR RTP/RTSP/TCP OR RTP-
Unicast/RTSP/HTTP/TCP transport.

2. Device responds with code HTTP 200 OK and GetStreamUriResponse message.

3. Client invokes RTSP DESCRIBE request to retrieve media stream description.

4. Device responds with code RTSP 200 OK and SDP information with Media Type: "video"
and with encoding name "JPEG" or with payload type number "26".

5. Client invokes RTSP SETUP request without "onvif-replay" Require header and with
transport parameter element to to set media session parameters for JPEG video streaming.

6. Device responds with code RTSP 200 OK.

7. Client invokes RTSP PLAY request without "onvif-replay" Require header to start media
stream.

8. Device responds with code RTSP 200 OK.

9. Client invokes RTSP TEARDOWN request to terminate the RTSP session.

10. If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

Test Result:

Note: If no GetStreamUri (Media Service) corresponding to detected RTSP session found, the test
will be assumed as NOT DETECTED.

58 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Note: RTSP requests and RTSP response could be tunneled in HTTP if RTP-Unicast/RTSP/HTTP/
TCP transport is used.

PASS -

• There is Client RTSP DESCRIBE request in Test Procedure

• Device response on the RTSP DESCRIBE request fulfills the following requirements:

• [S1] It has RTSP 200 response code AND

• [S2] IF SDP packet contains media type "video" (m=video) with sessions attribute "rtpmap"
THEN encoding name is "JPEG"

• [S3] ELSE IF SDP packet contains media type "video" (m=video) without sessions attribute
"rtpmap" THEN payload type number is "26" (see [RFC 2435]) AND

• There is Client RTSP SETUP request in Test Procedure fulfills the following requirements:

• [S4] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S5] It invoked after the Client RTSP DESCRIBE request AND

• [S6] RTSP address that was used to send RTSP SETUP is correspond to corresponding
media Control URL from SDP packet (see [RFC 2326, C.1.1 Control URL]) AND

• [S7] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S8] It has RTSP 200 response code AND

• There is a Device response on the GetStreamUri request in Test Procedure fulfills the
following requirements:

• [S9] It has HTTP 200 response code AND

• [S10] It received for the same Device as for the Client RTSP DESCRIBE request AND

• [S11] It received before the Client RTSP DESCRIBE request AND

• [S12] It contains trt:MediaUri\tt:Uri element which value is equal to RTSP address that
was used to send the RTSP DESCRIBE request AND

• There is Client RTSP PLAY request in Test Procedure fulfills the following requirements:

• [S13] It invoked for the same RTSP session as the Client RTSP SETUP request AND

[Link] 59
ONVIF Profile S Client Test Specification Version 22.06

• [S14] It invoked after the Client RTSP SETUP request AND

• [S15] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• [S16] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP PLAY request fulfills the following requirements:

• [S17] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure fulfills the following
requirements:

• [S18] It invoked for the same RTSP session as the Client RTSP SETUP request AND

• [S19] It invoked after the Client RTSP PLAY request AND

• [S20] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

• [S21] It has RTSP 200 response code.

FAIL -

• The Client failed PASS criteria.

5.5.4 MPEG4 VIDEO STREAMING


Test Label: Video Streaming - MPEG4

Test Case ID: VIDEOSTREAMING-2

Feature Under Test: MPEG4 Video Streaming (VideoStreaming_MPEG4Streaming)

Test Purpose: To verify that the Client is able to initiate and retrieve a video stream with MPEG4
encoding type.

Pre-Requisite:

60 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• The Network Trace Capture files contains at least one Conversation between Client and
Device with Video Streaming of MPEG4 encoding type.

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetStreamUri for Media Service.

• Device supports MPEG4 encoding for Video Streaming.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetStreamUri request message for media profile that contains Video Source
Configuration and Video Encoder Configuration with MPEG4 Encoding value. GetStreamUri
request is set for RTP-Unicast/UDP OR RTP-Multicast/UDP OR RTP/RTSP/TCP OR RTP-
Unicast/RTSP/HTTP/TCP transport.

2. Device responds with code HTTP 200 OK and GetStreamUriResponse message.

3. Client invokes RTSP DESCRIBE request to retrieve media stream description.

4. Device responds with code RTSP 200 OK and SDP information with Media Type: "video"
and with encoding name "MP4V-ES".

5. Client invokes RTSP SETUP request without "onvif-replay" Require header and with
transport parameter element to to set media session parameters for MPEG4 video
streaming.

6. Device responds with code RTSP 200 OK.

7. Client invokes RTSP PLAY request without "onvif-replay" Require header to start media
stream.

8. Device responds with code RTSP 200 OK.

9. Client invokes RTSP TEARDOWN request to terminate the RTSP session.

10. If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

Test Result:

Note: If no GetStreamUri (Media Service) corresponding to detected RTSP session found, the test
will be assumed as NOT DETECTED.

Note: RTSP requests and RTSP response could be tunneled in HTTP if RTP-Unicast/RTSP/HTTP/
TCP transport is used.

PASS -

[Link] 61
ONVIF Profile S Client Test Specification Version 22.06

• There is Client RTSP DESCRIBE request in Test Procedure

• Device response on the RTSP DESCRIBE request fulfills the following requirements:

• [S1] It has RTSP 200 response code AND

• [S2] SDP packet contains media type "video" (m=video) with sessions attribute "rtpmap"
with encoding name "MP4V-ES" (see [RFC 3016], item 5.2 SDP usage of MPEG-4 Visual)
AND

• There is Client RTSP SETUP request in Test Procedure fulfills the following requirements:

• [S3] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S4] It invoked after the Client RTSP DESCRIBE request AND

• [S5] RTSP address that was used to send RTSP SETUP is correspond to corresponding
media Control URL from SDP packet (see [RFC 2326, C.1.1 Control URL]) AND

• [S6] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S7] It has RTSP 200 response code AND

• There is a Device response on the GetStreamUri request in Test Procedure fulfills the
following requirements:

• [S8] It has HTTP 200 response code AND

• [S9] It received for the same Device as for the Client RTSP DESCRIBE request AND

• [S10] It received before the Client RTSP DESCRIBE request AND

• [S11] It contains trt:MediaUri\tt:Uri element which value is equal to RTSP address that
was used to send the RTSP DESCRIBE request AND

• There is Client RTSP PLAY request in Test Procedure fulfills the following requirements:

• [S12] It invoked for the same RTSP session as the Client RTSP SETUP request AND

• [S13] It invoked after the Client RTSP SETUP request AND

• [S14] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

62 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S15] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP PLAY request fulfills the following requirements:

• [S16] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure fulfills the following
requirements:

• [S17] It invoked the same RTSP session as the Client RTSP SETUP request AND

• [S18] It invoked after the Client RTSP PLAY request AND

• [S19] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

• [S20] It has RTSP 200 response code.

FAIL -

• The Client failed PASS criteria.

5.5.5 H264 VIDEO STREAMING


Test Label: Video Streaming - H264

Test Case ID: VIDEOSTREAMING-3

Feature Under Test: H264 Video Streaming (VideoStreaming_H264Streaming)

Test Purpose: To verify that the Client is able to initiate and retrieve a video stream with H264
encoding type.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with Video Streaming of H264 encoding type.

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetStreamUri for Media Service.

• Device supports H264 encoding for Video Streaming.

[Link] 63
ONVIF Profile S Client Test Specification Version 22.06

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetStreamUri request message for media profile that contains Video Source
Configuration and Video Encoder Configuration with H264 Encoding value. GetStreamUri
request is set for RTP-Unicast/UDP OR RTP-Multicast/UDP OR RTP/RTSP/TCP OR RTP-
Unicast/RTSP/HTTP/TCP transport.

2. Device responds with code HTTP 200 OK and GetStreamUriResponse message.

3. Client invokes RTSP DESCRIBE request to retrieve media stream description.

4. Device responds with code RTSP 200 OK and SDP information with Media Type: "video"
and with encoding name "H264".

5. Client invokes RTSP SETUP request without "onvif-replay" Require header and with
transport parameter element to to set media session parameters for H264 video streaming.

6. Device responds with code RTSP 200 OK.

7. Client invokes RTSP PLAY request without "onvif-replay" Require header to start media
stream.

8. Device responds with code RTSP 200 OK.

9. Client invokes RTSP TEARDOWN request to terminate the RTSP session.

10. If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

Test Result:

Note: If no GetStreamUri (Media Service) corresponding to detected RTSP session found, the test
will be assumed as NOT DETECTED.

Note: RTSP requests and RTSP response could be tunneled in HTTP if RTP-Unicast/RTSP/HTTP/
TCP transport is used.

PASS -

• There is Client RTSP DESCRIBE request in Test Procedure

• Device response on the RTSP DESCRIBE request fulfills the following requirements:

• [S1] It has RTSP 200 response code AND

• [S2] SDP packet contains media type "video" (m=video) with sessions attribute "rtpmap"
with encoding name "H264" (see [RFC 3984], item 8.2.1. Mapping of MIME Parameters
to SDP) AND

• There is Client RTSP SETUP request in Test Procedure fulfills the following requirements:

64 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S3] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S4] It invoked after the Client RTSP DESCRIBE request AND

• [S5] RTSP address that was used to send RTSP SETUP is correspond to corresponding
media Control URL from SDP packet (see [RFC 2326, C.1.1 Control URL]) AND

• [S6] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S7] It has RTSP 200 response code AND

• There is a Device response on the GetStreamUri request in Test Procedure fulfills the
following requirements:

• [S8] It has HTTP 200 response code AND

• [S9] It received for the same Device as for the Client RTSP DESCRIBE request AND

• [S10] It received before the Client RTSP DESCRIBE request AND

• [S11] It contains trt:MediaUri\tt:Uri element which value is equal to RTSP address that
was used to send the RTSP DESCRIBE request AND

• There is Client RTSP PLAY request in Test Procedure fulfills the following requirements:

• [S12] It invoked for the same RTSP session as the Client RTSP SETUP request AND

• [S13] It invoked after the Client RTSP SETUP request AND

• [S14] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• [S15] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP PLAY request fulfills the following requirements:

• [S16] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure fulfills the following
requirements:

• [S17] It invoked for the same RTSP session as the Client RTSP SETUP request AND

[Link] 65
ONVIF Profile S Client Test Specification Version 22.06

• [S18] It invoked after the Client RTSP PLAY request AND

• [S19] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

• [S20] It has RTSP 200 response code.

FAIL -

• The Client failed PASS criteria.

5.6 Video Encoder Configurations Test Cases

5.6.1 Feature Level Requirement:


Validated Feature: Video Encoder Configurations (VideoEncoderConfigurations)

Check Condition based on Device Features: Media Service is supported by Device.

Required Number of Devices: 3

Profile S Requirement: Mandatory

5.6.2 Expected Scenarios Under Test:


1. Client connects to Device to modify Video Encoder Configurations.

2. Client is considered as supporting Video Encoder Configurations if the following conditions


are met:

• Device returns a valid response to GetVideoEncoderConfigurations operations AND

• Device returns a valid response to GetVideoEncoderConfiguration operations AND

• Client is able to retrieve video encoder configuration options using


GetVideoEncoderConfigurationOptions operation AND

• Client is able to change video encoder configuration settings using


SetVideoEncoderConfiguration operation.

66 [Link]
ONVIF Profile S Client Test Specification Version 22.06

3. Client is considered as NOT supporting Video Encoder Configurations if ANY of the following
is TRUE:

• No Valid Device Response to GetVideoEncoderConfigurations request if detected OR

• No Valid Device Response to GetVideoEncoderConfiguration request if detected OR

• No valid responses for GetVideoEncoderConfigurationOptions request OR

• No valid responses for SetVideoEncoderConfiguration request.

5.6.3 LIST VIDEO ENCODER CONFIGURATIONS


Test Label: Video Encoder Configurations - list all existing video encoder configurations

Test Case ID: VIDEOENCODERCONFIGURATIONS-1

Feature Under Test: List Video Encoder Configurations


(VideoEncoderConfigurations_GetVideoEncoderConfigurations)

Test Purpose: To verify that list of all existing video encoder configurations from Device is received
by Client using the GetVideoEncoderConfigurations operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetVideoEncoderConfigurations operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetVideoEncoderConfigurations request message to retrieve complete list


of available video encoder configurations from Device.

2. Device responds with code HTTP 200 OK and GetVideoEncoderConfigurationsResponse


message.

Test Result:

PASS -

• Client GetVideoEncoderConfigurations request messages are valid according to XML


Schemas listed in Namespaces AND

• Client GetVideoEncoderConfigurations request in Test Procedure fulfills the following


requirements:

• [S1] soapenv:Body element has child element trt:GetVideoEncoderConfigurations


AND

[Link] 67
ONVIF Profile S Client Test Specification Version 22.06

• Device response on the GetVideoEncoderConfigurations request fulfills the following


requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element


trt:GetVideoEncoderConfigurationsResponse.

FAIL -

• The Client failed PASS criteria.

5.6.4 GET SPECIFIC VIDEO ENCODER CONFIGURATION


Test Label: Video Encoder Configurations - gets a specific encoder configuration

Test Case ID: VIDEOENCODERCONFIGURATIONS-2

Feature Under Test: Get Specific Video Encoder Configuration


(VideoEncoderConfigurations_GetVideoEncoderConfiguration)

Test Purpose: To verify that Client is able to retrieve a specific encoder configuration from Device
by using the GetVideoEncoderConfiguration operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetVideoEncoderConfiguration operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetVideoEncoderConfiguration request message with specified


ConfigurationToken.

2. Device responds with code HTTP 200 OK and GetVideoEncoderConfigurationResponse.

Test Result:

PASS -

• Client GetVideoEncoderConfiguration request messages are valid according to XML


Schemas listed in Namespaces AND

• Client GetVideoEncoderConfiguration request in Test Procedure fulfills the following


requirements:

• [S1] Client request contains "<GetVideoEncoderConfiguration>" tag after the "<Body>" tag
AND

68 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S2] "<GetVideoEncoderConfiguration>" includes tag: "<ConfigurationToken>" with non-


empty string value of "Token=*" parameter AND

• [S3] Device response contains "HTTP/* 200 OK" AND

• [S4] Device response contains "<GetVideoEncoderConfigurationResponse>" tag.

FAIL -

• The Client failed PASS criteria.

5.6.5 GET VIDEO ENCODER CONFIGURATION OPTIONS


Test Label: Video Encoder Configuration - Get Video Encoder Configuration Options

Test Case ID: VIDEOENCODERCONFIGURATIONS-3

Feature Under Test: Get Video Encoder Configuration Options


(VideoEncoderConfigurations_GetVideoEncoderConfigurationOptions)

Test Purpose: To verify that Client is able to get video encoder configuration options provided by
Device using the GetVideoEncoderConfigurationOptions operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetVideoEncoderConfigurationOptions operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetVideoEncoderConfigurationOptions request message to retrieve


video encoder configuration options for the Device.

2. Device responds with code HTTP 200 OK and


GetVideoEncoderConfigurationOptionsResponse message.

Test Result:

PASS -

• Client GetVideoEncoderConfigurationOptions request messages are valid according to


XML Schemas listed in Namespaces AND

• Client GetVideoEncoderConfigurationOptions request in Test Procedure fulfills the


following requirements:

[Link] 69
ONVIF Profile S Client Test Specification Version 22.06

• [S1] soapenv:Body element has child element


trt:GetVideoEncoderConfigurationOptions AND

• [S2] If it contains trt:ConfigurationToken element THEN it has non-empty string value


AND

• [S3] If it contains trt:ProfileToken element THEN it has non-empty string value AND

• Device response to the GetVideoEncoderConfigurationOptions request fulfills the


following requirements:

• [S4] It has HTTP 200 response code AND

• [S5] soapenv:Body element has child element


trt:GetVideoEncoderConfigurationOptionsResponse.

FAIL -

• The Client failed PASS criteria.

5.6.6 SET VIDEO ENCODER CONFIGURATION


Test Label: Configure Video Encoder Configuration - Set Video Encoder Configuration

Test Case ID: VIDEOENCODERCONFIGURATIONS-4

Feature Under Test: Set Video Encoder Configuration


(VideoEncoderConfigurations_SetVideoEncoderConfiguration)

Test Purpose: To verify that Client is able to change video encoder configuration provided by Device
using the SetVideoEncoderConfiguration operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetVideoEncoderConfiguration operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetVideoEncoderConfiguration request message to change video encoder


configuration on the Device.

2. Device responds with code HTTP 200 OK and SetVideoEncoderConfigurationResponse


message.

Test Result:

70 [Link]
ONVIF Profile S Client Test Specification Version 22.06

PASS -

• Client SetVideoEncoderConfiguration request messages are valid according to XML


Schemas listed in Namespaces AND

• Client SetVideoEncoderConfiguration request in Test Procedure fulfills the following


requirements:

• [S1] soapenv:Body element has child element trt:SetVideoEncoderConfiguration AND

• [S2] trt:SetVideoEncoderConfiguration/trt:Configuration/@token element has non-


empty string value AND

• Device response to the SetVideoEncoderConfiguration request fulfills the following


requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element


trt:SetVideoEncoderConfigurationResponse.

FAIL -

• The Client failed PASS criteria.

5.7 Multiple Video Sources Test Cases

5.7.1 Feature Level Requirement:


Validated Feature: Multiple Video Sources (MultipleVideoSources)

Check Condition based on Device Features: Real Time Streaming (Media Service) is supported
by Device.

Required Number of Devices: 3

Profile S Requirement: Mandatory

5.7.2 Expected Scenarios Under Test:


1. Client connects to Device to get all Video Sources.

2. Client obtains video streaming for each Video Source provided by a Device.

3. Client is considered as supporting Multiple Video Sources if the following conditions are met:

[Link] 71
ONVIF Profile S Client Test Specification Version 22.06

• Client is able to get profile list by using GetProfiles operation AND

• Client is able to to initiate and retrieve video stream for each Video Source provided by a
Device using GetStreamUri command and RTSP commands.

4. Client is considered as NOT supporting Multiple Video Sources if ANY of the following is
TRUE:

• No Valid Device Response to GetProfiles request OR

• Client is unable to initiate and retrieve video streaming for at least one Video Source
provided by a Device.

5.7.3 STREAMING WITH ALL VIDEO SOURCES DETECTED


IN GET PROFILES
Test Label: Multiple Video Sources - Streaming with all Video Sources detected in
GetProfilesResponse

Test Case ID: MULTIPLEVIDEOSOURCES-1

Feature Under Test: Streaming For Video Sources From GetProfiles


(MultipleVideoSources_StreamingForVideoSourcesFromGetProfiles)

Test Purpose: To verify that Client is able to obtaine video streaming for each video source provided
by a Device in GetProfiles responses.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with video streaming present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetProfiles request messages to retrieve complete list of available media
profiles with video source configurations from Device.

2. Device responds with code HTTP 200 OK and GetProfilesResponse message.

3. Client initiate video streaming for each Video Source token detected in
GetProfilesResponse:

• Client selects existing media profile with required Video Source token or modifies media
profile to have required Video Source token or creates media profile with required Video
Source token.

72 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• Client invokes GetStreamUri request for this media profile.

• Device responds with code HTTP 200 OK and GetStreamUriResponse message.

• Client invokes RTSP DESCRIBE request to retrieve media stream description.

• Device responds with code RTSP 200 OK and SDP information with Media Type: "video".

• Client invokes RTSP SETUP request without "onvif-replay" Require header and with
transport parameter element to to set media session parameters for video streaming.

• Device responds with code RTSP 200 OK.

• Client invokes RTSP PLAY request without "onvif-replay" Require header to start media
stream.

• Device responds with code RTSP 200 OK.

• Client invokes RTSP TEARDOWN request to terminate the RTSP session.

• If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

Test Result:

PASS -

• For each Video Source Token listed by HelperGetVideoSourcesListFromGetProfiles (see


Annex A.1) there is a video stream in Test Procedure that fulfills the following requirements:

• There is a Client GetStreamUri request that fulfills the following requirements:

• [S1] It invoked for the media profile which contains Video Source Configuration with this
Video Source Token (see Annex A.2 HelperGetVideoSourceTokenUsedForStreaming to
get video source token from media profile) AND

• Device response on the GetStreamUri request fulfills the following requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element trt:GetStreamUriResponse AND

• There is a RTSP session in Test Procedure that fulfills the following requirements:

• [S5] It invoked for the uri from GetStreamUri response AND

• [S6] It started video streaming according to HelperFindVideoStreamingForGetStreamUri


(see Annex A.3)

[Link] 73
ONVIF Profile S Client Test Specification Version 22.06

FAIL -

• The Client failed PASS criteria.

74 [Link]
ONVIF Profile S Client Test Specification Version 22.06

6 Test Cases for Profile Conditional Features

6.1 Event Handling Test Cases

6.1.1 Feature Level Requirement:


Validated Feature: Event Handling (EventHandling)

Check Condition based on Device Features: Pull Point Notification OR WS Basic Notification
OR Profile S OR Metadata under Media2 service is supported by Device.

Required Number of Devices: 3

Profile S Requirement: Conditional

Profile G Requirement: Conditional

Profile A Requirement: Mandatory

Profile C Requirement: Mandatory

Profile T Requirement: Mandatory

Profile D Requirement: Mandatory

6.1.2 Expected Scenarios Under Test:


1. Client connects to Device to initiate Event Handling.

2. Client is considered as supporting Event Handling if the following conditions are met:

• Client is able to handle the Pull Point Event mechanism OR

• Client is able to handle the Base Notification Event mechanism OR

• Client is able to handle the Metadata Streaming by


supporting EventHandling_MetadataStreamingUsingMedia feature (please see
EVENTHANDLING-4 METADATA STREAMING USING MEDIA section) OR
Media2_MetadataStreaming_MetadataStreamingUsingMedia2 feature (please see
MEDIA2_METADATASTREAMING-1 METADATA STREAMING USING MEDIA2
section).

3. Client is considered as NOT supporting Event Handling if the following is TRUE:

• All Pull Point attempts detected have failed AND

[Link] 75
ONVIF Profile S Client Test Specification Version 22.06

• All Base Notification attempts detected have failed AND

• All Metadata Streaming attempts detected have failed.

6.1.3 PULLPOINT
Test Label: Event Handling - Pull Point

Test Case ID: EVENTHANDLING-1

Feature Under Test: Pull Point (EventHandling_PullPoint)

Test Purpose: To verify that the Client is able to retrieve events using Pull Point.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with Pull Point event type.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes CreatePullPointSubscription message.

2. Device responds with code HTTP 200 OK and CreatePullPointSubscriptionResponse


message.

3. Client invokes PullMessages command with Timeout and MessageLimit elements.

4. Device responds with code HTTP 200 OK and PullMessagesResponse message.

Test Result:

PASS -

• Client CreatePullPointSubscription request messages are valid according to XML


Schemas listed in Namespaces AND

• Client CreatePullPointSubscription request in Test Procedure fulfills the following


requirements:

• [S1] Client request contains "<CreatePullPointSubscription>" tag after the "<Body>" tag
AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<CreatePullPointSubscriptionResponse>" tag AND

76 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• Client PullMessages request messages are valid according to XML Schemas listed in
Namespaces AND

• Client PullMessages request in Test Procedure fulfills the following requirements:

• [S4] Client request contains "<PullMessages>" tag after the "<Body>" tag AND

• [S7] Device response contains "HTTP/* 200 OK" AND

• [S8] Device response contains "<PullMessagesResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.1.4 BASE NOTIFICATION


Test Label: Event Handling - Basic Notification

Test Case ID: EVENTHANDLING-2

Feature Under Test: Base Notification (EventHandling_WSBaseNotification)

Test Purpose: To verify that the Client is able to retrieve events using WS-Base Notification.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with Basic Notification event type.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes Subscribe message with ConsumerReference element.

2. Device responds with code HTTP 200 OK and SubscribeResponse message.

Test Result:

PASS -

• Client Subscribe request messages are valid according to XML Schemas listed in
Namespaces AND

• Client Subscribe request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<Subscribe>" tag after the "<Body>" tag AND

• [S4] Device response contains "HTTP/* 200 OK" AND

[Link] 77
ONVIF Profile S Client Test Specification Version 22.06

• [S5] Device response contains "<SubscribeResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.1.5 METADATA STREAMING USING MEDIA


Test Label: Event Handling - Metadata Streaming Using Media Streaming

Test Case ID: EVENTHANDLING-4

Feature Under Test: Metadata Streaming (EventHandling_MetadataStreamingUsingMedia)

Test Purpose: To verify that the Client is able to retrieve the Metadata Streaming using Media
Service.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with Metadata Streaming event type using Media Service.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetStreamUri request message for Media service for media profile that
contains Video Source Configuration and Metadata Configuration. GetStreamUri request
is set for RTP-Unicast/UDP OR RTP-Multicast/UDP OR RTP/RTSP/TCP OR RTP-Unicast/
RTSP/HTTP/TCP transport.

2. Device responds with code HTTP 200 OK and GetStreamUriResponse message.

3. Client invokes RTSP DESCRIBE request to retrieve media stream description.

4. Device responds with code RTSP 200 OK and SDP information with Media Type:
"application" and with encoding name "[Link]" or "[Link]" or
"[Link]" or "[Link]".

5. Client invokes RTSP SETUP request without "onvif-replay" Require header and with
transport parameter element to to set media session parameters for metadata streaming.

6. Device responds with code RTSP 200 OK.

7. Client invokes RTSP PLAY request without "onvif-replay" Require header to start media
stream.

8. Device responds with code RTSP 200 OK.

9. Client invokes RTSP TEARDOWN request to terminate the RTSP session.

78 [Link]
ONVIF Profile S Client Test Specification Version 22.06

10. If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

Test Result:

Note: RTSP requests and RTSP response could be tunneled in HTTP if RTP-Unicast/RTSP/HTTP/
TCP transport is used.

PASS -

• There is Client RTSP DESCRIBE request in Test Procedure

• Device response on the RTSP DESCRIBE request fulfills the following requirements:

• [S1] It has RTSP 200 response code AND

• [S2] SDP packet contains media type "application" (m=application) with sessions attribute
"rtpmap" with encoding name "[Link]" OR "[Link]" OR
"[Link]" OR "[Link]" (see ONVIF Streaming
Spec) AND

• There is Client RTSP SETUP request in Test Procedure fulfills the following requirements:

• [S3] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S4] It invoked after the Client RTSP DESCRIBE request AND

• [S5] RTSP address that was used to send RTSP SETUP is correspond to corresponding
media Control URL from SDP packet (see [RFC 2326, C.1.1 Control URL]) AND

• [S6] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S7] It has RTSP 200 response code AND

• There is a Device response on the GetStreamUri request invoked for Media Service in Test
Procedure fulfills the following requirements:

• [S8] It has HTTP 200 response code AND

• [S9] It received for the same Device as for the Client RTSP DESCRIBE request AND

• [S10] It received before the Client RTSP DESCRIBE request AND

• [S11] It contains trt:MediaUri\tt:Uri element which value is equal to RTSP address that
was used to send the RTSP DESCRIBE request AND

[Link] 79
ONVIF Profile S Client Test Specification Version 22.06

• There is Client RTSP PLAY request in Test Procedure fulfills the following requirements:

• [S12] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S13] It invoked after the Client RTSP SETUP request AND

• [S14] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• [S15] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP PLAY request fulfills the following requirements:

• [S16] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure fulfills the following
requirements:

• [S17] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S18] It invoked after the Client RTSP PLAY request AND

• [S19] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

• [S20] It has RTSP 200 response code.

FAIL -

• The Client failed PASS criteria.

6.2 Keep Alive for Pull Point Event Handling Test Cases

6.2.1 Feature Level Requirement:


Validated Feature: Keep Alive for Pull Point Event Handling
(KeepAliveForPullPointEventHandling)

Check Condition based on Device Features: Pull Point Notification is supported by Device.

80 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Required Number of Devices: 3

Profile A Requirement: Mandatory

Profile C Requirement: Mandatory

Profile S Requirement: Conditional

Profile G Requirement: Conditional

Profile T Requirement: Optional

6.2.2 Expected Scenarios Under Test:


1. Client connects to Device to initiate Pull Point Event Handling.

2. Client is considered as supporting Keep Alive for Pull Point Event Handling if the following
conditions are met:

• Client supports EventHandling_Pullpoint feature (please see EVENTHANDLING-1


PULLPOINT section) AND

• Client is able to renew pull point subscribtion using Renew operation OR PullMessages
operation mechanism.

3. Client is considered as NOT supporting Keep Alive for Pull Point Event Handling if the
following is TRUE:

• No valid responses for Renew request AND for CreatePullPointSubscription request


in the case if PullMessages used for keep alive OR

• No valid responses for Renew request if detected OR

• No valid responses for CreatePullPointSubscription request in the case if


PullMessages used for keep alive if detected OR

• Renew request was invoked to address which was not specified


in tev:SubscriptionReference\wsa:Address element of corresponding
CreatePullPointSubscriptionResponse message.

6.2.3 PULLPOINT
Test Label: Event Handling - Pull Point

Test Case ID: EVENTHANDLING-1

[Link] 81
ONVIF Profile S Client Test Specification Version 22.06

Feature Under Test: Pull Point (EventHandling_PullPoint)

Test Purpose: To verify that the Client is able to retrieve events using Pull Point.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with Pull Point event type.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes CreatePullPointSubscription message.

2. Device responds with code HTTP 200 OK and CreatePullPointSubscriptionResponse


message.

3. Client invokes PullMessages command with Timeout and MessageLimit elements.

4. Device responds with code HTTP 200 OK and PullMessagesResponse message.

Test Result:

PASS -

• Client CreatePullPointSubscription request messages are valid according to XML


Schemas listed in Namespaces AND

• Client CreatePullPointSubscription request in Test Procedure fulfills the following


requirements:

• [S1] Client request contains "<CreatePullPointSubscription>" tag after the "<Body>" tag
AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<CreatePullPointSubscriptionResponse>" tag AND

• Client PullMessages request messages are valid according to XML Schemas listed in
Namespaces AND

• Client PullMessages request in Test Procedure fulfills the following requirements:

• [S4] Client request contains "<PullMessages>" tag after the "<Body>" tag AND

• [S7] Device response contains "HTTP/* 200 OK" AND

• [S8] Device response contains "<PullMessagesResponse>" tag.

FAIL -

82 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• The Client failed PASS criteria.

6.2.4 RENEW
Test Label: Advanced Pull Point Event Handling - Renew

Test Case ID: KEEPALIVEFORPULLPOINTEVENTHANDLING-1

Feature Under Test: Renew (KeepAliveForPullPointEventHandling_Renew)

Test Purpose: To verify that the Client is able to use Renew operation as keep alive for Pull Point
subscribtion.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with Renew operations present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes CreatePullPointSubscription message.

2. Device responds with code HTTP 200 OK and CreatePullPointSubscriptionResponse


message.

3. Client invokes Renew message to valid address recieved in


CreatePullPointSubscriptionResponse message for the created Pull Point subscribtion
with valid address recieved in CreatePullPointSubscriptionResponse message.

4. Device responds with code HTTP 200 OK and RenewResponse message.

Test Result:

PASS -

• Client Renew request messages are valid according to XML Schemas listed in Namespaces
AND

• Client Renew request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element wsnt:Renew AND

• Device response on the Renew request fulfills the following requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element wsnt:RenewResponse AND

[Link] 83
ONVIF Profile S Client Test Specification Version 22.06

• There is a Device response on the CreatePullPointSubscription request in Test Procedure


fulfills the following requirements:

• [S4] It has HTTP 200 response code AND

• [S5] It received for the same Device as for the Client Renew request AND

• [S6] It received before the Client Renew request AND

• [S7] It contains tev:SubscriptionReference\wsa:Address element which is equal to


HTTP address that was used to send the Renew request.

FAIL -

• The Client failed PASS criteria.

6.2.5 PULL MESSAGES AS KEEP ALIVE


Test Label: Advanced Pull Point Event Handling - Pull Messages as Keep Alive

Test Case ID: KEEPALIVEFORPULLPOINTEVENTHANDLING-2

Feature Under Test: Pull Messages as Keep Alive


(KeepAliveForPullPointEventHandling_PullMessagesAsKeepAlive)

Test Purpose: To verify that the Client is able to use PullMessages operation as keep alive for
Pull Point subscribtion.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with CreatePullPointSubscription operations whithout tev:InitialTerminationTime
element present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes CreatePullPointSubscription message.

2. Device responds with code HTTP 200 OK and CreatePullPointSubscriptionResponse


message whithout tev:InitialTerminationTime element.

Test Result:

PASS -

• Client CreatePullPointSubscription request messages are valid according to XML


Schemas listed in Namespaces AND

84 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• Client CreatePullPointSubscription request in Test Procedure fulfills the following


requirements:

• [S1] soapenv:Body element has child element tev:CreatePullPointSubscription AND

• [S2] It does not contain tev:InitialTerminationTime element AND

• Device response on the CreatePullPointSubscription request fulfills the following


requirements:

• [S3] It has HTTP 200 response code AND

• [S4] soapenv:Body element has child element


tev:CreatePullPointSubscriptionResponse.

FAIL -

• The Client failed PASS criteria.

6.3 Discovery Test Cases

6.3.1 Feature Level Requirement:


Validated Feature: Discovery (Discovery)

Check Condition based on Device Features: Discovery

Required Number of Devices: 3

Profile S Requirement: Conditional

Profile C Requirement: Conditional

Profile G Requirement: Conditional

Profile A Requirement: Mandatory

Profile T Requirement: Mandatory

Profile D Requirement: Mandatory

Profile M Requirement: Mandatory

6.3.2 Expected Scenarios Under Test:


1. Client sends Probe message to multicast IP address [Link] and port 3702 to
locate services on a local network.

[Link] 85
ONVIF Profile S Client Test Specification Version 22.06

2. Client is considered as supporting Discovery if the following conditions are met:

• Probe request detected AND at least one ProbeMatch response detected

3. Client is considered as NOT supporting Discovery if the following is TRUE:

• No Valid Device Response to Probe request.

6.3.3 WS-DISCOVERY
Test Label: Discovery - WS-Discovery

Test Case ID: DISCOVERY-1

Feature Under Test: WS-Discovery (Discovery_WSDiscovery)

Test Purpose: To verify that Client is able to send Probe request and receive ProbeMatch response
from Device.

Pre-Requisite:

• The Network Trace Capture files contain at least one Client Probe request to multicast IP
address and one ProbeMatch response from Device directly to the Client.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes Probe request message to multicast IP address [Link] and port
3702.

2. Device sends ProbeMatch message directly to the Client.

Test Result:

PASS -

• Client Probe request messages are valid according to XML Schemas listed in Namespaces
AND

• Client Probe request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<Action>" tag after the "<Header>" tag AND

• [S2] "<Action>" includes URL address which ends with "Probe" value AND

• [S3] Client request contains "<MessageID>" with non-empty string value AND

• [S4] Client request contains "<Probe>" tag after the "<Body>" tag AND

86 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S5] Device response message contains "<ProbeMatches>" tag after the "<Body>" tag.

FAIL -

• The Client failed PASS criteria.

6.4 Network Video Transmitter Discovery Type Filter Test


Cases

6.4.1 Feature Level Requirement:


Validated Feature: NVT Discovery Type Filter (NVTDiscoveryTypeFilter)

Check Condition based on Device Features: Network Video Transmitter Discovery Type is
supported by Device.

Required Number of Devices: 3

Profile S Requirement: Conditional

Profile A Requirement: None

Profile C Requirement: None

Profile G Requirement: None

Profile T Requirement: None

6.4.2 Expected Scenarios Under Test:


1. Client sends Probe message to multicast IPv4 address [Link] or
multicast IPv6 address [FF02::C] and port 3702 with Types filter that contains
dn:NetworkVideoTransmitter or with skipped Types filter.

2. Client is considered as supporting Network Video Transmitter Discovery Type if the following
conditions are met:

• Probe Client message that fulfills the following requirement is detected:

• Types filter contains dn:NetworkVideoTransmitter or empty or skipped AND

• Probe is sent to multicast IPv4 address [Link] or multicast IPv6 address


[FF02::C] AND

[Link] 87
ONVIF Profile S Client Test Specification Version 22.06

• Probe is sent to UDP port 3702 AND

• There is ProbeMatch Device message that correspond to Client Probe.

3. Client is considered as NOT supporting Network Video Transmitter Discovery Type if the
following is TRUE:

• No valid Device ProbeMatch message that is correspond to Client Probe message.

6.4.3 NVT DISCOVERY TYPE FILTER


Test Label: Discovery - Network Video Transmitter Discovery Type Filter

Test Case ID: NVTDISCOVERYTYPEFILTER-1

Feature Under Test: Network Video Transmitter Discovery Type Filter


(NVTDiscoveryTypeFilter_NetworkVideoTransmitterFilter)

Test Purpose: To verify that Client is able to discover devices with Network Video Transmitter
Discovery Type.

Pre-Requisite:

• The Network Trace Capture files contains at least one Client Probe message that does not
filter out devices with Network Video Transmitter Discovery Type that is sent to multicast WS-
Discovery address.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes Probe request message to multicast IPv4 address [Link]


or multicast IPv6 address [FF02::C] and port 3702 with Types that contains
dn:NetworkVideoTransmitter.

2. Device sends ProbeMatch message to the Client.

Test Result:

PASS -

• Client Probe request messages are valid according to XML Schemas listed in Namespaces
AND

• Client Probe request in Test Procedure fulfills the following requirements:

• [S1] It is sent to [Link] IPv4 address OR [FF02::C] IPv6 address AND

88 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S2] It is sent to 3702 UDP port AND

• [S3] soapenv:Envelope/soapenv:Header element has child element wsadis:Action


AND

• [S4] wsadis:Action includes URL address which ends with "Probe" value AND

• [S5] soapenv:Envelope/soapenv:Header element has child element wsadis:MessageID


with non-empty string value AND

• [S6] soapenv:Body element has child element d:Probe AND

• [S7] IF d:Probe element has child element d:Types THEN it contains value is equal to
dn:NetworkVideoTransmitter OR empty string value AND

• [S8] There is Device ProbeMatches message in test procedure that fulfills the following
requirements:

• [S9] soapenv:Body element has child element d:ProbeMatches AND

• [S10] soapenv:Envelope/soapenv:Header/wsadis:RelatesTo element value is equeal


to soapenv:Envelope/soapenv:Header/wsadis:MessageID value in Probe message
AND

PASS WITH WARNING -

• d:Probe/d:Types element is skipped OR

• d:Probe/d:Types element has empty string value.

FAIL -

• The Client failed PASS criteria.

6.5 Network Configuration Test Cases

6.5.1 Feature Level Requirement:


Validated Feature: Network Configuration (NetworkConfiguration)

Check Condition based on Device Features: Network Configuration

Required Number of Devices: 3

Profile A Requirement: Conditional

[Link] 89
ONVIF Profile S Client Test Specification Version 22.06

Profile C Requirement: Conditional

Profile D Requirement: Mandatory

Profile G Requirement: Conditional

Profile S Requirement: Conditional

Profile T Requirement: Mandatory

Profile M Requirement: Mandatory

6.5.2 Expected Scenarios Under Test:


1. Client connects to Device to configure network settings.

2. Client is considered as supporting Network Configuration if the following conditions are met:

• Client is able to list network interfaces of Device using the GetNetworkInterfaces operation
AND

• Client is able to set network interfaces of Device using the SetNetworkInterfaces operation
AND

• Client is able to list default gateway of Device using the GetNetworkDefaultGateway


operation AND

• Client is able set default gateway of Device using the SetNetworkDefaultGateway


operation.

3. Client is considered as NOT supporting Network Configuration if ANY of the following is


TRUE:

• No Valid Device Response to GetNetworkInterfaces request OR

• No Valid Device Response to SetNetworkInterfaces request OR

• No Valid Device Response to GetNetworkDefaultGateway request OR

• No Valid Device Response to SetNetworkDefaultGateway request.

6.5.3 GET NETWORK INTERFACES


Test Label: Network Configuration - Get Network Interfaces

Test Case ID: NETWORKCONFIGURATION-1

90 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Feature Under Test: Get Network Interfaces (NetworkConfiguration_GetNetworkInterfaces)

Test Purpose: To verify that Client is able to list network interfaces of Device using the
GetNetworkInterfaces operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetNetworkInterfaces operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetNetworkInterfaces request message to get network interface


configuration from Device.

2. Device responds with code HTTP 200 OK and GetNetworkInterfacesResponse message.

Test Result:

PASS -

• Client GetNetworkInterfaces request messages are valid according to XML Schemas listed
in Namespaces AND

• Client GetNetworkInterfaces request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GetNetworkInterfaces>" tag after the "<Body>" tag AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<GetNetworkInterfacesResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.5.4 SET NETWORK INTERFACES


Test Label: Network Configuration - Set Network Interfaces

Test Case ID: NETWORKCONFIGURATION-2

Feature Under Test: Set Network Interfaces (NetworkConfiguration_SetNetworkInterfaces)

Test Purpose: To verify that Client is able to set network interfaces of Device using the
SetNetworkInterfaces operation.

[Link] 91
ONVIF Profile S Client Test Specification Version 22.06

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetNetworkInterfaces operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetNetworkInterfaces request message to set the network interface


configuration on Device.

2. Device responds with code HTTP 200 OK and SetNetworkInterfacesResponse message.

Test Result:

PASS -

• Client SetNetworkInterfaces request messages are valid according to XML Schemas listed
in Namespaces AND

• Client SetNetworkInterfaces request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<SetNetworkInterfaces>" tag after the "<Body>" tag AND

• [S2] "<SetNetworkInterfaces>" includes tag: "<InterfaceToken>" with non-empty string


value of specific token AND

• [S4] Device response contains "HTTP/* 200 OK" AND

• [S5] Device response contains "<SetNetworkInterfacesResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.5.5 GET NETWORK DEFAULT GATEWAY


Test Label: Network Configuration - Get Network Default Gateway

Test Case ID: NETWORKCONFIGURATION-3

Feature Under Test: Get Network Default Gateway


(NetworkConfiguration_GetNetworkDefaultGateway)

Test Purpose: To verify that Client is able to list default gateway of Device using the
GetNetworkDefaultGateway operation.

Pre-Requisite:

92 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetNetworkDefaultGateway operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetNetworkDefaultGateway request message to get the default gateway


settings from Device.

2. Device responds with code HTTP 200 OK and GetNetworkDefaultGatewayResponse


message.

Test Result:

PASS -

• Client GetNetworkDefaultGateway request messages are valid according to XML Schemas


listed in Namespaces AND

• Client GetNetworkDefaultGateway request in Test Procedure fulfills the following


requirements:

• [S1] Client request contains "<GetNetworkDefaultGateway>" tag after the "<Body>" tag
AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<GetNetworkDefaultGatewayResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.5.6 SET NETWORK DEFAULT GATEWAY


Test Label: Network Configuration - Set Network Default Gateway

Test Case ID: NETWORKCONFIGURATION-4

Feature Under Test: Set Network Default Gateway


(NetworkConfiguration_SetNetworkDefaultGateway)

Test Purpose: To verify that Client is able to set default gateway of Device using the
SetNetworkDefaultGateway operation.

Pre-Requisite:

[Link] 93
ONVIF Profile S Client Test Specification Version 22.06

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetNetworkDefaultGateway operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetNetworkDefaultGateway request message to set the default gateway


settings on Device.

2. Device responds with code HTTP 200 OK and SetNetworkDefaultGatewayResponse


message.

Test Result:

PASS -

• Client SetNetworkDefaultGateway request messages are valid according to XML Schemas


listed in Namespaces AND

• Client SetNetworkDefaultGateway request in Test Procedure fulfills the following


requirements:

• [S1] Client request contains "<SetNetworkDefaultGateway>" tag after the "<Body>" tag
AND

• [S2] "<SetNetworkDefaultGateway>" includes tag: EITHER "<IPv4Address>" OR


"<IPv6Address>" with specific IP address value AND

• [S3] Device response contains "HTTP/* 200 OK" AND

• [S4] Device response contains "<SetNetworkDefaultGatewayResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.6 System Test Cases

6.6.1 Feature Level Requirement:


Validated Feature: System (System)

Check Condition based on Device Features: None

Required Number of Devices: 3

Profile A Requirement: Conditional

94 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Profile C Requirement: Conditional

Profile G Requirement: Conditional

Profile S Requirement: Conditional

Profile T Requirement: Conditional

Profile D Requirement: Conditional

Profile M Requirement: Conditional

6.6.2 Expected Scenarios Under Test:


1. Client connects to Device to get information, such as manufacturer, model, firmware version
and etc.

2. Client is considered as supporting System if the following conditions are met:

• Client is able to list Device information using the GetDeviceInformation operation.

3. Client is considered as NOT supporting System if ANY of the following is TRUE:

• No Valid Device Response to GetDeviceInformation request.

6.6.3 GET DEVICE INFORMATION


Test Label: System - Get Device Information

Test Case ID: SYSTEM-1

Feature Under Test: Get Device Information (System_GetDeviceInformation)

Test Purpose: To verify that Client is able to list Device information using the GetDeviceInformation
operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetDeviceInformation operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetDeviceInformation request message to list Device information.

2. Device responds with code HTTP 200 OK and GetDeviceInformationResponse message.

[Link] 95
ONVIF Profile S Client Test Specification Version 22.06

Test Result:

PASS -

• Client GetDeviceInformation request messages are valid according to XML Schemas listed
in Namespaces AND

• Client GetDeviceInformation request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GetDeviceInformation>" tag after the "<Body>" tag AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<GetDeviceInformationResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.7 User Handling Test Cases

6.7.1 Feature Level Requirement:


Validated Feature: User Handling (UserHandling)

Check Condition based on Device Features: User Configuration

Required Number of Devices: 3

Profile A Requirement: Mandatory

Profile S Requirement: Conditional

Profile C Requirement: Conditional

Profile G Requirement: Conditional

Profile T Requirement: Conditional

Profile D Requirement: Conditional

6.7.2 Expected Scenarios Under Test:


1. Client connects to Device to create, list, modify and delete users.

2. Client is considered as supporting User Handling if the following conditions are met:

96 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• Client is able to create users on Device using the CreateUsers operation AND

• Client is able to list existing users of Device using the GetUsers operation AND

• Client is able to modify users on Device using the SetUser operation AND

• Client is able to delete users from Device using the DeleteUsers operation.

3. Client is considered as NOT supporting System if ANY of the following is TRUE:

• No Valid Device Response to CreateUsers request (except SOAP fault:


soapenv:Receiver/ter:Action/ter:TooManyUsers) OR

• No Valid Device Response to GetUsers request OR

• No Valid Device Response to SetUser request (except SOAP fault: soapenv:Sender/


ter:InvalidArgVal/ter:FixedUser) OR

• No Valid Device Response to DeleteUsers request (except SOAP fault: soapenv:Sender/


ter:InvalidArgVal/ter:FixedUser).

6.7.3 CREATE USERS


Test Label: User Handling - CreateUsers

Test Case ID: USERHANDLING-1

Feature Under Test: Create Users (UserHandling_CreateUsers)

Test Purpose: To verify that Client is able to create users on Device using the CreateUsers
operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with CreateUsers operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes CreateUsers request message to create new users and corresponding
credentials on Device.

2. Device responds with code HTTP 200 OK and CreateUsersResponse message.

Test Result:

PASS -

[Link] 97
ONVIF Profile S Client Test Specification Version 22.06

• Client CreateUsers request messages are valid according to XML Schemas listed in
Namespaces AND

• Client CreateUsers request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<CreateUsers>" tag after the "<Body>" tag AND

• [S2] "<CreateUsers>" includes tag: "<User>" AND

• [S3] "<User>" includes tag: "<Username>" with non-empty string value AND

• [S4] "<User>" includes tag: "<Password>" with non-empty string value AND

• [S5] If Device response contains "HTTP/* 200 OK" THEN it contains


"<CreateUsersResponse>" tag, ELSE it contains soapenv:Fault with soapenv:Receiver/
ter:Action/ter:TooManyUsers fault code.

FAIL -

• The Client failed PASS criteria.

6.7.4 GET USERS


Test Label: User Handling - GetUsers

Test Case ID: USERHANDLING-2

Feature Under Test: Get Users (UserHandling_GetUsers)

Test Purpose: To verify that Client is able to list existing users of Device using the GetUsers
operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetUsers operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetUsers request message to list registered users and their user levels.

2. Device responds with code HTTP 200 OK and GetUsersResponse message.

Test Result:

PASS -

98 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• Client GetUsers request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GetUsers request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GetUsers>" tag after the "<Body>" tag AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<GetUsersResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.7.5 SET USER


Test Label: User Handling - SetUser

Test Case ID: USERHANDLING-3

Feature Under Test: Set User (UserHandling_SetUser)

Test Purpose: To verify that Client is able to modify users on Device using the SetUser operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetUser operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetUser request message to update the authentication settings on Device.

2. Device responds with code HTTP 200 OK and SetUserResponse message.

Test Result:

PASS -

• Client SetUser request messages are valid according to XML Schemas listed in Namespaces
AND

• Client SetUser request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<SetUser>" tag after the "<Body>" tag AND

[Link] 99
ONVIF Profile S Client Test Specification Version 22.06

• [S2] "<SetUser>" includes tag: "<User>" AND

• [S3] "<User>" includes tag: "<Username>" with non-empty string value AND

• [S4] If Device response contains "HTTP/* 200 OK" THEN it contains "<SetUserResponse>"
tag, ELSE it contains soapenv:Fault with soapenv:Sender/ter:InvalidArgVal/
ter:FixedUser fault code.

FAIL -

• The Client failed PASS criteria.

6.7.6 DELETE USERS


Test Label: User Handling - DeleteUsers

Test Case ID: USERHANDLING-4

Feature Under Test: Delete Users (UserHandling_DeleteUsers)

Test Purpose: To verify that Client is able to delete users from Device using the DeleteUsers
operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with DeleteUsers operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes DeleteUsers request message to delete specific users from Device.

2. Device responds with code HTTP 200 OK and DeleteUsersResponse message.

Test Result:

PASS -

• Client DeleteUsers request messages are valid according to XML Schemas listed in
Namespaces AND

• Client DeleteUsers request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<DeleteUsers>" tag after the "<Body>" tag AND

• [S2] "<DeleteUsers>" includes tag: "<Username>" with non-empty string value AND

100 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S3] If Device response contains "HTTP/* 200 OK" THEN it contains


"<DeleteUsersResponse>" tag, ELSE it contains soapenv:Fault with soapenv:Sender/
ter:InvalidArgVal/ter:FixedUser fault code.

FAIL -

• The Client failed PASS criteria.

6.8 Relay Outputs Test Cases

6.8.1 Feature Level Requirement:


Validated Feature: Relay Outputs (RelayOutputs)

Check Condition based on Device Features: Relay Outputs (Device Management Service) is
supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

6.8.2 Expected Scenarios Under Test:


1. Client connects to Device to list, configure and trigger relay outputs using Device
Management service.

2. Client is considered as supporting Relay Outputs if the following conditions are met:

• Client is able to list available relay outputs using the GetRelayOutputs operation using
Device Management service AND

• Client is able to trigger relay output using the SetRelayOutputState operation using Device
Management service AND

• Client is able to set settings of relay output in EITHER "Bistable" OR "Monostable" mode
using the SetRelayOutputSettings operation using Device Management service.

3. Client is considered as NOT supporting Relay Outputs if ANY of the following is TRUE:

• No Valid Device Response to GetRelayOutputs request to Device Management service


OR

• No Valid Device Response to SetRelayOutputState request to Device Management


service OR

[Link] 101
ONVIF Profile S Client Test Specification Version 22.06

• No Valid Device Response to SetRelayOutputSettings requests to Device Management


service for BOTH "Bistable" AND "Monostable" mode.

6.8.3 GET RELAY OUTPUTS


Test Label: Relay Output - Get Relay Outputs

Test Case ID: RELAYOUTPUTS-1

Feature Under Test: Get Relay Outputs (RelayOutputs_GetRelayOutputs)

Test Purpose: To verify that Client is able to list available relay outputs using the GetRelayOutputs
operation for Device Management Service.

Test Purpose: To verify that relay outputs provided by Device is received by Client using the
GetRelayOutputs operation using Device Management Service.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetRelayOutputs operation for Device Management Service present.

• Client supports Capabilities feature.

• The Client Test Tool retrieves Device Management Service address from device's response
on GetServices or GetCapabilities Client request.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetRelayOutputs request message to Device Management Service to


retrieve relay outputs from the Device.

2. Device responds with code HTTP 200 OK and GetRelayOutputsResponse message.

Test Result:

PASS -

• Client GetRelayOutputs request messages to Device Management Service are valid


according to XML Schemas listed in Namespaces AND

• Client GetRelayOutputs request to Device Management Service in Test Procedure fulfills


the following requirements:

• [S1] soapenv:Body element has child element tds:GetRelayOutputs AND

• Device response on the GetRelayOutputs request fulfills the following requirements:

102 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element tds:GetRelayOutputsResponse.

FAIL -

• The Client failed PASS criteria.

6.8.4 SET RELAY OUTPUT STATE


Test Label: Relay Output - Set Relay Output State

Test Case ID: RELAYOUTPUTS-2

Feature Under Test: Set Relay Output State (RelayOutputs_SetRelayOutputState)

Test Purpose: To verify that Client is able to trigger a relay output using the SetRelayOutputState
operation for Device Management Service.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetRelayOutputState operation for Device Management Service present.

• Client supports Capabilities feature.

• The Client Test Tool retrives Device Management Service address from device's response
on GetServices or GetCapabilities Client request.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetRelayOutputState request message to Device Management Service to


trigger a relay output on the Device.

2. Device responds with code HTTP 200 OK and SetRelayOutputStateResponse message.

Test Result:

PASS -

• Client SetRelayOutputState request messages to Device Management Service are valid


according to XML Schemas listed in Namespaces AND

• Client SetRelayOutputState request to Device Management Service in Test Procedure fulfills


the following requirements:

• [S1] soapenv:Body element has child element tds:SetRelayOutputState AND

[Link] 103
ONVIF Profile S Client Test Specification Version 22.06

• [S2] tds:SetRelayOutputState\tds:RelayOutputToken element has non-empty string


value AND

• Device response on the SetRelayOutputState request fulfills the following requirements:

• [S3] It has HTTP 200 response code AND

• [S4] soapenv:Body element has child element tds:SetRelayOutputStateResponse.

FAIL -

• The Client failed PASS criteria.

6.8.5 SET RELAY OUTPUT SETTINGS BISTABLE MODE


Test Label: Relay Outputs - SetRelayOutputSettings Bistable Mode

Test Case ID: RELAYOUTPUTS-3

Feature Under Test: Set Relay Output Settings Bistable Mode


(RelayOutputs_SetRelayOutputBistable)

Test Purpose: To verify that Client is able to set settings of relay output in "Bistable" mode using
the SetRelayOutputSettings operation for Device Management Service.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client
and Device with SetRelayOutputSettings operation for Device Management Service with
tds:SetRelayOutputSettings\tds:Properties\tt:Mode element value is equal to "Bistable"
present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetRelayOutputSettings request message to Device Management Service


to set setting of relay output in "Bistable" mode.

2. Device responds with code HTTP 200 OK and SetRelayOutputSettingsResponse


message.

Test Result:

NOTE: If Client SetRelayOutputSettings request message does not contain "Bistable" value of
Mode element then Test shall be deemed as "NOT DETECTED".

PASS -

104 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• Client SetRelayOutputSettings request messages to Device Management Service are valid


according to XML Schemas listed in Namespaces AND

• Client SetRelayOutputSettings request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tds:SetRelayOutputSettings AND

• [S2] tds:SetRelayOutputSettings\tds:RelayOutputToken element has non-empty string


value AND

• [S2] tds:SetRelayOutputSettings\tds:Properties\tt:Mode element value is equal to


"Bistable" AND

• Device response on the SetRelayOutputSettings request fulfills the following requirements:

• [S4] It has HTTP 200 response code AND

• [S5] soapenv:Body element has child element tds:SetRelayOutputSettingsResponse.

FAIL -

• The Client failed PASS criteria.

6.8.6 SET RELAY OUTPUT SETTINGS MONOSTABLE MODE


Test Label: Relay Outputs - SetRelayOutputSettings Monostable Mode

Test Case ID: RELAYOUTPUTS-4

Feature Under Test: Set Relay Output Settings Monostable Mode


(RelayOutputs_SetRelayOutputMonostable)

Test Purpose: To verify that Client is able to set settings of relay output in "Monostable" mode using
the SetRelayOutputSettings operation for Device Management Service.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client
and Device with SetRelayOutputSettings operation for Device Management Service
with tds:SetRelayOutputSettings\tds:Properties\tt:Mode element value is equal to
"Monostable" present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetRelayOutputSettings request message to Device Management Service


to set setting of relay output in "Monostable" mode.

[Link] 105
ONVIF Profile S Client Test Specification Version 22.06

2. Device responds with code HTTP 200 OK and SetRelayOutputSettingsResponse


message.

Test Result:

NOTE: If Client SetRelayOutputSettings request message does not contain "Monostable" value of
Mode element then Test shall be deemed as "NOT DETECTED".

PASS -

• Client SetRelayOutputSettings request messages to Device Management Service are valid


according to XML Schemas listed in Namespaces AND

• Client SetRelayOutputSettings request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tds:SetRelayOutputSettings AND

• [S2] tds:SetRelayOutputSettings\tds:RelayOutputToken element has non-empty string


value AND

• [S2] tds:SetRelayOutputSettings\tds:Properties\tt:Mode element value is equal to


"Monostable" AND

• Device response on the SetRelayOutputSettings request fulfills the following requirements:

• [S4] It has HTTP 200 response code AND

• [S5] soapenv:Body element has child element tds:SetRelayOutputSettingsResponse.

FAIL -

• The Client failed PASS criteria.

6.9 NTP Test Cases

6.9.1 Feature Level Requirement:


Validated Feature: NTP (NTP)

Check Condition based on Device Features: NTP is supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

Profile T Requirement: Conditional

106 [Link]
ONVIF Profile S Client Test Specification Version 22.06

6.9.2 Expected Scenarios Under Test:


1. Client connects to Device to configure synchronization of time using NTP servers on Device.

2. Client is considered as supporting NTP if the following conditions are met:

• Client is able to get the NTP settings from Device using the GetNTP operation AND

• Client is able to set the NTP settings on Device using the SetNTP operation.

3. Client is considered as NOT supporting NTP if ANY of the following is TRUE:

• No Valid Device Response to GetNTP request OR

• No Valid Device Response to SetNTP request.

6.9.3 GET NTP


Test Label: NTP - GetNTP

Test Case ID: NTP-1

Feature Under Test: Get NTP (NTP_GetNTP)

Test Purpose: To verify that Client is able to get the NTP settings from Device using the GetNTP
operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetNTP operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetNTP request message to get current settings of NTP servers on Device.

2. Device responds with code HTTP 200 OK and GetNTPResponse message.

Test Result:

PASS -

• Client GetNTP request messages are valid according to XML Schemas listed in Namespaces
AND

• Client GetNTP request in Test Procedure fulfills the following requirements:

[Link] 107
ONVIF Profile S Client Test Specification Version 22.06

• [S1] Client request contains "<GetNTP>" tag after the "<Body>" tag AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<GetNTPResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.9.4 SET NTP


Test Label: NTP - SetNTP

Test Case ID: NTP-2

Feature Under Test: Set NTP (NTP_SetNTP)

Test Purpose: To verify that Client is able to set the NTP settings on Device using the SetNTP
operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetNTP operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetNTP request message to set the NTP servers settings on Device.

2. Device responds with code HTTP 200 OK and SetNTPResponse message.

Test Result:

PASS -

• Client SetNTP request messages are valid according to XML Schemas listed in Namespaces
AND

• Client SetNTP request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<SetNTP>" tag after the "<Body>" tag AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<SetNTPResponse>" tag.

108 [Link]
ONVIF Profile S Client Test Specification Version 22.06

FAIL -

• The Client failed PASS criteria.

6.10 Dynamic DNS Test Cases

6.10.1 Feature Level Requirement:


Validated Feature: Dynamic DNS (DynamicDns)

Check Condition based on Device Features: Dynamic DNS is supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

6.10.2 Expected Scenarios Under Test:


1. Client connects to Device to configure Dynamic DNS settings.

2. Client is considered as supporting Dynamic DNS if the following conditions are met:

• Client is able to get the Dynamic DNS settings from Device using the GetDynamicDNS
operation AND

• Client is able to set the Dynamic DNS settings on Device using the SetDynamicDNS
operation.

3. Client is considered as NOT supporting Dynamic DNS if ANY of the following is TRUE:

• No Valid Device Response to GetDynamicDNS request OR

• No Valid Device Response to SetDynamicDNS request.

6.10.3 GET DYNAMIC DNS SETTINGS


Test Label: Dynamic DNS - GetDynamicDNS

Test Case ID: DYNAMICDNS-1

Feature Under Test: Get Dynamic DNS (DynamicDns_GetDynamicDnsSettings)

Test Purpose: To verify that Client is able get the dynamic DNS settings from Device using the
GetDynamicDNS operation.

[Link] 109
ONVIF Profile S Client Test Specification Version 22.06

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetDynamicDNS operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetDynamicDNS request message to get the dynamic DNS settings from
Device.

2. Device responds with code HTTP 200 OK and GetDynamicDNSResponse message.

Test Result:

PASS -

• Client GetDynamicDNS request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GetDynamicDNS request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GetDynamicDNS>" tag after the "<Body>" tag AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<GetDynamicDNSResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.10.4 SET DYNAMIC DNS SETTINGS


Test Label: Dynamic DNS - SetDynamicDNS

Test Case ID: DYNAMICDNS-2

Feature Under Test: Set Dynamic DNS (DynamicDns_SetDynamicDnsSettings)

Test Purpose: To verify that Client is able set the dynamic DNS settings on Device using the
SetDynamicDNS operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetDynamicDNS operation present.

110 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetDynamicDNS request message to set the dynamic DNS settings on
Device.

2. Device responds with code HTTP 200 OK and SetDynamicDNSResponse message.

Test Result:

PASS -

• Client SetDynamicDNS request messages are valid according to XML Schemas listed in
Namespaces AND

• Client SetDynamicDNS request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<SetDynamicDNS>" tag after the "<Body>" tag AND

• [S3] Device response contains "HTTP/* 200 OK" AND

• [S4] Device response contains "<SetDynamicDNSResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.11 Zero Configuration Test Cases

6.11.1 Feature Level Requirement:


Validated Feature: Zero Configuration (ZeroConfiguration)

Check Condition based on Device Features: Zero Configuration is supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

6.11.2 Expected Scenarios Under Test:


1. Client connects to Device to configure Zero Configuration settings.

2. Client is considered as supporting Zero Configuration if the following conditions are met:

• Client is able to get the Zero Configuration settings from Device using the
GetZeroConfiguration operation AND

[Link] 111
ONVIF Profile S Client Test Specification Version 22.06

• Client is able to set the Zero Configuration settings on Device using the
SetZeroConfiguration operation.

3. Client is considered as NOT supporting Zero Configuration if ANY of the following is TRUE:

• No Valid Device Response to GetZeroConfiguration request OR

• No Valid Device Response to SetZeroConfiguration request.

6.11.3 GET ZERO CONFIGURATION


Test Label: Zero Configuration - GetZeroConfiguration

Test Case ID: ZEROCONFIGURATION-1

Feature Under Test: Get Zero Configuration (ZeroConfiguration_GetZeroConfiguration)

Test Purpose: To verify that Client is able to get the Zero Configuration settings from Device using
the GetZeroConfiguration operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetZeroConfiguration operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetZeroConfiguration request message to get the Zero Configuration


settings from Device.

2. Device responds with code HTTP 200 OK and GetZeroConfigurationResponse message.

Test Result:

PASS -

• Client GetZeroConfiguration request messages are valid according to XML Schemas listed
in Namespaces AND

• Client GetZeroConfiguration request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GetZeroConfiguration>" tag after the "<Body>" tag AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<GetZeroConfigurationResponse>" tag.

112 [Link]
ONVIF Profile S Client Test Specification Version 22.06

FAIL -

• The Client failed PASS criteria.

6.11.4 SET ZERO CONFIGURATION


Test Label: Zero Configuration - SetZeroConfiguration

Test Case ID: ZEROCONFIGURATION-2

Feature Under Test: Set Zero Configuration (ZeroConfiguration_SetZeroConfiguration)

Test Purpose: To verify that Client is able to set the Zero Configuration settings on Device using
the SetZeroConfiguration operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetZeroConfiguration operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetZeroConfiguration request message to set the Zero Configuration settings
on Device.

2. Device responds with code HTTP 200 OK and SetZeroConfigurationResponse message.

Test Result:

PASS -

• Client SetZeroConfiguration request messages are valid according to XML Schemas listed
in Namespaces AND

• Client SetZeroConfiguration request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<SetZeroConfiguration>" tag after the "<Body>" tag AND

• [S2] "<SetZeroConfiguration>" includes tag: "<InterfaceToken>" with non-empty string


value of specific token AND

• [S3] Device response contains "HTTP/* 200 OK" AND

• [S4] Device response contains "<SetZeroConfigurationResponse>" tag.

FAIL -

[Link] 113
ONVIF Profile S Client Test Specification Version 22.06

• The Client failed PASS criteria.

6.12 IP Address Filtering Test Cases

6.12.1 Feature Level Requirement:


Validated Feature: IP Address Filtering (IPAddressFiltering)

Check Condition based on Device Features: IP Filter is supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

Profile C Requirement: Conditional

Profile A Requirement: Conditional

6.12.2 Expected Scenarios Under Test:


1. Client connects to Device to manage IP address filters.

2. Client is considered as supporting IP Address Filtering if the following conditions are met:

• Client is able to get the IP address filter settings from Device using the GetIPAddressFilter
operation AND

• Client is able to set the IP address filter settings on Device using the SetIPAddressFilter
operation AND

• Client is able to add the IP address filter settings to Device using the AddIPAddressFilter
operation AND

• Client is able to delete the IP address filter settings from Device using the
RemoveIPAddressFilter operation.

• NOTE: Requests SetIPAddressFilter, AddIPAddressFilter and RemoveIPAddressFilter


are permitted to use the IPv4 OR IPv6 protocol settings.

3. Client is considered as NOT supporting IP Address Filtering if ANY of the following is TRUE:

• No Valid Device Response to GetIPAddressFilter request OR

• No Valid Device Response to SetIPAddressFilter request OR

• No Valid Device Response to AddIPAddressFilter request OR

114 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• No Valid Device Response to RemoveIPAddressFilter request.

• NOTE: Requests SetIPAddressFilter, AddIPAddressFilter and RemoveIPAddressFilter


should be deemed as failed if both IPv4 AND IPv6 protocol settings have No Valid Device
Responses.

6.12.3 GET IP ADDRESS FILTER


Test Label: IP Address Filtering - GetIPAddressFilter

Test Case ID: IPADDRESSFILTERING-1

Feature Under Test: Get Ip Address Filter (IPAddressFiltering_GetIpAddressFilter)

Test Purpose: To verify that Client is able to get the IP address filter settings from Device using
the GetIPAddressFilter operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetIPAddressFilter operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetIPAddressFilter request message to get the IP address filter settings from
Device.

2. Device responds with code HTTP 200 OK and GetIPAddressFilterResponse message.

Test Result:

PASS -

• Client GetIPAddressFilter request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GetIPAddressFilter request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GetIPAddressFilter>" tag after the "<Body>" tag AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<GetIPAddressFilterResponse>" tag.

FAIL -

[Link] 115
ONVIF Profile S Client Test Specification Version 22.06

• The Client failed PASS criteria.

6.12.4 SET IPv4 ADDRESS FILTER


Test Label: IP Address Filtering - SetIPv4AddressFilter

Test Case ID: IPADDRESSFILTERING-2

Feature Under Test: Set IPv4 Address Filter (IPAddressFiltering_SetIpV4AddressFilter)

Test Purpose: To verify that Client is able to set the IP address filter settings on Device using the
SetIPAddressFilter operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetIPAddressFilter operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetIPAddressFilter request message to set the IP address filter settings on
Device.

2. Device responds with code HTTP 200 OK and SetIPAddressFilterResponse message.

Test Result:

NOTE: If Client SetIPAddressFilter request message does not contain "<IPv4Address>" tag then
Test shall be deemed as "NOT DETECTED".

PASS -

• Client SetIPAddressFilter request messages are valid according to XML Schemas listed in
Namespaces AND

• Client SetIPAddressFilter request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<SetIPAddressFilter>" tag after the "<Body>" tag AND

• [S3] "<SetIPAddressFilter>" includes tag: "<IPv4Address>" AND

• [S4] "<IPv4Address>" includes tag: "<Address>" with specific IPv4 address value AND

• [S5] "<IPv4Address>" includes tag: "<PrefixLength>" with value range from "0" to "32" AND

• [S6] Device response contains "HTTP/* 200 OK" AND

• [S7] Device response contains "<SetIPAddressFilterResponse>" tag.

116 [Link]
ONVIF Profile S Client Test Specification Version 22.06

FAIL -

• The Client failed PASS criteria.

6.12.5 SET IPv6 ADDRESS FILTER


Test Label: IP Address Filtering - SetIPv6AddressFilter

Test Case ID: IPADDRESSFILTERING-3

Feature Under Test: Set IPv6 Address Filter (IPAddressFiltering_SetIpV6AddressFilter)

Test Purpose: To verify that Client is able to set the IP address filter settings on Device using the
SetIPAddressFilter operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetIPAddressFilter operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetIPAddressFilter request message to set the IP address filter settings on
Device.

2. Device responds with code HTTP 200 OK and SetIPAddressFilterResponse message.

Test Result:

NOTE: If Client SetIPAddressFilter request message does not contain "<IPv6Address>" tag then
Test shall be deemed as "NOT DETECTED".

PASS -

• Client SetIPAddressFilter request messages are valid according to XML Schemas listed in
Namespaces AND

• Client SetIPAddressFilter request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<SetIPAddressFilter>" tag after the "<Body>" tag AND

• [S3] "<SetIPAddressFilter>" includes tag: "<IPv6Address>" AND

• [S4] "<IPv6Address>" includes tag: "<Address>" with specific IPv6 address value AND

• [S5] "<IPv6Address>" includes tag: "<PrefixLength>" with value range from "0" to "128"
AND

[Link] 117
ONVIF Profile S Client Test Specification Version 22.06

• [S6] Device response contains "HTTP/* 200 OK" AND

• [S7] Device response contains "<SetIPAddressFilterResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.12.6 ADD IPv4 ADDRESS FILTER


Test Label: IP Address Filtering - AddIPv4AddressFilter

Test Case ID: IPADDRESSFILTERING-4

Feature Under Test: Add IPv4 Address Filter (IPAddressFiltering_AddIpV4AddressFilter)

Test Purpose: To verify that Client is able to add the IP address filter to Device using the
AddIPAddressFilter operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with AddIPAddressFilter operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes AddIPAddressFilter request message to add the IP address filter on Device.

2. Device responds with code HTTP 200 OK and AddIPAddressFilterResponse message.

Test Result:

NOTE: If Client AddIPAddressFilter request message does not contain "<IPv4Address>" tag then
Test shall be deemed as "NOT DETECTED".

PASS -

• Client AddIPAddressFilter request messages are valid according to XML Schemas listed
in Namespaces AND

• Client AddIPAddressFilter request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<AddIPAddressFilter>" tag after the "<Body>" tag AND

• [S3] "<AddIPAddressFilter>" includes tag: "<IPv4Address>" AND

• [S4] "<IPv4Address>" includes tag: "<Address>" with specific IPv4 address value AND

118 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S5] "<IPv4Address>" includes tag: "<PrefixLength>" with value range from "0" to "32" AND

• [S6] Device response contains "HTTP/* 200 OK" AND

• [S7] Device response contains "<AddIPAddressFilterResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.12.7 ADD IPv6 ADDRESS FILTER


Test Label: IP Address Filtering - AddIPv6AddressFilter

Test Case ID: IPADDRESSFILTERING-5

Feature Under Test: Add IPv6 Address Filter (IPAddressFiltering_AddIpV6AddressFilter)

Test Purpose: To verify that Client is able to add the IP address filter to Device using the
AddIPAddressFilter operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with AddIPAddressFilter operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes AddIPAddressFilter request message to add the IP address filter on Device.

2. Device responds with code HTTP 200 OK and AddIPAddressFilterResponse message.

Test Result:

NOTE: If Client AddIPAddressFilter request message does not contain "<IPv6Address>" tag then
Test shall be deemed as "NOT DETECTED".

PASS -

• Client AddIPAddressFilter request messages are valid according to XML Schemas listed
in Namespaces AND

• Client AddIPAddressFilter request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<AddIPAddressFilter>" tag after the "<Body>" tag AND

• [S3] "<AddIPAddressFilter>" includes tag: "<IPv6Address>" AND

[Link] 119
ONVIF Profile S Client Test Specification Version 22.06

• [S4] "<IPv6Address>" includes tag: "<Address>" with specific IPv6 address value AND

• [S5] "<IPv6Address>" includes tag: "<PrefixLength>" with value range from "0" to "128"
AND

• [S6] Device response contains "HTTP/* 200 OK" AND

• [S7] Device response contains "<AddIPAddressFilterResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.12.8 REMOVE IPv4 ADDRESS FILTER


Test Label: IP Address Filtering - RemoveIPv4AddressFilter

Test Case ID: IPADDRESSFILTERING-6

Feature Under Test: Remove IPv4 Address Filter (IPAddressFiltering_RemoveIpV4AddressFilter)

Test Purpose: To verify that Client is able to delete the IP address filter from Device using the
RemoveIPAddressFilter operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with RemoveIPAddressFilter operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes RemoveIPAddressFilter request message to delete the IP address filter from
Device.

2. Device responds with code HTTP 200 OK and RemoveIPAddressFilterResponse message.

Test Result:

NOTE: If Client RemoveIPAddressFilter request message does not contain "<IPv4Address>" tag
then Test shall be deemed as "NOT DETECTED".

PASS -

• Client RemoveIPAddressFilter request messages are valid according to XML Schemas


listed in Namespaces AND

120 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• Client RemoveIPAddressFilter request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<RemoveIPAddressFilter>" tag after the "<Body>" tag AND

• [S3] "<RemoveIPAddressFilter>" includes tag: "<IPv4Address>" AND

• [S4] "<IPv4Address>" includes tag: "<Address>" with specific IPv4 address value AND

• [S5] "<IPv4Address>" includes tag: "<PrefixLength>" with value range from "0" to "32" AND

• [S6] Device response contains "HTTP/* 200 OK" AND

• [S7] Device response contains "<RemoveIPAddressFilterResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.12.9 REMOVE IPv6 ADDRESS FILTER


Test Label: IP Address Filtering - RemoveIPv6AddressFilter

Test Case ID: IPADDRESSFILTERING-7

Feature Under Test: Remove IPv6 Address Filter (IPAddressFiltering_RemoveIpV6AddressFilter)

Test Purpose: To verify that Client is able to delete the IP address filter from Device using the
RemoveIPAddressFilter operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with RemoveIPAddressFilter operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes RemoveIPAddressFilter request message to delete the IP address filter from
Device.

2. Device responds with code HTTP 200 OK and RemoveIPAddressFilterResponse message.

Test Result:

NOTE: If Client RemoveIPAddressFilter request message does not contain "<IPv6Address>" tag
then Test shall be deemed as "NOT DETECTED".

PASS -

[Link] 121
ONVIF Profile S Client Test Specification Version 22.06

• Client RemoveIPAddressFilter request messages are valid according to XML Schemas


listed in Namespaces AND

• Client RemoveIPAddressFilter request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<RemoveIPAddressFilter>" tag after the "<Body>" tag AND

• [S3] "<RemoveIPAddressFilter>" includes tag: "<IPv6Address>" AND

• [S4] "<IPv6Address>" includes tag: "<Address>" with specific IPv6 address value AND

• [S5] "<IPv6Address>" includes tag: "<PrefixLength>" with value range from "0" to "128"
AND

• [S6] Device response contains "HTTP/* 200 OK" AND

• [S7] Device response contains "<RemoveIPAddressFilterResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.13 Multicast Streaming Test Cases

6.13.1 Feature Level Requirement:


Validated Feature: Multicast Streaming (MulticastStreaming)

Check Condition based on Device Features: RTP-Multicast/UDP (Media Service) is supported


by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

6.13.2 Expected Scenarios Under Test:


1. Client connects to Device and initiates Multicast Streaming using RTSP or using
StartMultiCastStreaming and StopMultiCastStreaming operations.

2. Client is considered as supporting Multicast Streaming if the following conditions are met:

• Able to start and stop a multicast stream by using Start/StopMulticastStreaming OR

• Able to start and stop a multicast stream by using RTSP

122 [Link]
ONVIF Profile S Client Test Specification Version 22.06

3. Client is considered as NOT supporting Multicast Streaming if ANY of the following is TRUE:

• If using Start/StopMulticastStreaming -> session never passed the PLAY state or was
never terminated AND

• If using RTSP -> RTSP session never passed the PLAY state or was never terminated

6.13.3 MULTICAST STREAMING USING RTSP


Test Label: Multicast Streaming - RTSP multicast setup

Test Case ID: MULTICASTSTREAMING-1

Feature Under Test: Multicast Streaming Using RTSP (MulticastStreaming_RTSPMulticast)

Test Purpose: To verify that the Client is able to setup and initiate a multicast stream with RTSP
commands for stream control.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with RTSP SETUP request with transport parameter as "RTP/AVP/UDP;multicast" or
"RTP/AVP;multicast" and without "onvif-replay" Require header present.

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetStreamUri for Media Service with Stream Type element with "RTP-Multicast"
value and Transport Protocol element with "UDP" value.

• Device supports RTPMulticastUDP feature.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetStreamUri request message for media profile with Stream Type element
with "RTP-Multicast" value and Transport Protocol element with "UDP" value.

2. Device responds with code HTTP 200 OK and GetStreamUriResponse message.


message.

3. Client invokes RTSP DESCRIBE request to retrieve media stream description.

4. Device responds with code RTSP 200 OK.

5. Client invokes RTSP SETUP request without "onvif-replay" Require header and with
Transport tag in RTSP header that contains "RTP/AVP/UDP;multicast" or "RTP/
AVP;multicast" to set media session parameters.

[Link] 123
ONVIF Profile S Client Test Specification Version 22.06

6. Device responds with code RTSP 200 OK.

7. Client invokes RTSP PLAY request without "onvif-replay" Require header to start media
stream.

8. Device responds with code RTSP 200 OK.

9. Client invokes RTSP TEARDOWN request to terminate the RTSP session.

10. If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

Test Result:

PASS -

• Client RTSP SETUP request in Test Procedure fulfills the following requirements:

• [S1] It contains Transport request header field with value is equal to "RTP/AVP/UDP"
OR "RTP/AVP" and with "multicast" parameter value (transport=RTP, profile=AVP, lower-
transport=TCP or skipped, parameter=multicast) (see [RFC 2326]) AND

• [S2] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S3] It has RTSP 200 response code AND

• There is Client RTSP DESCRIBE request in Test Procedure that fulfills the following
requirements:

• [S4] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S5] It invoked before the Client RTSP SETUP request AND

• [S6] SDP packet contains media type with Control URL that was used to send RTSP SETUP
(see [RFC 2326, C.1.1 Control URL]) AND

• Device response on the RTSP DESCRIBE request fulfills the following requirements:

• [S7] It has RTSP 200 response code AND

• There is a Device GetStreamUri request in Test Procedure that fulfills the following
requirements:

• [S8] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S9] It invoked before the Client RTSP DESCRIBE request AND

124 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S10] trt:StreamSetup/tt:Stream element value is equal to "RTP-Multicast"

• [S11] trt:StreamSetup/tt:Transport/tt:Protocol element value is equal to "UDP"

• Device response on the GetStreamUri request fulfills the following requirements:

• [S12] It has HTTP 200 response code AND

• [S13] It contains trt:MediaUri\tt:Uri element which value is equal to RTSP address that
was used to send the RTSP DESCRIBE request AND

• There is Client RTSP PLAY request in Test Procedure that fulfills the following requirements:

• [S14] It invoked for the same RTSP session as the Client RTSP SETUP request AND

• [S15] It invoked after the Client RTSP SETUP request AND

• [S16] RTSP address that was used to send it is correspond to any media Control URL
or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• [S17] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP PLAY request fulfills the following requirements:

• [S18] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure that fulfills the following
requirements:

• [S19] It invoked for the same RTSP session as the Client RTSP SETUP request AND

• [S20] It invoked after the Client RTSP PLAY request AND

• [S21] RTSP address that was used to send it is correspond to any media Control URL
or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

• [S22] It has RTSP 200 response code.

FAIL -

• The Client failed PASS criteria.

[Link] 125
ONVIF Profile S Client Test Specification Version 22.06

6.13.4 MULTICAST STREAMING USING SOAP


Test Label: Multicast Streaming - SOAP multicast setup

Test Case ID: MULTICASTSTREAMING-2

Feature Under Test: Multicast Streaming Using SOAP (MulticastStreaming_SOAPMulticast)

Test Purpose: To verify that the Client is able to setup and initiate a multicast stream with Start/
StopMulticastStreaming SOAP operations for stream control.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with StartMulticastStreaming operation for stream control.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes StartMulticastStreaming request message with non-empty ProfileToken


element.

2. Device responds with code HTTP 200 OK and StartMulticastStreamingResponse message.

3. Client invokes StopMulticastStreaming request message with non-empty ProfileToken


element.

4. Device responds with code HTTP 200 OK and StopMulticastStreamingResponse message.

Test Result:

NOTE: In case when StopMulticastStreaming command is detected and StartMulticastStreaming


command is not detected then the test shall be deemed as "NOT DETECTED".

PASS -

• Client StartMulticastStreaming request messages are valid according to XML Schemas


listed in Namespaces AND

• Client StartMulticastStreaming request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element trt:StartMulticastStreaming AND

• [S2] trt:StartMulticastStreaming/trt:ProfileToken element has non-empty string value of


specified profile token AND

• Device response on the StartMulticastStreaming request fulfills the following requirements:

126 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S3] It has HTTP 200 response code AND

• [S4] soapenv:Body element has child element trt:StartMulticastStreamingResponse.

• Client StopMulticastStreaming request messages are valid according to XML Schemas


listed in Namespaces AND

• Client StopMulticastStreaming request in Test Procedure fulfills the following requirements:

• [S5] soapenv:Body element has child element trt:StopMulticastStreaming AND

• [S6] trt:StopMulticastStreaming/trt:ProfileToken element has non-empty string value of


specified profile token AND

• Device response on the StopMulticastStreaming request fulfills the following requirements:

• [S7] It has HTTP 200 response code AND

• [S8] soapenv:Body element has child element trt:StopMulticastStreamingResponse.

FAIL -

• The Client failed PASS criteria.

6.14 Media Profile Configurations Test Cases

6.14.1 Feature Level Requirement:


Validated Feature: Media Profile Configurations (MediaProfileConfigurations)

Check Condition based on Device Features: Media Service is supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

6.14.2 Expected Scenarios Under Test:


1. Client connects to Device to retrieve and/or create Media Profile Configuration.

2. Client is considered as supporting Media Profile Configuration if the following conditions


are met:

• Client shall be able to list available profiles using GetProfiles operation AND

[Link] 127
ONVIF Profile S Client Test Specification Version 22.06

• Client may be able to get profile using GetProfile operation AND

• Client shall be able to create a media profile using the CreateProfile operation.

3. Client is considered as NOT supporting Media Profile Configuration if ANY of the following
is TRUE:

• No Valid Device Response to GetProfiles request OR

• No Valid Device Response to GetProfile request if detected OR

• No Valid Device Response to CreateProfile request (except soap fault:


maximumnumberofprofiles).

6.14.3 LIST AVAILABLE MEDIA PROFILES


Test Label: Media Profile Configurations - list available profiles

Test Case ID: MEDIAPROFILECONFIGURATIONS-1

Feature Under Test: List Available Media Profiles (MediaProfileConfigurations_ListMediaProfiles)

Test Purpose: To verify that list of media profiles from Device is received by Client using the
GetProfiles operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetProfiles operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetProfiles request message to retrieve complete profiles list from Device.

2. Device responds with code HTTP 200 OK and GetProfilesResponse message.

Test Result:

PASS -

• Client GetProfiles request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GetProfiles request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element trt:GetProfiles AND

128 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• Device response on the GetProfiles request fulfills the following requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element trt:GetProfilesResponse.

FAIL -

• The Client failed PASS criteria.

6.14.4 GET SPECIFIC MEDIA PROFILE


Test Label: Media Profile Configurations - gets a specific media profile.

Test Case ID: MEDIAPROFILECONFIGURATIONS-2

Feature Under Test: Get Specific Media Profile (MediaProfileConfigurations_GetMediaProfile)

Test Purpose: To verify that Client is able to retrieve a specific media profile from Device by using
the GetProfile operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetProfile operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetProfile request message to retrieve a specific media profile from Device.

2. Device responds with code HTTP 200 OK and GetProfileResponse message.

Test Result:

PASS -

• Client GetProfile request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GetProfile request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GetProfile>" tag after the "<Body>" tag AND

• [S2] "<GetProfile>" includes tag: "<ProfileToken>" with non-empty string value of specific
profile token AND

• [S3] Device response contains "HTTP/* 200 OK" AND

[Link] 129
ONVIF Profile S Client Test Specification Version 22.06

• [S4] Device response contains "<GetProfileResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.14.5 CREATE A MEDIA PROFILE


Test Label: Media Profile Configurations - create a media profile

Test Case ID: MEDIAPROFILECONFIGURATIONS-3

Feature Under Test: Create a Media Profile (MediaProfileConfigurations_CreateMediaProfile)

Test Purpose: To verify that Client is able to create a new media profile on Device by using the
CreateProfile operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with CreateProfile operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes CreateProfile request message to create a new empty profile structure with
no configuration entities.

2. Device responds with code HTTP 200 OK and CreateProfileResponse message.

Test Result:

PASS -

• Client CreateProfile request messages are valid according to XML Schemas listed in
Namespaces AND

• Client CreateProfile request in Test Procedure fulfills the following requirements:

• Client CreateProfile request messages are valid according to XML Schemas listed in
Namespaces AND

• Client CreateProfile request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element trt:CreateProfile AND

• [S2] trt:CreateProfile/trt:Name has non-empty string value AND

130 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S3] If trt:CreateProfile contains trt:Token element, THEN it has non-empty string value
AND

• Device response on the CreateProfile request fulfills the following requirements:

• [S4] It has HTTP 200 response code AND

• [S5] soapenv:Body element has child element trt:CreateProfileResponse.

FAIL -

• The Client failed PASS criteria.

6.15 Video Source Configurations Test Cases

6.15.1 Feature Level Requirement:


Validated Feature: Video Source Configurations (VideoSourceConfigurations)

Check Condition based on Device Features: Media Service is supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

6.15.2 Expected Scenarios Under Test:


1. Client connects to Device to list, modify and add Video Source Configurations.

2. Client is considered as supporting Video Source Configurations if the following conditions


are met:

• Device returns a valid response to GetVideoSourceConfigurations operations AND

• Device returns a valid response to GetVideoSourceConfiguration operations AND

• Client is able to retrieve video source configuration options using


GetVideoSourceConfigurationOptions operation AND

• Client is able to change video source configuration settings using


SetVideoSourceConfiguration operation AND

• Client is able to retrieve list of video source configurations that are compatible with a
certain media profile using GetCompatibleVideoSourceConfigurations operation AND

[Link] 131
ONVIF Profile S Client Test Specification Version 22.06

• Client is able to add video source configurations using AddVideoSourceConfiguration


operation.

3. Client is considered as NOT supporting Video Source Configurations if ANY of the following
is TRUE:

• No Valid Device Response to GetVideoSourceConfigurations request if detected OR

• No Valid Device Response to GetVideoSourceConfiguration request if detected OR

• No valid responses for GetVideoSourceConfigurationOptions request OR

• No valid responses for SetVideoSourceConfiguration request OR

• No valid responses for GetCompatibleVideoSourceConfigurations request OR

• No valid responses for AddVideoSourceConfiguration request.

6.15.3 LIST VIDEO SOURCE CONFIGURATIONS


Test Label: Video Source Configurations - list available video source configurations

Test Case ID: VIDEOSOURCECONFIGURATIONS-1

Feature Under Test: List Video Source Configurations


(VideoSourceConfigurations_GetVideoSourceConfigurations)

Test Purpose: To verify that list of all existing video source configurations from Device is received
by Client using the GetVideoSourceConfigurations operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetVideoSourceConfigurations operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetVideoSourceConfigurations request message to retrieve complete list of


available video encoder configurations from Device.

2. Device responds with code HTTP 200 OK and GetVideoSourceConfigurationsResponse


message.

Test Result:

PASS -

132 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• Client GetVideoSourceConfigurations request messages are valid according to XML


Schemas listed in Namespaces AND

• Client GetVideoSourceConfigurations request in Test Procedure fulfills the following


requirements:

• [S1] soapenv:Body element has child element trt:GetVideoSourceConfigurations AND

• Device response on the GetVideoSourceConfigurations request fulfills the following


requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element


trt:GetVideoSourceConfigurationsResponse.

FAIL -

• The Client failed PASS criteria.

6.15.4 GET SPECIFIC VIDEO SOURCE CONFIGURATION


Test Label: Video Source Configurations - gets a specific video source configuration

Test Case ID: VIDEOSOURCECONFIGURATIONS-2

Feature Under Test: Get Specific Video Source Configuration


(VideoSourceConfigurations_GetVideoSourceConfiguration)

Test Purpose: To verify that Client is able to retrieve a specific video source configuration from
Device by using the GetVideoSourceConfiguration operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetVideoSourceConfiguration operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetVideoSourceConfiguration request message with specified


ConfigurationToken.

2. Device responds with code HTTP 200 OK and GetVideoSourceConfigurationResponse


message.

Test Result:

PASS -

[Link] 133
ONVIF Profile S Client Test Specification Version 22.06

• Client GetVideoSourceConfiguration request messages are valid according to XML


Schemas listed in Namespaces AND

• Client GetVideoSourceConfiguration request in Test Procedure fulfills the following


requirements:

• [S1] Client request contains "<GetVideoSourceConfiguration>" tag after the "<Body>" tag
AND

• [S2] "<GetVideoSourceConfiguration>" includes tag: "<ConfigurationToken>" with non-


empty string value AND

• [S3] Device response contains "HTTP/* 200 OK" AND

• [S4] Device response contains "<GetVideoSourceConfigurationResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.15.5 GET VIDEO SOURCE CONFIGURATION OPTIONS


Test Label: Video Source Configuration - Get Video Source Configuration Options

Test Case ID: VIDEOSOURCECONFIGURATIONS-3

Feature Under Test: Get Video Source Configuration Options


(VideoSourceConfigurations_GetVideoSourceConfigurationOptions)

Test Purpose: To verify that Client is able to get video source configuration options provided by
Device using the GetVideoSourceConfigurationOptions operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetVideoSourceConfigurationOptions operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetVideoSourceConfigurationOptions request message to retrieve video


source configuration options for the Device.

2. Device responds with code HTTP 200 OK and


GetVideoSourceConfigurationOptionsResponse message.

Test Result:

134 [Link]
ONVIF Profile S Client Test Specification Version 22.06

PASS -

• Client GetVideoSourceConfigurationOptions request messages are valid according to


XML Schemas listed in Namespaces AND

• Client GetVideoSourceConfigurationOptions request in Test Procedure fulfills the following


requirements:

• [S1] soapenv:Body element has child element


trt:GetVideoSourceConfigurationOptions AND

• [S2] If it contains trt:ConfigurationToken element THEN it has non-empty string value


AND

• [S3] If it contains trt:ProfileToken element THEN it has non-empty string value AND

• Device response to the GetVideoSourceConfigurationOptions request fulfills the following


requirements:

• [S4] It has HTTP 200 response code AND

• [S5] soapenv:Body element has child element


trt:GetVideoSourceConfigurationOptionsResponse.

FAIL -

• The Client failed PASS criteria.

6.15.6 SET VIDEO SOURCE CONFIGURATION


Test Label: Configure Video Source Configuration - Set Video Source Configuration

Test Case ID: VIDEOSOURCECONFIGURATIONS-4

Feature Under Test: Set Video Source Configuration


(VideoSourceConfigurations_SetVideoSourceConfiguration)

Test Purpose: To verify that Client is able to change video source configuration provided by Device
using the SetVideoSourceConfiguration operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetVideoSourceConfiguration operation present.

Test Procedure (expected to be reflected in network trace file):

[Link] 135
ONVIF Profile S Client Test Specification Version 22.06

1. Client invokes SetVideoSourceConfiguration request message to change video source


configuration on the Device.

2. Device responds with code HTTP 200 OK and SetVideoSourceConfigurationResponse


message.

Test Result:

PASS -

• Client SetVideoSourceConfiguration request messages are valid according to XML


Schemas listed in Namespaces AND

• Client SetVideoSourceConfiguration request in Test Procedure fulfills the following


requirements:

• [S1] soapenv:Body element has child element trt:SetVideoSourceConfiguration AND

• [S2] trt:SetVideoSourceConfiguration/trt:Configuration/@token element has non-


empty string value AND

• Device response to the SetVideoSourceConfiguration request fulfills the following


requirements:

• [S3] It has HTTP 200 response code AND

• [S4] soapenv:Body element has child element


trt:SetVideoSourceConfigurationResponse.

FAIL -

• The Client failed PASS criteria.

6.15.7 GET COMPATIBLE VIDEO SOURCE


CONFIGURATIONS
Test Label: Configure Video Source Configuration - Get Compatible Video Source Configurations

Test Case ID: VIDEOSOURCECONFIGURATIONS-5

Feature Under Test: Get Compatible Video Source Configurations


(VideoSourceConfigurations_GetCompatibleVideoSourceConfigurations)

Test Purpose: To verify that Client is able to retrieve list of video source configurations that are
compatible with a certain media profile using the GetCompatibleVideoSourceConfigurations
operation.

136 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetCompatibleVideoSourceConfigurations operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetCompatibleVideoSourceConfigurations request message to retrive


compatible video source configurations from the Device.

2. Device responds with code HTTP 200 OK and


GetCompatibleVideoSourceConfigurationsResponse message.

Test Result:

PASS -

• Client GetCompatibleVideoSourceConfigurations request messages are valid according


to XML Schemas listed in Namespaces AND

• Client GetCompatibleVideoSourceConfigurations request in Test Procedure fulfills the


following requirements:

• [S1] soapenv:Body element has child element


trt:GetCompatibleVideoSourceConfigurations AND

• [S2] trt:GetCompatibleVideoSourceConfigurations/trt:ProfileToken element has non-


empty string value AND

• Device response to the GetCompatibleVideoSourceConfigurations request fulfills the


following requirements:

• [S3] It has HTTP 200 response code AND

• [S4] soapenv:Body element has child element


trt:GetCompatibleVideoSourceConfigurationsResponse.

FAIL -

• The Client failed PASS criteria.

6.15.8 ADD VIDEO SOURCE CONFIGURATION


Test Label: Video Source Configuration - add video source configuration

Test Case ID: VIDEOSOURCECONFIGURATIONS-6

[Link] 137
ONVIF Profile S Client Test Specification Version 22.06

Feature Under Test: Add Video Source Configuration


(VideoSourceConfigurations_AddVideoSourceConfiguration)

Test Purpose: To verify that Client is able to add a new or replace an existing video source
configuration on Device by using the AddVideoSourceConfiguration operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with AddVideoSourceConfiguration operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes AddVideoSourceConfiguration request message with specified ProfileToken


and ConfigurationToken elements to add an existing video source configuration to an
existing media profile.

2. Device responds with code HTTP 200 OK and AddVideoSourceConfigurationResponse


message.

Test Result:

PASS -

• Client AddVideoSourceConfiguration request messages are valid according to XML


Schemas listed in Namespaces AND

• Client AddVideoSourceConfiguration request in Test Procedure fulfills the following


requirements:

• [S1] Client request contains "<AddVideoSourceConfiguration>" tag after the "<Body>" tag
AND

• [S2] "<AddVideoSourceConfiguration>" includes tag: "<ProfileToken>" with non-empty


string value of specific profile token AND

• [S3] "<AddVideoSourceConfiguration>" includes tag: "<ConfigurationToken>" with non-


empty string value of specific configuration token AND

• [S4] Device response contains "HTTP/* 200 OK" AND

• [S5] Device response contains "<AddVideoSourceConfigurationResponse>" tag.

FAIL -

• The Client failed PASS criteria.

138 [Link]
ONVIF Profile S Client Test Specification Version 22.06

6.16 Audio Streaming Test Cases

6.16.1 Feature Level Requirement:


Validated Feature: Audio Streaming (AudioStreaming)

Check Condition based on Device Features: Real Time Streaming (Media Service) and Audio
(Media Service) are supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

6.16.2 Expected Scenarios Under Test:


1. Client connects to Device to configure a media profile and initiate Audio Streaming with
G.711 encoding type.

2. Client is considered as supporting Audio Streaming if the following conditions are met:

• Client is able to configure a media profile for audio streaming


using the GetCompatibleAudioSourceConfigurations, AddAudioSourceConfiguration,
GetCompatibleAudioEncoderConfigurations and AddAudioEncoderConfiguration
operations AND

• Client is able to initiate and retrieve audio stream with G.711 encoding type AND

• When Device and Client support G.726 encoding type for Audio Streaming:

• Client is able to initiate and retrieve audio stream with G.726 encoding type AND

• When Device and Client support AAC encoding type for Audio Streaming:

• Client is able to initiate and retrieve audio stream with AAC encoding type.

3. Client is considered as NOT supporting Audio Streaming if ANY of the following is TRUE:

• No Valid Device Response to GetCompatibleAudioSourceConfigurations request OR

• No Valid Device Response to AddAudioSourceConfiguration request OR

• No Valid Device Response to GetCompatibleAudioEncoderConfigurations request OR

• No Valid Device Response to AddAudioEncoderConfiguration request OR

• G.711 Audio Streaming attempts detected have failed OR

[Link] 139
ONVIF Profile S Client Test Specification Version 22.06

• When Device and Client support G.726 encoding type for Audio Streaming:

• Client is unable to initiate and retrieve audio stream with G.726 encoding type OR

• When Device and Client support AAC encoding type for Audio Streaming:

• Client is unable to initiate and retrieve audio stream with AAC encoding type.

6.16.3 CONFIGURE MEDIA PROFILE FOR AUDIO


STREAMING
Test Label: Audio Streaming - Configure Media Profile

Test Case ID: AUDIOSTREAMING-1

Feature Under Test: Audio Streaming - Configure Media Profile


(AudioStreaming_AudioStreamingConfigureMediaProfile)

Test Purpose: To verify that Client is able to to configure a media profile for audio
streaming using the GetCompatibleAudioSourceConfigurations, AddAudioSourceConfiguration,
GetCompatibleAudioEncoderConfigurations and AddAudioEncoderConfiguration operations.

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client
and Device with GetCompatibleAudioSourceConfigurations, AddAudioSourceConfiguration,
GetCompatibleAudioEncoderConfigurations and AddAudioEncoderConfiguration operations
present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetCompatibleAudioSourceConfigurations request message to retrieve all


audio source configurations of Device that are compatible with a certain media profile.

2. Device responds with code HTTP 200 OK and


GetCompatibleAudioSourceConfigurationsResponse message.

3. Client invokes AddAudioSourceConfiguration request message to add audio source


configuration to an existing media profile.

4. Device responds with code HTTP 200 OK and AddAudioSourceConfigurationResponse


message.

5. Client invokes GetCompatibleAudioEncoderConfigurations request message to retrieve all


audio encoder configurations of the device that are compatible with a certain media profile.

140 [Link]
ONVIF Profile S Client Test Specification Version 22.06

6. Device responds with code HTTP 200 OK and


GetCompatibleAudioEncoderConfigurationsResponse message.

7. Client invokes AddAudioEncoderConfiguration request message to add audio encoder


configuration to an existing media profile.

8. Device responds with code HTTP 200 OK and AddAudioEncoderConfigurationResponse


message.

Test Result:

PASS -

• Client GetCompatibleAudioSourceConfigurations request message is a well-formed SOAP


request (refer to [Link]) AND

• Client GetCompatibleAudioSourceConfigurations request message has a proper hierarchy


(refer to [Link]) AND

• [S1] Client request contains "<GetCompatibleAudioSourceConfigurations>" tag after the


"<Body>" tag AND

• [S2] "<GetCompatibleAudioSourceConfigurations>" includes tag: "<ProfileToken>" with


non-empty string value of specific token AND

• [S3] Device response contains "HTTP/* 200 OK" AND

• [S4] Device response contains "<GetCompatibleAudioSourceConfigurationsResponse>"


tag AND

• Client AddAudioSourceConfiguration request message is a well-formed SOAP request (refer


to [Link]) AND

• Client AddAudioSourceConfiguration request message has a proper hierarchy (refer to


[Link]) AND

• [S5] Client request contains "<AddAudioSourceConfiguration>" tag after the "<Body>" tag
AND

• [S6] "<AddAudioSourceConfiguration>" includes tag: "<ProfileToken>" with non-empty


string value of specific token AND

• [S7] "<AddAudioSourceConfiguration>" includes tag: "<ConfigurationToken>" with non-


empty string value of specific token AND

• [S8] Device response contains "HTTP/* 200 OK" AND

[Link] 141
ONVIF Profile S Client Test Specification Version 22.06

• [S9] Device response contains "<AddAudioSourceConfigurationResponse>" tag AND

• Client GetCompatibleAudioEncoderConfigurations request message is a well-formed SOAP


request (refer to [Link]) AND

• Client GetCompatibleAudioEncoderConfigurations request message has a proper hierarchy


(refer to [Link]) AND

• [S10] Client request contains "<GetCompatibleAudioEncoderConfigurations>" tag after the


"<Body>" tag AND

• [S12] "<GetCompatibleAudioEncoderConfigurations>" includes tag: "<ProfileToken>" with


non-empty string value of specific token AND

• [S13] Device response contains "HTTP/* 200 OK" AND

• [S14] Device response contains


"<GetCompatibleAudioEncoderConfigurationsResponse>" tag AND

• Client AddAudioEncoderConfiguration request message is a well-formed SOAP request


(refer to [Link]) AND

• Client AddAudioEncoderConfiguration request message has a proper hierarchy (refer to


[Link]) AND

• [S15] Client request contains "<AddAudioEncoderConfiguration>" tag after the "<Body>"


tag AND

• [S16] "<AddAudioEncoderConfiguration>" includes tag: "<ProfileToken>" with non-empty


string value of specific token AND

• [S17] "<AddAudioEncoderConfiguration>" includes tag: "<ConfigurationToken>" with non-


empty string value of specific token AND

• [S18] Device response contains "HTTP/* 200 OK" AND

• [S19] Device response contains "<AddAudioEncoderConfigurationResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.16.4 G.711 AUDIO STREAMING


Test Label: Audio Streaming - G.711

142 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Test Case ID: AUDIOSTREAMING-2

Feature Under Test: Audio Streaming - G.711 (AudioStreaming_AudioStreamingG711)

Test Purpose: To verify that the Client is able to initiate and retrieve audio stream with G.711
encoding type.

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with Audio Streaming of G.711 encoding type.

• Device supports G.711 encoding for Audio streaming.

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetStreamUri for Media Service.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetStreamUri request message for media profile that contains Audio Source
Configuration and Audio Encoder Configuration with G711 Encoding value. GetStreamUri
request is set for RTP-Unicast/UDP OR RTP-Multicast/UDP OR RTP/RTSP/TCP OR RTP-
Unicast/RTSP/HTTP/TCP transport.

2. Device responds with code HTTP 200 OK and GetStreamUriResponse message.

3. Client invokes RTSP DESCRIBE request to retrieve media stream description.

4. Device responds with code RTSP 200 OK and SDP information with Media Type: "audio"
and with encoding name "PCMU" or with payload type number "0".

5. Client invokes RTSP SETUP request without "onvif-replay" Require header and with
transport parameter element to set media session parameters for G711 audio streaming.

6. Device responds with code RTSP 200 OK.

7. Client invokes RTSP PLAY request without "onvif-replay" Require header to start media
stream.

8. Device responds with code RTSP 200 OK.

9. Client invokes RTSP TEARDOWN request to terminate the RTSP session.

10. If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

Test Result:

Note: If no GetStreamUri (Media Service) corresponding to detected RTSP session found, the test
will be assumed as NOT DETECTED.

[Link] 143
ONVIF Profile S Client Test Specification Version 22.06

Note: RTSP requests and RTSP response could be tunneled in HTTP if RTP-Unicast/RTSP/HTTP/
TCP transport is used.

PASS -

• There is Client RTSP DESCRIBE request in Test Procedure

• Device response on the RTSP DESCRIBE request fulfills the following requirements:

• [S1] It has RTSP 200 response code AND

• [S2] IF SDP packet contains media type "audio" (m=audio) without session attribute
"sendonly" (a=sendonly) AND with sessions attribute "rtpmap" THEN encoding name is
"PCMU"

• [S3] ELSE IF SDP packet contains media type "audio" (m=audio) without session attribute
"sendonly" (a=sendonly) AND without sessions attribute "rtpmap" THEN payload type
number is "0" (see [RFC 3551]) AND

• There is Client RTSP SETUP request in Test Procedure fulfills the following requirements:

• [S4] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S5] It invoked after the Client RTSP DESCRIBE request AND

• [S6] RTSP address that was used to send RTSP SETUP is correspond to corresponding
media Control URL from SDP packet (see [RFC 2326, C.1.1 Control URL]) AND

• [S7] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S8] It has RTSP 200 response code AND

• There is a Device response on the GetStreamUri request in Test Procedure fulfills the
following requirements:

• [S9] It has HTTP 200 response code AND

• [S10] It received for the same Device as for the Client RTSP DESCRIBE request AND

• [S11] It received before the Client RTSP DESCRIBE request AND

• [S12] It contains trt:MediaUri\tt:Uri element which value is equal to RTSP address that
was used to send the RTSP DESCRIBE request AND

• There is Client RTSP PLAY request in Test Procedure fulfills the following requirements:

144 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S13] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S14] It invoked after the Client RTSP SETUP request AND

• [S15] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• [S16] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP PLAY request fulfills the following requirements:

• [S17] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure fulfills the following
requirements:

• [S18] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S19] It invoked after the Client RTSP PLAY request AND

• [S20] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

• [S21] It has RTSP 200 response code.

FAIL -

• The Client failed PASS criteria.

6.16.5 G.726 AUDIO STREAMING


Test Label: Audio Streaming - G.726

Test Case ID: AUDIOSTREAMING-3

Feature Under Test: Audio Streaming - G.726 (AudioStreaming_AudioStreamingG726)

Test Purpose: To verify that the Client is able to initiate and retrieve audio stream with G.726
encoding type.

Pre-Requisite:

[Link] 145
ONVIF Profile S Client Test Specification Version 22.06

• The Network Trace Capture files contains at least one Conversation between Client and
Device with Audio Streaming of G.726 encoding type.

• Device supports G.726 encoding for Audio streaming.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetStreamUri request message for media profile that contains Audio Source
Configuration and Audio Encoder Configuration with G726 Encoding value. GetStreamUri
request is set for RTP-Unicast/UDP OR RTP-Multicast/UDP OR RTP/RTSP/TCP OR RTP-
Unicast/RTSP/HTTP/TCP transport.

2. Device responds with code HTTP 200 OK and GetStreamUriResponse message.

3. Client invokes RTSP DESCRIBE request to retrieve media stream description.

4. Device responds with code RTSP 200 OK and SDP information with Media Type: "audio"
and with encoding name "G726-*".

5. Client invokes RTSP SETUP request without "onvif-replay" Require header and with
transport parameter element to to set media session parameters for G.726 audio streaming.

6. Device responds with code RTSP 200 OK.

7. Client invokes RTSP PLAY request without "onvif-replay" Require header to start media
stream.

8. Device responds with code RTSP 200 OK.

9. Client invokes RTSP TEARDOWN request to terminate the RTSP session.

10. If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

Test Result:

Note: If no GetStreamUri (Media Service) corresponding to detected RTSP session found, the test
will be assumed as NOT DETECTED.

Note: RTSP requests and RTSP response could be tunneled in HTTP if RTP-Unicast/RTSP/HTTP/
TCP transport is used.

PASS -

• There is Client RTSP DESCRIBE request in Test Procedure

• Device response on the RTSP DESCRIBE request fulfills the following requirements:

• [S1] It has RTSP 200 response code AND

146 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S2] SDP packet contains media type "audio" (m=audio) without session attribute
"sendonly" (a=sendonly) AND with sessions attribute "rtpmap" with encoding name "G726-
*" (see [RFC 3551]) AND

• There is Client RTSP SETUP request in Test Procedure fulfills the following requirements:

• [S3] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S4] It invoked after the Client RTSP DESCRIBE request AND

• [S5] RTSP address that was used to send RTSP SETUP is correspond to corresponding
media Control URL from SDP packet (see [RFC 2326, C.1.1 Control URL]) AND

• [S6] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S7] It has RTSP 200 response code AND

• There is a Device response on the GetStreamUri request in Test Procedure fulfills the
following requirements:

• [S8] It has HTTP 200 response code AND

• [S9] It received for the same Device as for the Client RTSP DESCRIBE request AND

• [S10] It received before the Client RTSP DESCRIBE request AND

• [S11] It contains trt:MediaUri\tt:Uri element which value is equal to RTSP address that
was used to send the RTSP DESCRIBE request AND

• There is Client RTSP PLAY request in Test Procedure fulfills the following requirements:

• [S12] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S13] It invoked after the Client RTSP SETUP request AND

• [S14] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• [S16] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP PLAY request fulfills the following requirements:

[Link] 147
ONVIF Profile S Client Test Specification Version 22.06

• [S17] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure fulfills the following
requirements:

• [S18] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S19] It invoked after the Client RTSP PLAY request AND

• [S20] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

• [S21] It has RTSP 200 response code.

FAIL -

• The Client failed PASS criteria.

6.16.6 AAC AUDIO STREAMING


Test Label: Audio Streaming - AAC

Test Case ID: AUDIOSTREAMING-4

Feature Under Test: Audio Streaming - AAC (AudioStreaming_AudioStreamingAAC)

Test Purpose: To verify that the Client is able to initiate and retrieve audio stream with AAC
encoding type.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with Audio Streaming of AAC encoding type.

• Device supports AAC encoding for Audio streaming.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetStreamUri request message for media profile that contains Audio Source
Configuration and Audio Encoder Configuration with AAC Encoding value. GetStreamUri
request is set for RTP-Unicast/UDP OR RTP-Multicast/UDP OR RTP/RTSP/TCP OR RTP-
Unicast/RTSP/HTTP/TCP transport.

148 [Link]
ONVIF Profile S Client Test Specification Version 22.06

2. Device responds with code HTTP 200 OK and GetStreamUriResponse message.

3. Client invokes RTSP DESCRIBE request to retrieve media stream description.

4. Device responds with code RTSP 200 OK and SDP information with Media Type: "audio"
and with encoding name "MPEG4-GENERIC" or "MP4A-LATM".

5. Client invokes RTSP SETUP request without "onvif-replay" Require header and with
transport parameter element to to set media session parameters for AAC audio streaming.

6. Device responds with code RTSP 200 OK.

7. Client invokes RTSP PLAY request without "onvif-replay" Require header to start media
stream.

8. Device responds with code RTSP 200 OK.

9. Client invokes RTSP TEARDOWN request to terminate the RTSP session.

10. If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

Test Result:

Note: If no GetStreamUri (Media Service) corresponding to detected RTSP session found, the test
will be assumed as NOT DETECTED.

Note: RTSP requests and RTSP response could be tunneled in HTTP if RTP-Unicast/RTSP/HTTP/
TCP transport is used.

PASS -

• There is Client RTSP DESCRIBE request in Test Procedure

• Device response on the RTSP DESCRIBE request fulfills the following requirements:

• [S1] It has RTSP 200 response code AND

• [S2] SDP packet contains media type "audio" (m=audio) without session attribute
"sendonly" (a=sendonly) AND with sessions attribute "rtpmap" with encoding name
"MPEG4-GENERIC" or "MP4A-LATM" (see [RFC 3640]) AND

• There is Client RTSP SETUP request in Test Procedure fulfills the following requirements:

• [S3] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S4] It invoked after the Client RTSP DESCRIBE request AND

• [S5] RTSP address that was used to send RTSP SETUP is correspond to corresponding
media Control URL from SDP packet (see [RFC 2326, C.1.1 Control URL]) AND

[Link] 149
ONVIF Profile S Client Test Specification Version 22.06

• [S6] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S7] It has RTSP 200 response code AND

• There is a Device response on the GetStreamUri request in Test Procedure fulfills the
following requirements:

• [S8] It has HTTP 200 response code AND

• [S9] It received for the same Device as for the Client RTSP DESCRIBE request AND

• [S10] It received before the Client RTSP DESCRIBE request AND

• [S11] It contains trt:MediaUri\tt:Uri element which value is equal to RTSP address that
was used to send the RTSP DESCRIBE request AND

• There is Client RTSP PLAY request in Test Procedure fulfills the following requirements:

• [S12] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S13] It invoked after the Client RTSP SETUP request AND

• [S14] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• [S15] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP PLAY request fulfills the following requirements:

• [S16] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure fulfills the following
requirements:

• [S17] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S18] It invoked after the Client RTSP PLAY request AND

• [S19] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

150 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

• [S20] It has RTSP 200 response code.

FAIL -

• The Client failed PASS criteria.

6.17 Metadata Configurations Test Cases

6.17.1 Feature Level Requirement:


Validated Feature: Metadata Configurations (MetadataConfigurations)

Check Condition based on Device Features: Media Service is supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

6.17.2 Expected Scenarios Under Test:


1. Client connects to Device to list and modify Metadata Configurations.

2. Client is considered as supporting Metadata Configurations if the following conditions are


met:

• Client is able to get metadata parameter options by using


GetMetadataConfigurationOptions operation AND

• Client is able to modify an existing metadata configuration by using


SetMetadataConfiguration command.

3. Client is considered as NOT supporting Metadata Configurations if ANY of the following is


TRUE:

• No Valid Device Response to GetMetadataConfigurations request if detected OR

• No Valid Device Response to GetMetadataConfiguration request if detected OR

• No Valid Device Response to GetMetadataConfigurationOptions request OR

• No Valid Device Response to SetMetadataConfiguration request.

[Link] 151
ONVIF Profile S Client Test Specification Version 22.06

6.17.3 LIST METADATA CONFIGURATIONS


Test Label: Metadata Configurations - List All Existing Metadata Configurations

Test Case ID: METADATACONFIGURATIONS-1

Feature Under Test: List Metadata Configurations


(MetadataConfigurations_GetMetadataConfigurations)

Test Purpose: To verify that list of all existing metadata configurations from Device is received by
Client using the GetMetadataConfigurations operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetMetadataConfigurations operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetMetadataConfigurations request message to retrieve complete list of


available metadata configurations from Device.

2. Device responds with code HTTP 200 OK and GetMetadataConfigurationsResponse


message.

Test Result:

PASS -

• Client GetMetadataConfigurations request messages are valid according to XML Schemas


listed in Namespaces AND

• Client GetMetadataConfigurations request in Test Procedure fulfills the following


requirements:

• [S1] soapenv:Body element has child element trt:GetMetadataConfigurations AND

• Device response on the GetMetadataConfigurations request fulfills the following


requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element


trt:GetMetadataConfigurationsResponse.

FAIL -

• The Client failed PASS criteria.

152 [Link]
ONVIF Profile S Client Test Specification Version 22.06

6.17.4 GET SPECIFIC METADATA CONFIGURATION


Test Label: Metadata Configurations - Gets a Specific Metadata Configuration

Test Case ID: METADATACONFIGURATIONS-2

Feature Under Test: Get Specific Metadata Configuration


(MetadataConfigurations_GetMetadataConfiguration)

Test Purpose: To verify that Client is able to retrieve a specific metadata configuration from Device
by using the GetMetadataConfiguration operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetMetadataConfiguration operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetMetadataConfiguration request message with specified


ConfigurationToken.

2. Device responds with code HTTP 200 OK and GetMetadataConfigurationResponse.

Test Result:

PASS -

• Client GetMetadataConfiguration request messages are valid according to XML Schemas


listed in Namespaces AND

• Client GetMetadataConfiguration request in Test Procedure fulfills the following


requirements:

• [S1] soapenv:Body element has child element trt:GetMetadataConfiguration AND

• [S2] trc:GetMetadataConfiguration/trt:ConfigurationToken element has non-empty


string value of specific metadata configuraton token AND

• Device response on the GetMetadataConfiguration request fulfills the following


requirements:

• [S3] It has HTTP 200 response code AND

• [S4] soapenv:Body element has child element


trt:GetMetadataConfigurationResponse.

[Link] 153
ONVIF Profile S Client Test Specification Version 22.06

FAIL -

• The Client failed PASS criteria.

6.17.5 GET METADATA CONFIGURATION OPTIONS


Test Label: Metadata Configurations - Get Metadata Configuration Options

Test Case ID: METADATACONFIGURATIONS-3

Feature Under Test: Get Metadata Configuration Options


(MetadataConfigurations_GetMetadataConfigurationOptions)

Test Purpose: To verify that Client is able to get metadata configuration options by using
GetMetadataConfigurationOptions operation

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetMetadataConfigurationOptions operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetMetadataConfigurationOptions request message to retrieve supported


metadata configuration options from Device.

2. Device responds with code HTTP 200 OK and


GetMetadataConfigurationOptionsResponse message.

Test Result:

PASS -

• Client GetMetadataConfigurationOptions request messages are valid according to XML


Schemas listed in Namespaces AND

• Client GetMetadataConfigurationOptions request in Test Procedure fulfills the following


requirements:

• [S1] soapenv:Body element has child element trt:GetMetadataConfigurationOptions


AND

• If it contains trt:GetMetadataConfigurationOptions/trt:ConfigurationToken element


then it fulfills the following requirements (else skip the check):

• [S2] trc:GetMetadataConfigurationOptions/trt:ConfigurationToken element has


non-empty string value of specific metadata configuraton token AND

154 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• If it contains trt:GetMetadataConfigurationOptions/trt:ProfileToken element then it


fulfills the following requirements (else skip the check):

• [S3] trc:GetMetadataConfigurationOptions/trt:ProfileToken element has non-empty


string value of specific profile token AND

• Device response on the GetMetadataConfigurationOptions request fulfills the following


requirements:

• [S4] It has HTTP 200 response code AND

• [S5] soapenv:Body element has child element


trt:GetMetadataConfigurationOptionsResponse.

FAIL -

• The Client failed PASS criteria.

6.17.6 MODIFY METADATA CONFIGURATION


Test Label: Metadata Configurations - Modify Metadata Configuration

Test Case ID: METADATACONFIGURATIONS-4

Feature Under Test: Modify Metadata Configuration


(MetadataConfigurations_ModifyMetadataConfiguration)

Test Purpose: To verify that Client is able to modify metadata configuration on Device by using the
SetMetadataConfiguration operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetMetadataConfiguration operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetMetadataConfiguration request message to change metadata


configuration settings with any modifications of parameters.

2. Device responds with code HTTP 200 OK and SetMetadataConfigurationResponse


message.

Test Result:

PASS -

[Link] 155
ONVIF Profile S Client Test Specification Version 22.06

• Client SetMetadataConfiguration request messages are valid according to XML Schemas


listed in Namespaces AND

• Client SetMetadataConfiguration request in Test Procedure fulfills the following


requirements:

• [S1] soapenv:Body element has child element trt:SetMetadataConfiguration AND

• [S2] trt:SetMetadataConfiguration/trt:Configuration/@token attribute has non-empty


string value of specific configuration token AND

• Device response on the SetMetadataConfiguration request fulfills the following


requirements:

• [S3] It has HTTP 200 response code AND

• [S4] soapenv:Body element has child element trt:SetMetadataConfigurationResponse.

FAIL -

• The Client failed PASS criteria.

6.18 Multiple Audio Sources Test Cases

6.18.1 Feature Level Requirement:


Validated Feature: Multiple Audio Sources (MultipleAudioSources)

Check Condition based on Device Features: Real Time Streaming (Media Service) and Audio
(Media Service) are supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

6.18.2 Expected Scenarios Under Test:


1. Client connects to Device to get all Audio Sources.

2. Client obtains audio streaming for each Audio Source provided by a Device.

3. Client is considered as supporting Multiple Audio Sources if the following conditions are met:

• Client is able to get profile list by using GetProfiles operation AND

156 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• Client is able to to initiate and retrieve audio stream for each Audio Source provided by
a Device using GetStreamUri command and RTSP commands.

4. Client is considered as NOT supporting Multiple Audio Sources if ANY of the following is
TRUE:

• No Valid Device Response to GetProfiles request OR

• Client is unable to initiate and retrieve audio streaming for at least one Audio Source
provided by a Device.

6.18.3 STREAMING WITH ALL AUDIO SOURCES


DETECTED IN GET PROFILES
Test Label: Multiple Audio Sources - Streaming with all Audio Sources detected in
GetProfilesResponse

Test Case ID: MULTIPLEAUDIOSOURCES-1

Feature Under Test: Streaming For Audio Sources From GetProfiles


(MultipleAudioSources_StreamingForAudioSourcesFromGetProfiles)

Test Purpose: To verify that Client is able to obtaine audio streaming for each audio source provided
by a Device in GetProfiles responses.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with audio streaming present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetProfiles request messages to retrieve complete list of available media
profiles with audio source configurations from Device.

2. Device responds with code HTTP 200 OK and GetProfilesResponse message.

3. Client initiate audio streaming for each Audio Source token detected in
GetProfilesResponse:

• Client selects existing media profile with required Audio Source token or modifies media
profile to have required Audio Source token or creates media profile with required Audio
Source token.

• Client invokes GetStreamUri request for this media profile.

[Link] 157
ONVIF Profile S Client Test Specification Version 22.06

• Device responds with code HTTP 200 OK and GetStreamUriResponse message.

• Client invokes RTSP DESCRIBE request to retrieve media stream description.

• Device responds with code RTSP 200 OK and SDP information with Media Type: "audio".

• Client invokes RTSP SETUP request without "onvif-replay" Require header and with
transport parameter element to to set media session parameters for audio streaming.

• Device responds with code RTSP 200 OK.

• Client invokes RTSP PLAY request without "onvif-replay" Require header to start media
stream.

• Device responds with code RTSP 200 OK.

• Client invokes RTSP TEARDOWN request to terminate the RTSP session.

• If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

Test Result:

Note: If Client does not initiate audio streaming then Test shall be deemed as "NOT DETECTED".

PASS -

• For each Audio Source Token listed by HelperGetAudioSourcesListFromGetProfiles (see


Annex A.4) there is a audio stream in Test Procedure that fulfills the following requirements:

• There is a Client GetStreamUri request that fulfills the following requirements:

• [S1] It invoked for the media profile which contains Audio Source Configuration with this
Audio Source Token (see Annex A.5 HelperGetAudioSourceTokenUsedForStreaming to
get audio source token from media profile) AND

• Device response on the GetStreamUri request fulfills the following requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element trt:GetStreamUriResponse AND

• There is a RTSP session in Test Procedure that fulfills the following requirements:

• [S5] It invoked for the uri from GetStreamUri response AND

• [S6] It started audio streaming according to HelperFindAudioStreamingForGetStreamUri


(see Annex A.6)

158 [Link]
ONVIF Profile S Client Test Specification Version 22.06

FAIL -

• The Client failed PASS criteria.

6.19 PTZ - Listing Test Cases

6.19.1 Feature Level Requirement:


Validated Feature: PTZ Listing (PtzListing)

Check Condition based on Device Features: PTZ Service is supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

Profile T Requirement: Conditional

6.19.2 Expected Scenarios Under Test:


1. Client connects to Device to read PTZ capabilities.

2. Client is considered as supporting PTZ - Listing if the following conditions are met:

• Client is able to read PTZ capabilities from PTZ Node using EITHER GetNodes OR
GetNode operations.

3. Client is considered as NOT supporting PTZ - Listing if ANY of the following is TRUE:

• No Valid Device Response to GetNodes request AND

• No Valid Device Response to GetNode request.

6.19.3 GET NODES


Test Label: PTZ Listing - GetNodes

Test Case ID: PTZLISTING-1

Feature Under Test: Get Nodes (PtzListing_GetNodes)

Test Purpose: To verify that list of all existing PTZ capabilities from Device is received by Client
using the GetNodes operation.

Pre-Requisite:

[Link] 159
ONVIF Profile S Client Test Specification Version 22.06

• The Network Trace Capture files contains at least one conversation between Client and
Device with GetNodes operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetNodes request message to retrieve complete PTZ capabilities list from
Device.

2. Device responds with code HTTP 200 OK and GetNodesResponse message.

Test Result:

PASS -

• Client GetNodes request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GetNodes request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GetNodes>" tag after the "<Body>" tag AND

• [S2] Device response contains "HTTP/* 200 OK" AND

• [S3] Device response contains "<GetNodesResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.19.4 GET NODE


Test Label: PTZ Listing - GetNode

Test Case ID: PTZLISTING-2

Feature Under Test: Get Node (PtzListing_GetNode)

Test Purpose: To verify that Client is able to retrieve a specific PTZ capability properties from
Device using the GetNode operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with GetNode operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetNode request message to retrieve a specific PTZ capability properties
from Device.

160 [Link]
ONVIF Profile S Client Test Specification Version 22.06

2. Device responds with code HTTP 200 OK and GetNodeResponse message.

Test Result:

PASS -

• Client GetNode request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GetNode request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GetNode>" tag after the "<Body>" tag AND

• [S2] "<GetNode>" includes tag: "<NodeToken>" with non-empty string value of specific
token AND

• [S3] Device response contains "HTTP/* 200 OK" AND

• [S4] Device response contains "<GetNodeResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.20 PTZ - Configuration Test Cases

6.20.1 Feature Level Requirement:


Validated Feature: PTZ Configuration (PtzConfiguration)

Check Condition based on Device Features: PTZ Service and Media Service are supported by
Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

6.20.2 Expected Scenarios Under Test:


1. Client connects to Device to add PTZ configuration to a media profile.

2. Client is considered as supporting PTZ - Configuration if the following conditions are met:

• Client is able to add PTZ configuration to an existing media profile using


GetConfigurations operation AND AddPTZConfiguration operation.

[Link] 161
ONVIF Profile S Client Test Specification Version 22.06

3. Client is considered as NOT supporting PTZ - Configuration if ANY of the following is TRUE:

• No Valid Device Response to GetConfigurations request OR

• No Valid Device Response to AddPTZConfiguration request.

6.20.3 ADD PTZ CONFIGURATION


Test Label: PTZ Configuration - Add PTZ Configuration

Test Case ID: PTZCONFIGURATION-1

Feature Under Test: Add PTZ Configuration to Media Profile


(PtzConfiguration_AddPtzConfiguration)

Test Purpose: To verify that Client is able to add PTZ configuration to a profile using
GetConfigurations and AddPTZConfiguration operations.

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with GetConfigurations and AddPTZConfiguration operations present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetConfigurations request message to retrieve all available PTZ


configurations from Device.

2. Device responds with code HTTP 200 OK and GetConfigurationsResponse message.

3. Client invokes AddPTZConfiguration request message to add a PTZ configuration to an


existing media profile.

4. Device responds with code HTTP 200 OK and AddPTZConfigurationResponse message.

Test Result:

PASS -

• Client GetConfigurations request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GetConfigurations request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GetConfigurations>" tag after the "<Body>" tag AND

• [S2] Device response contains "HTTP/* 200 OK" AND

162 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S3] Device response contains "<GetConfigurationsResponse>" tag AND

• Client AddPTZConfiguration request messages are valid according to XML Schemas listed
in Namespaces AND

• Client AddPTZConfiguration request in Test Procedure fulfills the following requirements:

• [S4] Client request contains "<AddPTZConfiguration>" tag after the "<Body>" tag AND

• [S5] "<AddPTZConfiguration>" includes tag: "<ProfileToken>" with non-empty string value


of specific token AND

• [S6] "<AddPTZConfiguration>" includes tag: "<ConfigurationToken>" with non-empty string


value of specific token AND

• [S7] Device response contains "HTTP/* 200 OK" AND

• [S8] Device response contains "<AddPTZConfigurationResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.21 PTZ Pan Tilt Continuous Positioning Test Cases

6.21.1 Feature Level Requirement:


Validated Feature: Continuous Move (PtzPanTiltContinuousPositioning)

Check Condition based on Device Features: PTZ Continuous Pan Tilt movement is supported
by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

Profile T Requirement: Mandatory

6.21.2 Expected Scenarios Under Test:


1. Client connects to Device to control PTZ Pan Tilt position using continuous move.

2. Client is considered as supporting PTZ Pan Tilt Continuous Positioning if the following
conditions are met:

[Link] 163
ONVIF Profile S Client Test Specification Version 22.06

• Client is able to move PTZ Device using the ContinuousMove operation with specified
PanTilt element AND

• Client is able to stop PTZ Pan Tilt Device movement using the Stop operation OR using
ContinuousMove operation with zero values in PanTilt element.

3. Client is considered as NOT supporting PTZ Pan Tilt Continuous Positioning if ANY of the
following is TRUE:

• Client is unable to move a PTZ device using the ContinuousMove operation with specified
PanTilt element OR

• Client is unable to stop PTZ Pan Tilt movement using EITHER Stop operation OR using
ContinuousMove operation OR

• No Valid Device Response to Stop request if detected OR

• No Valid Device Response to ContinuousMove request with zero "x" and "y" attributes
values in PanTilt element if detected.

6.21.3 PTZ CONTINUOUS MOVE PAN/TILT


Test Label: PTZ Continuous Positioning - ContinuousMove PanTilt

Test Case ID: PTZPANTILTCONTINUOUSPOSITIONING-1

Feature Under Test: Pan Tilt Continuous Move


(PtzPanTiltContinuousPositioning_ContinuousMovePanTilt)

Test Purpose: To verify that Client is able to move a PTZ Device using the ContinuousMove
operation with specified PanTilt element.

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with ContinuousMove operation present.

• Device supports PTZContinuousPanTilt.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes ContinuousMove request message to start move of PTZ Device using specific
value of PanTilt element.

2. Device responds with code HTTP 200 OK and ContinuousMoveResponse message.

164 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Test Result:

PASS -

• Client ContinuousMove request messages are valid according to XML Schemas listed in
Namespaces AND

• Client ContinuousMove request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<ContinuousMove>" tag after the "<Body>" tag AND

• [S2] "<ContinuousMove>" includes tag: "<ProfileToken>" with non-empty string value of


specific token AND

• [S4] "<Velocity>" includes tag: "<PanTilt>" AND

• [S7] Device response contains "HTTP/* 200 OK" AND

• [S8] Device response contains "<ContinuousMoveResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.21.4 PTZ PAN TILT STOP


Test Label: PTZ Pan Tilt Continuous Positioning - Stop

Test Case ID: PTZPANTILTCONTINUOUSPOSITIONING-2

Feature Under Test: Stop Pan Tilt Movement (PtzPanTiltContinuousPositioning_PanTiltStop)

Test Purpose: To verify that Client is able to stop a PTZ Pan Tilt Device movement using the Stop
operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with Stop operation with skipped PanTilt element or with PanTilt = true present

Test Procedure (expected to be reflected in network trace file):

1. Client invokes Stop request message to stop ongoing pan tilt movements of PTZ Device.

2. Device responds with code HTTP 200 OK and StopResponse message.

Test Result:

PASS -

[Link] 165
ONVIF Profile S Client Test Specification Version 22.06

• Client Stop request messages are valid according to XML Schemas listed in Namespaces
AND

• Client Stop request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tptz:Stop AND

• [S2] tptz:Stop/tptz:ProfileToken element has non-empty string value of specific token


AND

• [S3] If tptz:Stop contains tptz:PanTilt element then tptz:Stop/tptz:PanTilt = true AND

• Device response on the Stop request fulfills the following requirements:

• [S4] It has HTTP 200 response code AND

• [S5] soapenv:Body element has child element tptz:StopResponse.

FAIL -

• The Client failed PASS criteria.

6.21.5 STOP PAN TILT MOVEMENT USING PTZ


CONTINUOUS MOVE
Test Label: PTZ Continuous Positioning - Stop Pan Tilt Movement using ContinuousMove

Test Case ID: PTZPANTILTCONTINUOUSPOSITIONING-3

Feature Under Test: Stop Pan Tilt Movement using Continuous Move
(PtzPanTiltContinuousPositioning_PanTiltStopUsingPTZContinuousMove)

Test Purpose: To verify that Client is able to stop a PTZ Pan Tilt Device movement using
ContinuousMove operation with zero values in PanTilt element.

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with ContinuousMove operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes ContinuousMove request message with zero "x" and "y" attributes values in
PanTilt element.

2. Device responds with code HTTP 200 OK and ContinuousMoveResponse message.

166 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Test Result:

NOTE: In case Client does not send ContinuousMove request message with zero "x" and "y"
attributes values in PanTilt element then the test shall be deemed as "NOT DETECTED".

PASS -

• There is client ContinuousMove request messages which corresponds to the following


requirements (else skip the check):

• Client ContinuousMove request messages are valid according to XML Schemas listed in
Namespaces AND

• Client ContinuousMove request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tptz:ContinuousMove AND

• [S2] tptz:ContinuousMove/tptz:ProfileToken element has non-empty string value of


specific token AND

• [S3] tptz:ContinuousMove/tptz:Velocity containt tag tt:PanTilt AND

• [S4] tptz:ContinuousMove/tptz:Velocity/tt:PanTilt/@x attribute value is equal to 0


AND

• [S5] tptz:ContinuousMove/tptz:Velocity/tt:PanTilt/@y attribute value is equal to 0


AND

• Device response on the ContinuousMove request fulfills the following requirements:

• [S6] It has HTTP 200 response code AND

• [S7] soapenv:Body element has child element tptz:ContinuousMoveResponse.

FAIL -

• The Client failed PASS criteria.

6.22 PTZ Zoom Continuous Positioning Test Cases

6.22.1 Feature Level Requirement:


Validated Feature: Zoom Continuous Move (PtzZoomContinuousPositioning)

Check Condition based on Device Features: PTZ Continuous Zoom movement is supported by
Device.

[Link] 167
ONVIF Profile S Client Test Specification Version 22.06

Required Number of Devices: 1

Profile S Requirement: Conditional

Profile T Requirement: Mandatory

6.22.2 Expected Scenarios Under Test:


1. Client connects to Device to control PTZ Zoom position using continuous move.

2. Client is considered as supporting PTZ Zoom Continuous Positioning if the following


conditions are met:

• Client is able to move PTZ Device using the ContinuousMove operation with specified
Zoom element AND

• Client is able to stop PTZ Zoom Device movement using the Stop operation OR using
ContinuousMove operation with zero values in Zoom element.

3. Client is considered as NOT supporting PTZ Zoom Continuous Positioning if ANY of the
following is TRUE:

• Client is unable to move a PTZ device using the ContinuousMove operation with specified
Zoom element OR

• Client is unable to stop PTZ Zoom movement using EITHER Stop operation OR using
ContinuousMove operation OR

• No Valid Device Response to Stop request if detected OR

• No Valid Device Response to ContinuousMove request with zero "x" attributes values
in Zoom element if detected.

6.22.3 PTZ CONTINUOUS MOVE ZOOM


Test Label: PTZ Continuous Positioning - ContinuousMove Zoom

Test Case ID: PTZZOOMCONTINUOUSPOSITIONING-1

Feature Under Test: Zoom Continuous Move


(PtzZoomContinuousPositioning_ContinuousMoveZoom)

Test Purpose: To verify that Client is able to change zoom of PTZ Device using the ContinuousMove
operation with specified Zoom element.

Pre-Requisite:

168 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• The Network Trace Capture files contains at least one conversation between Client and
Device with ContinuousMove operation present.

• Device supports PTZContinuousZoom.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes ContinuousMove request message to change zoom of PTZ Device using
specific value of Zoom element.

2. Device responds with code HTTP 200 OK and ContinuousMoveResponse message.

Test Result:

PASS -

• Client ContinuousMove request messages are valid according to XML Schemas listed in
Namespaces AND

• Client ContinuousMove request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<ContinuousMove>" tag after the "<Body>" tag AND

• [S2] "<ContinuousMove>" includes tag: "<ProfileToken>" with non-empty string value of


specific token AND

• [S4] "<Velocity>" includes tag: "<Zoom>" AND

• [S6] Device response contains "HTTP/* 200 OK" AND

• [S7] Device response contains "<ContinuousMoveResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.22.4 PTZ ZOOM STOP


Test Label: PTZ Zoom Continuous Positioning - Stop

Test Case ID: PTZZOOMCONTINUOUSPOSITIONING-2

Feature Under Test: Stop Zoom Movement (PtzZoomContinuousPositioning_ZoomStop)

Test Purpose: To verify that Client is able to stop a PTZ Zoom Device movement using the Stop
operation.

[Link] 169
ONVIF Profile S Client Test Specification Version 22.06

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with Stop operation with skipped Zoom element or with Zoom = true present

Test Procedure (expected to be reflected in network trace file):

1. Client invokes Stop request message to stop ongoing zoom movements of PTZ Device.

2. Device responds with code HTTP 200 OK and StopResponse message.

Test Result:

PASS -

• Client Stop request messages are valid according to XML Schemas listed in Namespaces
AND

• Client Stop request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tptz:Stop AND

• [S2] tptz:Stop/tptz:ProfileToken element has non-empty string value of specific token


AND

• [S3] If tptz:Stop contains tptz:Zoom element then tptz:Stop/tptz:Zoom = true AND

• Device response on the Stop request fulfills the following requirements:

• [S4] It has HTTP 200 response code AND

• [S5] soapenv:Body element has child element tptz:StopResponse.

FAIL -

• The Client failed PASS criteria.

6.22.5 STOP ZOOM MOVEMENT USING PTZ CONTINUOUS


MOVE
Test Label: PTZ Continuous Positioning - Stop Zoom Movement using ContinuousMove

Test Case ID: PTZZOOMCONTINUOUSPOSITIONING-3

Feature Under Test: Stop Zoom Movement using Continuous Move


(PtzZoomContinuousPositioning_ZoomStopUsingPTZContinuousMove)

170 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Test Purpose: To verify that Client is able to stop a PTZ Zoom Device movement using
ContinuousMove operation with zero values in Zoom element.

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with ContinuousMove operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes ContinuousMove request message with zero "x" attribute value in Zoom
element.

2. Device responds with code HTTP 200 OK and ContinuousMoveResponse message.

Test Result:

NOTE: In case Client does not send ContinuousMove request message with zero "x" attribute value
in Zoom element if device supports PTZContinuousZoom then the test shall be deemed as "NOT
DETECTED".

PASS -

• There is client ContinuousMove request messages which corresponds to the following


requirements (else skip the check):

• Client ContinuousMove request messages are valid according to XML Schemas listed in
Namespaces AND

• Client ContinuousMove request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tptz:ContinuousMove AND

• [S2] tptz:ContinuousMove/tptz:ProfileToken element has non-empty string value of


specific token AND

• [S3] tptz:ContinuousMove/tptz:Velocity containt tag tt:Zoom AND

• [S4] tptz:ContinuousMove/tptz:Velocity/tt:Zoom/@x attribute value is equal to 0.

• Device response on the ContinuousMove request fulfills the following requirements:

• [S5] It has HTTP 200 response code AND

• [S6] soapenv:Body element has child element tptz:ContinuousMoveResponse.

FAIL -

[Link] 171
ONVIF Profile S Client Test Specification Version 22.06

• The Client failed PASS criteria.

6.23 PTZ Pan Tilt Absolute Positioning Test Cases

6.23.1 Feature Level Requirement:


Validated Feature: PTZ Pan Tilt Absolute Positioning (PtzPanTiltAbsolutePositioning)

Check Condition based on Device Features: Pan Tilt Absolute Movement and Profile S are
supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

Profile T Requirement: None

6.23.2 Expected Scenarios Under Test:


1. Client connects to Device to control the pan tilt position using absolute positioning.

2. Client is considered as supporting PTZ Pan Tilt Absolute Positioning if the following
conditions are met:

• Client is able to move PTZ Device using the AbsoluteMove operation by Move a PTZ
Device using the AbsoluteMove operation with specified PanTilt element.

3. Client is considered as NOT supporting PTZ Pan Tilt Absolute Positioning if ANY of the
following is TRUE:

• No Valid Device Response to AbsoluteMove request with specified PanTilt element.

6.23.3 PTZ ABSOLUTE MOVE PAN/TILT


Test Label: PTZ Absolute Positioning - AbsoluteMove PanTilt

Test Case ID: PTZPANTILTABSOLUTEPOSITIONING-1

Feature Under Test: Pan Tilt Absolute Move


(PtzPanTiltAbsolutePositioning_AbsoluteMovePanTilt)

Test Purpose: To verify that Client is able to move a PTZ Device using the AbsoluteMove operation
with specified PanTilt element.

172 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with AbsoluteMove operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes AbsoluteMove request message to move of PTZ Device using specific value
of PanTilt element.

2. Device responds with code HTTP 200 OK and AbsoluteMoveResponse message.

Test Result:

NOTE: If Client AbsoluteMove request message does not contain "<PanTilt>" tag inside
"<Position>" tag then Test shall be deemed as "NOT DETECTED".

PASS -

• Client AbsoluteMove request messages are valid according to XML Schemas listed in
Namespaces AND

• Client AbsoluteMove request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<AbsoluteMove>" tag after the "<Body>" tag AND

• [S2] "<AbsoluteMove>" includes tag: "<ProfileToken>" with non-empty string value of


specific token AND

• [S4] "<Position>" includes tag: "<PanTilt>" AND

• [S7] Device response contains "HTTP/* 200 OK" AND

• [S8] Device response contains "<AbsoluteMoveResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.24 PTZ Zoom Absolute Positioning Test Cases

6.24.1 Feature Level Requirement:


Validated Feature: PTZ Zoom Absolute Positioning (PtzZoomAbsolutePositioning)

Check Condition based on Device Features: Zoom Absolute Movement and Profile S are
supported by Device.

[Link] 173
ONVIF Profile S Client Test Specification Version 22.06

Required Number of Devices: 1

Profile S Requirement: Conditional

Profile T Requirement: None

6.24.2 Expected Scenarios Under Test:


1. Client connects to Device to control the zoom position using absolute positioning.

2. Client is considered as supporting PTZ Zoom Absolute Positioning if the following conditions
are met:

• Client is able to change zoom of PTZ Device using the AbsoluteMove operation with
specified Zoom element.

3. Client is considered as NOT supporting PTZ Zoom Absolute Positioning if ANY of the
following is TRUE:

• No Valid Device Response to AbsoluteMove request with specified Zoom element.

6.24.3 PTZ ABSOLUTE MOVE ZOOM


Test Label: PTZ Absolute Positioning - AbsoluteMove Zoom

Test Case ID: PTZZOOMABSOLUTEPOSITIONING-1

Feature Under Test: Zoom Absolute Move (PtzZoomAbsolutePositioning_AbsoluteZoom)

Test Purpose: To verify that Client is able to change zoom of PTZ Device using the AbsoluteMove
operation with specified Zoom element.

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with AbsoluteMove operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes AbsoluteMove request message to change zoom of PTZ Device using
specific value of Zoom element.

2. Device responds with code HTTP 200 OK and AbsoluteMoveResponse message.

Test Result:

PASS -

174 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• Client AbsoluteMove request messages are valid according to XML Schemas listed in
Namespaces AND

• Client AbsoluteMove request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<AbsoluteMove>" tag after the "<Body>" tag AND

• [S2] "<AbsoluteMove>" includes tag: "<ProfileToken>" with non-empty string value of


specific token AND

• [S4] "<Position>" includes tag: "<Zoom>" AND

• [S6] Device response contains "HTTP/* 200 OK" AND

• [S7] Device response contains "<AbsoluteMoveResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.25 PTZ Pan Tilt Relative Positioning Test Cases

6.25.1 Feature Level Requirement:


Validated Feature: PTZ Pan Tilt Relative Positioning (PtzPanTiltRelativePositioning)

Check Condition based on Device Features: Relative Tan Tilt move and Profile S are supported
by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

6.25.2 Expected Scenarios Under Test:


1. Client connects to Device to control the position using relative positioning.

2. Client is considered as supporting PTZ Pan Tilt Relative Positioning if the following
conditions are met:

• Client is able to move PTZ Device using the RelativeMove operation by Move a PTZ
Device using the RelativeMove operation with specified PanTilt element.

3. Client is considered as NOT supporting PTZ Pan Tilt Relative Positioning if ANY of the
following is TRUE:

[Link] 175
ONVIF Profile S Client Test Specification Version 22.06

• No Valid Device Response to RelativeMove request with specified PanTilt element.

6.25.3 PTZ RELATIVE MOVE PAN/TILT


Test Label: PTZ Relative Positioning - Relative Move PanTilt

Test Case ID: PTZPANTILTRELATIVEPOSITIONING-1

Feature Under Test: Pan Tilt Relative Move


(PtzPanTiltRelativePositioning_PtzRelativeMovePanTilt)

Test Purpose: To verify that Client is able to move a PTZ Device using the RelativeMove operation
with specified PanTilt element.

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with RelativeMove operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes RelativeMove request message to move of PTZ Device using specific value
of PanTilt element.

2. Device responds with code HTTP 200 OK and RelativeMoveResponse message.

Test Result:

NOTE: If Client RelativeMove request message does not contain "<PanTilt>" tag inside
"<Translation>" tag then Test shall be deemed as "NOT DETECTED".

PASS -

• Client RelativeMove request messages are valid according to XML Schemas listed in
Namespaces AND

• Client RelativeMove request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<RelativeMove>" tag after the "<Body>" tag AND

• [S2] "<RelativeMove>" includes tag: "<ProfileToken>" with non-empty string value of


specific token AND

• [S4] "<Translation>" includes tag: "<PanTilt>" AND

• [S7] Device response contains "HTTP/* 200 OK" AND

176 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S8] Device response contains "<RelativeMoveResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.26 PTZ Zoom Relative Positioning Test Cases

6.26.1 Feature Level Requirement:


Validated Feature: PTZ Pan Tilt Relative Positioning (PtzZoomRelativePositioning)

Check Condition based on Device Features: Relative Zoom move and Profile S are supported
by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

6.26.2 Expected Scenarios Under Test:


1. Client connects to Device to control the position using relative positioning.

2. Client is considered as supporting PTZ Zoom Relative Positioning if the following conditions
are met:

• Client is able to change zoom of PTZ Device using the RelativeMove operation with
specified Zoom element.

3. Client is considered as NOT supporting PTZ Zoom Relative Positioning if ANY of the
following is TRUE:

• No Valid Device Response to RelativeMove request with specified Zoom element.

6.26.3 PTZ RELATIVE MOVE ZOOM


Test Label: PTZ Relative Positioning - Relative Move Zoom

Test Case ID: PTZZOOMRELATIVEPOSITIONING-1

Feature Under Test: Zoom Relative Move (PtzZoomRelativePositioning_PtzRelativeMoveZoom)

Test Purpose: To verify that Client is able to change zoom of PTZ Device using the RelativeMove
operation with specified Zoom element.

[Link] 177
ONVIF Profile S Client Test Specification Version 22.06

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with RelativeMove operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes RelativeMove request message to change zoom of PTZ Device using specific
value of Zoom element.

2. Device responds with code HTTP 200 OK and RelativeMoveResponse message.

Test Result:

NOTE: If Client AbsoluteMove request message does not contain "<Zoom>" tag inside
"<Translation>" tag then Test shall be deemed as "NOT DETECTED".

PASS -

• Client RelativeMove request messages are valid according to XML Schemas listed in
Namespaces AND

• Client RelativeMove request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<RelativeMove>" tag after the "<Body>" tag AND

• [S2] "<RelativeMove>" includes tag: "<ProfileToken>" with non-empty string value of


specific token AND

• [S4] "<Translation>" includes tag: "<Zoom>" AND

• [S6] Device response contains "HTTP/* 200 OK" AND

• [S7] Device response contains "<RelativeMoveResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.27 PTZ Presets Test Cases

6.27.1 Feature Level Requirement:


Validated Feature: PTZ Presets (PtzPresets)

Check Condition based on Device Features: PTZ Presets is supported by Device.

Required Number of Devices: 1

178 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Profile S Requirement: Conditional

Profile T Requirement: Conditional

6.27.2 Expected Scenarios Under Test:


1. Client connects to Device to manage the presets of a PTZ Node.

2. Client is considered as supporting PTZ Presets if the following conditions are met:

• Client is able to list the presets using the GetPresets operation AND

• Client is able to move a PTZ Device to a specific preset using the GotoPreset operation.

3. Client is considered as NOT supporting PTZ Presets if ANY of the following is TRUE:

• No Valid Device Response to GetPresets request OR

• No Valid Device Response to GotoPreset request.

6.27.3 PTZ GET PRESETS


Test Label: PTZ Presets - GetPresets

Test Case ID: PTZPRESETS-1

Feature Under Test: Get Presets (PtzPresets_PtzGetPresets)

Test Purpose: To verify that Client is able to list the presets using the GetPresets operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with GetPresets operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetPresets request message to list the available presets from Device.

2. Device responds with code HTTP 200 OK and GetPresetsResponse message.

Test Result:

PASS -

• Client GetPresets request messages are valid according to XML Schemas listed in
Namespaces AND

[Link] 179
ONVIF Profile S Client Test Specification Version 22.06

• Client GetPresets request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GetPresets>" tag after the "<Body>" tag AND

• [S2] "<GetPresets>" includes tag: "<ProfileToken>" with non-empty string value of specific
token AND

• [S3] Device response contains "HTTP/* 200 OK" AND

• [S4] Device response contains "<GetPresetsResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.27.4 PTZ GOTO PRESET


Test Label: PTZ Presets - GotoPreset

Test Case ID: PTZPRESETS-2

Feature Under Test: Goto Preset (PtzPresets_PtzGotoPreset)

Test Purpose: To verify that Client is able to move a PTZ Device to a specific preset using the
GotoPreset operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with GotoPreset operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GotoPreset request message to move PTZ Device to specific preset.

2. Device responds with code HTTP 200 OK and GotoPresetResponse message.

Test Result:

PASS -

• Client GotoPreset request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GotoPreset request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GotoPreset>" tag after the "<Body>" tag AND

180 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S2] "<GotoPreset>" includes tag: "<ProfileToken>" with non-empty string value of specific
token AND

• [S3] "<GotoPreset>" includes tag: "<PresetToken>" with non-empty string value of specific
token AND

• [S4] Device response contains "HTTP/* 200 OK" AND

• [S5] Device response contains "<GotoPresetResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.28 PTZ Home Position Test Cases

6.28.1 Feature Level Requirement:


Validated Feature: PTZ Home Position (PtzHomePosition)

Check Condition based on Device Features: PTZ Home Position is supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

Profile T Requirement: Conditional

6.28.2 Expected Scenarios Under Test:


1. Client connects to Device to manage the home position of a PTZ Node.

2. Client is considered as supporting PTZ Home Position if the following conditions are met:

• Client is able to move PTZ Device to its home position using the GotoHomePosition
operation

3. Client is considered as NOT supporting PTZ Home Position if ANY of the following is TRUE:

• No Valid Device Response to GotoHomePosition request.

6.28.3 PTZ HOME POSITION


Test Label: PTZ Presets - GotoHomePosition

[Link] 181
ONVIF Profile S Client Test Specification Version 22.06

Test Case ID: PTZHOMEPOSITION-1

Feature Under Test: Goto Home Position (PtzHomePosition_PtzGotoHomePosition)

Test Purpose: To verify that Client is able to move PTZ Device to its home position using the
GotoHomePosition operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with GotoHomePosition operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GotoHomePosition request message to move PTZ Device to its home
position.

2. Device responds with code HTTP 200 OK and GotoHomeResponse message.

Test Result:

PASS -

• Client GotoHomePosition request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GotoHomePosition request in Test Procedure fulfills the following requirements:

• [S1] Client request contains "<GotoHomePosition>" tag after the "<Body>" tag AND

• [S2] "<GotoHomePosition>" includes tag: "<ProfileToken>" with non-empty string value of


specific token AND

• [S3] Device response contains "HTTP/* 200 OK" AND

• [S4] Device response contains "<GotoHomePositionResponse>" tag.

FAIL -

• The Client failed PASS criteria.

6.29 PTZ - Auxiliary Command Test Cases

6.29.1 Feature Level Requirement:


Validated Feature: PTZ Auxiliary Command (PtzAuxiliaryCommand)

182 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Check Condition based on Device Features: Auxiliary Operations (PTZ Service) and Profile S
are supported by Device.

Required Number of Devices: 1

Profile S Requirement: Conditional

6.29.2 Expected Scenarios Under Test:


1. Client connects to Device to manage the auxiliary commands of a PTZ Node.

2. Client is considered as supporting PTZ - Auxiliary Command if the following conditions are
met:

• Client is able to call an auxiliary operation on Device using the SendAuxiliaryCommand


operation.

3. Client is considered as NOT supporting PTZ - Auxiliary Command if ANY of the following
is TRUE:

• No Valid Device Response to SendAuxiliaryCommand request.

6.29.3 PTZ SEND AUXILIARY COMMAND


Test Label: PTZ Auxiliary Command - Send Auxiliary Command

Test Case ID: PTZAUXILIARYCOMMAND-1

Feature Under Test: Send Auxiliary Command


(PtzAuxiliaryCommand_PtzSendAuxiliaryCommand)

Test Purpose: To verify that Client is able to call an auxiliary operation on Device using the
SendAuxiliaryCommand operation (PTZ Service).

Pre-Requisite:

• The Network Trace Capture files contains at least one conversation between Client and
Device with SendAuxiliaryCommand operation (PTZ Service) present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SendAuxiliaryCommand request message (PTZ Service) to call an auxiliary


operation on Device.

2. Device responds with code HTTP 200 OK and SendAuxiliaryCommandResponse


message.

[Link] 183
ONVIF Profile S Client Test Specification Version 22.06

Test Result:

PASS -

• Client SendAuxiliaryCommand request messages are valid according to XML Schemas


listed in Namespaces AND

• Client SendAuxiliaryCommand request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tptz:SendAuxiliaryCommand AND

• [S2] It contains tptz:ProfileToken element with non-empty string value AND

• [S3] It contains tptz:AuxiliaryData element with non-empty string value AND

• Device response on the SendAuxiliaryCommand request fulfills the following requirements:

• [S4] It has HTTP 200 response code AND

• [S5] soapenv:Body element has child element tptz:SendAuxiliaryCommandResponse.

FAIL -

• The Client failed PASS criteria.

184 [Link]
ONVIF Profile S Client Test Specification Version 22.06

7 Test Cases for Profile Optional Features

7.1 Set Synchronization Point (Event Service) Test Cases

7.1.1 Feature Level Requirement:


Validated Feature: Set Synchronization Point (SetSynchronizationPoint)

Check Condition based on Device Features: Pull Point Notification OR WS-Basic Notification is
supported by Device.

Required Number of Devices: 1

Profile A Requirement: Optional

Profile C Requirement: Optional

Profile S Requirement: Optional

Profile G Requirement: Optional

Profile T Requirement: Mandatory

Profile D Requirement: Mandatory

7.1.2 Expected Scenarios Under Test:


1. Client connects to Device to synchronize property states.

2. Client is considered as supporting Set Synchronization Point (Event Service) if the following
conditions are met:

• Client is able to synchronize property states using SetSynchronizationPoint operation


for subscribtions AND

3. Client is considered as NOT supporting Set Synchronization Point (Event Service) if the
following is TRUE:

• No valid responses for SetSynchronizationPoint request OR

• SetSynchronizationPoint request does not contains valid wsa:Action header.

7.1.3 SET SYNCHRONIZATION POINT (EVENT SERVICE)


Test Label: Set Synchronization Point - Set Synchronization Point

[Link] 185
ONVIF Profile S Client Test Specification Version 22.06

Test Case ID: SETSYNCHRONIZATIONPOINT-1

Feature Under Test: Set Synchronization Point


(SetSynchronizationPoint_SetSynchronizationPointAction)

Test Purpose: To verify that the Client is able to use SetSynchronizationPoint operation for
subscribtion.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetSynchronizationPoint operations present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetSynchronizationPoint message with valid wsa:Action header to


synchronize its properties with the properties of the device.

2. Device responses with code HTTP 200 OK and SetSynchronizationPointResponse


message.

Test Result:

PASS -

• Client SetSynchronizationPoint request messages are valid according to XML Schemas


listed in Namespaces AND

• Client SetSynchronizationPoint request in Test Procedure fulfills the following requirements:


• [S1] soapenv:Body element has child element tev:SetSynchronizationPoint AND
• [S2] It contains wsa:Action element in header equal to "[Link]
wsdl/PullPointSubscription/SetSynchronizationPointRequest" AND

• Device response on the SetSynchronizationPoint request fulfills the following requirements:


• [S3] It has HTTP 200 response code AND
• [S4] soapenv:Body element has child element tev:SetSynchronizationPointResponse

FAIL -

• The Client failed PASS criteria.

7.2 Unsubscribe Test Cases


Validated Feature: Unsubscribe (Unsubscribe)

Check Condition based on Device Features: Pull Point Notification OR WS-Basic Notification is
supported by Device.

186 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Required Number of Devices: 1

Profile A Requirement: Optional

Profile C Requirement: Optional

Profile S Requirement: Optional

Profile G Requirement: Optional

Profile T Requirement: Optional

7.2.1 Expected Scenarios Under Test:


1. Client connects to Device to Unsubscribe subscribtions.

2. Client is considered as supporting Unsubscribe if the following conditions are met:

• Client is able to unsubscribe subscribtions using Unsubscribe operation.

3. Client is considered as NOT supporting Unsubscribe if the following is TRUE:

• No valid responses for Unsubscribe request OR

• Unsubscribe request does not contains valid wsa:Action header.

7.2.2 UNSUBSCRIBE
Test Label: Unsubscribe - Unsubscribe

Test Case ID: UNSUBSCRIBE-1

Feature Under Test: Unsubscribe (Unsubscribe_UnsubscribeAction)

Test Purpose: To verify that the Client is able to use Unsubscribe operation to terminate a
subscribtion.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with Unsubscribe operations present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes Unsubscribe message with valid wsa:Action header to terminete a


subscription.

[Link] 187
ONVIF Profile S Client Test Specification Version 22.06

2. Device responses with code HTTP 200 OK and UnsubscribeResponse message.

Test Result:

PASS -

• Client Unsubscribe request messages are valid according to XML Schemas listed in
Namespaces AND

• Client Unsubscribe request in Test Procedure fulfills the following requirements:


• [S1] soapenv:Body element has child element wsnt:Unsubscribe AND
• [S2] It contains wsa:Action element in header equal to "[Link]
bw-2/SubscriptionManager/UnsubscribeRequest" AND

• Device response on the Unsubscribe request fulfills the following requirements:


• [S3] It has HTTP 200 response code AND
• [S4] soapenv:Body element has child element wsnt:UnsubscribeResponse

FAIL -

• The Client failed PASS criteria.

7.3 System Date and Time Configuration Test Cases

7.3.1 Feature Level Requirement:


Validated Feature: System Date and Time Configuration (SystemDateAndTimeConfiguration)

Check Condition based on Device Features: Profile A OR Profile C OR Profile G OR Profile S


OR Profile T OR Profile D

Required Number of Devices: 1

Profile A Requirement: Conditional

Profile C Requirement: Optional

Profile G Requirement: Optional

Profile S Requirement: Optional

7.3.2 Expected Scenarios Under Test:


1. Client connects to Device to configure system date and time.

188 [Link]
ONVIF Profile S Client Test Specification Version 22.06

2. Client is considered as supporting System Date and Time Configuration if the following
conditions are met:

• Client is able to retrieve a system date and time using GetSystemDateAndTime


operation AND

• Client is able to configure a system date and time using EITHER


SetSystemDateAndTime operation OR SetNTP operation.

3. Client is considered as NOT supporting System Date and Time Configuration if ANY of the
following is TRUE:

• No valid responses for GetSystemDateAndTime request OR

• No valid responses for SetSystemDateAndTime request if detected AND

• Client does not support NTP feature.

7.3.3 GET SYSTEM DATE AND TIME


Test Label: System Date and Time Configuration - Get System Date And Time

Test Case ID: SYSTEMDATEANDTIMECONFIGURATION-1

Feature Under Test: Get System Date And Time


(SystemDateAndTimeConfiguration_GetSystemDateAndTime)

Test Purpose: To verify that Device system date and time is received by Client using the
GetSystemDateAndTime operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetSystemDateAndTime operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetSystemDateAndTime request message to retrieve system date and time
from the Device.

2. Device responds with code HTTP 200 OK and GetSystemDateAndTimeResponse


message.

Test Result:

PASS -

[Link] 189
ONVIF Profile S Client Test Specification Version 22.06

• Client GetSystemDateAndTime request messages are valid according to XML Schemas


listed in Namespaces AND

• Client GetSystemDateAndTime request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tds:GetSystemDateAndTime AND

• Device response on the GetSystemDateAndTime request fulfills the following requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element tds:GetSystemDateAndTimeResponse.

FAIL -

• The Client failed PASS criteria.

7.3.4 SET SYSTEM DATE AND TIME


Test Label: System Date and Time Configuration - Set System Date And Time

Test Case ID: SYSTEMDATEANDTIMECONFIGURATION-2

Feature Under Test: Set System Date And Time


(SystemDateAndTimeConfiguration_SetSystemDateAndTime)

Test Purpose: To verify that Client is able to configure system date and time on Device using the
SetSystemDateAndTime operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetSystemDateAndTime operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetSystemDateAndTime request message to set Device system date and
time.

2. Device responds with code HTTP 200 OK and SetSystemDateAndTimeResponse


message.

Test Result:

PASS -

• Client SetSystemDateAndTime request messages are valid according to XML Schemas


listed in Namespaces AND

190 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• Client SetSystemDateAndTime request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tds:SetSystemDateAndTime AND

• [S2] If tds:DateTimeType element value is equal to "Manual" THEN


tds:SetSystemDateAndTime contains tds:UTCDateTime element AND

• Device response on the SetSystemDateAndTime request fulfills the following requirements:

• [S3] It has HTTP 200 response code AND

• [S4] soapenv:Body element has child element tds:SetSystemDateAndTimeResponse.

FAIL -

• The Client failed PASS criteria.

7.4 Hostname Configuration Test Cases

7.4.1 Feature Level Requirement:


Validated Feature: Hostname Configuration (HostnameConfiguration)

Check Condition based on Device Features: None

Required Number of Devices: 1

Profile A Requirement: Optional

Profile C Requirement: Optional

Profile G Requirement: Optional

Profile S Requirement: Optional

7.4.2 Expected Scenarios Under Test:


1. Client connects to Device to configure hostname.

2. Client is considered as supporting Hostname Configuration if the following conditions are


met:

• Client is able to retrieve a hostname information from the Device using GetHostname
operation AND

[Link] 191
ONVIF Profile S Client Test Specification Version 22.06

• Client is able set a network hostname on the Device using SetHostname operation.

3. Client is considered as NOT supporting Hostname Configuration if ANY of the following is


TRUE:

• No valid responses for GetHostname request OR

• No valid responses for SetHostname request.

7.4.3 GET HOSTNAME


Test Label: Hostname Configuration - Get Hostname

Test Case ID: HOSTNAMECONFIGURATION-1

Feature Under Test: Get Hostname (HostnameConfiguration_GetHostname)

Test Purpose: To verify that hostname settings of the Device are received by Client using the
GetHostname operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetHostname operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetHostname request message to retrieve hostname from the Device.

2. Device responds with code HTTP 200 OK and GetHostnameResponse message.

Test Result:

PASS -

• Client GetHostname request messages are valid according to XML Schemas listed in
Namespaces AND

• Client GetHostname request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tds:GetHostname AND

• Device response on the GetHostname request fulfills the following requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element tds:GetHostnameResponse.

192 [Link]
ONVIF Profile S Client Test Specification Version 22.06

FAIL -

• The Client failed PASS criteria.

7.4.4 SET HOSTNAME


Test Label: Hostname Configuration - Set Hostname

Test Case ID: HOSTNAMECONFIGURATION-2

Feature Under Test: Set Hostname (HostnameConfiguration_SetHostname)

Test Purpose: To verify that Client is able to set the Hostname settings on Device using the
SetHostname operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetHostname operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetHostname request message to set hostname on the Device.

2. Device responds with code HTTP 200 OK and SetHostnameResponse message.

Test Result:

PASS -

• Client SetHostname request messages are valid according to XML Schemas listed in
Namespaces AND

• Client SetHostname request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tds:SetHostname AND

• Device response on the SetHostname request fulfills the following requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element tds:SetHostnameResponse.

FAIL -

• The Client failed PASS criteria.

[Link] 193
ONVIF Profile S Client Test Specification Version 22.06

7.5 DNS Configuration Test Cases

7.5.1 Feature Level Requirement:


Validated Feature: DNS Configuration (DNSConfiguration)

Check Condition based on Device Features: None

Required Number of Devices: 1

Profile A Requirement: Optional

Profile C Requirement: Optional

Profile G Requirement: Optional

Profile S Requirement: Optional

7.5.2 Expected Scenarios Under Test:


1. Client connects to Device to configure a domain name server.

2. Client is considered as supporting DNS Configuration if the following conditions are met:

• Client is able to get DNS settings from the Device using GetDNS operation AND

• Client is able set DNS settings on the Device using SetDNS operation.

3. Client is considered as NOT supporting DNS Configuration if ANY of the following is TRUE:

• No valid responses for GetDNS request OR

• No valid responses for SetDNS request.

7.5.3 GET DNS


Test Label: DNS Configuration - Get DNS

Test Case ID: DNSCONFIGURATION-1

Feature Under Test: Get DNS (DNSConfiguration_GetDNS)

Test Purpose: To verify that DNS settings of Device are received by Client using the GetDNS
operation.

Pre-Requisite:

194 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetDNS operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetDNS request message to retrieve DNS settings from the Device.

2. Device responds with code HTTP 200 OK and GetDNSResponse message.

Test Result:

PASS -

• Client GetDNS request messages are valid according to XML Schemas listed in Namespaces
AND

• Client GetDNS request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tds:GetDNS AND

• Device response on the GetDNS request fulfills the following requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element tds:GetDNSResponse.

FAIL -

• The Client failed PASS criteria.

7.5.4 SET DNS


Test Label: DNS Configuration - Set DNS

Test Case ID: DNSCONFIGURATION-2

Feature Under Test: Set DNS (DNSConfiguration_SetDNS)

Test Purpose: To verify that Client is able to set the DNS settings on Device using the SetDNS
operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetDNS operation present.

Test Procedure (expected to be reflected in network trace file):

[Link] 195
ONVIF Profile S Client Test Specification Version 22.06

1. Client invokes SetDNS request message to set hostname on the Device.

2. Device responds with code HTTP 200 OK and SetDNSResponse message.

Test Result:

PASS -

• Client SetDNS request messages are valid according to XML Schemas listed in Namespaces
AND

• Client SetDNS request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tds:SetDNS AND

• Device response on the SetDNS request fulfills the following requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element tds:SetDNSResponse.

FAIL -

• The Client failed PASS criteria.

7.6 Network Protocols Configuration Test Cases

7.6.1 Feature Level Requirement:


Validated Feature: Network Protocols Configuration (NetworkProtocolsConfiguration)

Check Condition based on Device Features: None

Required Number of Devices: 1

Profile A Requirement: Optional

Profile C Requirement: Optional

Profile G Requirement: Optional

Profile S Requirement: Optional

7.6.2 Expected Scenarios Under Test:


1. Client connects to Device to configure a network protocols.

196 [Link]
ONVIF Profile S Client Test Specification Version 22.06

2. Client is considered as supporting Network Protocols Configuration if the following


conditions are met:

• Client is able to get defined network protocols from the Device using
GetNetworkProtocols operation AND

• Client is able configures defined network protocols on the Device using


SetNetworkProtocols operation.

3. Client is considered as NOT supporting Network Protocols Configuration if ANY of the


following is TRUE:

• No valid responses for GetNetworkProtocols request OR

• No valid responses for SetNetworkProtocols request.

7.6.3 GET NETWORK PROTOCOLS


Test Label: Network Protocols Configuration - Get Network Protocols

Test Case ID: NETWORKPROTOCOLSCONFIGURATION-1

Feature Under Test: Get Network Protocols


(NetworkProtocolsConfiguration_GetNetworkProtocols)

Test Purpose: To verify that network protocols of Device are received by Client using the
GetNetworkProtocols operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetNetworkProtocols operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetNetworkProtocols request message to retrieve network protocols from


the Device.

2. Device responds with code HTTP 200 OK and GetNetworkProtocolsResponse message.

Test Result:

PASS -

• Client GetNetworkProtocols request messages are valid according to XML Schemas listed
in Namespaces AND

[Link] 197
ONVIF Profile S Client Test Specification Version 22.06

• Client GetNetworkProtocols request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tds:GetNetworkProtocols AND

• Device response on the GetNetworkProtocols request fulfills the following requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element tds:GetNetworkProtocolsResponse.

FAIL -

• The Client failed PASS criteria.

7.6.4 SET NETWORK PROTOCOLS


Test Label: Network Protocols Configuration - Set Network Protocols

Test Case ID: NETWORKPROTOCOLSCONFIGURATION-2

Feature Under Test: Set Network Protocols


(NetworkProtocolsConfiguration_SetNetworkProtocols)

Test Purpose: To verify that Client is able to configure defined network protocols on Device using
the SetNetworkProtocols operation.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with SetNetworkProtocols operation present.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes SetNetworkProtocols request message to set hostname on the Device.

2. Device responds with code HTTP 200 OK and SetNetworkProtocolsResponse message.

Test Result:

PASS -

• Client SetNetworkProtocols request messages are valid according to XML Schemas listed
in Namespaces AND

• Client SetNetworkProtocols request in Test Procedure fulfills the following requirements:

• [S1] soapenv:Body element has child element tds:SetNetworkProtocols AND

198 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• Device response on the SetNetworkProtocols request fulfills the following requirements:

• [S2] It has HTTP 200 response code AND

• [S3] soapenv:Body element has child element tds:SetNetworkProtocolsResponse.

FAIL -

• The Client failed PASS criteria.

[Link] 199
ONVIF Profile S Client Test Specification Version 22.06

8 Supplementary Features and Test Cases

8.1 METADATA STREAMING USING MEDIA2


Test Label: Metadata Streaming Using Media2

Test Case ID: MEDIA2_METADATASTREAMING-1

Feature Under Test: Metadata Streaming


(Media2_MetadataStreaming_MetadataStreamingUsingMedia2)

Test Purpose: To verify that the Client is able to retrieve the Metadata Streaming.

Pre-Requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with Metadata Streaming using Media2 Service.

Test Procedure (expected to be reflected in network trace file):

1. Client invokes GetStreamUri request message for Media2 service for media profile
that contains Metadata Configuration. GetStreamUri request is set for RtspUnicast OR
RtspMulticast OR RTSP OR RtspOverHttp transport.

2. Device responds with code HTTP 200 OK and GetStreamUriResponse message.

3. Client invokes RTSP DESCRIBE request to retrieve media stream description.

4. Device responds with code RTSP 200 OK and SDP information with Media Type:
"application" and with encoding name "[Link]" or "[Link]" or
"[Link]" or "[Link]".

5. Client invokes RTSP SETUP request without "onvif-replay" Require header and with
transport parameter element to to set media session parameters for metadata streaming.

6. Device responds with code RTSP 200 OK.

7. Client invokes RTSP PLAY request without "onvif-replay" Require header to start media
stream.

8. Device responds with code RTSP 200 OK.

9. Client invokes RTSP TEARDOWN request to terminate the RTSP session.

10. If Device sends response to RTSP TEARDOWN, it has code RTSP 200 OK or RTSP 454.

200 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Test Result:

Note: RTSP requests and RTSP response could be tunneled in HTTP if RtspOverHttp transport
is used.

PASS -

• There is Client RTSP DESCRIBE request in Test Procedure

• Device response on the RTSP DESCRIBE request fulfills the following requirements:

• [S1] It has RTSP 200 response code AND

• [S2] SDP packet contains media type "application" (m=application) with sessions attribute
"rtpmap" with encoding name "[Link]" OR "[Link]" OR
"[Link]" OR "[Link]" (see ONVIF Streaming
Spec) AND

• There is Client RTSP SETUP request in Test Procedure fulfills the following requirements:

• [S3] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S4] It invoked after the Client RTSP DESCRIBE request AND

• [S5] RTSP address that was used to send RTSP SETUP is correspond to corresponding
media Control URL from SDP packet (see [RFC 2326, C.1.1 Control URL]) AND

• [S6] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S7] It has RTSP 200 response code AND

• There is a Device response on the GetStreamUri request invoked for Media2 Service in Test
Procedure fulfills the following requirements:

• [S8] It has HTTP 200 response code AND

• [S9] It received for the same Device as for the Client RTSP DESCRIBE request AND

• [S10] It received before the Client RTSP DESCRIBE request AND

• [S11] It contains tr2:GetStreamUriResponse\tr2:Uri element which value is equal to


RTSP address that was used to send the RTSP DESCRIBE request AND

• There is Client RTSP PLAY request in Test Procedure fulfills the following requirements:

[Link] 201
ONVIF Profile S Client Test Specification Version 22.06

• [S12] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S13] It invoked after the Client RTSP SETUP request AND

• [S14] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• [S15] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP PLAY request fulfills the following requirements:

• [S16] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure fulfills the following
requirements:

• [S17] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S18] It invoked after the Client RTSP PLAY request AND

• [S19] RTSP address that was used to send it is correspond to corresponding media Control
URL or session Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1
Control URL]) AND

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

• [S20] It has RTSP 200 response code.

FAIL -

• The Client failed PASS criteria.

202 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Annex A Test for Appendix A

A.1 Get Video Sources List from GetProfiles responses


Name: HelperGetVideoSourcesListFromGetProfiles

Procedure Purpose: Collect list of video source tokens provided by the device in GetProfiles
responses.

Pre-requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetProfiles operation present.

Input: None

Returns: The complete list of video source tokens detected in all GetProfiles responses
(videoSourcesList).

Annex Procedure:

• For each GetProfiles response detected in the Conversations the Client Test Tool does the
following:

• For each trt:GetProfilesResponse/trt:Profiles detected in the Conversations the Client


Test Tool does the following:

• If it contains VideoSourceConfiguration element THEN the Client Test Tool adds


tt:VideoSourceConfiguration/tt:SourceToken value to the videoSourcesList if this
value does not exists in it.

A.2 Get Video Source Token That was Used for Streaming
Name: HelperGetVideoSourceTokenUsedForStreaming

Procedure Purpose: Get video source token that was used in the media profile requested by the
Client in GetStreamUri request.

Pre-requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetProfiles operation or AddVideoSourceConfiguration present.

Input: GetStreamUri request

[Link] 203
ONVIF Profile S Client Test Specification Version 22.06

Returns: Video Source token (videoSourceToken).

Annex Procedure:

• The Client Test Tool checks that there is Client AddVideoSourceConfiguration request or
GetProfiles response in Test Procedure that fulfills the following requirements:

• [S1] It is invoked for the same Device as GetStreamUri request AND

• If it is AddVideoSourceConfiguration request:

• [S2] trt:AddVideoSourceConfiguration/trt:ProfileToken value is equal to


trt:GetStreamUri/trt:ProfileToken value AND

If it is GetProfiles response:

• [S3] It contains trt:Profiles element with trt:Profiles/@token value is equal to


trt:GetStreamUri/trt:ProfileToken value AND

• [S4] It is the closest one preceding GetStreamUri request and it fullfils [S2] or [S3]
requirement AND

• The Client Test Tool checks if there is SetVideoSourceConfiguration command that fulfills
the following requirements:

• [S5] It invoked for the same Device as GetStreamUri request AND

• If AddVideoSourceConfiguration request was found during previous steps:

• [S6] It invoked after AddVideoSourceConfiguration request AND

• [S7] It is the closest one preceding the GetStreamUri request AND

• [S8] trt:SetVideoSourceConfiguration/trt:Configuration/@token value is equal to


trt:AddVideoSourceConfiguration/trt:ConfigurationToken value AND

• If GetProfiles request was found during previous steps:

• [S9] It invoked after GetProfiles request AND

• [S10] It is the closest one preceding the GetStreamUri request AND

• [S11] trt:SetVideoSourceConfiguration/trt:Configuration/@token value is equal


to tt:VideoSourceConfiguration/@token value from trt:GetProfilesResponse/
trt:Profiles with trt:Profiles/@token attribute value is equal to trt:GetStreamUri/
trt:ProfileToken value AND

204 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• IF SetVideoSourceConfiguration command was detected during previous steps


than trt:SetVideoSourceConfiguration/trt:Configuration/tt:SourceToken value will be
returened as result of current procedure

• [S12] ELSE IF GetProfiles request was found during previous steps then
tt:VideoSourceConfiguration/tt:SourceToken value from trt:GetProfilesResponse/
trt:Profiles element with trt:Profiles/@token is equal to trt:GetStreamUri/trt:ProfileToken
value will be returened as result of current procedure

• ELSE IF AddVideoSourceConfiguration request was found during previous steps and no


SetVideoSourceConfiguration was found during previous steps, the Client Test Tool checks
the following:

• There is GetCompatibleVideoSourceConfigurations request in Test Procedure that


fulfills the following requirements:

• [S13] It is invoked for the same Device as the AddVideoSourceConfiguration request


AND

• [S14] It is the closest one preceding the AddVideoSourceConfiguration request AND

• [S15] trt:GetCompatibleVideoSourceConfigurations/trt:ProfileToken value is equal


to trt:GetStreamUri/trt:ProfileToken value AND

• Device response on the GetCompatibleVideoSourceConfigurations request fulfills the


following requirements:

• [S16] It has HTTP 200 response code AND

• [S17] soapenv:Body element has child element


trt:GetCompatibleVideoSourceConfigurationsResponse AND

• [S18] It contains trt:Configurations/@token value is equal to


trt:AddVideoSourceConfiguration/trt:ConfigurationToken value AND

• [S19] trt:Configurations/tt:SourceToken value from


trt:GetCompatibleVideoSourceConfigurationsResponse/trt:Configurations element
with @token is equal to trt:AddVideoSourceConfiguration/trt:ConfigurationToken
value will be returened as result of current procedure

A.3 Find Video Streaming corresponding to GetStreamUri


Name: HelperFindVideoStreamingForGetStreamUri

Procedure Purpose: Find video streaming whcih corresponding to GetStreamUri pair.

[Link] 205
ONVIF Profile S Client Test Specification Version 22.06

Pre-requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with video streaming present.

Input: GetStreamUri

Returns: None.

Annex Procedure:

• There is Client RTSP DESCRIBE request in Test Procedure that fulfills the following
requirements:

• [S1] It invoked for the same Device as GetStreamUri request AND

• [S2] It invoked after the Client GetStreamUri request AND

• [S3] RTSP address that was used to send it is equal to


trt:GetStreamUriResponse:trt:MediaUri\tt:Uri AND

• Device response on the RTSP DESCRIBE request that fulfills the following requirements:

• [S4] It has RTSP 200 response code AND

• [S5] SDP packet contains media type "video" (m=video)

• There is Client RTSP SETUP request in Test Procedure fulfills the following requirements:

• [S6] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S7] It invoked after the Client RTSP DESCRIBE request AND

• [S8] RTSP address that was used to send RTSP SETUP is correspond to corresponding
media Control URL from SDP packet (see [RFC 2326, C.1.1 Control URL]) AND

• [S9] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S10] It has RTSP 200 response code AND

• There is Client RTSP PLAY request in Test Procedure fulfills the following requirements:

• [S11] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S13] It invoked after the Client RTSP SETUP request AND

206 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S14] RTSP address that was used to send it is correspond to video Control URL or session
Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1 Control URL])
AND

• [S15] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP PLAY request fulfills the following requirements:

• [S16] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure fulfills the following
requirements:

• [S17] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S18] It invoked after the Client RTSP PLAY request AND

• [S19] RTSP address that was used to send it is correspond to video Control URL or session
Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1 Control URL])
AND

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

• [S20] It has RTSP 200 response code.

A.4 Get Audio Sources List from GetProfiles responses


Name: HelperGetAudioSourcesListFromGetProfiles

Procedure Purpose: Collect list of audio source tokens provided by the device in GetProfiles
responses.

Pre-requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetProfiles operation present.

Input: None

Returns: The complete list of audio source tokens detected in all GetProfiles responses
(audioSourcesList).

Annex Procedure:

[Link] 207
ONVIF Profile S Client Test Specification Version 22.06

• For each GetProfiles response detected in the Conversations the Client Test Tool does the
following:

• For each trt:GetProfilesResponse/trt:Profiles detected in the Conversations the Client


Test Tool does the following:

• If it contains AudioSourceConfiguration element THEN the Client Test Tool adds


tt:AudioSourceConfiguration/tt:SourceToken value to the audioSourcesList if this
value does not exists in it.

A.5 Get Audio Source Token That was Used for Streaming
Name: HelperGetAudioSourceTokenUsedForStreaming2

Procedure Purpose: Get audio source token that was used in the media profile requested by the
Client in GetStreamUri request.

Pre-requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with GetProfiles operation or AddAudioSourceConfiguration present.

Input: GetStreamUri request

Returns: Audio Source token (audioSourceToken).

Annex Procedure:

• The Client Test Tool checks that there is Client AddAudioSourceConfiguration request or
GetProfiles response in Test Procedure that fulfills the following requirements:

• [S1] It is invoked for the same Device as GetStreamUri request AND

• If it is AddAudioSourceConfiguration request:

• [S2] trt:AddAudioSourceConfiguration/trt:ProfileToken value is equal to


trt:GetStreamUri/trt:ProfileToken value AND

If it is GetProfiles response:

• [S3] It contains trt:Profiles element with trt:Profiles/@token value is equal to


trt:GetStreamUri/trt:ProfileToken value AND

• [S4] It is the closest one preceding GetStreamUri request and it fullfils [S2] or [S3]
requirement AND

208 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• The Client Test Tool checks if there is SetAudioSourceConfiguration command that fulfills
the following requirements:

• [S5] It invoked for the same Device as GetStreamUri request AND

• If AddAudioSourceConfiguration request was found during previous steps:

• [S6] It invoked after AddAudioSourceConfiguration request AND

• [S7] It is the closest one preceding the GetStreamUri request AND

• [S8] trt:SetAudioSourceConfiguration/trt:ConfigurationToken value is equal to


trt:AddAudioSourceConfiguration/trt:ConfigurationToken value AND

• If GetProfiles request was found during previous steps:

• [S9] It invoked after GetProfiles request AND

• [S10] It is the closest one preceding the GetStreamUri request AND

• [S11] trt:SetAudioSourceConfiguration/trt:ConfigurationToken value is equal to


tt:AudioSourceConfiguration value from trt:GetProfilesResponse/trt:Profiles with
@token attribute value is equal to trt:GetStreamUri/trt:ProfileToken value AND

• IF SetAudioSourceConfiguration command was detected during previous steps


than trt:SetAudioSourceConfiguration/trt:Configuration/tt:SourceToken value will be
returened as result of current procedure

• [S12] ELSE IF GetProfiles request was found during previous steps than
tt:AudioSourceConfiguration/tt:SourceToken value from trt:GetProfilesResponse/
trt:Profiles element with @token is equal to trt:GetStreamUri/trt:ProfileToken value will be
returened as result of current procedure

• ELSE IF AddAudioSourceConfiguration request was found during previous steps and no


SetAudioSourceConfiguration was found during previous steps, the Client Test Tool checks
the following:

• There is GetCompatibleAudioSourceConfigurations request in Test Procedure that


fulfills the following requirements:

• [S13] It is invoked for the same Device as the AddAudioSourceConfiguration request


AND

• [S14] It is the closest one preceding the AddAudioSourceConfiguration request AND

[Link] 209
ONVIF Profile S Client Test Specification Version 22.06

• [S15] trt:GetCompatibleAudioSourceConfigurations/trt:ProfileToken value is equal


to trt:GetStreamUri/trt:ProfileToken value AND

• Device response on the GetCompatibleAudioSourceConfigurations request fulfills the


following requirements:

• [S16] It has HTTP 200 response code AND

• [S17] soapenv:Body element has child element


trt:GetCompatibleAudioSourceConfigurationsResponse AND

• [S18] It contains trt:Configurations/@token value is equal to


trt:AddAudioSourceConfiguration/trt:ConfigurationToken value AND

• [S19] trt:Configurations/tt:SourceToken value from


trt:GetCompatibleAudioSourceConfigurationsResponse/trt:Configurations element
with @token is equal to trt:AddAudioSourceConfiguration/trt:ConfigurationToken
value will be returened as result of current procedure

A.6 Find Audio Streaming corresponding to GetStreamUri


Name: HelperFindAudioStreamingForGetStreamUri

Procedure Purpose: Find audio streaming whcih corresponding to GetStreamUri pair.

Pre-requisite:

• The Network Trace Capture files contains at least one Conversation between Client and
Device with audio streaming present.

Input: GetStreamUri

Returns: None.

Annex Procedure:

• There is Client RTSP DESCRIBE request in Test Procedure that fulfills the following
requirements:

• [S1] It invoked for the same Device as GetStreamUri request AND

• [S2] It invoked after the Client GetStreamUri request AND

• [S3] RTSP address that was used to send it is equal to


trt:GetStreamUriResponse:trt:MediaUri\tt:Uri AND

• Device response on the RTSP DESCRIBE request that fulfills the following requirements:

210 [Link]
ONVIF Profile S Client Test Specification Version 22.06

• [S4] It has RTSP 200 response code AND

• [S5] SDP packet contains media type "audio" (m=audio)

• There is Client RTSP SETUP request in Test Procedure fulfills the following requirements:

• [S6] It invoked for the same Device as for the Client RTSP DESCRIBE request AND

• [S7] It invoked after the Client RTSP DESCRIBE request AND

• [S8] RTSP address that was used to send RTSP SETUP is correspond to corresponding
media Control URL from SDP packet (see [RFC 2326, C.1.1 Control URL]) AND

• [S9] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP SETUP request fulfills the following requirements:

• [S10] It has RTSP 200 response code AND

• There is Client RTSP PLAY request in Test Procedure fulfills the following requirements:

• [S11] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S13] It invoked after the Client RTSP SETUP request AND

• [S14] RTSP address that was used to send it is correspond to audio Control URL or session
Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1 Control URL])
AND

• [S15] It does not contain Require request header field with value is equal to "onvif-replay"
AND

• Device response on the RTSP PLAY request fulfills the following requirements:

• [S16] It has RTSP 200 response code AND

• There is Client RTSP TEARDOWN request in Test Procedure fulfills the following
requirements:

• [S17] It invoked for the same Device as for the Client RTSP SETUP request AND

• [S18] It invoked after the Client RTSP PLAY request AND

• [S19] RTSP address that was used to send it is correspond to audio Control URL or session
Control URL or Content-Base URL from SDP packet (see [RFC 2326, C.1.1 Control URL])
AND

[Link] 211
ONVIF Profile S Client Test Specification Version 22.06

• If there is Device response on the RTSP TEARDOWN request then it fulfills the following
requirements:

• [S20] It has RTSP 200 response code.

A.7 Required Number of Devices Summary


Required number of devices and Device feature dependency used in this test specification are listed
in the Table.

Table A.1. Required Number of Devices Summary

Feature ID Feature Name Required Check Condition Check Condition


Number of based on based on Device
Devices Device Features Features ID
[Link] Username Token 1 (Note: WS-Username WSU
Profile Username Token Token
feature shall be
passed with at
least one Device
and can by not
detected with
other devices with
supporting of WS-
Username Token)
[Link] HTTP Digest 3 Digest Digest
[Link] Capabilities 3 None All
[Link] Media Streaming 3 Real Time RTSS
aming Streaming (Media
Service) is
supported by
Device.
[Link] Video Streaming 3 Real Time RTSS
Streaming (Media
Service) is
supported by
Device.
[Link] Video Encoder 3 Media Service MediaService
derConfigurations Configurations is supported by
Device.

212 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Feature ID Feature Name Required Check Condition Check Condition


Number of based on based on Device
Devices Device Features Features ID
[Link] Multiple Video 3 Real Time RTSS
ideoSources Sources Streaming (Media
Service) is
supported by
Device.
[Link] Event Handling 3 Pull Point no UnsupportedP
Notification ullPointNotification
OR WS Basic OR WSBasicNotif
Notification OR ication OR
Profile S OR Profile S OR
Metadata under Media2_Metadata
Media2 service
is supported by
Device.
[Link] Keep Alive for 3 Pull Point no UnsupportedP
ForPullPointE Pull Point Event Notification is ullPointNotificatio
ventHandling Handling supported by
Device.
[Link] Discovery 3 Discovery All
[Link] Network Video 3 Network Video DiscoveryTyp
eryTypeFilter Transmitter Transmitter esDnNetworkVi
Discovery Type Discovery Type deoTransmitter
Filter is supported by
Device.
[Link] Network 3 Network no NetworkConfi
nfiguration Configuration Configuration gNotSupported
[Link] System 3 None All
[Link] User Handling 3 User Configuratio no UserConfigNo
n tSupported
[Link] Relay Outputs 1 Relay Outputs DeviceIORela
(Device yOutputs
Management
Service) is
supported by
Device.

[Link] 213
ONVIF Profile S Client Test Specification Version 22.06

Feature ID Feature Name Required Check Condition Check Condition


Number of based on based on Device
Devices Device Features Features ID
[Link] NTP 1 NTP is supported NTP
by Device.
[Link] Dynamic DNS 1 Dynamic DNS DynamicDNS
is supported by
Device.
[Link] Zero Configuratio 1 Zero Configuratio ZeroConfiguration
guration n n is supported by
Device.
[Link] IP Address 1 IP Filter is IPFilter
Filtering Filtering supported by
Device.
[Link] Multicast 1 RTP-Multicas RTPMulticastUDP
Streaming Streaming t/UDP (Media
Service) is
supported by
Device.
[Link] Media Profile 1 Media Service MediaService
ileConfigurations Configurations is supported by
Device.
[Link] Video Source 1 Media Service MediaService
ceConfigurations Configurations is supported by
Device.
[Link] Audio Streaming 1 Real Time RTSS AND Audio
Streaming (Media
Service) and
Audio (Media
Service) are
supported by
Device.
[Link] Metadata 1 Media Service MediaService
onfigurations Configurations is supported by
Device.
[Link] Multiple Audio 1 Real Time RTSS AND Audio
udioSources Sources Streaming (Media
Service) and
Audio (Media

214 [Link]
ONVIF Profile S Client Test Specification Version 22.06

Feature ID Feature Name Required Check Condition Check Condition


Number of based on based on Device
Devices Device Features Features ID
Service) are
supported by
Device.
[Link] PTZ - Listing 1 PTZ Service is PTZService
supported by
Device.
[Link] PTZ - Configuratio 1 PTZ Service and PTZService AND
uration n Media Service MediaService
are supported by
Device.
[Link] PTZ Pan Tilt 1 PTZ Continuous PTZContinuou
tContinuousPo Continuous Pan Tilt sPanTilt
sitioning Positioning movement is
supported by
Device.
[Link] PTZ Zoom 1 PTZ Continuous PTZContinuou
ntinuousPosit Continuous Zoom movement sZoom
ioning Positioning is supported by
Device.
[Link] PTZ Pan 1 Pan Tilt Absolute PTZAbsoluteP
tAbsolutePosi Tilt Absolute Movement and anTilt AND S
tioning Positioning Profile S are
supported by
Device.
[Link] PTZ Zoom 1 Zoom Absolute PTZAbsoluteZ
solutePositioning Absolute Movement and oom AND S
Positioning Profile S are
supported by
Device.
[Link] PTZ Pan 1 Relative Tan Tilt PTZRelativeP
tRelativePosi Tilt Relative move and Profile anTilt AND S
tioning Positioning S are supported
by Device.
[Link] PTZ Zoom 1 Relative Zoom PTZRelativeZoom
lativePositioning Relative move and Profile AND S
Positioning S are supported
by Device.

[Link] 215
ONVIF Profile S Client Test Specification Version 22.06

Feature ID Feature Name Required Check Condition Check Condition


Number of based on based on Device
Devices Device Features Features ID
[Link] PTZ Presets 1 PTZ Presets is PTZPresets
supported by
Device.
[Link] PTZ Home 1 PTZ Home PTZHome
sition Position Position is
supported by
Device.
[Link] PTZ - Auxiliary 1 Auxiliary PTZAuxiliary AND
aryCommand Command Operations (PTZ S
Service) and
Profile S are
supported by
Device.
[Link] Set Synchronizat 1 Pull Point no UnsupportedP
onizationPoint ion Point (Event Notification ullPointNotification
Service) OR WS-Basic OR WSBasicNotif
Notification is ication
supported by
Device.
[Link] System Date and 1 Profile A OR Profile A OR
eAndTimeConfi Time Configuratio Profile C OR Profile C OR
guration n Profile G OR Profile G OR
Profile S OR Profile S OR
Profile T OR Profile T OR
Profile D Profile D
[Link] Hostname 1 None All
onfiguration Configuration
[Link] DNS Configuratio 1 None All
uration n
[Link] Network Protocols 1 None All
otocolsConfig Configuration
uration

216 [Link]

You might also like