|
|
@ -1411,9 +1411,9 @@ LIBLTE_ERROR_ENUM liblte_mme_pack_eps_mobile_id_ie(LIBLTE_MME_EPS_MOBILE_ID_STRU
|
|
|
|
**ie_ptr = (((eps_mobile_id->guti.mnc/10) % 10) << 4) | ((eps_mobile_id->guti.mnc/100) % 10);
|
|
|
|
**ie_ptr = (((eps_mobile_id->guti.mnc/10) % 10) << 4) | ((eps_mobile_id->guti.mnc/100) % 10);
|
|
|
|
*ie_ptr += 1;
|
|
|
|
*ie_ptr += 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
**ie_ptr = (eps_mobile_id->guti.mme_group_id >> 8) & 0x0F;
|
|
|
|
**ie_ptr = (eps_mobile_id->guti.mme_group_id >> 8) & 0xFF;
|
|
|
|
*ie_ptr += 1;
|
|
|
|
*ie_ptr += 1;
|
|
|
|
**ie_ptr = eps_mobile_id->guti.mme_group_id & 0x0F;
|
|
|
|
**ie_ptr = eps_mobile_id->guti.mme_group_id & 0xFF;
|
|
|
|
*ie_ptr += 1;
|
|
|
|
*ie_ptr += 1;
|
|
|
|
**ie_ptr = eps_mobile_id->guti.mme_code;
|
|
|
|
**ie_ptr = eps_mobile_id->guti.mme_code;
|
|
|
|
*ie_ptr += 1;
|
|
|
|
*ie_ptr += 1;
|
|
|
@ -5518,6 +5518,14 @@ LIBLTE_ERROR_ENUM liblte_mme_unpack_attach_reject_msg(LIBLTE_BYTE_MSG_STRUCT
|
|
|
|
*********************************************************************/
|
|
|
|
*********************************************************************/
|
|
|
|
LIBLTE_ERROR_ENUM liblte_mme_pack_attach_request_msg(LIBLTE_MME_ATTACH_REQUEST_MSG_STRUCT *attach_req,
|
|
|
|
LIBLTE_ERROR_ENUM liblte_mme_pack_attach_request_msg(LIBLTE_MME_ATTACH_REQUEST_MSG_STRUCT *attach_req,
|
|
|
|
LIBLTE_BYTE_MSG_STRUCT *msg)
|
|
|
|
LIBLTE_BYTE_MSG_STRUCT *msg)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return liblte_mme_pack_attach_request_msg(attach_req, LIBLTE_MME_SECURITY_HDR_TYPE_PLAIN_NAS, 0, msg);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LIBLTE_ERROR_ENUM liblte_mme_pack_attach_request_msg(LIBLTE_MME_ATTACH_REQUEST_MSG_STRUCT *attach_req,
|
|
|
|
|
|
|
|
uint8 sec_hdr_type,
|
|
|
|
|
|
|
|
uint32 count,
|
|
|
|
|
|
|
|
LIBLTE_BYTE_MSG_STRUCT *msg)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
LIBLTE_ERROR_ENUM err = LIBLTE_ERROR_INVALID_INPUTS;
|
|
|
|
LIBLTE_ERROR_ENUM err = LIBLTE_ERROR_INVALID_INPUTS;
|
|
|
|
uint8 *msg_ptr = msg->msg;
|
|
|
|
uint8 *msg_ptr = msg->msg;
|
|
|
@ -5525,6 +5533,20 @@ LIBLTE_ERROR_ENUM liblte_mme_pack_attach_request_msg(LIBLTE_MME_ATTACH_REQUEST_M
|
|
|
|
if(attach_req != NULL &&
|
|
|
|
if(attach_req != NULL &&
|
|
|
|
msg != NULL)
|
|
|
|
msg != NULL)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if(LIBLTE_MME_SECURITY_HDR_TYPE_PLAIN_NAS != sec_hdr_type)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
// Protocol Discriminator and Security Header Type
|
|
|
|
|
|
|
|
*msg_ptr = (sec_hdr_type << 4) | (LIBLTE_MME_PD_EPS_MOBILITY_MANAGEMENT);
|
|
|
|
|
|
|
|
msg_ptr++;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// MAC will be filled in later
|
|
|
|
|
|
|
|
msg_ptr += 4;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Sequence Number
|
|
|
|
|
|
|
|
*msg_ptr = count & 0xFF;
|
|
|
|
|
|
|
|
msg_ptr++;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Protocol Discriminator and Security Header Type
|
|
|
|
// Protocol Discriminator and Security Header Type
|
|
|
|
*msg_ptr = (LIBLTE_MME_SECURITY_HDR_TYPE_PLAIN_NAS << 4) | (LIBLTE_MME_PD_EPS_MOBILITY_MANAGEMENT);
|
|
|
|
*msg_ptr = (LIBLTE_MME_SECURITY_HDR_TYPE_PLAIN_NAS << 4) | (LIBLTE_MME_PD_EPS_MOBILITY_MANAGEMENT);
|
|
|
|
msg_ptr++;
|
|
|
|
msg_ptr++;
|
|
|
|