introduce a TTCN3 test suite for SCCP
This test suite acts as an SCCP server on top of M3UA.
SCCP tests are run against the sccp_demo_user program which
can be found in libosmo-sccp/examples. This program must be
started in client mode: sccp_demo_user -c
The SCCP test suite should then work out of the box with
the provided SCCP_Tests.cfg file and this additional change
to sccp_demo_user default point codes:
https://gerrit.osmocom.org/#/c/libosmo-sccp/+/9652/
There is currently only one test, for the libosmo-sccp crash
reported as issue OS#2666. The implementation of this test
is currently using an ugly workaround due to shortcomings of
the M3UA Emulation layer (see source code comments). Whether
a better solution is feasible is still to be determined.
The test requires a patch to the SCCP Protocol Emulation which
has been submitted upstream: https://git.eclipse.org/r/#/c/124552/
Change-Id: I03f5e8b282a7396b45417495c88d8fb81b26cda8
Related: OS#2666
diff --git a/library/BSSAP_Adapter.ttcn b/library/BSSAP_Adapter.ttcn
index b29d03f..ada66d2 100644
--- a/library/BSSAP_Adapter.ttcn
+++ b/library/BSSAP_Adapter.ttcn
@@ -18,6 +18,7 @@
import from SCCP_Types all;
import from SCCPasp_Types all;
import from SCCP_Emulation all;
+import from SCCP_Templates all;
import from SCTPasp_Types all;
import from SCTPasp_PortType all;
@@ -59,20 +60,6 @@
integer rctx
};
-/* construct a SCCP_PAR_Address with just PC + SSN and no GT */
-template (value) SCCP_PAR_Address ts_SccpAddr_PC_SSN(integer pc, integer ssn, octetstring sio,
- charstring sccp_srv_type) := {
- addressIndicator := {
- pointCodeIndic := '1'B,
- ssnIndicator := '1'B,
- globalTitleIndic := '0000'B,
- routingIndicator := '1'B
- },
- signPointCode := SCCP_SPC_int2bit(pc, sccp_srv_type, sio),
- subsystemNumber := ssn,
- globalTitle := omit
-}
-
private function init_pars(inout BSSAP_Adapter ba, in BSSAP_Configuration cfg) {
ba.sccp_pars := {
sio := {