Change in osmo-ttcn3-hacks[master]: GSUP_Types.ttcn: add SS related messages and IEs

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.org
Sat Jun 2 18:57:35 UTC 2018


Harald 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>


More information about the gerrit-log mailing list