diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index 9a99b2658adf10c48a331bda9889d66f85a99bcf..ac3e25ed93623c01ea27683d92c1be228b436e49 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -30,6 +30,7 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2023-08-10 { reference CR-0257; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-14 { reference "CR-0234"; } revision 2022-09-30 { reference "CR-0191"; } @@ -61,6 +62,11 @@ module _3gpp-common-managed-element { ManagedElement"; } + feature SupportedNotificationsUnderManagedElement { + description "The SupportedNotificationsSubtree shall be contained under + ManagedElement"; + } + feature FmUnderManagedElement { description "The FmSubtree shall be contained under ManagedElement"; } @@ -265,6 +271,10 @@ module _3gpp-common-managed-element { if-feature SubscriptionControlUnderManagedElement; } + uses subscr3gpp:SupportedNotificationsSubtree { + if-feature SupportedNotificationsUnderManagedElement; + } + uses fm3gpp:FmSubtree { if-feature FmUnderManagedElement; } diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 09be94e87111944d9fbaac458b8874090cc6eca7..872c972bec1d967edf0985847843cf0d7ce55b7f 100755 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -13,6 +13,7 @@ module _3gpp-common-mnsregistry { Class (IOC) that is part of the Generic Network Resource Model (NRM)."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + revision 2023-05-10 { reference CR-0243; } revision 2023-02-14 { reference CR-0234; } revision 2021-11-23 { reference "S5-216090"; } revision 2021-10-18 { reference "S5-215263"; } @@ -79,6 +80,9 @@ module _3gpp-common-mnsregistry { and provides the data required to support its discovery. It is name-contained by MnsRegistry. + This specification does not specify how 'MnsInfo' objects are + created and maintained. + This information is used by the consumer to discover the producers of specific Management Services and to derive the addresses of the Management Service. diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index 3701700e7e4dfd04f68480f8d83374d3f172f38b..1ef0aba2e62134ea2c7eb43c283ad9e9c2af9b6d 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -30,6 +30,7 @@ module _3gpp-common-subnetwork { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2023-08-10 { reference CR-0257; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-14 { reference CR-0234; } revision 2022-09-30 { reference CR-0191 ; } @@ -78,6 +79,11 @@ module _3gpp-common-subnetwork { SubNetwork"; } + feature SupportedNotificationsUnderSubNetwork { + description "The SupportedNotificationsSubtree shall be contained under + SubNetwork"; + } + feature FmUnderSubNetwork { description "The FmSubtree shall be contained under SubNetwork"; } @@ -223,6 +229,10 @@ module _3gpp-common-subnetwork { if-feature SubscriptionControlUnderSubNetwork; } + uses subscr3gpp:SupportedNotificationsSubtree { + if-feature SupportedNotificationsUnderSubNetwork; + } + uses fm3gpp:FmSubtree { if-feature FmUnderSubNetwork; } diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index 8d9f27a82b69f8111868fd17f38a076d0c8a08d0..264c23f6ad124b89c98cfe6d84561f38b228b50e 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -16,6 +16,7 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; + revision 2023-08-10 { reference "CR0257 CR0260"; } revision 2022-10-20 { reference CR-0196; } revision 2021-01-16 { reference "CR-0120"; } revision 2020-08-26 { reference "CR-0106"; } @@ -33,7 +34,7 @@ module _3gpp-common-subscription-control { type string; description "Defines the types of notifications that are candidates for being forwarded to the notification recipient. - If the notificationFilter attribute is not supported or not present + If the notificationTypes attribute is not supported or not present all candidate notifications types are forwarded to the notification; discriminated by notificationFilter attribute."; } @@ -128,40 +129,61 @@ module _3gpp-common-subscription-control { augment all user classes!"; list NtfSubscriptionControl { - description "A NtfSubscriptionControl instance represents the - notification subscription of a particular notification recipient. - The scope attribute is used to select managed object instances. - The base object instance of the scope is the object instance - name-containing the NtfSubscriptionControl instance. - The notifications related to the selected managed object instances - are candidates to be sent to the address specified by the - notificationRecipientAddress attribute. - The notificationType attribute and notificationFilter attribute - allow MnS consumers to exercise control over which candidate - notifications are sent to the notificationRecipientAddress. - If the notificationType attribute is supported and present, its - value identifies the - types of notifications that are candidate to be sent to the - notificationRecipientAddress. If the notificationType attribute is - not supported or not present, all types of notifications are - candidate to be sent to notificationRecipientAddress. + description "NtfSubscriptionControl represents a notification + subscription of a notification recipient. + + The scope attribute is used to select managed object instances included + in the subscription. The base object instance of the scope is the + object instance name-containing the NtfSubscriptionControl instance. + When the scope attribute is absent, all objects below and including + the base object are scoped. The notifications related to the selected + managed object instances are candidates to be sent to the address + specified by the notificationRecipientAddress attribute. + + The notificationTypes attribute and notificationFilter attribute + allow MnS consumers to control which candidate notifications are + sent to the notificationRecipientAddress. + + If the notificationTypes attribute is present, its value identifies + the notification types that are candidates to be sent to the + notificationRecipientAddress. If the notificationTypes attribute is + absent, notifications of all types are candidates to be sent to + notificationRecipientAddress. Notification types supported in the + NtfSubscriptionControl.notificationTypes attribute are the ones + listed in the attribute SupportedNotifications.notificationTypes. + If supported, the notificationFilter attribute defines a filter that - is applied to the set of candidate notifications. Only candidate + is applied to the set of candidate notifications. The filter is + applicable to all parameters of a notification. Only candidate notifications that pass the filter criteria are sent to the notificationRecipientAddress. If the notificationFilter attribute is - not supported all candidate notificatios are sent to the + absent, all candidate notificatios are sent to the notificationRecipientAddress. - To receive notifications, a MnS consumer has to create - NtfSubscriptionControl object instancess on the MnS producer. - A MnS consumer can create a subscription for another MnS consumer - since it is not required the notificationRecipientAddress be his own - address. + + To receive notifications, a MnS consumer has to create a + NtfSubscriptionControl instance on the MnS producer. A MnS consumer + can create a subscription for another MnS consumer since it is not + required the notificationRecipientAddress be his own address. + When a MnS consumer does not wish to receive notifications any more the MnS consumer shall delete the corresponding NtfSubscriptionControl instance. + + When a subscription is created and the notification scope inludes + the created subscription object and the subscribed notification types + include notifications reporting object creation (notifyMOICreation + or notifyMOIChanges), the first notification sent related to the + new subscription shall report the creation of the + NtfSubscriptionControl instance. Likewise, when a subscription is + deleted and the notification scope inludes the deleted subscription + object and the subscribed notification types include notifications + reporting object deletion (notifyMOIDeletion or notifyMOIChanges), + the last notification sent related to the subscription shall report + the deletion of the NtfSubscriptionControl instance. + Creation and deletion of NtfSubscriptionControl instances by MnS consumers is optional; when not supported, the NtfSubscriptionControl - instances may be created and deleted by the system or be + instances may be created and deleted by the system or be pre-installed."; key id; @@ -172,9 +194,8 @@ module _3gpp-common-subscription-control { list HeartbeatControl { description "MnS consumers (i.e. notification recipients) use heartbeat - notifications to monitor the communication channels between them and - data reporting MnS producers emitting notifications such as - notifyNewAlarm and notifyFileReady. + notifications to monitor the communication channels between themselves + and MnS producers configured to emit notifications. A HeartbeatControl instance allows controlling the emission of heartbeat notifications by MnS producers. The recipients of heartbeat @@ -221,4 +242,47 @@ module _3gpp-common-subscription-control { } } } + + grouping SupportedNotificationsGrp { + description "Attributes of SupportedNotifications."; + + leaf-list notificationTypes { + type string; + config false; + description "List of notification types supported by the MnS producer"; + } + + leaf-list notificationProtocols { + type enumeration { + enum HTTP; + enum HTTP_VES_ENCAPS; + } + config false; + min-elements 1; + description "List of protocols supported for notifications."; + reference "3GPP TS 28.532"; + } + } + + grouping SupportedNotificationsSubtree { + description "Contains SupportedNotifications."; + + list SupportedNotifications { + description "SupportedNotifications represents the notification related + capabilities of a MnS producer. + + The notificationTypes attribute lists notificationTypes supported + by the MnSProducer. Specific IOCs can be the source of a specific + but not necessary every supported notificationType. + + The notificationProtocols attribute identifies the notification + transport protocols supported by a MnS producer."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses SupportedNotificationsGrp; + } + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index efa9dcfe5f36738c0e1fef3ab36ddc2cc8449478..46d7d2c015208e9e1de606bb341dc00315a7b882 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -24,6 +24,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; + revision 2023-08-10 { reference CR-0261; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-18 { reference "CR-0234"; } revision 2023-02-16 { reference "CR-0233"; } @@ -204,27 +205,20 @@ module _3gpp-common-trace { } } - grouping TraceJobGrp { - leaf jobType { - type enumeration { - enum IMMEDIATE_MDT_ONLY; - enum LOGGED_MDT_ONLY; - enum TRACE_ONLY; - enum IMMEDIATE_MDT_AND_TRACE; - enum RLF_REPORT_ONLY; - enum RCEF_REPORT_ONLY; - enum LOGGED_MBSFN_MDT; - } - default TRACE_ONLY; - description "Specifies the MDT mode and it specifies also whether the - TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined - Trace and MDT job. The attribute is applicable for Trace, MDT, RCEF and - RLF reporting."; - reference "Clause 5.9a of 3GPP TS 32.422 for additional details on the - allowed values."; - } - - list listOfInterfaces { + grouping TraceConfigGrp { + + description "Defines the configuration parameters of TraceJob + which are specific for Trace or combined Trace and Immediate MDT. + The attribute listOfNeTypes specifies the network elements to be + traced. The optional attribute listOfInterfaces allows to specify + the individual interfaces of the network elements to be recorded. + The attribute traceDepth allows to configure the level of detail + of the information which shall be recorded. For trace the reporting + is event based, where the triggering event is configured with + attribute triggeringEvent. For each triggering event the first and + last message (start/stop triggering event) to record are specified."; + + list listOfInterfaces { key idx; description "Specifies the interfaces that need to be traced in the given @@ -549,43 +543,9 @@ module _3gpp-common-trace { allowed values"; } - list pLMNTarget { - key "mcc mnc"; - description "Specifies which PLMN that the subscriber of the session to - be recorded uses as selected PLMN. PLMN Target might differ from the - PLMN specified in the Trace Reference"; - reference "Clause 5.9b of 3GPP TS 32.422"; - - uses types3gpp:PLMNId; - } - - leaf traceReportingConsumerUri { - when '../traceReportingFormat = "STREAMING"'; - type inet:uri; - description "URI of the Streaming Trace data reporting MnS consumer - (a.k.a. streaming target). - This attribute shall be present if file based trace data reporting is - supported and traceReportingFormat set to 'file based' or when - jobType is set to Logged MDT or Logged MBSFN MDT."; - reference "Clause 5.9 of 3GPP TS 32.422"; - } - - leaf traceCollectionEntityIPAddress { - when '../traceReportingFormat = "FILE_BASED" or ' - +'../jobType = "LOGGED_MDT_ONLY" or ../jobType = "LOGGED_MBSFN_MDT"'; - type union { - type inet:uri; - type inet:ip-address; - } - description "Specifies the address of the Trace Collection Entity when - the attribute traceReportingFormat is configured for the file-based - reporting. The attribute is applicable for both Trace and MDT."; - reference "Clause 5.9 of 3GPP TS 32.422"; - } - leaf traceDepth { - when '../jobType = "TRACE_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + when '../../jobType = "TRACE_ONLY"' + + ' or ../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; type enumeration { enum MINIMUM; enum MEDIUM; @@ -602,166 +562,196 @@ module _3gpp-common-trace { The attribute is applicable only for Trace, otherwise it carries a null semantic."; reference "Clause 5.3 of 3GPP TS 32.422"; - } - - list traceReference { - key "idx"; - min-elements 1; - max-elements 1; - description "A globally unique identifier, which uniquely identifies the - Trace Session that is created by the TraceJob. - In case of shared network, it is the MCC and MNC of the Participating - Operator that request the trace session that shall be provided. - The attribute is applicable for both Trace and MDT."; - reference "Clause 5.6 of 3GPP TS 32.422"; + } + } - leaf idx { type uint32 ; } - uses trace3gpp:TraceReferenceGrp ; + grouping ImmediateMdtConfigGrp { + description "Represents the ImmediateMdtConfig dataType. + This <> defines the configuration parameters of + IOC TraceJob which are specific for Immediate MDT or combine + Trace and Immediate MDT. + + The optional attribute positioningMethod allows to specify + the positioning methods to use. + + The following attributes are conditional available based on the + measurements configured in listOfMeasurements: + -reportInterval: conditional for M1 in LTE or NR and M1/M2 in UMTS, + -reportAmount: conditional for M1 in LTE or NR and M1/M2 in UMTS, + -reportingTrigger: conditional for M1 in LTE or NR and M1/M2 in UMTS, + -eventThreshold: conditional for A2 event reporting or A2 event + triggered periodic reporting, + -collectionPeriodRrmNR: conditional for M4 and M5 in NR, + -collectionPeriodM6NR: conditional for M6 in NR, + -collectionPeriodM7NR: conditional for M7 in NR, + -collectionPeriodRrmLte (conditional for M3 in LTE), + -measurementPeriodLTE (conditional for M4 and M5 in LTE), + -collectionPeriodM6Lte (conditional for M6 in LTE), + -collectionPeriodM7Lte (conditional for M7 in LTE), + -collectionPeriodRrmUmts (conditional for M4 and M5 in UMTS), + -measurementPeriodUmts (conditional for M6 and M7 in UMTS), + -measurementQuantity (conditional for 1F event reporting), + -beamLevelMeasurement (conditional for M1 in NR), + -excessPacketDelayThresholds (conditional for M6 UL measurement in NR). + + For immediate MDT, the measurement reporting is dependent on the + configured measurements: + + - For measurement M1 in LTE or NR, it is possible to select between + periodical, event triggered, event triggered periodic reporting or + reporting according to all configured RRM event triggers. For M1 and M2 + measurement in UMTS, it is possible to select between periodical, event + triggered reporting or reporting according to all configured RRM event + triggers. Parameter reportingTrigger determines which of the reporting + methods is selected and in case of event triggered or event-triggered + periodic, which is the decisive event type. For periodical reporting, + parameters reportInterval and reportAmount determine the interval between + two successive reports and the number of reports. This means the + periodical reporting terminates after reportAmount reports have been + sent as long as reportAmount is configured with a value different from + infinity. For event-triggered periodic reporting, these two parameters + apply in addition to parameter eventThreshold which determines the + threshold of the event. In this case up to reportAmount reports are + sent with a periodicity of reportInterval after the entering condition + is fulfilled. The reporting is stopped, if the leaving condition is + fulfulled and is restarted if the configured event reoccurs. For event + based reporting, there is only one report sent after the event occurs. + The parameters to configure are reportingTrigger and eventThreshold. + In case of UMTS and 1f event reporting, additionally parameter + measurementQuantity is necessary in order to determine for which + measurement(s) the event threshold is applicable. Parameter + beamLevelMeasurement determines whether beam level measurements shall + be included in case of NR. + + - For measurement M2 in LTE or NR, reporting is according to RRM + configuration, see TS 38.321, TS 36.321 and TS 38.331, TS 36.331. + For measurement M4 in UMTS, reporting is either according to RRM + configuration, see TS 25.321 and TS 25.331 or periodic or event + triggered periodic using parameter collectionPeriodRrmUmts and + eventThresholdUphUmts. + + - For measurement M3 in UMTS, the reporting is done upon + availability, see TS 37.320. + + - For measurements M4, M5, M6 and M7 in NR, for measurements + M3, M4, M5, M6 and M7 in LTE and for measurements M5, M6 and M7 + in UMTS periodical reporting is applied. The configurable parameter + is the interval between two measurements (collectionPeriodRrmNr, + collectionPeriodM6NR, collectionPeriodM7Nr, collectionPeriodRrmLte, + measurementPeriodLte, collectionPeriodM6Lte, collectionPeriodM7Lte, + collectionPeriodRrmUmts, measurementPeriodUmts). If no collection + period is configured for M5 in UMTS, all available measurements are + logged according to RRM configuration."; + + leaf listOfMeasurements { + when 'jobType = "IMMEDIATE_MDT_ONLY"'; + type enumeration { + enum M1; + enum M2; + enum M3; + enum M4; + enum M5; + enum M6_DL; + enum M6_UL; + enum M7_DL; + enum M7_UL; + enum M1_EVENT_TRIGGERED; + enum M6; + enum M7; + enum M8; + enum M9; + } + description "It specifies the UE measurements that shall be collected in + an Immediate MDT job. The attribute is applicable only for Immediate MDT. + In case this attribute is not used, it carries a null semantic."; + reference "3GPP TS 32.422 clause 5.10.3"; } - leaf jobId { - type string; - yext3gpp:inVariant; - description "Identifier of a TraceJob"; + leaf reportingTrigger { + when 'jobType = "IMMEDIATE_MDT_ONLY"'; + type enumeration { + enum PERIODICAL; + enum A2_FOR_LTE; + enum 1F_FOR_UMTS; + enum 1I_FOR_UMTS_MCPS_TDD; + enum A2_TRIGGERED_PERIODIC_FOR_LTE; + enum ALL_CONFIGURED_RRM_FOR_LTE; + enum ALL_CONFIGURED_RRM_FOR_UMTS; + } + description "It specifies whether periodic or event based measurements + should be collected. + The attribute is applicable only for Immediate MDT and when the + listOfMeasurements is configured for M1 (for both UMTS and LTE) + or M2 (only for UMTS). In case this attribute is not used, it carries + a null semantic."; + reference "Clause 5.10.4 of 3GPP TS 32.422"; } - leaf traceReportingFormat { - type enumeration { - enum FILE_BASED; - enum STREAMING; + leaf reportInterval { + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' and ../reportingTrigger = "PERIODICAL"'; + type uint32 { + range "120|240|250|480|500|640|1000|1024|2000|2048|3000|4000|" + +"5120|6000|8000|10240|12000|16000|20000|" + +"20480|24000|28000|32000|40960|60000|64000|" + +"360000|720000|1800000|3600000"; } - default FILE_BASED; - description "Specifies the trace reporting format - streaming trace - reporting or file-based trace reporting"; - reference "3GPP TS 32.422 clause 5.11"; + units milliseconds; + description "It specifies the interval between the periodical measurements + that shall be taken when the UE is in connected mode. + The attribute is applicable only for Immediate MDT and when + reportingTrigger is configured for periodical measurements. In case + this attribute is not used, it carries a null semantic."; + reference "5.10.5 of 3GPP TS 32.422"; } - list traceTarget { - key "targetIdType targetIdValue"; - max-elements 1; - - leaf targetIdType { + leaf reportAmount { + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' and ../reportingTrigger = "PERIODICAL"'; + type union { + type uint32 { + range "1|4|8|16|32|64" ; + } type enumeration { - enum IMSI; - enum IMEI; - enum IMEISV; - enum PUBLIC_ID; - enum UTRAN_CELL; - enum E_UTRAN_CELL; - enum NG_RAN_CELL; - enum ENB; - enum RNC; - enum GNB; - enum SUPI; + enum INFINITY; } } - - leaf targetIdValue { - type string; - } - - description "Specifies the target object of the Trace and MDT. The - attribute is applicable for both Trace and MDT. This attribute - includes the ID type of the target as an enumeration and the ID value. - - The traceTarget shall be public ID in case of a Management Based - Activation is done to an ScscfFunction. The traceTarget shall be - cell only in case of the UTRAN cell traffic trace function. - - The traceTarget shall be E-UtranCell only in case of E-UTRAN cell - traffic trace function.The traceTarget shall be either IMSI or - IMEI(SV) if the Trace Session is activated to any of the following - ManagedEntity(ies): - - HssFunction - - MscServerFunction - - SgsnFunction - - GgsnFunction - - BmscFunction - - RncFunction - - MmeFunction - - The traceTarget shall be IMSI if the Trace Session is activated to a - ManagedEntity playing a role of ServinGWFunction. - - In case of signaling based Trace/MDT, the traceTarget attribute shall - be able to carry (IMSI or IMEI(SV)or SUPI), the mDTAreaScope attribute - shall be able to carry a list of (cell or E-UtranCell or NRCellDU or - TA/LA/RA). - - In case of management based Immediate MDT, the traceTarget attribute - shall be null value, the mDTAreaScope attribute shall carry a list of - (Utrancell or E-UtranCell or NRCellDU). - - In case of management based Logged MDT, the traceTarget attribute - shall carry an eBs or a RNC or gNBs. The Logged MDT should be initiated - on the specified eNB or RNC or gNB in traceTarget. The mDTAreaScope - attribute shall carry a list of (Utrancell or E-UtranCell or NRCellDU or - TA/LA/RA). - - In case of RLF reporting, or RCEF reporting, the traceTarget - attribute shall be null value, the mDTAreaScope attribute shall carry - one or list of eNBs/gNBs"; - reference "3GPP TS 32.422"; + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected. + The attribute is applicable only for Immediate MDT and when + reportingTrigger is configured for periodical measurements. In + case this attribute is not used, it carries a null semantic."; + reference "Clause 5.10.6 of 3GPP TS 32.422"; } - - leaf triggeringEvents { - when '../jobType = "TRACE_ONLY" or ' + - '../jobType = "IMMEDIATE_MDT_AND_TRACE"'; - type string ; - description "Specifies the triggering event parameter of the trace session. - The attribute is applicable only for Trace. In case this attribute is - not used, it carries a null semantic."; - reference "Clause 5.1 of 3GPP TS 32.422"; + + leaf eventThreshold { + when 'jobType = "IMMEDIATE_MDT_ONLY"'; + type int64; + description "Specifies the threshold which should trigger the reporting + in case A2 event reporting in LTE or 1F/1l event in UMTS. The attribute + is applicable only for Immediate MDT and when reportingTrigger is + configured for A2 event in LTE or 1F event or 1l event in UMTS. In + case this attribute is not used, it carries a null semantic."; + reference "Clauses 5.10.7 and 5.10.7a of 3GPP TS 32.422"; } - - leaf anonymizationOfMDTData { - when ../areaScope ; - type enumeration { - enum NO_IDENTITY; - enum TAC_OF_IMEI; + + leaf collectionPeriodRRMNR { + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' or jobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "1024|2048|5120|10240|60000"; } - default NO_IDENTITY; - description "Specifies level of MDT anonymization."; - reference "3GPP TS 32.422 clause 5.10.12."; - } - - list areaConfigurationForNeighCell { - when '../jobType = "LOGGED_MDT_ONLY"'; - key "idx"; - leaf idx { type uint32 ; } - description "It specifies the area for which UE is requested to perform - measurement logging for neighbour cells which have list of frequencies. - If it is not configured, the UE shall perform measurement logging for - all the neighbour cells. - - Applicable only to NR Logged MDT."; - reference "3GPP TS 32.422 clause 5.10.26."; - - uses AreaConfigGrp; + units milliseconds; + description "Specifies the collection period for collecting RRM + configured measurement samples for M4, M5 in NR. The attribute is + applicable only for Immediate MDT. In case this attribute is not + used, it carries a null semantic."; + reference "Clause 5.10.30 of 3GPP TS 32.422"; } - list areaScope { - key "idx"; - leaf idx { type uint32 ; } - description "It specifies the area where data shall be collected. - List of eNB/list of gNB/eNB/gNB for RLF or RCEF. - - List of cells/TA/LA/RA for signaling based MDT or management - based Logged MDT. - - List of cells for management based Immediate MDT. - - Cell, TA, LA, RA are mutually exclusive. - - This attribute shall be present if MDT is supported."; - reference "Clause 5.10.2 of 3GPP TS 32.422"; - - uses AreaScopeGrp; - } - - leaf collectionPeriodRRMLTE { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + leaf collectionPeriodRRMLTE { + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' or jobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" +"24000|28000|32000|64000"; @@ -773,10 +763,49 @@ module _3gpp-common-trace { null semantic."; reference "Clause 5.10.20 of 3GPP TS 32.422"; } + + leaf collectionPeriodM6NR { + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' or jobType = "IMMEDIATE_MDT_AND_TRACE"'; + type enumeration { + enum 120ms; + enum 240ms; + enum 480ms; + enum 640ms; + enum 1024ms; + enum 2048ms; + enum 5120ms; + enum 10240ms; + enum 20480ms; + enum 40960ms; + enum 1min; + enum 6min; + enum 12min; + enum 30min; + } + description "It specifies the collection period for the Packet Delay + measurement (M6) for NR MDT taken by the gNB. The attribute is + applicable only for Immediate MDT. In case this attribute is not used, + it carries a null semantic."; + reference "clause 5.10.34 of TS 32.422"; + } + + leaf collectionPeriodM7NR { + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' or jobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "1..60"; + } + description "It specifies the collection period for the Packet Loss Rate + measurement (M7) for NR MDT taken by the gNB. The attribute is + applicable only for Immediate MDT. In case this attribute is not used, + it carries a null semantic."; + reference "clause 5.10.35 of TS 32.422"; + } leaf collectionPeriodM6LTE { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' or jobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "1024|2048|5120|10240"; } @@ -789,8 +818,8 @@ module _3gpp-common-trace { } leaf collectionPeriodM7LTE { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' or jobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint16 { range 1..60 ; } @@ -800,10 +829,23 @@ module _3gpp-common-trace { is not used, it carries a null semantic."; reference "Clause 5.10.33 of TS 32.422 ."; } - + + leaf eventThresholdUphUMTS { + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' or jobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint16 { + range 0..31 ; + } + description "It specifies the threshold which should trigger + the reporting in case of event-triggered periodic reporting for M4 + (UE power headroom measurement) in UMTS. In case this attribute is + not used, it carries a null semantic."; + reference "5.10.39 of TS 32.422"; + } + leaf collectionPeriodRRMUMTS { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' or jobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { range "1024|1280|2048|2560|5120|" +"10240|60000"; @@ -816,122 +858,125 @@ module _3gpp-common-trace { reference "Clause 5.10.21 of 3GPP TS 32.422"; } - leaf collectionPeriodRRMNR { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; +leaf measurementPeriodLTE { + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' or jobType = "IMMEDIATE_MDT_AND_TRACE"'; type uint32 { - range "1024|2048|5120|10240|60000"; + range "1024|1280|2048|2560|5120|" + +"10240|60000"; } units milliseconds; - description "Specifies the collection period for collecting RRM - configured measurement samples for M4, M5 in NR. The attribute is - applicable only for Immediate MDT. In case this attribute is not - used, it carries a null semantic."; - reference "Clause 5.10.30 of 3GPP TS 32.422"; + mandatory true; + description "It specifies the measurement period for the Data Volume and + Scheduled IP throughput measurements for MDT taken by the eNB. + The attribute is applicable only for Immediate MDT. In case this + attribute is not used, it carries a null semantic."; + reference "Clause 5.10.23 of 3GPP TS 32.422"; } - leaf collectionPeriodM6NR { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; - type enumeration { - enum 120ms; - enum 240ms; - enum 480ms; - enum 640ms; - enum 1024ms; - enum 2048ms; - enum 5120ms; - enum 10240ms; - enum 20480ms; - enum 40960ms; - enum 1min; - enum 6min; - enum 12min; - enum 30min; + leaf measurementPeriodUMTS { + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + 'or jobType = "IMMEDIATE_MDT_AND_TRACE"'; + type uint32 { + range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" + +"24000|28000|32000|64000"; } - description "It specifies the collection period for the Packet Delay - measurement (M6) for NR MDT taken by the gNB. The attribute is - applicable only for Immediate MDT. In case this attribute is not used, - it carries a null semantic."; - reference "clause 5.10.34 of TS 32.422"; + units milliseconds; + mandatory true; + description "It specifies the measurement period for the Data Volume and + Throughput measurements for MDT taken by RNC. + The attribute is applicable only for Immediate MDT. In case this + attribute is not used, it carries a null semantic."; + reference "Clause 5.10.22 of 3GPP TS 32.422"; } - - leaf collectionPeriodM7NR { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; - type uint32 { - range "1..60"; + + leaf measurementQuantity { + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' or jobType = "IMMEDIATE_MDT_AND_TRACE"'; + type enumeration { + enum CPICH_ECNO; + enum CPICH_RSCP; + enum PATHLOSS; } - description "It specifies the collection period for the Packet Loss Rate - measurement (M7) for NR MDT taken by the gNB. The attribute is - applicable only for Immediate MDT. In case this attribute is not used, - it carries a null semantic."; - reference "clause 5.10.35 of TS 32.422"; + description "It specifies the measurements that are collected in an MDT + job for a UMTS MDT configured for event triggered reporting."; + reference "Clause 5.10.15 of 3GPP TS 32.422"; } leaf beamLevelMeasurement { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' or jobType = "IMMEDIATE_MDT_AND_TRACE"'; type boolean; default false; description "Indicates whether the NR M1 beam level measurements shall be included or not."; reference "Clause 5.10.40 of TS 32.422"; } - - leaf eventListForEventTriggeredMeasurement { - when '../jobType = "LOGGED_MDT_ONLY"'; + + leaf positioningMethod { + when 'jobType = "IMMEDIATE_MDT_ONLY"' + + ' or jobType = "IMMEDIATE_MDT_AND_TRACE"'; type enumeration { - enum OUT_OF_COVERAGE ; - enum A2_EVENT ; + enum GNSS; + enum E_CELL_ID; } - description "Specifies event types for event triggered measurement in the - case of logged NR MDT. Each trace session may configure at most one - event. The UE shall perform logging of measurements only upon certain - condition being fulfilled: - - Out of coverage. - - A2 event."; - reference "Clause 5.10.28 of 3GPP TS 32.422"; + description "It specifies what positioning method should be used in the + MDT job."; + reference "Clause 5.10.19 of 3GPP TS 32.422"; } - - leaf eventThreshold { - when '../jobType = "IMMEDIATE_MDT_ONLY"'; - type int64; - description "Specifies the threshold which should trigger the reporting - in case A2 event reporting in LTE or 1F/1l event in UMTS. The attribute - is applicable only for Immediate MDT and when reportingTrigger is - configured for A2 event in LTE or 1F event or 1l event in UMTS. In - case this attribute is not used, it carries a null semantic."; - reference "Clauses 5.10.7 and 5.10.7a of 3GPP TS 32.422"; + + list excessPacketDelayThresholds { + description "Excess packet delay thresholds info for M6 UL measurement."; + min-elements 1; + key idx; + leaf idx { type string; } + uses ExcessPacketDelayThresholdsGrp; } + } - leaf listOfMeasurements { - when '../jobType = "IMMEDIATE_MDT_ONLY"'; - type enumeration { - enum M1; - enum M2; - enum M3; - enum M4; - enum M5; - enum M6_DL; - enum M6_UL; - enum M7_DL; - enum M7_UL; - enum M1_EVENT_TRIGGERED; - enum M6; - enum M7; - enum M8; - enum M9; + grouping LoggedMdtGrp { + description "This <> defines the configuration parameters of + IOC TraceJob which are specific for Logged MDT or Logged MBSFN MDT. + The optional attribute plmnList allows to specify the PLMNs where + measurement collection, status indication and log reporting is allowed, + the optional attribute areaConfigurationForNeighCell allows to specify + the area for which UE is requested to perform measurements logging for + neighbour cells which have list of frequencies. For logged MDT in UMTS + and LTE, the reporting is periodical. Parameter loggingInterval determines + the interval between the reports and parameter loggingDuration determines + how long the configuration is valid meaning after this duration has passed + no further reports are sent. In NR, the reporting can be periodical or event + based, determined by parameter reportType. For periodical reporting the + same parameters as in LTE and UMTS apply. For event based reporting, + parameter eventListForEventTriggeredMeasurement configures the event type, + namely 'out of coverage' or 'L1 event'. In case 'L1 event' is selected as + event type, the logging is performed according to parameter loggingInterval + at regular intervals only when the conditions indicated by eventThresholdL1, + hysteresisL1, timeToTriggerL1 (defining the thresholds, hysteresis and time + to trigger) are met and if UE is 'camped normally' state (TS 38.331, + TS 38.304). In case 'out of coverage' is selected as event type, the + logging is performed according to parameter loggingInterval at regular + intervals only when the UE is in 'any cell selection' state. + Furthermore, logging is performed immediately upon transition from the + 'any cell selection' state to the 'camped normally' state (TS 38.331, + TS 38.304)."; + + leaf traceCollectionEntityIPAddress { + when '../traceReportingFormat = "FILE_BASED" or ' + +'jobType = "LOGGED_MDT_ONLY" or jobType = "LOGGED_MBSFN_MDT"'; + type union { + type inet:uri; + type inet:ip-address; } - description "It specifies the UE measurements that shall be collected in - an Immediate MDT job. The attribute is applicable only for Immediate MDT. - In case this attribute is not used, it carries a null semantic."; - reference "3GPP TS 32.422 clause 5.10.3"; + description "Specifies the address of the Trace Collection Entity when + the attribute traceReportingFormat is configured for the file-based + reporting. The attribute is applicable for both Trace and MDT."; + reference "Clause 5.9 of 3GPP TS 32.422"; } - + leaf loggingDuration { - when '../jobType = "LOGGED_MDT_ONLY" or' - + ' ../jobType = "LOGGED_MBSFN_MDT"'; + when 'jobType = "LOGGED_MDT_ONLY" or' + + ' jobType = "LOGGED_MBSFN_MDT"'; type uint32 { range "600|1200|2400|3600|5400|7200"; } @@ -944,8 +989,8 @@ module _3gpp-common-trace { } leaf loggingInterval { - when '../jobType = "LOGGED_MDT_ONLY" or' - + ' ../jobType = "LOGGED_MBSFN_MDT"'; + when 'jobType = "LOGGED_MDT_ONLY" or' + + ' jobType = "LOGGED_MBSFN_MDT"'; type uint32 { range "0|320|640|1280|2560|5120|10240|20480|" +"30720|40960|61440"; @@ -957,10 +1002,35 @@ module _3gpp-common-trace { The value 0 indicates Infinity for NR."; reference "5.10.8 of 3GPP TS 32.422"; } + + leaf reportType { + when 'jobType = "IMMEDIATE_MDT_ONLY"'; + type enumeration { + enum PERIODICAL; + enum EVENT_TRIGGERED; + } + description "It specifies report type for logged NR MDT"; + reference "Clause 5.10.27 of 3GPP TS 32.422"; + } + + leaf eventListForEventTriggeredMeasurement { + when 'jobType = "LOGGED_MDT_ONLY"'; + type enumeration { + enum OUT_OF_COVERAGE ; + enum A2_EVENT ; + } + description "Specifies event types for event triggered measurement in the + case of logged NR MDT. Each trace session may configure at most one + event. The UE shall perform logging of measurements only upon certain + condition being fulfilled: + - Out of coverage. + - A2 event."; + reference "Clause 5.10.28 of 3GPP TS 32.422"; + } leaf eventThresholdL1 { - when '../jobType = "LOGGED_MDT_ONLY" or' - + ' ../jobType = "LOGGED_MBSFN_MDT"'; + when 'jobType = "LOGGED_MDT_ONLY" or' + + ' jobType = "LOGGED_MBSFN_MDT"'; type uint32 { range "0..127"; } @@ -974,8 +1044,8 @@ module _3gpp-common-trace { } leaf hysteresisL1 { - when '../jobType = "LOGGED_MDT_ONLY" or ' - + '../jobType = "LOGGED_MBSFN_MDT"'; + when 'jobType = "LOGGED_MDT_ONLY" or ' + + 'jobType = "LOGGED_MBSFN_MDT"'; type uint32 { range "0..30"; } @@ -987,10 +1057,10 @@ module _3gpp-common-trace { In case this attribute is not used, it carries a null semantic."; reference "clause 5.10.37 of TS 32.422"; } - - leaf timeToTriggerL1 { - when '../jobType = "LOGGED_MDT_ONLY" or ' - + '../jobType = "LOGGED_MBSFN_MDT"'; + + leaf timeToTriggerL1 { + when 'jobType = "LOGGED_MDT_ONLY" or ' + + 'jobType = "LOGGED_MBSFN_MDT"'; type int32 { range 0|40|64|80|100|128|160|256|320|480|512|640|1024|1280|2560|5120; } @@ -1004,8 +1074,33 @@ module _3gpp-common-trace { reference "clauses 5.10.38 of TS 32.422"; } + list pLMNList { + when 'jobType = "LOGGED_MDT_ONLY"'; + key "mcc mnc"; + uses types3gpp:PLMNId; + max-elements 16; + description "It indicates the PLMNs where measurement collection, status + indication and log reporting is allowed."; + reference "Clause 5.10.24 of 3GPP TS 32.422"; + } + + list areaConfigurationForNeighCell { + when 'jobType = "LOGGED_MDT_ONLY"'; + key "idx"; + leaf idx { type uint32 ; } + description "It specifies the area for which UE is requested to perform + measurement logging for neighbour cells which have list of frequencies. + If it is not configured, the UE shall perform measurement logging for + all the neighbour cells. + + Applicable only to NR Logged MDT."; + reference "3GPP TS 32.422 clause 5.10.26."; + + uses AreaConfigGrp; + } + list mBSFNAreaList { - when '../jobType = "LOGGED_MBSFN_MDT"'; + when 'jobType = "LOGGED_MBSFN_MDT"'; key "mbsfnAreaId earfcn"; max-elements 8; description "The MBSFN Area consists of a MBSFN Area ID and Carrier @@ -1015,180 +1110,243 @@ module _3gpp-common-trace { uses MbsfnAreaGrp; } + } - leaf measurementPeriodLTE { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; - type uint32 { - range "1024|1280|2048|2560|5120|" - +"10240|60000"; + grouping MdtConfigGrp { + description "Defines the configuration parameters of IOC + TraceJob which are specific for MDT. The attribute + anonymizationOfMdtData specifies the level of anonymization + of MDT data. The optional attribute areaScope allows to + specify the area in terms of cells or Tracking Area/Routing + Area/Location area where the MDT data collection shall take + place. In case of RLF_REPORT_ONLY and RCEF_REPORT_ONLY the + optional attribute areaScope allows to specify the eNB or list + of eNBs or gNB or list of gNBs where the reports should be + collected. The optional attribute sensorInformation allows to + specify the sensor information to include. Based on the value + configured for attribute jobType in IOC TraceJob, the attributes + immediateMdtConfig or loggedMdtConfig are available: In case of + IMMEDIATE_MDT_ONLY or IMMEDIATE_MDT_AND_TRACE the attribute + immediateMdtConfig is applicable. In case of LOGGED_MDT_ONLY or + LOGGED_MBSFN_MDT the attribute loggedMdtConfig is applicable."; + + leaf anonymizationOfMDTData { + when ../areaScope ; + type enumeration { + enum NO_IDENTITY; + enum TAC_OF_IMEI; } - units milliseconds; - description "It specifies the measurement period for the Data Volume and - Scheduled IP throughput measurements for MDT taken by the eNB. - The attribute is applicable only for Immediate MDT. In case this - attribute is not used, it carries a null semantic."; - reference "Clause 5.10.23 of 3GPP TS 32.422"; + default NO_IDENTITY; + description "Specifies level of MDT anonymization."; + reference "3GPP TS 32.422 clause 5.10.12."; } - leaf measurementPeriodUMTS { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + 'or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; - type uint32 { - range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" - +"24000|28000|32000|64000"; - } - units milliseconds; - description "It specifies the measurement period for the Data Volume and - Throughput measurements for MDT taken by RNC. - The attribute is applicable only for Immediate MDT. In case this - attribute is not used, it carries a null semantic."; - reference "Clause 5.10.22 of 3GPP TS 32.422"; + list areaScope { + key "idx"; + leaf idx { type uint32 ; } + description "It specifies the area where data shall be collected. + List of eNB/list of gNB/eNB/gNB for RLF or RCEF. + + List of cells/TA/LA/RA for signaling based MDT or management + based Logged MDT. + + List of cells for management based Immediate MDT. + + Cell, TA, LA, RA are mutually exclusive. + + This attribute shall be present if MDT is supported."; + reference "Clause 5.10.2 of 3GPP TS 32.422"; + + uses AreaScopeGrp; } - leaf measurementQuantity { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + leaf-list sensorInformation { type enumeration { - enum CPICH_ECNO; - enum CPICH_RSCP; - enum PATHLOSS; + enum BAROMETRIC_PRESSURE; + enum UE_SPEED; + enum UE_ORIENTATION; } - description "It specifies the measurements that are collected in an MDT - job for a UMTS MDT configured for event triggered reporting."; - reference "Clause 5.10.15 of 3GPP TS 32.422"; + description "It specifies which sensor information shall be included in + logged NR MDT and immediate NR MDT measurement if they are available. + The following sensor measurement can be included or excluded for + the UE."; + reference "Clause 5.10.29 of 3GPP TS 32.422"; } + } - leaf eventThresholdUphUMTS { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; - type uint16 { - range 0..31 ; - } - description "It specifies the threshold which should trigger - the reporting in case of event-triggered periodic reporting for M4 - (UE power headroom measurement) in UMTS. In case this attribute is - not used, it carries a null semantic."; - reference "5.10.39 of TS 32.422"; + grouping TraceJobGrp { + + leaf jobType { + type enumeration { + enum IMMEDIATE_MDT_ONLY; + enum LOGGED_MDT_ONLY; + enum TRACE_ONLY; + enum IMMEDIATE_MDT_AND_TRACE; + enum RLF_REPORT_ONLY; + enum RCEF_REPORT_ONLY; + enum LOGGED_MBSFN_MDT; + } + default TRACE_ONLY; + description "Specifies the MDT mode and it specifies also whether the + TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined + Trace and MDT job. The attribute is applicable for Trace, MDT, RCEF and + RLF reporting."; + reference "Clause 5.9a of 3GPP TS 32.422 for additional details on the + allowed values."; } + - list pLMNList { - when '../jobType = "LOGGED_MDT_ONLY"'; + list pLMNTarget { key "mcc mnc"; + description "Specifies which PLMN that the subscriber of the session to + be recorded uses as selected PLMN. PLMN Target might differ from the + PLMN specified in the Trace Reference"; + reference "Clause 5.9b of 3GPP TS 32.422"; + uses types3gpp:PLMNId; - max-elements 16; - description "It indicates the PLMNs where measurement collection, status - indication and log reporting is allowed."; - reference "Clause 5.10.24 of 3GPP TS 32.422"; } - leaf positioningMethod { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; - type enumeration { - enum GNSS; - enum E_CELL_ID; - } - description "It specifies what positioning method should be used in the - MDT job."; - reference "Clause 5.10.19 of 3GPP TS 32.422"; + leaf traceReportingConsumerUri { + when '../traceReportingFormat = "STREAMING"'; + type inet:uri; + description "URI of the Streaming Trace data reporting MnS consumer + (a.k.a. streaming target). + This attribute shall be present if file based trace data reporting is + supported and traceReportingFormat set to 'file based' or when + jobType is set to Logged MDT or Logged MBSFN MDT."; + reference "Clause 5.9 of 3GPP TS 32.422"; } - - leaf reportAmount { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' and ../reportingTrigger = "PERIODICAL"'; - type union { - type uint32 { - range "1|4|8|16|32|64" ; - } - type enumeration { - enum INFINITY; - } - } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected. - The attribute is applicable only for Immediate MDT and when - reportingTrigger is configured for periodical measurements. In - case this attribute is not used, it carries a null semantic."; - reference "Clause 5.10.6 of 3GPP TS 32.422"; + + leaf traceCollectionEntityId { + when '../jobType = "LOGGED_MDT_ONLY" or ' + + '../jobType = "LOGGED_MBSFN_MDT"'; + type uint32; + description "It specifies the TCE Id which is sent to the UE in + Logged MDT."; + reference "Clause 5.10.11 of 3GPP TS 32.422"; } - leaf reportingTrigger { - when '../jobType = "IMMEDIATE_MDT_ONLY"'; - type enumeration { - enum PERIODICAL; - enum A2_FOR_LTE; - enum 1F_FOR_UMTS; - enum 1I_FOR_UMTS_MCPS_TDD; - enum A2_TRIGGERED_PERIODIC_FOR_LTE; - enum ALL_CONFIGURED_RRM_FOR_LTE; - enum ALL_CONFIGURED_RRM_FOR_UMTS; - } - description "It specifies whether periodic or event based measurements - should be collected. - The attribute is applicable only for Immediate MDT and when the - listOfMeasurements is configured for M1 (for both UMTS and LTE) - or M2 (only for UMTS). In case this attribute is not used, it carries - a null semantic."; - reference "Clause 5.10.4 of 3GPP TS 32.422"; + list traceReference { + key "idx"; + min-elements 1; + max-elements 1; + description "A globally unique identifier, which uniquely identifies the + Trace Session that is created by the TraceJob. + In case of shared network, it is the MCC and MNC of the Participating + Operator that request the trace session that shall be provided. + The attribute is applicable for both Trace and MDT."; + reference "Clause 5.6 of 3GPP TS 32.422"; + + leaf idx { type uint32 ; } + uses trace3gpp:TraceReferenceGrp ; } - leaf reportInterval { - when '../jobType = "IMMEDIATE_MDT_ONLY"' - + ' and ../reportingTrigger = "PERIODICAL"'; - type uint32 { - range "120|240|250|480|500|640|1000|1024|2000|2048|3000|4000|" - +"5120|6000|8000|10240|12000|16000|20000|" - +"20480|24000|28000|32000|40960|60000|64000|" - +"360000|720000|1800000|3600000"; - } - units milliseconds; - description "It specifies the interval between the periodical measurements - that shall be taken when the UE is in connected mode. - The attribute is applicable only for Immediate MDT and when - reportingTrigger is configured for periodical measurements. In case - this attribute is not used, it carries a null semantic."; - reference "5.10.5 of 3GPP TS 32.422"; + leaf jobId { + type string; + yext3gpp:inVariant; + description "Identifier of a TraceJob"; } - leaf reportType { - when '../jobType = "IMMEDIATE_MDT_ONLY"'; + leaf traceReportingFormat { type enumeration { - enum PERIODICAL; - enum EVENT_TRIGGERED; + enum FILE_BASED; + enum STREAMING; } - description "It specifies report type for logged NR MDT"; - reference "Clause 5.10.27 of 3GPP TS 32.422"; + default FILE_BASED; + description "Specifies the trace reporting format - streaming trace + reporting or file-based trace reporting"; + reference "3GPP TS 32.422 clause 5.11"; } + + list traceTarget { + key "targetIdType targetIdValue"; + max-elements 1; - leaf-list sensorInformation { - type enumeration { - enum BAROMETRIC_PRESSURE; - enum UE_SPEED; - enum UE_ORIENTATION; + leaf targetIdType { + type enumeration { + enum IMSI; + enum IMEI; + enum IMEISV; + enum PUBLIC_ID; + enum UTRAN_CELL; + enum E_UTRAN_CELL; + enum NG_RAN_CELL; + enum ENB; + enum RNC; + enum GNB; + enum SUPI; + } } - description "It specifies which sensor information shall be included in - logged NR MDT and immediate NR MDT measurement if they are available. - The following sensor measurement can be included or excluded for - the UE."; - reference "Clause 5.10.29 of 3GPP TS 32.422"; - } - leaf traceCollectionEntityId { - when '../jobType = "LOGGED_MDT_ONLY" or ' - + '../jobType = "LOGGED_MBSFN_MDT"'; - type uint32; - description "It specifies the TCE Id which is sent to the UE in - Logged MDT."; - reference "Clause 5.10.11 of 3GPP TS 32.422"; + leaf targetIdValue { + type string; + } + + description "Specifies the target object of the Trace and MDT. The + attribute is applicable for both Trace and MDT. This attribute + includes the ID type of the target as an enumeration and the ID value. + + The traceTarget shall be public ID in case of a Management Based + Activation is done to an ScscfFunction. The traceTarget shall be + cell only in case of the UTRAN cell traffic trace function. + + The traceTarget shall be E-UtranCell only in case of E-UTRAN cell + traffic trace function.The traceTarget shall be either IMSI or + IMEI(SV) if the Trace Session is activated to any of the following + ManagedEntity(ies): + - HssFunction + - MscServerFunction + - SgsnFunction + - GgsnFunction + - BmscFunction + - RncFunction + - MmeFunction + + The traceTarget shall be IMSI if the Trace Session is activated to a + ManagedEntity playing a role of ServinGWFunction. + + In case of signaling based Trace/MDT, the traceTarget attribute shall + be able to carry (IMSI or IMEI(SV)or SUPI), the mDTAreaScope attribute + shall be able to carry a list of (cell or E-UtranCell or NRCellDU or + TA/LA/RA). + + In case of management based Immediate MDT, the traceTarget attribute + shall be null value, the mDTAreaScope attribute shall carry a list of + (Utrancell or E-UtranCell or NRCellDU). + + In case of management based Logged MDT, the traceTarget attribute + shall carry an eBs or a RNC or gNBs. The Logged MDT should be initiated + on the specified eNB or RNC or gNB in traceTarget. The mDTAreaScope + attribute shall carry a list of (Utrancell or E-UtranCell or NRCellDU or + TA/LA/RA). + + In case of RLF reporting, or RCEF reporting, the traceTarget + attribute shall be null value, the mDTAreaScope attribute shall carry + one or list of eNBs/gNBs"; + reference "3GPP TS 32.422"; } - list excessPacketDelayThresholds { - description "Excess packet delay thresholds info for M6 UL measurement."; - min-elements 1; - key idx; - leaf idx { type string; } - uses ExcessPacketDelayThresholdsGrp; + list traceConfig { + when '../jobType = "TRACE_ONLY"' + + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + key idx; + description "Trace config"; + max-elements 1; + uses TraceConfigGrp; + leaf idx { type string; } + } + + list mdtConfig { + when '../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../jobType = "RLF_REPORT_ONLY"' + + ' or ../jobType = "RCEF_REPORT_ONLY"' + + ' or ../jobType = "LOGGED_MBSFN_MDT"'; + key idx; + description "MDT config"; + max-elements 1; + uses MdtConfigGrp; + leaf idx { type string; } } } @@ -1249,145 +1407,14 @@ module _3gpp-common-trace { selected in the Trace Session in case of management based activation when several PLMNs are supported in the RAN. - The attribute jobType specifies the kind of data to collect. Dependent - on the selected type various parameters shall be available. The - attributes jobType, traceReference, - traceCollectionEntityIPAddress, traceTarget and traceReportingFormat - are mandatory for all job types. If streaming reporting is selected - for traceReportingFormat, traceReportingConsumerUri shall be present - additionally. The attribute pLMNTarget shall be present if trace - activation method is management based. - - For the different job types the attributes are differentiated as follows: - - - In case of TRACE_ONLY additionally the following attributes shall be - available: listOfNETypes, traceDepth, and triggeringEvents. - - For this case the optional attribute listOfInterfaces allows to specify - the interfaces to be recorded. - - - In case of IMMEDIATE_MDT_ONLY additionally the following attributes - shall be available: - - anonymizationOfMDTData, - - listOfMeasurements, - - collectionPeriodRRMUMTS (conditional for M4 and M5 in UMTS), - - measurementPeriodUMTS (conditional for M6 and M7 in UMTS), - - collectionPeriodRRMLTE (conditional for M3 in LTE), - - measurementPeriodLTE (conditional for M4 and M5 in LTE), - - collectionPeriodM6LTE (conditional for M6 in LTE), - - collectionPeriodM7LTE (conditional for M7 in LTE), - - collectionPeriodRRMNR (conditional for M4 and M5 in NR), - - collectionPeriodM6NR (conditional for M6 in NR), - - collectionPeriodM7NR (conditional for M7 in NR), - - beamLevelMeasurement (conditional for M1 in NR), - - reportInterval (conditional for M1 in LTE or NR and M1/M2 in UMTS), - - reportAmount (conditional for M1 in LTE or NR and M1/M2 in UMTS), - - reportingTrigger (conditional for M1 in LTE or NR and M1/M2 in UMTS), - - eventThreshold (conditional for A2 event reporting or A2 event - triggered periodic reporting), - - measurementQuantity (conditional for 1F event reporting). - - excessPacketDelayThresholds (conditional for M6 UL measurement in NR). - - For this case the optional attribute areaScope allows to specify the - area in terms of cells or Tracking Area/Routing Area/Location area where - the MDT data collection shall take place and the optional attributes - positioningMethod, sensorInformation allow to specify the positioning - methods to use or the sensor information to include. - - In case of IMMEDIATE_MDT_AND_TRACE both additional attributes of - TRACE_ONLY and IMMEDIATE_MDT_ONLY shall apply. - - In case of LOGGED_MDT_ONLY additionally the following attributes shall - be available: anonymizationOfMDTData, traceCollectionEntityId, - loggingInterval, loggingDuration, reportType, - eventListForEventTriggeredMeasurements. - - For this case the optional attribute areaScope allows to specify the - area in terms of cells or Tracking Area/Routing Area/Location area - where the MDT data collection shall take place, the optional attribute - pLMNList allows to specify the PLMNs where measurement collection, - status indication and log reporting is allowed, the optional attribute - areaConfigurationForNeighCell allows to specify the area for which UE - is requested to perform measurements logging for neighbour cells which - have list of frequencies and the optional attribute sensorInformation - allows to specify the sensor information to include. - - In case of RLF_REPORT_ONLY and RCEF_REPORT_ONLY the optional attribute - areaScope allows to specify the eNB or list of eNBs or gNB or list of - gNBs where the reports should be collected. - - In case of LOGGED_MBSFN_MDT additionally the following attributes - shall be available: anonymizationOfMDTData, loggingInterval, - loggingDuration, mBSFNAreaList. - - Reporting of measurements and messages can be periodical, event - triggered or event triggered periodic depending on the selected - job type. - - For trace the reporting is event based, where the triggering event - is configured with attribute triggeringEvents. For each triggering - event the first and last message (start/stop triggering event) to - record are specified. - - For immediate MDT, the reporting is dependent on the configured - measurements: - - For measurement M1 in LTE or NR, it is possible to select between - periodical, event triggered, event triggered periodic reporting or - reporting according to all configured RRM event triggers. For M1 and - M2 measurement in UMTS, it is possible to select between periodical, - event triggered reporting or reporting according to all configured RRM - event triggers. Parameter reportingTrigger determines which of the - reporting methods is selected and in case of event triggered or - event-triggered periodic, which is the decisive event type. For - periodical reporting, parameters reportInterval and reportAmount - determine the interval between two successive reports and the number - of reports. This means the periodical reporting terminates after - reportAmount reports have been sent as long as reportAmount is - configured with a value different from infinity. For event-triggered - periodic reporting, these two parameters apply in addition to parameter - eventThreshold which determines the threshold of the event. In this - case up to reportAmount reports are sent with a periodicity of - reportInterval after the entering condition is fulfilled. The - reporting is stopped, if the leaving condition is fulfulled and is - restarted if the configured event reoccurs. For event based reporting, - there is only one report sent after the event occurs. The parameters - to configure are reportingTrigger and eventThreshold. In case of UMTS - and 1f event reporting, additionally parameter measurementQuantity is - necessary in order to determine for which measurement(s) the event - threshold is applicable. - - Parameter beamLevelMeasurement determines whether beam level - measurements shall be included in case of NR. - - For measurement M2 in LTE or NR, reporting is according to - RRM configuration, see TS 38.321, TS 36.321 and TS 38.331, TS 36.331. - For measurement M4 in UMTS, reporting is either according to RRM - configuration, see TS 25.321 and TS 25.331 or periodic or event - triggered periodic using parameter collectionPeriodRRMUMTS and - eventThresholdUphUMTS. - - For measurement M3 in UMTS, the reporting is done upon availability, - see TS 37.320. - - For measurements M4, M5, M6 and M7 in NR, for measurements - M3, M4, M5, M6 and M7 in LTE and for measurements M5, M6 and M7 in - UMTS periodical reporting is applied. The configurable parameter is - the interval between two measurements (collectionPeriodRRMNR, - collectionPeriodM6NR, collectionPeriodM7NR, collectionPeriodRRMLTE, - measurementPeriodLTE, collectionPeriodM6LTE, collectionPeriodM7LTE, - collectionPeriodRRMUMTS, measurementPeriodUMTS). If no collection - period is configured for M5 in UMTS, all available measurements are - logged according to RRM configuration. - - For logged MDT in UMTS and LTE, the reporting is periodical. - Parameter loggingInterval determines the interval between the reports - and parameter loggingDuration determines how long the configuration is - valid meaning after this duration has passed no further reports are - sent. In NR, the reporting can be periodical or event based, - determined by parameter reportType. For periodical reporting the same - parameters as in LTE and UMTS apply. For event based reporting, - parameter eventListForEventTriggeredMeasurement configures the event - type, namely 'out of coverage' or 'L1 event'. In case 'L1 event' is - selected as event type, the logging is performed according to - parameter loggingInterval at regular intervals only when the - conditions indicated by eventThresholdL1, hysteresisL1, timeToTriggerL1 - (defining the thresholds, hysteresis and time to trigger) are met and - if UE is 'camped normally' state (TS 38.331, TS 38.304). In case - 'out of coverage' is selected as event type, the logging is performed - according to parameter loggingInterval at regular intervals only when - the UE is in 'any cell selection' state. Furthermore, logging is - performed immediately upon transition from the 'any cell selection' - state to the 'camped normally' state ( TS 38.331, TS 38.304 ). + The attribute jobType specifies the kind of data to collect. + In case of TRACE_ONLY, the configuration parameters of attribute + traceConfig shall be applied. In case of IMMEDIATE_MDT_ONLY, + LOGGED_MDT_ONLY, RLF_REPORT_ONLY, RCEF_REPORT_ONLY and + LOGGED_MBSFN_MDT the configuration parameters of attribute + mdtConfig or a subset of these shall be applied. + In case of IMMEDIATE_MDT_AND_TRACE both attributes, traceConfig and + mdtConfig are applicable. Creation and deletion of TraceJob instances by MnS consumers is optional; when not supported, the TraceJob instances may be created @@ -1403,4 +1430,4 @@ module _3gpp-common-trace { } } } -} \ No newline at end of file +} diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 491f418f38171aa154c27debb9a63d83f6f19434..2e9eb85a977d2798ab2c6d73cce1e435dd1c3e63 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -14,6 +14,7 @@ module _3gpp-common-yang-types { network slicing."; reference "3GPP TS 28.623"; + revision 2023-08-09 { reference CR-0266; } revision 2023-05-10 { reference CR-0250; } revision 2023-02-14 { reference CR-0234; } revision 2022-11-04 { reference "CR-0194"; } @@ -727,35 +728,90 @@ module _3gpp-common-yang-types { type uint16; } } + + /* DistinguishedName pattern is built up based on the + EBNF in 32.300 clause 7.3 EBNF of DN String Representation + + leaf DN { type string { // Same pattern as LocalDN + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; + } } + + leaf fullLocalDN { type string { // LocalRDN , { RDNSeparator , LocalRDN } RDNSeparator is a single , no space or \R allowed Me.mykey=1 allowed + // (fullLocalRDN)(,(fullLocalRDN))* + pattern '(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?))(,(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)))*'; + } } + + leaf LocalDN { type string { // LocalRDN , { RDNSeparator , LocalRDN } RDNSeparator is a single , no space or \R allowed + // LocalRDN(,LocalRDN)* + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; + } } - typedef DistinguishedName { // TODO is this equivalent to TS 32.300 ? + leaf fullLocalRDN { type string { // same as fullLocalDNAttributeTypeAndValue + pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; + } } + + leaf LocalRDN { type string { // same as LocalDNAttributeTypeAndValue + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; + } } + + leaf fullLocalDNAttributeTypeAndValue { type string { // LocalDNAttributeType , AttributeTypeAndValueSeparator , RegularAttributeValue + // pattern LocalDNAttributeType=RegularAttributeValue + pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; + } } + + // limitation: NamesOfClassAndNamingAttributenot supported Me.mykey=1 + leaf LocalDNAttributeTypeAndValue { type string { + // ebnf1 LocalDNAttributeType , AttributeTypeAndValueSeparator , RegularAttributeValue + // ebnf2-limited NameOfClassWithIdAttribute , AttributeTypeAndValueSeparator , RegularAttributeValue + // pattern NameOfClassWithIdAttribute=RegularAttributeValue + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; + } } + + leaf LocalDNAttributeType { type string { // NameOfClassWithIdAttribute | NamesOfClassAndNamingAttribute RDNSeparator is a single , no space or \R allowed + // NameOfClassWithIdAttribute|NamesOfClassAndNamingAttribute + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*)'; + } } + + leaf RegularAttributeValue { type string { // ( AttributeValueChar – SpaceChar ) , [ { AttributeValueChar } , ( AttributeValueChar – SpaceChar ) ] + pattern '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?' ; + } } + + leaf NamesOfClassAndNamingAttribute { type string { // ClassName , ClassNamingAttributeSeparator , NamingAttributeName + // pattern: ClassName\.NamingAttributeName + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*' ; + } } + + leaf restrictiveClassName { type string { // + pattern '[a-zA-Z][a-zA-Z0-9-_]*' ; + } } + + leaf ClassName { type string { // CapitalLetterChar , { LocalDNAttributeTypeChar } + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*' ; + } } + + leaf NamingAttributeName { type string { // SmallLetterChar , { LocalDNAttributeTypeChar } + pattern '[a-z][^,=+<>#;\\"\r\n*.]*' ; + } } + + */ + typedef DistinguishedName { type string { - pattern '([a-zA-Z][a-zA-Z0-9-]*=(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,# ])' - + '((\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,])*' - + '(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+, ]))?' - + '[,\+])*[a-zA-Z][a-zA-Z0-9-]*=(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,# ])' - + '((\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})' - + '|[^\\><;"+,])*(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+, ]))?'; - } - description "Represents the international standard for the representation - of Distinguished Name (RFC 4512). - The format of the DistinguishedName REGEX is: - {AttributeType = AttributeValue} - - AttributeType consists of alphanumeric and hyphen (OIDs not allowed). - All other characters are restricted. - The Attribute value cannot contain control characters or the - following characters : \\ > < ; \" + , (Comma) and White space - The Attribute value can contain the following characters if they - are excaped : \\ > < ; \" + , (Comma) and White space - The Attribute value can contain control characters if its an escaped - double digit hex number. - Examples could be - UID=nobody@example.com,DC=example,DC=com - CN=John Smith,OU=Sales,O=ACME Limited,L=Moab,ST=Utah,C=US"; - reference "RFC 4512 Lightweight Directory Access Protocol (LDAP): - Directory Information Models"; - } // recheck regexp it doesn't handle posix [:cntrl:] + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|' + + '(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*' + + '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?' + + '(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))' + + '(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*' + + '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; + } + description "Represents the 3GPP standard for DistinguishedName. + + Limitations: + - RDNSeparator: don't allow SpaceChar or CarriageReturnChar + - NullDN: Disallow nullDN that is the same as not providing a DN + - NamesOfClassAndNamingAttribute format not allowed + (eg. ManagedElement.mykey=345436)"; + reference "3GPP TS 32.300"; + } typedef QOffsetRange { type int8 {