• Guido Casati's avatar
    Refactor registration accept decoding · d6e2bf16
    Guido Casati authored
    previously we had decodeRegistrationAccept acting as a handler and calling
    decode_registration_accept to do the decoding. However the logic was mixed
    between the two functions, the naming was confusing and the code was hard
    understand. The goal of this commit is to simplify the code, improve
    readability and maintainability, while adapting the relevant function
    to the new OAI NAS libs structure.
    
    To this purpose:
    
    * move enc/dec logic to NAS lib openair3/NAS/NR_UE/5GS/5GMM/MSG/RegistrationAccept.c -
      the logic of parse_allowed_nssai, get_allowed_nssai has been moved to
      decode_registration_accept and decode_nssai_ie
    * add decode_nssai_ie and use it for both Allowed/Configured NSSAIs list (IE handling was added)
    * do processing in the handler handle_registration_accept
    * simplify the code by removing nested calls
    * improve handling of PDU length
    
    Currently only Registration Result, 5GS Mobile Identity, Allowed/Configured NSSAI
    are decoded. The other optional IEIs are skipped (only the length is processed).
    d6e2bf16
nr_nas_msg.c 52.4 KB