GSUP_Types: Split RAT_TYPE_IE to SUPPORTED / CURRENT
We added the RAT_TYPE_IE while the respective change in libosmocore
was still in gerrit review. Meanwhile the support there has been
split into two parts: A list of supported radio access types and
another IE indicating the current RAT. Let's catch up with that
in the GSUP implementation.
This makes TC_gsup_sai_eps() pass again.
Change-Id: I2c609dc523cbec562c6c6a05f4c7d600649ff52d
diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn
index e1aa24c..8977d9f 100644
--- a/library/GSUP_Types.ttcn
+++ b/library/GSUP_Types.ttcn
@@ -43,7 +43,8 @@
OSMO_GSUP_AUTS_IE ('26'O),
OSMO_GSUP_RES_IE ('27'O),
OSMO_GSUP_CN_DOMAIN_IE ('28'O),
- OSMO_GSUP_RAT_TYPE_IE ('29'O),
+ OSMO_GSUP_SUPPORTED_RAT_TYPES_IE ('29'O),
+ OSMO_GSUP_CURRENT_RAT_TYPE_IE ('2a'O),
OSMO_GSUP_SESSION_ID_IE ('30'O),
OSMO_GSUP_SESSION_STATE_IE ('31'O),
@@ -233,7 +234,8 @@
cause_rr, tag = OSMO_GSUP_CAUSE_RR_IE;
cause_bssap, tag = OSMO_GSUP_CAUSE_BSSAP_IE;
cause_sm, tag = OSMO_GSUP_CAUSE_SM_IE;
- rat_type, tag = OSMO_GSUP_RAT_TYPE_IE;
+ supported_rat_types, tag = OSMO_GSUP_SUPPORTED_RAT_TYPES_IE;
+ current_rat_type, tag = OSMO_GSUP_CURRENT_RAT_TYPE_IE;
)"
};
@@ -300,7 +302,8 @@
OCT1 cause_bssap,
OCT1 cause_sm,
- GSUP_RatTypes rat_type
+ GSUP_RatTypes supported_rat_types,
+ GSUP_RatType current_rat_type
};
type record GSUP_PDU {
@@ -449,7 +452,7 @@
template (value) GSUP_PDU ts_GSUP_SAI_REQ_EPS(hexstring imsi) :=
ts_GSUP(OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST, {
valueof(ts_GSUP_IE_IMSI(imsi)),
- valueof(ts_GSUP_IE_RAT_TYPE({RAT_TYPE_EUTRAN_SGs}))
+ valueof(ts_GSUP_IE_CURRENT_RAT_TYPE(RAT_TYPE_EUTRAN_SGs))
});
template GSUP_PDU tr_GSUP_SAI_REQ(template hexstring imsi) :=
@@ -1124,19 +1127,33 @@
}
}
-
-template (present) GSUP_IE tr_GSUP_IE_RAT_TYPE(template (present) GSUP_RatTypes ratt) := {
- tag := OSMO_GSUP_RAT_TYPE_IE,
+template (present) GSUP_IE tr_GSUP_IE_SUPPORTED_RAT_TYPES(template (present) GSUP_RatTypes ratt) := {
+ tag := OSMO_GSUP_SUPPORTED_RAT_TYPES_IE,
len := ?,
val := {
- rat_type := ratt
+ supported_rat_types := ratt
}
}
-template (value) GSUP_IE ts_GSUP_IE_RAT_TYPE(GSUP_RatTypes ratt) := {
- tag := OSMO_GSUP_RAT_TYPE_IE,
+template (value) GSUP_IE ts_GSUP_IE_SUPPORTED_RAT_TYPES(GSUP_RatTypes ratt) := {
+ tag := OSMO_GSUP_SUPPORTED_RAT_TYPES_IE,
len := 0, /* overwritten */
val := {
- rat_type := ratt
+ supported_rat_types := ratt
+ }
+}
+
+template (present) GSUP_IE tr_GSUP_IE_CURRENT_RAT_TYPE(template (present) GSUP_RatType ratt) := {
+ tag := OSMO_GSUP_CURRENT_RAT_TYPE_IE,
+ len := ?,
+ val := {
+ current_rat_type := ratt
+ }
+}
+template (value) GSUP_IE ts_GSUP_IE_CURRENT_RAT_TYPE(GSUP_RatType ratt) := {
+ tag := OSMO_GSUP_CURRENT_RAT_TYPE_IE,
+ len := 0, /* overwritten */
+ val := {
+ current_rat_type := ratt
}
}