Add codec parameter to start_call() and convenience functions mt_call()
and calls() with FR as default. While at it, update the help text.
Duplicate enum codec_type into mncc_mt_loadgen.py, because the enum
values are different from the existing enum values in the python code
(GSM48_BCAP_SV_EFR etc.).
Related: SYS#4924
Instead of hardcoding FR in rtpsource, add an argument to set the codec
from mncc_mt_loadgen.py via CTRL call rtp_create. Hardcode FR in
mncc_mt_loadgen.py for now, a follow up patch will make it configurable
there, too.
Related: SYS#4924
rtp_bridge=True triggers the automatic transmission of a MNCC_RTP_CREATE
when that call goes into ACTIVE state. We don't want this in the
case of mncc_mt_loadgen, as we perform this at a much sooner point in
time.
Change-Id: I8816ccb8c7dce2958496c81a95f1a91bc33e772b
This program (derived from mncc_test.py) is used to start MT calls
via the MNCC interface of OsmoMSC. Every calls RTP is connected
to the new 'rtpsource' process, which generates a realistic RTP
flow in terms of number of packets (20ms interval) and payload size.
Change-Id: I9e5d799aaeeff5188dc97061f0d6e1873d9bf653
osmo-rtpsource is a small utility program which is generating
RTP flows at a constant rate of 20ms, as required in most IP based
telphony. The payload currently is hard-coded.
Change-Id: Id4e292ddfd5aa58754382b2380558993b2ddf07a
As python-ctypeslib is long unmaintained, it is not packaged
for anything more recent than Debian 8 (jessie). Let's print
that at start and check for availability of the reqquired
executable programs (part of python-ctypeslib).
Change-Id: Ied6333016e2eb357bda08499742f1ed8c56ba762
Printing log level, file name, and line number together with a
log message is the common practice in Osmocom projects that
facilitates debugging and development.
Change-Id: I80cd7cdfa41ae7e70a1890d88c8b2f7357a500af
Calling sys.exit() from MnccSocket's constructor could lead to
a situation when the main thread becomes "dead", while its child
threads are still working. Let's throw the exceptions towards
the caller, so it would be possible to handle them there.
Change-Id: I485eb86c69e74693eeae89723de27e376585f1da
Using hard-coded paths in shebang is a bad idea, because on different
systems Python interpreter can be installed in different places. See:
https://mail.python.org/pipermail/tutor/2007-June/054816.html
Change-Id: Ib729ece0c95254dc2b235f90eb731681df955bd1
Verified this error by GSMTAP using mncc-python interface OsmocomBB to network
Proposed Changes:
In case of MO call (_onmncc_setup_req) caller needs to provide bearer_cap speech version
Added mncc.bearer_cap in mncc_sock.py based on codecs = GSM48.AllCodecs
Added new field mncc.MNCC_F_BEARER_CAP in mncc.MNCC_SETUP_REQ, when call is initiated (MO) from MS -> network
Change-Id: If77851b86111d62d82221a886ed2391179080cca
Add a manul test to the contrib folder that helped and can help during
the development of osmo-sip-connector or similar software. This avoids
having to create a separate mncc module.
It can be started like:
$ PYTHONPATH=$PWD/../ python manual_test_server.py
Change-Id: I7f62efbc62455e6fcb1f091afb5fa120099834f0
For manual testing the osmo-sip-connector it is nice to run a custom
MNCC server to mock certain behavior. Refactor the socket class to
share code between client/server.
Change-Id: I8387fe1687557c6a1a26ff1e0cc9dbff3087aa82
The user can submit a list of permitted codecs for a GsmCallFsm or
GsmCallConnector. This list is ordered by priority (highest first),
and the first matching codec is chosen.
TODO: Proper error handling in case no matching codec is found
In the classic MNCC_BRIDGE mode we ask the MSC to bridge the two
traffic channels itself. This works for E1 as well as for RTP
BTSs', and even accross mixed E1 and RTP environments.