/******************************************************************************/
// @copyright   Copyright Notification
//   No part may be reproduced except as authorized by written permission.
//   The copyright and the foregoing restriction extend to reproduction in all media.
//   (c) 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
//   All rights reserved.
// @version: IWD_23wk37
// $Date: 2023-08-28 14:15:56 +0200 (Mon, 28 Aug 2023) $
// $Rev: 36572 $
/******************************************************************************/

module Common4G5G {

  import from CommonDefs all;

  type enumerated NR_Configuration_Type {   /* @status    APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */
    NR_SA,      // Option 2
    EN_DC,      // Option 3
    NE_DC,      // Option 4
    NGE_SA,     // Option 5
    NGEN_DC     // Option 7
  };

  type enumerated NR_TESTMODE_STATE_Type {TESTMode_OFF, TESTModeA_ON, TEST_LOOPModeA_ON, PING_Or_TESTModeB_ON, TESTModeB_ON, TEST_LOOPModeB_ON, PING_Or_TEST_LOOPModeB_ON, TESTModeE_ON, TEST_LOOPModeE_ON};  /* @status    APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */
  
  // Options for Connectivity (E-UTRA/EPC) and parameter Unrestricted nr PDN is set to Off
  type ENDC_DRB_Configuration_Type ENDC_Bearer_Type (MCG_SCG, MCG_Split, MCG_Only);  /* @status    APPROVED (ENDC) */
  
  type enumerated NEDC_DRB_Configuration_Type { MCG_SCG,    //MCG configured with SRB1/SRB2/Default MCG DRB(s) + SCG DRB configured SN terminated (secured with Secondary keys)
                                                MCG_Split,  //MCG configured with SRB1/SRB2/Default MCG DRB(s) + split SCG DRB configured SN terminated (secured with Secondary keys)
                                                MCG_SCG_MNTerminated, //MCG configured with SRB1/SRB2/Default MCG DRB(s) + SCG DRB configured MN terminated (secured with Master keys)
                                                MCG_Split_MNTerminated,  //MCG configured with SRB1/SRB2/Default MCG DRB(s) + split SCG DRB configured MN terminated (secured with Master keys)
                                                MCG_SCG_OnNR, //MCG configured with SRB1/SRB2/Default MCG DRB(s) + SCG DRB configured on NR but secured with secondary keys
                                                MCG_SplitOnNR  //MCG configured with SRB1/SRB2/Default MCG DRB(s) + split SCG DRB configured on NR, secured with Secondary keys
                                                };
                                                
  
  type enumerated NR_TestEnvironment_Type { Conducted, OTA };  /* @status    APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */
  
  type enumerated ENDC_DRB_Configuration_Type {  /* @status    APPROVED (ENDC) */
    MCG_Only,  // Connectivity (E-UTRA/EPC) when Unrestricted nr PDN is set to Off and SCG is not (yet) configured @sic R5-213443 sic@
    MCG_SCG,
    MCG_Split,
    RBConfig_Only, // when only RadioBearer is modified in Reconfig msg
    SCG_RBConfig, //  when both CellGroupConfig and RadioBearer is modified in Reconfig msg (but not for default condition MCG_SCG)
    Meas_SCGOnly // when only MeasConfig or CellGroupConfig is modified in Reconfig msg
  };

  type enumerated ENDC_SRB_DRB_Configuration_Type {  /* @status    APPROVED (ENDC) */
    NONE,
    NR_PDCP_MCG,
    NR_PDCP_SRB1_2,
    NR_PDCP_MCG_SRB1_2, // Used in L2 ciphering test case
    NR_PDCP_SRB1_2_SRB3, // Used in L2 integrity test case
    SRB3
  };
  
