This makes sure avmd session uses default values for global settings
if configuration parameters are invalid or missing.
Also add more printing for avmd. Avmd will now report media
bug direction READ_REPLACE/WRITE_REPLACE it has been started on,
and each frame it is processing if debug==1.
This also fixes confusing log on session stopped reported in FS-10732.
avmd_start_app flow will break if 'inbound_channel'/'outbound_channel'
both has been set and the avmd_start_app invoked for inbound call leg.
With this change, it'll be able to work even if we set
'inbound_channel'/'outbound_channel' both.
Fix the following compile-time warning:
making all mod_avmd
make[7]: Entering directory '/home/sk/tmp/lede/build_dir/target-mips_24kc_musl-1.1.15/freeswitch-1.8.0/src/mod/applications/mod_avmd'
CC mod_avmd_la-mod_avmd.lo
mod_avmd.c: In function 'avmd_process_sample':
mod_avmd.c:49:19: error: implicit declaration of function '__isinf' [-Werror=implicit-function-declaration]
#define ISINF(x) (__isinf(x))
^
mod_avmd.c:2038:33: note: in expansion of macro 'ISINF'
if (ISNAN(amplitude) || ISINF(amplitude)) {
^
cc1: all warnings being treated as errors
Makefile:682: recipe for target 'mod_avmd_la-mod_avmd.lo' failed
Fix this by adding the declaration for __isinf(), the same is done for
__isnan() already
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Addition of detectors which skip first few frames
of audio before they start to process it helps
to properly handle some Verizon voicemails.
The result of avmd test using this commit is
OK. All PASS [100]
Thi scommit also resolves:
FS-9588 Add script for outbound avmdy
FS-9589 Add resolution info to events
Now avmd detection is done in detector threads
processing audio frames with different resolution
and/or offsets. Detection decision is based on relative
standard deviation which dynamically adjusts to the signal.
Detection of amplitude, frequency and both simultaneously
is enabled and corresponding setting added to the configuration.
Frequency estimates are filtered with median filter.
This commit also resolves:
FS-9539 - Get estimates with different resolution
FS-9513 - Use adjustable thresholds
FS-9502 - Add detection mode setting
FS-9501 - Enable three modes of detection
FS-9407 - Add check of amplitude for NaN before appending to SMA buffer
FS-9139 - Unit test framework
Increase value of samples to skip at the beginning of new frame.
This increases the robustness against false detections observed
on German voicemail from Switzerland (see wav audio attached
to case FS-9447).
Now avmd can be properly called from dialplan.
Application interface to start/stop avmd
session consists of start/stop app methods.
Backward compatible, old APP syntax left
but will be described in docs as deprecated.