ISO/IEC 29341-20-12:2017
(Main)Information technology — UPnP Device Architecture — Part 20-12: Audio video device control protocol — Level 4 — Content directory service
Information technology — UPnP Device Architecture — Part 20-12: Audio video device control protocol — Level 4 — Content directory service
ISO/IEC 29341-20-12:2017 specifies the characteristics of the UPnP networked service named ContentDirectory, version 4. This service definition is compliant with UPnP Device Architecture 1.0 [14]. Many devices within the home network contain various types of content that other devices would like to access (for example, music, videos, still images, etc). As an example, a MediaServer device might contain a significant portion of the homeowner's audio, video, and still-image library. In order for the homeowner to enjoy this content, the homeowner needs to be able to browse the objects stored on the MediaServer, select a specific one, and cause it to be played on an appropriate rendering device (for example, an audio player for music objects, a TV for video content, an Electronic Picture Frame for still-images, etc). For maximum convenience, it is highly desirable to let the homeowner to initiate these operations from a variety of UI devices. In most cases, these UI devices will either be a UI built into the rendering device, or it will be a stand-alone UI device such as a wireless PDA or tablet. In any case, it is unlikely that the homeowner will interact directly with the device containing the content (that is: the homeowner won't have to walk over to the server device). In order to enable this capability, the server device needs to provide a uniform mechanism for UI devices to browse the content on the server and to obtain detailed information about individual content objects. This is the purpose of the ContentDirectory service. The ContentDirectory service additionally provides a lookup/storage service that enables clients (for example, UI devices) to locate (and possibly store) individual objects (for example, songs, movies, pictures, etc) that the (server) device is capable of providing. For example, this service can be used to enumerate a list of songs stored on an MP3 player, a list of still-images comprising various slide-shows, a list of movies stored in a DVD-Jukebox, a list of TV shows currently being broadcast (a.k.a an EPG), a list of songs stored in a CD-Jukebox, a list of programs stored on a PVR (Personal Video Recorder) device, etc. Nearly any type of content can be enumerated via this ContentDirectory service. For devices that contain multiple types of content (for example, MP3, MPEG2, JPEG, etc.), a single instance of the ContentDirectory service can be used to enumerate all objects, regardless of their type.
Technologies de l'information — Architecture de dispositif UPnP — Partie 20-12: Protocole de contrôle de dispositif audio-vidéo — Niveau 4 — Service d'Annuaire de contenu
General Information
Standards Content (Sample)
ISO/IEC
INTERNATIONAL
29341-20-12
STANDARD
First edition
2017-09
Information technology — UPnP
Device Architecture —
Part 20-12:
Audio video device control protocol —
Level 4 — Content directory service
Technologies de l'information — Architecture de dispositif UPnP —
Partie 20-12: Protocole de contrôle de dispositif audio-vidéo —
Niveau 4 — Service d'Annuaire de contenu
Reference number
ISO/IEC 29341-20-12:2017(E)
©
ISO/IEC 2017
---------------------- Page: 1 ----------------------
ISO/IEC 29341-20-12:2017(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2017, Published in Switzerland
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form
or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior
written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of
the requester.
ISO copyright office
Ch. de Blandonnet 8 • CP 401
CH-1214 Vernier, Geneva, Switzerland
Tel. +41 22 749 01 11
Fax +41 22 749 09 47
copyright@iso.org
www.iso.org
ii © ISO/IEC 2017 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 29341-20-12:2017(E)
CONTENTS
1 Scope . 1
2 Normative references . 1
3 Terms, definitions, symbols and abbreviations . 5
3.1 Provisioning terms . 5
3.2 Symbols . 5
4 Notations and Conventions . 5
4.1 Notation . 5
4.1.1 Data Types . 6
4.1.2 Strings Embedded in Other Strings . 6
4.1.3 Extended Backus-Naur Form . 6
4.2 Derived Data Types . 7
4.2.1 Summary . 7
4.2.2 CSV Lists. 7
4.3 Management of XML Namespaces in Standardized DCPs . 8
4.3.1 Namespace Prefix Requirements . 12
4.3.2 Namespace Names, Namespace Versioning and Schema Versioning . 13
4.3.3 Namespace Usage Examples . 15
4.4 Vendor-defined Extensions . 15
4.4.1 Vendor-defined Action Names . 15
4.4.2 Vendor-defined State Variable Names . 15
4.4.3 Vendor-defined XML Elements and attributes . 16
4.4.4 Vendor-defined Property Names . 16
5 Service Modeling Definitions . 16
5.1 Service Type . 16
5.2 Key Concepts . 16
5.2.1 On-line and Off-line Network States . 16
5.2.2 object . 16
5.2.3 Object Identity . 17
5.2.4 Object Lifetime . 18
5.2.5 Object Modification . 18
5.2.6 c l ass . 19
5.2.7 item . 19
5.2.8 container . 19
5.2.9 Container Modification . 19
5.2.10 ContentDirectory Tracking Changes Option . 20
5.2.11 ContainerUpdateIDValue Indicator . 20
5.2.12 ContentDirectory Service Object Organization . 21
5.2.13 Hierarchical location . 21
5.2.14 Subtree . 22
5.2.15 Subtree Updates . 22
5.2.16 XML Document . 23
5.2.17 XML Fragment . 23
5.2.18 DIDL-Lite XML Document . 24
5.2.19 CDS View . 25
5.2.20 CDS Properties . 26
ISO/IEC 2017 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 29341-20-12:2017(E)
5.2.21 reference, reference item, referenced item . 27
5.2.22 CDS feature . 28
5.2.23 Metadata vs. Foreign Metadata . 28
5.2.24 Embedded XML Documents . 28
5.2.25 Device Protection Option . 28
5.2.26 Device Mode Option . 30
5.2.27 Shortc ut . 30
5.3 State Variables . 30
5.3.1 State Variable Overview . 31
5.3.2 SearchCapabilities . 32
5.3.3 SortCapabilities . 32
5.3.4 SortExtensionCapabilities . 33
5.3.5 SystemUpdateID . 33
5.3.6 ContainerUpdateIDs . 35
5.3.7 ServiceResetToken . 36
5.3.8 LastChange . 37
5.3.9 TransferIDs . 41
5.3.10 FeatureList . 41
5.3.11 DeviceMode . 41
5.3.12 DeviceModeStatus . 42
5.3.13 PermissionsInfo . 43
5.3.14 A_ARG_TYPE_ObjectID . 45
5.3.15 A_ARG_TYPE_Result . 45
5.3.16 A_ARG_TYPE_SearchCriteria . 45
5.3.17 A_ARG_TYPE_BrowseFlag . 47
5.3.18 A_ARG_TYPE_Filter . 47
5.3.19 A_ARG_TYPE_SortCriteria . 49
5.3.20 A_ARG_TYPE_Index . 50
5.3.21 A_ARG_TYPE_Count . 50
5.3.22 A_ARG_TYPE_UpdateID . 50
5.3.23 A_ARG_TYPE_TransferID . 50
5.3.24 A_ARG_TYPE_TransferStatus . 51
5.3.25 A_ARG_TYPE_TransferLength . 51
5.3.26 A_ARG_TYPE_TransferTotal . 51
5.3.27 A_ARG_TYPE_TagValueList . 51
5.3.28 A_ARG_TYPE_URI . 51
5.3.29 A_ARG_TYPE_CDSView . 51
5.3.30 A_ARG_TYPE_QueryRequest . 51
5.3.31 A_ARG_TYPE_QueryResult . 52
5.3.32 A_ARG_TYPE_FFQCapabilities . 53
5.3.33 A_ARG_TYPE_CPID . 54
5.3.34 A_ARG_TYPE_DeviceModeID . 55
5.3.35 A_ARG_TYPE_DeviceModeRequest . 55
5.4 Eventing and Moderation . 58
5.5 Actions . 59
5.5.1 Action Overview . 59
5.5.2 GetSearchCapabilities() . 61
5.5.3 GetSortCapabilities() . 61
iv ISO/IEC 2017 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 29341-20-12:2017(E)
5.5.4 GetSortExtensionCapabilities() . 61
5.5.5 GetFeatureList() . 62
5.5.6 GetSystemUpdateID() . 62
5.5.7 GetServiceResetToken() . 63
5.5.8 Browse() . 63
5.5.9 Search() . 65
5.5.10 CreateObject() . 66
5.5.11 DestroyObject() . 72
5.5.12 UpdateObject() . 73
5.5.13 MoveObject() . 79
5.5.14 ImportResource() . 80
5.5.15 ExportResource() . 81
5.5.16 DeleteResource() . 82
5.5.17 StopTransferResource() . 83
5.5.18 GetTransferProgress() . 84
5.5.19 CreateReference() . 84
5.5.20 FreeFormQuery() . 85
5.5.21 GetFreeFormQueryCapabilities() . 87
5.5.22 RequestDeviceMode() . 88
5.5.23 ExtendDeviceMode() . 89
5.5.24 CancelDeviceMode() . 90
5.5.25 GetDeviceMode() . 91
5.5.26 GetDeviceModeStatus() . 91
5.5.27 GetPermissionsInfo() . 92
5.5.28 Non-Standard Actions Implemented by a UPnP Vendor . 92
5.5.29 Common Error Codes . 92
6 XML Service Description . 94
7 Test . 106
Annex A (normative) Schemas . 107
A.1 DI DL-Lit e . 107
A.2 UPnP Elements . 107
A.3 Dublin Core Subset Elements . 107
A.4 Event Schema . 107
A.5 FeatureList State Variable Schema . 107
Annex B (normative) AV Working Committee Properties . 108
B.1 Base Properties . 117
B.1.1 @id . 117
B.1.2 @parentID . 118
B.1.3 @refID . 118
B.1.4 @restricted . 118
B.1.5 @searchable. 118
B.1.6 @childCount . 118
B.1.7 @childContainerCount . 118
B.1.8 dc:title . 119
B.1.9 dc:creator . 119
B.1.10 res . 119
B.1.11 res@id . 119
B.1.12 upnp:class . 119
ISO/IEC 2017 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC 29341-20-12:2017(E)
B.1.13 upnp:searchClass . 121
B.1.14 upnp:createClass . 121
B.1.15 upnp:writeStatus . 122
B.2 Resource Encoding Characteristics Properties . 123
B.2.1 res . 123
B.3 Resource Encoding Extension Properties . 128
B.3.1 upnp:resExt . 128
B.3.2 upnp:resExt::uniqueContentIdentification . 129
B.4 Contributor-related Properties . 130
B.4.1 upnp:artist . 130
B.4.2 upnp:actor . 130
B.4.3 upnp:author . 130
B.4.4 upnp:producer . 131
B.4.5 upnp:director . 131
B.4.6 dc:publisher . 131
B.4.7 dc:contributor . 131
B.5 Affiliation-related Properties . 131
B.5.1 upnp:genre . 131
B.5.2 upnp:album . 132
B.5.3 upnp:playlist . 132
B.6 Associated Resources Properties . 132
B.6.1 upnp:albumArtURI . 132
B.6.2 upnp:artistDiscographyURI . 133
B.6.3 upnp:lyricsURI . 133
B.6.4 dc:relation . 133
B.7 Storage-Related Properties . 133
B.7.1 upnp:storageTotal . 133
B.7.2 upnp:storageUsed . 133
B.7.3 upnp:storageFree . 133
B.7.4 upnp:storageMaxPartition . 134
B.7.5 upnp:storageMedium . 134
B.8 General Description (mainly for UI purposes) Properties . 135
B.8.1 dc:description . 135
B.8.2 upnp:longDescription . 135
B.8.3 upnp:icon . 135
B.8.4 upnp:region . 136
B.8.5 upnp:rights. 136
B.8.6 dc:date . 136
B.8.7 dc:language . 136
B.8.8 upnp:playbackCount . 136
B.8.9 upnp:lastPlaybackTime . 137
B.8.10 upnp:lastPlaybackPosition . 137
B.8.11 upnp:recordedStartDateTime . 137
B.8.12 upnp:recordedEndDateTime . 138
B.8.13 upnp:recordedDuration . 138
B.8.14 upnp:recordedDayOfWeek . 138
B.8.15 upnp:srsRecordScheduleID . 139
B.8.16 upnp:srsRecordTaskID . 139
vi ISO/IEC 2017 – All rights reserved
---------------------- Page: 6 ----------------------
ISO/IEC 29341-20-12:2017(E)
B.8.17 upnp:recordable . 139
B.9 Recorded Object-related Properties . 140
B.9.1 upnp:programTitle . 140
B.9.2 upnp:seriesTitle . 140
B.9.3 upnp:programID . 141
B.9.4 upnp:seriesID . 141
B.9.5 upnp:channelID . 141
B.9.6 upnp:episodeType . 143
B.9.7 upnp:episodeCount . 143
B.9.8 upnp:episodeNumber . 143
B.9.9 upnp:episodeSeason . 143
B.9.10 upnp:programCode . 143
B.9.11 upnp:rating . 144
B.9.12 upnp:recommendationID . 145
B.10 User Channel and EPG Related Properties . 145
B.10.1 upnp:channelGroupName . 145
B.10.2 upnp:callSign . 146
B.10.3 upnp:networkAffiliation . 146
B.10.4 upnp:serviceProvider . 146
B.10.5 upnp:price. 147
B.10.6 upnp:payPerView . 147
B.10.7 upnp:epgProviderName . 147
B.10.8 upnp:dateTimeRange . 147
B.11 Preserved Program Properties . 148
B.11.1 upnp:programPreserved . 148
B.11.2 upnp:preservedTimeRange . 149
B.11.3 upnp:programList . 151
B.12 Radio Broadcast Properties . 151
B.12.1 upnp:radioCallSign . 151
B.12.2 upnp:radioStationID . 151
B.12.3 upnp:radioBand . 152
B.13 Video Broadcast Properties. 152
B.13.1 upnp:channelNr . 152
B.13.2 upnp:channelName . 153
B.13.3 upnp:scheduledStartTime . 153
B.13.4 upnp:scheduledEndTime . 153
B.13.5 upnp:scheduledDuration . 154
B.14 Physical Tuner Status-related Properties . 154
B.14.1 upnp:signalStrength . 154
B.14.2 upnp:signalLocked . 154
B.14.3 upnp:tuned . 155
B.15 MultiStream-related Properties . 156
B.15.1 upnp:resExt::isSyncAnchor . 157
B.15.2 upnp:resExt::componentInfo . 157
B.16 Segmentation-related Properties . 163
B.16.1 upnp:segmentID . 164
B.16.2 upnp:resExt::segmentInfo . 164
B.17 Bookmark-related Properties . 166
ISO/IEC 2017 – All rights reserved vii
---------------------- Page: 7 ----------------------
ISO/IEC 29341-20-12:2017(E)
B.17.1 @neverPlayable . 166
B.17.2 upnp:bookmarkID . 167
B.17.3 upnp:bookmarkedObjectID . 167
B.17.4 upnp:deviceUDN . 167
B.17.5 upnp:stateVariableCollection . 167
B.18 Miscellaneous Properties . 168
B.18.1 upnp:DVDRegionCode . 169
B.18.2 upnp:originalTrackNumber . 169
B.18.3 upnp:toc . 169
B.18.4 upnp:userAnnotation . 169
B.18.5 desc .
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.