D:\SA5_NRM\ngran\new\ngran-gNBCUCPFunction.yang D:\SA5_NRM\ngran\old\ngran-gNBCUCPFunction.yang
1// Contents of "ngran-gNBCUCPFunction" 1// Contents of "ngran-gNBCUCPFunction"
2submodule ngran-gNBCUCPFunction { 2submodule ngran-gNBCUCPFunction {
3      3     
4    belongs-to ngran { prefix ngran; } 4    belongs-to ngran { prefix ngran; }
5      5     
6    import EP_RP { prefix ep-rp; revision-date "2018-07-31"; } 6    import EP_RP { prefix ep-rp; revision-date "2018-07-31"; }
7    import ManagedFunction { prefix mf; revision-date "2018-07-31"; } 7    import ManagedFunction { prefix mf; revision-date "2018-07-31"; }
8    import nrm-types-3gpp { prefix nrm-type; revision-date "2018-07-31"; } 8    import nrm-types-3gpp { prefix nrm-type; revision-date "2018-07-31"; }
9      9     
10    include ngran-nRCellCU; 10    include ngran-nRCellCU;
11  11 
12    description "GNBCUCPFunction derived from basic ManagedFunction, for 3 split deployment mode only"; 12    description "GNBCUCPFunction derived from basic ManagedFunction, for 3 split deployment mode only";
13  13 
14    revision 2018-08-02 { 14    revision 2018-08-02 {
15        description "15.0.2";  15        description "Initial revision"; 
16    } 16    }
17  17 
18    grouping GNBCUCPFunction { 18    grouping GNBCUCPFunction {
19            uses mf:ManagedFunction; 19            uses mf:ManagedFunction;
20              20             
21            leaf gNBCUName { 21            leaf gNBCUName {
22                description "PrintableString(SIZE(1..150,))"; 22                description "PrintableString(SIZE(1..150,))";
23                mandatory "false"; 23                mandatory "false";
24                config "true"; 24                config "true";
25                type string { 25                type string {
26                    length "1..150"; 26                    length "1..150";
27                } 27                }
28            } 28            }
29            leaf gNBId { 29            leaf gNBId {
30                description "It identifies a gNB within a PLMN. See gNB Identifier (gNB ID) of subclause 8.2 of 3GPP TS 38.300 [3]). See Global gNB ID in subclause 9.3.1.6 of 3GPP TS 38.413 [5]. "; 30                description "It identifies a gNB within a PLMN. See gNB Identifier (gNB ID) of subclause 8.2 of 3GPP TS 38.300 [3]). See Global gNB ID in subclause 9.3.1.6 of 3GPP TS 38.413 [5]. ";
31                mandatory "true"; 31                mandatory "true";
32                config "false"; 32                config "false";
33                type uint32; 33                type uint32;
34            } 34            }
35            list pLMNId { 35            list pLMNId {
36                min-elements "1"; 36                min-elements "1";
37                description "a list of PLMN-Id, PLMN-Id= Mobile Country Codes (MCC)|| Mobile Network Codes(MNC) "; 37                description "a list of PLMN-Id, PLMN-Id= Mobile Country Codes (MCC)|| Mobile Network Codes(MNC) ";
38                config "true"; 38                config "true";
39                key "MCC MNC"; 39                key "MCC MNC";
40                uses nrm-type:pLMNId; 40                uses nrm-type:pLMNId;
41            }           41            }          
42                choice gNB-type { 42                choice gNB-type {
43                      case gNB { 43                      case gNB {
44                            container EP-NgC { uses ep-rp:EP_NgC; } 44                            container EP-NgC { uses ep-rp:EP_NgC; }
45                            container EP-XnC { uses ep-rp:EP_XnC; } 45                            container EP-XnC { uses ep-rp:EP_XnC; }
46                      } 46                      }
47                      case en-gNB { 47                      case en-gNB {
48                            container EP-X2C { uses ep-rp:EP_X2C; } 48                            container EP-X2C { uses ep-rp:EP_X2C; }
49                      } 49                      }
50                } 50                }
51              51             
52              list EP_F1C { uses ep-rp:EP_F1C; } 52              container EP_F1C { uses ep-rp:EP_F1C; }
53              list EP_E1 { uses ep-rp:EP_E1; } 53              container EP_E1 { uses ep-rp:EP_E1; }
54                54               
55                list NRCellCU { 55                list NRCellCU {
56              //FFS: how can add nCGI inside NRCellCU as a key 56              //FFS: how can add nCGI inside NRCellCU as a key
57                   key k_nCGI; 57                   key k_nCGI;
58                     leaf k_nCGI { 58                     leaf k_nCGI {
59                         type string; 59                         type string;
60                   } 60                   }
61               uses NRCellCU; 61               uses NRCellCU;
62            }           62            }          
63     } 63     }
64} 64}
65  65