stp: Add TC_ipa_to_m3ua_ni()

This tests sets a non-zero default network-indicator in the ss7 instance
and then performs an IPA -> M3UA translation while checking if the M3UA
side now uses the specified default network-indicator (NATIONAL).

Change-Id: Id4f9d0ff67e114a119ab032d44ac0dfd34f5c402
Related: SYS#5421
This commit is contained in:
Harald Welte 2021-04-25 14:27:44 +02:00
parent 1c8d16c570
commit 95e3d9906c
2 changed files with 40 additions and 0 deletions

View File

@ -17,6 +17,9 @@ import from Osmocom_Types all;
const OCT1 c_M3UA_VERSION := '01'O;
const OCT1 c_M3UA_NI_NATIONAL := '02'O;
const OCT1 c_M3UA_NI_INTERNATIONAL := '00'O;
const OCT2 c_M3UA_ST_T_STATE_CHG := '0001'O;
const OCT2 c_M3UA_ST_I_RESERVED := '0001'O;
const OCT2 c_M3UA_ST_I_AS_INACTIVE := '0002'O;

View File

@ -120,6 +120,42 @@ testcase TC_ipa_to_m3ua() runs on IPA_M3UA_CT {
f_clear_m3ua();
}
/* test routing an SCCP message from IPA ASP to M3UA ASP using national network indicator */
testcase TC_ipa_to_m3ua_ni() runs on IPA_M3UA_CT {
var OCT4 pc_sender := int2oct(5, 4);
var OCT4 rctx_receiver := int2oct(1023, 4);
var OCT4 pc_receiver := int2oct(23, 4);
f_init_common();
f_vty_config2(VTY, {"cs7 instance 0", "as ipa-as-dynamic-asp ipa"},
"point-code override patch-sccp disabled");
f_init_m3ua();
f_init_ipa();
f_connect_ipa(3);
f_M3UA_asp_up_act(0, omit, omit); // TODO: rctx
/* send a well-formed, encoded SCCP message via IPA */
var octetstring data := f_rnd_octstring(f_rnd_int(100));
var SCCP_PAR_Address called := valueof(ts_SccpAddr_GT('1234'H));
var SCCP_PAR_Address calling := valueof(ts_SccpAddr_GT('5678'H));
var PDU_SCCP sccp := valueof(ts_SCCP_UDT(called, calling, data));
var octetstring sccp_enc := enc_PDU_SCCP(sccp);
f_vty_config2(VTY, {"cs7 instance 0"}, "network-indicator national");
f_IPA_send(3, sccp_enc);
f_vty_config2(VTY, {"cs7 instance 0"}, "network-indicator international");
/* expect to receive it via M3UA */
var template (present) M3UA_Protocol_Data rx_pd;
rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, c_M3UA_SI_SCCP, c_M3UA_NI_NATIONAL,
'00'O, '00'O, sccp_enc);
f_M3UA_exp(0, tr_M3UA_DATA(rctx_receiver, rx_pd));
f_clear_m3ua();
}
/* test routing an SCCP message from IPA ASP to M3UA ASP while patching PC into SCCP addresses */
testcase TC_ipa_to_m3ua_patch_sccp() runs on IPA_M3UA_CT {
var OCT4 pc_sender := int2oct(5, 4);
@ -163,6 +199,7 @@ control {
/* M3UA <-> IPA Tests */
execute( TC_m3ua_to_ipa() );
execute( TC_ipa_to_m3ua() );
execute( TC_ipa_to_m3ua_ni() );
execute( TC_ipa_to_m3ua_patch_sccp() );
}