asterisk/main
under de3f5350de codec_builtin.c: G729 audio gets corrupted by Asterisk due to smoother
If Asterisk gets G.729 6-byte VAD frames inbound, then at outbound Asterisk sends this G.729 stream with non-continuous timestamps.
This makes the audio stream not-playable at the receiver side.
Linphone isn't able to play such an audio - lots of disruptions are heard.
Also I had complains of bad audio from users which use other types of phones.

After debugging, I found this is a regression connected with RTP Smoother (main/smoother.c).

Smoother has a special code to handle G.729 VAD frames (search for AST_SMOOTHER_FLAG_G729 in smoother.c).

However, this flag is never set in Asterisk-12 and newer.
Previously it has been set (see Asterisk-11).

ASTERISK-29526 #close

Change-Id: I6f51ecb1a3ecd9c6d59ec5a6811a27446e17065d
2021-08-02 14:16:25 -05:00
..
stdtime Merge "BuildSystem: Cast any intptr_t explicitly to its proposed type." 2018-03-06 13:17:54 -06:00
.gitignore build-system: Allow building with static pjproject 2016-03-01 09:30:43 -07:00
Makefile core: Improve MALLOC_DEBUG for frames. 2019-11-08 10:20:13 -05:00
abstract_jb.c jitterbuffer: Correct signed/unsigned mismatch causing assert 2021-06-24 08:18:19 -05:00
acl.c acl.c: Coerce a NULL pointer into the empty string 2020-07-20 11:38:05 -05:00
adsi.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
alaw.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
alertpipe.c utils: Wrap socket() and pipe() to reduce syscalls 2018-12-07 09:06:08 -05:00
aoc.c various modules: json integer overflow 2019-08-01 15:31:48 -06:00
app.c app.c: make sure that no non-async-signal-safe syscalls are used after 2020-05-08 13:44:08 -05:00
ast_expr2.c Remove #include <sys/cdefs.h> 2020-05-05 10:06:43 -05:00
ast_expr2.fl Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
ast_expr2.h Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
ast_expr2.y Remove #include <sys/cdefs.h> 2020-05-05 10:06:43 -05:00
ast_expr2f.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
asterisk.c asterisk: We've moved to Libera Chat! 2021-05-25 09:20:59 -05:00
asterisk.dynamics Fix error loading res_monitor. 2014-04-23 15:02:39 +00:00
asterisk.exports.in Scope Tracing: A new facility for tracing scope enter/exit 2020-06-02 11:35:07 -05:00
astfd.c main/astfd: Fix GCC8 format-truncation warning. 2018-10-12 12:21:47 -05:00
astmm.c astmm.c: Display backtrace with memory show allocations 2019-09-23 07:25:33 -05:00
astobj2.c Merge "core: Fix ABI mismatch of ao2_global_obj." 2019-09-25 08:16:39 -05:00
astobj2_container.c core: Add AO2_ALLOC_OPT_NO_REF_DEBUG option. 2019-09-23 13:34:14 -04:00
astobj2_container_private.h Astobj2: Allow reference debugging to be enabled/disabled by config. 2015-04-27 18:37:26 -04:00
astobj2_global.c core: Fix ABI mismatch of ao2_global_obj. 2019-09-23 07:35:48 -04:00
astobj2_hash.c core: Add AO2_ALLOC_OPT_NO_REF_DEBUG option. 2019-09-23 13:34:14 -04:00
astobj2_private.h Astobj2: Allow reference debugging to be enabled/disabled by config. 2015-04-27 18:37:26 -04:00
astobj2_rbtree.c core: Add AO2_ALLOC_OPT_NO_REF_DEBUG option. 2019-09-23 13:34:14 -04:00
audiohook.c audiohook: Don't allow audiohooks to attach to hung up channels. 2020-03-13 09:56:40 -05:00
autochan.c autochan/mixmonitor/chanspy: Fix unsafe channel locking and references. 2017-03-15 17:18:55 -06:00
autoservice.c autoservice: Don't start channel autoservice if the thread is a user interface. 2018-06-19 15:02:52 -05:00
backtrace.c main/backtrace: binutils-2.34 fix. 2020-04-06 10:23:20 -05:00
bridge.c app_confbridge/bridge_softmix: Add ability to force estimated bitrate 2020-10-02 08:04:31 -05:00
bridge_after.c stasis/control: Fix possible deadlock with swap channel 2017-09-06 13:00:49 -05:00
bridge_basic.c bridge_basic: Fixed setup of recall channels 2020-11-18 10:13:06 -06:00
bridge_channel.c bridge_channel_write_frame: Check for NULL channel 2021-04-05 07:52:41 -05:00
bridge_roles.c bridge_roles: Use a non-locking linked list where appropriate 2018-02-15 14:31:32 -06:00
bucket.c Introduce astcachedir, to be used for temporary bucket files 2020-12-09 11:17:27 -06:00
buildinfo.c fix a few small things found by using sparse 2008-10-30 16:49:02 +00:00
callerid.c Replace direct checks of option_debug with DEBUG_ATLEAST macro. 2018-03-07 16:03:01 -06:00
ccss.c various modules: json integer overflow 2019-08-01 15:31:48 -06:00
cdr.c main/cdr.c: Correct Party A selection. 2021-07-16 10:26:52 -05:00
cel.c cdr / cel: Use event time at event creation instead of processing. 2019-08-07 07:48:32 -03:00
channel.c core: Don't play silence for Busy() and Congestion() applications. 2021-06-22 08:48:06 -05:00
channel_internal_api.c bridge_channel_write_frame: Check for NULL channel 2021-04-05 07:52:41 -05:00
chanvars.c core: Remove ABI effects of MALLOC_DEBUG. 2018-03-01 13:13:55 -06:00
cli.c Logging: Add debug logging categories 2020-10-02 12:58:18 -05:00
codec.c astobj2: Eliminate legacy container allocation macros. 2018-10-19 17:33:05 -04:00
codec_builtin.c codec_builtin.c: G729 audio gets corrupted by Asterisk due to smoother 2021-08-02 14:16:25 -05:00
config.c config.c: Skip UTF-8 BOMs if present when reading config files 2019-12-19 04:48:58 -06:00
config_options.c astobj2: Remove legacy ao2_container_alloc routine. 2018-11-21 09:56:16 -05:00
conversions.c conversions: Add string to signed integer conversion functions 2020-09-02 06:27:24 -05:00
core_local.c chan_local: Skip filtering audio formats on removed streams. 2021-04-29 08:41:03 -05:00
core_unreal.c core_unreal: Fix deadlock with T.38 control frames. 2021-03-22 07:49:48 -05:00
crypt.c BuildSystem: Fix build on FreeBSD due to missing crypt.h 2017-06-08 10:42:54 -05:00
cygload.c Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
data_buffer.c res_rtp_asterisk: Free payload when error on insertion to data buffer 2020-04-15 13:56:40 -05:00
datastore.c astobj2: Remove legacy ao2_container_alloc routine. 2018-11-21 09:56:16 -05:00
db.c db: Initialize condition primitive before use 2019-12-27 17:32:22 -06:00
devicestate.c stasis: Improve topic/subscription names and statistics. 2019-03-11 11:39:35 -03:00
dial.c dial.c: Removed dial string 80 character limitation 2020-03-31 11:58:48 -05:00
dns.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
dns_core.c dns_txt: Add TXT record parsing support 2020-03-13 09:58:59 -05:00
dns_naptr.c AST-2018-010: Fix length of buffer needed for SRV and NAPTR results 2018-11-14 09:25:32 -05:00
dns_query_set.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
dns_recurring.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
dns_srv.c Compiler fixes for gcc 10 2020-06-10 09:33:28 -05:00
dns_system_resolver.c core: Remove non-critical cleanup from startup aborts. 2018-03-13 13:46:08 -04:00
dns_test.c dns: Fix build when TEST_FRAMEWORK is not defined. 2015-04-10 13:32:24 +00:00
dns_tlsa.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
dns_txt.c core/dns: Add system include required on FreeBSD 2020-04-28 13:05:55 -05:00
dnsmgr.c loader: Process dependencies for built-in modules. 2018-07-26 14:29:18 -05:00
dsp.c dsp.c: Update calls to ast_format_cmp to check result properly 2020-09-23 15:21:48 -05:00
ecdisa.h Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
endpoints.c stasis: Improve topic/subscription names and statistics. 2019-03-11 11:39:35 -03:00
enum.c Merge "enum.c: Make ast_get_txt() actually do something." 2020-03-09 10:15:49 -05:00
event.c various files - fix some alerts raised by lgtm code analysis 2019-11-18 08:30:45 -06:00
features.c ACN: Changes specific to the core 2020-08-18 05:16:43 -05:00
features_config.c astobj2: Eliminate legacy container allocation macros. 2018-10-19 17:33:05 -04:00
features_config.h loader: Convert reload_classes to built-in modules. 2018-03-14 05:20:12 -04:00
file.c main/file.c: Don't throw error on flash event. 2021-05-17 09:26:50 -05:00
fixedjitterbuf.c jitterbuffer: Correct signed/unsigned mismatch causing assert 2021-06-24 08:18:19 -05:00
fixedjitterbuf.h abstract/fixed/adpative jitter buffer: disallow frame re-inserts 2017-01-17 17:08:53 -06:00
format.c astobj2: Eliminate legacy container allocation macros. 2018-10-19 17:33:05 -04:00
format_cache.c codecs: Remove test-law. 2021-01-04 05:00:58 -06:00
format_cap.c format_cap: Perform codec lookups by pointer instead of name 2020-09-15 14:37:36 -05:00
format_compatibility.c codecs: Remove test-law. 2021-01-04 05:00:58 -06:00
frame.c main/frame: Add missing control frame names to ast_frame_subclass2str 2021-01-27 10:40:41 -06:00
framehook.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
fskmodem.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
fskmodem_float.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
fskmodem_int.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
global_datastores.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
hashtab.c core: Remove ABI effects of MALLOC_DEBUG. 2018-03-01 13:13:55 -06:00
heap.c core: Remove ABI effects of MALLOC_DEBUG. 2018-03-01 13:13:55 -06:00
http.c Compiler fixes for gcc 10 2020-06-10 09:33:28 -05:00
image.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
indications.c Compiler fixes for GCC when printf %s is NULL 2020-11-03 15:47:33 -06:00
io.c Core: Add support for systemd socket activation. 2017-06-19 13:33:48 -04:00
iostream.c websocket: Consider pending SSL data when waiting for socket input 2020-01-02 15:51:37 -06:00
jitterbuf.c Fix Common Typo's. 2017-12-20 12:40:01 -05:00
json.c main/json.c: Added app_name, app_data to channel type 2019-03-26 21:16:47 +01:00
libasteriskpj.c PJPROJECT logging: Fix detection of max supported log level. 2017-01-24 11:25:19 -06:00
libasteriskssl.c libasteriskssl: Allow OpenSSL 1.0.2 configured with no-deprecated. 2018-05-20 13:55:26 +02:00
libasteriskssl.exports.in Address OpenSSL initialization issues when using third-party libraries. 2012-01-30 21:21:16 +00:00
loader.c loader.c: Speed up deprecation metadata lookup 2021-04-02 12:58:07 -05:00
lock.c lock: Replace __ast_mutex_logger with private log_mutex_error. 2018-10-19 12:34:08 -04:00
logger.c logger: Console sessions will now respect logger.conf dateformat= option 2021-03-22 11:17:23 -05:00
logger_category.c Logging: Add debug logging categories 2020-10-02 12:58:18 -05:00
manager.c asterisk: Export additional manager functions 2021-01-06 09:11:43 -06:00
manager_bridges.c bridges: Remove reliance on stasis caching 2018-11-26 14:30:02 -07:00
manager_channels.c AMI: Add AMI event to expose hook flash events 2021-05-19 08:40:05 -05:00
manager_endpoints.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
manager_mwi.c mwi core: Move core MWI functionality into its own files 2019-04-23 17:40:15 -05:00
manager_system.c Remove constant conditionals (dead-code). 2017-12-19 09:42:19 -05:00
max_forwards.c Detect potential forwarding loops based on count. 2015-04-17 15:58:07 -05:00
md5.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
media_cache.c res_http_media_cache.c: Parse media URLs to find extensions. 2021-07-19 06:53:50 -05:00
media_index.c media_index.c: Refactored so it doesn't cache the index 2019-01-28 12:26:58 -07:00
message.c Updates for the MessageSend Dialplan App 2021-05-06 06:23:51 -05:00
mixmonitor.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
mwi.c mwi: Update the MWI core to use stasis_state API 2019-07-08 18:12:49 -05:00
named_acl.c acl: implement a centralized ACL output mechanism for HAs and ACLs. 2020-03-31 11:08:45 -05:00
named_locks.c core: Use macros to generate ao2_container callbacks where possible. 2017-12-30 13:20:16 -05:00
netsock2.c netsock2: Add ast_sockaddr_resolve_first_af to netsock2 public API 2018-05-21 11:03:10 -05:00
optional_api.c optional_api: Refactor to use vector's and standard allocators. 2018-02-12 22:53:35 -05:00
options.c Introduce astcachedir, to be used for temporary bucket files 2020-12-09 11:17:27 -06:00
parking.c stasis: Improve topic/subscription names and statistics. 2019-03-11 11:39:35 -03:00
pbx.c core: Don't play silence for Busy() and Congestion() applications. 2021-06-22 08:48:06 -05:00
pbx_app.c cli: Enable ast_cli_completion_add on public completion generators. 2018-03-15 07:25:28 -04:00
pbx_builtins.c pbx_builtins: Corrects SayNumber warning 2021-06-15 09:00:14 -05:00
pbx_functions.c Fix some doxygen and curly placement. 2018-06-19 10:46:46 -06:00
pbx_hangup_handler.c cli: Fix various CLI documentation and completion issues 2017-02-13 11:33:15 -05:00
pbx_ignorepat.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
pbx_include.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
pbx_private.h pbx: Create pbx_sw.c for management of 'struct ast_sw'. 2016-07-21 13:58:26 -04:00
pbx_sw.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
pbx_switch.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
pbx_timing.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
pbx_variables.c Introduce astcachedir, to be used for temporary bucket files 2020-12-09 11:17:27 -06:00
pickup.c astobj2: Eliminate legacy container allocation macros. 2018-10-19 17:33:05 -04:00
plc.c loader: Process dependencies for built-in modules. 2018-07-26 14:29:18 -05:00
poll.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
presencestate.c stasis: Improve topic/subscription names and statistics. 2019-03-11 11:39:35 -03:00
privacy.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
rtp_engine.c Logging: Add debug logging categories 2020-10-02 12:58:18 -05:00
say.c main: With Dutch language year after 2020 is not spoken in say.c 2021-03-02 11:20:19 -06:00
sched.c sched: Don't allow ast_sched_del to deadlock ast_sched_runq from same thread 2019-07-18 01:22:55 -06:00
sdp_srtp.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
security_events.c stasis: Improve topic/subscription names and statistics. 2019-03-11 11:39:35 -03:00
sem.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
serializer.c serializer: set high/low alert levels on whole pool 2019-11-18 11:05:24 -05:00
sha1.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
sip_api.c Don't make chan_sip export global symbols. 2012-10-11 15:49:02 +00:00
slinfactory.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
smoother.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
sorcery.c sorcery: Add support for more intelligent reloading. 2021-03-05 10:32:28 -06:00
sounds.c sounds: Sort 'core show sounds' output 2019-02-04 14:40:35 -06:00
srv.c srv: Fix crash when ast_srv_lookup is used and 0 records are returned. 2017-02-07 12:13:23 -06:00
stasis.c AMI: Add AMI event to expose hook flash events 2021-05-19 08:40:05 -05:00
stasis_bridges.c app_confbridge: Attended transfer event fixup 2019-06-13 14:07:16 -06:00
stasis_cache.c various files - fix some alerts raised by lgtm code analysis 2019-11-18 08:30:45 -06:00
stasis_cache_pattern.c stasis: Improve topic/subscription names and statistics. 2019-03-11 11:39:35 -03:00
stasis_channels.c AMI: Add AMI event to expose hook flash events 2021-05-19 08:40:05 -05:00
stasis_endpoints.c stasis: Improve topic/subscription names and statistics. 2019-03-11 11:39:35 -03:00
stasis_message.c stasis: Allow filtering by formatter 2018-12-07 08:59:00 -05:00
stasis_message_router.c stasis / manager / ari: Better filter messages. 2019-01-17 14:51:47 -04:00
stasis_state.c stasis_state: Create internal stasis_state_proxy object. 2019-09-24 14:33:33 -05:00
stasis_system.c stasis: Improve topic/subscription names and statistics. 2019-03-11 11:39:35 -03:00
strcompat.c app.c: make sure that no non-async-signal-safe syscalls are used after 2020-05-08 13:44:08 -05:00
stream.c res_pjsip_session: Handle multi-stream re-invites better 2020-09-14 09:27:14 -05:00
stringfields.c stringfields: Remove MALLOC_DEBUG fields from struct ast_string_field_mgr. 2018-03-13 16:24:06 -04:00
strings.c Revert "Test_cel: Fails when DONT_OPTIMIZE is off" 2019-03-13 09:30:40 -04:00
stun.c stun: Emit warning message when STUN request times out 2021-07-16 09:53:32 -05:00
syslog.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
taskprocessor.c serializer: move/add asterisk serializer pool functionality 2019-10-07 16:54:16 -05:00
tcptls.c tcptls.c: Don't close TCP client file descriptors more than once 2020-10-08 05:49:18 -05:00
tdd.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
term.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
test.c stasis: Improve topic/subscription names and statistics. 2019-03-11 11:39:35 -03:00
threadpool.c taskprocessor: Enable subsystems and overload by subsystem 2019-02-20 11:51:08 -06:00
threadstorage.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
time.c time: Add timeval create and unit conversion functions 2021-03-31 09:30:36 -05:00
timing.c loader: Create ast_module_running_ref. 2018-01-03 17:23:36 -05:00
translate.c translate.c: Avoid refleak when checking for a translation path 2021-04-30 15:32:09 -05:00
udptl.c main/udptl.c: correctly handle udptl sequence wrap around 2019-07-30 10:10:16 -06:00
ulaw.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
uri.c uri: Quiet warning about type qualifiers ignored on function return type 2014-08-21 14:42:12 +00:00
utf8.c utf8.c: Add UTF-8 validation and utility functions 2020-07-28 09:45:29 -05:00
utils.c STIR/SHAKEN: Switch to base64 URL encoding. 2021-05-12 06:42:55 -05:00
uuid.c uuid: Enable UUID in Solaris 11. 2018-06-23 08:26:19 +02:00
xml.c xmldoc.c: Fix dump of xml document 2018-07-23 06:47:20 -05:00
xmldoc.c astobj2: Remove legacy ao2_container_alloc routine. 2018-11-21 09:56:16 -05:00