Commit Graph

13996 Commits

Author SHA1 Message Date
Jason Parker
b683fb2e4e Fix fallout from removing from configure script. Pointed out by philipp64 on #asterisk-dev
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@260801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-04 15:49:27 +00:00
Paul Belanger
0ac68b78fb Should have removed /usr/lib/ part. Thanks Qwell.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@260662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-03 16:54:41 +00:00
Paul Belanger
88792ca865 non-root make install PREFIX=/tmp fails.
Prepend libdir when executing mkpkgconfig allowing non-root installs to work.

(closes issue #17268)
Reported by: pabelanger
Patches:
      issue17268.patch uploaded by pabelanger (license 224)
Tested by: pabelanger



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@260661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-03 16:41:30 +00:00
Leif Madsen
21ada7872b Minor typo pointed out by pabelanger on IRC.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@260569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-03 14:57:39 +00:00
Jeff Peeler
87e8d0ec46 Ensure channel state is not incorrectly set in the case of a very early answer.
The needringing bit was being read in dahdi_read after answering thereby
setting the state to ringing from up. This clears needringing upon answering
so that is no longer possible.

(closes issue #17067)
Reported by: tzafrir
Patches: 
      needringing.diff uploaded by tzafrir (license 46)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@260434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-30 22:22:46 +00:00
Mark Michelson
1a098e8e98 Fix potential crash from race condition due to accessing channel data without the channel locked.
In res_musiconhold.c, there are several places where a channel's
stream's existence is checked prior to calling ast_closestream on it. The issue
here is that in several cases, the channel was not locked while checking the
stream. The result was that if two threads checked the state of the channel's
stream at approximately the same time, then there could be a situation where
both threads attempt to call ast_closestream on the channel's stream. The result
here is that the refcount for the stream would go below 0, resulting in a crash.

I have added proper channel locking to res_musiconhold.c to ensure that
we do not try to check chan->stream without the channel locked. A Digium customer
has been using this patch for several weeks and has not had any crashes since
applying the patch.

ABE-2147



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@260345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-30 20:08:15 +00:00
Richard Mudgett
e0d8abbfe2 DTMF CallerID detection problems.
The code handling DTMF CallerID drops digits on long CallerID numbers and
may timeout waiting for the first ring with shorter numbers.

The DTMF emulation mode was not turned off when processing DTMF CallerID.
When the emulation code gets behind in processing the DTMF digits it can
skip a digit.

For shorter numbers, the timeout may have been too short.  I increased it
from 2 seconds to 4 seconds.  Four seconds is a typical time between rings
for many countries.

(closes issue #16460)
Reported by: sum
Patches:
      issue16460.patch uploaded by rmudgett (license 664)
      issue16460_v1.6.2.patch uploaded by rmudgett (license 664)
Tested by: sum, rmudgett

Review: https://reviewboard.asterisk.org/r/634/

JIRA SWP-562
JIRA AST-334
JIRA SWP-901


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@260195 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-29 22:11:47 +00:00
David Vossel
49c20ee9c5 Fixes crash in audiohook_write_list
The middle_frame in the audiohook_write_list function was
being freed if a audiohook manipulator returned a failure.
This is incorrect logic.  This patch resolves this and
adds detailed descriptions of how this function should work
and why manipulator failures must be ignored.

(closes issue #17052)
Reported by: dvossel
Tested by: dvossel

(closes issue #16196)
Reported by: atis

Review: https://reviewboard.asterisk.org/r/623/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@260049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-29 15:31:02 +00:00
David Vossel
2077fcfc6d resolves deadlocks in chan_local
Issue_1.
In the local_hangup() 3 locks must be held at the same time... pvt, pvt->chan,
and pvt->owner.  Proper deadlock avoidance is done when the channel to hangup
is the outbound chan_local channel, but when it is not the outbound channel we
have an issue... We attempt to do deadlock avoidance only on the tech pvt, when
both the tech pvt and the pvt->owner are locked coming into that loop.  By
never giving up the pvt->owner channel deadlock avoidance is not entirely possible.
This patch resolves that by doing deadlock avoidance on both the pvt->owner and the pvt
when trying to get the pvt->chan lock.

Issue_2.
ast_prod() is used in ast_activate_generator() to queue a frame on the channel
and make the channel's read function get called.  This function is used in
ast_activate_generator() while the channel is locked, which mean's the channel
will have a lock both from the generator code and the frame_queue code by the
time it gets to chan_local.c's local_queue_frame code... local_queue_frame
contains some of the same crazy deadlock avoidance that local_hangup requires,
and this recursive lock prevents that deadlock avoidance from happening correctly.
This patch removes ast_prod() from the channel lock so only one lock is held during
the local_queue_frame function.

(closes issue #17185)
Reported by: schmoozecom
Patches:
      issue_17185_v1.diff uploaded by dvossel (license 671)
      issue_17185_v2.diff uploaded by dvossel (license 671)
Tested by: schmoozecom, GameGamer43

Review: https://reviewboard.asterisk.org/r/631/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@259858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-28 21:16:03 +00:00
Leif Madsen
c79b3c8903 Update config.guess.
Updating config.guess because after installing Ubuntu Server 9.10 and
running all the update scripts, running ./configure would not continue
because it was unable to determine what kind of system I had. After
updating config.guess things started working again.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@259852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-28 21:07:48 +00:00
Jason Parker
af968c6a1a Add AC_CONFIG_AUX_DIR to configure script, so systems without install can use install-sh from our source dir.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@259847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-28 20:30:21 +00:00
Jason Parker
cb07c60550 Missed this when removing $ID
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@259833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-28 20:25:36 +00:00
Jason Parker
996d4625e1 Remove usage of id since it isn't useful and was causing breakge.
Solaris `id` doesn't support the -u argument.  Instead of figuring out how to
fix this to work on Solaris, I decided to check why it was necessary and where
else it was used.  It was only used in one place, and it hasn't been needed
for a very long time (I question whether it was ever needed).


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@259748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-28 19:17:38 +00:00
Jeff Peeler
4e6d8d2774 Do not play goodbye prompt after timeout of message review.
ABE-2124


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@259664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-28 17:13:29 +00:00
Richard Mudgett
0ee6131402 DAHDI "WARNING" message is confusing and vague
"WARNING[28406]: chan_dahdi.c:6873 ss_thread: CallerID feed failed: Success"

Changed the warning to "Failed to decode CallerID on channel 'name'".  The
message before it is likely more specific about why the CallerID decode
failed.

SWP-501
AST-283


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@259531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-27 21:53:07 +00:00
Leif Madsen
ecd38c37db Update sounds files.
* Add additional sounds prompts for say_enumeration
* Update the English conference sounds prompts so they are better
  quality and all sound more consistent
* Clean up the core-sounds-XX.txt and extra-sounds-XX.txt files to
  include all present sound files

Both core (en, fr, es) and extra (en, fr) sounds files have been updated.

(closes issue #16200)
Reported by: murf

(closes issue #17137)
Reported by: lmadsen

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@259526 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-27 21:48:47 +00:00
Jason Parker
fa3c085c7b Add gar to the check for AR for those silly OSes (Solaris) that don't have ar.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@259441 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-27 21:15:46 +00:00
Jason Parker
58a53fae52 Support the silly OSes that don't have ar and strip.
Since AC_PATH_TOOL is equiv to AC_CHECK_TOOL when path isn't specified, and
AC_PATH_TOOLS doesn't exist, we'll just switch to AC_CHECK_TOOLS.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@259352 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-27 19:29:26 +00:00
Richard Mudgett
e0623c7080 hidecalleridname parameter in chan_dahdi.conf
Issue #7321 implements a new chan_dahdi configuration option.  However, a
change mentioned in the issue was never implemented.  This is the change
that will allow the feature to work.

I added a note to chan_dahdi.conf.sample about the feature.

(closes issue #17143)
Reported by: djensen99
Patches:
      diff.txt uploaded by djensen99 (license NA) (One line change)
Tested by: djensen99


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@259270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-27 18:14:54 +00:00
Mark Michelson
d4637b864c Let compilation succeed warning-free when DONT_OPTIMIZE is turned off.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@259104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-26 21:44:43 +00:00
Mark Michelson
a06794cf7a Prevent Newchannel manager events for dummy channels.
No Newchannel manager event will be fired for channels that are
allocated to not match a registered technology type. Thus bogus
channels allocated solely for variable substitution or CDR
operations do not result in a Newchannel event.

(closes issue #16957)
Reported by: atis

Review: https://reviewboard.asterisk.org/r/601



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@259018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-26 21:03:08 +00:00
Tilghman Lesher
bb48f80e58 When StopMonitor is called, ensure that it will not be restarted by a channel event.
(closes issue #16590)
 Reported by: kkm
 Patches: 
       resmonitor-16590-trunk.239289.diff uploaded by kkm (license 888)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@258775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-25 18:09:05 +00:00
Matthew Nicholson
5375985fa9 Fix broken CDR behavior.
This change allows a CDR record previously marked with disposition ANSWERED to be set as BUSY or NO ANSWER.

Additionally this change partially reverts r235635 and does not set the AST_CDR_FLAG_ORIGINATED flag on CDRs generated from ast_call().  To preserve proper CDR behavior, the AST_CDR_FLAG_DIALED flag is now cleared from all brige CDRs in ast_bridge_call().

(closes issue #16797)
Reported by: VarnishedOtter
Tested by: mnicholson



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@258670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-22 21:49:07 +00:00
Jeff Peeler
5c5677868d Fix looping forever when no input received in certain voicemail menu scenarios.
Specifically, prompting for an extension (when leaving or forwarding a message)
or when prompting for a digit (when saving a message or changing folders).

ABE-2122
SWP-1268


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@258432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-21 21:45:36 +00:00
Jeff Peeler
4af3d8699b Play correct prompt when voicemail store failure occurs after attempted forward.
If a user's mailbox was full and a message was attempted to be forwarded to
said box, warnings on the console would indicate failure. However, the played
prompt was that of success (vm-msgsaved). Now storage failure is taken into
account and the correct prompt (vm-mailboxfull) is played when appropriate.

ABE-2123
SWP-1262



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@258029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-20 16:16:33 +00:00
Jeff Peeler
f5b5f848be make app_voicemail compile with IMAP_STORAGE
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@257856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-19 19:09:46 +00:00
Dwayne M. Hubbard
4f19fa6fd0 Make the mixmonitor thread process audio frames faster
Mantis issue 17078 reports MixMonitor recordings have shorter durations than 
the call duration.  This was because the mixmonitor thread was not processing 
frames from the audiohook fast enough.  The mixmonitor thread would slowly fall 
behind the most recent audio frame and when the channel hangs up, the mixmonitor 
thread would exit without processing the same number of frames as the channel; 
leaving the mixmonitor recording shorter than actual call duration.

This revision fixes this issue by moving the ast_audiohook_trigger_wait() and 
the subsequent audiohook.status check into the block where the 
ast_audiohook_read_frame() function returns NULL.

(closes issue #17078)
Reported by: geoff2010
Patches:
      dw-M17078.patch uploaded by dhubbard (license 733)
Tested by: dhubbard, geoff2010

Review: https://reviewboard.asterisk.org/r/611/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@257686 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-16 21:15:43 +00:00
Tilghman Lesher
2b74f9be7b Allow application options with arguments to contain parentheses, through a variety of escaping techniques.
Fixes SWP-1194 (ABE-2143).

Review: https://reviewboard.asterisk.org/r/604/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@257544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-15 21:23:24 +00:00
Tilghman Lesher
244f519a25 Don't recreate peer, when responding to a repeated deregistration attempt.
When a reply to a deregistration is lost in transmit, the client retries the
deregistration.  Previously, this would cause a realtime/autocreate peer to be
loaded back into memory, after it had already been correctly purged.  Instead,
we just want to resend the reply without loading the peer.

(closes issue #16908)
 Reported by: kkm
 Patches: 
       20100412__issue16908.diff.txt uploaded by tilghman (license 14)
 Tested by: kkm


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@257467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-15 20:24:50 +00:00
Leif Madsen
d7bf9b1ed1 Update backtrace.txt documentation.
Update the backtrace.txt documentation so it conforms to the same layout as
other documents we've been working on recently. Additionally, add a bunch of
new information about gathering backtraces for crashes and deadlocks, along
with ways of verifying your file before uploading it. Create a couple of one
line commands for people to generate the files we need.

(closes issue #17190)
Reported by: lmadsen
Patches: 
      backtrace.txt.patch-2 uploaded by lmadsen (license 10)
Tested by: lmadsen, pabelanger

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@257426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-15 19:40:33 +00:00
Leif Madsen
853b065e78 Update address of the bug tracker.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@257342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-15 13:41:45 +00:00
Tilghman Lesher
91a8a41d8a When forwarding a message, ensure that prepending works correctly.
This is a regression in 1.4, only.

(closes issue #17103)
 Reported by: mglazer
 Patches: 
       20100408__issue17103.diff.txt uploaded by tilghman (license 14)
 Tested by: tilghman


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@257266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-14 23:08:11 +00:00
Matthew Nicholson
49695230d3 Add an option to restore past broken behavor of the Events manager action
Before r238915, certain values for the EventMask parameter of the Events action would result in no response being returned.  This patch adds an option to restore that broken behavior.  Also while fixing this bug I discovered that passing an empty EventMasks parameter would also result in no response being returned, this has been fixed as well while being preserved when the broken behavior is requested.

(closes issue #17023)
Reported by: nblasgen

Review: https://reviewboard.asterisk.org/r/602/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@257070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-13 16:46:30 +00:00
Leif Madsen
6bc34c5d52 Add How-To document on collecting debugging info for issues.asterisk.org
Paul Belanger has been helping a lot with bug tracking recently and created
this document that we can now point to when additional debugging information
is required. This document will help those filing issues to know how to get
the information required when filing their issues. This will make things
easier on the developers.

Initial text and changes by pabelanger. Tweaks and editing by myself.

(closes issue #17159)
Reported by: pabelanger
Patches: 
      HOWTO_collect_debug_information.txt.patch uploaded by lmadsen (license 10)
Tested by: tzafrir, pabelanger, lmadsen

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@256900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-12 17:29:26 +00:00
Richard Mudgett
f4fc6dfb4a DAHDI/PRI call to pri_channel_bridge() not protected by PRI lock.
SWP-1231
ABE-2163


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@256225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-06 00:10:16 +00:00
Russell Bryant
e8f9c77145 Resolve a deadlock that occurs due to a pointless call to ast_bridged_channel()
(closes issue #16840)
Reported by: bzing2
Patches:
      patch.txt uploaded by bzing2 (license 902)
      issue_16840.rev1.diff uploaded by russell (license 2)
Tested by: bzing2, russell


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@256014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-02 23:45:56 +00:00
Russell Bryant
cd40a4681f Remove extremely verbose debug message.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@256009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-02 23:30:15 +00:00
Tilghman Lesher
498d885133 Ensure line terminators in email are consistent.
Fixes an issue with certain Mail Transport Agents, where attachments are not
interpreted correctly.

(closes issue #16557)
 Reported by: jcovert
 Patches: 
       20100308__issue16557__1.4.diff.txt uploaded by tilghman (license 14)
       20100308__issue16557__1.6.0.diff.txt uploaded by tilghman (license 14)
       20100308__issue16557__trunk.diff.txt uploaded by tilghman (license 14)
 Tested by: ebroad, zktech
 
Reviewboard: https://reviewboard.asterisk.org/r/544/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@255591 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-31 19:09:46 +00:00
Leif Madsen
1d9be78f12 Add documentation clarifying when 't' and 'T' can be used.
(closes issue #17021)
Reported by: kovzol
Tested by: lmadsen, kovzol, davidw, ebroad

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@255503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-31 17:42:58 +00:00
Russell Bryant
c689d464dd Don't kill Asterisk if the H323 listener does not start.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@255409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-30 20:56:00 +00:00
Russell Bryant
013e28dda7 Don't make Asterisk not start if pbx_dundi fails to initialize.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@255322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-30 16:06:06 +00:00
Jason Parker
c3ed4366cc Don't remove local copies of utils in uninstall.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@254800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-25 20:41:15 +00:00
Jason Parker
c94931c9a4 Fix DEBUG_THREADS issue with out-of-tree modules.
Take 2, without ABI breakage this time.

Review: https://reviewboard.asterisk.org/r/588/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@254714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-25 19:39:23 +00:00
Russell Bryant
2ebff8a1d6 Update Asterisk 1.4 to use menuselect trunk.
Review: https://reviewboard.asterisk.org/r/590/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@254639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-25 18:51:13 +00:00
Mark Michelson
6eca8e3059 Add doxygen for acl.h
Review: https://reviewboard.asterisk.org/r/528



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@254552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-25 17:33:35 +00:00
Mark Michelson
3601cd50fc Several fixes regarding RFC2833 DTMF detection.
Here is a copy and paste of the details from my request on
reviewboard that dealt with these changes:

Fix 1. The first change in place is to fix Mantis issue 15811, which deals with a situation where Asterisk will incorrectly interpret out of order RFC2833 frames as duplicate DTMF digits. For instance, we would receive a sequence like:

seqno 1: DTMF 1
seqno 2: DTMF 1
seqno 3: DTMF 1
seqno 4: DTMF 1
seqno 6: DTMF 1 (end)
seqno 5: DTMF 1
seqno 7: DTMF 1 (end)
seqno 8: DTMF 1 (end)

Prior to this patch when we received the frame with seqno 5, we would interpret this as a new DTMF 1. With this patch, we will check the seqno of the incoming digit and not process the frame if the seqno is lower than the last recorded seqno. Note that we do not record the seqno of the dropped DTMF frame for future processing. While the above situation is what was designed to be fixed, the patch is written in such a way that the following would also be fixed too:

seqno  9: DTMF 1
seqno 10: DTMF 1 (end)
seqno 11: DTMF 1 (end)
seqno 13: DTMF 2
seqno 12: DTMF 1 (end)
seqno 14: DTMF 2
seqno 15: DTMF 2 (end)
seqno 16: DTMF 2 (end)
seqno 17: DTMF 2 (end)

In this second situation, the beginning of the DTMF 2 arrives before the final end frame of the DTMF 1. With the patch, seqno 12 is no processed and thus we properly interpret the DTMF.

Fix 2. The second change in place is to fix an issue like the following:

seqno 1: DTMF 1
seqno 2: DTMF 1
seqno 3: DTMF 1 (end) *packet lost*
seqno 4: DTMF 1 (end) *packet lost*
seqno 5: DTMF 1 (end) *packet lost*
seqno 6: DTMF 2

When we receive seqno 6, we had code in place that was supposed to properly end the previously unended DTMF 1. The problem was that the code was essentially a no-op. The code would set up an end frame for the DTMF 1 but would immediately overwrite the frame with the begin for DTMF 2. I changed process_dtmf_rfc2833() so that instead of returning a single frame, it is given as an output parameter a list of frames. Each frame that needs to be returned is appended to this list.

Fix 3. The final change is a minor one where an AST_CONTROL_SRCCHANGE frame could get lost. If we process a cisco DTMF or an RFC 3389 frame and no frame was returned, then we would return &ast_null_frame. The problem is that earlier in the function, we may have generated an AST_CONTROL_SRCCHANGE frame and put it in the list of frames we wish to return. This frame would be lost in such a case. The patch fixes this problem

Review: https://reviewboard.asterisk.org/r/558


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@254452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-25 15:59:56 +00:00
Terry Wilson
d7a0de13ad Handle new SRCCHANGE control message here too
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@254451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-25 15:57:29 +00:00
Jeff Peeler
92e1ca0016 Ensure that monitor recordings are written to the correct location (again)
This is an extension to 248860. As such the dialplan test has been extended:

; non absolute path, not combined
exten => 5040, 1, monitor(wav,tmp/jeff/monitor_test)
exten => 5040, n, dial(sip/5001)
; absolute path, not combined
exten => 5041, 1, monitor(wav,/tmp/jeff/monitor_test2)
exten => 5041, n, dial(sip/5001)
; no path, not combined
exten => 5042, 1, monitor(wav,monitor_test3)
exten => 5042, n, dial(sip/5001)
; combined: changemonitor from non absolute to no path (leaves tmp/jeff)
exten => 5043, 1, monitor(wav,tmp/jeff/monitor_test4,m)
exten => 5043, n, changemonitor(monitor_test5)
exten => 5043, n, dial(sip/5001)
; combined: changemonitor from no path to non absolute path
exten => 5044, 1, monitor(wav,monitor_test6,m)
exten => 5044, n, changemonitor(tmp/jeff/monitor_test7) ; this wasn't possible before
exten => 5044, n, dial(sip/5001)
; non absolute path, combined
exten => 5045, 1, monitor(wav,tmp/jeff/monitor_test8,m)
exten => 5045, n, dial(sip/5001)
; absolute path, combined 
exten => 5046, 1, monitor(wav,/tmp/jeff/monitor_test9,m)
exten => 5046, n, dial(sip/5001)
; no path, combined
exten => 5047, 1, monitor(wav,monitor_test10,m)
exten => 5047, n, dial(sip/5001)
; combined: changemonitor from non absolute to absolute (leaves tmp/jeff)
exten => 5048, 1, monitor(wav,tmp/jeff/monitor_test11,m)
exten => 5048, n, changemonitor(/tmp/jeff/monitor_test12)
exten => 5048, n, dial(sip/5001)
; combined: changemonitor from absolute to non absolute (leaves /tmp/jeff)
exten => 5049, 1, monitor(wav,/tmp/jeff/monitor_test13,m)
exten => 5049, n, changemonitor(tmp/jeff/monitor_test14)
exten => 5049, n, dial(sip/5001)
; combined: changemonitor from no path to absolute
exten => 5050, 1, monitor(wav,monitor_test15,m)
exten => 5050, n, changemonitor(/tmp/jeff/monitor_test16)
exten => 5050, n, dial(sip/5001)
; combined: changemonitor from absolute to no path (leaves /tmp/jeff)
exten => 5051, 1, monitor(wav,/tmp/jeff/monitor_test17,m)
exten => 5051, n, changemonitor(monitor_test18)
exten => 5051, n, dial(sip/5001)
; not combined: changemonitor from non absolute to no path (leaves tmp/jeff)
exten => 5052, 1, monitor(wav,tmp/jeff/monitor_test19)
exten => 5052, n, changemonitor(monitor_test20)
exten => 5052, n, dial(sip/5001)
; not combined: changemonitor from no path to non absolute
exten => 5053, 1, monitor(wav,monitor_test21)
exten => 5053, n, changemonitor(tmp/jeff/monitor_test22)
exten => 5053, n, dial(sip/5001)
; not combined: changemonitor from non absolute to absolute (leaves tmp/jeff)
exten => 5054, 1, monitor(wav,tmp/jeff/monitor_test23)
exten => 5054, n, changemonitor(/tmp/jeff/monitor_test24)
exten => 5054, n, dial(sip/5001)
; not combined: changemonitor from absolute to non absolute (leaves /tmp/jeff)
exten => 5055, 1, monitor(wav,/tmp/jeff/monitor_test24)
exten => 5055, n, changemonitor(tmp/jeff/monitor_test25)
exten => 5055, n, dial(sip/5001)
; not combined: changemonitor from no path to absolute
exten => 5056, 1, monitor(wav,monitor_test26)
exten => 5056, n, changemonitor(/tmp/jeff/monitor_test27)
exten => 5056, n, dial(sip/5001)
; not combined: changemonitor from absolute to no path (leaves /tmp/jeff)
exten => 5057, 1, monitor(wav,/tmp/jeff/monitor_test28)
exten => 5057, n, changemonitor(monitor_test29)
exten => 5057, n, dial(sip/5001)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@254235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-24 00:37:23 +00:00
Jason Parker
8371df4e7b Revert revisions 254046 and 254098.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@254161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-23 22:45:55 +00:00
Jason Parker
733782e90f Add note about the out-of-tree module ABI changes.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@254098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-23 21:27:04 +00:00