Update mncc.h, but to not have to figure out ctypes generation and still be
MNCC v6 compatible, simply add a single SDP byte of '\0' to sent buffers, so
that an MNCC v6 MSC doesn't complain about a too short MNCC message.
Sending no SDP is compliant, and sending a single '\0' is the specified proper
way to do so, but we're achieving it in a hacky way.
To accept incoming MNCC v6: allow trailing data
Related: osmo-sip-connector I522ce7f206932a816a64f03d916799c3215bb8c7
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.