Commit Graph

83 Commits

Author SHA1 Message Date
Andreas Eversberg
c844fcc1f6 If a mobile inscribes, show station ID on the console
If the console's station ID is not set, it will be automatically set
when a call is made from the mobile phone or when it performs
inscription to the network. (Only works for cellular networks with
inscription support.)
2024-02-18 16:23:30 +01:00
Andreas Eversberg
3158c48365 Move from local to external osmo* libraries
src/libdebug -> libosmocore
src/libselect -> libosmocore
src/libtimer -> libosmocore
src/libosmocc -> libosmo-cc
src/libg711 -> libosmo-cc
2024-02-18 16:23:29 +01:00
Andreas Eversberg
f4abbaf027 Make libtimer to be osmo_* compatible in some places 2023-01-21 15:15:39 +01: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
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
1a0813069f NMT: Minor changes 2022-07-31 20:15:22 +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
181617aa81 NMT: Show debugging for IDLE frames
Suppress repeated IDLE frame
2022-06-19 06:51:45 +02: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
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
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
ed72e29dbb Add tx-gain option 2020-10-29 07:39:27 +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
d6579c1244 Allow giving alphanumeric channels (Prepare for IMTS) 2019-08-26 21:10:20 +02:00
Andreas Eversberg
e4fcc080df NMT: Fixed traffic area (Y1Y2) digit conversion 2019-03-09 09:51:09 +01:00
Andreas Eversberg
5311f44daa minor fixes of some prints; fix NMT message counter bug 2018-12-23 19:53:28 +01:00
Andreas Eversberg
73757ba083 NMT: Fix test of SMS code for different time zones 2018-11-10 15:18:28 +01:00
Andreas Eversberg
d3385b498d NMT: Fixes on channel coding/handling 2018-02-15 08:00:12 +01:00
Andreas Eversberg
1a341f6b4e Restructure: Move debug from common code to 'libdebug' 2017-12-03 08:45:58 +01:00
Andreas Eversberg
ed31a26eba Restructure: Move sample from common code to 'libsample' 2017-12-03 08:45:48 +01:00
Andreas Eversberg
7b539d5dc7 Restructure: Move mncc from common code to 'libmncc' 2017-11-25 19:28:33 +01:00
Andreas Eversberg
fd3a4d7ac2 Restructure: Move dtmf from common code to 'libdtmf' 2017-11-25 19:23:46 +01:00
Andreas Eversberg
b605da1aff Restructure: Move timer from common code to 'libtimer' 2017-11-13 20:00:52 +01:00
Andreas Eversberg
486d2d5dbe NMT: Fixup assign traffic channel
dms_call state now belongs to transaction, so it is kept while switching
to traffic channel.
2017-11-11 09:35:44 +01:00
Andreas Eversberg
87a21a285a NMT: Assign traffic channel for outgoing and incoming calls
This way the control channel stays available for other (idle) phones.

No more loss of coverage for other phones, when a call to a mobile is
made.

It is still possible to define a combined control+traffic channel.
(e.g. for single channel setup)
2017-11-05 16:58:37 +01:00
Andreas Eversberg
ee3fbeb03b Split call control from built-in call console by using MNCC layer 2017-11-05 16:58:31 +01:00
Andreas Eversberg
b32e0ab602 Implementation of RX level squelch (for A-Netz and B-Netz)
Use -S <dB> for setting RF level or use -S auto for auto level.

When squelch closes, audio is muted. If squelch is closed for some
seconds (depending on network), call is released. (RF loss condition)

The previous loss detection has been removed
2017-10-22 19:23:08 +02:00
Andreas Eversberg
f7476bce41 NMT-900: Handle channels >= 1025 correctly 2017-10-22 19:23:04 +02:00
Andreas Eversberg
595fd845e0 NMT: Removed double implementation of caller ID encoding 2017-10-12 19:46:32 +02:00
Andreas Eversberg
534411d660 New common FSK implementation, replaces all individual implementations 2017-08-09 17:27:13 +02:00
Andreas Eversberg
8ce3ff455d Add incoming answer to call control, also allow to send recall tone 2017-08-09 17:27:08 +02:00
Andreas Eversberg
7c9ce960d7 Fixes of checking digits 2017-08-08 12:54:21 +02:00
Andreas Eversberg
6c64025717 Move FFSK modem from NMT to common code, so it can be used by other networks 2017-08-08 12:53:34 +02:00
Andreas Eversberg
3274812eab NMT-900 System implementation
NMT can now be run as 450 or 900 Network.
2017-08-08 12:52:45 +02:00
Andreas Eversberg
0c9de251be NMT: Implement Hagelbarger Code
This will correct burst errors of received messages. If the message
is too corrupted, it will be ignored, because some element may not
match then. The digits and line signals are checked for consistency,
since they are repeated serveral times in a message.
2017-08-08 12:52:29 +02:00
Andreas Eversberg
538b4a42ec Add wave file playback to replace TX audio 2017-07-15 07:38:16 +02:00
Andreas Eversberg
3774519631 NMT: Fixed "use after free" bug 2017-07-15 07:38:13 +02:00
Andreas Eversberg
7a9762e28e NMT: Disable Supervisory signal during DMS (SMS) transfer and use Timeout
There is no Supervisory signal during DMS transfer, so there must be
no timeout for Supervisory signal. Instead, the SMS layer will timeout
after some seconds without receiving data.
2017-06-11 08:13:52 +02:00
Andreas Eversberg
50b2021d21 NMT 450: Support for other European counties, like Belgium, Czech, Slovakia 2017-06-10 13:08:51 +02:00
Andreas Eversberg
e653475ff7 NMT: Allow NULL (B'0000') to be used as country selector in traffic area 2017-06-10 13:08:23 +02:00
Andreas Eversberg
6adfcf7466 Status display
Alows to show status of current channels and users
2017-06-10 13:08:21 +02:00
Andreas Eversberg
4d10ee7c82 No "sdr" audio device option required anymore (when using SDR) 2017-05-17 20:06:42 +02:00
Andreas Eversberg
0611f62b52 Show channel number and basic info when channel was created 2017-02-18 21:02:47 +01:00
Andreas Eversberg
7e45f556ce Correcting all levels and move all remaining integer samples to sample_t
The leves are based on the standards of each mobile network. They
are adjusted to the specified frequency deviation now.
2017-02-18 21:01:13 +01:00
Andreas Eversberg
7ea3bc188d Move samples of int16_t format to sample_t, that is of type double
This prepares the correction of all levels
2017-02-18 21:01:08 +01:00
Andreas Eversberg
8b9277615d Neu structure for the paging process (B-Netz)
Paging tones are not created within sound_alsa.c
The audio API is now responsible to switch to paging channel.
In case of SDR, the sdr.c will switch frequency offset.
2017-02-18 21:00:50 +01:00
Andreas Eversberg
9ff8c3bb25 Rework on audio interface
Sound instance is now called audio instance and uses funcation pointers.
This gives a clean interface to be exchanged with other technologies,
linke SDR.
2017-02-18 21:00:45 +01:00
Andreas Eversberg
d54d3ac265 prepare audio handling for multi carrier SDR 2017-01-07 06:28:24 +01:00
Andreas Eversberg
b1c452cf12 Changed command line options
* All lower case options define common options
* All upper case options define network specific options
2016-11-27 22:06:47 +01:00