aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authormnick <mnick@f38db490-d61c-443f-a65b-d21fe96a405b>2009-12-04 15:17:03 +0000
committermnick <mnick@f38db490-d61c-443f-a65b-d21fe96a405b>2009-12-04 15:17:03 +0000
commit0fce04baf403fff67858aa35a5cf1617a7978a7c (patch)
tree45247064bc584a07de2d012737f827da03a437a1 /main
parent4e5d65e36ddb04bf6f7ca70199ba415b3b49ef80 (diff)
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: http://svn.digium.com/svn/asterisk/branches/1.4@233014 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/dsp.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/main/dsp.c b/main/dsp.c
index fd4bc9b73..877feab60 100644
--- a/main/dsp.c
+++ b/main/dsp.c
@@ -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 */