Uploaded image for project: 'Near Realtime RAN Intelligent Controller'
  1. Near Realtime RAN Intelligent Controller
  2. RIC-306

Split the Global RIC ID Configuration to - MCC, MNC and RIC ID Configuration

XMLWordPrintable

      Requirements

      Configuration

      The Global RIC ID in the configuration includes both the PLMN ID and the Near-RT RIC ID. Since the string isn't straight forward to read it, and since the PLMN ID - cancatination of USA Code - Mobile Country Codes (MCC) and AT&T Code - Mobile Network Codes (MNC) - isn't going to be changed in the PIZ - we decide to split them to 3 parameters

      1. MCC - Mobile Country Code - here the User will put 3 digits of the Country - 310.
      2. MNC  Mobile Network Code - here the User will put up  2 or 3 digits of the Operator 411.
      3. RIC ID - String Alpha Numeric in Hex (0-F) Only the least 20 bits are actual, so it should be only 5 characters, each if 0-F.

      Validation

      Upon Initialization 

      1. Check that the MCC parameter exist and it is only 3 digits (0-999). Otherwise - Log Error and stop
      2. Check that the MNC parameter exist and it is 2 or 3 digits (0-999). Otherwise - Log Error and stop
      3. Check that RIC ID parameter exist and it is only 5 Hex Characters. Otherwise - Log and stop

      Build the PLMN Identity 

      This is what Adi wrote -

      examples of MCC MNC translation

      MCC 310 MNC 311 PLMN_ID  13 20 84

      MCC 327 MNC 94 PLMN_ID  23 F7 49

       

       Taken from the standard -

      9.2.4 PLMN Identity

      This information element indicates the PLMN Identity.

      IE/Group Name IE type
      and reference
      Semantics description
      PLMN Identity OCTET
      STRING (3)
      • digits 0 to 9, encoded 0000 to 1001,
      • 1111 (F)used as filler digit,
        two digits per octet,
      • bits 4 to 1 of octet n (N=1,2,3) encoding digit 2n-1 (1, 3, 5)
      • bits 8 to 5 of octet n encoding digit 2n (2, 4, 6)
         
        -The PLMN identity consists of 3 digits from MCC followed by either
        -a filler digit plus 2 digits from MNC (in case of 2 digit MNC) or
        -3 digits from MNC (in case of a 3 digit MNC).

      PLMN-ID is built from 2 parameters MCC and MNC but is encoded as buffer of 3 bytes in the following way:
      Each byte 8 bits divided to 2 nibbles of 4 bits and each nibble contain one digit.

      Byte 0 lower 4 bits contain the hundred digits of MCC -> 3
      Byte 0 higher 4 bits contains the tens digit of mcc -> 1
      Byte 1 lower 4 bits contain the once digits of MCC -> 0
      So the MCC is 310

      And the MNC is:
      If Byte 1 higher 4 bits contain ‘F’ (15) then MNC is 2 digit size 10 – 99 ( like the standard- 1111 used as filler digit...)
      If Byte 1 higher 4 bits contain 0 - 9 then MNC is 3 digits and this digit is the once MCC -> 1
      Byte 2 lower 4 bits contain the hundred digits of MNC -> 4 or F if 
      Byte 2 higher 4 bits contains the tents digit of MNC -> 1

      MNC = 411

      So the result is either 3 HEX bytes with blank <pLMN-Identity>13 10 14</pLMN-Identity> (I put the MMC in Red and the MNC in Purple)

      or without blank <pLMN-Identity>131014</pLMN-Identity>

      The <ric-ID>10101010110011001110</ric-ID> is bits string

      and this is example of the entire RMR

      <E2AP-PDU><successfulOutcome><procedureCode>1</procedureCode><criticality><reject/></criticality><value><E2setupResponse><protocolIEs><E2setupResponseIEs><id>4</id><criticality><reject/></criticality><value><GlobalRIC-ID> <pLMN-Identity>13 10 14</pLMN-Identity><ric-ID>10101010110011001110</ric-ID></GlobalRIC-ID></value></E2setupResponseIEs><E2setupResponseIEs><id>9</id><criticality><reject/></criticality><value><RANfunctionsID-List><ProtocolIE-SingleContainer><id>6</id><criticality><ignore/></criticality><value><RANfunctionID-Item><ranFunctionID>1</ranFunctionID><ranFunctionRevision>1</ranFunctionRevision></RANfunctionID-Item></value></ProtocolIE-SingleContainer><ProtocolIE-SingleContainer><id>6</id><criticality><ignore/></criticality><value><RANfunctionID-Item><ranFunctionID>2</ranFunctionID><ranFunctionRevision>1</ranFunctionRevision></RANfunctionID-Item></value></ProtocolIE-SingleContainer><ProtocolIE-SingleContainer><id>6</id><criticality><ignore/></criticality><value><RANfunctionID-Item><ranFunctionID>3</ranFunctionID><ranFunctionRevision>1</ranFunctionRevision></RANfunctionID-Item></value></ProtocolIE-SingleContainer></RANfunctionsID-List></value></E2setupResponseIEs></protocolIEs></E2setupResponse></value></successfulOutcome></E2AP-PDU>

       

      Acceptance

      • Validate happy scenatio - no panic is thrown and setup response as expected
      • Validate mnc, mmc and ricId according to the above - see panic is thrown
      • Automation is passed successfully

       

      Test Plan

       

      Given When Then
      E2M is initialized and parsing the configuration (happy scenario) MCC = 310
      MNC = 411
      ricID = AACCE
      Validation is passed successfully and setup response includes the right values 
      E2M is initialized and parsing the configuration (happy scenario) MCC = 026
      MNC = 09
      ricID = AACCE
      Validation is passed successfully and setup response includes the right values 
      E2M is initialized and parsing the configuration globalRicId is missing Panic is thrown
      E2M is initialized and parsing the configuration ricId is missing Panic is thrown 
      E2M is initialized and parsing the configuration ricId is empty Panic is thrown 
      E2M is initialized and parsing the configuration ricId is not hex string (TEST1) Panic is thrown 
      E2M is initialized and parsing the configuration ricId with wrong length (AA43) Panic is thrown 
      E2M is initialized and parsing the configuration MCC is missing Panic is thrown 
      E2M is initialized and parsing the configuration MCC is empty Panic is thrown 
       E2M is initialized and parsing the configuration  MCC is not 3 digits (31) Panic is thrown 
       E2M is initialized and parsing the configuration  MCC is negative (-31) Panic is thrown 
      E2M is initialized and parsing the configuration MCC is alphnumeric (1W2) Panic is thrown  
      E2M is initialized and parsing the configuration MNC is missing Panic is thrown  
      E2M is initialized and parsing the configuration MNC is empty Panic is thrown  
      E2M is initialized and parsing the configuration MNC is over the length (6794) Panic is thrown  
      E2M is initialized and parsing the configuration MNC is less than 2 digits (4) Panic is thrown  
      E2M is initialized and parsing the configuration MCC is negative (-2) Panic is thrown   
      E2M is initialized and parsing the configuration MNC is alphnumeric (2A) Panic is thrown   

        # Subject Branch Project Status CR V

            avinoambernstein Avinoam Bernstein
            avinoambernstein Avinoam Bernstein
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 weeks, 1 day
                2w 1d