diff options
author | Richard Mudgett <rmudgett@digium.com> | 2014-04-04 19:19:55 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2014-04-04 19:19:55 +0000 |
commit | 03beadb6e9d88d4c99d097a45e87267a6b2f36b4 (patch) | |
tree | 15296cb9e2f13ea6397dd6e163a2397e5f9f7965 /include/asterisk | |
parent | 9be438299d47e71a36d252ea55d5432ac751504f (diff) |
internal_timing: Remove the option and always make it enabled if a timing module is loaded.
The masquerade supertest frequently fails because either the local channel
chain doesn't completely optimize out or the DTMF handshake doesn't
completely get accross. Local channel optimization requires frames
flowing to trigger when optimization can happen. When optimization
happens the media frame that triggered the optimization is dropped.
Sending DTMF requires frames to flow in the other direction for timing
purposes while sending nothing. If internal timing is not enabled when
MOH is playing, Asterisk switches to received timing when an audio frame
is received. With optimization dropping media frames and MOH not sending
frames unless it receives frames, occasionaly there are no more frames
being passed and the test fails.
* The asterisk command line -I option and the asterisk.conf
internal_timing option are removed. Asterisk now always uses internal
timing when needed if any timing module is loaded. The issue
ASTERISK-14861 did this quite awhile ago in v1.4 but effectively is broken
if other internal timing modules besides DAHDI are used. The
ast_read_generator_actions() now only does received timing if it has no
choice for frame generators like MOH, silence, and playback streaming.
* Cleaned up some code dealing with frame generators in
ast_deactivate_generator(), generator_write_format_change(),
ast_activate_generator(), and ast_channel_stop_silence_generator().
* Removed ast_internal_timing_enabled(), AST_OPT_FLAG_INTERNAL_TIMING, and
ast_opt_internal_timing.
ASTERISK-22846 #close
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3414/
........
Merged revisions 411715 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 411716 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 411717 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@411724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk')
-rw-r--r-- | include/asterisk/channel.h | 11 | ||||
-rw-r--r-- | include/asterisk/options.h | 7 |
2 files changed, 0 insertions, 18 deletions
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h index 497ef0bd3..8cef68e87 100644 --- a/include/asterisk/channel.h +++ b/include/asterisk/channel.h @@ -2387,17 +2387,6 @@ struct ast_silence_generator *ast_channel_start_silence_generator(struct ast_cha void ast_channel_stop_silence_generator(struct ast_channel *chan, struct ast_silence_generator *state); /*! - * \brief Check if the channel can run in internal timing mode. - * \param chan The channel to check - * \return boolean - * - * \details - * This function will return 1 if internal timing is enabled and the timing - * device is available. - */ -int ast_internal_timing_enabled(struct ast_channel *chan); - -/*! * \brief Determine which channel has an older linkedid * \param a First channel * \param b Second channel diff --git a/include/asterisk/options.h b/include/asterisk/options.h index 2761415b8..1b35b3666 100644 --- a/include/asterisk/options.h +++ b/include/asterisk/options.h @@ -76,8 +76,6 @@ enum ast_option_flags { AST_OPT_FLAG_DONT_WARN = (1 << 18), /*! End CDRs before the 'h' extension */ AST_OPT_FLAG_END_CDR_BEFORE_H_EXTEN = (1 << 19), - /*! Use DAHDI Timing for generators if available */ - AST_OPT_FLAG_INTERNAL_TIMING = (1 << 20), /*! Always fork, even if verbose or debug settings are non-zero */ AST_OPT_FLAG_ALWAYS_FORK = (1 << 21), /*! Disable log/verbose output to remote consoles */ @@ -101,11 +99,7 @@ enum ast_option_flags { }; /*! These are the options that set by default when Asterisk starts */ -#if (defined(HAVE_DAHDI_VERSION) && HAVE_DAHDI_VERSION >= 230) -#define AST_DEFAULT_OPTIONS AST_OPT_FLAG_TRANSCODE_VIA_SLIN | AST_OPT_FLAG_INTERNAL_TIMING -#else #define AST_DEFAULT_OPTIONS AST_OPT_FLAG_TRANSCODE_VIA_SLIN -#endif #define ast_opt_exec_includes ast_test_flag(&ast_options, AST_OPT_FLAG_EXEC_INCLUDES) #define ast_opt_no_fork ast_test_flag(&ast_options, AST_OPT_FLAG_NO_FORK) @@ -128,7 +122,6 @@ enum ast_option_flags { #define ast_opt_transmit_silence ast_test_flag(&ast_options, AST_OPT_FLAG_TRANSMIT_SILENCE) #define ast_opt_dont_warn ast_test_flag(&ast_options, AST_OPT_FLAG_DONT_WARN) #define ast_opt_end_cdr_before_h_exten ast_test_flag(&ast_options, AST_OPT_FLAG_END_CDR_BEFORE_H_EXTEN) -#define ast_opt_internal_timing ast_test_flag(&ast_options, AST_OPT_FLAG_INTERNAL_TIMING) #define ast_opt_always_fork ast_test_flag(&ast_options, AST_OPT_FLAG_ALWAYS_FORK) #define ast_opt_mute ast_test_flag(&ast_options, AST_OPT_FLAG_MUTE) #define ast_opt_dbg_module ast_test_flag(&ast_options, AST_OPT_FLAG_DEBUG_MODULE) |