mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Warning message gets displayed only once
Added additional field 'int display_inband_dtmf_warning', which when set to '1' displays the warning ('Inband DTMF is not supported on codec %s. Use RFC2833'), and when set to '0' doesn't display the warning. Otherwise you would get hundreds of warnings every second. (closes issue #15769) Reported by: falves11 Patches: patch_15769_14.txt uploaded by mnick (license 874) Tested by: mnick, falves11 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@233014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -353,6 +353,7 @@ struct ast_dsp {
|
||||
int tcount;
|
||||
int digitmode;
|
||||
int thinkdigit;
|
||||
int display_inband_dtmf_warning;
|
||||
float genergy;
|
||||
union {
|
||||
dtmf_detect_state_t dtmf;
|
||||
@@ -1478,7 +1479,10 @@ struct ast_frame *ast_dsp_process(struct ast_channel *chan, struct ast_dsp *dsp,
|
||||
shortdata[x] = AST_ALAW(odata[x]);
|
||||
break;
|
||||
default:
|
||||
ast_log(LOG_WARNING, "Inband DTMF is not supported on codec %s. Use RFC2833\n", ast_getformatname(af->subclass));
|
||||
/*Display warning only once. Otherwise you would get hundreds of warnings every second */
|
||||
if (dsp->display_inband_dtmf_warning)
|
||||
ast_log(LOG_WARNING, "Inband DTMF is not supported on codec %s. Use RFC2833\n", ast_getformatname(af->subclass));
|
||||
dsp->display_inband_dtmf_warning = 0;
|
||||
return af;
|
||||
}
|
||||
silence = __ast_dsp_silence(dsp, shortdata, len, NULL);
|
||||
@@ -1642,6 +1646,7 @@ struct ast_dsp *ast_dsp_new(void)
|
||||
dsp->threshold = DEFAULT_THRESHOLD;
|
||||
dsp->features = DSP_FEATURE_SILENCE_SUPPRESS;
|
||||
dsp->busycount = DSP_HISTORY;
|
||||
dsp->display_inband_dtmf_warning = 1;
|
||||
/* Initialize DTMF detector */
|
||||
ast_dtmf_detect_init(&dsp->td.dtmf);
|
||||
/* Initialize initial DSP progress detect parameters */
|
||||
|
Reference in New Issue
Block a user