Commit Graph
100 Commits
Author SHA1 Message Date
Andreas Eversberg d09e9c95fd C-Netz: Make memory card emulation work with AEG OLYMPIA phone
Now it is ok to have the first clock pulse after reset. The software
does not care. At least there must be a clock after rising the reset.
2023-08-27 11:52:53 +02:00
Andreas Eversberg 20b5132ef7 Fix notch filter and add a test for it 2023-06-10 11:33:58 +02:00
Andreas Eversberg 963be6e2c5 Osmo-CC: Add R1 interface type 2023-06-10 11:33:14 +02:00
Andreas Eversberg 4c54be0f4d Add R1 debugging class 2023-06-10 11:32:48 +02:00
Andreas Eversberg 0e132f6167 Fix minor compiler warning in sdr.c 2023-05-25 21:56:48 +02:00
Andreas Eversberg 5816f8e7c0 libosmo-cc: Allow remote port change with RTP
In case of port translation, the different remote RTP port is adopted
for further transfer.

This happens, if remote peer uses NAT that changes source port also.
2023-03-26 17:06:37 +02:00
Andreas Eversberg 5c20a3e8b7 libosmo-cc: Fix critical bug in RTCP handling
Upon an RTCP read event, read from RTCP socket and not from RTP socket.
2023-03-26 12:03:53 +02:00
Andreas Eversberg 28a297f97d Generate compador table only once when the application starts 2023-03-18 19:49:56 +01:00
Andreas Eversberg bdecacc99e Changed logging of libosmocc to osmocom style 2023-01-22 18:28:34 +01:00
Andreas Eversberg 746c1fb4ff Add libph_socket (not used by any app now) 2023-01-21 15:15:57 +01:00
Andreas Eversberg 9f662d309f Add libselect to use select instead of polling all file descriptors 2023-01-21 15:15:52 +01:00
Andreas Eversberg ffaed13648 Make libdebug osmocore complatible in some places 2023-01-21 15:15:42 +01:00
Andreas Eversberg f4abbaf027 Make libtimer to be osmo_* compatible in some places 2023-01-21 15:15:39 +01:00
Andreas Eversberg 3bc3e67abb libosmo-cc: Fixed NULL-pointer bug 2022-12-16 12:43:20 +01:00
Andreas Eversberg fd3b4dae50 FSK modulator improvements
1. Phase is now changed proportional to the time of the bit change, if
   it happens somewhere between samples. The amount of phase change per
   bit is now the same for all bits, no matter how many samples
   currently lay inside this bit.

2. IIR filter is removed, because it causes distortions. A cosine shape
   is now used to transit between phase change of F0 to F1 and vice
   versa. This limits the spectrum. This filter is optional.
2022-12-16 12:43:19 +01:00
Andreas Eversberg 7609e98b8f Resampling filter can now be turned off
Only linear filtering remains when off.
2022-12-16 12:43:16 +01:00
Andreas Eversberg 3d18361d2e Removed obsolete hexdump function from DTMF decoder 2022-12-16 12:43:14 +01:00
Andreas Eversberg 5acdb94f10 Fixed a bug on datenklo's ioctrls 2022-12-16 12:43:11 +01:00
Andreas Eversberg aadfd50a0f Osmo-CC: Change UPDATE to MODIFY message
Naming it UPDATE was not a good idea.

