pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41954?usp=email )
Change subject: sccp: Introduce test TC_local_unavailable_user_part_dupu ......................................................................
sccp: Introduce test TC_local_unavailable_user_part_dupu
Related: OS#6907 Related: OS#6891 Change-Id: Ia0e71cc98c267692bc9230be8d15bbc861d5daad --- M sccp/SCCP_Tests_RAW.ttcn 1 file changed, 33 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/54/41954/1
diff --git a/sccp/SCCP_Tests_RAW.ttcn b/sccp/SCCP_Tests_RAW.ttcn index f0d716a..e9daf1a 100644 --- a/sccp/SCCP_Tests_RAW.ttcn +++ b/sccp/SCCP_Tests_RAW.ttcn @@ -12,6 +12,8 @@
module SCCP_Tests_RAW {
+import from MTP3asp_Types all; + import from General_Types all; import from Osmocom_Types all; import from Misc_Helpers all; @@ -535,6 +537,35 @@ setverdict(pass); }
+/* test whether the M3UA stack under SCCP sends back a M3UA DUPU when receiving + * a pkt towards a local unavailable User Part */ +testcase TC_local_unavailable_user_part_dupu() runs on SCCP_Test_RAW_CT { + var integer conn_id := 1234; + var OCT3 remote_lref; + + f_init_raw(mp_sccp_cfg[0]); + f_sleep(1.0); + + var MTP3_Field_sio unavail_sio := g_param.sio; + unavail_sio.si := '0100'B; /* SI=DUP */ + var SCCP_MTP3_TRANSFERreq tx := { + sio := unavail_sio, + opc := g_param.opc, + dpc := g_param.dpc, + sls := g_param.sls, + data := valueof(ts_SCCP_CC(g_own_lref, '000000'O)) + }; + MTP3.send(tx); + + /* TODO: Here we should wait to receive a MTP-STATUS.ind in MTP3 port generated by + * received DUPU (see https://datatracker.ietf.org/doc/html/rfc4666#section-5.5.2.3.4), + * but forwarding non-data M3UA messages up the stack is not yet implemented + * in M3UA_Emulation.ttcn, see OS#6907. */ + f_sleep(1.0); + + setverdict(pass); +} +
control { execute( TC_cr_cc() ); @@ -550,6 +581,8 @@
execute( TC_callingparty_ssn_only() ); execute( TC_cr_timeout_cc_too_late() ); + + execute( TC_local_unavailable_user_part_dupu() ); }