diff --git a/yang-models/_3gpp-5gc-ecmconnectioninfo.yang b/yang-models/_3gpp-5gc-nrm-ecmconnectioninfo.yang similarity index 96% rename from yang-models/_3gpp-5gc-ecmconnectioninfo.yang rename to yang-models/_3gpp-5gc-nrm-ecmconnectioninfo.yang index 07b5dc50ec50a5db7233d0faacef4fc562c2a0ff..b8b795ab4508c1af74d780ad835dc48e6a6afc00 100644 --- a/yang-models/_3gpp-5gc-ecmconnectioninfo.yang +++ b/yang-models/_3gpp-5gc-nrm-ecmconnectioninfo.yang @@ -1,6 +1,6 @@ -module _3gpp-5gc-ecmconnectioninfo { +module _3gpp-5gc-nrm-ecmconnectioninfo { yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-5gc-ecmconnectioninfo"; + namespace "urn:3gpp:sa5:_3gpp-5gc-nrm-ecmconnectioninfo"; prefix "econn3gpp"; import ietf-inet-types { prefix inet; } @@ -11,10 +11,11 @@ module _3gpp-5gc-ecmconnectioninfo { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the EcmConnectionInfo Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2023, 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 5G Network Resource Model (NRM)"; + revision 2024-01-29 { reference CR-1166 ; } revision 2023-11-05 { reference CR-1131 ; } grouping GeoLocGrp { @@ -23,7 +24,7 @@ module _3gpp-5gc-ecmconnectioninfo { list geographicalCoordinates { description "This refers to the Topological Service Area, - (see clause 7.3.3.2 in TS 23.538) that is defined as a datatype + (see clause 7.3.3.2 in TS 23.558) that is defined as a datatype (see clause 6.3.8)."; key latitude; max-elements 1; diff --git a/yang-models/_3gpp-common-filemanagement.yang b/yang-models/_3gpp-common-filemanagement.yang index 271fbac9b4e39fa7dd5648814445534cf7e19c23..836f47ae7024eb4aa218125f15e146225934372d 100644 --- a/yang-models/_3gpp-common-filemanagement.yang +++ b/yang-models/_3gpp-common-filemanagement.yang @@ -5,7 +5,7 @@ module _3gpp-common-filemanagement { import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-yang-types { prefix yang3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } @@ -17,13 +17,14 @@ module _3gpp-common-filemanagement { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + revision 2023-12-17 { reference CR-0327 ; } revision 2023-09-17 { reference CR-0270 ; } revision 2022-10-31 { reference CR-0195; } revision 2022-02-10 { reference "Initial revision, S5-221757"; } grouping FileDownloadProcessMonitor { description "Provides specialisations of the ProcessMonitor datatype."; - uses yang3gpp:ProcessMonitor { + uses types3gpp:ProcessMonitorGrp { refine resultStateInfo { description "If status is FAILED resultStateInfo will be one of the following or empty."; diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index 69b9f32515ef6d0d58d09384ac04ccb77b9b602b..bcd3023546c8bf2b6eb0f6f6d588a492aad7cb8d 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -11,14 +11,14 @@ module _3gpp-common-managed-element { import _3gpp-common-trace { prefix trace3gpp; } import _3gpp-common-files { prefix files3gpp; } import _3gpp-5gc-nrm-configurable5qiset { prefix fiveqi3gpp; } - import _3gpp-5gc-ecmconnectioninfo { prefix econn3gpp ; } + import _3gpp-5gc-nrm-ecmconnectioninfo { prefix econn3gpp ; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines ManagedElement which will be augmented by other IOCs - Copyright 2023, 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.623 Generic Network Resource Model (NRM) @@ -33,6 +33,7 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2024-01-29 { reference CR-0327 ; } revision 2023-11-05 { reference CR-0306 ; } revision 2023-09-17 { reference CR-0270 ; } revision 2022-07-26 { reference CR-0180 ; } diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang index 189e0330da587409bb7d934f887acc11c54bf987..7a2afd820f79832a76550f85a827922259614a01 100755 --- a/yang-models/_3gpp-common-managed-function.yang +++ b/yang-models/_3gpp-common-managed-function.yang @@ -24,6 +24,7 @@ module _3gpp-common-managed-function { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2023-12-17 { reference CR-0327 ; } revision 2023-09-17 { reference CR-0270 ; } revision 2022-10-31 { reference CR-0195; } revision 2022-01-07 { reference "CR-0146"; } @@ -45,7 +46,7 @@ module _3gpp-common-managed-function { description "The TraceSubtree shall be contained under ManagedFunction"; } - grouping Operation { + grouping OperationGrp { description "This data type represents an Operation."; reference "3gpp TS 28.622"; @@ -101,13 +102,13 @@ module _3gpp-common-managed-function { min-elements 1; max-elements 1; description "The service access point of the managed NF service instance"; - uses types3gpp:SAP; + uses types3gpp:SAPGrp; } list operations { key name; min-elements 1; - uses Operation ; + uses OperationGrp ; description "Set of operations supported by the managed NF service instance"; } diff --git a/yang-models/_3gpp-common-management-node.yang b/yang-models/_3gpp-common-management-node.yang new file mode 100644 index 0000000000000000000000000000000000000000..eb48dffaa4db3af0157337d14423c3bf1ee02062 --- /dev/null +++ b/yang-models/_3gpp-common-management-node.yang @@ -0,0 +1,92 @@ +module _3gpp-common-management-node { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-common-management-node; + prefix "mmgmtnode3gpp"; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp ; } + import _3gpp-common-subnetwork { prefix subnet3gpp ; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + + description "Defines ManagementNode IOCs + Copyright 2024, 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.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS) + + 3GPP TS 28.620 + Umbrella Information Model (UIM)"; + + revision 2024-01-29 { reference CR-0327 ; } + + grouping ManagementSystem_Grp { + description "Represents the ManagementSystem_ IOC."; + + leaf userLabel { + type string; + description "A user-friendly (and user assignable) name of this object."; + } + + leaf-list managedElements { + type types3gpp:DistinguishedName; + config false; + description "Contains a list of the DN(s) of the related subclasses of + ManagedElement_ instance(s)."; + } + } + + grouping ManagementNodeGrp { + uses ManagementSystem_Grp; + + leaf vendorName { + type string; + config false; + } + + leaf userDefinedState { + type string; + description "An operator defined state for operator specific usage"; + } + + leaf locationName { + type string; + config false; + description "The physical location of this entity (e.g. an address)."; + } + + leaf swVersion { + type string; + config false; + } + } + + augment /subnet3gpp:SubNetwork { + list ManagementNode { + description "Represents a telecommunications management system (EM) within + the TMN that contains functionality for managing a number of + ManagedElements (MEs). The management system communicates with the MEs + directly or indirectly over one or more interfaces for the purpose + of monitoring and/or controlling these MEs. + + This class has similar characteristics as the ManagedElement. The + main difference between these two classes is that the ManagementNode + has a special association to the managed elements that it is + responsible for managing."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ManagementNodeGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-managementdatacollection.yang b/yang-models/_3gpp-common-managementdatacollection.yang index 7809dbf5e5db3e996221868c592e8605473a61ce..c566d30581393e08bea7914342a3b8216bd4c40d 100644 --- a/yang-models/_3gpp-common-managementdatacollection.yang +++ b/yang-models/_3gpp-common-managementdatacollection.yang @@ -5,10 +5,10 @@ module _3gpp-common-managementdatacollection { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types {prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } //import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -27,36 +27,153 @@ module _3gpp-common-managementdatacollection { Integration Reference Point (IRP); Information Service (IS)"; + revision 2023-12-17 { reference CR-0327 ; } revision 2023-11-17 { reference "CR-0298"; } revision 2023-09-17 { reference CR-0270 ; } revision 2022-11-03 { reference "CR-0193"; } - - grouping Tai { - list plmnId { - description "PLMN Identity."; - min-elements 1; + grouping GeoAreaToCellMappingGrp { + 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 + the corners of a convex polygon."; + key idx; max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; + leaf idx { + type string; + } + uses types3gpp:GeoAreaGrp; } + + leaf associationThreshold { + type uint8 { + range 1..100; + } + units percent; + yext3gpp:inVariant; + description "It specifies the threshold of coverage area in + percentage whether a cell belongs to the geographical area or not. - leaf tac { type types3gpp:Tac; } + 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."; + + choice AreaOfInterestChoice { + + list geoAreaToCellMapping { + description "Contains a geographical area and an association threshold. + The geo-area is defined as a convex polygon using the attribute + 'geoArea'. + + This data type 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 + instantiation of the IOC."; + key idx; + leaf idx { type string; } + uses GeoAreaToCellMappingGrp; + } + + list taiList { + description "Tracking Area Identity list"; + key idx; + max-elements 8; + leaf idx { type string; } + uses types3gpp:TaiGrp; + } + + leaf-list nrCellIdList { + type string; + max-elements 32; + description "List of NR cells identified by NG-RAN CGI"; + } + + leaf-list eutraCellIdList { + type string; + max-elements 32; + description "List of E-UTRAN cells identified by E-UTRAN-CGI"; + } + + leaf-list utraCellIdList { + type string; + max-elements 32; + description "List of UTRAN cells identified by UTRAN CGI"; + } + } + } grouping NodeFilterGrp { + description "This data type defines several selection criteria for the + target node(s) i.e., the node(s) producing the requested management data. + + The attribute 'areaOfInterest' determines the location for which the + management data is collected. The system translates the area into the + target managed objects. The location is either configured by a list of + TAI, a list of cells (identified either by NG-RAN CGI, + E-UTRAN CGI or UTRAN CGI) or by a geographical area. The geographical + area will be mapped to the cells providing coverage for this area. + The cell coverage status at the time of the request is used for the + mapping. Managed objects providing service to these cells are + considered as target managed objects. Furthermore, an object which name + contains or is associated to a managed object providing service to the + considered cell, is considered as target managed object as well. + + The attribute 'networkDomain' is used to select a particular domain + (e.g. RAN, CN) for which the management data is collected. The system + translates this information into the target managed objects. Managed + objects from this selected particular domain (e.g RAN, CN) are + considered as target managed objects. Furthermore, an object which name + contains or is associated to a managed object of that domain, is + considered as target managed object as well. + + The attribute 'cpUpType' is used to select the traffic type (CP, UP) for + which the management data is collected. The system translates this + information into the target managed objects. Managed objects catering + particular traffic type (CP, UP) are considered as target managed objects. + Furthermore, an object which name contains or is associated to a managed + object of that traffic type, shall be considered as target managed + object as well. + + The attribute 'sst' is used to select the SST (Slice/Service Type) + for which the management data is collected. The system translates this + information into the target managed objects. Managed objects related to + particular SST will be considered as target managed objects. + + If it is not possible to select the target node(s) (based on a + particular selection criteria) deterministically, the selection criteria + should not be used."; list areaOfInterest { key idx; leaf idx { type string; } - uses Tai; // (Maybe type: types3gpp:Tai,if we define Tai there.) - // mandatory false - min-elements 1; + uses AreaOfInterestGrp; description "It specifies a location(s) from where the management data - shall be collected. It is defined in terms of TAI(s)."; + shall be collected."; } leaf networkDomain { @@ -64,7 +181,6 @@ module _3gpp-common-managementdatacollection { enum CN; enum RAN; } - // mandatory false description "It specifies the network domain of the target node. This will also result in collecting appropriate management data from the nodes belonging to the specified domain."; @@ -75,7 +191,6 @@ module _3gpp-common-managementdatacollection { enum CP; enum UP; } - // mandatory false description "It specifies the traffic type of the target node. This will also result in collecting appropriate management data from the nodes handling the specified traffic (e.g AMF for CP and UPF for UP)."; @@ -83,7 +198,6 @@ module _3gpp-common-managementdatacollection { leaf sst { type uint8; // TS 28.003 clause 28.4. - //mandatory false; description "It specifies the slice service type (SST) of which the slice subnet should be targeted. Please refer to 3GPP TS 23.501: 'System Architecture for the 5G System'"; @@ -112,15 +226,13 @@ module _3gpp-common-managementdatacollection { } } - grouping ManagementDataCollectionGrp { choice managementData { case mgtDataCategory { - leaf-list category { + leaf-list mgtDataCategory { type mgtDataCategoryType; - min-elements 1; - max-elements 5; // The ENUM contains 5 possible values + yext3gpp:inVariant; description "This attributes defines the type of management data that are requested. @@ -149,9 +261,9 @@ module _3gpp-common-managementdatacollection { } } case mgtDataName { - leaf-list name { + leaf-list mgtDataName { type string; - min-elements 1; + yext3gpp:inVariant; description "A 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. @@ -170,10 +282,7 @@ module _3gpp-common-managementdatacollection { For trace metrics (including trace messages, MDT measurements (Immediate MDT, Logged MDT, Logged MBSFN MDT), 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 management data the name is defined - elsewhere."; + defined in clause 10 of TS 32.422."; } } mandatory true; @@ -181,10 +290,10 @@ module _3gpp-common-managementdatacollection { list targetNodeFilter { key idx; + yext3gpp:inVariant; leaf idx { type string; } - min-elements 1; description "Set of information to target the Object Instance to collect the measurements from."; uses NodeFilterGrp; @@ -192,6 +301,7 @@ module _3gpp-common-managementdatacollection { list collectionTimeWindow { key "startTime endTime"; + yext3gpp:inVariant; max-elements 1; description "Collection time window for which the management data should be reported."; @@ -200,6 +310,7 @@ module _3gpp-common-managementdatacollection { list reportingCtrl { key idx; + yext3gpp:inVariant; leaf idx { type string; } @@ -211,18 +322,17 @@ module _3gpp-common-managementdatacollection { } leaf dataScope { - type enumeration { - enum SNSSAI; - enum 5QI; - } - // mandatory false; [Implicit] - description "It specifies whether the required data is reported per - S-NSSAI or per 5QI."; + yext3gpp:inVariant; + type enumeration { + enum SNSSAI; + enum 5QI; + } + description "It specifies whether the required data is reported per + S-NSSAI or per 5QI."; } } augment /subnet3gpp:SubNetwork { - list ManagementDataCollection { key id; uses top3gpp:Top_Grp ; @@ -245,8 +355,8 @@ module _3gpp-common-managementdatacollection { producing the required management data. In this case consumer can request management data, specified by 3GPP, produced by certain network function(s) based on a particular location, the domain (CN or RAN) of - the network function, and the handled traffic (CP or UP) of the network - function. + the object instances, and the handled traffic (CP or UP) of the object + instances. To activate the production of the requested data, a MnS consumer has to create a 'ManagementDataCollection' object instance on the MnS producer. diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang index 5bc22dcb9db923eb72f1671a599f714aefed86a7..4c184c57bef8e3e09e6a4f633a679dfeba09a7fb 100755 --- a/yang-models/_3gpp-common-measurements.yang +++ b/yang-models/_3gpp-common-measurements.yang @@ -57,6 +57,7 @@ module _3gpp-common-measurements { Integration Reference Point (IRP); Information Service (IS)"; + revision 2024-01-29 { reference "CR-0327"; } revision 2023-11-17 { reference "CR-0298"; } revision 2023-11-05 { reference CR-0306 ; } revision 2023-09-17 { reference CR-0270 ; } @@ -350,8 +351,8 @@ module _3gpp-common-measurements { } units second; mandatory true; - description " Granularity period used to monitor measurements for - threshold crossings. "; + description "Granularity period used to monitor measurements for + threshold crossings."; } leaf-list objectInstances { @@ -518,7 +519,6 @@ module _3gpp-common-measurements { The value is a multiple of a supported granularity period for the measurements being monitored. - Each threshold is identified with a number (key) called thresholdLevel. A threshold is defined using the attributes thresholdValue , thresholdDirection and hysteresis. @@ -533,11 +533,10 @@ module _3gpp-common-measurements { threshold is triggered when the low threshold value is reached or crossed. The hsyteresis ensures that the performance metric value can oscillate around a comparison value without triggering each time the threshold when - the threshold value is crossed. - - Using the thresholdDirection attribute a threshold can be configured in - such a manner that it is triggered only when the monitored performance - metric is going up or down upon reaching or crossing the threshold. + the threshold value is crossed. Using the thresholdDirection attribute a + threshold can be configured in such a manner that it is triggered only + when the monitored performance metric is going up or down upon reaching + or crossing the threshold. A ThresholdMonitor creation request shall be rejected, if the performance metrics requested to be monitored, the requested granularity period, or @@ -547,7 +546,16 @@ module _3gpp-common-measurements { Creation and deletion of ThresholdMonitor instances by MnS consumers is optional; when not supported, ThresholdMonitor instances may be created - and deleted by the system or be pre-installed."; + and deleted by the system or be pre-installed. + + A threshold crossing event detected by a 'ThresholdMonitor' shall + trigger a 'notifyThresholdCrossing' notification. To subscribe to + 'notifyThresholdCrossing' notifications the MnS consumer shall specify + one or more 'ThresholdMonitor' instances in the subscription. All + threshold crossings detected by the specified 'ThresholdMonitor' + instances are sent as 'notifyThresholdCrossing' to subscribed MnS + consumers (unless filtered out by the 'notificationFilter' attribute + of 'NtfSubscriptionControl')."; uses top3gpp:Top_Grp ; diff --git a/yang-models/_3gpp-common-mnsagent.yang b/yang-models/_3gpp-common-mnsagent.yang new file mode 100644 index 0000000000000000000000000000000000000000..9b57f74f97426a84e122f481a1182aa727f7f78d --- /dev/null +++ b/yang-models/_3gpp-common-mnsagent.yang @@ -0,0 +1,91 @@ +module _3gpp-common-mnsagent { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-common-mnsagent; + prefix "magent3gpp"; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp ; } + import _3gpp-common-managed-element { prefix me3gpp ; } + import _3gpp-common-subnetwork { prefix subnet3gpp ; } + import _3gpp-common-management-node { prefix mmgmtnode3gpp ; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + + description "Defines MnsAgent IOCs + Copyright 2024, 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.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS) + + 3GPP TS 28.620 + Umbrella Information Model (UIM)"; + + revision 2024-01-29 { reference CR-0327 ; } + + feature MnsAgentUnderManagedElement { + description "MnsAgent shall be contained under ManagedElement."; + } + + feature MnsAgentUnderSubNetwork { + description "MnsAgent shall be contained under SubNetwork."; + } + + feature MnsAgentUnderManagementNode { + description "MnsAgent shall be contained under ManagementNode."; + } + + grouping MnsAgentGrp { + description "Represents the MnsAgentGrp IOC."; + + leaf systemDN { + type types3gpp:DistinguishedName; + config false; + description "Distinguished Name (DN) of a IRPAgent or a MnSAgent."; + } + } + + grouping MnsAgentSubtree { + list MnsAgent { + description "The MnsAgent represents the MnS producers, incl. the + supporting hardware and software, available for a certain management + scope that is related to the object name-containing the MnS Agent. + The MnSAgent can be name-contained under an IOC as follows: + 1) ManagementNode; + 2) SubNetwork, if the SubNetwork does not contain a ManagementNode; + 3) ManagedElement, if it is the root element. + In case the MnsAgent is name-contained under a ManagementNode, the + management scope is the complete management scope of the + ManagementNode or a subset thereof. + In case the MnsAgent is name-contained under a SubNetwork, the + management scope is the complete SubNetwork or a subset thereof. + In case the MnsAgent is name-contained under a ManagedElement, the + management scope is the complete ManagedElement or a subset thereof."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MnsAgentGrp; + } + } + } + + augment /me3gpp:ManagedElement { + if-feature MnsAgentUnderManagedElement; + uses MnsAgentSubtree; + } + augment /subnet3gpp:SubNetwork { + if-feature MnsAgentUnderSubNetwork; + uses MnsAgentSubtree; + } + augment /subnet3gpp:SubNetwork/mmgmtnode3gpp:ManagementNode { + if-feature MnsAgentUnderManagementNode; + uses MnsAgentSubtree; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index ea698414ae1f3a14c4b40a96a79979db2cd0c03f..b13f935922864c03fee62512117f97e68b88acd6 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -12,13 +12,13 @@ module _3gpp-common-subnetwork { import ietf-yang-schema-mount { prefix yangmnt; } import _3gpp-common-files { prefix files3gpp; } import _3gpp-5gc-nrm-configurable5qiset { prefix fiveqi3gpp; } - import _3gpp-5gc-ecmconnectioninfo { prefix econn3gpp ; } + import _3gpp-5gc-nrm-ecmconnectioninfo { prefix econn3gpp ; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines basic SubNetwork which will be augmented by other IOCs - Copyright 2023, 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.623 Generic Network Resource Model (NRM) @@ -33,6 +33,7 @@ module _3gpp-common-subnetwork { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2024-01-29 { reference CR-0327 ; } revision 2023-11-05 { reference CR-0306 ; } revision 2023-09-17 { reference CR-0270 ; } revision 2022-07-26 { reference CR-0180 ; } diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 95d93c149cbfb27f213668265c06fe17c976090b..239fc219246be3b11ed3b9ce2c3c1d468768a31f 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -16,6 +16,7 @@ module _3gpp-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; + revision 2023-12-17 { reference CR-0327 ; } revision 2023-11-05 { reference "CR-0306 CR-1130zz" ; } revision 2023-09-17 { reference CR-0270 ; } revision 2023-08-09 { reference CR-0265; } @@ -67,7 +68,7 @@ module _3gpp-common-yang-types { leaf value { type string; } } - grouping ProcessMonitor { + 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 @@ -398,7 +399,7 @@ module _3gpp-common-yang-types { reference "ITU T Recommendation X.731"; } - grouping SAP { + grouping SAPGrp { leaf host { type inet:host; mandatory true; @@ -556,6 +557,56 @@ module _3gpp-common-yang-types { reference "TS 23.003 clause 19.4.2.3"; } + grouping GeoCoordinateGrp { + 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 + 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 + degrees east of 0 degrees longitude."; + } + + leaf altitude { + type decimal64 { + fraction-digits 4; + } + units meters; + description "It is the vertical distance between the point of interest + from the mean sea level measured in metres."; + } + } + + grouping GeoAreaGrp { + description "This data type defines a geographical area. + The geo-area is defined using a convex polygon in the attribute + 'convexGeoPolygon'."; + + list convexGeoPolygon { + 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 uint8 ; @@ -917,26 +968,20 @@ module _3gpp-common-yang-types { Applicable when the file-based reporting method is supported."; } - choice reporting-target { - case file-target { - 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 MnS - consumer."; - } - } - case notification-target { - leaf notificationRecipientAddress { - type string; - description "Must be present when the notification-based reporting - method is supported, and the the files are available as - notifications for the MnS consumer to subscribe to."; - } - } - description "When netiher fileLocation or notificationRecipientAddress - are present, the files are stored and available to the MnS consumer - if the MnS subscribes to the notifyFileReady notification."; + + leaf fileLocation { + type string ; + must "not(../notificationRecipientAddress)"; + description "Applicable and must be present when the file-based + reporting method is supported, and the files are stored on the MnS + consumer."; + } + + leaf notificationRecipientAddress { + type string; + description "Must be present when the notification-based reporting + method is supported, and the the files are available as + notifications for the MnS consumer to subscribe to."; } }