summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2018-11-29 02:17:37 +0700
committerVadim Yanitskiy <axilirator@gmail.com>2018-11-29 21:42:49 +0700
commit772a84592be6c269b2d456438091bbc2f3f3a24c (patch)
tree9ab21b516abb5c77d4b6cde9ed77b772baa54c2b
parent21c423353cd99c63e9abf3d77df811bd745349cd (diff)
library/GSUP_Types.ttcn: fix IE order in PROC_SS_ERROR templates
In general, the order of IEs in a GSUP message doesn't matter. Despite libosmocore's GSUP API encodes IEs in a fixed order, it is capable to decode them in any arbitary order. Meanwhile, in the current TTCN-3 definitions (i.e. templates) the order makes a difference, because the 'GSUP_IEs' type is a record, that according to the TTCN-3 documentation represents an *ordered* sequence of elements. Let's reorder the IEs of both t{r|s}_GSUP_PROC_SS_ERR templates in a way that is used by the libosmocore's GSUP encoder. This correction doesn't affect successful test case executions, because we don't test possible problematic situations yet. But if something went wrong on the HLR side (i.e. SUT), the matching statements wouldn't match the PROC_SS_ERR message correctly and continue to wait until the guard timer is expired. Change-Id: I5eb2314f6a9ab0e9fc5e836390414cec6e1a12db
-rw-r--r--library/GSUP_Types.ttcn8
1 files changed, 4 insertions, 4 deletions
diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn
index cadc6d8..6329ebd 100644
--- a/library/GSUP_Types.ttcn
+++ b/library/GSUP_Types.ttcn
@@ -698,9 +698,9 @@ template (value) GSUP_PDU ts_GSUP_PROC_SS_ERR(
OSMO_GSUP_MSGT_PROC_SS_ERROR,
{
valueof(ts_GSUP_IE_IMSI(imsi)),
+ valueof(ts_GSUP_IE_Cause(cause)),
valueof(ts_GSUP_IE_SessionId(sid)),
- valueof(ts_GSUP_IE_SessionState(state)),
- valueof(ts_GSUP_IE_Cause(cause))
+ valueof(ts_GSUP_IE_SessionState(state))
}
);
template GSUP_PDU tr_GSUP_PROC_SS_ERR(
@@ -712,9 +712,9 @@ template GSUP_PDU tr_GSUP_PROC_SS_ERR(
OSMO_GSUP_MSGT_PROC_SS_ERROR,
{
tr_GSUP_IE_IMSI(imsi),
+ tr_GSUP_IE_Cause(cause),
tr_GSUP_IE_SessionId(sid),
- tr_GSUP_IE_SessionState(state),
- tr_GSUP_IE_Cause(cause)
+ tr_GSUP_IE_SessionState(state)
}
);