From f619ecb766f666596e57891ca797e5e3fa5c12b2 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 18 Jan 2023 20:55:32 +0100 Subject: [PATCH] YANG R18 Merge after SA5#146 SA#98e - after local manual rebase --- .../_3gpp-5gc-nrm-configurable5qiset.yang | 10 +- yang-models/_3gpp-common-filemanagement.yang | 4 + yang-models/_3gpp-common-files.yang | 311 ++++++++++++++++++ yang-models/_3gpp-common-fm.yang | 34 ++ yang-models/_3gpp-common-managed-element.yang | 3 + .../_3gpp-common-managed-function.yang | 15 + yang-models/_3gpp-common-measurements.yang | 23 +- yang-models/_3gpp-common-qmcjob.yang | 22 +- yang-models/_3gpp-common-subnetwork.yang | 4 + .../_3gpp-common-subscription-control.yang | 19 +- yang-models/_3gpp-common-trace.yang | 3 + yang-models/_3gpp-common-yang-extensions.yang | 33 +- yang-models/_3gpp-common-yang-types.yang | 5 +- yang-models/_3gpp-nr-nrm-gnbdufunction.yang | 12 + 14 files changed, 484 insertions(+), 14 deletions(-) create mode 100644 yang-models/_3gpp-common-files.yang diff --git a/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang b/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang index ebf227f80..fd5d1a32a 100755 --- a/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang +++ b/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang @@ -9,9 +9,17 @@ module _3gpp-5gc-nrm-configurable5qiset { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the configurable 5QIs, including their QoS characteristics, that need to be pre-configured - (and configurable) to the 5G NFs."; + (and configurable) to the 5G NFs. + + The 5QI set definition supports multiple deployment scenarios. The sets can + be name contained by SubNetwork ManagedElement, GNBDUFunction, + GNBCUUPFunction and GNBCUCPFunction. Sets are then referenced by attribute + (configurable5QISetRef) in applicable MOIs. For consistency it is + recommended that referenced 5QI sets be defined within the same subtree."; + reference "3GPP TS 28.541"; + revision 2022-11-02 { reference "CR-0753" ; } revision 2022-07-28 { reference "CR-0770"; } revision 2022-04-29 { reference "CR-0729"; } revision 2022-01-07 { reference CR-0643; } diff --git a/yang-models/_3gpp-common-filemanagement.yang b/yang-models/_3gpp-common-filemanagement.yang index b2c76e85e..a81af586c 100644 --- a/yang-models/_3gpp-common-filemanagement.yang +++ b/yang-models/_3gpp-common-filemanagement.yang @@ -6,6 +6,7 @@ module _3gpp-common-filemanagement { import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix yang3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } organization "3GPP SA5"; @@ -14,6 +15,7 @@ module _3gpp-common-filemanagement { Class (IOC) that is part of the Generic Network Resource Model (NRM)."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + revision 2022-10-24 { reference CR-0196; } revision 2022-02-10 { reference "Initial revision, S5-221757"; } grouping FileDownloadProcessMonitor { @@ -50,11 +52,13 @@ module _3gpp-common-filemanagement { allowedValues: File URI (See RFC 8089)"; mandatory true; type string; + yext3gpp:notNotifyable; } leaf notificationRecipientAddress { description "Address of the notification recipient."; type string; + yext3gpp:notNotifyable; } leaf cancelJob { diff --git a/yang-models/_3gpp-common-files.yang b/yang-models/_3gpp-common-files.yang new file mode 100644 index 000000000..313386e9d --- /dev/null +++ b/yang-models/_3gpp-common-files.yang @@ -0,0 +1,311 @@ +module _3gpp-common-files { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-files"; + prefix "files3gpp"; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } + import ietf-yang-types { prefix yang; } + import ietf-inet-types { prefix inet; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of File retrieval NRM fragment + including the IOCs File and Files."; + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + + 3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS)"; + + revision 2022-09-28 { reference CR-0191; } + + grouping FileGrp { + description "Represents the File IOC."; + + leaf fileLocation { + type inet:uri ; + mandatory true; + yext3gpp:notNotifyable ; + description "Location of the file incl. the file transfer protocol, + and the file name for the case the file content cannot be retrieved + by reading the 'fileContent' attribute. + + The allowed file transfer protocols are: + - sftp + - ftpes + - https + + Examples: + 'sftp://companyA.com/datastore/fileName.xml', + 'https://companyA.com/ManagedElement=1/Files=1/File=1' + "; + } + + leaf fileCompression { + type string ; + mandatory true; + yext3gpp:notNotifyable ; + description "Name of the algorithm used for compressing the file. + An empty or absent 'fileCompression' parameter indicates the file is + not compressed. The MnS producer selects the compression algorithm. + It is encouraged to use popular algorithms such as GZIP."; + } + + leaf fileSize { + type uint64 ; + mandatory true; + units bytes; + yext3gpp:notNotifyable ; + description "Size of the file"; + } + + leaf fileDataType { + type enumeration { + enum PERFORMANCE { + description "The value 'PERFORMANCE' refers to measurements and KPIs"; + } + enum TRACE; + enum ANALYTICS; + enum PROPRIETARY; + } + mandatory true; + yext3gpp:notNotifyable ; + description "Type of the management data stored in the file."; + } + + leaf fileFormat { + type string ; + mandatory true; + yext3gpp:notNotifyable ; + description "Identifier of the XML or ASN.1 schema (incl. its version) + used to produce the file content."; + } + + leaf fileReadyTime { + type yang:date-and-time ; + mandatory true; + yext3gpp:notNotifyable ; + description "Date and time, when the file was closed (the last time) + and made available on the MnS producer. + The file content will not be changed anymore."; + } + + leaf fileExpirationTime { + type yang:date-and-time ; + mandatory true; + yext3gpp:notNotifyable ; + description "Date and time after which the file may be deleted."; + } + + leaf fileContent { + type string ; // String is very restrictive + mandatory true; + yext3gpp:notNotifyable ; + description "File content"; + } + + leaf-list jobRef { + type types3gpp:DistinguishedName ; + yext3gpp:notNotifyable ; + description "Object instance of the 'PerfMetricJob' or 'TraceJob' + that produced the file."; + } + + leaf jobId { + type string ; + yext3gpp:notNotifyable ; + description "Identifier of a PerfMetricJob job or a TraceJob."; + } + } + + grouping FilesGrp { + description "Represents the Files IOC."; + leaf numberOfFiles { + type uint64 ; + yext3gpp:notNotifyable ; + description "Number of files in a file collection."; + } + + leaf-list jobRef { + type types3gpp:DistinguishedName ; + yext3gpp:notNotifyable ; + description "Object instance of the 'PerfMetricJob' or 'TraceJob' + that produced the file."; + } + + leaf jobId { + type string ; + yext3gpp:notNotifyable ; + description "Identifier of a PerfMetricJob job or a TraceJob."; + } + } + + grouping FilesSubtree { + description "Contains classes of the File retrieval NRM fragment. + Should be used in classes (or classes inheriting from) + - SubNnetwork + - ManagedElement + - PerfMetricJob + - TraceJob + + If a YANG module wants to augment these classes/list/groupings they must + augment all user classes!"; + + list Files { + description "This IOC represents a collection of files. It can be + name-contained by 'SubNetwork', 'ManagedElement', 'PerfMetricJob' or + 'TraceJob'. The 'Files' object name-contains 'File' objects, that + represent the files of the collection. File collections allow to + structure related files under a common root. + + Instances of 'Files' are created by MnS producers. They shall be + created at latest when the first file of the collection becomes + available for retrieval by MnS consumers. + + The attributes of 'Files' represent properties of the file collection + and not properties of individual files. + + When the file retrieval NRM fragment is used together with a data + collection job ('PerfMetricJob' or 'TraceJob') the following + provisions shall apply: + - The 'Files' object shall be created at the same time as the object + representing the data collection job. + - The attributes 'jobRef' and 'jobId' shall be supported and present + in a 'Files' instance. They shall identify the job that the files in + the file collection relate to. + - A 'Files' instance shall contain files related to one and only one + job. + - The files produced by one job shall be contained in one and only + one 'Files' instance. + - The job object shall support an attribute with a link to the + created 'Files' instance ('_linkToFiles'). + - The attribute '_linkToFiles' shall be returned in the job creation + response, if the stage 3 protocol supports returning attributes in an + object creation response. + - The MnS producer decides where to name-contain the 'Files' instance + related to a job. + + The attribute '_linkToFiles' allows a MnS consumer to create simple + and targeted subscriptions for 'notifyFileReady', + 'notifyFilePreparationError' and 'notifyFileDeletion', or + 'notifyMOICreation', 'notifyMOIChanges', 'notifyFilePreparationError' + and 'notifyFileDeletion' related to 'File' instances created or deleted + under the 'Files' instance of a specific job. The subscription needs + to scope simply objects one level below the 'Files' object. + + In addition, the attribute '_linkToFiles' allows for simple + deployments not relying on notifications for reporting the + availability of new files, where the MnS consumer polls regularly + for new files under 'Files'."; + + key id; + config false; + uses top3gpp:Top_Grp ; + container attributes { + uses FilesGrp ; + } + + list File { + description "Represents a file. It is name-contained by 'Files'. + + When a file becomes available on a MnS producer for retrieval by a + MnS consumer, the MnS producer shall create a 'File' instance + representing that file. + + The time of creation shall be captured by the MnS producer in the + 'fileReadyTime' attribute. The MnS producer shall keep the file at + least until the time specified by 'fileExpirationTime'. After that + time the MnS producer may delete the 'File' instance. + The 'fileExpirationTime' is determined by the MnS producer based on + considerations such as available storage space or file retention + policies. + + The attributes 'fileSize', 'fileCompression', 'fileDataType' and + 'fileFormat' describe the file properties. + + The 'fileLocation' attribute indicates the address where the file can + be retrieved. The address includes the file transfer protocol (schema). + Allowed file transfer protocols are 'sftp', 'ftpes' and 'https'. + + The value of 'fileLocation' can be identical to or different from the + address of the 'File' instance. The attribute 'fileContent' is + provided for retrieving the actual file content. When identifying in + the Read request a 'File' instance and specifying only the + 'fileContent' attribute be returned, then only the file content shall + be returned in the response. Note, as usual, multiple attributes can + be specified to be returned, so that the file content together with + some or all file meta data attributes can be returned in response to + a single request. + + In case the 'fileLocation' specifies a location different than the + 'File' object location, then the attribute 'fileContent' cannot be + used for retrieving the file content. For example, the 'File' object + location may be given by + 'https://companyA.com/ManagedElement=1/Files=1/File=1' + and the value of the 'fileLocation' attribute by + 'sftp://companyA.com/datastore/fileName.xml' + + In this case the file needs to be retrieved using 'sftp' from + 'sftp://companyA.com/datastore/fileName.xml'. Attempts to read the + 'fileContent' attribute shall return an error. + + When the file retrieval NRM fragment is used together with a data + collection job ('PerfMetricJob' or 'TraceJob') the following + provisions shall apply: + - The attributes 'jobRef' and 'jobId' shall be supported and + present. They shall identify the job that the file is related to. + + The attributes 'jobRef' and 'jobId' allow to set notification filters + in the subscription in such a way that only 'notifyMOICreation', + notifyMOIChanges and + 'notifyMOIDeletion' notifications are sent to subscribed MnS consumers + if the created or deleted 'File' instance represents data related to + jobs the subscribed MnS consumer created or is interested in. + + Upon creation of a 'File' instance, a notification of type + 'notifyMOICreation' or 'notifyMOIChanges' shall be emitted to + subscribed MnS consumers as + usual. For the case that the file contains performance metric data + ('fileDataType' is 'PERFORMANCE') the MnS producer shall emit either + a notification of type 'notifyMOICreation', 'notifyMOICreation' or + of type + 'notifyFileReady'. The MnS consumer selects the notification type he + wishes to receive with the subscription created on the MnS producer. + + The 'objectClass' and 'objectInstance' parameters in the notification + header of 'notifyFileReady' shall identify the new 'File' instance, + instead of the related 'PerfMetricJob', 'TraceJob', 'ManagedElement' + or 'ManagementNode'as described in 3GPP TS 28.532, + clause 11.6.1.1.1 for the case that 'notifyFileReady' is used as + part of the file data reporting MnS. + + The notification 'notifyFilePreparationError' shall be supported as + well by the 'File' object. It shall be sent when an error occurs + during the preparation of the file. No 'notifyFileReady' or + 'notifMOICreation shall be sent in that case. The 'objectClass' + and 'objectInstance' parameters of the notification header shall + identify the new 'File' instance representing the corrupted file, + instead of the related 'PerfMetricJob', 'TraceJob', 'ManagedElement' + or 'ManagementNode'as described in 3GPP TS 28.532, clause 11.6.1.1.1 + for the case that 'notifyFilePreparationError' is used as part of + the file data reporting MnS. When the file is not created at all or + deleted, the 'objectClass' and 'objectInstance' parameters of the + notification header are populated as described in 3GPP TS 28.532, + clause 11.6.1.1.1. Note that to receive 'notifyFilePreparationError' + in that case the notification subscription needs to include these + objects in its scope."; + key id; + uses top3gpp:Top_Grp ; + container attributes { + uses FileGrp ; + } + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index 1399a086f..6f7eec49e 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -6,6 +6,7 @@ module _3gpp-common-fm { import ietf-yang-types { prefix yang; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -22,6 +23,7 @@ module _3gpp-common-fm { Integration Reference Point (IRP); Information Service (IS)"; + revision 2022-10-24 { reference CR-0196; } revision 2021-08-08 { reference "CR-0132"; } revision 2021-06-02 { reference "CR-0130"; } revision 2020-06-03 { reference "CR-0091"; } @@ -107,58 +109,68 @@ module _3gpp-common-fm { type string; mandatory true; description "Identifies the alarmRecord"; + yext3gpp:notNotifyable; } leaf objectInstance { type string; config false ; mandatory true; + yext3gpp:notNotifyable; } leaf notificationId { type int32; config false ; mandatory true; + yext3gpp:notNotifyable; } leaf alarmRaisedTime { type yang:date-and-time ; config false ; + yext3gpp:notNotifyable; } leaf alarmChangedTime { type yang:date-and-time ; config false ; description "not applicable if related alarm has not changed"; + yext3gpp:notNotifyable; } leaf alarmClearedTime { type yang:date-and-time ; config false ; description "not applicable if related alarm was not cleared"; + yext3gpp:notNotifyable; } leaf alarmType { type eventType; config false ; description "General category for the alarm."; + yext3gpp:notNotifyable; } leaf probableCause { type string; config false ; + yext3gpp:notNotifyable; } leaf specificProblem { type string; config false ; reference "ITU-T Recommendation X.733 clause 8.1.2.2."; + yext3gpp:notNotifyable; } leaf perceivedSeverity { type severity-level; description "This is Writable only if producer supports consumer to set perceivedSeverity to CLEARED"; + yext3gpp:notNotifyable; } leaf backedUpStatus { @@ -166,11 +178,13 @@ module _3gpp-common-fm { config false ; description "Indicates if an object (the MonitoredEntity) has a back up. See definition in ITU-T Recommendation X.733 clause 8.1.2.4."; + yext3gpp:notNotifyable; } leaf backUpObject { type string; config false ; + yext3gpp:notNotifyable; } leaf trendIndication { @@ -179,6 +193,7 @@ module _3gpp-common-fm { description "Indicates if some observed condition is getting better, worse, or not changing. "; reference "ITU-T Recommendation X.733 clause 8.1.2.6."; + yext3gpp:notNotifyable; } grouping ThresholdPackGrp { @@ -226,6 +241,7 @@ module _3gpp-common-fm { list thresholdInfo { config false ; + yext3gpp:notNotifyable; uses ThresholdInfoGrp; } @@ -234,6 +250,7 @@ module _3gpp-common-fm { config false ; description "Indicates MO attribute value changes. See definition in ITU-T Recommendation X.733 clause 8.1.2.11."; + yext3gpp:notNotifyable; } leaf monitoredAttributes { @@ -242,6 +259,7 @@ module _3gpp-common-fm { description "Indicates MO attributes whose value changes are being monitored."; reference "ITU-T Recommendation X.733 clause 8.1.2.11."; + yext3gpp:notNotifyable; } leaf proposedRepairActions { @@ -249,15 +267,18 @@ module _3gpp-common-fm { config false ; description "Indicates proposed repair actions. See definition in ITU-T Recommendation X.733 clause 8.1.2.12."; + yext3gpp:notNotifyable; } leaf additionalText { type string; config false ; + yext3gpp:notNotifyable; } anydata additionalInformation { config false ; + yext3gpp:notNotifyable; } leaf rootCauseIndicator { @@ -269,6 +290,7 @@ module _3gpp-common-fm { description "It indicates that this AlarmInformation is the root cause of the events captured by the notifications whose identifiers are in the related CorrelatedNotification instances."; + yext3gpp:notNotifyable; } leaf ackTime { @@ -277,12 +299,14 @@ module _3gpp-common-fm { description "It identifies the time when the alarm has been acknowledged or unacknowledged the last time, i.e. it registers the time when ackState changes."; + yext3gpp:notNotifyable; } leaf ackUserId { type string; description "It identifies the last user who has changed the Acknowledgement State."; + yext3gpp:notNotifyable; } leaf ackSystemId { @@ -290,6 +314,7 @@ module _3gpp-common-fm { description "It identifies the system (Management System) that last changed the ackState of an alarm, i.e. acknowledged or unacknowledged the alarm."; + yext3gpp:notNotifyable; } leaf ackState { @@ -302,16 +327,19 @@ module _3gpp-common-fm { been acknowledged."; } } + yext3gpp:notNotifyable; } leaf clearUserId { type string; description "Carries the identity of the user who invokes the clearAlarms operation."; + yext3gpp:notNotifyable; } leaf clearSystemId { type string; + yext3gpp:notNotifyable; } leaf serviceUser { @@ -320,6 +348,7 @@ module _3gpp-common-fm { description "It identifies the service-user whose request for service provided by the serviceProvider led to the generation of the security alarm."; + yext3gpp:notNotifyable; } leaf serviceProvider { @@ -328,11 +357,13 @@ module _3gpp-common-fm { description "It identifies the service-provider whose service is requested by the serviceUser and the service request provokes the generation of the security alarm."; + yext3gpp:notNotifyable; } leaf securityAlarmDetector { type string; config false ; + yext3gpp:notNotifyable; } } @@ -361,17 +392,20 @@ module _3gpp-common-fm { config false; mandatory true; description "The number of alarm records in the AlarmList"; + yext3gpp:notNotifyable; } leaf lastModification { type yang:date-and-time ; config false; description "The last time when an alarm record was modified"; + yext3gpp:notNotifyable; } list alarmRecords { key alarmId; description "List of alarmRecords"; + yext3gpp:notNotifyable; uses AlarmRecordGrp; } } diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index 33acde382..c0b2d99aa 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -9,6 +9,7 @@ module _3gpp-common-managed-element { import _3gpp-common-subscription-control { prefix subscr3gpp; } import _3gpp-common-fm { prefix fm3gpp; } import _3gpp-common-trace { prefix trace3gpp; } + import _3gpp-common-files { prefix files3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -28,6 +29,7 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2022-09-30 { reference "CR-0191"; } revision 2021-01-16 { reference "CR-0120"; } revision 2020-08-06 { reference "CR-0102"; } revision 2020-08-03 { reference "CR-0095"; } @@ -244,5 +246,6 @@ module _3gpp-common-managed-element { if-feature TraceUnderManagedElement; } + uses files3gpp:FilesSubtree; } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang index a2bca7e83..639325de4 100755 --- a/yang-models/_3gpp-common-managed-function.yang +++ b/yang-models/_3gpp-common-managed-function.yang @@ -4,9 +4,11 @@ module _3gpp-common-managed-function { prefix mf3gpp; import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-trace { prefix trace3gpp; } + import _3gpp-5gc-nrm-configurable5qiset { prefix fiveqi3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -20,6 +22,8 @@ module _3gpp-common-managed-function { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2022-11-02 { reference "CR-0753"; } + revision 2022-10-24 { reference CR-0196; } revision 2022-01-07 { reference "CR-0146"; } revision 2021-01-25 { reference "CR-0122"; } revision 2020-09-30 { reference "CR-bbbb"; } @@ -31,6 +35,11 @@ module _3gpp-common-managed-function { revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-18 { reference "Initial revision"; } + feature Configurable5QISetUnderManagedFunction { + description "The Configurable5QISet shall be contained under + ManagedFunction"; + } + feature MeasurementsUnderManagedFunction { description "The MeasurementSubtree shall be contained under ManageElement"; } @@ -46,6 +55,7 @@ module _3gpp-common-managed-function { leaf name { type string; mandatory true; + yext3gpp:notNotifyable; } leaf-list allowedNFTypes { @@ -83,6 +93,7 @@ module _3gpp-common-managed-function { type string; description "The type of the managed NF service instance The specifc values allowed are described in clause 7.2 of TS 23.501"; + yext3gpp:notNotifyable; } list sAP { @@ -321,5 +332,9 @@ module _3gpp-common-managed-function { uses trace3gpp:TraceSubtree { if-feature TraceUnderManagedFunction ; } + + uses fiveqi3gpp:Configurable5QISetSubtree { + if-feature Configurable5QISetUnderManagedFunction; + } } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang index 8128267e1..72c892906 100755 --- a/yang-models/_3gpp-common-measurements.yang +++ b/yang-models/_3gpp-common-measurements.yang @@ -5,7 +5,9 @@ module _3gpp-common-measurements { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } - + import _3gpp-common-yang-extensions { prefix yext3gpp; } + import _3gpp-common-files { prefix files3gpp; } + organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -53,7 +55,9 @@ module _3gpp-common-measurements { Integration Reference Point (IRP); Information Service (IS)"; - revision 2022-11-04 { reference "CR-0194"; } + revision 2022-11-04 { reference "CR-0212 CR-0194"; } + revision 2022-10-24 { reference CR-0196; } + revision 2022-09-30 { reference CR-0191; } revision 2021-07-22 { reference "CR-0137"; } revision 2020-11-06 { reference "CR-0118"; } revision 2020-09-04 { reference "CR-000107"; } @@ -277,11 +281,19 @@ module _3gpp-common-measurements { uses types3gpp:ReportingCtrl { refine "reportingCtrl/file-based-reporting/fileReportingPeriod" { must '(number(.)*"60") mod number(../granularityPeriod) = "0"' { - error-message - "The time-period must be a multiple of the granularityPeriod."; + error-message + "The time-period must be a multiple of the granularityPeriod."; } } } + + leaf _linkToFiles { + type string ; + config false; + mandatory true; + yext3gpp:notNotifyable ; + description "Link to a 'Files' object."; + } } @@ -322,12 +334,14 @@ module _3gpp-common-measurements { leaf-list objectInstances { type types3gpp:DistinguishedName; + yext3gpp:notNotifyable; } leaf-list rootObjectInstances { type types3gpp:DistinguishedName; description "Each object instance designates the root of a subtree that contains the root object and all descendant objects."; + yext3gpp:notNotifyable; } } @@ -433,6 +447,7 @@ module _3gpp-common-measurements { container attributes { uses PerfMetricJobGrp ; } + uses files3gpp:FilesSubtree; } list ThresholdMonitor { diff --git a/yang-models/_3gpp-common-qmcjob.yang b/yang-models/_3gpp-common-qmcjob.yang index c68ca941b..46663337a 100644 --- a/yang-models/_3gpp-common-qmcjob.yang +++ b/yang-models/_3gpp-common-qmcjob.yang @@ -8,7 +8,6 @@ module _3gpp-common-qmcjob { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } - import ietf-inet-types { prefix inet; } organization "3GPP SA5"; @@ -26,6 +25,7 @@ module _3gpp-common-qmcjob { Integration Reference Point (IRP); Information Service (IS)"; + revision 2022-11-04 { reference "CR-0215"; } revision 2022-08-17 { reference "CR-0185"; } revision 2022-04-29 { reference "CR-0171"; } revision 2022-03-22 { reference "draftCR"; } @@ -103,6 +103,24 @@ module _3gpp-common-qmcjob { for Application Layer Measurement Configuration."; mandatory true; } + + leaf mDTAlignmentInformation { + type uint64; + description "This parameter indicates the MDT measurements with which + alignment of QoE measurement is required. This parameter is optional + and is valid for NR only."; + } + + leaf availableRANqoEMetrics { + type enumeration { + enum appLayerBufferLevelList; + enum playoutDelayForMedia; + enum Startup; + } + description "This parameter indicates available RAN visible QoE metrics + to the gNB. This parameter is optional and is valid for NR only."; + } + } grouping QMCJobSubTree { @@ -124,4 +142,4 @@ module _3gpp-common-qmcjob { augment "/me3gpp:ManagedElement" { uses QMCJobSubTree; } -} +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index 53739e61c..183e886e6 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -10,6 +10,7 @@ module _3gpp-common-subnetwork { import _3gpp-common-fm { prefix fm3gpp; } import _3gpp-common-trace { prefix trace3gpp; } import ietf-yang-schema-mount { prefix yangmnt; } + import _3gpp-common-files { prefix files3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -28,6 +29,7 @@ module _3gpp-common-subnetwork { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2022-09-30 { reference CR-0191 ; } revision 2021-01-16 { reference "CR-0120"; } revision 2020-08-06 { reference "CR-0102"; } revision 2020-06-08 { reference "CR-0092"; } @@ -204,6 +206,8 @@ module _3gpp-common-subnetwork { if-feature TraceUnderSubNetwork; } + uses files3gpp:FilesSubtree; + yangmnt:mount-point children-of-SubNetwork { description "Mountpoint for ManagedElement"; reference "RFC8528 YANG Schema Mount"; diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index 25bde6927..8d9f27a82 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -4,6 +4,7 @@ module _3gpp-common-subscription-control { prefix "subscr3gpp"; import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -15,6 +16,7 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; + revision 2022-10-20 { reference CR-0196; } revision 2021-01-16 { reference "CR-0120"; } revision 2020-08-26 { reference "CR-0106"; } revision 2019-11-29 { reference "S5-197648 S5-197647 S5-197829 S5-197828"; } @@ -90,8 +92,7 @@ module _3gpp-common-subscription-control { } grouping HeartbeatControlGrp { - description "Attributes of HeartbeatControl. Note the triggerHeartbeatNtf - attribute has no mapping in the present release."; + description "Attributes of HeartbeatControl."; leaf heartbeatNtfPeriod { type uint32; @@ -101,6 +102,20 @@ module _3gpp-common-subscription-control { The value of zero has the special meaning of stopping the heartbeat notification emission."; } + + leaf triggerHeartbeatNtf { + type boolean; + default false; + description "Setting this attribute to 'true' triggers an immediate + additional heartbeat notification emission. Setting the value to + 'false' has no observable result. + + The periodicity of notifyHeartbeat emission is not changed. + + After triggering the heartbeat the system SHALL set the value + back to false."; + yext3gpp:notNotifyable; + } } grouping SubscriptionControlSubtree { diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index f112b8034..8a47d3bdc 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -6,6 +6,7 @@ module _3gpp-common-trace { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types {prefix types3gpp; } import ietf-inet-types { prefix inet; } + import _3gpp-common-files { prefix files3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -22,6 +23,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)"; + revision 2022-09-30 { reference CR-0191 ; } revision 2022-04-27 { reference "CR-0159"; } revision 2021-10-18 { reference "CR-0139"; } revision 2021-07-22 { reference "CR-0137"; } @@ -1122,6 +1124,7 @@ module _3gpp-common-trace { container attributes { uses TraceJobGrp ; } + uses files3gpp:FilesSubtree; } } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-yang-extensions.yang b/yang-models/_3gpp-common-yang-extensions.yang index 9bc0a82be..bc5abe1b6 100755 --- a/yang-models/_3gpp-common-yang-extensions.yang +++ b/yang-models/_3gpp-common-yang-extensions.yang @@ -4,6 +4,8 @@ module _3gpp-common-yang-extensions { prefix yext3gpp ; organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "The module defines YANG extensions needed 3GPP YANG modeling. @@ -37,11 +39,34 @@ module _3gpp-common-yang-extensions { implementations MAY or MAY NOT support. If support for an extension is missing the extension statement needs individual handling or it SHOULD be removed from the module using - the extension e.g. with a deviation. - "; + the extension e.g. with a deviation."; + + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + 3GPP TS 28.623"; - revision "2019-06-23" { - description "Initial version"; + revision 2022-10-20 { reference CR-0196; } + revision 2019-06-23 { reference "Initial version"; } + + extension notNotifyable { + description + "Indicates that data change notifications shall not be sent + for this attribute. If the extension is not present and other + conditions are fulfilled data change notification should be sent. + If a list or container already has the notNotifyable + extension, that is also valid for all contained data nodes. + + The statement MUST only be a substatement of a leaf, leaf-list, list, + container statement that is contained within the 'attributes' + container of an IOC and that represents an attribute or sub-parts of + an attribute . + + Zero or one notNotifyable statement is allowed per parent statement. + NO substatements are allowed. + + Adding this statement is an NBC change, removing it is BC."; } extension inVariant { diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 7af15073b..b396251dc 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -5,6 +5,7 @@ module _3gpp-common-yang-types { import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -14,7 +15,8 @@ module _3gpp-common-yang-types { reference "3GPP TS 28.623"; revision 2022-11-04 { reference "CR-0194"; } - revision 2022-07-26 { reference "CR-0180"; } + revision 2022-10-24 { reference CR-0196; } + revision 2022-07-26 { reference "CR-0180" ; } revision 2022-02-09 { reference "CR-0144"; } revision 2021-11-01 { reference "CR-0141"; } @@ -211,6 +213,7 @@ module _3gpp-common-yang-types { Once the timer is set, the consumer can not change it anymore. If the consumer has not set the timer the MnS Producer may set it."; + yext3gpp:notNotifyable; } } diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang index 8e6bb83f0..9aba64d7c 100755 --- a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang @@ -14,6 +14,7 @@ module _3gpp-nr-nrm-gnbdufunction { Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2022-11-02 { reference "CR-0753"; } revision 2022-07-28 { reference "CR-0770"; } revision 2021-10-28 { reference CR-0607 ; } revision 2021-04-30 { reference CR-0490 ; } @@ -172,6 +173,17 @@ module _3gpp-nr-nrm-gnbdufunction { } } + leaf configurable5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Configurable5QISet that the GNBDUFunction supports (is associated + to)."; + } + + leaf dynamic5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Dynamic5QISet that the GNBDUFunction supports (is associated to)."; + } + augment "/me3gpp:ManagedElement" { list GNBDUFunction { -- GitLab