Now this is renamed to MODIFY message, related to MNCC (GSM). It is used
to change media coding during a call. It allows new codec negotiation
using SDP protocol and/or changing RTP peer. Also useful for SIP.
2022-12-16 12:43:09 +01:00
Andreas Eversberg 2110a0f111 osmo-cc: Add private pointer to codecs 2022-11-24 21:16:43 +01:00
Andreas Eversberg 791a1d79a9 osmo-cc: Set session to NULL, if no codec matches
Applications will crash, due to use-after-free bug, if this is not done.
2022-11-24 21:15:47 +01:00
Andreas Eversberg 616a5e2820 DCF77: Add weather info decoding and coding 2022-11-24 21:08:02 +01:00
Andreas Eversberg 5ae64a2712 AMPS: Fix compilation 2022-11-07 18:18:04 +01:00
Andreas Eversberg 508197e9a8 TACS: Corrected TACS power levels in help description 2022-11-07 18:18:00 +01:00
Andreas Eversberg 1eed20420e AMPS: Fixed caller ID transmission 2022-10-30 17:23:25 +01:00
Andreas Eversberg a3835b001d AMPS: Minor fixes at DTX handling 2022-10-30 17:23:24 +01:00
Andreas Eversberg 8e67c3fda0 Golay/GSC paging support 2022-10-30 09:28:34 +01:00
Andreas Eversberg ed0f8694f7 dejitter: Added timeout for interpolation 2022-10-30 09:24:35 +01:00
Andreas Eversberg 825f395e09 Move AMPS/TACS/JTACS into one source directory 2022-10-23 16:56:46 +02:00
Andreas Eversberg 376cef4fa5 Osmo-CC: Add marker bit support 2022-10-23 16:56:40 +02:00
Andreas Eversberg 5684c0a7de Osmo-CC: Add UPDATE messages 2022-10-23 16:56:37 +02:00
Andreas Eversberg b60c844b4f DTMF: Now allows to give duration and pause for digit
Also the dtmf encoder will return less samples, if the digit(+pause)
ends, so that the caller call set the next digit to play seamlessly.

A reset function allows to clear the decoder states, to prevent glitches
when re-attaching to an interrupted stream.
2022-10-23 16:56:36 +02:00
Andreas Eversberg a756ba8fd9 libsample: Add another function for converting between int16_t and sample_t
Now we have speech level and 1mW (0 dBm) conversion functions
2022-10-23 16:56:32 +02:00
Andreas Eversberg 486d6b3780 JTACS (Japanese Total Access Communication System) works now
Tested with MT209 phone.
2022-10-23 16:56:30 +02:00
Andreas Eversberg 2b7efedc48 Refactoring jitter buffer
Features are:
 * Packet based buffer
 * Random in, first out
 * Adaptive delay compensation (voice)
 * Fixed delay (data, optionally MODEM/FAX)
 * Interpolation of missing frames
 * Any sample size
