aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2011-09-03update .gitignorev0.0.5Harald Welte1-0/+2
2011-09-03add 'libosmotrau' for TRAU/RTP related codeHarald Welte8-2/+473
This new library is intended to include everything related to interfacing actual voice channels either via E1 or via RTP. The first module in the library is osmo_rtp, based on the ortp library.
2011-08-31input: fix multiple BTS attached to single line scenarioPablo Neira Ayuso3-4/+40
With multiple BTS attached to a single line, we have to call ->line_update() multiple times. I broke this myself while avoiding that A-bis over IP drivers bind to the socket several times. To fix this situation, Harald prefers that this case is internally handled by the ipaccess and hsl drivers by means of the driver_data field in the e1inp_line structure. Reported-by: Gus Bourg <gus@bourg.net>
2011-08-26lapd: stop timers in lapd_instance_free()Harald Welte1-0/+11
2011-08-24DAHDI: Make sure dahdi_e1_setup() can be called multiple timesHarald Welte1-3/+24
In case we have multiple BTS attached to the same E1 line, the e1inp_driver::line_update() function will be called multiple times, and we need to make sure this is handled gracefully.
2011-08-24LAPD: Add function to release/free a LAPD instanceHarald Welte2-0/+8
2011-08-24re-introduce optional build of DAHDI input pluginv0.0.4Harald Welte3-1/+10
We should only build it when the dahdi/user.h file is actually present.
2011-08-21mISDN: optionally bypass kernel LAPD code and use userspace LAPDv0.0.3Harald Welte2-35/+152
The problem with kernel LAPD mainly is that you can only have one signalling timeslot in each E1 line/interface. However, with many BTS attached to the same line, we need multiple signalling slots per line. This allows the user to have a per-line selection between kernel-LAPD (misdn) and userspace-LAPD (misdn_lapd) drivers in the config file.
2011-08-21mISDN: use 'struct value_string' instead of local copyHarald Welte1-20/+6
Apparently value_string was not part of libosmocore when the code was written originally...
2011-08-21e1_input: move the lapd_instance pointer out of dahdi specificsHarald Welte3-59/+78
... and create a new e1inp_rx_ts_lapd() from dahdi as well
2011-08-21trau_frame: Add doxygen documentationHarald Welte2-6/+35
2011-08-21subchan_demux: add doxygen documentationHarald Welte2-29/+84
2011-08-21TRAU: Properly initialize idle framesDieter Spaar1-3/+29
This is particularly important in case of the Nokia BTS, as they seem to drop the RF/signalling channel if they don't get proper TRAU frames.
2011-08-19ipa: export ipaccess_rcvmsg_base() and return intv0.0.2Harald Welte2-5/+7
2011-08-19ipaccess: make some functions static that shouldn't be exportedv0.0.1Harald Welte2-3/+3
2011-08-19e1_input: rework configuration of virtual E1 line operationsPablo Neira Ayuso11-45/+63
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);
2011-08-19input: add rs232 driver for virtual E1 linesPablo Neira Ayuso4-1/+308
This patch adds the rs232 driver which is used by then bs11_config utility available in openBSC.
2011-08-19ipa: remove unused 'proto' variableHarald Welte1-3/+0
2011-08-19ipa: fix compiler warning about ssize_t / socklen_tHarald Welte1-1/+1
2011-08-19hsl: use PRIx64 / inttypes.h for uint64_t format stringHarald Welte1-1/+2
2011-08-19hsl: remove unsued 'proto' variableHarald Welte1-3/+0
2011-08-19add string.h include to fix compiler warningHarald Welte1-0/+1
2011-08-17ipaccess: don't close the signalling link if we receive bad OML/RSL messagePablo Neira Ayuso1-1/+0
Instead, propagate the error to upper layers. This fixes a segfault in the BSC if bad OML/RSL message is received.
2011-08-17test: use site_id 1801 in ipa BTS examplePablo Neira Ayuso1-1/+1
Thus we can use it with the example file for openBSC under doc/examples/nanobts/openbsc.cfg.
2011-08-17ipaccess: fix segfault if bsc port already in usedPablo Neira Ayuso1-2/+0
This patch fixes a segfault if we try to bind to an already busy port, it can be easily reproduced with: $ test/./e1inp_ipa_bsc_test & <0003> ipaccess.c:830 enabling ipaccess BSC mode <0000> e1inp_ipa_bsc_test.c:241 entering main loop $ test/./e1inp_ipa_bsc_test segfault
2011-08-17e1_input: fix missing registration of dahdi driverPablo Neira Ayuso1-2/+0
This patch fixes the registration of the dahdi driver. We were using conditional compilation (HAVE_DAHDI_USER_H) which we don't use anymore.
2011-08-16E1 input: rename signal_input by e1inp_signal_inputPablo Neira Ayuso1-1/+1
Comestical change required by patches that port openBSC upon libosmo-abis.
2011-08-16src: replace S_INP_* signals by S_L_INP_* according to naming policyPablo Neira Ayuso6-17/+17
2011-08-16DAHDI: Actually increment e1_input related rate countersHarald Welte1-0/+15
2011-08-16E1 Input: better names for rate countersHarald Welte1-4/+4
2011-08-16E1 Input: Add rate counters for events related to E1 linesHarald Welte3-15/+64
2011-08-16E1 Input: Move 'show e1_*' command to e1_input_vty.cHarald Welte1-0/+118
2011-08-16E1 Input: Add VTY command to specify the name of a LineHarald Welte1-1/+28
So far, there was no way to set the line->name field at all.
2011-08-16LAPD: Propagate lapd_receive() errors to the E1 driverPablo Neira Ayuso5-8/+44
Scenario: BTS are configured and working, then the BSC stops working for some reason (crash or administrative stop). If the BSC comes back to life, LAPD among other things does not know about the previous existing TEIs. Instead of ignoring these frames, we notify the driver that we are seeing frames with unknown TEIs, so it can try to recover, e.g. by resending the SABM message.
2011-08-16LAPD: Use proper log levels and prefix all messages with LAPDHarald Welte1-26/+29
2011-08-16LAPD: Remove all calls to 'assert' from the codeHarald Welte1-4/+11
For a system-level daemon, no protocol parser error should ever call assert, which would take down the entire process.
2011-08-16DAHDI: Fix case where we have multiple E1 ports/cards (spans)Harald Welte1-1/+7
DAHDI creates one device node for every E1 timeslot, starting from '1', and keeps incrementing that number even for additional ports/cards. Thus, we have to use the e1inp_line number multiplied by 31 as a base.
2011-08-16include: add missing ipa.h to Makefile.am so make distcheck works againPablo Neira Ayuso1-0/+1
2011-07-21don't use DLRSL, as it will be removedHarald Welte1-1/+1
2011-07-19update to comply with libosmocore namespace fixesHarald Welte12-190/+190
This updates the code and brings it in sync to libosmocore git commit 892e621fec571c7cba3573caa0d328ed1b25d8ee
2011-07-18talloc: revert to use talloc inside libosmocoreHarald Welte17-17/+16
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.
2011-07-08ipaccess: ipaccess_fd_cb needs to be externPablo Neira Ayuso1-1/+1
2011-07-08ipaccess: hack to get openBSC's ipaccess-config tool workingPablo Neira Ayuso2-1/+4
Export one function that we shouldn't, it's a quick way to fix the ipaccess-config in openBSC.
2011-07-08hsl: close socket if we destroy the signalling linkPablo Neira Ayuso1-0/+14
As we do in ipaccess driver, the socket is not useful anymore if the BSC/BTS decides to close the signalling link.
2011-07-08tests: add missing hsl examplesPablo Neira Ayuso2-0/+506
Hm, it seems I forgot to git add them :-(.
2011-07-08tests: convert IPA BTS example to use event-oriented approachPablo Neira Ayuso1-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.
2011-07-08hsl: BTS supportPablo Neira Ayuso8-41/+157
This patch adds the BTS support for the hsl driver. It includes two examples under the tests/ directory.
2011-07-08tests: close OML and RSL if set for the BSC examplePablo Neira Ayuso1-2/+4
We only close the OML and RSL links if they are indeed up.
2011-07-08ipaccess: add bugtrag for the RSL link becomes up casePablo Neira Ayuso1-0/+9
The RSL signal link becomes up for the ipaccess driver is tricky. If the BSC forgets to use the E1 line used by OML for the RSL link, we run into trouble. This patch adds a bugtrap so people don't forget to appropriately handle this case.
2011-07-08tests: example BTS now sends an OML SW ACT REQPablo Neira Ayuso1-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.