Extend BSC_ConnHdlr with new check IMEI related parameters. Add tests
for check IMEI and check IMEI early for multiple auth variations, as
well as variants where the HLR would respond with NOK or ERR.
Note that we can safely set "check-imei-rqd 0" in f_init(), because the
latest OsmoMSC version already suppors this VTY command.
Two tests do not always pass, sometimes the RAN connection breaks
before the test finishes (TC_lu_imsi_auth_tmsi_check_imei_err and
TC_lu_imsi_auth_tmsi_check_imei_nack). I have added them as expected
errors in the expected-results.xml.
Related: OS#2542
Change-Id: Ic34bb8dc8547cafb5a53df03884554dd4f72956d
Make sure that the RR is released only after the MSC has sent the Clear Command:
- first expect a Clear Request from osmo-bsc and return a Clear Command,
- only then accept RR release messages.
See 3GPP TS 48.008 3.1.5.3.3 "Abnormal Conditions": "The terrestrial resource
in the old BSS shall remain assigned until a CLEAR COMMAND message is received
from the MSC"
osmo-bsc already complies, the test should continue to pass.
Change-Id: Iba05336d3c4af8a1c57cdc828dae464eae3510b9
This test case reproduces a real-world PCO capture including a broken
PAP AuthenticationReq. It triggers some weird behavior in OsmoGGSN
1.3.0 where it would send duplicate IPCP repsonses and no PAP response.
Change-Id: Ie89d984ed9e26fbbb2e4914bdb8623446d462a4c
Related: OS#3914
BSC waits to receive a ClearCommand in response to its ClearRequest
before it starts tearing down the MGCP conn on the MSC-side of the MGW
endpoint.
As a result, expected DLCX was not being sent which made test fail.
However, currently test still fails because current osmo-bsc master
sends a repeated ClearRequest message in this scenario.
Related: OS#4078
Change-Id: Ic398896147a0b6b04ffeae56a23d25783b2b17fe
Fix ttcn3-mgw-latest by not running "conn-timeout 0" during f_init_vty
at the start of every test case. The latest osmo-mgw release does not
have that command yet.
Change-Id: I8bbf15baa45679d5812a5a9184520ef9b9e73bba
* MGCP-over-IPA handling in MSC_ConnectionHandler means we need to use
the new MGCP_CLIENT_MULTI port since we'll be managing MGCP messages
from 2 different UDP connections, and we need to be able to route
answers correctly. As a result, parameter multi_conn_mode is enabled for
SCCPlite and all code adapted to use that port in that type of scenario.
* iDuring calls when on SCCPlite, send a full (all-required-params-in)
CRCX through the MGCP-over-IPA connection towards the BSC in order to
emulate the MSC, and expect the correct answer back. This way we test
BSC funcionality to forward MGCP messages coming from MSC works as
expected.
Related: OS#2536
Depends: osmo-bsc.git I38ad8fa645c08900e0e1f1b4b96136bc6d96b3ab
Change-Id: I31fed700772dd0b063f913b1e1639fd428c46e7d
* Some scenarios like MGW BSC-attached in SCCPlite require handling of
2 MGCP-over-UDP sockets in MGCP Emulation: 1 for regular
libosmomgcp-client from osmo-bsc and another one from the forward socket
from osmo-bsc (of MGCP-over-IPA messages communicated with MSC).
* Old port is kept for backward compatibility with other tests and
enabled by default. It's also interesting to keep it because it makes
tests without special needs (2 sockets) to use the old port/API which
produces simpler code to read and mantain.
* Users of the new port have to enable multi_conn_mode parameter and
expect to interact with port MGCP_CLIENT_MULTI instead of MGCP_CLIENT,
which will offer messages containing information about the UDP
connection being used by that message.
Change-Id: Ic0ba8c5cde068c07671512a83095d83e28b86746
Move logic handling CRCX and MDCX to function, so they can be reused for
other ports in forthcoming commits.
Change-Id: I07344657c5d1465a8e0c278adb76150ca7f449ba
The license of the build or execution scripts doesn't affect the license
of the actual program, and we want to explicitly state that these scripts may
be used in any kind of context.
Change-Id: I553925cd88b05903aab52ae1afb093aa9ab9d035
Some of our SMS related test cases are failing. The problem is
that SMS related RAN messages shall be sent on SAPI 3, as per
GSM TS 04.11, section 2.3, while they actually being sent on
SAPI 0.
For the messages coming from the TCs towards OsmoMSC over RANAP,
we need to convert from DLCI to SAPI in f_xmit_raw_l3(). OsmoMSC
also needs to be patched, because it seems to ignore SAPI IE.
Change-Id: I6199fd5f26774fb1ec419bc1ef9e1caeca3a0d35
Instead of having two similar variants of RANAP_DirectTransfer:
- t(s|r)_RANAP_DirectTransfer, and
- t(s|r)_RANAP_DirectTransferSAPI,
let's make the first one more flexible, and drop the last one.
This is achieved by introducing two supplementary functions:
- f_gen_ts_dt_ies(), and
- f_gen_tr_dt_ies,
which dynamically compose DirectTransfer.protocolIEs.
Change-Id: I7333d08c4d5a72159bfbd50fe8e7b1084cd61b9e
* TTCN3 code was not ACKing the DLCXs, and as a result retransmitted
DLCX BSC->MGW were being counted as 2nd DLCX.
* In SCCPLite, only 1 DLCX is expected BSC->MGW, because the BSC only
takes care of the BTS-side conn in the endpoint, while MSC takes care of
the MSC-side conn (which is not sent in this case because doesn't really
involved the BSC other than forwarding the message, which will already
be tested in other places in forthcoming commits).
* Getting rid of retransmissions by ACKing the DLCX, it unconvers a bug
in TC_ho_out_fail_no_ho_detect when on AoIP, where BSC only deletes one
of the 2 previously created connections.
* Code is refactored into the function because its logic is made more
complex, and may be even more complex in forthcoming commits when we add
MGCP-over-IPA forwarding verification support.
Change-Id: Ia1d0db9af073760105cc8509e228e317dbea2268
osmo-bts does currently not use the signaled lchan BS power level, nor
does it update the BS power IE returned in the measurement results.
Change-Id: If91fb57b4070c60bb277d0b55d69ee3dde47ee48
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
Test all possible code paths where a subscriber on demand can be
created:
* Check IMEI early
* Location Update
* Send Auth Info
Related: OS#2542
Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e
The new test case is aimed to verify that OsmoMSC properly does
reject (call independent) SS/USSD messages for non-existing
transactions.
Change-Id: I231142c88b0d3308039c797aa2bccadd79dce18b
Related: OS#2931
This test case is aimed to verify HLR-/EUSE-initiated abort of an
active SS/USSD session according to the following scenario:
1. (HLR/EUSE -> MSC) GSUP_PROC_SS_REQ with random facility;
2. Network-originated connection establishment:
2.a. (MSC -> BSC -> MS) Paging Request;
2.b. ...
2.c. (MS -> BSC -> MSC) Paging Response;
3. (MSC -> MS) GSM 04.80 REGISTER with random facility;
4. (HLR/EUSE -> MSC) GSUP_PROC_SS_ERR (abort);
5. (MSC -> MS) GSM 04.80 RELEASE COMPLETE;
6. Connection release.
As can be seen, HLR/EUSE initiates the session abort right after
the GSM 04.80 REGISTER message is delivered to the MS, and just
before the MS sends anything back in response.
Change-Id: I5586a88136c936441a842f49248824680603672e
Related: OS#2931
The idea of this test case is to check that OsmoMSC does inform
HLR/EUSE that a subscriber did not respond to Paging Request in
case of network-originated SS/USSD.
Both f_expect_gsup_msg() and f_expect_dtap_msg() were extended
with optional timeout value, as we need to wait longer than
2.0 seconds (default). Let's stick to 10.0 seconds.
Change-Id: I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0
Related: OS#2931
The idea of this test case is to check that OsmoMSC properly
rejects GSUP PROC_SS messages for unknown sessions.
As it turned out, OsmoMSC doesn't send GSUP PROC_SS ERROR
as expected. The fix has been submitted.
Change-Id: Ie267ee174c5061cd3fc102a2824abe03d73f3aac
Related: OS#2931
The idea of this test case is to check that OsmoMSC properly
rejects SS/USSD requests for unknown subscribers.
Running this test case against the current OsmoMSC helped
to discover several problems:
- OsmoMSC doesn't print anything in such cases;
- IMSI in the response error message is empty;
- both session state and ID IEs are omited;
which are going to be fixed soon.
Change-Id: Id35cd3ec15d1bab15260312d7bbb41e2d10349fe
Related: OS#2931
Both ts_GSUP_PROC_SS_ERR() and tr_GSUP_PROC_SS_ERR() templates
used to compose the set of GSUP IEs manually, while similar ones
were using both f_gen_ts_ss_ies() and f_gen_tr_ss_ies().
This led to the following problems:
- tr_GSUP_PROC_SS_ERR was not tolerant to omitted
message class IE, which was recently introduced;
- code duplication.
Let's modify the both functions in order to accept an optional
Cause IE value, which is omitted by default, and use them in
the both templates.
Change-Id: I5cd6d2bc754bcedd1e721b3bd95ada9cdd44bcf0
It's way more cleaner when you see:
Timeout waiting for L1CTL_RACH_CONF
instead of:
Timeout in RACH.
Change-Id: I25e8230c2e4b29b2583bf8954d0dedaa18e5d6ae
It checks location-state TRAP is forwaded correctly in BSC-NAT from BSC
towards locally connected CTRL client, with variable names updated to
contain BSC/BTS indexes.
It also verifies commands can be applied (SET) in inverse direction.
Change-Id: If28aba011a1903788cacbc10c0b62954925d4b1f