Commit Graph

1955 Commits

Author SHA1 Message Date
Vadim Yanitskiy e54102cc8d library/IPA_Types: WIP codec for IPA UnitID (site/bts/trx)
Change-Id: I68eb0d9e28bbf5d2d8ffe916aae5a66a0fdb9bd0
2020-05-25 23:37:00 +07:00
Vadim Yanitskiy efc9413afc library/RSL_Emulation: fix comments near f_cid_{create,delete}_cnr()
Change-Id: I0fde6ea9c7e549d9cf9f6ce2a8e4e702df313b27
2020-05-25 22:14:04 +07:00
Vadim Yanitskiy a2c12c9c4e library/RSL_Emulation: use existing tr_ASP_RSL_UD template
Change-Id: I4c4a98458cfa33512db661b5435f484a38e2ef4f
2020-05-25 22:14:04 +07:00
Vadim Yanitskiy 493abe7ec6 BTS: use existing templates for ASP_RSL_Unitdata
Change-Id: I8d7b3f8b019964ece9a3187f8232d8d23b2a53a5
2020-05-25 22:14:04 +07:00
Vadim Yanitskiy ca5c520842 BSC: use existing templates for ASP_RSL_Unitdata
Change-Id: I3243850d3ceedcd89ab5be20ff4f444cd39c9d6e
2020-05-25 22:14:04 +07:00
Vadim Yanitskiy 9b4e356886 library/IPA_Emulation: assume TRX#0 in ASP_RSL_Unitdata templates
Change-Id: I93297680a2644516870222c2bb8eee03c6b575a9
2020-05-25 22:14:04 +07:00
Vadim Yanitskiy 6b4856dd17 library/IPA_Emulation: cosmetic: fix template restrictions
Change-Id: I375d1b50491ff0c848088277a86dc061be0a943b
2020-05-25 22:14:04 +07:00
Vadim Yanitskiy 44f0c48a3e library/IPA_Types: cosmetic: s/IPAC_IDTAG_UNIT/IPAC_IDTAG_UNITID/g
Change-Id: Iec9cbbea9d38813f0cd3b98fb6b252111d150220
2020-05-25 20:04:04 +07:00
Vadim Yanitskiy c4324ffb64 PCU: introduce TC_egprs_pkt_chan_req_reject_exhaustion
Send 7 RACH indications to the IUT with EGPRS Packet Channel Request.
Since we have only one timeslot (and USF value '111'B is reserved),
the 8-th indication should be properly rejected by the IUT.

Change-Id: Ie6e5fc68e1591c57e21541ba16fbdcd3fe477ac7
Related: OS#1548
2020-05-22 22:00:34 +07:00
Vadim Yanitskiy 7e06c25ed3 PCU: introduce TC_egprs_pkt_chan_req_reject_emergency
At the moment, the IUT does not support any emergency services.
Make sure that EGPRS Packet Channel Request for an emergency call
is properly rejected (RR Immediate Assignment Reject).

Note that at the time of writing this test, the IUT does not
handle EGPRS Packet Channel Request properly, so it fails.

Change-Id: I63d989e89e6235a631e024c2810a3a4b0de56ccf
Related: OS#1548
2020-05-22 20:51:29 +07:00
Vadim Yanitskiy 4f56d329b0 PCU: introduce TC_egprs_pkt_chan_req_reject_content
The purpose of this test case is to verify the contents of RR
Immediate Assignment Reject message (and its IAR Rest Octets)
sent in response to EGPRS Packet Channel Request (11 bit RA).

To provoke the reject message, test case crafts an incorrect
EGPRS Packet Channel Request message ('111111xxxxx'B).

Note that at the time of writing this test, the IUT does not
handle EGPRS Packet Channel Request properly, so it fails.

Change-Id: I4bfd5621085d63896e2e9b70355524cf4285036a
Related: OS#1548
2020-05-22 20:34:42 +07:00
Vadim Yanitskiy 16e24aa4e7 library/GSM_RR_Types: add receive templates for IMM ASS Reject
Change-Id: Icece9245f4a85dcf59021a76d51d419cf1c13990
2020-05-22 20:14:35 +07:00
Vadim Yanitskiy 7ef121d2d9 library/GSM_RR_Types: add IAR Rest Octets definition
See 3GPP TS 44.018, section 10.5.2.17 "IAR Rest Octets".

Change-Id: Ib1f16b310d6ca94f19a1700c78cb37e8b35ac570
2020-05-22 03:24:34 +07:00
Vadim Yanitskiy c3cebd31d9 library/GSM_RR_Types: fix definition of FeatureIndicator
Change-Id: I06ad58f25aa97bf13de87127e7e2c6237a90557e
2020-05-22 02:43:22 +07:00
Vadim Yanitskiy aa94d32fa2 ttcn3-tcpdump-stop.sh: fix echo: add -e to enable colors
This change enables interpretation of backslash escapes for echo,
so the test case execution summary is always printed in color.

