diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 0fd31f95629056a04b0dc702fd68a253553a1756..59ddcb2c3d8f01c7259d7c1def06aa58ec5da1ee 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -2,34 +2,136 @@ module _3gpp-5g-common-yang-types { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-5g-common-yang-types"; prefix "types5g3gpp"; - + import ietf-yang-types { prefix yang; } + import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "The model defines common types for 5G networks and + description "The model defines common types for 5G networks and network slicing. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405; } revision 2024-10-06 { reference CR-1389; } - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-05-10 { reference CR-0916; } revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2020-11-05 { reference CR-0412 ; } revision 2019-10-20 { reference "Initial version."; } - + + grouping IpInterfaceGrp { + leaf-list ipv4EndpointAddresses { + description "Available endpoint IPv4 address(es) of + the User Plane interface."; + type inet:ipv4-address; + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + } + + leaf-list ipv6EndpointAddresses { + description "Available endpoint IPv6 address(es) of + the User Plane interface."; + type inet:ipv6-address; + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + } + + leaf fqdn { + description "This parameter defines FQDN of the Network Function + (See TS 23.003)."; + type inet:domain-name; + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + } + } + + grouping SdRangeGrp { + leaf start { + type string { + pattern "[A-Fa-f0-9]{6}"; + } + mandatory true; + description "First value identifying the start of an SD range. + This string shall be formatted as specified for the sd attribute of the + Snssai data type in clause 5.4.4.2 of TS 29.571."; + } + + leaf end { + type string { + pattern "[A-Fa-f0-9]{6}"; + } + mandatory true; + description "Last value identifying the end of an SD range. + This string shall be formatted as specified for the sd attribute of the + Snssai data type in clause 5.4.4.2 in TS 29.571"; + } + } + + grouping SnssaiExtensionGrp { + list sdRanges { + min-elements 1; + key "start end"; + description "It shall contain the range(s) of Slice Differentiator values + supported for the Slice/Service Type value indicated in the sst + attribute of the Snssai data type (see clause 5.4.4.2 in TS 29.571)."; + uses SdRangeGrp; + } + + leaf wildcardSd { + type boolean; + default false; + description "It indicates that all SD values are supported for the + Slice/Service Type value indicated in the sst attribute of the Snssai + data type (see clause 5.4.4.2 in TS 29.571)."; + } + } + + grouping ExtSnssaiGrp { + list snssai { + description "It represents the S-NSSAI the NetworkSlice managed object + is supporting. The S-NSSAI is defined in TS 23.003 "; + min-elements 1; + max-elements 1; + key "sd sst"; + uses SNssai; + } + + list snssaiExtension { + description "It represents extensions to the Snssai."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses SnssaiExtensionGrp; + } + } + grouping sNssaiSmfInfoItem { + list sNssai { + description "Supported S-NSSAI."; + min-elements 1; + max-elements 1; + key "sst sd"; + uses types5g3gpp:SNssai; + } + + list dnnSmfInfoList { + description "List of parameters supported by the SMF per DNN. + The absence indicates the DNN can be selected for any DNAI."; + min-elements 1; + key dnn; + uses DnnSmfInfoItem; + } + } + grouping MappedCellIdInfoGrp { - description "This data type represents the mapping relationship between + description "This data type represents the mapping relationship between Mapped Cell IDs and geographical areas (see clause 16.14.5 of TS 38.300"; - + list ntnGeoArea { - description "This attribute indicates a specific geographical location + description "This attribute indicates a specific geographical location mapped to Mapped Cell ID(s)."; min-elements 1; max-elements 1; @@ -37,9 +139,9 @@ module _3gpp-5g-common-yang-types { leaf idx { type uint32; } uses types3gpp:GeoAreaGrp; } - + list mappedCellId { - description "This attribute is in format of NCGI to indicate a fixed + description "This attribute is in format of NCGI to indicate a fixed geographical area (See subclause 16.14.5 in TS 38.300)"; min-elements 1; max-elements 1; @@ -48,66 +150,66 @@ module _3gpp-5g-common-yang-types { uses NcgiGrp; } } - + grouping NcgiGrp { description "Represents the Ncgi datatype"; - + list plmnId { description "This attribute represents a PLMN Identity."; min-elements 1; max-elements 1; key "idx"; leaf idx { type uint32 ; } - uses types3gpp:PLMNId ; + uses types3gpp:PLMNId ; } - + leaf nrCellId { type string; mandatory true; description "This attribute represents NR Cell Identity. - It's a 36-bit string identifying an NR Cell Id as specified in - clause 9.3.1.7 of TS 38.413, in hexadecimal representation. Each - character in the string shall take a value of - '0' to '9', 'a' to 'f' or 'A' to 'F' and shall represent 4 bits. - The most significant character representing the 4 most significant - bits of the Cell Id shall appear first in the string, and the - character representing the 4 least significant bit of the + It's a 36-bit string identifying an NR Cell Id as specified in + clause 9.3.1.7 of TS 38.413, in hexadecimal representation. Each + character in the string shall take a value of + '0' to '9', 'a' to 'f' or 'A' to 'F' and shall represent 4 bits. + The most significant character representing the 4 most significant + bits of the Cell Id shall appear first in the string, and the + character representing the 4 least significant bit of the Cell Id shall appear last in the string. - Pattern: '^[A-Fa-f0-9]{9}$' + Pattern: '^[A-Fa-f0-9]{9}$' Example: An NR Cell Id 0x225BD6007 shall be encoded as '225BD6007'."; } - + leaf nId { type string; mandatory true; - description "Network Identity; Shall be present if PlmnIdNid identifies - an SNPN (see clauses 5.30.2.3, 5.30.2.9, 6.3.4, and 6.3.8 in + description "Network Identity; Shall be present if PlmnIdNid identifies + an SNPN (see clauses 5.30.2.3, 5.30.2.9, 6.3.4, and 6.3.8 in 3GPP TS 23.501."; } } - + typedef NRTAC { type string; - description "This holds the identity of the common Tracking Area Code - for the PLMNs. + description "This holds the identity of the common Tracking Area Code + for the PLMNs. allowedValues: - a) It is the TAC or Extended-TAC. - b) A cell can only broadcast one TAC or Extended-TAC. See TS 36.300, + a) It is the TAC or Extended-TAC. + b) A cell can only broadcast one TAC or Extended-TAC. See TS 36.300, subclause 10.1.7 (PLMNID and TAC relation). c) TAC is defined in subclause 19.4.2.3 of 3GPP TS 23.003 and Extended-TAC is defined in subclause 9.3.1.29 of 3GPP TS 38.473. d) For a 5G SA (Stand Alone), it has a non-null value."; } - + grouping SNssai { - description + description "Single Network Slice Selection Assistance Information(S-NSSAI)"; reference "3GPP TS 23.003"; - + leaf sd { description "Slice Differentiator If not needed, the value can be set to ff:ff:ff."; @@ -116,35 +218,35 @@ module _3gpp-5g-common-yang-types { } reference "3GPP TS 23.003"; } - + leaf sst { type uint8; description "Slice/Service Type. - Values 0 to 127 belong to standardized SST range and are defined in + Values 0 to 127 belong to standardized SST range and are defined in 3GPP TS 23.501. Values 128 to 255 belong to operator-specific range."; } } - + grouping PlmnIdNid { - description "Represents the SCP domain specific information as defined + description "Represents the SCP domain specific information as defined in TS 29.510 "; uses types3gpp:PLMNId; - + leaf nid { type string; - description "This attribute represents network Identity; - Shall be present if PlmnIdNid identifies an SNPN. + description "This attribute represents network Identity; + Shall be present if PlmnIdNid identifies an SNPN. (see clauses 5.30.2.3, 5.30.2.9, 6.3.4, and 6.3.8 in TS 23.501"; } } grouping PLMNInfo { - description "The PLMNInfo data type define a S-NSSAI member in a specific - PLMNId, and it have two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). - The PLMNId represents a data type that is comprised of mcc - (mobile country code) and mnc (mobile network code), (See TS 23.003 - subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is - comprised of an SST (Slice/Service type) and an optional + description "The PLMNInfo data type define a S-NSSAI member in a specific + PLMNId, and it have two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). + The PLMNId represents a data type that is comprised of mcc + (mobile country code) and mnc (mobile network code), (See TS 23.003 + subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is + comprised of an SST (Slice/Service type) and an optional SD (Slice Differentiator) field"; uses types3gpp:PLMNId; uses SNssai; @@ -160,38 +262,38 @@ module _3gpp-5g-common-yang-types { enum DIRECT_COMMUNICATION_WITH_NRF { value 1; - description "Directly communicate to other NF service discovered + description "Directly communicate to other NF service discovered by NRF."; } enum INDIRECT_COMMUNICATION_WO_DEDICATED_DISCOVERY { value 2; - description "Communicate to pre-configured other NF service through + description "Communicate to pre-configured other NF service through SCP as a proxy."; } enum INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY { value 3; - description "Communication to NF service discovered by NRF through SCP + description "Communication to NF service discovered by NRF through SCP as a proxy."; } } } - + grouping CommModel { leaf groupId { - type uint16; + type uint16; } leaf commModelType { type CommModelType; - } - leaf-list targetNFServiceList { - type types3gpp:DistinguishedName; + } + leaf-list targetNFServiceList { + type types3gpp:DistinguishedName; } leaf commModelConfiguration { type string; - } + } } grouping TaiRangeGrp { list plmnId { @@ -201,8 +303,8 @@ module _3gpp-5g-common-yang-types { key "mcc mnc"; uses types3gpp:PLMNId; } - - list tacRangeList { + + list tacRangeList { description "The range of the TACs."; min-elements 1; key "start end"; @@ -212,39 +314,54 @@ module _3gpp-5g-common-yang-types { grouping TacRange { leaf start { - description "First value identifying the start of a TAC range, + description "First value identifying the start of a TAC range, to be used when the range of TAC's can be represented as a hexadecimal range (e.g., TAC ranges)."; type string { pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}$)'; } } - + leaf end { - description "Last value identifying the end of a TAC range, + description "Last value identifying the end of a TAC range, to be used when the range of TAC's can be represented as a hexadecimal range (e.g. TAC ranges)."; type string { pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6})$'; } } - + leaf nRTACpattern { - description "Pattern (regular expression according to the ECMA-262) - representing the set of TAC's belonging to this range. - A TAC value is considered part of the range if and only if the + description "Pattern (regular expression according to the ECMA-262) + representing the set of TAC's belonging to this range. + A TAC value is considered part of the range if and only if the TAC string fully matches the regular expression."; type string; } - } - + } + grouping DnnSmfInfoItem { + leaf dnn { + description "Supported DNN."; + mandatory true; + type string; + } + + leaf-list dnaiList { + description "List of Data network access identifiers supported by + the SMF for this DNN. The absence of this attribute indicates that + the SMF can be selected for this DNN for any DNAI."; + min-elements 1; + type string; + } + } + grouping SupportedFunc { leaf function { - type string; + type string; } leaf policy { type string; - } + } } typedef EnergySavingLoadThresholdT { @@ -262,14 +379,14 @@ module _3gpp-5g-common-yang-types { } typedef PhysCellID { - type uint32 { - range "0..1007"; + type uint32 { + range "0..1007"; } reference "clause 7.4.2 of TS 38.211"; } typedef UTC24TimeOfDayT { - description "Time of day in HH:MM or H:MM 24-hour format per UTC + description "Time of day in HH:MM or H:MM 24-hour format per UTC time zone."; type string { pattern "(([01]?[0-9])|(2[0-3])):([0-5][0-9])"; diff --git a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang index 0a1adaef489e8f0dbaa0164d5c420f344b27720e..abfa6bc8c8a986abb80cc274693c8c4b98fe6a98 100755 --- a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang +++ b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang @@ -1,22 +1,24 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-FiveQiDscpMappingSet; - prefix FiveQiDscpMapping3gpp; - + prefix FiveQiDscpM3gpp; + import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description " This IOC represents the set of mapping between 5QIs and DSCP. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2025-01-25 { reference CR-1442 ; } - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-01-25 { reference CR-1442 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2020-08-03 { reference "CR-0321"; } revision 2020-05-27 { reference "CR-0287"; } @@ -28,7 +30,7 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { min-elements 1; description " Identifies the 5QI values that are mapped to a same DSCP"; } - + leaf dscp { type uint32 { range 0..255 ; @@ -44,7 +46,7 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { key "dscp"; uses FiveQiDscpMapping; } - } + } grouping FiveQiDscpMappingSetSubtree { list FiveQiDscpMappingSet { @@ -54,10 +56,10 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { container attributes { uses FiveQiDscpMappingSetGrp; } - } + } } - + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { uses FiveQiDscpMappingSetSubtree; - } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-amffunction.yang b/yang-models/_3gpp-5gc-nrm-amffunction.yang index 4fe06e700482ce73f04ffc95cf557ace02d4f3d3..89ecbe3f33dc4a209e3971c11d6cf8ab1ea5216e 100755 --- a/yang-models/_3gpp-5gc-nrm-amffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-amffunction.yang @@ -11,38 +11,40 @@ module _3gpp-5gc-nrm-amffunction { import ietf-yang-types { prefix yang; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-nr-nrm-ntnfunction { prefix ntn3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp;} + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "AMFFunction derived from basic ManagedFunction. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-03-25 { reference "CR-1489 CR-1512" ; } + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-03-25 { reference "CR-1489 CR-1512" ; } revision 2024-11-01 { reference CR-1405; } revision 2024-10-06 { reference CR-1389; } revision 2024-04-04 { reference CR-1139; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-193518"; } revision 2019-05-31 { reference "Ericsson refactoring."; } revision 2018-08-07 { reference "Initial revision"; } - + grouping NTNGlobalRanNodeIDGrp{ - + list pLMNId { description "The PLMN Identifier is composed of - a Mobile Country Code (MCC) and + a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; max-elements 1; key "mcc mnc"; uses types3gpp:PLMNId; } - + choice GlobalRanNodeID{ description "Unique identifier of an NG-RAN node."; reference "3GPP TS 38.413"; @@ -64,7 +66,7 @@ module _3gpp-5gc-nrm-amffunction { -[A-Fa-f0-9]{5})$'; } description "This represents the identifier of - the ng-eNB ID as specified in + the ng-eNB ID as specified in clause 9.3.1.8 of 3GPP TS 38.413."; mandatory true; } @@ -75,12 +77,12 @@ module _3gpp-5gc-nrm-amffunction { type string{ pattern '^[A-Fa-f0-9]+$'; } - description "This IE shall contain the N3IWF + description "This IE shall contain the N3IWF identifier received over NGAP and - shall be encoded as a string of + shall be encoded as a string of hexadecimal characters."; mandatory true; - } + } } case TNGF{ @@ -95,7 +97,7 @@ module _3gpp-5gc-nrm-amffunction { mandatory true; } } - + case TWIF{ leaf TWIFID{ type string; @@ -113,7 +115,7 @@ module _3gpp-5gc-nrm-amffunction { } description "This represents the identifier of the W-AGF ID as specified in - clause 9.3.1.162 of 3GPP TS 38.413 + clause 9.3.1.162 of 3GPP TS 38.413 in hexadecimal representation."; mandatory true; } @@ -167,72 +169,72 @@ module _3gpp-5gc-nrm-amffunction { grouping GUAMInfoGrp { description "Represents the GUAMInfo datatype."; - + list pLMNId { description "This attribute represents a PLMN Identity."; min-elements 1; max-elements 1; key "idx"; leaf idx { type uint32 ; } - uses types3gpp:PLMNId ; + uses types3gpp:PLMNId ; } - + leaf aMFIdentifier { type int64; - description "The AMFI is constructed from an AMF Region ID, an - AMF Set ID and an AMF Pointer. The AMF Region ID identifies the region, - the AMF Set ID uniquely identifies the AMF Set within the AMF Region, - and the AMF Pointer uniquely identifies the AMF within the AMF Set. + description "The AMFI is constructed from an AMF Region ID, an + AMF Set ID and an AMF Pointer. The AMF Region ID identifies the region, + the AMF Set ID uniquely identifies the AMF Set within the AMF Region, + and the AMF Pointer uniquely identifies the AMF within the AMF Set. (Ref. 3GPP TS 23.003)"; } } grouping N2InterfaceAmfInfoGrp { description "Represents the N2InterfaceAmfInfo datatype."; - + leaf-list ipv4EndpointAddress { type inet:ipv4-address; min-elements 1; - description "This attribute represents available AMF endpoint + description "This attribute represents available AMF endpoint IPv4 address(es) for N2."; } - + leaf-list ipv6EndpointAddress { type inet:ipv6-address; min-elements 1; - description "This attribute represents available AMF endpoint + description "This attribute represents available AMF endpoint IPv6 address(es) for N2."; } - + leaf amfName { type inet:host-name; - description "This attribute represents AMF Name FQDN as defined in + description "This attribute represents AMF Name FQDN as defined in clause 28.3.2.5 of TS 23.003."; - } + } } - + grouping BlockedLocationInfoGrp { description "Repreasents the datatype BlockedLocationInfo"; - + list blockedLocation { - description "This provides the geographical location at which the PLMN + description "This provides the geographical location at which the PLMN are not allowed in case of NTN."; min-elements 1; max-elements 1; key "mnc mcc"; - uses types3gpp:PLMNId ; + uses types3gpp:PLMNId ; } - + list blockedDurWindow { - description "This provides the time durations for which the PLMN are + description "This provides the time durations for which the PLMN are not allowed at a given location in case of NTN"; key idx; leaf idx { type uint32 ; } uses types3gpp:TimeWindowGrp; } - + list blockedSlice { - description "This provides the slice for which the access is + description "This provides the slice for which the access is not allowed at a given location in case of NTN. "; max-elements 1; key idx; @@ -241,60 +243,60 @@ module _3gpp-5gc-nrm-amffunction { uses types5g3gpp:SNssai; } } - + grouping NTNPLMNRestrictionsInfoGrp { description "Represents the datatype NTNPLMNRestrictionsInfo"; - + list pLMNId { description "This attribute represents a PLMN Identity."; min-elements 1; max-elements 1; key "mnc mcc"; - uses types3gpp:PLMNId ; + uses types3gpp:PLMNId ; } - + list blockedLocationInfoList { - description "This defines the information related with the location + description "This defines the information related with the location for which the access restrictions are to be applied in case of NTN."; key "idx"; leaf idx { type uint32 ; } uses BlockedLocationInfoGrp; } } - + grouping NtnLocationInfoGrp { description "Represents the NtnLocationInfo datatype."; - + list location { - description "This defines the Location (geographical area) under + description "This defines the Location (geographical area) under consideration to which the satellite coverage info belongs"; key idx; leaf idx { type uint32 ; } - uses types3gpp:GeoAreaGrp; + uses types3gpp:GeoAreaGrp; } - + list availabilityWindows { - description "This attribute defines the list of time windows at which - the satellite coverage will be available for this location. + description "This attribute defines the list of time windows at which + the satellite coverage will be available for this location. Either availabilityWindows or nonAvailabilityWindows shall be present."; key idx; leaf idx { type uint32 ; } uses types3gpp:TimeWindowGrp; } - + list nonAvailabilityWindows { - description "This attribute defines the list of time windows at which - the satellite coverage will not be available for this location. + description "This attribute defines the list of time windows at which + the satellite coverage will not be available for this location. Either availabilityWindows or nonAvailabilityWindows shall be present."; key idx; leaf idx { type uint32 ; } uses types3gpp:TimeWindowGrp; } } - + grouping SatelliteCoverageInfoGrp { description "Represents the datatype SatelliteCoverageInfo"; - + leaf nRSatelliteRATtype { type enumeration { enum NRLEO; @@ -302,23 +304,23 @@ module _3gpp-5gc-nrm-amffunction { enum NRGEO; enum NROTHERSAT; } - description "This attribute defines the RAT Type for NR satellite + description "This attribute defines the RAT Type for NR satellite access."; } - + list locationInfo { - description "This attribute defines the information about location and - corresponding time windows for which the satellite coverage will be + description "This attribute defines the information about location and + corresponding time windows for which the satellite coverage will be available or unavailable."; key idx; leaf idx { type uint32 ; } uses NtnLocationInfoGrp; } } - + grouping SliceExpiryInfoGrp { description "Represents the datatype SliceExpiryInfo"; - + list pLMNInfo { min-elements 1; // ??? config false; @@ -327,76 +329,76 @@ module _3gpp-5gc-nrm-amffunction { leaf idx { type uint32 ; } uses types5g3gpp:PLMNInfo; } - + leaf expiryTime { type yang:date-and-time; config false; - description "This attribute provides information about the time at - which the slice is scheduled to be expired as it is not required + description "This attribute provides information about the time at + which the slice is scheduled to be expired as it is not required anymore. - This attribute will be set based on the sliceAvailability coming as + This attribute will be set based on the sliceAvailability coming as part of ServiceProfile."; } } - + grouping MappedCellIdInfoGrp { description "Represents the datatype MappedCellIdInfo"; - + list ntnGeoArea { - description "This attribute indicates a specific geographical location + description "This attribute indicates a specific geographical location mapped to Mapped Cell ID(s)."; min-elements 1; max-elements 1; key "idx"; leaf idx { type uint32 ; } - uses types3gpp:GeoAreaGrp; + uses types3gpp:GeoAreaGrp; } - + list mappedCellId { - description "This attribute is in format of NCGI to indicate a fixed + description "This attribute is in format of NCGI to indicate a fixed geographical area (See subclause 16.14.5 in TS 38.300"; min-elements 1; max-elements 1; key "idx"; leaf idx { type uint32 ; } - uses types5g3gpp:NcgiGrp; - } + uses types5g3gpp:NcgiGrp; + } } - + grouping AmfInfoGrp { description "Represents the data type AmfInfo."; - + leaf amfRegionId { type int64; mandatory true; - description "It represents the AMF Region ID, which identifies the + description "It represents the AMF Region ID, which identifies the region. AllowedValues: defined in subclause 2.10.1 of 3GPP TS 23.003 "; } - + leaf amfSetId { type int64; mandatory true; - description "It represents the AMF Set ID, which is uniquely identifies + description "It represents the AMF Set ID, which is uniquely identifies the AMF Set within the AMF Region. allowedValues: defined in subclause 2.10.1 of 3GPP TS 23.003"; } - + list taiList { min-elements 1; description "The list of TAIs."; key "idx"; leaf idx { type uint32 ; } - uses types3gpp:TaiGrp; + uses types3gpp:TaiGrp; } - + list taiRangeList { min-elements 1; description "The range of TAIs."; key "idx"; leaf idx { type uint32 ; } - uses types5g3gpp:TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } - + list gUAMIdList { description "List of supported Globally Unique AMF Ids (GUAMIs)."; config false; @@ -405,60 +407,60 @@ module _3gpp-5gc-nrm-amffunction { leaf idx { type uint32 ; } uses GUAMInfoGrp; } - + list backupInfoAmfFailure { - description "List of GUAMIs for which the AMF acts as a backup for AMF + description "List of GUAMIs for which the AMF acts as a backup for AMF failure."; min-elements 1; key "idx"; leaf idx { type uint32 ; } uses GUAMInfoGrp; } - + list backupInfoAmfRemoval { - description "List of GUAMIs for which the AMF acts as a backup for + description "List of GUAMIs for which the AMF acts as a backup for planned AMF removal."; min-elements 1; key "idx"; leaf idx { type uint32 ; } uses GUAMInfoGrp; } - + list n2InterfaceAmfInfo { - description "This attribute represents the N2 interface information of + description "This attribute represents the N2 interface information of the AMF. "; max-elements 1; key "idx"; leaf idx { type uint32 ; } uses N2InterfaceAmfInfoGrp; } - + leaf amfOnboardingCapability { type boolean; default false; - description "This attribute indicates the AMF supports SNPN Onboarding - capability. This is used for the case of Onboarding of UEs for SNPNs + description "This attribute indicates the AMF supports SNPN Onboarding + capability. This is used for the case of Onboarding of UEs for SNPNs (see TS 23.501, clause 5.30.2.10). - FALSE: AMF does not support SNPN Onboarding; - TRUE: AMF supports SNPN Onboarding."; } - + leaf highLatencyCom { type boolean; - description "This attribute indicates whether the AMF supports High - Latency communication (e.g. for NR RedCap UE). This is used for CP NF - to discover AMF supporting High Latency communication (see TS 23.501, + description "This attribute indicates whether the AMF supports High + Latency communication (e.g. for NR RedCap UE). This is used for CP NF + to discover AMF supporting High Latency communication (see TS 23.501, clause 6.3.5). - - FALSE: AMF does not support High Latency communication e.g. for + - FALSE: AMF does not support High Latency communication e.g. for NR RedCap UE; - TRUE: AMF supports High Latency communication e.g. for NR RedCap UE;"; } } - + grouping AMFFunctionGrp { description "Represents the AMFFunction IOC. - This IOC contains instances of NTNTimeBasedConfig to support - time-based configuration of the following NTN related entities: + This IOC contains instances of NTNTimeBasedConfig to support + time-based configuration of the following NTN related entities: AMFFunction and EP_N2."; uses mf3gpp:ManagedFunctionGrp; @@ -470,40 +472,43 @@ module _3gpp-5gc-nrm-amffunction { uses types5g3gpp:PLMNInfo; } - container aMFIdentifier { + list aMFIdentifier { description "An AMF identifier, comprising an AMF Region ID, an - AMF Set ID and an AMF Pointer."; + AMF Set ID and an AMF Pointer."; + key idx; + leaf idx { type uint32; } uses types3gpp:AmfIdentifier; } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } leaf-list cNSIIdList { type string; - description "It is a set of NSI ID. NSI ID is an identifier for - identifying the Core Network part of a Network Slice instance when - multiple Network Slice instances of the same Network Slice are deployed, - and there is a need to differentiate between them in the 5GC. - See NSI ID definition in clause 3.1 of TS 23.501 and + description "It is a set of NSI ID. NSI ID is an identifier for + identifying the Core Network part of a Network Slice instance when + multiple Network Slice instances of the same Network Slice are deployed, + and there is a need to differentiate between them in the 5GC. + See NSI ID definition in clause 3.1 of TS 23.501 and subclause 6.1.6.2.7 of TS 29.531"; } - + list managedNFProfile { key idx; + leaf idx{ type uint32;} min-elements 1; max-elements 1; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; description ""; } list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; @@ -511,37 +516,37 @@ module _3gpp-5gc-nrm-amffunction { list amfInfo { max-elements 1; - description "This attribute represents information of an AMF + description "This attribute represents information of an AMF NF Instance."; key "idx"; leaf idx { type uint32 ; } uses AmfInfoGrp; } - + list nTNPLMNRestrictionsList { - description "This attribute defines the location restrictions per PLMN + description "This attribute defines the location restrictions per PLMN that relates to non-terrestrial network access."; key "idx"; leaf idx { type uint32 ; } uses NTNPLMNRestrictionsInfoGrp; } - + list satelliteCoverageInfoList { - description "This attribute defines the information related to NR + description "This attribute defines the information related to NR Satellite RAT type and corresponding information of satellite coverage"; key "idx"; leaf idx { type uint32 ; } uses SatelliteCoverageInfoGrp; } - + list sliceExpiryInfo { - description "This provides information related to a network slice + description "This provides information related to a network slice validity."; key "idx"; leaf idx { type uint32 ; } uses SliceExpiryInfoGrp; } - + list satelliteBackhaulInfoList{ description "Specifies a list of satellite backhaul information. It can be used by NF and NF services."; @@ -569,18 +574,18 @@ module _3gpp-5gc-nrm-amffunction { } description "represents a list of MDT measurement names that are subject to user consent at MDT activation. - Any MDT measurement, whose name is not specified in this list, is not + Any MDT measurement, whose name is not specified in this list, is not subject to user consent at MDT activation."; } - + list mappedCellIdInfoList { - description "It provides the list of mapping between GEO area and + description "It provides the list of mapping between GEO area and Mapped Cell ID."; key "idx"; leaf idx { type uint32 ; } uses MappedCellIdInfoGrp; } - + leaf aMFSetRef { type types3gpp:DistinguishedName; description "This is the DN of AMFSet"; @@ -595,15 +600,15 @@ module _3gpp-5gc-nrm-amffunction { } } } - + augment "/me3gpp:ManagedElement" { list AMFFunction { - description "This IOC represents the AMF functionality in 5GC. - For more information about the AMF, see 3GPP TS 23.501. + description "This IOC represents the AMF functionality in 5GC. + For more information about the AMF, see 3GPP TS 23.501. - The attribute sliceExpiryInfo is used when the validity information of - a network slice need to be configured. The attribute - sliceExpiryInfo.pLMNInfo indicates the network slice to which the + The attribute sliceExpiryInfo is used when the validity information of + a network slice need to be configured. The attribute + sliceExpiryInfo.pLMNInfo indicates the network slice to which the validity information applies."; key id; uses top3gpp:Top_Grp; diff --git a/yang-models/_3gpp-5gc-nrm-ausffunction.yang b/yang-models/_3gpp-5gc-nrm-ausffunction.yang index e2648cdd32b6756ac33f9c663aa25980485acfba..3f02fd5ae2aa6421ebb22dce2ee09354264d01f4 100755 --- a/yang-models/_3gpp-5gc-nrm-ausffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ausffunction.yang @@ -1,105 +1,103 @@ module _3gpp-5gc-nrm-ausffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-ausffunction; prefix ausf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the AUSF function in 5GC. For more + description "This IOC represents the AUSF function in 5GC. For more information about the AUSF, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-193518"; } revision 2019-05-22 {reference "initial revision"; } - + grouping AusfInfoGrp { - description "Represents the information of an AUSF NF Instance + description "Represents the information of an AUSF NF Instance (see TS 29.510)."; grouping SuciInfoGrp { - description "This data type represents SUCI information containing + description "This data type represents SUCI information containing Routing Indicator and Home Network Public Key ID. (See TS 29.510)"; - + leaf-list routingInds { type string; min-elements 1; - description "It indicates served Routing Indicator (see TS 23.003, - clause 2.2B). If not provided, the AUSF/UDM + description "It indicates served Routing Indicator (see TS 23.003, + clause 2.2B). If not provided, the AUSF/UDM can serve any Routing Indicator."; } - + leaf-list hNwPubKeyIds { type int64; min-elements 1; - description "It indicating served Home Network Public Key - (see TS 23.003, clause 2.2B). If not provided, the AUSF/UDM + description "It indicating served Home Network Public Key + (see TS 23.003, clause 2.2B). If not provided, the AUSF/UDM can serve any public key."; } } - + leaf nFSrvGroupId { type string; - mandatory false; config false; yext3gpp:inVariant; yext3gpp:notNotifyable; - description "This parameter defines identity of the group that is + description "This parameter defines identity of the group that is served by the NF instance (See TS 29.510)."; } - - list supiRanges { - description "It represents list of ranges of SUPIs that can be served + + list supiRanges { + description "It represents list of ranges of SUPIs that can be served by the PCF instance."; key idx; leaf idx { type uint32 ; } - uses nfp3gpp:SupiRange; + uses mnfp3gpp:SupiRangeGrp; } - + leaf-list routingIndicators { - description "This attribute represents a list of Routing Indicator - information that allows to route network signalling with SUCI + description "This attribute represents a list of Routing Indicator + information that allows to route network signalling with SUCI (see TS 23.003 [13]) to the AUSF instance. If not provided, the AUSF can serve any Routing Indicator."; type string { pattern "[0-9]{1,4}"; } } - + list suciInfos { - description "This attribute represents a list of SuciInfo. A SUCI - that matches this information can be served by the AUSF. - A SUCI that matches all attributes of at least one entry in this + description "This attribute represents a list of SuciInfo. A SUCI + that matches this information can be served by the AUSF. + A SUCI that matches all attributes of at least one entry in this array shall be considered as a match of this information."; key idx; leaf idx { type uint32 ; } uses SuciInfoGrp; - } + } } - + grouping AUSFFuntionGrp { description "Represents the AUSFFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNInfoList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -107,31 +105,34 @@ module _3gpp-5gc-nrm-ausffunction { leaf idx { type uint32 ; } uses types5g3gpp:PLMNInfo; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list managedNFProfile { + description "This data type represents a Profile definition + of a Managed NF"; key idx; + leaf idx { type uint32 ; } min-elements 1; max-elements 1; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } - + list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } - + list ausfInfo { - description "It represents the information of an AUSF NF Instance + description "It represents the information of an AUSF NF Instance (see TS 29.510)"; key idx; min-elements 1; @@ -140,7 +141,7 @@ module _3gpp-5gc-nrm-ausffunction { uses AusfInfoGrp; } } - + augment "/me3gpp:ManagedElement" { list AUSFFunction { description "5G Core AUSF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-dnfunction.yang b/yang-models/_3gpp-5gc-nrm-dnfunction.yang index fb3a27d251056c02e10f89bf739ed473fb97c6a4..67180d2bf227397ee91c7d6e4ba51bbdda019649 100755 --- a/yang-models/_3gpp-5gc-nrm-dnfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-dnfunction.yang @@ -1,32 +1,32 @@ module _3gpp-5gc-nrm-dnfunction { yang-version 1.1; - - namespace urn:3gpp:sa5_3gpp-5gc-nrm-dnfunction; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-dnfunction; prefix dn3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } - + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC is defined only to describe the IOCs representing Data Network (DN) interaction interface with 5GC (i.e. EP_N6). It has no attributes defined. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1552 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-05-15 { - description "initial revision"; - } - + revision 2019-05-15 { reference "initial revision"; } + grouping DNFunctionGrp { uses mf3gpp:ManagedFunctionGrp; } - + augment "/me3gpp:ManagedElement" { list DNFunction { description "5G Core DN Function"; diff --git a/yang-models/_3gpp-5gc-nrm-ep.yang b/yang-models/_3gpp-5gc-nrm-ep.yang index 73854e5d45fa034761d8579167207f964b15d391..52cd3f5b6f7d36b1624cb901c729c98415f17e3d 100755 --- a/yang-models/_3gpp-5gc-nrm-ep.yang +++ b/yang-models/_3gpp-5gc-nrm-ep.yang @@ -1,8 +1,8 @@ module _3gpp-5gc-nrm-ep { yang-version 1.1; - namespace "urn:3gpp:tsg:sa5:nrm:_3gpp-5gc-nrm-ep"; - prefix "cep3gpp"; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-ep; + prefix cep3gpp; + import _3gpp-common-ep-rp { prefix eprp3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-5gc-nrm-affunction { prefix af3gpp; } @@ -23,167 +23,167 @@ module _3gpp-5gc-nrm-ep { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } 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 the 5GC related endpoint - Information Object Classes (IOCs) that are part of the 5G Core + Information Object Classes (IOCs) that are part of the 5G Core Network Resource Model. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2024-08-19 { reference CR-1314 ; } - revision 2023-09-18 { reference CR-1043 ; } - revision 2019-11-18 { - description "Ericsson refactoring."; - } - - revision 2018-07-31 { - description "Initial revision"; - } - + + revision 2025-07-25 { reference CR-1558 ; } + revision 2024-08-19 { reference CR-1314 ; } + revision 2023-09-18 { reference CR-1043 ; } + revision 2019-11-18 { reference "Ericsson refactoring."; } + revision 2018-07-31 { reference "Initial revision"; } + grouping EP_N2Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N3Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N4Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N5Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N6Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N7Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N8Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N9Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N10Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N11Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N12Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N13Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N14Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N15Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N16Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N17Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N20Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N21Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N22Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N26Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N27Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N31Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N32Grp { uses eprp3gpp:EP_Common; - container remotePlmnId { + list remotePlmnId { + key idx; + leaf idx { type uint32;} description "PLMN Identifiers of the remote sepp. - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + The PLMN Identifier is composed of a Mobile Country Code + (MCC) and a Mobile Network Code (MNC)."; uses types3gpp:PLMNId; } - - leaf remoteSeppAddress { + + leaf remoteSeppAddress { description "The host address of the SEPP."; type inet:host; } - leaf remoteSeppId { + leaf remoteSeppId { type uint16; - } + } leaf n32cParas { type string; - } + } leaf n32fPolicy { type string; - } + } leaf withIPX { type boolean; - } + } } - + grouping EP_S5CGrp { uses eprp3gpp:EP_Common; } - + grouping EP_S5UGrp { uses eprp3gpp:EP_Common; } - + grouping EP_RxGrp { uses eprp3gpp:EP_Common; } - + grouping EP_MAP_SMSCGrp { uses eprp3gpp:EP_Common; } - + grouping EP_NLSGrp { uses eprp3gpp:EP_Common; } - + grouping EP_NL2Grp { uses eprp3gpp:EP_Common; } - + grouping EP_SBI_IPXGrp { uses eprp3gpp:EP_Common; leaf-list sBIService { @@ -192,7 +192,7 @@ module _3gpp-5gc-nrm-ep { type string; } } - + augment "/me3gpp:ManagedElement/af3gpp:AFFunction" { list EP_N6 { description "Represents the EP_N6 IOC."; @@ -202,7 +202,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N6Grp; } } - + list EP_Rx { description "Represents the EP_Rx IOC."; key id; @@ -212,7 +212,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/amf3gpp:AMFFunction" { list EP_N2 { description "Represents the EP_N2 IOC."; @@ -222,7 +222,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N2Grp; } } - + list EP_N8 { description "Represents the EP_N8 IOC."; key id; @@ -231,7 +231,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N8Grp; } } - + list EP_N11 { description "Represents the EP_N11 IOC."; key id; @@ -240,7 +240,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N11Grp; } } - + list EP_N12 { description "Represents the EP_N12 IOC."; key id; @@ -249,7 +249,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N12Grp; } } - + list EP_N14 { description "Represents the EP_N14 IOC."; key id; @@ -258,7 +258,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N14Grp; } } - + list EP_N15 { description "Represents the EP_N15 IOC."; key id; @@ -267,7 +267,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N15Grp; } } - + list EP_N17 { description "Represents the EP_N17 IOC."; key id; @@ -276,7 +276,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N17Grp; } } - + list EP_N20 { description "Represents the EP_N20 IOC."; key id; @@ -285,7 +285,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N20Grp; } } - + list EP_N22 { description "Represents the EP_N22 IOC."; key id; @@ -294,7 +294,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N22Grp; } } - + list EP_N26 { description "Represents the EP_N26 IOC."; key id; @@ -303,7 +303,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N26Grp; } } - + list EP_NLS { description "Represents the EP_NLS IOC."; key id; @@ -312,7 +312,7 @@ module _3gpp-5gc-nrm-ep { uses EP_NLSGrp; } } - + list EP_NL2 { description "Represents the EP_NL2 IOC."; key id; @@ -322,7 +322,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/ausf3gpp:AUSFFunction" { list EP_N12 { description "Represents the EP_N12 IOC."; @@ -332,7 +332,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N12Grp; } } - + list EP_N13 { description "Represents the EP_N13 IOC."; key id; @@ -340,9 +340,9 @@ module _3gpp-5gc-nrm-ep { container attributes { uses EP_N13Grp; } - } + } } - + augment "/me3gpp:ManagedElement/dn3gpp:DNFunction" { list EP_N6 { description "Represents the EP_N6 IOC."; @@ -353,7 +353,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/lmf3gpp:LMFFunction" { list EP_NLS { description "Represents the EP_NLS IOC."; @@ -364,7 +364,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/n3iwf3gpp:N3IWFFunction" { list EP_N2 { description "Represents the EP_N2 IOC."; @@ -374,7 +374,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N2Grp; } } - + list EP_N3 { description "Represents the EP_N3 IOC."; key id; @@ -384,7 +384,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/ngeir3gpp:NGEIRFunction" { list EP_N17 { description "Represents the EP_N17 IOC."; @@ -395,7 +395,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/nrf3gpp:NRFFunction" { list EP_N27 { description "Represents the EP_N27 IOC."; @@ -404,10 +404,10 @@ module _3gpp-5gc-nrm-ep { container attributes { uses EP_N26Grp; } - } + } } - + augment "/me3gpp:ManagedElement/nssf3gpp:NSSFFunction" { list EP_N22 { description "Represents the EP_N22 IOC."; @@ -417,7 +417,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N22Grp; } } - + list EP_N31 { description "Represents the EP_N31 IOC."; key id; @@ -427,7 +427,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { list EP_N5 { description "Represents the EP_N5 IOC."; @@ -437,7 +437,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N5Grp; } } - + list EP_N7 { description "Represents the EP_N7 IOC."; key id; @@ -446,7 +446,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N7Grp; } } - + list EP_N15 { description "Represents the EP_N15 IOC."; key id; @@ -455,7 +455,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N15Grp; } } - + list EP_N16 { description "Represents the EP_N16 IOC."; key id; @@ -464,7 +464,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N16Grp; } } - + list EP_Rx { description "Represents the EP_Rx IOC."; key id; @@ -474,7 +474,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/sepp3gpp:SEPPFunction" { list EP_N32 { description "Represents the EP_N32 IOC."; @@ -485,7 +485,7 @@ module _3gpp-5gc-nrm-ep { } } - } + } augment "/me3gpp:ManagedElement/smsf3gpp:SMSFFunction" { list EP_N20 { description "Represents the EP_20 IOC."; @@ -495,7 +495,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N20Grp; } } - + list EP_N21 { description "Represents the EP_N21 IOC."; key id; @@ -504,7 +504,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N21Grp; } } - + list EP_MAP_SMSC { description "Represents the EP_MAP_SMSC IOC."; key id; @@ -514,7 +514,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { list EP_N4 { description "Represents the EP_N4 IOC."; @@ -524,7 +524,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N4Grp; } } - + list EP_N7 { description "Represents the EP_N7 IOC."; key id; @@ -533,7 +533,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N7Grp; } } - + list EP_N10 { description "Represents the EP_N10 IOC."; key id; @@ -542,7 +542,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N10Grp; } } - + list EP_N11 { description "Represents the EP_N11 IOC."; key id; @@ -551,7 +551,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N11Grp; } } - + list EP_N16 { description "Represents the EP_N16 IOC."; key id; @@ -560,7 +560,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N16Grp; } } - + list EP_S5C { description "Represents the EP_S5C IOC."; key id; @@ -570,7 +570,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/udm3gpp:UDMFunction" { list EP_N8 { description "Represents the EP_N8 IOC."; @@ -580,7 +580,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N8Grp; } } - + list EP_N10 { description "Represents the EP_N10 IOC."; key id; @@ -589,7 +589,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N10Grp; } } - + list EP_N13 { description "Represents the EP_N13 IOC."; key id; @@ -600,7 +600,7 @@ module _3gpp-5gc-nrm-ep { } } - + augment "/me3gpp:ManagedElement/upf3gpp:UPFFunction" { list EP_N4 { description "Represents the EP_N4 IOC."; @@ -610,7 +610,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N4Grp; } } - + list EP_N3 { description "Represents the EP_N3 IOC."; key id; @@ -619,7 +619,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N3Grp; } } - + list EP_N9 { description "Represents the EP_N9 IOC."; key id; @@ -628,7 +628,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N9Grp; } } - + list EP_S5U { description "Represents the EP_S5U IOC."; key id; @@ -637,7 +637,7 @@ module _3gpp-5gc-nrm-ep { uses EP_S5UGrp; } } - + list EP_EP_N6 { description "Represents the EP_N6 IOC."; key id; diff --git a/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang index f516d33f7bbfbb61bbfcfee2418aea33b1d3ac1d..b44dd2119874ace88e19e1e485c92999f43625ed 100644 --- a/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang @@ -1,114 +1,130 @@ -module _3gpp-5gc-nrm-gmlcfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-5gc-nrm-gmlcfunction"; - prefix gmlc3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This module defines the GMLC Function IOC per 3GPP TS 28.541. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, - TTA, TTC). All rights reserved."; - reference "3GPP TS 28.541"; - - revision 2025-03-25 { reference CR-1489 ; } - revision 2025-03-25 { - description "Initial revision."; - reference "3GPP TS 28.541"; - } - - grouping GmlcInfoGrp { - description "Information of a GMLC NF Instance (see TS 29.510, clause 6.1.6.2.41)."; - - leaf servingClientTypes { - description "Identity of the GMLC group that is served by the GMLC instance."; - type enumeration { - enum EMERGENCY_SERVICES { - description "External client for emergency services"; - } - enum VALUE_ADDED_SERVICES { - description "External client for value added services"; - } - enum PLMN_OPERATOR_SERVICES { - description "External client for PLMN operator services"; - } - enum LAWFUL_INTERCEPT_SERVICES { - description "External client for Lawful Intercept services"; - } - enum EXTERNAL_CLIENT_FOR_LAWFUL_INTERCEPT_SERVICES { - description "External client for PLMN Operator Broadcast services"; - } - enum PLMN_OPERATOR_OM { - description "External client for PLMN Operator O&M"; - } - enum PLMN_OPERATOR_ANONYMOUS_STATISTICS { - description "External client for PLMN Operator anonymous statistics"; - } - enum PLMN_OPERATOR_TARGET_MS_SERVICE_SUPPORT { - description "External client for PLMN Operator target MS service support"; - } - } - - } - leaf gmlcNumbers{ - type string{ - pattern "^[0-9]{5,15}$"; - } - description "This attribute represents each item of the array - shall carry an OctetString indicating the ISDN number of the GMLC in - international number format as described in ITU-T Rec. E.164 [94] and - shall be encoded as a TBCD-string."; - - } - } - - grouping GMLCFunctionGrp { - description "GMLC Function IOC grouping."; - uses mf3gpp:ManagedFunctionGrp; - - list pLMNInfoList { - key "idx"; - leaf idx { type uint32; } - min-elements 1; - uses types3gpp:PLMNId; - uses types5g3gpp:SNssai; - } - leaf sBIFqdn { - type string; - description "FQDN of the registered NF instance in the service-based interface."; - } - list managedNFProfile { - description "This parameter defines profile for managed NF. See TS 23.501"; - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - list commModelList { - key "groupId"; - min-elements 1; - uses types5g3gpp:CommModel; - } - list gmlcInfo { - key "idx"; - leaf idx { type uint32; } - max-elements 1; - uses GmlcInfoGrp; - } - } - augment "/me3gpp:ManagedElement" { - list GMLCFunction { - description "5G Core LMF Function defined in TS 23.501"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses GMLCFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-5gc-nrm-gmlcfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-5gc-nrm-gmlcfunction"; + prefix gmlc3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp;} + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This module defines the GMLC Function IOC per 3GPP TS 28.541. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-03-25 { reference CR-1489 ; } + revision 2025-03-25 { + description "Initial revision."; + reference "3GPP TS 28.541"; + } + + grouping GmlcInfoGrp { + description "Information of a GMLC NF Instance (see TS 29.510, + clause 6.1.6.2.41)."; + + leaf servingClientTypes { + description "Identity of the GMLC group that is served by + the GMLC instance."; + type enumeration { + enum EMERGENCY_SERVICES { + description "External client for emergency services"; + } + enum VALUE_ADDED_SERVICES { + description "External client for value added services"; + } + enum PLMN_OPERATOR_SERVICES { + description "External client for PLMN operator services"; + } + enum LAWFUL_INTERCEPT_SERVICES { + description "External client for Lawful Intercept services"; + } + enum EXTERNAL_CLIENT_FOR_LAWFUL_INTERCEPT_SERVICES { + description "External client for PLMN Operator Broadcast + services"; + } + enum PLMN_OPERATOR_OM { + description "External client for PLMN Operator O&M"; + } + enum PLMN_OPERATOR_ANONYMOUS_STATISTICS { + description "External client for PLMN Operator anonymous + statistics"; + } + enum PLMN_OPERATOR_TARGET_MS_SERVICE_SUPPORT { + description "External client for PLMN Operator target MS + service support"; + } + } + + } + leaf gmlcNumbers{ + type string{ + pattern "^[0-9]{5,15}$"; + } + description "This attribute represents each item of the array + shall carry an OctetString indicating the ISDN number of the GMLC in + international number format as described in ITU-T Rec. E.164 [94] and + shall be encoded as a TBCD-string."; + + } + } + + grouping GMLCFunctionGrp { + description "GMLC Function IOC grouping."; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNInfoList { + description "It defines the PLMN(s) of a Network Function. "; + key "idx"; + leaf idx { type uint32; } + min-elements 1; + uses types3gpp:PLMNId; + } + leaf sBIFqdn { + type string; + description "FQDN of the registered NF instance in the + service-based interface."; + } + list managedNFProfile { + description "This parameter defines profile for managed NF. + See TS 23.501"; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + } + list commModelList { + description "The attribute specifies a list of commModel which is + defined as a datatype (see clause 5.3.69). It can be used by NF + and NF services to interact with each other in 5G Core network "; + reference "see TS 23.501."; + key "groupId"; + min-elements 1; + uses types5g3gpp:CommModel; + } + list gmlcInfo { + description "This attribute represents information of an GMLC NF + Instance."; + key "idx"; + leaf idx { type uint32; } + max-elements 1; + uses GmlcInfoGrp; + } + } + augment "/me3gpp:ManagedElement" { + list GMLCFunction { + description "5G Core LMF Function defined in TS 23.501"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses GMLCFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-lmffunction.yang b/yang-models/_3gpp-5gc-nrm-lmffunction.yang index b7b954153e3baf28ad00fd21c72937ec497e3122..60456af69541c7000376638e599611269734d81e 100755 --- a/yang-models/_3gpp-5gc-nrm-lmffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-lmffunction.yang @@ -1,32 +1,34 @@ module _3gpp-5gc-nrm-lmffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-lmffunction; prefix lmf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-nr-nrm-ntnfunction { prefix ntn3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp;} organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the LMF function defined in 3GPP TS 23.501. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-07-25 { reference "CR-1558 CR-1585" ; } revision 2025-03-25 { reference CR-1489 ; } - revision 2024-11-01 { reference CR-1405 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-11-01 { reference CR-1405 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-25 { reference "S5-194457 S5193518"; } revision 2019-05-15 { reference "initial revision"; } - + grouping LmfInfoGrp { description "Represents the LmfInfo datatype."; - + leaf-list servingClientTypes { type enumeration { enum EMERGENCY_SERVICES { @@ -51,22 +53,22 @@ module _3gpp-5gc-nrm-lmffunction { description "External client for PLMN Operator anonymous statistics"; } enum PLMN_OPERATOR_TARGET_MS_SERVICE_SUPPORT { - description "External client for PLMN Operator target MS service + description "External client for PLMN Operator target MS service support"; } } description "This attribute represents a list of external client type(s), - e.g. emergency client. The NRF should only include this LMF instance - to NF discovery with 'client-type' query parameter indicating one of + e.g. emergency client. The NRF should only include this LMF instance + to NF discovery with 'client-type' query parameter indicating one of the external client types in the list. - Absence of this attribute means the LMF is not dedicated to serve + Absence of this attribute means the LMF is not dedicated to serve specific client types."; } leaf lmfId { type string; - description "This attribute represents the LMF identification. + description "This attribute represents the LMF identification. See clause 6.1.6.3.6 TS 29.572"; } @@ -75,10 +77,10 @@ module _3gpp-5gc-nrm-lmffunction { enum 3GPP_ACCESS; enum NON_3GPP_ACCESS; } - min-elements 1; - description "This attribute contains the access type (3GPP_ACCESS and/or + min-elements 1; + description "This attribute contains the access type (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF. - If not included, it shall be assumed the both access types are + If not included, it shall be assumed the both access types are supported."; } @@ -89,27 +91,27 @@ module _3gpp-5gc-nrm-lmffunction { enum ENB; } min-elements 1; - description "This attribute contains the AN node type (i.e. gNB or NG-eNB) + description "This attribute contains the AN node type (i.e. gNB or NG-eNB) supported by the LMF. - If not included, it shall be assumed that all AN node types are + If not included, it shall be assumed that all AN node types are supported."; } leaf-list servingRatTypes { type string; min-elements 1; - description "This attribute contains the RAT type (e.g. 5G NR, eLTE or - any of the RAT Types specified for NR satellite access) supported by + description "This attribute contains the RAT type (e.g. 5G NR, eLTE or + any of the RAT Types specified for NR satellite access) supported by the LMF. - If not included, it shall be assumed that all RAT types are supported + If not included, it shall be assumed that all RAT types are supported allowedValues: see clause 5.4.3.2 of TS 29.571"; } list taiList { - description "This attribute contains TAI list that the LMF can serve. + description "This attribute contains TAI list that the LMF can serve. It may contain one or more non-3GPP access TAIs. - The absence of both this attribute and the taiRangeList attribute - indicates that the LMF can be selected for any TAI in the serving + The absence of both this attribute and the taiRangeList attribute + indicates that the LMF can be selected for any TAI in the serving network."; min-elements 1; key idx; @@ -118,9 +120,9 @@ module _3gpp-5gc-nrm-lmffunction { } list taiRangeList { - description "This attribute contains TAI range list that the LMF can - serve. It may contain one or more non-3GPP access TAI ranges. - The absence of both this attribute and the taiList attribute indicates + description "This attribute contains TAI range list that the LMF can + serve. It may contain one or more non-3GPP access TAI ranges. + The absence of both this attribute and the taiList attribute indicates that the LMF can be selected for any TAI in the serving network."; min-elements 1; key idx; @@ -146,7 +148,7 @@ module _3gpp-5gc-nrm-lmffunction { description "indicates Ellipsoid point with altitude"; } enum POINT_ALTITUDE_UNCERTAINTY { - description "indicates Ellipsoid point with altitude and + description "indicates Ellipsoid point with altitude and uncertainty ellipsoid"; } enum ELLIPSOID_ARC { @@ -161,65 +163,65 @@ module _3gpp-5gc-nrm-lmffunction { } min-elements 1; description "This attribute contains the GAD shapes supported by the LMF. - If not included, it doesn't indicate that the LMF doesn't support any + If not included, it doesn't indicate that the LMF doesn't support any GAD shapes. The allowedValues are: see clause 6.1.6.3.4 of TS 29.572 "; } } grouping TrpMappingInfoGrp { - description "This data type represents the mapping relationship between + description "This data type represents the mapping relationship between satellite and TRPs."; - + leaf satelliteId { type string { pattern '[0-9]{5}'; } mandatory true; - description "This attribute indicates satellite Id. It shall be formatted - as a fixed 5-digit string, padding with leading digits '0' to complete + description "This attribute indicates satellite Id. It shall be formatted + as a fixed 5-digit string, padding with leading digits '0' to complete a 5-digit length."; } - + leaf-list trpIds { type uint8 { range 1..max; } - description "This attribute indicates TRPs uniquely within an NG-RAN - node (see TS 38.455 clause 9.2.24). A gNB may serve several TRPs. + description "This attribute indicates TRPs uniquely within an NG-RAN + node (see TS 38.455 clause 9.2.24). A gNB may serve several TRPs. For NTN, a TRP may be located on board the satellite."; } } - + grouping TrpInfoGrp { - description "This data type represents the mapping relationship between + description "This data type represents the mapping relationship between gNB and TRPs."; - + leaf gNBId { type uint32; mandatory true; - description "It identifies a gNB within a PLMN. The gNB ID is part of + description "It identifies a gNB within a PLMN. The gNB ID is part of the NR Cell Identifier (NCI) of the gNB cells. - See 'gNB Identifier (gNB ID)' of subclause 8.2 of TS 38.300. See + See 'gNB Identifier (gNB ID)' of subclause 8.2 of TS 38.300. See 'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; } - + list trpMappingInfoList { description "This is the list of TRP mapping between satellite and TRPs."; min-elements 1; key idx; leaf idx { type uint32; } uses TrpMappingInfoGrp; - } + } } - + grouping LMFFunctionGrp { uses mf3gpp:ManagedFunctionGrp; list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -227,17 +229,18 @@ module _3gpp-5gc-nrm-lmffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + list managedNFProfile { description "This parameter defines profile for managed NF. See TS 23.501"; key idx; + leaf idx { type uint32;} min-elements 1; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { - description "The attribute specifies a list of commModel. It can be used - by NF and NF services to interact with each other in 5G Core network + description "The attribute specifies a list of commModel. It can be used + by NF and NF services to interact with each other in 5G Core network (see TS 23.501)"; min-elements 1; key "groupId"; @@ -253,7 +256,7 @@ module _3gpp-5gc-nrm-lmffunction { } list mappedCellIdInfoList { - description "It provides the list of mapping between GEO area and + description "It provides the list of mapping between GEO area and Mapped Cell ID."; key idx; leaf idx { type uint32; } @@ -269,15 +272,30 @@ module _3gpp-5gc-nrm-lmffunction { } list trpInfoList { - description "This is the list of TRP (Transmission-Reception Point) + description "This is the list of TRP (Transmission-Reception Point) related information on LMF (see TS 38.305 clause 5.4.4)."; min-elements 1; key idx; leaf idx { type uint32; } uses TrpInfoGrp; } + + leaf-list mLModelRefList { + type types3gpp:DistinguishedName; + description "This attribute holds a DN list of MLModel."; + reference "3GPP TS 28.105"; + config false; + } + + leaf-list aIMLInferenceFunctionRefList { + type types3gpp:DistinguishedName; + description "This attribute holds a DN list of + aIMLInferenceFunction"; + reference "3GPP TS 28.105"; + config false; + } } - + augment "/me3gpp:ManagedElement" { list LMFFunction { description "5G Core LMF Function defined in TS 23.501"; diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang new file mode 100755 index 0000000000000000000000000000000000000000..e7e5dc38431feb199442bb98f0bffba530d845f5 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -0,0 +1,670 @@ +module _3gpp-5gc-nrm-managed-nfprofile { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-managed-nfprofile; + prefix mnfp3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import ietf-inet-types { prefix inet; } + import ietf-yang-types { prefix yang; } + import _3gpp-5gc-nrm-nfservice { prefix nfs3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + +organization "3gpp SA5"; +contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; +description "NF profile class. +Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, +TTA, TTC). All rights reserved."; + reference "3GPP TS 29.510"; + +revision 2025-07-25 { reference CR-1558 ; } + revision 2025-07-25 { reference "initial revision"; } + + grouping SPNInfoIdGrp { + description "This data type represents the SNPN identification + consisting of MCC, MNC, and optionally NID."; + leaf mcc { + type string; + description "Mobile Country Code (MCC) of the SNPN."; + } + + leaf mnc { + type string; + description "Mobile Network Code (MNC) of the SNPN."; + } + + leaf nId { + type string; + description "Network Identifier (NID) of the SNPN."; + } + } + grouping CollocatedNfInstanceGrp { + description "This data type represents the SNPN identification + consisting of MCC, MNC, and optionally NID."; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + mandatory true; + type string; + } + + leaf nfType { + description "Type of Network Function."; + mandatory true; + type types3gpp:NfType; + } + } + grouping SupiRangeGrp { + leaf start { + description "First value identifying the start ofa SUPI range.To be + used when the range of SUPI's can be represented as a numeric range + (e.g., IMSI ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf end { + description "Last value identifying the end of a SUPI range.To be + used when the range of SUPI's can be represented as a numeric range + (e.g. IMSI ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf pattern { + description "Pattern representing the set of SUPI's belonging to + this range.A SUPI value is considered part of the range if and + only if the SUPI string fully matches the regular expression."; + type string; + } + } + + grouping ConditionItemGrp { + description "This data type represents a single condition item that + shall be evaluated to determine whether a discovered NF (Service) + Instance shall be selected."; + + leaf consumerNfTypes { + description "It represents the NF types of the consumers for + which the conditions included in this ConditionItem apply. + If this attribute is absent, the conditions are applicable + to all NF consumer types."; + type types3gpp:NfType; + } + leaf serviceFeature { + description "It represents a feature number of that NF Service + Instance,under CANARY_RELEASE status. This attribute only + applies when the selectionConditions, where this + ConditionItem is included, is included in a NF Service Instance + This condition is evaluated to when the service requests + froma consumer of this NF Service Instance require the support + of the indicated feature on the NF Service Instance."; + type uint32; // positive integer, 0 excluded by context + } + leaf vsServiceFeature { + description "It represents a Vendor-Specific feature + number of thatNF Service Instance, under CANARY_RELEASE + status. This attribute only applies when the + selectionConditions, where this ConditionItem is included, + is included in a NF Service Instance.This condition is + evaluated to true when the service requests from a + consumer of this NF Service Instance require the support + of the indicated Vendor-Specific feature on the NF + Service Instance."; + type uint32; + } + list supiRangeList { + description "It represents a set of SUPIs for which + the NF (Service) instance under CANARY_RELEASE status shall + be selected."; + key idx; + leaf idx { type uint32; } + uses SupiRangeGrp; + } + list gpsiRangeList { + description "It represents a set of GPSIs for which the NF + (Service) + instance under CANARY_RELEASE status shall be selected"; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses IdentityRange; + } + list impuRangeList { + description "It represents a set of IMS Public Identities + for which the NF (Service) instance under CANARY_RELEASE + status shall be selected"; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses IdentityRange; + } + list impiRangeList { + description "It represents a set of IMS Private Identities + for which theNF (Service) instance under + CANARY_RELEASE status shall be selected."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses IdentityRange; + } + leaf peiList { + description "It represents a set of PEIs of the UEs for + which the NF(Service) instance under CANARY_RELEASE status + shall be selected"; + type string; + } + list taiRangeList { + description "It represents a set of TAIs where the + NF(Service) instance under CANARY_RELEASE status shall + be selected for a certain UE"; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + leaf dnnList { + description " It represents a set of TAIs where the NF + (Service) instance under CANARY_RELEASE status shall be + selected for a certain UE"; + type string; + } + } + grouping PlmnSnssai { + list plmnId { + description "PLMN ID for which list of supported S-NSSAI(s) + is provided."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + list sNssaiList { + description "The specific list of S-NSSAIs supported + by the given PLMN."; + min-elements 1; + max-elements 1; + key "sst sd"; + uses types5g3gpp:SNssai; + } + leaf nid { + description "Network Identity; Shall be present if PlmnIdNid + identifies an SNPN "; + reference "see clauses 5.30.2.3, 5.30.2.9, 6.3.4, + and 6.3.8 in 3GPP TS 23.501 "; + type string; + } + } + + grouping ConditionGroupGrp { + description "This <> represents a group of conditions that + shall be evaluated to determine whether a discovered NF (Service) + Instanceshall be selected. (See clause 6.1.6.2.125 TS 29.510 [23])."; + + choice LogicalOperator{ + case and { + list and { + description "It represents a list of conditions where the + overall evaluation is true only if all the conditions + in the list are evaluated as true."; + key idx; + leaf idx { type uint32; } + uses SelectionConditionsGrp; + } + + } + case or{ + list or { + description "It represents a list of conditions where the + overall evaluation is true if at least one of the conditions + in the list evaluated as true"; + key idx; + leaf idx { type uint32; } + uses SelectionConditionsGrp; + } + } + } + + } + + grouping SelectionConditionsGrp { + description "This data type represents the list of conditions that + shall be selected by an NF Service Consumer."; + reference "(See clause 6.1.6.2.123 TS 29.510 [23])"; + + list conditionItem{ + key "id"; + description "It represent a single condition item that shall be + evaluated Instance shall be selected."; + leaf id{ + type string; + } + uses ConditionItemGrp; + } + + // circular dependency for grouping "ConditionGroupGrp" introduced in + //stage 2 + // container conditionGroup{ + // description "It represents a group of conditions + // that shall be evaluated"; + // uses ConditionGroupGrp; + // } + + } + + grouping IdentityRange { + leaf start { + description "First value identifying the start of an identity range. + To be used when the range of identities can be represented + as a numeric range (e.g., MSISDN ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + leaf end {type string; } // dummy + leaf pattern {type string; } // dummy + } + +grouping ManagedNFProfileGrp { + + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + mandatory true; + type string; + } + + leaf nfType { + description "Type of Network Function."; + mandatory true; + type types3gpp:NfType; + } + + leaf nfStatus { + description "Status of the NF Instance."; + mandatory true; + type NFStatus; + } + list collocatedNfInstances { + description "It represents information related to collocated NF + type(s) and corresponding NF Instances when the NF is collocated + with NFs supporting other NF types."; + key "nfInstanceId"; + uses CollocatedNfInstanceGrp; + } + leaf nfInstanceName { + description "It represents human readable name of the NF Instance"; + type string; + } + + leaf heartBeatTimer { + description "Time in seconds expected between 2 consecutive + heart-beat messages from an NF Instance to the NRF. + It may be included in the registration request. + When present in the request it shall contain the + heartbeat time proposed by the NF service consumer."; + type uint16; + } + + list plmnList { + description "PLMN(s) of the Network Function. + This IE shall be present if this information + is available for the NF. If not provided, PLMN ID(s) + of the PLMN of the NRF are assumed for the NF."; + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNssais { + description "S-NSSAIs of the Network Function. If not + provided, the NF can serve any S-NSSAI. When present + this IE represents the list of S-NSSAIs supported in + all the PLMNs listed in the plmnList IE."; + min-elements 1; + key "sst sd"; + uses types5g3gpp:SNssai; + } + + leaf fqdn { + description "FQDN of the Network Function. For AMF, the + FQDN registered with the NRF shall be that of the AMF Name."; + type inet:domain-name; + } + + leaf hostAddr { + mandatory true; + type inet:host ; + description "Host address of a NF"; + } + + leaf authzInfo { + description "This parameter defines NF Specific Service authorization + information. It shall include the NF type (s) and NF realms/origins + allowed to consume NF Service(s) of NF Service Producer "; + reference "TS 23.501"; + type string; + } + + list allowedPlmns { + description "PLMNs allowed to access the NF instance. + If not provided, any PLMN is allowed to access the NF."; + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNPNList { + key "mcc mnc nId"; + description "SNPN(s) of the Network Function. This attributeIE shall be + present if the NF pertains to one or more SNPNs."; + reference "TS 29.510"; + uses SPNInfoIdGrp; + } + + list perPlmnSnssaiList { + description "It includes the S-NSSAIs supported by the Network Function + for each PLMN supported by the Network Function. When present, it shall + override sNssais IE.If the perPlmnSnssaiList attribute is provided in + at least one NF Service, the S-NSSAIs supported per PLMN in the + NF Profile shall be the set or a superset of the perPlmnSnssaiList + of the NFService(s)."; + key idx; + leaf idx { type uint32; } + uses PlmnSnssai; + } + + list allowedSNPNs { + description "SNPNs allowed to access the NF instance. + The absence of this attribute in the NF profile indicates that no SNPN, + other than the SNPN(s) registered in the snpnList attribute of the + NF Profile, is allowed to access the service instance"; + key "mCC mNC"; + uses nfs3gpp:SNPNIdGrp; + } + + leaf-list allowedNfTypes { + description "Type of the NFs allowed to access the NF instance. + If not provided, any NF type is allowed to access the NF."; + min-elements 1; + type types3gpp:NfType; + } + + leaf-list allowedNfDomains { + description "Pattern (regular expression according to the ECMA-262 + dialect [75]) representing the NF domain names within the PLMN of + the NRF allowed to access the NF instance If not provided, + any NF domain is allowed to access the NF."; + type string; + } + + list allowedNSSAIs { + description "S-NSSAI of the allowed slices to access the NF instance. + If not provided, any slice is allowed to access the NF."; + key "sst sd"; + uses types5g3gpp:SNssai; + } + + // list allowedRuleSet { + // description "S-NSSAI of the allowed slices to access the NF instance. + // If not provided, any slice is allowed to access the NF."; + // key "sst sd"; + // uses RuleSet;? +// } + leaf locality { + description "Operator defined information about the location + of the NF instance (e.g. geographic location, data center)."; + type string; + } + leaf extLocality { + description "It indicates the operator defined information about the + location of the NF instance. The key of the map shall be a (unique) + valid JSON string per clause 7 of IETF RFC 8259 [92], with a maximum + of 32 characters, representing a type of locality as defined in + clause 6.1.6.3.18."; + type string; + } + + leaf capacity { + description "Static capacity information in the range of 0-65535, + expressed as a weight relative to other NF instances of + the same type; if capacity is also present in the nfServiceList + parameters, those will have precedence over this value."; + type uint16; + } + + leaf load { + description "Dynamic load information, ranged from 0 to 100, + indicates the current load percentage of the NF."; + type types3gpp:Load; + } + leaf loadTimeStamp { + description "It indicates the point in time in which the latest load + information (sent by the NF in the load attribute of the NF Profile) + was generated at the NF Instance.If the NF did not provide a timestamp, + the NRF should set it to the instant when the NRF received the message + where the NF provided the latest load information."; + type yang:date-and-time ; + } + + leaf-list recoveryTime { + description "Timestamp when the NF was (re)started. The NRF shall notify + NFs subscribed to receiving notifications of changes of the NF profile, + if the NF recoveryTime is changed"; + type yang:date-and-time; + } + leaf nfServicePersistence { + description "This parameter indicates whether the different service + instances of a same NF Service in the NF instance, supporting a same + API version, are capable to persist their resource state in shared + storage and therefore these resources are available after a new NF + service instance supporting the same API version is selected by a NF + Service Consumer "; + reference "TS 29.510"; + type boolean; + } + leaf-list nfSetIdList { + type string ; + min-elements 1; + description "A NF Set Identifier is a globally unique identifier of + a set of equivalent and interchangeable CP NFs from a given network + that provide distribution, redundancy and scalability + (see clause 5.21.3 of 3GPP TS 23.501 [2]).An NF Set Identifier shall + be constructed from the MCC, MNC, NID (for SNPN), NF type and a Set ID. + A NF Set Identifier shall be formatted as the following string: + set.set.5gc.mnc.mcc for a NF Set in a PLMN, or + set.set.5gc.nid.mnc.mcc for a NF Set + in a SNPN.At most one NF Set ID shall be indicated per PLMN-ID or SNPN + of the NF."; + } + leaf-list nfProfileChangesSupportInd { + description "This parameter indicates if the NF Service Consumer supports + or does not support receiving NF Profile Changes. It may be present in + the NFRegister or NFUpdate (NF Profile Complete Replacement) request and + shall be absent in the response (see Annex B 3GPP TS 29.510 [23]). "; + max-elements 1; + type boolean; + } + leaf-list nfProfilePartialUpdateChangesSupportInd { + description "It represents NF Profile Partial Update Changes Support + Indicator. TRUE: the NF Service Consumer supports receiving NF Profile + Changes in the response to an NF Profile Partial Update operation. + FALSE (default): the NF Service Consumer does not support receiving + NF Profile Changes in the response to an NF Profile Partial Update + operation"; + max-elements 1; + type boolean; + } + leaf-list nfProfileChangesInd { + description "NF Profile Changes Indicator. This IE shall be absent + in the request to the NRF and may be included by the NRF + in NFRegister or NFUpdate (NF Profile Complete Replacement) response. + true: the NF Profile contains NF Profile changes. + false (default): complete NF Profile."; + + type boolean; + max-elements 1; + } + list defaultNotificationSubscriptions { + description "Notification endpoints for different notification types. + This attribute may contain multiple default subscriptions for a same + notification type; in that case, those default subscriptions are used + as alternative notification endpoints."; + key notificationType; + min-elements 1; + uses types3gpp:DefaultNotificationSubscription; + } + leaf servingScope { + description "This parameter indicates the served geographical areas + of a NF instance."; + type string; + } + leaf-list lcHSupportInd { + description "This parameter indicates whether the NF supports or does + not support Load Control based on LCI Header."; + reference "clause 6.3 of 3gpp TS 29.500"; + max-elements 1; + type boolean; + } + leaf-list olcHSupportInd { + description "This parameter indicates whether the NF supports or does + not support Overload Control based on OCI Header ."; + reference "clause 6.4 of 3gpp TS 29.500"; + max-elements 1; + type boolean; + } + leaf-list nfSetRecoveryTimeList { + description "This parameter contains the recovery time of NF Set(s) + indicated by the NfSetId, where the NF instance belongs."; + type yang:date-and-time ; + max-elements 1; + } + leaf-list serviceSetRecoveryTimeList { + description "This parameter contains the recovery time of NF Service + Set(s) configured in the NF instance, which are indicated by the + NfServiceSetId"; + type yang:date-and-time ; + max-elements 1; + } + leaf scpDomains { + description "This parameter shall carry the list of SCP domains the + SCP belongs to, or the SCP domain the NF (other than SCP) or the SEPP + belongs to.."; + type string; + } + leaf vendorId { + description "Vendor ID of the NF instance, according to the + IANA-assigned SMI Network Management Private Enterprise Codes [77]. + allowedValues: 6 decimal digits; if the SMI code has less than + 6 digits, it shall be padded with leading digits 0 to complete + a 6-digit string value."; + type string; + } + leaf hniList { + description "Identifications of Credentials Holder or Default Credentials + Server. It is an array of FQDN."; + type string; + } + leaf-list interPlmnFqdn { + description "If the NF needs to be discoverable by other + NFs in a different PLMN, then an FQDN that is used + for inter-PLMN routing is specified."; + type inet:domain-name; + } + list nfServices { + description "List of NF Service Instances. It shall include + the services produced by the NF that can be + discovered by other NFs."; + key serviceInstanceID; + min-elements 1; + uses nfs3gpp:NFServiceGrp; + } + // leaf supportedVendorSpecificFeatures { + // description "It indicates a map of Vendor-Specific features, where the + // key of the map is the IANA-assigned SMI Network Management Private + // Enterprise Codes and the value of each entry of the map shall be + // a list (array) of VendorSpecificFeature objects as defined + // in the clause 5.3.247."; + // type string; + // min-elements 1; + // } attributeValuePair with no defintion anywhere + + list selectionConditions { + description "Identifications of Credentials Holder or Default Credentials + Server. It is an array of FQDN."; + leaf idx { type uint32; } + key "idx"; + uses SelectionConditionsGrp; + } + leaf-list canaryRelease { + description "This attribute indicates whether an NF instance whose + nfStatus is set to REGISTERED is in Canary Release condition, + i.e. it should only be selected by NF Service Consumers under the + conditions indicated by the selectionConditions attribute. + True: the NF is under Canary Release condition, even if the + nfStatus is set to REGISTERED + False: the NF instance indicates its Canary Release condition + via the nfStatus attribute"; + max-elements 1; + type boolean; + } + leaf-list exclusiveCanaryReleaseSelection { + description "This attribute indicates whether an NF Service + Consumer should only select an NF Service Producer in Canary + Release condition. + True: the consumer shall only select producers in Canary Release + condition + False: the consumer may select producers not in Canary Release + condition"; + max-elements 1; + type boolean; + } + leaf sharedProfileDataId { + description "This attribute indicates a string uniquely identifying + Shared Profile Data. The format of the sharedProfileDataId shall be + a Universally Unique Identifier (UUID) version 4, as described in + IETF RFC 4122 [44]. The hexadecimal letters should be formatted as + lower-case characters by the sender, and they shall be handled as + case-insensitive by the receiver. + Example: 4ace9d34-2c69-4f99-92d5-a73a3fe8e23b"; + type string; + } + leaf-list shutdownTime { + description "It indicates the timestamp when the NF Instance is + planned to be shut down. This attribute may be present if the + nfStatus is set to UNDISCOVERABLE due to scheduled shutdown"; + type yang:date-and-time ; + max-elements 1; + } + leaf supportedRcfs { + description "It represents a list of Resource Content Filter IDs"; + type string; + } + leaf canaryPrecedenceOverPreferred { + description "ManagedNFProfile.canaryPrecedenceOverPreferred This + attribute indicates whether the NRF shall prioritize the NF Service + Producer in Canary Release condition over the preferences + (preferred-xxx, ext-preferred-xxx) present in NF discovery requests. + allowedValues: + True NRF shall prioritize NF Service Producers in Canary Release + condition at NF discovery requests, i.e. NF Service Producers + determined according to preferred-xxx and/or ext-preferred-xxx + shall be prioritized after the NF Service Producers in Canary + Release condition. The associated NF (service) priorities for Service + Producers in Canary Release condition shall not be modified by NRF. + False NRF shall prioritize the NF Service Producers according to + preferred-xxx and/or ext-preferred-xxx (i.e. Canary Release condition + in NF Service Producers shall not be prioritized over NF Service + Consumer preferences at NF discovery requests)"; + type boolean; + } + typedef NFStatus { + type enumeration { + enum REGISTERED; + enum SUSPENDED; + } + } + +} +} + diff --git a/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang b/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang index 25dc7882754e566a63069349b6b468d7476eb5a9..e6f6e0e98bbb41006ad1002376e877564b2124c2 100755 --- a/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang @@ -1,34 +1,35 @@ module _3gpp-5gc-nrm-n3iwffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-n3iwffunction; prefix n3iwf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - + organization "3gpp SA5"; - description "This IOC represents the N3IWF function which is used to enable non-3GPP - access networks connected to the 5GC. For more information about the N3IWF, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, - TTA, TTC). All rights reserved."; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the N3IWF function which is used to enable + non-3GPP access networks connected to the 5GC. For more information about the + N3IWF, see 3GPP TS 23.501. Copyright 2023, 3GPP Organizational Partners + (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-05-22 { - description "initial revision"; - } - + revision 2019-05-22 { reference "initial revision"; } + grouping N3IWFFunctionGrp { uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). The PLMN Identifier is composed of + a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; max-elements 6; @@ -37,12 +38,16 @@ module _3gpp-5gc-nrm-n3iwffunction { } list commModelList { + description "The attribute specifies a list of commModel which is + defined as a datatype (see clause 5.3.69). It can be used by NF + and NF services to interact with each other in 5G Core network "; + reference "see TS 23.501."; min-elements 1; key "groupId"; uses types5g3gpp:CommModel; } } - + augment "/me3gpp:ManagedElement" { list N3IWFFunction { description "5G Core N3IWF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index 8b65a12760f4143e184ea3e038a91195d487dd2c..f2646d93e68a8b2cda55b07b413cfb2eb2cc4bfb 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -1,9 +1,9 @@ module _3gpp-5gc-nrm-neffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-neffunction; prefix nef3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } @@ -11,57 +11,63 @@ module _3gpp-5gc-nrm-neffunction { import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the NEF function in 5GC. For more + description "This IOC represents the NEF function in 5GC. For more information about the NEF, see 3GPP TS 23.501. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } - revision 2025-01-25 { reference CR-1442 ; } - revision 2024-05-18 { reference CR-1273 ; } - revision 2024-04-12 { reference CR-1218 ; } + revision 2025-01-25 { reference CR-1442 ; } + revision 2024-05-18 { reference CR-1273 ; } + revision 2024-04-12 { reference CR-1218 ; } revision 2023-09-18 { reference CR-1103 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } revision 2019-10-20 { reference "initial revision"; } - + grouping DnnInfoItemGrp { - description "This data type represents set of parameters supported by NF + description "This data type represents set of parameters supported by NF for a given S-NSSAI. (See clause 6.1.6.2.97 of TS 29.510)"; - + leaf dnn { type string; mandatory true; - description "It represents supported DNN or Wildcard DNN if the NF - supports all DNNs for the related S-NSSAI. The DNN shall contain the - Network Identifier and it may additionally contain an Operator - Identifier. If the Operator Identifier is not included, the DNN is - supported for all the PLMNs in the plmnList of the NF Profile."; + description "String representing a Data Network as defined in clause 9A + of 3GPP TS 23.003; it shall contain either a DNN Network Identifier, + or a full DNN with both the Network Identifier and Operator Identifier, + as specified in 3GPP TS 23.003 clause 9.1.1 and 9.1.2. It shall be + coded as string in which the labels are separated by dots + (e.g. 'Label1.Label2.Label3'). + + Whether the dnn data type contains just the DNN Network Identifier, or + the Network Identifier plus the Operator Identifier, shall be + documented in each API where this data type is used."; } } - + grouping SnssaiInfoItemGrp { - description "This data type represents set of parameters supported by NF + description "This data type represents set of parameters supported by NF for a given S-NSSAI. (See clause 6.1.6.2.97 of TS 29.510)"; - + list sNssai { - description "It represents the S-NSSAI the NetworkSlice managed object - is supporting. The S-NSSAI is defined in TS 23.003."; + description "It represents the S-NSSAI the NetworkSlice managed object + is supporting. The S-NSSAI is defined in TS 23.003."; min-elements 1; key idx; leaf idx { type uint32 ; } uses types5g3gpp:SNssai; } - + list dnnInfoList{ - description "It represents list of parameters supported by the + description "It represents list of parameters supported by the NF per DNN."; min-elements 1; key idx; @@ -69,61 +75,61 @@ module _3gpp-5gc-nrm-neffunction { uses DnnInfoItemGrp; } } - + grouping AfEventExposureDataGrp { - description "This data type represents the AF Event Exposure data managed + description "This data type represents the AF Event Exposure data managed by a given NEF Instance. (See clause 6.1.6.2.50 TS 29.510"; - + leaf-list afEvents { // stage 2 double defined type string; min-elements 1; - description "It represents AF Event(s) exposed by the NEF after + description "It represents AF Event(s) exposed by the NEF after registration of the AF(s) at the NEF."; } - + leaf-list afIds { type string; min-elements 1; - description "It represents list of application function identifiers of + description "It represents list of application function identifiers of the managed PFDs."; } - + leaf-list appIds { // stage 2 shaky type string; min-elements 1; description "It represents list of internal application identifiers."; } } - + grouping PfdDataGrp { - description "This data type represents the list of Application IDs - and/or AF IDs managed by a given NEF Instance. + description "This data type represents the list of Application IDs + and/or AF IDs managed by a given NEF Instance. (See clause 6.1.6.2.49 TS 29.510)"; - + leaf-list appIds { // stage 2 shaky type string; min-elements 1; description "It represents list of internal application identifiers."; } - + leaf-list afIds { type string; min-elements 1; - description "It represents list of application function identifiers of + description "It represents list of application function identifiers of the managed PFDs."; } } - + grouping UnTrustAfInfoGrp { - description "This data type represents information of an untrusted AF + description "This data type represents information of an untrusted AF Instance. (See clause 6.1.6.2.95 TS 29.510)"; - + leaf afId { type string; mandatory true; description "It represents associated AF id."; } - + list sNssaiInfoList { description "It represents S-NSSAIs and DNNs supported by the AF."; min-elements 1; @@ -131,21 +137,21 @@ module _3gpp-5gc-nrm-neffunction { leaf idx { type uint32 ; } uses SnssaiInfoItemGrp; } - + leaf mappingInd { type boolean; yext3gpp:initial-value false; - description "When present, this attribute indicates whether the - AF supports mapping between UE IP address (IPv4 address or IPv6 prefix) + description "When present, this attribute indicates whether the + AF supports mapping between UE IP address (IPv4 address or IPv6 prefix) and UE ID (i.e. GPSI). True: the AF supports mapping between UE IP address and UE ID; - False: the AF does not support mapping between UE IP address + False: the AF does not support mapping between UE IP address and UE ID."; } } - + grouping NefInfoGrp { - description "This data type represents information of an NEF Instance. + description "This data type represents information of an NEF Instance. (See clause 6.1.6.2.48 TS 29.510)."; list taiList { @@ -167,73 +173,73 @@ module _3gpp-5gc-nrm-neffunction { leaf idx { type uint32 ; } uses types5g3gpp:TaiRangeGrp; } - + leaf nefId { type string; mandatory true; - description "It represents the NEF ID. + description "It represents the NEF ID. (see clause 6.1.6.3.2 of TS 29.510)"; } - + list pfdData { config false; - description "It represents PFD data, containing the list of internal - application identifiers and/or the list of application function + description "It represents PFD data, containing the list of internal + application identifiers and/or the list of application function identifiers for which the PFDs can be provided. - Absence of this attribute indicates that the PFDs for any internal - application identifier and for any application function identifier + Absence of this attribute indicates that the PFDs for any internal + application identifier and for any application function identifier can be provided."; min-elements 1; key idx; leaf idx { type uint32 ; } uses PfdDataGrp; } - + list afEeData { config false; - description "It represents the AF provided event exposure data. The NEF + description "It represents the AF provided event exposure data. The NEF registers such information in the NRF on behalf of the AF."; min-elements 1; key idx; leaf idx { type uint32 ; } uses AfEventExposureDataGrp; } - + list gpsiRanges { - description "It represents list of ranges of GPSIs whose profile data + description "It represents list of ranges of GPSIs whose profile data is available."; min-elements 1; key idx; leaf idx { type uint32 ; } - uses nfp3gpp:IdentityRange; + uses mnfp3gpp:IdentityRange; } - - list externalGroupIdentifiersRanges { - description "It represents list of ranges of external groups whose + + list externalGroupIdentifiersRanges { + description "It represents list of ranges of external groups whose profile data is available."; // stage 2 definition is shaky min-elements 1; key idx; leaf idx { type uint32 ; } - uses nfp3gpp:IdentityRange; + uses mnfp3gpp:IdentityRange; } - + leaf-list servedFqdnList { type string; min-elements 1; - description "It represents pattern (regular expression according to - the ECMA-262 dialect [75]) representing the Domain names served by + description "It represents pattern (regular expression according to + the ECMA-262 dialect [75]) representing the Domain names served by the NEF."; } - + leaf-list dnaiList { type string; min-elements 1; - description "It represents list of Data network access identifiers - supported by the NEF. The absence of this attribute indicates that + description "It represents list of Data network access identifiers + supported by the NEF. The absence of this attribute indicates that the NEF can be selected for any DNAI."; } - + list unTrustAfInfoList { description "It represents list of information corresponding to the AFs."; min-elements 1; @@ -241,7 +247,7 @@ module _3gpp-5gc-nrm-neffunction { leaf idx { type uint32 ; } uses UnTrustAfInfoGrp; } - + leaf uasNfFunctionalityInd { type boolean; yext3gpp:initial-value false; @@ -250,42 +256,42 @@ module _3gpp-5gc-nrm-neffunction { - True: UAS NF functionality is supported by the NEF. - False (default): UAS NF functionality is not supported by the NEF"; } - + leaf multiMemAfSessQosInd { type boolean; default false; - description "This attribute indicates whether the NEF supports + description "This attribute indicates whether the NEF supports Multi-member AF session with required QoS functionality: - - TRUE: Multi-member AF session with required QoS functionality is + - TRUE: Multi-member AF session with required QoS functionality is supported by the NEF - - FALSE (default): Multi-member AF session with required QoS + - FALSE (default): Multi-member AF session with required QoS functionality is not supported by the NEF."; } - + leaf memberUESelAssistInd { type boolean; default false; - description "This attribute indicates whether the NEF supports member + description "This attribute indicates whether the NEF supports member UE selection assistance functionality: - - TRUE: member UE selection assistance functionality is supported by + - TRUE: member UE selection assistance functionality is supported by the NEF - - FALSE (default): member UE selection assistance functionality is + - FALSE (default): member UE selection assistance functionality is not supported by the NEF."; } } - + grouping NEFFunctionGrp { description "Represents the NEFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -300,20 +306,21 @@ module _3gpp-5gc-nrm-neffunction { min-elements 1; max-elements 1; key idx; - uses types3gpp:ManagedNFProfile; + leaf idx { type uint32;} + uses mnfp3gpp:ManagedNFProfileGrp; } - + leaf-list capabilityList { description "List of supported capabilities of the NEF."; reference "3GPP TS 23.003"; type string; } - + leaf isCAPIFSup { type boolean; yext3gpp:inVariant; } - + list nefInfo { description "This attribute represents information of an NEF NF Instance."; key idx; @@ -321,7 +328,7 @@ module _3gpp-5gc-nrm-neffunction { uses NefInfoGrp; } } - + augment "/me3gpp:ManagedElement" { list NEFFunction { description "5G Core NEF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang deleted file mode 100755 index 354d8b8ac4ea75c89ee5a5b5743c22db6a92f7e1..0000000000000000000000000000000000000000 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ /dev/null @@ -1,1521 +0,0 @@ -module _3gpp-5gc-nrm-nfprofile { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nfprofile; - prefix nfp3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import ietf-inet-types { prefix inet; } - import ietf-yang-types { prefix yang; } - import _3gpp-5gc-nrm-nfservice { prefix nfs3gpp; } - import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp; } - import _3gpp-5gc-nrm-lmffunction {prefix lmf3gpp; } - import _3gpp-5gc-nrm-gmlcfunction {prefix gmlc3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "NF profile class. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, - TTA, TTC). All rights reserved."; - reference "3GPP TS 29.510"; - - revision 2025-03-25 { reference CR-1489 ; } - revision 2025-01-25 { reference CR-1442 ; } - revision 2024-04-12 { reference CR-1218 ; } - revision 2023-11-18 { reference CR-1103 ; } - revision 2023-09-18 { reference CR-1043 ; } - revision 2023-02-14 { reference CR-0891; } - revision 2019-06-17 { reference "initial revision"; } - - grouping NFProfileGrp { - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - mandatory true; - type string; - } - - leaf nfType { - description "Type of Network Function."; - mandatory true; - type types3gpp:NfType; - } - - leaf nfStatus { - description "Status of the NF Instance."; - mandatory true; - type NFStatus; - } - - leaf heartBeatTimer { - description "Time in seconds expected between 2 consecutive - heart-beat messages from an NF Instance to the NRF. - It may be included in the registration request. - When present in the request it shall contain the - heartbeat time proposed by the NF service consumer."; - type uint16; - } - - list plmnList { - description "PLMN(s) of the Network Function. - This IE shall be present if this information - is available for the NF. If not provided, PLMN ID(s) - of the PLMN of the NRF are assumed for the NF."; - - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list sNssais { - description "S-NSSAIs of the Network Function. If not - provided, the NF can serve any S-NSSAI. When present - this IE represents the list of S-NSSAIs supported in - all the PLMNs listed in the plmnList IE."; - min-elements 1; - key "sst sd"; - uses Snssai; - } - - list perPlmnSnssaiList { - description "This IE may be included when the list of - S-NSSAIs supported by the NF for each PLMN it is supporting - is different. When present, this IE shall include the S-NSSAIs - supported by the Network Function for each PLMN supported by - the Network Function. When present, this IE shall - override sNssais IE."; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses PlmnSnssai; - } - - leaf-list nsiList { - description "NSI identities of the Network Function. - If not provided, the NF can serve any NSI."; - min-elements 1; - type string; - } - - leaf fqdn { - description "FQDN of the Network Function. For AMF, the - FQDN registered with the NRF shall be that of the AMF Name."; - type inet:domain-name; - } - - leaf interPlmnFqdn { - description "If the NF needs to be discoverable by other - NFs in a different PLMN, then an FQDN that is used - for inter-PLMN routing is specified."; - type inet:domain-name; - } - - leaf-list ipv4Addresses { - description "IPv4 address(es) of the Network Function."; - min-elements 1; - type inet:ipv4-address; - } - - leaf-list ipv6Addresses { - description "IPv6 address(es) of the Network Function."; - min-elements 1; - type inet:ipv6-address; - } - - list allowedPlmns { - description "PLMNs allowed to access the NF instance. - If not provided, any PLMN is allowed to access the NF."; - - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-list allowedNfTypes { - description "Type of the NFs allowed to access the NF instance. - If not provided, any NF type is allowed to access the NF."; - min-elements 1; - type types3gpp:NfType; - } - - leaf-list allowedNfDomains { - description "Pattern representing the NF domain names allowed - to access the NF instance. If not provided, - any NF domain is allowed to access the NF."; - min-elements 1; - type string; - } - - list allowedNssais { - description "S-NSSAI of the allowed slices to access the NF instance. - If not provided, any slice is allowed to access the NF."; - min-elements 1; - key "sst sd"; - uses Snssai; - } - - leaf priority { - description "Priority (relative to other NFs of the same type) - in the range of 0-65535, to be used for NF selection; - lower values indicate a higher priority. - If priority is also present in the nfServiceList - parameters, - those will have precedence over this value. - The NRF may overwrite the received priority value - when exposing - an NFProfile with the Nnrf_NFDiscovery service."; - type uint16; - } - - leaf capacity { - description "Static capacity information in the range of 0-65535, - expressed as a weight relative to other NF instances of - the same type; if capacity is also present in the nfServiceList - parameters, those will have precedence over this value."; - type uint16; - } - - leaf load { - description "Dynamic load information, ranged from 0 to 100, - indicates the current load percentage of the NF."; - type types3gpp:Load; - } - - leaf locality { - description "Operator defined information about the location - of the NF instance (e.g. geographic location, data center)."; - type string; - } - - grouping udrInfo { - - leaf groupId { - description "Identity of the UDR group that is served - by the UDR instance. - If not provided, the UDR instance does not pertain - to any UDR group."; - type string; - } - - list supiRanges { - description "List of ranges of SUPI's whose profile data - is available in the UDR instance."; - key "start end pattern"; - min-elements 1; - uses SupiRange; - } - - list gpsiRanges { - description "List of ranges of GPSIs whose profile data is - available in the UDR instance."; - key "start end pattern"; - min-elements 1; - uses IdentityRange; - } - - list externalGroupIdentifiersRanges { - description "List of ranges of external groups whose profile - data is available in the UDR instance."; - key "start end pattern"; - min-elements 1; - uses IdentityRange; - } - - leaf-list supportedDataSets { - description "List of supported data sets in the UDR instance. - If not provided, the UDR supports all data sets."; - min-elements 1; - type DataSetId; - } - } - - grouping udmInfo { - - leaf groupId { - description "Identity of the UDM group that is served by the - UDM instance. If not provided, the UDM instance does - not pertain to any UDM group."; - type string; - } - - list supiRanges { - description "List of ranges of SUPI's whose profile data is - available in the UDM instance."; - key "start end pattern"; - min-elements 1; - uses SupiRange; - } - - list gpsiRanges { - description "List of ranges of GPSIs whose profile data is - available in the UDM instance."; - key "start end pattern"; - min-elements 1; - uses IdentityRange; - } - - list externalGroupIdentifiersRanges { - description "List of ranges of external groups whose profile - data is available in the UDM instance."; - key "start end pattern"; - min-elements 1; - uses IdentityRange; - } - - leaf-list routingIndicators { - description "List of Routing Indicator information that allows - to route network signalling with SUCI - to the UDM instance. If not provided, - the UDM can serve any Routing Indicator. - Pattern: '^[0-9]{1,4}$'."; - min-elements 1; - type string; - } - } - - grouping ausfInfo { - - leaf groupId { - description "Identity of the AUSF group. If not provided, - the AUSF instance does not pertain to any AUSF group."; - type string; - } - - list supiRanges { - description "List of ranges of SUPIs that can be served by - the AUSF instance. If not provided, the AUSF can serve any SUPI."; - key "start end pattern"; - min-elements 1; - uses SupiRange; - } - - leaf-list routingIndicators { - description "List of Routing Indicator information that allows - to route network signalling with SUCI - to the AUSF instance. If not provided, - the AUSF can serve any Routing Indicator. - Pattern: '^[0-9]{1,4}$'."; - min-elements 1; - type string; - } - } - - grouping amfInfo { - - leaf amfRegionId { - description "AMF region identifier"; - type string; - } - - leaf amfSetId { - description "AMF set identifier"; - type string; - } - - list guamiList { - description "List of supported GUAMIs."; - - key idx; - leaf idx { type uint32; } - - min-elements 1; - uses Guami; - } - - list taiList { - description "The list of TAIs the AMF can serve. - It may contain the non-3GPP access TAI. - The absence of this attribute and - the taiRangeList attribute indicate that - the AMF can be selected for any TAI in the - serving network."; - - key idx; - leaf idx { type uint32; } - - min-elements 1; - uses types3gpp:TaiGrp; - } - - list taiRangeList { - description "The range of TAIs the AMF can serve. - The absence of this attribute and the taiList - attribute indicate that the AMF can be selected - for any TAI in the serving network."; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses types5g3gpp:TaiRangeGrp; - } - - list backupInfoAmfFailure { - description "List of GUAMIs for which the AMF acts - as a backup for AMF failure."; - - key idx; - leaf idx { type uint32; } - - min-elements 1; - uses Guami; - } - - list backupInfoAmfRemoval { - description "List of GUAMIs for which the AMF acts - as a backup for planned AMF removal."; - - key idx; - leaf idx { type uint32; } - - min-elements 1; - uses Guami; - } - - list n2InterfaceAmfInfo { - description "N2 interface information of the AMF. - This information needs not be sent in NF Discovery responses. - It may be used by the NRF to update the DNS for - AMF discovery by the 5G Access Network."; - - max-elements 1; - key idx; - leaf idx { type uint32; } - uses N2InterfaceAmfInfo; - } - } - - grouping smfInfo { - - list sNssaiSmfInfoList { - description "List of parameters supported by the SMF per S-NSSAI."; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses sNssaiSmfInfoItem; - } - - list taiList { - description "The list of TAIs the SMF can serve. - It may contain the non-3GPP access TAI. - The absence of this attribute and the taiRangeList - attribute indicate that - the SMF can be selected for any TAI - in the serving network."; - - key idx; - leaf idx { type uint32; } - - min-elements 1; - uses types3gpp:TaiGrp; - } - - list taiRangeList { - description "The range of TAIs the SMF can serve. - The absence of this attribute and the taiList - attribute indicate that the SMF can be selected - for any TAI in the serving network."; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses types5g3gpp:TaiRangeGrp; - } - - leaf pgwFqdn { - description "The FQDN of the PGW if the SMF is a combined SMF/PGW-C."; - type inet:domain-name; - } - - leaf-list accessType { - description "If included, this IE shall contain the access type - (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF. - If not included, it shall be assumed the both - access types are supported."; - - min-elements 1; - max-elements 2; - type AccessType; - } - } - - grouping upfInfo { - - list sNssaiUpfInfoList { - description "List of parameters supported by the UPF per S-NSSAI."; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses SnssaiUpfInfoItem; - } - - leaf-list smfServingArea { - description "The SMF service area(s) the UPF can serve. - If not provided, the UPF can serve any - SMF service area."; - - min-elements 1; - type string; - } - - list interfaceUpfInfo { - description "List of User Plane interfaces configured on the UPF. - When this IE is provided in the NF Discovery response, - the NF Service Consumer (e.g. SMF) may use - this information for UPF selection."; - - key idx; - leaf idx { type uint32; } - - min-elements 1; - uses InterfaceUpfInfoItem; - } - - leaf iwkEpsInd { - description "Indicates whether interworking with EPS is - supported by the UPF. - true: Supported - false (default): Not Supported"; - - type boolean; - } - - leaf-list pduSessionTypes { - description "List of PDU session type(s) supported by the UPF. - The absence of this attribute indicates that the UPF can be selected - for any PDU session type."; - - min-elements 1; - type PduSessionType; - } - } - grouping ProSeCapability { - leaf proseDirectDiscovery { - type boolean; - description "Indicates support for ProSe Direct Discovery."; - } - leaf proseDirectCommunication { - type boolean; - description "Indicates support for ProSe Direct Communication."; - } - leaf proseL2UetoNetworkRelay { - type boolean; - description "Indicates support for ProSe Layer-2 - UE-to-Network Relay.."; - } - leaf proseL3UetoNetworkRelay { - type boolean; - description "Indicates support for ProSe Layer-3 - UE-to-Network Relay."; - } - leaf proseL2RemoteUe { - type boolean; - description "Indicates support for ProSe Layer-2 - Remote UE."; - } - leaf proseL3RemoteUe { - type boolean; - description "Indicates support for ProSe Layer-3 - Remote UE."; - } - leaf proseL2UetoUeRelay { - type boolean; - description "Indicates support for ProSe Layer-2 - UE-to-UE Relay."; - } - leaf proseL3UetoUeRelay { - type boolean; - description "Indicates support for ProSe Layer-3 - UE-to-UE Relay."; - } - leaf proseL2EndUe { - type boolean; - description "Indicates support for ProSe Layer-2 End UE."; - } - leaf proseL3EndUe { - type boolean; - description "Indicates support for ProSe Layer-3 End UE."; - } - leaf proseL3IntermRelay { - type boolean; - description "Indicates support for ProSe Layer-3 - Intermediate Relay."; - } - leaf proseL3MultihopRemote { - type boolean; - description "Indicates support for ProSe Layer-3 Multihop Remote."; - } - leaf proseL3NetMultihopRelay { - type boolean; - description "Indicates support for ProSe Layer-3 Network Multihop - Relay."; - } - leaf proseL3UeMultihopRelay { - type boolean; - description "Indicates support for ProSe Layer-3 UE Multihop Relay."; - } - leaf proseL3EndUeMultihop { - type boolean; - description "Indicates support for ProSe Layer-3 End UE Multihop."; - } - } - grouping pcfInfo { - - leaf-list dnnList { - description "DNNs supported by the PCF. - If not provided, the PCF can serve any DNN."; - - min-elements 1; - type string; - } - - list supiRanges { - description "List of ranges of SUPIs that can be served by - the PCF instance. If not provided, the PCF can serve any SUPI."; - key "start end pattern"; - min-elements 1; - uses SupiRange; - } - - leaf rxDiamHost { - description "This IE shall be present if the PCF supports Rx interface. - When present, this IE shall indicate the Diameter host - of the Rx interface for the PCF. - Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; - - type string; - } - - leaf rxDiamRealm { - description "This IE shall be present if the PCF supports Rx interface. - When present, this IE shall indicate the Diameter realm - of the Rx interface for the PCF. - Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; - - type string; - } - list proseCapability { - description "It indicates the supported ProSe Capability by the PCF."; - uses ProSeCapability; - config false; - } - } - - grouping bsfInfo { - - list ipv4AddressRanges { - description "List of ranges of IPv4 addresses handled by BSF. - If not provided, the BSF can serve any IPv4 address."; - key "start end"; - uses types3gpp:Ipv4AddressRange; - } - - leaf-list dnnList { - description "List of DNNs handled by the BSF - If not provided, the BSF can serve any DNN."; - - min-elements 1; - type string; - } - - leaf-list ipDomainList { - description "List of IPv4 address domains, as described in - subclause 6.2 of 3GPP TS 29.513, handled by the BSF. - If not provided, the BSF can serve any IP domain."; - min-elements 1; - type string; - } - - list ipv6PrefixRanges { - description "List of ranges of IPv6 prefixes handled by the BSF. - If not provided, the BSF can serve any IPv6 prefix."; - key "start end"; - uses types3gpp:Ipv6PrefixRange; - } - } - - grouping chfInfo { - - list supiRangeList { - description "List of ranges of SUPIs that can be served by - the CHF instance. If not provided, the CHF can serve any SUPI."; - key "start end pattern"; - min-elements 1; - uses SupiRange; - } - - list gpsiRangeList { - description "List of ranges of GPSI that can be served - by the CHF instance. If not provided, the CHF can serve any GPSI."; - key "start end pattern"; - min-elements 1; - uses IdentityRange; - } - - list plmnRangeList { - description "List of ranges of PLMNs (including the PLMN - IDs of the CHF instance) that can be served by the CHF instance. - If not provided, the CHF can serve any PLMN."; - - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - } - grouping pcscfInfo { - description "This data type represents the information of a P-CSCF NF Instance. - For more information, see clause 6.1.6.2.53 of TS 29.510."; - - leaf-list accessType { - description "It provides the condition of access type of the UE when - the session AMBR shall be enforced, see TS 29.512 [60].If this - attribute is included in SmfInfo, it shall contain the access type - (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF.If not - included, it shall be assumed the both access types are supported."; - type enumeration { - enum 3GPP_ACCESS; - enum NON_3GPP_ACCESS; - } - min-elements 1; - max-elements 2; - } - leaf-list dnnList { - description "It represents the DNNs supported by the PCF. The DNN, - as defined in clause 9A of TS 23.003 [13], shall contain the Network - Identifier and it may additionally contain an Operator Identifier, - as specified in TS 23.003 [13] clause 9.1.1 and 9.1.2. If the Operator - Identifier is not included, the DNN is supported for all the PLMNs in - the plmnList of the NF Profile.If not provided, the PCF can serve any - DNN."; - min-elements 1; - type string; - } - leaf-list gmFqdn { - description "This attribute represents FQDN of the P-CSCF for the Gm - interface.."; - max-elements 1; - type string; - } - leaf-list gmIpv4Addresses { - description "This attribute represents list of IPv4 addresses of of - the P-CSCF for the Gm interface."; - type inet:ipv4-address; - } - leaf-list gmIpv6Addresses { - description "This attribute represents list of IPv6 addresses of of the - P-CSCF for the Gm interface."; - type inet:ipv6-address; - } - leaf mwFqdn { - description "This attribute represents FQDN of the P-CSCF for the Mw - interface."; - type string; - } - leaf-list mwIpv4Addresses { - description "List of ranges of PLMNs (including the PLMN - IDs of the CHF instance) that can be served by the CHF instance. - If not provided, the CHF can serve any PLMN."; - type inet:ipv4-address; - } - leaf-list mwIpv6Addresses { - description "This attribute represents list of IPv4 addresses of - the P-CSCF for the Mw interface."; - type inet:ipv6-address; - } - list servedIpv4AddressRanges { - description "List of ranges of PLMNs (including the PLMN - IDs of the CHF instance) that can be served by the CHF instance. - If not provided, the CHF can serve any PLMN."; - - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - } - grouping HssInfoGrp { - description " Information of an HSS NF Instance"; - leaf groupID{ - description "This attribute defines the identity of the HSS group - that is served by the HSS instance.If not provided, the HSS instance - does not pertain to any HSS group."; - type string; - } - list imsiRanges { - description "This attribute defines the list of ranges of IMSIs whose - profile data is available in the HSS instance."; - min-elements 1; - key "id"; - leaf id { - description "Unique identifier for the IMSI range."; - type string; - } - uses ImsiRange; - } - list imsPrivateIdentityRanges{ - description "This attribute defines the list of ranges of IMS Private - Identities whose profile data is available in the HSS instance."; - min-elements 1; - key "id"; - leaf id { - description "Unique identifier for the IMSI range."; - type string; - } - uses IdentityRange; - } - list imsPublicIdentityRanges{ - description "This attribute defines the list of ranges of MSISDNs whose - profile data is available in the HSS instance. "; - min-elements 1; - key "id"; - leaf id { - description "Unique identifier for the IMSI range."; - type string; - } - uses IdentityRange; - } - list msisdnRanges{ - description "This attribute defines the list of ranges of IMS Public - Identities whose profile data is available in the HSS instance "; - min-elements 1; - key "id"; - leaf id { - description "Unique identifier for the IMSI range."; - type string; - } - uses IdentityRange; - } - list externalGroupIdentifiersRanges{ - description "This attribute defines the list of ranges of external - group IDs that can be served by this HSS instance.If not provided, - the HSS instance does not serve any external groups. "; - min-elements 1; - key "id"; - leaf id { - description "Unique identifier for the IMSI range."; - type string; - } - uses IdentityRange; - } - list hssDiameterAddress{ - description "This attribute defines the Diameter Address of the HSS "; - max-elements 1; - key "id"; - leaf id { - description "Unique identifier for the IMSI range."; - type string; - } - uses NetworkNodeDiameterAddress; - } - list additionalDiamAddresses{ - description "This attribute defines the Additional Diameter Addresses - of the HSS;may be present if hssDiameterAddress is present "; - min-elements 1; - key "id"; - leaf id { - description "Unique identifier for the IMSI range."; - type string; - } - uses NetworkNodeDiameterAddress; - } - - list dnnUpfInfoList { - description "List of parameters supported by the UPF per DNN."; - min-elements 1; - key dnn; - uses DnnUpfInfoItem; - } - } - grouping FiveGDdnmfInfo { - description "This data type represents the specific data for the 5G DDMF NF. - See clause 6.1.6.2.74 of TS 29.510."; - list plmnId { - description "PLMN ID for which list of supported S-NSSAI(s) - is provided."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - } - grouping nrfInfoGrp { - - list servedUdrInfo { - description "This attribute contains all the udrInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses udrInfo; - } - - list servedUdmInfo { - description "This attribute contains all the udmInfo - attributes - locally configured in the NRF or the NRF - received during NF registration."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses udmInfo; - } - - list servedAusfInfo { - description "This attribute contains all the - ausfInfo attributes - locally configured in the NRF or the NRF - received during NF registration."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses ausfInfo; - } - - list servedAmfInfo { - description "This attribute contains all the amfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses amfInfo; - } - - list servedSmfInfo { - description "This attribute contains all the smfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses smfInfo; - } - - list servedUpfInfo { - description "This attribute contains all the upfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses upfInfo; - } - - list servedPcfInfo { - description "This attribute contains all the pcfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses pcfInfo; - } - - list servedBsfInfo { - description "This attribute contains all the bsfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; - - key nfInstanceId; - leaf nfInstanceId{ - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses bsfInfo; - } - - list servedChfInfo { - description "This attribute contains all the bsfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses chfInfo; - } - - list servedNwdafInfo { - description "This attribute contains all the nwdafInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId of which - the nwdafInfo belongs to."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses nwdaf3gpp:NwdafInfoGrp; - } - list servedPcscfInfoList { - description "This attribute contains all the pcscfInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId to which - the map entry belongs to."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses pcscfInfo; - } - list servedGmlcInfo { - description "This attribute contains all the gmlcInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId of which - the nefInfo belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses gmlc3gpp:GmlcInfoGrp; - } - list servedLmfInfo { - description "This attribute contains all the lmfInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId of which - the lmfInfo belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses lmf3gpp:LmfInfoGrp; - } - list servedNfInfo { - description "This attribute contains information of other NFs - without corresponding NF type specific Info extensions locally - configured in the NRF or the NRF received during NF registration. - The key of the map is the nfInstanceId of the NF. The map entry - is the NfInfo as defined in clause 5.3.229 representing the - information of a generic NF instance."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses nfInfoGrp; - } - list servedHssInfoList { - description "This attribute contains list of HssInfo attribute - locally configured in the NRF or that the NRF received during NF - registration. The key of the map is the nfInstanceId to which the - map entry belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - min-elements 1; - uses HssInfoGrp; - } - list served5gDdnmfInfo { - description "This attribute contains all the 5gDdnmfInfo - attribute locally configured in the NRF or that the NRF - received during NF registration. The key of the map is - the nfInstanceId to which the map entry belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - min-elements 1; - uses FiveGDdnmfInfo ; - } - } - list nrfInfo { - description "nrfinfo"; - key idx; - leaf idx { type uint32; } - max-elements 1; - uses nrfInfoGrp; - } - list nfInfo { - description "nrfinfo"; - key idx; - leaf idx { type uint32; } - max-elements 1; - uses nfInfoGrp; - } - grouping nfInfoGrp { - description "This data type represents the information of a - generic NF Instance. (See clause 6.1.6.2.56 TS 29.510 [23])."; - leaf nfType { - description "This parameter defines type of Network Function"; - type uint16; - } - } - - leaf customInfo { - description "Specific data for custom Network Functions."; - type string; - } - - leaf recoveryTime { - description "Timestamp when the NF was (re)started."; - type yang:date-and-time; - } - - leaf nfServicePersistence { - description "If present, and set to true, it indicates that - the different - service instances of a same NF Service - in this NF instance, - - supporting a same API version, are capable to persist - their resource state in shared storage and - therefore these resources - are available after a new NF service - instance supporting - the same API version is selected by a NF - Service Consumer (see 3GPP TS 23.527). - Otherwise, it indicates that the NF Service - Instances of - a same NF Service are not capable to share - resource state inside the NF Instance."; - - type boolean; - } - - list nfServices { - description "List of NF Service Instances. It shall include - the services produced by the NF that can be - discovered by other NFs."; - key serviceInstanceID; - min-elements 1; - uses nfs3gpp:NFServiceGrp; - } - - leaf nfProfileChangesSupportInd { - description "NF Profile Changes Support Indicator. - This IE may be present - in the NFRegister or NFUpdate (NF Profile Complete - Replacement) request - and shall be absent in the response. - true: the NF Service Consumer supports receiving NF Profile - Changes in the response. - false (default): the NF Service Consumer does not support - receiving NF Profile Changes in the response."; - - type boolean; - } - - leaf nfProfileChangesInd { - description "NF Profile Changes Indicator. This IE shall be absent - in the request to the NRF and may be included by the NRF - in NFRegister or NFUpdate (NF Profile Complete Replacement) response. - true: the NF Profile contains NF Profile changes. - false (default): complete NF Profile."; - - type boolean; - } - - list defaultNotificationSubscriptions { - description "Notification endpoints for different notification types."; - key notificationType; - min-elements 1; - uses types3gpp:DefaultNotificationSubscription; - } - } - - typedef NFStatus { - type enumeration { - enum REGISTERED; - enum SUSPENDED; - } - } - - typedef DataSetId { - type enumeration { - enum SUBSCRIPTION; - enum POLICY; - enum EXPOSURE; - enum APPLICATION; - } - } - - grouping SupiRange { - leaf start { - description "First value identifying the start of - a SUPI range. - To be used when the range of SUPI's can be - represented - as a numeric range (e.g., IMSI ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf end { - description "Last value identifying the end of - a SUPI range. - To be used when the range of SUPI's can be - represented - as a numeric range (e.g. IMSI ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf pattern { - description "Pattern representing the set of SUPI's belonging - to this range. - A SUPI value is considered part - of the range - if and only if the SUPI string - fully matches the regular expression."; - type string; - } - } - - grouping IdentityRange { - leaf start { - description "First value identifying the start of an identity range. - To be used when the range of identities can be represented - as a numeric range (e.g., MSISDN ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf end { - description "Last value identifying the end of an identity range. - To be used when the range of identities can be represented - as a numeric range (e.g. MSISDN ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf pattern { - description "Pattern representing the set of identities - belonging to this range. - An identity value is considered part of the range - if and only if the identity string fully - matches the regular expression."; - type string; - } - } - - grouping SnssaiUpfInfoItem { - list sNssai { - description "Supported S-NSSAI."; - min-elements 1; - max-elements 1; - key "sst sd"; - uses Snssai; - } - } - - grouping DnnUpfInfoItem { - leaf dnn { - description "String representing a Data Network."; - mandatory true; - type string; - } - - leaf-list dnaiList { - description "List of Data network access identifiers supported - by the UPF for this DNN. - The absence of this attribute indicates that the UPF - can be selected for this DNN for any DNAI."; - min-elements 1; - type string; //dnai is the type but its only a string with - //desc: DNAI (Data network access identifier), - //is this needed as its own typedef or string is ok - } - - leaf-list pduSessionTypes { - description "List of PDU session type(s) supported by - the UPF for a specific DNN."; - min-elements 1; - type PduSessionType; - } - } - - grouping Snssai { - leaf sst { - description "Unsigned integer, within the range 0 to 255, - representing the Slice/Service Type. - It indicates the expected Network Slice behaviour - in terms of features and services."; - mandatory true; - type uint32; - } - - leaf sd { - description "3-octet string, representing the Slice Differentiator, - in hexadecimal representation."; - type string { - pattern '^[A-Fa-f0-9]{6}$'; - } - } - - reference "3GPP TS 29.571"; - } - - typedef PduSessionType { - type enumeration { - enum IPV4; - enum IPV6; - enum IPV4V6; - enum UNSTRUCTURED; - enum ETHERNET; - } - } - - grouping Guami { - list plmnId { - description "PLMN Identity."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list amfId { - description "AMF Identity."; - min-elements 1; - max-elements 1; - key "amfRegionId amfSetId amfPointer"; - uses types3gpp:AmfIdentifier; - } - } - - grouping InterfaceUpfInfoItem { - leaf interfaceType { - description "User Plane interface type."; - mandatory true; - type UPInterfaceType; - } - - choice address { - case ipv4EndpointAddresses { - leaf-list ipv4EndpointAddresses { - description "Available endpoint IPv4 address(es) of - the User Plane interface."; - min-elements 1; - type inet:ipv4-address; - } - } - - case ipv6EndpointAddresses { - leaf-list ipv6EndpointAddresses { - description "Available endpoint IPv6 address(es) of - the User Plane interface."; - min-elements 1; - type inet:ipv6-address; - } - } - - case endpointFqdn { - leaf endpointFqdn { - description "FQDN of available endpoint of the - User Plane interface."; - type inet:domain-name; - } - } - } - - leaf networkInstance { - description "Network Instance associated to the - User Plane interface."; - type string; - } - } - - typedef UPInterfaceType { - type enumeration { - enum N3; - enum N6; - enum N9; - } - } - - typedef AccessType { - type enumeration { - enum 3GPP_ACCESS; - enum NON_3GPP_ACCESS; - } - } - - grouping N2InterfaceAmfInfo { - choice address { - case ipv4EndpointAddress { - leaf-list ipv4EndpointAddress { - description "Available AMF endpoint IPv4 address(es) for N2."; - min-elements 1; - type inet:ipv4-address; - } - } - - case ipv6EndpointAddress { - leaf-list ipv6EndpointAddress { - description "Available AMF endpoint IPv6 address(es) for N2."; - min-elements 1; - type inet:ipv6-address; - } - } - } - - leaf amfName { - description "AMF name."; - type string; - } - } - - grouping sNssaiSmfInfoItem { - list sNssai { - description "Supported S-NSSAI."; - min-elements 1; - max-elements 1; - key "sst sd"; - uses Snssai; - } - - list dnnSmfInfoList { - description "List of parameters supported by the SMF per DNN. - The absence indicates the DNN can be selected for any DNAI."; - min-elements 1; - key dnn; - uses DnnSmfInfoItem; - } - } - - grouping DnnSmfInfoItem { - leaf dnn { - description "Supported DNN."; - mandatory true; - type string; - } - - leaf-list dnaiList { - description "List of Data network access identifiers supported by - the SMF for this DNN. The absence of this attribute indicates that - the SMF can be selected for this DNN for any DNAI."; - min-elements 1; - type string; - } - } - - grouping PlmnSnssai { - list plmnId { - description "PLMN ID for which list of supported S-NSSAI(s) - is provided."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list sNssaiList { - description "The specific list of S-NSSAIs supported - by the given PLMN."; - min-elements 1; - key "sst sd"; - uses Snssai; - } - } - grouping ImsiRange{ - leaf start{ - description "This attribute indicates the first value identifying - the start of a IMSI range. "; - type string{ - pattern "^[0-9]+$"; - } - } - leaf end{ - description "This attribute indicates the last value identifying - the end of a IMSI range."; - type string{ - pattern "^[0-9]+$"; - } - } - leaf pattern{ - description "This attribute indicates pattern (regular expression - according to the ECMA-262 dialect [75]) representing the set of - IMSIs belonging to this range. An IMSI value is considered part - of the range if and only if the IMSI string fully matches the - regular expression.Either the start and end attributes, or the - pattern attribute, shall be present."; - type string; - } - } - grouping NetworkNodeDiameterAddress { - leaf-list name{ - description "This attribute indicates the Diameter - name of the network node diameter address."; - reference " See TS 29.571 [61]. String contains a Diameter Identity - (FQDN)."; - type string; - min-elements 1; - max-elements 1; - } - leaf-list realm{ - description "This attribute indicates the Diameter realm of the - network node diameter addres. See TS 29.571 [61]. String contains - a Diameter Identity (FQDN)."; - type string; - min-elements 1; - max-elements 1; - } - } -} diff --git a/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang b/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang index 2c8c1a4fb08a95567e2143ae740828119f1a1e8c..4997c500fa92f88727dd6016c57bb847a9d71b7e 100755 --- a/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang @@ -1,38 +1,40 @@ module _3gpp-5gc-nrm-ngeirfunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-ngeirfunction; prefix ngeir3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp;} + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the 5G-EIR function in 5GC. For more + description "This IOC represents the 5G-EIR function in 5GC. For more information about the 5G-EIR, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } revision 2019-05-15 {reference "initial revision"; } - + grouping NGEIRFunctionGrp { description "Represents the NGEIRFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -40,7 +42,7 @@ module _3gpp-5gc-nrm-ngeirfunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -51,24 +53,27 @@ module _3gpp-5gc-nrm-ngeirfunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { + description "This parameter defines profile for managed NF. + See TS 23.501"; key idx; + leaf idx { type uint32;} min-elements 1; max-elements 1; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } } - + augment "/me3gpp:ManagedElement" { list NGEIRFunction { description "5G Core NGEIR Function"; diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index e8a8ff3bc2d94ff1721132153a1e12edd5ad5554..fed4e61593bd619257b1a0d44c8f35891f9228df 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -1,41 +1,638 @@ module _3gpp-5gc-nrm-nrffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nrffunction; prefix nrf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + import _3gpp-5gc-nrm-udrfunction { prefix udr3gpp; } + import _3gpp-5gc-nrm-udmfunction { prefix udm3gpp; } + import _3gpp-5gc-nrm-ausffunction { prefix ausf3gpp; } + import _3gpp-5gc-nrm-amffunction { prefix amf3gpp;} + import _3gpp-5gc-nrm-smffunction { prefix smf3gpp;} + import _3gpp-5gc-nrm-upffunction { prefix upf3gpp;} + import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp;} + import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp;} + import _3gpp-5gc-nrm-gmlcfunction { prefix gmlc3gpp;} + import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp;} + + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the NRF function in 5GC. For more information about the NRF, see 3GPP TS 23.501 [2]. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2025-01-25 { reference CR-1442 ; } - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-01-25 { reference CR-1442 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2020-08-03 { reference "CR-0321"; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-05-15 { reference "initial revision"; } - + + + grouping bsfInfo { + + list ipv4AddressRanges { + description "List of ranges of IPv4 addresses handled by BSF. + If not provided, the BSF can serve any IPv4 address."; + key "start end"; + uses types3gpp:Ipv4AddressRange; + } + + leaf-list dnnList { + description "List of DNNs handled by the BSF + If not provided, the BSF can serve any DNN."; + + min-elements 1; + type string; + } + + leaf-list ipDomainList { + description "List of IPv4 address domains, as described in + subclause 6.2 of 3GPP TS 29.513, handled by the BSF. + If not provided, the BSF can serve any IP domain."; + min-elements 1; + type string; + } + + list ipv6PrefixRanges { + description "List of ranges of IPv6 prefixes handled by the BSF. + If not provided, the BSF can serve any IPv6 prefix."; + key "start end"; + uses types3gpp:Ipv6PrefixRange; + } + } + grouping chfInfo { + + list supiRangeList { + description "List of ranges of SUPIs that can be served by + the CHF instance. If not provided, the CHF can serve any SUPI."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:SupiRangeGrp; + } + + list gpsiRangeList { + description "List of ranges of GPSI that can be served + by the CHF instance. If not provided, the CHF can serve any GPSI."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + list plmnRangeList { + description "List of ranges of PLMNs (including the PLMN + IDs of the CHF instance) that can be served by the CHF instance. + If not provided, the CHF can serve any PLMN."; + + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + leaf primaryChfInstance { + //optional + description "This attribute represents the NF Instance Id of the + primary CHF instance. This attribute shall be absent if the + secondaryChfInstance is present."; + type string; + + } + leaf secondaryChfInstance { + //optional + description "This attribute represents the NF Instance Id of the + secondary CHF instance.This attribute shall be absent if the + primaryChfInstance is present."; + type string; + } + } + grouping pcscfInfo { + description "This data type represents the information of a P-CSCF NF Instance. + For more information, see clause 6.1.6.2.53 of TS 29.510."; + + leaf-list accessType { + description "It provides the condition of access type of the UE when + the session AMBR shall be enforced, see TS 29.512 [60].If this + attribute is included in SmfInfo, it shall contain the access type + (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF.If not + included, it shall be assumed the both access types are supported."; + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + min-elements 1; + max-elements 2; + } + leaf-list dnnList { + description "It represents the DNNs supported by the PCF. The DNN, + as defined in clause 9A of TS 23.003 [13], shall contain the Network + Identifier and it may additionally contain an Operator Identifier, + as specified in TS 23.003 [13] clause 9.1.1 and 9.1.2. If the Operator + Identifier is not included, the DNN is supported for all the PLMNs in + the plmnList of the NF Profile.If not provided, the PCF can serve any + DNN."; + min-elements 1; + type string; + } + leaf-list gmFqdn { + description "This attribute represents FQDN of the P-CSCF for the Gm + interface.."; + max-elements 1; + type string; + //optional + } + leaf-list gmIpv4Addresses { + description "This attribute represents list of IPv4 addresses of of + the P-CSCF for the Gm interface."; + type inet:ipv4-address; + //optional + } + leaf-list gmIpv6Addresses { + description "This attribute represents list of IPv6 addresses of of the + P-CSCF for the Gm interface."; + type inet:ipv6-address; + //optional + } + leaf mwFqdn { + description "This attribute represents FQDN of the P-CSCF for the Mw + interface."; + type string; + //optional + } + leaf-list mwIpv4Addresses { + description "List of ranges of PLMNs (including the PLMN + IDs of the CHF instance) that can be served by the CHF instance. + If not provided, the CHF can serve any PLMN."; + type inet:ipv4-address; + //optional + } + leaf-list mwIpv6Addresses { + description "This attribute represents list of IPv4 addresses of + the P-CSCF for the Mw interface."; + type inet:ipv6-address; + //optional + } + list servedIpv4AddressRanges { + description "List of ranges of PLMNs (including the PLMN + IDs of the CHF instance) that can be served by the CHF instance. + If not provided, the CHF can serve any PLMN."; + + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + //optional + } + } + grouping HssInfoGrp { + description " Information of an HSS NF Instance"; + leaf groupID{ + description "This attribute defines the identity of the HSS group + that is served by the HSS instance.If not provided, the HSS instance + does not pertain to any HSS group."; + type string; + } + list imsiRanges { + description "This attribute defines the list of ranges of IMSIs whose + profile data is available in the HSS instance."; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses ImsiRange; + } + list imsPrivateIdentityRanges{ + description "This attribute defines the list of ranges of IMS Private + Identities whose profile data is available in the HSS instance."; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses mnfp3gpp:IdentityRange; + } + list imsPublicIdentityRanges{ + description "This attribute defines the list of ranges of MSISDNs whose + profile data is available in the HSS instance. "; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses mnfp3gpp:IdentityRange; + } + list msisdnRanges{ + description "This attribute defines the list of ranges of IMS Public + Identities whose profile data is available in the HSS instance "; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses mnfp3gpp:IdentityRange; + } + list externalGroupIdentifiersRanges{ + description "This attribute defines the list of ranges of external + group IDs that can be served by this HSS instance.If not provided, + the HSS instance does not serve any external groups. "; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses mnfp3gpp:IdentityRange; + } + list hssDiameterAddress{ + description "This attribute defines the Diameter Address of the HSS "; + max-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses NetworkNodeDiameterAddress; + } + list additionalDiamAddresses{ + description "This attribute defines the Additional Diameter Addresses + of the HSS;may be present if hssDiameterAddress is present "; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses NetworkNodeDiameterAddress; + } + } + grouping NrfInfoGrp { + + list servedUdrInfo { + description "This attribute contains all the udrInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses udr3gpp:UdrInfoGrp; + } + + list servedUdmInfo { + description "This attribute contains all the udmInfo + attributes + locally configured in the NRF or the NRF + received during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses udm3gpp:UdmInfoGrp; + } + + list servedAusfInfo { + description "This attribute contains all the + ausfInfo attributes + locally configured in the NRF or the NRF + received during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses ausf3gpp:AusfInfoGrp; + } + + list servedAmfInfo { + description "This attribute contains all the amfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses amf3gpp:AmfInfoGrp; + } + + list servedSmfInfo { + description "This attribute contains all the smfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses smf3gpp:SmfInfoGrp; + } + + list servedUpfInfo { + description "This attribute contains all the upfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses upf3gpp:UpfInfoGrp; + } + + list servedPcfInfo { + description "This attribute contains all the pcfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses pcf3gpp:pcfInfoGrp; + } + + list servedBsfInfo { + description "This attribute contains all the bsfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId{ + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses bsfInfo; + } + + list servedChfInfo { + description "This attribute contains all the bsfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses chfInfo; + } + + list servedNwdafInfo { + description "This attribute contains all the nwdafInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the nwdafInfo belongs to."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses nwdaf3gpp:NwdafInfoGrp; + } + list servedPcscfInfoList { + description "This attribute contains all the pcscfInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId to which + the map entry belongs to."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses pcscfInfo; + } + list servedGmlcInfo { + description "This attribute contains all the gmlcInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the nefInfo belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses gmlc3gpp:GmlcInfoGrp; + } + list servedLmfInfo { + description "This attribute contains all the lmfInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the lmfInfo belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses lmf3gpp:LmfInfoGrp; + } + list servedNfInfo { + description "This attribute contains information of other NFs + without corresponding NF type specific Info extensions locally + configured in the NRF or the NRF received during NF registration. + The key of the map is the nfInstanceId of the NF. The map entry + is the NfInfo as defined in clause 5.3.229 representing the + information of a generic NF instance."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses nfInfoGrp; + } + list servedHssInfoList { + description "This attribute contains list of HssInfo attribute + locally configured in the NRF or that the NRF received during NF + registration. The key of the map is the nfInstanceId to which the + map entry belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + min-elements 1; + uses HssInfoGrp; + } + list served5gDdnmfInfo { + description "This attribute contains all the 5gDdnmfInfo + attribute locally configured in the NRF or that the NRF + received during NF registration. The key of the map is + the nfInstanceId to which the map entry belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + min-elements 1; + uses FiveGDdnmfInfo ; + } + } + grouping ImsiRange{ + leaf start{ + description "This attribute indicates the first value identifying + the start of a IMSI range. "; + type string{ + pattern "^[0-9]+$"; + } + } + leaf end{ + description "This attribute indicates the last value identifying + the end of a IMSI range."; + type string{ + pattern "^[0-9]+$"; + } + } + leaf pattern{ + description "This attribute indicates pattern (regular expression + according to the ECMA-262 dialect [75]) representing the set of + IMSIs belonging to this range. An IMSI value is considered part + of the range if and only if the IMSI string fully matches the + regular expression.Either the start and end attributes, or the + pattern attribute, shall be present."; + type string; + } + } + grouping NetworkNodeDiameterAddress { + leaf-list name{ + description "This attribute indicates the Diameter + name of the network node diameter address."; + reference " See TS 29.571 [61]. String contains a Diameter Identity + (FQDN)."; + type string; + min-elements 1; + max-elements 1; + } + leaf-list realm{ + description "This attribute indicates the Diameter realm of the + network node diameter addres. See TS 29.571 [61]. String contains + a Diameter Identity (FQDN)."; + type string; + min-elements 1; + max-elements 1; + } + } + typedef PduSessionType { + type enumeration { + enum IPV4; + enum IPV6; + enum IPV4V6; + enum UNSTRUCTURED; + enum ETHERNET; + } + } + grouping DnnUpfInfoItem { + leaf dnn { + description "String representing a Data Network."; + mandatory true; + type string; + } + + leaf-list dnaiList { + description "List of Data network access identifiers supported + by the UPF for this DNN. + The absence of this attribute indicates that the UPF + can be selected for this DNN for any DNAI."; + min-elements 1; + type string; //dnai is the type but its only a string with + //desc: DNAI (Data network access identifier), + //is this needed as its own typedef or string is ok + } + + leaf-list pduSessionTypes { + description "List of PDU session type(s) supported by + the UPF for a specific DNN."; + min-elements 1; + type PduSessionType; + } + } + grouping nfInfoGrp { + description "This data type represents the information of a + generic NF Instance. (See clause 6.1.6.2.56 TS 29.510 [23])."; + leaf nfType { + description "This parameter defines type of Network Function"; + type uint16; + } + } + grouping FiveGDdnmfInfo { + description "This data type represents the specific data for the 5G DDMF NF. + See clause 6.1.6.2.74 of TS 29.510."; + list plmnId { + description "PLMN ID for which list of supported S-NSSAI(s) + is provided."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + } grouping NRFFunctionGrp { description "Represents the NRFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -43,22 +640,23 @@ module _3gpp-5gc-nrm-nrffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } leaf-list cNSIIdList { - description "NSI ID. NSI ID is an identifier for identifying the Core - Network part of a Network Slice instance when multiple Network Slice - instances of the same Network Slice are deployed, and there is a need - to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 + description "NSI ID. NSI ID is an identifier for identifying the Core + Network part of a Network Slice instance when multiple Network Slice + instances of the same Network Slice are deployed, and there is a need + to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 and subclause 6.1.6.2.7 of 3GPP TS 29.531"; type string; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -69,15 +667,33 @@ module _3gpp-5gc-nrm-nrffunction { key "sd sst"; uses types5g3gpp:SNssai; } - + + list nrfInfo { + description ""; + key idx; + leaf idx {type uint32;} + uses NrfInfoGrp; + } list nFProfileList { - description "Set of NFProfile(s) to be registered in the NRF instance."; - //optional support - key nfInstanceId; - uses nfp3gpp:NFProfileGrp; + description "It is a set of NFProfile(s) to be registered in the NRF + instance. NFProfile is defined in 3GPP TS 29.510 "; + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + } + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + description "This parameter defines profile for managed NF"; + reference "3gpp TS 23.501"; } } - + augment "/me3gpp:ManagedElement" { list NRFFunction { description "5G Core NRF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-nssffunction.yang b/yang-models/_3gpp-5gc-nrm-nssffunction.yang index 315ae9ebcb5fe386566487b0defd21c051c147e8..c07518091d027e48d718d1dc966ff1e284afca67 100755 --- a/yang-models/_3gpp-5gc-nrm-nssffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nssffunction.yang @@ -1,39 +1,41 @@ module _3gpp-5gc-nrm-nssffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nssffunction; prefix nssf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp;} + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the NSSF function in 5GC. For more + description "This IOC represents the NSSF function in 5GC. For more information about the NSSF, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2020-08-03 { reference "CR-0321"; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } revision 2019-05-15 { reference "initial revision"; } - + grouping NSSFFunctionGrp { description "Represents the NSSFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at least + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -41,42 +43,43 @@ module _3gpp-5gc-nrm-nssffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) An S-NSSAI has an SST (Slice/Service type) and an optional SD (Slice Differentiator) field."; - + reference "3GPP TS 23.003"; key "sd sst"; uses types5g3gpp:SNssai; } - + leaf-list cNSIIdList { - description "NSI ID. NSI ID is an identifier for identifying the Core - Network part of a Network Slice instance when multiple Network Slice - instances of the same Network Slice are deployed, and there is a need - to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 + description "NSI ID. NSI ID is an identifier for identifying the Core + Network part of a Network Slice instance when multiple Network Slice + instances of the same Network Slice are deployed, and there is a need + to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 and subclause 6.1.6.2.7 of 3GPP TS 29.531"; type string; } - + list managedNFProfile { key idx; + leaf idx { type uint32;} min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } } - + augment "/me3gpp:ManagedElement" { list NSSFFunction { description "5G Core NSSF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang index 3ed04046e924b7ccc12466dd59167491cd4b201d..c9500400d331502f18368068d32334994e9c0f13 100755 --- a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang @@ -1,9 +1,9 @@ module _3gpp-5gc-nrm-nwdaffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nwdaffunction; prefix nwdaf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } @@ -11,27 +11,29 @@ module _3gpp-5gc-nrm-nwdaffunction { import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp;} + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the NWDAF function in 5GC. For more + description "This IOC represents the NWDAF function in 5GC. For more information about the NWDAF, see 3GPP TS 23.501. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - + + revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2024-08-07 { reference CR-1329; } - revision 2024-04-12 { reference CR-1218; } - revision 2023-09-18 { reference CR-1043; } + revision 2024-04-12 { reference CR-1218; } + revision 2023-09-18 { reference CR-1043; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - + revision 2019-05-15 {reference "initial revision"; } - + typedef NwdafEvent { - description "The detailed ENUM value for NwdafEvent see the + description "The detailed ENUM value for NwdafEvent see the Table 5.1.6.3.4-1 in TS 29.520"; type union { type enumeration { @@ -49,94 +51,94 @@ module _3gpp-5gc-nrm-nwdaffunction { enum DISPERSION; enum RED_TRANS_EXP; enum WLAN_PERFORMANCE; - enum SM_CONGESTION; + enum SM_CONGESTION; } type string; } } - + grouping NwdafCapabilityGrp { - description "This data type represents the capability supported by the + description "This data type represents the capability supported by the NWDAF."; reference "TS 29.510"; - + leaf analyticsAggregation { type boolean ; default false; - description "It indicates whether the NWDAF supports analytics + description "It indicates whether the NWDAF supports analytics aggregation"; } - + leaf analyticsMetadataProvisioning { type boolean ; default false; - description "It indicate whether the NWDAF supports analytics metadata + description "It indicate whether the NWDAF supports analytics metadata provisioning:"; - } + } leaf roamingExchange { type boolean ; default false; description "It indicates whether the NWDAF supports roaming exchange capability"; - } + } } grouping MlAnalyticsInfoGrp { - description "This data type represents ML Analytics Filter information + description "This data type represents ML Analytics Filter information supported by the Nnwdaf_MLModelProvision service."; reference "TS 29.510"; - + leaf-list mlAnalyticsIds { type NwdafEvent; ordered-by user; - description "This attribute represents the Analytic functionalities - (identified by nwdafEvent defined in TS 29.520 [85]) of the NWDAF - instance. MnS consumer can configure this attribute to specify - which Analytic functionalities (identified by nwdafEvent) can be - performed the NWDAF instance. If the value of this attribute is not + description "This attribute represents the Analytic functionalities + (identified by nwdafEvent defined in TS 29.520 [85]) of the NWDAF + instance. MnS consumer can configure this attribute to specify + which Analytic functionalities (identified by nwdafEvent) can be + performed the NWDAF instance. If the value of this attribute is not present, the NWDAF instance can perform any NWDAFEvents - Analytics Id(s) supported by the Nnwdaf_MLModelProvision service, + Analytics Id(s) supported by the Nnwdaf_MLModelProvision service, if none are provided the NWDAF can serve any mlAnalyticsId."; } - + list sNSSAIList { min-elements 1; - description "List of S-NSSAIs the managed object is capable of + description "List of S-NSSAIs the managed object is capable of supporting."; reference "3GPP TS 23.003"; key "sd sst"; uses types5g3gpp:SNssai; } - + list trackingAreaList { - description "This attribute represents area of Interest of the ML model, - if none are provided the ML model for the analytics can apply to any + description "This attribute represents area of Interest of the ML model, + if none are provided the ML model for the analytics can apply to any TAIs. - If present, it represents the list of TAIs, it may contain one or + If present, it represents the list of TAIs, it may contain one or more non-3GPP access TAIs."; key idx ; leaf idx { type uint32; } uses types3gpp:TaiGrp; } - + leaf-list mlModelInterInfo { type string { pattern "[0-9]{6}"; } - description "This attribute defines the list of NWDAF vendors that are - allowed to retrieve ML models from the NWDAF containing MTLF. The - absence of this attribute indicates that none of the NWDAF vendors - can retrieve the ML models. + description "This attribute defines the list of NWDAF vendors that are + allowed to retrieve ML models from the NWDAF containing MTLF. The + absence of this attribute indicates that none of the NWDAF vendors + can retrieve the ML models. - allowedValues: 6 decimal digits; if the SMI code has less than - 6 digits, it shall be padded with leading digits '0' to complete a + allowedValues: 6 decimal digits; if the SMI code has less than + 6 digits, it shall be padded with leading digits '0' to complete a 6-digit string value."; } - + leaf flCapabilityType { type enumeration { enum FL_SERVER { @@ -146,25 +148,25 @@ module _3gpp-5gc-nrm-nwdaffunction { description "NWDAF containing MTLF as Federated Learning Client"; } enum FL_SERVER_AND_CLIENT { - description "NWDAF containing MTLF as Federated Learning Server and + description "NWDAF containing MTLF as Federated Learning Server and Client."; } } - description "This attribute defines the federated learning capability + description "This attribute defines the federated learning capability type supported by NWDAF containing MTLF."; } - + list flTimeInterval { key idx ; leaf idx { type uint32; } - description "This attribute defines the time window at which the - indicated flCapabilityType supported by NWDAF MTLF is available. - This attribute shall be present only if flCapabilityType attribute + description "This attribute defines the time window at which the + indicated flCapabilityType supported by NWDAF MTLF is available. + This attribute shall be present only if flCapabilityType attribute is present."; uses types3gpp:TimeWindowGrp; } } - + grouping NwdafInfoGrp { description "This data type represents specific data for the NWDAF."; reference "TS 29.510"; @@ -172,24 +174,24 @@ module _3gpp-5gc-nrm-nwdaffunction { leaf-list nwdafEvents { type NwdafEvent; ordered-by user; - description "This attribute represents the Analytic functionalities - (identified by nwdafEvent defined in TS 29.520) of the NWDAF instance. - MnS consumer can configure this attribute to specify which Analytic - functionalities (identified by nwdafEvent) can be performed the NWDAF - instance. If the value of this attribute is not present, the NWDAF + description "This attribute represents the Analytic functionalities + (identified by nwdafEvent defined in TS 29.520) of the NWDAF instance. + MnS consumer can configure this attribute to specify which Analytic + functionalities (identified by nwdafEvent) can be performed the NWDAF + instance. If the value of this attribute is not present, the NWDAF instance can perform any NWDAFEvents. - The detailed ENUM value for NwdafEvent see the Table 5.1.6.3.4-1 + The detailed ENUM value for NwdafEvent see the Table 5.1.6.3.4-1 in TS 29.520"; } - + leaf-list eventIds { type string ; min-elements 1; - description "It represents the EventId(s) supported by the - Nnwdaf_AnalyticsInfo service, if none are provided the NWDAF can serve + description "It represents the EventId(s) supported by the + Nnwdaf_AnalyticsInfo service, if none are provided the NWDAF can serve any eventId. (see clause TS 29.520)"; } - + list taiList { description "The list of TAIs. "; min-elements 1; @@ -197,7 +199,7 @@ module _3gpp-5gc-nrm-nwdaffunction { leaf idx { type uint32; } uses types3gpp:TaiGrp; } - + list taiRangeList { min-elements 1; key idx ; @@ -205,7 +207,7 @@ module _3gpp-5gc-nrm-nwdaffunction { description "The range of TAIs."; uses types5g3gpp:TaiRangeGrp; } - + list nwdafCapability { max-elements 1; key idx ; @@ -214,128 +216,129 @@ module _3gpp-5gc-nrm-nwdaffunction { If not present, the NWDAF shall be regarded with no capability."; uses NwdafCapabilityGrp; } - + leaf analyticsDelay { type int32 ; units seconds; - description "It represents the supported Analytics Delay related to the - eventIds and nwdafEvents. - It is an unsigned integer identifying a period of time in units of + description "It represents the supported Analytics Delay related to the + eventIds and nwdafEvents. + It is an unsigned integer identifying a period of time in units of seconds.(see clause 5.2.2 TS 29.571)."; } - + leaf-list servingNfTypeList { type types3gpp:NfType; min-elements 1; - description "It contains the list of NF type(s) from which the NWDAF NF - can collect data. The absence of this attribute indicates that the + description "It contains the list of NF type(s) from which the NWDAF NF + can collect data. The absence of this attribute indicates that the NWDAF can collect data from any NF type."; } - + leaf-list servingNfSetIdList { type string ; min-elements 1; - description "It contains the list of NF type(s) from which the NWDAF NF - can collect data. The absence of this attribute indicates that the - NWDAF can collect data from any NF type. (see clause 5.4.2 NfSetId + description "It contains the list of NF type(s) from which the NWDAF NF + can collect data. The absence of this attribute indicates that the + NWDAF can collect data from any NF type. (see clause 5.4.2 NfSetId in TS 29.571)"; } - + list mlAnalyticsList { min-elements 1; key idx ; leaf idx { type uint32; } - description "It represents ML Analytics Filter information supported by + description "It represents ML Analytics Filter information supported by the Nnwdaf_MLModelProvision service."; uses MlAnalyticsInfoGrp; } } - + grouping NetworkSliceInfoGrp { - description "Represents information of network slice when the NWDAF is + description "Represents information of network slice when the NWDAF is authorized to collect the management data of the network slice. "; - + list sNSSAI { - description "It represents the S-NSSAI the NetworkSlice managed object + description "It represents the S-NSSAI the NetworkSlice managed object is supporting. The S-NSSAI is defined in TS 23.003 "; key idx; min-elements 1; max-elements 1; - + leaf idx { type string; } uses types5g3gpp:SNssai; } - + leaf-list cNSIId { type string; - description "It represents NSI ID which is an identifier for identifying - the Core Network part of a Network Slice instance when multiple - Network Slice instances of the same Network Slice are deployed, - and there is a need to differentiate between them in the 5GC. - See NSI ID definition in clause 3.1 of TS 23.501 and + description "It represents NSI ID which is an identifier for identifying + the Core Network part of a Network Slice instance when multiple + Network Slice instances of the same Network Slice are deployed, + and there is a need to differentiate between them in the 5GC. + See NSI ID definition in clause 3.1 of TS 23.501 and subclause 6.1.6.2.7 of TS 29.531."; } - + leaf networkSliceRef { type types3gpp:DistinguishedName; mandatory true; - description "This holds a DN of the NetworkSlice managed object relating - to the NetworkSlice instance differentiated by sNSSAI and optional + description "This holds a DN of the NetworkSlice managed object relating + to the NetworkSlice instance differentiated by sNSSAI and optional cNSIId."; } } - + grouping NWDAFFunctionGrp { - description "The NWDAFFunction IOC includes attributes inherited from + description "The NWDAFFunction IOC includes attributes inherited from ManagedFunction IOC(defined in TS 28.622)and the following attributes:"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNInfoList { description "It defines the PLMN(s) of a Network Function."; - min-elements 1; + min-elements 1; key "idx"; leaf idx { type uint32; } uses types3gpp:PLMNId; uses types5g3gpp:SNssai; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list managedNFProfile { key idx; + leaf idx { type uint32;} min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } - + list networkSliceInfoList { key idx; min-elements 1; - description "The attribute specifies a list of NetworkSliceInfo which - is defined as a datatype (see clause 5.3.95). It is used by an - authorized consumer, e.g. NWDAF, to facilitate the data collection + description "The attribute specifies a list of NetworkSliceInfo which + is defined as a datatype (see clause 5.3.95). It is used by an + authorized consumer, e.g. NWDAF, to facilitate the data collection from OAM."; leaf idx { type string; } - uses NetworkSliceInfoGrp; + uses NetworkSliceInfoGrp; yext3gpp:inVariant; } @@ -347,67 +350,67 @@ module _3gpp-5gc-nrm-nwdaffunction { description "It represents specific data for the NWDAF."; uses NwdafInfoGrp; } - + leaf administrativeState { type types3gpp:BasicAdministrativeState ; mandatory true; - description "This attribute determines whether the NWDAF is enabled or - disabled. MnS consumer can configure this attribute to activate or - de-activate the analytic functionalities (identified by nwdafEvent + description "This attribute determines whether the NWDAF is enabled or + disabled. MnS consumer can configure this attribute to activate or + de-activate the analytic functionalities (identified by nwdafEvent defined in TS 29.520) of the NWDAF instance."; } - + leaf nwdafLogicalFuncSupported { type enumeration { enum NWDAF_WITH_ANLF { - description "Indicates the NWDAF containing Analytics logical + description "Indicates the NWDAF containing Analytics logical function (AnLF)"; } enum NWDAF_WITH_MTLF { - description "Indicates the NWDAF containing Model Training logical + description "Indicates the NWDAF containing Model Training logical function (MTLF)."; } enum NWDAF_WITH_ANLF_MTLF { - description "Indicates the NWDAF containing both Analytics logical + description "Indicates the NWDAF containing both Analytics logical function (AnLF) and Model Training logical function (MTLF)."; } } config false; - description "It represents the logical functions supported by the NWDAF. - If not present, the NWDAF shall be regarded with no logical - decomposition, in that case the NWDAF only supports the analytics + description "It represents the logical functions supported by the NWDAF. + If not present, the NWDAF shall be regarded with no logical + decomposition, in that case the NWDAF only supports the analytics services."; } leaf roamingAnalytics { type boolean ; config false; - description "It indicates whether the NWDAF supports + description "It indicates whether the NWDAF supports Nnwdaf_RoamingAnalytics service"; } leaf roamingData { type boolean ; config false; - description "It indicates whether the NWDAF supports + description "It indicates whether the NWDAF supports Nnwdaf_RoamingData service"; - } + } } - + augment "/me3gpp:ManagedElement" { list NWDAFFunction { description "5G Core NWDAF Function. - For more information about the NWDAF, see TS 23.501. Several - attributes (including 'nwdafInfo', 'administrativeState' and - 'ManagedNFProfile.servingScope') are used to control the functionalities + For more information about the NWDAF, see TS 23.501. Several + attributes (including 'nwdafInfo', 'administrativeState' and + 'ManagedNFProfile.servingScope') are used to control the functionalities (identified by nwdafEvent defined in TS 29.520) of the NWDAF instance. - The attribute 'ManagedNFProfile.servingScope' is used to represent - specified certain geographical area(s) can be served by the NWDAF - instance. - - The attribute 'NwdafInfo.taiList' and 'NwdafInfo.taiRangeList' is used - to represent specified certain tracking area(s) can be served by the + The attribute 'ManagedNFProfile.servingScope' is used to represent + specified certain geographical area(s) can be served by the NWDAF + instance. + + The attribute 'NwdafInfo.taiList' and 'NwdafInfo.taiRangeList' is used + to represent specified certain tracking area(s) can be served by the NWDAF instance."; reference "3GPP TS 28.541 3GPP TS 23.501"; key id; diff --git a/yang-models/_3gpp-5gc-nrm-pcffunction.yang b/yang-models/_3gpp-5gc-nrm-pcffunction.yang index 673c13acc2eb11880d4c3a42dcaace31ff520599..a9ab6b43533518c90033bb0824679bfdffb8d317 100755 --- a/yang-models/_3gpp-5gc-nrm-pcffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-pcffunction.yang @@ -1,41 +1,155 @@ module _3gpp-5gc-nrm-pcffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-pcffunction; prefix pcf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the PCF function in 5GC. For more + description "This IOC represents the PCF function in 5GC. For more information about the PCF, see 3GPP TS 23.501. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2020-08-06 { reference "CR-0333"; } revision 2020-08-06 { reference "CR-0331"; } revision 2019-10-25 { reference "S5-194457 S5-193518"; } revision 2019-05-22 { reference "initial revision"; } - + + grouping ProSeCapabilityGrp { + leaf proseDirectDiscovery { + type boolean; + description "Indicates support for ProSe Direct Discovery."; + } + leaf proseDirectCommunication { + type boolean; + description "Indicates support for ProSe Direct Communication."; + } + leaf proseL2UetoNetworkRelay { + type boolean; + description "Indicates support for ProSe Layer-2 + UE-to-Network Relay.."; + } + leaf proseL3UetoNetworkRelay { + type boolean; + description "Indicates support for ProSe Layer-3 + UE-to-Network Relay."; + } + leaf proseL2RemoteUe { + type boolean; + description "Indicates support for ProSe Layer-2 + Remote UE."; + } + leaf proseL3RemoteUe { + type boolean; + description "Indicates support for ProSe Layer-3 + Remote UE."; + } + leaf proseL2UetoUeRelay { + type boolean; + description "Indicates support for ProSe Layer-2 + UE-to-UE Relay."; + } + leaf proseL3UetoUeRelay { + type boolean; + description "Indicates support for ProSe Layer-3 + UE-to-UE Relay."; + } + leaf proseL2EndUe { + type boolean; + description "Indicates support for ProSe Layer-2 End UE."; + } + leaf proseL3EndUe { + type boolean; + description "Indicates support for ProSe Layer-3 End UE."; + } + leaf proseL3IntermRelay { + type boolean; + description "Indicates support for ProSe Layer-3 + Intermediate Relay."; + } + leaf proseL3MultihopRemote { + type boolean; + description "Indicates support for ProSe Layer-3 Multihop Remote."; + } + leaf proseL3NetMultihopRelay { + type boolean; + description "Indicates support for ProSe Layer-3 Network Multihop + Relay."; + } + leaf proseL3UeMultihopRelay { + type boolean; + description "Indicates support for ProSe Layer-3 UE Multihop Relay."; + } + leaf proseL3EndUeMultihop { + type boolean; + description "Indicates support for ProSe Layer-3 End UE Multihop."; + } + } + grouping pcfInfoGrp { + + leaf-list dnnList { + description "DNNs supported by the PCF. + If not provided, the PCF can serve any DNN."; + + min-elements 1; + type string; + } + + list supiRanges { + description "List of ranges of SUPIs that can be served by + the PCF instance. If not provided, the PCF can serve any SUPI."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses mnfp3gpp:SupiRangeGrp; + } + + leaf rxDiamHost { + description "This IE shall be present if the PCF supports Rx interface. + When present, this IE shall indicate the Diameter host + of the Rx interface for the PCF. + Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; + + type string; + } + + leaf rxDiamRealm { + description "This IE shall be present if the PCF supports Rx interface. + When present, this IE shall indicate the Diameter realm + of the Rx interface for the PCF. + Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; + + type string; + } + list proseCapability { + description "It indicates the supported ProSe Capability by the PCF."; + uses ProSeCapabilityGrp; + config false; + } + } grouping PCFFunctionGrp { description "Represents the PCFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -43,13 +157,13 @@ module _3gpp-5gc-nrm-pcffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -60,34 +174,48 @@ module _3gpp-5gc-nrm-pcffunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { key idx; + leaf idx { type uint32; } min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } + leaf supportedBMOList { + description "It is used to indicate the list of supported BMOs + (Bridge Managed Objects) required for integration with TSN system."; + type string; + } + list pcfInfo { + description "This attribute represents information of a PCF NF Instance. + Multiple pcfInfo may be allowed to define different DNN list for each + supiranges."; + key idx; + leaf idx { type uint32; } + uses pcfInfoGrp; + } leaf dynamic5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the PCFFunction supports + description "DN of the Dynamic5QISet that the PCFFunction supports (is associated to)."; } leaf configurable5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the PCFFunction supports + description "DN of the Configurable5QISet that the PCFFunction supports (is associated to)."; } } - + augment "/me3gpp:ManagedElement" { list PCFFunction { description "5G Core PCF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang index 34db5ada049bea0785a61f57c7a6b2632291778e..c54cbddb7a9f31b3702a899aff885f60fd885b5d 100755 --- a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang +++ b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang @@ -1,43 +1,44 @@ module _3gpp-5gc-nrm-predefinedpccruleset { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-predefinedpccruleset; prefix PredPccRules3gpp; - + import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp; } import ietf-yang-types { prefix yang; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the predefined PCC rules, which are + description "This IOC represents the predefined PCC rules, which are configured to SMF and referenced by PCF. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-05-01 { reference CR-xxxx ; } revision 2025-04-25 { reference CR-1520 ; } revision 2025-03-25 { reference CR-1489 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-10-04 { reference "CR-0393"; } revision 2020-08-21 { reference "CR-0330"; } grouping TscaiInputContainer { - description "It specifies the transports TSCAI input parameters for TSC + description "It specifies the transports TSCAI input parameters for TSC traffic at the ingress interface of the DS-TT/UE for a PCC rule."; reference " 3GPP TS 29.512"; leaf periodicity { type uint32; - description "It identifies the time period between the start of two bursts + description "It identifies the time period between the start of two bursts in reference to the TSN GM."; reference "3GPP TS 29.571."; } leaf burstArrivalTime { type yang:date-and-time; - description "It Indicates the arrival time (in date-time format) of the + description "It Indicates the arrival time (in date-time format) of the data burst in reference to the TSN GM."; reference "3GPP,TS 29.571."; } @@ -52,13 +53,13 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } leaf activationTime { type yang:date-and-time; - description " It indicates the time (in date-time format) when the decision + description " It indicates the time (in date-time format) when the decision data shall be activated."; reference "3GPP29.512 and TS 29.571."; } leaf deactivationTime { type yang:date-and-time; - description "It indicates the time (in date-time format) when the decision + description "It indicates the time (in date-time format) when the decision data shall be deactivated."; reference "3GPPTS 29.512 and TS 29.571."; } @@ -67,7 +68,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum 3GPP_ACCESS; enum NON_3GPP_ACCESS; } - description "It provides the condition of access type of the UE when the + description "It provides the condition of access type of the UE when the session AMBR shall be enforced."; reference "3GPPTS 29.512."; } @@ -89,7 +90,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum UTRA; enum GERA; } - description "It provides the condition of RAT type of the UE when the + description "It provides the condition of RAT type of the UE when the session AMBR shall be enforced."; reference "3GPPTS 29.512 and TS 29.571."; } @@ -125,7 +126,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { type uint8 { range 0..100; } - description "It indicates the traffic load to steer to the 3GPP Access + description "It indicates the traffic load to steer to the 3GPP Access expressed in one percent."; } leaf prioAcc { @@ -139,19 +140,19 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } grouping UpPathChgEvent { - description "It specifies the information about the AF subscriptions of the + description "It specifies the information about the AF subscriptions of the UP path change."; reference "3GPPTS 29.512"; leaf notificationUri { type string; mandatory true; - description "It provides notification address (Uri) of AF receiving the + description "It provides notification address (Uri) of AF receiving the event notification."; } leaf notifCorreId { type string; mandatory true; - description "It is used to set the value of Notification Correlation ID in + description "It is used to set the value of Notification Correlation ID in the notification sent by the SMF, see TS 29.512"; } leaf dnaiChgType { @@ -166,7 +167,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf afAckInd { type boolean; default false; - description "It identifies whether the AF acknowledgement of UP path + description "It identifies whether the AF acknowledgement of UP path event notification is expected."; } } @@ -175,24 +176,24 @@ module _3gpp-5gc-nrm-predefinedpccruleset { description "It specifies the traffic routing information."; leaf ipv4Addr { type string; - description "It defines the Ipv4 address of the tunnel end point in the + description "It defines the Ipv4 address of the tunnel end point in the data network, formatted in the dotted decimal notation."; } leaf ipv6Addr { type string; - description "It defines the Ipv6 address of the tunnel end point in the + description "It defines the Ipv6 address of the tunnel end point in the data network."; } leaf portNumber { type uint32; mandatory true; - description " It defines the UDP port number of the tunnel end point in + description " It defines the UDP port number of the tunnel end point in the data network, see TS 29.571"; } } grouping RouteToLocation { - description "It specifies a list of location which the traffic shall be + description "It specifies a list of location which the traffic shall be routed to for the AF request."; leaf dnai { type string; @@ -211,7 +212,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } grouping RedirectInformaton { - description "It specifies the redirect information for traffic control in + description "It specifies the redirect information for traffic control in the PCC rule."; leaf redirectEnabled { type boolean; @@ -237,12 +238,12 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } grouping TrafficControlDataInformation { - description "It specifies the traffic control data for a service + description "It specifies the traffic control data for a service flow of a PCC rule."; leaf tcId { type string; mandatory true; - description "It univocally identifies the traffic control policy data + description "It univocally identifies the traffic control policy data within a PDU session."; } leaf flowStatus { @@ -254,22 +255,22 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum REMOVED; } mandatory true; - description "It represents whether the service data flow(s) are enabled + description "It represents whether the service data flow(s) are enabled or disabled."; } container redirectInfo { - description "It contains the redirect information indicating whether the + description "It contains the redirect information indicating whether the detected application traffic should be redirected to another controlled address."; uses RedirectInformaton; } container addRedirectInfo { - description "It contains the additional redirect information indicating - whether the detected application traffic should be redirected to another + description "It contains the additional redirect information indicating + whether the detected application traffic should be redirected to another controlled address."; list redirectInfo { - description "The list of redirect information indicating whether the - detected application traffic should be redirected to another + description "The list of redirect information indicating whether the + detected application traffic should be redirected to another controlled address."; key "redirectServerAddress"; uses RedirectInformaton; @@ -278,7 +279,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf muteNotif { type boolean; default false; - description "It indicates whether applicat'on's start or stop notification + description "It indicates whether applicat'on's start or stop notification is to be muted."; } leaf trafficSteeringPolIdDl { @@ -287,14 +288,14 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } leaf trafficSteeringPolIdUl { type string; - description "It references to a pre-configured traffic steering policy for + description "It references to a pre-configured traffic steering policy for uplink traffic at the SMF, see TS 29.512"; } container routeToLocs { - description "It provides a list of location which the traffic shall be + description "It provides a list of location which the traffic shall be routed to for the AF request."; list routeToLoc { - description "The list of location which the traffic shall be routed to + description "The list of location which the traffic shall be routed to for the AF request."; key "dnai"; uses RouteToLocation; @@ -310,7 +311,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { reference "3GPPTS 29.512"; } container steerModeDl { - description "It provides the traffic distribution rule across 3GPP and + description "It provides the traffic distribution rule across 3GPP and Non-3GPP accesses to apply for downlink traffic."; uses SteeringMode; } @@ -428,7 +429,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf destMacAddr { type string; mandatory true; - description "It specifies the destination MAC address formatted in the + description "It specifies the destination MAC address formatted in the hexadecimal ."; reference "clause 1.1 and clause 2.1 of IETF RFC"; } @@ -453,16 +454,16 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf sourceMacAddr { type string; mandatory true; - description "It specifies the source MAC address formatted in the + description "It specifies the source MAC address formatted in the hexadecimal notation."; reference "clause 1.1 and clause 2.1 of IETF RFC 7042"; } leaf-list vlanTags { type string; - description "It specifies the Customer-VLAN and/or Service-VLAN tags - containing the VID, PCP/DEI fields as defined in IEEE 802.1Q and - IETF RFC 7042. The first/lower instance in the array stands for the - Customer-VLAN tag and the second/higher instance in the array stands + description "It specifies the Customer-VLAN and/or Service-VLAN tags + containing the VID, PCP/DEI fields as defined in IEEE 802.1Q and + IETF RFC 7042. The first/lower instance in the array stands for the + Customer-VLAN tag and the second/higher instance in the array stands for the Service-VLAN tag."; } leaf srcMacAddrEnd { @@ -538,7 +539,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf applicationId { type string; default false; - description "A reference to the application detection filter configured + description "A reference to the application detection filter configured at the UPF."; } leaf appDescriptor { @@ -553,7 +554,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { type uint8 { range 0..255; } - description "It indicates the order in which this PCC rule is applied + description "It indicates the order in which this PCC rule is applied relative to other PCC rules within the same PDU session."; } leaf afSigProtocol { @@ -561,13 +562,13 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum NO_INFORMATION; enum SIP; } - description "Indicates the protocol used for signalling between the UE + description "Indicates the protocol used for signalling between the UE and the AF, the default value is NO_INFORMATION."; } leaf isAppRelocatable { type boolean; default false; - description "It indicates the application relocation possibility, the + description "It indicates the application relocation possibility, the default value is NO_INFORMATION."; } leaf isUeAddrPreserved { @@ -584,7 +585,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } } container altQosParams { - description "It contains the QoS control policy data for the Alternative + description "It contains the QoS control policy data for the Alternative QoS parameter sets of the service data flow."; list qosDataInfo { description "The list of QoS control policy data."; @@ -600,15 +601,15 @@ module _3gpp-5gc-nrm-predefinedpccruleset { uses TrafficControlDataInformation; } } - uses ConditionData; + uses ConditionData; container tscaiInputUl { description "It contains transports TSCAI input parameters for TSC traffic at the ingress interface of the DS-TT/UE (uplink flow direction)."; - uses TscaiInputContainer; + uses TscaiInputContainer; } container tscaiInputDl { description "It contains transports TSCAI input parameters for TSC traffic at the ingress of the NW-TT (downlink flow direction)."; - uses TscaiInputContainer; + uses TscaiInputContainer; } leaf easRedisIndRequired { type boolean; @@ -628,7 +629,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { type boolean; default false; description "Indicates whether QoS flow parameter signalling to the UE is enabled (TRUE), when the SMF is notified by the NG-RAN of changes in the fulfilled QoS situation,"; - } + } leaf packFiltAllPrec { type uint32; description "Determines the order of TFT packet filter allocation for PCC rules."; @@ -636,7 +637,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf nscSupportedFeats { type uint32; description "Indicates the Network Function Service Consumer features supported per service."; - } + } } grouping PredefinedPccRuleSetGrp { @@ -646,7 +647,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { key "pccRuleId"; uses PccRule; } - } + } grouping PredefinedPccRuleSetSubtree { description "It specifies the PredefinedPccRuleSet IOC with inherited attributes."; @@ -658,7 +659,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { description "It contains the attributes defined specifically in the PredefinedPccRuleSet IOC."; uses PredefinedPccRuleSetGrp; } - } + } } augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang index ca37a43d4c235d3cd8fa4b866f4f5c4e03a38fe8..d62b1cfacb2b7cbe9c5e95da773ab144628af55f 100755 --- a/yang-models/_3gpp-5gc-nrm-smffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smffunction.yang @@ -9,16 +9,17 @@ module _3gpp-5gc-nrm-smffunction { import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "SMFFunction derived from basic ManagedFunction. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2020-08-06 { reference "CR-0333"; } @@ -27,55 +28,156 @@ module _3gpp-5gc-nrm-smffunction { revision 2019-05-31 {reference "Ericsson refactoring."; } revision 2018-08-07 { reference "Initial revision";} + + grouping SmfInfoGrp { + + list sNssaiSmfInfoList { + description "List of parameters supported by the SMF per S-NSSAI."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:sNssaiSmfInfoItem; + } + + list taiList { + description "The list of TAIs the SMF can serve. + It may contain the non-3GPP access TAI. + The absence of this attribute and the taiRangeList + attribute indicate that + the SMF can be selected for any TAI + in the serving network."; + + key idx; + leaf idx { type uint32; } + + min-elements 1; + uses types3gpp:TaiGrp; + } + + list taiRangeList { + description "The range of TAIs the SMF can serve. + The absence of this attribute and the taiList + attribute indicate that the SMF can be selected + for any TAI in the serving network."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + + leaf pgwFqdn { + description "The FQDN of the PGW if the SMF is a combined SMF/PGW-C."; + type inet:domain-name; + } + leaf-list accessType { + description "If included, this IE shall contain the access type + (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF. + If not included, it shall be assumed the both + access types are supported."; + + min-elements 1; + max-elements 2; + type AccessType; + } + leaf priority { + description "This parameter defines Priority (relative to other + NFs of the same type) in the range of 0-65535, to be used for + NF selection; lower values indicate a higher priority. If + priority is also present in the nfServiceList parameters, + those will have precedence over this value "; + type uint16; + } + leaf-list vsmfSupportInd { + description "Used by an SMF to explicitly indicate the support of + V-SMF capability and its preference to be selected as V-SMF. + When present it indicate whether the V-SMF capability is supported + by the SMF: + - true: V-SMF capability supported by the SMF + - false: V-SMF capability not supported by the SMF. + When absent the V-SMF capability support of the SMF is not specified."; + type boolean; + + } + leaf pgwFqdnList { + description "When present, this attribute provides additional FQDNs + to the FQDN indicated in the pgwFqdn attribute. + The pgwFqdnList attribute may be present if the pgwFqdn attribute + is present."; + type string; + } + leaf-list ismfSupportInd { + description "This attribute may be used by an SMF to explicitly + indicate the support of I-SMF capability and its preference to be + selected as I-SMF. When present, this attribute shall indicate + whether the I-SMF capability are supported by the SMF: + - TRUE: I-SMF capability supported by the SMF + - FALSE: I-SMF capability not supported by the SMF. Absence of this + attribute indicates the I-SMF capability support of the SMF is not + specified."; + max-elements 1; + type boolean; + } + leaf-list smfOnboardingCapability { + description "This attribute indicates the SMF supports SNPN + Onboarding capability and User Plane Remote Provisioning. This + is used for the case of Onboarding of UEs for SNPNs + (see TS 23.501 [2], clauses 5.30.2.10 and 6.2.6.2). + - FALSE: SMF does not support SNPN Onboarding; + - TRUE: SMF supports SNPN Onboarding."; + type boolean; + max-elements 1; + } + leaf-list smfUPRPCapability { + description "This attribute IE indicates the SMF supports User + Plane Remote Provisioning (UPRP) capability. This is used for + the case of Onboarding of UEs for SNPNs , + clauses 5.30.2.10 and 6.2.6.2). + - FALSE: SMF does not support UPRP; + - TRUE: SMF supports UPRP."; + reference "see TS 23.501 [2]"; + type boolean; + } + } + grouping SMFFunctionGrp { description "Represents the SMFFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; list pLMNIdList { min-elements 1; - description "A list of PLMN identifiers (Mobile Country Code and Mobile + description "A list of PLMN identifiers (Mobile Country Code and Mobile Network Code)."; key "mcc mnc"; uses types3gpp:PLMNId; } - leaf-list nRTACList { + leaf nRTACList { description "List of Tracking Area Codes (legacy TAC or extended TAC) where the represented management function is serving."; reference "TS 38.413 clause 9.3.3.10"; - min-elements 1; config false; type types5g3gpp:NRTAC; } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - list managedNFProfile { key idx; + leaf idx { type uint32; } min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; @@ -83,13 +185,13 @@ module _3gpp-5gc-nrm-smffunction { leaf configurable5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the SMFFunction supports + description "DN of the Configurable5QISet that the SMFFunction supports (is associated to)."; } - + leaf dynamic5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the SMFFunction supports + description "DN of the Dynamic5QISet that the SMFFunction supports (is associated to)."; } @@ -106,15 +208,21 @@ module _3gpp-5gc-nrm-smffunction { leaf-list dnaiList { description "List of Data network access identifiers."; min-elements 1; - type string; + type string; } - + leaf satelliteid { description "Unique identifier of a GEO satellite."; type string; } } + typedef AccessType { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + } augment "/me3gpp:ManagedElement" { list SMFFunction { description "5G Core SMF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-smsffunction.yang b/yang-models/_3gpp-5gc-nrm-smsffunction.yang index 61c7d12424779ba3eaeba23bd72ec177208b7a15..e6c9834e4d3ccd004ce0c7b1fd5233fe623d4b7a 100755 --- a/yang-models/_3gpp-5gc-nrm-smsffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smsffunction.yang @@ -1,55 +1,62 @@ module _3gpp-5gc-nrm-smsffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-smsffunction; prefix smsf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp;} + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the SMSF function defined in 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-15 { - description "initial revision"; - - } - + revision 2019-05-15 { reference "initial revision";} + grouping SMSFFunctionGrp { uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). The PLMN Identifier is composed of + a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + min-elements 1; max-elements 6; key "mcc mnc"; uses types3gpp:PLMNId; - } - + } + list managedNFProfile { + description "This parameter defines profile for managed NF. + See TS 23.501"; key idx; + leaf idx { type uint32;} min-elements 1; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { + description "The attribute specifies a list of commModel which is + defined as a datatype (see clause 5.3.69). It can be used by NF + and NF services to interact with each other in 5G Core network "; + reference "see TS 23.501."; min-elements 1; key "groupId"; uses types5g3gpp:CommModel; } } - + augment "/me3gpp:ManagedElement" { list SMSFFunction { description "5G Core SMSF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-udmfunction.yang b/yang-models/_3gpp-5gc-nrm-udmfunction.yang index 319015d161e6b5a43788d8085889afe7453c88d9..6fc1e8793f52dacddb2e6ae1831a9818775a60ae 100755 --- a/yang-models/_3gpp-5gc-nrm-udmfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udmfunction.yang @@ -1,39 +1,148 @@ module _3gpp-5gc-nrm-udmfunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udmfunction; prefix udm3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the UDM function in 5GC. For more + description "This IOC represents the UDM function in 5GC. For more information about the UDM, see 3GPP TS 23.501. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - + + revision 2025-07-25 { reference CR-1558 ; } revision 2024-04-04 { reference CR-1139; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } revision 2019-05-22 { reference "initial revision";} - + + grouping InternalGroupIdRangeGrp { + + leaf start { + description "It indicates first value identifying the start of an + identity range, to be used when the range of identities can be + represented as a consecutive numeric range."; + type string; + } + + leaf end{ + description "It indicates last value identifying the end of an + identity range, to be used when the range of identities can be + represented as a consecutive numeric range."; + type string; + } + leaf pattern { + description "It indicates pattern (regular expression according + to the ECMA-262 dialect [75]) representing the set of identities + belonging to this range. An identity value is considered part of + the range if and only if the identity string fully matches the + regular expression."; + type string; + } + } + grouping SuciInfoGrp { + description "This data type represents SUCI information containing + Routing Indicator and Home Network Public Key ID. (See TS 29.510)"; + + leaf-list routingInds { + type string; + min-elements 1; + description "It indicates served Routing Indicator (see TS 23.003, + clause 2.2B). If not provided, the AUSF/UDM + can serve any Routing Indicator."; + } + + leaf-list hNwPubKeyIds { + type int64; + min-elements 1; + description "It indicating served Home Network Public Key + (see TS 23.003, clause 2.2B). If not provided, the AUSF/UDM + can serve any public key."; + } + } + grouping UdmInfoGrp { + + leaf groupId { + description "Identity of the UDM group that is served by the + UDM instance. If not provided, the UDM instance does + not pertain to any UDM group."; + type string; + } + + list supiRanges { + description "List of ranges of SUPI's whose profile data is + available in the UDM instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:SupiRangeGrp; + } + + list gpsiRanges { + description "List of ranges of GPSIs whose profile data is + available in the UDM instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + list externalGroupIdentifiersRanges { + description "List of ranges of external groups whose profile + data is available in the UDM instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + leaf-list routingIndicators { + description "List of Routing Indicator information that allows + to route network signalling with SUCI + to the UDM instance. If not provided, + the UDM can serve any Routing Indicator. + Pattern: '^[0-9]{1,4}$'."; + min-elements 1; + type string; + } + + list internalGroupIdentifiersRanges{ + description "It represents list of ranges of Internal Group + Identifiers whose profile data is available in the UDM instance. + If not provided, it does not imply that the UDM supports all + internal groups."; + key idx; + leaf idx { type uint32; } + uses InternalGroupIdRangeGrp; + } + list suciInfos { + description "It represents list of SuciInfo. A SUCI that matches + this information can be served by the UDM .A SUCI that matches + all attributes of at least one entry in this array shall be + considered as a match of this information"; + key idx; + leaf idx { type uint32; } + uses SuciInfoGrp; + } + } + grouping UDMFuntionGrp { description "Represents the UDMFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -41,13 +150,13 @@ module _3gpp-5gc-nrm-udmfunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -58,24 +167,34 @@ module _3gpp-5gc-nrm-udmfunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { key idx; + leaf idx { type uint32; } min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } + list udmInfo { + description "This attribute represents the information of an UDM NF + Instance "; + key idx; + leaf idx { type uint32; } + reference "TS 29.510 "; + uses UdmInfoGrp; + } + leaf-list mdtUserConsentReqList { type enumeration { enum M1; @@ -91,11 +210,11 @@ module _3gpp-5gc-nrm-udmfunction { } description "represents a list of MDT measurement names that are subject to user consent at MDT activation. - Any MDT measurement, whose name is not specified in this list, is not + Any MDT measurement, whose name is not specified in this list, is not subject to user consent at MDT activation."; } } - + augment "/me3gpp:ManagedElement" { list UDMFunction { description "5G Core UDM Function"; diff --git a/yang-models/_3gpp-5gc-nrm-udrfunction.yang b/yang-models/_3gpp-5gc-nrm-udrfunction.yang index 1118fd1431dbcd7d2f73380054494f9fe96194fa..5f9ff10286ac9b87ac124febb175001c8a8c712d 100755 --- a/yang-models/_3gpp-5gc-nrm-udrfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udrfunction.yang @@ -1,39 +1,82 @@ module _3gpp-5gc-nrm-udrfunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udrfunction; prefix udr3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the UDR function in 5GC. For more information + description "This IOC represents the UDR function in 5GC. For more information about the UDR, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - + revision 2019-05-22 {reference "initial revision"; } - + + grouping UdrInfoGrp { + + leaf groupId { + description "Identity of the UDR group that is served + by the UDR instance. + If not provided, the UDR instance does not pertain + to any UDR group."; + type string; + } + + list supiRanges { + description "List of ranges of SUPI's whose profile data + is available in the UDR instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:SupiRangeGrp; + } + + list gpsiRanges { + description "List of ranges of GPSIs whose profile data is + available in the UDR instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + list externalGroupIdentifiersRanges { + description "List of ranges of external groups whose profile + data is available in the UDR instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + leaf-list supportedDataSets { + description "List of supported data sets in the UDR instance. + If not provided, the UDR supports all data sets."; + min-elements 1; + type DataSetId; + } + } grouping UDRFuntionGrp { description "Representse the UDRFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -41,13 +84,13 @@ module _3gpp-5gc-nrm-udrfunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -58,16 +101,26 @@ module _3gpp-5gc-nrm-udrfunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { key idx; + leaf idx { type uint32; } min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; + } + } + + typedef DataSetId { + type enumeration { + enum SUBSCRIPTION; + enum POLICY; + enum EXPOSURE; + enum APPLICATION; } } - + augment "/me3gpp:ManagedElement" { list UDRFunction { description "5G Core UDR Function"; diff --git a/yang-models/_3gpp-5gc-nrm-udsffunction.yang b/yang-models/_3gpp-5gc-nrm-udsffunction.yang index 553ca7d5aa35cc2a288da7e5de96d66b71323d9f..fad0d9e2528840138f3e3bd3c8ec9e20a769c805 100755 --- a/yang-models/_3gpp-5gc-nrm-udsffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udsffunction.yang @@ -1,39 +1,41 @@ module _3gpp-5gc-nrm-udsffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udsffunction; prefix udsf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp;} + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the UDSF function which can be interacted + description "This IOC represents the UDSF function which can be interacted with any other 5GC NF defined in 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + revision 2019-05-22 { reference "initial revision"; } - + grouping UDSFFuntionGrp { description "Represents the UDSFFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + description "List of at most six entries of PLMN Identifiers, but at least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -41,13 +43,13 @@ module _3gpp-5gc-nrm-udsffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -58,17 +60,18 @@ module _3gpp-5gc-nrm-udsffunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { key idx; + leaf idx { type uint32;} min-elements 1; max-elements 1; description "Managed Network Function profile"; reference "3GPP TS 23.501"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } } - + augment "/me3gpp:ManagedElement" { list UDSFFunction { description "5G Core UDSF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang index 0c4a89df44c48865d6feb192e050397147fd531a..ce54974048ec977d9628a8083b630653ed925a60 100755 --- a/yang-models/_3gpp-5gc-nrm-upffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-upffunction.yang @@ -8,28 +8,465 @@ module _3gpp-5gc-nrm-upffunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp;} organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "UPFFunction derived from basic ManagedFunction. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-07-25 { reference CR-1558 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-193518"; } revision 2019-05-31 { reference "Ericsson refactoring."; } revision 2018-08-07 { reference "Initial revision"; } + typedef PduSessionType { + type enumeration { + enum IPV4; + enum IPV6; + enum IPV4V6; + enum UNSTRUCTURED; + enum ETHERNET; + } + } + + grouping DnnUpfInfoItemGrp { + leaf dnn { + description "String representing a Data Network."; + mandatory true; + type string; + } + + leaf-list dnaiList { + description "List of Data network access identifiers supported + by the UPF for this DNN. + The absence of this attribute indicates that the UPF + can be selected for this DNN for any DNAI."; + min-elements 1; + type string; //dnai is the type but its only a string with + //desc: DNAI (Data network access identifier), + //is this needed as its own typedef or string is ok + } + + leaf-list pduSessionTypes { + description "List of PDU session type(s) supported by + the UPF for a specific DNN."; + min-elements 1; + type PduSessionType; + } + + list ipv4AddressRanges { + description "This attribute represents a list of ranges of IPv4 addresses + handled by UPF. "; + key idx; + leaf idx { type uint32; } + uses types3gpp:Ipv4AddressRange; + } + + list ipv6PrefixRanges { + description "This attribute represents a list of ranges of IPv6 prefixes + handled by the UPF. "; + key idx; + leaf idx { type uint32; } + uses types3gpp:Ipv6PrefixRange; } + + list natedIpv4AddressRanges { + description "This attribute represents a list of ranges of NATed IPv4 + addresses."; + key idx; + leaf idx { type uint32; } + uses types3gpp:Ipv4AddressRange; + } + + list natedIpv6PrefixRanges { + description "This attribute represents a list of ranges of NATed IPv6 + prefixes."; + key idx; + leaf idx { type uint32; } + uses types3gpp:Ipv6PrefixRange; + } + + leaf-list ipv4IndexList { + type union { + type int32; + type string; + } + description "This attribute represents a list of Ipv4 Index supported by + the UPF. + This <> represents the IP Index to be sent from UDM to the SMF. + (See clause 6.1.6.2.77 TS 29.503) + It is a list of non-exclusive alternatives (Integer or String)."; + } + + leaf-list ipv6IndexList { + type union { + type int32; + type string; + } + description "This attribute represents a list of Ipv6 Index supported + by the UPF. + This <> represents the IP Index to be sent from UDM to the SMF. + (See clause 6.1.6.2.77 TS 29.503) + It is a list of non-exclusive alternatives (Integer or String)."; + } + + leaf networkInstance { + type string; + description "This attribute represents the N6 Network Instance + (See TS 29.244) associated with the S-NSSAI and DNN."; + } + + leaf-list dnaiNwInstanceList { + type string; + description "This attribute represents a map of a network instance per + DNAI for the DNN, where the key of the map is the DNAI (Data network + access identifier), see TS 23.501. + + When present, the value of each entry of the map shall contain a N6 + network instance that is configured for the DNAI indicated by the key."; + } + } + + grouping SnssaiUpfInfoItemGrp { + list sNssai { + description "Supported S-NSSAI."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:ExtSnssaiGrp; + } + + list dnnUpfInfoList { + description "It represents list of parameters supported by the UPF + per DNN."; + min-elements 1; + key dnn; + uses DnnUpfInfoItemGrp; + } + + leaf redundantTransport { + type boolean; + default false; + description "This attribute indicates whether the UPF supports redundant + transport path on the transport layer in the corresponding network + slice. + true: supported + false: not supported"; + } + } + + typedef UPInterfaceType { + type enumeration { + enum N3; + enum N6; + enum N9; + enum DATA_FORWARDING; + enum N6MB; + enum N19MB; + enum N3MB; + enum NMB9; + enum S1U; + enum S5U; + enum S8U; + enum S11U; + enum S12; + enum S2AU; + enum S2BU; + enum N3TRUSTEDN3GPP; + enum N3UNTRUSTEDN3GPP; + enum N9ROAMING; + enum SGI; + enum N19; + enum SXAU; + enum SXBU; + enum N4U; + } + } + + grouping InterfaceUpfInfoItemGrp { + leaf interfaceType { + description "User Plane interface type. + See TS 29.510[23] clause 6.1.6.3.9"; + mandatory true; + type UPInterfaceType; + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + } + + leaf-list ipv4EndpointAddresses { + description "Available endpoint IPv4 address(es) of + the User Plane interface."; + type inet:ipv4-address; + } + + leaf-list ipv6EndpointAddresses { + description "Available endpoint IPv6 address(es) of + the User Plane interface."; + type inet:ipv6-address; + } + + leaf fqdn { + description "This parameter defines FQDN of the Network Function + (See TS 23.003)."; + type inet:domain-name; + } + + leaf networkInstance { + description "Network Instance (See TS 29.244) associated to the User + Plane interface"; + type string; + mandatory true; + } + } + + grouping AtsssCapabilityGrp { + leaf atsssLL { + description "Indicates the ATSSS-LL capability to support procedures + related to Access Traffic Steering, Switching, Splitting + (see clauses 4.2.10, 5.32 of TS 23.501). + true: Supported + false: Not Supported"; + type boolean; + default false; + } + + leaf mptcp { + description "Indicates the MPTCP capability to support procedures related + to Access Traffic Steering, Switching, Splitting + (see clauses 4.2.10, 5.32 of TS 23.501). + true: Supported + false: Not Supported"; + type boolean; + default false; + } + + leaf rttWithoutPmf { + description "Indicates whether the UPF supports RTT measurement without + PMF (see clauses 5.32.2, 6.3.3.3 of TS 23.501). + true: Supported + false: Not Supported"; + type boolean; + default false; + } + } + + grouping UpfInfoGrp { + description "Represents datatype UpfInfo. This data type represents + information of an UPF Instance"; + + list sNssaiUpfInfoList { + description "This attribute represents a list of parameters supported by + the UPF per S-NSSAI."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses SnssaiUpfInfoItemGrp; + } + + leaf-list smfServingArea { + type string; + min-elements 1; + description "The SMF service area(s) the UPF can serve. See TS 29.510. + If not provided, the UPF can serve any SMF service area."; + } + + list interfaceUpfInfoList { + description "List of User Plane interfaces configured on the UPF. When + this parameter is provided in the NF Discovery response, the NF Service + Consumer (e.g., SMF) may use this information for UPF selection."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses InterfaceUpfInfoItemGrp; + } + + leaf iwkEpsInd { + type boolean; + mandatory true; + config false; + description "Indicates whether interworking with EPS is supported by + the UPF. + True: Supported + False: Not Supported"; + } + + leaf-list pduSessionTypes { + type enumeration { + enum IPV4; + enum IPV6; + enum IPV4V6; + enum UNSTRUCTURED; + enum ETHERNET; + } + config false; + min-elements 1; + description "Indicates the type(s) of a PDU session."; + } + + list atsssCapability { + config false; + description "Indicate the ATSSS capability of the UPF"; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses AtsssCapabilityGrp; + } + + leaf ueIpAddrInd { + type boolean; + config false; + default false; + description "Indicates whether the UPF supports allocating UE IP + addresses/prefixes. + true: supported + false: not supported"; + } + + list taiList { + description "The list of TAIs."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + + list taiRangeList { + description "The range of TAIs."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + + list wAgfInfo { + description "Indicate that the UPF is collocated with W-AGF. If not + present, the UPF is not collocated with Wireline Access Gateway + Function (W-AGF)."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IpInterfaceGrp; + } + + list tngfInfo { + description "Indicate that the UPF is collocated with TNGF. If not + present, the UPF is not collocated with Trusted Non-3GPP Gateway + Function (TNGF)."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IpInterfaceGrp; + } + + list twifInfo { + description "Indicate that the UPF is collocated with TWIF. If not + present, the UPF is not collocated with Trusted WLAN Interworking + Function (TWIF)."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IpInterfaceGrp; + } + + leaf priority { + type uint16; + mandatory true; + description "This parameter defines Priority (relative to other NFs of + the same type) in the range of 0-65535, to be used for NF selection; + lower values indicate a higher priority. If priority is also present + in the nfServiceList parameters, those will have precedence over + this value (See TS 29.510)."; + } + + leaf redundantGtpu { + type boolean; + default false; + config false; + description "Indicates whether the UPF supports redundant GTP-U path. + true: supported + false: not supported"; + } + + leaf ipups { + type boolean; + default false; + description "Indicates whether the UPF is configured for Inter-PLMN User + Plane Security (IPUPS). Any UPF can support the IPUPS functionality. + In network deployments where specific UPFs are used to provide IPUPS, + UPFs configured for providing IPUPS services shall be selected. + true: The UPF is configured for IPUPS. + false: The UPF is not configured for IPUPS"; + } + + leaf dataForwarding { + type boolean; + default false; + description "Indicates whether the UPF is configured for data forwarding. + Based on operator policies, if dedicated UPFs are preferred to be used + for indirect data forwarding during handover scenarios, when setting + up the indirect data forwarding tunnel, the SMF should preferably + select a UPF configured for data forwarding and use the network + instance indicated in the Network Instance ID associated to the + DATA_FORWARDING interface type in the interfaceUpfInfoList attribute. + true: the UPF is configured for data forwarding + false: the UPF is not configured for data forwarding + + If the UPF is configured for data forwarding, it shall support UP + network interface with type 'DATA_FORWARDING'."; + } + + leaf supportedPfcpFeatures { + type string; + config false; + description "Supported Packet Forwarding Control Protocol (PFCP) Features. + A string used to indicate the PFCP features supported by the UPF, + which encodes the 'UP Function Features' as specified in + Table 8.2.25-1 of TS 29.244 (starting from Octet 5), in hexadecimal + representation. + + Each character in the string shall take a value of '0' to '9', 'a' + to 'f' or 'A' to 'F' and each two characters shall represent one octet + of 'UP Function Features' (starting from Octet 5, to higher octets). + For each two characters representing one octet, the first character + representing the 4 most significant bits of the octet and the second + character the 4 least significant bits of the octet. + + The supported PFCP features shall be provisioned in addition and be + consistent with the existing UPF features (atsssCapability, ueIpAddrInd, + redundantGtpu and ipups), e.g., if the ueIpAddrInd is set to 'true', + then the UEIP flag shall also be set to '1' in the supported PFCP + features."; + } + + leaf sxaInd { + type boolean; + config false; + description "This attribute indicates whether the UPF is configured to + support Sxa interface. + true: Supported + false: Not Supported"; + } + } + grouping UPFFunctionGrp { description "Represents the UPFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; list pLMNIdList { - description "A list of PLMN identifiers (Mobile Country Code and Mobile + description "A list of PLMN identifiers (Mobile Country Code and Mobile Network Code)."; min-elements 1; key "mcc mnc"; @@ -37,7 +474,7 @@ module _3gpp-5gc-nrm-upffunction { } leaf-list nRTACList { - description "List of Tracking Area Codes (legacy TAC or extended TAC) + description "List of Tracking Area Codes (legacy TAC or extended TAC) where the represented management function is serving."; reference "TS 38.413 clause 9.3.3.10"; min-elements 1; @@ -45,29 +482,105 @@ module _3gpp-5gc-nrm-upffunction { type types5g3gpp:NRTAC; } - list sNSSAIList { + leaf-list cNSIIdList { + type string; + description "It is a set of NSI ID. NSI ID is an identifier for + identifying the Core Network part of a Network Slice instance when + multiple Network Slice instances of the same Network Slice are deployed, + and there is a need to differentiate between them in the 5GC. + See NSI ID definition in clause 3.1 of TS 23.501 and + subclause 6.1.6.2.7 of TS 29.531. "; + } + leaf energySavingControl { + type enumeration { + enum TO_BE_ENERGYSAVING; + enum TO_BE_NOT_ENERGYSAVING; + } + mandatory true; + description "This attribute allows management system to initiate energy + saving activation or deactivation for the edge UPF."; + } + + leaf energySavingState { + type enumeration { + enum IS_NOT_ENERGYSAVING; + enum IS_ENERGYSAVING; + } + mandatory true; + config false; + description "This attribute specifies the status regarding the energy + saving in the edge UPF. + + If the value of energySavingControl is TO_BE_ENERGYSAVING, then it + shall be tried to achieve the value IS_ENERGYSAVING for the + energySavingState. + + If the value of energySavingControl is TO_BE_NOT_ENERGYSAVING, then + it shall be tried to achieve the value IS_NOT_ENERGYSAVING for the + energySavingState. "; + } + + /*list sNSSAIList { ??? not visible in stage 2 description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD + An S-NSSAI has an SST (Slice/Service type) and an optional SD (Slice Differentiator) field."; reference "3GPP TS 23.003"; key "sd sst"; uses types5g3gpp:SNssai; - } - + }*/ + list managedNFProfile { key idx; + leaf idx { type uint32;} min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } - + leaf-list supportedBMOList { type string; - description "List of supported BMOs (Bridge Managed Objects) required + description "List of supported BMOs (Bridge Managed Objects) required for integration with TSN system."; } + + list upfInfo { + description "This attribute represents information of an UPF NF Instance. + Multiple upfInfo may be allowed to define different TAI list for each + supported S-NSSAI"; + key idx; + leaf idx { type uint32; } + uses UpfInfoGrp; + } + + leaf isOnboardSatellite { + type boolean; + default false; + config false; + yext3gpp:inVariant; + description "This attribute indicates whether the function is + on board the satellite."; + } + + leaf onboardSatelliteId { + type string { + pattern "[0-9]{5}" ; + } + config false; + yext3gpp:inVariant; + description "This attribute indicates the onboard satellite Id. + It shall be formatted as a fixed 5-digit string, padding with + leading digits '0' to complete a 5-digit length."; + } + + leaf uPFCapabilities { + type string; + yext3gpp:inVariant; + description "It indicates the operator configurable capability supported + by the UPF. (see clause 5.8.2.21 in TS 23.501, clause 5.4.2 + in TS 29.571)"; + } } augment /me3gpp:ManagedElement { diff --git a/yang-models/_3gpp-common-ep-rp.yang b/yang-models/_3gpp-common-ep-rp.yang index 0005480f30df98d9a91643e19afbe3c7178a8c9b..3b4d22dd97c390af97e3d8078daedb03d17e1126 100755 --- a/yang-models/_3gpp-common-ep-rp.yang +++ b/yang-models/_3gpp-common-ep-rp.yang @@ -1,5 +1,5 @@ module _3gpp-common-ep-rp { - yang-version 1.1; + yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-ep-rp"; prefix "eprp3gpp"; @@ -8,43 +8,43 @@ module _3gpp-common-ep-rp { import _3gpp-common-measurements { prefix meas3gpp; } organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Common/basic class/grouping to be inherited/reused. - This IOC represents an end point of a link used across a reference + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Common/basic class/grouping to be inherited/reused. + This IOC represents an end point of a link used across a reference point between two network entities. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; - reference - "3GPP TS 28.622 + reference + "3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS) - - 3GPP TS 28.620 + + 3GPP TS 28.620 Umbrella Information Model (UIM)"; - revision 2023-09-18 { reference CR-0271 ; } - revision 2020-06-08 { reference "CR-0092"; } + revision 2023-09-18 { reference CR-0271 ; } + revision 2020-06-08 { reference "CR-0092"; } revision 2019-06-17 { description "Initial revision"; } - + grouping EP_RPGrp { - description "Abstract class, represents an end point of a link used - across a reference point between two network entities. - - For naming the subclasses of EP_RP, the following rules shall apply: - - The name of the subclassed IOC shall have the form 'EP_', - where is a string that represents the name of the reference point. - Thus, two valid examples of EP_RP subclassed IOC names would be: + description "Abstract class, represents an end point of a link used + across a reference point between two network entities. + + For naming the subclasses of EP_RP, the following rules shall apply: + - The name of the subclassed IOC shall have the form 'EP_', + where is a string that represents the name of the reference point. + Thus, two valid examples of EP_RP subclassed IOC names would be: EP_S1 and EP_X2."; - + leaf userLabel { type string; description "A user-friendly (and user assignable) name of this object."; } - + leaf farEndEntity { config false; type types3gpp:DistinguishedName; diff --git a/yang-models/_3gpp-common-externaldata.yang b/yang-models/_3gpp-common-externaldata.yang new file mode 100644 index 0000000000000000000000000000000000000000..0854e9f887f1e28659f9b9e51b973a5696f24425 --- /dev/null +++ b/yang-models/_3gpp-common-externaldata.yang @@ -0,0 +1,135 @@ +module _3gpp-common-externaldata { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-externaldata"; + prefix "exdata3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + 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 the external data. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + + revision 2025-07-19 { reference CR-0551; } + + grouping ExternalDataScopeGrp { + list geoAreas { + description "It describes the concrete geographical area(s)"; + key idx; + leaf idx { type uint32; } + uses types3gpp:GeoAreaGrp; + } + + leaf-list objectInstancesIncluded { + type types3gpp:DistinguishedName; + description "List of managed object instances to which the described + data are related. Each object instance is identified by its DN."; + } + + leaf-list objectInstancesExcluded { + type types3gpp:DistinguishedName; + description "List of managed object instances which are not considered + in relation to the described data. Each object instance is identified + by its DN."; + } + } + + grouping ExternalDataTypeGrp { + description "Represents the IOC ExternalDataType"; + + leaf externalDataType { + type string; + mandatory true; + description "Type of external management data as defined by the + implementation. + + Examples: 'Electronic Map', 'Camara Data', 'UE path', 'Camera Photo', + 'Event Schedule”"; + } + + leaf-list mediaLocation { + type inet:uri; + description "URI of the media which includes the transfer protocol. + + Examples: + sftp://companyA.com/datastore/fileName.xml + https://companyA.com/ManagedElement=1/Files=1/File=1"; + } + + leaf externalDataTypeSchema { + type inet:uri; + mandatory true; + description "URI of the schema to parse a type of external management data. + The detailed schema definition for the different types of external + management data is out of scope of this specification."; + } + + list externalDataScope { + description "It describes the concrete scope which the external management + data is applicable."; + key idx; + leaf idx { type uint32; } + uses ExternalDataScopeGrp; + } + } + + augment /subnet3gpp:SubNetwork { + list ExternalDataType { + description "This IOC specifies a type of external management data and + the associated meta data. + + External management data is data which enrich 3GPP specified management + data and management data specified based on 3GPP defined management data + definition templates and frameworks. External management data can be + produced by data sources of different nature (e.g. sensors) with different + formats. Details see clause 6.4.1 in TS 28.537. + + MnS producer may use this IOC to describe external management data. + + For example, MnS producer publishes all external management data which + are available. + + MnS consumer may use this IOC to configure, discover or request external + management data. For example, MnS consumer discovers and requests certain + types of external management data. + + The ExternalDataType IOC can be name-contained by SubNetwork. + + Attribute externalDataType defines the type of external management data. + + Attribute mediaLocation indicates the address from which the described + external management data can be retrieved. + + The value of mediaLocation, if present, can provide one or several + directories or the address where the described external management data + can be retrieved. The different directories can be used to group the + external management data, e.g., one directory per geographical area or + per time period. For example, the value of the mediaLocation attribute + can be given by + + sftp://companyA.com/datastore/weatherforecasts/ + + In this case a potential file with name 'weatherforecastMunicht0.xml' + needs to be retrieved using 'sftp' from + + sftp://companyA.com/datastore/weatherforecasts/weatherforecastMunicht0.xml. + + Attribute externalDataTypeSchema indicates the URI where the MnS consumer + can get the schema to parse the external management data. + + Attribute externalDataScope is used to describe the concrete scope (e.g., + geographical areas) which the external management data is applicable."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalDataTypeGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-files.yang b/yang-models/_3gpp-common-files.yang index cc0ba8f553614e7c0de787fe1727b5b4a5329a16..a9c934a71b0270bbc36c2bb86e2a7630b01ee20b 100644 --- a/yang-models/_3gpp-common-files.yang +++ b/yang-models/_3gpp-common-files.yang @@ -13,7 +13,7 @@ module _3gpp-common-files { 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. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -25,40 +25,53 @@ module _3gpp-common-files { Integration Reference Point (IRP); Information Service (IS)"; - revision 2024-05-25 { reference CR-0362 ; } - revision 2023-09-18 { reference CR-0271 ; } + // the file is common for r17,18,19 + revision 2025-07-01 { reference "CR-0557 CR-0558 CR-0559"; } + revision 2024-05-25 { reference "CR-0361 CR-0362"; } + revision 2023-09-18 { reference "CR-0270 CR-0271"; } revision 2022-09-28 { reference CR-0191; } grouping FileGrp { description "Represents the File IOC."; - leaf fileLocation { - type inet:uri ; + choice fileRetrievalMethod { mandatory true; - yext3gpp:notNotifyable ; - yext3gpp:inVariant ; - 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 fileLocation { + type inet:uri ; + config false; + yext3gpp:notNotifyable ; + yext3gpp:inVariant ; + description "Location of the file incl. the file transfer protocol, + and the file name. + + 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 fileContent { + type binary ; + config false; + yext3gpp:notNotifyable ; + yext3gpp:inVariant ; + description "File content as a Base64 encoded string according to + RFC 4648 section 4."; + } } leaf fileCompression { type string ; - mandatory true; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Name of the algorithm used for compressing the file. - An empty or absent 'fileCompression' parameter indicates the file is + An 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."; } @@ -67,6 +80,7 @@ module _3gpp-common-files { type uint64 ; mandatory true; units bytes; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Size of the file"; @@ -82,6 +96,7 @@ module _3gpp-common-files { enum PROPRIETARY; } mandatory true; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Type of the management data stored in the file."; @@ -89,16 +104,18 @@ module _3gpp-common-files { leaf fileFormat { type string ; - mandatory true; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; - description "Identifier of the XML or ASN.1 schema (incl. its version) - used to produce the file content."; + description "Identifier of the schema (incl. its version) + used to produce the file content. If there is no schema for the file + or it is not available, the fileFormat parameter is absent."; } leaf fileReadyTime { type yang:date-and-time ; mandatory true; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Date and time, when the file was closed (the last time) @@ -108,22 +125,15 @@ module _3gpp-common-files { leaf fileExpirationTime { type yang:date-and-time ; - mandatory true; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Date and time after which the file may be deleted."; } - - leaf fileContent { - type string ; // String is very restrictive - mandatory true; - yext3gpp:notNotifyable ; - yext3gpp:inVariant ; - description "File content"; - } leaf-list jobRef { type types3gpp:DistinguishedName ; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Object instance of the 'PerfMetricJob' or 'TraceJob' @@ -132,6 +142,7 @@ module _3gpp-common-files { leaf jobId { type string ; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Identifier of a PerfMetricJob job or a TraceJob."; @@ -142,12 +153,14 @@ module _3gpp-common-files { description "Represents the Files IOC."; leaf numberOfFiles { type uint64 ; + config false; yext3gpp:notNotifyable ; description "Number of files in a file collection."; } leaf-list jobRef { type types3gpp:DistinguishedName ; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Object instance of the 'PerfMetricJob' or 'TraceJob' @@ -156,6 +169,7 @@ module _3gpp-common-files { leaf jobId { type string ; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Identifier of a PerfMetricJob job or a TraceJob."; @@ -210,7 +224,7 @@ module _3gpp-common-files { The attribute '_linkToFiles' allows a MnS consumer to create simple and targeted subscriptions for 'notifyFileReady'and 'notifyFilePreparationError', or - 'notifyMOICreation', 'notifyMOIChanges' and 'notifyFilePreparationError' + 'notifyMOICreation', 'notifyMOIChanges' and 'notifyFilePreparationError' 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. @@ -244,36 +258,20 @@ module _3gpp-common-files { 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. + + The MnS producer makes the file available by one of the following means: + - For retrieval via a file transfer protocol. The fileLocation attribute + indicates the address from where the file can be retrieved. The + address includes the file transfer protocol (schema). Allowed file + transfer protocols are 'sftp', 'ftpes' and 'https'. + - For retrieval of the file contents via a CM read operation. The + attribute fileContent is provided for retrieving the actual file + content. In this case, the name of the file is equal to the identity + of the File instance. When the file retrieval NRM fragment is used together with a data - collection job ('PerfMetricJob' or 'TraceJob') the following - provisions shall apply: + 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. @@ -313,13 +311,9 @@ module _3gpp-common-files { 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. The parameter 'fileCreationErrorInfoList' - shall provide details about files and job which failed to create them. - The error information about such files shall only be emitted once, - at the time the MnS producer fails to create them, to inform the MnS - consumer about files which the node could not create. Note that to - receive 'notifyFilePreparationError' in that case the notification - subscription needs to include these objects in its scope."; + 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 { diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index b067ace3f9eee9798d228269ed4324fb6b19717c..e9d3b2defb0c4675535b8b5d7e3a2ff10b6dcbd2 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -16,6 +16,7 @@ module _3gpp-common-fm { TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; + revision 2025-08-13 { reference "CR-0050 CR-0051 CR-0053 CR-0054"; } revision 2025-05-01 { reference "CR-0042 CR-0043"; } // common for R18, R19 revision 2025-03-25 { reference "CR-0025 CR-0026"; } revision 2024-05-12 { @@ -104,6 +105,218 @@ module _3gpp-common-fm { description "The possible alarm severities"; } + typedef probable-causes { + type enumeration { + enum INDETERMINATE { value 0; } + enum ALARM_INDICATION_SIGNAL { value 1; } + enum CALL_SETUP_FAILURE { value 2; } + enum DEGRADED_SIGNAL { value 3; } + enum FAR_END_RECEIVER_FAILURE { value 4; } + enum FRAMING_ERROR { value 5; } + enum LOSS_OF_FRAME { value 6; } + enum LOSS_OF_POINTER { value 7; } + enum LOSS_OF_SIGNAL { value 8; } + enum PAYLOAD_TYPE_MISMATCH { value 9; } + enum REMOTE_ALARM_INTERFACE { value 11; } + enum EXCESSIVE_BIT_ERROR_RATE { value 12; } + enum PATH_TRACE_MISMATCH { value 13; } + enum UNAVAILABLE { value 14; } + enum SIGNAL_LABEL_MISMATCH { value 15; } + enum LOSS_OF_MULTI_FRAME { value 16; } + enum COMMUNICATIONS_RECEIVE_FAILURE { value 17; } + enum COMMUNICATIONS_TRANSMIT_FAILURE { value 18; } + enum MODULATION_FAILURE { value 19; } + enum DEMODULATION_FAILURE { value 20; } + enum BACK_PLANE_FAILURE { value 51; } + enum DATA_SET_PROBLEM { value 52; } + enum EQUIPMENT_IDENTIFIER_DUPLICATION { value 53; } + enum EXTERNAL_IF_DEVICE_PROBLEM { value 54; } + enum LINE_CARD_PROBLEM { value 55; } + enum MULTIPLEXER_PROBLEM { value 56; } + enum NE_IDENTIFIER_DUPLICATION { value 57; } + enum POWER_PROBLEM { value 58; } + enum PROCESSOR_PROBLEM { value 59; } + enum PROTECTION_PATH_FAILURE { value 60; } + enum RECEIVER_FAILURE { value 61; } + enum REPLACEABLE_UNIT_MISSING { value 62; } + enum REPLACEABLE_UNIT_TYPE_MISMATCH { value 63; } + enum SYNCHRONIZATION_SOURCE_MISMATCH { value 64; } + enum TERMINAL_PROBLEM { value 65; } + enum TIMING_PROBLEM { value 66; } + enum TRANSMITTER_FAILURE { value 67; } + enum TRUNK_CARD_PROBLEM { value 68; } + enum REPLACEABLE_UNIT_PROBLEM { value 69; } + enum REAL_TIME_CLOCK_FAILURE { value 70; } + enum PROTECTION_MECHANISM_FAILURE { value 81; } + enum PROTECTING_RESOURCE_FAILURE { value 82; } + enum AIR_COMPRESSOR_FAILURE { value 101; } + enum AIR_CONDITIONING_FAILURE { value 102; } + enum AIR_DRYER_FAILURE { value 103; } + enum BATTERY_DISCHARGING { value 104; } + enum BATTERY_FAILURE { value 105; } + enum COMMERCIAL_POWER_FAILURE { value 106; } + enum COOLING_FAN_FAILURE { value 107; } + enum ENGINE_FAILURE { value 108; } + enum FIRE_DETECTOR_FAILURE { value 109; } + enum FUSE_FAILURE { value 110; } + enum GENERATOR_FAILURE { value 111; } + enum LOW_BATTERY_THRESHOLD { value 112; } + enum PUMP_FAILURE { value 113; } + enum RECTIFIER_FAILURE { value 114; } + enum RECTIFIER_HIGH_VOLTAGE { value 115; } + enum RECTIFIER_LOW_F_VOLTAGE { value 116; } + enum VENTILATION_SYSTEM_FAILURE { value 117; } + enum ENCLOSURE_DOOR_OPEN { value 118; } + enum EXPLOSIVE_GAS { value 119; } + enum FIRE { value 120; } + enum FLOOD { value 121; } + enum HIGH_HUMIDITY { value 122; } + enum HIGH_TEMPERATURE { value 123; } + enum HIGH_WIND { value 124; } + enum ICE_BUILD_UP { value 125; } + enum INTRUSION_DETECTION { value 126; } + enum LOW_FUEL { value 127; } + enum LOW_HUMIDITY { value 128; } + enum LOW_CABLE_PRESSURE { value 129; } + enum LOW_TEMPERATURE { value 130; } + enum LOW_WATER { value 131; } + enum SMOKE { value 132; } + enum TOXIC_GAS { value 133; } + enum EXTERNAL_POINT_FAILURE { value 136; } + enum STORAGE_CAPACITY_PROBLEM { value 151; } + enum MEMORY_MISMATCH { value 152; } + enum CORRUPT_DATA { value 153; } + enum OUT_OF_CPU_CYCLES { value 154; } + enum SOFTWARE_ENVIRONMENT_PROBLEM { value 155; } + enum SOFTWARE_DOWNLOAD_FAILURE { value 156; } + enum LOSS_OF_REAL_TIME { value 157; } + enum REINITIALIZED { value 158; } + enum EXCESSIVE_ERROR_RATE { value 203; } + enum ADAPTER_ERROR { value 301; } + enum APPLICATION_SUBSYSTEM_FAILURE { value 302; } + enum BANDWIDTH_REDUCED { value 303; } + enum COMMUNICATIONS_PROTOCOL_ERROR { value 305; } + enum COMMUNICATIONS_SUBSYSTEM_FAILURE { value 306; } + enum CONFIGURATION_OR_CUSTOMIZATION_ERROR { value 307; } + enum CONGESTION { value 308; } + enum CPU_CYCLES_LIMIT_EXCEEDED { value 310; } + enum DATA_SET_OR_MODEM_ERROR { value 311; } + enum DTE_DCE_INTERFACE_ERROR { value 313; } + enum EQUIPMENT_MALFUNCTION { value 315; } + enum EXCESSIVE_VIBRATION { value 316; } + enum FILE_ERROR { value 317; } + enum HEATING_OR_VENTILATION_OR_COOLING_SYSTEM_PROBLEM { value 321; } + enum HUMIDITY_UNACCEPTABLE { value 322; } + enum INPUT_OUTPUT_DEVICE_ERROR { value 323; } + enum INPUT_DEVICE_ERROR { value 324; } + enum LAN_ERROR { value 325; } + enum LEAK_DETECTED { value 326; } + enum LOCAL_NODE_TRANSMISSION_ERROR { value 327; } + enum MATERIAL_SUPPLY_EXHAUSTED { value 330; } + enum OUT_OF_MEMORY { value 332; } + enum OUTPUT_DEVICE_ERROR { value 333; } + enum PERFORMANCE_DEGRADED { value 334; } + enum PRESSURE_UNACCEPTABLE { value 336; } + enum QUEUE_SIZE_EXCEEDED { value 339; } + enum RECEIVE_FAILURE { value 340; } + enum REMOTE_NODE_TRANSMISSION_ERROR { value 342; } + enum RESOURCE_AT_OR_NEARING_CAPACITY { value 343; } + enum RESPONSE_TIME_EXCESSIVE { value 344; } + enum RETRANSMISSION_RATE_EXCESSIVE { value 345; } + enum SOFTWARE_ERROR { value 346; } + enum SOFTWARE_PROGRAM_ABNORMALLY_TERMINATED { value 347; } + enum SOFTWARE_PROGRAM_ERROR { value 348; } + enum TEMPERATURE_UNACCEPTABLE { value 350; } + enum THRESHOLD_CROSSED { value 351; } + enum TOXIC_LEAK_DETECTED { value 353; } + enum TRANSMIT_FAILURE { value 354; } + enum UNDERLYING_RESOURCE_UNAVAILABLE { value 356; } + enum VERSION_MISMATCH { value 357; } + enum A_BIS_TO_BTS_INTERFACE_FAILURE { value 501; } + enum A_BIS_TO_TRX_INTERFACE_FAILURE { value 502; } + enum ANTENNA_PROBLEM { value 503; } + enum BATTERY_BREAKDOWN { value 504; } + enum BATTERY_CHARGING_FAULT { value 505; } + enum CLOCK_SYNCHRONIZATION_PROBLEM { value 506; } + enum COMBINER_PROBLEM { value 507; } + enum DISK_PROBLEM { value 508; } + enum EXCESSIVE_RECEIVER_TEMPERATURE { value 510; } + enum EXCESSIVE_TRANSMITTER_OUTPUT_POWER { value 511; } + enum EXCESSIVE_TRANSMITTER_TEMPERATURE { value 512; } + enum FREQUENCY_HOPPING_DEGRADED { value 513; } + enum FREQUENCY_HOPPING_FAILURE { value 514; } + enum FREQUENCY_REDEFINITION_FAILED { value 515; } + enum LINE_INTERFACE_FAILURE { value 516; } + enum LINK_FAILURE { value 517; } + enum LOSS_OF_SYNCHRONIZATION { value 518; } + enum LOST_REDUNDANCY { value 519; } + enum MAINS_BREAKDOWN_WITH_BATTERY_BACKUP { value 520; } + enum MAINS_BREAKDOWN_WITHOUT_BATTERY_BACKUP { value 521; } + enum POWER_SUPPLY_FAILURE { value 522; } + enum RECEIVER_ANTENNA_FAULT { value 523; } + enum RECEIVER_MULTICOUPLER_FAILURE { value 525; } + enum REDUCED_TRANSMITTER_OUTPUT_POWER { value 526; } + enum SIGNAL_QUALITY_EVALUATION_FAULT { value 527; } + enum TIMESLOT_HARDWARE_FAILURE { value 528; } + enum TRANSCEIVER_PROBLEM { value 529; } + enum TRANSCODER_PROBLEM { value 530; } + enum TRANSCODER_OR_RATE_ADAPTER_PROBLEM { value 531; } + enum TRANSMITTER_ANTENNA_FAILURE { value 532; } + enum TRANSMITTER_ANTENNA_NOT_ADJUSTED { value 533; } + enum TRANSMITTER_LOW_VOLTAGE_OR_CURRENT { value 535; } + enum TRANSMITTER_OFF_FREQUENCY { value 536; } + enum DATABASE_INCONSISTENCY { value 537; } + enum FILE_SYSTEM_CALL_UNSUCCESSFUL { value 538; } + enum INPUT_PARAMETER_OUT_OF_RANGE { value 539; } + enum INVALID_PARAMETER { value 540; } + enum INVALID_POINTER { value 541; } + enum MESSAGE_NOT_EXPECTED { value 542; } + enum MESSAGE_NOT_INITIALIZED { value 543; } + enum MESSAGE_OUT_OF_SEQUENCE { value 544; } + enum SYSTEM_CALL_UNSUCCESSFUL { value 545; } + enum TIMEOUT_EXPIRED { value 546; } + enum VARIABLE_OUT_OF_RANGE { value 547; } + enum WATCH_DOG_TIMER_EXPIRED { value 548; } + enum COOLING_SYSTEM_FAILURE { value 549; } + enum EXTERNAL_EQUIPMENT_FAILURE { value 550; } + enum EXTERNAL_POWER_SUPPLY_FAILURE { value 551; } + enum EXTERNAL_TRANSMISSION_DEVICE_FAILURE { value 552; } + enum REDUCED_ALARM_REPORTING { value 561; } + enum REDUCED_EVENT_REPORTING { value 562; } + enum RECUCED_LOGGING_CAPABILITY { value 563; } + enum SYSTEM_RESOURCES_OVERLOAD { value 564; } + enum BROADCAST_CHANNEL_FAILURE { value 565; } + enum CONNECTION_ESTABLISHMENT_ERROR { value 566; } + enum INVALID_MESSAGE_RECEIVED { value 567; } + enum INVALID_MSU_RECEIVED { value 568; } + enum LAPD_LINK_PROTOCOL_FAILURE { value 569; } + enum LOCAL_ALARM_INDICATION { value 570; } + enum REMOTE_ALARM_INDICATION { value 571; } + enum ROUTING_FAILURE { value 572; } + enum SS7_PROTOCOL_FAILURE { value 573; } + enum TRANSMISSION_ERROR { value 574; } + enum AUTHENTICATION_FAILURE { value 701; } + enum BREACH_OF_CONFIDENTIALITY { value 702; } + enum CABLE_TAMPER { value 703; } + enum DELAYED_INFORMATION { value 704; } + enum DENIAL_OF_SERVICE { value 705; } + enum DUPLICATE_INFORMATION { value 706; } + enum INFORMATION_MISSING { value 707; } + enum INFORMATION_MODIFICATION_DETECTED { value 708; } + enum INFORMATION_OUT_OF_SEQUENCE { value 709; } + enum INTRUSION_DETECTED { value 710; } + enum KEY_EXPIRED { value 711; } + enum NON_REPUDIATION_FAILURE { value 712; } + enum OUT_OF_HOURS_ACTIVITY { value 713; } + enum OUT_OF_SERVICE { value 714; } + enum PROCEDURAL_ERROR { value 715; } + enum UNAUTHORISED_ACCESS_ATTEMPT { value 716; } + enum UNEXPECTED_INFORMATION { value 717; } + enum UNSPECIFIED_REASON { value 718; } + } + description "Values are from the (informative) Annex B of 3GPP TS 28.111."; + } + grouping AlarmCommentGrp { leaf commentTime { type yang:date-and-time; @@ -156,8 +369,8 @@ module _3gpp-common-fm { } } mandatory true; - description "Higher value of a threshold with hysteris, the integer type - is used for counter thresholds and the float type for gauge + description "Higher value of a threshold with hysteresis, the integer + type is used for counter thresholds and the float type for gauge thresholds."; } @@ -343,6 +556,7 @@ module _3gpp-common-fm { leaf probableCause { type union { + type probable-causes; type int32; type string; } @@ -586,6 +800,18 @@ module _3gpp-common-fm { min-elements 1; } } + + leaf clearingType { + type enumeration { + enum AUTOMATIC; + enum MANUAL; + } + config false; + default AUTOMATIC; + description "Indicates whether the alarm needs + to be cleared manually by the MnS consumer (ADMC) + or the producer will clear it automatically (ADAC)."; + } } grouping AlarmListGrp { @@ -665,11 +891,15 @@ module _3gpp-common-fm { name-containing the AlarmList, and the base object itself. AlarmList instances are created by the system or are pre-installed. - They cannot be created nor deleted by MnS consumers. + They can neighter be created nor deleted by MnS consumers. When the alarm list is locked or disabled, the existing alarm records - are not updated, and new alarm records are not added to the alarm list"; - + are not updated, and new alarm records are not added to the alarm list. + + As the size of the alarm list is finite, if it becomes full, the + producer may remove the oldest list entries in alarmRecords. If there + are cleared but unacknowledged alarms these shall be removed before any + not-cleared alarms are removed."; uses top3gpp:Top_Grp ; container attributes { @@ -678,4 +908,4 @@ module _3gpp-common-fm { } } -} +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index 70e53be99913b44d6e3d62fad4d555beaec427dd..713c1a2dec746bdd384b86499e23e0191f979143 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -37,6 +37,7 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-08-13 { reference CR-0561; } revision 2025-04-25 { reference "CR-0532 CR0541" ; } revision 2025-03-25 { reference "CR-0516"; } revision 2024-10-01 { reference "CR-0437,CR-0438" ; } @@ -88,6 +89,10 @@ module _3gpp-common-managed-element { ManagedElement"; } + feature NotificationListUnderManagedElement { + description "The NotificationList shall be contained under ManagedElement"; + } + feature FmUnderManagedElement { description "The FmSubtree shall be contained under ManagedElement"; } @@ -305,6 +310,10 @@ module _3gpp-common-managed-element { if-feature SupportedNotificationsUnderManagedElement; } + uses subscr3gpp:NotificationListSubtree { + if-feature NotificationListUnderManagedElement; + } + uses fm3gpp:FmSubtree { if-feature FmUnderManagedElement; } diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang index 2bffe8a906126c7bfd6c934fece9dfbb20e078e4..14468c8f3a3d989f3301194e5a6a38e028179ffd 100755 --- a/yang-models/_3gpp-common-managed-function.yang +++ b/yang-models/_3gpp-common-managed-function.yang @@ -9,37 +9,38 @@ module _3gpp-common-managed-function { import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-trace { prefix trace3gpp; } import _3gpp-stm-nrm-stmfunction { prefix stm3gpp; } - + organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "The module defines a base class/grouping for major 3GPP + description "The module defines a base class/grouping for major 3GPP functions. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; - reference - "3GPP TS 28.622 + reference + "3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS) - - 3GPP TS 28.620 + + 3GPP TS 28.620 Umbrella Information Model (UIM)"; - revision 2025-04-19 { reference "CR-0541"; } - revision 2024-11-19 { reference "Add STM"; } - revision 2024-02-24 { reference CR-0346; } - revision 2023-09-18 { reference CR-0271; } + revision 2025-08-13 { reference CR-0551; } + revision 2025-04-19 { reference "CR-0541"; } + revision 2024-11-19 { reference "Add STM"; } + revision 2024-02-24 { reference CR-0346; } + revision 2023-09-18 { reference CR-0271; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-14 { reference "CR-0234"; } 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"; } - revision 2020-08-06 { reference "CR-0102"; } - revision 2020-08-03 { reference "CR-0095"; } + revision 2021-01-25 { reference "CR-0122"; } + revision 2020-09-30 { reference "CR-bbbb"; } + revision 2020-08-06 { reference "CR-0102"; } + revision 2020-08-03 { reference "CR-0095"; } revision 2020-06-23 { reference "CR-085"; } - revision 2020-06-08 { reference "CR-0092"; } + revision 2020-06-08 { reference "CR-0092"; } revision 2019-11-21 { reference "S5-197275, S5-197735"; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-18 { reference "Initial revision"; } @@ -54,21 +55,21 @@ module _3gpp-common-managed-function { feature StmCtrlUnderManagedFunction { description "The StmCtrlSubtree shall be contained under ManagedFunction"; - } - + } + grouping OperationGrp { description "This data type represents an operation."; reference "3gpp TS 28.622"; - + leaf name { type string; mandatory true; yext3gpp:notNotifyable; yext3gpp:inVariant; } - + leaf-list allowedNFTypes { - type string; + type string; min-elements 1; description "The type of the managed NF service instance The specifc values allowed are described in TS 23.501"; @@ -87,45 +88,45 @@ module _3gpp-common-managed-function { reference "3GPP TS 23.502"; } } - - grouping ManagedNFServiceGrp { + + grouping ManagedNFServiceGrp { description "A ManagedNFService represents a Network Function (NF) service."; reference "Clause 7 of 3GPP TS 23.501."; leaf userLabel { type string; description "A user-friendly (and user assignable) name of this object."; - } - + } + leaf nFServiceType { config false; mandatory true; - type string; + 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; yext3gpp:inVariant; } - + list sAP { - key "host port"; + key "host port"; min-elements 1; max-elements 1; description "The service access point of the managed NF service instance"; - uses types3gpp:SAPGrp; + uses types3gpp:SAPGrp; } - + list operations { key name; min-elements 1; uses OperationGrp ; - description "Set of operations supported by the managed NF + description "Set of operations supported by the managed NF service instance"; } leaf administrativeState { type types3gpp:BasicAdministrativeState; - mandatory true; + default LOCKED; description "Permission to use or prohibition against using the instance"; } @@ -135,16 +136,16 @@ module _3gpp-common-managed-function { mandatory true; description "Describes whether the resource is installed and working"; } - + leaf usageState { type types3gpp:usageState ; config false; mandatory true; - description "Describes whether the resource is actively in use at a - specific instant, and if so, whether or not it has spare + description "Describes whether the resource is actively in use at a + specific instant, and if so, whether or not it has spare capacity for additional users."; } - + leaf registrationState { type enumeration { enum REGISTERED; @@ -153,95 +154,94 @@ module _3gpp-common-managed-function { config false; } } - - grouping Function_Grp { + + grouping Function_Grp { description "A base grouping for 3GPP functions."; leaf userLabel { type string; description "A user-friendly (and user assignable) name of this object."; - } + } } grouping VnfParametersGrp { - description "This <> represents the parameter set of the VNF - instance(s) corresponding to an NE."; - + description "This <> represents the parameter set of the VNF + instance(s) corresponding to an NE."; + leaf vnfInstanceId { type string ; description "VNF instance identifier"; - reference "ETSI GS NFV-IFA 008 v2.1.1: - Network Functions Virtualisation (NFV); Management and Orchestration; + reference "ETSI GS NFV-IFA 008 v2.1.1: + Network Functions Virtualisation (NFV); Management and Orchestration; Ve-Vnfm reference point - Interface and Information Model Specification - section 9.4.2 - - ETSI GS NFV-IFA 015 v2.1.2: Network Functions Virtualisation (NFV); + section 9.4.2 + + ETSI GS NFV-IFA 015 v2.1.2: Network Functions Virtualisation (NFV); Management and Orchestration; Report on NFV Information Model section B2.4.2.1.2.3"; } - + leaf vnfdId { type string ; description "Identifier of the VNFD on which the VNF instance is based. - The absence of the leaf or a string length of zero for vnfInstanceId - means the VNF instance(s) does not exist (e.g. has not been + The absence of the leaf or a string length of zero for vnfInstanceId + means the VNF instance(s) does not exist (e.g. has not been instantiated yet, has already been terminated)."; - reference "ETSI GS NFV-IFA 008 v2.1.1: - Network Functions Virtualisation (NFV); Management and Orchestration; + reference "ETSI GS NFV-IFA 008 v2.1.1: + Network Functions Virtualisation (NFV); Management and Orchestration; Ve-Vnfm reference point - Interface and Information Model Specification - section 9.4.2"; + section 9.4.2"; } - + leaf flavourId { type string ; - description "Identifier of the VNF Deployment Flavour applied to this + description "Identifier of the VNF Deployment Flavour applied to this VNF instance."; - reference "ETSI GS NFV-IFA 008 v2.1.1: + reference "ETSI GS NFV-IFA 008 v2.1.1: Network Functions Virtualisation (NFV) Management and Orchestration"; } leaf autoScalable { type boolean ; - mandatory true; - description "Indicator of whether the auto-scaling of this + description "Indicator of whether the auto-scaling of this VNF instance is enabled or disabled."; - } + } } - + grouping PeeParametersGrp { - description "This <> represents the parameter list for the + description "This <> represents the parameter list for the control and monitoring of power, energy and environmental parameters of ManagedFunction instance(s)."; - leaf idx { type uint32; } + leaf idx { type uint32; } leaf siteIdentification { type string; mandatory true; - description "The identification of the site where the + description "The identification of the site where the ManagedFunction resides."; } - + leaf siteLatitude { type decimal64 { fraction-digits 4; - range "-90.0000..+90.0000"; + range "-90.0000..+90.0000"; } - description "The latitude of the site where the ManagedFunction - instance resides, based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to - the northern hemisphere. This attribute is optional - for BTSFunction, RNCFunction, GNBDUFunction and + description "The latitude of the site where the ManagedFunction + instance resides, based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to + the northern hemisphere. This attribute is optional + for BTSFunction, RNCFunction, GNBDUFunction and NRSectorCarrier instance(s)."; } - + leaf siteLongitude { type decimal64 { fraction-digits 4; - range "-180.0000..+180.0000"; + range "-180.0000..+180.0000"; } - description "The longitude of the site where the ManagedFunction - instance resides, based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to - degrees east of 0 degrees longitude. This attribute is optional - for BTSFunction, RNCFunction, GNBDUFunction and + description "The longitude of the site where the ManagedFunction + instance resides, based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to + degrees east of 0 degrees longitude. This attribute is optional + for BTSFunction, RNCFunction, GNBDUFunction and NRSectorCarrier instance(s)."; } @@ -251,97 +251,97 @@ module _3gpp-common-managed-function { fraction-digits 4; } description "The altitude of the site where the ManagedFunction - instance resides, in the unit of meter. This attribute is - optional for BTSFunction, RNCFunction, GNBDUFunction and + instance resides, in the unit of meter. This attribute is + optional for BTSFunction, RNCFunction, GNBDUFunction and NRSectorCarrier instance(s)."; } - + leaf siteDescription { type string; mandatory true; - description "An operator defined description of the site where + description "An operator defined description of the site where the ManagedFunction instance resides."; } - + leaf equipmentType { type string; mandatory true; - description "The type of equipment where the managedFunction + description "The type of equipment where the managedFunction instance resides."; reference "clause 4.4.1 of ETSI ES 202 336-12"; } - + leaf environmentType { type string; mandatory true; - description "The type of environment where the managedFunction + description "The type of environment where the managedFunction instance resides."; reference "clause 4.4.1 of ETSI ES 202 336-12"; } - + leaf powerInterface { type string; mandatory true; description "The type of power."; reference "clause 4.4.1 of ETSI ES 202 336-12"; - } + } } grouping ManagedFunctionGrp { - description "Abstract root class to be inherited/reused by classes + description "Abstract root class to be inherited/reused by classes representing 3GPP functions. - + Anywhere this grouping is used by classes inheriting from ManagedFunction - the list representing the inheriting class needs to include all - contained classes of ManagedFunction too. Contained classes are - either - - augmented into the Function class or - - shall be included in the list representing the inheriting class + the list representing the inheriting class needs to include all + contained classes of ManagedFunction too. Contained classes are + either + - augmented into the Function class or + - shall be included in the list representing the inheriting class using the grouping ManagedFunctionContainedClasses: 1) EP_RP solved using augment - 2) uses mf3gpp:ManagedFunctionContainedClasses; + 2) uses mf3gpp:ManagedFunctionContainedClasses; "; uses Function_Grp; list vnfParametersList { - key "vnfInstanceId"; + key "vnfInstanceId"; uses VnfParametersGrp; - description "This attribute contains the parameter set of the VNF - instance(s) corresponding to an NE. The presence of this attribute - indicates that the ManagedFunction represented by the MOI is a + description "This attribute contains the parameter set of the VNF + instance(s) corresponding to an NE. The presence of this attribute + indicates that the ManagedFunction represented by the MOI is a virtualized function "; } list peeParameterslist{ key "idx"; uses PeeParametersGrp; description "This attribute contains the parameter list for the control - and monitoring of power, energy and environmental parameters of + and monitoring of power, energy and environmental parameters of ManagedFunction instance(s). "; } - + leaf priorityLabel { type uint32; } uses meas3gpp:SupportedPerfMetricGroupGrp; - + leaf-list supportedTraceMetrics { type string; config false; - description "List of trace metrics. When this attribute is contained in - a managed object it defines the trace metrics supported for this + description "List of trace metrics. When this attribute is contained in + a managed object it defines the trace metrics supported for this object and all descendant objects. - Trace metrics include trace messages, MDT measurements - (Immediate MDT, Logged MDT, Logged MBSFN MDT), RLF and RCEF reports, - see TS 32.422. Trace metrics are identified with their metric - identifier. The metric identifier is constructed as defined + Trace metrics include trace messages, MDT measurements + (Immediate MDT, Logged MDT, Logged MBSFN MDT), RLF and RCEF reports, + see TS 32.422. Trace metrics are identified with their metric + identifier. The metric identifier is constructed as defined in clause 10 of TS 32.422."; - } + } } grouping ManagedFunctionContainedClasses { - description "A grouping used to containe classes (lists) contained by + description "A grouping used to containe classes (lists) contained by the abstract IOC ManagedFunction"; list ManagedNFService { description "Represents a Network Function (NF)"; @@ -352,15 +352,15 @@ module _3gpp-common-managed-function { uses ManagedNFServiceGrp; } } - + uses meas3gpp:MeasurementSubtree { if-feature MeasurementsUnderManagedFunction ; - } - + } + uses trace3gpp:TraceSubtree { if-feature TraceUnderManagedFunction ; } - + uses stm3gpp:StmCtrlSubTree { if-feature StmCtrlUnderManagedFunction ; } diff --git a/yang-models/_3gpp-common-managementdatacollection.yang b/yang-models/_3gpp-common-managementdatacollection.yang index 68e8a3ad89abb9bae5e724a2613af45051459efb..5aa4a80ede65c55fb2f931a19b8a614189c75be2 100644 --- a/yang-models/_3gpp-common-managementdatacollection.yang +++ b/yang-models/_3gpp-common-managementdatacollection.yang @@ -10,9 +10,9 @@ module _3gpp-common-managementdatacollection { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - + description "Handling management data collection - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -24,22 +24,99 @@ module _3gpp-common-managementdatacollection { Integration Reference Point (IRP); Information Service (IS)"; - revision 2025-02-07 { reference "CR-0461 CR-0505"; } - revision 2024-04-12 { reference CR-0346; } + revision 2025-07-19 { reference CR-0551; } + revision 2025-02-07 { reference "CR-0461 CR-0505"; } + revision 2024-04-12 { reference CR-0346; } revision 2023-11-18 { reference CR-0299 ; } revision 2023-11-06 { reference "CR-0305"; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-02-14 { reference "CR-0234"; } revision 2022-11-04 { reference "CR-0194"; } - + + grouping ManagementDataGrp { + description "This <> defines the management data which is + requested. It is a choice between + - a list of data categories (attribute mgtDataCategory) This may include + 'COVERAGE', 'CAPACITY', 'MOBILITY', 'ENERGY_EFFICIENCY', 'ACCESSIBILITY' + etc. The mapping of exact measurement with the requested category will be + done at the producer and is implementation specific. + - a list of management data identified with their name (attribute + 'mgtDataName'). The management data name presents a specific single + measurement (e.g. by selecting 'RRU.PrbTotDl', see TS 28.552 or + 'immediateMdt.nr.m1', see TS 32.422) or a set of measurements (e.g. + measurement families such as RRU (radio resource utilization) or + MM (mobility management) in case of PM, see TS 28.552 [20], or group of + measurements such as 'immediateMdt.nr' in case of MDT, see TS 32.422)."; + choice managementData { + case mgtDataCategory { + leaf-list category { + type mgtDataCategoryType; + min-elements 1; + max-elements 5; // The ENUM contains 5 possible values + description "This attributes defines the type of management data that + are requested. + + Allowed values for data category are COVERAGE, CAPACITY, + ENERGY_EFFICIENCY, MOBILITY, ACCESSIBILITY. The data categories + will map to certain measurement families defined in TS 28.552, see + below. In addition to the below mappings, MnS producer may map the + provided categories to any additional proprietary management data, + as appropriate. + + - The COVERAGE category will map to measurement families of MR + (measurements related to Measurement Report) and L1M (measurements + related to Layer 1 Measurement). + + - The CAPACITY category will map to measurement family RRU + (measurements related to Radio Resource Utilization). + + - The ENERGY_EFFICIENCY category will map to measurement family PEE + (measurements related to Power, Energy and Environment). + + - The MOBILITY category will map to measurement family MM + (measurements related to Mobility Management). + + - The ACCESSIBILITY category will map to measurement family CE + (measurements related to Connection Establishment)."; + } + } + case mgtDataName { + leaf-list name { + type string; + min-elements 1; + description "List of management data identified by name. + + The list may include metrics or set of metrics defined + in TS 28.552, TS 28.554 and TS 32.422. + + The metrics are identified with their names/identifiers. + For performance measurements defined in TS 28.552 the name is + constructed as the bullet e) of the measurement definition. + + For KPIs defined in TS 28.554 the name is defined according to the + KPI definitions template as the component designated with a). + + For trace metrics (including trace messages, MDT measurements + (Immediate MDT, Logged MDT, Logged MBSFN MDT), RRC, RLF and RCEF + reports) defined in TS 32.422, the name (metric identifier) is + defined in clause 10 of TS 32.422. + + For non-3GPP specified managment data the name is defined + elsewhere."; + } + } + mandatory true; + } + } + grouping GeoAreaToCellMappingGrp { - description "Represents the GeoAreaToCellMapping data type. - - The mapping of the geographical area to cells is performed at + description "Represents the GeoAreaToCellMapping data type. + + The mapping of the geographical area to cells is performed at instantiation of the IOC."; - + list geoArea { - description "It specifies the geographical area using the cordinates of + description "It specifies the geographical area using the cordinates of the corners of a convex polygon."; key idx; max-elements 1; @@ -48,48 +125,48 @@ module _3gpp-common-managementdatacollection { } uses types3gpp:GeoAreaGrp; } - + leaf associationThreshold { type uint8 { range 1..100; } yext3gpp:inVariant; - description "It specifies the threshold of coverage area in + description "It specifies the threshold of coverage area in percentage whether a cell belongs to the geographical area or not. - If this attribute is absent, the location of the base station - antenna determines whether a cell belongs to the geographical + If this attribute is absent, the location of the base station + antenna determines whether a cell belongs to the geographical area or not."; } } grouping AreaOfInterestGrp { - description "It specifies a location(s) from where the management data - shall be collected."; - + description "It specifies a location(s) from where the management data + shall be collected."; + list geoAreaToCellMapping { - description "Contains a geographical area and an association threshold. - The geo-area is defined as a convex polygon using the attribute + description "Contains a geographical area and an association threshold. + The geo-area is defined as a convex polygon using the attribute 'geoArea'. - The MnS producer shall map the geographical area to cells. There are - two evaluation criteria whether a cell belongs to a geographical area - or not. If attribute 'associationThreshold' is absent, the location - of the base station antenna determines the belonging. If attribute - 'associationThreshold' is configured, the coverage area is considered. - The attribute 'associationThreshold' determines the lower boundary of - the coverage ratio. For example, if the 'associationThreshold' is - configured to 60%, a cell shall be considered as included in the - geographical area if at least 60% of the coverage area of that - cell overlaps with the specified geographical area. - - The mapping of the geographical area to cells is performed at + The MnS producer shall map the geographical area to cells. There are + two evaluation criteria whether a cell belongs to a geographical area + or not. If attribute 'associationThreshold' is absent, the location + of the base station antenna determines the belonging. If attribute + 'associationThreshold' is configured, the coverage area is considered. + The attribute 'associationThreshold' determines the lower boundary of + the coverage ratio. For example, if the 'associationThreshold' is + configured to 60%, a cell shall be considered as included in the + geographical area if at least 60% of the coverage area of that + cell overlaps with the specified geographical area. + + The mapping of the geographical area to cells is performed at instantiation of the IOC."; key idx; leaf idx { type string; } uses GeoAreaToCellMappingGrp; } - + list taiList { description "Tracking Area Identity list"; key idx; @@ -98,17 +175,17 @@ module _3gpp-common-managementdatacollection { leaf idx { type string; } uses types3gpp:TaiGrp; } - + leaf-list nrCellIdList { type string; description "List of NR cells identified by NG-RAN CGI"; } - + leaf-list eutraCellIdList { type string; description "List of E-UTRAN cells identified by E-UTRAN-CGI"; } - + leaf-list utraCellIdList { type string; description "List of UTRAN cells identified by UTRAN CGI"; @@ -122,7 +199,7 @@ module _3gpp-common-managementdatacollection { leaf idx { type string; } - uses AreaOfInterestGrp; + uses AreaOfInterestGrp; description "It specifies a location(s) from where the management data shall be collected. It is defined in terms of TAI(s)."; } @@ -155,6 +232,13 @@ module _3gpp-common-managementdatacollection { subnet should be targeted. Please refer to 3GPP TS 23.501: 'System Architecture for the 5G System'"; } + + leaf-list objectInstances { + type types3gpp:DistinguishedName; + yext3gpp:inVariant; + description "List of managed object instances. Each object instance is + identified by its DN."; + } } typedef mgtDataCategoryType { @@ -170,65 +254,9 @@ module _3gpp-common-managementdatacollection { grouping ManagementDataCollectionGrp { - choice managementData { - case mgtDataCategory { - leaf-list category { - type mgtDataCategoryType; - min-elements 1; - max-elements 5; // The ENUM contains 5 possible values - description "This attributes defines the type of management data that - are requested. - - Allowed values for data category are COVERAGE, CAPACITY, - ENERGY_EFFICIENCY, MOBILITY, ACCESSIBILITY. The data categories - will map to certain measurement families defined in TS 28.552, see - below. In addition to the below mappings, MnS producer may map the - provided categories to any additional proprietary management data, - as appropriate. - - - The COVERAGE category will map to measurement families of MR - (measurements related to Measurement Report) and L1M (measurements - related to Layer 1 Measurement). - - - The CAPACITY category will map to measurement family RRU - (measurements related to Radio Resource Utilization). - - - The ENERGY_EFFICIENCY category will map to measurement family PEE - (measurements related to Power, Energy and Environment). - - - The MOBILITY category will map to measurement family MM - (measurements related to Mobility Management). - - - The ACCESSIBILITY category will map to measurement family CE - (measurements related to Connection Establishment)."; - } - } - case mgtDataName { - leaf-list name { - type string; - min-elements 1; - description "List of management data identified by name. - - The list may include metrics or set of metrics defined - in TS 28.552, TS 28.554 and TS 32.422. - - The metrics are identified with their names/identifiers. - For performance measurements defined in TS 28.552 the name is - constructed as the bullet e) of the measurement definition. - - For KPIs defined in TS 28.554 the name is defined according to the - KPI definitions template as the component designated with a). - - For trace metrics (including trace messages, MDT measurements - (Immediate MDT, Logged MDT, Logged MBSFN MDT), RRC, RLF and RCEF - reports) defined in TS 32.422, the name (metric identifier) is - defined in clause 10 of TS 32.422. - - For non-3GPP specified managment data the name is defined - elsewhere."; - } - } - mandatory true; + uses ManagementDataGrp { + description "This attribute defines the list of management data that are + requested."; } list targetNodeFilter { @@ -271,6 +299,48 @@ module _3gpp-common-managementdatacollection { description "It specifies whether the required data is reported per S-NSSAI or per 5QI."; } + + leaf condition { + type string; + mandatory true; + yext3gpp:inVariant; + description "Logical expression of one or several condition(s). + + The actual syntax and capabilities of condition is SS specific. However, + each SS should support condition consisting of one or several assertions + that may be grouped using the logical operators AND, OR and NOT. Only if + the whole expression of condition evaluates TRUE, the attribute + conditionStatus will be TRUE. + + Each assertion is a pointer to a Boolean parameter or a logical + expression of attribute existence or attribute value comparison + ('equal to X, less than Y' etc.). + + An empty string is not allowed."; + } + + list processMonitor { + config false; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type string; } + description "Indicates the process of the ManagementDataCollection MOI."; + } + + leaf consolidateOutput { + type boolean; + mandatory true; + yext3gpp:inVariant; + description "Indicates whether the management data collection output will + be consolidated into a single file per reporting period."; + } + + leaf jobId { + type string; + yext3gpp:inVariant; + description "Identifier of a PerfMetricJob, a TraceJob or a QMCJob."; + } } augment /subnet3gpp:SubNetwork { @@ -282,16 +352,18 @@ module _3gpp-common-managementdatacollection { uses ManagementDataCollectionGrp; } description "This IOC represents a management data collection request - job. The requested data could be of kind Trace, MDT (Minimization + job. The requested data is of kind Trace, MDT (Minimization of Drive Test), RLF (Radio Link Failure) report, RCEF (RRC Connection - Establishment Failure) report, RRC report, + Establishment Failure) report, RRC report, PM (performance measurements), KPI (end-to-end key performance indicators) or a combination of these. - The attribute 'managementData' defines the management data which shall + The attribute managementData defines the management data which shall be reported. This may either include a list of data categories or a list of management data identified with their name. For further details - see TS 28.622 clause 4.3.50. The 'targetNodeFilter' attribute can be + see TS 28.622 clause 4.3.50. + + The targetNodeFilter attribute can be used to target object instance(s) producing the required management data. It is assumed that the consumer may not have detailed knowledge of the network and hence may not identify the exact object instance @@ -302,27 +374,82 @@ module _3gpp-common-managementdatacollection { function. To activate the production of the requested data, a MnS consumer has to - create a 'ManagementDataCollection' object instance on the MnS producer. - - The MnS producer will derive multiple jobs ('PerfMetricJob', - 'TraceJob') from a single 'ManagementDataCollection' job for collecting - the required management data. Once it receives the measurement from - multiple sources, it consolidates the data into a set of management data - for reporting. - - The attribute 'collectionTimeWindow' specifies the time window for which - the management data should be reported. - - The attribute 'reportingCtrl' specifies the method and associated - control parameters for reporting the produced management data to MnS - consumers. Three methods are available: file-based reporting with - selection of the file location by the MnS producer, file-based - reporting with selection of the file location by the MnS consumer and - stream-based reporting. - - The attribute 'dataScope' configures, whether the management data - should be reported per S-NSSAI or per 5QI, if applicable."; + create a ManagementDataCollection object instance on the MnS producer. + + The attribute jobId is used to identify a management data collection + request. + + The production and reporting of the management data can be constrained + by conditions such that only when the conditions are satisfied shall + management data collection be enabled. For example, a MnS consumer can + request to create two ManagementDataCollection instances. One can be + configured with high data producing and reporting period on a set of + conditions (e.g, to reduce transmission cost when network performance + metric is in normal range). Another can be configured with low data + producing and reporting period on another set of conditions (e.g. to + enable network optimization when network performance metric is in + abnormal range). + + The MnS producer may derive multiple jobs (PerfMetricJob, TraceJob) + from a single ManagementDataCollection job for collecting the required + management data. The jobId of the request is used to identify the + output. The value is also used to correlate the derived jobs which + will have the same jobId value as the ManagementDataCollection. + + If the MnS producer receives the collected data from multiple sources, + it will consolidate the data into a set of management data for + reporting based on the value of the attribute consolidateOutput. + + For consolidation of file-based management data the attribute + consolidateOutput controls: + - True: the MnS Producer will combine the file output from jobs used + to collect the required management data into a single output file as + follows: + - File is in compressed format, i.e. zip. + - File shall contain individual output files from each configured job + - Each file retains its original filename + - Each file retains it original content + - Consolidated filename uses naming convention defined in, + TS 28.532 clause 11.3.2.1.4 with the following: + - is a combination of the management data types included in + the consolidated output + - is omitted + - False: the MnS Producer will not combine the output from jobs used to collect the required management data. The MnS Consumer will receive separate output from the derived jobs. + + Subject to the reporting method, the MnS Consumer may receive file + related notifications. When consolidated output is selected the + MnS Producer will create file notifications for the consolidated files. + When consolidated output is not selected, the MnS Producer will create + the notification subscriptions on behalf of the MnS Consumer and the + MnS Consumer will receive notifications directly from the derived jobs. + + The attribute collectionTimeWindow specifies the time window for which + the management data should be reported. The attributes startTime and + the endTime can be in the past, present or in the future. + + The attribute reportingCtrl specifies the method and associated control + parameters for reporting the produced management data to MnS consumers. + Three methods are available: file-based reporting with selection of the + file location by the MnS producer, file-based reporting with selection + of the file location by the MnS consumer and stream-based reporting. + + The attribute dataScope configures, whether the management data should + be reported per S-NSSAI or per 5QI or per PLMN, if applicable. + + The attribute processMonitor allows the MnS consumer to monitor the + status of the management data collection represented by the object + ManagementDataCollection. + + The MnS producer indicates in the attribute progressStateInfo the + state of the management data collection: + - NOT_STARTED + - RUNNING + - CANCELING + and indicates in the attribute resultStateInfo: + - FINISHED + - FAILED + - PARTIALLY_FAILED + - CANCELLED"; } } - } diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang index 27541b18e86209e85bde9d6ce29512799fc147c1..400c300144cacfdab53b33e1331c1e809f0b8ab9 100755 --- a/yang-models/_3gpp-common-measurements.yang +++ b/yang-models/_3gpp-common-measurements.yang @@ -7,7 +7,7 @@ module _3gpp-common-measurements { 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"; @@ -43,8 +43,8 @@ module _3gpp-common-measurements { Measurements can be contained under ManagedElement, SubNetwork, or any list representing a class inheriting from Subnetwork or - ManagedFunction. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + ManagedFunction. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -56,14 +56,15 @@ module _3gpp-common-measurements { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-08-01 { reference CR-0551; } revision 2025-05-19 { reference CR-0532; } revision 2025-02-07 { reference CR-0461; } - revision 2025-01-29 { reference CR-0512; } - revision 2024-11-01 { reference CR-0488; } + revision 2025-01-29 { reference CR-0512; } + revision 2024-11-01 { reference CR-0488; } revision 2024-05-06 { reference CR-0359; } - revision 2024-02-24 { reference CR-0346; } + revision 2024-02-24 { reference CR-0346; } revision 2023-11-18 { reference "CR-0299 CR-0305"; } - revision 2023-09-18 { reference CR-0271; } + revision 2023-09-18 { reference CR-0271; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-18 { reference "CR-0240"; } revision 2023-02-14 { reference "CR-0234"; } @@ -91,25 +92,18 @@ module _3gpp-common-measurements { type string; min-elements 1; description "List of performance metrics. - Performance metrics include measurements defined in TS 28.552 and KPIs - defined in TS 28.554 [28]. Performance metrics can also be specified - by other SDOs, or be vendor specific. Performance metrics are + Performance metrics include measurements defined in TS 28.552 and KPIs + defined in TS 28.554 [28]. Performance metrics can also be specified + by other SDOs, or be vendor specific. Performance metrics are identified with their names. For measurements defined in TS 28.552 the name is constructed as the bullet e) of the measurement definition. - A name can also identify a vendor specific performance metric or a + A name can also identify a vendor specific performance metric or a group of vendor specific performance metrics."; } - leaf thresholdLevel { - type uint64; - mandatory true; - description "Number (key) for a single threshold in the threshold list - applicable to the monitored performance metric."; - } - leaf thresholdDirection { type enumeration { enum UP; @@ -163,7 +157,7 @@ module _3gpp-common-measurements { range "0..max"; } } - must '. >= 0'; + must '. >= 0'; description "Hysteresis of a threshold. If this attribute is present the monitored performance metric is not compared against the threshold value as specified by the thresholdValue attribute but @@ -220,7 +214,7 @@ module _3gpp-common-measurements { range 1..max ; } units seconds; - description "Granularity periods supported for the associated + description "Granularity periods supported for the associated measurement types. The period is defined in seconds."; } @@ -238,7 +232,7 @@ module _3gpp-common-measurements { range 1..max ; } units seconds; - description "Reporting periods supported for the associated + description "Reporting periods supported for the associated measurement types. The period is defined in seconds."; } } @@ -310,12 +304,12 @@ module _3gpp-common-measurements { } } } - + leaf _linkToFiles { type string ; config false; mandatory true; - yext3gpp:notNotifyable ; + yext3gpp:notNotifyable ; description "Link to a 'Files' object."; yext3gpp:inVariant; } @@ -496,7 +490,7 @@ module _3gpp-common-measurements { A threshold monitor checks for threshold crossings of performance metric values and generates a notification when that happens. - The ThresholdMonitor shall be used only when NRM based threshold + The ThresholdMonitor shall be used only when NRM based threshold monitoring is supported. To activate threshold monitoring, a MnS consumer needs to create a @@ -530,7 +524,7 @@ module _3gpp-common-measurements { Multiple thresholds can be defined for multiple performance metric sets in a single monitor using thresholdInfoList. The attribute monitorGranularityPeriod defines the granularity period to be applied. - The value is a supported GP for the measurements being monitored. + The value is a supported GP for the measurements being monitored. Threshold crossing behaviour is as defined in [54], Annex F. Each threshold is identified with a number (key) called thresholdLevel. diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 4e9ae225e18d06b4e98e01c529e8ac90175deab5..29bd57ebbc6ea8094b15708c45b16c054a4e999a 100755 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -6,23 +6,155 @@ module _3gpp-common-mnsregistry { import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } + import _3gpp-common-managementdatacollection { prefix mgtdatcol3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the MNSRegistry Information Object - Class (IOC) that is part of the Generic Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + description "Defines the YANG mapping of the MNSRegistry IOC and its + contained classes that ares part of the Generic Network Resource Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + revision 2025-07-19 { reference CR-0551; } revision 2023-09-30 { reference CR-0278; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-05-10 { reference CR-0243; } revision 2023-02-14 { reference CR-0234; } revision 2021-11-23 { reference "S5-216090"; } revision 2021-10-18 { reference "S5-215263"; } revision 2021-08-29 { reference "Initial revision, S5-214388"; } - + + grouping MgmtDataInfoGrp { + description "Represents the MgmtDataInfo IOC."; + + uses mgtdatcol3gpp:ManagementDataGrp { + description "Defines the list of management data that can be supported. + + The management data is a choice between: + - a list of data categories (attribute mgtDataCategory) + - a list of management data identified with their name + (attribute 'mgtDataName')."; + } + + leaf-list supportedGranularityPeriods { + type int32; + units seconds; + description "Granularity periods supported for the production of + associated management data. The period is defined in seconds."; + } + + leaf-list supportedReportingPeriods { + type uint32; + units seconds; + description "Reporting periods supported for the associated management + data. The period is defined in seconds."; + } + + leaf historicalDataPeriod { + type uint64; + units seconds; + description "This attribute describes the maximum period of the requested + historical data. The period is defined in seconds. + When the value of this attribute is NULL, which means the capability of + querying historical data is not supported."; + } + + leaf-list supportedReportingMethod { + type enumeration { + enum FILE; + enum STREAM; + } + min-elements 1; + description "List of supported reporting methods for the associated + management data."; + } + + leaf-list supportedDataScope { + type enumeration { + enum SNSSAI; + enum 5QI; + enum PLMN; + } + min-elements 1; + description "List of supported sub counter capabilities for the associated + management data"; + } + + leaf-list supportedDataRequestMnSRef { + type types3gpp:DistinguishedName; + min-elements 1; + description "List of DN of MnSInfo for the MnS instance(s) which can be + used to request the associated management data"; + } + + leaf-list supportedDataReportingMnSRef { + type types3gpp:DistinguishedName; + min-elements 1; + description "List of DN of MnSInfo for the MnS instance(s) which can be + used to report the associated management data"; + } + } + + grouping MnsScopeGrp { + description "This <> specifies the list of managed object instances + that can be accessed using the Management Service. These managed object + instances can be represented with one of the following options: + + - A list of DNs, i.e. representing managed object instances identified + by the DN. + + - A list of GeoAreas, i.e. representing managed object instances covered + by the specified geographical areas. In the present document, the + geoAreasList is only used for MnS consumer to retrieve MnS + scope of the specified MnS instance. + + - A list of TAIs, i.e. representing managed object instances covered + by the specified TAIs."; + + choice MnsScope { + mandatory true; + leaf-list objectInstanceList { + type types3gpp:DistinguishedName; + yext3gpp:inVariant; + yext3gpp:notNotifyable; + description "This attribute describes list of DNs for the managed + object instances that can be accessed using the Management Service. + If a complete SubNetwork can be accessed using the Management Service, + this attribute may contain the DN of the SubNetwork instead of the + DNs of the individual managed entities within the SubNetwork. + + If a complete ManagedElement can be accessed using the Management + Service, this attribute may contain the DN of the ManagedElement + instead of the DNs of the individual managed entities within the + ManagedElement."; + } + + list geoAreasList { + yext3gpp:inVariant; + yext3gpp:notNotifyable; + description "This attribute describes geographical areas for the + managed object instances that can be accessed using the Management + Service."; + key idx; + leaf idx { type uint32; } + uses types3gpp:GeoAreaGrp; + } + + list taiList { + yext3gpp:inVariant; + yext3gpp:notNotifyable; + description "This attribute describes the list of Tracking Area + Identities (TAI) for the managed object instances that can be accessed + using the Management Service."; + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + } + } + grouping MnsInfoGrp { description "Represents the MnsInfo IOC."; leaf mnsLabel { @@ -30,7 +162,7 @@ module _3gpp-common-mnsregistry { mandatory true; type string; } - + leaf mnsType { description "Type of management service."; type enumeration { @@ -40,39 +172,88 @@ module _3gpp-common-mnsregistry { enum FileDataReportingMnS; } } - + leaf mnsVersion { description "Version of management service."; type string; - } - + } + leaf mnsAddress { description "Addressing information for Management Service operations."; mandatory true; type string; - } - - leaf-list mnsScope { - description "List of the managed object instances that can be accessed - using the MnS. If a complete SubNetwork can be accessed using the MnS, - this attribute may contain the DN of the SubNetwork instead of the - DNs of the individual managed entities within the SubNetwork. If a - complete ManagedElement can be accessed using the MnS, - this attribute may contain the DN of the ManagedElement instead of the - DNs of the individual managed entities within the ManagedElement."; + } + + leaf-list mnsCapability { + type union { + type enumeration { + enum NR_PROVISIONING; + enum 5GC_PROVISIONING; + enum NETWORK_SLICING_PROVISIONING; + enum EDGE_COMPUTING_PROVISIONING; + enum PERFORMANCE_METRIC_COLLECTION_CONTROL; + enum PERFORMANCE_METRIC_DATA_REPORT; + enum PERFORMANCE_METRIC_THRESHOLD_MONITOR_CONTROL; + enum PERFORMANCE_METRIC_THRESHOLD_NOTIFICATION; + enum FAULT_CONTROL; + enum FAULT_NOTIFICATION; + enum TRACE_MDT_DATA_COLLECTION_CONTROL; + enum TRACE_MDT_DATA_REPORT; + enum QOE_DATA_COLLECTION_CONTROL; + enum QOE_DATA_REPORT; + enum FILE_RETRIEVAL; + enum FILE_DOWNLOAD; + enum SUBSCRIPTION_CONTROL; + enum HEARTBEAT_CONTROL; + enum HEARTBEAT_NOTIFICATION; + enum ML_MODEL_MANAGEMENT; + enum MANAGEMENT_DATA_ANALYTIC; + enum RANSC_MANAGEMENT; + enum SON_POLICY; + enum COMMUNICATION_SERVICE_ASSURANCE_CONTROL; + enum INTENT_DRIVEN_MANAGEMENT; + enum MNS_REGISTRY_AND_DISCOVERY; + enum MNS_ACCESS_CONTROL_MANAGEMENT; + enum DSO_RAPID_RECOVERY_AND_THRESHOLD_MONITORING; + } + type string; + } + description "It describes the types of management capabilities of the + MnS instance provided by the MnS producer. The detailed description for + above enum values see Annex F in TS 28.533. + Note: vendor extension values are allowed for the attribute + 'mnsCapability'"; + } + + list mnsScope { + description "This attribute defines the information about the + management scope of the Management Service. The management scope is + used to represent the set of managed object instances that can be + accessed using the Management Service."; min-elements 1; + key idx; + leaf idx { type uint32; } + uses MnsScopeGrp; + } + + leaf-list mgmtDataInfoRef { type types3gpp:DistinguishedName; + yext3gpp:notNotifyable; + min-elements 1; + description "List of DN of MgmtDataInfo instance(s) which are associated + the MnSInfo which represent a management service instance"; + } } - + grouping MnsRegistryGrp { description "Currently no own attributes defined."; - } - + } + augment "/subnet3gpp:SubNetwork" { list MnsRegistry { - description "This IOC is a container for MnsInfo IOC-s. It can be - contained only by SubNetwork IOC. A SubNetwork IOC can contain + description "This IOC is a container for MnsInfo IOC-s. It can be + contained only by SubNetwork IOC. A SubNetwork IOC can contain only one instance of MnsRegistry. The IOC is instantiated by the system."; key id; @@ -81,15 +262,12 @@ module _3gpp-common-mnsregistry { container attributes { uses MnsRegistryGrp; } - + list MnsInfo { description "This IOC represents an available Management Service (MnS) and provides the data required to support its discovery. It is name-contained by MnsRegistry. - This specification does not specify how 'MnsInfo' objects are - created and maintained. - This information is used by the consumer to discover the producers of specific Management Services and to derive the addresses of the Management Service. @@ -101,9 +279,9 @@ module _3gpp-common-mnsregistry { the Management Service operations. Attribute mnsScope is used to provide information about the - management scope of the Management Service. The management scope is - defined as the set of managed object instances that can be accessed - using the Management Service."; + management scope of the Management Service. The management scope + is used to represent the set of managed object instances that can + be accessed using the Management Service."; key id; uses top3gpp:Top_Grp; @@ -111,6 +289,22 @@ module _3gpp-common-mnsregistry { uses MnsInfoGrp; } } + + list MgmtDataInfo { + description "Describes the management capabilities for a set of + management data, which can be used for management data discovery. + MgmtDataInfo is contained by MnSRegistry and associated to MnSInfo. + + Multiple MgmtDataInfo instances maybe created for different sets of + management data, it is MnS producer’s decision."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MgmtDataInfoGrp; + } + } + } } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index c94f406385ffdb03dbf419e9b434fd547a90a232..61af0f512375afd1e8d6530aecda7f733e478258 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -37,6 +37,7 @@ module _3gpp-common-subnetwork { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-08-13 { reference CR-0561; } revision 2025-04-25 { reference "CR-0532 CR0541" ; } revision 2025-03-25 { reference "CR-0516 CR-0527"; } revision 2024-11-19 { reference "Add STM"; } @@ -51,23 +52,10 @@ module _3gpp-common-subnetwork { revision 2021-01-16 { reference "CR-0120"; } revision 2020-08-06 { reference "CR-0102"; } revision 2020-06-08 { reference "CR-0092"; } - revision 2020-05-08 { - reference "S5-203316"; - } - - - revision 2020-03-11 { - description "Added KPIs and corrections"; - reference "S5-201365, S5-201581, SP-200229"; - } - - revision 2020-02-24 { - reference "S5-201365"; - } - - revision 2019-06-17 { - reference "Initial revision"; - } + revision 2020-05-08 { reference "S5-203316"; } + revision 2020-03-11 { reference "S5-201365, S5-201581, SP-200229"; } + revision 2020-02-24 { reference "S5-201365"; } + revision 2019-06-17 { reference "Initial revision"; } feature ECMappingRuleUnderSubNetwork { description "ECMappingRule shall be contained under SubNetwork."; @@ -107,6 +95,10 @@ module _3gpp-common-subnetwork { SubNetwork"; } + feature NotificationListUnderSubNetwork { + description "The NotificationList shall be contained under SubNetwork"; + } + feature FmUnderSubNetwork { description "The FmSubtree shall be contained under SubNetwork"; } @@ -244,6 +236,10 @@ module _3gpp-common-subnetwork { if-feature SupportedNotificationsUnderSubNetwork; } + uses subscr3gpp:NotificationListSubtree { + if-feature NotificationListUnderSubNetwork; + } + uses fm3gpp:FmSubtree { if-feature FmUnderSubNetwork; } diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index fcc5451e6b34062ea4277b64a7c4524612c495ba..5cc3cdd461c46c62b62f313264927272b65a5c49 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -2,57 +2,204 @@ module _3gpp-common-subscription-control { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-subscription-control"; prefix "subscr3gpp"; - + import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import ietf-yang-types { prefix yang; } - + organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - - description "Defines IOCs for subscription and heartbeat control. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + + description "Defines IOCs for subscription, notification list and heartbeat + control. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Solution Set (SS) definitions 3GPP TS 28.623"; - - revision 2025-05-13 { reference "CR-0548" ; } - revision 2025-03-24 { reference "CR-0516 0518" ; } - revision 2024-05-18 { reference CR-0359 ; } - revision 2024-01-18 { reference "CR-0309 CR-0329" ; } - revision 2023-09-18 { reference CR-0271 ; } + + revision 2025-08-13 { reference "CR-0551 CR-0561"; } + revision 2025-05-13 { reference "CR-0548"; } + revision 2025-03-24 { reference "CR-0516 0518"; } + revision 2024-05-18 { reference CR-0359; } + revision 2024-01-18 { reference "CR-0309 CR-0329"; } + revision 2023-09-18 { reference CR-0271; } revision 2023-08-10 { reference "CR0257 CR0260"; } revision 2022-10-20 { reference CR-0196; } - revision 2021-01-16 { reference "CR-0120"; } + 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"; } + feature NotificationListUnderNtfSubscriptionControl { + description "The NotificationList shall be contained under + NtfSubscriptionControl"; + } + + grouping NotificationEntryGrp { + description "NotificationEntry datatype"; + + leaf notificationEntryId { + type string; + yext3gpp:inVariant; + description "Identifier of an individual notificationEntry; unique within + a NotificationList MOI. + + allowedValues: + - If the NotificationList is contained under an NtfSubscriptionControl + the value is the same as the notification's sequenceNo. + - If the NotificationList is contained under SubNetwork or + ManagedElement the value is the DN of the NtfSubscriptionControl that + created the notification followed by a single '*' asterisk character + and the sequenceNo. + e.g. 'ManagedElement=me1,NtfSubscriptionControl=Fault1*12345'"; + } + + leaf eventTime { + type yang:date-and-time; + yext3gpp:inVariant; + description "eventTime from the header of the notification"; + } + + leaf notificationContent { + type string; + yext3gpp:inVariant; + description "The string representation of a notification as encoded in + the HTTP body (excluding the HTTP headers and the optional VES header)."; + } + } + + grouping NotificationListGrp { + description "Attributes of NotificationList IOC."; + + leaf firstEventTime { + type yang:date-and-time; + config false; + yext3gpp:notNotifyable; + description "eventTime of first notification available. + The attribute may be missing if and only if there are no notifications + in the NotificationList."; + } + + leaf lastEventTime { + type yang:date-and-time; + config false; + yext3gpp:notNotifyable; + description "eventTime of latest notification available. + The attribute may be missing if and only if there are no notifications + in the NotificationList."; + } + + list notificationEntries { + yext3gpp:notNotifyable; + description "Representation of the individual notifications. + The entries shall be ordered based on eventTime of the notification, + newest first."; + config false; + key notificationEntryId; + uses NotificationEntryGrp; + } + + leaf-list notificationTypes { + type NotificationTypes; + description "List of notification types."; + } + + leaf notificationFilter { + type string; + description "Filter to be applied to candidate notifications identified + by the notificationTypes attribute. Only notifications that pass the + filter criteria are included. All other notifications are discarded. + The filter can be applied to any field of a notification. + + The format of the string shall confrm to a + JSON expressions (Jex) 'JexConditionsExpr'"; + reference "3GPP TS 32.161"; + } + } + + grouping NotificationListSubtree { + description "Contains the NotificationList IOC"; + + list NotificationList { + description "The NotificationList IOC provides an interface for the + consumer that allows retrieval of notifications that have not been + successfully delivered to the consumer. + + A NotificationList MOI may be contained under the root ManagedElement + or SubNetwork or under an NtfSubscriptionControl MOI. + + If the NotificationList MOI is contained under a ManagedElement or + SubNetwork the MOI make available all notifications for all + objectInstances under that ManagedElement or SubNetwork. + The producer may limit the notification set to notifications for which + at least one subscription is present. + + If the MOI is contained under an NtfSubscriptionControl MOI it makes + available notifications for that subscription. The producer may limit + the number of NotificationList MOIs under an NtfSubscriptionControl + MOI to one. + + A NotificationList may provide a subset of all applicable notifications. + If the NotificationList MOI is contained under the ManagedElement + or SubNetwork the attributes notificationTypes and notificationFilter + may be used to select the notifications to be included. If the MOI is + contained under an NtfSubscriptionControl MOI the attributes + notificationTypes and notificationFilter in the NotificationList + are not be available for read or write, as the similar attributes + in the NtfSubscriptionControl MOI already select the notifications to + be included. + + The notificationTypes value identifies the notification types that + are candidates to be provided. If the attribute is absent, notifications + of all types are candidates to be provided. + + The notificationFilter attribute defines a filter that is applied to + the set of candidate notifications. The filter is applicable to all + parameters of a notification. Only candidate notifications that pass + the filter criteria are made available. If the attribute is absent, + all candidate notifications shall be made available. + + Only notifications that were prepared are included. If the producer + failed to prepare a subscribed notification it will not be available + in this MOI either. + + The number of notifications avaialble has a limit, so old + notifications may be removed from NotificationList by the producer, + while also updating the.firstEventTime atttribute."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NotificationListGrp; + } + } + } + grouping ScopeGrp { - description "This <> allows to select data nodes in an object - tree whose root is identified by the so called base managed object - instance. The identification of the base object instance is not part of - this <> and needs to be specified by other means. The base - managed object instance is typically a managed object instance in an + description "This <> allows to select data nodes in an object + tree whose root is identified by the so called base managed object + instance. The identification of the base object instance is not part of + this <> and needs to be specified by other means. The base + managed object instance is typically a managed object instance in an object tree. - - The 'scopeType' and the 'scopeLevel' attributes allow to select managed - object instances. Attributes, attribute fields and attribute elements + + The 'scopeType' and the 'scopeLevel' attributes allow to select managed + object instances. Attributes, attribute fields and attribute elements cannot be selected. - The 'dataNodeSelector' attribute allows to select managed object - instances, attributes, attribute fields, attribute elements, or - attribute field elements. Its value contains a solution set specific + The 'dataNodeSelector' attribute allows to select managed object + instances, attributes, attribute fields, attribute elements, or + attribute field elements. Its value contains a solution set specific expression for specifying the data nodes to be selected."; choice scope { - description "Describes which object instances are selected with + description "Describes which object instances are selected with respect to a base object instance."; - + case type-level { - leaf scopeType { + leaf scopeType { type enumeration { enum BASE_ONLY; enum BASE_ALL; @@ -60,42 +207,42 @@ module _3gpp-common-subscription-control { enum BASE_SUBTREE; } mandatory true; - description "If the optional scopeLevel parameter is not supported + description "If the optional scopeLevel parameter is not supported or absent, allowed values of scopeType are BASE_ONLY and BASE_ALL. The value BASE_ONLY indicates only the base object is selected. - The value BASE_ALL indicates the base object and all of its + The value BASE_ALL indicates the base object and all of its subordinate objects (incl. the leaf objects) are selected. - If the scopeLevel parameter is supported and present, allowed - values of scopeType are BASE_ALL, BASE_ONLY, BASE_NTH_LEVEL + If the scopeLevel parameter is supported and present, allowed + values of scopeType are BASE_ALL, BASE_ONLY, BASE_NTH_LEVEL and BASE_SUBTREE. - The value BASE_NTH_LEVEL indicates all objects on the level, - which is specified by the scopeLevel parameter, below the base + The value BASE_NTH_LEVEL indicates all objects on the level, + which is specified by the scopeLevel parameter, below the base object are selected. The base object is at scopeLevel zero. - The value BASE_SUBTREE indicates the base object and all of its - subordinate objects down to and including the objects on the level, - which is specified by the scopeLevel parameter, are selected. + The value BASE_SUBTREE indicates the base object and all of its + subordinate objects down to and including the objects on the level, + which is specified by the scopeLevel parameter, are selected. The base object is at scopeLevel zero."; } - + leaf scopeLevel { when '../scopeType = "BASE_NTH_LEVEL" or ../scopeType = "BASE_SUBTREE"'; - type uint16; + type uint16; mandatory true; description "See description of scopeType."; } } case dataNodeSelector { container dataNodeSelector { - description "The value shall follow the rules of RFC 8641 + description "The value shall follow the rules of RFC 8641 filter-spec"; reference "RFC 8641 section 5. and ietf-yang-push.yang"; choice dataNodeSelector { anydata datastore-subtree-filter { description "Subtree filter"; - reference + reference "RFC 6241: Network Configuration Protocol (NETCONF), Section 6"; } leaf datastore-xpath-filter { @@ -107,12 +254,12 @@ module _3gpp-common-subscription-control { RFC 7950: The YANG 1.1 Data Modeling Language, Section 10"; } - } + } } } - } + } } - + typedef NotificationTypes { description "An extensible enumeration of notification types"; type union { @@ -123,7 +270,6 @@ module _3gpp-common-subscription-control { enum notifyMOIChanges; enum notifyEvent; enum notifyNewAlarm; - enum notifyChangedAlarm; enum notifyAckStateChanged; enum notifyComments; enum notifyCorrelatedNotificationChanged; @@ -140,21 +286,21 @@ module _3gpp-common-subscription-control { type string; } } - + grouping NtfSubscriptionControlGrp { description "Attributes of a specific notification subscription"; - + leaf notificationRecipientAddress { type string; mandatory true; } - + leaf-list notificationTypes { type NotificationTypes; - description "Defines the types of notifications that are candidates + description "Defines the types of notifications that are candidates for being forwarded to the notification recipient. - If the notificationTypes attribute is not supported or not present - all candidate notifications types are forwarded to the notification; + If the notificationTypes attribute is not supported or not present + all candidate notifications types are forwarded to the notification; discriminated by notificationFilter attribute."; } @@ -168,197 +314,197 @@ module _3gpp-common-subscription-control { leaf notificationFilter { type string; - description "Defines a filter to be applied to candidate notifications - identified by the notificationTypes attribute. - If notificationFilter is present, only notifications that pass the - filter criteria are forwarded to the notification recipient; all other + description "Defines a filter to be applied to candidate notifications + identified by the notificationTypes attribute. + If notificationFilter is present, only notifications that pass the + filter criteria are forwarded to the notification recipient; all other notifications are discarded. The filter can be applied to any field of a notification. - - The format of the string shall confrm to a + + The format of the string shall confrm to a JSON expressions (Jex) 'JexConditionsExpr'"; reference "3GPP TS 32.161"; } - + leaf lastSequenceNo { type uint64; config false; mandatory true; - description "The sequence number of the last notification that was sent + description "The sequence number of the last notification that was sent by a 'NtfSubscriptionControl' instance."; } - + leaf operationalState { type types3gpp:OperationalState; config false; mandatory true; - description "Operational state of manged object instance. - The operational state describes if an object instance is operable + description "Operational state of manged object instance. + The operational state describes if an object instance is operable ('ENABLED') or inoperable ('DISABLED'). - This state is set by the object instance or the MnS producer and + This state is set by the object instance or the MnS producer and is hence READ-ONLY."; } - + leaf-list availabilityStatus { type types3gpp:AvailabilityStatus; config false; - description "The availability status provides additional information + description "The availability status provides additional information about the operational state"; } } - + grouping HeartbeatControlGrp { description "Attributes of HeartbeatControl."; - + leaf heartbeatNtfPeriod { type uint32; mandatory true; units seconds; - description "Specifies the periodicity of heartbeat notification emission. - The value of zero has the special meaning of stopping the heartbeat + description "Specifies the periodicity of heartbeat notification emission. + 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 + 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 + + After triggering the heartbeat the system SHALL set the value back to false."; yext3gpp:notNotifyable; } } - + grouping SubscriptionControlSubtree { - description "Contains notification subscription related classes. - Should be used in all classes (or classes inheriting from) + description "Contains notification subscription related classes. + Should be used in all classes (or classes inheriting from) - SubNetwork - ManagedElement - - If some YAM wants to augment these classes/list/groupings they must + + If some YAM wants to augment these classes/list/groupings they must augment all user classes!"; list NtfSubscriptionControl { - description "NtfSubscriptionControl represents a notification - subscription of a notification recipient. - - The scope attribute is used to select managed object instances included - in the subscription. The base object instance of the scope is the - object instance name-containing the NtfSubscriptionControl instance. - When the scope attribute is absent, all objects below and including - the base object are scoped. The notifications related to the selected - managed object instances are candidates to be sent to the address + description "NtfSubscriptionControl represents a notification + subscription of a notification recipient. + + The scope attribute is used to select managed object instances included + in the subscription. The base object instance of the scope is the + object instance name-containing the NtfSubscriptionControl instance. + When the scope attribute is absent, all objects below and including + the base object are scoped. The notifications related to the selected + managed object instances are candidates to be sent to the address specified by the notificationRecipientAddress attribute. - - The notificationTypes attribute and notificationFilter attribute - allow MnS consumers to control which candidate notifications are + + The notificationTypes attribute and notificationFilter attribute + allow MnS consumers to control which candidate notifications are sent to the notificationRecipientAddress. - - If the notificationTypes attribute is present, its value identifies - the notification types that are candidates to be sent to the - notificationRecipientAddress. If the notificationTypes attribute is - absent, notifications of all types are candidates to be sent to - notificationRecipientAddress. Notification types supported in the - NtfSubscriptionControl.notificationTypes attribute are the ones + + If the notificationTypes attribute is present, its value identifies + the notification types that are candidates to be sent to the + notificationRecipientAddress. If the notificationTypes attribute is + absent, notifications of all types are candidates to be sent to + notificationRecipientAddress. Notification types supported in the + NtfSubscriptionControl.notificationTypes attribute are the ones listed in the attribute SupportedNotifications.notificationTypes. - - If supported, the notificationFilter attribute defines a filter that - is applied to the set of candidate notifications. The filter is - applicable to all parameters of a notification. Only candidate - notifications that pass the filter criteria are sent to the - notificationRecipientAddress. If the notificationFilter attribute is - absent, all candidate notificatios are sent to the + + If supported, the notificationFilter attribute defines a filter that + is applied to the set of candidate notifications. The filter is + applicable to all parameters of a notification. Only candidate + notifications that pass the filter criteria are sent to the + notificationRecipientAddress. If the notificationFilter attribute is + absent, all candidate notificatios are sent to the notificationRecipientAddress. - - To receive notifications, a MnS consumer has to create a - NtfSubscriptionControl instance on the MnS producer. A MnS consumer - can create a subscription for another MnS consumer since it is not + + To receive notifications, a MnS consumer has to create a + NtfSubscriptionControl instance on the MnS producer. A MnS consumer + can create a subscription for another MnS consumer since it is not required the notificationRecipientAddress be his own address. - - When a MnS consumer does not wish to receive notifications any more - the MnS consumer shall delete the corresponding NtfSubscriptionControl + + When a MnS consumer does not wish to receive notifications any more + the MnS consumer shall delete the corresponding NtfSubscriptionControl instance. - - When a subscription is created and the notification scope inludes - the created subscription object and the subscribed notification types - include notifications reporting object creation (notifyMOICreation - or notifyMOIChanges), the first notification sent related to the - new subscription shall report the creation of the - NtfSubscriptionControl instance. Likewise, when a subscription is - deleted and the notification scope includes the deleted subscription - object and the subscribed notification types include notifications - reporting object deletion (notifyMOIDeletion or notifyMOIChanges), - the last notification sent related to the subscription shall report + + When a subscription is created and the notification scope inludes + the created subscription object and the subscribed notification types + include notifications reporting object creation (notifyMOICreation + or notifyMOIChanges), the first notification sent related to the + new subscription shall report the creation of the + NtfSubscriptionControl instance. Likewise, when a subscription is + deleted and the notification scope includes the deleted subscription + object and the subscribed notification types include notifications + reporting object deletion (notifyMOIDeletion or notifyMOIChanges), + the last notification sent related to the subscription shall report the deletion of the NtfSubscriptionControl instance. - If multiple NtfSubscriptionControl instances are configured to send - the same notification to the same notificationRecipientAddress, then - a separate notification message shall be sent for each such + If multiple NtfSubscriptionControl instances are configured to send + the same notification to the same notificationRecipientAddress, then + a separate notification message shall be sent for each such NtfSubscriptionControl instance. - A 'NtfSubscriptionControl' class optionally supports adding a sequence - number parameter to the notification header. For each notification - sent from a 'NtfSubscriptionControl' instance to the configured - notification recipient, the sequence number is increased by one. - This allows the notification recipient to detect notifications lost or - reordered in transit. The sequence number sent last is reflected in - the 'lastSequenceNo' attribute. This allows the MnS consumer to check - if he missed notifications in situations where he did not receive + A 'NtfSubscriptionControl' class optionally supports adding a sequence + number parameter to the notification header. For each notification + sent from a 'NtfSubscriptionControl' instance to the configured + notification recipient, the sequence number is increased by one. + This allows the notification recipient to detect notifications lost or + reordered in transit. The sequence number sent last is reflected in + the 'lastSequenceNo' attribute. This allows the MnS consumer to check + if he missed notifications in situations where he did not receive any notification for some time. - The 'operationalState' attribute represents the operability of the - subscription. The 'availabilityStatus' further qualifies the + The 'operationalState' attribute represents the operability of the + subscription. The 'availabilityStatus' further qualifies the opertational state. Both attributes are set by the MnS producer. - If the 'operationalState' is set to 'ENABLED' and 'availabilityStatus' - has no value the subscription process is fully operational and + If the 'operationalState' is set to 'ENABLED' and 'availabilityStatus' + has no value the subscription process is fully operational and notifications are forwarded to the subscribed consumer. - If the 'operationalState' is set to 'ENABLED' and 'availabilityStatus' - is set to 'DEGRADED' the subscription process is degraded. There is - no guarantee that all notifications, that should be forwarded to the + If the 'operationalState' is set to 'ENABLED' and 'availabilityStatus' + is set to 'DEGRADED' the subscription process is degraded. There is + no guarantee that all notifications, that should be forwarded to the notification recipient, are forwarded. - If the 'operationalState' is set to 'DISABLED' and 'availabilityStatus' - is set to 'FAILED' the subscription process is not operational, and + If the 'operationalState' is set to 'DISABLED' and 'availabilityStatus' + is set to 'FAILED' the subscription process is not operational, and no notifications are sent to the notification recipient. - If the 'operationalState' is set to 'DISABLED' and 'availabilityStatus' - is set to 'DEPENDENCY' the subscription process itself has no problems - but some other process on which it depends such as downstream - processes in the event channel that feeds events into the subscription - process. As a result, events are not delivered to the subscription + If the 'operationalState' is set to 'DISABLED' and 'availabilityStatus' + is set to 'DEPENDENCY' the subscription process itself has no problems + but some other process on which it depends such as downstream + processes in the event channel that feeds events into the subscription + process. As a result, events are not delivered to the subscription process and no notifications are sent to the notification recipient. - When the subscription process is disabled or degraded and becomes - fully operational again, the MnS producer sends- the related data node - tree change notifications to subscribed MnS consumers. The MnS consumer - may use the reception of these notifications as a trigger to synchronize - his data node tree with the data node tree on the MnS producer. - However, the state change notifications contain no information about - which part of the data node tree should be synchronized. For this - purpose the 'notifyDataNodeTreeSyncRecommended' (TS 28.532 [27]) and + When the subscription process is disabled or degraded and becomes + fully operational again, the MnS producer sends- the related data node + tree change notifications to subscribed MnS consumers. The MnS consumer + may use the reception of these notifications as a trigger to synchronize + his data node tree with the data node tree on the MnS producer. + However, the state change notifications contain no information about + which part of the data node tree should be synchronized. For this + purpose the 'notifyDataNodeTreeSyncRecommended' (TS 28.532 [27]) and 'alarmListRebuilt' (TS 28.111 [58]) notifications are provided. - Creation and deletion of NtfSubscriptionControl instances by MnS - consumers is optional; when not supported, the NtfSubscriptionControl - instances may be created and deleted by the system or be + Creation and deletion of NtfSubscriptionControl instances by MnS + consumers is optional; when not supported, the NtfSubscriptionControl + instances may be created and deleted by the system or be pre-installed."; - + key id; uses top3gpp:Top_Grp; container attributes { uses NtfSubscriptionControlGrp; } - + list HeartbeatControl { description "MnS consumers (i.e. notification recipients) use heartbeat - notifications to monitor the communication channels between themselves + notifications to monitor the communication channels between themselves and MnS producers configured to emit notifications. A HeartbeatControl instance allows controlling the emission of @@ -399,23 +545,27 @@ module _3gpp-common-subscription-control { max-elements 1; key id; uses top3gpp:Top_Grp; - + container attributes { uses HeartbeatControlGrp; } } + + uses NotificationListSubtree { + if-feature NotificationListUnderNtfSubscriptionControl; + } } - } - + } + grouping SupportedNotificationsGrp { description "Attributes of SupportedNotifications."; - + leaf-list notificationTypes { type NotificationTypes; config false; description "List of notification types supported by the MnS producer"; } - + leaf-list notificationProtocols { type enumeration { enum HTTP; @@ -427,26 +577,26 @@ module _3gpp-common-subscription-control { reference "3GPP TS 28.532"; } } - + grouping SupportedNotificationsSubtree { description "Contains SupportedNotifications."; list SupportedNotifications { - description "SupportedNotifications represents the notification related - capabilities of a MnS producer. + description "SupportedNotifications represents the notification related + capabilities of a MnS producer. - The notificationTypes attribute lists notificationTypes supported - by the MnSProducer. Specific IOCs can be the source of a specific - but not necessary every supported notificationType. + The notificationTypes attribute lists notificationTypes supported + by the MnSProducer. Specific IOCs can be the source of a specific + but not necessary every supported notificationType. - The notificationProtocols attribute identifies the notification + The notificationProtocols attribute identifies the notification transport protocols supported by a MnS producer."; - + key id; uses top3gpp:Top_Grp; container attributes { uses SupportedNotificationsGrp; } } - } + } } diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index bec576ffcd331164e6de833402740a94e6274f61..cbcf5b179aad55ff78b7c65b6e3e42e098e4e275 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -14,7 +14,7 @@ module _3gpp-common-trace { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Trace handling - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -25,21 +25,22 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; + revision 2025-08-07 { reference "CR-0551 CR-0552 CR-0562" ; } revision 2025-05-07 { reference "CR-0532 CR-0536 CR-0540" ; } revision 2025-02-07 { reference "CR-0504" ; } revision 2025-02-05 { reference "CR-0461" ; } - revision 2024-11-25 { reference "CR-0492" ; } + revision 2024-11-25 { reference "CR-0492" ; } revision 2024-11-07 { reference "CR-0480"; } revision 2024-10-01 { reference "CR-0457"; } - revision 2024-08-13 { reference "CR-0387 CR-0377"; } + revision 2024-08-13 { reference "CR-0387 CR-0377"; } revision 2024-08-07 { reference "CR-0405 CR-0421 CR-0379"; } revision 2024-05-12 { reference "CR-0401"; } revision 2024-05-06 { reference CR-0359; } revision 2024-04-06 { reference "CR-0342"; } revision 2024-01-29 { reference "CR-0316"; } revision 2023-11-06 { reference "CR-0290 CR-0294"; } - revision 2023-11-03 { reference CR-0302 ; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-11-03 { reference CR-0302 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-08-10 { reference CR-0261; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-18 { reference "CR-0234"; } @@ -57,129 +58,143 @@ module _3gpp-common-trace { } grouping FreqInfoGrp { - description "Represents the FreqInfo dataType. - This <> defines the RF reference frequency and the frequency - operating bands used in a cell for a given direction (UL or DL) in FDD + description "Represents the FreqInfo dataType. + This <> defines the RF reference frequency and the frequency + operating bands used in a cell for a given direction (UL or DL) in FDD or for both UL and DL directions in TDD"; - + leaf arfcn { type uint32 { range 0..3279165; } mandatory true; - description "RF Reference Frequency as defined in TS 38.104, - clause 5.4.2.1. The frequency provided identifies the absolute - frequency position of the reference resource block (Common RB 0) + description "RF Reference Frequency as defined in TS 38.104, + clause 5.4.2.1. The frequency provided identifies the absolute + frequency position of the reference resource block (Common RB 0) of the carrier. Its lowest subcarrier is also known as Point A."; } - + leaf-list freqBands { type uint32 { range 1..1024; - } + } min-elements 1; - description "List of NR frequency operating bands. Primary NR + description "List of NR frequency operating bands. Primary NR Operating Band as defined in TS 38.104, clause 5.4.2.3. - The value 1 corresponds to n1, value 2 corresponds to NR operating + The value 1 corresponds to n1, value 2 corresponds to NR operating band n2, etc."; } } - + grouping AreaConfigGrp { description "Represents the AreaConfig dataType. - This <> defines the area for which measurement logging should - be performed. It is described by a list of cells and a list of + This <> defines the area for which measurement logging should + be performed. It is described by a list of cells and a list of frequencies."; - + list freqInfo { key arfcn; min-elements 1; max-elements 32; - description "It specifies the carrier frequency and bands used in + description "It specifies the carrier frequency and bands used in a cell."; uses FreqInfoGrp ; } - + leaf-list pciList { type uint32 { range 0..1007; - } + } min-elements 1; max-elements 32; description "List of neighbour cells subject for MDT scope."; } } - + grouping AreaScopeGrp { description "This <> defines an area scope."; choice AreaScopeChoice { + + case eutran-only { leaf-list eutraCellIdList { - type string; + type types3gpp:EutraCellId; min-elements 1; max-elements 32; description "List of E-UTRAN cells identified by E-UTRAN-CGI"; } - - leaf-list nrCellIdList { - type string; - min-elements 1; - max-elements 32; - description "List of NR cells identified by NG-RAN CGI"; } - - leaf-list tacList { - type types3gpp:Tac; - min-elements 1; - max-elements 8; - description "Tracking Area Code list"; + case tac { + leaf-list tacList { + type types3gpp:Tac; + min-elements 1; + max-elements 8; + description "Tracking Area Code list"; + } + leaf-list cAGIdList { + type types3gpp:CagId; + max-elements 256; + description "It identifies a CAG list containing up to + 256 CAG-identifiers per UE or up to 12 CAG-identifiers + per cell, see TS 38.331 [38]. CAG ID is used to combine + with PLMN ID to identify a PNI-NPN.AG ID is a hexadecimal + range with size 32 bit."; + } } - - list sliceIdList { - description "Network Slice Id list"; + + case else { + list nPNIdentityList { + description "list of NPN IDs of in NR. It is either + a list of PNI-NPNs identified by CAG ID with + associated plmn-Identity or a list of SNPN + identified by Network ID with associated plmn-Identity"; key idx; - uses types5g3gpp:PLMNInfo; min-elements 1; - max-elements 16384; + uses types3gpp:NpnIdGrp; leaf idx { type string; } } - + leaf-list nrCellIdList { + must 'not(../taiList)'; + type types3gpp:NrCellId; + max-elements 32; + description "List of NR cells identified by NG-RAN CGI"; + } list taiList { + must 'not(../nrCellIdList)'; description "Tracking Area Identity list"; key idx; - min-elements 1; max-elements 8; leaf idx { type string; } uses types3gpp:TaiGrp; } } + } - list nPNIdentityList { - description "list of NPN IDs of in NR. It is either a list of PNI-NPNs - identified by CAG ID with associated plmn-Identity or a list of SNPN - identified by Network ID with associated plmn-Identity"; + list sliceIdList { + description "Network Slice Id list"; key idx; + uses types5g3gpp:PLMNInfo; min-elements 1; - uses types3gpp:NpnIdGrp; + max-elements 16384; leaf idx { type string; } } } - + grouping ExcessPacketDelayThresholdsGrp { description "Represents the ExcessPacketDelayThresholds dataType. - This <> defines a excess packet delay threshold information - to enable the calculation of the PDCP Excess Packet Delay in the - uplink in case of M6 uplink measurements are requested. The excess - packet delay threshold information is specified with the 5QI value + This <> defines a excess packet delay threshold information + to enable the calculation of the PDCP Excess Packet Delay in the + uplink in case of M6 uplink measurements are requested. The excess + packet delay threshold information is specified with the 5QI value and excess packet delay threshold value."; - + leaf fiveQIValue { type uint8; mandatory true; description "It indicates 5QI value."; } - + leaf excessPacketDelayThresholdValue { type decimal64 { fraction-digits 2; @@ -187,33 +202,36 @@ module _3gpp-common-trace { } mandatory true; units milliseconds; - description "Value of excess packet delay threshold + description "Value of excess packet delay threshold for M6 UL measurement in milliseconds."; } } - + grouping TraceReferenceGrp { description "Represents the TraceReference dataType. - This <> defines a globally unique identifier, which uniquely - identifies the Trace Session that is created by the TraceJob. It is - composed of the MCC, MNC (resulting in PLMN identifier) and the + This <> defines a globally unique identifier, which uniquely + identifies the Trace Session that is created by the TraceJob. It is + composed of the MCC, MNC (resulting in PLMN identifier) and the trace identifier."; - + uses types3gpp:PLMNId; // mcc+mnc - + leaf traceId { - type string; + type string { + pattern "[0-9a-fA-F]{6}"; + } mandatory true; - description "An identifier, which identifies the Trace - (together with MCC and MNC). This is a 3 byte Octet String."; + description "An identifier, which identifies the Trace + (together with MCC and MNC). This is a 3 byte Octet String, + expressed in hexadecimal form e.g., '1a7b3d')."; } } - + grouping MbsfnAreaGrp { - description "Represents the MbsfnArea dataType. - This <> defines a MBSFN area. It is composed of the MBSFN Area + description "Represents the MbsfnArea dataType. + This <> defines a MBSFN area. It is composed of the MBSFN Area identifier and the carrier frequency (EARFCN)."; - + leaf mbsfnAreaId { type uint32 { range 1..max; @@ -221,7 +239,7 @@ module _3gpp-common-trace { mandatory true; description "MBSFN Area Identifier"; } - + leaf earfcn{ type uint32 { range 1..max; @@ -230,18 +248,18 @@ module _3gpp-common-trace { description "Carrier Frequency"; } } - + grouping TraceConfigGrp { - description "Defines the configuration parameters of TraceJob + description "Defines the configuration parameters of TraceJob which are specific for Trace or combined Trace and Immediate MDT. - The attribute listOfNeTypes specifies the network elements to be + The attribute listOfNeTypes specifies the network elements to be traced. The optional attribute listOfInterfaces allows to specify the individual interfaces of the network elements to be recorded. - The attribute traceDepth allows to configure the level of detail + The attribute traceDepth allows to configure the level of detail of the information which shall be recorded. For trace the reporting - is event based, where the triggering event is configured with - attribute triggeringEvents. For each triggering event the first and + is event based, where the triggering event is configured with + attribute triggeringEvents. For each triggering event the first and last message (start/stop triggering event) to record are specified."; list listOfInterfaces { @@ -582,16 +600,16 @@ module _3gpp-common-trace { enum VENDORMAXIMUM; } default MAXIMUM; - description "It specifies the trace depth. The attribute is applicable + description "It specifies the trace depth. The attribute is applicable only for Trace."; reference "Clause 5.3 of 3GPP TS 32.422."; - } - + } + list triggeringEvents { key idx; - description "It specifies the triggering event parameter of the trace + description "It specifies the triggering event parameter of the trace session. The attribute is applicable only for Trace."; - reference "Clause 5.1 of 3GPP TS 32.422"; + reference "Clause 5.1 of 3GPP TS 32.422"; leaf idx { type uint32; } max-elements 1; @@ -600,7 +618,7 @@ module _3gpp-common-trace { enum MO_MT_CALLS; enum MO_MT_SMS; enum LU_IMSIattach_IMSIdetach; - enum SS; + enum SS; } } @@ -613,7 +631,7 @@ module _3gpp-common-trace { } } - + leaf-list MGW { type enumeration { enum CONTEXT; @@ -650,7 +668,7 @@ module _3gpp-common-trace { } } - + leaf-list SGW { type enumeration { enum PDNconnectionCreation; @@ -757,12 +775,12 @@ module _3gpp-common-trace { } grouping ImmediateMdtConfigGrp { - description "Represents the ImmediateMdtConfig dataType. - This <> defines the configuration parameters of - IOC TraceJob which are specific for Immediate MDT or combine - Trace and Immediate MDT. - - The optional attribute positioningMethod allows to specify + description "Represents the ImmediateMdtConfig dataType. + This <> defines the configuration parameters of + IOC TraceJob which are specific for Immediate MDT or combine + Trace and Immediate MDT. + + The optional attribute positioningMethod allows to specify the positioning methods to use. The following attributes are conditional available based on the @@ -795,66 +813,71 @@ module _3gpp-common-trace { -beamLevelMeasurement (conditional for M1 in NR), -excessPacketDelayThresholds (conditional for M6 UL measurement in NR). - For immediate MDT, the measurement reporting is dependent on the + For immediate MDT, the measurement reporting is dependent on the configured measurements: - - - For measurement M1 in LTE or NR, it is possible to select between - periodical, event triggered, event triggered periodic reporting or - reporting according to all configured RRM event triggers. For M1 and M2 - measurement in UMTS, it is possible to select between periodical, event - triggered reporting or reporting according to all configured RRM event - triggers. Parameter reportingTrigger determines which of the reporting - methods is selected and in case of event triggered or event-triggered - periodic, which is the decisive event type. For periodical reporting, + + - For measurement M1 in LTE or NR, it is possible to select between + periodical, event triggered, event triggered periodic reporting or + reporting according to all configured RRM event triggers. For M1 and M2 + measurement in UMTS, it is possible to select between periodical, event + triggered reporting or reporting according to all configured RRM event + triggers. Parameter reportingTrigger determines which of the reporting + methods is selected and in case of event triggered or event-triggered + periodic, which is the decisive event type. For periodical reporting, parameters reportInterval and reportAmount determine the interval between - two successive reports and the number of reports. This means the + two successive reports and the number of reports. This means the periodical reporting terminates after reportAmount reports have been - sent as long as reportAmount is configured with a value different from - infinity. For event-triggered periodic reporting, these two parameters - apply in addition to parameter eventThreshold which determines the - threshold of the event. In this case up to reportAmount reports are - sent with a periodicity of reportInterval after the entering condition - is fulfilled. The reporting is stopped, if the leaving condition is - fulfulled and is restarted if the configured event reoccurs. For event - based reporting, there is only one report sent after the event occurs. - The parameters to configure are reportingTrigger and eventThreshold. - In case of UMTS and 1f event reporting, additionally parameter - measurementQuantity is necessary in order to determine for which - measurement(s) the event threshold is applicable. Parameter + sent as long as reportAmount is configured with a value different from + infinity. For event-triggered periodic reporting, these two parameters + apply in addition to parameter eventThreshold which determines the + threshold of the event. In this case up to reportAmount reports are + sent with a periodicity of reportInterval after the entering condition + is fulfilled. The reporting is stopped, if the leaving condition is + fulfulled and is restarted if the configured event reoccurs. For event + based reporting, there is only one report sent after the event occurs. + The parameters to configure are reportingTrigger and eventThreshold. + In case of UMTS and 1f event reporting, additionally parameter + measurementQuantity is necessary in order to determine for which + measurement(s) the event threshold is applicable. Parameter beamLevelMeasurement determines whether beam level measurements shall be included in case of NR. - + - For measurement M2 in LTE or NR, reporting is according to RRM - configuration, see TS 38.321, TS 36.321 and TS 38.331, TS 36.331. - - - For measurement M4 in UMTS, reporting is either according to RRM + configuration, see TS 38.321, TS 36.321 and TS 38.331, TS 36.331. + + - For measurement M4 in UMTS, reporting is either according to RRM configuration, see TS 25.321 and TS 25.331 or periodic or event - triggered periodic using parameter collectionPeriodRRMUMTS and + triggered periodic using parameter collectionPeriodRRMUMTS and eventThresholdUphUMTS. - + - For measurement M3 in UMTS, the reporting is done upon availability, see TS 37.320. - - - For measurements M4, M5, M6 and M7 in NR, for measurements - M3, M4, M5, M6 and M7 in LTE and for measurements M5, M6 and M7 + + - For measurements M4, M5, M6 and M7 in NR, for measurements + M3, M4, M5, M6 and M7 in LTE and for measurements M5, M6 and M7 in UMTS periodical reporting is applied. The configurable parameter - is the interval between two measurements (collectionPeriodRRMNR, + is the interval between two measurements (collectionPeriodRRMNR, collectionPeriodM6NR, collectionPeriodM7NR, collectionPeriodRRMLTE, measurementPeriodLte, collectionPeriodM6LTE, collectionPeriodM7LTE, - collectionPeriodRRMUMTS, measurementPeriodUMTS) and the number of - reports (reportAmountM4NR, reportAmountM5NR, reportAmountM6NR, - reportAmountM7NR, reportAmountM4LTE, reportAmountM5LTE, + collectionPeriodRRMUMTS, measurementPeriodUMTS) and the number of + reports (reportAmountM4NR, reportAmountM5NR, reportAmountM6NR, + reportAmountM7NR, reportAmountM4LTE, reportAmountM5LTE, reportAmountM6LTE,reportAmountM7LTE). If no collection period is configured for M5 in UMTS, all available measurements are logged according to RRM configuration. - - Measurements M8 and M9 in NR or LTE are reported according to - configured M1 and/or M6 related UE measurement reporting. - + - Measurements M8 and M9 in NR or LTE are reported according to + configured M1 and/or M6 related UE measurement reporting. + "; - - leaf listOfMeasurements { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"'; + + leaf listOfMeasurements { + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum M1; enum M2; @@ -871,14 +894,19 @@ module _3gpp-common-trace { enum M8; enum M9; } - description "It specifies the UE measurements that shall be - collected in an Immediate MDT job. The attribute is + description "It specifies the UE measurements that shall be + collected in an Immediate MDT job. The attribute is applicable only for Immediate MDT."; reference "Clause 5.10.3 of 3GPP TS 32.422."; } leaf reportingTrigger { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"'; + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum PERIODICAL; enum A2_FOR_LTE; @@ -898,6 +926,11 @@ module _3gpp-common-trace { leaf reportInterval { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"' + ' and ../reportingTrigger = "PERIODICAL"'; type uint32 { range "120|240|250|480|500|640|1000|1024|2000|2048|3000|4000|" @@ -912,9 +945,14 @@ module _3gpp-common-trace { reportingTrigger is configured for periodical measurements."; reference "5.10.5 of 3GPP TS 32.422."; } - + leaf reportAmount { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"' + ' and ../reportingTrigger = "PERIODICAL"'; type union { type uint32 { @@ -930,9 +968,14 @@ module _3gpp-common-trace { reportingTrigger is configured for periodical measurements."; reference "Clause 5.10.6 of 3GPP TS 32.422"; } - + leaf eventThreshold { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"'; + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type int64; description "Specifies the threshold which should trigger the reporting in case A2 event reporting in LTE or 1F/1l event in UMTS. The attribute @@ -940,23 +983,31 @@ module _3gpp-common-trace { configured for A2 event in LTE or 1F event or 1l event in UMTS."; reference "Clauses 5.10.7 and 5.10.7a of 3GPP TS 32.422"; } - + leaf collectionPeriodRRMNR { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "1024|2048|5120|10240|60000"; } units milliseconds; - description "Specifies the collection period for collecting RRM - configured measurement samples for M4, M5 in NR. The attribute is + description "Specifies the collection period for collecting RRM + configured measurement samples for M4, M5 in NR. The attribute is applicable only for Immediate MDT."; reference "Clause 5.10.30 of 3GPP TS 32.422"; } leaf collectionPeriodM6NR { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum 120ms; enum 240ms; @@ -973,27 +1024,35 @@ module _3gpp-common-trace { enum 12min; enum 30min; } - description "It specifies the collection period for the Packet Delay - measurement (M6) for NR MDT taken by the gNB. The attribute is + description "It specifies the collection period for the Packet Delay + measurement (M6) for NR MDT taken by the gNB. The attribute is applicable only for Immediate MDT. "; reference "clause 5.10.34 of TS 32.422"; } - + leaf collectionPeriodM7NR { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "1..60"; } - description "It specifies the collection period for the Packet Loss Rate - measurement (M7) for NR MDT taken by the gNB. The attribute is - applicable only for Immediate MDT."; + description "It specifies the collection period for the Packet Loss Rate + measurement (M7) for NR MDT taken by the gNB. The attribute is + applicable only for Immediate MDT."; reference "clause 5.10.35 of TS 32.422"; } leaf collectionPeriodRRMLTE { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum 100ms; enum 1000ms; @@ -1014,7 +1073,11 @@ module _3gpp-common-trace { leaf measurementPeriodLTE { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum 1024ms; enum 2048ms; @@ -1023,54 +1086,70 @@ module _3gpp-common-trace { enum 1min; } mandatory true; - description "It specifies the measurement period for the - Data Volume (M4) and Scheduled IP throughput + description "It specifies the measurement period for the + Data Volume (M4) and Scheduled IP throughput measurements (M5) for LTE MDT taken by the eNB. The attribute is applicable only for Immediate MDT."; reference "Clause 5.10.23 of 3GPP TS 32.422."; } - + leaf collectionPeriodM6LTE { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "1024|2048|5120|10240"; } units milliseconds; - description "Specifies the collection period for the Packet Delay - measurement (M6) for MDT taken by the eNB. The attribute is applicable - only for Immediate MDT. In case this attribute is not used, + description "Specifies the collection period for the Packet Delay + measurement (M6) for MDT taken by the eNB. The attribute is applicable + only for Immediate MDT. In case this attribute is not used, it carries a null semantic."; reference "Clause 5.10.32 of TS 32.422. "; } - + leaf collectionPeriodM7LTE { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint16 { range 1..60 ; } - description "It specifies the collection period for the Packet Loss Rate - measurement (M7) for LTE MDT taken by the eNB. The attribute is + description "It specifies the collection period for the Packet Loss Rate + measurement (M7) for LTE MDT taken by the eNB. The attribute is applicable only for Immediate MDT."; reference "Clause 5.10.33 of TS 32.422."; } leaf eventThresholdUphUMTS { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint16 { range 0..31 ; - } - description "It specifies the threshold which should trigger - the reporting in case of event-triggered periodic reporting for M4 + } + description "It specifies the threshold which should trigger + the reporting in case of event-triggered periodic reporting for M4 (UE power headroom measurement) in UMTS."; reference "Clause 5.10.39 of TS 32.422."; } leaf collectionPeriodRRMUMTS { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "100|250|500|1000|2000|" +"3000|4000|6000"; @@ -1084,7 +1163,11 @@ module _3gpp-common-trace { leaf measurementPeriodUMTS { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + 'or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "1000|2000|3000|4000|6000|8000|12000|16000|20000|" +"24000|28000|32000|64000"; @@ -1099,7 +1182,11 @@ module _3gpp-common-trace { leaf measurementQuantity { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum CPICH_ECNO; enum CPICH_RSCP; @@ -1109,20 +1196,28 @@ module _3gpp-common-trace { job for a UMTS MDT configured for event triggered reporting."; reference "Clause 5.10.15 of 3GPP TS 32.422."; } - + leaf beamLevelMeasurement { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type boolean; default false; - description "Indicates whether the NR M1 beam level measurements shall + description "Indicates whether the NR M1 beam level measurements shall be included or not."; reference "Clause 5.10.40 of 3GPP TS 32.422."; } leaf positioningMethod { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum GNSS; enum E_CELL_ID; @@ -1131,7 +1226,7 @@ module _3gpp-common-trace { MDT job."; reference "Clause 5.10.19 of 3GPP TS 32.422."; } - + list excessPacketDelayThresholds { description "Excess packet delay thresholds info for M6 UL measurement."; min-elements 1; @@ -1139,7 +1234,7 @@ module _3gpp-common-trace { leaf idx { type string; } uses ExcessPacketDelayThresholdsGrp; } - + leaf reportAmountM1LTE { type enumeration { enum 1; @@ -1151,14 +1246,14 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for LTE."; reference "Clause 5.10.19 of 3GPP TS 32.422."; } - + leaf reportAmountM4LTE { type enumeration { enum 1; @@ -1170,10 +1265,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for LTE."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1189,10 +1284,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for LTE."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1208,10 +1303,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for LTE."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1227,10 +1322,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for LTE."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1246,10 +1341,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for NR."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1265,12 +1360,12 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for NR."; - reference "Clause 5.10.6 of TS 32.422."; + reference "Clause 5.10.6 of TS 32.422."; } leaf reportAmountM5NR { @@ -1284,10 +1379,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for NR."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1303,10 +1398,10 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for NR."; reference "Clause 5.10.6 of TS 32.422."; } @@ -1322,64 +1417,65 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical measurements and applicable only for NR."; - reference "Clause 5.10.6 of TS 32.422."; + reference "Clause 5.10.6 of TS 32.422."; } } grouping LoggedMdtConfigGrp { - description "This <> defines the configuration parameters of + description "This <> defines the configuration parameters of IOC TraceJob which are specific for Logged MDT or Logged MBSFN MDT. - Based on the value configured for attribute jobType in IOC TraceJob, - different attributes are available. In case of LOGGED_MDT_ONLY, the - attributes reportType, eventListForEventTriggeredMeasurement, - eventThresholdL1, hysteresisL1, timeToTriggerL1, + Based on the value configured for attribute jobType in IOC TraceJob, + different attributes are available. In case of LOGGED_MDT_ONLY, the + attributes reportType, eventListForEventTriggeredMeasurement, + eventThresholdL1, hysteresisL1, timeToTriggerL1, areaConfigurationForNeighCells and npnIdentityList are applicable. - In case of LOGGED_MBSFN_MDT, + In case of LOGGED_MBSFN_MDT, the attribute mbsfnAreaList is applicable. The optional attribute - plmnList allows to specify the PLMNs where - measurement collection, status indication and log reporting is - allowed, the optional attribute areaConfigurationForNeighCell + plmnList allows to specify the PLMNs where + measurement collection, status indication and log reporting is + allowed, the optional attribute areaConfigurationForNeighCell allows to specify the area for which UE is requested to perform - measurements logging for neighbour cells which have list of - frequencies. - - For logged MDT in UMTS and LTE, the reporting is periodical. Parameter - loggingInterval determines the interval between the reports and parameter + measurements logging for neighbour cells which have list of + frequencies. + + For logged MDT in UMTS and LTE, the reporting is periodical. Parameter + loggingInterval determines the interval between the reports and parameter loggingDuration determines how long the configuration is valid meaning - after this duration has passed no further reports are sent. In NR, the - reporting can be periodical or event based, determined by parameter - reportType. For periodical reporting the same parameters as in LTE and - UMTS apply. For event based reporting, - parameter eventListForEventTriggeredMeasurement configures the event type, - namely 'out of coverage' or 'L1 event'. In case 'L1 event' is selected as + after this duration has passed no further reports are sent. In NR, the + reporting can be periodical or event based, determined by parameter + reportType. For periodical reporting the same parameters as in LTE and + UMTS apply. For event based reporting, + parameter eventListForEventTriggeredMeasurement configures the event type, + namely 'out of coverage' or 'L1 event'. In case 'L1 event' is selected as event type, the logging is performed according to parameter loggingInterval at regular intervals only when the conditions indicated by - eventThresholdL1, hysteresisL1, timeToTriggerL1 (defining the thresholds, + eventThresholdL1, hysteresisL1, timeToTriggerL1 (defining the thresholds, hysteresis and time to trigger) are met and if UE is 'camped normally' - state (TS 38.331, + state (TS 38.331, TS 38.304). In case 'out of coverage' is selected as event type, the - logging is performed according to parameter loggingInterval at regular - intervals only when the UE is in 'any cell selection' state. + logging is performed according to parameter loggingInterval at regular + intervals only when the UE is in 'any cell selection' state. Furthermore, logging is performed immediately upon transition from the - 'any cell selection' state to the 'camped normally' state (TS 38.331, + 'any cell selection' state to the 'camped normally' state (TS 38.331, TS 38.304)."; - + leaf traceCollectionEntityId { type int64; - description "It specifies the TCE Id which is sent to the UE in + description "It specifies the TCE Id which is sent to the UE in Logged MDT."; reference "Clause 5.10.11 of 3GPP TS 32.422."; } - + leaf loggingDuration { - when '../../../jobType = "LOGGED_MDT_ONLY" or' - + ' ../../../jobType = "LOGGED_MBSFN_MDT"'; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "LOGGED_MBSFN_MDT" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "600|1200|2400|3600|5400|7200"; } @@ -1391,8 +1487,9 @@ module _3gpp-common-trace { } leaf loggingInterval { - when '../../../jobType = "LOGGED_MDT_ONLY" or' - + ' ../../../jobType = "LOGGED_MBSFN_MDT"'; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "LOGGED_MBSFN_MDT" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum 320ms; enum 640ms; @@ -1410,9 +1507,14 @@ module _3gpp-common-trace { applicable only for Logged MDT and Logged MBSFN MDT."; reference "Clause 5.10.8 of 3GPP TS 32.422"; } - + leaf reportType { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"'; + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum PERIODICAL; enum EVENT_TRIGGERED; @@ -1420,9 +1522,10 @@ module _3gpp-common-trace { description "It specifies report type for logged NR MDT"; reference "Clause 5.10.27 of 3GPP TS 32.422."; } - + leaf eventListForEventTriggeredMeasurement { - when '../../../jobType = "LOGGED_MDT_ONLY"'; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum OUT_OF_COVERAGE ; enum A2_EVENT ; @@ -1437,50 +1540,54 @@ module _3gpp-common-trace { } leaf eventThresholdL1 { - when '../../../jobType = "LOGGED_MDT_ONLY" or' - + ' ../../../jobType = "LOGGED_MBSFN_MDT"'; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "LOGGED_MBSFN_MDT" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "0..127"; } - description "It specifies the threshold which should trigger - the reporting in case of event based reporting of logged NR MDT. - The attribute is applicable only for Logged MDT and when reportType - is configured for event triggered reporting and when + description "It specifies the threshold which should trigger + the reporting in case of event based reporting of logged NR MDT. + The attribute is applicable only for Logged MDT and when reportType + is configured for event triggered reporting and when eventListForEventTriggeredMeasurement is configured for L1 event."; reference "clause 5.10.36 of TS 32.422"; } - + leaf hysteresisL1 { - when '../../../jobType = "LOGGED_MDT_ONLY" or ' - + '../../../jobType = "LOGGED_MBSFN_MDT"'; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "LOGGED_MBSFN_MDT" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "0..30"; } - description "It specifies the hysteresis used within the entry and leave - condition of the L1 event based reporting of logged NR MDT. - The attribute is applicable only for Logged MDT, when reportType - is configured for event triggered reporting and when + description "It specifies the hysteresis used within the entry and leave + condition of the L1 event based reporting of logged NR MDT. + The attribute is applicable only for Logged MDT, when reportType + is configured for event triggered reporting and when eventListForEventTriggeredMeasurement is configured for L1 event."; reference "clause 5.10.37 of TS 32.422"; } leaf timeToTriggerL1 { - when '../../../jobType = "LOGGED_MDT_ONLY" or ' - + '../../../jobType = "LOGGED_MBSFN_MDT"'; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "LOGGED_MBSFN_MDT" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type int32 { range 0|40|64|80|100|128|160|256|320|480|512|640|1024|1280|2560|5120; } units milliseconds; - description "It specifies the threshold which should trigger - the reporting in case of event based reporting of logged NR MDT. - The attribute is applicable only for Logged MDT, when reportType - is configured for event triggered reporting and when + description "It specifies the threshold which should trigger + the reporting in case of event based reporting of logged NR MDT. + The attribute is applicable only for Logged MDT, when reportType + is configured for event triggered reporting and when eventListForEventTriggeredMeasurement is configured for L1 event."; reference "clause 5.10.38 of TS 32.422"; } - + list areaConfigurationForNeighCells { - when '../../../jobType = "LOGGED_MDT_ONLY"'; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; key "idx"; leaf idx { type uint32 ; } description "It specifies the area for which UE is requested to perform @@ -1502,37 +1609,52 @@ module _3gpp-common-trace { Frequency (EARFCN). The target MBSFN area List can have up to 8 entries. This parameter is applicable only if the job type is Logged MBSFN MDT."; reference "Clause 5.10.25 of 3GPP TS 32.422."; - + uses MbsfnAreaGrp; } - + list nPNIdentityList { - description "It defines which NPNs that can be served by the NR cell, - and which CAG IDs or NIDs can be supported by the NR cell for + description "It defines which NPNs that can be served by the NR cell, + and which CAG IDs or NIDs can be supported by the NR cell for corresponding PNI-NPN or SNPN in case of the cell is NPN-only cell. (NPN-Identity referring to TS 38.331)"; key idx; - max-elements 1; + max-elements 1; uses types3gpp:NpnIdGrp; leaf idx { type string;} } } grouping MdtConfigGrp { - description "Defines the configuration parameters of IOC - TraceJob which are specific for MDT. The attribute - anonymizationOfMdtData specifies the level of anonymization - of MDT data. The attribute areaScope defines the area scope + description "Defines the configuration parameters of IOC TraceJob which are + specific for MDT or any combination of MDT. + + The attribute anonymizationOfMdtData specifies the level of anonymization + of MDT data. + + The attribute areaScope defines the area scope of MDT, which is specified in clause 5.10.2 of TS 32.422. - The optional attribute sensorInformation allows to specify - the sensor information to include. Based on the value - configured for attribute jobType in IOC TraceJob, the attributes - immediateMdtConfig or loggedMdtConfig are available: In case of - IMMEDIATE_MDT_ONLY or IMMEDIATE_MDT_AND_TRACE the attribute - immediateMdtConfig is applicable. In case of LOGGED_MDT_ONLY or - LOGGED_MBSFN_MDT the attribute loggedMdtConfig is applicable."; - - leaf anonymizationOfMDTData { + + The optional attribute sensorInformation allows to specify + the sensor information to include. + + The attribute trsrPrefixCfg contains the TRSR prefix + configuration parameters which shall be used by the NR-RAN nodes + during TRSR assignment for a C-MDT job. + + Based on the value configured for attribute jobType in IOC + TraceJob, the attributes immediateMdtConfig or loggedMdtConfig + or both are available: If the attribute jobType indictes immediate MDT, + the attribute immediateMdtConfig is applicable. If the attribute jobType + indictes logged MDT or logged MBSFN MDT, the attribute loggedMdtConfig is + applicable. If the attribute jobType indictes both immediate MDT and + logged MDT, both the attribute immediateMdtConfig and + the attribute loggedMdtConfig are applicable. + + The optional attribute plmnList allows to specify the PLMNs where + measurements collection, status indication and log reporting is allowed."; + + leaf anonymizationOfMdtData { when ../areaScope ; type enumeration { enum NO_IDENTITY; @@ -1548,8 +1670,8 @@ module _3gpp-common-trace { key "idx"; leaf idx { type uint32 ; } description "It specifies the area where data shall be collected. "; - max-elements 1; - uses AreaScopeGrp; + max-elements 1; + uses AreaScopeGrp; } leaf-list sensorInformation { @@ -1564,32 +1686,32 @@ module _3gpp-common-trace { } list immediateMdtConfig { - description "The set of parameters specific for Immediate MDT + description "The set of parameters specific for Immediate MDT configuration."; key idx; max-elements 1; leaf idx { type string; } uses ImmediateMdtConfigGrp; } - + list loggedMdtConfig { - description "The set of parameters specific for Logged MDT and Logged + description "The set of parameters specific for Logged MDT and Logged MBSFN MDT configuration."; key idx; max-elements 1; leaf idx { type string; } uses LoggedMdtConfigGrp; - } - + } + leaf mNOnly { type boolean; default false; - description "Specifies whether the MDT configuration is for MN - only or not. The value FALSE means the MDT configuration is for - both MN and SN. The value TRUE means the MDT configuration is + description "Specifies whether the MDT configuration is for MN + only or not. The value FALSE means the MDT configuration is for + both MN and SN. The value TRUE means the MDT configuration is for MN only."; - } - + } + list plmnList { key "mcc mnc"; uses types3gpp:PLMNId; @@ -1597,23 +1719,36 @@ module _3gpp-common-trace { description "It indicates the PLMNs where measurement collection, status indication and log reporting is allowed."; reference "Clause 5.10.24 of 3GPP TS 32.422."; - } + } + + list trsrPrefixCfg { + key "idx"; + max-elements 1; + description "The TRSR prefix configuration parameters which are used by + NR-RAN at TRSR assignment for a given C-MDT job. It defines both the + base TRSR prefix and the size of the TRSR prefix. The attribute + trstPrefix specifies the base TRSR prefix. The attribute + trsrPrefixLength defines the size of base TRSR prefix."; + reference "Clause 5.10 of 3GPP TS 32.422."; + leaf idx { type uint32 ; } + uses trace3gpp:trsrPrefixCfgGrp ; + } } grouping UECoreMeasConfigGrp { description "Represents the UECoreMeasConfig dataType. This <> defines the aconfiguration parameters of IOC TraceJob which are specific for UE level measurements collection."; - + leaf-list ueCoreMeasurements { type string; min-elements 1; description "List of 5GC UE level measurements identified by name. - The list may include 5GC UE level measurements defined in TS 28.558, + The list may include 5GC UE level measurements defined in TS 28.558, or vendor specific measurements. - - For non-3GPP specified 5GC UE level measurements the name is defined + + For non-3GPP specified 5GC UE level measurements the name is defined elsewhere."; } @@ -1621,21 +1756,21 @@ module _3gpp-common-trace { type uint32; mandatory true; units milliseconds; - description "Granularity period used to produce 5GC UE + description "Granularity period used to produce 5GC UE level measurements. The period is defined in milliseconds (ms)."; } leaf nfTypeToMeasure { type string; mandatory true; - description "It indicates the type of NE to produce the 5GC UE level + description "It indicates the type of NE to produce the 5GC UE level measurements. - - allowedValues: The NF types represented by the measured object - classes as defined by f) of the 5GC UE level measurements specified + + allowedValues: The NF types represented by the measured object + classes as defined by f) of the 5GC UE level measurements specified in TS 28.558."; - } - + } + leaf-list objectInstances { type string; description "List of object instances. @@ -1651,6 +1786,21 @@ module _3gpp-common-trace { } } + grouping trsrPrefixCfgGrp { + leaf trstPrefix { + type string; + mandatory true; + description "A 2 byte Octet String. This is the base TRSR prefix"; + } + leaf trsrPrefixLength { + type int32; + mandatory true; + description "An integer to indicate how many bits are used for the + TRSR prefix"; + + } + } + grouping TraceJobGrp { leaf jobType { @@ -1665,13 +1815,14 @@ module _3gpp-common-trace { enum 5GC_UE_LEVEL_MEASUREMENTS_ONLY; enum TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS; enum IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS; - enum TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS; + enum TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS; enum RRC_REPORT; + enum IMMEDIATE_MDT_AND_LOGGED_MDT; } default TRACE_ONLY; description "It specifies whether the - TraceJob represents only MDT, Trace, RLF, RCEF, RRC or 5GC UE - level measurements job, or a combined job. It also defines the + TraceJob represents only MDT, Trace, RLF, RCEF, RRC or 5GC UE + level measurements job, or a combined job. It also defines the MDT mode."; reference "Clause 5.9a of 3GPP TS 32.422."; } @@ -1693,7 +1844,7 @@ module _3gpp-common-trace { description "It specifies which PLMN that the subscriber of the session to be recorded uses as selected PLMN."; reference "Clause 5.9b of 3GPP TS 32.422"; - + uses types3gpp:PLMNId; } @@ -1702,10 +1853,10 @@ module _3gpp-common-trace { + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; type string; description "List of trace metrics identified by name. - Includes trace messages, MDT measurements (Immediate MDT, - Logged MDT, Logged MBSFN MDT), RLF, RCEF and RRC reports, + Includes trace messages, MDT measurements (Immediate MDT, + Logged MDT, Logged MBSFN MDT), RLF, RCEF and RRC reports, see TS 32.422 Trace messages are identified with their message - identifier. Trace metric identifier is constructed as defined + identifier. Trace metric identifier is constructed as defined in clause 10 of TS 32.422. For non-3GPP specified trace metrics the name is defined elsewhere. "; @@ -1714,13 +1865,13 @@ module _3gpp-common-trace { leaf traceCollectionEntityIPAddress { type inet:ip-address; - description "It specifies the address of the Trace Collection Entity - when the attribute traceReportingFormat is configured for the - file-based reporting. The attribute is applicable for both Trace and + description "It specifies the address of the Trace Collection Entity + when the attribute traceReportingFormat is configured for the + file-based reporting. The attribute is applicable for both Trace and MDT."; reference "Clause 5.9 of 3GPP TS 32.422."; } - + leaf traceReportingConsumerUri { when '../traceReportingFormat = "STREAMING"'; @@ -1729,7 +1880,7 @@ module _3gpp-common-trace { (a.k.a. streaming target)."; reference "Clause 5.9 of 3GPP TS 32.422."; } - + list traceReference { key "idx"; min-elements 1; @@ -1742,7 +1893,7 @@ module _3gpp-common-trace { reference "Clause 5.6 of 3GPP TS 32.422."; leaf idx { type uint32 ; } - uses trace3gpp:TraceReferenceGrp ; + uses trace3gpp:TraceReferenceGrp ; } leaf jobId { @@ -1761,18 +1912,18 @@ module _3gpp-common-trace { reporting or file-based trace reporting"; reference "3GPP TS 32.422 clause 5.11"; } - + list traceTarget { - key "targetIdType"; + key "traceTargetType"; max-elements 1; - description "It specifies the target object of the Trace, MDT and + description "It specifies the target object of the Trace, MDT and 5GC UE level measurements collection. The attribute is applicable for Trace, MDT, and 5GC UE level measurements collection. - In case of management based Immediate MDT, RLF reporting, RCEF - reporting or RRC reposring, the traceTarget attribute shall be null + In case of management based Immediate MDT, RLF reporting, RCEF + reporting or RRC reposring, the traceTarget attribute shall be null value."; - leaf targetIdType { + leaf traceTargetType { type enumeration { enum IMSI; enum IMEI; @@ -1787,15 +1938,15 @@ module _3gpp-common-trace { enum SUPI; enum N4_SESSION_ID; } - description "It specifies the target object of the Trace, MDT and + description "It specifies the target object of the Trace, MDT and 5GC UE level measurements collection. The attribute is applicable for Trace, MDT, and 5GC UE level measurements collection. The targetIdType shall be PUBLIC_ID in case of a Management Based Activation is done to an SCSCFFunction (Serving Call Session Control - Function) or PCSCFFunction (Proxy Call Session Control Function) + Function) or PCSCFFunction (Proxy Call Session Control Function) - The targetIdType shall be UTRAN_CELL only in case of + The targetIdType shall be UTRAN_CELL only in case of UTRAN cell traffic trace function. The targetIdType shall be E-UTRAN_CELL only in case of E-UTRAN cell @@ -1830,27 +1981,27 @@ module _3gpp-common-trace { - UPFFunction - UDMFunction - In case of signalling based MDT, the targetIdType shall be + In case of signalling based MDT, the targetIdType shall be able to carry PUBLIC_ID, IMSI, IMEI, IMEISV or SUPI. - In case of management based Logged MDT, the targetIdType - shall carry an eNB or a gNB or an RNC. + In case of management based Logged MDT, the targetIdType + shall carry an eNB or a gNB or an RNC. The Logged MDT should be initiated on the specified eNB/gNB/RNC in targetIdValueList. - - In case of signalling based 5GC UE level measurements collection, - the targetIdTypee shall be able to carry IMEISV or SUPI. - - In case of management based 5GC UE level measurements collection, - the targetIdType shall be able to carry the corresponding - Measured UE Identifier as defined by the bullet g) of the 5GC UE - level measurements (see TS 28.558) when the TraceJob is created at + + In case of signalling based 5GC UE level measurements collection, + the targetIdTypee shall be able to carry IMEISV or SUPI. + + In case of management based 5GC UE level measurements collection, + the targetIdType shall be able to carry the corresponding + Measured UE Identifier as defined by the bullet g) of the 5GC UE + level measurements (see TS 28.558) when the TraceJob is created at the subject ManagedEntity."; } - leaf-list targetIdValueList { + leaf-list traceTargetValueList { type string; - description "It specifies the ID value(s) of the target object defined + description "It specifies the ID value(s) of the target object defined by traceTargetType"; } @@ -1861,50 +2012,71 @@ module _3gpp-common-trace { when '../jobType = "TRACE_ONLY"' + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"' + ' or ../jobType = "TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS"' - + ' or ../jobType = - "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; + + ' or ../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; key idx; description "Trace config"; max-elements 1; - uses TraceConfigGrp; + uses TraceConfigGrp; leaf idx { type string; } } - - list mdtConfig { + + list mdtConfig { when '../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../jobType = "LOGGED_MDT_ONLY"' + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"' - + ' or ../jobType = "RLF_REPORT_ONLY"' - + ' or ../jobType = "RCEF_REPORT_ONLY"' + ' or ../jobType = "LOGGED_MBSFN_MDT"' + ' or ../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' - + ' or ../jobType = - "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; + + ' or ../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; key idx; - description "MDT config"; - max-elements 1; + description "This <> defines the configuration parameters of + IOC TraceJob which are specific for MDT or any combination of MDT. + The attribute anonymizationOfMdtData specifies the level of + anonymization of MDT data. + The optional attribute areaScopedefines the area scope of MDT, which + is specified in clause 5.10.2 of TS 32.422. + The attribute sensorInformation allows to specify the sensor + information to include. + The attribute trsrPrefixCfg contains the TRSR prefix + configuration parameters which shall be used by the NR-RAN nodes + during TRSR assignment for a C-MDT job. + Based on the value configured for attribute jobType in IOC TraceJob, + the attributes immediateMdtConfig or loggedMdtConfig or both are + available: If the attribute jobType indictes immediate MDT, the + attribute immediateMdtConfig is applicable. If the attribute jobType + indictes logged MDT or logged MBSFN MDT, the attribute loggedMdtConfig + is applicable. If the attribute jobType indictes both immediate MDT + and logged MDT, both the attribute immediateMdtConfig and the + attribute loggedMdtConfig are applicable. + The optional attribute plmnList allows to specify the PLMNs where + measurements collection, status indication and log reporting is + allowed."; + max-elements 1; uses MdtConfigGrp; - leaf idx { type string; } + leaf idx { type string; } } - list ueCoreMeasConfig { + list ueCoreMeasConfig { when '../jobType = "5GC_UE_LEVEL_MEASUREMENTS_ONLY"' + ' or ../jobType = "TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS"' + ' or ../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' - + ' or ../jobType = + + ' or ../jobType = "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; key idx; description "5GC UE level measurements config"; - max-elements 1; + max-elements 1; uses UECoreMeasConfigGrp; - leaf idx { type string; } + leaf idx { type string; } } - + list nPNTarget { - description "applicable only for NR and shall be present in case of NPN - either a PNI-NPN or a SNPN) and for management-based activation when + description "applicable only for NR and shall be present in case of NPN + either a PNI-NPN or a SNPN) and for management-based activation when several NPNs are supported in the RAN."; key idx; - max-elements 1; + max-elements 1; uses types3gpp:NpnIdGrp; leaf idx { type string;} } @@ -1921,75 +2093,70 @@ module _3gpp-common-trace { augment all user classes!"; list TraceJob { - description "A TraceJob instance represents the Trace Control and - Configuration parameters of a particular Trace Job (see TS 32.421 and - TS 32.422 for details). It can be name-contained by SubNetwork, + description "A TraceJob instance represents the Trace Control and + Configuration parameters of a particular Trace Job (see TS 32.421 and + TS 32.422 for details). It can be name-contained by SubNetwork, ManagedElement, ManagedFunction. - To activate Trace Jobs, a MnS consumer has to create TraceJob object - instances on the MnS producer. A MnS consumer can activate a Trace Job - for another MnS consumer since it is not required the value of - traceCollectionEntityIPAddress or traceReportingConsumerUri to be + To activate Trace Jobs, a MnS consumer has to create TraceJob object + instances on the MnS producer. A MnS consumer can activate a Trace Job + for another MnS consumer since it is not required the value of + traceCollectionEntityIPAddress or traceReportingConsumerUri to be his own. - For the details of Trace Job activation see clauses 4.1.1.1.2 and + For the details of Trace Job activation see clauses 4.1.1.1.2 and 4.1.2.1.2 of TS 32.422. - When a MnS consumer wishes to deactivate a Trace Job, the MnS consumer - shall delete the corresponding TraceJob instance. - + When a MnS consumer wishes to deactivate a Trace Job, the MnS consumer + shall delete the corresponding TraceJob instance. + For details of management Trace Job activation/deactivation see clause 4.1.1.1.2 of TS 32.422. - The attribute traceReference specifies a globally unique ID and - identifies a Trace session. One Trace Session may be activated to + The attribute traceReference specifies a globally unique ID and + identifies a Trace session. One Trace Session may be activated to multiple Network Elements. The traceReference is populated by the consumer that makes the request for a Trace Session. - The jobId attribute presents the job identifier of a TraceJob instance. - The jobId can be used to associate multiple TraceJob instances. - For example, it is possible to configure the same jobId value for - multiple TraceJob instances required to produce the data (e.g. RSRP + The jobId attribute presents the job identifier of a TraceJob instance. + The jobId can be used to associate multiple TraceJob instances. + For example, it is possible to configure the same jobId value for + multiple TraceJob instances required to produce the data (e.g. RSRP values of M1 and RLF reports) for a specific network analysis. - The attribute traceReportingFormat defines the method for reporting - the produced measurements. The selectable options are file-based or - stream-based reporting. In case of file-based reporting the attribute - traceCollectionEntityIPAddress is used to specify the IP address to - which the trace records shall be transferred, while in case of - stream-based reporting the attribute traceReportingConsumerUri + The attribute traceReportingFormat defines the method for reporting + the produced measurements. The selectable options are file-based or + stream-based reporting. In case of file-based reporting the attribute + traceCollectionEntityIPAddress is used to specify the IP address to + which the trace records shall be transferred, while in case of + stream-based reporting the attribute traceReportingConsumerUri specifies the streaming target. - The mandatory attribute traceTarget determines the target object of - the TraceJob. Dependent on the network element to which the Trace - Session is activated different types of the target object are possible. - The attribute pLMNTarget defines the PLMN for which sessions shall be - selected in the Trace Session in case of management based activation + The mandatory attribute traceTarget determines the target object of + the TraceJob. Dependent on the network element to which the Trace + Session is activated different types of the target object are possible. + The attribute pLMNTarget defines the PLMN for which sessions shall be + selected in the Trace Session in case of management based activation when several PLMNs are supported in the RAN.The MDT configuration may - include area scope defined by network slice, in which case + include area scope defined by network slice, in which case the attribute pLMNTarget is not applicable. The attribute listOfTraceMetrics allows configuraton of which metrics shall be recorded. - The attribute jobType specifies the kind of data to collect. In case of - TRACE_ONLY, the configuration parameters of attribute traceConfig - shall be applied. In case of IMMEDIATE_MDT_ONLY, LOGGED_MDT_ONLY, - RLF_REPORT_ONLY, RCEF_REPORT_ONLY and LOGGED_MBSFN_MDT the - configuration parameters of - attribute mdtConfig or a subset of these shall be applied. In case of - 5GC_UE_LEVEL_MEASUREMENTS_ONLY, the configuration parameters - of attribute ueCoreMeasConfig shall be applied. In case of any - combination of Trace, Immediate MDT, and 5GC UE level measurements, - the configuration parameters - of the corresponding attributes, traceConfig, mdtConfig and - ueCoreMeasConfig are applicable. - - If jobType has the value RRC Report, the attribute rrcReportType shall - bepresent. The rrcReportType allows the tracing of RRC reports. - - Creation and deletion of TraceJob instances by MnS consumers is - optional; when not supported, the TraceJob instances may be created + The attribute jobType specifies the kind of data to collect. In case + of TRACE_ONLY, the configuration parameters of attribute traceConfig + shall be applied. If the attribute jobType contains IMMEDIATE_MDT, + LOGGED_MDT and LOGGED_MBSFN_MDT the configuration parameters of + attribute mdtConfig or a subset of these shall be applied. If the + attribute jobType contains 5GC_UE_LEVEL_MEASUREMENTS, the configuration + parameters of attribute ueCoreMeasConfig shall be applied. + + If jobType has the value RRC_REPORT, the attribute rrcReportType shall + be present. The rrcReportType allows the tracing of RRC reports. + + Creation and deletion of TraceJob instances by MnS consumers is + optional; when not supported, the TraceJob instances may be created and deleted by the system or be pre-installed."; key id; diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index e060a12031a2f59f0b903105242864cb9c95bbfb..bba864e2836d03deb76227e5011b19e97053e9a6 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -2,31 +2,32 @@ module _3gpp-common-yang-types { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-yang-types"; prefix "types3gpp"; - + 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"; - description "The model defines a YANG mapping of the top level - information classes used for management of 5G networks and + description "The model defines a YANG mapping of the top level + information classes used for management of 5G networks and network slicing. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; - revision 2025-02-19 { reference CR-0512; } + revision 2025-08-31 { reference "CR-0551 CR-0556 CR-0562"; } + revision 2025-02-19 { reference CR-0512; } revision 2025-02-07 { reference CR-0492; } - revision 2024-11-25 { reference CR-1442; } - revision 2024-11-25 { reference CR-1412; } - revision 2024-11-01 { reference CR-0463; } - revision 2024-08-13 { reference CR-0387; } - revision 2024-05-18 { reference CR-0359; } - revision 2024-04-12 { reference CR-0346; } + revision 2024-11-25 { reference CR-1442; } + revision 2024-11-25 { reference CR-1412; } + revision 2024-11-01 { reference CR-0463; } + revision 2024-08-13 { reference CR-0387; } + revision 2024-05-18 { reference CR-0359; } + revision 2024-04-12 { reference CR-0346; } revision 2023-11-06 { reference CR-0305; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-08-09 { reference CR-0266; } revision 2023-05-10 { reference CR-0250; } revision 2023-02-14 { reference CR-0234; } @@ -35,7 +36,7 @@ module _3gpp-common-yang-types { revision 2022-07-26 { reference "CR-0180" ; } revision 2022-02-09 { reference "CR-0144"; } revision 2021-11-01 { reference "CR-0141"; } - + revision 2021-09-30 { description "Added Longitude, Latitude, TenthOfDegrees, OnOff."; reference "CR-0138"; @@ -50,7 +51,7 @@ module _3gpp-common-yang-types { description "Removed faulty when statements."; reference "SP-200229"; } - + revision 2019-10-25 { description "Added ManagedNFProfile."; reference "S5-194457"; @@ -71,55 +72,43 @@ module _3gpp-common-yang-types { enum ENABLED ; } } - + grouping nameValuePair { leaf name { type string; } leaf value { type string; } } - typedef DayOfWeekT { - type enumeration { - enum Monday; - enum Tuesday; - enum Wednesday; - enum Thursday; - enum Friday; - enum Saturday; - enum Sunday; - } - } - typedef DayOfWeek { type enumeration { enum MONDAY; enum TUESDAY; enum WEDNESDAY; - enum THURSADY; + enum THURSDAY; enum FRIDAY; enum SATURDAY; enum SUNDAY; } } - + typedef DateMonth { type uint8 { range 0..12; } } - + typedef DateMonthDay { type uint8 { range 0..31; } } - + typedef FullTime { type yang:time-with-zone-offset; } - + grouping DayInYearGrp { description "This <> represents a day in a year."; - + leaf month { description "It indicates the month in a year."; type DateMonth; @@ -142,85 +131,85 @@ module _3gpp-common-yang-types { type yang:date-and-time; yext3gpp:inVariant; } - } - + } + grouping ProcessMonitorGrp { - description "Provides attributes to monitor the progress of processes - with specific purpose and limited lifetime running on MnS producers. - It may be used as data type for dedicated progress monitor attributes - when specifying the management representation of these processes. - The attributes in this clause are defined in a generic way. - For some attributes specialisations may be provided when specifying a + description "Provides attributes to monitor the progress of processes + with specific purpose and limited lifetime running on MnS producers. + It may be used as data type for dedicated progress monitor attributes + when specifying the management representation of these processes. + The attributes in this clause are defined in a generic way. + For some attributes specialisations may be provided when specifying a concrete process representation. - If a management operation on some IOCs triggers an associated - asynchronous process (whose progress shall be monitored), this should - also result in creating an attribute named 'processMonitor' (of type - 'ProcessMonitor') in these IOC(s). The processMonitor attribute may be + If a management operation on some IOCs triggers an associated + asynchronous process (whose progress shall be monitored), this should + also result in creating an attribute named 'processMonitor' (of type + 'ProcessMonitor') in these IOC(s). The processMonitor attribute may be accompanied by use-case specific additional data items. - The progress of the process is described by the 'status' and - 'progressPercentage' attributes. Additional textual qualifications for - the 'status' attribute may be provided by the 'progressStateInfo' and + The progress of the process is described by the 'status' and + 'progressPercentage' attributes. Additional textual qualifications for + the 'status' attribute may be provided by the 'progressStateInfo' and 'resultStateInfo' attributes. - When the process is instantiated, the 'status' is set to 'NOT_RUNNING' - and the 'progressPercentage' to '0'. The MnS producer decides when to - start executing the process and to transition into the 'RUNNING' state. - This time is captured in the 'startTime' attribute. Alternatively, the - process may start to execute directly upon its instantiation. One + When the process is instantiated, the 'status' is set to 'NOT_STARTED' + and the 'progressPercentage' to '0'. The MnS producer decides when to + start executing the process and to transition into the 'RUNNING' state. + This time is captured in the 'startTime' attribute. Alternatively, the + process may start to execute directly upon its instantiation. One alternative must be selected when using this data type. - During the 'RUNNING' state the 'progressPercentage' attribute may be - repeatedly updated. The exact semantic of this attribute is subject to - further specialisation. The 'progressInfo' attribute may be used to - provide additional textual information in the 'NOT_RUNNING', 'CANCELLING' - and 'RUNNING' states. Further specialisation of - 'progressStateInfo' may be provided where this data type is + During the 'RUNNING' state the 'progressPercentage' attribute may be + repeatedly updated. The exact semantic of this attribute is subject to + further specialisation. The 'progressInfo' attribute may be used to + provide additional textual information in the 'NOT_STARTED', 'CANCELLING' + and 'RUNNING' states. Further specialisation of + 'progressStateInfo' may be provided where this data type is used. - Upon successful completion of the process, the 'status' attribute is set - to 'FINISHED', the 'progressPercentage' to 100%. The time is captured in - the 'endTime' attribute. Additional textual information may be provided - in the 'resultStateInfo' attribute. The type of - 'resultStateInfo' in this data type definition is 'String'. - Further specialisation of 'resultStateInfo' may be provided + Upon successful completion of the process, the 'status' attribute is set + to 'FINISHED', the 'progressPercentage' to 100%. The time is captured in + the 'endTime' attribute. Additional textual information may be provided + in the 'resultStateInfo' attribute. The type of + 'resultStateInfo' in this data type definition is 'String'. + Further specialisation of 'resultStateInfo' may be provided where this data type is used. - In case the process fails to complete successfully, the 'status' - attribute is set to 'FAILED' or 'PARTIALLY_FAILED', the current value of - 'progressPercentage' is frozen, and the time captured in 'endTime'. The - 'resultStateInfo' specifies the reason for the failure. - Specific failure reasons may be specified where the data type defined in - this clause is used. The exact semantic of failure may be subject for + In case the process fails to complete successfully, the 'status' + attribute is set to 'FAILED' or 'PARTIALLY_FAILED', the current value of + 'progressPercentage' is frozen, and the time captured in 'endTime'. The + 'resultStateInfo' specifies the reason for the failure. + Specific failure reasons may be specified where the data type defined in + this clause is used. The exact semantic of failure may be subject for further specialisation as well. - In case the process is cancelled, the 'status' attribute is first set to - 'CANCELLING' and when the process is really cancelled then to 'CANCELLED'. - The transition to 'CANCELLED' is captured in the 'endTime' attribute. - The value of 'progressPercentage' is frozen. Additional textual + In case the process is cancelled, the 'status' attribute is first set to + 'CANCELLING' and when the process is really cancelled then to 'CANCELLED'. + The transition to 'CANCELLED' is captured in the 'endTime' attribute. + The value of 'progressPercentage' is frozen. Additional textual information may be provided in the 'resultStateInfo' attribute. - The 'resultStateInfo' attribute is provided only for additional textual - qualification of the states 'FINISHED', 'FAILED', 'PARTIALLY_FAILED' or - 'CANCELLED'. It shall not be used for making the outcome, that the + The 'resultStateInfo' attribute is provided only for additional textual + qualification of the states 'FINISHED', 'FAILED', 'PARTIALLY_FAILED' or + 'CANCELLED'. It shall not be used for making the outcome, that the process may produce in case of success, available. - The process may have to be completed within a certain time after its - creation, for example because required data may not be available any - more after a certain time, or the process outcome is needed until a - certain time and when not provided by this time is not needed any more. - The time until the MnS producer automatically cancels the process is + The process may have to be completed within a certain time after its + creation, for example because required data may not be available any + more after a certain time, or the process outcome is needed until a + certain time and when not provided by this time is not needed any more. + The time until the MnS producer automatically cancels the process is indicated by the 'timer' attribute."; - + leaf id { type string; mandatory true; - description "Id of the process. It is unique within a single + description "Id of the process. It is unique within a single multivalue attribute of type ProcessMonitor."; } - - leaf status { + + leaf status { type enumeration { enum NOT_STARTED ; enum RUNNING ; @@ -232,9 +221,9 @@ module _3gpp-common-yang-types { } config false; default RUNNING; - description "Represents the status of the associated process, - whether it fails, succeeds etc. - It does not represent the returned values of a successfully finished + description "Represents the status of the associated process, + whether it fails, succeeds etc. + It does not represent the returned values of a successfully finished process. "; } @@ -249,44 +238,44 @@ module _3gpp-common-yang-types { leaf-list progressStateInfo { type string; config false; - description "Additional textual qualification of the states + description "Additional textual qualification of the states 'NOT_STARTED', 'CANCELLING' and 'RUNNING'. - For specific processes, specific well-defined strings (e.g. string + For specific processes, specific well-defined strings (e.g. string patterns or enums) may be defined as a specialisation."; } leaf resultStateInfo { type string; config false; - description "Additional textual qualification of the states - 'FINISHED', 'FAILED', 'PARTIALLY_FAILED and 'CANCELLED'. - For example, in the 'FAILED' or 'PARTIALLY_FAILED' state this + description "Additional textual qualification of the states + 'FINISHED', 'FAILED', 'PARTIALLY_FAILED and 'CANCELLED'. + For example, in the 'FAILED' or 'PARTIALLY_FAILED' state this attribute may be used to provide error reasons. - This attribute shall not be used to make the outcome of the process - available for retrieval, if any. For this purpose, dedicated - attributes shall be specified when specifying the representation of + This attribute shall not be used to make the outcome of the process + available for retrieval, if any. For this purpose, dedicated + attributes shall be specified when specifying the representation of a specific process. - For specific processes, specific well-defined strings (e.g. string + For specific processes, specific well-defined strings (e.g. string patterns or enums) may be defined as a specialisation."; } leaf startTime { type yang:date-and-time; config false; - description "Start time of the associated process, i.e. the time when the + description "Start time of the associated process, i.e. the time when the status changed from 'NOT_STARTED' to 'RUNNING'."; } leaf endTime { type yang:date-and-time; config false; - description "Date and time when status changed to 'SUCCESS', 'CANCELLED', - 'FAILED' or 'PARTIALLY_FAILED'. + description "Date and time when status changed to 'SUCCESS', 'CANCELLED', + 'FAILED' or 'PARTIALLY_FAILED'. - If the time is in the future, it is the estimated time + If the time is in the future, it is the estimated time the process will end."; } @@ -294,42 +283,75 @@ module _3gpp-common-yang-types { type uint32; units minutes; description "Time until the associated process is automatically cancelled. - If set, the system decreases the timer with time. When it reaches zero - the cancellation of the associated process is initiated by the - MnS_Producer. + If set, the system decreases the timer with time. When it reaches zero + the cancellation of the associated process is initiated by the + MnS_Producer. If not set, there is no time limit for the process. - - Once the timer is set, the consumer can not change it anymore. + + 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; } } + + + typedef EutraCellId { + type string { + pattern '^[A-Fa-f0-9]{7}$'; + } + description "28-bit string identifying an E-UTRA Cell Id + as specified in clause 9.3.1.9 of 3GPP TS 38.413 + in hexadecimal representation. Each character in the + string shall take a value of '0' to '9', 'a' to 'f' + or 'A' to 'F' and shall represent 4 bits. + The most significant character representing the 4 most + significant bits of the Cell Id shall appear first in the + string, and the character representing the 4 least + significant bit of the Cell Id shall appear last in the + string."; + } + + typedef NrCellId { + type string { + pattern '^[A-Fa-f0-9]{9}$'; + } + description "36-bit string identifying an NR Cell Id + as specified in clause 9.3.1.7 of 3GPP TS 38.413 + in hexadecimal representation. Each character in the + string shall take a value of '0' to '9', 'a' to 'f' + or 'A' to 'F' and shall represent 4 bits. + The most significant character representing the 4 most + significant bits of the Cell Id shall appear first in the + string, and the character representing the 4 least + significant bit of the Cell Id shall appear last in the + string."; + } grouping NpnIdGrp { - description "Represents the NPN supported by the <> using this - <> as one of its attributes in case of the cell is a + description "Represents the NPN supported by the <> using this + <> as one of its attributes in case of the cell is a NPN-only cell."; - + list plmnId { key "mcc mnc"; min-elements 1; description "It specifies the PLMN Id of the NPN network."; uses types3gpp:PLMNId; } - + choice npnidChoice { leaf-list cAGIdList { - type string; + type CagId; max-elements 256; - description "It identifies a CAG list containing up to 12 - CAG-identifiers per Ue or up to 12 CAG-identifiers per cell, + description "It identifies a CAG list containing up to 12 + CAG-identifiers per Ue or up to 12 CAG-identifiers per cell, see TS 38.331. CAG ID is used to combine with PLMN ID to identify a PNI-NPN.CAG ID is a hexadecimal range with size 32 bit"; } - + leaf-list nIDList { - type string; + type Nid; max-elements 16; description "It identifies a list of NIDs containing up to 16 NIDs, see TS 38.331. NID is used to combine with PLMN ID to identify an SNPN. @@ -337,20 +359,20 @@ module _3gpp-common-yang-types { } } } - - typedef TenthOfDegrees { - type uint16 { - range 0..3600; + + typedef TenthOfDegrees { + type uint16 { + range 0..3600; } units "0.1 degrees"; - description "A single integral value corresponding to an angle in degrees + description "A single integral value corresponding to an angle in degrees between 0 and 360 with a resolution of 0.1 degrees."; } typedef Latitude { type decimal64 { fraction-digits 4; - range "-90.0000..+90.0000"; + range "-90.0000..+90.0000"; } description "Latitude values"; } @@ -358,7 +380,7 @@ module _3gpp-common-yang-types { typedef Longitude { type decimal64 { fraction-digits 4; - range "-180.0000..+180.0000"; + range "-180.0000..+180.0000"; } description "Longitude values"; } @@ -369,22 +391,22 @@ module _3gpp-common-yang-types { } units "meters"; description - "Height from a reference 0 value."; + "Height from a reference 0 value."; } grouping GeographicalCoordinates { description "This datatype represents the geographical coordinates"; reference "3GPP TS 28.538 clause 6.3.8"; - + leaf latitude { type Latitude; - mandatory true; + mandatory true; } - + leaf longitude { type Longitude; - mandatory true; - } + mandatory true; + } } typedef OnOff { @@ -393,116 +415,20 @@ module _3gpp-common-yang-types { enum OFF; } } - - // grouping ManagedNFProfile will be removed as it is - // being moved to _3gpp-5gc-nrm-nfprofile - grouping ManagedNFProfile { - description "Defines profile for managed NF"; - reference "3GPP TS 23.501"; - - leaf idx { type uint32 ; } - - leaf nfInstanceId { - config false; - mandatory true; - type yang:uuid ; - description "This parameter defines profile for managed NF. - The format of the NF Instance ID shall be a - Universally Unique Identifier (UUID) version 4, - as described in IETF RFC 4122 " ; - yext3gpp:inVariant; - } - - leaf-list nfType { - config false; - min-elements 1; - type NfType; - description "Type of the Network Function" ; - } - - leaf hostAddr { - mandatory true; - type inet:host ; - description "Host address of a NF"; - } - - leaf authzInfo { - type string ; - description "This parameter defines NF Specific Service authorization - information. It shall include the NF type (s) and NF realms/origins - allowed to consume NF Service(s) of NF Service Producer."; - reference "See TS 23.501" ; - } - - leaf location { - type string ; - description "Information about the location of the NF instance - (e.g. geographic location, data center) defined by operator"; - reference "TS 29.510" ; - } - - leaf capacity { - mandatory true; - type uint16 ; - description "This parameter defines static capacity information - in the range of 0-65535, expressed as a weight relative to other - NF instances of the same type; if capacity is also present in the - nfServiceList parameters, those will have precedence over this value."; - reference "TS 29.510" ; - } - - leaf nFSrvGroupId { - type string ; - description "This parameter defines identity of the group that is - served by the NF instance. - May be config false or true depending on the ManagedFunction. - Config=true for Udrinfo. Config=false for UdmInfo and AusfInfo. - Shall be present if ../nfType = UDM or AUSF or UDR. "; - reference "TS 29.510" ; - } - - leaf-list supportedDataSetIds { - type enumeration { - enum SUBSCRIPTION; - enum POLICY; - enum EXPOSURE; - enum APPLICATION; - } - description "List of supported data sets in the UDR instance. - May be present if ../nfType = UDR"; - reference "TS 29.510" ; - } - - leaf-list smfServingAreas { - type string ; - description "Defines the SMF service area(s) the UPF can serve. - Shall be present if ../nfType = UPF"; - reference "TS 29.510" ; - } - - leaf priority { - type uint16; - description "This parameter defines Priority (relative to other NFs - of the same type) in the range of 0-65535, to be used for NF selection; - lower values indicate a higher priority. If priority is also present - in the nfServiceList parameters, those will have precedence over - this value. Shall be present if ../nfType = AMF "; - reference "TS 29.510" ; - } - } - + + typedef usageState { type enumeration { enum IDLE; enum ACTIVE; enum BUSY; } - description "It describes whether or not the resource is actively in - use at a specific instant, and if so, whether or not it has spare + description "It describes whether or not the resource is actively in + use at a specific instant, and if so, whether or not it has spare capacity for additional users at that instant. The value is READ-ONLY."; reference "ITU T Recommendation X.731"; } - + grouping SAPGrp { leaf host { type inet:host; @@ -515,10 +441,10 @@ module _3gpp-common-yang-types { description "Service access point."; reference "TS 28.622"; } - + typedef Mcc { - description "The mobile country code consists of three decimal digits, - The first digit of the mobile country code identifies the geographic + description "The mobile country code consists of three decimal digits, + The first digit of the mobile country code identifies the geographic region (the digits 1 and 8 are not used):"; type string { pattern '[02-79][0-9][0-9]'; @@ -527,7 +453,7 @@ module _3gpp-common-yang-types { } typedef Mnc { - description "The mobile network code consists of two or three + description "The mobile network code consists of two or three decimal digits (for example: MNC of 001 is not the same as MNC of 01)"; type string { pattern '[0-9][0-9][0-9]|[0-9][0-9]'; @@ -546,10 +472,10 @@ module _3gpp-common-yang-types { } reference "TS 38.413 clause 9.3.3.5"; } - + typedef Nci { - description "NR Cell Identity. The NCI shall be of fixed length of 36 bits - and shall be coded using full hexadecimal representation. + description "NR Cell Identity. The NCI shall be of fixed length of 36 bits + and shall be coded using full hexadecimal representation. The exact coding of the NCI is the responsibility of each PLMN operator"; reference "TS 23.003"; type union { @@ -563,7 +489,7 @@ module _3gpp-common-yang-types { } } } - + typedef OperationalState { reference "3GPP TS 28.625 and ITU-T X.731"; type enumeration { @@ -579,7 +505,7 @@ module _3gpp-common-yang-types { } } - + typedef BasicAdministrativeState { reference "3GPP TS 28.625 and ITU-T X.731"; type enumeration { @@ -597,7 +523,7 @@ module _3gpp-common-yang-types { } } } - + typedef AdministrativeState { reference "3GPP TS 28.625 and ITU-T X.731"; type enumeration { @@ -618,32 +544,32 @@ module _3gpp-common-yang-types { value 2; description "Use of the resource is administratively permitted to existing instances of use only. While the system remains in - the shutting down state the manager or the managed element - may at any time cause the resource to transition to the + the shutting down state the manager or the managed element + may at any time cause the resource to transition to the locked state."; } } } - + typedef AvailabilityStatus { type enumeration { enum IN_TEST; - enum FAILED; - enum POWER_OFF; - enum OFF_LINE; - enum OFF_DUTY; - enum DEPENDENCY; - enum DEGRADED; - enum NOT_INSTALLED; - enum LOG_FULL; + enum FAILED; + enum POWER_OFF; + enum OFF_LINE; + enum OFF_DUTY; + enum DEPENDENCY; + enum DEGRADED; + enum NOT_INSTALLED; + enum LOG_FULL; } } - + typedef CellState { type enumeration { enum IDLE; - enum INACTIVE; - enum ACTIVE; + enum INACTIVE; + enum ACTIVE; } } @@ -658,13 +584,13 @@ module _3gpp-common-yang-types { pattern "([A-Fa-f0-9]{4})|([A-Fa-f0-9]{6})" ; } description "Tracking Area Code - 2 or 3-octet string identifying a tracking area code as specified in - clause 9.3.3.10 of 3GPP TS 38.413 [34], in hexadecimal representation. - Each character in the string shall take a value of - '0' to '9', 'a' to 'f' or 'A' to 'F' and shall represent 4 bits. - The most significant character representing the 4 most significant - bits of the TAC shall appear first in the string, and the character - representing the 4 least significant bit of the TAC shall appear last + 2 or 3-octet string identifying a tracking area code as specified in + clause 9.3.3.10 of 3GPP TS 38.413 [34], in hexadecimal representation. + Each character in the string shall take a value of + '0' to '9', 'a' to 'f' or 'A' to 'F' and shall represent 4 bits. + The most significant character representing the 4 most significant + bits of the TAC shall appear first in the string, and the character + representing the 4 least significant bit of the TAC shall appear last in the string. pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' @@ -676,10 +602,10 @@ module _3gpp-common-yang-types { } grouping TaiGrp { - description "This <> defines a Tracking Area Identity (TAI) - as specified in clause 28.6 of TS 23.003, clause 8.2 of TS 38.300 - and clause 9.3.3.11 of TS 38.413. It is composed of the PLMN - identifier (PLMN-Id, which is composed of the MCC and MNC) and + description "This <> defines a Tracking Area Identity (TAI) + as specified in clause 28.6 of TS 23.003, clause 8.2 of TS 38.300 + and clause 9.3.3.11 of TS 38.413. It is composed of the PLMN + identifier (PLMN-Id, which is composed of the MCC and MNC) and the Tracking Area Code (TAC)."; list plmnId { description "PLMN Identity."; @@ -688,61 +614,61 @@ module _3gpp-common-yang-types { key "mcc mnc"; uses types3gpp:PLMNId; } - - leaf tac { + + leaf tac { type Tac; mandatory true; description "Tracking Area Code"; } } - + grouping GeoCoordinateGrp { - description "Geographical location on earth"; + description "Geographical location on earth"; leaf latitude { type decimal64 { fraction-digits 4; range -90..90 ; } mandatory true; - description "Latitude based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to the + description "Latitude based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to the northern hemisphere."; } - + leaf longitude { type decimal64 { fraction-digits 4; range -180..180 ; } mandatory true; - description "Longitude based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to + description "Longitude based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to degrees east of 0 degrees longitude."; } - + leaf altitude { type Altitude; } } - + grouping GeoAreaGrp { - description "This data type defines a geographical area. - The geo-area is defined using a convex polygon in the attribute + description "This data type defines a geographical area. + The geo-area is defined using a convex polygon in the attribute 'geoPolygon'."; - + list geoPolygon { - description "Specifies the geographical area with a convex polygon. + description "Specifies the geographical area with a convex polygon. The convex polygon is specified by its corners."; key "latitude longitude"; min-elements 3; ordered-by user; - + uses GeoCoordinateGrp; } } - + typedef AmfRegionId { - type union { + type union { type uint8 ; type string { length 8; @@ -753,7 +679,7 @@ module _3gpp-common-yang-types { } typedef AmfSetId { - type union { + type union { type uint16 { range '0..1023'; } @@ -766,7 +692,7 @@ module _3gpp-common-yang-types { } typedef AmfPointer { - type union { + type union { type uint8 { range '0..63'; } @@ -777,8 +703,8 @@ module _3gpp-common-yang-types { } reference "clause 2.10.1 of 3GPP TS 23.003"; } - - grouping AmfIdentifier { + + grouping AmfIdentifier { leaf amfRegionId { type AmfRegionId; } @@ -787,13 +713,13 @@ module _3gpp-common-yang-types { } leaf amfPointer { type AmfPointer; - } - description "The AMFI is constructed from an AMF Region ID, - an AMF Set ID and an AMF Pointer. - The AMF Region ID identifies the region, - the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and - the AMF Pointer uniquely identifies the AMF within the AMF Set. "; - } + } + description "The AMFI is constructed from an AMF Region ID, + an AMF Set ID and an AMF Pointer. + The AMF Region ID identifies the region, + the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and + the AMF Pointer uniquely identifies the AMF within the AMF Set. "; + } // type definitions especially for core NFs @@ -819,17 +745,17 @@ module _3gpp-common-yang-types { enum UDSF; enum BSF; enum CHF; - } + } } - + typedef NotificationType { type enumeration { enum N1_MESSAGES; enum N2_INFORMATION; enum LOCATION_NOTIFICATION; - } + } } - + typedef Load { description "Latest known load information of the NF, percentage "; type uint8 { @@ -842,10 +768,10 @@ module _3gpp-common-yang-types { enum 5GMM; enum SM; enum LPP; - enum SMS; - } + enum SMS; + } } - + typedef N2InformationClass { type enumeration { enum SM; @@ -853,35 +779,35 @@ module _3gpp-common-yang-types { enum PWS; enum PWS_BCAL; enum PWS_RF; - } + } } - + grouping DefaultNotificationSubscription { - + leaf notificationType { type NotificationType; } - + leaf callbackUri { type inet:uri; } - + leaf interPlmnCallbackUri { - description "It indicates the callback URI to be used by NF Service - Producers located in PLMNs that are different from the PLMN of + description "It indicates the callback URI to be used by NF Service + Producers located in PLMNs that are different from the PLMN of the NF consumer."; type inet:uri; - } + } leaf n1MessageClass { type N1MessageClass; } - + leaf n2InformationClass { type N2InformationClass; - } + } leaf versions { - description "This attribute identifies the API versions + description "This attribute identifies the API versions (e.g. v1) supported for the default notification type"; //optional type N2InformationClass; @@ -889,15 +815,15 @@ module _3gpp-common-yang-types { leaf binding { description "This attribute shall contain the value of the Binding Indication for the default subscription notification "; - reference " i.e. the value part of 3gpp-Sbi-Binding header, as - specified in + reference " i.e. the value part of 3gpp-Sbi-Binding header, as + specified in clause 6.12.4 of 3GPP TS 29.500 76. "; //optional type string; config false; } leaf acceptedEncoding { - description "It indicates the content encodings that are accepted by a + description "It indicates the content encodings that are accepted by a NF Service Consumer when receiving a notification related to a default notification subscription"; reference "IETF RFC 9110 clause 12.5.3 "; @@ -910,54 +836,54 @@ module _3gpp-common-yang-types { corresponding to the subscribed default notification, which are supported by the NF (Service) instance acting as NF service consumer. The string shall contain a bitmask indicating supported features in hexadecimal - representation:Each character in the string shall take a value + representation:Each character in the string shall take a value of 0 to 9, a to f or A to F "; - reference "shall represent the support of 4 features as described in + reference "shall represent the support of 4 features as described in table 5.2.2-3 of TS 29.571 [61]."; //optional type string; config false; - } + } leaf serviceInfoList { - description "It indicates a list of service specific information. It may + description "It indicates a list of service specific information. It may be present when the notification request of the notification type may be - generated by multiple services, i.e. notifications from different + generated by multiple services, i.e. notifications from different services may be received by the subscription."; //optional type string; config false; - } + } leaf callbackUriPrefix { description "It indicates the optional path segment(s) used to construct the prefix of the Callback URIs during the reselection of an NF service consumer, as described in 3GPP TS 29.501"; //optional type inet:uri; - } - } - + } + } + grouping Ipv4AddressRange { leaf start { type inet:ipv4-address; } leaf end { type inet:ipv4-address; - } + } } - + grouping Ipv6PrefixRange { leaf start { type inet:ipv6-prefix; } leaf end { type inet:ipv6-prefix; - } + } } - + typedef NsiId { type string; } - + typedef UeMobilityLevel { type enumeration { enum STATIONARY; @@ -966,14 +892,14 @@ module _3gpp-common-yang-types { enum FULLY_MOBILITY; } } - + typedef ResourceSharingLevel { type enumeration { enum SHARED; enum NOT_SHARED; } } - + typedef TxDirection { type enumeration { enum DL; @@ -981,105 +907,125 @@ module _3gpp-common-yang-types { enum DL_AND_UL; } } - + grouping AddressWithVlan { leaf ipAddress { - type inet:ip-address; + type inet:ip-address; } leaf vlanId { type uint16; - } + } + } + + typedef Nid { + description "This represents the Network Identifier, which + together with a PLMN ID is used to identify a SNPN."; + type string { + pattern '^[A-Fa-f0-9]{11}$'; + } + reference "3GPP TS 23.003 and 3GPP TS 23.501 clause 5.3.2.1."; } - /* DistinguishedName pattern is built up based on the + typedef CagId { + description "This represents the identifier of a Closed Access + Group (CAG), which together with a PLMN ID is used to + identify a PNI-NPN."; + type string { + pattern '^[A-Fa-f0-9]{8}$'; + } + reference "3GPP TS 23.003 and 3GPP TS 23.501."; + } + + + /* DistinguishedName pattern is built up based on the EBNF in 32.300 clause 7.3 EBNF of DN String Representation - + leaf DN { type string { // Same pattern as LocalDN - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; } } - + leaf fullLocalDN { type string { // LocalRDN , { RDNSeparator , LocalRDN } RDNSeparator is a single , no space or \R allowed Me.mykey=1 allowed // (fullLocalRDN)(,(fullLocalRDN))* - pattern '(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?))(,(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)))*'; + pattern '(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?))(,(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)))*'; } } - + leaf LocalDN { type string { // LocalRDN , { RDNSeparator , LocalRDN } RDNSeparator is a single , no space or \R allowed // LocalRDN(,LocalRDN)* - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; } } - + leaf fullLocalRDN { type string { // same as fullLocalDNAttributeTypeAndValue - pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; + pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; } } - + leaf LocalRDN { type string { // same as LocalDNAttributeTypeAndValue - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; } } - - leaf fullLocalDNAttributeTypeAndValue { type string { // LocalDNAttributeType , AttributeTypeAndValueSeparator , RegularAttributeValue + + leaf fullLocalDNAttributeTypeAndValue { type string { // LocalDNAttributeType , AttributeTypeAndValueSeparator , RegularAttributeValue // pattern LocalDNAttributeType=RegularAttributeValue - pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; + pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; } } - + // limitation: NamesOfClassAndNamingAttributenot supported Me.mykey=1 - leaf LocalDNAttributeTypeAndValue { type string { + leaf LocalDNAttributeTypeAndValue { type string { // ebnf1 LocalDNAttributeType , AttributeTypeAndValueSeparator , RegularAttributeValue // ebnf2-limited NameOfClassWithIdAttribute , AttributeTypeAndValueSeparator , RegularAttributeValue // pattern NameOfClassWithIdAttribute=RegularAttributeValue - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; } } leaf LocalDNAttributeType { type string { // NameOfClassWithIdAttribute | NamesOfClassAndNamingAttribute RDNSeparator is a single , no space or \R allowed // NameOfClassWithIdAttribute|NamesOfClassAndNamingAttribute - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*)'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*)'; } } leaf RegularAttributeValue { type string { // ( AttributeValueChar - SpaceChar ) , [ { AttributeValueChar } , ( AttributeValueChar - SpaceChar ) ] - pattern '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?' ; + pattern '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?' ; } } - + leaf NamesOfClassAndNamingAttribute { type string { // ClassName , ClassNamingAttributeSeparator , NamingAttributeName // pattern: ClassName\.NamingAttributeName - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*' ; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*' ; } } - - leaf restrictiveClassName { type string { // - pattern '[a-zA-Z][a-zA-Z0-9-_]*' ; + + leaf restrictiveClassName { type string { // + pattern '[a-zA-Z][a-zA-Z0-9-_]*' ; } } - + leaf ClassName { type string { // CapitalLetterChar , { LocalDNAttributeTypeChar } - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*' ; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*' ; } } - + leaf NamingAttributeName { type string { // SmallLetterChar , { LocalDNAttributeTypeChar } - pattern '[a-z][^,=+<>#;\\"\r\n*.]*' ; - } } - + pattern '[a-z][^,=+<>#;\\"\r\n*.]*' ; + } } + */ - typedef DistinguishedName { + typedef DistinguishedName { type string { pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|' + '(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*' + '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?' + '(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))' + '(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*' - + '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; + + '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; } - description "Represents the 3GPP standard for DistinguishedName. - - Limitations: + description "Represents the 3GPP standard for DistinguishedName. + + Limitations: - RDNSeparator: don't allow SpaceChar or CarriageReturnChar - NullDN: Disallow nullDN that is the same as not providing a DN - - NamesOfClassAndNamingAttribute format not allowed + - NamesOfClassAndNamingAttribute format not allowed (eg. ManagedElement.mykey=345436)"; reference "3GPP TS 32.300"; - } - + } + typedef QOffsetRange { - type int8 { + type int8 { range "-24 | -22 | -20 | -18 | -16 | -14 | -12 | -10 | -8 | -6 | " + " -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | " + - " 12 | 14 | 16 | 18 | 20 | 22 | 24"; + " 12 | 14 | 16 | 18 | 20 | 22 | 24"; } units dB; } @@ -1108,8 +1054,8 @@ module _3gpp-common-yang-types { In addition, the MnS producer shall create on behalf of the MnS consumer a subscription, using 'NtfSubscriptionControl', for the notification types 'notifyMOICreation' and 'notifyMOIDeletion' related - to the 'File' instances that will be produced later. In case an - existing subscription does already include the 'File' instances to be + to the 'File' instances that will be produced later. In case an + existing subscription does already include the 'File' instances to be produced, no new subscription shall be created. The 'notificationRecipientAddress' attribute in the created 'NtfSubscriptionControl' instance shall be set to the value of the @@ -1121,12 +1067,12 @@ module _3gpp-common-yang-types { request for implicit subscription shall be deleted as well. - When only the 'fileReportingPeriod' and 'fileLocation' attributes are present (CHOICE_3), the MnS producer shall store the files at the - location specified by 'fileLocation'. The file location may identify - any entity such as a file server or a MnS consumer. The identified - MnS consumer may or may not be identical to the MnS consumer creating - the 'PerfMetricJob'. As for CHOICE_1 the MnS producer may emit + location specified by 'fileLocation'. The file location may identify + any entity such as a file server or a MnS consumer. The identified + MnS consumer may or may not be identical to the MnS consumer creating + the 'PerfMetricJob'. As for CHOICE_1 the MnS producer may emit 'notifyFileReady' and 'notifyFilePreparationError' notifications to - inform subscribers that a file has been made available at the location + inform subscribers that a file has been made available at the location specified by 'fileLocation'. - When only the streamTarget attribute is present, the MnS producer @@ -1156,7 +1102,7 @@ module _3gpp-common-yang-types { leaf fileLocation { type string ; description "Applicable and must be present when the file-based - reporting method is supported, and the files are stored on the + reporting method is supported, and the files are stored on the MnS consumer."; } } diff --git a/yang-models/_3gpp-common-antennafunction.yang b/yang-models/_3gpp-eqp-antennafunction.yang similarity index 94% rename from yang-models/_3gpp-common-antennafunction.yang rename to yang-models/_3gpp-eqp-antennafunction.yang index 330c5c7481fb565b904a5fd89f2bb4d740301b91..9a7e4bfbd53a990ea56021f11ca3703ff12e6c69 100644 --- a/yang-models/_3gpp-common-antennafunction.yang +++ b/yang-models/_3gpp-eqp-antennafunction.yang @@ -1,196 +1,197 @@ -module _3gpp-common-antennafunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-common-antennafunction"; - prefix "antfunc3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the Antenna Function Information - Object Class (IOC) that is part of the Generic Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, - TTA, TTC). All rights reserved."; - reference "3GPP TS 28.662 Generic Network Resource Model (NRM)"; - - revision 2025-05-01 { description "Initial revision"; - } - grouping AntennaFunctionGrp { - description "Represents the AntennaFunction."; - uses mf3gpp:ManagedFunctionGrp; - - leaf beamTilt { - description "The beam tilt of the wanted antenna beam - in the vertical plane. A positive value on the - beamtilt indicates an antenna beam direction below the - vertical plane."; - units degree; - type types3gpp:TenthOfDegrees; - } - - leaf bearing { - description "The bearing in degrees that the antenna is pointing in. - AllowedValues: See \"Antenna bearing\" in 3GPP TS 25.463."; - reference "3GPP TS 25.463, UTRAN Iuant interface: - Remote Electrical Tilting (RET) - antennas Application Part (RETAP) signalling"; - type types3gpp:TenthOfDegrees; - } - - leaf elevation { - description "The elevation the antenna function should have, - based on World Geodetic System (1984 version) global - reference frame (WGS 84). Positive values correspond to - meters above sea level, negative values correspond to meters - below sea level. If empty, value is not defined."; - type types3gpp:Altitude; - } - - leaf horizBeamWidth { - description "The 3 dB power beamwidth of the antenna pattern - in the horizontal plane. - A value of 360 indicates an omnidirectional antenna. - Note: The value of this attribute has no operational impact - on the network, e.g. the NE behaviour is not affected by the - value setting of this attribute. - Note as well that this attribute is not supported over the - Iuant interface according to 3GPP TS37.466. - A single integral value corresponding to an angle in degrees - between 0 and 360."; - reference "3GPP TS 37.466, Iuant interface: Application part"; - type types3gpp:TenthOfDegrees; - } - - leaf latitude { - description "Latitude of transmitter antenna position. - Positive value means north, negative value means south. - - Specification: WGS 84 - Allowed Values: { -90.000000..90.000000 }"; - units degree; - type types3gpp:Latitude; - } - - leaf longititude { - description "Longitude of transmitter antenna position. - Positive value means east, negative value means west. - Specification: WGS 84 - Allowed Values: { -180.000000..180.000000 }"; - units degree; - type types3gpp:Longitude; - } - - leaf maxAzimuthValue { - description "The maximum amount of change of azimuth the RET - system can support. This is the change in degrees clockwise - from bearing. - Note: The value of this attribute has no operational impact - on the network, e.g. the NE behaviour is not affected by the - value setting of this attribute. - Note as well that this attribute is not supported over the - Iuant interface according to Ref. 3GPP TS 37.466. - A single decimal value corresponding to an angle in degrees - between 0 and 360 with a resolution of 0.1 degrees."; - reference "3GPP TS 37.466, Iuant interface: Application part"; - units degree; - type decimal64 { - range "0..360"; - fraction-digits 1; - } - } - leaf minAzimuthValue { - description "The minimum amount of change of azimuth the RET - system can support. This is the change in degrees clockwise - from bearing. - Note: The value of this attribute has no operational impact - on the network, e.g. the NE behaviour is not affected by the - value setting of this attribute. - Note as well that this attribute is not supported over the - Iuant interface according to Ref. 3GPP TS 37.466. - A single decimal value corresponding to an angle in degrees - between 0 and 360 with a resolution of 0.1 degrees."; - reference "3GPP TS 37.466, Iuant interface: Application part"; - units degree; - type decimal64 { - range "0..360"; - fraction-digits 1; - } - } - - leaf-list referencedBy { - description "This attribute contains the DNs of one or more objects - that refer to this object. - - In the case of AntennaFunction, these referring objects may - include DNs of SectorEquipmentFunction instances if associations - between them and the AntennaFunction exist. - - Note: referencedBy is a DN datatype and so can reference an MOI - under a different ME"; - config false; - type types3gpp:DistinguishedName; - } - - - leaf retGroupName { - description "The group name is a textual, alpha-numeric string to - define a logical grouping of antennas which may be in different cells. - - This attribute permits the definition of a logical grouping - of the antennas. This may be defined either at - installation time, or by management activity"; - type string; - } - - leaf retTiltValue { - description "The electrical tilt setting of the antenna, \"Tilt value\" in - 3GPP TS 37.466."; - reference "3GPP TS 37.466, Iuant interface: Application part"; - type types3gpp:TenthOfDegrees; - } - - leaf vertBeamWidth { - description "The 3 dB power beamwidth of the antenna pattern in - the vertical plane. - The value of this attribute has no operational impact on - the network, e.g. the NE behaviour is not affected by the - value setting of this attribute. - This attribute is not supported over the Iuant interface - according to Ref. 3GPP TS 37.466."; - reference "3GPP TS 37.466, Iuant interface: Application part"; - units degree; - type uint32 { - range "0..180"; - } - } - - leaf-list theCellList { - description "This attribute contains the DNs of EUtranGenericCell - or UtranGenericCell if associations between them exist. - This attribute contains the DNs of GSMCellPart if association - between them exist. "; - config false; - status deprecated; - type types3gpp:DistinguishedName; - } - - } - - augment "/me3gpp:ManagedElement" { - - list AntennaFunction { - key id; - uses top3gpp:Top_Grp; - description "This MOI represents an array of radiating elements that - may be tilted to adjust the RF coverage of a cell(s)."; - - container attributes { - uses AntennaFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } -} +module _3gpp-eqp-antennafunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-eqp-antennafunction"; + prefix "ant3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the Antenna Function Information + Object Class (IOC) that is part of the Generic Network Resource Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2025-08-13 { reference "CR1581"; } + revision 2025-05-01 { reference "Initial revision"; + + } + grouping AntennaFunctionGrp { + description "Represents the AntennaFunction."; + uses mf3gpp:ManagedFunctionGrp; + + leaf beamTilt { + description "The beam tilt of the wanted antenna beam + in the vertical plane. A positive value on the + beamtilt indicates an antenna beam direction below the + vertical plane."; + units degree; + type types3gpp:TenthOfDegrees; + } + + leaf bearing { + description "The bearing in degrees that the antenna is pointing in. + AllowedValues: See \"Antenna bearing\" in 3GPP TS 25.463."; + reference "3GPP TS 25.463, UTRAN Iuant interface: + Remote Electrical Tilting (RET) + antennas Application Part (RETAP) signalling"; + type types3gpp:TenthOfDegrees; + } + + leaf elevation { + description "The elevation the antenna function should have, + based on World Geodetic System (1984 version) global + reference frame (WGS 84). Positive values correspond to + meters above sea level, negative values correspond to meters + below sea level. If empty, value is not defined."; + type types3gpp:Altitude; + } + + leaf horizBeamWidth { + description "The 3 dB power beamwidth of the antenna pattern + in the horizontal plane. + A value of 360 indicates an omnidirectional antenna. + Note: The value of this attribute has no operational impact + on the network, e.g. the NE behaviour is not affected by the + value setting of this attribute. + Note as well that this attribute is not supported over the + Iuant interface according to 3GPP TS37.466. + A single integral value corresponding to an angle in degrees + between 0 and 360."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + type types3gpp:TenthOfDegrees; + } + + leaf latitude { + description "Latitude of transmitter antenna position. + Positive value means north, negative value means south. + + Specification: WGS 84 + Allowed Values: { -90.000000..90.000000 }"; + units degree; + type types3gpp:Latitude; + } + + leaf longititude { + description "Longitude of transmitter antenna position. + Positive value means east, negative value means west. + Specification: WGS 84 + Allowed Values: { -180.000000..180.000000 }"; + units degree; + type types3gpp:Longitude; + } + + leaf maxAzimuthValue { + description "The maximum amount of change of azimuth the RET + system can support. This is the change in degrees clockwise + from bearing. + Note: The value of this attribute has no operational impact + on the network, e.g. the NE behaviour is not affected by the + value setting of this attribute. + Note as well that this attribute is not supported over the + Iuant interface according to Ref. 3GPP TS 37.466. + A single decimal value corresponding to an angle in degrees + between 0 and 360 with a resolution of 0.1 degrees."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + units degree; + type decimal64 { + range "0..360"; + fraction-digits 1; + } + } + leaf minAzimuthValue { + description "The minimum amount of change of azimuth the RET + system can support. This is the change in degrees clockwise + from bearing. + Note: The value of this attribute has no operational impact + on the network, e.g. the NE behaviour is not affected by the + value setting of this attribute. + Note as well that this attribute is not supported over the + Iuant interface according to Ref. 3GPP TS 37.466. + A single decimal value corresponding to an angle in degrees + between 0 and 360 with a resolution of 0.1 degrees."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + units degree; + type decimal64 { + range "0..360"; + fraction-digits 1; + } + } + + leaf-list referencedBy { + description "This attribute contains the DNs of one or more objects + that refer to this object. + + In the case of AntennaFunction, these referring objects may + include DNs of SectorEquipmentFunction instances if associations + between them and the AntennaFunction exist. + + Note: referencedBy is a DN datatype and so can reference an MOI + under a different ME"; + config false; + type types3gpp:DistinguishedName; + } + + + leaf retGroupName { + description "The group name is a textual, alpha-numeric string to + define a logical grouping of antennas which may be in different cells. + + This attribute permits the definition of a logical grouping + of the antennas. This may be defined either at + installation time, or by management activity"; + type string; + } + + leaf retTiltValue { + description "The electrical tilt setting of the antenna, \"Tilt value\" in + 3GPP TS 37.466."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + type types3gpp:TenthOfDegrees; + } + + leaf vertBeamWidth { + description "The 3 dB power beamwidth of the antenna pattern in + the vertical plane. + The value of this attribute has no operational impact on + the network, e.g. the NE behaviour is not affected by the + value setting of this attribute. + This attribute is not supported over the Iuant interface + according to Ref. 3GPP TS 37.466."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + units degree; + type uint32 { + range "0..180"; + } + } + + leaf-list theCellList { + description "This attribute contains the DNs of EUtranGenericCell + or UtranGenericCell if associations between them exist. + This attribute contains the DNs of GSMCellPart if association + between them exist. "; + config false; + status deprecated; + type types3gpp:DistinguishedName; + } + + } + + augment "/me3gpp:ManagedElement" { + + list AntennaFunction { + key id; + uses top3gpp:Top_Grp; + description "This MOI represents an array of radiating elements that + may be tilted to adjust the RF coverage of a cell(s)."; + container attributes { + uses AntennaFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} diff --git a/yang-models/_3gpp-common-sectorequipmentfunction.yang b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang similarity index 84% rename from yang-models/_3gpp-common-sectorequipmentfunction.yang rename to yang-models/_3gpp-eqp-sectorequipmentfunction.yang index 985e77639651d6e8da9043a0d0ed30132c1a11ab..a21d4173fc5b10ed50ad054fc8e7fb995febfbab 100644 --- a/yang-models/_3gpp-common-sectorequipmentfunction.yang +++ b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang @@ -1,88 +1,84 @@ -module _3gpp-common-sectorequipmentfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-common-sectorequipmentfunction"; - prefix "scteqpfun3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the Sector Equipment Function - Information Object Class (IOC) that is part of the Generic Network Resource - Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, - TTA, TTC). All rights reserved."; - reference "3GPP TS 28.662 Generic Network Resource Model (NRM)"; - - revision 2025-05-01 { description "Initial revision"; } - - grouping SectorEquipmentFunctionGrp { - description "Represents the SectorEquipmentFunction."; - uses mf3gpp:ManagedFunctionGrp; - - leaf confOutputPower { - description "It defines the allowed total power to use for all - cells together in this sector. - It may be set by the operator and/or limited by HW limitation - or licensed power, e.g.: 20, 40, 60, 80,120 watts"; - type uint32; - } - - leaf-list fqBandList { - description "The list of frequency bands/ranges supported by the - hardware associated with the SectorEquipmentFunction. The - earfcnDl and earfcnUl or earfcn of cells associated with the - SectorEquipmentFunction must be assigned one of the specified - frequency range values within the supported range. - - Valid frequency bands/ranges may be found in 3GPP TS 25.104 (UTRA), - 36.104 (E-UTRA) and 38.104 (NR). - - AllowedValues: - Operating band id or supported frequency tuple - expressed as a string. - - Examples for NR: - Bands: {'n1', 'n12'} - Frequencies: {'1920–1980, 2110–2170, FDD', '699–716, 729–746, FDD'}"; - config false; - type string; - } - - leaf-list referencedBy { - description "This attribute contains the DNs of one or more objects - that refer to this object. - - In the case of SectorEquipmentFunction , these referring objects - may include Cells, NRSectorCarriers if associations between them - and the SectorEquipmentFunction exist. - - Note: referencedBy is a DN datatype and so can reference an MOI - under a different ME"; - config false; - type types3gpp:DistinguishedName; - } - } - - augment "/me3gpp:ManagedElement" { - list SectorEquipmentFunction { - key id; - uses top3gpp:Top_Grp; - description "This IOC represents a set of cells within a geographical - area that has common functions relating to AntennaFunction, TMAFunction - and supporting equipment, such as power amplifier."; - - must 'id != ""' { - error-message "Empty id value is not allowed."; - } - - container attributes { - uses SectorEquipmentFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } -} +module _3gpp-eqp-sectorequipmentfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-eqp-sectorequipmentfunction"; + prefix "scteqp3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the Sector Equipment Function + Information Object Class (IOC) that is part of the Generic Network Resource + Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2025-08-13 { reference "CR1581"; } + revision 2025-05-01 { reference "Initial revision"; } + + grouping SectorEquipmentFunctionGrp { + description "Represents the SectorEquipmentFunction."; + uses mf3gpp:ManagedFunctionGrp; + + leaf confOutputPower { + description "It defines the allowed total power to use for all + cells together in this sector. + It may be set by the operator and/or limited by HW limitation + or licensed power, e.g.: 20, 40, 60, 80,120 watts"; + type uint32; + } + + leaf-list fqBandList { + description "The list of frequency bands/ranges supported by the + hardware associated with the SectorEquipmentFunction. The + earfcnDl and earfcnUl or earfcn of cells associated with the + SectorEquipmentFunction must be assigned one of the specified + frequency range values within the supported range. + + Valid frequency bands/ranges may be found in 3GPP TS 25.104 (UTRA), + 36.104 (E-UTRA) and 38.104 (NR). + + AllowedValues: + Operating band id or supported frequency tuple + expressed as a string. + + Examples for NR: + Bands: {'n1', 'n12'} + Frequencies: {'1920–1980, 2110–2170, FDD', '699–716, 729–746, FDD'}"; + config false; + type string; + } + + leaf-list referencedBy { + description "This attribute contains the DNs of one or more objects + that refer to this object. + + In the case of SectorEquipmentFunction , these referring objects + may include Cells, NRSectorCarriers if associations between them + and the SectorEquipmentFunction exist. + + Note: referencedBy is a DN datatype and so can reference an MOI + under a different ME"; + config false; + type types3gpp:DistinguishedName; + } + } + + augment "/me3gpp:ManagedElement" { + list SectorEquipmentFunction { + key id; + uses top3gpp:Top_Grp; + description "This IOC represents a set of cells within a geographical + area that has common functions relating to AntennaFunction, TMAFunction + and supporting equipment, such as power amplifier."; + container attributes { + uses SectorEquipmentFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang index 2e1e5bbaaa072d4935e52545b70639b18c9bab06..f3cd369a699ff709ca336ee3fe73f1f3cba20f00 100755 --- a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang +++ b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang @@ -29,7 +29,7 @@ module _3gpp-nr-nrm-desmanagementfunction { description "Represents the the traffic load threshold and the time duration."; - leaf loadThreshold { + leaf threshold { description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; type type5g3gpp:EnergySavingLoadThresholdT; @@ -57,7 +57,7 @@ module _3gpp-nr-nrm-desmanagementfunction { cell. This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms to allow a cell to enter the energySaving state."; - key loadThreshold; + key threshold; min-elements 1; max-elements 1; uses loadTimeThresholdGrp; @@ -67,7 +67,7 @@ module _3gpp-nr-nrm-desmanagementfunction { description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms level to allow an 'original' cell to enter the energySaving state."; - key loadThreshold; + key threshold; min-elements 1; max-elements 1; uses loadTimeThresholdGrp; @@ -78,7 +78,7 @@ module _3gpp-nr-nrm-desmanagementfunction { cell.This attribute indicates the traffic load threshold and the time duration which is used by distributed ES algorithms to allow a cell to leave the energySaving state."; - key loadThreshold; + key threshold; min-elements 1; max-elements 1; uses loadTimeThresholdGrp; @@ -99,7 +99,7 @@ module _3gpp-nr-nrm-desmanagementfunction { description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; - key loadThreshold; + key threshold; min-elements 1; max-elements 1; uses loadTimeThresholdGrp; @@ -109,7 +109,7 @@ module _3gpp-nr-nrm-desmanagementfunction { description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; - key loadThreshold; + key threshold; min-elements 1; max-elements 1; uses loadTimeThresholdGrp; @@ -119,7 +119,7 @@ module _3gpp-nr-nrm-desmanagementfunction { description "This attribute indicates the traffic load threshold and the time duration which is used by distributed inter-RAT ES algorithms to allow an original cell to leave the energySaving state."; - key loadThreshold; + key threshold; min-elements 1; max-elements 1; uses loadTimeThresholdGrp; diff --git a/yang-models/_3gpp-nr-nrm-ecmappingrule.yang b/yang-models/_3gpp-nr-nrm-ecmappingrule.yang index 00f44bc9af4f03fc2c6ab65b265e55d97db05d15..629b5dee59e84cc154718358e36c1b37cb41a486 100644 --- a/yang-models/_3gpp-nr-nrm-ecmappingrule.yang +++ b/yang-models/_3gpp-nr-nrm-ecmappingrule.yang @@ -2,40 +2,40 @@ module _3gpp-nr-nrm-ecmappingrule { yang-version 1.1; namespace urn:3gpp:sa5:_3gpp-nr-nrm-ecmappingrule; prefix ecmap3gpp; - + import _3gpp-common-top { prefix top3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the unified mapping rule input to support Energy Cost Index Mapping when Energy Cost Reporting. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 - revision 2024-08-12 { reference "CR-1336 CR-1337"; } - + revision 2024-08-12 { reference "CR-1336 CR-1337"; } + grouping NRECMappingRuleGrp { - description "Represents the unified mapping rule to support Energy Cost Mapping - when Energy Cost Reporting is supported. Can be name-contained by SubNetwork + description "Represents the unified mapping rule to support Energy Cost Mapping + when Energy Cost Reporting is supported. Can be name-contained by SubNetwork or ManagedElement. It applies to all ManagedEntity contained by the parent."; leaf eCMRInputMinValue { type uint8; - description "The minimum value of to be applied + description "The minimum value of to be applied for mapping from this attribute to the energy cost."; } - + leaf eCMRInputMaxValue { type uint8; - description "The maximum value of to be applied - for mapping from this attribute to the energy cost."; + description "The maximum value of to be applied + for mapping from this attribute to the energy cost."; } leaf eCTimeInterval { type uint8; - description "Time interval (in seconds) that - should be applied for collecting values of mapping + description "Time interval (in seconds) that + should be applied for collecting values of mapping rule attribute to be used for computing the energy cost."; units seconds; } @@ -44,18 +44,18 @@ module _3gpp-nr-nrm-ecmappingrule { grouping NRECMappingRuleSubtree { description "Helps augmenting NRECMappingRule into multiple places."; list NRECMappingRule { - description "Represents the unified mapping rule, applicable for the - group of gNBs (within a certain area), for the calculation of the - energy cost (see TS 34.423). - - NRECMappingRule can be name-contained by SubNetwork or ManagedElement. + description "Represents the unified mapping rule, applicable for the + group of gNBs (within a certain area), for the calculation of the + energy cost (see TS 34.423). + + NRECMappingRule can be name-contained by SubNetwork or ManagedElement. It applies to all ManagedEntity contained by the parent."; key id; uses top3gpp:Top_Grp; min-elements 1; max-elements 1; container attributes { - uses NRECMappingRuleGrp; + uses NRECMappingRuleGrp; } } } diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index d776bf37aff7067d22731231058764c85e894c08..e2940624d4f11b192580384aeb0aee56b4edde12 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -2,7 +2,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbcucpfunction"; prefix "gnbcucp3gpp"; - + import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } @@ -14,9 +14,9 @@ module _3gpp-nr-nrm-gnbcucpfunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the GNBCUCPFunction Information + description "Defines the YANG mapping of the GNBCUCPFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; @@ -24,14 +24,14 @@ module _3gpp-nr-nrm-gnbcucpfunction { revision 2025-05-07 { reference "CR-1548"; } revision 2025-03-25 { reference "CR-1509"; } revision 2025-01-25 { reference "CR-1442"; } - revision 2024-11-07 { reference "CR-1443"; } - revision 2024-08-19 { reference "CR-1405"; } - revision 2024-08-19 { reference "CR-1337 CR-1352"; } - revision 2024-05-24 { reference CR-1273 ; } + revision 2024-11-07 { reference "CR-1443"; } + revision 2024-08-19 { reference "CR-1405"; } + revision 2024-08-19 { reference "CR-1337 CR-1352"; } + revision 2024-05-24 { reference CR-1273 ; } revision 2024-04-04 { reference CR-1139; } - revision 2024-02-24 { reference CR-1218; } + revision 2024-02-24 { reference CR-1218; } revision 2024-01-12 { reference CR-1138; } - revision 2023-09-18 { reference CR-1043; } + revision 2023-09-18 { reference CR-1043; } revision 2023-04-26 { reference CR-0916; } revision 2022-07-28 { reference "CR-0770"; } revision 2021-11-06 { reference "CR-0611" ; } @@ -65,18 +65,18 @@ module _3gpp-nr-nrm-gnbcucpfunction { } grouping BackhaulAddressGrp { - description "This data type represents the properties describing the + description "This data type represents the properties describing the backhaul address of gNB. "; - + leaf gNBId { type uint32 ; mandatory true; - description "It identifies a gNB within a PLMN. The gNB ID is part of + description "It identifies a gNB within a PLMN. The gNB ID is part of the NR Cell Identifier (NCI) of the gNB cells."; - reference "gNB Identifier (gNB ID) of subclause 8.2 of TS 38.300. + reference "gNB Identifier (gNB ID) of subclause 8.2 of TS 38.300. Global gNB ID in subclause 9.3.1.6 of TS 38.413"; } - + list tAI { key tac; min-elements 1; @@ -86,25 +86,25 @@ module _3gpp-nr-nrm-gnbcucpfunction { uses types3gpp:TaiGrp; } } - + grouping MappingSetIDBackhaulAddressGrp { - description "This data type represents the properties describing the + description "This data type represents the properties describing the mapping relationship between set ID and backhaul address of gNB."; - + leaf setId { type uint32 { range 0..4194304; // 22 bits } mandatory true; - description "This specifies the set ID of a victim Set (RIM-RS1 Set) or - aggressor Set (RIM-RS2 set). (See subclause 7.4.1.6 in TS 38.211). + description "This specifies the set ID of a victim Set (RIM-RS1 Set) or + aggressor Set (RIM-RS2 set). (See subclause 7.4.1.6 in TS 38.211). allowedValues: The bit length of the set ID is maximum 22bit."; } - + list backhaulAddress { - description "The attribute specifies backhaulAddress which is defined as + description "The attribute specifies backhaulAddress which is defined as a datatype."; min-elements 1; max-elements 1; @@ -114,34 +114,34 @@ module _3gpp-nr-nrm-gnbcucpfunction { } grouping TceIDMappingInfoGrp { - description "This data type represents the properties describing the - mapping relationship between TCE ID, PLMN where TCE resides and + description "This data type represents the properties describing the + mapping relationship between TCE ID, PLMN where TCE resides and IP address of TCE."; - + leaf tceIPAddress { type inet:ip-address; mandatory true; - description "This attribute indicates IP address of TCE. + description "This attribute indicates IP address of TCE. (See subclause 4.1.1.9.2 in TS 32.422)"; } - + leaf tceID { type int64; mandatory true; - description "This attribute indicates TCE Id. + description "This attribute indicates TCE Id. (See subclause 4.1.1.9.2 in TS 32.422)"; } - + list pLMNTarget { - description "Indicates the PLMN where TCE resides. + description "Indicates the PLMN where TCE resides. (See subclauses 4.1.1.9.2 and 4.9.2 in TS 32.422)"; min-elements 1; max-elements 1; - key mnc; + key mnc; uses types3gpp:PLMNId; } } - + grouping GNBCUCPFunctionGrp { description "Represents the GNBCUCPFunction IOC."; reference "3GPP TS 28.541"; @@ -177,7 +177,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { max-elements 1; yext3gpp:inVariant; uses types3gpp:PLMNId; - } + } list x2BlockList { description "List of nodes to which X2 connections are prohibited."; @@ -222,27 +222,27 @@ module _3gpp-nr-nrm-gnbcucpfunction { } list mappingSetIDBackhaulAddressList { - description "The attribute specifies a list of mappingSetIDBackhaulAddress - which is defined as a datatype. Which is used to + description "The attribute specifies a list of mappingSetIDBackhaulAddress + which is defined as a datatype. Which is used to retrieve the backhaul address of the victim set."; min-elements 1; key idx; leaf idx {type uint32; } uses MappingSetIDBackhaulAddressGrp; } - + list tceIDMappingInfoList { - description "This attribute includes a list of TCE ID, PLMN where TCE - resides and the corresponding TCE IP address. It is used in Logged MDT - case to provide the information to the gNodeB or GNBCUCPFunction to - get the corresponding TCE IP address when there is an MDT log + description "This attribute includes a list of TCE ID, PLMN where TCE + resides and the corresponding TCE IP address. It is used in Logged MDT + case to provide the information to the gNodeB or GNBCUCPFunction to + get the corresponding TCE IP address when there is an MDT log received from the UE."; min-elements 1; key idx; leaf idx { type uint32; } uses TceIDMappingInfoGrp; } - + leaf dDAPSHOControl { type boolean; description "This attribute determines whether the DAPS handover function @@ -251,7 +251,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf dCHOControl { type boolean; - description "This attribute determines whether the CHO function is + description "This attribute determines whether the CHO function is enabled or disabled."; } @@ -280,12 +280,12 @@ module _3gpp-nr-nrm-gnbcucpfunction { } description "represents a list of MDT measurement names that are subject to user consent at MDT activation. - Any MDT measurement, whose name is not specified in this list, is not + Any MDT measurement, whose name is not specified in this list, is not subject to user consent at MDT activation."; } - + list mappedCellIdInfoList { - description "This attribute provides the list of mapping between + description "This attribute provides the list of mapping between geographical location and Mapped Cell ID."; key idx; leaf idx { type uint32; } @@ -294,7 +294,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf configurable5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the GNBCUCPFunction + description "DN of the Configurable5QISet that the GNBCUCPFunction supports (is associated to)."; } @@ -304,18 +304,18 @@ module _3gpp-nr-nrm-gnbcucpfunction { description "This attribute indicates whether the function is on board the satellite."; } - + leaf onboardSatelliteId { type string; config false; - description "This attribute indicates the onboard satellite Id. + description "This attribute indicates the onboard satellite Id. It shall be formatted as a fixed 5-digit string, padding with leading digits '0' to complete a 5-digit length."; } - + leaf dynamic5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the GNBCUCPFunction supports + description "DN of the Dynamic5QISet that the GNBCUCPFunction supports (is associated to)."; } @@ -326,13 +326,16 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf nRECMappingRuleRef { type types3gpp:DistinguishedName; - description "DN of a NRECMappingRule. An empty value indicates the + description "DN of a NRECMappingRule. An empty value indicates the NRECMappingRule contained by parent, e.g. ManagedElement or SubNetwork, applies."; } leaf mWABRef { type types3gpp:DistinguishedName; + description "This attribute represents the MWAB functionality + (See sub clause 5.49 [11]). This attribute contains the DN of the + referenced MWAB."; } } @@ -345,10 +348,10 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf qoECollectionEntityIdentity { type string; - description "Specifies the unique identity to which the QMC reports + description "Specifies the unique identity to which the QMC reports shall be transferred."; } - + list pLMNTarget { description "The PLMN identifier where QoE collection entity resides. "; @@ -361,14 +364,14 @@ module _3gpp-nr-nrm-gnbcucpfunction { } grouping GgNBIdGrp { - description "Represents the properties of a global gNB ID (GgNBId)."; + description "Represents the properties of a global gNB ID (GgNBId)."; uses types3gpp:PLMNId; leaf gnbIdLength { type int32 {range "22..32";} mandatory true; - description "This indicates the number of bits for encoding the gNB ID. + description "This indicates the number of bits for encoding the gNB ID. See 'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; } @@ -380,13 +383,13 @@ module _3gpp-nr-nrm-gnbcucpfunction { type int64 { range "0..4294967295"; } } } - + grouping GeNBIdGrp { - description "Represents the properties of a global eNB ID (GeNBId)."; + description "Represents the properties of a global eNB ID (GeNBId)."; uses types3gpp:PLMNId; - + leaf enbId { - description "It identifies an eNB within a PLMN. The eNB ID is part of + description "It identifies an eNB within a PLMN. The eNB ID is part of the E-UTRAN Cell Global Identifier (ECGI) of the eNB cells."; reference "eNB ID in 3GPP TS 36.300. Global eNB ID in 3GPP TS 36.413."; mandatory true; @@ -401,7 +404,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses GNBCUCPFunctionGrp; } uses mf3gpp:ManagedFunctionContainedClasses; diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang index 5f9de8da5907b7654971ac0cc27d14eaf4778161..b26cfadd1a94dfd68397513d722de3f516cbb76e 100755 --- a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang @@ -14,14 +14,15 @@ module _3gpp-nr-nrm-gnbdufunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the GNBDUFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-08-15 { reference "CR-1598 CR-1558"; } revision 2025-05-07 { reference "CR-1527 CR-1548"; } revision 2025-02-05 { reference CR-1441; } - revision 2024-02-24 { reference CR-1218; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-02-24 { reference CR-1218; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2022-11-02 { reference "CR-0753"; } revision 2022-07-28 { reference "CR-0770"; } @@ -187,35 +188,40 @@ module _3gpp-nr-nrm-gnbdufunction { uses RimRSReportConfGrp; } leaf isOnboardSatellite { - type boolean; + type boolean; default false; - description "This attribute indicates whether the function is + config false; + description "This attribute indicates whether the function is on board the satellite."; } leaf onboardSatelliteId { - type string; - description "This attribute indicates the onboard satellite Id. + type string; + description "This attribute indicates the onboard satellite Id. It shall be formatted as a fixed 5-digit string, padding with - leading digits “0” to complete a 5-digit length."; - } + leading digits '0' to complete a 5-digit length."; + } leaf configurable5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the GNBDUFunction supports + 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 + description "DN of the Dynamic5QISet that the GNBDUFunction supports (is associated to)."; } leaf nRECMappingRuleRef { type types3gpp:DistinguishedName; - description "DN of a NRECMappingRule. An empty value indicates the + description "DN of a NRECMappingRule. An empty value indicates the NRECMappingRule contained by parent, e.g. ManagedElement or SubNetwork, applies."; } + leaf iABRef { + type types3gpp:DistinguishedName; + description "DN of the referenced IAB." ; + } } diff --git a/yang-models/_3gpp-nr-nrm-iabfunction.yang b/yang-models/_3gpp-nr-nrm-iabfunction.yang new file mode 100644 index 0000000000000000000000000000000000000000..12592ba498c406202cd9e263dde2aa917d8414b5 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-iabfunction.yang @@ -0,0 +1,205 @@ +module _3gpp-nr-nrm-iabfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-iabfunction"; + prefix "iab3gpp"; + + import ietf-inet-types { prefix inet; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the IAB function defined in 3GPP TS 28.541. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541; 3GPP TS 28.314; 3GPP TS 28.315; 3GPP TS 33.310, + IETF RFC 9811"; + + revision 2025-08-15 { reference "CR-1598"; } + + grouping CaraConfigurationGrp { + description "This data type represents the configuration used for mobile + NR node (e.g., IAB-node) to perform certificate enrolment procedure with + Certification Authority server (CA/RA) as specified in TS 28.315 clause 5.3"; + + leaf caraAddress { + type inet:host; + description "IP address or FQDN of CA/RA server"; + } + + leaf portNumber { + type inet:port-number; + description "This parameter specifies the port number used by + CMP (Certificate Management Protocol) server. The port for HTTP/HTTPSs + transfer of CMP messages is not explicitly given in RFC 9811, therefore + this parameter is required. The port number is usually + represented as 2 octets."; + } + + leaf path { + type inet:uri; + mandatory true; + description "This parameter specifies the path (in ASCII string) to + the CMP server directory. A CMP server may be located in an + arbitrary path other than root."; + } + + leaf subjectName { + type string; + mandatory true; + description "This parameter specifies the subject name (in ASCII + string) of the CA/RA. The use is described in 3GPP TS 33.310 + clause 9.5.3."; + } + + leaf protocol { + type enumeration { + enum HTTP; + enum HTTPS; + } + description "This parameter specifies the protocol (HTTP or HTTPS) + to be used for certificate enrolment. The use is described in + 3GPP TS 33.310 clause 9.6."; + } + } + + grouping MnrOamIPConfigGrp { + description "This data type includes the configutation for OAM connectivity + used for mobile NR node (e.g., IAB-node) to establish connection with + management system. The configuration attributes include: + Configuration of certification authority (CA/RA) server, + Configuration of security gateway (SeGW), and + Configuration of software configuration server (SCS)"; + + list caraConfiguration { + description "configuration used for mobile NR node (e.g., IAB-node) + to perform certificate enrolment procedure as specified in TS 28.315."; + uses CaraConfigurationGrp; + max-elements 1; + key caraAddress; + } + + leaf seGwConfiguration { + description "configuration of security + gateway (SeGW) used for mobile NR node (e.g., IAB-node) to establish + secure connection as specified in TS 28.315."; + type inet:host; + + } + + leaf scsConfiguration { + description "configuration of software + configuration server (SCS) used for mobile NR node (e.g., IAB-node) + to establish connection to SCS as specified in TS 28.315."; + type inet:host; + } + } + + grouping LocationInfoGrp { + description "This data type contains location information + of mobile NR node (e.g., IAB-node)."; + + leaf gNBId { + type int64 { range "0..4294967295"; } + description "It is either the gNB ID of the IAB-donor-CU that target IAB-DU + connects to or the gNB Id of the IAB-nonor-CU that serves IAB-MT"; + } + + list pLMNId { + uses types3gpp:PLMNId; + max-elements 1; + description "The PLMN ID where IAB-MT or MWAB-UE is connected to"; + key "mcc mnc"; + } + + leaf cellLocalId { + type int32 { range "0..16383"; } + description "Identifies an NR cell where IAB-MT or MWAB-UE + is connected to."; + } + + leaf nRTAC { + type types5g3gpp:NRTAC; + description "It is TAC pertaining to the cells where IAB-MT or MWAB-UE is + connected."; + } + + list tAI { + uses types3gpp:TaiGrp; + key idx; + leaf idx { type string; } + max-elements 1; + description "It is the TAI (see subclause 9.3.3.11 in TS 38.413) pertaining + to the cells where IAB-MT or MWAB-UE is connected"; + } + list geoArea { + uses types3gpp:GeoAreaGrp; + key idx; + leaf idx {type string;} + max-elements 1; + description "It specifies geographical area of mobile NR node + (e.g., IAB-node or MWAB)."; + } + } + + grouping IABGrp { + description "IAB-node architecture is specified in TS 38.401. This IOC + defines the configuration information for the IAB management, it is name + contained by SubNetwork or ManagedElement"; + + list mnrOamIPConfig { + description "It is IP configutation for OAM connectivity used IAB-node + to establish connection with management system as specified + in TS 28.314[x] clause 6.1.2"; + + key id; + leaf id { type uint32; } + uses MnrOamIPConfigGrp ; + } + + list locationInfo { + description "It is Location information of IAB-node that is used for + IAB-node OAM connection and IAB configuration as specified in + TS 28.314 clause 6.1.2 and TS 28.531 clause 5.1.27"; + + key id; + leaf id { type uint32; } + uses LocationInfoGrp; + } + } + grouping IabSubTree { + description "Contains classes that manage IAB function management"; + + list IAB { + description "IAB-node architecture is specified in TS 38.401. + This IOC defines the configuration information for the IAB management"; + + key id; + uses top3gpp:Top_Grp ; + container attributes { + uses IABGrp ; + } + } + } + + feature IABUnderManagedElement { + description "The IAB shall be available under ManagedElement"; + } + + augment /me3gpp:ManagedElement { + if-feature IABUnderManagedElement; + uses IabSubTree; + } + + feature IABUnderSubNetwork { + description "The IAB shall be available under SubNetwork"; + } + + augment /subnet3gpp:SubNetwork { + if-feature IABUnderSubNetwork; + uses IabSubTree; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-mwab.yang b/yang-models/_3gpp-nr-nrm-mwab.yang index e57a85bf1a75200c506536ae545d517c71a0b39c..9f8af2af9575b54b16c11f95b2ac6c136b62f2cc 100644 --- a/yang-models/_3gpp-nr-nrm-mwab.yang +++ b/yang-models/_3gpp-nr-nrm-mwab.yang @@ -3,7 +3,6 @@ module _3gpp-nr-nrm-mwab { namespace "urn:3gpp:sa5:_3gpp-nr-nrm-mwab"; prefix "mwab3gpp"; - import ietf-yang-types { prefix yang; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } @@ -12,19 +11,19 @@ module _3gpp-nr-nrm-mwab { description "Defines the YANG mapping of the ExternalGNBCUCPFunction Information Object Class (IOC), that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-04-25 { reference CR-1527 ; } - + revision 2025-04-25 { reference CR-1527 ; } + grouping MWABGrp { description "Represets the ExternalENBFunction IOC."; - + leaf operationalState { - description "It indicates the operational state of the MWAB instance. - It describes whether the resource is installed and partially or fully - operable (Enabled) or the resource is not installed or not + description "It indicates the operational state of the MWAB instance. + It describes whether the resource is installed and partially or fully + operable (Enabled) or the resource is not installed or not operable (Disabled)."; mandatory true; config false; @@ -32,39 +31,41 @@ module _3gpp-nr-nrm-mwab { } leaf administrativeState { - description "It indicates the administrative state of the MWAB instance. - It describes the permission to use or prohibition against using the + description "It indicates the administrative state of the MWAB instance. + It describes the permission to use or prohibition against using the MWAB functionalities, imposed through the OAM services."; default LOCKED; type types3gpp:AdministrativeState; } list allowedArea { - description "This specifies the area where the MWAB can act as MWAB-gNB. - If the OAM indicates that the MWAB can act as MWAB-gNB is allowed areas, - it acts as MWAB-gNB only on the allowed area only. + description "This specifies the area where the MWAB can act as MWAB-gNB. + If the OAM indicates that the MWAB can act as MWAB-gNB is allowed areas, + it acts as MWAB-gNB only on the allowed area only. (See sub clause 5.49 TS 28.662)."; key idx; leaf idx { type uint32; } uses types3gpp:GeoAreaGrp; } - leaf-list allowedTime { - description "This species the time window for which the MWAB can act as - MWAB-gNB. If the allowed time window/validity indicates 20th June, - 10 am to 5 pm of the day, the MWAB acts as an MWAB g-NB only during - 20th June, 10 am to 5 pm of the day, and does not act as MWAB-gNB for - any other time. (See sub clause 5.49 TS 28.662)."; - type yang:date-and-time; + list allowedTime { + description "This specifies the time window for which the MWAB can act + as MWAB-gNB. If the allowed time window/ validity indicates 20th June, + 10 am to 5 pm of the day, the MWAB acts as an MWAB g-NB only during 20th + June, 10 am to 5 pm of the day, and does not act as MWAB-gNB for any + other time. (See sub clause 5.49 [11])."; + key idx; + leaf idx { type uint32 ; } + uses types3gpp:TimeWindowGrp; } } grouping MWABSubTree { list MWAB { - description "MWAB provides an NR access link to UEs in proximity and - connects to the 5GC serving the UE through an IP connectivity provided - by a Backhaul PDU session(s). The MWAB consists of a gNB component - (MWAB-gNB) and a UE component (MWAB-UE). This IOC defines the + description "MWAB provides an NR access link to UEs in proximity and + connects to the 5GC serving the UE through an IP connectivity provided + by a Backhaul PDU session(s). The MWAB consists of a gNB component + (MWAB-gNB) and a UE component (MWAB-UE). This IOC defines the configuration information for the MWAB-gNB."; key id; uses top3gpp:Top_Grp; @@ -72,5 +73,5 @@ module _3gpp-nr-nrm-mwab { uses MWABGrp; } } - } -} + } +} diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index 392b11cd27d251a9a0310326717262d34914e8e0..40245e23e7bc11ae461ca272de3df0cb9506c44b 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -15,14 +15,15 @@ module _3gpp-nr-nrm-nrcelldu { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRCellDU Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-07-25 { reference CR-1558 ; } revision 2025-02-07 { reference CR-1442; } revision 2024-05-25 { reference CR-1412 ; } - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-07-28 { reference "CR-0770"; } revision 2022-06-29 { reference CR-0756 ; } revision 2021-10-28 { reference CR-0607 ; } @@ -36,23 +37,23 @@ module _3gpp-nr-nrm-nrcelldu { revision 2019-09-03 { reference "Initial revision"; } feature DRACHOptimizationFunction { - description "Class representing D-SON function of RACH optimization + description "Class representing D-SON function of RACH optimization feature"; } - + feature CPCIConfigurationFunction { - description "Class representing Centralized SON function of + description "Class representing Centralized SON function of PCI configuration feature"; } - + grouping NRCellDUGrp { description "Represents the NRCellDU IOC."; reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; - + leaf cellLocalId { description "Identifies an NR cell of a gNB. Together with the - corresponding gNB identifier in forms the NR Cell Identity (NCI)."; + corresponding gNB identifier in forms the NR Cell Identity (NCI)."; reference "NCI in 3GPP TS 38.300"; mandatory true; type int32 { range "0..16383"; } @@ -85,11 +86,11 @@ module _3gpp-nr-nrm-nrcelldu { } list pLMNInfoList { - description "The PLMNInfoList is a list of PLMNInfo data type. It - defines which PLMNs that can be served by the NR cell, and which - S-NSSAIs that can be supported by the NR cell for corresponding PLMN - in case of network slicing feature is supported. The plMNId of the - first entry of the list is the PLMNId used to construct the nCGI for + description "The PLMNInfoList is a list of PLMNInfo data type. It + defines which PLMNs that can be served by the NR cell, and which + S-NSSAIs that can be supported by the NR cell for corresponding PLMN + in case of network slicing feature is supported. The plMNId of the + first entry of the list is the PLMNId used to construct the nCGI for the NR cell."; key "mcc mnc sd sst"; min-elements 1; @@ -101,14 +102,14 @@ module _3gpp-nr-nrm-nrcelldu { key idx ; min-elements 1; ordered-by user; - description "It defines which NPNs that can be served by the NR cell, - and which CAG IDs or NIDs can be supported by the NR cell for + description "It defines which NPNs that can be served by the NR cell, + and which CAG IDs or NIDs can be supported by the NR cell for corresponding PNI-NPN or SNPN in case of the cell is NPN-only cell."; reference "3GPP TS 38.331"; leaf idx { type uint32 ; } uses types3gpp:NpnIdGrp; } - + leaf nRPCI { description "The Physical Cell Identity (PCI) of the NR cell."; reference "3GPP TS 36.211"; @@ -117,11 +118,20 @@ module _3gpp-nr-nrm-nrcelldu { } leaf nRTAC { - description "The common 5GS Tracking Area Code for the PLMNs."; + description "The common 5GS Tracking Area Code for the PLMNs."; reference "3GPP TS 23.003, 3GPP TS 38.473"; type types5g3gpp:NRTAC; } + leaf-list nTNTAClist { + type string; + min-elements 1; + max-elements 12; + description "It is the list of Tracking Area Codes which is only present + in an NTN cell. If this field is present, network does not configure + trackingAreaCode, see TS 38.331)."; + } + leaf arfcnDL { description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for downlink."; @@ -129,7 +139,7 @@ module _3gpp-nr-nrm-nrcelldu { mandatory true; type int32; } - + leaf arfcnUL { description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for uplink."; @@ -154,117 +164,117 @@ module _3gpp-nr-nrm-nrcelldu { leaf rimRSMonitoringStartTime { type yang:date-and-time ; mandatory true; - description "Configures the UTC time when the gNB attempts to start + description "Configures the UTC time when the gNB attempts to start RIM-RS monitoring."; } - + leaf rimRSMonitoringStopTime { type yang:date-and-time ; mandatory true; - description "Configures the UTC time when the gNB stops RIM-RS + description "Configures the UTC time when the gNB stops RIM-RS monitoring."; } - + leaf rimRSMonitoringWindowDuration { type uint32 { range 1..16384 ; } mandatory true; - description "Configures a duration of the monitoring window in which - gNB monitors the RIM-RS, in unit of P_t, where P_t is the RIM-RS + description "Configures a duration of the monitoring window in which + gNB monitors the RIM-RS, in unit of P_t, where P_t is the RIM-RS transmission periodicity in units of uplink-downlink switching period ( see 38.211 subclause 7.4.1.6). - This field is configured together with rimRSMonitoringInterval, - rimRSMonitoringWindowStartingOffset, rimRSMonitoringOccasionInterval + This field is configured together with rimRSMonitoringInterval, + rimRSMonitoringWindowStartingOffset, rimRSMonitoringOccasionInterval and rimRSMonitoringOccasionStartingOffset. - The duration of the monitoring window is expected to be larger than - or equal to M*P_t, where M is the interval between adjacent monitoring - occasions within the monitoring window + The duration of the monitoring window is expected to be larger than + or equal to M*P_t, where M is the interval between adjacent monitoring + occasions within the monitoring window (configured by rimRSMonitoringInterval). - The absolute duration of the monitoring window is not expected to be - larger than the periodicity of the monitoring window (configured by + The absolute duration of the monitoring window is not expected to be + larger than the periodicity of the monitoring window (configured by rimRSMonitoringWindowPeriodicity). - + See 3GPP TS 28.541 attribute descrition rimRSMonitoringWindowDuration for the exact math formulas. - - Only the earliest N_T consecutive detection durations in each RIM-RS - transmission periodicity (P_t) in the monitoring window are taken as - valid time for monitoring potential interference, and they are - consecutively monitored in the monitoring window, while the residual - part of each RIM-RS transmission periodicity is not used for - discovering potential interference, where, a consecutive detection + + Only the earliest N_T consecutive detection durations in each RIM-RS + transmission periodicity (P_t) in the monitoring window are taken as + valid time for monitoring potential interference, and they are + consecutively monitored in the monitoring window, while the residual + part of each RIM-RS transmission periodicity is not used for + discovering potential interference, where, a consecutive detection duration spans P1*R1 (if only P1 is configured) or ((P1+P2))/2*R1 ( if both P1 and P2 are configured), where, - R1 is the number of consecutive uplink-downlinkswitching periods + R1 is the number of consecutive uplink-downlinkswitching periods for RS-1 (configured by nrofConsecutiveRIMRS1), - P1 is the first uplink-downlinkswitching period (configured by - dlULSwitchingPeriod1), - P2 is the second uplink-downlink switching period (configured by + P1 is the first uplink-downlinkswitching period (configured by + dlULSwitchingPeriod1), + P2 is the second uplink-downlink switching period (configured by dlULSwitchingPeriod2), and N_T= - ((N_setID # RIM,1)/(N_f # RI N_s # RIM,1) + ((N_setID # RIM,1)/(N_f # RI N_s # RIM,1) if enableEnoughNotEnoughIndication is 'disable' - + (2N_setID # RIM,1)/(N_f # RIM N_s # RIM,1) if enableEnoughNotEnoughIndication is 'enable' - + N_setID # 'RIM,1' is the total number of set IDs for RIM RS-1 (configured by totalnrofSetIdofRS1), - N_f # RIM is the number of candidate frequency resources in the whole - network (configured by nrofGlobalRIMRSFrequencyCandidates), and - N_s # 'RIM,1' is the number of candidate sequences assigned for + N_f # RIM is the number of candidate frequency resources in the whole + network (configured by nrofGlobalRIMRSFrequencyCandidates), and + N_s # 'RIM,1' is the number of candidate sequences assigned for RIM RS-1 (configured by nrofRIMRSSequenceCandidatesofRS1)."; } - + leaf rimRSMonitoringWindowStartingOffset { type uint8 { range 0..23 ; } mandatory true; units hours; - description "Configures the start offset of the first monitoring window + description "Configures the start offset of the first monitoring window within one day, in unit of hours."; } - + leaf rimRSMonitoringWindowPeriodicity { type uint8 { range 1|2|3|4|6|8|12|24 ; } units hours; mandatory true; - description "Configures the periodicity of the monitoring window, in + description "Configures the periodicity of the monitoring window, in unit of hours"; } - + leaf rimRSMonitoringOccasionInterval { type uint32 { range 1..max ; } mandatory true; - description "Configures the interval between adjacent monitoring - occasions (M) within the monitoring window, in unit of consecutive + description "Configures the interval between adjacent monitoring + occasions (M) within the monitoring window, in unit of consecutive detection duration. - M is expected to be prime to N_T, where N_T is given in above + M is expected to be prime to N_T, where N_T is given in above attribute rimRSMonitoringWindowDuration. allowedValues: 1,2..N_T-1"; } - + leaf rimRSMonitoringOccasionStartingOffset { type uint32 ; mandatory true; - description "Configures the start offset of the first monitoring occasions - within the monitoring window (S_M), in unit of consecutive detection + description "Configures the start offset of the first monitoring occasions + within the monitoring window (S_M), in unit of consecutive detection duration. - gNB starts monitoring potential interference from the S_M-th consecutive - detection duration in the first complete RIM-RS transmission + gNB starts monitoring potential interference from the S_M-th consecutive + detection duration in the first complete RIM-RS transmission periodicity (P_t) within the monitoring window. allowedValues: 0,1,2..M-1 - where M is the the interval between adjacent monitoring occasions - within the monitoring window + where M is the the interval between adjacent monitoring occasions + within the monitoring window (configured by rimRSMonitoringOccasionInterval)"; } @@ -277,7 +287,7 @@ module _3gpp-nr-nrm-nrcelldu { 3GPP TS 38.101-1, and within bSChannelBwDL."; mandatory true; type int32 { range "0..3279165"; } - } + } leaf ssbPeriodicity { description "Indicates cell defined SSB periodicity. The SSB periodicity @@ -349,11 +359,11 @@ module _3gpp-nr-nrm-nrcelldu { description "Reference to corresponding NRFrequency instance."; type types3gpp:DistinguishedName; } - + leaf victimSetRef { type types3gpp:DistinguishedName; mandatory true; - description "DN of a victim Set (RimRSSet) + description "DN of a victim Set (RimRSSet) Implemented if RIM feature is supported"; } @@ -362,41 +372,57 @@ module _3gpp-nr-nrm-nrcelldu { mandatory true; description "DN of an aggressor Set (RimRSSet)"; } + + leaf redCapAccessCriteriaRef { + type types3gpp:DistinguishedName; + mandatory true; + description "This attribute contains the DN of the redCapAccessCriteria + MOI "; + } } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { list NRCellDU { - description "This IOC represents the part of NR cell information that - describes s the specific resources instances. - - An NR cell transmits SS/PBCH block and always requires downlink - transmission at a certain carrier frequency with a certain channel - bandwidth. Transmission may be performed from multiple sector-carriers - using different transmission points, and these may be configured with - different carrier frequencies and channel bandwidths, as long as they - are aligned to the cell's downlink resource grids as defined in - subclause 4.4 in TS 38.211. The values of arfcnDL and bSChannelBwDL - attributes define the resource grids which each sector-carrier needs to - be aligned to. See subclauses 5.3 and 5.4.2 of TS 38.104 for definitions + description "This IOC represents the part of NR cell information that + describes the specific resources instances. + + An NR cell transmits SS/PBCH block and always requires downlink + transmission at a certain carrier frequency with a certain channel + bandwidth. Transmission may be performed from multiple sector-carriers + using different transmission points, and these may be configured with + different carrier frequencies and channel bandwidths, as long as they + are aligned to the cell's downlink resource grids as defined in + subclause 4.4 in TS 38.211. The values of arfcnDL and bSChannelBwDL + attributes define the resource grids which each sector-carrier needs to + be aligned to. See subclauses 5.3 and 5.4.2 of TS 38.104 for definitions of BS channel bandwidth and NR-ARFCN, respectively. - - An NR cell requires an uplink in order to provide initial access. In - case of TDD, the values of arfcnUL and bSChannelBwUL have to always be - set to the same values as for the corresponding DL attributes. For both - FDD and TDD, the arfcnUL and bSChannelBwUL define uplink resource grids + + An NR cell requires an uplink in order to provide initial access. In + case of TDD, the values of arfcnUL and bSChannelBwUL have to always be + set to the same values as for the corresponding DL attributes. For both + FDD and TDD, the arfcnUL and bSChannelBwUL define uplink resource grids to which each sector-carrier needs to align to. - - An NR cell can in addition be configured with a supplementary uplink, - which has its own arfcnSUL and bSChannelBwSUL, which define resource + + An NR cell can in addition be configured with a supplementary uplink, + which has its own arfcnSUL and bSChannelBwSUL, which define resource grids for supplementary uplink sector-carriers. - - Each of downlink, uplink and supplementary uplink (if configured) need - an initial bandwidth part (BWP), which defines resources to be used by - UEs during and immediately after initial access. Additional BWPs can be - either configured or calculated by gNB internally and be applied to UEs - dynamically by gNB based on e.g. UE capability and bandwidth need of - each UE."; + + Each of downlink, uplink and supplementary uplink (if configured) need + an initial bandwidth part (BWP), which defines resources to be used by + UEs during and immediately after initial access. Additional BWPs can be + either configured or calculated by gNB internally and be applied to UEs + dynamically by gNB based on e.g. UE capability and bandwidth need of + each UE. + + BWPs are configured individually (bWPRef) or via sets (bWPSetRef). + + An NTN NR cell can be configured with list of Tracking Areas to support + broadcast multiple Tracking Area Codes per PLMN ID. Given that the + related TAIs broadcast may change with a foot print moving on earth, + which is predictable, time windows per TAList can be derived and + configured for NTN cell. These time windows define the specific periods + during which the satellite coverage will be available for the location."; key id; uses top3gpp:Top_Grp; container attributes { diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang index 734a4da742c1f1df3da8c9b9acf88cd3a911f9df..39f3795a7ad1f056651ca1ed06f81859e4488505 100755 --- a/yang-models/_3gpp-nr-nrm-nrfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-nrfrequency.yang @@ -13,13 +13,12 @@ module _3gpp-nr-nrm-nrfrequency { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRFrequency Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-04-25 { reference CR-1527 ; } - revision 2025-01-25 { reference CR-1442 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2025-04-25 { reference "CR-1526 CR-1527"; } // common for r18, r19 + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { reference "Initial version"; } @@ -35,7 +34,7 @@ module _3gpp-nr-nrm-nrfrequency { leaf ssBSubCarrierSpacing { description "Sub-carrier spacing of the SSB. - Note that the allowed values of SSB used for representing data, + Note that the allowed values of SSB used for representing data, by e.g. a BWP, are: 15, 30, 60 and 120 in units of kHz."; mandatory true; type uint8 { range "15 | 30 | 60 | 120 | 240"; } @@ -60,22 +59,22 @@ module _3gpp-nr-nrm-nrfrequency { uses NRFrequencyGrp; } } - } - + } + feature NRFrequencyUnderNRNetwork { - description "NRFrequency shall be contained under NRNetwork"; + description "NRFrequency shall be contained under NRNetwork"; } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + "nrnet3gpp:NRNetwork" { if-feature NRFrequencyUnderNRNetwork; uses NRFrequencyWrapper; } feature NRFrequencyUnderSubNetwork { - description "NRFrequency shall be contained under SubNetwork"; + description "NRFrequency shall be contained under SubNetwork"; } - + augment "/subnet3gpp:SubNetwork" { if-feature NRFrequencyUnderSubNetwork; uses NRFrequencyWrapper; diff --git a/yang-models/_3gpp-nr-nrm-redcapaccess.yang b/yang-models/_3gpp-nr-nrm-redcapaccess.yang new file mode 100755 index 0000000000000000000000000000000000000000..51e91f203ccc0532906c7999450df437b299cde0 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-redcapaccess.yang @@ -0,0 +1,82 @@ +module _3gpp-nr-nrm-redcapaccess { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-redcapaccess"; + prefix "redcap3gpp"; + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the NRCellDU Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2025-07-07 { reference CR-; } + + feature redcapaccesscriteriasubnertwork { + description "The RedCap acsess criterea shall be contained under + SubNetwork"; + } + + + grouping RedCapAccessCriteriaGrp { + description "Represents the RedCapAccessCriteria <> "; + + leaf nRCellDURef { + type types3gpp:DistinguishedName; + mandatory true; + description "This attribute contains the DN of a NR Cell (NRCellDU) "; + } + + leaf criteriaConditionRef { + type types3gpp:DistinguishedName; + mandatory true; + description "This specifies the DN of the ConditionMonitor MOI.The + attribute condition will contain information on the condition to be + satisfied to restrict Redcap UE access. This means that the value of + attribute uECellBarredAccess of NRCellDU IOC will be set to + REDCAP_1RX and REDCAP_2RX if this condition is met.The condition + will be created providing following information: + The performance metrics (KPIs and performance measurements) that are + to be considered in the criteria for deciding whether the cell in a + RAN node is barred or allowed for RedCap/eRedCap UEs + The direction (up and down) that is to be considered for crossing + the threshold value of the given performance metrics for taking a + decision whether the RAN node is barred or allowed for + RedCap/eRedCap UEs. + The threshold level of performance metrics value which when crossed + the RAN node is barred or allowed for RedCap/eRedCap UEs"; + } + + + } + + augment "/subnet3gpp:SubNetwork" { + if-feature redcapaccesscriteriasubnertwork; + list RedCapAccessCriteria { + description "The RedCapAccessCriteria <> contains attributes + to support the controlling of RedCap access in a NR Cell. + It provides information of a condition (for example, KPIs such as + Total DRB accessibility, DRB Retainability , Utilization KPI, + NG-RAN data Energy Efficiency, Downlink/Uplink delay in gNB-DU etc. + and Performance measurements such as DL/UL Total PRB Usage, + Average DL/UL UE throughput in gNB etc.) which can be used to + control decision of barring or allowing access of RedCap/eRedCap + UEs to a NR Cell. This information can be used to decide whether + RedCap/eRedCap UEs are barred or allowed at the time of new UE + access attempt in NR cell during applicable RAN procedures."; + + key id; + max-elements 1; + uses top3gpp:Top_Grp; + container attributes { + uses RedCapAccessCriteriaGrp; + } + } + } + +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang index 0d89212f6ddb99fb7d129a694b70d46a5ec17095..e8027c465766c1ae839b096e89e880013e8f33ce 100755 --- a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang +++ b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang @@ -14,23 +14,23 @@ module _3gpp-nr-nrm-rrmpolicy { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the RRMPolicy abstract class that + description "Defines the YANG mapping of the RRMPolicy abstract class that is part of the NR Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-19 { reference CR-1043 ; } //date updated; it was already used in R18 revision 2022-07-28 { reference "CR-0770"; } revision 2020-11-05 { reference CR-0412 ; } revision 2020-04-28 { reference "CR0285"; } revision 2020-02-14 { reference "Initial revision"; } grouping RRMPolicyMemberGrp { - description "This data type represents an RRM Policy member that will be - part of a rRMPolicyMemberList. A RRMPolicyMember is defined by its + description "This data type represents an RRM Policy member that will be + part of a rRMPolicyMemberList. A RRMPolicyMember is defined by its pLMNId and sNSSAI (S-NSSAI). - The members in a rRMPolicyMemberList are assigned a specific amount of + The members in a rRMPolicyMemberList are assigned a specific amount of RRM resources based on settings in RRMPolicy."; uses types5g3gpp:PLMNInfo; @@ -38,21 +38,21 @@ module _3gpp-nr-nrm-rrmpolicy { grouping RRMPolicy_Grp { description "This IOC represents the properties of an abstract RRMPolicy - . The RRMPolicy_ IOC needs to be subclassed to be instantiated. - It defines two attributes apart from those inherited from Top IOC, the + . The RRMPolicy_ IOC needs to be subclassed to be instantiated. + It defines two attributes apart from those inherited from Top IOC, the resourceType attribute defines type of resource (PRB, RRC - connected users, DRB usage etc.) and the rRMPolicyMemberList attribute - defines the RRMPolicyMember(s)that are subject to this policy. + connected users, DRB usage etc.) and the rRMPolicyMemberList attribute + defines the RRMPolicyMember(s)that are subject to this policy. An RRM resource (defined in resourceType - attribute) is located in NRCellDU, NRCellCU, GNBDUFunction, - GNBCUCPFunction or in GNBCUUPFunction. The RRMPolicyRatio IOC is one - realization of a RRMPolicy_ IOC. This RRM framework allows adding new - policies, both standardized (like RRMPolicyRatio) or as vendor specific, + attribute) is located in NRCellDU, NRCellCU, GNBDUFunction, + GNBCUCPFunction or in GNBCUUPFunction. The RRMPolicyRatio IOC is one + realization of a RRMPolicy_ IOC. This RRM framework allows adding new + policies, both standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the abstract RRMPolicy_ IOC."; leaf resourceType { - description "The resourceType attribute defines type of resource (PRB, - RRC connected users, DRB usage etc.) that is subject to policy. + description "The resourceType attribute defines type of resource (PRB, + RRC connected users, DRB usage etc.) that is subject to policy. Valid values are 'PRB', 'PRB_UL', 'PRB_DL', 'RRC' or 'DRB'"; mandatory true; type enumeration { @@ -65,8 +65,8 @@ module _3gpp-nr-nrm-rrmpolicy { } list rRMPolicyMemberList{ - description "It represents the list of RRMPolicyMember (s) that the - managed object is supporting. A RRMPolicyMember <> include + description "It represents the list of RRMPolicyMember (s) that the + managed object is supporting. A RRMPolicyMember <> include the PLMNId <> and S-NSSAI <>." ; min-elements 1; key "mcc mnc sd sst"; @@ -80,11 +80,11 @@ module _3gpp-nr-nrm-rrmpolicy { uses RRMPolicy_Grp; // Inherits RRMPolicy_ leaf rRMPolicyMaxRatio { - description " This attribute specifies the maximum percentage of radio - resource that can be used by the associated rRMPolicyMemberList. - The maximum percentage of radio resource include at least one of + description " This attribute specifies the maximum percentage of radio + resource that can be used by the associated rRMPolicyMemberList. + The maximum percentage of radio resource include at least one of the shared resources, prioritized resources and dedicated resources. - The sum of the rRMPolicyMaxRatio values assigned to all RRMPolicyRatio(s) + The sum of the rRMPolicyMaxRatio values assigned to all RRMPolicyRatio(s) name-contained by same ManagedEntity can be greater that 100."; default 100; type uint8 { range "0..100"; } @@ -92,10 +92,10 @@ module _3gpp-nr-nrm-rrmpolicy { } leaf rRMPolicyMinRatio { - description " This attribute specifies the minimum percentage of radio - resources that can be used by the associated rRMPolicyMemberList. - The minimum percentage of radio resources including at least one of - prioritized resources and dedicated resources. The sum of the + description " This attribute specifies the minimum percentage of radio + resources that can be used by the associated rRMPolicyMemberList. + The minimum percentage of radio resources including at least one of + prioritized resources and dedicated resources. The sum of the rRMPolicyMinRatio values assigned to all RRM PolicyRatio(s) name-contained by same ManagedEntity shall be less or equal 100."; default 0; @@ -104,7 +104,7 @@ module _3gpp-nr-nrm-rrmpolicy { } leaf rRMPolicyDedicatedRatio { - description " This attribute specifies the percentage of radio resource + description " This attribute specifies the percentage of radio resource that dedicatedly used by the associated rRMPolicyMemberList. The sum of the rRMPolicyDeidctaedRatio values assigned to all RRMPolicyRatio(s) name-contained by same ManagedEntity shall be less or equal 100. "; @@ -123,51 +123,51 @@ module _3gpp-nr-nrm-rrmpolicy { augment all user classes!"; list RRMPolicyRatio { - description "This IOC represents the properties of RRMPolicyRatio. - RRMPolicyRatio is one realization of abstract RRMPolicy_ IOC. - RRMPolicyRatio has three attributes, apart from those inherited - (DN, resourceType, rRMPolicyMemberList). - - Structure of RRMPolicyRatio includes in order: Dedicated Resources, + description "This IOC represents the properties of RRMPolicyRatio. + RRMPolicyRatio is one realization of abstract RRMPolicy_ IOC. + RRMPolicyRatio has three attributes, apart from those inherited + (DN, resourceType, rRMPolicyMemberList). + + Structure of RRMPolicyRatio includes in order: Dedicated Resources, Prioritized Resources, Shared Resources, etc. - - - The attribute rRMPolicyMaxRatio defines the maximum resource usage - quota for the associated rRMPolicyMemberList, including at least one of - shared resources, prioritized resources and dedicated resources. The - sum of the 'rRMPolicyMaxRatio' values assigned to all RRMPolicyRatio(s) + + - The attribute rRMPolicyMaxRatio defines the maximum resource usage + quota for the associated rRMPolicyMemberList, including at least one of + shared resources, prioritized resources and dedicated resources. The + sum of the 'rRMPolicyMaxRatio' values assigned to all RRMPolicyRatio(s) name-contained by same MangedEntity can be greater than 100. - - The attribute rRMPolicyMinRatio defines the minimum resource usage - quota for the associated RRMPolicyMemberList, including at least one - of prioritized resources and dedicated resources, which means the - resources quota that need to be guaranteed for use by the associated - rRMPolicyMemberList. The sum of the 'rRMPolicyMinRatio' values assigned - to all RRMPolicyRatio(s) name-contained by same MangedEntity shall be + - The attribute rRMPolicyMinRatio defines the minimum resource usage + quota for the associated RRMPolicyMemberList, including at least one + of prioritized resources and dedicated resources, which means the + resources quota that need to be guaranteed for use by the associated + rRMPolicyMemberList. The sum of the 'rRMPolicyMinRatio' values assigned + to all RRMPolicyRatio(s) name-contained by same MangedEntity shall be less or equal 100. - - The attribute rRMPolicyDedicatedRatio defines the dedicated resource - usage quota for the RRMPolicyMemberList, including dedicated resources. - The sum of the 'rRMPolicyDedicatedRatio' values assigned to all - RRMPolicyRatio(s) name-contained by same MangedEntity shall be less + - The attribute rRMPolicyDedicatedRatio defines the dedicated resource + usage quota for the RRMPolicyMemberList, including dedicated resources. + The sum of the 'rRMPolicyDedicatedRatio' values assigned to all + RRMPolicyRatio(s) name-contained by same MangedEntity shall be less or equal 100. - - The following are the definition for above mentioned three resource + + The following are the definition for above mentioned three resource categories: - - Shared resources: means the resources that are shared with other - rRMPolicyMemberList(s) (i.e. the rRMPolicyMemberList(s) defined in - RRMPolicyRatio(s) name-contained by the same ManagedEntity). The shared - resources are not guaranteed for use by the associated - rRMPolicyMemberList. The shared resources quota is represented by + - Shared resources: means the resources that are shared with other + rRMPolicyMemberList(s) (i.e. the rRMPolicyMemberList(s) defined in + RRMPolicyRatio(s) name-contained by the same ManagedEntity). The shared + resources are not guaranteed for use by the associated + rRMPolicyMemberList. The shared resources quota is represented by [rRMPolicyMaxRatio-rRMPolicyMinRatio]. - - Priortized resources: means the resources are preferentially used by - the associated RRMPolicyMemberList. These resources are guaranteed for - use by the associated RRMPolicyMemberList when it needs to use them. - When not used, these resources may be used by other - rRMPolicyMemberList(s) (i.e. the rRMPolicyMemberList(s) defined in - RRMPolicyRatio(s) name-contained by the same ManagedEntity). - The prioritized resources quota is represented by + - Priortized resources: means the resources are preferentially used by + the associated RRMPolicyMemberList. These resources are guaranteed for + use by the associated RRMPolicyMemberList when it needs to use them. + When not used, these resources may be used by other + rRMPolicyMemberList(s) (i.e. the rRMPolicyMemberList(s) defined in + RRMPolicyRatio(s) name-contained by the same ManagedEntity). + The prioritized resources quota is represented by [rRMPolicyMinRatio-rRMPolicyDedicatedRatio] - - Dedicated resources: means the resources are dedicated for use by - the associated RRMPolicyMemberList. These resources can not be shared - even if the associated RRMPolicyMember does not use them. The Dedicated + - Dedicated resources: means the resources are dedicated for use by + the associated RRMPolicyMemberList. These resources can not be shared + even if the associated RRMPolicyMember does not use them. The Dedicated resources quota is represented by [rRMPolicyDedicatedRatio]."; key id; uses top3gpp:Top_Grp; @@ -176,12 +176,12 @@ module _3gpp-nr-nrm-rrmpolicy { } } } - + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + "nrcellcu3gpp:NRCellCU" { uses RRMPolicySubtree; - } - + } + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/" + "nrcelldu3gpp:NRCellDU" { uses RRMPolicySubtree; diff --git a/yang-models/_3gpp-ns-nrm-sliceprofile.yang b/yang-models/_3gpp-ns-nrm-sliceprofile.yang index 6ba9a70cbfdefd4ca854bc4070780611aeb1d636..9152cd7d22b7ffcfcefa48cb2d4d183c5e04a89d 100755 --- a/yang-models/_3gpp-ns-nrm-sliceprofile.yang +++ b/yang-models/_3gpp-ns-nrm-sliceprofile.yang @@ -6,33 +6,33 @@ submodule _3gpp-ns-nrm-sliceprofile { import _3gpp-5g-common-yang-types { prefix types5g3gpp; } // import _3gpp-ns-nrm-networkslice { prefix ns3gpp; } import _3gpp-ns-nrm-common { prefix ns3cmn3gpp; } - + organization "3GPP SA5"; - contact + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Represents the properties of network slice subnet related - requirement that should be supported by the network slice subnet + description "Represents the properties of network slice subnet related + requirement that should be supported by the network slice subnet instance in a 5G network. - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 - Management and orchestration; + Management and orchestration; 5G Network Resource Model (NRM); Information model definitions for network slice NRM (chapter 6) "; revision 2025-01-25 { reference CR-1442; } revision 2023-11-04 { reference CR-1129; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } - revision 2021-07-20 { reference CR-0566; } + revision 2021-07-20 { reference CR-0566; } revision 2021-05-05 { reference CR-0485; } revision 2020-02-19 { description "Introduction of YANG definitions for network slice NRM"; reference "CR-0458"; } - + revision 2019-05-27 { description "initial revision."; reference "Based on @@ -59,7 +59,7 @@ submodule _3gpp-ns-nrm-sliceprofile { grouping PositioningGrp { description "Represents positioning support."; reference "Clause 3.4.20 of GSMA NG.116 "; - + uses ns3cmn3gpp:ServAttrComGrp ; leaf-list availability { type enumeration { @@ -72,12 +72,12 @@ submodule _3gpp-ns-nrm-sliceprofile { } min-elements 1; config false; - description "Specifies if this attribute is provided by the RAN domain - of the network slice and contains a list of positioning methods - provided by the RAN domain. If the list is empty this attribute is - not available in the RAN domain and the other parameters might be + description "Specifies if this attribute is provided by the RAN domain + of the network slice and contains a list of positioning methods + provided by the RAN domain. If the list is empty this attribute is + not available in the RAN domain and the other parameters might be ignored, see NG.116. Values allowed: are - CIDE-CID (LTE and NR), OTDOA (LTE and NR), RF fingerprinting, AECID, + CIDE-CID (LTE and NR), OTDOA (LTE and NR), RF fingerprinting, AECID, Hybrid positioning, NET-RTK."; } leaf predictionfrequency { @@ -87,10 +87,10 @@ submodule _3gpp-ns-nrm-sliceprofile { enum PERHOUR; } mandatory true; - description "Specifies how often location information is provided. - This parameter simply defines how often the customer is allowed to - request location information. This is not related to the time it - takes to determine the location, which is a characteristic of the + description "Specifies how often location information is provided. + This parameter simply defines how often the customer is allowed to + request location information. This is not related to the time it + takes to determine the location, which is a characteristic of the positioning method. If leaf-list availability is empty, the value has no meaning."; reference "NG.116"; @@ -98,11 +98,11 @@ submodule _3gpp-ns-nrm-sliceprofile { leaf accuracy { type decimal64 { fraction-digits 2; - } + } units meter; mandatory true; - description "Specifies the accuracy of the location information. - Accuracy depends on the respective positioning solution applied in the + description "Specifies the accuracy of the location information. + Accuracy depends on the respective positioning solution applied in the RAN domain of the network slice."; reference "NG.116"; } @@ -110,8 +110,8 @@ submodule _3gpp-ns-nrm-sliceprofile { grouping TopSliceSubnetProfileGrp { leaf latency { - description "The packet transmission latency (milliseconds) through - the RAN, CN, and TN part of 5G network, used to evaluate + description "The packet transmission latency (milliseconds) through + the RAN, CN, and TN part of 5G network, used to evaluate utilization performance of the end-to-end network slice instance."; reference "3GPP TS 28.554 clause 6.3.1"; //optional support @@ -120,7 +120,7 @@ submodule _3gpp-ns-nrm-sliceprofile { units milliseconds; } leaf maxNumberofUEs { - description "Specifies the maximum number of UEs may simultaneously + description "Specifies the maximum number of UEs may simultaneously access the network slice instance."; //optional support mandatory true; @@ -180,12 +180,12 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - description "This parameter specifies the maximum packet size + description "This parameter specifies the maximum packet size supported by the network slice"; list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -202,7 +202,7 @@ submodule _3gpp-ns-nrm-sliceprofile { } } list maxNumberofPDUSessions { - description "Represents the maximum number of + description "Represents the maximum number of concurrent PDU sessions supported by the network slice"; config false; key idx; @@ -212,9 +212,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -231,13 +231,13 @@ submodule _3gpp-ns-nrm-sliceprofile { } leaf sliceSimultaneousUse { description "This attribute describes whether a network slice - can be simultaneously used by a device together with other + can be simultaneously used by a device together with other network slices and if so, with which other classes of network slices."; type SliceSimultaneousUse-enum; - } + } list delayTolerance { - description "An attribute specifies the properties of service delivery - flexibility, especially for the vertical services that are not + description "An attribute specifies the properties of service delivery + flexibility, especially for the vertical services that are not chasing a high system performance."; reference "TS 22.104 clause 4.3"; config false; @@ -248,9 +248,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -261,14 +261,14 @@ submodule _3gpp-ns-nrm-sliceprofile { uses ns3cmn3gpp:ServAttrComGrp; } leaf support { - description "An attribute specifies whether or not the network - slice supports service delivery flexibility, especially for the + description "An attribute specifies whether or not the network + slice supports service delivery flexibility, especially for the vertical services that are not chasing a high system performance."; type ns3cmn3gpp:Support-enum; } } list termDensity { - description "An attribute specifies the overall user density over + description "An attribute specifies the overall user density over the coverage area of the network slice"; config false; key idx; @@ -278,9 +278,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -293,13 +293,13 @@ submodule _3gpp-ns-nrm-sliceprofile { leaf density { type uint32; units users/km2; - } + } } leaf activityFactor { - //Stage2 issue: This is modeled as writable/config true in 28.542, + //Stage2 issue: This is modeled as writable/config true in 28.542, // but that does not appear to match the description - description "An attribute specifies the percentage value of the - amount of simultaneous active UEs to the total number of UEs where + description "An attribute specifies the percentage value of the + amount of simultaneous active UEs to the total number of UEs where active means the UEs are exchanging data with the network"; reference "TS 22.261 Table 7.1-1"; type decimal64 { @@ -315,47 +315,47 @@ submodule _3gpp-ns-nrm-sliceprofile { uses types3gpp:TaiGrp; } leaf uEMobilityLevel { - description "The mobility level of UE accessing the network slice + description "The mobility level of UE accessing the network slice instance."; //optional support type types3gpp:UeMobilityLevel; } - + leaf resourceSharingLevel { - description "Specifies whether the resources to be allocated to the - network slice subnet instance may be shared with another network + description "Specifies whether the resources to be allocated to the + network slice subnet instance may be shared with another network slice subnet instance(s)."; //optional support type types3gpp:ResourceSharingLevel; } leaf uESpeed { - //Stage2 issue: This is modeled as writable/config true in 28.542, + //Stage2 issue: This is modeled as writable/config true in 28.542, // but that does not appear to match the description - description "An attribute specifies the maximum speed (in km/hour) - supported by the network slice at which a defined QoS can be + description "An attribute specifies the maximum speed (in km/hour) + supported by the network slice at which a defined QoS can be achieved"; type uint32; units km/h; } leaf reliability { - description "An attribute specifies in the context of network layer - packet transmissions, percentage value of the amount of sent - network layer packets successfully delivered to a given system - entity within the time constraint required by the targeted service, + description "An attribute specifies in the context of network layer + packet transmissions, percentage value of the amount of sent + network layer packets successfully delivered to a given system + entity within the time constraint required by the targeted service, divided by the total number of sent network layer packets."; reference "TS 22.261, TS 22.104"; type string; } leaf serviceType { - description "An attribute specifies the standardized network slice type. - allowedValues: eMBB, URLLC, MIoT, V2X."; + description "An attribute specifies the standardized network slice type. + allowedValues: eMBB, URLLC, MIoT, V2X."; type ServiceType-enum; } list deterministicComm { - //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, + //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, // but I guess determinComm is meant - description "This list represents the properties of the deterministic - communication for periodic user traffic. Periodic traffic refers to the + description "This list represents the properties of the deterministic + communication for periodic user traffic. Periodic traffic refers to the type of traffic with periodic transmissions."; key idx; max-elements 1; @@ -364,9 +364,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; config false; key idx; @@ -378,20 +378,20 @@ submodule _3gpp-ns-nrm-sliceprofile { uses ns3cmn3gpp:ServAttrComGrp; } leaf availability { - //Stage2 issue: Defined differently in 28.541 chapter 6, but XML + //Stage2 issue: Defined differently in 28.541 chapter 6, but XML // uses DeterminCommAvailability config false; type ns3cmn3gpp:DeterminCommAvailability; } leaf periodicityList { - //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML + //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML // says "string". type string; } } leaf survivalTime { - description "An attribute specifies the time that an application - consuming a communication service may continue without an + description "An attribute specifies the time that an application + consuming a communication service may continue without an anticipated message."; reference "TS 22.104 clause 5"; type string; @@ -400,17 +400,17 @@ submodule _3gpp-ns-nrm-sliceprofile { key predictionfrequency; min-elements 1; max-elements 1; - description "Specifies whether the network slice provides + description "Specifies whether the network slice provides geo-localization methods or supporting methods"; reference "Clause 3.4.20 of NG.116"; uses PositioningGrp; } } - + grouping CNSliceSubnetProfileGrp { leaf latency { - description "The packet transmission latency (milliseconds) through - the RAN, CN, and TN part of 5G network, used to evaluate + description "The packet transmission latency (milliseconds) through + the RAN, CN, and TN part of 5G network, used to evaluate utilization performance of the end-to-end network slice instance."; reference "3GPP TS 28.554 clause 6.3.1"; //optional support @@ -419,7 +419,7 @@ submodule _3gpp-ns-nrm-sliceprofile { units milliseconds; } leaf maxNumberofUEs { - description "Specifies the maximum number of UEs may simultaneously + description "Specifies the maximum number of UEs may simultaneously access the network slice instance."; //optional support mandatory true; @@ -479,12 +479,12 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - description "This parameter specifies the maximum packet size + description "This parameter specifies the maximum packet size supported by the network slice"; list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -501,7 +501,7 @@ submodule _3gpp-ns-nrm-sliceprofile { } } list maxNumberofPDUSessions { - description "Represents the maximum number of + description "Represents the maximum number of concurrent PDU sessions supported by the network slice"; //optional config false; @@ -512,9 +512,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -531,13 +531,13 @@ submodule _3gpp-ns-nrm-sliceprofile { } leaf sliceSimultaneousUse { description "This attribute describes whether a network slice - can be simultaneously used by a device together with other + can be simultaneously used by a device together with other network slices and if so, with which other classes of network slices."; type SliceSimultaneousUse-enum; - } + } list delayTolerance { - description "An attribute specifies the properties of service delivery - flexibility, especially for the vertical services that are not + description "An attribute specifies the properties of service delivery + flexibility, especially for the vertical services that are not chasing a high system performance."; reference "TS 22.104 clause 4.3"; config false; @@ -548,9 +548,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -561,8 +561,8 @@ submodule _3gpp-ns-nrm-sliceprofile { uses ns3cmn3gpp:ServAttrComGrp; } leaf support { - description "An attribute specifies whether or not the network - slice supports service delivery flexibility, especially for the + description "An attribute specifies whether or not the network + slice supports service delivery flexibility, especially for the vertical services that are not chasing a high system performance."; type ns3cmn3gpp:Support-enum; } @@ -576,18 +576,18 @@ submodule _3gpp-ns-nrm-sliceprofile { uses types3gpp:TaiGrp; } leaf resourceSharingLevel { - description "Specifies whether the resources to be allocated to the - network slice subnet instance may be shared with another network + description "Specifies whether the resources to be allocated to the + network slice subnet instance may be shared with another network slice subnet instance(s)."; //optional support type types3gpp:ResourceSharingLevel; } list deterministicComm { - //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, + //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, // but I guess determinComm is meant - description "This list represents the properties of the deterministic - communication for periodic user traffic. Periodic traffic refers to the + description "This list represents the properties of the deterministic + communication for periodic user traffic. Periodic traffic refers to the type of traffic with periodic transmissions."; key idx; max-elements 1; @@ -596,9 +596,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; config false; key idx; @@ -610,13 +610,13 @@ submodule _3gpp-ns-nrm-sliceprofile { uses ns3cmn3gpp:ServAttrComGrp; } leaf availability { - //Stage2 issue: Defined differently in 28.541 chapter 6, but XML + //Stage2 issue: Defined differently in 28.541 chapter 6, but XML // uses DeterminCommAvailability config false; type ns3cmn3gpp:DeterminCommAvailability; } leaf periodicityList { - //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML + //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML // says "string". type string; } @@ -626,8 +626,8 @@ submodule _3gpp-ns-nrm-sliceprofile { grouping RANSliceSubnetProfileGrp { description "Represents the RANSliceSubnetProfile datatype"; leaf latency { - description "The packet transmission latency (milliseconds) through - the RAN, CN, and TN part of 5G network, used to evaluate + description "The packet transmission latency (milliseconds) through + the RAN, CN, and TN part of 5G network, used to evaluate utilization performance of the end-to-end network slice instance."; reference "3GPP TS 28.554 clause 6.3.1"; //optional support @@ -636,7 +636,7 @@ submodule _3gpp-ns-nrm-sliceprofile { units milliseconds; } leaf maxNumberofUEs { - description "Specifies the maximum number of UEs may simultaneously + description "Specifies the maximum number of UEs may simultaneously access the network slice instance."; //optional support mandatory true; @@ -653,7 +653,7 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } uses ns3cmn3gpp:XLThptGrp; - } + } list dLThptPerUE { description "This attribute defines data rate supported by the network slice per UE, refer NG.116."; @@ -696,12 +696,12 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - description "This parameter specifies the maximum packet size + description "This parameter specifies the maximum packet size supported by the network slice"; list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -718,8 +718,8 @@ submodule _3gpp-ns-nrm-sliceprofile { } } list delayTolerance { - description "An attribute specifies the properties of service delivery - flexibility, especially for the vertical services that are not + description "An attribute specifies the properties of service delivery + flexibility, especially for the vertical services that are not chasing a high system performance."; reference "TS 22.104 clause 4.3"; config false; @@ -730,9 +730,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -743,20 +743,20 @@ submodule _3gpp-ns-nrm-sliceprofile { uses ns3cmn3gpp:ServAttrComGrp; } leaf support { - description "An attribute specifies whether or not the network - slice supports service delivery flexibility, especially for the + description "An attribute specifies whether or not the network + slice supports service delivery flexibility, especially for the vertical services that are not chasing a high system performance."; type ns3cmn3gpp:Support-enum; } } leaf sliceSimultaneousUse { description "This attribute describes whether a network slice - can be simultaneously used by a device together with other + can be simultaneously used by a device together with other network slices and if so, with which other classes of network slices."; type SliceSimultaneousUse-enum; - } + } list termDensity { - description "An attribute specifies the overall user density over + description "An attribute specifies the overall user density over the coverage area of the network slice"; config false; key idx; @@ -766,9 +766,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -781,13 +781,13 @@ submodule _3gpp-ns-nrm-sliceprofile { leaf density { type uint32; units users/km2; - } + } } leaf activityFactor { - //Stage2 issue: This is modeled as writable/config true in 28.542, + //Stage2 issue: This is modeled as writable/config true in 28.542, // but that does not appear to match the description - description "An attribute specifies the percentage value of the - amount of simultaneous active UEs to the total number of UEs where + description "An attribute specifies the percentage value of the + amount of simultaneous active UEs to the total number of UEs where active means the UEs are exchanging data with the network"; reference "TS 22.261 Table 7.1-1"; type decimal64 { @@ -803,47 +803,47 @@ submodule _3gpp-ns-nrm-sliceprofile { uses types3gpp:TaiGrp; } leaf uEMobilityLevel { - description "The mobility level of UE accessing the network slice + description "The mobility level of UE accessing the network slice instance."; //optional support type types3gpp:UeMobilityLevel; } - + leaf resourceSharingLevel { - description "Specifies whether the resources to be allocated to the - network slice subnet instance may be shared with another network + description "Specifies whether the resources to be allocated to the + network slice subnet instance may be shared with another network slice subnet instance(s)."; //optional support type types3gpp:ResourceSharingLevel; } leaf uESpeed { - //Stage2 issue: This is modeled as writable/config true in 28.542, + //Stage2 issue: This is modeled as writable/config true in 28.542, // but that does not appear to match the description - description "An attribute specifies the maximum speed (in km/hour) - supported by the network slice at which a defined QoS can be + description "An attribute specifies the maximum speed (in km/hour) + supported by the network slice at which a defined QoS can be achieved"; type uint32; units km/h; } leaf reliability { - description "An attribute specifies in the context of network layer - packet transmissions, percentage value of the amount of sent - network layer packets successfully delivered to a given system - entity within the time constraint required by the targeted service, + description "An attribute specifies in the context of network layer + packet transmissions, percentage value of the amount of sent + network layer packets successfully delivered to a given system + entity within the time constraint required by the targeted service, divided by the total number of sent network layer packets."; reference "TS 22.261, TS 22.104"; type string; } leaf serviceType { - description "An attribute specifies the standardized network slice type. - allowedValues: eMBB, URLLC, MIoT, V2X."; + description "An attribute specifies the standardized network slice type. + allowedValues: eMBB, URLLC, MIoT, V2X."; type ServiceType-enum; } list deterministicComm { - //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, + //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, // but I guess determinComm is meant - description "This list represents the properties of the deterministic - communication for periodic user traffic. Periodic traffic refers to the + description "This list represents the properties of the deterministic + communication for periodic user traffic. Periodic traffic refers to the type of traffic with periodic transmissions."; key idx; max-elements 1; @@ -852,9 +852,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; config false; key idx; @@ -866,20 +866,20 @@ submodule _3gpp-ns-nrm-sliceprofile { uses ns3cmn3gpp:ServAttrComGrp; } leaf availability { - //Stage2 issue: Defined differently in 28.541 chapter 6, but XML + //Stage2 issue: Defined differently in 28.541 chapter 6, but XML // uses DeterminCommAvailability config false; type ns3cmn3gpp:DeterminCommAvailability; } leaf periodicityList { - //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML + //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML // says "string". type string; } } leaf survivalTime { - description "An attribute specifies the time that an application - consuming a communication service may continue without an + description "An attribute specifies the time that an application + consuming a communication service may continue without an anticipated message."; reference "TS 22.104 clause 5"; type string; @@ -887,7 +887,7 @@ submodule _3gpp-ns-nrm-sliceprofile { list positioning { min-elements 1; max-elements 1; - description "Specifies whether the RAN domain of the network slice + description "Specifies whether the RAN domain of the network slice provides geo-localization methods or supporting methods."; reference "Clause 3.4.20 of NG.116 [50]."; uses PositioningGrp; @@ -896,14 +896,14 @@ submodule _3gpp-ns-nrm-sliceprofile { grouping SliceProfileGrp { leaf sliceProfileId { - description "A unique identifier of the property of network slice - subnet related requirement should be supported by the network + description "A unique identifier of the property of network slice + subnet related requirement should be supported by the network slice subnet instance."; type types3gpp:DistinguishedName; } - + list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of + description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) An S-NSSAI has an SST (Slice/Service type) and an optional SD (Slice Differentiator) field."; @@ -915,10 +915,10 @@ submodule _3gpp-ns-nrm-sliceprofile { } uses types5g3gpp:SNssai; } - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). The PLMN Identifier is composed + description "List of at most six entries of PLMN Identifiers, but at + least one (the primary PLMN Id). The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; max-elements 6; @@ -926,15 +926,15 @@ submodule _3gpp-ns-nrm-sliceprofile { ordered-by user; uses types3gpp:PLMNId; } - + leaf maxNumberofUEs { - description "Specifies the maximum number of UEs may simultaneously + description "Specifies the maximum number of UEs may simultaneously access the network slice instance."; //optional support mandatory true; type uint64; } - + list coverageAreaTAList { description "A list of TrackingAreas where the NSI can be selected."; key idx; //no obvious leaf to use as a key @@ -943,10 +943,10 @@ submodule _3gpp-ns-nrm-sliceprofile { min-elements 1; uses types3gpp:TaiGrp; } - + leaf latency { - description "The packet transmission latency (milliseconds) through - the RAN, CN, and TN part of 5G network, used to evaluate + description "The packet transmission latency (milliseconds) through + the RAN, CN, and TN part of 5G network, used to evaluate utilization performance of the end-to-end network slice instance."; reference "3GPP TS 28.554 clause 6.3.1"; //optional support @@ -954,53 +954,53 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint16; units milliseconds; } - + leaf uEMobilityLevel { - description "The mobility level of UE accessing the network slice + description "The mobility level of UE accessing the network slice instance."; //optional support type types3gpp:UeMobilityLevel; } - + leaf resourceSharingLevel { - description "Specifies whether the resources to be allocated to the - network slice subnet instance may be shared with another network + description "Specifies whether the resources to be allocated to the + network slice subnet instance may be shared with another network slice subnet instance(s)."; //optional support type types3gpp:ResourceSharingLevel; } list CNSliceSubnetProfile { - description " This represents the requirements for the top slice associated with the - network slice. "; + description " This represents the requirements for the top slice associated with the + network slice. "; key idx; max-elements 1; leaf idx { description "Synthetic index for the element."; type uint32; } - uses TopSliceSubnetProfileGrp; + uses TopSliceSubnetProfileGrp; } list RANSliceSubnetProfile { - description " This represents the requirements for the top slice associated with the - network slice. "; + description " This represents the requirements for the top slice associated with the + network slice. "; key idx; max-elements 1; leaf idx { description "Synthetic index for the element."; type uint32; } - uses TopSliceSubnetProfileGrp; + uses TopSliceSubnetProfileGrp; } list TopSliceSubnetProfile { - description " This represents the requirements for the top slice associated with the - network slice. "; + description " This represents the requirements for the top slice associated with the + network slice. "; key idx; max-elements 1; leaf idx { description "Synthetic index for the element."; type uint32; } - uses TopSliceSubnetProfileGrp; + uses TopSliceSubnetProfileGrp; } } } \ No newline at end of file diff --git a/yang-models/_3gpp-stm-nrm-stmfunction.yang b/yang-models/_3gpp-stm-nrm-stmfunction.yang index b26ef7fb2fb5c42d632d6bbb7bbe9268a8be23cd..5392634ae2cddfa694b67150b3bc73f0363c5970 100644 --- a/yang-models/_3gpp-stm-nrm-stmfunction.yang +++ b/yang-models/_3gpp-stm-nrm-stmfunction.yang @@ -13,9 +13,10 @@ module _3gpp-stm-nrm-stmfunction { description "This IOC represents the STM function defined in 3GPP TS 28.560. Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; - reference "3GPP TS 28.abc + reference "3GPP TS 28.560 Signalling traffic monitoring management"; + revision 2025-08-07 { reference "CR-0011"; } revision 2025-05-07 { reference "CR-0009"; } revision 2025-04-19 { reference "CR-0010"; } revision 2024-11-07 { reference "S5-247077"; }