epdg: Tx Service-Selection in s6b AAR msg

This AVP is actually mandatory as per Table 9.1.2.2.1 in TS 29.273.

Change-Id: I86d01a0f5148e98b7faebbe0e3d7617a6c90b559
This commit is contained in:
Pau Espin 2023-10-23 18:31:03 +02:00
parent 7399673d0e
commit 2c2e1877ec
2 changed files with 8 additions and 2 deletions

View File

@ -114,6 +114,7 @@ type component EPDG_ConnHdlr extends DIAMETER_ConnHdlr, GSUP_ConnHdlr, GTP2_Conn
type record EPDG_ConnHdlrPars {
hexstring imsi,
charstring apn,
charstring ue_ip,
/* TEI (Data) local side */
@ -143,6 +144,7 @@ private function f_init_pars(integer imsi_suffix := 1)
runs on MTC_CT return EPDG_ConnHdlrPars {
var EPDG_ConnHdlrPars pars := {
imsi := f_gen_imsi(imsi_suffix),
apn := "internet",
ue_ip := "192.168.123.50",
teid := '00000000'O,
teic := '00000000'O,
@ -375,7 +377,9 @@ private function f_S6b_AA_success() runs on EPDG_ConnHdlr {
*/
f_epdg_connhldr_S6b_expect_eteid(ete_id);
S6b.send(ts_DIA_S6b_AAR(g_pars.imsi, int2oct(DIA_TS29_373_MIP6_Feature_Vector_GTPv2_SUPPORTED, 8), hbh_id := hbh_id, ete_id := ete_id));
S6b.send(ts_DIA_S6b_AAR(g_pars.imsi,
int2oct(DIA_TS29_373_MIP6_Feature_Vector_GTPv2_SUPPORTED, 8),
g_pars.apn, hbh_id := hbh_id, ete_id := ete_id));
alt {
[] S6b.receive(tr_DIA_S6b_AAA) -> value rx_dia {}
[] S6b.receive(PDU_DIAMETER:?) -> value rx_dia {

View File

@ -207,6 +207,7 @@ ts_DIA_SWx_SAA(template (value) hexstring imsi,
template (value) PDU_DIAMETER
ts_DIA_S6b_AAR(template (value) hexstring imsi,
template (value) MIPv6_NONE_MIP6_Feature_Vector mip6_feat_vec,
template (value) charstring apn,
template (value) octetstring sess_id := c_def_sess_id,
template (value) charstring orig_host := "pgw.localdomain",
template (value) charstring orig_realm := "localdomain",
@ -227,7 +228,8 @@ ts_DIA_S6b_AAR(template (value) hexstring imsi,
ts_AVP_DestinationRealm(dest_realm),
ts_AVP_AuthRequestType(AUTHORIZE_ONLY),
ts_AVP_UserNameImsi(valueof(imsi)),
ts_AVP_MIP6FeatureVector(mip6_feat_vec)
ts_AVP_MIP6FeatureVector(mip6_feat_vec),
ts_AVP_ServiceSelection(valueof(apn))
/* TODO: Lots other optional */
});