Vadim Yanitskiy
ada97f1c5a
mncc_sock.py: parse and match MNCC_SOCKET_HELLO message
...
Change-Id: If6c3ca37a83db1d4ae75796f7be687601b159136
2018-09-29 21:55:18 +07:00
Vadim Yanitskiy
022be433ad
*.py: use proper '#!/usr/bin/env' shebang
...
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
2018-09-29 21:55:16 +07:00
Stefan Sperling
354904a0a6
recommend stock Debian/Ubuntu package for fysom
...
fysom is now available as a regular Debian/Ubuntu package
so there is no need anymore to install it via pip:
https://packages.debian.org/stretch/python-fysom
https://packages.ubuntu.com/bionic/python-fysom
Change-Id: I59e3b93c1d3f849f14dcb2344f6f033312331884
2018-08-09 12:01:51 +02:00
Gerard Pinto
983231a70d
Bearer capability not provided during MO call using mncc-python, which results in GSM IE error (96) invalid mandatory information sent by Network -> MS (mncc-python)
...
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
2017-06-04 21:04:56 -07:00
Holger Hans Peter Freyther
ce184f83f0
test: Add a manual test to simulate DTMF handling in osmo-sip-connector
...
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
2017-04-29 14:49:36 +02:00
Holger Hans Peter Freyther
03980b4e31
mncc: Make it possible to build a MNCC server for testing
...
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
2017-04-29 14:12:31 +02:00
Holger Hans Peter Freyther
08207d9e6f
mncc_sock.py: Fix typo and say connecting
...
We don't have a connection yet, so let's say this meant connecting.
Change-Id: Iba0423add3ae4d6920fed74800b0c2b298dda501
2017-03-05 17:42:01 +01:00
Harald Welte
19f678d259
some README clarifications, including required python modules
2015-12-12 23:04:34 +01:00
Harald Welte
031b9c9006
add smpp_test to generate SMS load via SMPP interface
...
It's not really related to MNCC, but in lack of a better suitable
repository, I'll commit it here for the time being.
2015-12-05 22:41:57 +01:00
Harald Welte
fcc3baaa2d
gsm_call_fsm: Less debug printf's
2015-12-05 16:13:05 +01:00
Harald Welte
1b26694bca
Terminate CallConnector when both GsmCallFsm enter NULL state again
2015-12-05 16:12:26 +01:00
Harald Welte
e5d8b99fe7
GsmCallFsm: Print current state in __str__
2015-12-05 14:04:33 +01:00
Harald Welte
5010316fd2
GsmCallFsm: Initialize calling/called during constructor
2015-12-05 13:57:51 +01:00
Harald Welte
6ae54d430d
GsmCallFsm: Handle DTMF and HOLD requests from phones
...
we don't want the FSM to terminate in case such requests are received.
2015-12-05 13:51:43 +01:00
Harald Welte
8a6dce0026
GsmCallFsm: Implement __str__() and use it
2015-12-05 13:51:43 +01:00
Harald Welte
5b283e8942
gcm_call_fsm: Allow user to specify which codec(s) are to be used
...
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
2015-12-05 13:51:43 +01:00
Harald Welte
a5fce60121
gsm_call_fsm: Implement classic MNCC_BRIDGE mode
...
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.
2015-12-05 13:51:43 +01:00
Harald Welte
8ebb6355ef
mncc.{h,py}: Add a gsm_mncc_bridge struct
...
this struct doesn't yet exist in upstream, but it should.
2015-12-05 13:51:37 +01:00
Harald Welte
474d83e21a
gsm_call_fsm: Add get_callref method to GsmCallFsm
...
... and obtain the call references into the GsmCallConnector
2015-12-03 13:54:40 +01:00
Harald Welte
79b7947191
typo fix
2015-12-02 00:51:11 +01:00
Harald Welte
e47c3eee45
add README
2015-12-02 00:46:46 +01:00
Harald Welte
47ff791075
add license headers
2015-12-02 00:23:09 +01:00
Harald Welte
7e94f0d22f
rename mncc_test2.py to mncc_test.py
2015-12-02 00:18:28 +01:00
Harald Welte
74cd98fcf4
mncc_test2.py: Start 14 call legs (1TRX TCH/H config)
2015-12-02 00:17:50 +01:00
Harald Welte
3d058cf657
gsm_call_fsm: Connect the RTP streams of the two call legs
2015-12-01 23:53:45 +01:00
Harald Welte
5b4c297ad9
mncc_test2: more useful debug output
2015-12-01 23:04:53 +01:00
Harald Welte
20523c7fd2
add mncc_rtp_msg() class for RTP messages on MNCC interface
2015-12-01 23:04:20 +01:00
Harald Welte
4f3762e793
gsm_call_fsm: transition from CONNECT_REQUEST state into ACTIVE
2015-12-01 22:42:48 +01:00
Harald Welte
06de155ee5
gsm_call_fsm: Gracefully handle MNCC_DISC_IND and send MNCC_REL_REQ
2015-12-01 22:25:21 +01:00
Harald Welte
fed3e0400f
gsm_call_fsm: print string representation of mncc_msg
2015-12-01 22:21:29 +01:00
Harald Welte
e69a1b8356
gsm_call_fsm: Fix typo in handling of MNCC_ALERT_IND
2015-12-01 22:21:08 +01:00
Harald Welte
6597a89759
gsm_call_fsm: accept MNCC_REL_IND in every state, contrary to spec
2015-12-01 22:20:43 +01:00
Harald Welte
1d417f8666
gsm_call_fsm: fix transmission of MNCC_SETUP_COMPL_REQ
2015-12-01 22:20:20 +01:00
Harald Welte
3703441150
mncc_msg(): Add more meaningful string representation
2015-12-01 22:19:56 +01:00
Harald Welte
9e7356a1a6
provide connect_call() convenience wrapper
2015-12-01 21:47:04 +01:00
Harald Welte
1421f906b5
add a description on where the content of mncc.h originates from
2015-12-01 21:41:13 +01:00
Harald Welte
9132bb657b
rename regen.sh to regen-mncc-py.sh
2015-12-01 21:39:48 +01:00
Harald Welte
7a76ec60a8
add interactive shell to stat more calls from mncc_test2.py
2015-12-01 21:39:08 +01:00
Harald Welte
b3b64c0ce2
Introduce GsmCallConnector() to connect two call legs
2015-12-01 21:14:44 +01:00
Harald Welte
56c63fe7f2
logging cleanup
2015-12-01 20:32:12 +01:00
Harald Welte
19fb9557f8
gsm_call_fsm: stop() the actor when re-entering NULL state
2015-12-01 20:31:09 +01:00
Harald Welte
56ad9a226f
add .gitignore file
2015-12-01 20:18:47 +01:00
Harald Welte
0679cd4b97
port mncc_test2 and gsm_call_fsm to pykka Actor framework
2015-12-01 20:18:27 +01:00
Harald Welte
3d66bfbeee
initial checkin of experiments with python and the MNCC interface
2015-12-01 19:07:30 +01:00