summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* add libosmotrau.pc to Makefile.amHEADmasterHarald Welte2011-09-031-1/+1
|
* update .gitignoreHarald Welte2011-09-031-0/+2
|
* add 'libosmotrau' for TRAU/RTP related codeHarald Welte2011-09-038-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.
* input: fix multiple BTS attached to single line scenarioPablo Neira Ayuso2011-08-313-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>
* lapd: stop timers in lapd_instance_free()Harald Welte2011-08-261-0/+11
|
* DAHDI: Make sure dahdi_e1_setup() can be called multiple timesHarald Welte2011-08-241-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.
* LAPD: Add function to release/free a LAPD instanceHarald Welte2011-08-242-0/+8
|
* re-introduce optional build of DAHDI input pluginHarald Welte2011-08-243-1/+10
| | | | We should only build it when the dahdi/user.h file is actually present.
* mISDN: optionally bypass kernel LAPD code and use userspace LAPDHarald Welte2011-08-212-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.
* mISDN: use 'struct value_string' instead of local copyHarald Welte2011-08-211-20/+6Star
| | | | | Apparently value_string was not part of libosmocore when the code was written originally...
* e1_input: move the lapd_instance pointer out of dahdi specificsHarald Welte2011-08-213-59/+78
| | | | ... and create a new e1inp_rx_ts_lapd() from dahdi as well
* trau_frame: Add doxygen documentationHarald Welte2011-08-212-6/+35
|
* subchan_demux: add doxygen documentationHarald Welte2011-08-212-29/+84
|
* TRAU: Properly initialize idle framesDieter Spaar2011-08-211-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.
* ipa: export ipaccess_rcvmsg_base() and return intHarald Welte2011-08-192-5/+7
|
* ipaccess: make some functions static that shouldn't be exportedHarald Welte2011-08-192-3/+3
|
* e1_input: rework configuration of virtual E1 line operationsPablo Neira Ayuso2011-08-1911-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);
* input: add rs232 driver for virtual E1 linesPablo Neira Ayuso2011-08-194-1/+308
| | | | | This patch adds the rs232 driver which is used by then bs11_config utility available in openBSC.
* ipa: remove unused 'proto' variableHarald Welte2011-08-191-3/+0Star
|
* ipa: fix compiler warning about ssize_t / socklen_tHarald Welte2011-08-191-1/+1
|
* hsl: use PRIx64 / inttypes.h for uint64_t format stringHarald Welte2011-08-191-1/+2
|
* hsl: remove unsued 'proto' variableHarald Welte2011-08-191-3/+0Star
|
* add string.h include to fix compiler warningHarald Welte2011-08-191-0/+1
|
* ipaccess: don't close the signalling link if we receive bad OML/RSL messagePablo Neira Ayuso2011-08-171-1/+0Star
| | | | | Instead, propagate the error to upper layers. This fixes a segfault in the BSC if bad OML/RSL message is received.
* 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.
* ipaccess: fix segfault if bsc port already in usedPablo Neira Ayuso2011-08-171-2/+0Star
| | | | | | | | | | | 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
* e1_input: fix missing registration of dahdi driverPablo Neira Ayuso2011-08-171-2/+0Star
| | | | | | This patch fixes the registration of the dahdi driver. We were using conditional compilation (HAVE_DAHDI_USER_H) which we don't use anymore.
* E1 input: rename signal_input by e1inp_signal_inputPablo Neira Ayuso2011-08-161-1/+1
| | | | | Comestical change required by patches that port openBSC upon libosmo-abis.
* src: replace S_INP_* signals by S_L_INP_* according to naming policyPablo Neira Ayuso2011-08-166-17/+17
|
* DAHDI: Actually increment e1_input related rate countersHarald Welte2011-08-161-0/+15
|
* E1 Input: better names for rate countersHarald Welte2011-08-161-4/+4
|
* E1 Input: Add rate counters for events related to E1 linesHarald Welte2011-08-163-15/+64
|
* E1 Input: Move 'show e1_*' command to e1_input_vty.cHarald Welte2011-08-161-0/+118
|
* E1 Input: Add VTY command to specify the name of a LineHarald Welte2011-08-161-1/+28
| | | | So far, there was no way to set the line->name field at all.
* LAPD: Propagate lapd_receive() errors to the E1 driverPablo Neira Ayuso2011-08-165-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.
* LAPD: Use proper log levels and prefix all messages with LAPDHarald Welte2011-08-161-26/+29
|
* LAPD: Remove all calls to 'assert' from the codeHarald Welte2011-08-161-4/+11
| | | | | For a system-level daemon, no protocol parser error should ever call assert, which would take down the entire process.
* DAHDI: Fix case where we have multiple E1 ports/cards (spans)Harald Welte2011-08-161-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.
* include: add missing ipa.h to Makefile.am so make distcheck works againPablo Neira Ayuso2011-08-161-0/+1
|
* don't use DLRSL, as it will be removedHarald Welte2011-07-211-1/+1
|
* update to comply with libosmocore namespace fixesHarald Welte2011-07-1912-190/+190
| | | | | This updates the code and brings it in sync to libosmocore git commit 892e621fec571c7cba3573caa0d328ed1b25d8ee
* talloc: revert to use talloc inside libosmocoreHarald Welte2011-07-1817-17/+16Star
| | | | | | 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.
* ipaccess: ipaccess_fd_cb needs to be externPablo Neira Ayuso2011-07-081-1/+1
|
* ipaccess: hack to get openBSC's ipaccess-config tool workingPablo Neira Ayuso2011-07-082-1/+4
| | | | | Export one function that we shouldn't, it's a quick way to fix the ipaccess-config in openBSC.
* hsl: close socket if we destroy the signalling linkPablo Neira Ayuso2011-07-081-0/+14
| | | | | As we do in ipaccess driver, the socket is not useful anymore if the BSC/BTS decides to close the signalling link.
* 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-088-41/+157
| | | | | | 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.
* ipaccess: add bugtrag for the RSL link becomes up casePablo Neira Ayuso2011-07-081-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.