The testcase TC_paging_counter is missing in the control section.
This means that if it is not started explicitly, it is not executed.
- Add TC_paging_counter to control section
Change-Id: Ie37b8cb554ea1db64a8d7927eb300d368ce67137
It's a quite frequent requirement in encoding IMSI/BCD numbers, so
let's move it to the more generic GSM_Types module.
Change-Id: I6fb8d9a6f37c990f6901fb48b15312a157954fda
'distclean' removes the actual git clones, while 'clean' now simply
ensures that there are no local changes between to index.
Change-Id: I5de68644b397ff7fbca0595a8900b41508d59bde
In the past, we sometimes had to switch a repository URL (e.g. from
official git repo ot osmocom fork with patches/fixes). The existing
Makefile didn't pick this up during "make update". Let's use "git
remote set-url" to always update the remote URL before doing the "git
fetch".
Change-Id: I1d699ad5087f438e64b84c2e5c6e7320cb9457f6
There's a time delay between packets are sent through the system and
tcpdump reads, buffers and stores them into the pcap file. We need to
give it more time to process everything before killing it, otherwise
last (or all) packets from the test are not captured.
Change-Id: I240d8f1bdb2ca6ad353e60ef15937dc2bd4cbebd
We generate some fake transit and we wait until we catch tcpdump already
saved some packet into the pcap file, this way making sure it is already
recording before starting the test.
The -U flag (--packet-buffered) is added to increase the chances to
sleep less time waiting for stuff being saved into the pcap file.
According to tcpdump manual:
"""
If the -w option is specified, make the saved raw packet output ``packet-buffered''; i.e., as each packet is saved, it will
be written to the output file, rather than being written only when the output buffer fills.
"""
Change-Id: I91cfd84ff5356857a13af1901abfe2204a93f76d
It was spotted in the jenkins artficats that pcap files for some tests
are missing. It is probably due to the fact that tcpdump is started in
the background and immediately after the test is started. Some tests are
really quick, which means they are executing before tcpdump starts
creating the file and recording.
While still having the file created doesn't mean tcpdump is already
recording, we at least ensure the file is created and we can see it's
empty at the end. Running this patch in my PC indeed shows that usually
the pcap file is not created immediately after and it waits for 1 second
to continue.
The hack to make sure tcpdump is already recording before starting the
test is to create some traffic (ie ping 127.0.0.1) and then check the
following condition: $(tcpdump -r file.pcap | wc -l) -gt 0
Change-Id: I17a456a27c8e33571f333f4b7efdf61161ebb174
This can be useful in case there was an error in tcpdump, or to make
sure no packets were lost while capturing.
Change-Id: I8d7570bba3c21c017ba38d36185f6ae042967599
Channels not being closed/cleared at the end of the test is a clear
failure, so don't mark the test as inconc.
Change-Id: Ie9188111da744f0aafaac02841d36a957bfc8d86
We don't have a good way to make the BSSMAP code wait for the lower
SIGTRAN layers to be up and running. To avoid the RESET being
sent before the lower layers are up, introduce a sleep of 1s.
This is ugly, but appears to work for now. A more proper solution
is more than welcome.
Change-Id: I7a43b3e381405f3af30b3ffe04bc50e64ec66f57
Let's make sure we share common configuration between the test
suites and split the config file into a "default" part which is
used (but not copied) in the Docker images, and a "local" part
which is basically those overrides that the user (or docker image)
wants to do from the default.
Change-Id: I3db452e24e5238aa05254d903739c64d202e61db
This allows each ConnHandler to issue telnet commands to the VTY
As a side-effect, it puts some more stress on the VTY interface,
as each [parallel] DchanHdlr now has its own telnet connection.
Change-Id: Ibd726af53219d829286da80b44ea4d9fb2ffdf3d
We introduce a procedure by which any DchanHandler can globally
disable all receiving/processing of DChan related messages. This is
required in upcoming handover code, as we need to block handling
of messages such as RSL IPAC CRCX on the new Dchan before we have
processed the RR HANDOVER CMD and raised an associated expect here in
the RSL emulation code.
Change-Id: Ibef65f87d0d481accbc0e019874dd43b3f9a5dbc
Also, extend RSLEM_{register,unregister}() with an optional third
argiment, so the RSL_DchanHdlr can register 'expect' also for
that secondary BTS/port during hand-over
Change-Id: Ic22778f17dc4b93ef54837cf400ddd7d1732ae7e
The existing code generating L3 sequence numbers in MO direction
made the assumption that the L3 message inside ComplL3 would always
be MM/CM, and increment the sequence number.
However, in case of a paging response, it is actually RR, which
does *not* have L3 sequence counters. So we must make the sequence
counter increment dependant on the L3 protocol discriminator.
Change-Id: I25a5dd0c180c9acfa870984c6b122ac0c46383b3
When f_expect_chan_rel() is called after receiving the BSSMAP
RESET and DISC.ind f_expect_chan_rel() is called. The flush
parameter is not set, which means the default flush = true is
valid. This leads into an early flush of the RSL Queue and
tosses the RSL RELEASE REQUEST we expect, so the test can not
pass, even when the BSC sends the RLEASE REQUEST.
Looking further up in the code. IPA_RSL[0].clear is called,
so the Queue is flushed to get rid of unwanted messages from
the IMMEDIATE ASSIGN. There is no need to flush the queue
a second time anyway.
- Do not flush the RSL queue, set flush=false when calling
f_expect_chan_rel()
Change-Id: I2962f741e0b13dec08ac6c918d326828beb65a6a
This fixes TC_emerg_call_imsi with current osmo-msc master. The old
implementation was broken as it didn't deal with MGCP yet.
Change-Id: Ic35797931387b078205269365421ad730db7af15
A problem with the parameter ordering inside the mgcp-client
(osmo-mgw) prevented TTCN3 from accepting the SDP data that
was generated by the IUT. The problem is now fixed and the
hack can be removed.
- remove hack
Change-Id: Ic37f78c2676e7c98144f10e9f3b55bc9651a4f7c
Related: OS#2818
The representation of the chiphering algorithm is different bssmap
and RSL. BSSMAP uses a bitmask and RSL a numeric value. For A50 and
A51 the values match up by coincidence, from A5/2 onwards they differ.
- Add a function to convert the BSSMAP representation to the RSL
representation and use the converted value to set up the temlate
for the expected RSL message
Change-Id: I274c1ff0b5636c48411f994f918e783b468cb3be
The altstep guard statements are to restrictive so they do not
match on an expected assignment failure anymore.
- Add a new altstep for expected assignment failures.
Change-Id: I78b839f0bcb7e2da61bff0add3abc452bfea40a2
The name of the parameters is a little misleading, since the second
parameter could just be a testname.
Change-Id: Ibe207a83c477c918a865a8a34cad7ca5d45c7eac
The MNCC Unix Domain Socket encoding uses an int here, which is
a bit odd, given that it's an ASCII / IA5 char value on the actual
GSM L3. Let's convert from/to something useful.
Change-Id: Id17ac502ca33f4962214a3d5938d0dc29ca6ec1b
- Add tests to check the behaviour on wildcarded DLCX and MDCX,
both commands not supported by the MGW and should fail.
Change-Id: I140c6d9e337cd16d6147bb582a9474cf76b5170b
The testcase TC_crcx_sdp does not clean up the connection it
created. This can cause subsequent tests to fail.
- Use f_dlcx_ok() to clean up the connection once the test
is done.
Change-Id: I4e0f5ce218fadc5debe0bbf548b69919584ab66c
The wildcarded CRCX is not tested yet.
- Add a test function that executes a single wildcarded CRCX
request
- Add a test function that exchausts all MGW resources using
wildcarded CRCX requests
Change-Id: I70cf486dc21aef19e4199289f5a5509f6927713e
The testcase for osmo-mgw hardcodes the mgw domain and also lacks
an endpoint identifier, which was deprecated recently.
- replace the hardcoded occurrences of the mgw domain name with
a constant
- add a constant for the rtpbridge endpoint identifier
- add a testcase that still uses the old method without prefix
on the endpoint identifier.
Change-Id: If4455c4cb521270b2fe24881ade9b578a5132205