2022-10-23 16:56:27 +02:00
Andreas Eversberg 4fc92eba45 Improved libsamplerate to allow size calculations 2022-09-17 20:50:14 +02:00
Andreas Eversberg 1d77952717 Zeitansage: Removed glitches of some sounds 2022-09-17 20:47:28 +02:00
Andreas Eversberg a7a1ac7c5e TV: Add individual test image for selected color of color bar 2022-09-17 20:47:25 +02:00
Andreas Eversberg 26213d667a Fixed README 2022-09-15 07:23:37 +02:00
Andreas Eversberg b3e00b5085 POCSAG: Minor fixes. 2022-09-15 07:23:37 +02:00
Andreas Eversberg 4e669ecf79 AMPS: Caller ID Support
Support for sending caller ID for newer phones.
Currently does not work with older phones, they will abort.
2022-09-10 21:19:18 +02:00
Andreas Eversberg 1a0813069f NMT: Minor changes 2022-07-31 20:15:22 +02:00
Andreas Eversberg f906fcc708 Improved documents and layout for SIM and magnetic cards 2022-07-23 08:26:57 +02:00
Andreas Eversberg 89e3b89758 C-Netz: Improved RX speech quality and decoder debugging 2022-07-23 08:26:53 +02:00
Andreas Eversberg 059d4f25b1 FuVst: Removed unused scrambler dependency 2022-07-23 08:26:49 +02:00
Andreas Eversberg 8fd8205a6e C-Netz: Changed voice diversion back to 2.4 KHz
Most phones use this deviation. C5 does not for some unknown reason.
2022-07-23 08:26:48 +02:00
Andreas Eversberg b94443e57a Osmo-CC: Minor 'cause conversion' fix 2022-07-23 08:26:45 +02:00
Andreas Eversberg a34ffda422 Osmo-CC: Fixed routing in screen tables 2022-07-23 08:26:44 +02:00
Andreas Eversberg 5335795759 JTACS: Fixed channel allocation, but have no hardware to verify 2022-07-23 08:26:42 +02:00
Andreas Eversberg c6149ed3b4 NMT: Fixes to 'additional info' and added clock (time) support
- untested -
2022-07-23 08:26:30 +02:00
Andreas Eversberg f901eedd8e Osmo-CC: Fixed simple routing using screen option 2022-06-25 14:27:21 +02:00
Andreas Eversberg 5335a77e48 Osmo-CC: Option to remove remote peer, if given by application 2022-06-25 14:26:24 +02:00
Andreas Eversberg 334ead6908 Osmo-CC: Option to override interface name given by application 2022-06-25 14:23:16 +02:00
Andreas Eversberg c3f29a3302 Osmo-CC: Minor compiler warning fix 2022-06-25 14:22:04 +02:00
Andreas Eversberg f4aa9b79bb Osmo-CC: Minor compiler warning fixes 2022-06-19 06:51:49 +02:00
Andreas Eversberg 641ba0881f R2000: Show debugging for IDLE frames
Suppress repeated IDLE frame
2022-06-19 06:51:48 +02:00
Andreas Eversberg 181617aa81 NMT: Show debugging for IDLE frames
Suppress repeated IDLE frame
2022-06-19 06:51:45 +02:00
Andreas Eversberg 6f84314b93 AMPS: Show debugging for filler/system frames
Show them only once when FOCC is enabled.
2022-06-19 06:51:43 +02:00
Andreas Eversberg 253dfcc8bb C-Netz: Fix station list and selection 2022-06-19 06:51:40 +02:00
Andreas Eversberg 7cd3f85294 C-Netz: Show debugging for IDLE (LR and LMR) frames
Suppress repeated IDLE frame
2022-06-19 06:51:38 +02:00
Andreas Eversberg ec286f3d94 C-Netz: Add options to change 'Meldeaufruf' timer and counter. 2022-06-19 06:51:35 +02:00
Andreas Eversberg cb9c85adb5 C-Netz: Add capability of special tunnel base station (bahn-bs)
Totally useless, if you don't have a train phone - don't you?
2022-06-19 06:51:33 +02:00
Andreas Eversberg 26f4b3f711 C-Netz: Cleanup OgK slot allocation and polarity detection
Now you can select between 1 and 8 slots per frame.
2022-06-19 06:51:30 +02:00
Andreas Eversberg 4930da8e0c C-Netz: Add capability of non-standard OgK channel(s) 2022-06-19 06:51:28 +02:00
Andreas Eversberg 4758f16324 Implementation of DCF77 transmitter and receiver 2022-06-18 21:26:02 +02:00
Andreas Eversberg 8c382431b5 sdr: RF level is only provided when requested and available 2022-06-18 21:25:59 +02:00
Andreas Eversberg 1708d24d73 Alsa will indivate RF level with 0 dB 2022-06-18 21:25:58 +02:00
Andreas Eversberg df2b017472 debug: Show debug category together with debug level 2022-06-18 21:25:57 +02:00
Andreas Eversberg 98ed54124a Fixed glitch in sound buffer space calculation
Sometimes the sound buffer (ALSA) returns a few more samples than we
sent to it. In this case we return 0, which means that no data has
to be sent.
2022-06-10 20:22:10 +02:00
Andreas Eversberg ba4c095d09 Added UK0 and PH socket to libdebug 2022-05-29 17:07:28 +02:00
Andreas Eversberg fd81881922 ALSA: Add environment variable to delay input
This helps to avoid corrupted date in rx buffer.

