Commit Graph

68 Commits

Author SHA1 Message Date
Andreas Eversberg
a20637825a Audio rework, new jitter buffer
Jitter buffer is now based on packets, not on samples. The frames are
dejittered in received form. After reading from jitter buffer, they are
decoded in correct order. If a frame is missing, it is concealed by
repeating audio.
2024-03-30 23:28:05 +01:00
Andreas Eversberg
2dcf10b1b1 Add metering information from osmo-cc to B-Netz and C-Netz
Untested!
2024-02-18 16:23:31 +01:00
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
a949470ec3 AMPS: Add ESN manufacturer names
The ESN list "FCC Public Notice CL-97-70" is found at:
https://web.archive.org/web/19990223224835/http://www.fcc.gov/wtb/cellular/mnfrlst.html

When showing the ESN in logging, the manufacturer name is shown, if
found in the list.

Thanx to shadowcaster3, point to that list.
2023-09-10 21:54:50 +02:00
Andreas Eversberg
f4abbaf027 Make libtimer to be osmo_* compatible in some places 2023-01-21 15:15:39 +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
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
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
5335795759 JTACS: Fixed channel allocation, but have no hardware to verify 2022-07-23 08:26:42 +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
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
Martin Hauke
75765d49b7 Fixed many typos in output and source code comments 2019-07-15 21:14:52 +02:00
Andreas Eversberg
c357ab5ad5 Allow dialing national and international prefix for AMPS/TACS 2019-07-06 07:30:18 +02:00
Andreas Eversberg
5311f44daa minor fixes of some prints; fix NMT message counter bug 2018-12-23 19:53:28 +01:00
Andreas Eversberg
56d8df5351 Rework of displaying supervisory info: NMT and AMPS
Using lower rate to show debug info of supervisory signal.

Display supervisory info for NMT and AMPS at measurement display screen.
2018-08-31 20:05:38 +02:00
Andreas Eversberg
32cefbbffc Transcode fourth digit of TACS phone number correctly, if it is 0. 2018-04-19 21:08:45 +02:00
Andreas Eversberg
3a5fa8837c Improved emphasis 2018-02-16 15:54:39 +01:00
Andreas Eversberg
6df0eb46cc Fix compiler warnings 2018-02-15 08:00:15 +01:00
Andreas Eversberg
1a341f6b4e Restructure: Move debug from common code to 'libdebug' 2017-12-03 08:45:58 +01:00
Andreas Eversberg
ab59a26a51 Restructure: Move mobile from common code to 'libmobile' 2017-12-03 08:45:54 +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
b605da1aff Restructure: Move timer from common code to 'libtimer' 2017-11-13 20:00:52 +01:00
Andreas Eversberg
5c33b8824b AMPS/TACS: Fixing release towards mobile station on FVC
We must continuously send release frames until Signaling Tone changes,
so we know that the phone has received the release.
2017-11-05 16:58:36 +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
f7a0e4622b Display channel offset with TX and RX channel frequencies on startup 2017-10-22 19:23:06 +02:00
Andreas Eversberg
3e1da04f14 AMPS: Minor fixes to loopback test 2017-10-02 12:34:27 +02:00
Andreas Eversberg
c1fe179d5d AMPS: Fix 'use-after-free-bug' after destroying transaction 2017-09-24 14:11:54 +02:00
Andreas Eversberg
94ed39f5e2 JTACS: Implementation of the Japanese variant of TACS 2017-09-01 18:42:54 +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
538b4a42ec Add wave file playback to replace TX audio 2017-07-15 07:38:16 +02:00
Andreas Eversberg
3788b3e8a5 TACS support (variations added to AMPS code)
These are:

- Bandwidth only 25 KHz, so lower deviations
- Data rate only 8000 KHz
- SID is called AID (Area ID)
- MIN1 coding is different
2017-07-15 07:38:09 +02:00
Andreas Eversberg
57d4d1739e AMPS/C-Netz: Correctly release pending transaction when creating a new one
If transactions is created, look on all channels for pending transaction
with same subscriber.

1. Remove that transaction.

2. Make channel return to IDLE.

3. Release call, if callref exists.
2017-06-10 13:08:22 +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
bb64c6b3ba AMPS: Add DTX support
When DTX is enabled (-S dtx=2 or 3), a missing SAT tone causes the receiver
to mute audio and insert a low level of comfort noise.
Also the missing SAT tone will not cause the connection to be terminated.
2017-06-10 13:08:19 +02:00
Andreas Eversberg
56024b384b AMPS: Serveral minor fixes 2017-05-23 18:11:10 +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
bd7ccc5fa0 Add global DC-Filter and remove all individual DC-Filters 2017-02-18 21:01:12 +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
a5fd375237 Fixed typos 2017-02-18 21:00:55 +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