summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* e1_input: rework configuration of virtual E1 line operationsPablo Neira Ayuso2011-08-194-10/+26
| | | | | | | | | | | | | | | | | | | | | | | | | struct e1inp_line_ops { - enum e1inp_line_role role; - char *addr; - void *data; + union { + struct { + enum e1inp_line_role role; /* BSC or BTS mode. */ + const char *addr; /* IP address .*/ + void *dev; /* device parameters. */ + } ipa; + struct { + const char *port; /* e.g. /dev/ttyUSB0 */ + unsigned int delay; + } rs232; + } cfg; Now this structure contains the configuration details for the virtual E1 line, instead of using a pointer. This also get the line_update callback to its original layout: + int (*line_update)(struct e1inp_line *line);
* test: use site_id 1801 in ipa BTS examplePablo Neira Ayuso2011-08-171-1/+1
| | | | | Thus we can use it with the example file for openBSC under doc/examples/nanobts/openbsc.cfg.
* update to comply with libosmocore namespace fixesHarald Welte2011-07-191-3/+3
| | | | | This updates the code and brings it in sync to libosmocore git commit 892e621fec571c7cba3573caa0d328ed1b25d8ee
* talloc: revert to use talloc inside libosmocoreHarald Welte2011-07-185-5/+5
| | | | | | It's not a good idea to confuse the two changes with each other. Moving the Abis part into a separate library is independent from the question whether we have talloc inside libosmocore or use a stand-alone talloc library.
* tests: add missing hsl examplesPablo Neira Ayuso2011-07-082-0/+506
| | | | Hm, it seems I forgot to git add them :-(.
* tests: convert IPA BTS example to use event-oriented approachPablo Neira Ayuso2011-07-081-21/+53
| | | | | | Like the HSL BTS example. We use an event file descriptor which is used to call the GSM 12.21 based function for handling.
* hsl: BTS supportPablo Neira Ayuso2011-07-081-0/+10
| | | | | | This patch adds the BTS support for the hsl driver. It includes two examples under the tests/ directory.
* tests: close OML and RSL if set for the BSC examplePablo Neira Ayuso2011-07-081-2/+4
| | | | We only close the OML and RSL links if they are indeed up.
* tests: example BTS now sends an OML SW ACT REQPablo Neira Ayuso2011-07-081-2/+130
| | | | | | This allows to test that the write path works and it allows you to get an idea on how to implement the BTS side by means of libosmo-abis.
* tests: use the virtual E1 line used by OML for RSL linkPablo Neira Ayuso2011-07-081-3/+13
| | | | | | | | | | | | The ipaccess driver is tricky. Since it uses two ports for OML and RSL links, the link for RSL needs to be done in the same line that the OML link. Now the BSC examples uses the virtual E1 line where the OML link is for the RSL one. This patch also verifies that the OML link is up before the someone tries to get the RSL link up.
* tests: support OML software activate request ack messagePablo Neira Ayuso2011-07-051-2/+118
| | | | | | | | This patch steals some code from openBSC to implement the OML software activate request ack message which is delivered to the BTS. This allows to test the ->sign_link(...) path.
* logging: use new harald's logging infrastructure in libosmocorePablo Neira Ayuso2011-07-053-3/+3
| | | | | I can send patches to improve it later, better not to waste much time at it by now so port libosmo-abis upon it.
* e1_input: change prototype of ->sign_link(...)Pablo Neira Ayuso2011-07-052-2/+2
| | | | | This patch removes the struct e1inp_sign_link parameter since this is already available in the msgb->dst field of the message.
* tests: use logging infrastructure to display messagesPablo Neira Ayuso2011-07-022-23/+35
| | | | instead of using printf
* ipaccess: put the ID_GET logic for the BTS mode into the driverPablo Neira Ayuso2011-07-021-136/+13Star
| | | | | This patch moves the ID_GET logic from the example file to the ipaccess driver in BTS mode.
* major updates in e1_input callback ops and IPA infrastructuresPablo Neira Ayuso2011-06-302-45/+218
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a major update of the callback infrastructure, now the e1input_ops looks like the following: struct e1inp_sign_link * (*sign_link_up)(void *unit_info, struct e1inp_line *line, enum e1inp_sign_type type); void (*sign_link_down)(struct e1inp_line *line); int (*sign_link)(struct msgb *msg, struct e1inp_sign_link *link); The sign_link_up and sign_link_down will be used by the A-bis over IP input drivers. The sign_link_up callback is used if we receive a ID_RESP message, in that case, we have to set up the sign link for the corresponding new OML/RSL signal link. The pointer to unit_info provides a data structure that contains the BTS device details if we run as BSC, and the requested device information from the BSC if we run as BTS. The sign_link_up callback must return the new sign_link created. The sign_link_down callback is invoked if the line does down, which means that the counterpart has closed the socket. The sign_link callback is used to handle all RSL/OML messages. I have also added the following callback to the e1inp_driver: + void (*close)(struct e1inp_ts *ts); Which is invoked if you call e1inp_sign_link_destroy(). This callback is used to close the socket that is linked to that timeslot. This is useful for A-bis over IP drivers since sockets are closed if the OML/RSL signalling link is destroyed. As you can notice, I have also added all the ID_RESP parsing into libosmo-abis for both ipaccess and hsl drivers. This patch also contains a rework of the ipa_client_link whose integration with the e1_input infrastructure was broken (the transmission path was broken). This patch also contains more develop examples that act as BSC and BTS for the ipaccess driver. Sorry, I know it would be better to split all these changes into logical pieces but many of them are tightly related. This is under heavy development stage, it's anyway hard to track changes until this becomes more stable.
* e1_input: minor API changes to adapt it to openbscPablo Neira Ayuso2011-06-252-10/+23
| | | | | While working on the openbsc over libosmo-abis port, I noticed several API changes that we need to perform for better adaptation.
* ipa-proxy: add A-bis over IP generic proxy commands for VTYPablo Neira Ayuso2011-06-232-1/+86
| | | | | | | | | | | | | | | | | | | | | | | This patch adds VTY commands to route IPA flows. The following example allows to add a new route: $ tests/./ipa_proxy_test & <0000> ipa_proxy_test.c:74 entering main loop $ telnet localhost 4260 ipa-proxy-test> enable ipa-proxy-test# ipa instance input-oml bind 127.0.0.1 tcp port 8888 ipa-proxy-test# ipa instance output-oml connect 127.0.0.1 tcp port 3002 ipa-proxy-test# ipa route instance input-oml streamid 0xfe instance output-oml streamid 0xfe ipa-proxy-test# ipa instance input-rsl bind 127.0.0.1 tcp port 8889 ipa-proxy-test# ipa instance output-rsl connect 127.0.0.1 tcp port 3003 ipa-proxy-test# ipa route instance input-rsl streamid 0xfe instance output-rsl streamid 0xfe I'm using this to initially test this code [*]. [*] note that this requires a minor hackish patch for the src/input/ipaccess.c driver which changes the default OML and RSL ports to listen in 8888 and 8889 instead of the default ports, thus, I can initially test everything from the localhost.
* e1input: add address as parameter to e1inp_line_update(...)Pablo Neira Ayuso2011-06-212-2/+2
| | | | | This patch adds a new parameter to e1inp_line_update that allows to specific the address for A-bis over IP BSC/BTS.
* input: ipaccess: add preliminary BTS-side for A-bis over IPPablo Neira Ayuso2011-06-142-2/+95
| | | | | | | | | | | | 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.
* src: add support for logging infrastructure in libosmo-abisPablo Neira Ayuso2011-06-121-2/+25
| | | | | | 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.
* e1input: rework generic (virtual and real) E1 line operationsPablo Neira Ayuso2011-06-071-23/+16Star
| | | | | | | | | | | | | | | | | | | | | | 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.
* src: add libosmo_abis_init(void *ctx) to set the talloc contextPablo Neira Ayuso2011-06-071-1/+6
| | | | | This function is called during initialization, so we can set what's the talloc context for the application and the library.
* src: use include/osmocom/abis instead of include/osmocom/gsm/abisPablo Neira Ayuso2011-06-071-1/+1
| | | | | | Harald prefers short paths. This patch also remove commented includes in several files.
* initial commit of libosmo-abisPablo Neira Ayuso2011-06-052-0/+79
still many things to get fixed