From a6e3848a7f306cfe103da8194cd3fdacc9c285a8 Mon Sep 17 00:00:00 2001 From: qiwen Date: Wed, 17 Jan 2024 23:50:49 +0000 Subject: [PATCH 1/8] Update file _3gpp-5gc-nrm-nfprofile.yang --- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 28 ++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 8f6155866..003d34a95 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -981,6 +981,34 @@ module _3gpp-5gc-nrm-nfprofile { mandatory true; type string; } + + leaf-list dnaiList { + description "List of Data network access identifiers supported by the SMF for this DNN. + The absence of this attribute indicates that the SMF can be selected for this DNN for any DNAI."; + min-elements 1; + type string; //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 + } + + list dnaiSatelliteMappingList { + description "List of the mapping relationship between satellite ID and at least one DNAI."; + min-elements 1; + key "satelliteid"; + uses dnaiSatelliteMapping; + } + } + + grouping dnaiSatelliteMapping { + leaf-list dnaiList { + description "List of Data network access identifiers supported by the SMF for this DNN. + The absence of this attribute indicates that the SMF can be selected for this DNN for any DNAI."; + min-elements 1; + type string; //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 satelliteid { + description "Unique identifier of a GEO satellite."; + type string; + } } grouping PlmnSnssai { -- GitLab From 8045fdae0f8fc970917fb3622ced606a79894396 Mon Sep 17 00:00:00 2001 From: qiwen Date: Wed, 17 Jan 2024 23:58:50 +0000 Subject: [PATCH 2/8] Update file _3gpp-5gc-nrm-nfprofile.yang --- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 003d34a95..ad82477b6 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -983,14 +983,16 @@ module _3gpp-5gc-nrm-nfprofile { } leaf-list dnaiList { - description "List of Data network access identifiers supported by the SMF for this DNN. - The absence of this attribute indicates that the SMF can be selected for this DNN for any DNAI."; + description "List of Data network access identifiers supported by + the SMF for this DNN. The absence of this attribute indicates that + the SMF can be selected for this DNN for any DNAI."; min-elements 1; - type string; //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 + type string; } list dnaiSatelliteMappingList { - description "List of the mapping relationship between satellite ID and at least one DNAI."; + description "List of the mapping relationship between + satellite ID and at least one DNAI."; min-elements 1; key "satelliteid"; uses dnaiSatelliteMapping; @@ -999,10 +1001,9 @@ module _3gpp-5gc-nrm-nfprofile { grouping dnaiSatelliteMapping { leaf-list dnaiList { - description "List of Data network access identifiers supported by the SMF for this DNN. - The absence of this attribute indicates that the SMF can be selected for this DNN for any DNAI."; + description "List of Data network access identifiers."; 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 + type string; } leaf satelliteid { -- GitLab From fc230e39475ebf98f032e0d1d1610e6fd8c6c0fe Mon Sep 17 00:00:00 2001 From: qiwen Date: Thu, 18 Jan 2024 00:12:36 +0000 Subject: [PATCH 3/8] Update file _3gpp-5gc-nrm-nfprofile.yang --- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 300 +++++++++++++++-------- 1 file changed, 200 insertions(+), 100 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index ad82477b6..40d9ce029 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -10,6 +10,7 @@ module _3gpp-5gc-nrm-nfprofile { import _3gpp-5gc-nrm-nfservice { prefix nfs3gpp; } organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "NF profile class. Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; @@ -40,16 +41,19 @@ module _3gpp-5gc-nrm-nfprofile { } 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."; + description "Time in seconds expected between 2 consecutive + heart-beat messages from an NF Instance to the NRF. + It may be included in the registration request. + When present in the request it shall contain the + heartbeat time proposed by the NF service consumer."; type uint16; } list plmnList { description "PLMN(s) of the Network Function. - This IE shall be present if this information is available for the NF. - If not provided, PLMN ID(s) of the PLMN of the NRF are assumed for the NF."; + This IE shall be present if this information + is available for the NF. If not provided, PLMN ID(s) + of the PLMN of the NRF are assumed for the NF."; min-elements 1; key "mcc mnc"; @@ -57,17 +61,21 @@ module _3gpp-5gc-nrm-nfprofile { } list sNssais { - description "S-NSSAIs of the Network Function. If not provided, the NF can serve any S-NSSAI. - When present this IE represents the list of S-NSSAIs supported in all the PLMNs listed in the plmnList IE."; + description "S-NSSAIs of the Network Function. If not + provided, the NF can serve any S-NSSAI. When present + this IE represents the list of S-NSSAIs supported in + all the PLMNs listed in the plmnList IE."; min-elements 1; key "sst sd"; uses Snssai; } list perPlmnSnssaiList { - description "This IE may be included when the list of S-NSSAIs supported by the NF for each PLMN it is supporting is different. - When present, this IE shall include the S-NSSAIs supported by the Network Function - for each PLMN supported by the Network Function. When present, this IE shall override sNssais IE."; + description "This IE may be included when the list of + S-NSSAIs supported by the NF for each PLMN it is supporting + is different. When present, this IE shall include the S-NSSAIs + supported by the Network Function for each PLMN supported by + the Network Function. When present, this IE shall override sNssais IE."; min-elements 1; key idx; leaf idx { type uint32; } @@ -82,14 +90,15 @@ module _3gpp-5gc-nrm-nfprofile { } leaf fqdn { - description "FQDN of the Network Function. For AMF, the FQDN registered with the NRF - shall be that of the AMF Name."; + description "FQDN of the Network Function. For AMF, the + FQDN registered with the NRF shall be that of the AMF Name."; type inet:domain-name; } leaf interPlmnFqdn { - description "If the NF needs to be discoverable by other NFs in a different PLMN, - then an FQDN that is used for inter-PLMN routing is specified."; + description "If the NF needs to be discoverable by other + NFs in a different PLMN, then an FQDN that is used + for inter-PLMN routing is specified."; type inet:domain-name; } @@ -122,8 +131,9 @@ module _3gpp-5gc-nrm-nfprofile { } 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."; + description "Pattern representing the NF domain names allowed + to access the NF instance. If not provided, + any NF domain is allowed to access the NF."; min-elements 1; type string; } @@ -137,27 +147,33 @@ module _3gpp-5gc-nrm-nfprofile { } 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 + description "Priority (relative to other NFs of the same type) + in the range of 0-65535, to be used for NF selection; + lower values indicate a higher priority. + If priority is also present in the nfServiceList parameters, + those will have precedence over this value. + The NRF may overwrite the received priority value when exposing an NFProfile with the Nnrf_NFDiscovery service."; type uint16; } leaf capacity { - description "Static capacity information in the range of 0-65535, expressed as a weight - relative to other NF instances of the same type; if capacity is also present - in the nfServiceList parameters, those will have precedence over this value."; + description "Static capacity information in the range of 0-65535, + expressed as a weight relative to other NF instances of + the same type; if capacity is also present in the nfServiceList + parameters, those will have precedence over this value."; type uint16; } leaf load { - description "Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF."; + description "Dynamic load information, ranged from 0 to 100, + indicates the current load percentage of the NF."; type types3gpp:Load; } leaf locality { - description "Operator defined information about the location of the NF instance (e.g. geographic location, data center)."; + description "Operator defined information about the location + of the NF instance (e.g. geographic location, data center)."; type string; } @@ -170,21 +186,24 @@ module _3gpp-5gc-nrm-nfprofile { } list supiRanges { - description "List of ranges of SUPI's whose profile data is available in the UDR instance."; + description "List of ranges of SUPI's whose profile data + is available in the UDR instance."; key "start end pattern"; min-elements 1; uses SupiRange; } list gpsiRanges { - description "List of ranges of GPSIs whose profile data is available in the UDR instance."; + description "List of ranges of GPSIs whose profile data is + available in the UDR instance."; key "start end pattern"; min-elements 1; uses IdentityRange; } list externalGroupIdentifiersRanges { - description "List of ranges of external groups whose profile data is available in the UDR instance."; + description "List of ranges of external groups whose profile + data is available in the UDR instance."; key "start end pattern"; min-elements 1; uses IdentityRange; @@ -201,35 +220,41 @@ module _3gpp-5gc-nrm-nfprofile { grouping udmInfo { leaf groupId { - description "Identity of the UDM group that is served by the UDM instance. - If not provided, the UDM instance does not pertain to any UDM group."; + description "Identity of the UDM group that is served by the + UDM instance. If not provided, the UDM instance does + not pertain to any UDM group."; type string; } list supiRanges { - description "List of ranges of SUPI's whose profile data is available in the UDM instance."; + description "List of ranges of SUPI's whose profile data is + available in the UDM instance."; key "start end pattern"; min-elements 1; uses SupiRange; } list gpsiRanges { - description "List of ranges of GPSIs whose profile data is available in the UDM instance."; + description "List of ranges of GPSIs whose profile data is + available in the UDM instance."; key "start end pattern"; min-elements 1; uses IdentityRange; } list externalGroupIdentifiersRanges { - description "List of ranges of external groups whose profile data is available in the UDM instance."; + description "List of ranges of external groups whose profile + data is available in the UDM instance."; key "start end pattern"; min-elements 1; uses IdentityRange; } leaf-list routingIndicators { - description "List of Routing Indicator information that allows to route network signalling with SUCI - to the UDM instance. If not provided, the UDM can serve any Routing Indicator. + description "List of Routing Indicator information that allows + to route network signalling with SUCI + to the UDM instance. If not provided, + the UDM can serve any Routing Indicator. Pattern: '^[0-9]{1,4}$'."; min-elements 1; type string; @@ -239,20 +264,24 @@ module _3gpp-5gc-nrm-nfprofile { grouping ausfInfo { leaf groupId { - description "Identity of the AUSF group. If not provided, the AUSF instance does not pertain to any AUSF group."; + description "Identity of the AUSF group. If not provided, + the AUSF instance does not pertain to any AUSF group."; type string; } list supiRanges { - description "List of ranges of SUPIs that can be served by the AUSF instance. If not provided, the AUSF can serve any SUPI."; + description "List of ranges of SUPIs that can be served by + the AUSF instance. If not provided, the AUSF can serve any SUPI."; key "start end pattern"; min-elements 1; uses SupiRange; } leaf-list routingIndicators { - description "List of Routing Indicator information that allows to route network signalling with SUCI - to the AUSF instance. If not provided, the AUSF can serve any Routing Indicator. + description "List of Routing Indicator information that allows + to route network signalling with SUCI + to the AUSF instance. If not provided, + the AUSF can serve any Routing Indicator. Pattern: '^[0-9]{1,4}$'."; min-elements 1; type string; @@ -282,8 +311,10 @@ module _3gpp-5gc-nrm-nfprofile { } 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 + 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; @@ -294,8 +325,10 @@ module _3gpp-5gc-nrm-nfprofile { } 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."; + description "The range of TAIs the AMF can serve. + The absence of this attribute and the taiList + attribute indicate that the AMF can be selected + for any TAI in the serving network."; min-elements 1; key idx; leaf idx { type uint32; } @@ -303,7 +336,8 @@ module _3gpp-5gc-nrm-nfprofile { } list backupInfoAmfFailure { - description "List of GUAMIs for which the AMF acts as a backup for AMF failure."; + description "List of GUAMIs for which the AMF acts + as a backup for AMF failure."; key idx; leaf idx { type uint32; } @@ -313,7 +347,8 @@ module _3gpp-5gc-nrm-nfprofile { } list backupInfoAmfRemoval { - description "List of GUAMIs for which the AMF acts as a backup for planned AMF removal."; + description "List of GUAMIs for which the AMF acts + as a backup for planned AMF removal."; key idx; leaf idx { type uint32; } @@ -323,8 +358,10 @@ module _3gpp-5gc-nrm-nfprofile { } 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."; + description "N2 interface information of the AMF. + This information needs not be sent in NF Discovery responses. + It may be used by the NRF to update the DNS for + AMF discovery by the 5G Access Network."; max-elements 1; key idx; @@ -344,7 +381,8 @@ module _3gpp-5gc-nrm-nfprofile { } list taiList { - description "The list of TAIs the SMF can serve. It may contain the non-3GPP access TAI. + 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."; @@ -356,8 +394,10 @@ module _3gpp-5gc-nrm-nfprofile { } 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."; + description "The range of TAIs the SMF can serve. + The absence of this attribute and the taiList + attribute indicate that the SMF can be selected + for any TAI in the serving network."; min-elements 1; key idx; leaf idx { type uint32; } @@ -370,7 +410,8 @@ module _3gpp-5gc-nrm-nfprofile { } leaf-list accessType { - description "If included, this IE shall contain the access type (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF. + description "If included, this IE shall contain the access type + (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF. If not included, it shall be assumed the both access types are supported."; min-elements 1; @@ -398,7 +439,8 @@ module _3gpp-5gc-nrm-nfprofile { } list interfaceUpfInfo { - description "List of User Plane interfaces configured on the UPF. When this IE is provided in the NF Discovery response, + 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; @@ -417,7 +459,8 @@ module _3gpp-5gc-nrm-nfprofile { } 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 + description "List of PDU session type(s) supported by the UPF. + The absence of this attribute indicates that the UPF can be selected for any PDU session type."; min-elements 1; @@ -436,7 +479,8 @@ module _3gpp-5gc-nrm-nfprofile { } 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."; + description "List of ranges of SUPIs that can be served by + the PCF instance. If not provided, the PCF can serve any SUPI."; key "start end pattern"; min-elements 1; uses SupiRange; @@ -444,7 +488,8 @@ module _3gpp-5gc-nrm-nfprofile { 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. + When present, this IE shall indicate the Diameter host + of the Rx interface for the PCF. Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; type string; @@ -452,7 +497,8 @@ module _3gpp-5gc-nrm-nfprofile { 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. + When present, this IE shall indicate the Diameter realm + of the Rx interface for the PCF. Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; type string; @@ -477,7 +523,8 @@ module _3gpp-5gc-nrm-nfprofile { } leaf-list ipDomainList { - description "List of IPv4 address domains, as described in subclause 6.2 of 3GPP TS 29.513, handled by the BSF. + description "List of IPv4 address domains, as described in + subclause 6.2 of 3GPP TS 29.513, handled by the BSF. If not provided, the BSF can serve any IP domain."; min-elements 1; type string; @@ -494,21 +541,24 @@ module _3gpp-5gc-nrm-nfprofile { grouping chfInfo { list supiRangeList { - description "List of ranges of SUPIs that can be served by the CHF instance. If not provided, the CHF can serve any SUPI."; + description "List of ranges of SUPIs that can be served by + the CHF instance. If not provided, the CHF can serve any SUPI."; key "start end pattern"; min-elements 1; uses SupiRange; } list gpsiRangeList { - description "List of ranges of GPSI that can be served by the CHF instance. If not provided, the CHF can serve any GPSI."; + description "List of ranges of GPSI that can be served + by the CHF instance. If not provided, the CHF can serve any GPSI."; key "start end pattern"; min-elements 1; uses IdentityRange; } list plmnRangeList { - description "List of ranges of PLMNs (including the PLMN IDs of the CHF instance) that can be served by the CHF instance. + 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; @@ -520,7 +570,8 @@ module _3gpp-5gc-nrm-nfprofile { grouping nrfInfoGrp { list servedUdrInfo { - description "This attribute contains all the udrInfo attributes locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the udrInfo attributes + locally configured in the NRF or the NRF received during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -533,7 +584,8 @@ module _3gpp-5gc-nrm-nfprofile { } list servedUdmInfo { - description "This attribute contains all the udmInfo attributes locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the udmInfo attributes + locally configured in the NRF or the NRF received during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -546,7 +598,8 @@ module _3gpp-5gc-nrm-nfprofile { } list servedAusfInfo { - description "This attribute contains all the ausfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the ausfInfo attributes + locally configured in the NRF or the NRF received during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -559,7 +612,8 @@ module _3gpp-5gc-nrm-nfprofile { } list servedAmfInfo { - description "This attribute contains all the amfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the amfInfo attributes + locally configured in the NRF or the NRF received during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -572,7 +626,8 @@ module _3gpp-5gc-nrm-nfprofile { } list servedSmfInfo { - description "This attribute contains all the smfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the smfInfo attributes + locally configured in the NRF or the NRF received during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -585,7 +640,8 @@ module _3gpp-5gc-nrm-nfprofile { } list servedUpfInfo { - description "This attribute contains all the upfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the upfInfo attributes + locally configured in the NRF or the NRF received during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -598,7 +654,8 @@ module _3gpp-5gc-nrm-nfprofile { } list servedPcfInfo { - description "This attribute contains all the pcfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the pcfInfo attributes + locally configured in the NRF or the NRF received during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -611,7 +668,8 @@ module _3gpp-5gc-nrm-nfprofile { } list servedBsfInfo { - description "This attribute contains all the bsfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the bsfInfo attributes + locally configured in the NRF or the NRF received during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -624,7 +682,8 @@ module _3gpp-5gc-nrm-nfprofile { } list servedChfInfo { - description "This attribute contains all the bsfInfo attributes locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the bsfInfo attributes + locally configured in the NRF or the NRF received during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -655,31 +714,42 @@ module _3gpp-5gc-nrm-nfprofile { } 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."; + description "If present, and set to true, it indicates that the different + service instances of a same NF Service in this NF instance, + supporting a same API version, are capable to persist + their resource state in shared storage and therefore these resources + are available after a new NF service instance supporting + the same API version is selected by a NF Service Consumer (see 3GPP TS 23.527). + Otherwise, it indicates that the NF Service Instances of + a same NF Service are not capable to share resource state inside the NF Instance."; type boolean; } list nfServices { - description "List of NF Service Instances. It shall include the services produced by the NF that can be discovered by other NFs."; + description "List of NF Service Instances. It shall include + the services produced by the NF that can be discovered by other NFs."; key serviceInstanceID; min-elements 1; uses nfs3gpp:NFServiceGrp; } leaf nfProfileChangesSupportInd { - description "NF Profile Changes Support Indicator. This IE may be present in the NFRegister or NFUpdate (NF Profile Complete Replacement) request and shall be absent in the response. - true: the NF Service Consumer supports receiving NF Profile Changes in the response. - false (default): the NF Service Consumer does not support receiving NF Profile Changes in the response."; + description "NF Profile Changes Support Indicator. This IE may be present + in the NFRegister or NFUpdate (NF Profile Complete Replacement) request + and shall be absent in the response. + true: the NF Service Consumer supports receiving NF Profile + Changes in the response. + false (default): the NF Service Consumer does not support + receiving NF Profile Changes in the response."; type boolean; } leaf nfProfileChangesInd { - description "NF Profile Changes Indicator. This IE shall be absent in the request to the NRF and may be included by the NRF in NFRegister or NFUpdate (NF Profile Complete Replacement) response. + 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."; @@ -712,58 +782,74 @@ module _3gpp-5gc-nrm-nfprofile { 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)."; + 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)."; + 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."; + 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)."; + 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)."; + 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."; + 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)."; + 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)."; + 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})$'; } @@ -803,14 +889,19 @@ module _3gpp-5gc-nrm-nfprofile { } 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."; + 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 + 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."; + description "List of PDU session type(s) supported by + the UPF for a specific DNN."; min-elements 1; type PduSessionType; } @@ -818,14 +909,17 @@ module _3gpp-5gc-nrm-nfprofile { 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."; + 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."; + description "3-octet string, representing the Slice Differentiator, + in hexadecimal representation."; type string { pattern '^[A-Fa-f0-9]{6}$'; } @@ -872,7 +966,8 @@ module _3gpp-5gc-nrm-nfprofile { choice address { case ipv4EndpointAddresses { leaf-list ipv4EndpointAddresses { - description "Available endpoint IPv4 address(es) of the User Plane interface."; + description "Available endpoint IPv4 address(es) of + the User Plane interface."; min-elements 1; type inet:ipv4-address; } @@ -880,7 +975,8 @@ module _3gpp-5gc-nrm-nfprofile { case ipv6EndpointAddresses { leaf-list ipv6EndpointAddresses { - description "Available endpoint IPv6 address(es) of the User Plane interface."; + description "Available endpoint IPv6 address(es) of + the User Plane interface."; min-elements 1; type inet:ipv6-address; } @@ -888,14 +984,16 @@ module _3gpp-5gc-nrm-nfprofile { case endpointFqdn { leaf endpointFqdn { - description "FQDN of available endpoint of the User Plane interface."; + description "FQDN of available endpoint of the + User Plane interface."; type inet:domain-name; } } } leaf networkInstance { - description "Network Instance associated to the User Plane interface."; + description "Network Instance associated to the + User Plane interface."; type string; } } @@ -1014,7 +1112,8 @@ module _3gpp-5gc-nrm-nfprofile { grouping PlmnSnssai { list plmnId { - description "PLMN ID for which list of supported S-NSSAI(s) is provided."; + description "PLMN ID for which list of supported S-NSSAI(s) + is provided."; min-elements 1; max-elements 1; key "mcc mnc"; @@ -1022,7 +1121,8 @@ module _3gpp-5gc-nrm-nfprofile { } list sNssaiList { - description "The specific list of S-NSSAIs supported by the given PLMN."; + description "The specific list of S-NSSAIs supported + by the given PLMN."; min-elements 1; key "sst sd"; uses Snssai; -- GitLab From 66d871c9dae72f561e4fc365dfbc7776f7bf4f69 Mon Sep 17 00:00:00 2001 From: qiwen Date: Thu, 18 Jan 2024 00:17:15 +0000 Subject: [PATCH 4/8] Update file _3gpp-5gc-nrm-nfprofile.yang --- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 40d9ce029..fd6b6a9b7 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -895,8 +895,8 @@ module _3gpp-5gc-nrm-nfprofile { 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 + //desc: DNAI (Data network access identifier), + //is this needed as its own typedef or string is ok } leaf-list pduSessionTypes { -- GitLab From dacf5e13048c81692bdb32a1e21645c6d8e4d0ab Mon Sep 17 00:00:00 2001 From: qiwen Date: Thu, 18 Jan 2024 00:23:47 +0000 Subject: [PATCH 5/8] Update file _3gpp-5gc-nrm-nfprofile.yang --- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 138 +++++++++++++++-------- 1 file changed, 92 insertions(+), 46 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index fd6b6a9b7..7e5b18e62 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -75,7 +75,8 @@ module _3gpp-5gc-nrm-nfprofile { 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."; + the Network Function. When present, this IE shall + override sNssais IE."; min-elements 1; key idx; leaf idx { type uint32; } @@ -150,7 +151,8 @@ module _3gpp-5gc-nrm-nfprofile { 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, + 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."; @@ -180,8 +182,10 @@ module _3gpp-5gc-nrm-nfprofile { grouping udrInfo { leaf groupId { - description "Identity of the UDR group that is served by the UDR instance. - If not provided, the UDR instance does not pertain to any UDR group."; + description "Identity of the UDR group that is served + by the UDR instance. + If not provided, the UDR instance does not pertain + to any UDR group."; type string; } @@ -315,7 +319,8 @@ module _3gpp-5gc-nrm-nfprofile { 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."; + the AMF can be selected for any TAI in the + serving network."; key idx; leaf idx { type uint32; } @@ -383,8 +388,10 @@ module _3gpp-5gc-nrm-nfprofile { 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."; + The absence of this attribute and the taiRangeList + attribute indicate that + the SMF can be selected for any TAI + in the serving network."; key idx; leaf idx { type uint32; } @@ -412,7 +419,8 @@ module _3gpp-5gc-nrm-nfprofile { 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."; + If not included, it shall be assumed the both + access types are supported."; min-elements 1; max-elements 2; @@ -432,7 +440,8 @@ module _3gpp-5gc-nrm-nfprofile { leaf-list smfServingArea { description "The SMF service area(s) the UPF can serve. - If not provided, the UPF can serve any SMF service area."; + If not provided, the UPF can serve any + SMF service area."; min-elements 1; type string; @@ -441,7 +450,8 @@ module _3gpp-5gc-nrm-nfprofile { 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."; + the NF Service Consumer (e.g. SMF) may use + this information for UPF selection."; key idx; leaf idx { type uint32; } @@ -570,8 +580,10 @@ module _3gpp-5gc-nrm-nfprofile { grouping nrfInfoGrp { list servedUdrInfo { - description "This attribute contains all the udrInfo attributes - locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the udrInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -584,8 +596,10 @@ module _3gpp-5gc-nrm-nfprofile { } list servedUdmInfo { - description "This attribute contains all the udmInfo attributes - locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the udmInfo + attributes + locally configured in the NRF or the NRF + received during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -598,8 +612,10 @@ module _3gpp-5gc-nrm-nfprofile { } list servedAusfInfo { - description "This attribute contains all the ausfInfo attributes - locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the + ausfInfo attributes + locally configured in the NRF or the NRF + received during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -612,8 +628,10 @@ module _3gpp-5gc-nrm-nfprofile { } list servedAmfInfo { - description "This attribute contains all the amfInfo attributes - locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the amfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -626,8 +644,10 @@ module _3gpp-5gc-nrm-nfprofile { } list servedSmfInfo { - description "This attribute contains all the smfInfo attributes - locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the smfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -640,8 +660,10 @@ module _3gpp-5gc-nrm-nfprofile { } list servedUpfInfo { - description "This attribute contains all the upfInfo attributes - locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the upfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -654,8 +676,10 @@ module _3gpp-5gc-nrm-nfprofile { } list servedPcfInfo { - description "This attribute contains all the pcfInfo attributes - locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the pcfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -668,8 +692,10 @@ module _3gpp-5gc-nrm-nfprofile { } list servedBsfInfo { - description "This attribute contains all the bsfInfo attributes - locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the bsfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -682,8 +708,10 @@ module _3gpp-5gc-nrm-nfprofile { } list servedChfInfo { - description "This attribute contains all the bsfInfo attributes - locally configured in the NRF or the NRF received during NF registration."; + description "This attribute contains all the bsfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; key nfInstanceID; leaf nfInstanceID { @@ -714,29 +742,40 @@ module _3gpp-5gc-nrm-nfprofile { } 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."; + description "If present, and set to true, it indicates that + the different + service instances of a same NF Service + in this NF instance, + + supporting a same API version, are capable to persist + their resource state in shared storage and + therefore these resources + are available after a new NF service + instance supporting + the same API version is selected by a NF + Service Consumer (see 3GPP TS 23.527). + Otherwise, it indicates that the NF Service + Instances of + a same NF Service are not capable to share + resource state inside the NF Instance."; type boolean; } list nfServices { description "List of NF Service Instances. It shall include - the services produced by the NF that can be discovered by other NFs."; + the services produced by the NF that can be + discovered by other NFs."; key serviceInstanceID; min-elements 1; uses nfs3gpp:NFServiceGrp; } leaf nfProfileChangesSupportInd { - description "NF Profile Changes Support Indicator. This IE may be present - in the NFRegister or NFUpdate (NF Profile Complete Replacement) request + 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. @@ -782,8 +821,10 @@ module _3gpp-5gc-nrm-nfprofile { 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 + 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]+$'; @@ -791,8 +832,10 @@ module _3gpp-5gc-nrm-nfprofile { } leaf end { - description "Last value identifying the end of a SUPI range. - To be used when the range of SUPI's can be represented + 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]+$'; @@ -802,8 +845,10 @@ module _3gpp-5gc-nrm-nfprofile { 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."; + A SUPI value is considered part + of the range + if and only if the SUPI string + fully matches the regular expression."; type string; } } @@ -831,7 +876,8 @@ module _3gpp-5gc-nrm-nfprofile { 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."; + if and only if the identity string fully + matches the regular expression."; type string; } } -- GitLab From 52c8f7ade94e9f872ae6aeed07a9caf63c5a3545 Mon Sep 17 00:00:00 2001 From: qiwen Date: Thu, 18 Jan 2024 00:27:23 +0000 Subject: [PATCH 6/8] Update file _3gpp-5gc-nrm-nfprofile.yang --- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 7e5b18e62..f54e21032 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -154,7 +154,8 @@ module _3gpp-5gc-nrm-nfprofile { 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 + The NRF may overwrite the received priority value + when exposing an NFProfile with the Nnrf_NFDiscovery service."; type uint16; } @@ -461,7 +462,8 @@ module _3gpp-5gc-nrm-nfprofile { } leaf iwkEpsInd { - description "Indicates whether interworking with EPS is supported by the UPF. + description "Indicates whether interworking with EPS is + supported by the UPF. true: Supported false (default): Not Supported"; @@ -725,6 +727,7 @@ module _3gpp-5gc-nrm-nfprofile { } list nrfInfo { + description "nrfinfo"; key idx; leaf idx { type uint32; } max-elements 1; -- GitLab From 0fd25d942a8fe956929feb59c30cda310878f1d0 Mon Sep 17 00:00:00 2001 From: qiwen Date: Fri, 2 Feb 2024 04:03:11 +0000 Subject: [PATCH 7/8] Update 2 files - /yang-models/_3gpp-5gc-nrm-nfprofile.yang - /yang-models/_3gpp-5gc-nrm-smffunction.yang --- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 22 ---------------------- yang-models/_3gpp-5gc-nrm-smffunction.yang | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index f54e21032..44bc03a8e 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -1136,29 +1136,7 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; type string; } - - list dnaiSatelliteMappingList { - description "List of the mapping relationship between - satellite ID and at least one DNAI."; - min-elements 1; - key "satelliteid"; - uses dnaiSatelliteMapping; - } - } - - grouping dnaiSatelliteMapping { - leaf-list dnaiList { - description "List of Data network access identifiers."; - min-elements 1; - type string; - } - leaf satelliteid { - description "Unique identifier of a GEO satellite."; - type string; - } - } - grouping PlmnSnssai { list plmnId { description "PLMN ID for which list of supported S-NSSAI(s) diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang index 1bc7ce5eb..8550fcc3d 100755 --- a/yang-models/_3gpp-5gc-nrm-smffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smffunction.yang @@ -91,6 +91,27 @@ module _3gpp-5gc-nrm-smffunction { description "DN of the Dynamic5QISet that the SMFFunction supports (is associated to)."; } + + list dnaiSatelliteMappingList { + description "List of the mapping relationship between + satellite ID and at least one DNAI."; + min-elements 1; + key "satelliteid"; + uses dnaiSatelliteMapping; + } + } + + grouping dnaiSatelliteMapping { + leaf-list dnaiList { + description "List of Data network access identifiers."; + min-elements 1; + type string; + } + + leaf satelliteid { + description "Unique identifier of a GEO satellite."; + type string; + } } augment "/me3gpp:ManagedElement" { -- GitLab From 278f2295b5111a961834082018023c819b5161b7 Mon Sep 17 00:00:00 2001 From: qiwen Date: Fri, 2 Feb 2024 04:04:30 +0000 Subject: [PATCH 8/8] Update file _3gpp-5gc-nrm-nfprofile.yang --- yang-models/_3gpp-5gc-nrm-nfprofile.yang | 1 + 1 file changed, 1 insertion(+) diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang index 44bc03a8e..43f988955 100755 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-nfprofile.yang @@ -1136,6 +1136,7 @@ module _3gpp-5gc-nrm-nfprofile { min-elements 1; type string; } + } grouping PlmnSnssai { list plmnId { -- GitLab