This patch adds the ipa_server_link which allows to create
IPA servers.
I have also changed the ipaccess driver to use it. Still
missing the port of HSL driver.
This patch adds the initial support to get BTS mode working with
the ipaccess driver.
Now, the driver handles IPA ping, pong and id_ack messages
internally in BTS modes, and it passes the signalling messages
to the client application by invoking the callback line operations.
Moreover, with this patch, each IPA link object always has one
E1 line object associated.
Still HSL BTS-mode remains unimplemented.
With this patch, we create the RSL socket in BTS mode.
This patch also fixes a crash if the RSL socket goes down
before we have set the RSL line via OML with the existing
code.
We use the new generic function to receive messages, instead of
ipaccess_read_msg.
It's a mere renaming, but it's the first step before the rework
that will happen soon to avoid calling read() twice.
This patch adds the BTS-side for the ip.access driver for
A-bis over IP communications.
This patch adds one example under test/ so you can test the
existing BSC and BTS sides over ip.access.
Still incomplete, it requires to allow to register some
callback in the BTS side to perform some action once we
receive some message. This will come in next updates.
This patch uses the new libosmocore logging infrastructure
that allows to invoke log_init(&my_log_info) multiple times
so we can register categories from libraries and applications.
Get rid of definitions that we no longer need.
And move trau_frame_idle() definition where it really belongs to.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
struct e1inp_line_ops {
int (*sign_link_up)(struct msgb *msg, struct e1inp_line *line);
int (*sign_link)(struct msgb *msg, struct e1inp_sign_link *link);
int (*error)(struct msgb *msg, int error);
};
The description of the operations is the following:
* sign_link_up is invoked if the signalling link becomes up. In A-bis
over IP, we have to wait until the other peer identifies itself as
a BTS/BSC device, then this function is invoked. This function is not
used by ISDN drivers, the signalling link can be set up just after
the line is created.
* sign_link is called if we receive OML/RSL message. This function
is used both by ISDN and A-bis over IP drivers.
* error is called if we receive a malformed message. It is used both
by ISDN and A-bis over IP drivers.
With this patch, we pass TRAU frames to the callback that
e1inp_ts_config_trau(...) takes as parameter. Instead of passing
it to the line->rx(...) callback. The function
e1inp_ts_config_trau(...) should only be used by ISDN drivers.