Merged revisions 178804 via svnmerge from
authorSteve Murphy <murf@digium.com>
Thu, 26 Feb 2009 17:22:11 +0000 (17:22 +0000)
committerSteve Murphy <murf@digium.com>
Thu, 26 Feb 2009 17:22:11 +0000 (17:22 +0000)
commitfe216b2f9d1818b3f7e796d3b9db7059e020e133
treef3717e54bef6f1a788c37f0a4b85367fcedf073f
parent5f7f4a0c8454717f920b634117feff60461d6d82
Merged revisions 178804 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r178804 | murf | 2009-02-26 10:09:03 -0700 (Thu, 26 Feb 2009) | 28 lines

  This patch prevents the feature detection timeout from being cut in half.

  Because the ast_channel_bridge() call will return 0 and pass
  a frame pointer for both DTMF_BEGIN and DTMF_END, the feature_timer
  field in hte config struct is getting decremented twice, which
  effectively cuts the digittimeout in half. I added conditions
  to the if statement to only let DTMF_END frames to flow thru,
  which solved the problem. Also, when the frame pointer is null,
  let control flow thru-- this usually happens on timeouts. I added
  a comment to the code to explain what's going on and why.

  Many thanks to sodom for reporting this problem. Personnally, it always seemed
  like something was wrong with the featuredigittimeout, but I never
  could quite decide what... and was too busy to investigate.
  This bug forced the issue, and now we know.

  Sodom had other issues in 14515, but I couldn't reproduce them. If
  he still has problems, and wants to get them solved, he is welcome
  to reopen 14515.

  (closes issue #14515)
  Reported by: sodom
  Patches:
        14515.patch uploaded by murf (license 17)
  Tested by: murf, sodom
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@178828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
main/features.c