epdg: Include BearerContext in CreateSessionResponse
Change-Id: I89e364a5be68105ae8811e8bc917f32511f9e6ef
diff --git a/epdg/EPDG_Tests.ttcn b/epdg/EPDG_Tests.ttcn
index 580d4d4..e7c8633 100644
--- a/epdg/EPDG_Tests.ttcn
+++ b/epdg/EPDG_Tests.ttcn
@@ -393,9 +393,12 @@
var PDU_GTPCv2 rx_msg;
var template (value) FullyQualifiedTEID fteid_c_ie, fteid_u_ie;
var template (value) PDN_AddressAllocation paa;
+ var uint4_t bid;
+ var template (value) BearerContextIEs bctx_ies;
[] GTP2.receive(tr_GTP2C_CreateSessionReq(g_pars.imsi)) -> value rx_msg {
/* TODO: parse TEIC and TEID and store it in g_pars.remote_tei{c,d} */
+ bid := rx_msg.gtpcv2_pdu.createSessionRequest.bearerContextGrouped[0].bearerContextIEs.ePS_Bearer_ID.ePS_Bearer_ID_Value;
/* allocate + register TEID-C on local side */
g_pars.teic := f_gtp2_allocate_teid();
@@ -409,8 +412,11 @@
fteid_u_ie := ts_GTP2C_FTEID(FTEID_IF_S2bU_ePDG_GTPU, g_pars.teid, 2,
f_inet_addr(mp_s2b_local_ip), omit);
paa := ts_GTP2C_PdnAddrAlloc_v4(f_inet_addr(g_pars.ue_ip));
-
- GTP2.send(ts_GTP2C_CreateSessionResp({ fteid_c_ie }, paa));
+ bctx_ies := ts_GTP2C_BcContextIE(bid := bid,
+ teid_list := { fteid_u_ie },
+ qos := ts_GTP2C_BearerQos('09'O, 0,0,0,0),
+ charging_id := ts_GTP2C_ChargingID(g_pars.teic));
+ GTP2.send(ts_GTP2C_CreateSessionResp({ fteid_c_ie }, paa, { ts_GTP2C_BcGrouped(bctx_ies) } ));
setverdict(pass);
}
[] GTP2.receive(PDU_GTPCv2:?) -> value rx_msg {