This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/9422 ) Change subject: GSUP_Types.ttcn: add SS related messages and IEs ...................................................................... GSUP_Types.ttcn: add SS related messages and IEs Recently we introduced a few new GSUP IEs, related to TCAP-like session management and Supplementary Services in libosmocore. Let's sync the TTCN-3 implementation and add the corresponding templates for SS payloads. Change-Id: I54767e49ae98db67f71dd28278b14435860313e0 --- M library/GSUP_Types.ttcn 1 file changed, 153 insertions(+), 3 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn index 4c2aac0..359e272 100644 --- a/library/GSUP_Types.ttcn +++ b/library/GSUP_Types.ttcn @@ -39,7 +39,11 @@ OSMO_GSUP_AUTN_IE ('25'O), OSMO_GSUP_AUTS_IE ('26'O), OSMO_GSUP_RES_IE ('27'O), - OSMO_GSUP_CN_DOMAIN_IE ('28'O) + OSMO_GSUP_CN_DOMAIN_IE ('28'O), + + OSMO_GSUP_SESSION_ID_IE ('30'O), + OSMO_GSUP_SESSION_STATE_IE ('31'O), + OSMO_GSUP_SS_INFO_IE ('35'O) } with { variant "FIELDLENGTH(8)" }; type enumerated GSUP_MessageType { @@ -67,7 +71,11 @@ OSMO_GSUP_MSGT_LOCATION_CANCEL_REQUEST ('00011100'B), OSMO_GSUP_MSGT_LOCATION_CANCEL_ERROR ('00011101'B), - OSMO_GSUP_MSGT_LOCATION_CANCEL_RESULT ('00011110'B) + OSMO_GSUP_MSGT_LOCATION_CANCEL_RESULT ('00011110'B), + + OSMO_GSUP_MSGT_PROC_SS_REQUEST ('00100000'B), + OSMO_GSUP_MSGT_PROC_SS_ERROR ('00100001'B), + OSMO_GSUP_MSGT_PROC_SS_RESULT ('00100010'B) } with { variant "FIELDLENGTH(8)" }; type enumerated GSUP_CancelType { @@ -80,6 +88,13 @@ OSMO_GSUP_CN_DOMAIN_CS (2) } with { variant "FIELDLENGTH(8)" }; +type enumerated GSUP_SessionState { + OSMO_GSUP_SESSION_STATE_NONE (0), + OSMO_GSUP_SESSION_STATE_BEGIN (1), + OSMO_GSUP_SESSION_STATE_CONTINUE (2), + OSMO_GSUP_SESSION_STATE_END (3) +} with { variant "FIELDLENGTH(8)" }; + type record GSUP_MSISDN { uint8_t len, hexstring digits optional @@ -110,6 +125,9 @@ pdp_qos, tag = OSMO_GSUP_PDP_QOS_IE; pdp_type, tag = OSMO_GSUP_PDP_TYPE_IE; charg_char, tag = OSMO_GSUP_CHARG_CHAR_IE; + session_state, tag = OSMO_GSUP_SESSION_STATE_IE; + session_id, tag = OSMO_GSUP_SESSION_ID_IE; + ss_info, tag = OSMO_GSUP_SS_INFO_IE; )" }; @@ -138,7 +156,12 @@ octetstring apn, octetstring pdp_qos, OCT2 pdp_type, - octetstring charg_char + octetstring charg_char, + /* Session information */ + GSUP_SessionState session_state, + OCT4 session_id, + /* Supplementary Services */ + octetstring ss_info }; type record GSUP_PDU { @@ -513,5 +536,132 @@ } } +template (value) GSUP_IE ts_GSUP_IE_SessionId(OCT4 sid) := { + tag := OSMO_GSUP_SESSION_ID_IE, + len := 0, /* overwritten */ + val := { + session_id := sid + } +} +template GSUP_IE tr_GSUP_IE_SessionId(template OCT4 sid) := { + tag := OSMO_GSUP_SESSION_ID_IE, + len := ?, + val := { + session_id := sid + } +} + +template (value) GSUP_IE ts_GSUP_IE_SessionState(GSUP_SessionState state) := { + tag := OSMO_GSUP_SESSION_STATE_IE, + len := 0, /* overwritten */ + val := { + session_state := state + } +} +template GSUP_IE tr_GSUP_IE_SessionState(template GSUP_SessionState state) := { + tag := OSMO_GSUP_SESSION_STATE_IE, + len := ?, + val := { + session_state := state + } +} + +template (value) GSUP_IE ts_GSUP_IE_SSInfo(octetstring ss) := { + tag := OSMO_GSUP_SS_INFO_IE, + len := 0, /* overwritten */ + val := { + ss_info := ss + } +} +template GSUP_IE tr_GSUP_IE_SSInfo(template octetstring ss) := { + tag := OSMO_GSUP_SS_INFO_IE, + len := ?, + val := { + ss_info := ss + } +} + +template (value) GSUP_PDU ts_GSUP_PROC_SS_REQ( + hexstring imsi, + OCT4 sid, + GSUP_SessionState state, + octetstring ss +) := ts_GSUP( + OSMO_GSUP_MSGT_PROC_SS_REQUEST, + { + valueof(ts_GSUP_IE_IMSI(imsi)), + valueof(ts_GSUP_IE_SessionId(sid)), + valueof(ts_GSUP_IE_SessionState(state)), + valueof(ts_GSUP_IE_SSInfo(ss)) + } +); +template GSUP_PDU tr_GSUP_PROC_SS_REQ( + template hexstring imsi, + template OCT4 sid := ?, + template GSUP_SessionState state := ?, + template octetstring ss := ? +) := tr_GSUP( + OSMO_GSUP_MSGT_PROC_SS_REQUEST, + { + tr_GSUP_IE_IMSI(imsi), + tr_GSUP_IE_SessionId(sid), + tr_GSUP_IE_SessionState(state), + tr_GSUP_IE_SSInfo(ss) + } +); + +template (value) GSUP_PDU ts_GSUP_PROC_SS_RES( + hexstring imsi, + OCT4 sid, + GSUP_SessionState state, + octetstring ss +) := ts_GSUP( + OSMO_GSUP_MSGT_PROC_SS_RESULT, + { + valueof(ts_GSUP_IE_IMSI(imsi)), + valueof(ts_GSUP_IE_SessionId(sid)), + valueof(ts_GSUP_IE_SessionState(state)), + valueof(ts_GSUP_IE_SSInfo(ss)) + } +); +template GSUP_PDU tr_GSUP_PROC_SS_RES( + template hexstring imsi, + template OCT4 sid := ?, + template GSUP_SessionState state := ?, + template octetstring ss := ? +) := tr_GSUP( + OSMO_GSUP_MSGT_PROC_SS_RESULT, + { + tr_GSUP_IE_IMSI(imsi), + tr_GSUP_IE_SessionId(sid), + tr_GSUP_IE_SessionState(state), + tr_GSUP_IE_SSInfo(ss) + } +); + +template (value) GSUP_PDU ts_GSUP_PROC_SS_ERR( + hexstring imsi, + OCT4 sid, + integer cause +) := ts_GSUP( + OSMO_GSUP_MSGT_PROC_SS_ERROR, + { + valueof(ts_GSUP_IE_IMSI(imsi)), + valueof(ts_GSUP_IE_SessionId(sid)), + valueof(ts_GSUP_IE_Cause(cause)) + } +); +template GSUP_PDU tr_GSUP_PROC_SS_ERR( + template hexstring imsi, + template OCT4 sid := ?, + template integer cause := ? +) := tr_GSUP( + OSMO_GSUP_MSGT_PROC_SS_ERROR, + { + tr_GSUP_IE_IMSI(imsi), + tr_GSUP_IE_SessionId(sid), + tr_GSUP_IE_Cause(cause) + } +); } with { encode "RAW"; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/9422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I54767e49ae98db67f71dd28278b14435860313e0 Gerrit-Change-Number: 9422 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy <axilirator at gmail.com> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180602/ce5f9161/attachment.htm>