Skip to content

Commit 269ddad

Browse files
committed
fixing typos and adding commit
1 parent 317e988 commit 269ddad

File tree

6 files changed

+23
-12
lines changed

6 files changed

+23
-12
lines changed

lib/include/srsran/interfaces/ue_nas_interfaces.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ class pdu_session_cfg_t
4141
apn_types apn_type = ipv4;
4242
std::string apn_user;
4343
std::string apn_pass;
44+
bool emergency_registration_5g;
4445
};
4546
class nas_interface_rrc
4647
{
@@ -83,6 +84,7 @@ class nas_5g_interface_procedures
8384
add_pdu_session(uint16_t pdu_session_id, uint16_t pdu_session_type, srsran::nas_5g::pdu_address_t pdu_address) = 0;
8485

8586
virtual uint32_t allocate_next_proc_trans_id() = 0;
87+
8688
};
8789

8890
} // namespace srsue

srsue/hdr/stack/upper/nas_5g_procedures.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class nas_5g::pdu_session_establishment_procedure
5757
{
5858
public:
5959
explicit pdu_session_establishment_procedure(nas_5g_interface_procedures* parent_nas_, srslog::basic_logger& logger_);
60-
srsran::proc_outcome_t init(const uint16_t pdu_session_id, const pdu_session_cfg_t& pdu_session);
60+
srsran::proc_outcome_t init(const uint16_t pdu_session_id, const pdu_session_cfg_t& pdu_session, const bool emergency_pdu_session);
6161
srsran::proc_outcome_t react(const srsran::nas_5g::pdu_session_establishment_accept_t& pdu_session_est_accept);
6262
srsran::proc_outcome_t react(const srsran::nas_5g::pdu_session_establishment_reject_t& pdu_session_est_reject);
6363
srsran::proc_outcome_t step();
@@ -69,8 +69,9 @@ class nas_5g::pdu_session_establishment_procedure
6969
nas_5g_interface_procedures* parent_nas;
7070
uint32_t transaction_identity = 0;
7171
uint16_t pdu_session_id = 0;
72+
bool emergency_pdu_session = false;
7273
};
7374

7475
} // namespace srsue
7576

76-
#endif // SRSUE_NAS_5G_PROCEDURES_H_
77+
#endif // SRSUE_NAS_5G_PROCEDURES_H_

srsue/hdr/stack/upper/nas_config.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,7 @@ class nas_5g_args_t
6767
std::string ia5g;
6868
std::string ea5g;
6969
std::vector<pdu_session_cfg_t> pdu_session_cfgs;
70-
bool emergency_registration;
71-
70+
bool emergency_registration_5g;
7271
};
7372

7473
} // namespace srsue

srsue/src/main.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ static int parse_args(all_args_t* args, int argc, char* argv[])
160160
("nas.force_imsi_attach", bpo::value<bool>(&args->stack.nas.force_imsi_attach)->default_value(false), "Whether to always perform an IMSI attach")
161161
("nas.eia", bpo::value<string>(&args->stack.nas.eia)->default_value("1,2,3"), "List of integrity algorithms included in UE capabilities")
162162
("nas.eea", bpo::value<string>(&args->stack.nas.eea)->default_value("0,1,2,3"), "List of ciphering algorithms included in UE capabilities")
163-
("nas.enable_emergency_reg", bpo::value<bool>(&args->stack.nas_5g.emergency_registration)->default_value(false), "Specifies if it is an anonymous emergency registration.")
163+
("nas.enable_emergency_reg_5g", bpo::value<bool>(&args->stack.nas_5g.emergency_registration_5g)->default_value(false), "Specifies if it is an anonymous emergency registration.")
164164

165165
("pcap.enable", bpo::value<string>(&args->stack.pkt_trace.enable)->default_value("none"), "Enable (MAC, MAC_NR, NAS) packet captures for wireshark")
166166
("pcap.mac_filename", bpo::value<string>(&args->stack.pkt_trace.mac_pcap.filename)->default_value("/tmp/ue_mac.pcap"), "MAC layer capture filename")

