Commit Graph

1119 Commits

Author SHA1 Message Date
Pau Espin 32a03ce688 pcu: Introduce ANR related tests
Related: SYS#5303
Change-Id: Ia5464affebd6d7881fe11223d2a96616e9e104a4
2021-06-14 17:46:37 +02:00
Pau Espin 3b33a6fe83 bts: Test forwarding PCUIF<->IPA/OSMO/PCU
Related: SYS#5303
Change-Id: Ib3012ce612f78e661fd46b608a0bf67e038e136f
2021-06-14 13:47:20 +02:00
Pau Espin b5c880e1af bts: Support passing PCUIF messages over IPA multiplex
Related: SYS#5303
Change-Id: I3cd0988cb654f1c5816d1c4717255a5e802d7925
2021-06-14 13:47:13 +02:00
Pau Espin 4b9513ada2 OML: Add types/templates for GetAttributesResponse
Change-Id: Iec7198cc164b6e33e708d59c3f214efb3e1ac33b
2021-06-14 13:46:52 +02:00
Alexander Couzens 2d10ee65e4 RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_weight over a different
The SGSN/PCU will use a different NSVC as the NSVC which will be changed weight'ed.

Related: OS#5036
Change-Id: I5766afaa74db30d94318312ab775e7933b9df783
2021-06-07 01:11:13 +02:00
Neels Hofmeyr 1470fc668a allow ASP_RSL_UD on MSC_ConnHdlr RSL
In BSC_Tests_VAMOS.ttcn, in f_est_and_reassign_to_secondary_lchan()
there is a missing channel release ack. By allowing ASP_RSL_UD, this rel
ack can be sent trivially.

Change-Id: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1
2021-06-05 20:24:35 +00:00
Neels Hofmeyr 9f3e6ac649 add bsc/BSC_Tests_VAMOS.ttcn
BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to
instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS
attributes.

Add tests:
TC_chan_act_to_vamos()
TC_mode_modify_to_vamos_fr()
TC_mode_modify_to_vamos_hr()
TC_assign_to_secondary_lchan_fr()
TC_assign_to_secondary_lchan_hr()
TC_vamos_multiplex_tch_f_tch_f()
TC_vamos_multiplex_tch_h_tch_h_tch_h_tch_h()

Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64
2021-06-05 20:24:35 +00:00
Neels Hofmeyr b5b7a6ea27 bsc: test TSC in various messages
In a recent osmo-bsc patch:

"allow explixit TSC Set and TSC on chan activ / modif / assignment"
c33eb8d56943b8981523754b081967e6ff5f245d
Ic665125255d7354f5499d10dda1dd866ab243d24

I accidentally changed the default behavior of the Training Sequence
Code sent to BTS and MS. So now, make sure that we verify the expected
Training Sequence Code in BSC_Tests, in:

RSL Channel Activate
RR Immediate Assignment
RR Assignment Command
RR Channel Mode Modify
RSL Mode Modify

Related: OS#5172 SYS#5315
Change-Id: Id67a949e0f61ec8123976eb8d336f04510c55c01
2021-06-05 22:14:46 +02:00
Alexander Couzens 54ebb4a27a RAW_NS: add support for an incoming SNS DELETE procedure
Change-Id: Ia682522fe583a82e16a9c8008972f660f03243f7
2021-06-05 15:49:44 +00:00
Alexander Couzens c56a3b2f12 RAW_NS: add support for an incoming SNS ADD procedure
Change-Id: I937b654d377e189ee811145474683b638153179e
2021-06-05 15:49:44 +00:00
Alexander Couzens 3f1d661551 RAW_NS: add missing idx to as_rx_alive_tx_ack
Without the index the message got send and received
via the wrong NSVC.

Change-Id: Ic5d1f4aa5e8a2373a4f46feef44e71b9688035c9
2021-06-05 15:49:44 +00:00
Vadim Yanitskiy 45749a85de library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND
The 'lqual_cb' represents the link quality in centiBels, which
can be negative.  Use 'int16_t' instead of 'uint16_t'.

Change-Id: I038eec22928d831ddbc0a2704830d5e2eab2cb6b
2021-06-04 19:57:17 +00:00
Vadim Yanitskiy 9f69953a37 library/RSL_Types: complete definition of RF RESOURCE INDICATION
Change-Id: If3eedfaea6de252b8dc3ca238f6ffd45448065d1
Related: SYS#5313, OS#1569, OS#1866
2021-06-03 17:29:44 +02:00
Neels Hofmeyr 9c3b82f5dc GSM_Types, bsc: add VAMOS cbits
Change-Id: I2d98495b8c4c9a8466f2154af9bb29124c2cb0b5
2021-05-29 21:50:11 +02:00
Alexander Couzens 99b837ad09 NS_Provider_IPL4: fix typos in comments
Change-Id: I05ccbf2eb7387bc8c1277a53591efbf503d46051
2021-05-28 16:14:28 +00:00
Neels Hofmeyr 2bef0ddb12 RSL_Types: add VAMOS chan rates and OSMO_TRAINING_SEQUENCE IE
Prepare for upcoming VAMOS tests in BSC_Tests_VAMOS.ttcn.

