H.5 Modules
28.5413GPP5G Network Resource Model (NRM)Management and orchestrationStage 2 and stage 3TS
H.5.1 module _3gpp-5g-common-yang-types.yang
<CODE BEGINS>
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";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "The model defines common types for 5G networks and
network slicing.";
reference "3GPP TS 28.541";
revision 2021-08-05 { reference S5-214053/CR-0518; }
revision 2020-11-05 { reference CR-0412 ; }
revision 2019-10-20 { reference "Initial version."; }
grouping SNssai {
description
"Single Network Slice Selection Assistance Information(S-NSSAI)";
reference "3GPP TS 23.003";
leaf sd {
description "Slice Differentiator
If not needed, the value can be set to FFFFFF.";
type string{
length 6;
pattern ‘[a-fA-F0-9]*’;
}
reference "3GPP TS 23.003";
}
leaf sst {
type uint8;
description "Slice/Service Type.
Values 0 to 127 belong to standardized SST range and are defined in
3GPP TS 23.501. Values 128 to 255 belong to operator-specific range.";
}
}
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";
uses types3gpp:PLMNId;
uses SNssai;
}
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;
}
}
typedef EnergySavingLoadThresholdT {
type uint32 {
range 0..10000;
}
units 1/10000;
}
typedef EnergySavingTimeDurationT {
type uint32 {
range 0..900;
}
units seconds;
}
typedef PhysCellID {
type uint32 {
range "0..1007";
}
reference "clause 7.4.2 of TS 38.211";
}
typedef UTC24TimeOfDayT {
description "Time of day in HH:MM or H:MM 24-hour format per UTC
time zone.";
type string {
pattern "(([01]?[0-9])|(2[0-3])):([0-5][0-9])";
}
}
typedef DayOfWeekT {
type enumeration {
enum Monday;
enum Tuesday;
enum Wednesday;
enum Thursday;
enum Friday;
enum Saturday;
enum Sunday;
}
}
}
<CODE ENDS>
H.5.1a module _3gpp-5gc-nrm-affunction.yang
<CODE BEGINS>
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;
}
}
}
}
<CODE ENDS>
H.5.2 module _3gpp-5gc-nrm-amffunction.yang
<CODE BEGINS>
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; }
organization "3gpp SA5";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "AMFFunction derived from basic ManagedFunction.";
reference "3GPP TS 28.541 5G Network Resource Model (NRM)";
revision 2022-01-07 { reference CR-0643; }
revision 2020-11-06 { reference CR-0412 ; }
revision 2019-10-25 { reference "S5-194457 S5-193518"; }
revision 2019-05-31 { reference "Ericsson refactoring."; }
revision 2018-08-07 { reference "Initial revision"; }
grouping AMFFunctionGrp {
description "Represents the AMFFunction IOC";
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;
}
list sNSSAIList {
min-elements 1;
description "List of S-NSSAIs the managed object is capable of supporting.
(Single Network Slice Selection Assistance Information)
An S-NSSAI has an SST (Slice/Service type) and an optional SD
(Slice Differentiator) field.";
reference "3GPP TS 23.003";
key "sd sst";
uses types5g3gpp:SNssai;
}
list managedNFProfile {
key idx;
min-elements 1;
max-elements 1;
uses types3gpp:ManagedNFProfile;
}
list commModelList {
min-elements 1;
key "groupId";
description "Specifies a list of commModel. It can be used by NF and
NF services to interact with each other in 5G Core network ";
reference "3GPP TS 23.501";
uses types5g3gpp:CommModel;
}
}
augment "/me3gpp:ManagedElement" {
list AMFFunction {
description "5G Core AMF Function";
reference "3GPP TS 28.541";
key id;
uses top3gpp:Top_Grp;
container attributes {
uses AMFFunctionGrp;
}
uses mf3gpp:ManagedFunctionContainedClasses;
}
}
}
<CODE ENDS>
H.5.3 module _3gpp-5gc-nrm-amfregion.yang
<CODE BEGINS>
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; }
import _3gpp-5g-common-yang-types { prefix types5g3gpp; }
organization "3gpp SA5";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "This IOC represents the AMF Region which consists one or
multiple AMF Sets.";
reference "3GPP TS 28.541 5G Network Resource Model (NRM)";
revision 2022-01-07 { reference CR-0643; }
revision 2020-11-06 { reference CR-0412 ; }
revision 2019-10-28 { reference S5-193518 ; }
revision 2019-06-11 { reference ""; }
grouping AMFRegionGrp {
description "Represents the AMFRegion IOC";
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;
}
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";
key "sd sst";
uses types5g3gpp: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;
}
}
}
<CODE ENDS>
H.5.4 module _3gpp-5gc-nrm-amfset.yang
<CODE BEGINS>
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; }
import _3gpp-5g-common-yang-types { prefix types5g3gpp; }
organization "3gpp SA5";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "This IOC represents the AMF Set which consists of some AMFs
that serve a given area and Network Slice.";
reference "3GPP TS 28.541 5G Network Resource Model (NRM)";
revision 2022-01-07 { reference CR-0643; }
revision 2020-11-06 { reference CR-0412 ; }
revision 2019-10-28 { reference S5-193518 ; }
revision 2019-06-11 { reference "Ericsson refactoring."; }
grouping AMFSetGrp {
description "Represents the AMFSet IOC";
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;
}
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";
key "sd sst";
uses types5g3gpp: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;
}
}
}
<CODE ENDS>
H.5.5 module _3gpp-5gc-nrm-ausffunction.yang
<CODE BEGINS>
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";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
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 2022-01-07 { reference CR-0643; }
revision 2020-11-06 { reference CR-0412 ; }
revision 2019-10-25 { reference "S5-194457 S5-193518"; }
revision 2019-05-22 {reference "initial revision"; }
grouping AUSFFuntionGrp {
description "Represents the AUSFFuntion IOC";
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;
}
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";
key "sd sst";
uses types5g3gpp:SNssai;
}
list managedNFProfile {
key idx;
min-elements 1;
max-elements 1;
uses types3gpp:ManagedNFProfile;
}
list commModelList {
min-elements 1;
key "groupId";
description "Specifies a list of commModel. It can be used by NF and
NF services to interact with each other in 5G Core network ";
reference "3GPP TS 23.501";
uses types5g3gpp:CommModel;
}
}
augment "/me3gpp:ManagedElement" {
list AUSFFunction {
description "5G Core AUSF Function";
reference "3GPP TS 28.541";
key id;
uses top3gpp:Top_Grp;
container attributes {
uses AUSFFuntionGrp;
}
uses mf3gpp:ManagedFunctionContainedClasses;
}
}
}
<CODE ENDS>
H.5.6 module _3gpp-5gc-nrm-dnfunction.yang
<CODE BEGINS>
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;
}
}
}
<CODE ENDS>
H.5.7 module _3gpp-5gc-nrm-ep.yang
<CODE BEGINS>
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;
}
}
}
}
<CODE ENDS>
H.5.8 module _3gpp-5gc-nrm-externalnrffunction.yang
<CODE BEGINS>
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; }
}
}
<CODE ENDS>
H.5.9 module _3gpp-5gc-nrm-externalnssffunction.yang
<CODE BEGINS>
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;
}
}
}
<CODE ENDS>
H.5.10 module _3gpp-5gc-nrm-lmffunction.yang
<CODE BEGINS>
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;
}
}
}
<CODE ENDS>
H.5.11 module _3gpp-5gc-nrm-n3iwffunction.yang
<CODE BEGINS>
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;
}
}
}
<CODE ENDS>
H.5.12 module _3gpp-5gc-nrm-nfprofile.yang
<CODE BEGINS>
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;
}
}
}
<CODE ENDS>
H.5.13 module _3gpp-5gc-nrm-nfservice.yang
<CODE BEGINS>
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; }
import _3gpp-5g-common-yang-types { prefix types5g3gpp; }
organization "3gpp SA5";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "NF service class.";
reference "3GPP TS 29.510";
revision 2021-01-25 { reference CR-0454 ; }
revision 2020-11-05 { reference CR-0412 ; }
revision 2019-06-17 { reference "initial revision"; }
grouping NFServiceGrp {
description "Represents the NFService IOC";
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;
}
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
key "sd sst";
uses types5g3gpp: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;
}
}
}
<CODE ENDS>
H.5.14 module _3gpp-5gc-nrm-ngeirfunction.yang
<CODE BEGINS>
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";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "This IOC represents the 5G-EIR function in 5GC. For more
information about the 5G-EIR, see 3GPP TS 23.501.";
reference "3GPP TS 28.541";
revision 2022-01-07 { reference CR-0643; }
revision 2020-11-06 { reference CR-0412 ; }
revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; }
revision 2019-05-15 {reference "initial revision"; }
grouping NGEIRFunctionGrp {
description "Represents the NGEIRFunction IOC";
uses mf3gpp:ManagedFunctionGrp;
list pLMNIdList {
description "List of at most six entries of PLMN Identifiers, but at
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 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";
key "sd sst";
uses types5g3gpp:SNssai;
}
list managedNFProfile {
key idx;
min-elements 1;
max-elements 1;
uses types3gpp:ManagedNFProfile;
}
list commModelList {
min-elements 1;
key "groupId";
description "Specifies a list of commModel. It can be used by NF and
NF services to interact with each other in 5G Core network ";
reference "3GPP TS 23.501";
uses types5g3gpp:CommModel;
}
}
augment "/me3gpp:ManagedElement" {
list NGEIRFunction {
description "5G Core NGEIR Function";
reference "3GPP TS 28.541";
key id;
uses top3gpp:Top_Grp;
container attributes {
uses NGEIRFunctionGrp;
}
uses mf3gpp:ManagedFunctionContainedClasses;
}
}
}
<CODE ENDS>
H.5.15 module _3gpp-5gc-nrm-nrffunction.yang
<CODE BEGINS>
module _3gpp-5gc-nrm-nrffunction {
yang-version 1.1;
namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nrffunction;
prefix nrf3gpp;
import _3gpp-common-managed-function { prefix mf3gpp; }
import _3gpp-common-managed-element { prefix me3gpp; }
import ietf-inet-types { prefix inet; }
import _3gpp-common-yang-types { prefix types3gpp; }
import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; }
import _3gpp-common-top { prefix top3gpp; }
import _3gpp-5g-common-yang-types { prefix types5g3gpp; }
organization "3gpp SA5";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "This IOC represents the NRF function in 5GC.
For more information about the NRF, see 3GPP TS 23.501 [2].";
reference "3GPP TS 28.541";
revision 2020-11-05 { reference CR-0412 ; }
revision 2020-08-03 { reference "CR-0321"; }
revision 2019-10-28 { reference S5-193518 ; }
revision 2019-05-15 { reference "initial revision"; }
grouping NRFFunctionGrp {
description "Represents the NRFFunction IOC";
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;
}
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";
key "sd sst";
uses types5g3gpp: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;
}
}
}
<CODE ENDS>
H.5.16 module _3gpp-5gc-nrm-nssffunction.yang
<CODE BEGINS>
module _3gpp-5gc-nrm-nssffunction {
yang-version 1.1;
namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nssffunction;
prefix nssf3gpp;
import _3gpp-common-managed-function { prefix mf3gpp; }
import _3gpp-common-managed-element { prefix me3gpp; }
import ietf-inet-types { prefix inet; }
import _3gpp-common-yang-types { prefix types3gpp; }
import _3gpp-common-top { prefix top3gpp; }
import _3gpp-5g-common-yang-types { prefix types5g3gpp; }
organization "3gpp SA5";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "This IOC represents the NSSF function in 5GC. For more
information about the NSSF, see 3GPP TS 23.501.";
reference "3GPP TS 28.541";
revision 2020-11-05 { reference CR-0412 ; }
revision 2020-08-03 { reference "CR-0321"; }
revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; }
revision 2019-05-15 { reference "initial revision"; }
grouping NSSFFunctionGrp {
description "Represents the NSSFFunction IOC";
uses mf3gpp:ManagedFunctionGrp;
list pLMNIdList {
description "List of at most six entries of PLMN Identifiers, but at least
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;
}
list sNSSAIList {
description "List of S-NSSAIs the managed object is capable of supporting.
(Single Network Slice Selection Assistance Information)
An S-NSSAI has an SST (Slice/Service type) and an optional SD
(Slice Differentiator) field.";
reference "3GPP TS 23.003";
key "sd sst";
uses types5g3gpp:SNssai;
}
leaf-list cNSIIdList {
description "NSI ID. NSI ID is an identifier for identifying the Core
Network part of a Network Slice instance when multiple Network Slice
instances of the same Network Slice are deployed, and there is a need
to differentiate between them in the 5GC, see clause 3.1 of TS 23.501
and subclause 6.1.6.2.7 of 3GPP TS 29.531";
type string;
}
list managedNFProfile {
key idx;
min-elements 1;
max-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;
}
}
}
<CODE ENDS>
H.5.17 module _3gpp-5gc-nrm-nwdaffunction.yang
<CODE BEGINS>
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";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
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 2020-11-05 { reference CR-0412 ; }
revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; }
revision 2019-05-15 {reference "initial revision"; }
grouping NWDAFFunctionGrp {
description "Represents the NWDAFFunction IOC";
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;
}
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";
key "sd sst";
uses types5g3gpp:SNssai;
}
list managedNFProfile {
key idx;
min-elements 1;
max-elements 1;
uses types3gpp:ManagedNFProfile;
}
list commModelList {
min-elements 1;
key "groupId";
description "Specifies a list of commModel. It can be used by NF and
NF services to interact with each other in 5G Core network ";
reference "3GPP TS 23.501";
uses types5g3gpp:CommModel;
}
}
augment "/me3gpp:ManagedElement" {
list NWDAFFunction {
description "5G Core NWDAF Function";
reference "3GPP TS 28.541";
key id;
uses top3gpp:Top_Grp;
container attributes {
uses NWDAFFunctionGrp;
}
uses mf3gpp:ManagedFunctionContainedClasses;
}
}
}
<CODE ENDS>
H.5.18 module _3gpp-5gc-nrm-pcffunction.yang
<CODE BEGINS>
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";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
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-11-05 { reference CR-0412 ; }
revision 2020-08-06 { reference "CR-0333"; }
revision 2020-08-06 { reference "CR-0331"; }
revision 2019-10-25 { reference "S5-194457 S5-193518"; }
revision 2019-05-22 { reference "initial revision"; }
grouping PCFFuntionGrp {
description "Represents the PCFFuntion IOC";
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;
}
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";
key "sd sst";
uses types5g3gpp:SNssai;
}
list managedNFProfile {
key idx;
min-elements 1;
max-elements 1;
uses types3gpp:ManagedNFProfile;
}
list commModelList {
min-elements 1;
key "groupId";
description "Specifies a list of commModel. It can be used by NF and
NF services to interact with each other in 5G Core network ";
reference "3GPP TS 23.501";
uses types5g3gpp:CommModel;
}
leaf 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;
}
}
}
<CODE ENDS>
H.5.19 module _3gpp-5gc-nrm-seppfunction.yang
<CODE BEGINS>
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; }
}
}
<CODE ENDS>
H.5.19a module _3gpp-5gc-nrm- externalseppfunction.yang
<CODE BEGINS>
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;
}
}
}
}
<CODE ENDS>
H.5.20 module _3gpp-5gc-nrm-smffunction.yang
<CODE BEGINS>
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; }
organization "3gpp SA5";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "SMFFunction derived from basic ManagedFunction.";
revision 2020-11-05 { reference CR-0412 ; }
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 {reference "Ericsson refactoring."; }
revision 2018-08-07 { reference "Initial revision";}
grouping SMFFunctionGrp {
description "Represents the SMFFuntion IOC";
uses mf3gpp:ManagedFunctionGrp;
list pLMNIdList {
min-elements 1;
description "A list of PLMN identifiers (Mobile Country Code and Mobile
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;
}
list sNSSAIList {
description "List of S-NSSAIs the managed object is capable of supporting.
(Single Network Slice Selection Assistance Information)
An S-NSSAI has an SST (Slice/Service type) and an optional SD
(Slice Differentiator) field.";
reference "3GPP TS 23.003";
key "sd sst";
uses types5g3gpp:SNssai;
}
list managedNFProfile {
key idx;
min-elements 1;
max-elements 1;
uses types3gpp:ManagedNFProfile;
}
list commModelList {
min-elements 1;
key "groupId";
description "Specifies a list of commModel. It can be used by NF and
NF services to interact with each other in 5G Core network ";
reference "3GPP TS 23.501";
uses types5g3gpp:CommModel;
}
leaf 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;
}
}
}
<CODE ENDS>
H.5.21 module _3gpp-5gc-nrm-smsffunction.yang
<CODE BEGINS>
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;
}
}
}
<CODE ENDS>
H.5.22 module _3gpp-5gc-nrm-udmfunction.yang
<CODE BEGINS>
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";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
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 2020-11-05 { reference CR-0412 ; }
revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; }
revision 2019-05-22 { reference "initial revision";}
grouping UDMFuntionGrp {
description "Represents the UDMFuntion IOC";
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;
}
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";
key "sd sst";
uses types5g3gpp:SNssai;
}
list managedNFProfile {
key idx;
min-elements 1;
max-elements 1;
uses types3gpp:ManagedNFProfile;
}
list commModelList {
min-elements 1;
key "groupId";
description "Specifies a list of commModel. It can be used by NF and
NF services to interact with each other in 5G Core network ";
reference "3GPP TS 23.501";
uses types5g3gpp:CommModel;
}
}
augment "/me3gpp:ManagedElement" {
list UDMFunction {
description "5G Core UDM Function";
reference "3GPP TS 28.541";
key id;
uses top3gpp:Top_Grp;
container attributes {
uses UDMFuntionGrp;
}
uses mf3gpp:ManagedFunctionContainedClasses;
}
}
}
<CODE ENDS>
H.5.23 module _3gpp-5gc-nrm-udrfunction.yang
<CODE BEGINS>
module _3gpp-5gc-nrm-udrfunction {
yang-version 1.1;
namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udrfunction;
prefix udr3gpp;
import _3gpp-common-managed-function { prefix mf3gpp; }
import _3gpp-common-managed-element { prefix me3gpp; }
import ietf-inet-types { prefix inet; }
import _3gpp-common-yang-types { prefix types3gpp; }
import _3gpp-common-top { prefix top3gpp; }
import _3gpp-5g-common-yang-types { prefix types5g3gpp; }
organization "3gpp SA5";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "This IOC represents the UDR function in 5GC. For more information
about the UDR, see 3GPP TS 23.501.";
reference "3GPP TS 28.541";
revision 2020-11-05 { reference CR-0412 ; }
revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; }
revision 2019-05-22 {reference "initial revision"; }
grouping UDRFuntionGrp {
description "Representse the UDRFuntion IOC";
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;
}
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";
key "sd sst";
uses types5g3gpp:SNssai;
}
list managedNFProfile {
key idx;
min-elements 1;
max-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;
}
}
}
<CODE ENDS>
H.5.24 module _3gpp-5gc-nrm-udsffunction.yang
<CODE BEGINS>
module _3gpp-5gc-nrm-udsffunction {
yang-version 1.1;
namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udsffunction;
prefix udsf3gpp;
import _3gpp-common-managed-function { prefix mf3gpp; }
import _3gpp-common-managed-element { prefix me3gpp; }
import ietf-inet-types { prefix inet; }
import _3gpp-common-yang-types { prefix types3gpp; }
import _3gpp-common-top { prefix top3gpp; }
import _3gpp-5g-common-yang-types { prefix types5g3gpp; }
organization "3gpp SA5";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "This IOC represents the UDSF function which can be interacted
with any other 5GC NF defined in 3GPP TS 23.501.";
reference "3GPP TS 28.541";
revision 2020-11-05 { reference CR-0412 ; }
revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; }
revision 2019-05-22 { reference "initial revision"; }
grouping UDSFFuntionGrp {
description "Represents the UDSFFuntion IOC";
uses mf3gpp:ManagedFunctionGrp;
list pLMNIdList {
description "List of at most six entries of PLMN Identifiers, but at
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;
}
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";
key "sd sst";
uses types5g3gpp:SNssai;
}
list managedNFProfile {
key idx;
min-elements 1;
max-elements 1;
description "Managed Network Function profile";
reference "3GPP TS 23.501";
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; }
}
}
<CODE ENDS>
H.5.25 module _3gpp-5gc-nrm-upffunction.yang
<CODE BEGINS>
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; }
organization "3GPP SA5";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "UPFFunction derived from basic ManagedFunction.";
reference "3GPP TS 28.541 5G Network Resource Model (NRM)";
revision 2020-11-05 { reference CR-0412 ; }
revision 2019-10-25 { reference "S5-194457 S5-193518"; }
revision 2019-05-31 { reference "Ericsson refactoring."; }
revision 2018-08-07 { reference "Initial revision"; }
grouping UPFFunctionGrp {
description "Represents the UPFFunction IOC";
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;
}
list sNSSAIList {
description "List of S-NSSAIs the managed object is capable of supporting.
(Single Network Slice Selection Assistance Information)
An S-NSSAI has an SST (Slice/Service type) and an optional SD
(Slice Differentiator) field.";
reference "3GPP TS 23.003";
key "sd sst";
uses types5g3gpp:SNssai;
}
list managedNFProfile {
key idx;
min-elements 1;
max-elements 1;
reference "3GPP TS 23.003";
uses types3gpp:ManagedNFProfile;
}
leaf-list supportedBMOList {
type string;
description "List of supported BMOs (Bridge Managed Objects) required
for integration with TSN system.";
}
}
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;
}
}
}
<CODE ENDS>
H.5.26 module _3gpp-5gc-nrm-scpfunction.yang
<CODE BEGINS>
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";
}
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;
}
}
}
}
<CODE ENDS>
H.5.27 module _3gpp-5gc-nrm-neffunction.yang
<CODE BEGINS>
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-top { prefix top3gpp; }
import _3gpp-5g-common-yang-types { prefix types5g3gpp; }
organization "3gpp SA5";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "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 2022-01-07 { reference CR-0643; }
revision 2020-11-06 { reference CR-0412 ; }
revision 2019-10-20 { reference "initial revision"; }
grouping NEFFunctionGrp {
description "Represents the NEFFunction IOC";
uses mf3gpp:ManagedFunctionGrp;
leaf sBIFQDN {
description "The FQDN of the registered NF instance in the
service-based interface.";
type inet:domain-name;
}
list sNSSAIList {
description "List of S-NSSAIs the managed object is capable of supporting.
(Single Network Slice Selection Assistance Information)
An S-NSSAI has an SST (Slice/Service type) and an optional SD
(Slice Differentiator) field.";
key "sd sst";
uses types5g3gpp:SNssai;
}
leaf-list capabilityList {
description "List of supported capabilities of the NEF.";
reference "3GPP TS 23.003";
type string;
}
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;
}
}
}
}
<CODE ENDS>
H.5.28 module _3gpp-5gc-nrm-QFQoSMonitoringControl.yang
<CODE BEGINS>
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-5gc-nrm-smffunction { prefix smf3gpp; }
import _3gpp-common-top { prefix top3gpp; }
import _3gpp-5g-common-yang-types { prefix types5g3gpp; }
organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "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-11-05 { reference CR-0412 ; }
revision 2020-08-03 { reference "CR-0321"; }
revision 2020-04-10 { reference "S5-202101"; }
grouping QFPacketDelayThresholdsTypeGrp {
description "Represents the QFPacketDelayThresholdsType";
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;
}
}
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";
key "sd sst";
uses types5g3gpp: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;
}
}
}
}
<CODE ENDS>
H.5.29 module _3gpp-5gc-nrm-GtpUPathQoSMonitoringControl.yang
<CODE BEGINS>
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-5g-common-yang-types { prefix types5g3gpp; }
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-11-05 { reference CR-0412 ; }
revision 2020-09-30 { reference "CR-0393"; }
revision 2020-08-03 { reference "CR-0321"; }
revision 2020-04-10 { reference "S5-202103"; }
grouping GtpUPathDelayThresholdsType {
description "Thresholds for reporting the packet delay for GTP-U path QoS
monitoring ";
reference "3GPP TS 29.244";
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;
}
}
list gtpUPathMonitoredSNSSAIs {
key "sd sst";
description "The S-NSSAIs for which the the GTP-U path QoS monitoring is
to be performed.";
reference "3GPP TS 23.003";
uses types5g3gpp: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;
}
}
}
}
<CODE ENDS>
H.5.30 module _3gpp-5gc-nrm-configurable5QISet.yang
<CODE BEGINS>
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; }
organization "3gpp SA5";
contact "https://www.3gpp.org/DynaReport/TSG-WG–S5–officials.htm?Itemid=464";
description "This IOC represents the configurable 5QIs, including
their QoS characteristics, that need to be pre-configured
(and configurable) to the 5G NFs.
The 5QI set definition supports multiple deployment scenarios. The sets can
be name contained by SubNetwork ManagedElement, GNBDUFunction,
GNBCUUPFunction and GNBCUCPFunction. Sets are then referenced by attribute
(configurable5QISetRef) in applicable MOIs. For consistency it is
recommended that referenced 5QI sets be defined within the same subtree.";
reference "3GPP TS 28.541";
revision 2022-11-02 { reference "CR-0753" ; }
revision 2022-07-28 { reference "CR-0770"; }
revision 2022-04-29 { reference "CR-0729"; }
revision 2022-01-07 { reference CR-0643; }
revision 2020-08-04 { reference "CR-0321"; }
revision 2020-06-03 { reference "CR-0286"; }
grouping PacketErrorRateGrp {
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 FiveQICharacteristicsGrp {
description "Represents the FiveQICharacteristics IOC.";
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 ;
}
mandatory true;
description "It indicates the Priority Level of a 5QI, as specified
in TS 23.501.";
}
leaf packetDelayBudget {
type uint32 {
range 0..1023 ;
}
mandatory true;
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 1;
max-elements 1;
uses PacketErrorRateGrp;
description "It indicates the Packet Error Rate of a 5QI,
as specified in TS 23.501.";
}
leaf averagingWindow {
type uint32 {
range 0..4095 ;
}
mandatory true;
units ms;
reference "TS 23.501";
}
leaf maximumDataBurstVolume {
type uint32{
range 0..4095 ;
}
mandatory true;
units byte;
}
}
grouping Configurable5QISetGrp {
description "Represents the Configurable5QISet IOC.
No attributes defined.";
}
grouping FiveQICharacteristicsSubtree {
list FiveQICharacteristics {
description "This specifies the 5QI value and the corresponding
QoS characteristics for a 5QI.";
key id;
uses top3gpp:Top_Grp;
container attributes {
uses FiveQICharacteristicsGrp;
}
}
}
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;
}
uses FiveQICharacteristicsSubtree;
}
}
}<CODE ENDS>
H.5.31 module _3gpp-5gc-nrm-FiveQiDscpMappingSet.yang
<CODE BEGINS>
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";
}
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;
}
}
<CODE ENDS>
H.5.32 module _3gpp-5gc-nrm-PredefinedPccRuleSet.yang
<CODE BEGINS>
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-09-30 { reference "CR-0393"; }
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.";
reference " 3GPP TS 29.512";
leaf periodicity {
type uint32;
description "It identifies the time period between the start of two bursts
in reference to the TSN GM.";
reference "3GPP TS 29.571.";
}
leaf burstArrivalTime {
type yang:date-and-time;
description "It Indicates the arrival time (in date-time format) of the
data burst in reference to the TSN GM.";
reference "3GPP,TS 29.571.";
}
}
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;
description " It indicates the time (in date-time format) when the decision
data shall be activated.";
reference "3GPP29.512 and TS 29.571.";
}
leaf deactivationTime {
type yang:date-and-time;
description "It indicates the time (in date-time format) when the decision
data shall be deactivated.";
reference "3GPPTS 29.512 and TS 29.571.";
}
leaf accessType {
type enumeration {
enum 3GPP_ACCESS;
enum NON_3GPP_ACCESS;
}
description "It provides the condition of access type of the UE when the
session AMBR shall be enforced.";
reference "3GPPTS 29.512.";
}
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;
}
description "It provides the condition of RAT type of the UE when the
session AMBR shall be enforced.";
reference "3GPPTS 29.512 and TS 29.571.";
}
}
grouping SteeringMode {
description "It specifies the traffic distribution rule, see TS 29.512.";
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.";
}
leaf active {
type enumeration {
enum 3GPP_ACCESS;
enum NON_3GPP_ACCESS;
}
description "It indicates the active access, see TS 29.571.";
}
leaf standby {
type enumeration {
enum 3GPP_ACCESS;
enum NON_3GPP_ACCESS;
}
description "It indicates the Standby access, see TS 29.571.";
}
leaf threeGLoad {
type uint8 {
range 0..100;
}
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;
}
description "It indicates the high priority access.";
reference "3GPPTS 29.571";
}
}
grouping UpPathChgEvent {
description "It specifies the information about the AF subscriptions of the
UP path change.";
reference "3GPPTS 29.512";
leaf notificationUri {
type string;
mandatory true;
description "It provides notification address (Uri) of AF receiving the
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";
}
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";
}
leaf afAckInd {
type boolean;
default 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;
description "It defines the Ipv4 address of the tunnel end point in the
data network, formatted in the dotted decimal notation.";
}
leaf ipv6Addr {
type string;
description "It defines the Ipv6 address of the tunnel end point in the
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";
}
}
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).";
reference "3GPP 3GPP TS 23.501";
}
container routeInfo{
description "It provides the traffic routing information.";
uses RouteInformation;
}
leaf routeProfId {
type string;
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.";
reference "3GPPTS 29.512";
}
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;
default false;
description "It indicates whether applicat’on’s start or stop notification
is to be muted.";
}
leaf trafficSteeringPolIdDl {
type string;
description "It references to a pre-configured traffic steering policy for downlink traffic at the SMF, see TS 29.512";
}
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";
}
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;
}
description "It indicates the applicable traffic steering functionality.";
reference "3GPPTS 29.512";
}
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;
}
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;
description "It represents the maximum uplink bandwidth.";
}
leaf maxbrDl {
type string;
description "It represents the maximum downlink bandwidth.";
}
leaf gbrUl {
type string;
description "It represents the guaranteed uplink bandwidth.";
}
leaf gbrDl {
type string;
description "It represents the guaranteed downlink bandwidth.";
}
uses ARP;
leaf qosNotificationControl {
type boolean;
default 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;
description "Indicates whether the QoS information is reflective for the corresponding non-GBR service data flow";
}
leaf sharingKeyDl {
type string;
description "It indicates, by containing the same value, what PCC rules may share resource in downlink direction.";
}
leaf sharingKeyUl {
type string;
description "It indicates, by containing the same value, what PCC rules may share resource in uplink direction.";
}
leaf maxPacketLossRateDl {
type uint16 {
range 0..1000;
}
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;
}
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;
}
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";
}
}
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 .";
reference "clause 1.1 and clause 2.1 of IETF RFC";
}
leaf ethType {
type string;
mandatory true;
description "A two-octet string that represents the Ethertype.";
reference "IEEE 802.3 and IETF RFC 7042 in hexadecimal representation.";
}
leaf fDesc {
type string;
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.";
reference "clause 1.1 and clause 2.1 of IETF RFC 7042";
}
leaf-list vlanTags {
type string;
description "It specifies the Customer-VLAN and/or Service-VLAN tags
containing the VID, PCP/DEI fields as defined in IEEE 802.1Q and
IETF RFC 7042. The first/lower instance in the array stands for the
Customer-VLAN tag and the second/higher instance in the array stands
for the Service-VLAN tag.";
}
leaf srcMacAddrEnd {
type string;
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;
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.";
reference "IETF RFC 4301";
}
leaf flowLabel {
type string;
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";
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;
description "A reference to the application detection filter configured
at the UPF.";
}
leaf appDescriptor {
type string;
description "It is the ATSSS rule application descriptor.";
}
leaf contentVersion {
type uint8;
description "Indicates the content version of the PCC rule.";
}
leaf precedence {
type uint8 {
range 0..255;
}
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;
}
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;
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;
}
}
<CODE ENDS>
H.5.33 module _3gpp-5gc-nrm-dynamic5QISet.yang
<CODE BEGINS>
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 2022-07-28 { reference "CR-0770"; }
revision 2022-01-07 { reference CR-0643; }
revision 2020-10-01 { reference "CR-0393"; }
revision 2020-08-06 { reference "CR-0333"; }
grouping Dynamic5QISetGrp {
description "Represents the Dynamic5QISet IOC.";
list dynamic5QIs {
description "This IOC specifies the dynamically assigned 5QIs
including their QoS characteristics, see 3GPP TS 23.501.
The instance of this IOC shall not be created or modified by the
MnS consumer except for the instance associated to
PCFFunction MOI or SMFFunction MOI when the PCF is not deployed.";
key id;
uses top3gpp:Top_Grp;
container attributes {
uses Conf5QIs3gpp:FiveQICharacteristicsGrp;
}
}
}
grouping Dynamic5QISetSubtree {
description "Helps augmenting Dynamic5QISet into multiple places.";
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;
}
uses Conf5QIs3gpp:FiveQICharacteristicsSubtree;
}
}
augment "/subnet3gpp:SubNetwork" {
uses Dynamic5QISetSubtree;
}
augment "/me3gpp:ManagedElement" {
uses Dynamic5QISetSubtree;
}
}
<CODE ENDS>