Commit Graph

78 Commits

Author SHA1 Message Date
Jason Parker 6412a96e43 Large cleanup of DSP code
Per comments from dimas:
1. The code now generates DTMF_BEGIN frames in addition to DTMF_END ones.

2. "quelching" rewritten - now each detector (MF/DTMF/generic tone) may mark fragment of a frame for suppression (squelching, muting) with a call to mute_fragment. Actual muting happens only once at the very end of ast_dsp_process where all marked fragments are zeroed. This way every detector sees original data in the frame without any piece of a frame being zeroed by a detector which was run before.

3. DTMF detector tries to "mute" one block before and one block after the block where actual tone was detected. Muting of previois block is something new for this patch. Obviously this operation is not always possible - if current frame does not contain data for previous block - it is too late. But at least we make our best.
Muting of next block was already done by the old code but it only affects part of the next block which is in the frame being processed. New code keeps this information in state structures so it will mute proper number of samples in the next frame(s) too.

4. Removed ast_dsp_digitdetect and ast_dsp_getdigits APIs because these are not used.

5. DSP API extended a bit - ast_dsp_was_muted() function added which returns true if DSP code was muting any fragment in the last frame. chan_zap uses this function to decide it needs to turn on confmute on the channel.
This is to replace AST_FRAME_DTMF 'm'/'u' (mute/unmute) functionality.