Change-Id: Idbe9014754eff9c8b2bff19828581bae5b36fadf
2021-05-25 23:10:58 +02:00
Eric Wild 26f4a62642 msc: add first a5/4 tests
All msc tests involving classmarks suffer from the same problem: if a
existing subscriber is reused the old classmarks will stick, since the
msc only overwrites updated parts of the cm when receiving a new cm, so
"downgrading" the existing classmark information is not possible.

This is circumvented here here by using different imsi suffixes,
the last param passed to f_start_handler.

Additionally the handler will now properly respond to cm requests
by the msc, i.e. in case the early cm is not sufficient for a5/4
because it lacks cm3, so the msc attempts once to query the cm,
hoping to get a cm3.

Related: SYS#5324
Change-Id: Idc055a006b325f58a5eafa88bc4415181b3500a2
2021-05-19 17:49:52 +00:00
Pau Espin 8c74cbbf5a sgsn: Introduce test TC_rim_eutran_to_geran
GTP_Templates.ttcn new templates use BssgpCellId, hence it depends on Osmocom_Gb_Types.ttcn.

Related: SYS#5314
Change-Id: I9dcf6ee2dc55bc6aba178eca30080233254f025e
2021-05-17 20:33:00 +00:00
Harald Welte aed9f94db4 sccp: Add TC_callingparty_ssn_only()
This test verifies that libosmo-sccp will properly respond to SCCP
traffic that only has a SSN in the CallingPartyAddress.  That situation
poses the unique challenge of how to route a response, as we lack
a GT and a PC to do the routing.

In order to support this, libosm-sccp now adds the PC into the
CallingPartyAddr when passing such messages from M3UA to SCCP. This
way the recipient can simply respond back to that address and it will
be routed on PC.

Change-Id: Ided599a922fb7f6dbbfe90f817c5419ab793f293
Related: OS#5146
2021-05-13 21:58:33 +02:00
Harald Welte 2eb30d4eb7 SCCP_Templates: Allow templates as Called/CallingPartyAddress in UDT
Change-Id: I8d9f782ed3f4e6363f5370deb73bd2694b4c5d6a
2021-05-13 21:58:33 +02:00
Pau Espin e979c40e4b msc: Verify CommonID contains LastUsedEutranPLMNId when in CSFB
Validate in test that MSC sends Last Used E-UTRAN PLLMN Id IE when call
is started by SGs (CSFB).

Related: SYS#5337
Change-Id: I161529fd9c8cacb7d17ea18660998df06bb0b575
2021-05-11 16:15:31 +02:00
Pau Espin 3768a6fc34 msc: MME emulation should send TAI during SGs LU for CSFB support
3GPP TS 23.272 sec 4.3.3:
"During the SGs location update procedure, obtaining the last used LTE
PLMN ID via TAI in SGsAP-LOCATION-UPDATE-REQUEST as specified in TS
29.118".

