Commit Graph

196 Commits

Author SHA1 Message Date
Andreas Eversberg
9f662d309f Add libselect to use select instead of polling all file descriptors 2023-01-21 15:15:52 +01:00
Andreas Eversberg
f4abbaf027 Make libtimer to be osmo_* compatible in some places 2023-01-21 15:15:39 +01: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
89e3b89758 C-Netz: Improved RX speech quality and decoder debugging 2022-07-23 08:26:53 +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
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
4e3b7952d1 C-Netz: Improve database dump (press 'i') 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
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
922b4af362 Refactoring ASCCI-Art image printing 2021-11-07 08:55:46 +01:00
Andreas Eversberg
6fa74a1296 Refactor global variables for signal processing
These are:
	device, sample rate, buffer, latency
Called now:
	dsp_device, dsp_samplerate, dsp_buffer, dsp_latency
Call audio device:
	call_device, call_samplerate, call_buffer
2021-10-24 06:25:10 +02:00
Andreas Eversberg
3293dfb500 C-Netz: Fix calls to 8-digits subscriber numbers 2021-09-17 16:16:20 +02:00
Andreas Eversberg
3fce0403fd C-Netz: Updated base station list 2021-09-17 16:16:10 +02:00
Andreas Eversberg
3d9481177b Config file path can be changed by command line option "--config <path>" 2021-03-20 11:19:37 +01:00
Andreas Eversberg
8c0a25f3b0 Added special strdup to liboptions, to prevent memory leaks for option strings
If you are doing memory leak debugging you don't want to see any leaks when
stopping the program.
2021-03-07 10:38:38 +01:00
Martin Hauke
a07764f0d9 Fixed typos in cli output and source code comments 2021-01-03 09:57:03 +01:00
Andreas Eversberg
2cb2d5f3ac Replaced MNCC by OSMO-CC 2020-12-29 11:11:41 +01:00
Andreas Eversberg
d0d14e2acf Add G.711 codec (alaw / ulaw conversion) 2020-12-29 11:11:41 +01:00
Andreas Eversberg
59119f380f C-Netz: Implementation of a Funkvermittlungsstelle (FuVSt)
Useful to connect with a Funkfeststation (FuFSt).
2020-12-21 08:38:44 +01:00
Andreas Eversberg
118b0260bc C-Netz: Fix scheduling of frames when there is nothing to send 2020-12-21 08:38:44 +01:00
Andreas Eversberg
ed72e29dbb Add tx-gain option 2020-10-29 07:39:27 +01:00
Andreas Eversberg
faf7c7c5c2 C-Netz: Display "Bahn MS", "Bahn BS" and "Datenbetrieb" with messages 2020-10-29 07:36:40 +01:00
Andreas Eversberg
ff498d10e1 C-Netz: Added option to define time slots of OgK 2020-10-29 07:36:26 +01:00
Andreas Eversberg
f468b2dd9f C-Netz: Minor fixes 2020-10-29 07:36:14 +01:00
Andreas Eversberg
7189984bbb C-Netz: At correct timeslot switch channel mode
Without this, the first BQ(K) message came to early, so that BSA 51
released when receiving ZFZ(K) one frame too early.
2020-10-29 07:35:50 +01:00
Andreas Eversberg
63a2bc8a6b C-Netz: Allow dialing 8-digit numbers (FuVSt > 9) 2020-05-23 14:25:34 +02:00
Andreas Eversberg
89602822e6 C-Netz: Correct check for valid channel numbers 2020-02-18 19:03:03 +01:00
Andreas Eversberg
ddce867821 Fixed compiler error for old GCC 2020-01-12 11:17:58 +01:00
Andreas Eversberg
f132059edf Add clock function to call interface
Implementations will have a clock to play tones, if no clock is
available from a transceiver.
2020-01-12 11:17:58 +01:00
Andreas Eversberg
570b2a5bca C-Netz: Added new list of base station names and IDs
List contains 1991 and 1999 bwase stations
2020-01-04 09:22:02 +01:00
Andreas Eversberg
4cd9cb787e C-Netz: --ms-power defines power level (not P-bits)
Also the level 8 can be selected. Actually level 6 is selected, but
reduced to 8 when making a call.
2020-01-02 09:45:33 +01:00
Andreas Eversberg
150a77b69d Add support for AM to libmobile and libsdr 2019-12-08 17:26:44 +01:00
Andreas Eversberg
c2f14834e5 Rename dbm0 (level) to speech (level)
In mobile communications we use speech level instead of milliwatts.
The deviation (FM) is always based on speech level, not on 1 milliwatt.
2019-12-08 17:24:36 +01:00
Andreas Eversberg
360729d270 C-Netz: Added list of base station names and IDs
Automatic polarity detection is now done by using the polarity of last
transmitted message. We cannot use two base station IDs anymore, to
detect the polarity. Now we deal only with the defined base station ID.
2019-11-29 15:58:32 +01:00
Andreas Eversberg
008bca784b C-Netz: Show if emergency call is made 2019-11-29 15:58:32 +01:00
Andreas Eversberg
195f7481d8 C-Netz: Correctly synchronize time stamp of SpK to OgK
Even if the SpK is not used (yet), it must count time stamp (bit_time) so that
SpK keeps in sync with the OgK, until frames are received from mobile station.
2019-10-26 16:57:01 +02:00
Andreas Eversberg
6dd9999dc8 C-Netz: Fixup for broken Authentication patch
MT calls did not work.
2019-10-26 16:57:01 +02:00
Andreas Eversberg
d6579c1244 Allow giving alphanumeric channels (Prepare for IMTS) 2019-08-26 21:10:20 +02:00
Martin Hauke
75765d49b7 Fixed many typos in output and source code comments 2019-07-15 21:14:52 +02:00
Andreas Eversberg
1eac087935 Output ASCII art image after all init functions (inside main_mobile.c) 2019-06-30 14:51:01 +02:00
Andreas Eversberg
13245c56f6 C-Netz: Add authentication support (process only)
No real authentication, since the algorithm and the keys inside the cards
are not known. A challenge can be specified and optionally the response
can be verified.
2019-06-30 14:51:01 +02:00
Andreas Eversberg
e4314749fd Fixup for fast mathm
Because users of libfm do always call fm_init and fm_exit, it must be
included in every build.
2019-03-23 07:57:28 +01:00
Andreas Eversberg
1321f66456 C-Netz: Add option to control voice deviation 2019-01-02 15:58:34 +01:00
Andreas Eversberg
32025915d5 Make run faster on ARM CPUs using fast math approximation
Use --fast-math to use sine/cosine tables and approximate atan2.
2018-11-10 15:18:28 +01:00
Andreas Eversberg
e9a7f610ee Compandor: Remove unused option for unaffected level 2018-10-14 13:07:25 +02:00