Change-Id: I0cc77b4de764c7afd6416512a181c4c1610ce369
2020-05-21 20:36:37 +07:00
Pau Espin 984d09fb2f library/RLCMAC_CSN1_Types: Extend support for PacketDlAssignment
Change-Id: I5788d9fffe768bb8ebbb3fc2d93ebf014648e9bf
2020-05-20 10:46:14 +00:00
Neels Hofmeyr b05d16fe8e compare_results.py: use ansi colors
Change-Id: I2cfabc1364c53e6ee18b9471dcd7c681407d0473
2020-05-19 19:25:35 +00:00
Neels Hofmeyr 6a99bf175c compare-results.py: use python3, python is no longer available in our build images
Change-Id: I268980c8a2b0a4e826c0c488ce6315462c01cabb
2020-05-19 19:25:35 +00:00
Neels Hofmeyr a4d2100431 update expected results
Change-Id: I37014274ee97f09985c31966e7cc9122fe11a856
2020-05-19 19:25:35 +00:00
Pau Espin adbbe1e28e pcu: Expect UL ACK/NACK after all UL data is transmitted
This is needed since osmo-pcu.git
I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1, where a bug was fixed in
which osmo-pcu was not sending UL ACK/NACK under some conditions.

Change-Id: I1a58b3984a96b432b2cb5300fc8a4261133a4f69
2020-05-19 19:21:29 +00:00
Pau Espin 692222cb99 Add initial support for Packet Uplink Ack/nack EGPRS Struct
Some stuff like EGPRS Ack/Nack description is still not implemented, but
it's enouh for now to be able to match against this kind of ACK blocks.

Change-Id: I8066fba0e71911f0c6344c1540a501f1853daa7f
2020-05-19 19:21:29 +00:00
Pau Espin aedc51186b Move all GPRS helper function to its own file and component
This is a first step towards refactoring of all functions to use MS and
Ul/DlTBF objects containing state.

Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314
2020-05-19 19:21:29 +00:00
Pau Espin 0232504843 Use osmocom fork of TELNETasp to fix compilation error spotted by gcc 10.1.0
Change-Id: I45beacb3a3141531e2552588147e3741c8637f4e
2020-05-19 19:21:29 +00:00
Vadim Yanitskiy c9c9e2962f BTS: move ASP_IPA_EVENT_UP handling to f_init_rsl()
Change-Id: I2479ce67426810d2789dda885bdbbe82b5d5282a
2020-05-18 23:45:28 +07:00
Vadim Yanitskiy a2afacc905 library/IPA: use tr_ASP_IPA_EV instead of inline templates
This way we can easily add new parameters to ASP_IPA_Event.

Change-Id: Icc37286fcb4d43836d56a26424ecb9dcba58d1f1
2020-05-18 21:16:35 +07:00
Vadim Yanitskiy 61564be045 library/IPA: split t_ASP_IPA_EVT_UD into send / receive templates
Change-Id: Ib5494bff3f9aa0ac396b729c326e7b4a64c5a5dd
2020-05-18 20:47:14 +07:00
Vadim Yanitskiy 8701b273dd library/IPA: rename ASP_IPA_EventUpDown to ASP_IPA_EventType
The old name was a bit confusing, because this enumerated type
also contains ASP_IPA_EVENT_ID_ACK, among with UP/DOWN events.

Change-Id: I8f73a64de40d1c8e9b7f43f538d6b59dcede065f
2020-05-18 20:37:20 +07:00
Pau Espin a416cb8afe Introduce test TC_ul_intermediate_retrans
Test Verifies that if PCU doesn't get one of the intermediate UL data blocks in a UL
TBF, it will request retransmission through UL ACK/NACK (with missing block
in its bitmap) when CV=0 is received (and hence it knows no more data is to be
transferred).

This test fails as of current osmo-pcu master, and it's fixed there by
osmo-pcu.git Change-Id I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1.

Change-Id: I204a470e47fcc5965de758ad9a275837e0c8034d
2020-05-17 18:34:51 +02:00
Pau Espin 487d634726 pcu: Introduce test TC_countdown_procedure
Change-Id: I2b92bf4a17e89b1d68869aac4243c0e106ce3be5
2020-05-17 18:34:51 +02:00
Pau Espin 4cbb96079b pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload sent
These features will be used in test added in next commit.

Change-Id: I7dde6a2e71a9e64cf6c704eda37b47838460102b
2020-05-17 18:34:51 +02:00
Pau Espin 5feace6584 pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks
Also increment BSN with each new submitted packet.

