GSUP_Types: Add EDPG_Tunnel messages
Change-Id: Iadba149e6d299e5e666b2debdc23a00d37e78da5
diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn
index 739dcbc..c3563bc 100644
--- a/library/GSUP_Types.ttcn
+++ b/library/GSUP_Types.ttcn
@@ -138,7 +138,11 @@
OSMO_GSUP_MSGT_E_CLOSE ('01000111'B),
OSMO_GSUP_MSGT_E_ABORT ('01001011'B),
- OSMO_GSUP_MSGT_E_ROUTING_ERROR ('01001110'B)
+ OSMO_GSUP_MSGT_E_ROUTING_ERROR ('01001110'B),
+
+ OSMO_GSUP_MSGT_EPDG_TUNNEL_REQUEST ('01010000'B),
+ OSMO_GSUP_MSGT_EPDG_TUNNEL_ERROR ('01010001'B),
+ OSMO_GSUP_MSGT_EPDG_TUNNEL_RESULT ('01010010'B)
} with { variant "FIELDLENGTH(8)" };
type enumerated GSUP_CancelType {
@@ -687,6 +691,32 @@
tr_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_ERROR, f_gen_tr_ies(imsi, cause := cause, destination_name := destination_name));
+/* EPDG Tunnel */
+template (value) GSUP_PDU ts_GSUP_EPDGTunnel_REQ(hexstring imsi, GSUP_CnDomain dom := OSMO_GSUP_CN_DOMAIN_PS,
+ template (omit) octetstring source_name := omit) :=
+ ts_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_REQUEST, f_gen_ts_ies(imsi, dom := dom,
+ source_name := source_name));
+
+template (present) GSUP_PDU tr_GSUP_EPDGTunnel_REQ(template (present) hexstring imsi := ?) :=
+ tr_GSUP_IMSI(OSMO_GSUP_MSGT_EPDG_TUNNEL_REQUEST, imsi);
+
+template (value) GSUP_PDU ts_GSUP_EPDGTunnel_RES(hexstring imsi, octetstring destination_name := ''O) :=
+ ts_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_RESULT, { valueof(ts_GSUP_IE_IMSI(imsi)),
+ valueof(ts_GSUP_IE_Destination_Name(destination_name))});
+
+template (present) GSUP_PDU tr_GSUP_EPDGTunnel_RES(template (present) hexstring imsi, template octetstring destination_name := omit) :=
+ tr_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_RESULT, f_gen_tr_ies(imsi, destination_name := destination_name));
+
+template (value) GSUP_PDU ts_GSUP_EPDGTunnel_ERR(hexstring imsi, integer cause) :=
+ ts_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_ERROR, {
+ valueof(ts_GSUP_IE_IMSI(imsi)), valueof(ts_GSUP_IE_Cause(cause)) });
+
+template (present) GSUP_PDU tr_GSUP_EPDGTunnel_ERR(template (present) hexstring imsi, template (present) integer cause := ?,
+ template octetstring destination_name := omit) :=
+ tr_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_ERROR,
+ f_gen_tr_ies(imsi, cause := cause, destination_name := destination_name));
+
+
template (value) GSUP_IE ts_GSUP_IE_CancelType(GSUP_CancelType ctype) := {
tag := OSMO_GSUP_CANCEL_TYPE_IE,
len := 0, /* overwritten */