The existing BSSGP_Emulation is built around the assumption that every
instance of BSSGP_Emulation only servers one signaling-BVC and one
PTP-BVC. While this is true for osmo-pcu at this point (BTS-colocated
PCU), other BSS/PCU implementations differ.
In general, there can always be any number of PTP BVC (one per cell)
next to the signaling BVC (one per BSS). Let's represent this in
BSSGP_Emulation so we can create more comprehensive tests.
Change-Id: I7e30b4c4e188518a574e082962fba457b3a97ce3
Additional libraries to be linked should be in LINUX_LIBS (appended at
the end of the linker command), not part of LDFLAGS (prepended to
the beginning of the linker command).
On binutils 2.35.1 / Debian unstable, without this patch, I get
/usr/bin/ld: IPL4asp_PT.so: undefined reference to `sctp_bindx'
/usr/bin/ld: IPL4asp_PT.so: undefined reference to `sctp_connectx'
which is resolved by this patch
Change-Id: I8a339076f445e3c650e407ae982c7c2dc4a760b2
This adds a NS_Provider_FR which interfaces between FrameRelay_Emulation
and NS_Emulation. Include support for it only if enabled at compile
time to avoid pulling in a dependency on the FrameRelay stack for every
user of NS_Emulation.
Change-Id: I42ca811d23e383e362d2527c8ff2c916a62a5b42
NSConfiguration currently contains parameters relevant only for IP
based transport. Move IP/UDP parameters into a sub-structure in
anticipation of Frame Relay support.
Change-Id: I6904520d8c2f546327029777d68b1907611a8cf5
In an old version of the PCUIF version 10 this field was named remote_proto
but got renamed into address_family before it was merged.
Change-Id: Ia49169afe2db2503e99b62bb55639b2aeea546f2
The dependency of PCUIF_Types creates also a dependency on
Replace the PCU_AddrType by an unix like address family defined
in the Osmocom_Types to reduce the dependency.
Change-Id: I0b4fda96accef401ffc009010f9f5621583fd6dd
NS_Emulation_CT:NSCP used to be a NS_CODEC_PT, which is a translation
port on top of the IPL4asp. Such ports need to be mapped to a system
port at start-up.
However, in I4d0b7ad0ed9447a038dd3eeee2b975146d10fba0 we introduced
a new underlying component called NS_Provider. Hence, NSCP is actually
connected to that underlying component, and no longer mapped.
The corresponding change in pcu/SGSN_Components.ttcn and sgsn/SGSN_Tests.ttcn
has unfortunately been missed in the above-mentioned change. Fix that.
Change-Id: I4c085210e6021e38a38ebc052ec3d9b345638cd2
This is a step to prepare the NS_Emulation for operating on top of
Frame Relay, not just UDP/IP. We replace the NS_CodecPort (mapping to
a IPL4asp) with a newly introduced NS_Provider_CT, specifically a
NS_Provider_IPL4_CT.
This change removes any IP specific bits from NS_Emulation and moves
it into the newly-created NS_ProvideR_IPL4.
Change-Id: I4d0b7ad0ed9447a038dd3eeee2b975146d10fba0
This in turn means Osmocom_Gb_Types doesn't need to depend on
GSM_RR_Types anymore, which is particularly ugly as the latter
now depends on RLCMAC_*, creating a long chain of dependencies.
Change-Id: I8c8da7709695ff0023f71b3999291e2515b22e46
Let's test whether paging is triggered after T3314 expiration, as well
as suspend and explicit and implicit resume work as expected
Change-Id: I83b7a453958e30dfc727ba3140168217c209833f
Related: OS#4616
In some scenarios we do not expect a PDU from GTP to show up on
the Gb side. Let's add support for this.
Change-Id: Ia9fde1d433657c920ee1ec4d41004f4544ceb346
Related: OS#4616
So far, the ConnHdlr components were only able to exchange BSSGP PDUs
on the PTP BVC, but not on the SIGNALING BVC. For this, we need to
actually connect to the BSSGP_SP_SIG that BSSGP_Emulation provides.
Change-Id: I4482a24e4808ac2fe04401224f628606d8207416
Related: OS#4616
RLCMAC blocks have a lot of fields and we will potentially require lots
of different templates, as well as functions to handle related structs.
Change-Id: I9c6597178168aa3848b21930f33be698dd2ce545
All the records related to Mobile Identity IE (see 3GPP TS 24.008,
section 10.5.1.4) are defined in [1], so there is no real need to
dumplicate them. Moreover, most of the related templates in
library/L3_Templates.ttcn are based on these records.
[1] titan.ProtocolModules.MobileL3_v13.4.0/src/MobileL3_CommonIE_Types.ttcn
Change-Id: I27c2743c59db770d6f7e9447dc8c1f539b228ced
We don't want to pass the test or return from this function before
receiving a RAU accept. With Iu we expect a Security Mode
Command/Complete before the routing area is updated, but we do want to
wait for the actual RAU Accept or fail when receiving a RAU Reject.
Change-Id: Id89e2c6dae8cbdb5e8dee1c92960dc3346590a95
Related: OS#3727
Calling this function with Iu RAN (ran_index > 2) does not work because
BSSGP_PROC[ran_index] doesn't exist.
Change-Id: Ieef654e3886759a40763ece3903de9127ba8d9c6
Related: OS#3727
The scenario in this test triggers a crash in osmo-sgsn fixed by
osmo-sgsn.git I64fa5cf1b427d3abb99e553e584897261a827ce6.
With that osmo-sgsn patch applied, the process doesn't crash anymore but
the test still fails due to an XID message being sent with a new
yet-not-seen-by-ttcn3 TLLI and as a result TTCN3 BSSGP_Emulation fails:
BSSGP_Emulation.ttcn:390 setverdict(fail): none -> fail reason: "Couldn't find Component for TLLI 'FE791757'O", new component reason: "Couldn't find Component for TLLI 'FE791757'O"
Other than that, the test runs fine. It still needs to be clarified
whether the new TLLI sent by osmo-sgsn is expected and test needs to be
fixed, or whether it's an sgsn bug.
Related: OS#3957, OS#4245
Change-Id: Id5554a91a8bda712e282c5a3e9e30fb0ca1ec0e8
Some stuff was wrong and some was missing after new features being
implemented in tests over time.
Change-Id: I7a279592a68ffc76408a8e728e76151534265cc0
Packets sent by f_gmm_attach() might take too long via layers to reach
the SGSN. The GMM_ATTACH_COMPL in f_gmm_attach() took soo long,
that it arrived after packets, which has been sent after calling f_gmm_attach().
This behaviour was found in TC hlr_location_cancel_request_update().
Change-Id: I0209c86e16fe616284d753e9e003f2e4d9ec9ea5
The SGSN will send a CommonId after it has sent SecurityModeComplete
to support paging coordination in the RNC.
Change-Id: I82a05cab2aeea25eec699f726b2f5c4b3eef7560
Since bssgp also been used for Iu connection,
rename the variable to ran_index.
Be consistent and use the same variable name everywhere.
Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8
Since gb_idx also been used for Iu connection,
rename the variable to ran_index.
Be consistent and use the same variable name everywhere.
Change-Id: Ia119feee6a442c76dc337e75c07f4a385cd5e1df
Since gb_index also been used for Iu connection,
rename the variable to ran_index.
Be consistent and use the same variable name everywhere.
Change-Id: I06b0c6184daeb886e8bd28d50bf18909d9244dc6
MS <-> SGSN: Successful Attach over Geran
MS <-> SGSN: Routing Area Update over Iu
The test case will crash the SGSN and is not included
in the default run.
Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef
MS <-> SGSN: Attach over Iu
MS <-> SGSN: Routing Area Update over Geran
The tess case will crash the SGSN and is not included
in the default run.
Change-Id: Ie043639638a640a2041324fc910964385a41c77d
f_send_l3() replaces f_send_l3_gmm_llc() to have one function
which sends L3 messages for Iu and Gb at the same time.
This allows to share most of the tests between Iu & Gb.
Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433
Otherwise TTCN3 errors sproadically during shutdown:
""""
SCCP_Emulation.ttcn:5661 Receive operation on port SCCP_SP_PORT succeeded, message from SGSN_Test_0-RAN(414)
...
SCCP_Emulation.ttcn:5293 Sent on MTP3_SCCP_PORT to SGSN_Test_0-M3UA(415) @SCCP_Types.ASP_MTP3_TRANSFERreq_sccp
SCCP_Emulation.ttcn:5293 Outgoing message was mapped to @MTP3asp_Types.ASP_MTP3_TRANSFERreq
SCCP_Emulation.ttcn:5293 Dynamic test case error: Sending data on the connection of port MTP3_SCCP_PORT to 415:MTP3_SP_PORT failed. (Broken pipe)
SCCP_Emulation.ttcn:5293 setverdict(error): none -> error
"""
Similar shutdown is already done in f_cleanup() of SCCP_Tests.ttcn.
Related: OS#4176
Change-Id: I471eb851e5d41de5d8d974ec81be27024d7d313a
Make the decoding level (BSSGP, LLC, SNDCP, L3) configurable, so the
existing PCU tests, that expect messages only decoded to the BSSGP
level, can pass again. Move the SNDCP decoding in f_dec_bssgp above the
L3 decoding, so f_dec_bssgp goes through the layers in the reverse order
of f_send_bssgp_dec.
I have verified, that all testsuites using the BSSGP Emulation (SGSN,
PCU, PCU-SNS) are still working with this patch.
Related: OS#4180
Fixes: 955aa94504 ("BSSGP_Emulation: Abandon "BssgpDecoded" intermediate structure")
Change-Id: I8f76385528c1de98c557cee451c0e0dfd182b605
Base on docker-playground.git's ttcn3-sgsn-test/*.cfg files, change IPs
to 127.0.0.* (keep last octet), log to stderr. The reasoning behind the
IP change is, that using almost the same IP as in the docker configs
makes it easier to compare the configs.
Change-Id: I15b5a943e9c665dfd4eb6b30bff84afc8adeb4a2
This test verifies sgsn drops all GGSN related pdp context when that
GGSN stops answering echo requests.
Change-Id: Ic31748924e7bf05ea2ccf2b1be0c460eefed5782
osmo-sgsn sends 2 DeletePdpCtxReq on gtp, Confirmation received on first
one frees cbp associatd to pdp and the second one accesses the already
freed cbp.
Related: OS#3956
Change-Id: Ie1cc9fdf91b18b0b7fb3d5fb33b6dcf6f46a393f
It originally seemed like a great idea to define a custom record
which aggregates the decoded BSSGP, LLC, L3 and/or SNDCP and passes
it to the individual ConnHdlr. However, particularly with testcase
interoperability for IuPS in mind, this seems bogus. Also, we
never really took advantage of this.
Let's now decode as far as we can decode any PDU, and then send the
decoded version of that PDU via the ports between the BSSGP_Emulation
and the ConnHdlr component.
Change-Id: I8c1082880902dd9a04935945f0293895f4d0c53a
Base on the docker-playground.git's config, but with 127.0.0.*.
All tests passing in jenkins are passing locally with this config.
Change-Id: I6da479e35fbe9f861a8bd8e578badcd1563e740f