(closes issue #11968)
Reported by: dimas
Patches:
      v2-11968-dsp.patch uploaded by dimas (license 88)
      v4-11968-zap.patch uploaded by dimas (license 88)
Tested by: dimas, qwell


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-26 19:05:51 +00:00
Tilghman Lesher ef4eff9a9b Add the "config reload <conffile>" command, which allows you to tell Asterisk
to reload any file that references a given configuration file.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-26 18:39:06 +00:00
Jason Parker 9e3603dac9 Rename DSP_FEATURE_DTMF_DETECT, because we are *NOT* only detecting DTMF digits.
This was very misleading.

Early cleanup for issue #11968


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@110161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-19 22:25:34 +00:00
Jason Parker 8d4276578a Rename very poorly named function to reflect what it actually does. This was causing quite a bit of confusion for me...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@110132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-19 21:56:15 +00:00
Joshua Colp 455f6137b4 Fix code up to what it was meant to be.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 16:39:22 +00:00
Tilghman Lesher 8a411ccf83 Create a centralized configuration option for silencethreshold
(closes issue #11236)
 Reported by: philipps
 Patches: 
       20080218__bug11236.diff.txt uploaded by Corydon76 (license 14)
 Tested by: philipps


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 16:23:44 +00:00
Tilghman Lesher cfc1df4c1a Whitespace changes only
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 23:04:29 +00:00
Jason Parker ea8c695a1c Largely refactor DSP tone detection routines.
Separate fax detection from digit detected.
Added CED (called) tone detection for fax (previously, only CNG (calling) was supported).
Separate DTMF/MF code paths where appropriate.
Allow detection of arbitary tones.

(closes issue #11796)
Reported by: dimas
Patches:
      v6-dsp-faxtones.patch uploaded by dimas (license 88)
Tested by: dimas, IgorG, Cache


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-20 21:36:46 +00:00
Jason Parker 8dc5e09ccb Add several busy detection related defines to menuselect.
Allow better busy detect debugging (with BUSYDETECT_DEBUG).

Remove very old BUSYDETECT and BUSY_DETECT_MARTIN defines.

(closes issue #11107)
Patches:
      busydetect_enhancement.patch uploaded by agx (license 298)
      busydetect-r94975.diff uploaded by sergee (license 138)

Additional changes/cleanup by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 20:51:26 +00:00
Jason Parker d422e2ab1d Merged revisions 91890 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #11273)
........
r91890 | qwell | 2007-12-07 17:29:01 -0600 (Fri, 07 Dec 2007) | 4 lines

We need to make sure we free the input frame if we return a different frame in ast_dsp_process.

Issue 11273, pointed out by dimas, with a patch by eliel.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-07 23:32:09 +00:00
Luigi Rizzo e0ff5fef5c remove a bunch of useless #include "options.h"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 23:09:02 +00:00
Russell Bryant cb67c91cb0 Remove obsolete OLD_DSP_ROUTINES code. Also, remove the FAX_DETECT define and
only do the calculations if fax detection is enabled on the dsp.

(closes issue #11331)
Reported by: dimas
Patches:
      dsp.patch uploaded by dimas (license 88)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 18:52:19 +00:00
Luigi Rizzo ed9b9733b6 another few errno.h removals
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 21:18:14 +00:00
Luigi Rizzo 9335ace850 another bunch of include removals (errno.h and asterisk/logger.h)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 19:09:03 +00:00
Luigi Rizzo fdb7f7ba3d Start untangling header inclusion in a way that does not affect
build times - tested, there is no measureable difference before and
after this commit.

In this change:

use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h

Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.

Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better. 

For the time being I have left alone second-level directories
(main/db1-ast, etc.).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Russell Bryant 86e254caba trivial formatting change
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-20 19:45:00 +00:00
Russell Bryant 7ddccc897f Merged revisions 80820 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80820 | russell | 2007-08-24 15:24:05 -0500 (Fri, 24 Aug 2007) | 7 lines

Improve the debouncing logic in the DTMF detector to fix some reliability
issues.  Previously, this code used a shift register of hits and non-hits.
However, if the start of the digit isn't clean, it is possible for the
leading edge detector to miss the digit.  These changes replace the flawed
shift register logic and also does the debouncing on the trailing edge as well.
(closes issue #10535, many thanks to softins for the patch)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-24 20:25:39 +00:00
Russell Bryant 055d82cbce Add a massive set of changes for converting to use the ast_debug() macro.
(issue #9957, patches from mvanbaak, caio1982, critch, and dimas)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 19:39:12 +00:00
Tilghman Lesher 9d05ff8ed5 Issue 9869 - replace malloc and memset with ast_calloc, and other coding guidelines changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 21:20:11 +00:00
Russell Bryant 7ba22102ad Yet another minor change to test mantis/svn
(issue #9828)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 19:35:49 +00:00
Russell Bryant 0ddb853244 minor formatting change ... testing mantis/svn
(issue #9828)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 19:21:13 +00:00
Russell Bryant f97cdc52f4 minor formatting change ... testing mantis/svn
(issue #9828)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 19:10:03 +00:00
Doug Bailey d3e9141345 Changed the dtmf detection to integer based goertzel algorithm.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-29 19:00:40 +00:00
Joshua Colp 6dc98369bf Merged revisions 58389 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r58389 | file | 2007-03-08 11:07:10 -0500 (Thu, 08 Mar 2007) | 10 lines

Merged revisions 58388 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r58388 | file | 2007-03-08 11:04:58 -0500 (Thu, 08 Mar 2007) | 2 lines

Only print out debug message if the definition that makes the variables shows up was actually defined. (issue #9233 reported by serginuez)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@58390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-08 16:09:23 +00:00
Joshua Colp 21b53af31d Cosmetic changes. Make main source files better conform to coding guidelines and standards. (issue #8679 reported by johann8384)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-23 00:11:32 +00:00
Matt O'Gorman ae8cc3e18b bug #8076 check option_debug before printing to debug channel.
patch provided in bugnote, with minor changes.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44253 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-03 15:53:07 +00:00
Joshua Colp c6977b9983 Merge in VLDTMF support with Zaptel/Core done by the ever great Darumkilla Russell Bryant and the RTP portion done by myself, Muffinlicious Joshua Colp. This has gone through so many discussions/revisions it's not funny but we finally have it!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 01:59:02 +00:00
Kevin P. Fleming 0a27d8bfe5 merge new_loader_completion branch, including (at least):
- restructured build tree and makefiles to eliminate recursion problems
  - support for embedded modules
  - support for static builds
  - simpler cross-compilation support
  - simpler module/loader interface (no exported symbols)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 02:11:39 +00:00