aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2023-07-18e1_recorder: Fix potential null-dereferenceHEADmasterHarald Welte1-0/+1
Fixes: CID#307523: Dereference null return value (NULL_RETURNS) Change-Id: I481f0695f971f5cd2e77b8c9c62d423a70e0840d
2023-02-06handle telnet_init_default() error caseHarald Welte1-2/+6
Closes: CID#307532 Change-Id: I0210b535b844529e217fd5d6ffb01f94a262dc9c
2022-12-19osmo-e1-recorder: Transition to use of 'telnet_init_default'arehbein1-1/+1
Related: OS#5809 Change-Id: Id8148f71f4231de40c4762094e2969d11821e5c4
2022-11-06Fix use of logging_vty_add_cmds(void) API function.Harald Welte1-1/+1
This function never accepted any arguments. However, a sloppy declaration in the header file as logging_vty_add_cmds() allowed to pass any number of any type arguments until recently. Change-Id: Icdbe2f253c9e17ff82bd3b1dc3d4fbea4ad6f333
2020-06-09fix "-Werror" build against latest libosmo-abisHarald Welte3-8/+8
libosmo-abisrecently marked the 'out_cb' of the subchan_demux as 'const', which caused compiler warnings/errors. Related: libosmo-abis.git Ia082b9fddf03d02afd007825a1588a3ef0dbedae Change-Id: I0cf430980e50fa8094f0efc7642004fb5923c4c6
2019-12-04make e1cap format portableHarald Welte1-1/+4
The original format included a 'struct timeval' into the packet header, which unfortunately is non-potrable between e.g. i386 and amd64. Change-Id: I0d22ad8f772d173c2252c2f6c562faee2e578806
2019-12-04e1_recorder: Skip storing data to disk if line is in ALARM stateHarald Welte2-0/+31
Change-Id: Ie4c671053d372bc700f506198d1916853da03b9e
2019-12-04e1cap_dump: Avoid deprecated osmo_init_logging() APIHarald Welte1-1/+1
Change-Id: I7d9d88eb5615f6b323b6c36eceb4d847bae01d1d
2019-12-04e1_recorder: Avoid deprecated osmo_init_logging() APIHarald Welte1-1/+1
Change-Id: Ib0e7c90eb8049acd48d6b3cf32ec2fc2c7a2ef29
2019-12-04e1cap_dump: Add -h and -V to print help / version of programHarald Welte1-1/+23
Change-Id: I621c1f15e1bdb38691ae1fc50c5190ae2701eb58
2019-12-04e1_recorder: Add --help and --version command line argumentsHarald Welte1-3/+23
Change-Id: Ie676466e5406243cf4205948cddd95426e2b8c10
2019-12-04print error message when config file cannot be openedHarald Welte1-1/+5
Change-Id: I52514adf853c0d2dc5114864f0713e549733786d
2019-12-04exit(2) on unsupported positional arguments on command lineHarald Welte2-0/+10
Change-Id: I6d4efa6ddef41607aecd5ceee78e400db821292f
2019-12-04vty: Make sure to save timeslot mode in lowercase (as vty expects)Harald Welte1-1/+1
Change-Id: I9b11fbe3bf85b7096a3bd5f9b67168350e66a90a
2019-12-04vty: don't store configurations for timeslots in mode NONEHarald Welte1-0/+3
This reflects what happens in libosmo-abis during 'show e1' and makes sure we don't attempt to write for more TS than exist (e.g. in the T1 case). Change-Id: Iaeac2d080ae3ddc27901cbc4be5220100e9820a8
2019-11-24e1cap_dump: fix superchannel without pcap outputHarald Welte1-1/+1
We have to check if g_pcap_fd is >= 0,as we initialize it to -1. Change-Id: I458c02b4619b6fb2c7d30b1ce3bbac86243a6977
2019-11-24convert build system to autotoolsHarald Welte2-19/+55
Change-Id: I705b5356309507c39eaf517ca5b9ce0e1aa89852
2019-11-24fix various compiler warningsHarald Welte3-5/+13
Change-Id: I65a862132563f578eff11b8d085960b820f5d4b7
2019-11-24storage.c: Fix compiler error due to missing writev() declarationHarald Welte1-0/+1
storage.c:90:7: error: implicit declaration of function ‘writev’; did you mean ‘write’? [-Werror=implicit-function-declaration] 90 | rc = writev(g_out_fd, iov, ARRAY_SIZE(iov)); | ^~~~~~ | write Change-Id: If98737199f5a6e8fb37a4fd6403ee973dcf70612
2016-11-14e1_recorder: Add LAPD PCAP dump support0.2Harald Welte1-1/+41
We can now write a PCAP file from the HDLC-decoded super channel.
2016-11-14hdlc: add call-back function for completely decoded HDLC framesHarald Welte2-5/+32
... and some more comments/documentation
2016-11-14e1cap_dump: Implement functional HDLC decode of super-channelHarald Welte3-11/+105
Finally the bit ordering and bit format of the SuperChannel has been figured out. * the data as read from DAHDI must be flipped (0->1 / 1->0). why? * the data must be read lsb-first when converting into a bit-buffer We are now getting the following output e.g. for a OM2000 "TX Configuration Request" message: fa 03 8a 8a 80 80 00 13 00 b0 0b 00 ff 01 20 00 2e 2b 1c 00 06 01 95 81 76 00 e9 bf ^ lapd hdr ^ OML ^l ^OM2000 TX Config Req for 43 dBm
2016-11-14hdlc: Simplify + Fix HDLC implementationHarald Welte2-53/+25
* remove the notion of states, as there is really only one state * implement zero removal / bit stuffing for synchronous links
2016-11-14hdlc: Add some more comments to the code [cosmetic]Harald Welte1-2/+16
2016-10-26WIP: More work on SuperChannel decode, but it doesn't work yet...Harald Welte4-0/+162
2016-10-23e1cap_dump: Add SC (Super Channel) modeHarald Welte1-1/+72
In the super channel mode, it seems the BTS transmits one byte in each timeslot, accross the entire link. This basically means that if you have a 10 byte long signalling message to be sent, its first byte will be in TS1 up until the tenth byte in TS10. As we are reading in 160 byte chunks from the E1 timeslots, we build a matrix with 160 columns (for each byte) and 24/30 rows (timeslots). So we write 24 times 160 bytes into the matrix. Once we have completed all timeslots, we start to read the matrix by reading byte 0 of each timeslot (in incrementing TS order), next byte 1 of each timeslot, ... until we end up having read 160 times 24 bytes from the matrix. The resulting bitstream needs to be HDLC-synchronized and the resulting messages passed up for further decoding.
2016-10-19e1_recorder: add config option for configuration file0.1Harald Welte1-1/+27
2016-10-19e1_recorder: propagate errors to main, where we exit() in case of failing to ↵Harald Welte2-2/+9
open file
2016-10-19e1_recorder: Add signal handlers for log file rotation + talloc reportHarald Welte3-2/+28
2016-10-19e1_inp: Use HDLC mode for signalling, not SIGNHarald Welte2-4/+4
The SIGN mode implies that LAPD instances are bound to the timeslots, which is of course not what we want in a pure capturing/recording scenario. Instead, use the new E1INP_TS_TYPE_HDLC mode, which allows us to capture any HDLC framed messages on E1/T1 timeslots, whether LAPD or e.g. MTP.
2016-10-19e1cap_dump: Add 16k sub-channel demux + filterHarald Welte1-15/+51
We can now filter a given 16k sub-slot out of the capture data and export it to stdout.
2016-10-19e1cap_dump: Add capability to filter on a given line+timeslot and for binary ↵Harald Welte1-8/+66
output
2016-10-19storage.c: Remove debug printf()Harald Welte1-1/+0
2016-10-19e1cap_dump: Print human-readable timeHarald Welte1-2/+18
2016-10-18add a command line tool for dumping the contents of a capture fileHarald Welte4-1/+98
2016-10-18storage.h: make sure we use packed attribute not aligned.Harald Welte1-1/+6
This was a stupid mistake when writing the header initially, let's try to fix it while staying binary compatible.
2016-10-18e1_recorder: Fix msgb memory leaks in absence of a mirror portHarald Welte1-2/+5
2016-10-17storage.h: document fields of headerHarald Welte1-0/+6
2016-07-29first functional version that actually records + mirrors dataHarald Welte4-9/+102
2016-07-28fix compilationHarald Welte1-2/+2
2016-07-28initial import of incomplete project to record E1 linesHarald Welte6-0/+383