Feature #2555
open
script interface to OsmocomBB "mobile"
Added by laforge over 6 years ago.
Updated almost 4 years ago.
Category:
OsmocomBB mobile (host)
Description
The idea here is to have some high-level scripting interface in the OsmocomBB "mobile" program, which can be used to automatically execute certain behavior. This is very useful for automatic testing.
The commands should be very high-level operations, such as
- perform network search
- perform cell (re)selection
- perform normal/periodic/attach LU
- perform USSD
- send MO-SMS
- receive MT-SMS
- make MO voice call
- receive MT voice call
In order to make the related scripts easy to write, the script language interface functions should expose blocking semantics. This means the "mobile" stack needs to be run in a thread/process with its usual event-driven osmo_fd architecture, and it needs to exchange primitives with another thread/process that runs the script commands.
As scripting language, I would suggest LUA as it's small to embed. Size does matter, as we likely will want to simultaneously run thousands to tens of thousandsof "mobile" instances on one machine.
- Category set to OsmocomBB mobile (host)
- Related to Feature #2558: Scripts to manage thousands of "mobile" and hundreds of osmo-bts-virtual instances added
- Target version set to Virtual GSM Load Testing
- Assignee changed from laforge to zecke
- Priority changed from Normal to High
- Related to Support #2622: Prepare automatic interop testing of OmsoBSC against NG40 core simulator + osmo-bts-virtual + mobile added
Stalled due private reasons but about to be resumed. :}
- Status changed from New to In Progress
I considered tunneling MNCC over the existing "EventServer" socket but I think there is very little point in doing it. Pau's idea of implementing ofono like behavior is a neat one.
- Blocks Feature #2893: automatic simulator for large LU load added
Slow progress in general:
- MO-/MT-Calls: I think we can and should just use the external MMCC interface
- MO/MT-SMS: Simple SMS can be send (and received) in scripts
- Location Updating: Primitives for normal cell-selection (on/off of the device). Can add code to force cell reselection.
- Primitives added to allow bi-directional communication from a script with the outside world with event loop integration
Missing:
- More complex SMS (e.g. multi-part to see if the channel remains, cold be passively monitored by throughput)
- USSD
- Add code for cell re-selection.
- Priority changed from High to Normal
- Status changed from In Progress to Stalled
- Assignee deleted (
zecke)
- % Done changed from 0 to 70
I don't mind being the assignee even if I didn't progress for the last month(s) (as Hong Kong is in an interesting state). It shouldn't prevent anyone from taking the issue away from me.
Also available in: Atom
PDF