  type enumerated ENDC_BandCombination_Type {  /* @status    APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */
    //@sic R5-194369 R5-194370 R5-197106 R5-198959 R5-200921 R5-201061 R5-203634 R5-204800 R5-205771 R5-206715 R5-2182699 R5-218268 R5-220311, R5-220374, R5-221186 R5-223126 R5-225310 R5-227700 R5-230093 sic@
    //@sic R5-230897 R5-231793 sic@
    // Acc to38.508-1 Table 4.3.1.4.1.2-1: Inter-band EN-DC configurations within FR1 (two bands)
    DC_1A_n3A,
    DC_1A_n5A,
    DC_1A_n7A,
    DC_1A_n28A,
    DC_1A_n41A,
    DC_1A_n77A,
    DC_1A_n78A,
    DC_1A_n79A,
    DC_2A_n5A,
    DC_2A_n41A,
    DC_2A_n48A,
    DC_2A_n66A,
    DC_2A_n71A,
    DC_2A_n77A,
    DC_2A_n78A,
    DC_3A_n1A,
    DC_3A_n5A,
    DC_3A_n7A,
    DC_3A_n28A,
    DC_3A_n41A,
    DC_3A_n77A,
    DC_3A_n78A,
    DC_3A_n79A,
    DC_5A_n2A,
    DC_5A_n66A,
    DC_5A_n77A,
    DC_5A_n78A,
    DC_7A_n1A,
    DC_7A_n3A,
    DC_7A_n5A,
    DC_7A_n28A,
    DC_7A_n66A,
    DC_7A_n78A,
    DC_8A_n1A,
    DC_8A_n3A,
    DC_8A_n20A,
    DC_8A_n41A,
    DC_8A_n77A,
    DC_8A_n78A,
    DC_11A_n77A,
    DC_11A_n78A,
    DC_11A_n79A,
    DC_12A_n2A,
    DC_12A_n5A,
    DC_12A_n66A,
    DC_12A_n78A,
    DC_13A_n2A,
    DC_13A_n66A,
    DC_13A_n77A,
    DC_14A_n2A,
    DC_14A_n66A,
    DC_18A_n77A,
    DC_18A_n78A,
    DC_18A_n79A,
    DC_19A_n1A,
    DC_19A_n77A,
    DC_19A_n78A,
    DC_19A_n79A,
    DC_20A_n1A,
    DC_20A_n3A,
    DC_20A_n7A,
    DC_20A_n8A,
    DC_20A_n28A,
    DC_20A_n78A,
    DC_21A_n1A,
    DC_21A_n28A,
    DC_21A_n77A,
    DC_21A_n78A,
    DC_21A_n79A,
    DC_25A_n41A,
    DC_26A_n41A,
    DC_26A_n77A,
    DC_26A_n78A,
    DC_26A_n79A,
    DC_28A_n3A,
    DC_28A_n5A,
    DC_28A_n7A,
    DC_28A_n77A,
    DC_28A_n78A,
    DC_28A_n79A,
    DC_30A_n5A,
    DC_30A_n66A,
    DC_38A_n78A,
    DC_39A_n41A,
    DC_39A_n79A,
    DC_40A_n1A,
    DC_40A_n41A,
    DC_40A_n78A,
    DC_40A_n79A,
    DC_41A_n28A,
    DC_41A_n77A,
    DC_41A_n78A,
    DC_41A_n79A,
    DC_42A_n1A,
    DC_42A_n77A,
    DC_42A_n78A,
    DC_42A_n79A,
    DC_48A_n5A,
    DC_48A_n66A,
    DC_66A_n2A,
    DC_66A_n41A,
    DC_66A_n5A,
    DC_66A_n71A,
    DC_66A_n77A,
    DC_66A_n78A,
    DC_71A_n2A,
    DC_71A_n66A,
    //ACc to 38.508-1 Table 4.3.1.5.1.2-1: Inter-band EN-DC configurations including FR2 (two bands)
    DC_1A_n257A,
    DC_2A_n257A,
    DC_2A_n260A,
    DC_3A_n257A,
    DC_5A_n257A,
    DC_5A_n260A,
    DC_5A_n261A,
    DC_7A_n257A,
    DC_8A_n257A,
    DC_8A_n258A,
    DC_11A_n257A,
    DC_12A_n260A,
    DC_13A_n257A,
    DC_13A_n260A,
    DC_14A_n260A,
    DC_18A_n257A,
    DC_19A_n257A,
    DC_20A_n257A,
    DC_21A_n257A,
    DC_28A_n257A,
    DC_30A_n260A,
    DC_41A_n257A,
    DC_42A_n257A,
    DC_48A_n260A,
    DC_66A_n257A,
    DC_66A_n260A,
    DC_66A_n261A,
    //Acc to 38.508-1 Table 6.2.3.2.2-1: Test frequencies for EN-DC Intra-band Contiguous configurations with E-UTRA 1CC and NR 1CC
    DC_n41AA,
    DC_n71AA,
    //Acc to 38.508-1 Table 6.2.3.2.2-2: Test frequencies for EN-DC Intra-Band Non-Contiguous configurations with E-UTRA 1CC and NR 1CC
    DC_41A_n41A
  };
  
  type enumerated ENDC_CombinationType_Type {InterBand, IntraBandContiguous, IntraBandNonContiguous};  /* @status    APPROVED (ENDC, NR5GC_IRAT) */
  
