From fdda4947767a5c0ee2424532ff5f01250797175d Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Wed, 28 Dec 2011 18:59:16 +0000 Subject: Improve T.38 gateway V.21 preamble detection. This commit removes the V.21 preamble detection code previously added to the generic DSP implementation in Asterisk, and instead enhances the res_fax module to be able to utilize V.21 preamble detection functionality made available by FAX technology modules. This commit also adds such support to res_fax_spandsp, which uses the Spandsp modem tone detection code to do the V.21 preamble detection. There should be no functional change here, other than much more reliable V.21 preamble detection (and thus T.38 gateway initiation). ........ Merged revisions 349248 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349249 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/dsp.h | 5 ++--- include/asterisk/res_fax.h | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'include/asterisk') diff --git a/include/asterisk/dsp.h b/include/asterisk/dsp.h index f82f08a94..16262c05d 100644 --- a/include/asterisk/dsp.h +++ b/include/asterisk/dsp.h @@ -45,9 +45,8 @@ #define DSP_FAXMODE_DETECT_CNG (1 << 0) #define DSP_FAXMODE_DETECT_CED (1 << 1) -#define DSP_FAXMODE_DETECT_V21 (1 << 2) -#define DSP_FAXMODE_DETECT_SQUELCH (1 << 3) -#define DSP_FAXMODE_DETECT_ALL (DSP_FAXMODE_DETECT_CNG | DSP_FAXMODE_DETECT_CED | DSP_FAXMODE_DETECT_V21) +#define DSP_FAXMODE_DETECT_SQUELCH (1 << 2) +#define DSP_FAXMODE_DETECT_ALL (DSP_FAXMODE_DETECT_CNG | DSP_FAXMODE_DETECT_CED) #define DSP_TONE_STATE_SILENCE 0 #define DSP_TONE_STATE_RINGING 1 diff --git a/include/asterisk/res_fax.h b/include/asterisk/res_fax.h index ba20944e4..b397bd445 100644 --- a/include/asterisk/res_fax.h +++ b/include/asterisk/res_fax.h @@ -44,6 +44,8 @@ enum ast_fax_capabilities { AST_FAX_TECH_MULTI_DOC = (1 << 4), /*! T.38 - T.30 Gateway */ AST_FAX_TECH_GATEWAY = (1 << 5), + /*! V21 detection is supported */ + AST_FAX_TECH_V21_DETECT = (1 << 6), }; /*! \brief fax modem capabilities */ @@ -160,6 +162,8 @@ struct ast_fax_session_details { uint32_t send_cng:1; /*! send a T.38 reinvite */ uint32_t request_t38:1; + /*! a V.21 preamble was detected */ + uint32_t v21_detected:1; }; } option; /*! override the minimum transmission rate with a channel variable */ -- cgit v1.2.3