Skip to content

Changes

Summary

  1. enb-cells-2ca: fix config to match cell-id and cc idx (details)
  2. enb/ue: Assign zmq binding ports dynamically at runtime (details)
  3. ms: Fix and use ms msisdn() getter (details)
  4. 4g: Introduce ZMQ GnuRadio stream broker (details)
  5. ms: Allocate default msisdn internally (details)
  6. sysmocom: Introduce suite to test emergency calls (details)
  7. sysmocom: Enable emergency call testing in default-suites.conf (details)
  8. sysmocom: Introduce test to verify emergency call preemption (details)
  9. enb: add basic TDD config option (details)
  10. mod-enb-cell-2ca: fix EARFCN (details)
  11. rfemu_gnuradio_zmq: fix amplitude conversion (details)
  12. mod-gr-broker: add scenario to easily enable the GR broker (details)
  13. intra-freq-ho{-sameport}.conf: add scenarios for intra-freq HO cells (details)
  14. gnuradio zmq broker refactoring (details)
Commit 6628a50e4eb772ffb6002ea469663672e1d86091 by andre
enb-cells-2ca: fix config to match cell-id and cc idx

add comment explaining how the sceneario can be used.
also adopt cell IDs to match the CC index of the eNB.
This makes sure the cell_gain command of srsENB works with the config.

Change-Id: I1d14485df700ef3ba9220507f72c50b819d5e334
The file was modified sysmocom/scenarios/mod-enb-cells-2ca.conf
Commit 92a29d6b7ebfb69ae7c41000ae8e3ef309346099 by Pau Espin Pedrol
enb/ue: Assign zmq binding ports dynamically at runtime

ports are assigned increasingly in blocks in the range 2000-2200.

Change-Id: If2abddeb2ad6819de4f3ce64daaf00d2f527f9d2
The file was modified src/osmo_gsm_tester/core/resource.py
The file was modified src/osmo_gsm_tester/obj/enb.py
The file was modified src/osmo_gsm_tester/obj/ms_srs.py
The file was modified src/osmo_gsm_tester/obj/ms_amarisoft.py
Commit 4b7c585561ef567a7a3bc6bae67d69d4b829edc2 by Pau Espin Pedrol
ms: Fix and use ms msisdn() getter

The getter method was named the same as the itnernal field, and hence
when used it would fail since the intenral field would be sleect and
fail to be called.

Change-Id: I2f631eb6256eb0e065f41d5b7531395c4a054cd8
The file was modified src/osmo_gsm_tester/obj/hlr_osmo.py
The file was modified sysmocom/suites/smpp/esme_ms_sms_transaction.py
The file was modified sysmocom/suites/ussd/assert_extension.py
The file was modified src/osmo_gsm_tester/obj/ms_ofono.py
The file was modified sysmocom/suites/nitb_ussd/assert_extension.py
The file was modified sysmocom/suites/debug/interactive.py
The file was modified sysmocom/suites/encryption/lib/testlib.py
The file was modified sysmocom/suites/nitb_debug/interactive.py
The file was modified src/osmo_gsm_tester/obj/ms.py
The file was modified sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py
The file was modified sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py
The file was modified sysmocom/suites/smpp/esme_ms_sms_storeforward.py
Commit 410912333e058910df237598847d7b3d8fe84cae by Pau Espin Pedrol
4g: Introduce ZMQ GnuRadio stream broker

srsENB currently creates 1 zmq stream (1 tx, 1 rx) for each cell (2 if
MIMO is enabled). Each cell transceives on a given EARFCN (and several
cells can transmit on same EARFCN).

However, for handover test purposes, we want to join all cells operating
on the same EARFCN to transceive on the same ZMQ conn, so that an srsUE
can interact with them at the same time (same as if the medium was shared).
Furthermore, we want to set different gains on each of those paths
before merging them in order to emulate RF conditions like handover.

In order to do so, a new element called the Broker is introduced, which
is placed in between ENBs and UEs ZMQ conenctions, multiplexing the
connections on the ENB side towards the UE side.

