diff --git a/openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_as.c b/openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_as.c index 2c6d5ba5cfb35e45f3e811845d775387ed3a2c5b..f8788815ffaf75293e7513f2e3613f709655e332 100644 --- a/openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_as.c +++ b/openair-cn/NAS/EURECOM-NAS/src/emm/sap/emm_as.c @@ -1264,14 +1264,20 @@ static int _emm_as_send(const emm_as_t *msg) LOG_FUNC_RETURN (RETURNok); } else { LOG_TRACE(DEBUG, "EMMAS-SAP - " - "Sending nas_itti_establish_cnf to S1AP UE ID %d", - as_msg.msg.nas_establish_rsp.UEid); + "Sending nas_itti_establish_cnf to S1AP UE ID %d" + " selected_encryption_algorithm 0x%04X", + " selected_integrity_algorithm 0x%04X", + as_msg.msg.nas_establish_rsp.UEid, + as_msg.msg.nas_establish_rsp.selected_encryption_algorithm, + as_msg.msg.nas_establish_rsp.selected_integrity_algorithm); /* Handle success case */ nas_itti_establish_cnf( as_msg.msg.nas_establish_rsp.UEid, as_msg.msg.nas_establish_rsp.errCode, as_msg.msg.nas_establish_rsp.nasMsg.data, - as_msg.msg.nas_establish_rsp.nasMsg.length); + as_msg.msg.nas_establish_rsp.nasMsg.length, + as_msg.msg.nas_establish_rsp.selected_encryption_algorithm, + as_msg.msg.nas_establish_rsp.selected_integrity_algorithm); LOG_FUNC_RETURN (RETURNok); } } break; @@ -2028,6 +2034,21 @@ static int _emm_as_establish_cnf(const emm_as_establish_t *msg, LOG_TRACE(DEBUG, "Set nas_msg.header.sequence_number -> %u", nas_msg.header.sequence_number); + + as_msg->selected_encryption_algorithm = htons(0x8000 >> emm_security_context->selected_algorithms.encryption); + as_msg->selected_integrity_algorithm = htons(0x8000 >> emm_security_context->selected_algorithms.integrity); + //as_msg->selected_encryption_algorithm = htons(0x8000 >> emm_security_context->capability.encryption); + //as_msg->selected_integrity_algorithm = htons(0x8000 >> emm_security_context->capability.integrity); + + LOG_TRACE(DEBUG, + "Set nas_msg.selected_encryption_algorithm -> NBO: 0x%04X (%u)", + as_msg->selected_encryption_algorithm, + emm_security_context->selected_algorithms.encryption); + LOG_TRACE(DEBUG, + "Set nas_msg.selected_integrity_algorithm -> NBO: 0x%04X (%u)", + as_msg->selected_integrity_algorithm, + emm_security_context->selected_algorithms.integrity); + } /* Encode the initial NAS information message */