diff --git a/lib/nas/nas_decoder.c b/lib/nas/nas_decoder.c index b1c5c54017..d263ec3603 100644 --- a/lib/nas/nas_decoder.c +++ b/lib/nas/nas_decoder.c @@ -26,7 +26,7 @@ /******************************************************************************* * This file had been created by gtpv2c_tlv.py script v0.1.0 * Please do not modify this file but regenerate it via script. - * Created on: 2017-04-13 23:45:26.466163 by acetcom + * Created on: 2017-04-14 18:08:22.127231 by acetcom * from 24301-d80.docx ******************************************************************************/ @@ -581,6 +581,19 @@ c_int32_t nas_decode_security_mode_reject(nas_message_t *message, pkbuf_t *pkbuf return decoded; } +c_int32_t nas_decode_emm_status(nas_message_t *message, pkbuf_t *pkbuf) +{ + nas_emm_status_t *emm_status = &message->emm.emm_status; + c_int32_t decoded = 0; + c_int32_t size = 0; + + size = nas_decode_emm_cause(&emm_status->emm_cause, pkbuf); + d_assert(size >= 0, return -1, "decode failed"); + decoded += size; + + return decoded; +} + c_int32_t nas_decode_emm_information(nas_message_t *message, pkbuf_t *pkbuf) { nas_emm_information_t *emm_information = &message->emm.emm_information; @@ -1195,6 +1208,11 @@ status_t nas_emm_decode(nas_message_t *message, pkbuf_t *pkbuf) d_assert(size >= CORE_OK, return CORE_ERROR, "decode error"); decoded += size; break; + case NAS_EMM_STATUS: + size = nas_decode_emm_status(message, pkbuf); + d_assert(size >= CORE_OK, return CORE_ERROR, "decode error"); + decoded += size; + break; case NAS_EMM_INFORMATION: size = nas_decode_emm_information(message, pkbuf); d_assert(size >= CORE_OK, return CORE_ERROR, "decode error"); diff --git a/lib/nas/nas_encoder.c b/lib/nas/nas_encoder.c index c5914b1823..b40141adb1 100644 --- a/lib/nas/nas_encoder.c +++ b/lib/nas/nas_encoder.c @@ -26,7 +26,7 @@ /******************************************************************************* * This file had been created by gtpv2c_tlv.py script v0.1.0 * Please do not modify this file but regenerate it via script. - * Created on: 2017-04-13 23:45:26.477904 by acetcom + * Created on: 2017-04-14 18:08:22.139682 by acetcom * from 24301-d80.docx ******************************************************************************/ @@ -662,6 +662,19 @@ c_int32_t nas_encode_security_mode_reject(pkbuf_t *pkbuf, nas_message_t *message return encoded; } +c_int32_t nas_encode_emm_status(pkbuf_t *pkbuf, nas_message_t *message) +{ + nas_emm_status_t *emm_status = &message->emm.emm_status; + c_int32_t encoded = 0; + c_int32_t size = 0; + + size = nas_encode_emm_cause(pkbuf, &emm_status->emm_cause); + d_assert(size >= 0, return -1, "encode failed"); + encoded += size; + + return encoded; +} + c_int32_t nas_encode_emm_information(pkbuf_t *pkbuf, nas_message_t *message) { nas_emm_information_t *emm_information = &message->emm.emm_information; @@ -1320,6 +1333,11 @@ status_t nas_emm_encode(pkbuf_t **pkbuf, nas_message_t *message) d_assert(size >= 0, return CORE_ERROR, "decode error"); encoded += size; break; + case NAS_EMM_STATUS: + size = nas_encode_emm_status(*pkbuf, message); + d_assert(size >= 0, return CORE_ERROR, "decode error"); + encoded += size; + break; case NAS_EMM_INFORMATION: size = nas_encode_emm_information(*pkbuf, message); d_assert(size >= 0, return CORE_ERROR, "decode error"); diff --git a/lib/nas/nas_ies.c b/lib/nas/nas_ies.c index 2f02674cb4..194a7d4446 100644 --- a/lib/nas/nas_ies.c +++ b/lib/nas/nas_ies.c @@ -26,7 +26,7 @@ /******************************************************************************* * This file had been created by gtpv2c_tlv.py script v0.1.0 * Please do not modify this file but regenerate it via script. - * Created on: 2017-04-13 23:45:26.441509 by acetcom + * Created on: 2017-04-14 18:08:22.099481 by acetcom * from 24301-d80.docx ******************************************************************************/ diff --git a/lib/nas/nas_ies.h b/lib/nas/nas_ies.h index 5bc6a170f9..6abff1c6f4 100644 --- a/lib/nas/nas_ies.h +++ b/lib/nas/nas_ies.h @@ -26,7 +26,7 @@ /******************************************************************************* * This file had been created by gtpv2c_tlv.py script v0.1.0 * Please do not modify this file but regenerate it via script. - * Created on: 2017-04-13 23:45:26.436258 by acetcom + * Created on: 2017-04-14 18:08:22.095097 by acetcom * from 24301-d80.docx ******************************************************************************/ diff --git a/lib/nas/nas_message.h b/lib/nas/nas_message.h index 02303d3942..016f1f4eea 100644 --- a/lib/nas/nas_message.h +++ b/lib/nas/nas_message.h @@ -26,7 +26,7 @@ /******************************************************************************* * This file had been created by gtpv2c_tlv.py script v0.1.0 * Please do not modify this file but regenerate it via script. - * Created on: 2017-04-13 23:45:26.454842 by acetcom + * Created on: 2017-04-14 18:08:22.114973 by acetcom * from 24301-d80.docx ******************************************************************************/ @@ -400,6 +400,16 @@ typedef struct _nas_security_mode_reject_t { } nas_security_mode_reject_t; +/******************************************************* + * EMM STATUS + ******************************************************/ + +typedef struct _nas_emm_status_t { + /* Mandatory fields */ + nas_emm_cause_t emm_cause; +} nas_emm_status_t; + + /******************************************************* * EMM INFORMATION ******************************************************/ @@ -657,6 +667,7 @@ typedef struct _nas_emm_message_t { nas_security_mode_command_t security_mode_command; nas_security_mode_complete_t security_mode_complete; nas_security_mode_reject_t security_mode_reject; + nas_emm_status_t emm_status; nas_emm_information_t emm_information; }; } nas_emm_message_t; diff --git a/lib/nas/support/cache/nas_msg_96.py b/lib/nas/support/cache/nas_msg_96.py new file mode 100644 index 0000000000..686e2a01c5 --- /dev/null +++ b/lib/nas/support/cache/nas_msg_96.py @@ -0,0 +1,3 @@ +ies = [] +ies.append({ "iei" : "", "value" : "EMM cause", "type" : "EMM cause", "reference" : "9.9.3.9", "presence" : "M", "format" : "V", "length" : "1"}) +msg_list[key]["ies"] = ies diff --git a/lib/nas/support/nas_message.py b/lib/nas/support/nas_message.py index 18a2653492..c83b195e61 100644 --- a/lib/nas/support/nas_message.py +++ b/lib/nas/support/nas_message.py @@ -217,6 +217,7 @@ msg_list["AUTHENTICATION REJECT"]["table"] = 5 msg_list["AUTHENTICATION REQUEST"]["table"] = 6 msg_list["AUTHENTICATION RESPONSE"]["table"] = 7 msg_list["EMM INFORMATION"]["table"] = 14 +msg_list["EMM STATUS"]["table"] = 15 msg_list["IDENTITY REQUEST"]["table"] = 19 msg_list["IDENTITY RESPONSE"]["table"] = 20 msg_list["SECURITY MODE COMMAND"]["table"] = 21