A separate process for the broker is run remotely (ENB run host) which
listens on a ctrl socket for commands. An internal Broker class is used
in osmo-gsm-tester to interact with the remote script, for instance to
configure the ports, start and stop the remote process, send commands to
it, etc.
On each ENB, when the rfemu "gnuradio_zmq" rfemu implementation is selected
in configuration, it will configure its zmq connections and the UE ones to
go over the Broker.

As a result, that means the UE zmq port configuration is expected to be
different than when no broker is in used, since there's the multiplexing
per EARFCN in between.

In this commit, only 1 ENB is supported, but multi-enb support is
planned in the future.

The handover test passes in the docker setup with this config:
"""
OSMO_GSM_TESTER_OPTS="-T -l dbg -s 4g:srsue-rftype@zmq+srsenb-rftype@zmq+" \
"mod-enb-nprb@6+mod-enb-ncells@2+mod-enb-cells-2ca+suite-4g@10,2+" \
"mod-enb-meas-enable -t =handover.py"
"""

and in resources.conf (or scenario), added:
"""
enb:
  ...
  cell_list:
    - dl_rfemu:
       type: gnuradio_zmq
    - dl_rfemu:
        type: gnuradio_zmq
"""

Note that since the broker is used, there's not need for mod-srsue-ncarriers@2
since the broker is joining the 2 enb cells into 1 stream on the UE side.

Change-Id: I6282cda400558dcb356276786d91e6388524c5b1
The file was modified sysmocom/scenarios/mod-enb-cells-2ca.conf
The file was modified src/osmo_gsm_tester/obj/enb_amarisoft.py
The file was modified src/osmo_gsm_tester/obj/enb.py
The file was addedsrc/osmo_gsm_tester/obj/rfemu_gnuradio_zmq.py
The file was modified src/osmo_gsm_tester/obj/ms_srs.py
The file was modified src/osmo_gsm_tester/obj/rfemu.py
The file was modified src/osmo_gsm_tester/obj/enb_srs.py
The file was addedutils/bin/osmo-gsm-tester_zmq_broker.py
Commit 83a2fdca9b8d2e256c1ae5a84b7dde5a13d0f2da by Pau Espin Pedrol
ms: Allocate default msisdn internally

Don't wait until adding it to the subscriber data base, since the msisdn
may be needed beforehand (for instance in follow up patch to be passed
to osmo-msc configuration to route emergency calls).

Change-Id: I0d6902687e4beb3d6cdcefd4e343f21496100504
The file was modified src/osmo_gsm_tester/obj/ms_ofono.py
The file was modified src/osmo_gsm_tester/obj/ms_osmo_mobile.py
The file was modified src/osmo_gsm_tester/obj/ms_srs.py
The file was modified src/osmo_gsm_tester/obj/ms.py
The file was modified src/osmo_gsm_tester/obj/hlr_osmo.py
The file was modified src/osmo_gsm_tester/obj/ms_amarisoft.py
The file was modified src/osmo_gsm_tester/obj/epc_srs.py
The file was modified src/osmo_gsm_tester/obj/epc_amarisoft.py
The file was modified src/osmo_gsm_tester/obj/nitb_osmo.py
Commit 680ba0303877006e59e81b92abb689ac78f14594 by Pau Espin Pedrol
sysmocom: Introduce suite to test emergency calls

Change-Id: I2e851c94311ded0abd4ff072b8cc72316d972750
The file was addedsysmocom/suites/emergency/suite.conf
The file was modified src/osmo_gsm_tester/obj/ms_ofono.py
The file was modified src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl
The file was addedsysmocom/suites/emergency/emergency_mo_mt_call.py
The file was modified src/osmo_gsm_tester/obj/ms.py
The file was modified src/osmo_gsm_tester/obj/msc_osmo.py
The file was modified src/osmo_gsm_tester/obj/bts.py
The file was modified src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl
Commit 3329d9db0ae9022758bd3552b851f94735920b18 by Pau Espin Pedrol
sysmocom: Enable emergency call testing in default-suites.conf

