aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2021-07-27 22:30:08 +0200
committerlaforge <laforge@osmocom.org>2021-08-06 14:03:28 +0000
commite51ce49fbf3e8befa43c0c70842d31f769c21140 (patch)
tree88b28106d3995f5b7884e3d8336ac945d37411a7
parent49bbb511e74e4dbb74b4c82c8768cb7b25bdb83c (diff)
L3_Templates: add ts_ML3_MO_CC_DISC
To simulate an MS initiated call release at the MSC, a MO CC DISCONNECT is required. So far msc's f_call_hangup() has some really weird sequences of MNCC events. This is one preparation to fix that. Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Related: SYS#5130 Change-Id: Ie152f8760c9bd6df04a20fdbb7ce9bbde9cb3d68
-rw-r--r--library/L3_Templates.ttcn40
1 files changed, 40 insertions, 0 deletions
diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index c6ebeb43..997b433f 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -62,6 +62,23 @@ template ML3_Cause_TLV ts_ML3_Cause(BIT7 cause, BIT4 loc := '0001'B, BIT2 std :=
diagnostics := omit
}
+template ML3_Cause_LV ts_ML3_Cause_LV(BIT7 cause, BIT4 loc := '0001'B, BIT2 std := '11'B) := {
+ lengthIndicator := 0, /* overwritten */
+ oct3 := {
+ location := loc,
+ spare1_1 := '0'B,
+ codingStandard := std,
+ ext1 := '0'B,
+ recommendation := omit,
+ ext2 := omit
+ },
+ oct4 := {
+ causeValue := cause,
+ ext3 := '1'B
+ },
+ diagnostics := omit
+}
+
/* 3GPP TS 24.008, section 10.5.1.4 "Mobile Identity" */
template (value) MobileIdentityTLV ts_MI_TLV(template (value) MobileIdentityV mi) := {
@@ -1566,6 +1583,29 @@ template PDU_ML3_NW_MS tr_ML3_MT_CC_DISC(integer tid) := {
}
}
+template PDU_ML3_MS_NW ts_ML3_MO_CC_DISC(integer tid, BIT1 tid_remote, BIT7 cause) := {
+ discriminator := '0011'B,
+ tiOrSkip := {
+ transactionId := {
+ tio := int2bit(tid, 3),
+ tiFlag := tid_remote,
+ tIExtension := omit
+ }
+ },
+ msgs := {
+ cc := {
+ disconnect_MS_NW := {
+ messageType := '100101'B,
+ nsd := '00'B,
+ cause := ts_ML3_Cause_LV(cause),
+ facility := omit,
+ user_user := omit,
+ ss_VersionIndicator := omit
+ }
+ }
+ }
+}
+
template PDU_ML3_NW_MS tr_ML3_MT_CC_RELEASE(integer tid) := {
discriminator := '0011'B,
tiOrSkip := {