Commit Graph

17 Commits

Author SHA1 Message Date
Pablo Neira Ayuso f163d23bf6 e1_input: minor API changes to adapt it to openbsc
While working on the openbsc over libosmo-abis port, I noticed
several API changes that we need to perform for better adaptation.
2011-06-25 18:42:55 +02:00
Pablo Neira Ayuso e009f4a009 ipa: extend ipa_*link_create() to take one generic data pointer
With this patch we can attach generic data to some IPA link. This
will be useful for the IPA proxy support.
2011-06-23 13:36:34 +02:00
Pablo Neira Ayuso af8ed983ff ipaccess: remove dead code from ipaccess adriver
This patch removes some dead code in the ipaccess driver
2011-06-21 20:35:27 +02:00
Pablo Neira Ayuso 986191fadf ipa: add ipa_server_link abstraction
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.
2011-06-21 19:56:26 +02:00
Pablo Neira Ayuso c07a8e7cf7 ipa: rename `struct ipa_link' by `struct ipa_client_link'
And IPA_LINK_STATE_* by IPA_CLIENT_LINK_STATE_* to prepare
the addition of the ipa_server_link abstraction.
2011-06-21 19:50:04 +02:00
Pablo Neira Ayuso 591ddadbe8 ipaccess: initial works to get BTS mode working
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.
2011-06-21 18:16:42 +02:00
Pablo Neira Ayuso 29465d35fc ipaccess: create RSL socket in BTS mode
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.
2011-06-21 14:21:33 +02:00
Pablo Neira Ayuso 7a24940805 input: use generic ipa_msg_recv() instead of ipaccess_read_msg()
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.
2011-06-21 14:15:46 +02:00
Pablo Neira Ayuso 9b3a33cba9 hsl: add support for BTS-mode
This patch adds support for BTS-mode for the hsl input driver.
2011-06-21 13:52:41 +02:00
Pablo Neira Ayuso c00ee7399d e1input: add address as parameter to e1inp_line_update(...)
This patch adds a new parameter to e1inp_line_update that allows to
specific the address for A-bis over IP BSC/BTS.
2011-06-21 12:22:49 +02:00
Pablo Neira Ayuso 96e8128061 input: ipaccess: add preliminary BTS-side for A-bis over IP
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.
2011-06-14 18:47:09 +02:00
Pablo Neira Ayuso 0b099b27df include: remove internal definition that are now in libosmocore
Still in one separate patch for libosmocore, but they may become
part of mainline soon.
2011-06-09 13:14:11 +02:00
Pablo Neira Ayuso 5a4b7c54c6 e1input: rework generic (virtual and real) E1 line operations
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.
2011-06-07 17:28:53 +02:00
Pablo Neira Ayuso 54b4979de6 src: add libosmo_abis_init(void *ctx) to set the talloc context
This function is called during initialization, so we can set what's
the talloc context for the application and the library.
2011-06-07 12:36:42 +02:00
Pablo Neira Ayuso 177094b4c9 src: use include/osmocom/abis instead of include/osmocom/gsm/abis
Harald prefers short paths.

This patch also remove commented includes in several files.
2011-06-07 12:21:51 +02:00
Pablo Neira Ayuso f67471fb7f src: use new socket API in libosmocore
get rid of internal copy of openbsc/libcommon/socket.c, we now
use the new socket API available in libosmocore.
2011-06-07 11:25:49 +02:00
Pablo Neira Ayuso 0ba77d53a9 initial commit of libosmo-abis
still many things to get fixed
2011-06-05 18:32:44 +02:00