  type enumerated ENDC_CA_BandCombination_Type {  /* @status    APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */
    //@sic R5-201020 R5s200626 R5-211034 R5-215969 R5-218269 R5-220974 R5-223649 R5-234689 sic@
    //Acc to 38.508-1 Table 4.3.1.4.1.3-1: Inter-band EN-DC configurations within FR1 (three bands)
    DC_1A_n28A_n78A,
    DC_1A_n78A_n79A,
    DC_1A_n78A_n257A,
    DC_1A_n79A_n257A,
    DC_3A_n28A_n78A,
    DC_3A_n78A_n79A,
    DC_7A_n5A_n78A,
    DC_3A_n78A_n257A,
    DC_3A_n79A_n257A,
    DC_7A_n28A_n78A,
    DC_19A_n78A_n79A,
    //Acc to 38.508-1 Table 4.3.1.6.1.2-1: Inter-band EN-DC including FR1 and FR2 (three bands)
    DC_19A_n78A_n257A,
    DC_19A_n79A_n257A,
    DC_20A_n28A_n78A,
    DC_21A_n78A_n79A,
    DC_28A_n7A_n78A,
    //Acc to 38.508-1 Table 4.3.1.4.1.2-1: Inter-band EN-DC configurations within FR1 (two bands)
    DC_1A_n78C,
    DC_3A_n78C,
    DC_5A_n78C,
    DC_8A_n77_2A,
    DC_19A_n78_2A,
    DC_19A_n78C,
    DC_21A_n78_2A,
    DC_21A_n78C,
    DC_28A_n78C,
    DC_42A_n78C,
    //Acc to 38.508-1 Table 4.3.1.5.1.2-1: Inter-band EN-DC configurations including FR2 (two bands)
    DC_1A_n257G,
    DC_2A_n260G,
    DC_3A_n257G,
    DC_5A_n260G,
    DC_5A_n261G,
    DC_5A_n261_2A,
    DC_8A_n257G,
    DC_12A_n260G,
    DC_14A_n260G,
    DC_19A_n257G,
    DC_21A_n257G,
    DC_30A_n260G,
    DC_66A_n260G,
    DC_66A_n261G,
    DC_66A_n261_2A
   }
   

  type enumerated NR_CA_BandCombination_Type { /* @status    APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */
    //@sic R5-200597 R5-200921 R5-203056 R5-206306 R5-214019 R5-212986 R5-214853 R5-214727 R5-214929 R5-215970 R5-2159771 R5-217259 R5-217587 R5-217588 R5-218267 R5-220206 R5-220271 R5-220860 R5-220861 R5-220862 R5-221176 R5-221389 R5-221871 R5-222175 R5-222572 R5-223025 R5-223067 R5-223197 R5-223650 R5-223072 R5-226366 R5-226400 R5-227700 R5-227275 R5-231227 R5-231634 R5-232654 R5-232790 R5-233944 R5-234295 R5-234447 R5-235414 sic@
    //Acc to 38.508-1 Table 4.3.1.1.2.1-1: Inter-band NR CA configurations (FR1, two bands)
    CA_n1A_n3A,
    CA_n1A_n8A,
    CA_n1A_n77A,
    CA_n1A_n78A,
    CA_n1A_n79A,
    CA_n2A_n5A,
    CA_n2A_n14A,
    CA_n2A_n48A,
    CA_n2A_n66A,
    CA_n2A_n77A,
    CA_n3A_n5A,
    CA_n3A_n8A,
    CA_n3A_n41A,
    CA_n3A_n77A,
    CA_n3A_n78A,
    CA_n5A_n7A,
    CA_n5A_n48A,
    CA_n5A_n66A,
    CA_n5A_n77A,
    CA_n5A_n78A,
    CA_n7A_n78A,
    CA_n8A_n78A,
    CA_n14A_n30A,
    CA_n14A_n66A,
    CA_n14A_n77A,
    CA_n20A_n78A,
    CA_n24A_n41A,
    CA_n24A_n48A,
    CA_n24A_n77A,
    CA_n26A_n66A,
    CA_n26A_n70A,
    CA_n28A_n41A,
    CA_n28A_n77A,
    CA_n28A_n78A,
    CA_n28A_n79A,
    CA_n29A_n66A,
    CA_n29A_n70A,
    CA_n29A_n71A,
    CA_n39A_n41A,
    CA_n41A_n66A,
    CA_n41A_n71A,
    CA_n41A_n79A,
    CA_n48A_n66A,
    CA_n48A_n70A,
    CA_n48A_n71A,
    CA_n48A_n77A,
    CA_n66A_n70A,
    CA_n66A_n71A,
    CA_n66A_n77A,
    CA_n70A_n71A,
    CA_n71A_n77A,
    CA_n77A_n79A,
    CA_n78A_n79A,
    //Acc to 38.508-1 Table 4.3.1.6.1.2-1: Inter-band EN-DC including FR1 and FR2 (three bands)
    CA_n78A_n257A,
    CA_n79A_n257A,
    //Acc to 38.508-1 Table 4.3.1.3.2.1-1: NR-CA configurations between FR1 and FR2 (two bands)
    CA_n1A_n258A,
    //Acc to 38.508-1 Table 4.3.1.2.2-1: NR inter-band CA configurations in FR2
    CA_n260A_n261A,
    //Acc to 38.508-1 Table 6.2.3.4-1: Test frequencies for NR CA Intra-band Contiguous configurations with FR1
    CA_n41C,
    CA_n48B,
    CA_n66B,
    CA_n77C,
    CA_n78C,
    //Acc to 38.508-1 Table 6.2.3.4-2: Test frequencies for NR CA Intra-band Contiguous configurations with FR2
    CA_n257G,
    CA_n258G,
    CA_n260G,
    CA_n261G,
    //Acc to 38.508-1 Table 6.2.3.4-3: Test frequencies for NR CA Intra-Band Non-Contiguous configurations with FR1
    CA_n48_2A,
    CA_n66_2A,
    CA_n71_2A,
    CA_n77_2A,
    CA_n78_2A,
    //Acc to 38.508-1 Table 6.2.3.4-4: Test frequencies for NR CA Intra-Band Non-Contiguous configurations with FR2
    CA_n261_2A
  };