srsue/src/stack/upper/nas_5g.cc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -249,9 +249,9 @@ int nas_5g::write_pdu(srsran::unique_byte_buffer_t pdu)
249249
/*******************************************************************************
250250
* Senders
251251
******************************************************************************/
252+
252253
int nas_5g::send_registration_request()
253254
{
254-
255255
unique_byte_buffer_t pdu = srsran::make_byte_buffer();
256256
if (!pdu) {
257257
logger.error("Couldn't allocate PDU in %s().", __FUNCTION__);
@@ -264,7 +264,7 @@ int nas_5g::send_registration_request()
264264
reg_req.registration_type_5gs.follow_on_request_bit =
265265
registration_type_5gs_t::follow_on_request_bit_type_::options::follow_on_request_pending;
266266

267-
if(cfg.emergency_registration){
267+
if(cfg.emergency_registration_5g){
268268
reg_req.registration_type_5gs.registration_type =
269269
registration_type_5gs_t::registration_type_type_::options::emergency_registration;
270270

@@ -590,14 +590,14 @@ int nas_5g::send_pdu_session_establishment_request(uint32_t tran
590590
ul_nas_msg.pdu_session_id.pdu_session_identity_2_value = pdu_session_id;
591591

592592
ul_nas_msg.request_type_present = true;
593-
ul_nas_msg.request_type.request_type_value = (cfg.emergency_registration)? request_type_t::Request_type_value_type_::initial_emergency_request:
593+
ul_nas_msg.request_type.request_type_value = (cfg.emergency_registration_5g)? request_type_t::Request_type_value_type_::initial_emergency_request:
594594
request_type_t::Request_type_value_type_::options::initial_request;
595595

596-
ul_nas_msg.s_nssai_present = (cfg.emergency_registration)? false:true;
596+
ul_nas_msg.s_nssai_present = (cfg.emergency_registration_5g)? false:true;
597597
ul_nas_msg.s_nssai.type = s_nssai_t::SST_type_::options::sst;
598598
ul_nas_msg.s_nssai.sst = 1;
599599

600-
ul_nas_msg.dnn_present = (cfg.emergency_registration)? false:true;
600+
ul_nas_msg.dnn_present = (cfg.emergency_registration_5g)? false:true;
601601
ul_nas_msg.dnn.dnn_value.resize(pdu_session_cfg.apn_name.size() + 1);
602602
ul_nas_msg.dnn.dnn_value.data()[0] = static_cast<uint8_t>(pdu_session_cfg.apn_name.size());
603603

@@ -1246,7 +1246,7 @@ int nas_5g::trigger_pdu_session_est()
12461246
pdu_session_cfg_t pdu_session_cfg;
12471247
uint16_t pdu_session_id;
12481248
get_unestablished_pdu_session(pdu_session_id, pdu_session_cfg);
1249-
pdu_session_establishment_proc.launch(pdu_session_id, pdu_session_cfg);
1249+
pdu_session_establishment_proc.launch(pdu_session_id, pdu_session_cfg,cfg.emergency_registration_5g);
12501250
}
12511251
return SRSRAN_SUCCESS;
12521252
}

srsue/src/stack/upper/nas_5g_procedures.cc

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,19 +52,28 @@ nas_5g::pdu_session_establishment_procedure::pdu_session_establishment_procedure
5252
{}
5353

5454
srsran::proc_outcome_t nas_5g::pdu_session_establishment_procedure::init(const uint16_t pdu_session_id_,
55-
const pdu_session_cfg_t& pdu_session_cfg)
55+
const pdu_session_cfg_t& pdu_session_cfg,
56+
const bool emergency_pdu_session_)
5657
{
5758
// Get PDU transaction identity
5859
transaction_identity = parent_nas->allocate_next_proc_trans_id();
5960
pdu_session_id = pdu_session_id_;
6061
parent_nas->send_pdu_session_establishment_request(transaction_identity, pdu_session_id, pdu_session_cfg);
6162

63+
//Check if emergency registration is enabled
64+
emergency_pdu_session = emergency_pdu_session_;
65+
6266
return srsran::proc_outcome_t::yield;
6367
}
6468

6569
srsran::proc_outcome_t nas_5g::pdu_session_establishment_procedure::react(
6670
const srsran::nas_5g::pdu_session_establishment_accept_t& pdu_session_est_accept)
6771
{
72+
//TODO check the pdu session values
73+
if(pdu_session_est_accept.dnn_present == false and not emergency_pdu_session){
74+
logger.warning("Expected DNN in PDU session establishment accept");
75+
return proc_outcome_t::error;
76+
}
6877

6978
if (pdu_session_est_accept.pdu_address_present == false) {
7079
logger.warning("Expected PDU Address in PDU session establishment accept");

0 commit comments

Comments
 (0)