@@ -16,16 +16,14 @@ using namespace srsran;
1616using namespace srsran ::srs_cu_cp;
1717using namespace asn1 ::rrc_nr;
1818
19- rrc_setup_procedure::rrc_setup_procedure (rrc_ue_context_t & context_,
20- const asn1::rrc_nr::establishment_cause_e& cause_,
21- const byte_buffer& du_to_cu_container_,
22- rrc_ue_setup_proc_notifier& rrc_ue_notifier_,
23- rrc_ue_srb_handler& srb_notifier_,
24- rrc_ue_nas_notifier& nas_notifier_,
25- rrc_ue_event_manager& event_mng_,
26- rrc_ue_logger& logger_) :
19+ rrc_setup_procedure::rrc_setup_procedure (rrc_ue_context_t & context_,
20+ const byte_buffer& du_to_cu_container_,
21+ rrc_ue_setup_proc_notifier& rrc_ue_notifier_,
22+ rrc_ue_srb_handler& srb_notifier_,
23+ rrc_ue_nas_notifier& nas_notifier_,
24+ rrc_ue_event_manager& event_mng_,
25+ rrc_ue_logger& logger_) :
2726 context(context_),
28- cause(cause_),
2927 du_to_cu_container(du_to_cu_container_),
3028 rrc_ue(rrc_ue_notifier_),
3129 srb_notifier(srb_notifier_),
@@ -52,18 +50,19 @@ void rrc_setup_procedure::operator()(coro_context<async_task<void>>& ctx)
5250 // Await UE response
5351 CORO_AWAIT (transaction);
5452
55- if (transaction.has_response ()) {
56- logger.log_debug (" \" {}\" finished successfully" , name ());
57- context.state = rrc_state::connected;
58- send_initial_ue_msg (transaction.response ().msg .c1 ().rrc_setup_complete ());
59- } else if (transaction.failure_cause () == protocol_transaction_failure::timeout) {
60- logger.log_warning (" \" {}\" timed out after {}ms" , name (), context.cfg .rrc_procedure_timeout_ms );
61- rrc_ue.on_ue_release_required (cause_protocol_t ::unspecified);
62- } else {
63- logger.log_warning (" \" {}\" cancelled" , name ());
64- // Do nothing. We are likely shutting down the DU processor.
53+ if (!transaction.has_response ()) {
54+ if (transaction.failure_cause () == protocol_transaction_failure::timeout) {
55+ logger.log_warning (" \" {}\" timed out after {}ms" , name (), context.cfg .rrc_procedure_timeout_ms );
56+ rrc_ue.on_ue_release_required (cause_protocol_t ::unspecified);
57+ } else {
58+ logger.log_warning (" \" {}\" cancelled" , name ());
59+ // Do nothing. We are likely shutting down the DU processor.
60+ }
61+ CORO_EARLY_RETURN ();
6562 }
6663
64+ send_initial_ue_msg (transaction.response ().msg .c1 ().rrc_setup_complete ());
65+
6766 CORO_RETURN ();
6867}
6968
@@ -89,12 +88,16 @@ void rrc_setup_procedure::send_rrc_setup()
8988 rrc_ue.on_new_dl_ccch (dl_ccch_msg);
9089}
9190
92- void rrc_setup_procedure::send_initial_ue_msg (const asn1::rrc_nr::rrc_setup_complete_s& rrc_setup_complete_msg )
91+ void rrc_setup_procedure::send_initial_ue_msg (const asn1::rrc_nr::rrc_setup_complete_s& rrc_setup_complete )
9392{
94- cu_cp_initial_ue_message init_ue_msg = {};
93+ cu_cp_initial_ue_message init_ue_msg = {};
94+
95+ logger.log_debug (" \" {}\" finished successfully" , name ());
96+ context.state = rrc_state::connected;
97+
9598 init_ue_msg.ue_index = context.ue_index ;
96- init_ue_msg.nas_pdu = rrc_setup_complete_msg .crit_exts .rrc_setup_complete ().ded_nas_msg .copy ();
97- init_ue_msg.establishment_cause = static_cast <establishment_cause_t >(cause .value );
99+ init_ue_msg.nas_pdu = rrc_setup_complete .crit_exts .rrc_setup_complete ().ded_nas_msg .copy ();
100+ init_ue_msg.establishment_cause = static_cast <establishment_cause_t >(context. connection_cause .value );
98101 init_ue_msg.user_location_info .nr_cgi = context.cell .cgi ;
99102 init_ue_msg.user_location_info .tai .plmn_id = context.cell .cgi .plmn_id ;
100103 init_ue_msg.user_location_info .tai .tac = context.cell .tac ;
@@ -106,9 +109,9 @@ void rrc_setup_procedure::send_initial_ue_msg(const asn1::rrc_nr::rrc_setup_comp
106109 init_ue_msg.five_g_s_tmsi = five_g_s_tmsi;
107110 }
108111
109- if (rrc_setup_complete_msg .crit_exts .rrc_setup_complete ().registered_amf_present ) {
112+ if (rrc_setup_complete .crit_exts .rrc_setup_complete ().registered_amf_present ) {
110113 cu_cp_amf_identifier_t amf_id =
111- asn1_to_amf_identifier (rrc_setup_complete_msg .crit_exts .rrc_setup_complete ().registered_amf .amf_id );
114+ asn1_to_amf_identifier (rrc_setup_complete .crit_exts .rrc_setup_complete ().registered_amf .amf_id );
112115
113116 init_ue_msg.amf_set_id = amf_id.amf_set_id ;
114117 // TODO: Handle PLMN ID
0 commit comments