Change-Id: I685d1535154197bb85e18875e0a4d41122a24fa0
2020-05-17 07:26:34 +00:00
Pau Espin 0c0bf8731b Introduce test TC_force_two_phase_access
Change-Id: Icce25b5d113eb5b37ec1e5b6c6c14aacdb01cd8d
2020-05-17 07:26:34 +00:00
Pau Espin 42acafc9b8 pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only
Change-Id: I396dbd0ca200fbf9365c534f4d479f903d0417ff
2020-05-17 07:26:34 +00:00
Philipp Maier 4c2a1eaea2 MGCP_Test: do not use leading zeros in endpoint identifiers
The endpoint number of a virtual endpoint must not use leading zeros
but, but the testcase MGCP_Test.TC_crcx_dlcx_30ep does. Lets not do this
as it violates the spec. See also: RFC 3435, section E.3.

Change-Id: I99d2fa76cb60d0d671c9413f3dbd711ec68aeb77
Related: OS#2659
2020-05-15 18:42:20 +02:00
Pau Espin 45b664b8af pcu: Support decoding Egprs Pkt Ul Ass on PDCH
Change-Id: I30fb98aab67303997b803a0359ffc2e0b65ebf01
2020-05-15 13:29:10 +02:00
Pau Espin 2ec84fd0e5 Move some types from GSM_RR_Types.ttcn to RLCMAC_CSN1_Types.ttcn
Some types already available in GSM_RR_Types.ttcn will also be required
by messages sent over PDCH and which belong to RLCMAC_CSN1_Types. Since
GSM_RR_Types.ttcn already requires RLCMAC_CSN1_Types.ttcn, let's move
them there so they can be used in both places.

Change-Id: Iccaaa2743dc44a36046c19d4d4ff882dc02fb479
2020-05-15 11:27:08 +00:00
Pau Espin 02c972d8aa pcu: use correct RA type to properly test 2phase access
Old code was not setting Single Block Packet Access type, and 2phase
access was not properly triggered.

Once it's triggered, message flow changes quite a lot from the 1phase
access, specially because the 2nd Ul Assignment arrives through PDCH
instead of CCCH, which means a different record is received and hence
code for 1phase cannot be easily re-used.

For similar reasons, f_tx_rlcmac_ul_n_blocks() is modified to receive
the only required tfi param instead of a full dl_block.

Some functions are also extended to support SingleBlock Allocation
instead of usual DynamicAllocation.

Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d
2020-05-15 11:27:08 +00:00
Neels Hofmeyr a26d0a8b8c bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config
osmo-bsc does not use an rtp-base for years, ever since we're using an MGW.

Related: Id14fa3066ca5d472a817593074a6222f159168a8
Change-Id: Ia4866fc603877b2ab8ce16683e9f6145764117c7
2020-05-13 18:02:57 +02:00
Pau Espin 1832cd8fb0 pcu: f_dl_block_ack_fn(): Allow passing ctrl dl_block
Downlink Control blocks like Packet Uplink Assignment (PACCH)
contain rrbp + rrbp_valid in mac headers

Change-Id: I0401b0b378c7770d06a15d14dac6436303b4ccab
2020-05-13 16:44:16 +02:00
Pau Espin 4aac3d0c8f pcu: Properly pass tlli in f_tx_rlcmac_ul_n_blocks()
Change-Id: Idb8febbbff732f02d05b0043c75e2a0729e01d4f
2020-05-13 15:13:49 +02:00
Neels Hofmeyr b58d974ea5 msc: add tests for SMS and voice call while Paging
Start a second
- MT SMS
- MT call
while a Paging is already ongoing.

The second trans being an SMS works.

The second trans being a call fails with current osmo-msc master; a fix is in
the related patch (s.b.).

Related: Idd4537b5f4817d17e5c87d9a93775a32aee0e7be
Change-Id: Ieeae6322d4e80893ea3408c6b74bf8e32bea8e46
2020-05-11 17:33:05 +00:00
Neels Hofmeyr b2168516f3 hlr: add tests for GSUP proxy routing
GSUP proxy routing, as it is implemented in an upcoming osmo-hlr patch,
requires that osmo-hlr returns a received Source Name IE back as Destination
Name IE. Add tests for these, for various situations.

These tests pass since GSUP request handling with request->response association
was introduced to osmo-hlr in I179ebb0385b5b355f4740e14d43be97bf93622e3.

Implement this by adding a source_name to the g_pars, which should be sent out
in ts_GSUP_* to osmo-hlr, and expected back as destination_name in returned
messages.

Add source_name and destination_name to various templates, with default :=
omit.

Add f_gen_ts_ies() and f_gen_tr_ies() to compose expected IEs more generically.

