aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2023-10-19 16:55:56 +0200
committerpespin <pespin@sysmocom.de>2023-10-23 14:46:18 +0000
commitafe3e19ae0696dd25937e4ca1af53fb325c53c80 (patch)
tree56dc408ef042b1d580705d51f8526eafb48ade67
parent95722c65506f242049af3bc9e9df2761259f1144 (diff)
GSUP_Types: Add EDPG_Tunnel messages
-rw-r--r--library/GSUP_Types.ttcn32
1 files changed, 31 insertions, 1 deletions
diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn
index 739dcbc7..c3563bc2 100644
--- a/library/GSUP_Types.ttcn
+++ b/library/GSUP_Types.ttcn
@@ -138,7 +138,11 @@ type enumerated GSUP_MessageType {
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 @@ template GSUP_PDU tr_GSUP_CHECK_IMEI_ERR(template hexstring imsi, template integ
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 */