diff options
author | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-09-19 09:48:33 +0000 |
---|---|---|
committer | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-09-19 09:48:33 +0000 |
commit | 37689832f319029fd637927073c5b4999c2bce99 (patch) | |
tree | 143a5f4213046903c2ce6df46a43a206115afc05 /channels/chan_misdn.c | |
parent | b2eeaf5cd1dd3b721d29dbb7f1ea97bca3f6e591 (diff) |
Merged revisions 83023-83024 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r83023 | crichter | 2007-09-19 11:31:55 +0200 (Mi, 19 Sep 2007) | 1 line
added 'astdtmf' option to allow configuring the asterisk dtmf detector instead of the mISDN_dsp ones. also added the patch from irroot #10190, so that dtmf tones detected by the asterisk detector are passed outofband to asterisk, to make any use of dtmf tones at all.
........
r83024 | crichter | 2007-09-19 11:32:42 +0200 (Mi, 19 Sep 2007) | 1 line
removed comment which violates the coding guidelines.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83025 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_misdn.c')
-rw-r--r-- | channels/chan_misdn.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index a8b108626..837a74997 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -1749,7 +1749,6 @@ static int read_config(struct chan_list *ch, int orig) } port = bc->port; - chan_misdn_log(1, port, "read_config: Getting Config\n"); misdn_cfg_get(port, MISDN_CFG_LANGUAGE, lang, sizeof(lang)); @@ -1764,6 +1763,12 @@ static int read_config(struct chan_list *ch, int orig) misdn_cfg_get(port, MISDN_CFG_INCOMING_EARLY_AUDIO, &ch->incoming_early_audio, sizeof(ch->incoming_early_audio)); misdn_cfg_get(port, MISDN_CFG_SENDDTMF, &bc->send_dtmf, sizeof(bc->send_dtmf)); + + misdn_cfg_get( port, MISDN_CFG_ASTDTMF, &ch->ast_dsp, sizeof(int)); + + if (ch->ast_dsp) { + ch->ignore_dtmf=1; + } misdn_cfg_get(port, MISDN_CFG_NEED_MORE_INFOS, &bc->need_more_infos, sizeof(bc->need_more_infos)); misdn_cfg_get(port, MISDN_CFG_NTTIMEOUT, &ch->nttimeout, sizeof(ch->nttimeout)); @@ -1909,12 +1914,16 @@ static int read_config(struct chan_list *ch, int orig) ch->overlap_dial_task = -1; - if (ch->faxdetect) { + if (ch->faxdetect || ch->ast_dsp) { misdn_cfg_get(port, MISDN_CFG_FAXDETECT_TIMEOUT, &ch->faxdetect_timeout, sizeof(ch->faxdetect_timeout)); if (!ch->dsp) ch->dsp = ast_dsp_new(); - if (ch->dsp) - ast_dsp_set_features(ch->dsp, DSP_FEATURE_DTMF_DETECT | DSP_FEATURE_FAX_DETECT); + if (ch->dsp) { + if (ch->faxdetect) + ast_dsp_set_features(ch->dsp, DSP_FEATURE_DTMF_DETECT | DSP_FEATURE_FAX_DETECT); + else + ast_dsp_set_features(ch->dsp, DSP_FEATURE_DTMF_DETECT ); + } if (!ch->trans) ch->trans = ast_translator_build_path(AST_FORMAT_SLINEAR, AST_FORMAT_ALAW); } @@ -2539,7 +2548,7 @@ static struct ast_frame *process_ast_dsp(struct chan_list *tmp, struct ast_frame chan_misdn_log(2, tmp->bc->port, " --> * SEND: DTMF (AST_DSP) :%c\n", f->subclass); } - return frame; + return f; } |