diff --git a/lib/nas/support/24301-d80.docx b/lib/nas/support/24301-d80.docx index a8d56bad0..1c60d98e2 100644 Binary files a/lib/nas/support/24301-d80.docx and b/lib/nas/support/24301-d80.docx differ diff --git a/lib/nas/support/cache/nas_msg_76.py b/lib/nas/support/cache/nas_msg_76.py index dd24bd6fb..7ca152fd6 100644 --- a/lib/nas/support/cache/nas_msg_76.py +++ b/lib/nas/support/cache/nas_msg_76.py @@ -1,7 +1,7 @@ ies = [] ies.append({ "iei" : "", "value" : "Service type", "type" : "Service type", "reference" : "9.9.3.27", "presence" : "M", "format" : "V", "length" : "1/2"}) ies.append({ "iei" : "", "value" : "M-TMSI", "type" : "Mobile identity", "reference" : "9.9.2.3", "presence" : "M", "format" : "LV", "length" : "6"}) -ies.append({ "iei" : "B-", "value" : "CSFB response", "type" : "CSFB response", "reference" : "9.9.3.5", "presence" : "C", "format" : "TV", "length" : "1"}) +ies.append({ "iei" : "B-", "value" : "CSFB response", "type" : "CSFB response", "reference" : "9.9.3.5", "presence" : "O", "format" : "TV", "length" : "1"}) ies.append({ "iei" : "57", "value" : "EPS bearer context status", "type" : "EPS bearer context status", "reference" : "9.9.2.1", "presence" : "O", "format" : "TLV", "length" : "4"}) ies.append({ "iei" : "D-", "value" : "Device properties", "type" : "Device properties", "reference" : "9.9.2.0A", "presence" : "O", "format" : "TV", "length" : "1"}) msg_list[key]["ies"] = ies diff --git a/lib/nas/support/nas_message.py b/lib/nas/support/nas_message.py index 91a8977a3..19bfd595f 100644 --- a/lib/nas/support/nas_message.py +++ b/lib/nas/support/nas_message.py @@ -520,7 +520,7 @@ ED2(c_uint8_t security_header_type:4;, """) for (k, v) in sorted_msg_list: - f.write("#define NAS_" + v_upper(k) + " " + v + "\n") + f.write("#define NAS_" + v_upper(k) + " " + v.split('.')[0] + "\n") f.write("\n") for (k, v) in sorted_msg_list: @@ -702,7 +702,7 @@ f.write("""status_t nas_emm_decode(nas_message_t *message, pkbuf_t *pkbuf) for (k, v) in sorted_msg_list: if "ies" not in msg_list[k]: continue; - if float(msg_list[k]["type"]) < 192: + if float(msg_list[k]["type"]) < 192 and k.find("TO UE") == -1: f.write(" case NAS_%s:\n" % v_upper(k)) if len(msg_list[k]["ies"]) != 0: f.write(" size = nas_decode_%s(message, pkbuf);\n" % v_lower(k)) @@ -861,7 +861,7 @@ f.write("""status_t nas_emm_encode(pkbuf_t **pkbuf, nas_message_t *message) for (k, v) in sorted_msg_list: if "ies" not in msg_list[k]: continue; - if float(msg_list[k]["type"]) < 192: + if float(msg_list[k]["type"]) < 192 and k.find("FROM UE") == -1: f.write(" case NAS_%s:\n" % v_upper(k)) if len(msg_list[k]["ies"]) != 0: f.write(" size = nas_encode_%s(*pkbuf, message);\n" % v_lower(k))