  type enumerated NR_CA_3CC_BandCombination_Type {
    // Acc to 38.508-1 Table 6.2.3.4-2a: Test frequencies for NR CA Intra-band Contiguous configurations with FR2 (3CC)
    //@sic R5-225367 sic@
    CA_n257H,
    CA_n258H,
    CA_n260H,
    CA_n261H
  };
  
  type enumerated NR_DC_BandCombination_Type {
    /* @status    APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */
    //@sic R5-215971 R5-223650 R5-223755 sic@
    //Acc to 38.508-1 Table 4.3.1.1.2.1-1: Inter-band NR CA configurations (FR1, two bands)
    DC_n1A_n258A,
    DC_n77A_n261A,
    DC_n78A_n257A,
    DC_n78A_n258A,
    DC_n79A_n257A,
    //Acc to 38.508-1 cl 4.3.1.1.7.1    NR inter-band NR-DC configurations in FR1 (two bands)
    DC_n48A_n70A
  };
  
  type enumerated NR_DC_CA_BandCombination_Type { /* @status    APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */
    //Acc to 38.508-1 clause 4.3.1.3.2.1
    DC_n1A_n258G,
    DC_n77A_n261G,
    DC_n78A_n257G,
    DC_n78A_n258G,
    DC_n79A_n257G
  };
  
  type enumerated NEDC_CombinationType_Type { InterBand };

  type record EUTRA_NR_PduSessionInfo_Type  /* @status    APPROVED (ENDC, IMS, IMS_IRAT, LTE, LTE_A_IRAT, LTE_A_PRO, LTE_A_R10_R11, LTE_A_R12, LTE_IRAT, MCX, NBIOT, NR5GC, NR5GC_IRAT, POS, UTRAN) */
  {
    integer PDU_SessionId,
    integer EPS_Bearer,    // @sic R5s201094 sic@
    integer QFI         optional,  // @sic R5s220883 sic@
    PDN_Index_Type PdnIndex,
    boolean IsIMS
  };
  
  type enumerated NEDC_BandCombination_Type {   /* @status    APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */
    /* @sic R5-221872 sic@ */
    DC_n28A_3A,
    DC_n28A_39A
  };

  type record of EUTRA_NR_PduSessionInfo_Type EUTRA_NR_PduSessionInfoList_Type;  /* @status    APPROVED (ENDC, IMS, NR5GC, NR5GC_IRAT, POS) */

  type enumerated NR_V2X_ConcurrentOperationBandCombination_Type {
    //Acc to 38.508-1 Table 4.3.1.8.2.1-1: Test frequencies for Inter-band concurrent NR sidelink operating bands
    V2X_n71_n47
  };
}