Change-Id: I9524ed9bc4f2d5f8e29313565400e90c64820988
The file was modified sysmocom/default-suites.conf
Commit 66c054288b44431c6056c6ca59a7f5dd4d2611a6 by Pau Espin Pedrol
sysmocom: Introduce test to verify emergency call preemption

Change-Id: I59993e65b3fd34fb2c3e5b002ab9666db9b7bad5
The file was addedsysmocom/suites/emergency/emergency_preemptive_call.py
The file was modified sysmocom/suites/emergency/suite.conf
Commit d0682bad0ff8ea61ca00aa212e4967fe1e187fd5 by Pau Espin Pedrol
enb: add basic TDD config option

this patch adds the basic notion of FDD and TDD duplexing modes
to the eNB object. So far we've always assume FDD.

Since only Amarisoft eNB supports TDD, the required config
template changes, etc. are only applied there.

The patch also adds a scenario to enable the default TDD config.

Change-Id: I37216b5bfdf527d221913283b6c41d3c8fd6b500
The file was modified sysmocom/defaults.conf
The file was modified src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl
The file was addedsysmocom/scenarios/mod-enb-tdd.conf
The file was modified src/osmo_gsm_tester/obj/enb_amarisoft.py
The file was modified src/osmo_gsm_tester/obj/enb.py
Commit 27b603f7e26421e88c6476e0135feed1c5465829 by Pau Espin Pedrol
mod-enb-cell-2ca: fix EARFCN

this scenario for 2xCA needs to have both cells on different EARFCN

Change-Id: I3cd12da5453aa659839862775e23d4a308b92c8e
The file was modified sysmocom/scenarios/mod-enb-cells-2ca.conf
Commit d5579fa38e91714d8ad49d7222bec665f46cc4c1 by Pau Espin Pedrol
rfemu_gnuradio_zmq: fix amplitude conversion

fix dB to amplitude conversion and adjust max attenuation value

Change-Id: I5a94d5d31e7dc85ab37bd281f95374ad825a41ff
The file was modified src/osmo_gsm_tester/obj/rfemu_gnuradio_zmq.py
Commit caa680ceeb1048f5c51affbe2937f6872c8b4cf8 by Pau Espin Pedrol
mod-gr-broker: add scenario to easily enable the GR broker

Change-Id: I4397e26713778721b7138b03b7a5f8f63f780d44
The file was addedsysmocom/scenarios/mod-gr-broker.conf
Commit c230efcb19b88bdaf2fb44d87075c60d69e5dacc by Pau Espin Pedrol
intra-freq-ho{-sameport}.conf: add scenarios for intra-freq HO cells

we need to use two different configs for Amarisoft and srsENB.
Amarisoft combines the two cells and transmits them on the same
RF port, whereas srsENB sends them on a single port each.

Change-Id: I3a2a8ae7bf4ed2dab6efba8550f442a741ad92e0
The file was addedsysmocom/scenarios/mod-enb-cells-intra-freq-ho-sameport.conf
The file was addedsysmocom/scenarios/mod-enb-cells-intra-freq-ho.conf
Commit fbb8611381c6572a282aeb785c5c48cb4cb16a04 by Pau Espin Pedrol
gnuradio zmq broker refactoring

First step towards support everal ENBs and installing the remote script
at runtime:

* The gnuradio broker class is moved to its own file, to decouple it
  from RFemu.
* The ENBs are registered earlier in the test so that the GrBroker knows
  when to start (delay start + setup until all ENBs have been configured).
* Handle ENBs internally as a list.

Change-Id: I4f1095bbc7ed0a816fe47caef44f7becadd9d737
The file was modified src/osmo_gsm_tester/obj/rfemu_gnuradio_zmq.py
The file was addedsrc/osmo_gsm_tester/obj/gnuradio_zmq_broker.py
The file was modified src/osmo_gsm_tester/obj/enb.py