Feature #2555
script interface to OsmocomBB "mobile"
70%
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.
Related issues
History
#1 Updated by laforge about 2 years ago
- Category set to OsmocomBB mobile (host)
#2 Updated by laforge about 2 years ago
- Related to Feature #2558: Scripts to manage thousands of "mobile" and hundreds of osmo-bts-virtual instances added
#3 Updated by laforge about 2 years ago
- Target version set to Virtual GSM Load Testing
#4 Updated by laforge about 2 years ago
- Assignee changed from laforge to zecke
#5 Updated by laforge about 2 years ago
- Priority changed from Normal to High
#6 Updated by laforge about 2 years ago
- Related to Support #2622: Prepare automatic interop testing of OmsoBSC against NG40 core simulator + osmo-bts-virtual + mobile added
#9 Updated by zecke over 1 year ago
- 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.
#10 Updated by laforge over 1 year ago
- Blocks Feature #2893: automatic simulator for large LU load added
#12 Updated by zecke over 1 year ago
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
- 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.