diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 230be90ff089ae166995e054708d8d7e34cb5f17..4227463e99347c4444f687c7b7a6eebcb3fb240a 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -1,71 +1,71 @@ -module _3gpp-5g-common-yang-types { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-5g-common-yang-types"; - prefix "types5g3gpp"; - - - import _3gpp-common-yang-types { prefix types3gpp; } - - organization "3GPP SA5"; - description "The model defines common types for 5G networks and - network slicing."; - reference "3GPP TS 28.541"; - - revision 2019-10-20 { - description "Initial version."; - reference "Based on - 3GPP TS 28.541 V16.X.XX"; - } - - typedef CommModelType { - reference "3GPP TS 23501"; - type enumeration { - enum DIRECT_COMMUNICATION_WO_NRF { - value 0; - description "Directly communicate to other pre-configured NF service."; - } - - enum DIRECT_COMMUNICATION_WITH_NRF { - value 1; - 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 SCP as a proxy."; - } - - enum INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY { - value 3; - description "Communication to NF service discovered by NRF through SCP as a proxy."; - } - - } - } - - grouping CommModel { - leaf groupId { - type uint16; - } - leaf commModelType { - type CommModelType; - } - leaf-list targetNFServiceList { - - type types3gpp:DistinguishedName; - } - leaf commModelConfiguration { - type string; - } - } - - grouping SupportedFunc { - leaf function { - type string; - } - leaf policy { - type string; - } - } - +module _3gpp-5g-common-yang-types { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-5g-common-yang-types"; + prefix "types5g3gpp"; + + + import _3gpp-common-yang-types { prefix types3gpp; } + + organization "3GPP SA5"; + description "The model defines common types for 5G networks and + network slicing."; + reference "3GPP TS 28.541"; + + revision 2019-10-20 { + description "Initial version."; + reference "Based on + 3GPP TS 28.541 V16.X.XX"; + } + + typedef CommModelType { + reference "3GPP TS 23501"; + type enumeration { + enum DIRECT_COMMUNICATION_WO_NRF { + value 0; + description "Directly communicate to other pre-configured NF service."; + } + + enum DIRECT_COMMUNICATION_WITH_NRF { + value 1; + 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 SCP as a proxy."; + } + + enum INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY { + value 3; + description "Communication to NF service discovered by NRF through SCP as a proxy."; + } + + } + } + + grouping CommModel { + leaf groupId { + type uint16; + } + leaf commModelType { + type CommModelType; + } + leaf-list targetNFServiceList { + + type types3gpp:DistinguishedName; + } + leaf commModelConfiguration { + type string; + } + } + + grouping SupportedFunc { + leaf function { + type string; + } + leaf policy { + type string; + } + } + } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang new file mode 100755 index 0000000000000000000000000000000000000000..fabfe4336b0717345d89d6e0b329a09fce36bcf9 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang @@ -0,0 +1,58 @@ +module _3gpp-5gc-nrm-FiveQiDscpMappingSet { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-FiveQiDscpMappingSet; + prefix FiveQiDscpMapping3gpp; + + 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."; + reference "3GPP TS 28.541"; + + revision 2020-08-03 { reference "CR-0321"; } + revision 2020-05-27 { reference "CR-0287"; } + + grouping FiveQiDscpMapping { + leaf-list fiveQIValues { + type uint32 { + range 0..255 ; + } + min-elements 1; + description " Identifies the 5QI values that are mapped to a same DSCP, as specified in TS 28.541."; + } + + leaf dscp { + type uint32 { + range 0..255 ; + } + mandatory true; + } + } + + grouping FiveQiDscpMappingSetGrp { + description "Represents the FiveQiDscpMappingSet IOC."; + list FiveQiDscpMappingList { + key "dscp"; + uses FiveQiDscpMapping; + } + } + + grouping FiveQiDscpMappingSetSubtree { + list FiveQiDscpMappingSet { + description "Specifies the mapping between 5QIs and DSCPs."; + key id; + uses top3gpp:Top_Grp; + 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-GtpUPathQoSMonitoringControl.yang b/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang new file mode 100755 index 0000000000000000000000000000000000000000..491226a18c978110b75f07a048743812bbc9ff6b --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang @@ -0,0 +1,136 @@ +module _3gpp-5gc-nrm-GtpUPathQoSMonitoringControl { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-GtpUPathQoSMonitoringControl; + prefix gtpUPathQMCtrl3gpp; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } + 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 capabilities and properties for control + of GTP-U path QoS monitoring defined in 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-08-03 { reference "CR-0321"; } + revision 2020-04-10 { reference "S5-202103"; } + + grouping GtpUPathDelayThresholdsType { + leaf n3AveragePacketDelayThreshold { + mandatory true; + type uint32; + } + leaf n3MinPacketDelayThreshold { + mandatory true; + type uint32; + } + leaf n3MaxPacketDelayThreshold { + mandatory true; + type uint32; + } + leaf n9AveragePacketDelayThreshold { + mandatory true; + type uint32; + } + leaf n9MinPacketDelayThreshold { + mandatory true; + type uint32; + } + leaf n9MaxPacketDelayThreshold { + mandatory true; + type uint32; + } + } + + grouping GtpUPathQoSMonitoringControlGrp { + description "Represents the GtpUPathQoSMonitoringControl IOC."; + + leaf gtpUPathQoSMonitoringState { + description "The state of GTP-U path QoS monitoring."; + mandatory true; + type enumeration { + enum ENABLED; + enum DISABLED; + } + } + + leaf-list gtpUPathMonitoredSNSSAIs { + description "The S-NSSAIs for which the the GTP-U path QoS monitoring is + to be performed."; + reference "3GPP TS 23.003"; + type types3gpp:SNssai; + } + + leaf-list monitoredDSCPs { + description "The DSCPs for which the GTP-U path QoS monitoring is to be + performed."; + reference "3GPP TS 29.244"; + type uint32; + } + + leaf isEventTriggeredGtpUPathMonitoringSupported { + description "It indicates whether the event triggered GTP-U path QoS + monitoring reporting based on thresholds is supported."; + mandatory true; + reference "3GPP TS 29.244"; + type boolean; + } + + leaf isPeriodicGtpUMonitoringSupported { + description "It indicates whether the periodic GTP-U path QoS monitoring + reporting is supported."; + mandatory true; + reference "3GPP TS 29.244"; + type boolean; + } + + leaf isImmediateGtpUMonitoringSupported { + description "It indicates whether the immediate GTP-U path QoS monitoring + reporting is supported."; + mandatory true; + reference "3GPP TS 29.244"; + type boolean; + } + + list gtpUPathDelayThresholds { + key n3AveragePacketDelayThreshold; + // if max-elements is increased later, the key may need to be modified + min-elements 1; + max-elements 1; + description "It specifies the thresholds for reporting the packet delay + for the GTO-U path QoS monitoring."; + uses GtpUPathDelayThresholdsType; + } + + leaf gtpUPathMinimumWaitTime { + description "It specifies the minimum waiting time (in seconds) between + two consecutive reports for event triggered GTP-U path QoS monitoring + reporting."; + type uint32; + } + + leaf gtpUPathMeasurementPeriod { + description "It specifies the period (in seconds) for reporting the packet + delay for GTP-U path QoS monitoring."; + type uint32; + } + } + + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { + + list GtpUPathQoSMonitoringControl { + description "Specifies the capabilities and properties for control of + GTP-U path QoS monitoring. For more information about the GTP-U path + QoS monitoring."; + reference "3GPP TS 23.501"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses GtpUPathQoSMonitoringControlGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang b/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang new file mode 100755 index 0000000000000000000000000000000000000000..0d814b663993694b106fbe8413603565ba4d1415 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-QFQoSMonitoringControl.yang @@ -0,0 +1,130 @@ +module _3gpp-5gc-nrm-QFQoSMonitoringControl { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-QFQoSMonitoringControl; + prefix qFQMCtrl3gpp; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } + 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 capabilities and properties for control + of QoS monitoring per QoS flow per UE for URLLC service defined + in 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-08-03 { reference "CR-0321"; } + revision 2020-04-10 { reference "S5-202101"; } + + grouping QFPacketDelayThresholdsTypeGrp { + leaf thresholdDl { + type uint32; + units milliseconds; + description "Downlink threshold"; + } + + leaf thresholdUl { + type uint32; + units milliseconds; + description "Uplink threshold"; + } + + leaf thresholdRtt { + type uint32; + units milliseconds; + description "Round trip threshold"; + } + } + + grouping QFQoSMonitoringControlGrp { + description "Represents the QFQoSMonitoringControl IOC."; + reference "3GPP TS 28.541"; + + leaf qFQoSMonitoringState { + description "The state of QoS monitoring per QoS flow per UE."; + mandatory true; + type enumeration { + enum ENABLED; + enum DISABLED; + } + } + + leaf-list qFMonitoredSNSSAIs { + description "The S-NSSAIs for which the QoS monitoring per QoS flow + per UE is to be performed."; + reference "3GPP TS 23.003"; + type types3gpp:SNssai; + } + + leaf-list qFMonitored5QIs { + description "The 5QIs for which the QoS monitoring per QoS flow + per UE is to be performed."; + reference "3GPP TS 23.501"; + type uint32 { + range "0..255"; + } + } + + leaf isEventTriggeredQFMonitoringSupported { + description "It indicates whether the event based QoS monitoring + reporting per QoS flow per UE is supported."; + mandatory true; + reference "3GPP TS 29.244"; + type boolean; + } + + leaf isPeriodicQFMonitoringSupported { + description "It indicates whether the periodic QoS monitoring reporting + per QoS flow per UE is supported."; + mandatory true; + reference "3GPP TS 29.244"; + type boolean; + } + + leaf isSessionReleasedQFMonitoringSupported { + description "It indicates whether the session release based QoS monitoring + reporting per QoS flow per UE is supported."; + mandatory true; + reference "3GPP TS 29.244"; + type boolean; + } + + list qFPacketDelayThresholds { + key "idx"; + min-elements 1; + max-elements 1; + description "It specifies the thresholds for reporting the packet delay + between PSA and UE for QoS monitoring per QoS flow per UE."; + + leaf idx { type uint32 ; } + uses QFPacketDelayThresholdsTypeGrp; + } + + leaf qFMinimumWaitTime { + description "It specifies the minimum waiting time (in seconds) between + two consecutive reports for event triggered QoS monitoring reporting + per QoS flow per UE."; + type uint32; + } + + leaf qFMeasurementPeriod { + description "It specifies the period (in seconds) for reporting the packet delay for QoS monitoring per QoS flow per UE."; + type uint32; + } + } + + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { + + list QFQoSMonitoringControl { + description "Represents the QFQoSMonitoringControl IOC."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses QFQoSMonitoringControlGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-affunction.yang b/yang-models/_3gpp-5gc-nrm-affunction.yang index 951bf024b0f5dfcda5d9823a5a2c9e363537cbbc..a668b8a3a595aff54725be35d7c8ef3158f27cbd 100755 --- a/yang-models/_3gpp-5gc-nrm-affunction.yang +++ b/yang-models/_3gpp-5gc-nrm-affunction.yang @@ -1,38 +1,38 @@ -module _3gpp-5gc-nrm-affunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-affunction; - prefix af3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3gpp SA5"; - description "This IOC is defined only to describe the IOCs representing - its interaction interface with 5GC (i.e. EP_Rx and EP_N5). - It has no attributes defined."; - reference "3GPP TS 28.541"; - - revision 2019-10-28 { reference S5-193518 ; } - - revision 2019-05-15 { - description "initial revision"; - } - - grouping AFFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - } - - augment "/me3gpp:ManagedElement" { - list AFFunction { - description "5G Core AF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses AFFunctionGrp; - } - } - } +module _3gpp-5gc-nrm-affunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-affunction; + prefix af3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + description "This IOC is defined only to describe the IOCs representing + its interaction interface with 5GC (i.e. EP_Rx and EP_N5). + It has no attributes defined."; + reference "3GPP TS 28.541"; + + revision 2019-10-28 { reference S5-193518 ; } + + revision 2019-05-15 { + description "initial revision"; + } + + grouping AFFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + } + + augment "/me3gpp:ManagedElement" { + list AFFunction { + description "5G Core AF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AFFunctionGrp; + } + } + } } \ 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 0175b7c0ae45f62ee18a49fa6ac4ac29503c75a5..46eb9fbfa18071823fe5932840afbf2b3aa73d4c 100755 --- a/yang-models/_3gpp-5gc-nrm-amffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-amffunction.yang @@ -1,82 +1,82 @@ -module _3gpp-5gc-nrm-amffunction { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amffunction; - prefix amf3gpp; - - 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 ietf-inet-types { prefix inet; } - import _3gpp-common-top { prefix top3gpp; } - - description "AMFFunction derived from basic ManagedFunction."; - - revision 2019-10-25 { reference "S5-194457 S5-193518"; } - - revision 2019-05-31 { - description "Ericsson refactoring."; - } - - revision 2018-08-07 { - description "Initial revision"; - } - - grouping AMFFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - min-elements 1; - description "A list of PLMN identifiers (Mobile Country Code and Mobile Network Code)."; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - container aMFIdentifier { - presence true; - description "An AMF identifier, comprising an AMF Region ID, an AMF Set ID and an AMF Pointer."; - uses types3gpp:AmfIdentifier; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; - type inet:domain-name; - } - - leaf-list sNSSAIList { - min-elements 0; // conditionally mandatory if network slicing feature is supported - 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"; - type types3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - - } - - augment "/me3gpp:ManagedElement" { - list AMFFunction { - description "5G Core AMF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses AMFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-5gc-nrm-amffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amffunction; + prefix amf3gpp; + + 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 ietf-inet-types { prefix inet; } + import _3gpp-common-top { prefix top3gpp; } + + description "AMFFunction derived from basic ManagedFunction."; + + revision 2019-10-25 { reference "S5-194457 S5-193518"; } + + revision 2019-05-31 { + description "Ericsson refactoring."; + } + + revision 2018-08-07 { + description "Initial revision"; + } + + grouping AMFFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + min-elements 1; + description "A list of PLMN identifiers (Mobile Country Code and Mobile Network Code)."; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + container aMFIdentifier { + presence true; + description "An AMF identifier, comprising an AMF Region ID, an AMF Set ID and an AMF Pointer."; + uses types3gpp:AmfIdentifier; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based interface."; + type inet:domain-name; + } + + leaf-list sNSSAIList { + min-elements 0; // conditionally mandatory if network slicing feature is supported + 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"; + type types3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + + } + + augment "/me3gpp:ManagedElement" { + list AMFFunction { + description "5G Core AMF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AMFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-amfregion.yang b/yang-models/_3gpp-5gc-nrm-amfregion.yang index 9bad43352beefef73fdb8d8743e22fb9cfd83f1f..5a42f2aa7a546dc93dd9ae66c8e6db39160cf432 100755 --- a/yang-models/_3gpp-5gc-nrm-amfregion.yang +++ b/yang-models/_3gpp-5gc-nrm-amfregion.yang @@ -1,75 +1,75 @@ -module _3gpp-5gc-nrm-amfregion { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amfregion; - prefix amfr3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - - description "This IOC represents the AMF Region which consists one or multiple AMF Sets."; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-11 { - description "Ericsson refactoring."; - } - - grouping AMFRegionGrp { - 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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-list 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 types3gpp:Tac; - } - - leaf-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."; - //conditional support only if the network slicing feature is supported. - reference "3GPP TS 23.003"; - type types3gpp:SNssai; - } - - leaf aMFRegionId { - description "Represents the AMF Region ID, which identifies the region."; - mandatory true; - type types3gpp:AmfRegionId; - } - - leaf-list aMFSet { - description "The AMFSet that the AFMRegion is associated with."; - min-elements 1; - type instance-identifier; - } - } - - augment "/subnet3gpp:SubNetwork" { - list AMFRegion { - description "5G Core AMFRegion IOC"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses AMFRegionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-5gc-nrm-amfregion { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amfregion; + prefix amfr3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + + description "This IOC represents the AMF Region which consists one or multiple AMF Sets."; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-11 { + description "Ericsson refactoring."; + } + + grouping AMFRegionGrp { + 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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf-list 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 types3gpp:Tac; + } + + leaf-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."; + //conditional support only if the network slicing feature is supported. + reference "3GPP TS 23.003"; + type types3gpp:SNssai; + } + + leaf aMFRegionId { + description "Represents the AMF Region ID, which identifies the region."; + mandatory true; + type types3gpp:AmfRegionId; + } + + leaf-list aMFSet { + description "The AMFSet that the AFMRegion is associated with."; + min-elements 1; + type instance-identifier; + } + } + + augment "/subnet3gpp:SubNetwork" { + list AMFRegion { + description "5G Core AMFRegion IOC"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AMFRegionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-amfset.yang b/yang-models/_3gpp-5gc-nrm-amfset.yang index dd8b2e68f6099234e59e1c663d1656b4b1b50416..325584cfaeccb7018c2fd303970a26154687bdd3 100755 --- a/yang-models/_3gpp-5gc-nrm-amfset.yang +++ b/yang-models/_3gpp-5gc-nrm-amfset.yang @@ -1,75 +1,75 @@ -module _3gpp-5gc-nrm-amfset { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amfset; - prefix amfset3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - - description "This IOC represents the AMF Set which consists of some AMFs that serve a given area and Network Slice."; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-11 { - description "Ericsson refactoring."; - } - - grouping AMFSetGrp { - 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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-list 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 types3gpp:Tac; - } - - leaf-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."; - //conditional support only if the network slicing feature is supported. - reference "3GPP TS 23.003"; - type types3gpp:SNssai; - } - - leaf aMFRegion { - description "The AMFRegion that the AFMSet is associated with."; - type instance-identifier; - } - - leaf-list aMFSetMemberList { - description "List of DNs of AMFFunction instances of the AMFSet."; - min-elements 1; - max-elements 1; - type types3gpp:DistinguishedName; - } - } - - augment "/subnet3gpp:SubNetwork" { - list AMFSet { - description "5G Core AMFSet IOC"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses AMFSetGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-5gc-nrm-amfset { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-amfset; + prefix amfset3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + + description "This IOC represents the AMF Set which consists of some AMFs that serve a given area and Network Slice."; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-11 { + description "Ericsson refactoring."; + } + + grouping AMFSetGrp { + 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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf-list 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 types3gpp:Tac; + } + + leaf-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."; + //conditional support only if the network slicing feature is supported. + reference "3GPP TS 23.003"; + type types3gpp:SNssai; + } + + leaf aMFRegion { + description "The AMFRegion that the AFMSet is associated with."; + type instance-identifier; + } + + leaf-list aMFSetMemberList { + description "List of DNs of AMFFunction instances of the AMFSet."; + min-elements 1; + max-elements 1; + type types3gpp:DistinguishedName; + } + } + + augment "/subnet3gpp:SubNetwork" { + list AMFSet { + description "5G Core AMFSet IOC"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AMFSetGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-ausffunction.yang b/yang-models/_3gpp-5gc-nrm-ausffunction.yang index ba15e39a76d27f1295e2f75d62caf278396c38bf..16c0b5e01b70665e9cadd6d4f6765ab8c11171e7 100755 --- a/yang-models/_3gpp-5gc-nrm-ausffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ausffunction.yang @@ -1,79 +1,79 @@ -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-top { prefix top3gpp; } - - organization "3gpp SA5"; - description "This IOC represents the AUSF function in 5GC. For more information about the AUSF, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - - revision 2019-10-25 { reference "S5-194457 S5-193518"; } - - revision 2019-05-22 { - description "initial revision"; - } - - grouping AUSFFuntionGrp { - 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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; - type inet:domain-name; - } - - leaf-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."; - //optional support - reference "3GPP TS 23.003"; - type types3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - - - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list AUSFFunction { - description "5G Core AUSF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses AUSFFuntionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +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-top { prefix top3gpp; } + + organization "3gpp SA5"; + description "This IOC represents the AUSF function in 5GC. For more information about the AUSF, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + + revision 2019-10-25 { reference "S5-194457 S5-193518"; } + + revision 2019-05-22 { + description "initial revision"; + } + + grouping AUSFFuntionGrp { + 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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based interface."; + type inet:domain-name; + } + + leaf-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."; + //optional support + reference "3GPP TS 23.003"; + type types3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + + + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list AUSFFunction { + description "5G Core AUSF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AUSFFuntionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang b/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang new file mode 100755 index 0000000000000000000000000000000000000000..2a402a96e132ee0484b07316b3fe07f70c6abfc9 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-configurable5qiset.yang @@ -0,0 +1,125 @@ +module _3gpp-5gc-nrm-configurable5qiset { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-configurable5qiset; + prefix Conf5QIs3gpp; + + import _3gpp-common-top { prefix top3gpp; } + 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 non-standardized 5QIs, including + their QoS characteristics, that need to be pre-configured + (and configurable) to the 5G NFs."; + reference "3GPP TS 28.541"; + + revision 2020-08-03 { reference "CR-0321"; } + revision 2020-06-03 { reference "CR-0286"; } + + grouping PacketErrorRate { + leaf scalar { + type uint32 { + range 0..9 ; + } + mandatory true; + description "The Packet Error Rate of a 5QI expressed as Scalar x 10-k + where k is the Exponent."; + } + leaf exponent { + type uint32 { + range 0..9 ; + } + mandatory true; + description "The Packet Error Rate of a 5QI expressed as Scalar x 10-k, + where k is the Exponent."; + } + } + + grouping FiveQICharacteristics { + leaf fiveQIValue { + type uint32 { + range 0..255 ; + } + mandatory true; + description "Identifies the 5QI value."; + } + + leaf resourceType { + type enumeration { + enum GBR; + enum NON_GBR; + } + mandatory true; + description "It indicates the Resource Type of a 5QI, as specified + in TS 23.501 "; + } + + leaf priorityLevel { + type uint32 { + range 0..127 ; + } + } + + leaf packetDelayBudget { + type uint32 { + range 0..1023 ; + } + description "Indicates the Packet Delay Budget (in unit of 0.5ms)of a 5QI, + as specified in TS 23.501 "; + } + + list packetErrorRate { + key "scalar exponent"; + min-elements 0; + max-elements 1; + uses PacketErrorRate; + reference "TS 23.501"; + } + + leaf averagingWindow { + type uint32 { + range 0..4095 ; + } + units ms; + reference "TS 23.501"; + } + + leaf maximumDataBurstVolume { + type uint32{ + range 0..4095 ; + } + units byte; + } + } + + grouping Configurable5QISetGrp { + description "Represents the Configurable5QISet IOC."; + list configurable5QIs { + key "fiveQIValue"; + uses FiveQICharacteristics; + } + } + + grouping Configurable5QISetSubtree { + list Configurable5QISet { + description "Specifies the non-standardized 5QIs, including their QoS + characteristics, that need to be pre-configured (and configurable) to + the 5G NFs, see 3GPP TS 23.501."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses Configurable5QISetGrp; + } + } + } + + augment "/subnet3gpp:SubNetwork" { + uses Configurable5QISetSubtree; + } + + augment "/me3gpp:ManagedElement" { + uses Configurable5QISetSubtree; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-dnfunction.yang b/yang-models/_3gpp-5gc-nrm-dnfunction.yang index cfa32d48f8a4001e36e44a15254b54b6de86ffe8..675c3b1aa804187ad61ceba18b17be3773d55896 100755 --- a/yang-models/_3gpp-5gc-nrm-dnfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-dnfunction.yang @@ -1,39 +1,39 @@ -module _3gpp-5gc-nrm-dnfunction { - yang-version 1.1; - - 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"; - 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."; - reference "3GPP TS 28.541"; - - revision 2019-10-28 { reference S5-193518 ; } - - revision 2019-05-15 { - description "initial revision"; - } - - grouping DNFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - } - - augment "/me3gpp:ManagedElement" { - list DNFunction { - description "5G Core DN Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses DNFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-5gc-nrm-dnfunction { + yang-version 1.1; + + 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"; + 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."; + reference "3GPP TS 28.541"; + + revision 2019-10-28 { reference S5-193518 ; } + + revision 2019-05-15 { + description "initial revision"; + } + + grouping DNFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + } + + augment "/me3gpp:ManagedElement" { + list DNFunction { + description "5G Core DN Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses DNFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang new file mode 100755 index 0000000000000000000000000000000000000000..3668cea21ee82bda9918122c4ee3911153b26ed3 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang @@ -0,0 +1,46 @@ +module _3gpp-5gc-nrm-dynamic5qiset { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-dynamic5qiset; + prefix dyn5QIs3gpp; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-5gc-nrm-configurable5qiset { prefix Conf5QIs3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the dynamic 5QIs including their QoS characteristics."; + reference "3GPP TS 28.541"; + + revision 2020-08-06 { reference "CR-0333"; } + + grouping Dynamic5QISetGrp { + description "Represents the Dynamic5QISet IOC."; + list dynamic5QIs { + key "fiveQIValue"; + uses Conf5QIs3gpp:FiveQICharacteristics; + } + } + + grouping Dynamic5QISetSubtree { + list Dynamic5QISet { + description "Specifies the dynamic 5QIs including their QoS + characteristics, see 3GPP TS 23.501."; + key "id"; + uses top3gpp:Top_Grp; + container attributes { + uses Dynamic5QISetGrp; + } + } + } + + augment "/subnet3gpp:SubNetwork" { + uses Dynamic5QISetSubtree; + } + + augment "/me3gpp:ManagedElement" { + uses Dynamic5QISetSubtree; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-ep.yang b/yang-models/_3gpp-5gc-nrm-ep.yang index 3ee952cefef8849a3b63cc921a6fd4331236d47b..fdd21029787d30991b954f9f21551c2580325e75 100755 --- a/yang-models/_3gpp-5gc-nrm-ep.yang +++ b/yang-models/_3gpp-5gc-nrm-ep.yang @@ -1,646 +1,646 @@ -module _3gpp-5gc-nrm-ep { - yang-version 1.1; - namespace "urn:3gpp:tsg:sa5:nrm:_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; } - import _3gpp-5gc-nrm-amffunction { prefix amf3gpp; } - import _3gpp-5gc-nrm-ausffunction { prefix ausf3gpp; } - import _3gpp-5gc-nrm-dnfunction { prefix dn3gpp; } - import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp; } - import _3gpp-5gc-nrm-n3iwffunction { prefix n3iwf3gpp; } - import _3gpp-5gc-nrm-ngeirfunction { prefix ngeir3gpp; } - import _3gpp-5gc-nrm-nrffunction { prefix nrf3gpp; } - import _3gpp-5gc-nrm-nssffunction { prefix nssf3gpp; } - import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp; } - import _3gpp-5gc-nrm-seppfunction { prefix sepp3gpp; } - import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } - import _3gpp-5gc-nrm-smsffunction { prefix smsf3gpp; } - import _3gpp-5gc-nrm-udmfunction { prefix udm3gpp; } - import _3gpp-5gc-nrm-upffunction { prefix upf3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import ietf-inet-types { prefix inet; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the 5GC related endpoint - Information Object Classes (IOCs) that are part of the 5G Core - Network Resource Model."; - reference "3GPP TS 28.541"; - - revision 2019-11-18 { - description "Ericsson refactoring."; - } - - revision 2018-07-31 { - description "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 { - description "PLMN Identifiers of the remote sepp. - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - uses types3gpp:PLMNId; - } - - leaf remoteSeppAddress { - description "The host address of the SEPP."; - type inet:host; - } - - 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_NLGGrp { - uses eprp3gpp:EP_Common; - } - - grouping EP_SBI_IPXGrp { - uses eprp3gpp:EP_Common; - leaf-list sBIService { - min-elements 1; - config false; - type string; - } - } - - augment "/me3gpp:ManagedElement/af3gpp:AFFunction" { - list EP_N6 { - description "Represents the EP_N6 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N6Grp; - } - } - - list EP_Rx { - description "Represents the EP_Rx IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_RxGrp; - } - } - } - - augment "/me3gpp:ManagedElement/amf3gpp:AMFFunction" { - list EP_N2 { - description "Represents the EP_N2 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N2Grp; - } - } - - list EP_N8 { - description "Represents the EP_N8 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N8Grp; - } - } - - list EP_N11 { - description "Represents the EP_N11 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N11Grp; - } - } - - list EP_N12 { - description "Represents the EP_N12 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N12Grp; - } - } - - list EP_N14 { - description "Represents the EP_N14 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N14Grp; - } - } - - list EP_N15 { - description "Represents the EP_N15 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N15Grp; - } - } - - list EP_N17 { - description "Represents the EP_N17 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N17Grp; - } - } - - list EP_N20 { - description "Represents the EP_N20 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N20Grp; - } - } - - list EP_N22 { - description "Represents the EP_N22 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N22Grp; - } - } - - list EP_N26 { - description "Represents the EP_N26 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N26Grp; - } - } - - list EP_NLS { - description "Represents the EP_NLS IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NLSGrp; - } - } - - list EP_NLG { - description "Represents the EP_NLG IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NLGGrp; - } - } - } - - augment "/me3gpp:ManagedElement/ausf3gpp:AUSFFunction" { - list EP_N12 { - description "Represents the EP_N12 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N12Grp; - } - } - - list EP_N13 { - description "Represents the EP_N13 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N13Grp; - } - } - } - - augment "/me3gpp:ManagedElement/dn3gpp:DNFunction" { - list EP_N6 { - description "Represents the EP_N6 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N6Grp; - } - } - } - - augment "/me3gpp:ManagedElement/lmf3gpp:LMFFunction" { - list EP_NLS { - description "Represents the EP_NLS IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NLSGrp; - } - } - } - - augment "/me3gpp:ManagedElement/n3iwf3gpp:N3IWFFunction" { - list EP_N2 { - description "Represents the EP_N2 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N2Grp; - } - } - - list EP_N3 { - description "Represents the EP_N3 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N3Grp; - } - } - } - - augment "/me3gpp:ManagedElement/ngeir3gpp:NGEIRFunction" { - list EP_N17 { - description "Represents the EP_N17 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N17Grp; - } - } - } - - augment "/me3gpp:ManagedElement/nrf3gpp:NRFFunction" { - list EP_N27 { - description "Represents the EP_N27 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N26Grp; - } - } - - } - - augment "/me3gpp:ManagedElement/nssf3gpp:NSSFFunction" { - list EP_N22 { - description "Represents the EP_N22 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N22Grp; - } - } - - list EP_N31 { - description "Represents the EP_N31 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N31Grp; - } - } - } - - augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { - list EP_N5 { - description "Represents the EP_N5 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N5Grp; - } - } - - list EP_N7 { - description "Represents the EP_N7 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N7Grp; - } - } - - list EP_N15 { - description "Represents the EP_N15 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N15Grp; - } - } - - list EP_N16 { - description "Represents the EP_N16 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N16Grp; - } - } - - list EP_Rx { - description "Represents the EP_Rx IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_RxGrp; - } - } - } - - augment "/me3gpp:ManagedElement/sepp3gpp:SEPPFunction" { - list EP_N32 { - description "Represents the EP_N32 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N32Grp; - } - } - - } - augment "/me3gpp:ManagedElement/smsf3gpp:SMSFFunction" { - list EP_N20 { - description "Represents the EP_20 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N20Grp; - } - } - - list EP_N21 { - description "Represents the EP_N21 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N21Grp; - } - } - - list EP_MAP_SMSC { - description "Represents the EP_MAP_SMSC IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_MAP_SMSCGrp; - } - } - } - - augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { - list EP_N4 { - description "Represents the EP_N4 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N4Grp; - } - } - - list EP_N7 { - description "Represents the EP_N7 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N7Grp; - } - } - - list EP_N10 { - description "Represents the EP_N10 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N10Grp; - } - } - - list EP_N11 { - description "Represents the EP_N11 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N11Grp; - } - } - - list EP_N16 { - description "Represents the EP_N16 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N16Grp; - } - } - - list EP_S5C { - description "Represents the EP_S5C IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_S5CGrp; - } - } - } - - augment "/me3gpp:ManagedElement/udm3gpp:UDMFunction" { - list EP_N8 { - description "Represents the EP_N8 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N8Grp; - } - } - - list EP_N10 { - description "Represents the EP_N10 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N10Grp; - } - } - - list EP_N13 { - description "Represents the EP_N13 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N13Grp; - } - } - - } - - augment "/me3gpp:ManagedElement/upf3gpp:UPFFunction" { - list EP_N4 { - description "Represents the EP_N4 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N4Grp; - } - } - - list EP_N3 { - description "Represents the EP_N3 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N3Grp; - } - } - - list EP_N9 { - description "Represents the EP_N9 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N9Grp; - } - } - - list EP_S5U { - description "Represents the EP_S5U IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_S5UGrp; - } - } - - list EP_EP_N6 { - description "Represents the EP_N6 IOC."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_N6Grp; - } - } - } +module _3gpp-5gc-nrm-ep { + yang-version 1.1; + namespace "urn:3gpp:tsg:sa5:nrm:_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; } + import _3gpp-5gc-nrm-amffunction { prefix amf3gpp; } + import _3gpp-5gc-nrm-ausffunction { prefix ausf3gpp; } + import _3gpp-5gc-nrm-dnfunction { prefix dn3gpp; } + import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp; } + import _3gpp-5gc-nrm-n3iwffunction { prefix n3iwf3gpp; } + import _3gpp-5gc-nrm-ngeirfunction { prefix ngeir3gpp; } + import _3gpp-5gc-nrm-nrffunction { prefix nrf3gpp; } + import _3gpp-5gc-nrm-nssffunction { prefix nssf3gpp; } + import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp; } + import _3gpp-5gc-nrm-seppfunction { prefix sepp3gpp; } + import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } + import _3gpp-5gc-nrm-smsffunction { prefix smsf3gpp; } + import _3gpp-5gc-nrm-udmfunction { prefix udm3gpp; } + import _3gpp-5gc-nrm-upffunction { prefix upf3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the 5GC related endpoint + Information Object Classes (IOCs) that are part of the 5G Core + Network Resource Model."; + reference "3GPP TS 28.541"; + + revision 2019-11-18 { + description "Ericsson refactoring."; + } + + revision 2018-07-31 { + description "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 { + description "PLMN Identifiers of the remote sepp. + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + uses types3gpp:PLMNId; + } + + leaf remoteSeppAddress { + description "The host address of the SEPP."; + type inet:host; + } + + 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_NLGGrp { + uses eprp3gpp:EP_Common; + } + + grouping EP_SBI_IPXGrp { + uses eprp3gpp:EP_Common; + leaf-list sBIService { + min-elements 1; + config false; + type string; + } + } + + augment "/me3gpp:ManagedElement/af3gpp:AFFunction" { + list EP_N6 { + description "Represents the EP_N6 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N6Grp; + } + } + + list EP_Rx { + description "Represents the EP_Rx IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_RxGrp; + } + } + } + + augment "/me3gpp:ManagedElement/amf3gpp:AMFFunction" { + list EP_N2 { + description "Represents the EP_N2 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N2Grp; + } + } + + list EP_N8 { + description "Represents the EP_N8 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N8Grp; + } + } + + list EP_N11 { + description "Represents the EP_N11 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N11Grp; + } + } + + list EP_N12 { + description "Represents the EP_N12 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N12Grp; + } + } + + list EP_N14 { + description "Represents the EP_N14 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N14Grp; + } + } + + list EP_N15 { + description "Represents the EP_N15 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N15Grp; + } + } + + list EP_N17 { + description "Represents the EP_N17 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N17Grp; + } + } + + list EP_N20 { + description "Represents the EP_N20 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N20Grp; + } + } + + list EP_N22 { + description "Represents the EP_N22 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N22Grp; + } + } + + list EP_N26 { + description "Represents the EP_N26 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N26Grp; + } + } + + list EP_NLS { + description "Represents the EP_NLS IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NLSGrp; + } + } + + list EP_NLG { + description "Represents the EP_NLG IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NLGGrp; + } + } + } + + augment "/me3gpp:ManagedElement/ausf3gpp:AUSFFunction" { + list EP_N12 { + description "Represents the EP_N12 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N12Grp; + } + } + + list EP_N13 { + description "Represents the EP_N13 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N13Grp; + } + } + } + + augment "/me3gpp:ManagedElement/dn3gpp:DNFunction" { + list EP_N6 { + description "Represents the EP_N6 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N6Grp; + } + } + } + + augment "/me3gpp:ManagedElement/lmf3gpp:LMFFunction" { + list EP_NLS { + description "Represents the EP_NLS IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NLSGrp; + } + } + } + + augment "/me3gpp:ManagedElement/n3iwf3gpp:N3IWFFunction" { + list EP_N2 { + description "Represents the EP_N2 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N2Grp; + } + } + + list EP_N3 { + description "Represents the EP_N3 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N3Grp; + } + } + } + + augment "/me3gpp:ManagedElement/ngeir3gpp:NGEIRFunction" { + list EP_N17 { + description "Represents the EP_N17 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N17Grp; + } + } + } + + augment "/me3gpp:ManagedElement/nrf3gpp:NRFFunction" { + list EP_N27 { + description "Represents the EP_N27 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N26Grp; + } + } + + } + + augment "/me3gpp:ManagedElement/nssf3gpp:NSSFFunction" { + list EP_N22 { + description "Represents the EP_N22 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N22Grp; + } + } + + list EP_N31 { + description "Represents the EP_N31 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N31Grp; + } + } + } + + augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { + list EP_N5 { + description "Represents the EP_N5 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N5Grp; + } + } + + list EP_N7 { + description "Represents the EP_N7 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N7Grp; + } + } + + list EP_N15 { + description "Represents the EP_N15 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N15Grp; + } + } + + list EP_N16 { + description "Represents the EP_N16 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N16Grp; + } + } + + list EP_Rx { + description "Represents the EP_Rx IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_RxGrp; + } + } + } + + augment "/me3gpp:ManagedElement/sepp3gpp:SEPPFunction" { + list EP_N32 { + description "Represents the EP_N32 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N32Grp; + } + } + + } + augment "/me3gpp:ManagedElement/smsf3gpp:SMSFFunction" { + list EP_N20 { + description "Represents the EP_20 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N20Grp; + } + } + + list EP_N21 { + description "Represents the EP_N21 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N21Grp; + } + } + + list EP_MAP_SMSC { + description "Represents the EP_MAP_SMSC IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_MAP_SMSCGrp; + } + } + } + + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { + list EP_N4 { + description "Represents the EP_N4 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N4Grp; + } + } + + list EP_N7 { + description "Represents the EP_N7 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N7Grp; + } + } + + list EP_N10 { + description "Represents the EP_N10 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N10Grp; + } + } + + list EP_N11 { + description "Represents the EP_N11 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N11Grp; + } + } + + list EP_N16 { + description "Represents the EP_N16 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N16Grp; + } + } + + list EP_S5C { + description "Represents the EP_S5C IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_S5CGrp; + } + } + } + + augment "/me3gpp:ManagedElement/udm3gpp:UDMFunction" { + list EP_N8 { + description "Represents the EP_N8 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N8Grp; + } + } + + list EP_N10 { + description "Represents the EP_N10 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N10Grp; + } + } + + list EP_N13 { + description "Represents the EP_N13 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N13Grp; + } + } + + } + + augment "/me3gpp:ManagedElement/upf3gpp:UPFFunction" { + list EP_N4 { + description "Represents the EP_N4 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N4Grp; + } + } + + list EP_N3 { + description "Represents the EP_N3 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N3Grp; + } + } + + list EP_N9 { + description "Represents the EP_N9 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N9Grp; + } + } + + list EP_S5U { + description "Represents the EP_S5U IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_S5UGrp; + } + } + + list EP_EP_N6 { + description "Represents the EP_N6 IOC."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_N6Grp; + } + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang b/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang index 5c1487b520122e8b3837474c5ff677c9d14895d8..95f1cea5e10ede96d8b86b5f854d93b00bc9270c 100755 --- a/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-externalnrffunction.yang @@ -1,42 +1,42 @@ -module _3gpp-5gc-nrm-externalnrffunction { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-externalnrffunction; - prefix extnrf3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - - description "This IOC represents external NRF function controlled by another management domain."; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-11 { - description "Ericsson refactoring."; - } - - grouping ExternalNRFFunctionGrp { - 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)."; - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - } - - augment "/subnet3gpp:SubNetwork" { - list ExternalNRFFunction { - description "5G Core External NRF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalNRFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; } - } +module _3gpp-5gc-nrm-externalnrffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-externalnrffunction; + prefix extnrf3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + + description "This IOC represents external NRF function controlled by another management domain."; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-11 { + description "Ericsson refactoring."; + } + + grouping ExternalNRFFunctionGrp { + 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)."; + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + } + + augment "/subnet3gpp:SubNetwork" { + list ExternalNRFFunction { + description "5G Core External NRF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalNRFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang b/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang index 3300bb5673f32610f4d4757074949d0a99c4dc37..665977805bdf3cb52bf2d58d39b2b49bc9b6cfb2 100755 --- a/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-externalnssffunction.yang @@ -1,43 +1,43 @@ -module _3gpp-5gc-nrm-externalnssffunction { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-externalnssffunction; - prefix extnssf3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - - description "This IOC represents external NSSF function controlled by another management domain."; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-11 { - description "Ericsson refactoring."; - } - - grouping ExternalNSSFFunctionGrp { - 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)."; - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - } - - augment "/subnet3gpp:SubNetwork" { - list ExternalNSSFFunction { - description "5G Core External NSSF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalNSSFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-5gc-nrm-externalnssffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-externalnssffunction; + prefix extnssf3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + + description "This IOC represents external NSSF function controlled by another management domain."; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-11 { + description "Ericsson refactoring."; + } + + grouping ExternalNSSFFunctionGrp { + 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)."; + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + } + + augment "/subnet3gpp:SubNetwork" { + list ExternalNSSFFunction { + description "5G Core External NSSF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalNSSFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang b/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang index 4bf498a72a09380d48dcfcb9eb2d8da0fafad19d..38496aaaae2394b2bbebc945d4b924efb5d2dc2c 100755 --- a/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-externalseppfunction.yang @@ -1,55 +1,55 @@ -module _3gpp-5gc-nrm-externalseppfunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-extternalseppfunction; - prefix extsepp3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import ietf-inet-types { prefix inet; } - - organization "3gpp SA5"; - description "This IOC represents the external SEPP function which support message filtering - and policing on inter-PLMN control plane interface. For more information about the SEPP, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-11-17 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V16.X.XX"; - } - - grouping ExternalSEPPFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - container pLMNId { - description "PLMN Identifiers of the sepp. - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - uses types3gpp:PLMNId; - } - - leaf sEPPId { - type uint16; - } - - leaf fqdn { - description "The domain name of the SEPP."; - type inet:domain-name; - } - - } - - augment "/me3gpp:ManagedElement" { - list ExternalSEPPFunction { - description "5G Core SEPP Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalSEPPFunctionGrp; - } - } - } +module _3gpp-5gc-nrm-externalseppfunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-extternalseppfunction; + prefix extsepp3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + description "This IOC represents the external SEPP function which support message filtering + and policing on inter-PLMN control plane interface. For more information about the SEPP, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-11-17 { + description "initial revision"; + reference "Based on + 3GPP TS 28.541 V16.X.XX"; + } + + grouping ExternalSEPPFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + container pLMNId { + description "PLMN Identifiers of the sepp. + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + uses types3gpp:PLMNId; + } + + leaf sEPPId { + type uint16; + } + + leaf fqdn { + description "The domain name of the SEPP."; + type inet:domain-name; + } + + } + + augment "/me3gpp:ManagedElement" { + list ExternalSEPPFunction { + description "5G Core SEPP Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalSEPPFunctionGrp; + } + } + } } \ 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 9ebeb605ceedcd3ce36c0ef1a4d6d95f0c283be8..ee9ec056ae5e6ea408eb5cc064245ee1aa3b025d 100755 --- a/yang-models/_3gpp-5gc-nrm-lmffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-lmffunction.yang @@ -1,63 +1,63 @@ -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; } - - organization "3gpp SA5"; - description "This IOC represents the LMF function defined in 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-25 { reference "S5-194457 S5193518"; } - - revision 2019-05-15 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V15.X.XX"; - } - - grouping LMFFunctionGrp { - 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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list LMFFunction { - description "5G Core LMF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses LMFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +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; } + + organization "3gpp SA5"; + description "This IOC represents the LMF function defined in 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-10-25 { reference "S5-194457 S5193518"; } + + revision 2019-05-15 { + description "initial revision"; + reference "Based on + 3GPP TS 28.541 V15.X.XX"; + } + + grouping LMFFunctionGrp { + 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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list LMFFunction { + description "5G Core LMF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses LMFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang b/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang index 22a82313fd5f51ebe32476cd7e7ce85bcdb7d3b3..05ca146cacb62a04e9fc240d7e1418be065d35f1 100755 --- a/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang @@ -1,55 +1,55 @@ -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."; - reference "3GPP TS 28.541"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-05-22 { - description "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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list N3IWFFunction { - description "5G Core N3IWF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses N3IWFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +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."; + reference "3GPP TS 28.541"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-05-22 { + description "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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list N3IWFFunction { + description "5G Core N3IWF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses N3IWFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index 61075f3be865efbb23d791725bf4f12043a6e906..f079e568f5f815d944108d68dbd4624f98ceb23f 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -1,67 +1,66 @@ -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; } - 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 NEF function in 5GC. For more information about the NEF, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-20 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V16.X.XX"; - } - - grouping NEFFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; - type inet:domain-name; - } - - leaf-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."; - type types3gpp:SNssai; - } - - leaf-list capabilityList { - description "List of supported capabilities of the NEF."; - reference "3GPP TS 23.003"; - type string; - } - - leaf isINEF { - type boolean; - } - - leaf isCAPIFSup { - type boolean; - } - - } - - augment "/me3gpp:ManagedElement" { - list NEFFunction { - description "5G Core NEF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NEFFunctionGrp; - } - } - } +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; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + description "This IOC represents the NEF function in 5GC. For more information about the NEF, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-10-20 { + description "initial revision"; + reference "Based on + 3GPP TS 28.541 V16.X.XX"; + } + + grouping NEFFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based interface."; + type inet:domain-name; + } + + leaf-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."; + type types3gpp:SNssai; + } + + leaf-list capabilityList { + description "List of supported capabilities of the NEF."; + reference "3GPP TS 23.003"; + type string; + } + + leaf isINEF { + type boolean; + } + + leaf isCAPIFSup { + type boolean; + } + + } + + augment "/me3gpp:ManagedElement" { + list NEFFunction { + description "5G Core NEF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NEFFunctionGrp; + } + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 7bea06050c67f42edf039977c7589b1d372c0f16..c5b0d609aab0dd4c6134a073436bde0880cecb12 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -1,1095 +1,1095 @@ -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; } - - organization "3gpp SA5"; - description "NF profile class."; - reference "3GPP TS 29.510"; - - revision 2019-06-17 { - description "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."; - //conditional support - 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."; - - //conditional support - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list sNssais { //is the key unique - 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; - //optional support - 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; - //optional support - key idx; //no obvious leaf to use as a key - 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."; - //optional support - 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."; - //conditional support - 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."; - //conditional support - type inet:domain-name; - } - - leaf-list ipv4Addresses { - description "IPv4 address(es) of the Network Function."; - min-elements 1; - //conditional support - type inet:ipv4-address; - } - - leaf-list ipv6Addresses { - description "IPv6 address(es) of the Network Function."; - min-elements 1; - //conditional support - 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; - //optional support - 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; - //optional support - 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; - //optional support - type string; - } - - list allowedNssais { //is the key unique - 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; - //optional support - 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."; - //optional support - 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."; - //optional support - type uint16; - } - - leaf load { - description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF."; - //optional support - type types3gpp:Load; - } - - leaf locality { - description "Operator defined information about the location of the NF instance (e.g. geographic location, data center)."; - //optional support - type string; - } - - grouping udrInfo { - //optional support - - 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."; - //optional support - 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; - //optional support - 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; - //optional support - 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; - //optional support - 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; - //optional support - type DataSetId; - } - } - - grouping udmInfo { - //optional support - - 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."; - //optional support - 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; - //optional support - 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; - //optional support - 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; - //optional support - 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}$'."; - //optional support - min-elements 1; - type string; - } - } - - grouping ausfInfo { - //optional support - - leaf groupId { - description "Identity of the AUSF group. If not provided, the AUSF instance does not pertain to any AUSF group."; - //optional support - 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; - //optional support - 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}$'."; - //optional support - min-elements 1; - type string; - } - } - - grouping amfInfo { - //optional support - - 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; //no obvious leaf to use as a key - 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; //no obvious leaf to use as a key - leaf idx { type uint32; } - - //optional support - min-elements 1; - uses Tai; - } - - 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."; - //optional support - min-elements 1; - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - uses TaiRange; - } - - list backupInfoAmfFailure { - description "List of GUAMIs for which the AMF acts as a backup for AMF failure."; - - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - - //optional support - 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; //no obvious leaf to use as a key - leaf idx { type uint32; } - - //optional support - 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."; - - //optional support - max-elements 1; - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - uses N2InterfaceAmfInfo; - } - } - - grouping smfInfo { - //optional support - - list sNssaiSmfInfoList { - description "List of parameters supported by the SMF per S-NSSAI."; - min-elements 1; - key idx; //no obvious leaf to use as a key - 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; //no obvious leaf to use as a key - leaf idx { type uint32; } - - //optional support - min-elements 1; - uses Tai; - } - - 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."; - //optional support - min-elements 1; - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - uses TaiRange; - } - - leaf pgwFqdn { - description "The FQDN of the PGW if the SMF is a combined SMF/PGW-C."; - //optional support - 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."; - - //conditional support - min-elements 1; - max-elements 2; - type AccessType; - } - } - - grouping upfInfo { - //optional support - - list sNssaiUpfInfoList { - description "List of parameters supported by the UPF per S-NSSAI."; - min-elements 1; - key idx; //no obvious leaf to use as a key - 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."; - - //optional support - 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; //no obvious leaf to use as a key - leaf idx { type uint32; } - - //optional support - min-elements 1; - uses InterfaceUpfInfoItem; - } - - leaf iwkEpsInd { - description "Indicates whether interworking with EPS is supported by the UPF. - true: Supported - false (default): Not Supported"; - - //optional support - 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."; - - //optional support - min-elements 1; - type PduSessionType; - } - } - - grouping pcfInfo { - //optional support - - leaf-list dnnList { - description "DNNs supported by the PCF. - If not provided, the PCF can serve any DNN."; - - //optional support - 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; - //optional support - 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,}$'."; - - //conditional support - 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,}$'."; - - //conditional support - type string; - } - } - - grouping bsfInfo { - //optional support - - list ipv4AddressRanges { - description "List of ranges of IPv4 addresses handled by BSF. - If not provided, the BSF can serve any IPv4 address."; - //optional support - 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."; - - //optional support - 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."; - //optional support - 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."; - //optional support - key "start end"; - uses types3gpp:Ipv6PrefixRange; - } - } - - grouping chfInfo { - //optional support - - 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; - //optional support - 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; - //optional support - 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; - //optional support - key "mcc mnc"; - uses types3gpp:PLMNId; - } - } - - grouping nrfInfoGrp { - //optional support - - list servedUdrInfo { - description "This attribute contains all the udrInfo attributes locally configured in the NRF or the NRF received during NF registration."; - //optional support - - 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."; - //optional support - - 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."; - //optional support - - 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."; - //optional support - - 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."; - //optional support - - 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."; - //optional support - - 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."; - //optional support - - 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."; - //optional support - - 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."; - //optional support - - key nfInstanceID; - leaf nfInstanceID { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses chfInfo; - } - } - - list nrfInfo { - key idx; //no obvious leaf to use as a key - leaf idx { type uint32; } - max-elements 1; - uses nrfInfoGrp; - } - - leaf customInfo { - description "Specific data for custom Network Functions."; - type string; - } - - leaf recoveryTime { - description "Timestamp when the NF was (re)started."; - //optional support - 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."; - - //optional support - 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; - //optional support - 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."; - - //optional support - 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."; - - //optional support - type boolean; - } - - list defaultNotificationSubscriptions { - description "Notification endpoints for different notification types."; - key notificationType; - //optional support - 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 TacRange { - leaf start { - 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, 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 pattern { - description "Pattern representing the set of TAC's belonging to this range."; - type string; - } - } - - grouping SnssaiUpfInfoItem { - list sNssai { //is the key unique - description "Supported S-NSSAI."; - min-elements 1; - max-elements 1; - key "sst sd"; - uses Snssai; - } - - list dnnUpfInfoList { - description "List of parameters supported by the UPF per DNN."; - min-elements 1; - key dnn; - uses DnnUpfInfoItem; - } - } - - 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."; - //optional - 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 Tai { - list plmnId { - description "PLMN Identity."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf tac { type types3gpp:Tac; } - } - - grouping InterfaceUpfInfoItem { - leaf interfaceType { - description "User Plane interface type."; - mandatory true; - type UPInterfaceType; - } - - ////At least one of the addressing parameters (ipv4address, ipv6adress or endpointFqdn) shall be included in the InterfaceUpfInfoItem. - choice address { - case ipv4EndpointAddresses { - leaf-list ipv4EndpointAddresses { - description "Available endpoint IPv4 address(es) of the User Plane interface."; - //conditional support - min-elements 1; - type inet:ipv4-address; - } - } - - case ipv6EndpointAddresses { - leaf-list ipv6EndpointAddresses { - description "Available endpoint IPv6 address(es) of the User Plane interface."; - //conditional support - min-elements 1; - type inet:ipv6-address; - } - } - - case endpointFqdn { - leaf endpointFqdn { - description "FQDN of available endpoint of the User Plane interface."; - //conditional support - type inet:domain-name; - } - } - } - - leaf networkInstance { - description "Network Instance associated to the User Plane interface."; - //optional support - type string; - } - } - - typedef UPInterfaceType { - type enumeration { - enum N3; - enum N6; - enum N9; - } - } - - grouping TaiRange { - list plmnId { - description "PLMN ID related to the TacRange."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list tacRangeList { //is this key unique - description "The range of the TACs."; - min-elements 1; - key "start end"; - uses TacRange; - } - } - - typedef AccessType { - type enumeration { - enum 3GPP_ACCESS; - enum NON_3GPP_ACCESS; - } - } - - grouping N2InterfaceAmfInfo { - //At least one of the addressing parameters (ipv4address or ipv6adress) shall be included. - choice address { - case ipv4EndpointAddress { - leaf-list ipv4EndpointAddress { - description "Available AMF endpoint IPv4 address(es) for N2."; - //conditional support - min-elements 1; - type inet:ipv4-address; - } - } - - case ipv6EndpointAddress { - leaf-list ipv6EndpointAddress { - description "Available AMF endpoint IPv6 address(es) for N2."; - //conditional support - min-elements 1; - type inet:ipv6-address; - } - } - } - - leaf amfName { - description "AMF name."; - type string; - } - } - - grouping sNssaiSmfInfoItem { - list sNssai { //is the key unique - description "Supported S-NSSAI."; - min-elements 1; - max-elements 1; - key "sst sd"; - uses Snssai; - } - - list dnnSmfInfoList { //is the key unique - description "List of parameters supported by the SMF per DNN."; - min-elements 1; - key dnn; - uses DnnSmfInfoItem; - } - } - - grouping DnnSmfInfoItem { - leaf dnn { - description "Supported DNN."; - mandatory true; - 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 { //is the key unique - description "The specific list of S-NSSAIs supported by the given PLMN."; - min-elements 1; - key "sst sd"; - uses Snssai; - } - } +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; } + + organization "3gpp SA5"; + description "NF profile class."; + reference "3GPP TS 29.510"; + + revision 2019-06-17 { + description "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."; + //conditional support + 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."; + + //conditional support + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNssais { //is the key unique + 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; + //optional support + 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; + //optional support + key idx; //no obvious leaf to use as a key + 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."; + //optional support + 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."; + //conditional support + 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."; + //conditional support + type inet:domain-name; + } + + leaf-list ipv4Addresses { + description "IPv4 address(es) of the Network Function."; + min-elements 1; + //conditional support + type inet:ipv4-address; + } + + leaf-list ipv6Addresses { + description "IPv6 address(es) of the Network Function."; + min-elements 1; + //conditional support + 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; + //optional support + 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; + //optional support + 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; + //optional support + type string; + } + + list allowedNssais { //is the key unique + 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; + //optional support + 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."; + //optional support + 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."; + //optional support + type uint16; + } + + leaf load { + description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF."; + //optional support + type types3gpp:Load; + } + + leaf locality { + description "Operator defined information about the location of the NF instance (e.g. geographic location, data center)."; + //optional support + type string; + } + + grouping udrInfo { + //optional support + + 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."; + //optional support + 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; + //optional support + 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; + //optional support + 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; + //optional support + 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; + //optional support + type DataSetId; + } + } + + grouping udmInfo { + //optional support + + 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."; + //optional support + 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; + //optional support + 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; + //optional support + 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; + //optional support + 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}$'."; + //optional support + min-elements 1; + type string; + } + } + + grouping ausfInfo { + //optional support + + leaf groupId { + description "Identity of the AUSF group. If not provided, the AUSF instance does not pertain to any AUSF group."; + //optional support + 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; + //optional support + 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}$'."; + //optional support + min-elements 1; + type string; + } + } + + grouping amfInfo { + //optional support + + 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; //no obvious leaf to use as a key + 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; //no obvious leaf to use as a key + leaf idx { type uint32; } + + //optional support + min-elements 1; + uses Tai; + } + + 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."; + //optional support + min-elements 1; + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + uses TaiRange; + } + + list backupInfoAmfFailure { + description "List of GUAMIs for which the AMF acts as a backup for AMF failure."; + + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + + //optional support + 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; //no obvious leaf to use as a key + leaf idx { type uint32; } + + //optional support + 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."; + + //optional support + max-elements 1; + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + uses N2InterfaceAmfInfo; + } + } + + grouping smfInfo { + //optional support + + list sNssaiSmfInfoList { + description "List of parameters supported by the SMF per S-NSSAI."; + min-elements 1; + key idx; //no obvious leaf to use as a key + 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; //no obvious leaf to use as a key + leaf idx { type uint32; } + + //optional support + min-elements 1; + uses Tai; + } + + 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."; + //optional support + min-elements 1; + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + uses TaiRange; + } + + leaf pgwFqdn { + description "The FQDN of the PGW if the SMF is a combined SMF/PGW-C."; + //optional support + 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."; + + //conditional support + min-elements 1; + max-elements 2; + type AccessType; + } + } + + grouping upfInfo { + //optional support + + list sNssaiUpfInfoList { + description "List of parameters supported by the UPF per S-NSSAI."; + min-elements 1; + key idx; //no obvious leaf to use as a key + 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."; + + //optional support + 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; //no obvious leaf to use as a key + leaf idx { type uint32; } + + //optional support + min-elements 1; + uses InterfaceUpfInfoItem; + } + + leaf iwkEpsInd { + description "Indicates whether interworking with EPS is supported by the UPF. + true: Supported + false (default): Not Supported"; + + //optional support + 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."; + + //optional support + min-elements 1; + type PduSessionType; + } + } + + grouping pcfInfo { + //optional support + + leaf-list dnnList { + description "DNNs supported by the PCF. + If not provided, the PCF can serve any DNN."; + + //optional support + 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; + //optional support + 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,}$'."; + + //conditional support + 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,}$'."; + + //conditional support + type string; + } + } + + grouping bsfInfo { + //optional support + + list ipv4AddressRanges { + description "List of ranges of IPv4 addresses handled by BSF. + If not provided, the BSF can serve any IPv4 address."; + //optional support + 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."; + + //optional support + 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."; + //optional support + 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."; + //optional support + key "start end"; + uses types3gpp:Ipv6PrefixRange; + } + } + + grouping chfInfo { + //optional support + + 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; + //optional support + 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; + //optional support + 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; + //optional support + key "mcc mnc"; + uses types3gpp:PLMNId; + } + } + + grouping nrfInfoGrp { + //optional support + + list servedUdrInfo { + description "This attribute contains all the udrInfo attributes locally configured in the NRF or the NRF received during NF registration."; + //optional support + + 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."; + //optional support + + 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."; + //optional support + + 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."; + //optional support + + 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."; + //optional support + + 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."; + //optional support + + 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."; + //optional support + + 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."; + //optional support + + 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."; + //optional support + + key nfInstanceID; + leaf nfInstanceID { + description "String uniquely identifying a NF instance."; + type string; + } + + min-elements 1; + uses chfInfo; + } + } + + list nrfInfo { + key idx; //no obvious leaf to use as a key + leaf idx { type uint32; } + max-elements 1; + uses nrfInfoGrp; + } + + leaf customInfo { + description "Specific data for custom Network Functions."; + type string; + } + + leaf recoveryTime { + description "Timestamp when the NF was (re)started."; + //optional support + 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."; + + //optional support + 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; + //optional support + 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."; + + //optional support + 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."; + + //optional support + type boolean; + } + + list defaultNotificationSubscriptions { + description "Notification endpoints for different notification types."; + key notificationType; + //optional support + 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 TacRange { + leaf start { + 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, 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 pattern { + description "Pattern representing the set of TAC's belonging to this range."; + type string; + } + } + + grouping SnssaiUpfInfoItem { + list sNssai { //is the key unique + description "Supported S-NSSAI."; + min-elements 1; + max-elements 1; + key "sst sd"; + uses Snssai; + } + + list dnnUpfInfoList { + description "List of parameters supported by the UPF per DNN."; + min-elements 1; + key dnn; + uses DnnUpfInfoItem; + } + } + + 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."; + //optional + 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 Tai { + list plmnId { + description "PLMN Identity."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf tac { type types3gpp:Tac; } + } + + grouping InterfaceUpfInfoItem { + leaf interfaceType { + description "User Plane interface type."; + mandatory true; + type UPInterfaceType; + } + + ////At least one of the addressing parameters (ipv4address, ipv6adress or endpointFqdn) shall be included in the InterfaceUpfInfoItem. + choice address { + case ipv4EndpointAddresses { + leaf-list ipv4EndpointAddresses { + description "Available endpoint IPv4 address(es) of the User Plane interface."; + //conditional support + min-elements 1; + type inet:ipv4-address; + } + } + + case ipv6EndpointAddresses { + leaf-list ipv6EndpointAddresses { + description "Available endpoint IPv6 address(es) of the User Plane interface."; + //conditional support + min-elements 1; + type inet:ipv6-address; + } + } + + case endpointFqdn { + leaf endpointFqdn { + description "FQDN of available endpoint of the User Plane interface."; + //conditional support + type inet:domain-name; + } + } + } + + leaf networkInstance { + description "Network Instance associated to the User Plane interface."; + //optional support + type string; + } + } + + typedef UPInterfaceType { + type enumeration { + enum N3; + enum N6; + enum N9; + } + } + + grouping TaiRange { + list plmnId { + description "PLMN ID related to the TacRange."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list tacRangeList { //is this key unique + description "The range of the TACs."; + min-elements 1; + key "start end"; + uses TacRange; + } + } + + typedef AccessType { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + } + + grouping N2InterfaceAmfInfo { + //At least one of the addressing parameters (ipv4address or ipv6adress) shall be included. + choice address { + case ipv4EndpointAddress { + leaf-list ipv4EndpointAddress { + description "Available AMF endpoint IPv4 address(es) for N2."; + //conditional support + min-elements 1; + type inet:ipv4-address; + } + } + + case ipv6EndpointAddress { + leaf-list ipv6EndpointAddress { + description "Available AMF endpoint IPv6 address(es) for N2."; + //conditional support + min-elements 1; + type inet:ipv6-address; + } + } + } + + leaf amfName { + description "AMF name."; + type string; + } + } + + grouping sNssaiSmfInfoItem { + list sNssai { //is the key unique + description "Supported S-NSSAI."; + min-elements 1; + max-elements 1; + key "sst sd"; + uses Snssai; + } + + list dnnSmfInfoList { //is the key unique + description "List of parameters supported by the SMF per DNN."; + min-elements 1; + key dnn; + uses DnnSmfInfoItem; + } + } + + grouping DnnSmfInfoItem { + leaf dnn { + description "Supported DNN."; + mandatory true; + 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 { //is the key unique + description "The specific list of S-NSSAIs supported by the given PLMN."; + min-elements 1; + key "sst sd"; + uses Snssai; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang index 586f0dbefcbe297c922c3c75b6d814edc4600314..8685e8e8eff88c4f441aa8bea44265835616d70a 100755 --- a/yang-models/_3gpp-5gc-nrm-nfservice.yang +++ b/yang-models/_3gpp-5gc-nrm-nfservice.yang @@ -1,286 +1,286 @@ -module _3gpp-5gc-nrm-nfservice { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nfservice; - prefix nfs3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import ietf-yang-types { prefix yang; } - import ietf-inet-types { prefix inet; } - - organization "3gpp SA5"; - description "NF service class."; - reference "3GPP TS 29.510"; - - revision 2019-06-17 { - description "initial revision"; - } - - grouping NFServiceGrp { - leaf serviceInstanceID { - description "Unique ID of the service instance within a given NF Instance."; - mandatory true; - type string; - } - - leaf serviceName { - description "Name of the service instance (e.g. 'nudm-sdm')."; - mandatory true; - type ServiceName; - } - - list versions { //check in review if key is ok (unique) - description "API versions supported by the NF Service and if available, the corresponding retirement date of the NF Service."; - min-elements 1; - key "apiVersionInUri apiFullVersion"; - uses NFServiceVersion; - } - - leaf scheme { - description "URI scheme (e.g. 'http', 'https')."; - mandatory true; - type UriScheme; - } - - leaf nfServiceStatus { - description "Status of the NF Service Instance."; - mandatory true; - type NFServiceStatus; - } - - leaf fqdn { - description "FQDN of the NF Service Instance."; - //optional support - type inet:domain-name; - } - - leaf interPlmnFqdn { - description "If the NF service needs to be discoverable by other NFs in a different PLMN, - then an FQDN that is used for inter PLMN routing."; - //optional support - type inet:domain-name; - } - - list ipEndPoints { - description "IP address(es) and port information of the Network Function (including IPv4 and/or IPv6 address) - where the service is listening for incoming service requests."; - //optional support - - key idx; - leaf idx { - type string; - } - min-elements 1; - uses ipEndPoint; - } - - leaf apiPrefix { - description "Optional path segment(s) used to construct the {apiRoot} variable of the different API URIs."; - //optional support - type string; - } - - list defaultNotificationSubscriptions { - description "Notification endpoints for different notification types."; - key notificationType; - //optional support - min-elements 1; - uses types3gpp:DefaultNotificationSubscription; - } - - list allowedPlmns { - description "PLMNs allowed to access the service instance. - The absence of this attribute indicates that any PLMN is allowed to access the service instance."; - - min-elements 1; - //optional support - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-list allowedNfTypes { - description "Type of the NFs allowed to access the service instance. - The absence of this attribute indicates that any NF type is allowed to access the service instance."; - - min-elements 1; - //optional support - type types3gpp:NfType; - } - - leaf-list allowedNfDomains { - description "Pattern representing the NF domain names allowed to access the service instance."; - //optional support - min-elements 1; - type string; - } - - leaf-list allowedNssais { - description "S-NSSAI of the allowed slices to access the service instance. - The absence of this attribute indicates that any slice is allowed to access the service instance."; - min-elements 1; - //optional support - type types3gpp:SNssai; - } - - leaf priority { - description "Priority (relative to other services of the same type) in the range of 0-65535, - to be used for NF Service selection; lower values indicate a higher priority."; - //optional support - type uint16; - } - - leaf capacity { - description "Static capacity information in the range of 0-65535, expressed as a weight relative to other services of the same type."; - //optional support - type uint16; - } - - leaf load { - description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF Service."; - //optional support - type types3gpp:Load; - } - - leaf recoveryTime { - description "Timestamp when the NF was (re)started."; - //optional support - type yang:date-and-time; - } - - list chfServiceInfo { //is the key unique - description "Specific data for a CHF service instance."; - //optional support - max-elements 1; - key "primaryChfServiceInstance secondaryChfServiceInstance"; - uses ChfServiceInfo; - } - - leaf supportedFeatures { - description "Supported Features of the NF Service instance."; - //optional support - type SupportedFeatures; - } - } - - typedef SupportedFeatures { - type string { - pattern '[A-Fa-f0-9]*'; - } - } - - grouping ipEndPoint { - choice address { - leaf ipv4Address { - type inet:ipv4-address; - } - - leaf ipv6Address { - type inet:ipv6-address; - } - - leaf ipv6Prefix { - type inet:ipv6-prefix; - } - } - - leaf transport { - type TransportProtocol; - } - - leaf port { - type uint16; - } - } - - typedef TransportProtocol { - type enumeration { - enum TCP; - enum STCP; - enum UDP; - } - } - - grouping NFServiceVersion { - leaf apiVersionInUri { - mandatory true; - type string; - } - - leaf apiFullVersion { - mandatory true; - type string; - } - - leaf expiry { - //optional to support - type yang:date-and-time; - } - } - - typedef ServiceName { - type enumeration { - enum NNRF_NFM; - enum NNRF_DISC; - enum NUDM_SDM; - enum NUDM_UECM; - enum NUDM_UEAU; - enum NUDM_EE; - enum NUDM_PP; - enum NAMF_COMM; - enum NAMF_EVTS; - enum NAMF_MT; - enum NAMF_LOC; - enum NSMF_PDUSESSION; - enum NSMF_EVENT-EXPOSURE; - enum NAUSF_AUTH; - enum NAUSF_SORPROTECTION; - enum NNEF_PFDMANAGEMENT; - enum NPCF_AM-POLICY-CONTROL; - enum NPCF_SMPOLICYCONTROL; - enum NPCF_POLICYAUTHORIZATION; - enum NPCF_BDTPOLICYCONTROL; - enum NPCF_EVENTEXPOSURE; - enum NPCF_UE_POLICY_CONTROL; - enum NSMSF_SMS; - enum NNSSF_NSSELECTION; - enum NNSSF_NSSAIAVAILABILITY; - enum NUDR_DR; - enum NLMF_LOC; - enum N5G_EIR_EIC; - enum NBSF_MANAGEMENT; - enum NCHF_SPENDINGLIMITCONTROL; - enum NCHF_CONVERGEDCHARGING; - enum NNWDAF_EVENTSSUBSCRIPTION; - enum NNWDAF_ANALYTICSINFO; - } - } - - typedef UriScheme { - type enumeration { - enum HTTP; - enum HTTPS; - } - } - - typedef NFServiceStatus { - type enumeration { - enum REGISTERED; - enum SUSPENDED; - enum UNDISCOVERABLE; - } - } - - grouping ChfServiceInfo { - leaf primaryChfServiceInstance { - description "Shall be present if the CHF service instance serves as a secondary CHF instance of another primary CHF service instance."; - //conditional to support - type string; - } - - leaf secondaryChfServiceInstance { - description "Shall be present if the CHF service instance serves as a primary CHF instance of another secondary CHF service instance."; - //conditional to support - type string; - } - } +module _3gpp-5gc-nrm-nfservice { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nfservice; + prefix nfs3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import ietf-yang-types { prefix yang; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + description "NF service class."; + reference "3GPP TS 29.510"; + + revision 2019-06-17 { + description "initial revision"; + } + + grouping NFServiceGrp { + leaf serviceInstanceID { + description "Unique ID of the service instance within a given NF Instance."; + mandatory true; + type string; + } + + leaf serviceName { + description "Name of the service instance (e.g. 'nudm-sdm')."; + mandatory true; + type ServiceName; + } + + list versions { //check in review if key is ok (unique) + description "API versions supported by the NF Service and if available, the corresponding retirement date of the NF Service."; + min-elements 1; + key "apiVersionInUri apiFullVersion"; + uses NFServiceVersion; + } + + leaf scheme { + description "URI scheme (e.g. 'http', 'https')."; + mandatory true; + type UriScheme; + } + + leaf nfServiceStatus { + description "Status of the NF Service Instance."; + mandatory true; + type NFServiceStatus; + } + + leaf fqdn { + description "FQDN of the NF Service Instance."; + //optional support + type inet:domain-name; + } + + leaf interPlmnFqdn { + description "If the NF service needs to be discoverable by other NFs in a different PLMN, + then an FQDN that is used for inter PLMN routing."; + //optional support + type inet:domain-name; + } + + list ipEndPoints { + description "IP address(es) and port information of the Network Function (including IPv4 and/or IPv6 address) + where the service is listening for incoming service requests."; + //optional support + + key idx; + leaf idx { + type string; + } + min-elements 1; + uses ipEndPoint; + } + + leaf apiPrefix { + description "Optional path segment(s) used to construct the {apiRoot} variable of the different API URIs."; + //optional support + type string; + } + + list defaultNotificationSubscriptions { + description "Notification endpoints for different notification types."; + key notificationType; + //optional support + min-elements 1; + uses types3gpp:DefaultNotificationSubscription; + } + + list allowedPlmns { + description "PLMNs allowed to access the service instance. + The absence of this attribute indicates that any PLMN is allowed to access the service instance."; + + min-elements 1; + //optional support + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf-list allowedNfTypes { + description "Type of the NFs allowed to access the service instance. + The absence of this attribute indicates that any NF type is allowed to access the service instance."; + + min-elements 1; + //optional support + type types3gpp:NfType; + } + + leaf-list allowedNfDomains { + description "Pattern representing the NF domain names allowed to access the service instance."; + //optional support + min-elements 1; + type string; + } + + leaf-list allowedNssais { + description "S-NSSAI of the allowed slices to access the service instance. + The absence of this attribute indicates that any slice is allowed to access the service instance."; + min-elements 1; + //optional support + type types3gpp:SNssai; + } + + leaf priority { + description "Priority (relative to other services of the same type) in the range of 0-65535, + to be used for NF Service selection; lower values indicate a higher priority."; + //optional support + type uint16; + } + + leaf capacity { + description "Static capacity information in the range of 0-65535, expressed as a weight relative to other services of the same type."; + //optional support + type uint16; + } + + leaf load { + description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF Service."; + //optional support + type types3gpp:Load; + } + + leaf recoveryTime { + description "Timestamp when the NF was (re)started."; + //optional support + type yang:date-and-time; + } + + list chfServiceInfo { //is the key unique + description "Specific data for a CHF service instance."; + //optional support + max-elements 1; + key "primaryChfServiceInstance secondaryChfServiceInstance"; + uses ChfServiceInfo; + } + + leaf supportedFeatures { + description "Supported Features of the NF Service instance."; + //optional support + type SupportedFeatures; + } + } + + typedef SupportedFeatures { + type string { + pattern '[A-Fa-f0-9]*'; + } + } + + grouping ipEndPoint { + choice address { + leaf ipv4Address { + type inet:ipv4-address; + } + + leaf ipv6Address { + type inet:ipv6-address; + } + + leaf ipv6Prefix { + type inet:ipv6-prefix; + } + } + + leaf transport { + type TransportProtocol; + } + + leaf port { + type uint16; + } + } + + typedef TransportProtocol { + type enumeration { + enum TCP; + enum STCP; + enum UDP; + } + } + + grouping NFServiceVersion { + leaf apiVersionInUri { + mandatory true; + type string; + } + + leaf apiFullVersion { + mandatory true; + type string; + } + + leaf expiry { + //optional to support + type yang:date-and-time; + } + } + + typedef ServiceName { + type enumeration { + enum NNRF_NFM; + enum NNRF_DISC; + enum NUDM_SDM; + enum NUDM_UECM; + enum NUDM_UEAU; + enum NUDM_EE; + enum NUDM_PP; + enum NAMF_COMM; + enum NAMF_EVTS; + enum NAMF_MT; + enum NAMF_LOC; + enum NSMF_PDUSESSION; + enum NSMF_EVENT-EXPOSURE; + enum NAUSF_AUTH; + enum NAUSF_SORPROTECTION; + enum NNEF_PFDMANAGEMENT; + enum NPCF_AM-POLICY-CONTROL; + enum NPCF_SMPOLICYCONTROL; + enum NPCF_POLICYAUTHORIZATION; + enum NPCF_BDTPOLICYCONTROL; + enum NPCF_EVENTEXPOSURE; + enum NPCF_UE_POLICY_CONTROL; + enum NSMSF_SMS; + enum NNSSF_NSSELECTION; + enum NNSSF_NSSAIAVAILABILITY; + enum NUDR_DR; + enum NLMF_LOC; + enum N5G_EIR_EIC; + enum NBSF_MANAGEMENT; + enum NCHF_SPENDINGLIMITCONTROL; + enum NCHF_CONVERGEDCHARGING; + enum NNWDAF_EVENTSSUBSCRIPTION; + enum NNWDAF_ANALYTICSINFO; + } + } + + typedef UriScheme { + type enumeration { + enum HTTP; + enum HTTPS; + } + } + + typedef NFServiceStatus { + type enumeration { + enum REGISTERED; + enum SUSPENDED; + enum UNDISCOVERABLE; + } + } + + grouping ChfServiceInfo { + leaf primaryChfServiceInstance { + description "Shall be present if the CHF service instance serves as a secondary CHF instance of another primary CHF service instance."; + //conditional to support + type string; + } + + leaf secondaryChfServiceInstance { + description "Shall be present if the CHF service instance serves as a primary CHF instance of another secondary CHF service instance."; + //conditional to support + type string; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang b/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang index 2dd8390a81b43c721afe0e1b8022a14a9688b1f1..8f1ce2fb05e840809536bd7665d44e34a5cb3e3d 100755 --- a/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang @@ -1,73 +1,73 @@ -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; } - - organization "3gpp SA5"; - description "This IOC represents the 5G-EIR function in 5GC. For more information about the 5G-EIR, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-15 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V15.X.XX"; - } - - grouping NGEIRFunctionGrp { - 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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-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."; - //optional support - reference "3GPP TS 23.003"; - type types3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list NGEIRFunction { - description "5G Core NGEIR Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NGEIRFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +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; } + + organization "3gpp SA5"; + description "This IOC represents the 5G-EIR function in 5GC. For more information about the 5G-EIR, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + + revision 2019-05-15 { + description "initial revision"; + reference "Based on + 3GPP TS 28.541 V15.X.XX"; + } + + grouping NGEIRFunctionGrp { + 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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf-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."; + //optional support + reference "3GPP TS 23.003"; + type types3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list NGEIRFunction { + description "5G Core NGEIR Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NGEIRFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index d81c74325d253a1bfc8f04597acbcec5824c5bb7..d9754bd457451e9844e60f64e67583665e36aeab 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -1,78 +1,80 @@ -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; } - - organization "3gpp SA5"; - description "This IOC represents the NRF function in 5GC. - For more information about the NRF, see 3GPP TS 23.501 [2]."; - reference "3GPP TS 28.541"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-05-15 { - description "initial revision"; - } - - grouping NRFFunctionGrp { - 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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; - type inet:domain-name; - } - - leaf-list nSIIdListWrap { - description "Set of NSI Ids. The NSI ID represents the Network Slice Instance Identifier."; - //optional support - type types3gpp:NsiId; - } - - leaf-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."; - //optional support - reference "3GPP TS 23.003"; - type types3gpp:SNssai; - } - - list nFProfileList { - description "Set of NFProfile(s) to be registered in the NRF instance."; - //optional support - key nfInstanceID; - uses nfp3gpp:NFProfileGrp; - } - } - - augment "/me3gpp:ManagedElement" { - list NRFFunction { - description "5G Core NRF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +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; } + + organization "3gpp SA5"; + description "This IOC represents the NRF function in 5GC. + For more information about the NRF, see 3GPP TS 23.501 [2]."; + reference "3GPP TS 28.541"; + + revision 2020-08-03 { reference "CR-0321"; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-05-15 { description "initial revision"; } + + grouping NRFFunctionGrp { + 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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + 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 + and subclause 6.1.6.2.7 of 3GPP TS 29.531"; + type string; + } + + leaf-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."; + //optional support + reference "3GPP TS 23.003"; + type types3gpp:SNssai; + } + + list nFProfileList { + description "Set of NFProfile(s) to be registered in the NRF instance."; + //optional support + key nfInstanceID; + uses nfp3gpp:NFProfileGrp; + } + } + + augment "/me3gpp:ManagedElement" { + list NRFFunction { + description "5G Core NRF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nssffunction.yang b/yang-models/_3gpp-5gc-nrm-nssffunction.yang index 8f22c1834fead3c0bb11601ab5e4123ed2355869..7d9407b0f84cd12aaea26d491fee30c6c5c63c52 100755 --- a/yang-models/_3gpp-5gc-nrm-nssffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nssffunction.yang @@ -1,77 +1,80 @@ -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; } - - organization "3gpp SA5"; - description "This IOC represents the NSSF function in 5GC. For more information about the NSSF, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-15 { - description "initial revision"; - - } - - grouping NSSFFunctionGrp { - 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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; - type inet:domain-name; - } - - leaf-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"; - type types3gpp:SNssai; - } - - leaf-list nSIIdListWrap { - description "Set of NSI Ids. The NSI ID represents the Network Slice Instance Identifier."; - //optional support - type types3gpp:NsiId; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - } - - augment "/me3gpp:ManagedElement" { - list NSSFFunction { - description "5G Core NSSF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NSSFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +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; } + + organization "3gpp SA5"; + description "This IOC represents the NSSF function in 5GC. For more + information about the NSSF, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-08-03 { reference "CR-0321"; } + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + revision 2019-05-15 { description "initial revision"; } + + grouping NSSFFunctionGrp { + 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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { description "The FQDN of the registered NF instance in the service-based + interface."; + type inet:domain-name; + } + + leaf-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"; + type types3gpp: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 + and subclause 6.1.6.2.7 of 3GPP TS 29.531"; + type string; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + } + + augment "/me3gpp:ManagedElement" { + list NSSFFunction { + description "5G Core NSSF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NSSFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang index 95e3057fbeaeaf537e429ae0e6acb295f5c1a697..813b3bdeb0607129438fdd92543ea0c5044c7a2a 100755 --- a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang @@ -1,79 +1,79 @@ -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; } - 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 NWDAF function in 5GC. For more information about the NWDAF, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-15 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V15.X.XX"; - } - - grouping NWDAFFunctionGrp { - 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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; - type inet:domain-name; - } - - leaf-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."; - //optional support - reference "3GPP TS 23.003"; - type types3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list NWDAFFunction { - description "5G Core NWDAF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NWDAFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +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; } + 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 NWDAF function in 5GC. For more information about the NWDAF, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + + revision 2019-05-15 { + description "initial revision"; + reference "Based on + 3GPP TS 28.541 V15.X.XX"; + } + + grouping NWDAFFunctionGrp { + 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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based interface."; + type inet:domain-name; + } + + leaf-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."; + //optional support + reference "3GPP TS 23.003"; + type types3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list NWDAFFunction { + description "5G Core NWDAF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NWDAFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-pcffunction.yang b/yang-models/_3gpp-5gc-nrm-pcffunction.yang index 0db05ceb7ae3efeee5d1eb7f69f3e61dc2aed5ad..b9eaf0e0ae701918405b72d63c7fafd00f7ba0ad 100755 --- a/yang-models/_3gpp-5gc-nrm-pcffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-pcffunction.yang @@ -1,76 +1,88 @@ -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; } - - organization "3gpp SA5"; - description "This IOC represents the PCF function in 5GC. For more information about the PCF, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-25 {reference "S5-194457 S5-193518"; } - - revision 2019-05-22 { - description "initial revision"; - } - - grouping PCFFuntionGrp { - 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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; - type inet:domain-name; - } - - leaf-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."; - //optional support - reference "3GPP TS 23.003"; - type types3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list PCFFunction { - description "5G Core PCF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses PCFFuntionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +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; } + + organization "3gpp SA5"; + description "This IOC represents the PCF function in 5GC. For more information about the PCF, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + 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 { + description "initial revision"; + } + + grouping PCFFuntionGrp { + 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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based interface."; + type inet:domain-name; + } + + leaf-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."; + //optional support + reference "3GPP TS 23.003"; + type types3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + leaf dynamic5QISetRef { + type types3gpp:DistinguishedName; + 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 (is associated to)."; + } + } + + augment "/me3gpp:ManagedElement" { + list PCFFunction { + description "5G Core PCF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses PCFFuntionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang new file mode 100755 index 0000000000000000000000000000000000000000..b8ea9c8003e314a56d91bca55f3c13600a7010e0 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang @@ -0,0 +1,621 @@ +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 configured to SMF and referenced by PCF."; + reference "3GPP TS 28.541"; + + revision 2020-08-21 { reference "CR-0330"; } + + grouping TscaiInputContainer { + description "It specifies the transports TSCAI input parameters for TSC traffic at the ingress interface of the DS-TT/UE for a PCC rule, see TS 29.512 [60]"; + leaf periodicity { + type uint32; + mandatory false; + description "It identifies the time period between the start of two bursts in reference to the TSN GM, see TS 29.571 [61]."; + } + leaf burstArrivalTime { + type yang:date-and-time; + mandatory false; + description "It Indicates the arrival time (in date-time format) of the data burst in reference to the TSN GM, see TS 29.571 [61]."; + } + } + + grouping ConditionData { + description "It specifies the specifies the condition data for a PCC rule."; + leaf condId { + type string; + mandatory true; + description "It uniquely identifies the condition data."; + } + leaf activationTime { + type yang:date-and-time; + mandatory false; + description " It indicates the time (in date-time format) when the decision data shall be activated, see TS 29.512 [60] and TS 29.571 [61]."; + } + leaf deactivationTime { + type yang:date-and-time; + mandatory false; + description "It indicates the time (in date-time format) when the decision data shall be deactivated, see TS 29.512 [60] and TS 29.571 [81]."; + } + leaf accessType { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + mandatory false; + description "It provides the condition of access type of the UE when the session AMBR shall be enforced, see TS 29.512 [60]."; + } + leaf ratType { + type enumeration { + enum NR; + enum EUTRA; + enum WLAN; + enum VIRTUAL; + enum NBIOT; + enum WIRELINE; + enum WIRELINE_CABLE; + enum WIRELINE_BBF; + enum LTE-M; + enum NR_U; + enum EUTRA_U; + enum TRUSTED_N3GA; + enum TRUSTED_WLAN; + enum UTRA; + enum GERA; + } + mandatory false; + description "It provides the condition of RAT type of the UE when the session AMBR shall be enforced, see TS 29.512 [60] and TS 29.571 [61]."; + } + } + + grouping SteeringMode { + description "It specifies the traffic distribution rule, see TS 29.512 [60]."; + leaf steerModeValue { + type enumeration { + enum ACTIVE_STANDBY; + enum LOAD_BALANCING; + enum SMALLEST_DELAY; + enum PRIORITY_BASED; + } + mandatory true; + description "It indicates the value of the steering mode, see TS 29.512 [60]."; + } + leaf active { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + mandatory false; + description "It indicates the active access, see TS 29.571 [61]."; + } + leaf standby { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + mandatory false; + description "It indicates the Standby access, see TS 29.571 [61]."; + } + leaf threeGLoad { + type uint8 { + range 0..100; + } + mandatory false; + description "It indicates the traffic load to steer to the 3GPP Access expressed in one percent."; + } + leaf prioAcc { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + mandatory false; + description "It indicates the high priority access, see TS 29.571 [61]."; + } + } + + grouping UpPathChgEvent { + description "It specifies the information about the AF subscriptions of the UP path change, see TS 29.512 [60]"; + leaf notificationUri { + type string; + mandatory true; + 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 the notification sent by the SMF, see TS 29.512 [60]."; + } + leaf dnaiChgType { + type enumeration { + enum EARLY; + enum EARLY_LATE; + enum LATE; + } + mandatory true; + description "It indicates the type of DNAI change, see TS 29.512 [60]."; + } + leaf afAckInd { + type boolean; + default false; + mandatory false; + description "It identifies whether the AF acknowledgement of UP path event notification is expected."; + } + } + + grouping RouteInformation { + description "It specifies the traffic routing information."; + leaf ipv4Addr { + type string; + mandatory false; + 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; + mandatory false; + 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 the data network, see TS 29.571 [61]."; + } + } + + grouping RouteToLocation { + description "It specifies a list of location which the traffic shall be routed to for the AF request."; + leaf dnai { + type string; + mandatory true; + description "It represents the DNAI (Data network access identifier), see 3GPP TS 23.501 [2]."; + } + container routeInfo{ + description "It provides the traffic routing information."; + uses RouteInformation; + } + leaf routeProfId { + type string; + mandatory false; + description "It identifies the routing profile."; + } + } + + grouping RedirectInformaton { + description "It specifies the redirect information for traffic control in the PCC rule."; + leaf redirectEnabled { + type boolean; + mandatory true; + description "It indicates whether the redirect instruction is enabled."; + } + leaf redirectAddressType { + type enumeration { + enum IPV4_ADDR; + enum IPV6_ADDR; + enum URL; + enum SIP_URI; + } + mandatory true; + description "It indicates the type of redirect address, see TS 29.512 [60]."; + } + leaf redirectServerAddress { + type string; + mandatory true; + description "It indicates the address of the redirect server."; + } + } + + grouping TrafficControlDataInformation { + 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 within a PDU session."; + } + leaf flowStatus { + type enumeration { + enum ENABLED-UPLINK; + enum ENABLED-DOWNLINK; + enum ENABLED; + enum DISABLED; + enum REMOVED; + } + mandatory true; + description "It represents whether the service data flow(s) are enabled or disabled."; + } + container redirectInfo { + 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 controlled address."; + list redirectInfo { + description "The list of redirect information indicating whether the detected application traffic should be redirected to another controlled address."; + key "redirectServerAddress"; + uses RedirectInformaton; + } + } + leaf muteNotif { + type boolean; + mandatory false; + default false; + description "It indicates whether applicat'on's start or stop notification is to be muted."; + } + leaf trafficSteeringPolIdDl { + type string; + mandatory false; + description "It references to a pre-configured traffic steering policy for downlink traffic at the SMF, see TS 29.512 [60]."; + } + leaf trafficSteeringPolIdUl { + type string; + mandatory false; + description "It references to a pre-configured traffic steering policy for uplink traffic at the SMF, see TS 29.512 [60]."; + } + container routeToLocs { + 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 for the AF request."; + key "dnai"; + uses RouteToLocation; + } + } + uses UpPathChgEvent; + leaf steerFun { + type enumeration { + enum MPTCP; + enum ATSSS_LL; + } + mandatory false; + description "It indicates the applicable traffic steering functionality, see TS 29.512 [60]."; + } + container steerModeDl { + description "It provides the traffic distribution rule across 3GPP and Non-3GPP accesses to apply for downlink traffic."; + uses SteeringMode; + } + container steerModeUl { + description "It provides the traffic distribution rule across 3GPP and Non-3GPP accesses to apply for uplink traffic."; + uses SteeringMode; + } + leaf mulAccCtrl { + type enumeration { + enum ALLOWED; + enum NOT_ALLOWED; + } + mandatory false; + description "It indicates whether the service data flow, corresponding to the service data flow template, is allowed or not allowed."; + } + } + + grouping ARP { + description "It specifies the allocation and retention priority of a QoS control policy."; + leaf priorityLevel { + type uint8 { + range 1..15; + } + mandatory true; + description "It defines the relative importance of a resource request."; + } + leaf preemptCap { + type enumeration { + enum NOT_PREEMPT; + enum MAY_PREEMPT; + } + mandatory true; + description "It defines whether a service data flow may get resources that were already assigned to another service data flow with a lower priority level."; + } + leaf preemptVuln { + type enumeration { + enum NOT_PREEMPTABLE; + enum PREEMPTABLE; + } + mandatory true; + description "It defines whether a service data flow may lose the resources assigned to it in order to admit a service data flow with higher priority level."; + } + } + + grouping QosDataInformation { + description "It specifies the QoS control policy data for a service flow of a PCC rule."; + leaf qosId { + type string; + mandatory true; + description "It identifies the QoS control policy data for a PCC rule."; + } + leaf fiveQIValue { + type uint8 { + range 0..255; + } + mandatory true; + description "It indicates the 5QI value."; + } + leaf maxbrUl { + type string; + mandatory false; + description "It represents the maximum uplink bandwidth."; + } + leaf maxbrDl { + type string; + mandatory false; + description "It represents the maximum downlink bandwidth."; + } + leaf gbrUl { + type string; + mandatory false; + description "It represents the guaranteed uplink bandwidth."; + } + leaf gbrDl { + type string; + mandatory false; + description "It represents the guaranteed downlink bandwidth."; + } + uses ARP; + leaf qosNotificationControl { + type boolean; + default false; + mandatory false; + description "It indicates whether notifications are requested from 3GPP NG-RAN when the GFBR can no longer (or again) be guaranteed for a QoS Flow during the lifetime of the QoS Flow."; + } + leaf reflectiveQos { + type boolean; + default false; + mandatory false; + description "Indicates whether the QoS information is reflective for the corresponding non-GBR service data flow"; + } + leaf sharingKeyDl { + type string; + mandatory false; + description "It indicates, by containing the same value, what PCC rules may share resource in downlink direction."; + } + leaf sharingKeyUl { + type string; + mandatory false; + description "It indicates, by containing the same value, what PCC rules may share resource in uplink direction."; + } + leaf maxPacketLossRateDl { + type uint16 { + range 0..1000; + } + mandatory false; + description "It indicates the downlink maximum rate for lost packets that can be tolerated for the service data flow."; + } + leaf maxPacketLossRateUl { + type uint16 { + range 0..1000; + } + mandatory false; + description "It indicates the uplink maximum rate for lost packets that can be tolerated for the service data flow."; + } + leaf extMaxDataBurstVol { + type uint32 { + range 4096..2000000; + } + mandatory false; + description "It denotes the largest amount of data that is required to be transferred within a period of 5G-AN PDB, see TS 29.512 [60]."; + } + } + + grouping EthFlowDescription { + description "It describes an Ethernet flow."; + leaf destMacAddr { + type string; + mandatory true; + description "It specifies the destination MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of IETF RFC 7042 [63]."; + } + leaf ethType { + type string; + mandatory true; + description "A two-octet string that represents the Ethertype, as described in IEEE 802.3 [64] and IETF RFC 7042 [63] in hexadecimal representation."; + } + leaf fDesc { + type string; + mandatory false; + description "It contains the flow description for the Uplink or Downlink IP flow. It shall be present when the ethtype is IP."; + } + leaf fDir { + type enumeration { + enum DOWNLINK; + enum UPLINK; + } + mandatory true; + description "It indicates the packet filter direction."; + } + leaf sourceMacAddr { + type string; + mandatory true; + description "It specifies the source MAC address formatted in the hexadecimal notation according to clause 1.1 and clause 2.1 of IETF RFC 7042 [63]."; + } + 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 [65] and IETF RFC 7042 [63]. 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 { + type string; + mandatory false; + description "It specifies the source MAC address end. If this attribute is present, the sourceMacAddr attribute specifies the source MAC address start. E.g. srcMacAddrEnd with value 00-10-A4-23-3E-FE and sourceMacAddr with value 00-10-A4-23-3E-02 means all MAC addresses from 00-10-A4-23-3E-02 up to and including 00-10-A4-23-3E-FE."; + } + leaf destMacAddrEnd { + type string; + mandatory false; + description "It specifies the destination MAC address end. If this attribute is present, the destMacAddr attribute specifies the destination MAC address start."; + } + } + + grouping FlowInformation { + description "It specifies the flow information of a PCC rule."; + leaf flowDescription { + type string; + mandatory true; + description "It defines a packet filter for an IP flow."; + } + uses EthFlowDescription; + leaf packFiltId { + type string; + mandatory true; + description "It is the identifier of the packet filter."; + } + leaf packetFilterUsage { + type boolean; + default false; + description "It indicates if the packet shall be sent to the UE."; + } + leaf tosTrafficClass { + type string; + mandatory true; + description "It contains the Ipv4 Type-of-Service and mask field or the Ipv6 Traffic-Class field and mask field."; + } + leaf spi { + type string; + mandatory true; + description "It is the security parameter index of the IPSec packet, see IETF RFC 4301 [66]"; + } + leaf flowLabel { + type string; + mandatory false; + description "It specifies the Ipv6 flow label header field."; + } + leaf flowDirection { + type enumeration { + enum DOWNLINK; + enum UPLINK; + enum BIDIRECTIONAL; + enum UNSPECIFIED; + } + mandatory true; + description "It indicates the direction/directions that a filter is applicable."; + } + } + + grouping PccRule { + description "It specifies the PCC rule, see TS 29.512 [60]."; + leaf pccRuleId { + type string; + mandatory true; + description "It identifies the PCC rule."; + } + container flowInfoList { + description "It is a list of IP flow packet filter information."; + list flowInfo { + description "The list of IP flow packet filter information."; + key "packFiltId"; + uses FlowInformation; + } + } + leaf applicationId { + type string; + default false; + mandatory false; + description "A reference to the application detection filter configured at the UPF."; + } + leaf appDescriptor { + type string; + mandatory false; + description "It is the ATSSS rule application descriptor."; + } + leaf contentVersion { + type uint8; + mandatory false; + description "Indicates the content version of the PCC rule."; + } + leaf precedence { + type uint8 { + range 0..255; + } + mandatory false; + description "It indicates the order in which this PCC rule is applied relative to other PCC rules within the same PDU session."; + } + leaf afSigProtocol { + type enumeration { + enum NO_INFORMATION; + enum SIP; + } + mandatory false; + 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; + mandatory false; + description "It indicates the application relocation possibility, the default value is NO_INFORMATION."; + } + leaf isUeAddrPreserved { + type boolean; + default false; + mandatory false; + description "It Indicates whether UE IP address should be preserved."; + } + container qosData { + description "It contains the QoS control policy data for a PCC rule."; + list qosDataInfo { + description "The list of QoS control policy data."; + key "qosId"; + uses QosDataInformation; + } + } + container altQosParams { + 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."; + key "qosId"; + uses QosDataInformation; + } + } + container trafficControlData { + description "It contains the traffic control policy data for a PCC rule."; + list trafficControlDataInfo { + description "The list of traffic control policy data."; + key "tcId"; + uses TrafficControlDataInformation; + } + } + 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; + + } + container tscaiInputDl { + description "It contains transports TSCAI input parameters for TSC traffic at the ingress of the NW-TT (downlink flow direction)."; + uses TscaiInputContainer; + } + } + + grouping PredefinedPccRuleSetGrp { + description "Represents the PredefinedPccRuleSet IOC."; + list PredefinedPccRules { + description "The list of predefined PCC rules."; + key "pccRuleId"; + uses PccRule; + } + } + + grouping PredefinedPccRuleSetSubtree { + description "It specifies the PredefinedPccRuleSet IOC with inherited attributes."; + list PredefinedPccRuleSet { + description "Specifies the predefined PCC rules."; + key "id"; + uses top3gpp:Top_Grp; + container attributes { + description "It contains the attributes defined specifically in the PredefinedPccRuleSet IOC."; + uses PredefinedPccRuleSetGrp; + } + } + } + + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { + description "It specifies the containment relation of PredefinedPccRuleSet MOI with SMFFunction MOI."; + uses PredefinedPccRuleSetSubtree; + } + + augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { + description "It specifies the containment relation of PredefinedPccRuleSet MOI with PCFFunction MOI."; + uses PredefinedPccRuleSetSubtree; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-scpfunction.yang b/yang-models/_3gpp-5gc-nrm-scpfunction.yang index bf280b082bc4ea1d5fe0d646f76996cc0ad79a46..aa1f980725193fa68b25fe8780dccd3b1cccb8ed 100755 --- a/yang-models/_3gpp-5gc-nrm-scpfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-scpfunction.yang @@ -1,51 +1,50 @@ -module _3gpp-5gc-nrm-scpfunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-scpfunction; - prefix scp3gpp; - - 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; } - - organization "3gpp SA5"; - description "This IOC represents the SCP function in 5GC. For more information about the SCP, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-20 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V16.X.XX"; - } - - grouping SCPFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - leaf address { - description "The host address of the SCP."; - type inet:host; - } - - list supportedFuncList { - min-elements 1; - key "function"; - uses types5g3gpp:SupportedFunc; - } - - } - - augment "/me3gpp:ManagedElement" { - list SCPFunction { - description "5G Core SCP Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses SCPFunctionGrp; - } - } - } +module _3gpp-5gc-nrm-scpfunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-scpfunction; + prefix scp3gpp; + + 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-top { prefix top3gpp; } + + organization "3gpp SA5"; + description "This IOC represents the SCP function in 5GC. For more information about the SCP, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-10-20 { + description "initial revision"; + reference "Based on + 3GPP TS 28.541 V16.X.XX"; + } + + grouping SCPFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + leaf address { + description "The host address of the SCP."; + type inet:host; + } + + list supportedFuncList { + min-elements 1; + key "function"; + uses types5g3gpp:SupportedFunc; + } + + } + + augment "/me3gpp:ManagedElement" { + list SCPFunction { + description "5G Core SCP Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses SCPFunctionGrp; + } + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-seppfunction.yang b/yang-models/_3gpp-5gc-nrm-seppfunction.yang index 5665da3808f3afa3c5467cd79cf2b1baaff57aed..e4793dd3ff8eb71c44bfad89e36fcce8cd97b8ef 100755 --- a/yang-models/_3gpp-5gc-nrm-seppfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-seppfunction.yang @@ -1,73 +1,70 @@ -module _3gpp-5gc-nrm-seppfunction { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-seppfunction; - prefix sepp3gpp; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import ietf-inet-types { prefix inet; } - - organization "3gpp SA5"; - description "This IOC represents the SEPP function which support message filtering - and policing on inter-PLMN control plane interface. For more information about the SEPP, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-28 { reference S5-193518 ; } - - revision 2019-11-17 { - description "initial revision"; - } - - typedef SEPPType { - reference "3GPP TS 23501"; - type enumeration { - enum CSEPP { - value 0; - description "consumer SEPP"; - } - - enum PSEPP { - value 1; - description "producer SEPP"; - } - } - } - - grouping SEPPFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - container pLMNId { - description "PLMN Identifiers of the sepp. - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; - uses types3gpp:PLMNId; - } - - leaf sEPPType { - type sepp3gpp:SEPPType; - } - - leaf sEPPId { - type uint16; - } - - leaf fqdn { - description "The domain name of the SEPP."; - type inet:domain-name; - } - } - - augment "/me3gpp:ManagedElement" { - list SEPPFunction { - description "5G Core SEPP Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses SEPPFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; } - } +module _3gpp-5gc-nrm-seppfunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-seppfunction; + prefix sepp3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3gpp SA5"; + description "This IOC represents the SEPP function which support message filtering + and policing on inter-PLMN control plane interface. For more information about the SEPP, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2020-08-03 { reference "CR-0321"; } + revision 2019-10-28 { reference S5-193518 ; } + + typedef SEPPType { + reference "3GPP TS 23501"; + type enumeration { + enum CSEPP { + value 0; + description "consumer SEPP"; + } + + enum PSEPP { + value 1; + description "producer SEPP"; + } + } + } + + grouping SEPPFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + container pLMNId { + description "PLMN Identifiers of the sepp. + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + uses types3gpp:PLMNId; + } + + leaf sEPPType { + type sepp3gpp:SEPPType; + } + + leaf sEPPId { + type uint16; + } + + leaf fqdn { + description "The domain name of the SEPP."; + type inet:domain-name; + } + } + + augment "/me3gpp:ManagedElement" { + list SEPPFunction { + description "5G Core SEPP Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses SEPPFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang index 57745c98228631c2c75fb7fe2ac24274f10a46e7..3fe49264dfec6bf1064db541e389bb6dadd080cf 100755 --- a/yang-models/_3gpp-5gc-nrm-smffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smffunction.yang @@ -1,83 +1,95 @@ -module _3gpp-5gc-nrm-smffunction { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-smffunction; - prefix smf3gpp; - - 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 ietf-inet-types { prefix inet; } - import _3gpp-common-top { prefix top3gpp; } - - description "SMFFunction derived from basic ManagedFunction."; - - revision 2019-10-25 { reference "S5-194457 S5-193518"; } - revision 2019-05-31 { - description "Ericsson refactoring."; - } - - revision 2018-08-07 { - description "Initial revision"; - } - - grouping SMFFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - min-elements 1; - description "A list of PLMN identifiers (Mobile Country Code and Mobile Network Code)."; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-list 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 types3gpp:Tac; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; - type inet:domain-name; - } - - leaf-list sNSSAIList { - min-elements 0; - 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"; - type types3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list SMFFunction { - description "5G Core SMF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses SMFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-5gc-nrm-smffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-smffunction; + prefix smf3gpp; + + 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 ietf-inet-types { prefix inet; } + import _3gpp-common-top { prefix top3gpp; } + + description "SMFFunction derived from basic ManagedFunction."; + + revision 2020-08-06 { reference "CR-0333"; } + revision 2020-06-03 { reference "CR-0286"; } + revision 2019-10-25 { reference "S5-194457 S5-193518"; } + revision 2019-05-31 { + description "Ericsson refactoring."; + } + + revision 2018-08-07 { + description "Initial revision"; + } + + grouping SMFFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + min-elements 1; + description "A list of PLMN identifiers (Mobile Country Code and Mobile Network Code)."; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf-list 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 types3gpp:Tac; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based interface."; + type inet:domain-name; + } + + leaf-list sNSSAIList { + min-elements 0; + 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"; + type types3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + + leaf configurable5QISetRef { + type types3gpp:DistinguishedName; + 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 (is associated to)."; + } + } + + augment "/me3gpp:ManagedElement" { + list SMFFunction { + description "5G Core SMF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses SMFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-smsffunction.yang b/yang-models/_3gpp-5gc-nrm-smsffunction.yang index 2ff8aba149530f59bf8292ba49f1893091a82719..720d90417fa34282e61c189343b4468a4f4c0abf 100755 --- a/yang-models/_3gpp-5gc-nrm-smsffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smsffunction.yang @@ -1,62 +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; } - - organization "3gpp SA5"; - description "This IOC represents the SMSF function defined in 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-15 { - description "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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list SMSFFunction { - description "5G Core SMSF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses SMSFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +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; } + + organization "3gpp SA5"; + description "This IOC represents the SMSF function defined in 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + + revision 2019-05-15 { + description "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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list SMSFFunction { + description "5G Core SMSF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses SMSFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-udmfunction.yang b/yang-models/_3gpp-5gc-nrm-udmfunction.yang index 89e498ffd6fdc34a6ea6bc908b651731a1c8e429..5e2a32f829e1ef2eb4ec3fa0b9a7667540457f39 100755 --- a/yang-models/_3gpp-5gc-nrm-udmfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udmfunction.yang @@ -1,77 +1,77 @@ -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; } - - organization "3gpp SA5"; - description "This IOC represents the UDM function in 5GC. For more information about the UDM, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-22 { - description "initial revision"; - } - - grouping UDMFuntionGrp { - 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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; - type inet:domain-name; - } - - leaf-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."; - //optional support - reference "3GPP TS 23.003"; - type types3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - } - - augment "/me3gpp:ManagedElement" { - list UDMFunction { - description "5G Core UDM Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses UDMFuntionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +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; } + + organization "3gpp SA5"; + description "This IOC represents the UDM function in 5GC. For more information about the UDM, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + + revision 2019-05-22 { + description "initial revision"; + } + + grouping UDMFuntionGrp { + 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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based interface."; + type inet:domain-name; + } + + leaf-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."; + //optional support + reference "3GPP TS 23.003"; + type types3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + } + + augment "/me3gpp:ManagedElement" { + list UDMFunction { + description "5G Core UDM Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses UDMFuntionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-udrfunction.yang b/yang-models/_3gpp-5gc-nrm-udrfunction.yang index 822df1f034180b183009c53a8fc3ed73a110a952..49e433a49bbb971935540e635228942680accdd9 100755 --- a/yang-models/_3gpp-5gc-nrm-udrfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udrfunction.yang @@ -1,70 +1,70 @@ -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; } - - organization "3gpp SA5"; - description "This IOC represents the UDR function in 5GC. For more information about the UDR, see 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-22 { - description "initial revision"; - } - - grouping UDRFuntionGrp { - 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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; - type inet:domain-name; - } - - leaf-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."; - //optional support - reference "3GPP TS 23.003"; - type types3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - } - - augment "/me3gpp:ManagedElement" { - list UDRFunction { - description "5G Core UDR Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses UDRFuntionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +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; } + + organization "3gpp SA5"; + description "This IOC represents the UDR function in 5GC. For more information about the UDR, see 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + + revision 2019-05-22 { + description "initial revision"; + } + + grouping UDRFuntionGrp { + 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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based interface."; + type inet:domain-name; + } + + leaf-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."; + //optional support + reference "3GPP TS 23.003"; + type types3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + } + + augment "/me3gpp:ManagedElement" { + list UDRFunction { + description "5G Core UDR Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses UDRFuntionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-udsffunction.yang b/yang-models/_3gpp-5gc-nrm-udsffunction.yang index f6046ed11633d9403d396204c57edfb294659fd3..f17d130dc51cee443d2b9c3b1f372a505243fa80 100755 --- a/yang-models/_3gpp-5gc-nrm-udsffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udsffunction.yang @@ -1,70 +1,70 @@ -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; } - - organization "3gpp SA5"; - description "This IOC represents the UDSF function which can be interacted with any other 5GC NF defined in 3GPP TS 23.501."; - reference "3GPP TS 28.541"; - - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-22 { - description "initial revision"; - - } - - grouping UDSFFuntionGrp { - 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)."; - - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based interface."; - type inet:domain-name; - } - - leaf-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."; - //optional support - reference "3GPP TS 23.003"; - type types3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - } - - augment "/me3gpp:ManagedElement" { - list UDSFFunction { - description "5G Core UDSF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses UDSFFuntionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; } - } +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; } + + organization "3gpp SA5"; + description "This IOC represents the UDSF function which can be interacted with any other 5GC NF defined in 3GPP TS 23.501."; + reference "3GPP TS 28.541"; + + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + + revision 2019-05-22 { + description "initial revision"; + + } + + grouping UDSFFuntionGrp { + 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)."; + + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "The FQDN of the registered NF instance in the service-based interface."; + type inet:domain-name; + } + + leaf-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."; + //optional support + reference "3GPP TS 23.003"; + type types3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + } + + augment "/me3gpp:ManagedElement" { + list UDSFFunction { + description "5G Core UDSF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses UDSFFuntionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang index 015b89f53d9134a53a91730c69efeb3986a5f819..2ca20b923523f591a91ce69a9ecee8abef7901db 100755 --- a/yang-models/_3gpp-5gc-nrm-upffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-upffunction.yang @@ -1,77 +1,77 @@ -module _3gpp-5gc-nrm-upffunction { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-upffunction; - prefix upf3gpp; - - 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; } - - description "UPFFunction derived from basic ManagedFunction."; - - revision 2019-10-25 { reference "S5-194457 S5-193518"; } - revision 2019-05-31 { - description "Ericsson refactoring."; - } - - revision 2018-08-07 { - description "Initial revision"; - } - - grouping UPFFunctionGrp { - uses mf3gpp:ManagedFunctionGrp; - - list pLMNIdList { - description "A list of PLMN identifiers (Mobile Country Code and Mobile Network Code)."; - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-list 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 types3gpp:Tac; - } - - leaf-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."; - min-elements 0; - reference "3GPP TS 23.003"; - type types3gpp:SNssai; - } - - list managedNFProfile { - key idx; - min-elements 1; - uses types3gpp:ManagedNFProfile; - } - - list commModelList { - min-elements 1; - key "groupId"; - uses types5g3gpp:CommModel; - } - } - - augment /me3gpp:ManagedElement { - list UPFFunction { - description "5G Core UPF Function"; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses UPFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-5gc-nrm-upffunction { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-upffunction; + prefix upf3gpp; + + 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; } + + description "UPFFunction derived from basic ManagedFunction."; + + revision 2019-10-25 { reference "S5-194457 S5-193518"; } + revision 2019-05-31 { + description "Ericsson refactoring."; + } + + revision 2018-08-07 { + description "Initial revision"; + } + + grouping UPFFunctionGrp { + uses mf3gpp:ManagedFunctionGrp; + + list pLMNIdList { + description "A list of PLMN identifiers (Mobile Country Code and Mobile Network Code)."; + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf-list 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 types3gpp:Tac; + } + + leaf-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."; + min-elements 0; + reference "3GPP TS 23.003"; + type types3gpp:SNssai; + } + + list managedNFProfile { + key idx; + min-elements 1; + uses types3gpp:ManagedNFProfile; + } + + list commModelList { + min-elements 1; + key "groupId"; + uses types5g3gpp:CommModel; + } + } + + augment /me3gpp:ManagedElement { + list UPFFunction { + description "5G Core UPF Function"; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses UPFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-ep-rp.yang b/yang-models/_3gpp-common-ep-rp.yang index c6a6d248e0fcb125dc954e2d055cda2b8325f358..0dc1ddc30a3eb941dc0712742888e399f961d473 100755 --- a/yang-models/_3gpp-common-ep-rp.yang +++ b/yang-models/_3gpp-common-ep-rp.yang @@ -1,65 +1,68 @@ -module _3gpp-common-ep-rp { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-common-ep-rp"; - prefix "eprp3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp ; } - import ietf-inet-types { prefix inet; } - import _3gpp-common-measurements { prefix meas3gpp; } - - organization "3GPP SA5"; - 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."; - reference - "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 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: - 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; - } - } - - grouping EP_Common { - uses EP_RPGrp; - uses meas3gpp:Measurements; - list localAddress { - description "Local IP address and VLAN ID."; - key "ipAddress vlanId"; - min-elements 1; - max-elements 1; - uses types3gpp:AddressWithVlan; - } - - leaf remoteAddress { - description "Remote IP address."; - mandatory true; - type inet:ip-address; - } - } +module _3gpp-common-ep-rp { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-ep-rp"; + prefix "eprp3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp ; } + import ietf-inet-types { prefix inet; } + 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 + point between two network entities."; + reference + "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 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: + 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; + } + } + + grouping EP_Common { + uses EP_RPGrp; + uses meas3gpp:SupportedPerfMetricGroupGrp; + list localAddress { + description "Local IP address and VLAN ID."; + key "ipAddress vlanId"; + min-elements 1; + max-elements 1; + uses types3gpp:AddressWithVlan; + } + + leaf remoteAddress { + description "Remote IP address."; + mandatory true; + type inet:ip-address; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index e65cd1411e6a0bb5836185bfde3889001bc82b8b..10ea1a9c3a3c3e51f7f04cfe5e4d49e484c7eede 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -1,391 +1,408 @@ -module _3gpp-common-fm { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-common-fm"; - prefix "fm3gpp"; - - import ietf-yang-types { prefix yang; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - - organization "3GPP SA5"; - - description "Defines a Fault Management model"; - - reference "3GPP TS 28.623 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Solution Set (SS) definitions - - 3GPP TS 28.622 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Information Service (IS)"; - - revision 2020-02-24 { - reference "S5-201365"; - } - - typedef eventType { - type enumeration { - enum COMMUNICATIONS_ALARM { - value 2; - } - - enum QUALITY_OF_SERVICE_ALARM { - value 3; - } - - enum PROCESSING_ERROR_ALARM { - value 4; - } - - enum EQUIPMENT_ALARM { - value 5; - } - - enum ENVIRONMENTAL_ALARM { - value 6; - } - - enum INTEGRITY_VIOLATION { - value 7; - } - - enum OPERATIONAL_VIOLATION { - value 8; - } - - enum PHYSICAL_VIOLATIONu { - value 9; - } - - enum SECURITY_SERVICE_OR_MECHANISM_VIOLATION { - value 10; - } - - enum TIME_DOMAIN_VIOLATION { - value 11; - } - } - - description "General category for the alarm."; - } - - typedef severity-level { - type enumeration { - enum CRITICAL { value 3; } - enum MAJOR { value 4; } - enum MINOR { value 5; } - enum WARNING { value 6; } - enum INDETERMINATE { value 7; } - enum CLEARED { value 8; } - } - - description "The possible alarm serverities. - Aligned with ERICSSON-ALARM-MIB."; - } - - grouping AlarmRecordGrp { - description "Contains alarm information of an alarmed entity of a - name-tree whose top is FMControlAttachment. - One MonitoredEntity2 has at most one AlarmList. The producer assigns an - identifier, called alarmId, to each AlarmRecord in the AlarmList. An - alarmId unambiguously identifies one alarm record in the AlarmList. - The producer maintains one AlarmList containing currently active - alarms i.e.: - a) Alarm record(s) whose perceivedSeverity is not CLEARED and; - b) Alarm record(s) whose perceivedSeverity is CLEARED and its ackState - is not ACKNOWLEDGED. - - The producer may remove alarm records that are not active alarms. - - The availability and accuracy of time carried by the - time parameters in individual entries of the list shall be - 'best effort'. - Reason: A Management System is not required to persistently store - these times or other alarm information (as in case of synchronization - information may be provided by the NE), while also some NE's do not - keep these times (and a later attempt to retrieve the alarm data - from the NEs will not deliver these time data)."; - - leaf alarmType { - config false ; - type eventType; - description "General category for the alarm."; - } - - leaf objectClass_objectInstance { - type string; - config false ; - description ""; - } - - leaf alarmId { - type string; - description "Identifies the alarmRecord"; - } - - leaf alarmRaisedTime { - type yang:date-and-time ; - config false ; - } - - leaf alarmChangedTime { - type yang:date-and-time ; - config false ; - description "not applicable if related alarm has not changed"; - } - - leaf alarmClearedTime { - type yang:date-and-time ; - config false ; - description "not applicable if related alarm was not cleared"; - } - - leaf probableCause { - type string; - // the valuespace may be restricted later - config false ; - } - - leaf perceivedSeverity { - type severity-level; - description "This is Writable only if producer supports consumer - to set perceivedSeverity to CLEARED"; - } - - leaf rootCauseIndicator { - type string; - // the valuespace may be restricted later - config false ; - description ""; - } - - leaf specificProblem { - type string; - // the valuespace may be restricted later - config false ; - description ""; - } - - leaf backedUpStatus { - type string; - // the valuespace may be restricted later - config false ; - description "not applicable if related alarm is a security alarm"; - } - - leaf trendIndication { - type string; - // the valuespace may be restricted later - config false ; - description "not applicable if related alarm is a security alarm"; - } - - leaf thresholdInfo { - type string; - // the valuespace may be restricted later - config false ; - description "not applicable if related alarm is a security alarm"; - } - - leaf stateChangeDefinition { - type string; - // the valuespace may be restricted later - config false ; - description "not applicable if related alarm is a security alarm"; - } - - leaf monitoredAttributes { - type string; - // the valuespace may be restricted later - config false ; - description "not applicable if related alarm is a security alarm"; - } - - leaf proposedRepairActions { - type string; - config false ; - description "not applicable if related alarm is a security alarm"; - } - - leaf additionalText { - type string; - config false ; - description ""; - } - - leaf additionalInformation { - type string; - config false ; - description ""; - } - - leaf ackTime { - type yang:date-and-time ; - config false ; - description "The time the alarm was acknowledged - not applicable if related alarm was not acknowledged - nor unacknowledged"; - } - - leaf ackUserId { - type string; - config false ; - description "not applicable if related alarm was not acknowledged - nor unacknowledged"; - } - - leaf ackSystemId { - type string; - // the valuespace may be restricted later - config false ; - description "not applicable if related alarm was not acknowledged - nor unacknowledged"; - } - - leaf ackState { - type string; - // the valuespace may be restricted later - description "not applicable if related alarm was not acknowledged - nor unacknowledged"; - } - - leaf clearUserId { - type string; - // the valuespace may be restricted later - config false ; - description "not applicable if related alarm was not cleared"; - } - - leaf clearSystemId { - type string; - // the valuespace may be restricted later - config false ; - description "not applicable if related alarm was not cleared"; - } - - leaf serviceUser { - type string; - // the valuespace may be restricted later - config false ; - description "not applicable if related alarm is not a security alarm"; - } - - leaf serviceProvider { - type string; - // the valuespace may be restricted later - config false ; - description "not applicable if related alarm is not a security alarm"; - } - - leaf securityAlarmDetector { - type string; - // the valuespace may be restricted later - config false ; - description "not applicable if related alarm is not a security alarm"; - } - } - - grouping FMControlGrp { - description "Represents a capability to manage alarm records and alarm - notifications."; - - leaf administrativeState { - type types3gpp:AdministrativeState ; - default LOCKED; - description "The consumer sets this attribute to UNLOCKED instructing - the producer to report and record alarm information. - The consumer sets the attribute to LOCKED instructing detection, - reporting and recording of alarm information are no longer needed."; - } - - leaf operationalState { - type types3gpp:OperationalState ; - default DISABLED; - config false; - description "The producer sets this attribute to ENABLED, indicating - that it has the resource and ability to record alarm in AlarmList - and sending alarm notification to faultReportTarget (an attribute - of NtfSubscriptionControl IOC); - else, it sets the attribute to DISABLED."; - } - } - - grouping AlarmListGrp { - description "Represents the list of alarm records."; - - leaf numOfAlarmRecords { - type uint32 ; - config false; - description "The number of alarm records in the AlarmList"; - } - - leaf lastModification { - type yang:date-and-time ; - config false; - description "The last time when an alarm record is modified"; - } - - - - list alarmRecordList { - key alarmId; - description "List of alarmRecords"; - uses AlarmRecordGrp; - } - } - - grouping FmSubtree { - description "Contains FM related classes. - Should be used in all classes (or classes inheriting from) - - SubNnetwork - - ManagedElement - - If some YAM wants to augment these classes/list/groupings they must - augment all user classes!"; - - list FMControl { - key id; - max-elements 1; - description "Represents a capability to manage alarm records and alarm - notifications. The alarm records and notifications managed are related to - managed entities of the naming-tree whose top instance is one - name-containing this FMControl. - - The FMControl MnS producer, upon detection of an abnormal behaviour of - its managed entities, would create or update an alarm record of the - AlarmList. Consumer who has a subscription with NtfSubscriptionControl - MnS would receive alarm notifications."; - - uses top3gpp:Top_Grp ; - container attributes { - uses FMControlGrp ; - } - } - - list AlarmList { - key id; - max-elements 1; - description "Represents the list of alarm records. The alarm records are - related to managed entities of the naming-tree whose top instance is one - name-containing this AlarmList. - The producer would create this AlarmList instance. - - Over time, the producer may produce, say n notifications, for a - particular alarmed object instance. The number of records in the - AlarmList may not be n. - AlarmList shall hold, for the same alarmed object instance, only one - record if and only if, the notifications carry identical values for - eventType, probableCause and specificProblem. See the - Matching-Criteria-Attributes definition - in 3GPP TS 28.532."; - - uses top3gpp:Top_Grp ; - container attributes { - uses AlarmListGrp ; - } - } - } - +module _3gpp-common-fm { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-fm"; + prefix "fm3gpp"; + + import ietf-yang-types { prefix yang; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + + description "Defines a Fault Management model"; + + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + + 3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS)"; + + revision 2020-06-03 { reference "CR-0091"; } + revision 2020-02-24 { + reference "S5-201365"; + } + + typedef eventType { + type enumeration { + enum COMMUNICATIONS_ALARM { + value 2; + } + + enum QUALITY_OF_SERVICE_ALARM { + value 3; + } + + enum PROCESSING_ERROR_ALARM { + value 4; + } + + enum EQUIPMENT_ALARM { + value 5; + } + + enum ENVIRONMENTAL_ALARM { + value 6; + } + + enum INTEGRITY_VIOLATION { + value 7; + } + + enum OPERATIONAL_VIOLATION { + value 8; + } + + enum PHYSICAL_VIOLATIONu { + value 9; + } + + enum SECURITY_SERVICE_OR_MECHANISM_VIOLATION { + value 10; + } + + enum TIME_DOMAIN_VIOLATION { + value 11; + } + } + + description "General category for the alarm."; + } + + typedef severity-level { + type enumeration { + enum CRITICAL { value 3; } + enum MAJOR { value 4; } + enum MINOR { value 5; } + enum WARNING { value 6; } + enum INDETERMINATE { value 7; } + enum CLEARED { value 8; } + } + + description "The possible alarm serverities. + Aligned with ERICSSON-ALARM-MIB."; + } + + grouping AlarmRecordGrp { + description "Contains alarm information of an alarmed object instance. + A new record is created in the alarm list when an alarmed object + instance generates an alarm and no alarm record exists with the same + values for objectInstance, alarmType, probableCause and specificProblem. + When a new record is created the MnS producer creates an alarmId, that + unambiguously identifies an alarm record in the AlarmList. + + Alarm records are maintained only for active alarms. Inactive alarms are + automatically deleted by the MnS producer from the AlarmList. + Active alarms are alarms whose + a) perceivedSeverity is not CLEARED, or whose + b) perceivedSeverity is CLEARED and its ackState is not ACKNOWLEDED."; + + leaf alarmId { + type string; + mandatory true; + description "Identifies the alarmRecord"; + } + + leaf objectInstance { + type string; + config false ; + mandatory true; + } + + leaf notificationId { + type string; + config false ; + mandatory true; + } + + leaf alarmRaisedTime { + type yang:date-and-time ; + config false ; + } + + leaf alarmChangedTime { + type yang:date-and-time ; + config false ; + description "not applicable if related alarm has not changed"; + } + + leaf alarmClearedTime { + type yang:date-and-time ; + config false ; + description "not applicable if related alarm was not cleared"; + } + + leaf alarmType { + type eventType; + config false ; + description "General category for the alarm."; + } + + leaf probableCause { + type string; + config false ; + } + + leaf specificProblem { + type string; + config false ; + reference "ITU-T Recommendation X.733 clause 8.1.2.2."; + } + + leaf perceivedSeverity { + type severity-level; + description "This is Writable only if producer supports consumer + to set perceivedSeverity to CLEARED"; + } + + leaf backedUpStatus { + type string; + config false ; + description "Indicates if an object (the MonitoredEntity) has a back + up. See definition in ITU-T Recommendation X.733 clause 8.1.2.4."; + } + + leaf backUpObject { + type string; + config false ; + } + + leaf trendIndication { + type string; + config false ; + description "Indicates if some observed condition is getting better, + worse, or not changing. "; + reference "ITU-T Recommendation X.733 clause 8.1.2.6."; + } + + grouping ThresholdPackGrp { + leaf thresholdLevel { + type string; + } + leaf thresholdValue { + type string; + } + leaf hysteresis { + type string; + description "The hysteresis has a threshold high and a threshold + low value that are different from the threshold value. + A hysteresis, therefore, defines the threshold-high and + threshold-low levels within which the measurementType value is + allowed to oscillate without triggering the threshold crossing + notification."; + } + } + + grouping ThresholdInfoGrp { + leaf measurementType { + type string; + mandatory true; + } + + leaf direction { + type enumeration { + enum INCREASING; + enum DECREASING; + } + mandatory true; + description " + If it is 'Increasing', the threshold crossing notification is + triggered when the measurement value equals or exceeds a + thresholdValue. + + If it is 'Decreasing', the threshold crossing notification is + triggered when the measurement value equals or below a + thresholdValue."; + } + + uses ThresholdPackGrp; + } + + list thresholdInfo { + config false ; + uses ThresholdInfoGrp; + } + + leaf stateChangeDefinition { + type string; + config false ; + description "Indicates MO attribute value changes. See definition + in ITU-T Recommendation X.733 clause 8.1.2.11."; + } + + leaf monitoredAttributes { + type string; + config false ; + description "Indicates MO attributes whose value changes are being + monitored. See definition in ITU-T Recommendation X.733 clause 8.1.2.11."; + } + + leaf proposedRepairActions { + type string; + config false ; + description "Indicates proposed repair actions. See definition in + ITU-T Recommendation X.733 clause 8.1.2.12."; + } + + leaf additionalText { + type string; + config false ; + } + + leaf additionalInformation { + type string; + config false ; + } + + leaf rootCauseIndicator { + type enumeration { + enum YES; + enum NO; + } + config false ; + description "It indicates that this AlarmInformation is the root cause + of the events captured by the notifications whose identifiers are in + the related CorrelatedNotification instances."; + } + + leaf ackTime { + type yang:date-and-time ; + config false ; + description "It identifies the time when the alarm has been + acknowledged or unacknowledged the last time, i.e. it registers the + time when ackState changes."; + } + + leaf ackUserId { + type string; + description "It identifies the last user who has changed the + Acknowledgement State."; + } + + leaf ackSystemId { + type string; + description "It identifies the system (Management System) that last + changed the ackState of an alarm, i.e. acknowledged or unacknowledged + the alarm."; + } + + leaf ackState { + type enumeration { + enum ACKNOWLEDGED { + description "The alarm has been acknowledged."; + } + enum UNACKNOWLEDGED { + description "The alarm has unacknowledged or the alarm has never + been acknowledged."; + } + } + } + + leaf clearUserId { + type string; + description "Carries the identity of the user who invokes the + clearAlarms operation."; + } + + leaf clearSystemId { + type string; + } + + leaf serviceUser { + type string; + config false ; + description "It identifies the service-user whose request for service + provided by the serviceProvider led to the generation of the + security alarm."; + } + + leaf serviceProvider { + type string; + config false ; + description "It identifies the service-provider whose service is + requested by the serviceUser and the service request provokes the + generation of the security alarm."; + } + + leaf securityAlarmDetector { + type string; + config false ; + } + } + + grouping AlarmListGrp { + description "Represents the AlarmList IOC."; + + leaf administrativeState { + type types3gpp:AdministrativeState ; + default LOCKED; + description "When set to UNLOCKED, the alarm list is updated. + When the set to LOCKED, the existing alarm records are not + updated, and new alarm records are not added to the alarm list."; + } + + leaf operationalState { + type types3gpp:OperationalState ; + default DISABLED; + config false; + description "The producer sets this attribute to ENABLED, indicating + that it has the resource and ability to record alarm in AlarmList + else, it sets the attribute to DISABLED."; + } + + leaf numOfAlarmRecords { + type uint32 ; + config false; + mandatory true; + description "The number of alarm records in the AlarmList"; + } + + leaf lastModification { + type yang:date-and-time ; + config false; + description "The last time when an alarm record was modified"; + } + + list alarmRecords { + key alarmId; + description "List of alarmRecords"; + uses AlarmRecordGrp; + } + } + + grouping FmSubtree { + description "Contains FM 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 + augment all user classes!"; + + list AlarmList { + key id; + max-elements 1; + description "The AlarmList represents the capability to store and manage + alarm records. The management scope of an AlarmList is defined by all + descendant objects of the base managed object, which is the object + 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. + + 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"; + + + uses top3gpp:Top_Grp ; + container attributes { + uses AlarmListGrp ; + } + } + } + } \ 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 dde9a9c2b558c857da6391336545f5595ab7a39f..9c94add88d03d266312af5a4c90e2be4c18fbc41 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -1,173 +1,223 @@ -module _3gpp-common-managed-element { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-common-managed-element; - prefix "me3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp ; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-measurements { prefix meas3gpp; } - import _3gpp-common-fm { prefix fm3gpp; } - - organization "3GPP SA5"; - description "Defines ManagedElement which will be augmented - by other IOCs"; - 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 2020-02-24 { - reference "S5-201365"; - } - revision 2019-06-17 { - description "Initial revision"; - } - - feature MeasurementsUnderManagedElement { - description "The MeasurementSubtree shall be contained under ManageElement"; - } - - feature FmUnderManagedElement { - description "The FmSubtree shall be contained under ManageElement"; - } - - grouping ManagedElement_Grp { - description "Abstract class representing telecommunications resources. - An ME communicates with a manager (directly or indirectly) for the - purpose of being monitored and/or controlled. MEs may perform element - management functionality. - An ME (and its contained Function_(s)) may or may not be geographically - distributed. An ME (and its contained Function_(s)) is often referred - to as a Network Element"; - - leaf dnPrefix { - description "Provides naming context that allows the Managed - Elements to be partitioned into logical domains. - A Distingushed Name(DN) is defined by 3GPP TS 32.300, - which splits the DN into a DN Prefix and Local DN"; - type types3gpp:DistinguishedName; - } - - leaf userLabel { - description "A user-friendly (and user assignable) name of this object."; - type string; - } - - leaf locationName { - description "The physical location (e.g. an address) of an entity - represented by a (derivative of) ManagedElement_. It may contain no - information to support the case where the derivative of - ManagedElement_ needs to represent a distributed multi-location NE."; - config false; - type string; - } - - leaf-list managedBy { - description "Relates to the role played by ManagementSystem_ in the - between ManagedSystem_ and ManagedElement_. This attribute contains - a list of the DN(s) of the related subclasses of - ManagementSystem_ instance(s)."; - - config false; - type types3gpp:DistinguishedName; - } - - leaf-list managedElementTypeList { - description "The type of functionality provided by the ManagedElement. - It may represent one ME functionality or a combination of - more than one functionality. - 1) The allowed values of this attribute are the names of the IOC(s) - that are (a) derived/subclassed from ManagedFunction and (b) directly - name-contained by ManagedElement IOC (on the first level below - ManagedElement), but with the string 'Function' excluded. - 2) If a ManagedElement contains multiple instances of a ManagedFunction - this attribute will not contain repeated values. - 3) The capitalisation (usage of upper/lower case) of characters in this - attribute is insignificant. Thus, the NodeB should be case insensitive - when reading these values. - 4) Two examples of allowed values are: - - NodeB; - - HLR, VLR."; - - config false; - min-elements 1; - type string; - } - } - - grouping ManagedElementGrp { - description "Represents telecommunications equipment or - TMN entities within the telecommunications network providing support - and/or service to the subscriber."; - - uses ManagedElement_Grp; - uses meas3gpp:Measurements { - if-feature MeasurementsUnderManagedElement ; - } - - leaf vendorName { - config false; - type string; - } - - leaf userDefinedState { - type string; - description "An operator defined state for operator specific usage"; - } - - leaf swVersion { - config false; - type string; - } - - leaf priorityLabel { - type uint32; - mandatory true; - } - } - - list ManagedElement { - description "Represents telecommunications equipment or - TMN entities within the telecommunications network providing support - and/or service to the subscriber. - An ME communicates with a manager (directly or indirectly) over one or - more management interfaces for the purpose of being monitored and/or - controlled. MEs may or may not additionally perform element management - functionality. - An ME contains equipment that may or may not be geographically - distributed. An ME is often referred to as a Network Element. - A telecommunication equipment has software and hardware components. - The IOC described above represents the case when the software component - is designed to run on dedicated hardware component. In the case when the - software is designed to run on ETSI NFV defined NFVI [15], the IOC - description would exclude the NFVI component supporting the above - mentioned subject software. A ManagedElement may be contained in either - a SubNetwork or in a MeContext instance. A single ManagedElement may also - exist stand-alone with no parent at all. - The ManagedElement IOC may be used to represent combined ME functionalit - y (as indicated by the managedElementType attribute and the contained - instances of different functional IOCs)."; - - key id; // TODO: should this have a min-element/max-elements? - uses top3gpp:Top_Grp; - container attributes { - uses ManagedElementGrp; - } - - uses meas3gpp:MeasurementSubtree { - if-feature MeasurementsUnderManagedElement ; - } - - uses fm3gpp:FmSubtree { - if-feature FmUnderManagedElement ; - } - } +module _3gpp-common-managed-element { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-common-managed-element; + prefix "me3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp ; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-measurements { prefix meas3gpp; } + import _3gpp-common-fm { prefix fm3gpp; } + import _3gpp-common-trace { prefix trace3gpp; } + + 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"; + 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 2020-08-06 { reference "CR-0102"; } + revision 2020-08-03 { reference "CR-0095"; } + revision 2020-06-08 { reference "CR-0092"; } + revision 2020-05-12 { reference "CR0084"; } + revision 2020-02-24 { reference "S5-201365"; } + revision 2019-06-17 { reference " S5-203316"; } + revision 2019-05-08 { description "Initial revision"; } + + feature MeasurementsUnderManagedElement { + description "The MeasurementSubtree shall be contained under ManagedElement"; + } + + feature FmUnderManagedElement { + description "The FmSubtree shall be contained under ManagedElement"; + } + + feature TraceUnderManagedElement { + description "The TraceSubtree shall be contained under ManageElement"; + } + + feature DESManagementFunction { + description "Classs representing Distributed SON or Domain-Centralized SON Energy Saving feature. The DESManagementFunction shall be contained under ManagedElement."; + } + + feature DMROFunction { + description "Classs representing D-SON function of MRO feature. The DMROFunction shall be contained under ManagedElement."; + } + + feature DRACHOptimizationFunction { + description "Classs representing D-SON function of RACH optimization feature. The DRACHOptimizationFunction shall be contained under ManagedElement."; + } + + feature DPCIConfigurationFunction { + description "Classs representing Distributed SON or Domain-Centralized SON function of PCI configuration feature. The DPCIConfigurationFunction shall be contained under ManagedElement."; + } + + feature CPCIConfigurationFunction { + description "Classs representing Cross Domain-Centralized SON function of PCI configuration feature. The CPCIConfigurationFunction shall be contained under ManagedElement."; + } + + feature CESManagementFunction { + description "Classs representing Cross Domain-Centralized SON Energy Saving feature. The CESManagementFunction shall be contained under ManagedElement."; + } + + grouping ManagedElement_Grp { + description "Abstract class representing telecommunications resources. + An ME communicates with a manager (directly or indirectly) for the + purpose of being monitored and/or controlled. MEs may perform element + management functionality. + An ME (and its contained Function_(s)) may or may not be geographically + distributed. An ME (and its contained Function_(s)) is often referred + to as a Network Element"; + + leaf dnPrefix { + description "Provides naming context that allows the Managed + Elements to be partitioned into logical domains. + A Distingushed Name(DN) is defined by 3GPP TS 32.300, + which splits the DN into a DN Prefix and Local DN"; + type types3gpp:DistinguishedName; + } + + leaf userLabel { + description "A user-friendly (and user assignable) name of this object."; + type string; + } + + leaf locationName { + description "The physical location (e.g. an address) of an entity + represented by a (derivative of) ManagedElement_. It may contain no + information to support the case where the derivative of + ManagedElement_ needs to represent a distributed multi-location NE."; + config false; + type string; + } + + leaf-list managedBy { + description "Relates to the role played by ManagementSystem_ in the + between ManagedSystem_ and ManagedElement_. This attribute contains + a list of the DN(s) of the related subclasses of + ManagementSystem_ instance(s)."; + + config false; + type types3gpp:DistinguishedName; + } + + leaf-list managedElementTypeList { + description "The type of functionality provided by the ManagedElement. + It may represent one ME functionality or a combination of + more than one functionality. + 1) The allowed values of this attribute are the names of the IOC(s) + that are (a) derived/subclassed from ManagedFunction and (b) directly + name-contained by ManagedElement IOC (on the first level below + ManagedElement), but with the string 'Function' excluded. + 2) If a ManagedElement contains multiple instances of a ManagedFunction + this attribute will not contain repeated values. + 3) The capitalisation (usage of upper/lower case) of characters in this + attribute is insignificant. Thus, the NodeB should be case insensitive + when reading these values. + 4) Two examples of allowed values are: + - NodeB; + - HLR, VLR."; + + config false; + min-elements 1; + type string; + } + } + + grouping ManagedElementGrp { + description "Represents telecommunications equipment or + TMN entities within the telecommunications network providing support + and/or service to the subscriber."; + + uses ManagedElement_Grp; + uses meas3gpp:SupportedPerfMetricGroupGrp { + if-feature MeasurementsUnderManagedElement ; + } + + leaf vendorName { + config false; + type string; + } + + leaf userDefinedState { + type string; + description "An operator defined state for operator specific usage"; + } + + leaf swVersion { + config false; + type string; + } + + leaf priorityLabel { + type uint32; + mandatory true; + } + } + + list ManagedElement { + description "Represents telecommunications equipment or + TMN entities within the telecommunications network providing support + and/or service to the subscriber. + An ManagedElement IOC is used to represent a Network Element defined + in TS 32.101 including virtualizeation or non-virtualization scenario. + An ManagedElement instance is used for communicating with a manager (directly or indirectly) + over one or more management interfaces for the purpose of being monitored and/or + controlled. ManagedElement may or may not additionally perform element management + functionality. + An ManagedElement contains equipment that may or may not be geographically + distributed. + A telecommunication equipment has software and hardware components. + The ManagedElement IOC described above represents following two case: + - In the case when the when the software component + is designed to run on dedicated hardware component, the ManagedElement IOC + description includes both software and hardware components. + - In the case when the Software is designed to run on ETSI NFV defined NFVI [15], the + ManagedElement + IOC description would exclude the NFVI component supporting the above + mentioned subject software. A ManagedElement may be contained in either a SubNetwork or in a + MeContext instance. A single ManagedElement may also + exist stand-alone with no parent at all. + The relation of ManagedElement IOC and ManagedFunction IOC can be described as following: + - A ManaagedElement instance may have 1..1 containment relationship to a ManagedFunction + instance. In this case, the ManagedElement IOC may be used to represent a NE with signgle + functionality. For example, a ManagedElement is used to represent the 3GPP defined RNC + node; + - A ManagedElement instance may have 1..N containment relationship to multiple + ManagedFunction IOC instances. In this case, the ManagedElement IOC may be used to represent + a NE with combined ManagedFunction funcationality (as indicated by the managedElementType + attribute and the contained + instances of different ManagedFunction IOCs).For example, a + ManagedElement is used to represent the combined functionality of 3GPP defined + gNBCUCPFuntion,gNBCUUPFunction and gNBDUFunction"; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ManagedElementGrp; + } + + uses meas3gpp:MeasurementSubtree { + if-feature MeasurementsUnderManagedElement ; + } + + uses fm3gpp:FmSubtree { + if-feature FmUnderManagedElement ; + } + + uses trace3gpp:TraceSubtree { + if-feature TraceUnderManagedElement ; + } + + } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang index 0397c9fea444b3e8ded0a985ab89ec6392f5fb83..34415c24fbd355fd5d4bdec93459071ffb474774 100755 --- a/yang-models/_3gpp-common-managed-function.yang +++ b/yang-models/_3gpp-common-managed-function.yang @@ -1,289 +1,305 @@ -module _3gpp-common-managed-function { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-common-managed-function; - prefix mf3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-measurements { prefix meas3gpp; } - - organization "3GPP SA5"; - description "The module defines a base class/grouping for major 3GPP functions."; - reference - "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 2019-11-21 { - reference "S5-197275, S5-197735"; - } - - revision 2019-10-28 { - reference S5-193518 ; - } - - revision 2019-06-18 { - description "Initial revision"; - } - - grouping Operation { - reference "3gpp TS 28.622"; - - leaf name { - type string; - mandatory true; - } - - leaf-list allowedNFTypes { - type string; - min-elements 1; - description "The type of the managed NF service instance - The specifc values allowed are described in TS 23.501"; - } - - leaf operationSemantics { - type enumeration { - enum REQUEST_RESPONSE; - enum SUBSCRIBE_NOTIFY; - - } - config false; - mandatory true; - description "Semantics type of the operation."; - reference "3GPP TS 23.502"; - } - } - - 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; - description "The type of the managed NF service instance - The specifc values allowed are described in clause 7.2 of TS 23.501"; - } - - list sAP { - key "host port"; - min-elements 1; - max-elements 1; - description "The service access point of the managed NF service instance"; - uses types3gpp:SAP; - } - - list operations { - key name; - min-elements 1; - uses Operation ; - description "Set of operations supported by the managed NF - service instance"; - } - - leaf administrativeState { - type types3gpp:AdministrativeState; - mandatory true; - description "Permission to use or prohibition against using the instance"; - } - - leaf operationalState { - type types3gpp:OperationalState; - config false; - 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 - capacity for additional users."; - } - - leaf registrationState { - type enumeration { - enum REGISTERED; - enum DEREGISTERED; - } - config false; - } - } - - 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 ManagedFunctionGrp { - 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 clas - using the grouping ManagedFunctionContainedClasses: - 1) EP_RP solved using augment - 2) uses mf3gpp:ManagedFunctionContainedClasses; - "; - - uses Function_Grp; - - container vnfParametersList { - description "Contains the parameter set of the VNF - instance(s) corresponding to an NE."; - presence "The presence of this container indicates that the ManagedFunction - represented is realized by one or more VNF instance(s). Otherwise it - shall be absent."; - - leaf vnfInstanceId { - type string ; - mandatory true; - description "VNF instance identifier"; - 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); - 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 - instantiated yet, has already been terminated)."; - 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"; - } - - leaf flavourId { - type string ; - description "Identifier of the VNF Deployment Flavour applied to this - VNF instance."; - 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.3"; - } - - leaf autoScalable { - type boolean ; - mandatory true; - description "Indicator of whether the auto-scaling of this - VNF instance is enabled or disabled."; - } - } - - container peeParametersList { - description "Contains the parameter set for the control - and monitoring of power, energy and environmental parameters of - ManagedFunction instance(s)."; - presence "Present supported if the control and monitoring of PEE - parameters is supported by the ManagedFunction or sub-class instance."; - - leaf siteIdentification { - type string; - mandatory true; - description "The identification of the site where the - ManagedFunction resides."; - } - - leaf siteLatitude { - type decimal64 { - fraction-digits 4; - 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 in case of - BTSFunction and RNCFunction instance(s)."; - } - - leaf siteLongitude { - type decimal64 { - fraction-digits 4; - 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 in - case of BTSFunction and RNCFunction instance(s)."; - } - - leaf siteDescription { - type string; - mandatory true; - 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 - 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 - 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"; - } - } - - leaf priorityLabel { - mandatory true; - type uint32; - } - uses meas3gpp:Measurements; - } - - grouping ManagedFunctionContainedClasses { - list ManagedNFService { - description "Represents a Network Function (NF)"; - reference "3GPP TS 23.501"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ManagedNFServiceGrp; - } - } - } +module _3gpp-common-managed-function { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-common-managed-function; + prefix mf3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-measurements { prefix meas3gpp; } + import _3gpp-common-trace { prefix trace3gpp; } + + 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 functions."; + reference + "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 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 2019-11-21 { reference "S5-197275, S5-197735"; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-18 { description "Initial revision"; } + + feature MeasurementsUnderManagedFunction { + description "The MeasurementSubtree shall be contained under ManageElement"; + } + + feature TraceUnderManagedFunction { + description "The TraceSubtree shall be contained under ManagedFunction"; + } + + grouping Operation { + reference "3gpp TS 28.622"; + + leaf name { + type string; + mandatory true; + } + + leaf-list allowedNFTypes { + type string; + min-elements 1; + description "The type of the managed NF service instance + The specifc values allowed are described in TS 23.501"; + } + + leaf operationSemantics { + type enumeration { + enum REQUEST_RESPONSE; + enum SUBSCRIBE_NOTIFY; + + } + config false; + mandatory true; + description "Semantics type of the operation."; + reference "3GPP TS 23.502"; + } + } + + 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; + description "The type of the managed NF service instance + The specifc values allowed are described in clause 7.2 of TS 23.501"; + } + + list sAP { + key "host port"; + min-elements 1; + max-elements 1; + description "The service access point of the managed NF service instance"; + uses types3gpp:SAP; + } + + list operations { + key name; + min-elements 1; + uses Operation ; + description "Set of operations supported by the managed NF + service instance"; + } + + leaf administrativeState { + type types3gpp:AdministrativeState; + mandatory true; + description "Permission to use or prohibition against using the instance"; + } + + leaf operationalState { + type types3gpp:OperationalState; + config false; + 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 + capacity for additional users."; + } + + leaf registrationState { + type enumeration { + enum REGISTERED; + enum DEREGISTERED; + } + config false; + } + } + + 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 ManagedFunctionGrp { + 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 + using the grouping ManagedFunctionContainedClasses: + 1) EP_RP solved using augment + 2) uses mf3gpp:ManagedFunctionContainedClasses; + "; + + uses Function_Grp; + + container vnfParametersList { + description "Contains the parameter set of the VNF + instance(s) corresponding to an NE."; + presence "The presence of this container indicates that the ManagedFunction + represented is realized by one or more VNF instance(s). Otherwise it + shall be absent."; + + leaf vnfInstanceId { + type string ; + mandatory true; + description "VNF instance identifier"; + 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); + 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 + instantiated yet, has already been terminated)."; + 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"; + } + + leaf flavourId { + type string ; + description "Identifier of the VNF Deployment Flavour applied to this + VNF instance."; + 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.3"; + } + + leaf autoScalable { + type boolean ; + mandatory true; + description "Indicator of whether the auto-scaling of this + VNF instance is enabled or disabled."; + } + } + + container peeParametersList { + description "Contains the parameter set for the control + and monitoring of power, energy and environmental parameters of + ManagedFunction instance(s)."; + presence "Present supported if the control and monitoring of PEE + parameters is supported by the ManagedFunction or sub-class instance."; + + leaf siteIdentification { + type string; + mandatory true; + description "The identification of the site where the + ManagedFunction resides."; + } + + leaf siteLatitude { + type decimal64 { + fraction-digits 4; + 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 in case of + BTSFunction and RNCFunction instance(s)."; + } + + leaf siteLongitude { + type decimal64 { + fraction-digits 4; + 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 in + case of BTSFunction and RNCFunction instance(s)."; + } + + leaf siteDescription { + type string; + mandatory true; + 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 + 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 + 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"; + } + } + + leaf priorityLabel { + mandatory true; + type uint32; + } + uses meas3gpp:SupportedPerfMetricGroupGrp; + } + + grouping ManagedFunctionContainedClasses { + description "A grouping used to containe classes (lists) contained by + the abstract IOC ManagedFunction"; + list ManagedNFService { + description "Represents a Network Function (NF)"; + reference "3GPP TS 23.501"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ManagedNFServiceGrp; + } + } + + uses meas3gpp:MeasurementSubtree { + if-feature MeasurementsUnderManagedFunction ; + } + + uses trace3gpp:TraceSubtree { + if-feature TraceUnderManagedFunction ; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang index 622b249dd2562508e81081062c982c4d3fd31776..b9fc0d644fb66893c087ef79ea110741fa02c83f 100755 --- a/yang-models/_3gpp-common-measurements.yang +++ b/yang-models/_3gpp-common-measurements.yang @@ -1,613 +1,546 @@ -module _3gpp-common-measurements { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-common-measurements"; - prefix "meas3gpp"; - - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - - organization "3GPP SA5"; - - description "Defines Measurement and KPI related groupings - Any list/class intending to use this should include 2 or 3 uses statements - controlled by a feature: - - A) -+++ feature MeasurementsUnderMyClass { -+++ description 'Indicates whether measurements and/or KPIs are supported -+++ for this class.'; -+++ } - - B) include the attribute measurementsList and/or kPIsList indicating the - supported measurment and KPI types and GPs. Note that for classes - inheriting from ManagedFunction, EP_RP or SubNetwork these attributes are - already inherited, so there is no need to include them once more. E.g. - -+++ grouping MyClassGrp { -+++ uses meas3gpp:Measurements; -+++ uses meas3gpp:KPIs; -+++ } - - C) include the classes MeasurementControl & MeasurementReader to - control the measurements/KPIs. E.g. - - list MyClass { - container attributes { - uses MyClassGrp; - } -+++ uses meas3gpp:MeasurementSubtree { -+++ if-feature MeasurementsUnderMyClass ; -+++ } - } - - Measurements can be contained under ManagedElement, SubNetwork, or - any list representing a class inheriting from EP_RP, Subnetwork or - ManagedFunction. Note: KPIs will only be supported under SubNetwork"; - - reference "3GPP TS 28.623 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Solution Set (SS) definitions - - 3GPP TS 28.622 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Information Service (IS)"; - - revision 2020-03-11 { reference "S5-201581, SP-200229"; } - - revision 2019-11-21 { - reference "S5-197275, S5-197735"; - } - - revision 2019-10-28 { - reference "S5-193516"; - } - - revision 2019-06-17 { - } - - feature StreamingSupported { - description "The delivery of measurement data using streaming is supported."; - } - - grouping KPIs { - description "Identifies the supported KPI names and their - supported GPs. - KPIs can be used by SubNetwork, or any list representing a class - inheriting from Subnetwork."; - - list kPIsList { - key idx; - config false; - description "List of supported KPI names and their - supported GPs for the parent function/class"; - - leaf idx { type uint32 ; } - - leaf-list kPINames { - type string; - min-elements 1; - description "The KPI names can be those specified - in TS 28.554 and can be those specified by - other SDOs or can be vendor-specific."; - } - - leaf-list gPs { - type uint32 ; - units second; - min-elements 1; - description "Identifies supported GPs. - GP (granularity period) is the time between the initiation - of two successive gatherings of performance data."; - } - } - } - - grouping Measurements { - description "Identifies the supported Measurement types and their - supported GPs. Measurements can be used by SubNetwork, MnagedElement, - ManagedFunction or any list representing a class inheriting from them."; - - list measurementsList { - key idx; - config false; - description "List of supported Measurement types and their - supported GPs for the parent function/class"; - - leaf idx { type uint32 ; } - - leaf-list measurementTypes { - type string; - min-elements 1; - description "The Measurement types can be those specified - in TS 28.552, TS 32.404 and can be those specified by - other SDOs or can be vendor-specific."; - } - - leaf-list gPs { - type uint32 ; - units second; - min-elements 1; - description "Identifies supported GPs. - GP (granularity period) is the time between the initiation - of two successive gatherings of measurement data."; - } - } - } - - grouping MeasurementControlGrp { - description "represents the capabilities to produce and deliver Measurements - identified by a MeasurementReader. - There are two delivery methods (i.e. file-based and stream-based) via - which the consumer(s) can receive the Measurements."; - - leaf pMAdministrativeState { - default LOCKED; - type types3gpp:AdministrativeState ; - description "It describes the permission to use or prohibition against - using the capability of MeasurementControl, imposed through the consumer - of OAM services produced by MeasurementControl, - - The measurement or KPI report production would begin when - pMadministrativeState is UNLOCKED and pMoperationalState is ENABLED."; - } - - leaf pMOperationalState { - config false; - mandatory true; - type types3gpp:OperationalState ; - description "Indicates whether the MeasurementControl is working."; - } - - leaf defaultFileLocation { - type string ; - description "It is the path to the location where produced - measurement reports (containing PM data) are stored. File based - measurement delivery will not start if this leaf does not have a - valid value. - - It is the path to a location on either the producer's file system or a - URI to a network file location that is not part of the producer's file - system. In case it points to a location on the producer's file system, - it is a relative path based on a vendor-specified root directory for - measurement files. - - The size of this fileLocation is decided by consumer and producer. - The producer is expected to remove old files to make room for - new files, when necessary. - - This value is ignored in case the fileLocation leaf in the - MeasurementReader is defined."; - } - - leaf defaultFileBasedGP { - when '../defaultFileLocation' ; - mandatory true; - type uint32 ; - units second; - description "GP (granularity period) defines the frequency of producing - measurement data. Measurement data would be produced immediately at the - end of each fileBasedGP. - - This value is ignored in case the fileBasedGP leaf in the - MeasurementReader is defined."; - } - - leaf defaultFileReportingPeriod { - when '../defaultFileLocation' ; - must '. *60 >= ../defaultFileBasedGP' { - error-message "defaultFileBasedGP must not be greater than defaultFileReportingPeriod"; - } - mandatory true; - type uint32 ; - units minute; - description "The frequency of producing the measurement report files. - A measurement report file contains multiple measurement data. - - This value is ignored in case the fileReportingPeriod leaf in the - MeasurementReader is defined."; - } - - leaf defaultStreamTarget { - if-feature StreamingSupported ; - type string ; - description "Identifies the target of the notifications carrying the - content of the measurement report. - - This value is ignored in case the streamTarget leaf in the - MeasurementReader is defined."; - } - - leaf defaultStreamBasedGP { - if-feature StreamingSupported ; - when '../defaultStreamTarget' ; - mandatory true; - type uint32 ; - units second; - description "It defines the frequency of producing and sending the - Measurement to the streamTargets. - - This value is ignored in case the streamBasedGP leaf in the - MeasurementReader is defined."; - } - } - - grouping MeasurementReaderGrp { - description "Identifies the entity whose Measurements are required by - consumer, the types of Measurements required and the delivery method for - the measurements."; - - leaf-list measurementTypes { - type string ; - description "If the MeasurementControl contaning this attribute is used - for measurement collecting purpose, it identifies one or more - Measurement types. The Measurement type can be those specified in - TS 28.552, TS 32.404 and can be those specified by other SDOs or - can be vendor-specific. - - If the MeasurementControl is used for KPIs reporting purpose, it - identifies one or more KPI names. The KPI name can be those specified - in TS 28.554 and can be those specified by other SDOs or can be - vendor-specific. - KPI names can only be specified if this MeasurementReader is - contained under a SubNetwork or derived IOC."; - } - - leaf-list managedObjectDNsBasic { - type types3gpp:DistinguishedName ; - description "Identifies the managed functions whose Measurements or KPIs - are required to be produced. - - It identifies specific managed entities (say X, Y, Z). It would mean - Measurements or KPI names type specified in - MeasurementReader.measurementTypes, are required to be produced - if X, Y, Z are capable of supporting the Measurement types or KPI names. - - If managedObjectDNs of the same MeasurementReader instance has valid - information, the information of this leaf-list is ignored."; - } - - leaf-list managedObjectDNs { - type types3gpp:DistinguishedName ; - description "Identifies the managed entities whose Measurements or KPIs - are required to be produced. - - - In case the base is SubNetwork, it identifies all, including the base, - managed entities that are subordinates, in the sense of name-containment, - of the base. - - In case the base is NetworkSliceSubnet, it identifies all, including - the base, managed entities that has aggregation association relation - with the base. - - We called the identified entities a collection. It would mean - Measurement types or KPI names specified in attribute - MeasurementReader.measurementTypes, are required to be produced if the - member (of the collection) is capable of supporting the Measurement - types or KPI names."; - } - - leaf fileLocation { - type string ; - description "It is the path to the location where produced - performance reports (containing PM data) are stored. File based - delivery will not start if this leaf does not have a - valid value. - - It is the path to a location on either the producer's file system or a - URI to a network file location that is not part of the producer's file - system. In case it points to a location on the producer's file system, - it is a relative path based on a vendor-specified root directory for - performance data files. - - The size of this fileLocation is decided by consumer and producer. - The producer is expected to remove old files to make room for - new files, when necessary. - - If defined this value overrides the value of defaultFileLocation in the - parent MeasuremnetControl."; - } - - leaf fileBasedGP { - when '../fileLocation' ; - mandatory true; - type uint32 ; - units second; - description "GP (granularity period) defines the frequency of producing - performance data."; - } - - leaf fileReportingPeriod { - when '../fileLocation' ; - must '. *60 >= ../fileBasedGP' { - error-message "fileBasedGP must not be greater than fileReportingPeriod"; - } - mandatory true; - type uint32 ; - units minute; - description "The frequency of producing the performance report files."; - } - - leaf streamTarget { - when 'not(../fileLocation)' ; - type string ; - description "Identifies the target of the notification carrying the - content of the measurement or KPI report. - There are two delivery methods (i.e. file-based and stream-based) via - which the consumer(s) can receive the Measurements or KPIs. This - attribute is used for the stream-based delivery method."; - } - - leaf streamBasedGP { - when '../streamTarget' ; - mandatory true; - type uint32 ; - units second; - description "Defines the frequency of producing and sending the - Measurements or KPIs to the consumer."; - } - } - - grouping ThresholdMonitoringCapabilityGrp { - description "Represents the capability of threshold monitoring(s) - allowed to be created by ThresholdMonitor to monitor some or all - of the measurements identified by supportedMeasurementsGPs."; - - leaf-list supportedMonitoringGPs { - type uint32; - units second; - config false; - min-elements 1; - description "The monitoring granularity periods supported by the - producer for the monitored entities."; - } - } - - grouping ThresholdMonitorGrp { - description "A threshold monitor that is created by the consumer for - the monitored entities whose measurements are required by consumer - to monitor."; - - list thresholdInfoList { - key idx; - leaf idx { type uint32 ; } - - leaf measurementType { - type string; - mandatory true; - description "Shall be in one of the following form: - - 'family.measurementName.subcounter' for monitoring the - measurement types with subcounters defined. - - 'family.measurementName' for monitoring the measurement - types without subcounters defined."; - } - - leaf direction { - type enumeration { - enum INCREASING; - enum DECREASING; - } - mandatory true; - description " - - If it is 'INCREASING', the threshold crossing - notification is triggered when the measurement value - equals or exceeds a thresholdValue. - - If it is 'DECREASING', the threshold crossing notification is - triggered when the measurement value equals or below a - thresholdValue."; - } - - list thresholdPack { - key idx; - min-elements 1; - leaf idx { type uint32 ; } - - leaf thresholdLevel { - type int64; - mandatory true; - description ""; - } - - leaf thresholdValue { - type int64; - mandatory true; - description ""; - } - - leaf threshold-low { - type int64; - description "The values threshold-low and threshold-high must - be present or absent together. - The measurementType value is allowed to oscillate between - threshold-low and threshold-highwithout triggering the - threshold crossing notification."; - } - - leaf threshold-high { - when '../threshold-low'; - type int64; - mandatory true; - description "The values threshold-low and threshold-high must - be present or absent together. - The measurementType value is allowed to oscillate between - threshold-low and threshold-highwithout triggering the - threshold crossing notification."; - } - } - } - - leaf monitoringGP { - type uint32; - units second; - mandatory true; - description "Monitoring granularity period"; - } - - leaf monitoringNotifTarget { - type string; - description "Identifies the target of the notifications when the - monitored measurement crosses or reaches the threshold set by the - subject threshold monitor."; - } - - leaf monitoredIOCName { - type string; - mandatory true; - description "Specifies the name of list(s) representing one object - class for which the threshold monitor is created. - When this attribute is effective, the threshold monitor is created - for all list nodes/entries with the specified name in the containment - tree whose top (tree) node is the list entry containing the subject - ThresholdMonitor list-entry containing this leaf. - This leaf is effective when the monitoredObjectDNs contained by - the same ThresholdMonitor list entry is empty. - - AllowedValues: The IOC names defined in the NRMs specifications."; - } - - leaf-list monitoredObjectDNs { - type types3gpp:DistinguishedName; - description "Specifies the object instance(s) for threshold monitoring. - The attribute monitoredIOCName contained by the same - ThresholdMonitor entry has no effect unless this leaf-list empty."; - } - } - - grouping MeasurementSubtree { - description "Contains classes that define measurements. - Should be used in al classes (or classes inheriting from) - - SubNnetwork - - ManagedElement - - ManagedFunction - - NetworkSliceSubnet - - EP_RP - - If some YAM wants to augment these classes/list/groupings they must - augment all user classes! - - If a class uses this grouping in its list it shall also use the - grouping Measurements to add supportedMeasurementsGPs as - an attribute to its grouping"; - - list MeasurementControl { - description "Represents the properties of the file-based and stream-based - measurement delivery methods. - - The file-based delivery method has properties for the file location, - the file reporting period and the file-based GP. - The stream-based delivery method has properties for the stream target - and the stream-based GP. - These properties are labelled as default (e.g. defaultFileBasedGP) in - that they will be ignored in case the same properties captured in - MeasurementReader are used. - - Instance of this list shall not be created nor deleted by client. It - shall be created and deleted by the system. - - Depending on particular deployment context and agreement between - operator and vendor, all attributes could be config=false. - - Can be used for measurement collecting or KPI reporting. - When used for measurement collecting, it can be contained by - ManagedElement, ManagedFunction and SubNetwork or derived IOCs. - When used for KPI reporting, it can be contained by SubNetwork - or derived IOCs."; - - key id; - uses top3gpp:Top_Grp ; - container attributes { - uses MeasurementControlGrp ; - } - - list MeasurementReader { - description "Identifies the entity whose Measurements or KPIs are - required by consumer to be produced and captured. The types of - Measurements or the names of KPIs required are identified by the - measurementNames. - - It captures the properties of the two delivery methods for delivering - measurements or KPIs. - The file-based delivery method has properties: fileLocation, - reportingPeriod and fileBasedGP. - The stream-based delivery method has properties: streamTarget and - streamBasedGP. - The parent MeasurementControl list entry also can capture the - properties of the file-based and stream-based delivery methods. - If the MeasurementReader instance's file-based delivery method has - valid properties, the file-based delivery method is used and the - MeasurementControl instance's file-based delivery method is ignored. - If the MeasurementReader instance's stream-based delivery method has - valid properties, the stream-based delivery method is used and the - MeasurementControl instance's stream-based delivery is ignored. - The file-based and stream-based delivery methods can be active at the - same time for a MeasurementReader instance. - - The activity of a MeasurementReader instance is independent of that - of other MeasurementReader instances. - - This IOC uses managedObjectDNs or managedObjectDNsBasic to identify - specific managed entities whose Measurements or KPIs are required by - consumer."; - - key id; - uses top3gpp:Top_Grp ; - container attributes { - uses MeasurementReaderGrp; - } - } - } - - list ThresholdMonitoringCapability { - key id; - max-elements 1; - description "Represents the capability of threshold monitoring(s) - allowed to be created by ThresholdMonitor to monitor some or all - of the measurements identified by supportedMeasurementsGPs. - - This list entry instance represents the capability of the - threshold monitor(s) allowed to be created for the measurements of - the (tree) nodes of a containment tree whose top (tree) node is - the list-entry instance containing the ThresholdMonitoringCapability - instance. - - In case one entry (say A) is contained by a tree node (say X), and - a similar list entry named ThresholdMonitoringCapability (say B) is - contained by a subordinate tree node (of tree node X), the entry - (B) contained by the subordinate tree node (Y) prevail."; - - uses top3gpp:Top_Grp ; - container attributes { - uses ThresholdMonitoringCapabilityGrp ; - } - } - - list ThresholdMonitor { - key id; - max-elements 1; - description "A threshold monitor that is created by the consumer for - the monitored entities whose measurements are required by consumer - to monitor. The monitored entities are identified by the attribute - monitoredObjectDNs. - - The creation request for this list entry may be rejected, if - the measurements to be monitered are being collected - (e.g., by a measurement job or NRM configurations) with a GP different - from the monitoringGP; or the measurements to be monitered are not - being collected. - - In case one entry (say A) is contained by a tree node (say X), and - a similar list entry named ThresholdMonitor (say B) is - contained by a subordinate tree node (of tree node X), - when these two instances have overlaps the entry (B) - contained by the subordinate tree node (Y) will prevail for the - overlapped parts."; - - uses top3gpp:Top_Grp ; - container attributes { - uses ThresholdMonitorGrp ; - } - } - } +module _3gpp-common-measurements { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-measurements"; + prefix "meas3gpp"; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + + description "Defines Measurement and KPI related groupings + Any list/class intending to use this should include 2 or 3 uses statements + controlled by a feature: + + A) ++++ feature MeasurementsUnderMyClass { ++++ description 'Indicates whether measurements and/or KPIs are supported ++++ for this class.'; ++++ } + + B) include the attribute measurementsList and/or kPIsList indicating the + supported measurment and KPI types and GPs. Note that for classes + inheriting from ManagedFunction, EP_RP or SubNetwork these attributes are + already inherited, so there is no need to include them once more. E.g. + ++++ grouping MyClassGrp { ++++ uses meas3gpp:SupportedPerfMetricGroup; ++++ } + + C) include the class PerfmetricJob to control the measurements/KPIs. E.g. + + list MyClass { + container attributes { + uses MyClassGrp; + } ++++ uses meas3gpp:MeasurementSubtree { ++++ if-feature MeasurementsUnderMyClass ; ++++ } + } + + Measurements can be contained under ManagedElement, SubNetwork, or + any list representing a class inheriting from Subnetwork or + ManagedFunction. Note: KPIs will only be supported under SubNetwork"; + + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + + 3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS)"; + + revision 2020-09-04 { reference "CR-000107"; } + revision 2020-06-08 { reference "CR-0092"; } + revision 2020-05-31 { reference "CR-0084"; } + revision 2020-03-11 { reference "S5-201581, SP-200229"; } + revision 2019-11-21 { reference "S5-197275, S5-197735"; } + revision 2019-10-28 { reference "S5-193516"; } + revision 2019-06-17 { } + + grouping ThresholdInfoGrp { + description "Defines a single threshold level."; + + leaf-list measurementTypes { + type string; + description "The Measurement type can be those specified in TS 28.552, + TS 32.404 and can be those specified by other SDOs or can be + vendor-specific."; + } + + 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; + enum DOWN; + enum UP_AND_DOWN; + } + must '. = "UP_AND_DOWN" or not(../hysteresis)' { + error-message "In case a threshold with hysteresis is configured, the " + +"threshold direction attribute shall be set to 'UP_AND_DOWN'."; + } + mandatory true; + description "Direction of a threshold indicating the direction for which + a threshold crossing triggers a threshold. + + When the threshold direction is configured to 'UP', the associated + treshold is triggered only when the performance metric value is going + up upon reaching or crossing the threshold value. The treshold is not + triggered, when the performance metric is going down upon reaching or + crossing the threshold value. + + Vice versa, when the threshold direction is configured to 'DOWN', the + associated treshold is triggered only when the performance metric is + going down upon reaching or crossing the threshold value. The treshold + is not triggered, when the performance metric is going up upon reaching + or crossing the threshold value. + + When the threshold direction is set to 'UP_AND_DOWN' the treshold is + active in both direcions. + + In case a threshold with hysteresis is configured, the threshold + direction attribute shall be set to 'UP_AND_DOWN'."; + } + + leaf thresholdValue { + type union { + type int64; + type decimal64 { + fraction-digits 2; + } + } + mandatory true; + description "Value against which the monitored performance metric is + compared at a threshold level in case the hysteresis is zero"; + } + + leaf hysteresis { + type union { + type uint64; + type decimal64 { + fraction-digits 2; + range "0..max"; + } + } + 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 + against a high and low threshold value given by + + threshold-high = thresholdValue + hysteresis + threshold-low = thresholdValue - hysteresis + + When going up, the threshold is triggered when the performance metric + reaches or crosses the high threshold value. When going down, the + hreshold is triggered when the performance metric reaches or crosses + the low threshold value. + + A hysteresis may be present only when the monitored performance + metric is not of type counter that can go up only. If present + for a performance metric of type counter, it shall be ignored."; + } + } + + grouping SupportedPerfMetricGroupGrp { + list SupportedPerfMetricGroup { + config false; + description "Captures a group of supported performance metrics and + associated parameters related to their production and reporting. + A SupportedPerfMetricGroup attribute which is part of an MOI may + define performanceMetrics for any MOI under the subtree contained + under that MOI, e.g. SupportedPerfMetricGroup on a ManagedElement + can specify supported metrics for contained ManagedFunctions + like a GNBDUFunction."; + + leaf-list performanceMetrics { + type string; + min-elements 1; + description "Performance metrics include measurements defined in + TS 28.552 and KPIs defined in TS 28.554. Performance metrics can + also be those specified by other SDOs or vendor specific metrics. + Performance metrics are identfied with their names. A name can also + identify a vendor specific group of performance metrics. + + For measurements defined in TS 28.552 the name is constructed as + follows: + - 'family.measurementName.subcounter' for measurement types with + subcounters + - 'family.measurementName' for measurement types without subcounters + - 'family' for measurement families + + For KPIs defined in TS 28.554 the name is defined in the KPI + definitions template as the component designated with e)."; + } + + leaf-list granularityPeriods { + type uint32 { + range 1..max ; + } + units seconds; + } + + leaf-list reportingMethods { + type enumeration { + enum FILE_BASED_LOC_SET_BY_PRODUCER; + enum FILE_BASED_LOC_SET_BY_CONSUMER; + enum STREAM_BASED; + } + min-elements 1; + } + + leaf-list monitorGranularityPeriods { + type uint32 { + range 1..max ; + } + units seconds; + description "Granularity periods supported for the monitoring of + associated measurement types for thresholds"; + } + } + } + + grouping PerfMetricJobGrp { + description "Represents the attributtes of the IOC PerfMetricJob"; + + leaf administrativeState { + default UNLOCKED; + type types3gpp:AdministrativeState ; + description "Enable or disables production of the metrics"; + } + + leaf operationalState { + config false; + mandatory true; + type types3gpp:OperationalState ; + description "Indicates whether the PerfMetricJob is working."; + } + + leaf perfMetricJobGroupId { + type string; + description "Identifies members of a PerfMetricJob group. For the + stream based reporting method this reference shall be present."; + } + + leaf-list performanceMetrics { + type string; + min-elements 1; + description "Performance metrics include measurements defined in + TS 28.552 and KPIs defined in TS 28.554. Performance metrics can + also be those specified by other SDOs or vendor specific metrics. + Performance metrics are identfied with their names. A name can also + identify a vendor specific group of performance metrics. + + For measurements defined in TS 28.552 the name is constructed as + follows: + - 'family.measurementName.subcounter' for measurement types with + subcounters + - 'family.measurementName' for measurement types without subcounters + - 'family' for measurement families + + For KPIs defined in TS 28.554 the name is defined in the KPI + definitions template as the component designated with e)."; + } + + leaf granularityPeriod { + type uint32 { + range 1..max ; + } + units seconds; + mandatory true; + description "Granularity period used to produce measurements. The value + must be one of the supported granularity periods for the metric. + + For measurements of type counter this is the period at which samples + of the internal counter value, that is incremented with every event + occurance, are taken. + + For measurements of type gauge, this is period, over which the mean + value of the measured variable is calculated. The mean value is + then taken as sample."; + } + + leaf-list objectInstances { + type types3gpp:DistinguishedName; + } + + leaf-list rootObjectInstances { + type types3gpp:DistinguishedName; + description "Each object instance designates the root of a subtree that + contains the root object and all descendant objects."; + } + + choice reportingCtrl { + mandatory true; + description "This choice defines the method for reporting collected + performance metrics to MnS consumers as well as the parameters for + configuring the reporting function. It is a choice between the control + parameter required for the reporting methods, whose presence selects + the reporting method as follows: + - When only the fileReportingPeriod attribute is present, the MnS + producer shall store files on the MnS producer at a location selected + by the MnS producer and inform the MnS consumer about the availability + of new files and the file location using the notifyFileReady + notification. + - When only the fileReportingPeriod and fileLocation attributes are + present, the MnS producer shall store the files on the MnS consumer at + the location specified by fileLocation. No notification is emitted by + the MnS producer. + - When only the streamTarget attribute is present, the MnS producer + shall stream the data to the location specified by streamTarget. + + For the file-based reporting methods the fileReportingPeriod attribute + specifies the time window during which collected measurements are stored + into the same file before the file is closed and a new file is opened."; + + case file-based-reporting { + leaf fileReportingPeriod { + type uint32 { + range 1..max; + } + units minutes"; + must '(number(.)*"60") mod number(../granularityPeriod) = "0"' { + error-message + "The time-period must be a multiple of the granularityPeriod."; + } + mandatory true; + description "For the file-based reporting method this is the time + window during which collected measurements are stored into the same + file before the file is closed and a new file is opened. + The time-period must be a multiple of the granularityPeriod. + + Applicable when the file-based reporting method is supported"; + } + + 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 stream-based-reporting { + leaf streamTarget { + type string; + mandatory true; + description "Applicable when stream-based reporting method is + supported."; + } + } + } + } + + + grouping ThresholdMonitorGrp { + description "A threshold monitor that is created by the consumer for + the monitored entities whose measurements are required by consumer + to monitor."; + + leaf administrativeState { + default UNLOCKED; + type types3gpp:AdministrativeState ; + description "Enables or disables the ThresholdMonitor."; + } + + leaf operationalState { + config false; + mandatory true; + type types3gpp:OperationalState ; + description "Indicates whether the ThresholdMonitor is working."; + } + + list thresholdInfoList { + key idx; + min-elements 1; + leaf idx { type uint32 ; } + uses ThresholdInfoGrp; + } + + leaf monitorGranularityPeriod { + type uint32 { + range "1..max"; + } + units second; + mandatory true; + description " Granularity period used to monitor measurements for + threshold crossings. "; + } + + leaf-list objectInstances { + type types3gpp:DistinguishedName; + } + + leaf-list rootObjectInstances { + type types3gpp:DistinguishedName; + description "Each object instance designates the root of a subtree that + contains the root object and all descendant objects."; + } + } + + grouping MeasurementSubtree { + description "Contains classes that define measurements. + Should be used in all classes (or classes inheriting from) + - SubNnetwork + - ManagedElement + - ManagedFunction + + If a YANG module wants to augment these classes/list/groupings they must + augment all user classes! + + If a class uses this grouping in its list it shall also use the + grouping SupportedPerfMetricGroupGrp to add SupportedPerfMetricGroup as + an attribute to its grouping"; + + list PerfMetricJob { + description "This IOC represents a performance metric production job. It + can be name-contained by SubNetwork, ManagedElement, or ManagedFunction. + + To activate the production of the specified performance metrics, a MnS + consumer needs to create a PerfMetricJob instance on the MnS producer + and ensure that the adminState is sUNLOCKED>. + For ultimate deactivation of metric production, the MnS consumer should + delete the job to free up resources on the MnS producer. + + For temporary suspension of metric production, the MnS consumer can + manipulate the value of the administrative state attribute. The MnS + producer may disable metric production as well, for example in overload + situations. This situation is indicated by the MnS producer with setting + the operational state attribute to disabled. When production is resumed + the operational state is set again to enabled. + + The perfMetricJobGroupId is a common reference across all members of a + PerfMetricJob group. A group contains related PerfMetricJob instances. + + The attribute performanceMetrics defines the performance metrics to be + produced and the attribute granularityPeriod defines the granularity + period to be applied. + + All object instances below and including the instance name-containing + the PerfMetricJob (base object instance) are scoped for performance + metric production. Performance metrics are produced only on those object + instances whose object class matches the object class associated to the + performance metrics to be produced. + + The attributes objectInstances and rootObjectInstances allow to restrict + the scope. When the attribute objectInstances is present, only the object + instances identified by this attribute are scoped. When the attribute + rootObjectInstances is present, then the subtrees whose root objects are + identified by this attribute are scoped. Both attributes may be present + at the same time meaning the total scope is equal to the sum of both + scopes. Object instances may be scoped by both the objectInstances and + rootObjectInstances attributes. This shall not be considered as an error + by the MnS producer. + + When the performance metric requires performance metric production on + multiple managed objects, which is for example the case for KPIs, the + MnS consumer needs to ensure all required objects are scoped. Otherwise + a PerfMetricJob creation request shall fail. + + The attribute reportingCtrl specifies the method and associated control + parameters for reporting the produced measurements 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. + + A PerfMetricJob creation request shall fail, when the requested + performance metrics, the requested granularity period, the requested + repoting method, or the requested combination thereof is not supported + by the MnS producer. + + Creation and deletion of PerfMetricJob instances by MnS consumers is + optional; when not supported, PerfMetricJob instances may be created and + deleted by the system or be pre-installed."; + + key id; + uses top3gpp:Top_Grp ; + container attributes { + uses PerfMetricJobGrp ; + } + } + + list ThresholdMonitor { + key id; + description "Represents a threshold monitor for performance metrics. + It can be contained by SubNetwork, ManagedElement, or ManagedFunction. + A threshold monitor checks for threshold crossings of performance metric + values and generates a notification when that happens. + + To activate threshold monitoring, a MnS consumer needs to create a + ThresholdMonitor instance on the MnS producer. For ultimate deactivation + of threshold monitoring, the MnS consumer should delete the monitor to + free up resources on the MnS producer. + + For temporary suspension of threshold monitoring, the MnS consumer can + manipulate the value of the administrative state attribute. The MnS + producer may disable threshold monitoring as well, for example in + overload situations. This situation is indicated by the MnS producer with + setting the operational state attribute to disabled. When monitoring is + resumed the operational state is set again to enabled. + + All object instances below and including the instance containing the + ThresholdMonitor (base object instance) are scoped for performance + metric production. Performance metrics are monitored only on those + object instances whose object class matches the object class associated + to the performance metrics to be monitored. + + The optional attributes objectInstances and rootObjectInstances allow to + restrict the scope. When the attribute objectInstances is present, only + the object instances identified by this attribute are scoped. When the + attribute rootObjectInstances is present, then the subtrees whose root + objects are identified by this attribute are scoped. Both attributes may + be present at the same time meaning the total scope is equal to the sum + of both scopes. Object instances may be scoped by both the objectInstances + and rootObjectInstances attributes. This shall not be considered as an + error by the MnS producer. + + 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. + + Each threshold is identified with a number (key) called thresholdLevel. + A threshold is defined using the attributes thresholdValue , + thresholdDirection and hysteresis. + + When hysteresis is absent or carries no information, a threshold is + triggered when the thresholdValue is reached or crossed. When hysteresis + is present, two threshold values are specified for the threshold as + follows: A high treshold value equal to the threshold value plus the + hysteresis value, and a low threshold value equal to the threshold value + minus the hysteresis value. When the monitored performance metric + increases, the threshold is triggered when the high threshold value is + reached or crossed. When the monitored performance metric decreases, the + 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. + + A ThresholdMonitor creation request shall be rejected, if the performance + metrics requested to be monitored, the requested granularity period, or + the requested combination thereof is not supported by the MnS producer. + A creation request may fail, when the performance metrics requested to be + monitored are not produced by a PerfMetricJob. + + 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."; + + + uses top3gpp:Top_Grp ; + container attributes { + uses ThresholdMonitorGrp ; + } + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index 11d2e079bc68778c63064978bd1dde24dc750e35..ced4207391c98f7de97ccf4dfd3cff559bd31458 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -1,158 +1,196 @@ -module _3gpp-common-subnetwork { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-common-subnetwork"; - prefix "subnet3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-measurements { prefix meas3gpp; } - import _3gpp-common-fm { prefix fm3gpp; } - import ietf-yang-schema-mount { prefix yangmnt; } - - organization "3GPP SA5"; - - description "Defines basic SubNetwork which will be augmented by other IOCs"; - 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 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 { - description "Initial revision"; - } - - feature ExternalsUnderSubNetwork { - - description "Classes representing external entities like EUtranFrequency, - ExternalGNBCUCPFunction, ExternalENBFunction - are contained under a Subnetwork list/class."; - } - - feature MeasurementsUnderSubNetwork { - description "The MeasurementSubtree shall be contained under SubNetwork - indicating the support of Measurements and/or KPIs"; - } - - feature FmUnderSubNetwork { - description "The FmSubtree shall be contained under SubNetwork"; - } - - grouping Domain_Grp { - description "A domain is a partition of instances of managed entities - such that : - - the group represents a topological structure which describes the - potential for connectivity - - Subject to common administration - - With common characteristics"; - - leaf dnPrefix { - type types3gpp:DistinguishedName; - reference "Annex C of 32.300 "; - } - - leaf userLabel { - type string; - description "A user-friendly (and user assignable) name of this object."; - } - - leaf userDefinedNetworkType { - type string; - description "Textual information indicating network type, e.g. 'UTRAN'."; - } - } - - grouping SubNetworkGrp { - uses Domain_Grp; - uses meas3gpp:Measurements; - uses meas3gpp:KPIs; - - - leaf-list setOfMcc { - description "Set of Mobile Country Code (MCC). - The MCC uniquely identifies the country of domicile - of the mobile subscriber. MCC is part of the IMSI (3GPP TS 23.003) - - This list contains all the MCC values in subordinate object - instances to this SubNetwork instance. - - See clause 2.3 of 3GPP TS 23.003 for MCC allocation principles. - - It shall be supported if there is more than one value in setOfMcc - of the SubNetwork. Otherwise the support is optional."; - type types3gpp:Mcc; - } - - leaf priorityLabel { - mandatory true; - type uint32; - } - - } - - list SubNetwork { - key id; - description "Represents a set of managed entities"; - - uses top3gpp:Top_Grp; - container attributes { - uses SubNetworkGrp; - leaf-list parents { - description "Reference to all containg SubNetwork instances - in strict order from the root subnetwork down to the immediate - parent subnetwork. - If subnetworks form a containment hierarchy this is - modeled using references between the child SubNetwork and the parent - SubNetworks. - This reference MUST NOT be present for the top level SubNetwork and - MUST be present for other SubNetworks."; - type leafref { - path "../../../SubNetwork/id"; - } - } - - leaf-list containedChildren{ - description "Reference to all directly contained SubNetwork instances. - If subnetworks form a containment hierarchy this is - modeled using references between the child SubNetwork and the parent - SubNetwork."; - type leafref { - path "../../../SubNetwork/id"; - } - } - } - - uses meas3gpp:MeasurementSubtree { - if-feature MeasurementsUnderSubNetwork ; - } - - uses fm3gpp:FmSubtree { - if-feature FmUnderSubNetwork ; - } - - yangmnt:mount-point children-of-SubNetwork { - description "Mountpoint for ManagedElement"; - reference "RFC8528 YANG Schema Mount"; - } - - // augment external parts here - } +module _3gpp-common-subnetwork { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-subnetwork"; + prefix "subnet3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-measurements { prefix meas3gpp; } + import _3gpp-common-fm { prefix fm3gpp; } + import _3gpp-common-trace { prefix trace3gpp; } + import ietf-yang-schema-mount { prefix yangmnt; } + + 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"; + 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 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 { + description "Initial revision"; + } + + feature ExternalsUnderSubNetwork { + + description "Classes representing external entities like EUtranFrequency, + ExternalGNBCUCPFunction, ExternalENBFunction + are contained under a Subnetwork list/class."; + } + + feature MeasurementsUnderSubNetwork { + description "The MeasurementSubtree shall be contained under SubNetwork + indicating the support of Measurements and/or KPIs"; + } + + feature FmUnderSubNetwork { + description "The FmSubtree shall be contained under SubNetwork"; + } + + feature TraceUnderSubNetwork { + description "The TraceSubtree shall be contained under SubNetwork"; + } + + feature DESManagementFunction { + description "Classs representing Distributed SON or Domain-Centralized SON Energy Saving feature. The DESManagementFunction shall be contained under subnetwork."; + } + + feature DMROFunction { + description "Classs representing D-SON function of MRO feature. The DMROFunction shall be contained under subnetwork."; + } + + feature DRACHOptimizationFunction { + description "Classs representing D-SON function of RACH optimization feature. The DRACHOptimizationFunction shall be contained under subnetwork."; + } + + feature DPCIConfigurationFunction { + description "Classs representing Distributed SON or Domain-Centralized SON function of PCI configuration feature. The DPCIConfigurationFunction shall be contained under subnetwork."; + } + + feature CPCIConfigurationFunction { + description "Classs representing Cross Domain-Centralized SON function of PCI configuration feature. The CPCIConfigurationFunction shall be contained under subnetwork."; + } + + feature CESManagementFunction { + description "Classs representing Cross Domain-Centralized SON Energy Saving feature. The CESManagementFunction shall be contained under subnetwork."; + } + + grouping Domain_Grp { + description "A domain is a partition of instances of managed entities + such that : + - the group represents a topological structure which describes the + potential for connectivity + - Subject to common administration + - With common characteristics"; + + leaf dnPrefix { + type types3gpp:DistinguishedName; + reference "Annex C of 32.300 "; + } + + leaf userLabel { + type string; + description "A user-friendly (and user assignable) name of this object."; + } + + leaf userDefinedNetworkType { + type string; + description "Textual information indicating network type, e.g. 'UTRAN'."; + } + } + + grouping SubNetworkGrp { + uses Domain_Grp; + uses meas3gpp:SupportedPerfMetricGroupGrp; + + + leaf-list setOfMcc { + description "Set of Mobile Country Code (MCC). + The MCC uniquely identifies the country of domicile + of the mobile subscriber. MCC is part of the IMSI (3GPP TS 23.003) + + This list contains all the MCC values in subordinate object + instances to this SubNetwork instance. + + See clause 2.3 of 3GPP TS 23.003 for MCC allocation principles. + + It shall be supported if there is more than one value in setOfMcc + of the SubNetwork. Otherwise the support is optional."; + type types3gpp:Mcc; + } + + leaf priorityLabel { + mandatory true; + type uint32; + } + + } + + list SubNetwork { + key id; + description "Represents a set of managed entities"; + + uses top3gpp:Top_Grp; + container attributes { + uses SubNetworkGrp; + leaf-list parents { + description "Reference to all containg SubNetwork instances + in strict order from the root subnetwork down to the immediate + parent subnetwork. + If subnetworks form a containment hierarchy this is + modeled using references between the child SubNetwork and the parent + SubNetworks. + This reference MUST NOT be present for the top level SubNetwork and + MUST be present for other SubNetworks."; + type leafref { + path "../../../SubNetwork/id"; + } + } + + leaf-list containedChildren{ + description "Reference to all directly contained SubNetwork instances. + If subnetworks form a containment hierarchy this is + modeled using references between the child SubNetwork and the parent + SubNetwork."; + type leafref { + path "../../../SubNetwork/id"; + } + } + } + + uses meas3gpp:MeasurementSubtree { + if-feature MeasurementsUnderSubNetwork ; + } + + uses fm3gpp:FmSubtree { + if-feature FmUnderSubNetwork ; + } + + uses trace3gpp:TraceSubtree { + if-feature TraceUnderSubNetwork ; + } + + yangmnt:mount-point children-of-SubNetwork { + description "Mountpoint for ManagedElement"; + reference "RFC8528 YANG Schema Mount"; + } + + // augment external parts here + } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index ff67ea532107427545247694b527889009b82176..d37938d28b3ba952df79b876efd71504072ea096 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -1,195 +1,209 @@ -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-subnetwork { prefix subnet3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - - organization "3GPP SA5"; - - description "Defines IOCs for subscription and heartbeat control."; - reference "3GPP TS 28.623 - Generic Network Resource Model (NRM) - Integration Reference Point (IRP); - Solution Set (SS) definitions - 3GPP TS 28.623"; - - revision 2019-11-29 { - description "Initial revision"; - reference "S5-197648 S5-197647 S5-197829 S5-197828"; - } - - grouping NtfSubscriptionControlGrp { - description "Attributes of a specific notification subscription"; - - leaf notificationRecipientAddress { - type string; - mandatory true; - } - - leaf-list notificationTypes { - type string; - description "Defines the types of notifications that are candidates - for being forwarded to the notification recipient. - If the notificationFilter attribute is not supported or not present - all candidate notifications types are forwarded to the notification; - discriminated by notificationFilter attribute."; - } - - list scope { - key "scopeType"; - min-elements 1; - max-elements 1; - description "Describes which object instances are selected with - respect to a base object instance."; - - leaf scopeType { - type enumeration { - enum BASE_ONLY; - enum BASE_ALL; - enum BASE_NTH_LEVEL; - enum BASE_SUBTREE; - } - 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 - 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 - and BASE_SUBTREE. - - 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 base object is at scopeLevel zero."; - } - - leaf scopeLevel { - when '../scopeType = "BASE_NTH_LEVEL" or ../scopeType = "BASE_SUBTREE"'; - type uint16; - mandatory true; - description "See description of scopeType."; - } - } - - 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 - notifications are discarded. - The filter can be applied to any field of a notification."; - } - } - - grouping HeartbeatControlGrp { - description "Attributes of HeartbeatControl. Note the triggerHeartbeatNtf attribute - has no mapping in the present release."; - - leaf heartbeatNtfPeriod { - type uint32 ; - mandatory true; - units minute; - description "Specifies the periodicity of heartbeat notification emission. - The value of zero has the special meaning of stopping the heartbeat - notification emission."; - } - } - - grouping NtfSubscriptionControlWrapper { - list NtfSubscriptionControl { - description "A NtfSubscriptionControl instance represents the - notification subscription of a particular notification recipient. - The scope attribute is used to select managed object instances. - The base object instance of the scope is the object instance - name-containing the NtfSubscriptionControl instance. - The notifications related to the selected managed object instances - are candidates to be sent to the address specified by the - notificationRecipientAddress attribute. - The notificationType attribute and notificationFilter attribute - allow MnS consumers to exercise control over which candidate - notifications are sent to the notificationRecipientAddress. - If the notificationType attribute is supported and present, its - value identifies the - types of notifications that are candidate to be sent to the - notificationRecipientAddress. If the notificationType attribute is - not supported or not present, all types of notifications are - candidate to be sent to notificationRecipientAddress. - If supported, the notificationFilter attribute defines a filter that - is applied to the set of candidate notifications. Only candidate - notifications that pass the filter criteria are sent to the - notificationRecipientAddress. If the notificationFilter attribute is - not supported all candidate notificatios are sent to the - notificationRecipientAddress. - To receive notifications, a MnS consumer has to create - NtfSubscriptionControl object instancess 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 - instance. - 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 { - min-elements 1; - max-elements 1; - description "MnS consumers (i.e. notification recipients) use heartbeat - notifications to monitor the communication channels between them and - data reporting MnS producers emitting notifications such as - notifyNewAlarm and notifyFileReady. - A HeartbeatControl instance allows controlling the emission of - heartbeat notifications by MnS producers. The recipients of heartbeat - notifications are not specified by an attribute of the Heartbeat - instance, but by an attribute of the IOC name-containing the - HeartbeatControl IOC. - Note that the MnS consumer managing the HeartbeatControl instance - and the MnS consumer receiving the heartbeat notifications may not be - the same. - As a pre-condition for the emission of heartbeat notifications, a - HeartbeatControl instance needs to be created. Creation of an - instance with an initial non-zero value of the heartbeatNtfPeriod - attribute triggers an immediate heartbeat notification emission. - Creation of an instance with an initial zero value of the - heartbeatPeriod attribute does not trigger an emission of a - heartbeat notification. Deletion of this instance does not trigger - an emission of a heartbeat notification. - Creation and deletion of HeartbeatControl instances by MnS Consumers - is optional; when not supported, the HeartbeatControl instances may - be created and deleted by the system or be pre-installed. -"; - key id; - uses top3gpp:Top_Grp; - - container attributes { - uses HeartbeatControlGrp; - } - } - } - } - - augment /subnet3gpp:SubNetwork { - uses NtfSubscriptionControlWrapper; - } - - augment /me3gpp:ManagedElement { - uses NtfSubscriptionControlWrapper; - } +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-subnetwork { prefix subnet3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + + organization "3GPP SA5"; + + description "Defines IOCs for subscription and heartbeat control."; + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + 3GPP TS 28.623"; + + revision 2020-08-26 { reference "CR-0106"; } + revision 2019-11-29 { reference "S5-197648 S5-197647 S5-197829 S5-197828"; } + + grouping NtfSubscriptionControlGrp { + description "Attributes of a specific notification subscription"; + + leaf notificationRecipientAddress { + type string; + mandatory true; + } + + leaf-list notificationTypes { + type string; + description "Defines the types of notifications that are candidates + for being forwarded to the notification recipient. + If the notificationFilter attribute is not supported or not present + all candidate notifications types are forwarded to the notification; + discriminated by notificationFilter attribute."; + } + + list scope { + key "scopeType"; + min-elements 1; + max-elements 1; + description "Describes which object instances are selected with + respect to a base object instance."; + + leaf scopeType { + type enumeration { + enum BASE_ONLY; + enum BASE_ALL; + enum BASE_NTH_LEVEL; + enum BASE_SUBTREE; + } + 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 + 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 + and BASE_SUBTREE. + + 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 base object is at scopeLevel zero."; + } + + leaf scopeLevel { + when '../scopeType = "BASE_NTH_LEVEL" or ../scopeType = "BASE_SUBTREE"'; + type uint16; + mandatory true; + description "See description of scopeType."; + } + } + + 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 + notifications are discarded. + The filter can be applied to any field of a notification."; + } + } + + grouping HeartbeatControlGrp { + description "Attributes of HeartbeatControl. Note the triggerHeartbeatNtf attribute + has no mapping in the present release."; + + 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 + notification emission."; + } + } + + grouping NtfSubscriptionControlWrapper { + list NtfSubscriptionControl { + description "A NtfSubscriptionControl instance represents the + notification subscription of a particular notification recipient. + The scope attribute is used to select managed object instances. + The base object instance of the scope is the object instance + name-containing the NtfSubscriptionControl instance. + The notifications related to the selected managed object instances + are candidates to be sent to the address specified by the + notificationRecipientAddress attribute. + The notificationType attribute and notificationFilter attribute + allow MnS consumers to exercise control over which candidate + notifications are sent to the notificationRecipientAddress. + If the notificationType attribute is supported and present, its + value identifies the + types of notifications that are candidate to be sent to the + notificationRecipientAddress. If the notificationType attribute is + not supported or not present, all types of notifications are + candidate to be sent to notificationRecipientAddress. + If supported, the notificationFilter attribute defines a filter that + is applied to the set of candidate notifications. Only candidate + notifications that pass the filter criteria are sent to the + notificationRecipientAddress. If the notificationFilter attribute is + not supported all candidate notificatios are sent to the + notificationRecipientAddress. + To receive notifications, a MnS consumer has to create + NtfSubscriptionControl object instancess 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 + instance. + 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 { + min-elements 1; + max-elements 1; + description "MnS consumers (i.e. notification recipients) use heartbeat + notifications to monitor the communication channels between them and + data reporting MnS producers emitting notifications such as + notifyNewAlarm and notifyFileReady. + + A HeartbeatControl instance allows controlling the emission of + heartbeat notifications by MnS producers. The recipients of heartbeat + notifications are specified by the notificationRecipientAddress + attribute of the NtfSubscriptionControl instance containing the + HeartbeatControl instance. + + + Note that the MnS consumer managing the HeartbeatControl instance + and the MnS consumer receiving the heartbeat notifications may not be + the same. + + As a pre-condition for the emission of heartbeat notifications, a + HeartbeatControl instance needs to be created. Creation of an instance + with an initial non-zero value of the heartbeatNtfPeriod attribute + triggers an immediate heartbeat notification emission. Creation of an + instance with an initial zero value of the heartbeatPeriod attribute + does not trigger an emission of a heartbeat notification. Deletion of + an instance does not trigger an emission of a heartbeat notification. + + Once the instance is created, heartbeat notifications are emitted with + a periodicity defined by the value of the heartbeatNtfPeriod attribute. + No heartbeat notifications are emitted if the value is equal to zero. + Setting a zero value to a non zero value, or a non zero value to a + different non zero value, triggers an immediate heartbeat notification, + that is the base for the new heartbeat period. Setting a non zero value + to a zero value stops emitting heartbeats immediately; no final + heartbeat notification is sent. + + Creation and deletion of HeartbeatControl instances by MnS Consumers is + optional; when not supported, the HeartbeatControl instances may be + created and deleted by the system or be pre-installed. + + Whether and when to emit heartbeat notifications is controlled by + HeartbeatControl. Subscription for heartbeat is not supported via the + NtfSubscriptionControl."; + key id; + uses top3gpp:Top_Grp; + + container attributes { + uses HeartbeatControlGrp; + } + } + } + } + + augment /subnet3gpp:SubNetwork { + uses NtfSubscriptionControlWrapper; + } + + augment /me3gpp:ManagedElement { + uses NtfSubscriptionControlWrapper; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-top.yang b/yang-models/_3gpp-common-top.yang index 8086346d0ad862572e5262e5401a472ffb9327be..c58adbea793e9d4c616de2f9ffe4f7b69ce33c27 100755 --- a/yang-models/_3gpp-common-top.yang +++ b/yang-models/_3gpp-common-top.yang @@ -1,36 +1,36 @@ -module _3gpp-common-top { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-common-top; - prefix top3gpp; - - organization "3gpp SA5"; - description "The model defines a YANG mapping of the top level - information classes used for management of 5G networks and - network slicing."; - reference - "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 2019-06-17 { - description "Initial revision"; - } - - grouping Top_Grp { - description "Abstract class supplying a naming attribute"; - reference "3GPP TS 28.620"; - - leaf id { - type string; - description "Key leaf (namingAttribute) for a class/list. - Should be used as a key leaf for lists representing - stage 2 classes."; - reference "3GPP TS 32.300 Name convention for managed objects"; - } - } +module _3gpp-common-top { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-common-top; + prefix top3gpp; + + organization "3gpp SA5"; + description "The model defines a YANG mapping of the top level + information classes used for management of 5G networks and + network slicing."; + reference + "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 2019-06-17 { + description "Initial revision"; + } + + grouping Top_Grp { + description "Abstract class supplying a naming attribute"; + reference "3GPP TS 28.620"; + + leaf id { + type string; + description "Key leaf (namingAttribute) for a class/list. + Should be used as a key leaf for lists representing + stage 2 classes."; + reference "3GPP TS 32.300 Name convention for managed objects"; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang new file mode 100755 index 0000000000000000000000000000000000000000..c2eb08f015a4f4bd2d106dcdf111bf1c664913f1 --- /dev/null +++ b/yang-models/_3gpp-common-trace.yang @@ -0,0 +1,871 @@ +module _3gpp-common-trace { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-trace"; + prefix "trace3gpp"; + + 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 " "; + + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + + 3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS)"; + + revision 2020-08-06 { reference "CR-0102"; } + + grouping TraceJobGrp { + leaf tjJobType { + type enumeration { + enum IMMEDIATE_MDT_ONLY; + enum LOGGED_MDT_ONLY; + enum TRACE_ONLY; + enum IMMEDIATE_MDT_AND_TRACE; + enum RLF_REPORT_ONLY; + enum RCEF_REPORT_ONLY; + enum LOGGED_MBSFN_MDT; + } + default TRACE_ONLY; + description "Specifies the MDT mode and it specifies also whether the + TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined + Trace and MDT job. The attribute is applicable for Trace, MDT, RCEF and + RLF reporting."; + reference "Clause 5.9a of 3GPP TS 32.422 for additional details on the + allowed values."; + } + + list tjListOfInterfaces { + key idx; + must 'count(MSCServerInterfaces)+count(MGWInterfaces)+count(RNCInterfaces)' + +'+count(SGSNInterfaces)+count(GGSNInterfaces)+count(S-CSCFInterfaces)' + +'+count(P-CSCFInterfaces)+count(I-CSCFInterfaces)+count(MRFCInterfaces)' + +'+count(MGCFInterfaces)+count(IBCFInterfaces)+count(E-CSCFInterfaces)' + +'+count(BGCFInterfaces)+count(ASInterfaces)+count(HSSInterfaces)' + +'+count(EIRInterfaces)+count(BM-SCInterfaces)+count(MMEInterfaces)' + +'+count(SGWInterfaces)+count(PDN_GWInterfaces)+count(eNBInterfaces)' + +'+count(en-gNBInterfaces)+count(AMFInterfaces)+count(AUSFInterfaces)' + +'+count(NEFInterfaces)+count(NRFInterfaces)+count(NSSFInterfaces)' + +'+count(PCFInterfaces)+count(SMFInterfaces)+count(SMSFInterfaces)' + +'+count(UDMInterfaces)+count(UPFInterfaces)+count(ng-eNBInterfaces)' + +'+count(gNB-CU-CPInterfaces)+count(gNB-CU-UPInterfaces)+count(gNB-DUInterfaces)'; + + description "Specifies the interfaces that need to be traced in the given + ManagedEntityFunction.The attribute is applicable only for Trace. In + case this attribute is not used, it carries a null semantic."; + reference "Clause 5.5 of 3GPP TS 32.422 for additional details on the + allowed values."; + + leaf idx { type uint32 ; } + + leaf-list MSCServerInterfaces { + type enumeration { + enum A ; + enum Iu-CS ; + enum Mc ; + enum MAP-G ; + enum MAP-B ; + enum MAP-E ; + enum MAP-F ; + enum MAP-D ; + enum MAP-C ; + enum CAP ; + } + } + leaf-list MGWInterfaces { + type enumeration { + enum Mc ; + enum Nb-UP ; + enum Iu-UP ; + } + } + leaf-list RNCInterfaces { + type enumeration { + enum Iu-CS ; + enum Iu-PS ; + enum Iur ; + enum Iub ; + enum Uu ; + } + } + leaf-list SGSNInterfaces { + type enumeration { + enum Gb ; + enum Iu-PS ; + enum Gn ; + enum MAP-Gr ; + enum MAP-Gd ; + enum MAP-Gf ; + enum Ge ; + enum Gs ; + enum S6d ; + enum S4 ; + enum S3 ; + enum S13 ; + } + } + leaf-list GGSNInterfaces { + type enumeration { + enum Gn ; + enum Gi ; + enum Gmb ; + } + } + leaf-list S-CSCFInterfaces { + type enumeration { + enum Mw ; + enum Mg ; + enum Mr ; + enum Mi ; + } + } + leaf-list P-CSCFInterfaces { + type enumeration { + enum Gm ; + enum Mw ; + } + } + leaf-list I-CSCFInterfaces { + type enumeration { + enum Cx ; + enum Dx ; + enum Mg ; + enum Mw ; + } + } + leaf-list MRFCInterfaces { + type enumeration { + enum Mp ; + enum Mr ; + } + } + leaf-list MGCFInterfaces { + type enumeration { + enum Mg ; + enum Mj ; + enum Mn ; + } + } + leaf-list IBCFInterfaces { + type enumeration { + enum Ix ; + enum Mx ; + } + } + leaf-list E-CSCFInterfaces { + type enumeration { + enum Mw ; + enum Ml ; + enum Mm ; + enum Mi-Mg ; + } + } + leaf-list BGCFInterfaces { + type enumeration { + enum Mi ; + enum Mj ; + enum Mk ; + } + } + leaf-list ASInterfaces { + type enumeration { + enum Dh ; + enum Sh ; + enum ISC ; + enum Ut ; + } + } + leaf-list HSSInterfaces { + type enumeration { + enum MAP-C ; + enum MAP-D ; + enum Gc ; + enum Gr ; + enum Cx ; + enum S6d ; + enum S6a ; + enum Sh ; + } + } + leaf-list EIRInterfaces { + type enumeration { + enum MAP-F ; + enum S13 ; + enum MAP-Gf ; + } + } + leaf-list BM-SCInterfaces { + type enumeration { + enum Gmb ; + } + } + leaf-list MMEInterfaces { + type enumeration { + enum S1-MME ; + enum S3 ; + enum S6a ; + enum S10 ; + enum S11 ; + enum S13 ; + } + } + leaf-list SGWInterfaces { + type enumeration { + enum S4 ; + enum S5 ; + enum S8 ; + enum S11 ; + enum Gxc ; + } + } + leaf-list PDN_GWInterfaces { + type enumeration { + enum S2a ; + enum S2b ; + enum S2c ; + enum S5 ; + enum S6b ; + enum Gx ; + enum S8 ; + enum SGi ; + } + } + leaf-list eNBInterfaces { + type enumeration { + enum S1-MME ; + enum X2 ; + } + } + leaf-list en-gNBInterfaces { + type enumeration { + enum S1-MME ; + enum X2 ; + enum Uu ; + enum F1-C ; + enum E1 ; + } + } + leaf-list AMFInterfaces { + type enumeration { + enum N1 ; + enum N2 ; + enum N8 ; + enum N11 ; + enum N12 ; + enum N14 ; + enum N15 ; + enum N20 ; + enum N22 ; + enum N26 ; + } + } + leaf-list AUSFInterfaces { + type enumeration { + enum N12 ; + enum N13 ; + } + } + leaf-list NEFInterfaces { + type enumeration { + enum N29 ; + enum N30 ; + enum N33 ; + } + } + leaf-list NRFInterfaces { + type enumeration { + enum N27 ; + } + } + leaf-list NSSFInterfaces { + type enumeration { + enum N22 ; + enum N31 ; + } + } + leaf-list PCFInterfaces { + type enumeration { + enum N5 ; + enum N7 ; + enum N15 ; + } + } + leaf-list SMFInterfaces { + type enumeration { + enum N4 ; + enum N7 ; + enum N10 ; + enum N11 ; + enum S5-C ; + } + } + leaf-list SMSFInterfaces { + type enumeration { + enum N20 ; + enum N21 ; + } + } + leaf-list UDMInterfaces { + type enumeration { + enum N8 ; + enum N10 ; + enum N13 ; + enum N21 ; + } + } + leaf-list UPFInterfaces { + type enumeration { + enum N4 ; + } + } + leaf-list ng-eNBInterfaces { + type enumeration { + enum NG-C ; + enum Xn-C ; + enum Uu ; + } + } + leaf-list gNB-CU-CPInterfaces { + type enumeration { + enum NG-C ; + enum Xn-C ; + enum Uu ; + enum F1-C ; + enum E1 ; + enum X2-C ; + } + } + leaf-list gNB-CU-UPInterfaces { + type enumeration { + enum E1 ; + } + } + leaf-list gNB-DUInterfaces { + type enumeration { + enum F1-C ; + } + } + } + + leaf-list tjListOfNeTypes { + type enumeration { + enum MSC_SERVER; + enum SGSN; + enum MGW; + enum GGSN; + enum RNC; + enum BM_SC; + enum MME; + enum SGW; + enum PGW; + enum ENB; + enum EN_GNB; + enum GNB_CU_CP; + enum GNB_CU_UP; + enum GNB_DU; + } + description "Specifies in which type of ManagedFunction the trace should + be activated. The attribute is applicable only for Trace with + Signalling Based Trace activation. In case this attribute is not used, + it carries a null semantic"; + reference "Clause 5.4 of 3GPP TS 32.422 for additional details on the + allowed values"; + } + + leaf tjPLMNTarget { + type string; + mandatory true; + description "Specifies which PLMN that the subscriber of the session to + be recorded uses as selected PLMN. PLMN Target might differ from the + PLMN specified in the Trace Reference"; + reference "Clause 5.9b of 3GPP TS 32.422"; + } + + leaf tjStreamingTraceConsumerURI { + when './tjTraceReportingFormat = "STREAMING"'; + type inet:uri; + mandatory true; + description "URI of the Streaming Trace data reporting MnS consumer + (a.k.a. streaming target). + This attribute shall be present if file based trace data reporting is + supported and tjTraceReportingFormat set to 'file based' or when + tjJobType is set to Logged MDT or Logged MBSFN MDT."; + reference "Clause 5.9 of 3GPP TS 32.422"; + } + + leaf tjTraceCollectionEntityAddress { + when './tjTraceReportingFormat = "FILE_BASED" or ' + +'./tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; + type union { + type inet:uri; + type inet:ip-address; + } + mandatory true; + description "Specifies the address of the Trace Collection Entity when + the attribute tjTraceReportingFormat 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 tjTraceDepth { + when './tjJobType = "TRACE_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type enumeration { + enum MINIMUM; + enum MEDIUM; + enum MAXIMUM; + enum VENDORMINIMUM; + enum VENDORMEDIUM; + enum VENDORMAXIMUM; + } + default MAXIMUM; + description "Specifies how detailed information should be recorded in the + Network Element. The Trace Depth is a paremeter for Trace Session level, + i.e., the Trace Depth is the same for all of the NEs to be traced in + the same Trace Session. + The attribute is applicable only for Trace, otherwise it carries a null + semantic."; + reference "Clause 5.3 of 3GPP TS 32.422"; + } + + leaf tjTraceReference { + type uint64; + mandatory true; + description "A globally unique identifier, which uniquely identifies the + Trace Session that is created by the TraceJob. + In case of shared network, it is the MCC and MNC of the Participating + Operator that request the trace session that shall be provided. + The attribute is applicable for both Trace and MDT."; + } + + leaf tjTraceReportingFormat { + type enumeration { + enum FILE_BASED; + enum STREAMING; + } + default FILE_BASED; + description "Specifies the trace reporting format - streaming trace + reporting or file-based trace reporting"; + reference "3GPP TS 32.422 clause 5.11"; + } + + leaf tjTraceTarget { + type enumeration { + enum IMSI; + enum IMEI; + enum IMEISV; + enum PUBLIC_ID; + enum UTRAN_CELL; + enum E_UTRAN_CELL; + enum NG_RAN_CELL; + enum ENB; + enum RNC; + enum GNB; + } + mandatory true; + description "Specifies the target object of the Trace and MDT. The + attribute is applicable for both Trace and MDT. This attribute + includes the ID type of the target as an enumeration and the ID value. + + The tjTraceTarget shall be public ID in case of a Management Based + Activation is done to an ScscfFunction. The tjTraceTarget shall be + cell only in case of the UTRAN cell traffic trace function. + + The tjTraceTarget shall be E-UtranCell only in case of E-UTRAN cell + traffic trace function.The tjTraceTarget shall be either IMSI or + IMEI(SV) if the Trace Session is activated to any of the following + ManagedEntity(ies): + - HssFunction + - MscServerFunction + - SgsnFunction + - GgsnFunction + - BmscFunction + - RncFunction + - MmeFunction + + The tjTraceTarget shall be IMSI if the Trace Session is activated to a + ManagedEntity playing a role of ServinGWFunction. + + In case of signaling based MDT, the tjTraceTarget attribute shall be + able to carry (IMSI or IMEI(SV)), the tjMDTAreaScope attribute shall be + able to carry a list of (cell or EUtranCell or TA/LA/RA). + + In case of management based Immediate MDT, the tjTraceTarget attribute + shall be null value, the tjMDTAreaScope attribute shall carry a list of + (Utrancell or E-UtranCell). + + In case of management based Logged MDT, the tjTraceTarget attribute + shall carry an eNodeBs or a RNC. The Logged MDT should be initiated on + the specified eNodeB/RNC in tjTraceTarget. The tjMDTAreaScope attribute + shall carry a list of (Utrancell or E-UtranCell or TA/LA/RA). + + In case of RLF reporting, or RCEF reporting, the tjTraceTarget attribute + shall be null value, the tjMDTAreaScope attribute shall carry one or + list of eNBs"; + reference "3GPP TS 32.422"; + } + + leaf tjTriggeringEvent { + when './tjJobType = "TRACE" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type string ; + mandatory true; + description "Specifies the triggering event parameter of the trace session. + The attribute is applicable only for Trace. In case this attribute is + not used, it carries a null semantic."; + reference "Clause 5.1 of 3GPP TS 32.422"; + } + + leaf tjMDTAnonymizationOfData { + when ./tjMDTAreaScope ; + type enumeration { + enum NO_IDENTITY; + enum TAC_OF_IMEI; + } + default NO_IDENTITY; + description "Specifies level of MDT anonymization."; + reference "3GPP TS 32.422 clause 5.10.12."; + } + + list tjMDTAreaConfigurationForNeighCell { + when './tjJobType = "LOGGED_MDT_ONLY"'; + key "idx"; + min-elements 1; + leaf idx { type uint32 ; } + + description "It specifies the area for which UE is requested to perform + measurement logging for neighbour cells which have list of frequencies. + If it is not configured, the UE shall perform measurement logging for + all the neighbour cells. + + Applicable only to NR Logged MDT."; + reference "3GPP TS 32.422 clause 5.10.26."; + + leaf frequency { + type string; + } + + leaf cell { + type string; + } + } + + leaf-list tjMDTAreaScope { + type string; + description "specifies MDT area scope when activates an MDT job. + + For RLF and RCEF reporting it specifies the eNB or list of eNBs where the + RLF or RCEF reports should be collected. + + + List of cells/TA/LA/RA for signaling based MDT or management based Logged + MDT. + + List of cells for management based Immediate MDT. + + Cell, TA, LA, RA are mutually exclusive. + + One or list of eNBs for RLF and RCEFreporting"; + reference "Clause 5.10.2 of 3GPP TS 32.422"; + } + + leaf tjMDTCollectionPeriodRrmLte { + when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" + +"24000|28000|32000|64000"; + } + units milliseconds; + description "Specifies the collection period for collecting RRM configured + measurement samples for M2, M3 in LTE. The attribute is applicable only + for Immediate MDT. In case this attribute is not used, it carries a + null semantic."; + reference "Clause 5.10.20 of 3GPP TS 32.422"; + } + + leaf tjMDTCollectionPeriodRrmUmts { + when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "1024|1280|2048|2560|5120|" + +"10240|60000"; + } + units milliseconds; + description "Specifies the collection period for collecting RRM configured + measurement samples for M3, M4, M5 in UMTS. The attribute is applicable + only for Immediate MDT. In case this attribute is not used, it carries + a null semantic"; + reference "Clause 5.10.21 of 3GPP TS 32.422"; + } + + leaf tjMDTEventListForTriggeredMeasurement { + when './tjJobType = "LOGGED_MDT_ONLY"'; + type enumeration { + enum OUT_OF_COVERAGE ; + enum A2_EVENT ; + } + mandatory true; + description "Specifies event types for event triggered measurement in the + case of logged NR MDT. Each trace session may configure at most one + event. The UE shall perform logging of measurements only upon certain + condition being fulfilled: + - Out of coverage. + - A2 event."; + reference "Clause 5.10.28 of 3GPP TS 32.422"; + } + + leaf tjMDTEventThreshold { + 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 + is applicable only for Immediate MDT and when reportingTrigger is + configured for A2 event in LTE or 1F event or 1l event in UMTS. In + case this attribute is not used, it carries a null semantic."; + reference "Clauses 5.10.7 and 5.10.7a of 3GPP TS 32.422"; + } + + leaf tjMDTListOfMeasurements { + when './tjJobType = "IMMEDIATE_MDT"'; + type int64; + mandatory true; + description "It specifies the UE measurements that shall be collected in + an Immediate MDT job. The attribute is applicable only for Immediate MDT. + In case this attribute is not used, it carries a null semantic."; + reference "3GPP TS 32.422 clause 5.10.3"; + } + + leaf tjMDTLoggingDuration { + when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; + type uint32 { + range "600|1200|2400|3600|5400|7200"; + } + units seconds; + mandatory true; + description "Specifies how long the MDT configuration is valid at the + UE in case of Logged MDT. The attribute is applicable only for + Logged MDT and Logged MBSFN MDT. In case this attribute is not used, it + carries a null semantic."; + reference "5.10.9 of 3GPP TS 32.422"; + } + + leaf tjMDTLoggingInterval { + when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; + type uint32 { + range "1280|2560|5120|10240|20480|" + +"30720|40960|61440"; + } + units milliseconds; + mandatory true; + description "Specifies the periodicty for Logged MDT. The attribute is + applicable only for Logged MDT and Logged MBSFN MDT. In case this + attribute is not used, it carries a null semantic"; + reference "5.10.8 of 3GPP TS 32.422"; + } + + leaf-list tjMDTMBSFNAreaList { + when './tjJobType = "LOGGED_MBSFN_MDT"'; + type string; + min-elements 1; + max-elements 8; + description "The MBSFN Area consists of a MBSFN Area ID and Carrier + 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 "5.10.25 of 3GPP TS 32.422"; + } + + leaf tjMDTMeasurementPeriodLTE { + when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "1024|1280|2048|2560|5120|" + +"10240|60000"; + } + units milliseconds; + mandatory true; + description "It specifies the measurement period for the Data Volume and + Scheduled IP throughput measurements 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.23 of 3GPP TS 32.422"; + } + + leaf tjMDTMeasurementPeriodUMTS { + when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" + +"24000|28000|32000|64000"; + } + units milliseconds; + mandatory true; + description "It specifies the measurement period for the Data Volume and + Throughput measurements for MDT taken by RNC. + The attribute is applicable only for Immediate MDT. In case this + attribute is not used, it carries a null semantic."; + reference "Clause 5.10.22 of 3GPP TS 32.422"; + } + + leaf tjMDTMeasurementQuantity { + when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint64 ; + mandatory true; + description "It specifies the measurements that are collected in an MDT + job for a UMTS MDT configured for event triggered reporting."; + reference "Clause 5.10.15 of 3GPP TS 32.422"; + } + + list tjMDTPLMList { + when './tjJobType = "LOGGED_MDT_ONLY"'; + key "mcc mnc"; + uses types3gpp:PLMNId; + min-elements 1; + max-elements 16; + 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"; + } + + leaf tjMDTPositioningMethod { + when './tjJobType = "IMMEDIATE_MDT_ONLY" or ./tjJobType = "IMMEDIATE_MDT_AND_TRACE"'; + type enumeration { + enum GNSS; + enum E_CELL_ID; + } + mandatory true; + description "It specifies what positioning method should be used in the + MDT job."; + reference "Clause 5.10.19 of 3GPP TS 32.422"; + } + + leaf tjMDTReportAmount { + when './tjJobType = "IMMEDIATE_MDT_ONLY" and ./tjMDTReportingTrigger = "PERIODICAL"'; + type union { + type uint32 { + range "1|4|8|16|32|64" ; + } + type enumeration { + enum INFINITY; + } + } + mandatory true; + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected. + The attribute is applicable only for Immediate MDT and when + tjMDTReportingTrigger is configured for periodical measurements. In + case this attribute is not used, it carries a null semantic."; + reference "Clause 5.10.6 of 3GPP TS 32.422"; + } + + leaf tjMDTReportingTrigger { + when './tjJobType = "IMMEDIATE_MDT_ONLY"'; + type enumeration { + enum PERIODICAL; + enum A2_FOR_LTE; + enum 1F_FOR_UMTS; + enum 1I_FOR_UMTS_MCPS_TDD; + enum A2_TRIGGERED_PERIODIC_FOR_LTE; + enum ALL_CONFIGURED_RRM_FOR_LTE; + enum ALL_CONFIGURED_RRM_FOR_UMTS; + } + description "It specifies whether periodic or event based measurements + should be collected. + The attribute is applicable only for Immediate MDT and when the + tjMDTListOfMeasurements is configured for M1 (for both UMTS and LTE) + or M2 (only for UMTS). In case this attribute is not used, it carries + a null semantic."; + reference "Clause 5.10.4 of 3GPP TS 32.422"; + } + + leaf tjMDTReportInterval { + when './tjJobType = "IMMEDIATE_MDT_ONLY" and ./tjMDTReportingTrigger = "PERIODICAL"'; + type uint32 { + range "120|240|250|480|500|640|1000|1024|2000|2048|3000|4000|" + +"5120|6000|8000|10240|12000|16000|20000|" + +"24000|28000|32000|60000|64000|" + +"360000|720000|1800000|3600000"; + } + units milliseconds; + mandatory true; + description "It specifies the interval between the periodical measurements + that shall be taken when the UE is in connected mode. + The attribute is applicable only for Immediate MDT and when + tjMDTReportingTrigger is configured for periodical measurements. In case + this attribute is not used, it carries a null semantic."; + reference "5.10.5 of 3GPP TS 32.422"; + } + + leaf tjMDTReportType { + when './tjJobType = "LOGGED_MDT_ONLY"'; + type enumeration { + enum PERIODICAL; + enum EVENT_TRIGGERED; + } + mandatory true; + description "It specifies report type for logged NR MDT"; + reference "Clause 5.10.27 of 3GPP TS 32.422"; + } + + leaf tjMDTSensorInformation { + type bits { + bit BAROMETRIC_PRESSURE; + bit UE_SPEED; + bit UE_ORIENTATION; + } + default ""; + description "It specifies which sensor information shall be included in + logged NR MDT and immediate NR MDT measurement if they are available. + The following sensor measurement can be included or excluded for the UE."; + reference "Clause 5.10.29 of 3GPP TS 32.422"; + } + + leaf tjMDTTraceCollectionEntityID { + when './tjJobType = "LOGGED_MDT_ONLY" or ./tjJobType = "LOGGED_MBSFN_MDT"'; + type uint8; + mandatory true; + 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"; + } + } + + grouping TraceSubtree { + description "Contains classes that manage Tracing. + Should be used in all classes (or classes inheriting from) + - SubNnetwork + - ManagedElement + - ManagedFunction + + If a YANG module wants to augment these classes/list/groupings they must + augment all user classes!"; + + list TraceJob { + description "Represents the Trace Control and Configuration parameters of a + particular Trace Job (see TS 32.421 and TS 32.422 for details). + + 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 + tjTraceCollectionEntityAddress or tjStreamingTraceConsumerUri to be his + own. + + 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. + + 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; + uses top3gpp:Top_Grp ; + container attributes { + uses TraceJobGrp ; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-yang-extensions.yang b/yang-models/_3gpp-common-yang-extensions.yang index e6d57f5df05db68a50925088ff0c1259e6ae1230..9bc0a82be8cb514da33f2b79e3ec972509342cb1 100755 --- a/yang-models/_3gpp-common-yang-extensions.yang +++ b/yang-models/_3gpp-common-yang-extensions.yang @@ -1,95 +1,95 @@ -module _3gpp-common-yang-extensions { - yang-version 1.1; - namespace urn:3gpp:sa5:_3gpp-common-yang-extensions ; - prefix yext3gpp ; - - organization "3GPP SA5"; - description "The module defines YANG extensions needed - 3GPP YANG modeling. - - Copyright (c) 2019 3GPP. All rights reserved. - - Extensions MUST be defined with the following structure in the - description statement: - - What is this statement. - - Newline, - - This statement can be a substatement of the xxx statements with - cardinality x..y. - - This statement can have the following substatements with - cardinality x..y. - - Newline - - Is changing this statement an editorial, BC(backwards compatible) - or NBC(non-BC) change? - - Newline. - - The argument its meaning and type. Preferably use YANG types and - constraints to define the argument's type. - - Any extension statement can be added with a - deviation/deviate add statement. In this case the restriction about - the parent statement of the extension SHALL be evaluated based on the - target of the deviation statement. - - Support for this module does not mean that a YANG server implements - support for each of these extensions. - Implementers of each specific module using an extensions MUST check - if the server implements support for the used extension. - Note: modules use many extensions which individual - implementations MAY or MAY NOT support. - If support for an extension is missing the extension statement needs - individual handling or it SHOULD be removed from the module using - the extension e.g. with a deviation. - "; - - revision "2019-06-23" { - description "Initial version"; - } - - extension inVariant { - description - "Indicates that the value for the data node can only be set when its - parent data node is being created. To change the value after that, the - parent data node must be deleted and recreated with the data node - having the new value. - - It is unnecessary to use and MUST NOT be used for key leafs. - - The statement MUST only be a substatement of a leaf, leaf-list, list - statements that is config=true. - Zero or one inVariant statement is allowed per parent statement. - NO substatements are allowed. - - Adding this statement is an NBC change, removing it is BC."; - } - - extension initial-value { - description "Specifies a value that the system will set for a leaf - leaf-list if a value is not specified for it when its parent list - or container is created. The value has no effect in any other - modification e.g. changing or removing the value. - - The description statement of the parent statement SHOULD contain - the label 'Initial-value: ' followed by the text from the argument. - - The statement MUST only be a substatement of a leaf or leaf-list. - The statement MUST NOT be present if the leaf or the leaf-list - has a default statement or the type used for the data node - has a default value. - The statement MUST NOT be used for config=false data or in an - action, rpc or notification. - Zero or one initial-value statements are allowed for a leaf parent - statement. Zero or more initial-value statements are allowed for a - leaf-list parent statement. If the leaf-list is ordered-by user, the - initial values are stored in the order they appear in the YANG definition. - NO substatements are allowed. - - Always consider using a YANG-default statement instead. - - Modification of the initial-value is a non-backwards-compatible change. - - The argument specifies a single initial value for a leaf or leaf-list. - The value MUST be part of the valuespace of the leaf/leaf-list. - It follows the same rules as the argument of the default statement."; - - argument "initial-value"; - } +module _3gpp-common-yang-extensions { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-common-yang-extensions ; + prefix yext3gpp ; + + organization "3GPP SA5"; + description "The module defines YANG extensions needed + 3GPP YANG modeling. + + Copyright (c) 2019 3GPP. All rights reserved. + + Extensions MUST be defined with the following structure in the + description statement: + - What is this statement. + - Newline, + - This statement can be a substatement of the xxx statements with + cardinality x..y. + - This statement can have the following substatements with + cardinality x..y. + - Newline + - Is changing this statement an editorial, BC(backwards compatible) + or NBC(non-BC) change? + - Newline. + - The argument its meaning and type. Preferably use YANG types and + constraints to define the argument's type. + + Any extension statement can be added with a + deviation/deviate add statement. In this case the restriction about + the parent statement of the extension SHALL be evaluated based on the + target of the deviation statement. + + Support for this module does not mean that a YANG server implements + support for each of these extensions. + Implementers of each specific module using an extensions MUST check + if the server implements support for the used extension. + Note: modules use many extensions which individual + implementations MAY or MAY NOT support. + If support for an extension is missing the extension statement needs + individual handling or it SHOULD be removed from the module using + the extension e.g. with a deviation. + "; + + revision "2019-06-23" { + description "Initial version"; + } + + extension inVariant { + description + "Indicates that the value for the data node can only be set when its + parent data node is being created. To change the value after that, the + parent data node must be deleted and recreated with the data node + having the new value. + + It is unnecessary to use and MUST NOT be used for key leafs. + + The statement MUST only be a substatement of a leaf, leaf-list, list + statements that is config=true. + Zero or one inVariant statement is allowed per parent statement. + NO substatements are allowed. + + Adding this statement is an NBC change, removing it is BC."; + } + + extension initial-value { + description "Specifies a value that the system will set for a leaf + leaf-list if a value is not specified for it when its parent list + or container is created. The value has no effect in any other + modification e.g. changing or removing the value. + + The description statement of the parent statement SHOULD contain + the label 'Initial-value: ' followed by the text from the argument. + + The statement MUST only be a substatement of a leaf or leaf-list. + The statement MUST NOT be present if the leaf or the leaf-list + has a default statement or the type used for the data node + has a default value. + The statement MUST NOT be used for config=false data or in an + action, rpc or notification. + Zero or one initial-value statements are allowed for a leaf parent + statement. Zero or more initial-value statements are allowed for a + leaf-list parent statement. If the leaf-list is ordered-by user, the + initial values are stored in the order they appear in the YANG definition. + NO substatements are allowed. + + Always consider using a YANG-default statement instead. + + Modification of the initial-value is a non-backwards-compatible change. + + The argument specifies a single initial value for a leaf or leaf-list. + The value MUST be part of the valuespace of the leaf/leaf-list. + It follows the same rules as the argument of the default statement."; + + argument "initial-value"; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index b187d61b3db459c3ea5bc8b33390ce9857a7dd70..56ad2e9780abfcb927ebcd6902d0c9221c0b06a6 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -1,519 +1,527 @@ -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; } - - organization "3GPP SA5"; - description "The model defines a YANG mapping of the top level - information classes used for management of 5G networks and - network slicing."; - reference "3GPP TS 28.541"; - - revision 2020-03-10 { - description "Removed faulty when statements."; - reference "SP-200229"; - } - - revision 2019-10-25 { - description "Added ManagedNFProfile."; - reference "S5-194457"; - } - - revision 2019-10-16 { - description "Added SAP and usageState."; - reference "S5-193518"; - } - - revision 2019-06-23 { - description "Initial version."; - } - - 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 " ; - } - - 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 - capacity for additional users at that instant. The value is READ-ONLY."; - reference "ITU T Recommendation X.731"; - } - - grouping SAP { - leaf host { - type inet:host; - mandatory true; - } - leaf port { - type inet:port-number; - mandatory true; - } - 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 - region (the digits 1 and 8 are not used):"; - type string { - pattern '[02-79][0-9][0-9]'; - } - reference "3GPP TS 23.003 subclause 2.2 and 12.1"; - } - - typedef Mnc { - 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]'; - } - reference "3GPP TS 23.003 subclause 2.2 and 12.1"; - } - - grouping PLMNId { - leaf mcc { - mandatory true; - type Mcc; - } - leaf mnc { - mandatory true; - type Mnc; - } - reference "TS 23.658"; - } - - typedef Nci { - 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 { - type string { - length 36; - pattern '[01]+'; - } - type string { - length 9; - pattern '[a-fA-F0-9]*'; - } - } - } - - typedef OperationalState { - reference "3GPP TS 28.625 and ITU-T X.731"; - type enumeration { - enum DISABLED { - value 0; - description "The resource is totally inoperable."; - } - - enum ENABLED { - value 1; - description "The resource is partially or fully operable."; - } - - } - } - - typedef AdministrativeState { - reference "3GPP TS 28.625 and ITU-T X.731"; - type enumeration { - enum LOCKED { - value 0; - description "The resource is administratively prohibited from performing - services for its users."; - } - - enum UNLOCKED { - value 1; - description "The resource is administratively permitted to perform - services for its users. This is independent of its inherent - operability."; - } - - enum SHUTTINGDOWN { - 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 - 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; - } - } - - typedef CellState { - type enumeration { - enum IDLE; - enum INACTIVE; - enum ACTIVE; - } - } - - typedef SNssai { - type union { - type uint8; - type uint32; - } - description "Single Network Slice Selection Assistance Information."; - reference "TS 23.501 clause 5.15.2"; - } - - typedef Sst { - type uint8; - } - - typedef Nrpci { - type uint32; - description "Physical Cell Identity (PCI) of the NR cell."; - reference "TS 36.211 subclause 6.11"; - } - - typedef Tac { - type int32 { - range 0..16777215 ; - } - description "Tracking Area Code"; - reference "TS 23.003 clause 19.4.2.3"; - } - - typedef AmfRegionId { - type union { - type uint8 ; - type string { - length 8; - pattern '[01]*'; - } - } - reference "clause 2.10.1 of 3GPP TS 23.003"; - } - - typedef AmfSetId { - type union { - type uint16 { - range '0..1023'; - } - type string { - length 8; - pattern '[01]*'; - } - } - reference "clause 2.10.1 of 3GPP TS 23.003"; - } - - typedef AmfPointer { - type union { - type uint8 { - range '0..63'; - } - type string { - length 6; - pattern '[01]*'; - } - } - reference "clause 2.10.1 of 3GPP TS 23.003"; - } - - grouping AmfIdentifier { - leaf amfRegionId { - type AmfRegionId; - } - leaf amfSetId { - type AmfSetId; - } - 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. "; - } - -// type definitions especially for core NFs - - typedef NfType { - type enumeration { - enum NRF; - enum UDM; - enum AMF; - enum SMF; - enum AUSF; - enum NEF; - enum PCF; - enum SMSF; - enum NSSF; - enum UDR; - enum LMF; - enum GMLC; - enum 5G_EIR; - enum SEPP; - enum UPF; - enum N3IWF; - enum AF; - 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 { - range 0..100; - } - } - - typedef N1MessageClass { - type enumeration { - enum 5GMM; - enum SM; - enum LPP; - enum SMS; - } - } - - typedef N2InformationClass { - type enumeration { - enum SM; - enum NRPPA; - enum PWS; - enum PWS_BCAL; - enum PWS_RF; - } - } - - grouping DefaultNotificationSubscription { - - leaf notificationType { - type NotificationType; - } - - leaf callbackUri { - type inet:uri; - } - - leaf n1MessageClass { - type N1MessageClass; - } - - leaf n2InformationClass { - type N2InformationClass; - } - } - - 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; - enum NOMADIC; - enum RESTRICTED_MOBILITY; - enum FULLY_MOBILITY; - } - } - - typedef ResourceSharingLevel { - type enumeration { - enum SHARED; - enum NOT_SHARED; - } - } - - typedef TxDirection { - type enumeration { - enum DL; - enum UL; - enum DL_AND_UL; - } - } - - grouping AddressWithVlan { - leaf ipAddress { - type inet:ip-address; - } - leaf vlanId { - type uint16; - } - } - - typedef DistinguishedName { // TODO is this equivalent to TS 32.300 ? - type string { - pattern '([a-zA-Z][a-zA-Z0-9-]*=(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,# ])' - + '((\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,])*' - + '(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+, ]))?' - + '[,\+])*[a-zA-Z][a-zA-Z0-9-]*=(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,# ])' - + '((\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})' - + '|[^\\><;"+,])*(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+, ]))?'; - } - description "Represents the international standard for the representation - of Distinguished Name (RFC 4512). - The format of the DistinguishedName REGEX is: - {AttributeType = AttributeValue} - - AttributeType consists of alphanumeric and hyphen (OIDs not allowed). - All other characters are restricted. - The Attribute value cannot contain control characters or the - following characters : \\ > < ; \" + , (Comma) and White space - The Attribute value can contain the following characters if they - are excaped : \\ > < ; \" + , (Comma) and White space - The Attribute value can contain control characters if its an escaped - double digit hex number. - Examples could be - UID=nobody@example.com,DC=example,DC=com - CN=John Smith,OU=Sales,O=ACME Limited,L=Moab,ST=Utah,C=US"; - reference "RFC 4512 Lightweight Directory Access Protocol (LDAP): - Directory Information Models"; - } // recheck regexp it doesn't handle posix [:cntrl:] - - typedef QOffsetRange { - 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"; - } - units dB; - } +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; } + + organization "3GPP SA5"; + description "The model defines a YANG mapping of the top level + information classes used for management of 5G networks and + network slicing."; + reference "3GPP TS 28.541"; + + revision 2020-03-10 { + description "Removed faulty when statements."; + reference "SP-200229"; + } + + revision 2019-10-25 { + description "Added ManagedNFProfile."; + reference "S5-194457"; + } + + revision 2019-10-16 { + description "Added SAP and usageState."; + reference "S5-193518"; + } + + revision 2019-06-23 { + description "Initial version."; + } + + 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 " ; + } + + 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 + capacity for additional users at that instant. The value is READ-ONLY."; + reference "ITU T Recommendation X.731"; + } + + grouping SAP { + leaf host { + type inet:host; + mandatory true; + } + leaf port { + type inet:port-number; + mandatory true; + } + 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 + region (the digits 1 and 8 are not used):"; + type string { + pattern '[02-79][0-9][0-9]'; + } + reference "3GPP TS 23.003 subclause 2.2 and 12.1"; + } + + typedef Mnc { + 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]'; + } + reference "3GPP TS 23.003 subclause 2.2 and 12.1"; + } + + grouping PLMNId { + leaf mcc { + mandatory true; + type Mcc; + } + leaf mnc { + mandatory true; + type Mnc; + } + reference "TS 23.658"; + } + + typedef Nci { + 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 { + type string { + length 36; + pattern '[01]+'; + } + type string { + length 9; + pattern '[a-fA-F0-9]*'; + } + } + } + + typedef OperationalState { + reference "3GPP TS 28.625 and ITU-T X.731"; + type enumeration { + enum DISABLED { + value 0; + description "The resource is totally inoperable."; + } + + enum ENABLED { + value 1; + description "The resource is partially or fully operable."; + } + + } + } + + typedef AdministrativeState { + reference "3GPP TS 28.625 and ITU-T X.731"; + type enumeration { + enum LOCKED { + value 0; + description "The resource is administratively prohibited from performing + services for its users."; + } + + enum UNLOCKED { + value 1; + description "The resource is administratively permitted to perform + services for its users. This is independent of its inherent + operability."; + } + + enum SHUTTINGDOWN { + 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 + 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; + } + } + + typedef CellState { + type enumeration { + enum IDLE; + enum INACTIVE; + enum ACTIVE; + } + } + + typedef SNssai { + type union { + type Sst; + //optional support + type Sd; + } + description "Single Network Slice Selection Assistance Information."; + reference "TS 23.501 clause 5.15.2"; + } + + typedef Sst { + type uint8; + } + + typedef Sd { + type string{ + length 6; + pattern '[a-fA-F0-9]*'; + } + } + + typedef Nrpci { + type uint32; + description "Physical Cell Identity (PCI) of the NR cell."; + reference "TS 36.211 subclause 6.11"; + } + + typedef Tac { + type int32 { + range 0..16777215 ; + } + description "Tracking Area Code"; + reference "TS 23.003 clause 19.4.2.3"; + } + + typedef AmfRegionId { + type union { + type uint8 ; + type string { + length 8; + pattern '[01]*'; + } + } + reference "clause 2.10.1 of 3GPP TS 23.003"; + } + + typedef AmfSetId { + type union { + type uint16 { + range '0..1023'; + } + type string { + length 8; + pattern '[01]*'; + } + } + reference "clause 2.10.1 of 3GPP TS 23.003"; + } + + typedef AmfPointer { + type union { + type uint8 { + range '0..63'; + } + type string { + length 6; + pattern '[01]*'; + } + } + reference "clause 2.10.1 of 3GPP TS 23.003"; + } + + grouping AmfIdentifier { + leaf amfRegionId { + type AmfRegionId; + } + leaf amfSetId { + type AmfSetId; + } + 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. "; + } + +// type definitions especially for core NFs + + typedef NfType { + type enumeration { + enum NRF; + enum UDM; + enum AMF; + enum SMF; + enum AUSF; + enum NEF; + enum PCF; + enum SMSF; + enum NSSF; + enum UDR; + enum LMF; + enum GMLC; + enum 5G_EIR; + enum SEPP; + enum UPF; + enum N3IWF; + enum AF; + 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 { + range 0..100; + } + } + + typedef N1MessageClass { + type enumeration { + enum 5GMM; + enum SM; + enum LPP; + enum SMS; + } + } + + typedef N2InformationClass { + type enumeration { + enum SM; + enum NRPPA; + enum PWS; + enum PWS_BCAL; + enum PWS_RF; + } + } + + grouping DefaultNotificationSubscription { + + leaf notificationType { + type NotificationType; + } + + leaf callbackUri { + type inet:uri; + } + + leaf n1MessageClass { + type N1MessageClass; + } + + leaf n2InformationClass { + type N2InformationClass; + } + } + + 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; + enum NOMADIC; + enum RESTRICTED_MOBILITY; + enum FULLY_MOBILITY; + } + } + + typedef ResourceSharingLevel { + type enumeration { + enum SHARED; + enum NOT_SHARED; + } + } + + typedef TxDirection { + type enumeration { + enum DL; + enum UL; + enum DL_AND_UL; + } + } + + grouping AddressWithVlan { + leaf ipAddress { + type inet:ip-address; + } + leaf vlanId { + type uint16; + } + } + + typedef DistinguishedName { // TODO is this equivalent to TS 32.300 ? + type string { + pattern '([a-zA-Z][a-zA-Z0-9-]*=(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,# ])' + + '((\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,])*' + + '(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+, ]))?' + + '[,\+])*[a-zA-Z][a-zA-Z0-9-]*=(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,# ])' + + '((\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})' + + '|[^\\><;"+,])*(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+, ]))?'; + } + description "Represents the international standard for the representation + of Distinguished Name (RFC 4512). + The format of the DistinguishedName REGEX is: + {AttributeType = AttributeValue} + + AttributeType consists of alphanumeric and hyphen (OIDs not allowed). + All other characters are restricted. + The Attribute value cannot contain control characters or the + following characters : \\ > < ; \" + , (Comma) and White space + The Attribute value can contain the following characters if they + are excaped : \\ > < ; \" + , (Comma) and White space + The Attribute value can contain control characters if its an escaped + double digit hex number. + Examples could be + UID=nobody@example.com,DC=example,DC=com + CN=John Smith,OU=Sales,O=ACME Limited,L=Moab,ST=Utah,C=US"; + reference "RFC 4512 Lightweight Directory Access Protocol (LDAP): + Directory Information Models"; + } // recheck regexp it doesn't handle posix [:cntrl:] + + typedef QOffsetRange { + 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"; + } + units dB; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-beam.yang b/yang-models/_3gpp-nr-nrm-beam.yang index e8ab8c2d9e0a9c693a82366a78d46e2033ba017a..1ad71599263f0e5d40cb4be8e508d6e86052b2ed 100755 --- a/yang-models/_3gpp-nr-nrm-beam.yang +++ b/yang-models/_3gpp-nr-nrm-beam.yang @@ -1,96 +1,96 @@ -module _3gpp-nr-nrm-beam { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-beam"; - prefix "beam3gpp"; - - import _3gpp-nr-nrm-commonbeamformingfunction { prefix cbeamff3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - import _3gpp-nr-nrm-nrsectorcarrier { prefix nrsectcarr3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the Beam Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-11-22 { - description "Initial revision"; - reference "S5-197643"; - } - - typedef BeamType { - type enumeration { - enum SSB-BEAM; - } - } - - grouping BeamGrp { - description "Represents the Beam IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf beamIndex { - description "Index of the beam. "; - mandatory true; - type int32; - } - - leaf beamType { - description "The type of the beam. "; - mandatory false; - type BeamType; - } - - leaf beamAzimuth { - description "The azimuth of a beam transmission, which means the horizontal beamforming pointing angle (beam peak direction) in the (Phi) ?-axis in 1/10th degree resolution. The pointing angle is the direction equal to the geometric centre of the half-power contour of the beam relative to the reference plane. Zero degree implies explicit antenna bearing (boresight). Positive angle implies clockwise from the antenna bearing."; - reference "3GPP TS 38.104, TS 38.901, TS 28.662"; - mandatory false; - type int32 { range "-1800..1800"; } - units "0.1"; - } - - leaf beamTilt { - description "The tilt of a beam transmission, which means the vertical beamforming pointing angle (beam peak direction) in the (Theta) ?-axis in 1/10th degree resolution. -The pointing angle is the direction equal to the geometric centre of the half-power contour of the beam relative to the reference plane. Positive value implies downtilt."; - reference "3GPP TS 38.104, TS 38.901, TS 28.662"; - mandatory false; - type int32 { range "-900..900"; } - units "0.1"; - } - - - - leaf beamHorizWidth { - description " The Horizontal beamWidth of a beam transmission, which means the horizontal beamforming half-power (3dB down) beamwidth in the (Phi) ?-axis in 1/10th degree resolution."; - reference "3GPP TS 38.104, TS 38.901"; - mandatory false; - type int32 { range "0..3599"; } - units "0.1"; - } - - leaf beamVertWidth { - description " The Vertical beamWidth of a beam transmission, which means the vertical beamforming half-power (3dB down) beamwidth in the (Theta) ?-axis in 1/10th degree resolution."; - reference "3GPP TS 38.104, TS 38.901"; - mandatory false; - type int32 { range "0..1800"; } - units "0.1"; - } - - - } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrsectcarr3gpp:NRSectorCarrier/cbeamff3gpp:CommonBeamformingFunction" { - - list Beam { - description "Represents the per-Beam information required for, e.g. beam performance management utilizing measurements generated in the RAN. Can have spatial attributes of horizontal/azimuth (ie: Phi ?-axis) and vertical/tilt (ie: Theta ?-axis) beam pointing direction and beam width attributes."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses BeamGrp; - } - } - } +module _3gpp-nr-nrm-beam { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-beam"; + prefix "beam3gpp"; + + import _3gpp-nr-nrm-commonbeamformingfunction { prefix cbeamff3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-nr-nrm-nrsectorcarrier { prefix nrsectcarr3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the Beam Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-11-22 { + description "Initial revision"; + reference "S5-197643"; + } + + typedef BeamType { + type enumeration { + enum SSB-BEAM; + } + } + + grouping BeamGrp { + description "Represents the Beam IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf beamIndex { + description "Index of the beam. "; + mandatory true; + type int32; + } + + leaf beamType { + description "The type of the beam. "; + mandatory false; + type BeamType; + } + + leaf beamAzimuth { + description "The azimuth of a beam transmission, which means the horizontal beamforming pointing angle (beam peak direction) in the (Phi) f-axis in 1/10th degree resolution. The pointing angle is the direction equal to the geometric centre of the half-power contour of the beam relative to the reference plane. Zero degree implies explicit antenna bearing (boresight). Positive angle implies clockwise from the antenna bearing."; + reference "3GPP TS 38.104, TS 38.901, TS 28.662"; + mandatory false; + type int32 { range "-1800..1800"; } + units "0.1"; + } + + leaf beamTilt { + description "The tilt of a beam transmission, which means the vertical beamforming pointing angle (beam peak direction) in the (Theta) ?-axis in 1/10th degree resolution. +The pointing angle is the direction equal to the geometric centre of the half-power contour of the beam relative to the reference plane. Positive value implies downtilt."; + reference "3GPP TS 38.104, TS 38.901, TS 28.662"; + mandatory false; + type int32 { range "-900..900"; } + units "0.1"; + } + + + + leaf beamHorizWidth { + description " The Horizontal beamWidth of a beam transmission, which means the horizontal beamforming half-power (3dB down) beamwidth in the (Phi) f-axis in 1/10th degree resolution."; + reference "3GPP TS 38.104, TS 38.901"; + mandatory false; + type int32 { range "0..3599"; } + units "0.1"; + } + + leaf beamVertWidth { + description " The Vertical beamWidth of a beam transmission, which means the vertical beamforming half-power (3dB down) beamwidth in the (Theta) ?-axis in 1/10th degree resolution."; + reference "3GPP TS 38.104, TS 38.901"; + mandatory false; + type int32 { range "0..1800"; } + units "0.1"; + } + + + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrsectcarr3gpp:NRSectorCarrier/cbeamff3gpp:CommonBeamformingFunction" { + + list Beam { + description "Represents the per-Beam information required for, e.g. beam performance management utilizing measurements generated in the RAN. Can have spatial attributes of horizontal/azimuth (ie: Phi f-axis) and vertical/tilt (ie: Theta ?-axis) beam pointing direction and beam width attributes."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses BeamGrp; + } + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-bwp.yang b/yang-models/_3gpp-nr-nrm-bwp.yang index 3ef722056f744f18cec6c5ed50dc9eab216e854c..cd28affd790bee6da6217816a142e14ff773e50c 100755 --- a/yang-models/_3gpp-nr-nrm-bwp.yang +++ b/yang-models/_3gpp-nr-nrm-bwp.yang @@ -1,105 +1,105 @@ -module _3gpp-nr-nrm-bwp { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-bwp"; - prefix "bwp3gpp"; - - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the BWP Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - typedef CyclicPrefix { - type enumeration { - enum NORMAL; - enum EXTENDED; - } - } - - typedef BwpContext { - type enumeration { - enum DL; - enum UL; - enum SUL; - } - } - - typedef IsInitialBwp { - type enumeration { - enum INITIAL; - enum OTHER; - } - } - - grouping BWPGrp { - description "Represents the BWP IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf bwpContext { - description "Identifies whether the object is used for downlink, uplink - or supplementary uplink."; - mandatory true; - type BwpContext; - } - - leaf isInitialBwp { - description "Identifies whether the object is used for initial or other - BWP."; - mandatory true; - type IsInitialBwp; - } - - leaf subCarrierSpacing { - description "Subcarrier spacing configuration for a BWP."; - reference "3GPP TS 38.104"; - mandatory true; - type uint32 { range "5 | 30 | 60 | 120"; } - units kHz; - } - - leaf cyclicPrefix { - description "Cyclic prefix, which may be normal or extended."; - reference "3GPP TS 38.211"; - mandatory true; - type CyclicPrefix; - } - - leaf startRB { - description "Offset in common resource blocks to common resource block 0 - for the applicable subcarrier spacing for a BWP."; - reference "N_BWP_start in 3GPP TS 38.211"; - mandatory true; - type uint32; - } - - leaf numberOfRBs { - description "Number of physical resource blocks for a BWP."; - reference "N_BWP_size in 3GPP TS 38.211"; - mandatory true; - type uint32; - } - } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { - - list BWP { - description "Represents a bandwidth part (BWP)."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses BWPGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-nr-nrm-bwp { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-bwp"; + prefix "bwp3gpp"; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the BWP Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + typedef CyclicPrefix { + type enumeration { + enum NORMAL; + enum EXTENDED; + } + } + + typedef BwpContext { + type enumeration { + enum DL; + enum UL; + enum SUL; + } + } + + typedef IsInitialBwp { + type enumeration { + enum INITIAL; + enum OTHER; + } + } + + grouping BWPGrp { + description "Represents the BWP IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf bwpContext { + description "Identifies whether the object is used for downlink, uplink + or supplementary uplink."; + mandatory true; + type BwpContext; + } + + leaf isInitialBwp { + description "Identifies whether the object is used for initial or other + BWP."; + mandatory true; + type IsInitialBwp; + } + + leaf subCarrierSpacing { + description "Subcarrier spacing configuration for a BWP."; + reference "3GPP TS 38.104"; + mandatory true; + type uint32 { range "5 | 30 | 60 | 120"; } + units kHz; + } + + leaf cyclicPrefix { + description "Cyclic prefix, which may be normal or extended."; + reference "3GPP TS 38.211"; + mandatory true; + type CyclicPrefix; + } + + leaf startRB { + description "Offset in common resource blocks to common resource block 0 + for the applicable subcarrier spacing for a BWP."; + reference "N_BWP_start in 3GPP TS 38.211"; + mandatory true; + type uint32; + } + + leaf numberOfRBs { + description "Number of physical resource blocks for a BWP."; + reference "N_BWP_size in 3GPP TS 38.211"; + mandatory true; + type uint32; + } + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + + list BWP { + description "Represents a bandwidth part (BWP)."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses BWPGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..8aa498d81f783f515353dec752e7c008d32ecf18 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-cesmanagementfunction.yang @@ -0,0 +1,64 @@ +module _3gpp-nr-nrm-cesmanagementfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-cesmanagementfunction"; + prefix "cesmanagementfunction3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the CESManagementFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316; } + + + grouping CESManagementFunctionGrp { + description "Represents the CESManagementFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + leaf cesSwitch { + description "This attribute determines whether the Cross Domain-Centralized SON energy saving function is enabled or disabled."; + type boolean; + } + + leaf energySavingState { + description "Specifies the status regarding the energy saving in the cell. If the value of energySavingControl is toBeEnergySaving, then it shall be tried to achieve the value isEnergySaving for the energySavingState. If the value of energySavingControl is toBeNotEnergySaving, then it shall be tried to achieve the value isNotEnergySaving for the energySavingState. "; + type enumeration{ + enum isNotEnergySaving; + enum isEnergySaving; + } + } + + + leaf energySavingControl { + description "This attribute allows the Cross Domain-Centralized SON energy saving function to initiate energy saving activation or deactivation."; + type enumeration{ + enum toBeEnergySaving; + enum toBeNotEnergySaving; + } + } + + + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + if-feature nrcellcu3gpp:CESManagementFunction; + uses CESManagementFunctionGrp; + } + augment "/me3gpp:ManagedElement" { + if-feature me3gpp:CESManagementFunction; + uses CESManagementFunctionGrp; + } + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:CESManagementFunction; + uses CESManagementFunctionGrp; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-common.yang b/yang-models/_3gpp-nr-nrm-common.yang index 254a6d207406358ef77ad3e61ba88bf5f92e3e18..aa2343f6a5ea6a6ce4a0228372aadaa88e352a43 100755 --- a/yang-models/_3gpp-nr-nrm-common.yang +++ b/yang-models/_3gpp-nr-nrm-common.yang @@ -1,29 +1,29 @@ -module _3gpp-nr-nrm-common { - yang-version 1.1; - namespace "urn:3gpp:sa5:3gpp-nr-nrm-common"; - prefix "nrcommon3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of comon parts for 3GPP TS 28.541."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-02-14 { - description "Initial revision"; - } - - - 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 SD (Slice Differentiator) field, (See TS 23.003 [13])."; - uses types3gpp:PLMNId; - leaf sNssai { - type types3gpp:SNssai; - } - } - +module _3gpp-nr-nrm-common { + yang-version 1.1; + namespace "urn:3gpp:sa5:3gpp-nr-nrm-common"; + prefix "nrcommon3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of comon parts for 3GPP TS 28.541."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-02-14 { + description "Initial revision"; + } + + + 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 SD (Slice Differentiator) field, (See TS 23.003 [13])."; + uses types3gpp:PLMNId; + leaf sNssai { + type types3gpp:SNssai; + } + } + } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang b/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang index d3548a70c81b76e486fcda5371ef290741187e60..e900d4fc4db4a669ed99d85ea8bbedfe98d747cb 100755 --- a/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang +++ b/yang-models/_3gpp-nr-nrm-commonbeamformingfunction.yang @@ -1,62 +1,62 @@ -module _3gpp-nr-nrm-commonbeamformingfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-commonbeamformingfunction"; - prefix "combeamformfunc3gpp"; - - import _3gpp-nr-nrm-nrsectorcarrier { prefix nrsectcarr3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - - - organization "3GPP SA5"; - description "Defines the YANG mapping of the CommonBeamformingFuntion Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-11-22 { - description "Initial revision"; - reference "S5-197643"; - } - - grouping CommonBeamformingFunctionGrp { - description "Represents the CommonBeamformingFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf coverageShape { - description "Identifies the sector carrier coverage shape described by the envelope of the contained SSB beams. The coverage shape is implementation dependent."; - mandatory true; - type int32 { range "0..65535"; } - } - - leaf digitalAzimuth { - description "Digitally-controlled azimuth through beamforming. It represents the horizontal pointing direction of the antenna relative to the antenna bore sight, representing the total non-mechanical horizontal pan of the selected coverageShape. Positive value gives azimuth to the right and negative value gives an azimuth to the left."; - - reference "3GPP TS 38.104, TS 38.901, TS 28.662"; - type int32 { range "-1800..1800"; } - units "0.1"; - } - - leaf digitalTilt { - description "Digitally-controlled tilt through beamforming. It represents the vertical pointing direction of the antenna relative to the antenna bore sight, representing the total non-mechanical vertical tilt of the selected coverageShape. Positive value gives downwards tilt and negative value gives upwards tilt."; - reference "3GPP TS 38.104, TS 38.901, TS 28.662"; - type int32 { range "-900..900"; } - units "0.1"; - } - } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrsectcarr3gpp:NRSectorCarrier" { - - list CommonBeamformingFunction { - description "Represents common beamforming functionality (eg: SSB beams) for the NRSectorCarrier."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses CommonBeamformingFunctionGrp; - } - } - } +module _3gpp-nr-nrm-commonbeamformingfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-commonbeamformingfunction"; + prefix "combeamformfunc3gpp"; + + import _3gpp-nr-nrm-nrsectorcarrier { prefix nrsectcarr3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + + + organization "3GPP SA5"; + description "Defines the YANG mapping of the CommonBeamformingFuntion Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-11-22 { + description "Initial revision"; + reference "S5-197643"; + } + + grouping CommonBeamformingFunctionGrp { + description "Represents the CommonBeamformingFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf coverageShape { + description "Identifies the sector carrier coverage shape described by the envelope of the contained SSB beams. The coverage shape is implementation dependent."; + mandatory true; + type int32 { range "0..65535"; } + } + + leaf digitalAzimuth { + description "Digitally-controlled azimuth through beamforming. It represents the horizontal pointing direction of the antenna relative to the antenna bore sight, representing the total non-mechanical horizontal pan of the selected coverageShape. Positive value gives azimuth to the right and negative value gives an azimuth to the left."; + + reference "3GPP TS 38.104, TS 38.901, TS 28.662"; + type int32 { range "-1800..1800"; } + units "0.1"; + } + + leaf digitalTilt { + description "Digitally-controlled tilt through beamforming. It represents the vertical pointing direction of the antenna relative to the antenna bore sight, representing the total non-mechanical vertical tilt of the selected coverageShape. Positive value gives downwards tilt and negative value gives upwards tilt."; + reference "3GPP TS 38.104, TS 38.901, TS 28.662"; + type int32 { range "-900..900"; } + units "0.1"; + } + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrsectcarr3gpp:NRSectorCarrier" { + + list CommonBeamformingFunction { + description "Represents common beamforming functionality (eg: SSB beams) for the NRSectorCarrier."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses CommonBeamformingFunctionGrp; + } + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..1437acece70c3f883c48a21a66547f036f816e51 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-cpciconfigurationfunction.yang @@ -0,0 +1,67 @@ +module _3gpp-nr-nrm-cpciconfigurationfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-cpciconfigurationfunction"; + prefix "cpciconfigurationfunction3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-nrcelldu { prefix nrcelldu3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the CPCIConfigurationFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316; } + + + grouping CPCIConfigurationFunctionGrp { + description "Represents the CPCICONFIGURATIONFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + + list cSonPciList { + key NRPci; + description " This holds a list of physical cell identities that can be assigned to the pci attribute by gNB. The assignment algorithm is not specified. This attribute shall be supported if and only if the C-SON PCI configuration is supported."; + leaf NRPci {type int32;} + container attributes { + uses CSonPciListGrp; + } + } + + + leaf cPciConfigurationControl { + description "This attribute determines whether the Cross Domain-Centralized SON PCI configuration function is enabled or disabled."; + type boolean; + } + + } + + grouping CSonPciListGrp { + description "Represents the C-SON PCI list for the PCI configuration function."; + + leaf NRPci { + description "This attribute determines the NR PCI."; + type int32 { range "0..1007"; } + units "1"; + } + } + + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU" { + if-feature nrcelldu3gpp:CPCIConfigurationFunction; + uses CPCIConfigurationFunctionGrp; + } + augment "/me3gpp:ManagedElement" { + if-feature me3gpp:CPCIConfigurationFunction; + uses CPCIConfigurationFunctionGrp; + } + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:CPCIConfigurationFunction; + uses CPCIConfigurationFunctionGrp; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..9ec94fc20e903702036a05af53f3868b241cada9 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang @@ -0,0 +1,44 @@ +module _3gpp-nr-nrm-danrmanagementfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-danrmanagementfunction"; + prefix "danrmanagementfunction3gpp"; + + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + + + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the DANRManagementFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316; } + + + grouping DANRManagementFunctionGrp { + description "Represents the DANRManagementFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + leaf intrasystemANRManagementSwitch { + description "This attribute determines whether the intra-system ANR function is activated or deactivated."; + type boolean; + } + + leaf intersystemANRManagementSwitch { + description "This attribute determines whether the inter-system ANR function is activated or deactivated."; + type boolean; + } + + + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + if-feature gnbcucp3gpp:DANRManagementFunction; + uses DANRManagementFunctionGrp; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..b4b86d2b00dd57e362b5690967ba67c6e9873028 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang @@ -0,0 +1,261 @@ +module _3gpp-nr-nrm-desmanagementfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-desmanagementfunction"; + prefix "desmanagementfunction3gpp"; + + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the DESManagementFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316; } + + + grouping DESManagementFunctionGrp { + description "Represents the DESManagementFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + leaf desSwitch { + description "This attribute determines whether the Distributed SON or Domain-Centralized SON energy saving function is enabled or disabled."; + type boolean; + } + + list intraRatEsActivationOriginalCellLoadParameters { + key loadThreshold; + description "This attributes is relevant, if the cell acts as an original 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."; + leaf loadThreshold {type int32;} + container attributes { + uses IntraRatEsActivationOriginalCellLoadParametersGrp; + } + } + + + list intraRatEsActivationCandidateCellsLoadParameters { + key loadThreshold; + description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms level to allow a n 'original' cell to enter the energySaving state."; + leaf loadThreshold {type int32;} + container attributes { + uses IntraRatEsActivationCandidateCellsLoadParametersGrp; + } + } + + list intraRatEsDeactivationCandidateCellsLoadParameters { + key loadThreshold; + description "This attributes is relevant, if the cell acts as a candidate 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."; + leaf loadThreshold {type int32;} + container attributes { + uses IntraRatEsDeactivationCandidateCellsLoadParametersGrp; + } + } + + list esNotAllowedTimePeriod { + key startTimeandendTime; + description "This attribute indicates a list of time periods during which inter-RAT energy saving is not allowed."; + leaf startTimeandendTime {type string;} + container attributes { + uses EsNotAllowedTimePeriodGrp; + } + } + + list interRatEsActivationOriginalCellParameters { + key loadThreshold; + 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."; + leaf loadThreshold {type int32;} + container attributes { + uses InterRatEsActivationOriginalCellParametersGrp; + } + } + + list interRatEsActivationCandidateCellParameters { + key loadThreshold; + 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."; + leaf loadThreshold {type int32;} + container attributes { + uses InterRatEsActivationCandidateCellParametersGrp; + } + } + + list interRatEsDeactivationCandidateCellParameters { + key loadThreshold; + 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."; + leaf loadThreshold {type int32;} + container attributes { + uses InterRatEsDeactivationCandidateCellParametersGrp; + } + } + + leaf energySavingState { + description "Specifies the status regarding the energy saving in the cell."; + type enumeration { + enum isNotEnergySaving; + enum isEnergySaving; + } + } + + leaf isProbingCapable { + description " This attribute indicates whether this cell is capable of performing the ES probing procedure."; + type enumeration{ + enum yes; + enum no; + } + } + + } + + grouping IntraRatEsActivationOriginalCellLoadParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description " The time duration indicates how long the load needs to have been below the threshold."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping IntraRatEsActivationCandidateCellsLoadParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description " The time duration indicates how long the load needs to have been below the threshold."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping IntraRatEsDeactivationCandidateCellsLoadParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description " The time duration indicates how long the load needs to have been below the threshold."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping EsNotAllowedTimePeriodGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf startTimeandendTime { + description "This field indicate valid UTC time."; + type string; + } + + + leaf periodOfDay { + description "This field indicate the period of day."; + type string; + } + + leaf daysOfWeekList { + description "This field indicate the list of weekday."; + type string; + } + + leaf listoftimeperiods { + description "This field indicate the list of time periods."; + type string; + } + + } + + grouping InterRatEsActivationOriginalCellParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "The time duration indicates how long the traffic load (both for UL and DL) needs to have been below the threshold."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description " The time duration indicates how long the load needs to have been below the threshold."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping InterRatEsActivationCandidateCellParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description "The time duration indicates how long the traffic load (both for UL and DL) in the candidate cell needs to have been below the threshold before any original cells which will be provided backup coverage by the candidate cell enters energySaving state."; + type int32 { range "0..900"; } + units "1"; + } + } + + grouping InterRatEsDeactivationCandidateCellParametersGrp { + description "Represents the the traffic load threshold and the time duration."; + + leaf loadThreshold { + description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; + type int32 { range "0..10000"; } + units "1"; + } + + + leaf timeDuration { + description "The time duration indicates how long the traffic load (either for UL or DL) in the candidate cell needs to have been above the threshold to wake up one or more original cells which have been provided backup coverage by the candidate cell."; + type int32 { range "0..900"; } + units "1"; + } + } + + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + if-feature nrcellcu3gpp:DESManagementFunction; + uses DESManagementFunctionGrp; + } + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + if-feature gnbcucp3gpp:DESManagementFunction; + uses DESManagementFunctionGrp; + } + augment "/me3gpp:ManagedElement" { + if-feature me3gpp:DESManagementFunction; + uses DESManagementFunctionGrp; + } + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:DESManagementFunction; + uses DESManagementFunctionGrp; + } + +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-dmrofunction.yang b/yang-models/_3gpp-nr-nrm-dmrofunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..c657f1587b453f779496346ff77b4501bb292d6d --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-dmrofunction.yang @@ -0,0 +1,70 @@ +module _3gpp-nr-nrm-dmrofunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-dmrofunction"; + prefix "dmrofunction3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the DMROFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316; } + + + grouping DMROFunctionGrp { + description "Represents the DMROFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + leaf maximumDeviationHoTrigger { + description "This parameter defines the maximum allowed absolute deviation of the Handover Trigger, from the default point of operation."; + type int32 { range "-20..20"; } + units "0.5"; + } + + leaf minimumTimeBetweenHoTriggerChange { + description "This parameter defines the minimum allowed time interval between two Handover Trigger change performed by MRO. This is used to control the stability and convergence of the algorithm."; + type int32 { range "0..604800"; } + units "1"; + } + + leaf tstoreUEcntxt { + description "The timer used for detection of too early HO, too late HO and HO to wrong cell."; + type int32 { range "0..1023"; } + units "100"; + } + + + leaf dmroControl { + description " This attribute determines whether the MRO function is enabled or disabled."; + type boolean; + } + + } + + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + if-feature nrcellcu3gpp:DMROFunction; + uses DMROFunctionGrp; + } + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + if-feature gnbcucp3gpp:DMROFunction; + uses DMROFunctionGrp; + } + augment "/me3gpp:ManagedElement" { + if-feature me3gpp:DMROFunction; + uses DMROFunctionGrp; + } + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:DMROFunction; + uses DMROFunctionGrp; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..0d25d5076783966a9fc4289db4d13205bca46352 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-dpciconfigurationfunction.yang @@ -0,0 +1,67 @@ +module _3gpp-nr-nrm-dpciconfigurationfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-dpciconfigurationfunction"; + prefix "dpciconfigurationfunction3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-nrcelldu { prefix nrcelldu3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the DPCIConfigurationFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316; } + + + grouping DPCIConfigurationFunctionGrp { + description "Represents the DPCICONFIGURATIONFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + + list nRPciList { + key NRPci; + description "This holds a list of physical cell identities that can be assigned to the NR cells. This attribute shall be supported if D-SON PCI configuration or domain Centralized SON PCI configuration function is supported."; + leaf NRPci {type int32;} + container attributes { + uses NRPciListGrp; + } + } + + + leaf dPciConfigurationControl { + description " This attribute determines whether the Distributed SON or Domain-Centralized SON PCI configuration Function is enabled or disabled."; + type boolean; + } + + } + + grouping NRPciListGrp { + description "Represents the NR PCI list for the PCI configuration function."; + + leaf NRPci { + description "This attribute determines the NR PCI."; + type int32 { range "0..1007"; } + units "1"; + } + } + + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/nrcelldu3gpp:NRCellDU" { + if-feature nrcelldu3gpp:DPCIConfigurationFunction; + uses DPCIConfigurationFunctionGrp; + } + augment "/me3gpp:ManagedElement" { + if-feature me3gpp:DPCIConfigurationFunction; + uses DPCIConfigurationFunctionGrp; + } + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:DPCIConfigurationFunction; + uses DPCIConfigurationFunctionGrp; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang new file mode 100755 index 0000000000000000000000000000000000000000..8135d1409beb6bc960e59b1dd8407c6b63cc371c --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang @@ -0,0 +1,120 @@ +module _3gpp-nr-nrm-drachoptimizationfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-drachoptimizationfunction"; + prefix "drachoptimizationfunction3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the DRACHOptimizationFunction Information Object Class + (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316; } + + + grouping DRACHOptimizationFunctionGrp { + description "Represents the DRACHOptimizationFunction IOC."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + + list ueAccProbilityDistPerSSB { + key targetProbability; + description "This is a list of target Access Probability (APn) for the RACH optimization function."; + leaf targetProbability {type TargetProbability;} + container attributes { + uses UeAccProbilityDistPerSSBGrp; + } + } + + list ueAccDelayProbilityDistPerSSB { + key targetProbability; + description "This is a list of target Access Delay probability (ADP) for the RACH optimization function."; + leaf targetProbability {type TargetProbability;} + container attributes { + uses UeAccDelayProbilityDistPerSSBGrp; + } + } + + leaf drachOptimizationControl { + description "This attribute determines whether the RACH Optimization function is enabled or disabled."; + type boolean; + } + } + typedef TargetProbability { + type enumeration { + enum 25; + enum 50; + enum 75; + enum 90; + } + } + + typedef Numberofpreamblessent { + type int32 { range "1..200"; } + units "1"; + } + + typedef Accessdelay { + type int32 { range "10..560"; } + units "1"; + } + + + grouping UeAccProbilityDistPerSSBGrp { + description "Represents the target Access Probability (APn) for the RACH optimization function."; + + leaf targetProbability { + description "This attribute determines the target Probability."; + mandatory true; + type TargetProbability; + } + + + leaf numberofpreamblessent { + description "This attribute determines the number of preambles sent."; + mandatory true; + type Numberofpreamblessent; + } + } + + grouping UeAccDelayProbilityDistPerSSBGrp { + description "Represents the target Access Delay probability (ADP) for the RACH optimization function."; + + leaf targetProbability { + description "This attribute determines the target Probability."; + mandatory true; + type TargetProbability; + } + + + leaf accessdelay { + description "This attribute determines the access delay."; + mandatory true; + type Accessdelay; + } + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { + if-feature nrcellcu3gpp:DRACHOptimizationFunction; + uses DRACHOptimizationFunctionGrp; + } + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + if-feature gnbcucp3gpp:DRACHOptimizationFunction; + uses DRACHOptimizationFunctionGrp; + } + augment "/me3gpp:ManagedElement" { + if-feature me3gpp:DRACHOptimizationFunction; + uses DRACHOptimizationFunctionGrp; + } + augment "/subnet3gpp:SubNetwork" { + if-feature nrcellcu3gpp:DRACHOptimizationFunction; + uses DRACHOptimizationFunctionGrp; + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-ep.yang b/yang-models/_3gpp-nr-nrm-ep.yang index 4622094c4328a637049f1c4ef6eedfc08dc20344..5f5187b1857d4373aa23a5bf39234e0094ed9349 100755 --- a/yang-models/_3gpp-nr-nrm-ep.yang +++ b/yang-models/_3gpp-nr-nrm-ep.yang @@ -1,239 +1,239 @@ -module _3gpp-nr-nrm-ep { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-ep"; - prefix "ep3gpp"; - - import _3gpp-common-ep-rp { prefix eprp3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-nr-nrm-gnbcuupfunction { prefix gnbcuup3gpp; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the NR related endpoint - Information Object Classes (IOCs) that are part of the NR Network - Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-03-02 { reference S5-201191"; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping EP_E1Grp { - description "Represents the EP_E1 IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.401"; - uses eprp3gpp:EP_Common; - } - - grouping EP_F1CGrp { - description "Represents the EP_F1C IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - uses eprp3gpp:EP_Common; - } - - grouping EP_F1UGrp { - description "Represents the EP_F1U IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - uses eprp3gpp:EP_Common; - } - - grouping EP_XnCGrp { - description "Represents the EP_XnC IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.420"; - uses eprp3gpp:EP_Common; - } - - grouping EP_XnUGrp { - description "Represents the EP_XnU IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.420"; - uses eprp3gpp:EP_Common; - } - - grouping EP_NgCGrp { - description "Represents the EP_NgC IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - uses eprp3gpp:EP_Common; - } - - grouping EP_NgUGrp { - description "Represents the EP_NgU IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - uses eprp3gpp:EP_Common; - } - - grouping EP_X2CGrp { - description "Represents the EP_X2C IOC."; - reference "3GPP TS 28.541, 3GPP TS 36.423"; - uses eprp3gpp:EP_Common; - } - - grouping EP_X2UGrp { - description "Represents the EP_X2U IOC."; - reference "3GPP TS 28.541, 3GPP TS 36.425"; - uses eprp3gpp:EP_Common; - } - - grouping EP_S1UGrp { - description "Represents the EP_S1U IOC."; - reference "3GPP TS 28.541, 3GPP TS 36.410"; - uses eprp3gpp:EP_Common; - } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { - - list EP_E1 { - description "Represents the local end point of the logical link, - supporting E1 interface between gNB-CU-CP and gNB-CU-UP."; - reference "3GPP TS 28.541, 3GPP TS 38.401"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_E1Grp; - } - } - - list EP_F1C { - description "Represents the local end point of the control plane - interface (F1-C) between the DU and CU or CU-CP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1CGrp; - } - } - - list EP_NgC { - description "Represents the local end point of the control plane - interface (NG-C) between the gNB and NG-Core entity."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NgCGrp; - } - } - - list EP_XnC { - description "Represents the local gNB node end point of the logical - link, supporting Xn application protocols, to a neighbour NG-RAN node - (including gNB and ng-eNB). The Xn Application PDUs are carried over - SCTP/IP/Data link layer/Physical layer stack."; - reference "3GPP TS 28.541, 3GPP TS 38.420 subclause 7"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_XnCGrp; - } - } - - list EP_X2C { - description "Represents the local end point of the logical link, - supporting X2-C application protocols used in EN-DC, to a neighbour - eNB or en-gNB node."; - reference "3GPP TS 28.541, 3GPP TS 36.423"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_X2CGrp; - } - } - } - - augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { - - list EP_E1 { - description "Represents the local end point of the logical link, - supporting E1 interface between gNB-CU-CP and gNB-CU-UP."; - reference "3GPP TS 28.541, 3GPP TS 38.401"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_E1Grp; - } - } - - list EP_F1U { - description "Represents the local end point of the user plane - interface (F1-U) between the DU and CU or CU-UP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1UGrp; - } - } - - list EP_NgU { - description "Represents the local end point of the NG user plane - (NG-U) interface between the gNB and the UPGW."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_NgUGrp; - } - } - - list EP_XnU { - description "Represents the one end-point of a logical link supporting - the Xn user plane (Xn-U) interface. The Xn-U interface provides - non-guaranteed delivery of user plane PDUs between two NG-RAN nodes."; - reference "3GPP TS 28.541, 3GPP TS 38.420"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_XnUGrp; - } - } - - list EP_X2U { - description "Represents the local end-point of a logical link supporting - the X2 user plane (X2-U) interface used in EN-DC."; - reference "3GPP TS 28.541, 3GPP TS 36.425"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_X2UGrp; - } - } - - list EP_S1U { - description "Represents the local end point of the logical link, - supporting S1-U interface towards a S-GW node."; - reference "3GPP TS 28.541, 3GPP TS 36.410"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_S1UGrp; - } - } - } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { - - list EP_F1C { - description "Represents the local end point of the control plane - interface (F1-C) between the DU and CU or CU-CP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1CGrp; - } - } - - list EP_F1U { - description "Represents the local end point of the user plane - interface (F1-U) between the DU and CU or CU-UP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1UGrp; - } - } - } +module _3gpp-nr-nrm-ep { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-ep"; + prefix "ep3gpp"; + + import _3gpp-common-ep-rp { prefix eprp3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-gnbcuupfunction { prefix gnbcuup3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the NR related endpoint + Information Object Classes (IOCs) that are part of the NR Network + Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-03-02 { reference S5-201191"; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping EP_E1Grp { + description "Represents the EP_E1 IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.401"; + uses eprp3gpp:EP_Common; + } + + grouping EP_F1CGrp { + description "Represents the EP_F1C IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + uses eprp3gpp:EP_Common; + } + + grouping EP_F1UGrp { + description "Represents the EP_F1U IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + uses eprp3gpp:EP_Common; + } + + grouping EP_XnCGrp { + description "Represents the EP_XnC IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.420"; + uses eprp3gpp:EP_Common; + } + + grouping EP_XnUGrp { + description "Represents the EP_XnU IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.420"; + uses eprp3gpp:EP_Common; + } + + grouping EP_NgCGrp { + description "Represents the EP_NgC IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + uses eprp3gpp:EP_Common; + } + + grouping EP_NgUGrp { + description "Represents the EP_NgU IOC."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + uses eprp3gpp:EP_Common; + } + + grouping EP_X2CGrp { + description "Represents the EP_X2C IOC."; + reference "3GPP TS 28.541, 3GPP TS 36.423"; + uses eprp3gpp:EP_Common; + } + + grouping EP_X2UGrp { + description "Represents the EP_X2U IOC."; + reference "3GPP TS 28.541, 3GPP TS 36.425"; + uses eprp3gpp:EP_Common; + } + + grouping EP_S1UGrp { + description "Represents the EP_S1U IOC."; + reference "3GPP TS 28.541, 3GPP TS 36.410"; + uses eprp3gpp:EP_Common; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + + list EP_E1 { + description "Represents the local end point of the logical link, + supporting E1 interface between gNB-CU-CP and gNB-CU-UP."; + reference "3GPP TS 28.541, 3GPP TS 38.401"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_E1Grp; + } + } + + list EP_F1C { + description "Represents the local end point of the control plane + interface (F1-C) between the DU and CU or CU-CP."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_F1CGrp; + } + } + + list EP_NgC { + description "Represents the local end point of the control plane + interface (NG-C) between the gNB and NG-Core entity."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NgCGrp; + } + } + + list EP_XnC { + description "Represents the local gNB node end point of the logical + link, supporting Xn application protocols, to a neighbour NG-RAN node + (including gNB and ng-eNB). The Xn Application PDUs are carried over + SCTP/IP/Data link layer/Physical layer stack."; + reference "3GPP TS 28.541, 3GPP TS 38.420 subclause 7"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_XnCGrp; + } + } + + list EP_X2C { + description "Represents the local end point of the logical link, + supporting X2-C application protocols used in EN-DC, to a neighbour + eNB or en-gNB node."; + reference "3GPP TS 28.541, 3GPP TS 36.423"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_X2CGrp; + } + } + } + + augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { + + list EP_E1 { + description "Represents the local end point of the logical link, + supporting E1 interface between gNB-CU-CP and gNB-CU-UP."; + reference "3GPP TS 28.541, 3GPP TS 38.401"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_E1Grp; + } + } + + list EP_F1U { + description "Represents the local end point of the user plane + interface (F1-U) between the DU and CU or CU-UP."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_F1UGrp; + } + } + + list EP_NgU { + description "Represents the local end point of the NG user plane + (NG-U) interface between the gNB and the UPGW."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_NgUGrp; + } + } + + list EP_XnU { + description "Represents the one end-point of a logical link supporting + the Xn user plane (Xn-U) interface. The Xn-U interface provides + non-guaranteed delivery of user plane PDUs between two NG-RAN nodes."; + reference "3GPP TS 28.541, 3GPP TS 38.420"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_XnUGrp; + } + } + + list EP_X2U { + description "Represents the local end-point of a logical link supporting + the X2 user plane (X2-U) interface used in EN-DC."; + reference "3GPP TS 28.541, 3GPP TS 36.425"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_X2UGrp; + } + } + + list EP_S1U { + description "Represents the local end point of the logical link, + supporting S1-U interface towards a S-GW node."; + reference "3GPP TS 28.541, 3GPP TS 36.410"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_S1UGrp; + } + } + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + + list EP_F1C { + description "Represents the local end point of the control plane + interface (F1-C) between the DU and CU or CU-CP."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_F1CGrp; + } + } + + list EP_F1U { + description "Represents the local end point of the user plane + interface (F1-U) between the DU and CU or CU-UP."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_F1UGrp; + } + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang b/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang index 42c8fbefa5477b4fea1f9364420b813cae62366f..4eee4a4010bd59fcecf6690c504b6ba9c4979150 100755 --- a/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang +++ b/yang-models/_3gpp-nr-nrm-eutrancellrelation.yang @@ -1,151 +1,160 @@ -module _3gpp-nr-nrm-eutrancellrelation { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutrancellrelation"; - prefix "eutrancellrel3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the EUtranCellRelation Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - typedef ActionAllowed { - type enumeration { - enum YES; - enum NO; - } - } - - typedef EnergySavingCoverage { - type enumeration { - enum YES; - enum NO; - enum PARTIAL; - } - } - - grouping EUtranCellRelationGrp { - description "Represents the EUtranCellRelation IOC."; - reference "3GPP TS 28.541, EUtranRelation in 3GPP TS 28.658"; - uses mf3gpp:ManagedFunctionGrp; - - leaf tCI { - description "Target Cell Identifier. Consists of E-UTRAN Cell Global - Identifier (ECGI) and Physical Cell Identifier (PCI) of the target - cell. Identifies the target cell from the perspective of the parent - cell instance."; - mandatory true; - type uint64; - } - - leaf isRemoveAllowed { - description "Indicates if the subject EUtranCellRelation can be removed - (deleted) or not. If YES, the subject EUtranCellRelation instance can - be removed (deleted). If NO, the subject EUtranCellRelation instance - shall not be removed (deleted) by any entity but an IRPManager."; - mandatory true; - type ActionAllowed; - } - - leaf isHOAllowed { - description "Indicates if handover is allowed or prohibited. If YES, - handover is allowed from source cell to target cell. Source cell is - represented by the parent cell instance. Target cell is the adjacent - cell referenced by this EUtranCellRelation instance. If NO, handover - shall not be allowed."; - mandatory true; - type ActionAllowed; - } - - leaf isICICInformationSendAllowed { - description "Indicates if ICIC (Inter Cell Interference Coordination) - load information message sending is allowed or prohibited. If YES, - ICIC load information message sending is allowed from source cell to - target cell. Source cell is represented by the parent cell instance. - Target cell is the adjacent cell referenced by this EUtranCellRelation - instance. If NO, ICIC load information message sending shall not be - allowed."; - reference "3GPP TS 36.423"; - mandatory true; - type ActionAllowed; - } - - leaf isLBAllowed { - description "Indicates if load balancing is allowed or prohibited from - source cell to target cell. If YES, load balancing is allowed from - source cell to target cell. Source cell is represented by the parent - cell instance. Target cell is the adjacent cell referenced by this - EUtranCellRelation instance. If NO, load balancing shall be prohibited - from source cell to target cell."; - mandatory true; - type ActionAllowed; - } - - leaf isESCoveredBy { - description "Indicates whether the adjacent cell according to this - planning provides no, partial or full coverage for the parent cell - instance. Adjacent cells with this attribute equal to YES are - recommended to be considered as candidate cells to take over the - coverage when the original cell is about to be transferred to energy - saving state. The entirety of adjacent cells with this property equal - to PARTIAL are recommended to be considered as entirety of candidate - cells to take over the coverage when the original cell is about to be - transferred to energy saving state."; - mandatory true; - type EnergySavingCoverage; - } - - leaf qOffset { - description "Offset applicable to a specific neighbouring cell used for - evaluating the cell as a candidate for cell re-selection. Corresponds - to parameter q-OffsetCell broadcast in SIB4 for intra-frequency cells - and in SIB5 for inter-frequency cells. Used for Mobility Robustness - Optimization."; - reference "3GPP TS 36.331"; - mandatory true; - type types3gpp:QOffsetRange; - } - - leaf cellIndividualOffset { - description "Offset applicable to a neighbouring cell. It is used for - evaluating the neighbouring cell for handover in connected mode. Used - by the HandOver parameter Optimization (HOO) function or Load - Balancing Optimization (LBO) function."; - reference "3GPP TS 36.331"; - config false; - type types3gpp:QOffsetRange; - } - - leaf adjacentCell { - description "Reference to an EUtranCellFDD/TDD or - ExternalEUtranCellFDD/TDD instance."; - mandatory true; - type types3gpp:DistinguishedName; - } - } - - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { - - list EUtranCellRelation { - description "Represents a relation between an NR cell and an E-UTRAN cell."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EUtranCellRelationGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-nr-nrm-eutrancellrelation { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutrancellrelation"; + prefix "eutrancellrel3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the EUtranCellRelation Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + typedef ActionAllowed { + type enumeration { + enum YES; + enum NO; + } + } + + typedef EnergySavingCoverage { + type enumeration { + enum YES; + enum NO; + enum PARTIAL; + } + } + + grouping EUtranCellRelationGrp { + description "Represents the EUtranCellRelation IOC."; + reference "3GPP TS 28.541, EUtranRelation in 3GPP TS 28.658"; + uses mf3gpp:ManagedFunctionGrp; + + leaf tCI { + description "Target Cell Identifier. Consists of E-UTRAN Cell Global + Identifier (ECGI) and Physical Cell Identifier (PCI) of the target + cell. Identifies the target cell from the perspective of the parent + cell instance."; + mandatory true; + type uint64; + } + + leaf isRemoveAllowed { + description "Indicates if the subject EUtranCellRelation can be removed + (deleted) or not. If YES, the subject EUtranCellRelation instance can + be removed (deleted). If NO, the subject EUtranCellRelation instance + shall not be removed (deleted) by any entity but an IRPManager."; + mandatory true; + type ActionAllowed; + } + + leaf isHOAllowed { + description "Indicates if handover is allowed or prohibited. If YES, + handover is allowed from source cell to target cell. Source cell is + represented by the parent cell instance. Target cell is the adjacent + cell referenced by this EUtranCellRelation instance. If NO, handover + shall not be allowed."; + mandatory true; + type ActionAllowed; + } + leaf isENDCAllowed { + description "Indicates if EN-DC is allowed or prohibited. If TRUE, + the target cell is allowed to be used for EN-DC. The target cell is + referenced by the NRCellRelation that contains this isENDCAllowed. + If FALSE, EN-DC shall not be allowed."; + mandatory true; + type ActionAllowed; + } + + + leaf isICICInformationSendAllowed { + description "Indicates if ICIC (Inter Cell Interference Coordination) + load information message sending is allowed or prohibited. If YES, + ICIC load information message sending is allowed from source cell to + target cell. Source cell is represented by the parent cell instance. + Target cell is the adjacent cell referenced by this EUtranCellRelation + instance. If NO, ICIC load information message sending shall not be + allowed."; + reference "3GPP TS 36.423"; + mandatory true; + type ActionAllowed; + } + + leaf isLBAllowed { + description "Indicates if load balancing is allowed or prohibited from + source cell to target cell. If YES, load balancing is allowed from + source cell to target cell. Source cell is represented by the parent + cell instance. Target cell is the adjacent cell referenced by this + EUtranCellRelation instance. If NO, load balancing shall be prohibited + from source cell to target cell."; + mandatory true; + type ActionAllowed; + } + + leaf isESCoveredBy { + description "Indicates whether the adjacent cell according to this + planning provides no, partial or full coverage for the parent cell + instance. Adjacent cells with this attribute equal to YES are + recommended to be considered as candidate cells to take over the + coverage when the original cell is about to be transferred to energy + saving state. The entirety of adjacent cells with this property equal + to PARTIAL are recommended to be considered as entirety of candidate + cells to take over the coverage when the original cell is about to be + transferred to energy saving state."; + mandatory true; + type EnergySavingCoverage; + } + + leaf qOffset { + description "Offset applicable to a specific neighbouring cell used for + evaluating the cell as a candidate for cell re-selection. Corresponds + to parameter q-OffsetCell broadcast in SIB4 for intra-frequency cells + and in SIB5 for inter-frequency cells. Used for Mobility Robustness + Optimization."; + reference "3GPP TS 36.331"; + mandatory true; + type types3gpp:QOffsetRange; + } + + leaf cellIndividualOffset { + description "Offset applicable to a neighbouring cell. It is used for + evaluating the neighbouring cell for handover in connected mode. Used + by the HandOver parameter Optimization (HOO) function or Load + Balancing Optimization (LBO) function."; + reference "3GPP TS 36.331"; + config false; + type types3gpp:QOffsetRange; + } + + leaf adjacentCell { + description "Reference to an EUtranCellFDD/TDD or + ExternalEUtranCellFDD/TDD instance."; + mandatory true; + type types3gpp:DistinguishedName; + } + } + + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + + list EUtranCellRelation { + description "Represents a relation between an NR cell and an E-UTRAN cell."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EUtranCellRelationGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutranetwork.yang b/yang-models/_3gpp-nr-nrm-eutranetwork.yang index fc618d735aa7975ccaacc431b7e776178e74e08e..068bc246c97637d9a57f1fa1a11b86e1434a7e7d 100755 --- a/yang-models/_3gpp-nr-nrm-eutranetwork.yang +++ b/yang-models/_3gpp-nr-nrm-eutranetwork.yang @@ -1,61 +1,61 @@ -module _3gpp-nr-nrm-eutranetwork { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranetwork"; - prefix "eutranet3gpp"; - - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the EUtraNetwork Information Object - Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-06-17 { - description "Initial revision"; - } - - feature ExternalsUnderEUtraNetwork { - description "Classes representing external entities like EUtranFrequency, - ExternalENBFunction are contained under a EUtraNetwork list/class."; - } - - grouping EUtraNetworkGrp { - description "Represents the EUtraNetwork IOC."; - reference "3GPP TS 28.541"; - uses subnet3gpp:SubNetworkGrp; - } - - list EUtraNetwork { - description "A subnetwork containing gNB external E-UTRAN entities."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EUtraNetworkGrp; - leaf-list parents { - description "Reference to all containg EUtraNetwork instances - in strict order from the root EUtraNetwork down to the immediate - parent EUtraNetwork. - If EUtraNetworks form a containment hierarchy this is - modeled using references between the child EUtraNetwork and the parent - EUtraNetworks. - This reference MUST NOT be present for the top level EUtraNetwork and - MUST be present for other EUtraNetworks."; - type leafref { - path "../../../EUtraNetwork/id"; - } - } - - leaf-list containedChildren{ - description "Reference to all directly contained EUtraNetwork instances. - If EUtraNetworks form a containment hierarchy this is - modeled using references between the child EUtraNetwork and the parent - EUtraNetwork."; - type leafref { - path "../../../EUtraNetwork/id"; - } - } - } - } +module _3gpp-nr-nrm-eutranetwork { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranetwork"; + prefix "eutranet3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the EUtraNetwork Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-06-17 { + description "Initial revision"; + } + + feature ExternalsUnderEUtraNetwork { + description "Classes representing external entities like EUtranFrequency, + ExternalENBFunction are contained under a EUtraNetwork list/class."; + } + + grouping EUtraNetworkGrp { + description "Represents the EUtraNetwork IOC."; + reference "3GPP TS 28.541"; + uses subnet3gpp:SubNetworkGrp; + } + + list EUtraNetwork { + description "A subnetwork containing gNB external E-UTRAN entities."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EUtraNetworkGrp; + leaf-list parents { + description "Reference to all containg EUtraNetwork instances + in strict order from the root EUtraNetwork down to the immediate + parent EUtraNetwork. + If EUtraNetworks form a containment hierarchy this is + modeled using references between the child EUtraNetwork and the parent + EUtraNetworks. + This reference MUST NOT be present for the top level EUtraNetwork and + MUST be present for other EUtraNetworks."; + type leafref { + path "../../../EUtraNetwork/id"; + } + } + + leaf-list containedChildren{ + description "Reference to all directly contained EUtraNetwork instances. + If EUtraNetworks form a containment hierarchy this is + modeled using references between the child EUtraNetwork and the parent + EUtraNetwork."; + type leafref { + path "../../../EUtraNetwork/id"; + } + } + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang index 5e6c140e1789f29e72720f4f5c929969be68c968..fce8aa7fffd813be3d903e2d2ec13f83680d10b2 100755 --- a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang @@ -1,208 +1,208 @@ -module _3gpp-nr-nrm-eutranfreqrelation { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranfreqrelation"; - prefix "eutranfreqrel3gpp"; - - 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; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the EUtranFreqRelation Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping EUtranFreqRelationGrp { - description "Represents the EUtranFreqRelation IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf cellIndividualOffset { - description "Offset applicable to a neighbouring cell. Used for - evaluating the neighbouring cell for handover in connected mode. - Used by the HandOver parameter Optimization (HOO) function or - Load Balancing Optimization (LBO) function."; - reference "cellIndividualOffset in MeasObjectEUTRA in 3GPP TS 38.331"; - default 0; - type types3gpp:QOffsetRange; - } - - leaf-list blackListEntry { - description "A list of Physical Cell Identities (PCIs) that are - blacklisted in E-UTRAN measurements."; - reference "3GPP TS 38.331"; - min-elements 0; - type uint16 { range "0..1007"; } - } - - leaf-list blackListEntryIdleMode { - description "A list of Physical Cell Identities (PCIs) that are - blacklisted in SIB4 and SIB5."; - min-elements 0; - type uint16 { range "0..1007"; } - } - - leaf cellReselectionPriority { - description "The absolute priority of the carrier frequency used by the - cell reselection procedure. Value 0 means lowest priority. The value - must not already used by other RAT, i.e. equal priorities between RATs - are not supported. The UE behaviour when no value is entered is - specified in subclause 5.2.4.1 of 3GPP TS 38.304."; - reference "CellReselectionPriority in 3GPP TS 38.331, priority in - 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..7"; } - } - - leaf cellReselectionSubPriority { - description "Indicates a fractional value to be added to the value of - cellReselectionPriority to obtain the absolute priority of the - concerned carrier frequency for E-UTRA and NR."; - reference "3GPP TS 38.331"; - type uint8 { range "2 | 4 | 6 | 8"; } - units "0.1"; - } - - leaf pMax { - description "Used for calculation of the parameter Pcompensation - (defined in 3GPP TS 38.304), at cell reselection to a cell."; - reference "PEMAX in 3GPP TS 38.101"; - mandatory true; - type int32 { range "-30..33"; } - units dBm; - } - - leaf qOffsetFreq { - description "The frequency specific offset applied when evaluating - candidates for cell reselection."; - type int32; - default 0; - } - - leaf qQualMin { - description "Indicates the minimum required quality level in the cell. - Value 0 means that it is not sent and UE applies in such case the - (default) value of negative infinity for Qqualmin. Sent in SIB3 or - SIB5."; - reference "qQualMin in TS 38.304"; - mandatory true; - type int32 { range "-34..-3 | 0"; } - units dB; - } - - leaf qRxLevMin { - description "Indicates the required minimum received Reference Symbol - Received Power (RSRP) level in the (E-UTRA) frequency for cell - reselection. Broadcast in SIB3 or SIB5, depending on whether the - related frequency is intra- or inter-frequency. Resolution is 2."; - reference "Qrxlevmin in 3GPP TS 38.304"; - mandatory true; - type int32 { range "-140..-44"; } - units dBm; - } - - leaf threshXHighP { - description "Specifies the Srxlev threshold used by the UE when - reselecting towards a higher priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold. Resolution is 2."; - reference "ThreshX, HighP in 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..62"; } - units dB; - } - - leaf threshXHighQ { - description "Specifies the Squal threshold used by the UE when - reselecting towards a higher priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold."; - reference "ThreshX, HighQ in 3GPP TS 38.304"; - mandatory true; - type int32 { range 0..31; } - units dB; - } - - leaf threshXLowP { - description "Specifies the Srxlev threshold used by the UE when - reselecting towards a lower priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold. Resolution is 2."; - reference "ThreshX, LowP in 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..62"; } - units dB; - } - - leaf threshXLowQ { - description "Specifies the Squal threshold used by the UE when - reselecting towards a lower priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold."; - reference "ThreshX, LowQ in 3GPP TS 38.304"; - mandatory false; - type int32 { range "0..31"; } - units dB; - } - - leaf tReselectionEutra { - description "Cell reselection timer for intra frequency E-UTRA cell - reselection. May be used for Mobility Robustness Optimization."; - reference "t-ReselectionEUTRA in 3GPP TS 36.331 and in 3GPP TS 23.207"; - mandatory true; - type uint8 { range "0..7"; } - units s; - } - - leaf tReselectionEutraSfHigh { - description "The attribute tReselectionEutra (parameter TreselectionEUTRA - in 3GPP TS 38.304) multiplied with this scaling factor if the UE is in - high mobility state."; - reference "Speed dependent ScalingFactor for TreselectionEUTRA for high - mobility state in 3GPP TS 38.304"; - mandatory true; - type uint8 { range "25 | 50 | 75 | 100"; } - units %; - } - - leaf tReselectionEutraSfMedium { - description "The attribute tReselectionEutra (parameter TreselectionEUTRA - in 3GPP TS 38.304) multiplied with this scaling factor if the UE is in - medium mobility state."; - reference "Speed dependent ScalingFactor for TreselectionEUTRA for medium - mobility state in 3GPP TS 38.304"; - mandatory true; - type uint8 { range "25 | 50 | 75 | 100"; } - units %; - } - - leaf eUtranFrequencyRef { - description "Reference to a corresponding EUtranFrequency instance."; - mandatory true; - type types3gpp:DistinguishedName; - } - } - - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { - - list EUtranFreqRelation { - description "Represents a frequency relation between an NR cell and an - E-UTRAN cell."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EUtranFreqRelationGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-nr-nrm-eutranfreqrelation { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranfreqrelation"; + prefix "eutranfreqrel3gpp"; + + 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; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the EUtranFreqRelation Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping EUtranFreqRelationGrp { + description "Represents the EUtranFreqRelation IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf cellIndividualOffset { + description "Offset applicable to a neighbouring cell. Used for + evaluating the neighbouring cell for handover in connected mode. + Used by the HandOver parameter Optimization (HOO) function or + Load Balancing Optimization (LBO) function."; + reference "cellIndividualOffset in MeasObjectEUTRA in 3GPP TS 38.331"; + default 0; + type types3gpp:QOffsetRange; + } + + leaf-list blackListEntry { + description "A list of Physical Cell Identities (PCIs) that are + blacklisted in E-UTRAN measurements."; + reference "3GPP TS 38.331"; + min-elements 0; + type uint16 { range "0..1007"; } + } + + leaf-list blackListEntryIdleMode { + description "A list of Physical Cell Identities (PCIs) that are + blacklisted in SIB4 and SIB5."; + min-elements 0; + type uint16 { range "0..1007"; } + } + + leaf cellReselectionPriority { + description "The absolute priority of the carrier frequency used by the + cell reselection procedure. Value 0 means lowest priority. The value + must not already used by other RAT, i.e. equal priorities between RATs + are not supported. The UE behaviour when no value is entered is + specified in subclause 5.2.4.1 of 3GPP TS 38.304."; + reference "CellReselectionPriority in 3GPP TS 38.331, priority in + 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..7"; } + } + + leaf cellReselectionSubPriority { + description "Indicates a fractional value to be added to the value of + cellReselectionPriority to obtain the absolute priority of the + concerned carrier frequency for E-UTRA and NR."; + reference "3GPP TS 38.331"; + type uint8 { range "2 | 4 | 6 | 8"; } + units "0.1"; + } + + leaf pMax { + description "Used for calculation of the parameter Pcompensation + (defined in 3GPP TS 38.304), at cell reselection to a cell."; + reference "PEMAX in 3GPP TS 38.101-1"; + mandatory true; + type int32 { range "-30..33"; } + units dBm; + } + + leaf qOffsetFreq { + description "The frequency specific offset applied when evaluating + candidates for cell reselection."; + type int32; + default 0; + } + + leaf qQualMin { + description "Indicates the minimum required quality level in the cell. + Value 0 means that it is not sent and UE applies in such case the + (default) value of negative infinity for Qqualmin. Sent in SIB3 or + SIB5."; + reference "qQualMin in TS 38.304"; + mandatory true; + type int32 { range "-34..-3 | 0"; } + units dB; + } + + leaf qRxLevMin { + description "Indicates the required minimum received Reference Symbol + Received Power (RSRP) level in the (E-UTRA) frequency for cell + reselection. Broadcast in SIB3 or SIB5, depending on whether the + related frequency is intra- or inter-frequency. Resolution is 2."; + reference "Qrxlevmin in 3GPP TS 38.304"; + mandatory true; + type int32 { range "-140..-44"; } + units dBm; + } + + leaf threshXHighP { + description "Specifies the Srxlev threshold used by the UE when + reselecting towards a higher priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold. Resolution is 2."; + reference "ThreshX, HighP in 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..62"; } + units dB; + } + + leaf threshXHighQ { + description "Specifies the Squal threshold used by the UE when + reselecting towards a higher priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold."; + reference "ThreshX, HighQ in 3GPP TS 38.304"; + mandatory true; + type int32 { range 0..31; } + units dB; + } + + leaf threshXLowP { + description "Specifies the Srxlev threshold used by the UE when + reselecting towards a lower priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold. Resolution is 2."; + reference "ThreshX, LowP in 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..62"; } + units dB; + } + + leaf threshXLowQ { + description "Specifies the Squal threshold used by the UE when + reselecting towards a lower priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold."; + reference "ThreshX, LowQ in 3GPP TS 38.304"; + mandatory false; + type int32 { range "0..31"; } + units dB; + } + + leaf tReselectionEutra { + description "Cell reselection timer for intra frequency E-UTRA cell + reselection. May be used for Mobility Robustness Optimization."; + reference "t-ReselectionEUTRA in 3GPP TS 36.331 and in 3GPP TS 23.207"; + mandatory true; + type uint8 { range "0..7"; } + units s; + } + + leaf tReselectionEutraSfHigh { + description "The attribute tReselectionEutra (parameter TreselectionEUTRA + in 3GPP TS 38.304) multiplied with this scaling factor if the UE is in + high mobility state."; + reference "Speed dependent ScalingFactor for TreselectionEUTRA for high + mobility state in 3GPP TS 38.304"; + mandatory true; + type uint8 { range "25 | 50 | 75 | 100"; } + units %; + } + + leaf tReselectionEutraSfMedium { + description "The attribute tReselectionEutra (parameter TreselectionEUTRA + in 3GPP TS 38.304) multiplied with this scaling factor if the UE is in + medium mobility state."; + reference "Speed dependent ScalingFactor for TreselectionEUTRA for medium + mobility state in 3GPP TS 38.304"; + mandatory true; + type uint8 { range "25 | 50 | 75 | 100"; } + units %; + } + + leaf eUtranFrequencyRef { + description "Reference to a corresponding EUtranFrequency instance."; + mandatory true; + type types3gpp:DistinguishedName; + } + } + + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + + list EUtranFreqRelation { + description "Represents a frequency relation between an NR cell and an + E-UTRAN cell."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EUtranFreqRelationGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutranfrequency.yang b/yang-models/_3gpp-nr-nrm-eutranfrequency.yang index e236fb02f34a4da721bc3d37202837ee3e222c2d..2d8a4534a95335d5d20b7764aceb6c24829c345c 100755 --- a/yang-models/_3gpp-nr-nrm-eutranfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-eutranfrequency.yang @@ -1,64 +1,64 @@ -module _3gpp-nr-nrm-eutranfrequency { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranfrequency"; - prefix "eutraneteutranfreq3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the EUtranFrequency Information - Object Class (IOC), that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM), - 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping EUtranFrequencyGrp { - description "Represents the EUtranFrequency IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf earfcnDL { - description "Specifies the channel number for the central DL frequency."; - reference "3GPP TS 36.101"; - mandatory true; - type uint32 { range "0..262143"; } - } - - leaf-list multiBandInfoListEutra { - description "List of additional frequency bands the frequency belongs to."; - config false; - min-elements 0; - type uint16 { range "1..256"; } - } - } - - grouping EUtranFrequencyWrapper { - list EUtranFrequency { - description "Represents certain E-UTRAN frequency properties."; - reference "3GPP TS 28.658"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EUtranFrequencyGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses EUtranFrequencyWrapper ; - } - - augment "/eutranet3gpp:EUtraNetwork" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses EUtranFrequencyWrapper ; - } +module _3gpp-nr-nrm-eutranfrequency { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranfrequency"; + prefix "eutraneteutranfreq3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the EUtranFrequency Information + Object Class (IOC), that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM), + 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping EUtranFrequencyGrp { + description "Represents the EUtranFrequency IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf earfcnDL { + description "Specifies the channel number for the central DL frequency."; + reference "3GPP TS 36.101"; + mandatory true; + type uint32 { range "0..262143"; } + } + + leaf-list multiBandInfoListEutra { + description "List of additional frequency bands the frequency belongs to."; + config false; + min-elements 0; + type uint16 { range "1..256"; } + } + } + + grouping EUtranFrequencyWrapper { + list EUtranFrequency { + description "Represents certain E-UTRAN frequency properties."; + reference "3GPP TS 28.658"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EUtranFrequencyGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses EUtranFrequencyWrapper ; + } + + augment "/eutranet3gpp:EUtraNetwork" { + if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; + uses EUtranFrequencyWrapper ; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalamffunction.yang b/yang-models/_3gpp-nr-nrm-externalamffunction.yang index c80042a3bf281f750a5655d0b5b7800872a9d89f..bfd30c58a7727e402ea0dd2740613fe7637c552b 100755 --- a/yang-models/_3gpp-nr-nrm-externalamffunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalamffunction.yang @@ -1,69 +1,69 @@ -module _3gpp-nr-nrm-externalamffunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalamffunction"; - prefix "extamf3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalAMFFunction Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalAMFFunctionGrp { - description "Represents the ExternalAMFFunction IOC."; - reference "3GPP TS 28.541"; - 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)."; - min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - container aMFIdentifier { - presence true; - description "An AMF identifier, comprising an AMF Region ID, an AMF Set ID and an AMF Pointer."; - uses types3gpp:AmfIdentifier; - } - } - - grouping ExternalAMFFunctionWrapper { - list ExternalAMFFunction { - description "Represents the properties, known by the management - function, of a AMFFunction managed by another management - function."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalAMFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalAMFFunctionWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalAMFFunctionWrapper; - } +module _3gpp-nr-nrm-externalamffunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalamffunction"; + prefix "extamf3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalAMFFunction Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalAMFFunctionGrp { + description "Represents the ExternalAMFFunction IOC."; + reference "3GPP TS 28.541"; + 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)."; + min-elements 1; + max-elements 6; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + container aMFIdentifier { + presence true; + description "An AMF identifier, comprising an AMF Region ID, an AMF Set ID and an AMF Pointer."; + uses types3gpp:AmfIdentifier; + } + } + + grouping ExternalAMFFunctionWrapper { + list ExternalAMFFunction { + description "Represents the properties, known by the management + function, of a AMFFunction managed by another management + function."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalAMFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalAMFFunctionWrapper; + } + + augment "/nrnet3gpp:NRNetwork" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses ExternalAMFFunctionWrapper; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalenbfunction.yang b/yang-models/_3gpp-nr-nrm-externalenbfunction.yang index 08a537616471e59387726c6ef1e406b47c980586..7dab2e97065c9d7dac18639aec4906ebd7729bd6 100755 --- a/yang-models/_3gpp-nr-nrm-externalenbfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalenbfunction.yang @@ -1,60 +1,60 @@ -module _3gpp-nr-nrm-externalenbfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalenbfunction"; - prefix "extenb3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalENBFunction - Information Object Class (IOC) that is part of the NR Network Resource - Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM), - 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalENBFunctionGrp { - description "Represets the ExternalENBFunction IOC."; - reference "3GPP TS 28.658"; - uses mf3gpp:ManagedFunctionGrp; - - leaf eNBId { - description "Unambiguously identifies an eNodeB within a PLMN."; - reference "3GPP TS 36.413, 3GPP TS 36.300"; - mandatory true; - type int32 { range "0..268435455"; } // Representing 28 bit eNB ID. - // 18, 20 and 21 bit eNB IDs also - // allowed. - } - } - - grouping ExternalENBFunctionWrapper { - list ExternalENBFunction { - description "Represents an external eNB functionality."; - reference "3GPP TS 28.658"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalENBFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalENBFunctionWrapper; - } - - augment "/eutranet3gpp:EUtraNetwork" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses ExternalENBFunctionWrapper; - } +module _3gpp-nr-nrm-externalenbfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalenbfunction"; + prefix "extenb3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalENBFunction + Information Object Class (IOC) that is part of the NR Network Resource + Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM), + 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalENBFunctionGrp { + description "Represets the ExternalENBFunction IOC."; + reference "3GPP TS 28.658"; + uses mf3gpp:ManagedFunctionGrp; + + leaf eNBId { + description "Unambiguously identifies an eNodeB within a PLMN."; + reference "3GPP TS 36.413, 3GPP TS 36.300"; + mandatory true; + type int32 { range "0..268435455"; } // Representing 28 bit eNB ID. + // 18, 20 and 21 bit eNB IDs also + // allowed. + } + } + + grouping ExternalENBFunctionWrapper { + list ExternalENBFunction { + description "Represents an external eNB functionality."; + reference "3GPP TS 28.658"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalENBFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalENBFunctionWrapper; + } + + augment "/eutranet3gpp:EUtraNetwork" { + if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; + uses ExternalENBFunctionWrapper; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang index 97331baef58e28ea1d84c921e5b5638582b04cf7..d3dd888029bfd68836fdb618b39cdfe5ecc2d321 100755 --- a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang +++ b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang @@ -1,153 +1,153 @@ -module _3gpp-nr-nrm-externaleutrancell { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externaleutrancell"; - prefix "exteutrancell3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } - import _3gpp-nr-nrm-externalenbfunction { prefix extenb3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalEUtranCellFDD and - ExternalEUtranCellTDD Information Object Classes (IOCs) that are part - of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM), - 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalEUtranGenericCellGrp { - description "Represents the ExternalEUtranGenericCell IOC."; - reference "3GPP TS 28.658"; - uses mf3gpp:ManagedFunctionGrp; - - leaf pci { - description "The Physical Cell Identity (PCI) of the cell (for - NM-Centralized, EM-Centralized and Distributed PCI assignment cases). - In the case of NM-Centralized PCI assignment, see 3GPP TS 36.300."; - reference "3GPP TS 36.211"; - mandatory true; - type int32 { range "0..503"; } - } - - list plmnIdList { - description "List of unique identities for PLMNs. A cell can broadcast - up to 6 PLMN IDs. This is to support the case that one cell can be - used by up to 6 operator's core networks. The PLMN(s) included in this - list will use the same single tracking area code (TAC) and the same - Cell Identity (cellLocalId) for sharing the radio access network - resources. One member of plmnIdList is the primary PLMN ID. A PLMN ID - included in this list cannot be included in the cellAccessInfoList. - The PLMN ID is composed of a Mobile Country Code (MCC) and a Mobile - Network Code (MNC)."; - reference "3GPP TS 36.300, 3GPP TS 36.331, 3GPP TS 23.003"; - key "mcc mnc"; - min-elements 1; - max-elements 6; - uses types3gpp:PLMNId; - } - - leaf cellLocalId { - description "Unambiguously identifies a cell within an eNodeB."; - reference "NCI defined in 3GPP TS 38.300"; - type int32 {range "0..255"; } - } - - leaf eNBId { - description "Unambiguously identifies an eNodeB within a PLMN."; - reference "3GPP TS 36.413, 3GPP TS 36.300"; - mandatory true; - type int32 { range "0..268435455"; } // Representing 28 bit eNB ID. - // 18, 20 and 21 bit eNB IDs also - // allowed. - } - } - - grouping ExternalEUtranCellFDDGrp { - description "Represents the ExternalEUtranCellFDD IOC."; - reference "3GPP TS 28.658"; - uses ExternalEUtranGenericCellGrp; - - leaf earfcnDL { - description "The channel number for the central DL frequency."; - reference "3GPP TS 36.101"; - mandatory true; - type int32 { range "0..17999 | 46590..262143"; } - } - - leaf earfcnUL { - description "The channel number for the central UL frequency. Value 0 - means that the UL channel number is N/A for the DL-only bands."; - reference "3GPP TS 36.101"; - mandatory true; - type int32 { range "0 | 18000..35999 | 46590..262143"; } - } - } - - grouping ExternalEUtranCellTDDGrp { - description "Represents the ExternalEUtranCellTDD IOC."; - reference "3GPP TS 28.658"; - uses ExternalEUtranGenericCellGrp; - - leaf earfcn { - description "The frequency number for the central frequency."; - reference "3GPP TS 36.104"; - mandatory true; - type int32 { range "36000..262143"; } - } - } - - grouping ExternalEUtranCellFDDWrapper { - list ExternalEUtranCellFDD { - description "Represents the common properties of external E-UTRAN FDD - cell provided by eNB or NG-RAN FDD cell provided by ng-eNB."; - reference "3GPP TS 28.658"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalEUtranCellFDDGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - grouping ExternalEUtranCellTDDWrapper { - list ExternalEUtranCellTDD { - description "Represents the common properties of external E-UTRAN cell - TDD provided by eNB or NG-RAN TDD cell provided by ng-eNB."; - reference "3GPP TS 28.658"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalEUtranCellTDDGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork/extenb3gpp:ExternalENBFunction" { - if-feature subnet3gpp:ExternalsUnderSubNetwork; - uses ExternalEUtranCellFDDWrapper; - } - - augment "/eutranet3gpp:EUtraNetwork/extenb3gpp:ExternalENBFunction" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses ExternalEUtranCellFDDWrapper; - } - - augment "/subnet3gpp:SubNetwork/extenb3gpp:ExternalENBFunction" { - if-feature subnet3gpp:ExternalsUnderSubNetwork; - uses ExternalEUtranCellTDDWrapper; - } - - augment "/eutranet3gpp:EUtraNetwork/extenb3gpp:ExternalENBFunction" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses ExternalEUtranCellTDDWrapper; - } +module _3gpp-nr-nrm-externaleutrancell { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externaleutrancell"; + prefix "exteutrancell3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } + import _3gpp-nr-nrm-externalenbfunction { prefix extenb3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalEUtranCellFDD and + ExternalEUtranCellTDD Information Object Classes (IOCs) that are part + of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM), + 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalEUtranGenericCellGrp { + description "Represents the ExternalEUtranGenericCell IOC."; + reference "3GPP TS 28.658"; + uses mf3gpp:ManagedFunctionGrp; + + leaf pci { + description "The Physical Cell Identity (PCI) of the cell (for + NM-Centralized, EM-Centralized and Distributed PCI assignment cases). + In the case of NM-Centralized PCI assignment, see 3GPP TS 36.300."; + reference "3GPP TS 36.211"; + mandatory true; + type int32 { range "0..503"; } + } + + list plmnIdList { + description "List of unique identities for PLMNs. A cell can broadcast + up to 6 PLMN IDs. This is to support the case that one cell can be + used by up to 6 operator's core networks. The PLMN(s) included in this + list will use the same single tracking area code (TAC) and the same + Cell Identity (cellLocalId) for sharing the radio access network + resources. One member of plmnIdList is the primary PLMN ID. A PLMN ID + included in this list cannot be included in the cellAccessInfoList. + The PLMN ID is composed of a Mobile Country Code (MCC) and a Mobile + Network Code (MNC)."; + reference "3GPP TS 36.300, 3GPP TS 36.331, 3GPP TS 23.003"; + key "mcc mnc"; + min-elements 1; + max-elements 6; + uses types3gpp:PLMNId; + } + + leaf cellLocalId { + description "Unambiguously identifies a cell within an eNodeB."; + reference "NCI defined in 3GPP TS 38.300"; + type int32 {range "0..255"; } + } + + leaf eNBId { + description "Unambiguously identifies an eNodeB within a PLMN."; + reference "3GPP TS 36.413, 3GPP TS 36.300"; + mandatory true; + type int32 { range "0..268435455"; } // Representing 28 bit eNB ID. + // 18, 20 and 21 bit eNB IDs also + // allowed. + } + } + + grouping ExternalEUtranCellFDDGrp { + description "Represents the ExternalEUtranCellFDD IOC."; + reference "3GPP TS 28.658"; + uses ExternalEUtranGenericCellGrp; + + leaf earfcnDL { + description "The channel number for the central DL frequency."; + reference "3GPP TS 36.101"; + mandatory true; + type int32 { range "0..17999 | 46590..262143"; } + } + + leaf earfcnUL { + description "The channel number for the central UL frequency. Value 0 + means that the UL channel number is N/A for the DL-only bands."; + reference "3GPP TS 36.101"; + mandatory true; + type int32 { range "0 | 18000..35999 | 46590..262143"; } + } + } + + grouping ExternalEUtranCellTDDGrp { + description "Represents the ExternalEUtranCellTDD IOC."; + reference "3GPP TS 28.658"; + uses ExternalEUtranGenericCellGrp; + + leaf earfcn { + description "The frequency number for the central frequency."; + reference "3GPP TS 36.104"; + mandatory true; + type int32 { range "36000..262143"; } + } + } + + grouping ExternalEUtranCellFDDWrapper { + list ExternalEUtranCellFDD { + description "Represents the common properties of external E-UTRAN FDD + cell provided by eNB or NG-RAN FDD cell provided by ng-eNB."; + reference "3GPP TS 28.658"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalEUtranCellFDDGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + grouping ExternalEUtranCellTDDWrapper { + list ExternalEUtranCellTDD { + description "Represents the common properties of external E-UTRAN cell + TDD provided by eNB or NG-RAN TDD cell provided by ng-eNB."; + reference "3GPP TS 28.658"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalEUtranCellTDDGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork/extenb3gpp:ExternalENBFunction" { + if-feature subnet3gpp:ExternalsUnderSubNetwork; + uses ExternalEUtranCellFDDWrapper; + } + + augment "/eutranet3gpp:EUtraNetwork/extenb3gpp:ExternalENBFunction" { + if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; + uses ExternalEUtranCellFDDWrapper; + } + + augment "/subnet3gpp:SubNetwork/extenb3gpp:ExternalENBFunction" { + if-feature subnet3gpp:ExternalsUnderSubNetwork; + uses ExternalEUtranCellTDDWrapper; + } + + augment "/eutranet3gpp:EUtraNetwork/extenb3gpp:ExternalENBFunction" { + if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; + uses ExternalEUtranCellTDDWrapper; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang index 0bcb586e91efba1b4db4c38cac85973d85c0e0e3..531e45bed0b5f396a319e972452a1b4e71e79d6c 100755 --- a/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang @@ -1,76 +1,76 @@ -module _3gpp-nr-nrm-externalgnbcucpfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbcucpfunction"; - prefix "extgnbcucp3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalGNBCUCPFunction - Information Object Class (IOC), that is part of the NR Network Resource - Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalGNBCUCPFunctionGrp { - description "Represets the ExternalGNBCUCPFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf gNBId { - description "Identifies a gNB within a PLMN."; - reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID - in 3GPP TS 38.413"; - mandatory true; - type int64 { range "0..4294967295"; } - } - - leaf gNBIdLength { - description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - mandatory true; - type int32 { range "22..32"; } - } - - list pLMNId { - description "Specifies the PLMN identifier to be used as part of the - global RAN node identity."; - key "mcc mnc"; - min-elements 1; - max-elements 1; - uses types3gpp:PLMNId; - } - } - - grouping ExternalGNBCUCPFunctionWrapper { - list ExternalGNBCUCPFunction { - description "Represents the properties, known by the management function, - of a GNBCUCPFunction managed by another management function."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalGNBCUCPFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalGNBCUCPFunctionWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalGNBCUCPFunctionWrapper; - } +module _3gpp-nr-nrm-externalgnbcucpfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbcucpfunction"; + prefix "extgnbcucp3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalGNBCUCPFunction + Information Object Class (IOC), that is part of the NR Network Resource + Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalGNBCUCPFunctionGrp { + description "Represets the ExternalGNBCUCPFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf gNBId { + description "Identifies a gNB within a PLMN."; + reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID + in 3GPP TS 38.413"; + mandatory true; + type int64 { range "0..4294967295"; } + } + + leaf gNBIdLength { + description "Indicates the number of bits for encoding the gNB ID."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + mandatory true; + type int32 { range "22..32"; } + } + + list pLMNId { + description "Specifies the PLMN identifier to be used as part of the + global RAN node identity."; + key "mcc mnc"; + min-elements 1; + max-elements 1; + uses types3gpp:PLMNId; + } + } + + grouping ExternalGNBCUCPFunctionWrapper { + list ExternalGNBCUCPFunction { + description "Represents the properties, known by the management function, + of a GNBCUCPFunction managed by another management function."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalGNBCUCPFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalGNBCUCPFunctionWrapper; + } + + augment "/nrnet3gpp:NRNetwork" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses ExternalGNBCUCPFunctionWrapper; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang index f78c957419e939f5ace40012a444bda6462cacbd..bcdeecbcc408a5938f686816cabfecfa8a5a326a 100755 --- a/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang @@ -1,66 +1,66 @@ -module _3gpp-nr-nrm-externalgnbcuupfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbcuupfunction"; - prefix "extgnbcuup3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalGNBCUUPFunction - Information Object Class (IOC), that is part of the NR Network - Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalGNBCUUPFunctionGrp { - description "Represets the ExternalGNBCUUPFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf gNBId { - description "Identifies a gNB within a PLMN."; - reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID - in 3GPP TS 38.413"; - mandatory true; - type int64 { range "0..4294967295"; } - } - - leaf gNBIdLength { - description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - mandatory true; - type int32 { range "22..32"; } - } - } - - grouping ExternalGNBCUUPFunctionWrapper { - list ExternalGNBCUUPFunction { - description "Represents the properties, known by the management function, - of a GNBCUUPFunction managed by another management function."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalGNBCUUPFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalGNBCUUPFunctionWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalGNBCUUPFunctionWrapper; - } +module _3gpp-nr-nrm-externalgnbcuupfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbcuupfunction"; + prefix "extgnbcuup3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalGNBCUUPFunction + Information Object Class (IOC), that is part of the NR Network + Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalGNBCUUPFunctionGrp { + description "Represets the ExternalGNBCUUPFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf gNBId { + description "Identifies a gNB within a PLMN."; + reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID + in 3GPP TS 38.413"; + mandatory true; + type int64 { range "0..4294967295"; } + } + + leaf gNBIdLength { + description "Indicates the number of bits for encoding the gNB ID."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + mandatory true; + type int32 { range "22..32"; } + } + } + + grouping ExternalGNBCUUPFunctionWrapper { + list ExternalGNBCUUPFunction { + description "Represents the properties, known by the management function, + of a GNBCUUPFunction managed by another management function."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalGNBCUUPFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalGNBCUUPFunctionWrapper; + } + + augment "/nrnet3gpp:NRNetwork" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses ExternalGNBCUUPFunctionWrapper; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang index 464e99559f4bd5534bafd974e497c9ae4817269e..8449330259b548d8d0c8c90a977abffabf0d263f 100755 --- a/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang @@ -1,76 +1,76 @@ -module _3gpp-nr-nrm-externalgnbdufunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbdufunction"; - prefix "extgnbdu3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalGNBDUFunction - Information Object Class (IOC) that is part of the NR Network Resource - Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalGNBDUFunctionGrp { - description "Represets the ExternalGNBDUFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf gNBId { - description "Identifies a gNB within a PLMN."; - reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID - in 3GPP TS 38.413"; - mandatory true; - type int64 { range "0..4294967295"; } - } - - leaf gNBIdLength { - description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - mandatory true; - type int32 { range "22..32"; } - } - - list pLMNId { - description "Specifies the PLMN identifier to be used as part of the - global RAN node identity."; - key "mcc mnc"; - min-elements 1; - max-elements 1; - uses types3gpp:PLMNId; - } - } - - grouping ExternalGNBDUFunctionWrapper { - list ExternalGNBDUFunction { - description "Represents the properties, known by the management function, - of a GNBDUFunction managed by another management function."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalGNBDUFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalGNBDUFunctionWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalGNBDUFunctionWrapper; - } +module _3gpp-nr-nrm-externalgnbdufunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbdufunction"; + prefix "extgnbdu3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalGNBDUFunction + Information Object Class (IOC) that is part of the NR Network Resource + Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalGNBDUFunctionGrp { + description "Represets the ExternalGNBDUFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf gNBId { + description "Identifies a gNB within a PLMN."; + reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID + in 3GPP TS 38.413"; + mandatory true; + type int64 { range "0..4294967295"; } + } + + leaf gNBIdLength { + description "Indicates the number of bits for encoding the gNB ID."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + mandatory true; + type int32 { range "22..32"; } + } + + list pLMNId { + description "Specifies the PLMN identifier to be used as part of the + global RAN node identity."; + key "mcc mnc"; + min-elements 1; + max-elements 1; + uses types3gpp:PLMNId; + } + } + + grouping ExternalGNBDUFunctionWrapper { + list ExternalGNBDUFunction { + description "Represents the properties, known by the management function, + of a GNBDUFunction managed by another management function."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalGNBDUFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalGNBDUFunctionWrapper; + } + + augment "/nrnet3gpp:NRNetwork" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses ExternalGNBDUFunctionWrapper; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang b/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang index e50904a30262baa487f730bb0a1cbc1dbfbed1df..2bfe38bb34a66ba81c8b32bcaf74cf05519e0dcb 100755 --- a/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang +++ b/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang @@ -1,85 +1,85 @@ -module _3gpp-nr-nrm-externalnrcellcu { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalnrcellcu"; - prefix "extnrcellcu3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-externalgnbcucpfunction { prefix extgnbcucp3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalNRCellCU Information - Object Class (IOC), that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalNRCellCUGrp { - description "Represents the ExternalNRCellCU IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf cellLocalId { - description "Identifies an NR cell of a gNB. Together with corresponding - gNB ID it forms the NR Cell Identifier (NCI)."; - reference "NCI in 3GPP TS 38.300"; - mandatory true; - type int32 {range "0..16383"; } - } - - leaf nRPCI { - description "The Physical Cell Identity (PCI) of the NR cell."; - reference "3GPP TS 36.211"; - mandatory true; - type int32 { range "0..1007"; } - } - - list pLMNIdList { - description "Defines which PLMNs that are assumed to be served by the - NR cell in another gNB CU-CP. This list is either updated by the - managed element itself (e.g. due to ANR, signalling over Xn, etc.) or - by consumer over the standard interface."; - key "mcc mnc"; - min-elements 1; - max-elements 12; - uses types3gpp:PLMNId; - } - - leaf nRFrequencyRef { - description "Reference to corresponding NRFrequency instance."; - mandatory true; - type types3gpp:DistinguishedName; - } - } - - grouping ExternalNRCellCUWrapper { - list ExternalNRCellCU { - description "Represents the properties of an NRCellCU controlled by - another Management Service Provider."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalNRCellCUGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork/extgnbcucp3gpp:ExternalGNBCUCPFunction" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalNRCellCUWrapper; - } - - augment "/nrnet3gpp:NRNetwork/extgnbcucp3gpp:ExternalGNBCUCPFunction" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalNRCellCUWrapper; - } +module _3gpp-nr-nrm-externalnrcellcu { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalnrcellcu"; + prefix "extnrcellcu3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-externalgnbcucpfunction { prefix extgnbcucp3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalNRCellCU Information + Object Class (IOC), that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalNRCellCUGrp { + description "Represents the ExternalNRCellCU IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf cellLocalId { + description "Identifies an NR cell of a gNB. Together with corresponding + gNB ID it forms the NR Cell Identifier (NCI)."; + reference "NCI in 3GPP TS 38.300"; + mandatory true; + type int32 {range "0..16383"; } + } + + leaf nRPCI { + description "The Physical Cell Identity (PCI) of the NR cell."; + reference "3GPP TS 36.211"; + mandatory true; + type int32 { range "0..1007"; } + } + + list pLMNIdList { + description "Defines which PLMNs that are assumed to be served by the + NR cell in another gNB CU-CP. This list is either updated by the + managed element itself (e.g. due to ANR, signalling over Xn, etc.) or + by consumer over the standard interface."; + key "mcc mnc"; + min-elements 1; + max-elements 12; + uses types3gpp:PLMNId; + } + + leaf nRFrequencyRef { + description "Reference to corresponding NRFrequency instance."; + mandatory true; + type types3gpp:DistinguishedName; + } + } + + grouping ExternalNRCellCUWrapper { + list ExternalNRCellCU { + description "Represents the properties of an NRCellCU controlled by + another Management Service Provider."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalNRCellCUGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork/extgnbcucp3gpp:ExternalGNBCUCPFunction" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalNRCellCUWrapper; + } + + augment "/nrnet3gpp:NRNetwork/extgnbcucp3gpp:ExternalGNBCUCPFunction" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses ExternalNRCellCUWrapper; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang b/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang index e85adf5cb4e4719c8872d799880a9fb659289734..96f51bd22a14bf6490d260933b304304e3602477 100755 --- a/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang @@ -1,52 +1,52 @@ -module _3gpp-nr-nrm-externalservinggwfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalservinggwfunction"; - prefix "extservgw3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalServingGWFunction - Information Object Class (IOC) that is part of the NR Network Resource - Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalServingGWFunctionGrp { - description "Represents the ExternalServingGWFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - } - - grouping ExternalServingGWFunctionWrapper { - list ExternalServingGWFunction { - description "Represents the properties, known by the management - function, of a ServingGWFunction managed by another management - function."; - reference "3GPP TS 28.658"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalServingGWFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalServingGWFunctionWrapper; - } - - augment "/eutranet3gpp:EUtraNetwork" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses ExternalServingGWFunctionWrapper; - } +module _3gpp-nr-nrm-externalservinggwfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalservinggwfunction"; + prefix "extservgw3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalServingGWFunction + Information Object Class (IOC) that is part of the NR Network Resource + Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalServingGWFunctionGrp { + description "Represents the ExternalServingGWFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + } + + grouping ExternalServingGWFunctionWrapper { + list ExternalServingGWFunction { + description "Represents the properties, known by the management + function, of a ServingGWFunction managed by another management + function."; + reference "3GPP TS 28.658"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalServingGWFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalServingGWFunctionWrapper; + } + + augment "/eutranet3gpp:EUtraNetwork" { + if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; + uses ExternalServingGWFunctionWrapper; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalupffunction.yang b/yang-models/_3gpp-nr-nrm-externalupffunction.yang index 0a64c91c1f259345955cde0ca61e7f38b7171856..1175c8c606d8738f3cf89dada231e80d23c8ef8a 100755 --- a/yang-models/_3gpp-nr-nrm-externalupffunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalupffunction.yang @@ -1,51 +1,51 @@ -module _3gpp-nr-nrm-externalupffunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalupffunction"; - prefix "extupf3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the ExternalUPFFunction Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping ExternalUPFFunctionGrp { - description "Represents the ExternalUPFFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - } - - grouping ExternalUPFFunctionWrapper { - list ExternalUPFFunction { - description "Represents the properties, known by the management - function, of a UPFFunction managed by another management - function."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses ExternalUPFFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalUPFFunctionWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalUPFFunctionWrapper; - } +module _3gpp-nr-nrm-externalupffunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalupffunction"; + prefix "extupf3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the ExternalUPFFunction Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping ExternalUPFFunctionGrp { + description "Represents the ExternalUPFFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + } + + grouping ExternalUPFFunctionWrapper { + list ExternalUPFFunction { + description "Represents the properties, known by the management + function, of a UPFFunction managed by another management + function."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalUPFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses ExternalUPFFunctionWrapper; + } + + augment "/nrnet3gpp:NRNetwork" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses ExternalUPFFunctionWrapper; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index 7a17b224e3e950d8241e59b8b9ca26ac950b2af9..685ac9517f073d3f9a511cbe0e2d435f608071ff 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -1,99 +1,134 @@ -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-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the GNBCUCPFunction Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-02-14 { reference S5-20XXXX ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping GNBCUCPFunctionGrp { - description "Represents the GNBCUCPFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - uses nrrrmpolicy3gpp:RRMPolicy_Grp; - - leaf gNBId { - description "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID) - is part of the NR Cell Identifier (NCI) of the gNB cells."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - mandatory true; - type int64 { range "0..4294967295"; } - } - - leaf gNBIdLength { - description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - mandatory true; - type int32 { range "22..32"; } - } - - leaf gNBCUName { - description "Identifies the Central Unit of an gNB."; - reference "3GPP TS 38.473"; - mandatory true; - type string { length "1..150"; } - } - - list pLMNId { - description "The PLMN identifier to be used as part of the global RAN - node identity."; - key "mcc mnc"; - min-elements 1; - max-elements 1; - uses types3gpp:PLMNId; - } - - leaf-list x2BlackList { - type types3gpp:DistinguishedName; - description "List of nodes to which X2 connections are prohibited."; - } - - leaf-list x2WhiteList { - type types3gpp:DistinguishedName; - description "List of nodes to which X2 connections are enforced."; - } - - leaf-list xnBlackList { - type types3gpp:DistinguishedName; - description "List of nodes to which Xn connections are prohibited."; - } - - leaf-list xnWhiteList { - type types3gpp:DistinguishedName; - description "List of nodes to which X2 connections are enforced."; - } - - leaf-list x2XnHOBlackList { - type types3gpp:DistinguishedName; - description "List of nodes to which handovers over X2 or Xn are prohibited."; - } - } - - augment "/me3gpp:ManagedElement" { - - list GNBCUCPFunction { - description "Represents the logical function CU-CP of gNB and en-gNB."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses GNBCUCPFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +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-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } + + 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 + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-08-06 { reference "CR-0333"; } + revision 2020-08-03 { reference "CR-0321"; } + revision 2020-06-03 { reference "CR-0286"; } + revision 2020-05-08 { reference S5-203316 ; } + revision 2020-04-28 { reference "0260"; } + revision 2020-02-14 { reference S5-20XXXX ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + feature DESManagementFunction { + description "Classs representing Distributed SON or Domain-Centralized SON Energy Saving feature"; + } + + feature DANRManagementFunction { + description "Classs representing D-SON function of ANR Management feature"; + } + + feature DRACHOptimizationFunction { + description "Classs representing D-SON function of RACH optimization feature"; + } + + feature DMROFunction { + description "Classs representing D-SON function of MRO feature"; + } + + grouping GNBCUCPFunctionGrp { + description "Represents the GNBCUCPFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + uses nrrrmpolicy3gpp:RRMPolicy_Grp; + + leaf gNBId { + description "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID) + is part of the NR Cell Identifier (NCI) of the gNB cells."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + mandatory true; + type int64 { range "0..4294967295"; } + } + + leaf gNBIdLength { + description "Indicates the number of bits for encoding the gNB ID."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + mandatory true; + type int32 { range "22..32"; } + } + + leaf gNBCUName { + description "Identifies the Central Unit of an gNB."; + reference "3GPP TS 38.473"; + mandatory true; + type string { length "1..150"; } + } + + list pLMNId { + description "The PLMN identifier to be used as part of the global RAN + node identity."; + key "mcc mnc"; + min-elements 1; + max-elements 1; + uses types3gpp:PLMNId; + } + + leaf-list x2BlackList { + type string; + description "List of nodes to which X2 connections are prohibited."; + } + + leaf-list x2WhiteList { + type string; + description "List of nodes to which X2 connections are enforced."; + } + + leaf-list xnBlackList { + type string; + description "List of nodes to which Xn connections are prohibited."; + } + + leaf-list xnWhiteList { + type string; + description "List of nodes to which X2 connections are enforced."; + } + + leaf-list xnHOBlackList { + type string; + description "List of nodes to which handovers over Xn are prohibited."; + } + leaf configurable5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Configurable5QISet that the GNBCUCPFunction supports (is associated to)."; + } + + leaf-list x2HOBlackList { + type string; + description "List of nodes to which handovers over X2 are prohibited."; + } + leaf dynamic5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Dynamic5QISet that the GNBCUCPFunction supports (is associated to)."; + } + } + + augment "/me3gpp:ManagedElement" { + + list GNBCUCPFunction { + description "Represents the logical function CU-CP of gNB and en-gNB."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses GNBCUCPFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang index 72722f00ffb44b77f3a75e8226585372949a536b..98b7b4a7b6a89f7a7b73d6213260cc72a7c0989b 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang @@ -1,145 +1,168 @@ -module _3gpp-nr-nrm-gnbcuupfunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbcuupfunction"; - prefix "gnbcuup3gpp"; - - 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; } - import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } - import _3gpp-nr-nrm-common { prefix nrcommon3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the GNBCUUPFunction Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-03-12 { reference "SP-200233 S5-201547"; } - revision 2020-02-14 { reference S5-20XXXX ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-08-21 { - description "Initial revision"; - } - - grouping TAIGrp { - description "Tracking Area Identity"; - - list pLMNId { - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf nRTAC { - type int64; - description "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, 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 BackhaulAddressGrp { - description "Indicates the backhauladdress of gNB."; - - leaf gNBId { - type uint32 { - range "0..4294967295"; - } - 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. - Global gNB ID in subclause 9.3.1.6 of TS 38.413"; - } - - list tAI { - key nRTAC; - min-elements 1; - max-elements 1; - description "Tracking Area Identity"; - reference "subclause 9.3.3.11 in TS 38.413"; - uses TAIGrp; - } - } - - grouping MappingSetIDBackhaulAddressGrp { - description "Mapping relationship between setID and backhaulAddress of gNB"; - - leaf idx { - type uint32 ; - description "ID value"; - } - - leaf setID { - type uint32; - mandatory true; - description "Indicates the setID of gNB."; - reference "Subclause 7.4.1.6 in TS 38.211"; - } - - list backhaulAddress { - key gNBId; - min-elements 1; - max-elements 1; - description "Indicates the backhauladdress of gNB."; - uses BackhaulAddressGrp; - } - } - grouping GNBCUUPFunctionGrp { - description "Represents the GNBCUUPFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - uses nrrrmpolicy3gpp:RRMPolicy_Grp; - - leaf gNBCUUPId { - type uint64 { - range "0..68719476735" ; - } - config false; - mandatory true; - description "Identifies the gNB-CU-UP at least within a gNB-CU-CP"; - reference "'gNB-CU-UP ID' in subclause 9.3.1.15 of 3GPP TS 38.463"; - } - - leaf gNBId { - mandatory true; - type int32 { range "22..32"; } - description "Indicates the number of bits for encoding the gNB Id."; - reference "gNB Id in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - } - - list pLMNInfoList { - description "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that - can be served by the GNBCUUPFunction and which S-NSSAIs can be supported by the - GNBCUUPFunction for corresponding PLMN in case of network slicing feature is supported"; - key "mcc mnc"; - uses nrcommon3gpp:PLMNInfo; - } - - list mappingSetIDBackhaulAddressList { - key idx; - description "Specifies a list of mappingSetIDBackhaulAddress used to - retrieve the backhaul address of the victim set. - Must be present if Remote Interference Management function is supported."; - uses MappingSetIDBackhaulAddressGrp; - } - } - - augment "/me3gpp:ManagedElement" { - - list GNBCUUPFunction { - key id; - description "Represents the logical function CU-UP of gNB or en-gNB."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - container attributes { - uses GNBCUUPFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-nr-nrm-gnbcuupfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbcuupfunction"; + prefix "gnbcuup3gpp"; + + 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; } + import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } + import _3gpp-nr-nrm-common { prefix nrcommon3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the GNBCUUPFunction Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-08-06 { reference "CR-0333"; } + revision 2020-08-03 { reference "CR-0321"; } + revision 2020-06-03 { reference "CR-0286"; } + revision 2020-05-28 { reference "CR-0318"; } + revision 2020-03-12 { reference "SP-200233 S5-201547"; } + revision 2020-02-14 { reference S5-20XXXX ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-08-21 { + description "Initial revision"; + } + + grouping TAIGrp { + description "Tracking Area Identity"; + + list pLMNId { + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf nRTAC { + type int64; + description "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, 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 BackhaulAddressGrp { + description "Indicates the backhauladdress of gNB."; + + leaf gNBId { + type uint32 { + range "0..4294967295"; + } + 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. + Global gNB ID in subclause 9.3.1.6 of TS 38.413"; + } + + list tAI { + key nRTAC; + min-elements 1; + max-elements 1; + description "Tracking Area Identity"; + reference "subclause 9.3.3.11 in TS 38.413"; + uses TAIGrp; + } + } + + grouping MappingSetIDBackhaulAddressGrp { + description "Mapping relationship between setID and backhaulAddress of gNB"; + + leaf idx { + type uint32 ; + description "ID value"; + } + + leaf setID { + type uint32; + mandatory true; + description "Indicates the setID of gNB."; + reference "Subclause 7.4.1.6 in TS 38.211"; + } + + list backhaulAddress { + key gNBId; + min-elements 1; + max-elements 1; + description "Indicates the backhauladdress of gNB."; + uses BackhaulAddressGrp; + } + } + grouping GNBCUUPFunctionGrp { + description "Represents the GNBCUUPFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + uses nrrrmpolicy3gpp:RRMPolicy_Grp; + + leaf gNBCUUPId { + type uint64 { + range "0..68719476735" ; + } + config false; + mandatory true; + description "Identifies the gNB-CU-UP at least within a gNB-CU-CP"; + reference "'gNB-CU-UP ID' in subclause 9.3.1.15 of 3GPP TS 38.463"; + } + + leaf gNBId { + type uint32; + mandatory true; + description "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. + Global gNB ID in subclause 9.3.1.6 of TS 38.413"; + } + + leaf gNBIdLength { + mandatory true; + type int32 { range "22..32"; } + description "Indicates the number of bits for encoding the gNB Id."; + reference "gNB Id in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + } + + list pLMNInfoList { + description "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that + can be served by the GNBCUUPFunction and which S-NSSAIs can be supported by the + GNBCUUPFunction for corresponding PLMN in case of network slicing feature is supported"; + key "mcc mnc"; + uses nrcommon3gpp:PLMNInfo; + } + + list mappingSetIDBackhaulAddressList { + key idx; + description "Specifies a list of mappingSetIDBackhaulAddress used to + retrieve the backhaul address of the victim set. + Must be present if Remote Interference Management function is supported."; + uses MappingSetIDBackhaulAddressGrp; + } + + leaf configurable5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Configurable5QISet that the GNBCUUPFunction supports (is associated to)."; + } + leaf dynamic5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Dynamic5QISet that the GNBCUUPFunction supports (is associated to)."; + } + } + + augment "/me3gpp:ManagedElement" { + + list GNBCUUPFunction { + key id; + description "Represents the logical function CU-UP of gNB or en-gNB."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + container attributes { + uses GNBCUUPFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang index 7ddace5118ea640c97e81c3c987b29d5280f452c..654d99dca25863ee34e0e7af019ccc791ef523e5 100755 --- a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang @@ -1,87 +1,87 @@ -module _3gpp-nr-nrm-gnbdufunction { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbdufunction"; - prefix "gnbdu3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the GNBDUFunction Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-02-14 { reference S5-20XXXX ; } - revision 2020-03-12 { reference "SP-200233 S5-201547" ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-08-21 { - description "Initial revision."; - } - - grouping GNBDUFunctionGrp { - description "Represents the GNBDUFunction IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - uses nrrrmpolicy3gpp:RRMPolicy_Grp; - - leaf gNBId { - type int64 { range "0..4294967295"; } - config false; - mandatory true; - description "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID) - is part of the NR Cell Identifier (NCI) of the gNB cells."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - } - - leaf gNBIdLength { - type int32 { range "22..32"; } - mandatory true; - description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; - } - - leaf gNBDUId { - type int64 { range "0..68719476735"; } - mandatory true; - description "Uniquely identifies the DU at least within a gNB."; - reference "3GPP TS 38.473"; - } - - leaf gNBDUName { - type string { length "1..150"; } - description "Identifies the Distributed Unit of an NR node"; - reference "3GPP TS 38.473"; - } - - leaf aggressorSetID { - type uint32 { range "0..4194304"; } - config false; - description "Indicates the associated aggressor gNB Set ID of the cell - Valid when Remote Interference Management function is supported."; - reference "3GPP TS 38.211 subclause 7.4.1.6"; - } - leaf victimSetID { - type uint32 { range "0..4194304"; } - config false; - description "Indicates the associated victim gNB Set ID of the cell - Valid when Remote Interference Management function is supported."; - reference "3GPP TS 38.211 subclause 7.4.1.6"; - } - } - - augment "/me3gpp:ManagedElement" { - - list GNBDUFunction { - key id; - description "Represents the logical function DU of gNB or en-gNB."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; - container attributes { - uses GNBDUFunctionGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-nr-nrm-gnbdufunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbdufunction"; + prefix "gnbdu3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the GNBDUFunction Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-03-12 { reference "SP-200233 S5-201547" ; } + revision 2020-02-14 { reference S5-20XXXX ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-08-21 { + description "Initial revision."; + } + + grouping GNBDUFunctionGrp { + description "Represents the GNBDUFunction IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + uses nrrrmpolicy3gpp:RRMPolicy_Grp; + + leaf gNBId { + type int64 { range "0..4294967295"; } + config false; + mandatory true; + description "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID) + is part of the NR Cell Identifier (NCI) of the gNB cells."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + } + + leaf gNBIdLength { + type int32 { range "22..32"; } + mandatory true; + description "Indicates the number of bits for encoding the gNB ID."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + } + + leaf gNBDUId { + type int64 { range "0..68719476735"; } + mandatory true; + description "Uniquely identifies the DU at least within a gNB."; + reference "3GPP TS 38.473"; + } + + leaf gNBDUName { + type string { length "1..150"; } + description "Identifies the Distributed Unit of an NR node"; + reference "3GPP TS 38.473"; + } + + leaf aggressorSetID { + type uint32 { range "0..4194304"; } + config false; + description "Indicates the associated aggressor gNB Set ID of the cell + Valid when Remote Interference Management function is supported."; + reference "3GPP TS 38.211 subclause 7.4.1.6"; + } + leaf victimSetID { + type uint32 { range "0..4194304"; } + config false; + description "Indicates the associated victim gNB Set ID of the cell + Valid when Remote Interference Management function is supported."; + reference "3GPP TS 38.211 subclause 7.4.1.6"; + } + } + + augment "/me3gpp:ManagedElement" { + + list GNBDUFunction { + key id; + description "Represents the logical function DU of gNB or en-gNB."; + reference "3GPP TS 28.541"; + uses top3gpp:Top_Grp; + container attributes { + uses GNBDUFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrcellcu.yang b/yang-models/_3gpp-nr-nrm-nrcellcu.yang index 2465dc8359cd74afa72454d840269e1f0075e45e..c533ff3fafae181cb3987ff54497d06864d4837d 100755 --- a/yang-models/_3gpp-nr-nrm-nrcellcu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcellcu.yang @@ -1,69 +1,87 @@ -module _3gpp-nr-nrm-nrcellcu { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrcellcu"; - prefix "nrcellcu3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-common-top { prefix top3gpp; } - import _3gpp-nr-nrm-common { prefix nrcommon3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the NRCellCU Information Object - Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-02-14 { reference S5-20XXXX ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping NRCellCUGrp { - description "Represents the NRCellCU IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf cellLocalId { - description "Identifies an NR cell of a gNB. Together with corresponding - gNB ID it forms the NR Cell Identifier (NCI)."; - mandatory true; - type int32 { range "0..16383"; } - } - - 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."; - // Note: Whether the attribute pLMNId in the pLMNInfo can be writable depends on the implementation. - key "mcc mnc"; - min-elements 1; - uses nrcommon3gpp:PLMNInfo; - } - - - leaf nRFrequencyRef { - description "Reference to corresponding NRFrequency instance."; - config false; - type types3gpp:DistinguishedName; - } - } - - augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { - - list NRCellCU { - description "Represents the information required by CU that is - responsible for the management of inter-cell mobility and neighbour - relations via ANR."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRCellCUGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-nr-nrm-nrcellcu { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrcellcu"; + prefix "nrcellcu3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-common { prefix nrcommon3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the NRCellCU Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316 ; } + revision 2020-02-14 { reference S5-20XXXX ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + feature DESManagementFunction { + description "Classs representing Distributed SON or Domain-Centralized SON Energy Saving feature"; + } + + feature DRACHOptimizationFunction { + description "Classs representing D-SON function of RACH optimization feature"; + } + + feature DMROFunction { + description "Classs representing D-SON function of MRO feature"; + } + + feature CESManagementFunction { + description "Classs representing Cross Domain-Centralized SON Energy Saving feature"; + } + + grouping NRCellCUGrp { + description "Represents the NRCellCU IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf cellLocalId { + description "Identifies an NR cell of a gNB. Together with corresponding + gNB ID it forms the NR Cell Identifier (NCI)."; + mandatory true; + type int32 { range "0..16383"; } + } + + 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."; + // Note: Whether the attribute pLMNId in the pLMNInfo can be writable depends on the implementation. + key "mcc mnc"; + min-elements 1; + uses nrcommon3gpp:PLMNInfo; + } + + + leaf nRFrequencyRef { + description "Reference to corresponding NRFrequency instance."; + config false; + type types3gpp:DistinguishedName; + } + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + + list NRCellCU { + description "Represents the information required by CU that is + responsible for the management of inter-cell mobility and neighbour + relations via ANR."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRCellCUGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index f974810c3f61f6efa939d6aec5dcf81611b34524..6be5a2ceb999ace1695e43357bfb8ce5ac4ce37c 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -1,213 +1,223 @@ -module _3gpp-nr-nrm-nrcelldu { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrcelldu"; - prefix "nrcelldu3gpp"; - - 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; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } - import _3gpp-nr-nrm-common { prefix nrcommon3gpp; } - - - organization "3GPP SA5"; - description "Defines the YANG mapping of the NRCellDU Information Object - Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-02-14 { reference S5-20XXXX ; } - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-09-03 { - description "Initial revision"; - } - - grouping NRCellDUGrp { - description "Represents the NRCellDU IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - uses nrrrmpolicy3gpp:RRMPolicy_Grp; - - leaf cellLocalId { - description "Identifies an NR cell of a gNB. Together with the - corresponding gNB identifier in forms the NR Cell Identity (NCI)."; - reference "NCI in 3GPP TS 38.300"; - mandatory true; - type int32 { range "0..16383"; } - } - - leaf operationalState { - description "Operational state of the NRCellDU instance. Indicates - whether the resource is installed and partially or fully operable - (ENABLED) or the resource is not installed or not operable - (DISABLED)."; - config false; - type types3gpp:OperationalState; - } - - leaf administrativeState { - description "Administrative state of the NRCellDU. Indicates the - permission to use or prohibition against using the cell, imposed - through the OAM services."; - type types3gpp:AdministrativeState; - default LOCKED; - } - - leaf cellState { - description "Cell state of the NRCellDU instance. Indicates whether the - cell is not currently in use (IDLE), or currently in use but not - configured to carry traffic (INACTIVE), or currently in use and is - configured to carry traffic (ACTIVE)."; - config false; - type types3gpp:CellState; - } - - 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 the NR cell."; - key "mcc mnc"; - min-elements 1; - uses nrcommon3gpp:PLMNInfo; - } - - - leaf nRPCI { - description "The Physical Cell Identity (PCI) of the NR cell."; - reference "3GPP TS 36.211"; - mandatory true; - type int32 { range "0..1007"; } - } - - leaf nRTAC { - description "The common 5GS Tracking Area Code for the PLMNs."; - reference "3GPP TS 23.003, 3GPP TS 38.473"; - type types3gpp:Tac; - } - - leaf arfcnDL { - description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for - downlink."; - reference "3GPP TS 38.104"; - mandatory true; - type int32; - } - - leaf arfcnUL { - description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for - uplink."; - reference "3GPP TS 38.104"; - type int32; - } - - leaf arfcnSUL { - description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for - supplementary uplink."; - reference "3GPP TS 38.104"; - type int32; - } - - leaf bSChannelBwDL { - description "Base station channel bandwidth for downlink."; - reference "3GPP TS 38.104"; - type int32; - units MHz; - } - - leaf bSChannelBwUL { - description "Base station channel bandwidth for uplink."; - reference "3GPP TS 38.104"; - type int32; - units MHz; - } - - leaf bSChannelBwSUL { - description "Base station channel bandwidth for supplementary uplink."; - reference "3GPP TS 38.104"; - mandatory false; - type int32; - units MHz; - } - - leaf ssbFrequency { - description "Indicates cell defining SSB frequency domain position. - Frequency (in terms of NR-ARFCN) of the cell defining SSB transmission. - The frequency identifies the position of resource element RE=#0 - (subcarrier #0) of resource block RB#10 of the SS block. The frequency - must be positioned on the NR global frequency raster, as defined in - 3GPP TS 38.101, and within bSChannelBwDL."; - mandatory true; - type int32 { range "0..3279165"; } - } - - leaf ssbPeriodicity { - description "Indicates cell defined SSB periodicity. The SSB periodicity - is used for the rate matching purpose."; - mandatory true; - type int32 { range "5 | 10 | 20 | 40 | 80 | 160"; } - units "subframes (ms)"; - } - - leaf ssbSubCarrierSpacing { - description "Subcarrier spacing of SSB. Only the values 15 kHz or 30 kHz - (< 6 GHz), 120 kHz or 240 kHz (> 6 GHz) are applicable."; - reference "3GPP TS 38.211"; - mandatory true; - type int32 { range "15 | 30 | 120 | 240"; } - units kHz; - } - - leaf ssbOffset { - description "Indicates cell defining SSB time domain position. Defined - as the offset of the measurement window, in which to receive SS/PBCH - blocks, where allowed values depend on the ssbPeriodicity - (ssbOffset < ssbPeriodicity)."; - mandatory true; - type int32 { range "0..159"; } - units "subframes (ms)"; - } - - leaf ssbDuration { - description "Duration of the measurement window in which to receive - SS/PBCH blocks."; - reference "3GPP TS 38.213"; - mandatory true; - type int32 { range "1..5"; } - units "subframes (ms)"; - } - - leaf-list nRSectorCarrierRef { - description "Reference to corresponding NRSectorCarrier instance."; - min-elements 1; - type types3gpp:DistinguishedName; - } - - leaf-list bWPRef { - description "Reference to corresponding BWP instance."; - min-elements 0; - type types3gpp:DistinguishedName; - } - - leaf-list nRFrequencyRef { - description "Reference to corresponding NRFrequency instance."; - min-elements 0; - type types3gpp:DistinguishedName; - } - } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { - - list NRCellDU { - description "Represents the information of a cell known by DU."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRCellDUGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-nr-nrm-nrcelldu { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrcelldu"; + prefix "nrcelldu3gpp"; + + 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; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-nr-nrm-rrmpolicy { prefix nrrrmpolicy3gpp; } + import _3gpp-nr-nrm-common { prefix nrcommon3gpp; } + + + 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)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-08 { reference S5-203316 ; } + revision 2020-02-14 { reference S5-20XXXX ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-09-03 { + description "Initial revision"; + } + + feature DPCIConfigurationFunction { + description "Classs representing Distributed SON or Domain-Centralized SON function of PCI configuration feature"; + } + + feature CPCIConfigurationFunction { + description "Classs representing Cross Domain-Centralized SON function of PCI configuration feature"; + } + + grouping NRCellDUGrp { + description "Represents the NRCellDU IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + uses nrrrmpolicy3gpp:RRMPolicy_Grp; + + leaf cellLocalId { + description "Identifies an NR cell of a gNB. Together with the + corresponding gNB identifier in forms the NR Cell Identity (NCI)."; + reference "NCI in 3GPP TS 38.300"; + mandatory true; + type int32 { range "0..16383"; } + } + + leaf operationalState { + description "Operational state of the NRCellDU instance. Indicates + whether the resource is installed and partially or fully operable + (ENABLED) or the resource is not installed or not operable + (DISABLED)."; + config false; + type types3gpp:OperationalState; + } + + leaf administrativeState { + description "Administrative state of the NRCellDU. Indicates the + permission to use or prohibition against using the cell, imposed + through the OAM services."; + type types3gpp:AdministrativeState; + default LOCKED; + } + + leaf cellState { + description "Cell state of the NRCellDU instance. Indicates whether the + cell is not currently in use (IDLE), or currently in use but not + configured to carry traffic (INACTIVE), or currently in use and is + configured to carry traffic (ACTIVE)."; + config false; + type types3gpp:CellState; + } + + 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 the NR cell."; + key "mcc mnc"; + min-elements 1; + uses nrcommon3gpp:PLMNInfo; + } + + + leaf nRPCI { + description "The Physical Cell Identity (PCI) of the NR cell."; + reference "3GPP TS 36.211"; + mandatory true; + type int32 { range "0..1007"; } + } + + leaf nRTAC { + description "The common 5GS Tracking Area Code for the PLMNs."; + reference "3GPP TS 23.003, 3GPP TS 38.473"; + type types3gpp:Tac; + } + + leaf arfcnDL { + description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for + downlink."; + reference "3GPP TS 38.104"; + mandatory true; + type int32; + } + + leaf arfcnUL { + description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for + uplink."; + reference "3GPP TS 38.104"; + type int32; + } + + leaf arfcnSUL { + description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for + supplementary uplink."; + reference "3GPP TS 38.104"; + type int32; + } + + leaf bSChannelBwDL { + description "Base station channel bandwidth for downlink."; + reference "3GPP TS 38.104"; + type int32; + units MHz; + } + + leaf bSChannelBwUL { + description "Base station channel bandwidth for uplink."; + reference "3GPP TS 38.104"; + type int32; + units MHz; + } + + leaf bSChannelBwSUL { + description "Base station channel bandwidth for supplementary uplink."; + reference "3GPP TS 38.104"; + mandatory false; + type int32; + units MHz; + } + + leaf ssbFrequency { + description "Indicates cell defining SSB frequency domain position. + Frequency (in terms of NR-ARFCN) of the cell defining SSB transmission. + The frequency identifies the position of resource element RE=#0 + (subcarrier #0) of resource block RB#10 of the SS block. The frequency + must be positioned on the NR global frequency raster, as defined in + 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 + is used for the rate matching purpose."; + mandatory true; + type int32 { range "5 | 10 | 20 | 40 | 80 | 160"; } + units "subframes (ms)"; + } + + leaf ssbSubCarrierSpacing { + description "Subcarrier spacing of SSB. Only the values 15 kHz or 30 kHz + (< 6 GHz), 120 kHz or 240 kHz (> 6 GHz) are applicable."; + reference "3GPP TS 38.211"; + mandatory true; + type int32 { range "15 | 30 | 120 | 240"; } + units kHz; + } + + leaf ssbOffset { + description "Indicates cell defining SSB time domain position. Defined + as the offset of the measurement window, in which to receive SS/PBCH + blocks, where allowed values depend on the ssbPeriodicity + (ssbOffset < ssbPeriodicity)."; + mandatory true; + type int32 { range "0..159"; } + units "subframes (ms)"; + } + + leaf ssbDuration { + description "Duration of the measurement window in which to receive + SS/PBCH blocks."; + reference "3GPP TS 38.213"; + mandatory true; + type int32 { range "1..5"; } + units "subframes (ms)"; + } + + leaf-list nRSectorCarrierRef { + description "Reference to corresponding NRSectorCarrier instance."; + min-elements 1; + type types3gpp:DistinguishedName; + } + + leaf-list bWPRef { + description "Reference to corresponding BWP instance."; + min-elements 0; + type types3gpp:DistinguishedName; + } + + leaf-list nRFrequencyRef { + description "Reference to corresponding NRFrequency instance."; + min-elements 0; + type types3gpp:DistinguishedName; + } + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + + list NRCellDU { + description "Represents the information of a cell known by DU."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRCellDUGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrcellrelation.yang b/yang-models/_3gpp-nr-nrm-nrcellrelation.yang index a65cc0ec7e51abb48960723eaecee0b0d982b92e..f9757380e973d006d2e025b6aa56427260679a61 100755 --- a/yang-models/_3gpp-nr-nrm-nrcellrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrcellrelation.yang @@ -1,120 +1,143 @@ -module _3gpp-nr-nrm-nrcellrelation { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrcellrelation"; - prefix "nrcellrel3gpp"; - - 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; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the NRCellRelation Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-08-30 { - description "Initial revision"; - } - - grouping NRCellRelationGrp { - description "Represents the NRCellRelation IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf nRTCI { - description "Target NR Cell Identifier. It consists of NR Cell - Identifier (NCI) and Physical Cell Identifier of the target NR cell - (nRPCI)."; - type uint64; - } - - container cellIndividualOffset { - description "A set of offset values for the neighbour cell. Used when - UE is in connected mode. Defined for rsrpOffsetSSB, rsrqOffsetSSB, - sinrOffsetSSB, rsrpOffsetCSI-RS, rsrqOffsetCSI-RS and - sinrOffsetCSI-RS."; - reference "cellIndividualOffset in MeasObjectNR in 3GPP TS 38.331"; - - leaf rsrpOffsetSsb { - description "Offset value of rsrpOffsetSSB."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf rsrqOffsetSsb{ - description "Offset value of rsrqOffsetSSB."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf sinrOffsetSsb { - description "Offset value of sinrOffsetSSB."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf rsrpOffsetCsiRs{ - description "Offset value of rsrpOffsetCSI-RS."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf rsrqOffsetCsiRs { - description "Offset value of rsrqOffsetCSI-RS."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf sinrOffsetCsiRs { - description "Offset value of sinrOffsetCSI-RS."; - default 0; - type types3gpp:QOffsetRange; - } - } - - leaf nRFreqRelationRef { - description "Reference to a corresponding NRFreqRelation instance."; - mandatory true; - type types3gpp:DistinguishedName; - } - - leaf adjacentNRCellRef { - description "Reference to an adjacent NR cell (NRCellCU or - ExternalNRCellCU)."; - mandatory true; - type types3gpp:DistinguishedName; - } - - leaf isRemoveAllowed { - type boolean; - default true; - description "True if the ANR function in the node is allowed to remove this relation."; - } - - leaf isHOAllowed { - type boolean; - default true; - description "True if handovers are allowed over this relation."; - } - } - - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { - - list NRCellRelation { - description "Represents a neighbour cell relation from a source cell - to a target cell, where the target cell is an NRCellCU or - ExternalNRCellCU instance."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRCellRelationGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-nr-nrm-nrcellrelation { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrcellrelation"; + prefix "nrcellrel3gpp"; + + 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; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the NRCellRelation Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-06-03 { reference S5-202333 ; } + revision 2020-04-23 { reference CR0281 ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-08-30 { + description "Initial revision"; + } + + + typedef EnergySavingCoverage { + type enumeration { + enum FULL; + enum NO; + enum PARTIAL; + } + } + + grouping NRCellRelationGrp { + description "Represents the NRCellRelation IOC."; + reference "3GPP TS 28.541"; + + leaf nRTCI { + description "Target NR Cell Identifier. It consists of NR Cell + Identifier (NCI) and Physical Cell Identifier of the target NR cell + (nRPCI)."; + type uint64; + } + + container cellIndividualOffset { + description "A set of offset values for the neighbour cell. Used when + UE is in connected mode. Defined for rsrpOffsetSSB, rsrqOffsetSSB, + sinrOffsetSSB, rsrpOffsetCSI-RS, rsrqOffsetCSI-RS and + sinrOffsetCSI-RS."; + reference "cellIndividualOffset in MeasObjectNR in 3GPP TS 38.331"; + + leaf rsrpOffsetSsb { + description "Offset value of rsrpOffsetSSB."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf rsrqOffsetSsb{ + description "Offset value of rsrqOffsetSSB."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf sinrOffsetSsb { + description "Offset value of sinrOffsetSSB."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf rsrpOffsetCsiRs{ + description "Offset value of rsrpOffsetCSI-RS."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf rsrqOffsetCsiRs { + description "Offset value of rsrqOffsetCSI-RS."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf sinrOffsetCsiRs { + description "Offset value of sinrOffsetCSI-RS."; + default 0; + type types3gpp:QOffsetRange; + } + } + + leaf nRFreqRelationRef { + description "Reference to a corresponding NRFreqRelation instance."; + mandatory true; + type types3gpp:DistinguishedName; + } + + leaf adjacentNRCellRef { + description "Reference to an adjacent NR cell (NRCellCU or + ExternalNRCellCU)."; + mandatory true; + type types3gpp:DistinguishedName; + } + + leaf isRemoveAllowed { + type boolean; + default true; + description "True if the ANR function in the node is allowed to remove this relation."; + } + + leaf isHOAllowed { + type boolean; + default true; + description "True if handovers are allowed over this relation."; + } + } + + leaf isESCoveredBy { + description "Indicates whether the adjacent cell + provides no, partial or full coverage for the parent cell + instance. Adjacent cells with this attribute equal to FULL are + recommended to be considered as candidate cells to take over the + coverage when the original cell is about to be changed to energy + saving state. All adjacent cells with this property equal + to PARTIAL are recommended to be considered as entirety of candidate + cells to take over the coverage when the original cell is about to be + changed to energy saving state."; + type EnergySavingCoverage; + } + + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + + list NRCellRelation { + description "Represents a neighbour cell relation from a source cell + to a target cell, where the target cell is an NRCellCU or + ExternalNRCellCU instance."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRCellRelationGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index 0fe3b9a674dcac476cb61581597b3a91755d8b63..18ac8edec753e492b9cf7435ae96d831ea6b9dcd 100755 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -1,245 +1,245 @@ -module _3gpp-nr-nrm-nrfreqrelation { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrfreqrelation"; - prefix "nrfreqrel3gpp"; - - 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; } - import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } - import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the NRFreqRelation Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping NRFreqRelationGrp { - description "Represents the NRFreqRelation IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - container offsetMO { - description "A set of offset values applicable to all measured cells - with reference signal(s) indicated in corresponding MeasObjectNR. It - is used to indicate a cell, beam or measurement object specific offset - to be applied when evaluating candidates for cell re-selection or when - evaluating triggering conditions for measurement reporting. It is - defined for rsrpOffsetSSB, rsrqOffsetSSB, sinrOffsetSSB, - rsrpOffsetCSI-RS, rsrqOffsetCSI-RS and sinrOffsetCSI-RS."; - reference "offsetMO in MeasObjectNR in 3GPP TS 38.331"; - - leaf rsrpOffsetSsb { - description "Offset value of rsrpOffsetSSB."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf rsrqOffsetSsb { - description "Offset value of rsrqOffsetSSB."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf sinrOffsetSsb { - description "Offset value of sinrOffsetSSB."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf rsrpOffsetCsiRs { - description "Offset value of rsrpOffsetCSI-RS."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf rsrqOffsetCsiRs { - description "Offset value of rsrqOffsetCSI-RS."; - default 0; - type types3gpp:QOffsetRange; - } - - leaf sinrOffsetCsiRs { - description "Offset value of sinrOffsetCSI-RS."; - default 0; - type types3gpp:QOffsetRange; - } - } - - leaf-list blackListEntry { - description "A list of Physical Cell Identities (PCIs) that are - blacklisted in NR measurements."; - reference "3GPP TS 38.331"; - min-elements 0; - type uint16 { range "0..1007"; } - } - - leaf-list blackListEntryIdleMode { - description "A list of Physical Cell Identities (PCIs) that are - blacklisted in SIB4 and SIB5."; - min-elements 0; - type uint16 { range "0..1007"; } - } - - leaf cellReselectionPriority { - description "The absolute priority of the carrier frequency used by the - cell reselection procedure. Value 0 means lowest priority. The value - must not already used by other RAT, i.e. equal priorities between RATs - are not supported. The UE behaviour when no value is entered is - specified in subclause 5.2.4.1 of 3GPP TS 38.304."; - reference "CellReselectionPriority in 3GPP TS 38.331, priority in - 3GPP TS 38.304"; - type uint32; - default 0; - } - - leaf cellReselectionSubPriority { - description "Indicates a fractional value to be added to the value of - cellReselectionPriority to obtain the absolute priority of the - concerned carrier frequency for E-UTRA and NR."; - reference "3GPP TS 38.331"; - type uint8 { range "2 | 4 | 6 | 8"; } - units "0.1"; - } - - leaf pMax { - description "Used for calculation of the parameter Pcompensation - (defined in 3GPP TS 38.304), at cell reselection to a cell."; - reference "PEMAX in 3GPP TS 38.101"; - mandatory false; - type int32 { range "-30..33"; } - units dBm; - } - - leaf qOffsetFreq { - description "The frequency specific offset applied when evaluating - candidates for cell reselection."; - mandatory false; - type types3gpp:QOffsetRange; - default 0; - } - - leaf qQualMin { - description "Indicates the minimum required quality level in the cell. - Value 0 means that it is not sent and UE applies in such case the - (default) value of negative infinity for Qqualmin. Sent in SIB3 or - SIB5."; - reference "3GPP TS 38.304"; - type int32 { range "-34..-3 | 0"; } - units dB; - default 0; - } - - leaf qRxLevMin { - description "Indicates the required minimum received Reference Symbol - Received Power (RSRP) level in the NR frequency for cell reselection. - Broadcast in SIB3 or SIB5, depending on whether the related frequency - is intra- or inter-frequency. Resolution is 2."; - reference "3GPP TS 38.304"; - mandatory true; - type int32 { range "-140..-44"; } - units dBm; - } - - leaf threshXHighP { - description "Specifies the Srxlev threshold used by the UE when - reselecting towards a higher priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold. Resolution is 2."; - reference "ThreshX, HighP in 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..62"; } - units dB; - } - - leaf threshXHighQ { - description "Specifies the Squal threshold used by the UE when - reselecting towards a higher priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold."; - reference "ThreshX, HighQ in 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..31"; } - units dB; - } - - leaf threshXLowP { - description "Specifies the Srxlev threshold used by the UE when - reselecting towards a lower priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold. Resolution is 2."; - reference "ThreshX, LowP in 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..62"; } - units dB; - } - - leaf threshXLowQ { - description "Specifies the Squal threshold used by the UE when - reselecting towards a lower priority RAT/frequency than the current - serving frequency. Each frequency of NR and E-UTRAN might have a - specific threshold."; - reference "ThreshX, LowQ in 3GPP TS 38.304"; - mandatory true; - type int32 { range "0..31"; } - units dB; - } - - leaf tReselectionNR { - description "Cell reselection timer for NR."; - reference "TreselectionRAT for NR in 3GPP TS 38.331"; - mandatory true; - type int32 { range "0..7"; } - units s; - } - - leaf tReselectionNRSfHigh { - description "The attribute tReselectionNr (parameter TreselectionNR in - 3GPP TS 38.304) is multiplied with this scaling factor if the UE is - in high mobility state."; - reference "Speed dependent ScalingFactor for TreselectionNR for high - mobility state in 3GPP TS 38.304"; - mandatory true; - type uint8 { range "25 | 50 | 75 | 100"; } - units %; - } - - leaf tReselectionNRSfMedium { - description "The attribute tReselectionNr (parameter TreselectionNR in - 3GPP TS 38.304) multiplied with this scaling factor if the UE is in - medium mobility state."; - reference "Speed dependent ScalingFactor for TreselectionNR for medium - mobility state in 3GPP TS 38.304"; - mandatory true; - type uint8 { range "25 | 50 | 75 | 100"; } - units %; - } - - leaf nRFrequencyRef { - description "Reference to a corresponding NRFrequency instance."; - mandatory true; - type types3gpp:DistinguishedName; - } - } - - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { - - list NRFreqRelation { - description "Together with the target NRFrequency, it represents the - frequency properties applicable to the referencing NRFreqRelation."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRFreqRelationGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-nr-nrm-nrfreqrelation { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrfreqrelation"; + prefix "nrfreqrel3gpp"; + + 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; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the NRFreqRelation Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-04-23 { reference CR0281 ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping NRFreqRelationGrp { + description "Represents the NRFreqRelation IOC."; + reference "3GPP TS 28.541"; + + container offsetMO { + description "A set of offset values applicable to all measured cells + with reference signal(s) indicated in corresponding MeasObjectNR. It + is used to indicate a cell, beam or measurement object specific offset + to be applied when evaluating candidates for cell re-selection or when + evaluating triggering conditions for measurement reporting. It is + defined for rsrpOffsetSSB, rsrqOffsetSSB, sinrOffsetSSB, + rsrpOffsetCSI-RS, rsrqOffsetCSI-RS and sinrOffsetCSI-RS."; + reference "offsetMO in MeasObjectNR in 3GPP TS 38.331"; + + leaf rsrpOffsetSsb { + description "Offset value of rsrpOffsetSSB."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf rsrqOffsetSsb { + description "Offset value of rsrqOffsetSSB."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf sinrOffsetSsb { + description "Offset value of sinrOffsetSSB."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf rsrpOffsetCsiRs { + description "Offset value of rsrpOffsetCSI-RS."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf rsrqOffsetCsiRs { + description "Offset value of rsrqOffsetCSI-RS."; + default 0; + type types3gpp:QOffsetRange; + } + + leaf sinrOffsetCsiRs { + description "Offset value of sinrOffsetCSI-RS."; + default 0; + type types3gpp:QOffsetRange; + } + } + + leaf-list blackListEntry { + description "A list of Physical Cell Identities (PCIs) that are + blacklisted in NR measurements."; + reference "3GPP TS 38.331"; + min-elements 0; + type uint16 { range "0..1007"; } + } + + leaf-list blackListEntryIdleMode { + description "A list of Physical Cell Identities (PCIs) that are + blacklisted in SIB4 and SIB5."; + min-elements 0; + type uint16 { range "0..1007"; } + } + + leaf cellReselectionPriority { + description "The absolute priority of the carrier frequency used by the + cell reselection procedure. Value 0 means lowest priority. The value + must not already used by other RAT, i.e. equal priorities between RATs + are not supported. The UE behaviour when no value is entered is + specified in subclause 5.2.4.1 of 3GPP TS 38.304."; + reference "CellReselectionPriority in 3GPP TS 38.331, priority in + 3GPP TS 38.304"; + type uint32; + default 0; + } + + leaf cellReselectionSubPriority { + description "Indicates a fractional value to be added to the value of + cellReselectionPriority to obtain the absolute priority of the + concerned carrier frequency for E-UTRA and NR."; + reference "3GPP TS 38.331"; + type uint8 { range "2 | 4 | 6 | 8"; } + units "0.1"; + } + + leaf pMax { + description "Used for calculation of the parameter Pcompensation + (defined in 3GPP TS 38.304), at cell reselection to a cell."; + reference "PEMAX in 3GPP TS 38.101-1"; + mandatory false; + type int32 { range "-30..33"; } + units dBm; + } + + leaf qOffsetFreq { + description "The frequency specific offset applied when evaluating + candidates for cell reselection."; + mandatory false; + type types3gpp:QOffsetRange; + default 0; + } + + leaf qQualMin { + description "Indicates the minimum required quality level in the cell. + Value 0 means that it is not sent and UE applies in such case the + (default) value of negative infinity for Qqualmin. Sent in SIB3 or + SIB5."; + reference "3GPP TS 38.304"; + type int32 { range "-34..-3 | 0"; } + units dB; + default 0; + } + + leaf qRxLevMin { + description "Indicates the required minimum received Reference Symbol + Received Power (RSRP) level in the NR frequency for cell reselection. + Broadcast in SIB3 or SIB5, depending on whether the related frequency + is intra- or inter-frequency. Resolution is 2."; + reference "3GPP TS 38.304"; + mandatory true; + type int32 { range "-140..-44"; } + units dBm; + } + + leaf threshXHighP { + description "Specifies the Srxlev threshold used by the UE when + reselecting towards a higher priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold. Resolution is 2."; + reference "ThreshX, HighP in 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..62"; } + units dB; + } + + leaf threshXHighQ { + description "Specifies the Squal threshold used by the UE when + reselecting towards a higher priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold."; + reference "ThreshX, HighQ in 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..31"; } + units dB; + } + + leaf threshXLowP { + description "Specifies the Srxlev threshold used by the UE when + reselecting towards a lower priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold. Resolution is 2."; + reference "ThreshX, LowP in 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..62"; } + units dB; + } + + leaf threshXLowQ { + description "Specifies the Squal threshold used by the UE when + reselecting towards a lower priority RAT/frequency than the current + serving frequency. Each frequency of NR and E-UTRAN might have a + specific threshold."; + reference "ThreshX, LowQ in 3GPP TS 38.304"; + mandatory true; + type int32 { range "0..31"; } + units dB; + } + + leaf tReselectionNR { + description "Cell reselection timer for NR."; + reference "TreselectionRAT for NR in 3GPP TS 38.331"; + mandatory true; + type int32 { range "0..7"; } + units s; + } + + leaf tReselectionNRSfHigh { + description "The attribute tReselectionNr (parameter TreselectionNR in + 3GPP TS 38.304) is multiplied with this scaling factor if the UE is + in high mobility state."; + reference "Speed dependent ScalingFactor for TreselectionNR for high + mobility state in 3GPP TS 38.304"; + mandatory true; + type uint8 { range "25 | 50 | 75 | 100"; } + units %; + } + + leaf tReselectionNRSfMedium { + description "The attribute tReselectionNr (parameter TreselectionNR in + 3GPP TS 38.304) multiplied with this scaling factor if the UE is in + medium mobility state."; + reference "Speed dependent ScalingFactor for TreselectionNR for medium + mobility state in 3GPP TS 38.304"; + mandatory true; + type uint8 { range "25 | 50 | 75 | 100"; } + units %; + } + + leaf nRFrequencyRef { + description "Reference to a corresponding NRFrequency instance."; + mandatory true; + type types3gpp:DistinguishedName; + } + } + + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + + list NRFreqRelation { + description "Together with the target NRFrequency, it represents the + frequency properties applicable to the referencing NRFreqRelation."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRFreqRelationGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang index 1a99d01a8827661dc92e28b5bc6a072805e498f8..77c905ead0a0dc7592513519eb06ee18bce0fc23 100755 --- a/yang-models/_3gpp-nr-nrm-nrfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-nrfrequency.yang @@ -1,71 +1,71 @@ -module _3gpp-nr-nrm-nrfrequency { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-nrfrequency"; - prefix "nrfreq3gpp"; - - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the NRFrequency Information Object - Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping NRFrequencyGrp { - description "Represents the NRFrequency IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf absoluteFrequencySSB { - description "The absolute frequency applicable for a downlink NR carrier - frequency associated with the SSB, in terms of NR-ARFCN."; - mandatory true; - type uint32 { range "0.. 3279165"; } - } - - leaf sSBSubCarrierSpacing { - description "Sub-carrier spacing of the SSB."; - mandatory true; - type uint8 { range "15 | 30 | 60 | 120"; } - units "kHz"; - } - - leaf-list multiFrequencyBandListNR { - description "List of additional frequency bands the frequency belongs to. - The list is automatically set by the gNB."; - config false; - min-elements 0; - type uint16 { range "1..256"; } - } - } - - grouping NRFrequencyWrapper { - list NRFrequency { - description "Represents certain NR frequency properties."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRFrequencyGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses NRFrequencyWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses NRFrequencyWrapper; - } +module _3gpp-nr-nrm-nrfrequency { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-nrfrequency"; + prefix "nrfreq3gpp"; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the NRFrequency Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping NRFrequencyGrp { + description "Represents the NRFrequency IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf absoluteFrequencySSB { + description "The absolute frequency applicable for a downlink NR carrier + frequency associated with the SSB, in terms of NR-ARFCN."; + mandatory true; + type uint32 { range "0.. 3279165"; } + } + + leaf sSBSubCarrierSpacing { + description "Sub-carrier spacing of the SSB."; + mandatory true; + type uint8 { range "15 | 30 | 60 | 120"; } + units "kHz"; + } + + leaf-list multiFrequencyBandListNR { + description "List of additional frequency bands the frequency belongs to. + The list is automatically set by the gNB."; + config false; + min-elements 0; + type uint16 { range "1..256"; } + } + } + + grouping NRFrequencyWrapper { + list NRFrequency { + description "Represents certain NR frequency properties."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRFrequencyGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature subnet3gpp:ExternalsUnderSubNetwork ; + uses NRFrequencyWrapper; + } + + augment "/nrnet3gpp:NRNetwork" { + if-feature nrnet3gpp:ExternalsUnderNRNetwork; + uses NRFrequencyWrapper; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrnetwork.yang b/yang-models/_3gpp-nr-nrm-nrnetwork.yang index 83f0a6b2b47a5017bdb7fed9875fdd357fcea1eb..0e0bfc559e479d4c8ddf0015616e0cf6614bbd92 100755 --- a/yang-models/_3gpp-nr-nrm-nrnetwork.yang +++ b/yang-models/_3gpp-nr-nrm-nrnetwork.yang @@ -1,39 +1,39 @@ -module _3gpp-nr-nrm-nrnetwork { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork"; - prefix "nrnet3gpp"; - - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the NRNetwork Information Object - Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-06-17 { - description "Initial revision"; - } - - feature ExternalsUnderNRNetwork { - description "Classes representing external entities like NRFrequency, - ExternalGNBCUCPFunction, ExternalGNBDUFunction - are contained under a NRNetwork list/class."; - } - - grouping NRNetworkGrp { - description "Represents the NRNetwork IOC."; - reference "3GPP TS 28.541"; - uses subnet3gpp:SubNetworkGrp; - } - - list NRNetwork { - description "A subnetwork containing gNB external NR entities."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRNetworkGrp; - } - } +module _3gpp-nr-nrm-nrnetwork { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork"; + prefix "nrnet3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the NRNetwork Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2019-06-17 { + description "Initial revision"; + } + + feature ExternalsUnderNRNetwork { + description "Classes representing external entities like NRFrequency, + ExternalGNBCUCPFunction, ExternalGNBDUFunction + are contained under a NRNetwork list/class."; + } + + grouping NRNetworkGrp { + description "Represents the NRNetwork IOC."; + reference "3GPP TS 28.541"; + uses subnet3gpp:SubNetworkGrp; + } + + list NRNetwork { + description "A subnetwork containing gNB external NR entities."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRNetworkGrp; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang b/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang index d7129f72c4d37ad375d52597bfbf1e5e40abe7cd..6153b045870cc901447140db6e624c2e7577b263 100755 --- a/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang +++ b/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang @@ -1,99 +1,119 @@ -module _3gpp-nr-nrm-nrsectorcarrier { - yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-nrsectorcarrier"; - prefix "nrsectcarr3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-managed-element { prefix me3gpp; } - import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the NRSectorCarrier Information - Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - grouping NRSectorCarrierGrp { - description "Represents the NRSectorCarrier IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; - - leaf txDirection { - description "Indicates if the transmission direction is downlink, - uplink, or both downlink and uplink."; - mandatory true; - type types3gpp:TxDirection; - } - - leaf configuredMaxTxPower { - description "Maximum possible transmisssion power for all downlink - channels, used simultaneously in a sector-carrier, added together."; - mandatory true; - type int32; - units mW; - } - - leaf arfcnDL { - description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) - for downlink."; - reference "3GPP TS 38.104"; - mandatory true; - type int32 { range "0..3279165"; } - } - - leaf arfcnUL { - description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) - for uplink."; - reference "3GPP TS 38.104"; - mandatory true; - type int32 { range "0..3279165"; } - } - - leaf bSChannelBwDL { - description "Base station channel bandwitdth for downlink."; - reference "3GPP TS 38.104"; - mandatory true; - type int32 { range "5 | 10 | 15 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | - 90 | 100"; } - units MHz; - } - - leaf bSChannelBwUL { - description "Base station channel bandwitdth for uplink."; - reference "3GPP TS 38.104"; - mandatory true; - type int32 { range "5 | 10 | 15 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | - 90 | 100"; } - units MHz; - } - - leaf sectorEquipmentFunctionRef { - description "Reference to corresponding SectorEquipmentFunction - instance."; - reference "3GPP TS 23.622"; - mandatory true; - type types3gpp:DistinguishedName; - } - } - - augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { - - list NRSectorCarrier { - description "Represents the resources of each transmission point - included in the cell."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRSectorCarrierGrp; - } - uses mf3gpp:ManagedFunctionContainedClasses; - } - } +module _3gpp-nr-nrm-nrsectorcarrier { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-nrsectorcarrier"; + prefix "nrsectcarr3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + 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 NRSectorCarrier Information + Object Class (IOC) that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-05-28 { reference CR-0316 ; } + revision 2019-10-28 { reference S5-193518 ; } + revision 2019-06-17 { + description "Initial revision"; + } + + grouping NRSectorCarrierGrp { + description "Represents the NRSectorCarrier IOC."; + reference "3GPP TS 28.541"; + uses mf3gpp:ManagedFunctionGrp; + + leaf txDirection { + description "Indicates if the transmission direction is downlink, + uplink, or both downlink and uplink."; + mandatory true; + type types3gpp:TxDirection; + } + + leaf configuredMaxTxPower { + description "Maximum transmisssion power at the antenna port for all + downlink channels, used simultaneously in a cell, added together. + Condition: The sector-carrier has a downlink and the + configuration of Tx power at antenna port reference point is supported."; + mandatory true; + type int32; + units mW; + } + + leaf configuredMaxTxEIRP { + type int64; + units dBm; + mandatory true; + description "The maximum emitted isotroptic radiated power (EIRP) in dBm + for all downlink channels, used simultaneously in a cell, added together. + Condition: the sector-carrier has a downlink and the + configuration of emitted isotropic radiated power is supported"; + } + + leaf arfcnDL { + description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) + for downlink. + Condition: The sector-carrier has a downlink AND the value + differs from the referring cell's value of arfcnDL."; + reference "3GPP TS 38.104"; + mandatory true; + type int32 { range "0..3279165"; } + } + + leaf arfcnUL { + description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) + for uplink. + Condition: The sector-carrier has an uplink AND the value + differs from the referring cell's value of arfcnUL."; + reference "3GPP TS 38.104"; + mandatory true; + type int32 { range "0..3279165"; } + } + + leaf bSChannelBwDL { + description "Base station channel bandwitdth for downlink. + Condition: The sector-carrier has a downlink AND the value + differs from the referring cell's value of bSChannelBwDL."; + reference "3GPP TS 38.104"; + mandatory true; + type int32 { range "5 | 10 | 15 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | + 90 | 100"; } + units MHz; + } + + leaf bSChannelBwUL { + description "Base station channel bandwitdth for uplink."; + reference "3GPP TS 38.104"; + mandatory true; + type int32 { range "5 | 10 | 15 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | + 90 | 100"; } + units MHz; + } + + leaf sectorEquipmentFunctionRef { + description "Reference to corresponding SectorEquipmentFunction + instance."; + reference "3GPP TS 23.622"; + mandatory true; + type types3gpp:DistinguishedName; + } + } + + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + + list NRSectorCarrier { + description "Represents the resources of each transmission point + included in the cell."; + reference "3GPP TS 28.541"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRSectorCarrierGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } } \ 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 b4fcad2f0204e503066122c984af540056c03f11..5a90b91638c813da9f7d4dfb81c0f529851bd26d 100755 --- a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang +++ b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang @@ -1,153 +1,120 @@ -module _3gpp-nr-nrm-rrmpolicy { - yang-version 1.1; - namespace "urn:3gpp:sa5:3gpp-nr-nrm-nrnetwork-rrmpolicy"; - prefix "nrrrmpolicy3gpp"; - - import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-common-top { prefix top3gpp; } - - organization "3GPP SA5"; - description "Defines the YANG mapping of the RRMPolicy abstract class that is part of the NR Network Resource Model (NRM)."; - reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - - revision 2020-02-14 { - description "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 pLMNId and sNSSAI (S-NSSAI). - The members in a rRMPolicyMemberList are assigned a specific amount of RRM resources - based on settings in RRMPolicy."; - uses types3gpp:PLMNId; - leaf sNSSAI { - type types3gpp:SNssai; - } - } - - typedef QuotaType { - type enumeration { - enum STRICT; - enum FLOAT; - } - } - - typedef CyclicPrefix { - type enumeration { - enum NORMAL; - enum EXTENDED; - } - } - - 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 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. 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, see the - inheritance in TS 28.541 Figure 4.2.1.2-1. 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. Valid values are 'PRB', 'RRC' or 'DRB'"; - mandatory true; - type string; - } - - list rRMPolicyMemberList{ - 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 "idx"; - leaf idx { type uint32; } - uses rRMPolicyMemberGrp; - } - } // grouping - - - grouping RRMPolicyRatioGrp { - description "Represents the RRMPolicyRatio concrete IOC."; - - uses RRMPolicy_Grp; // Inherits RRMPolicy_ - - leaf quotaType { - description "The type of the quota which allows to allocate resources as - strictly usable for defined slice(s) (strict quota) or allows that - resources to be used by other slice(s) when defined slice(s) do not - need them (float quota)."; - mandatory true; - type QuotaType; - } - - leaf rRMPolicyMaxRatio { - description "The RRM policy setting the maximum percentage of radio - resources to be allocated to the corresponding S-NSSAI list. This - quota can be strict or float quota. Strict quota means resources are - not allowed for other sNSSAIs even when they are not used by the - defined sNSSAIList. Float quota resources can be used by other sNSSAIs - when the defined sNSSAIList do not need them. Value 0 indicates that - there is no maximum limit."; - mandatory true; - type uint8 { range "0..100"; } - units percent; - } - - leaf rRMPolicyMarginMaxRatio { - description "Maximum quota margin ratio is applicable when maximum quota - policy ratio is of type float quota. It defines the resource quota - within maximum quota to reserve buffers for new resource requirements - for the specified S-NSSAI list. With the margin ratio, unused resources - of the maximum resource quota can be allocated to other S-NSSAIs when - the free resources are more than resource amount indicated by the - margin. The margin resource quota can only be used for the specific - S-NSSAI list. Value 0 indicates that no margin is used."; - type uint8 { range "0..100"; } - units percent; - } - - leaf rRMPolicyMinRatio { - description "The RRM policy setting the minimum percentage of radio - resources to be allocated to the corresponding S-NSSAI list. This - quota can be strict or float quota. Strict quota means resources are - not allowed for other sNSSAIs even when they are not used by the - defined sNSSAIList. Float quota resources can be used by other sNSSAIs - when the defined sNSSAIList do not need them. Value 0 indicates that - there is no minimum limit."; - mandatory true; - type uint8 { range "0..100"; } - units percent; - } - - leaf rRMPolicyMarginMinRatio { - description "Minimum quota margin ratio is applicable when minimum quota - policy ratio is of type float quota. It defines the resource quota - within minimum quota to reserve buffers for new resource requirements - for the specified S-NSSAI list. With the margin ratio, unused resources - of the minimum resource quota can be allocated to other S-NSSAIs when - the free resources are more than resource amount indicated by the - margin. The margin resource quota can only be used for the specific - S-NSSAI list. Value 0 indicates that no margin is used. Value 0 - indicates that there is no minimum limit."; - type uint8 { range "0..100"; } - units percent; - } - } - - list RRMPolicyRatio { - description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the - inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both - standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the - abstract RRMPolicy_ IOC. For details see subclause 4.3.36."; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses RRMPolicyRatioGrp; - } - } - +module _3gpp-nr-nrm-rrmpolicy { + yang-version 1.1; + namespace "urn:3gpp:sa5:3gpp-nr-nrm-nrnetwork-rrmpolicy"; + prefix "nrrrmpolicy3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + description "Defines the YANG mapping of the RRMPolicy abstract class that is part of the NR Network Resource Model (NRM)."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2020-04-28 { + reference "CR0285"; + } + revision 2020-02-14 { + description "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 pLMNId and sNSSAI (S-NSSAI). + The members in a rRMPolicyMemberList are assigned a specific amount of RRM resources + based on settings in RRMPolicy."; + uses types3gpp:PLMNId; + leaf sNSSAI { + type types3gpp:SNssai; + } + } + + typedef CyclicPrefix { + type enumeration { + enum NORMAL; + enum EXTENDED; + } + } + + 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 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. 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, see the + inheritance in TS 28.541 Figure 4.2.1.2-1. 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. Valid values are 'PRB', 'RRC' or 'DRB'"; + mandatory true; + type string; + } + + list rRMPolicyMemberList{ + 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 "idx"; + leaf idx { type uint32; } + uses rRMPolicyMemberGrp; + } + } // grouping + + + grouping RRMPolicyRatioGrp { + description "Represents the RRMPolicyRatio concrete IOC."; + + 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 + the shared resources, prioritized resources and dedicated resources. + 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"; } + units percent; + } + + 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 rRMPolicyMinRatio values assigned to all RRM PolicyRatio(s) + name-contained by same ManagedEntity shall be less or equal 100."; + default 0; + type uint8 { range "0..100"; } + units percent; + } + + leaf rRMPolicyDedicatedRatio { + 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. "; + default 0; + type uint8 { range "0..100"; } + units percent; + } + } + + list RRMPolicyRatio { + description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the + inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both + standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the + abstract RRMPolicy_ IOC. For details see subclause 4.3.36."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses RRMPolicyRatioGrp; + } + } + } \ No newline at end of file