Sorry: No more info, because I really don't know why this happens.
2022-05-29 17:06:23 +02:00
Andreas Eversberg e453c10169 Work on docs 2022-05-29 17:06:21 +02:00
Andreas Eversberg fd5ac46b86 B-Netz: Added more base stations, improved display of station list 2022-02-18 21:11:55 +01:00
Andreas Eversberg e31e095173 Work on docs 2021-12-30 23:34:52 +01:00
Andreas Eversberg f613bfcc37 Added locking functions to libdebug, to avoid printf race conditions 2021-12-30 23:34:45 +01:00
Andreas Eversberg 2ddf33837e Osmo-CC: Correctly bind to local IP address, rather than any IP 2021-12-30 23:34:42 +01:00
Andreas Eversberg e4c2e514d1 Osmo-CC: Fixed RTP port selection option 2021-12-30 23:34:37 +01:00
Andreas Eversberg 4810ff659f Osmo-CC: Fixed originator address info in SDP 2021-12-30 23:34:25 +01:00
Andreas Eversberg 3dcb7b34df Implementation of selective call for classic German 'Sirenensteuerung' 2021-12-12 10:53:27 +01:00
Andreas Eversberg 1bd471a703 When a transmitter is off, send absolutely nothing
This is done by shifting away the transmitter from center (DC) freqency.
Useless code was removed, since there is nothing to be transmitted.
2021-12-12 10:53:27 +01:00
Andreas Eversberg b8352af84d SoapySDR: Minor debug output improvement 2021-12-12 10:53:26 +01:00
Andreas Eversberg 2d23c841a6 Cleanup SDR usage when no channel, but full spectrum is used.
Radio and TV uses full spectrum, so they set channels to 0, this will
define a center frequency only. The spectrum is then processed by the
applications and not by libsdr.

The sample rate must be a factor of 1e9, so that time stamps work
and signal has no gaps/glitchs.
2021-12-12 10:53:26 +01:00
Andreas Eversberg 726453909c work on docs 2021-12-12 10:53:26 +01:00
Andreas Eversberg bcdf61ffa5 Eurosignal: Minor cleanup and fixes 2021-12-12 10:53:26 +01:00
Andreas Eversberg c2a01fb7dd POCSAG: Fixed handling of loopback and scanning feature 2021-12-12 10:53:26 +01:00
Andreas Eversberg dde4113e61 Improvement of Goertzel filter. Using Hamming window now. Add test routine. 2021-12-08 17:24:04 +01:00
Andreas Eversberg d1f6a0f6ce radio: Fixed crash cause by not selecting any RX sink 2021-11-20 10:05:32 +01:00
Andreas Eversberg 86d4523cc7 Correctly show channel frequencies in spectrum view when swapping SDR links 2021-11-07 20:00:43 +01:00
Andreas Eversberg 7fa5f85731 POCSAG 2021-11-07 20:00:43 +01:00
Andreas Eversberg 869625cfcd SoapySDR: Fixed API change from version 0.8.0
The last API check was wrong. 0.7.2 is still old api, but 0.8.0 is new.
2021-11-07 20:00:42 +01:00
Andreas Eversberg c0aab6d60e AMPS: Fixed minor compiler warning 2021-11-07 20:00:42 +01:00
Andreas Eversberg 4e3b7952d1 C-Netz: Improve database dump (press 'i') 2021-11-07 20:00:42 +01:00
Andreas Eversberg 46b00e21f0 SIM sniffer: Minor output fix 2021-11-07 20:00:42 +01:00
Andreas Eversberg 0ebd53ac69 C-Netz: Minor fixes to pulse shaping code 2021-11-07 20:00:42 +01:00
Andreas Eversberg 3e5326f891 Eurosignal: Removed useless channel check 2021-11-07 20:00:42 +01:00
Andreas Eversberg b0b0046ad3 Fixed minor compiler warning 2021-11-07 20:00:42 +01:00
Andreas Eversberg 423bc42429 Refactoring validity check and prefix processing of dialed number
Command line help shows how many digits and what prefixes can be dialed.

Giving a station ID via command line will be checked for being valid.

The number to call the mobile statione will be checked for being valid.

Prefixes that are defined for a nework will be removed from station ID
automatically.

Multiple station ID lengths are supported:
 * C-Netz: 7 or 8 digits, depending on area code length
 * A-Netz: 5 or 7 digits; number is truncated to last 5 digits.
 * IMTS/MTS: 5 or 7 digits, depending on phone's selector switch.
2021-11-07 20:00:42 +01:00
Andreas Eversberg 3a73f31d7e Fixed crash bug in dialing console 2021-11-07 20:00:41 +01:00
Andreas Eversberg 465445aac5 Add Magnetic card emulation for C-Netz
Emulation can be done with a coil connected to sound card.

Alternatively an Attiny85 can be used to control a coil.
2021-11-07 20:00:41 +01:00
Andreas Eversberg 922b4af362 Refactoring ASCCI-Art image printing 2021-11-07 08:55:46 +01:00