Commit Graph

197 Commits

Author SHA1 Message Date
Andreas Eversberg 28a297f97d Generate compador table only once when the application starts 2023-03-18 19:49:56 +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 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