Hi!
I've been playing with some code earlier today, trying to reuse the RR implementation of 'mobile' but without 'MM' and '03.22' code. Next step was to play with RR+MM but without 03.22.
Both were not that easy to do, given the various different function calls between those modules.
While trying to resolve it, I discovered that we have many sequences like gsm322_msgb_alloc() followed by some error checking and a final gsm322_plmn_senmsg(). Similar pattersn could be seen for gsm48_mmevent.
I've tried to simplify/unify this code a bit, as you can see from the attached patches (also in laforge/mobile_event branch). It's not tested yet, but I would like to get some comments on it.
Initially I thought to use libosmocore signal code, but then signals are _emitted_, and they don't fit the picture where we have some incoming events into e.g. 03.22 code - as all the events are already labelled GSM322 and thus by the recipient, not its originator.
So now there is one gsm322_event_input() and a gsm48_mmevent_input() function each. Somebody who wants to reuse partial 'mobile' code can simply provide stub functions for either one of those (or both)...
The goal of this exercise is to have a tool that can open a dedicated channel to a user-specified cell and then send user-specified messages while optionally taking care of loc upd / auth / ciphering in order to make the network happy.
Regards, Harald