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 {