Related: SYS#5337
Change-Id: I7057a7c41794d62f7cbc412da3e805c1f0c69511
2021-04-28 14:24:26 +02:00
Harald Welte 95e3d9906c 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
2021-04-25 14:28:53 +02:00
Pau Espin a1f8e20bb3 GSM_RR_Types: introduce record TbfStartingTime
Change-Id: Id2e61652418571cf72ac17ca46742d9624348691
2021-04-24 14:11:33 +00:00
Alexander Couzens 619213f8ef fix typo in NS_CAUSE_PROTOCOL_ERROR_UNSPECIFIED
Change-Id: Ifbf86138f3f2e9c053c99b6f58c510d38bad4e88
2021-04-24 14:07:20 +00:00
Harald Welte c4ac9e0fe3 Initial test suite for osmo-pcap-client
Change-Id: If4a1072e75cb64f785d660e4c828c0f521d84b16
2021-04-24 12:43:48 +02:00
Pau Espin 35801c3edc bsc: Introduce test TC_srvcc_eutran_to_geran_ho_out
Related: SYS#5337
Change-Id: Id34924bbf0a5cf08b4b6f5ea56a10cef6b69c877
2021-04-20 16:19:25 +00:00
Pau Espin c08d552544 bsc: Introduce TC_srvcc_eutran_to_geran
Related: SYS#5337
Change-Id: If26cc9241b1b0eb4112f1227427008ece242bb41
2021-04-19 11:38:18 +02:00
Pau Espin ee8cec808a BSSMAP: Support setting LastUsedPLMNId in CommonId msg
Related: SYS#5337
Change-Id: I1b7c7fbe010033e726dde3c68152543a63760ffd
2021-04-19 11:38:18 +02:00
Pau Espin d5ba6cef4f BSSMAP: Update ts_BSSAP_BSSMAP to contain new fields
Depends: titan.ProtocolModules.BSSMAP Change-Id I5103ceb2656a41925a089af5492d0722ca87a5c7
Related: SYS#5337
Change-Id: I9cc4d161fa7083e30d3bf8f10e959d1fe7b86032
2021-04-19 11:34:57 +02:00
Pau Espin 36bd4fa06a Remove CSFB references from RR Chan Release CellSelectionIndicator IE
The IE contains a cell list for the MS to register after the channel
is released. The IE is used in CSFB, but not only in that case: it's
also used in SRVCC.
Hence let's remove the CSFB references since the scope is more wide.

Related: SYS#5337
Change-Id: Ia1eeda98fc21aa92bb2e41b5e4761c5cf6516a7e
2021-04-19 08:49:36 +00:00
Harald Welte a4abe20d62 NS_Emulation: Implement minimal PCU-side SNS functionality
Using this code, we can run a TTCN3 test using NS_Emulation in
IP-SNS mode.  It only covers the most basic cases but works for simple
scenarios.

Change-Id: Id1fb0fcb7a497a9614e82beb8a2c64b5af88150d
2021-04-01 21:27:33 +02:00
Harald Welte 424ec5211c SGSN: Some initial SNS tests for IP-SNS in OsmoSGSN
Change-Id: I821d998704756fa30278f41d0371051db9d3fc58
2021-04-01 21:27:33 +02:00
Harald Welte b5688f26ed gbproxy: Verify BVC FSM state during bring-up
This adds IUT fsm state instrospection via the CTRL interface.

docker-playground will need to set "mp_gbproxy_ip" in its configs.

Change-Id: I272e43b9be8ba53d8a815e8ab099c939f63413a7
2021-04-01 18:25:31 +02:00
Harald Welte 8396096c1c CTRL_Adapter: Add function to obtain FSM instance state
This can be useful to verify expectations about the state of FSMs
in the IUT.

Change-Id: I33afc2e73be06e23147b5ac0b0fd3b9003935444
2021-04-01 18:25:31 +02:00
Harald Welte c771bfbe36 NS_Emulation: Use endpoint list for SNS-CONFIG payload
We used to have no distinction between endpoints and NSVCs, meaning
that we could not have more than one NSVC per endpoint, which in turn
meant it was ok to iterate the list of NSVCs for generating the
endpoint lists in the SNS-CONFIG payload.

With Change-Id I05a50b966b8ce93497372ca403d40fd383dd35f7 we remove that
constraint and introduce an actual local IP endpoint list.  Let's use
that one for SNS-CONFIG.

Change-Id: Ifa91510430a017fa29592a3d5fa2a3697d29c9da
2021-03-29 22:58:49 +02:00
Harald Welte ad32071825 NS_Emulation: Use the "endpoint" mode of NS_Provider_IPL4
Thew newly-introduced "endpoint" mode of NS_Provider_IPL4 allows us
to have multiple NS-VC within one endpoint.  NS_CT takes care of
creating the NS_Provider_IPL4 components on-the-fly, and then
associating the per-NSVC components with it.

For the user nothing changes, other than that he can now configure
multiple NSVCs with identical local IP + port, which was not possible
before.

Change-Id: Id7360f17e528706e8145d33a14550789d50cded9
2021-03-29 22:58:46 +02:00
Harald Welte 4bef0ddf9b NS_Provider_IPL4: Implement new "endpoint" mode
This adds a new, optional "endpoint" mode to the IPL4 provider,
where we remove the constraint of "one NSVC per provider", which
in turn is a pre-requirement for real IP-SNS support with full
mesh of NS-VCs.

This code doesn't introduce any users of this "endpoint" mode yet.