Change-Id: I3728776d862c5e5fa7628ca28d74c1ef247459fa
2020-05-11 17:31:57 +00:00
Neels Hofmeyr b3fc898c2d bsc: make ho_config_tests more robust against timing
In f_probe_for_handover disable the RSL emulation before the vty handover
command.  Otherwise, osmo-bsc may be too fast to issue the handoverCommand, so
that RSLem still handles it and says: "RSL for unknown Dchan".

(f_probe_for_handover() receives the handoverCommand directly, just to detect
whether a handover would be initiated, and then quickly aborts the handover
procedure.)

Related: OS#4264
Change-Id: I7f73ef8cbdf46e31a46c9e1b7ad0fa2bd41c0a12
2020-05-11 17:27:59 +00:00
Vadim Yanitskiy 71238c135d PCU: introduce a new test case TC_dl_flow_more_blocks
Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f
Signed-off-by: Vadim Yanitskiy <axilirator@gmail.com>
Related: OS#4506
2020-05-11 13:48:11 +07:00
Vadim Yanitskiy b6733a67ec PCU: refactor and simplify f_rx_rlcmac_dl_block_exp_data()
This function was written in a way that it tries to do as
many different (but related) things as possible:

  a) send an RTS.req to the IUT, expect a DATA.ind in return,
  b) decode RLC/MAC message contained in the received DATA.ind,
  c) make sure that it's either GPRS or EGPRS data block,
  d) calculate the last TDMA frame number of RRBP using
     f_rrbp_ack_fn() regardless of its validity,
  e) make sure that the block contains a given LLC payload.

Everything is ok except point d). The problem is that this is
only the case for the first block of RRBP, and not applicable
to the rest having 'rrbp_valid' flag unset. Furthermore, this
function did not match GPRS DL blocks with 'rrbp_valid' flag
unset, for some odd reason.

Let's move RRBP calculation into a separate function called
f_dl_block_ack_fn() and return TDMA frame number of the
received DATA.ind message instead.

Among with that, there are more little changes:

  - simplify matching of (E)GPRS DL data blocks,
  - use 'in' qualifier in parameter list where possible,
  - turn parameter 'data' into a template (present).

Change-Id: I1528408b4399d0a149a23961805277eaab90d407
Signed-off-by: Vadim Yanitskiy <axilirator@gmail.com>
2020-05-10 21:34:38 +07:00
Vadim Yanitskiy d4f22aaf31 library: enrich tr_RLCMAC_DATA_RRBP, rename to tr_RLCMAC_DATA_GPRS
Let's make this template more flexible, so it can be used to match
any GPRS DL data blocks, not only those with rrbp_valid == true.

Note that behavior of f_rx_rlcmac_dl_block_exp_data() is
intentionally left unchanged, and will be fixed later.

Change-Id: I3940216368cdbb58fe89420675d1d8d5f5e49b05
Signed-off-by: Vadim Yanitskiy <axilirator@gmail.com>
2020-05-10 21:14:12 +07:00
Vadim Yanitskiy 0a9b148d2c library: fix t_RLCMAC_DlMacH: RRBP is always present
This template is not (yet) used anywhere, but let's fix it
anyway to avoid possible confusion.

Change-Id: Ic819f2b0eb292170de73abc7e200d79fcf02a76c
Signed-off-by: Vadim Yanitskiy <axilirator@gmail.com>
2020-05-10 14:48:17 +07:00
Vadim Yanitskiy 2742bcd6fd PCU: introduce f_rrbp_ack_fn(), fix poll frame number calculation
The resulting frame number shall be within the period of TDMA hyperframe.

Change-Id: I794a14f69293cbbc937d62d09dd5794956b882db
Signed-off-by: Vadim Yanitskiy <axilirator@gmail.com>
2020-05-10 12:46:03 +07:00
Vadim Yanitskiy b043b78419 PCU: fix f_pkt_paging_match_tmsi(): drop copy-pasted line
Change [1] broke the following test cases:

  - TC_paging_cs_from_sgsn_sign_ptmsi,
  - TC_paging_cs_from_sgsn_ptp.

Let's fix this!

Change-Id: I9ec798e44138570bed726ffcd842448e199c1b54
Fixes: [1] I6a859687d9605cc08c51ff44d946c279b79bedfa
Signed-off-by: Vadim Yanitskiy <axilirator@gmail.com>
2020-05-07 17:02:59 +07:00
Vadim Yanitskiy 5cbebf8758 PCU: PCU_Tests.default: add 'USER' category to ConsoleMask
Change-Id: I12bffab01e52d92d313edddc000b5f3ec62c5139
Signed-off-by: Vadim Yanitskiy <axilirator@gmail.com>
2020-05-07 02:43:56 +07:00