diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index bec576ffcd331164e6de833402740a94e6274f61..84303d5f8dec1a5d4ffe9b6edd0410b029167248 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -25,6 +25,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; + revision 2025-08-07 { reference "CR-0562" ; } revision 2025-05-07 { reference "CR-0532 CR-0536 CR-0540" ; } revision 2025-02-07 { reference "CR-0504" ; } revision 2025-02-05 { reference "CR-0461" ; } @@ -115,53 +116,67 @@ module _3gpp-common-trace { description "This <> defines an area scope."; choice AreaScopeChoice { - leaf-list eutraCellIdList { - type string; - min-elements 1; - max-elements 32; - description "List of E-UTRAN cells identified by E-UTRAN-CGI"; - } - - leaf-list nrCellIdList { - type string; - min-elements 1; - max-elements 32; - description "List of NR cells identified by NG-RAN CGI"; + + case eutran-only { + leaf-list eutraCellIdList { + type types3gpp:EutraCellId; + min-elements 1; + max-elements 32; + description "List of E-UTRAN cells identified by E-UTRAN-CGI"; + } } - - leaf-list tacList { - type types3gpp:Tac; - min-elements 1; - max-elements 8; - description "Tracking Area Code list"; + case tac { + leaf-list tacList { + type types3gpp:Tac; + min-elements 1; + max-elements 8; + description "Tracking Area Code list"; + } + leaf-list cAGIdList { + type types3gpp:CagId; + max-elements 256; + description "It identifies a CAG list containing up to + 256 CAG-identifiers per UE or up to 12 CAG-identifiers + per cell, see TS 38.331 [38]. CAG ID is used to combine + with PLMN ID to identify a PNI-NPN.AG ID is a hexadecimal + range with size 32 bit."; + } } - list sliceIdList { - description "Network Slice Id list"; - key idx; - uses types5g3gpp:PLMNInfo; - min-elements 1; - max-elements 16384; - leaf idx { type string; } - } - - list taiList { - description "Tracking Area Identity list"; - key idx; - min-elements 1; - max-elements 8; - leaf idx { type string; } - uses types3gpp:TaiGrp; + case else { + list nPNIdentityList { + description "list of NPN IDs of in NR. It is either + a list of PNI-NPNs identified by CAG ID with + associated plmn-Identity or a list of SNPN + identified by Network ID with associated plmn-Identity"; + key idx; + min-elements 1; + uses types3gpp:NpnIdGrp; + leaf idx { type string; } + } + leaf-list nrCellIdList { + must 'not(../taiList)'; + type types3gpp:NrCellId; + max-elements 32; + description "List of NR cells identified by NG-RAN CGI"; + } + list taiList { + must 'not(../nrCellIdList)'; + description "Tracking Area Identity list"; + key idx; + max-elements 8; + leaf idx { type string; } + uses types3gpp:TaiGrp; + } } } - list nPNIdentityList { - description "list of NPN IDs of in NR. It is either a list of PNI-NPNs - identified by CAG ID with associated plmn-Identity or a list of SNPN - identified by Network ID with associated plmn-Identity"; + list sliceIdList { + description "Network Slice Id list"; key idx; + uses types5g3gpp:PLMNInfo; min-elements 1; - uses types3gpp:NpnIdGrp; + max-elements 16384; leaf idx { type string; } } } diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index e060a12031a2f59f0b903105242864cb9c95bbfb..040e26d1f9ce63f4d3f8a66b9e289bf90352cc0d 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -16,7 +16,7 @@ module _3gpp-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; - + revision 2025-08-07 { reference CR-0562; } revision 2025-02-19 { reference CR-0512; } revision 2025-02-07 { reference CR-0492; } revision 2024-11-25 { reference CR-1442; } @@ -304,6 +304,39 @@ module _3gpp-common-yang-types { yext3gpp:notNotifyable; } } + + + typedef EutraCellId { + type string { + pattern '^[A-Fa-f0-9]{7}$'; + } + description "28-bit string identifying an E-UTRA Cell Id + as specified in clause 9.3.1.9 of 3GPP TS 38.413 + in hexadecimal representation. Each character in the + string shall take a value of '0' to '9', 'a' to 'f' + or 'A' to 'F' and shall represent 4 bits. + The most significant character representing the 4 most + significant bits of the Cell Id shall appear first in the + string, and the character representing the 4 least + significant bit of the Cell Id shall appear last in the + string."; + } + + typedef NrCellId { + type string { + pattern '^[A-Fa-f0-9]{9}$'; + } + description "36-bit string identifying an NR Cell Id + as specified in clause 9.3.1.7 of 3GPP TS 38.413 + in hexadecimal representation. Each character in the + string shall take a value of '0' to '9', 'a' to 'f' + or 'A' to 'F' and shall represent 4 bits. + The most significant character representing the 4 most + significant bits of the Cell Id shall appear first in the + string, and the character representing the 4 least + significant bit of the Cell Id shall appear last in the + string."; + } grouping NpnIdGrp { description "Represents the NPN supported by the <> using this @@ -319,7 +352,7 @@ module _3gpp-common-yang-types { choice npnidChoice { leaf-list cAGIdList { - type string; + type CagId; max-elements 256; description "It identifies a CAG list containing up to 12 CAG-identifiers per Ue or up to 12 CAG-identifiers per cell, @@ -329,7 +362,7 @@ module _3gpp-common-yang-types { } leaf-list nIDList { - type string; + type Nid; max-elements 16; description "It identifies a list of NIDs containing up to 16 NIDs, see TS 38.331. NID is used to combine with PLMN ID to identify an SNPN. @@ -991,6 +1024,26 @@ module _3gpp-common-yang-types { } } + typedef Nid { + description "This represents the Network Identifier, which + together with a PLMN ID is used to identify a SNPN."; + type string { + pattern '^[A-Fa-f0-9]{11}$'; + } + reference "3GPP TS 23.003 and 3GPP TS 23.501 clause 5.3.2.1."; + } + + typedef CagId { + description "This represents the identifier of a Closed Access + Group (CAG), which together with a PLMN ID is used to + identify a PNI-NPN."; + type string { + pattern '^[A-Fa-f0-9]{8}$'; + } + reference "3GPP TS 23.003 and 3GPP TS 23.501."; + } + + /* DistinguishedName pattern is built up based on the EBNF in 32.300 clause 7.3 EBNF of DN String Representation