Change-Id: I05a50b966b8ce93497372ca403d40fd383dd35f7
2021-03-29 22:58:26 +02:00
Harald Welte 6a414c8001 RAW_NS: Ignore NS-UNITDATA while waiting for NS-ALIVE in oneshot mode
Change-Id: Id2738b055f860b4eee57d445944e0861b34151be
2021-03-24 00:57:29 +01:00
Vadim Yanitskiy 204fe621ed library/PCUIF_Types: use PADDING attribute for 'PCUIF_Message'
PCUIFv9 compatibility has been dropped in [1], so now we can tell
TITAN's RAW codec what kind of padding to expect in received
messages and to append to encoded messages.  This eliminates
thousands of warnings about unhandled tail octets.

Change-Id: Id5ab587f7984a91f3603efc5d427aa4cb4fa6757
Related: [1] Ia9f366ca1fdad700a90ca3367e43523f7bac39a1
Related: OS#5083
2021-03-23 13:41:09 +00:00
Vadim Yanitskiy 1da1fefb73 library/PCUIF_Types: get rid of version 9 compatibility glue
Change-Id: Ia9f366ca1fdad700a90ca3367e43523f7bac39a1
Related: OS#5083
2021-03-23 13:41:09 +00:00
Harald Welte 22deecc8ea RAW_NS: don't expect hard-coded number of NSVC/endpoints in SNS-SIZE
Change-Id: I5d567582db18be0f875e8e2ba380a04a1a838350
2021-03-23 13:14:21 +01:00
Alexander Couzens d5ac510648 ns: SNS: add bss change weight testcase
Do a normal SNS configuration. Afterwards the BSS will change
the weights of the endpoints

Change-Id: I691b9d26bf3eb8fa65aa02eba3efd0fd3869fc2a
2021-03-20 16:41:01 +01:00
Pau Espin 873686f029 pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit
PCUIF will be updated to always send DATA.ind for each expected block FN
on any activated PDCH slot, irrespective of whether valid data was
received or not, similarly to what's done already for TRXDv1 NOPE.ind in
TRXD and TCH channels in OsmoBTS. The aim at this change is to be able to
track TDMA clock in an accurate way without hops, and hence be able to
detect on time whether expected UL blocks (SF, RRBP poll) didn't arrive.

Older osmo-pcu versions can cope well with this change, they will simply
print an error upon ach data_len=0 messages received and submit a GSMTAP
block, then discard it, so tests still pass.
Nevertheless, a new module parameter is added to disable this new
behavior in order to avoid logs and pcap files ending up clogged with
uneeded information until a new osmo-pcu release appears.

Related: OS#5020
Change-Id: Ib4f97a9bcfa68230945effeb6412218faa64ec78
2021-03-12 11:44:42 +00:00
Pau Espin 76de166a56 PCUIF: Fix naming of counters in InfoInd
Change-Id: Ieb26020e0f18169f19322963e23358b6ca254545
2021-03-01 17:42:45 +01:00
Pau Espin eef4607203 BSSGP+pcu: Get rid of mp_tolerate_bvc_reset_cellid
Since we have new releases in -latest, we don't need this param since
it's never set to true.

Related: OS~5042
Change-Id: Ic496407fd2139b3a5221c30f1798797320cdee24
2021-02-26 13:39:45 +01:00
Pau Espin f0b7d4f309 RSL_Emulation: Get rid of module param mp_rslem_patch_ipa_cid
This param is not needed anymore since new releases used in -latest don't
need to disable it.

Change-Id: I39e9c1986ea682d54dcb22b31798ca91f1677949
Related: OS#5042
2021-02-26 13:10:16 +01:00
Pau Espin 4858184bd4 StatsD_Checker: Enable by default
It was previously disabled by default in order to avoid test breakage
with older versions of osmocom projects not supporting them. Since we
just did a new release, all -latest contian now master which should work
fine.

Don't remove the moduleparam yet in order to avoid breakage with some
cfg files in docker-playground.git still setting it to true.

Related: OS#5042
Change-Id: I4e2049c109986906d3c985ca2282174b1abff581
2021-02-26 12:42:35 +01:00
Harald Welte 08332307ea cbc: Initial set of CBC tess for osmo-cbc
osmo-cbc is the Osmocom cell broadcast centre.  So far, there was no
TTCN-3 test suite.  Let's change that.

Change-Id: I38286e8a3dd0f39bd25f631dcbb3ff4f8d4c221f
2021-02-22 10:41:29 +00:00
Harald Welte 205b537f6f HTTP_Adapter: split into f_http_tx_request() / f_http_rx_response()
There are some use cases in which we don't want a blocking wait for the
full HTTP request to complete.  Let's split it up in two parts, and
make the existing f_http_transact() a wrapper around them.

Also, enable the generation of the Connect_result primitive to detect
connection failures.

Change-Id: I5c7575c0b58c3606d25d8f8cfccd47cfb7a8c400
2021-02-22 10:41:29 +00:00