Commit Graph

39 Commits

Author SHA1 Message Date
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 975e34211b Call control: Minor logging fixes 2017-10-22 19:23:02 +02:00
Andreas Eversberg 1a4a08386c Only dial if call is on-hook or disconnected 2017-10-02 12:34:34 +02:00
Andreas Eversberg 08dd180ea0 Add echo test feature to check mobile phone's mic + speaker
Add '-e' to command line option, but do not select MNCC nor call device
2017-09-21 20:29:30 +02:00
Andreas Eversberg a52c89800c SDR: Split SDR config from main_mobile.c to sdr_config.c 2017-09-02 07:34:48 +02:00
Andreas Eversberg 743d147d16 SDR: Turn TX power off if requested by network
The power level is ramped smoothly within 1 ms up or down.

R2000, AMPS and C-Netz turn off power when voice channel is not i use.

C-Netz turns off power between OgK timeslots.
2017-09-01 18:42:46 +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 ca10048e5c Rename filter -> iir_filter (file name and instance name)
This is useful when using fir_filter in the future.
2017-05-15 21:46:32 +02:00
Andreas Eversberg 8e0d7d2513 samplerate.c: Allow transcoding to lower sample rate other than 8000 Hz 2017-03-04 16:52:20 +01:00
Andreas Eversberg 4201717f36 Rework on audio buffer management
Use function to get samples to be sent to fill audio buffers to a
level. This replaces the function that only shows how much data
is in the buffer.

This way the function itself can control how much data will be
sent.
2017-03-04 06:35:38 +01:00
Andreas Eversberg 2e1999b1ee Start streaming of sound/SDR just before main loop
This prevents buffer overflow during init/creation processes
2017-02-25 07:09:53 +01:00
Andreas Eversberg 5026e161aa Open audio device for call (headset) after everything is prepared
It is not allowed to stall after trigger reading of audio device.
2017-02-18 21:01:18 +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 2d8d7e62c1 Use global init/cleanup function 2017-02-18 21:00:58 +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 c5cf88ce57 Prepare for SDR: Add bandwidth and deviation info to sender instance 2017-02-18 21:00:47 +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 d47853201c common code: Update call console only when it changes or after debug line 2016-12-11 14:21:22 +01:00
Andreas Eversberg d52d0242bf Output enhancements
* no more flicker on wave form display while scrolling
* dialing console gets cleared/overwritten correctly
* fixes on stderr output
2016-11-29 07:49:21 +01:00
Andreas Eversberg 4dacec9ceb A-Netz: Use Operator number 010 when calling from mobile station
Also use no caller ID (NULL). The call control code processes the
caller ID and dialed number correctly.
2016-11-13 06:04:54 +01:00
Andreas Eversberg 27938d111e Added and fixed extra compiler warnings 2016-10-07 08:55:18 +02:00
Andreas Eversberg 541eafe59e Common code: Add call state debugging 2016-08-07 17:23:56 +02:00
Andreas Eversberg e69d74ac45 Send test tone towards mobile when no headphone sound device is selected 2016-08-03 12:03:55 +02:00
Andreas Eversberg 0593f7d066 Fix typos 2016-07-24 12:31:09 +02:00
Andreas Eversberg c273bbc5ff Remove console line before printing debugging and on exit 2016-07-24 12:31:08 +02:00
Andreas Eversberg 5807a49f49 Release active call, when disconnect is received from network
If early disconnect is received, the connecion is kept established, so the
announcement can be heared by mobile subscriber.
2016-07-24 12:31:08 +02:00
Andreas Eversberg 4745b29115 NMT: Caller ID support 2016-07-24 12:31:07 +02:00
Andreas Eversberg 62b3712ce5 common code: Check and ignore events without callref set 2016-07-09 11:27:02 +02:00
Andreas Eversberg d851c37eac common code: Release MNCC call 30 seconds after listening to announcement 2016-06-19 17:46:56 +02:00
Andreas Eversberg d2c4ca4fa9 Implementation of Advanced Mobile Phone Service (AMPS) 2016-06-17 17:03:29 +02:00
Andreas Eversberg 7d5d3da8d3 Add function to display wave form from input/loop
Use 'w' to toggle display.

Move terminal input processing and main loop to main_common.c
2016-06-17 17:03:28 +02:00
Andreas Eversberg 1d20119d85 common code: Call control allows to re-dial after disconnect
No hangup key required before that anymore.
2016-06-12 16:16:37 +02:00
Andreas Eversberg 7434e21dc2 Multi transceiver support
This can be multiple transceivers on multiple sound cards.

Two transceivers can be bundled on one sound device as well, using both channels.
2016-05-08 15:48:13 +02:00
Andreas Eversberg 9de121109d common code: Sample rate conversion now supports any rate above 8000 Hz 2016-04-17 16:49:39 +02:00
Andreas Eversberg 0dc81fe210 Prepare for NMT: Fixes and improvements at common code 2016-03-13 09:12:23 +01:00
Andreas Eversberg 946c9ce10a initial git import 2016-03-13 09:12:11 +01:00