diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2023-10-19 16:55:56 +0200 |
---|---|---|
committer | pespin <pespin@sysmocom.de> | 2023-10-23 14:46:18 +0000 |
commit | afe3e19ae0696dd25937e4ca1af53fb325c53c80 (patch) | |
tree | 56dc408ef042b1d580705d51f8526eafb48ade67 | |
parent | 95722c65506f242049af3bc9e9df2761259f1144 (diff) |
GSUP_Types: Add EDPG_Tunnel messages
Change-Id: Iadba149e6d299e5e666b2debdc23a00d37e78da5
-rw-r--r-- | library/GSUP_Types.ttcn | 32 |
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 */ |