]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
14 years agoRevert a new feature which should have gone into trunk.
Erin Spiceland [Fri, 19 Nov 2010 19:32:04 +0000 (19:32 +0000)] 
Revert a new feature which should have gone into trunk.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@295553 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd extra functionality to AGI command WAIT FOR DIGIT.
Erin Spiceland [Fri, 19 Nov 2010 19:24:05 +0000 (19:24 +0000)] 
Add extra functionality to AGI command WAIT FOR DIGIT.

Add the ability to play a sound file, listen for more than just one digit, specify
escape characters. Backwards compatible (to work with only timeout specified).

(closes issue #15531)
Reported by: diLLec
Patches:
      asterisk-res_agi-203638-patched.patch uploaded by diLLec (license 839)
Tested by: diLLec, espiceland

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@295552 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDead code elimination in channel.c:ast_channel_bridge() variable who.
Richard Mudgett [Tue, 16 Nov 2010 22:52:06 +0000 (22:52 +0000)] 
Dead code elimination in channel.c:ast_channel_bridge() variable who.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@295280 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoEnsure original message duration is preserved when prepending a message.
Jeff Peeler [Tue, 16 Nov 2010 21:29:29 +0000 (21:29 +0000)] 
Ensure original message duration is preserved when prepending a message.

It seems the fix to issue 17103 was a little overzealous and removed the code
that backed up the textfile containing the original message duration. This
code has now been restored.

(related to issue #17103)
ABE-2654

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@295200 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoErr, oops. Made it const to verify that it wasn't altered, but forgot to revert...
Tilghman Lesher [Mon, 15 Nov 2010 18:05:49 +0000 (18:05 +0000)] 
Err, oops.  Made it const to verify that it wasn't altered, but forgot to revert before commit.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@295031 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoCreate test verifying results of expression parser
Tilghman Lesher [Mon, 15 Nov 2010 17:58:37 +0000 (17:58 +0000)] 
Create test verifying results of expression parser

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@295026 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix regression causing abort in voicemail after opening a mailbox with no mesgs.
Jeff Peeler [Fri, 12 Nov 2010 20:49:09 +0000 (20:49 +0000)] 
Fix regression causing abort in voicemail after opening a mailbox with no mesgs.

In order to be more safe, some error handling code was changed to respect more
error conditions including the potential memory allocation failure for deleted
and heard message tracking introduced in 293004. However, last_message_index
returns -1 for zero messages (perhaps as expected) and was triggering the
stricter error checking. Because last_message_index is only called directly
in one place, just return 0 from open_mailbox (for file based storage) when no
messages are detected unless a real error has occurred.

(closes issue #18240)
Reported by: leobrown
Patches:
      bug18240.1-6-2.diff.txt uploaded by alecdavis (license 585)
Tested by: pabelanger

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@294903 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAsterisk is getting a "No D-channels available!" warning message every 4 seconds.
Richard Mudgett [Fri, 12 Nov 2010 02:41:13 +0000 (02:41 +0000)] 
Asterisk is getting a "No D-channels available!" warning message every 4 seconds.

Asterisk is just whining too much with this message: "No D-channels
available!  Using Primary channel XXX as D-channel anyway!".

Filtered the message so it only comes out once if there is no D channel
available without an intervening D channel available period.

(closes issue #17270)
Reported by: jmls

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@294821 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoI didn't mean to merge this, sorry
Jeff Peeler [Thu, 11 Nov 2010 22:11:33 +0000 (22:11 +0000)] 
I didn't mean to merge this, sorry

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@294739 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix problem with qualify option packets for realtime peers never stopping.
Jeff Peeler [Thu, 11 Nov 2010 21:12:27 +0000 (21:12 +0000)] 
Fix problem with qualify option packets for realtime peers never stopping.

The option packets not only never stopped, but if a realtime peer was not in
the peer list multiple options dialogs could accumulate over time. This
scenario has the potential to progress to the point of saturating a link just
from options packets. The fix was to ensure that the poke scheduler checks to
see if a peer is in the peer list before continuing to poke. The reason a peer
must be in the peer list to be able to properly manage an options dialog is
because otherwise the call pointer is lost when the peer is regenerated from
the database, which is how existing qualify dialogs are detected.

(closes issue #16382)
Reported by: lftsy
Patches:
      bug16382-3.patch uploaded by jpeeler (license 325)
Tested by: zerohalo

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@294688 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoOne small addition to 294384 found while very carefully merging to 1.6.
Jeff Peeler [Thu, 11 Nov 2010 19:52:14 +0000 (19:52 +0000)] 
One small addition to 294384 found while very carefully merging to 1.6.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@294641 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix a deadlock in device state change processing.
Jeff Peeler [Tue, 9 Nov 2010 17:37:59 +0000 (17:37 +0000)] 
Fix a deadlock in device state change processing.

Copied from some notes from the original author (Russell):

Deadlock scenario:
Thread 1: device state change thread
  Holds - rdlock on contexts
  Holds - hints lock
  Waiting on channels container lock

Thread 2: SIP monitor thread
  Holds the "iflock"
  Holds a sip_pvt lock
  Holds channel container lock
  Waiting for a channel lock

Thread 3: A channel thread (chan_local in this case)
  Holds 2 channel locks acquired within app_dial
  Holds a 3rd channel lock it got inside of chan_local
  Holds a local_pvt lock
  Waiting on a rdlock of the contexts lock

A bunch of other threads waiting on a wrlock of the contexts lock

To address this deadlock, some locking order rules must be put in place and
enforced. Existing relevant rules:

1) channel lock before a pvt lock
2) contexts lock before hints lock
3) channels container before a channel

What's missing is some enforcement of the order when you involve more than any
two. To fix this problem, I put in some code that ensures that (at least in the
code paths involved in this bug) the locks in (3) come before the locks in (2).
To change the operation of thread 1 to comply, I converted the storage of hints
to an astobj2 container. This allows processing of hints without holding the
hints container lock. So, in the code path that led to thread 1's state, it no
longer holds either the contexts or hints lock while it attempts to lock the
channels container.

(closes issue #18165)
Reported by: antonio

ABE-2583

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@294384 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoModify our handling of 491 responses to drop any pending reinvite retry scheduler...
Matthew Nicholson [Mon, 8 Nov 2010 18:59:20 +0000 (18:59 +0000)] 
Modify our handling of 491 responses to drop any pending reinvite retry scheduler entries if we get a new 491.

This prevents a scheduler entry from leaking if we receive a 491 response when one is pending.  If a scheduler entry leaks, the pvt it is associated my get destroyed before the scheduler entry fires, and then memory corruption and crashes can occur when the scheduled reinvite attempts to access and modify the memory of the destroyed pvt.

ABE-2543

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@294163 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agocodecs/codec_dahdi: Prevent "choppy" audio when receiving unexpected frame sizes.
Shaun Ruffell [Fri, 5 Nov 2010 00:02:53 +0000 (00:02 +0000)] 
codecs/codec_dahdi: Prevent "choppy" audio when receiving unexpected frame sizes.

dahdi-linux 2.4.0 (specifically commit 9034) added the capability for
the wctc4xxp to return more than a single packet of data in response to
a read.  However, when decoding packets, codec_dahdi was still assuming
that the default number of samples was in each read.

In other words, each packet your provider sent you, regardless of size,
would result in 20 ms of decoded data (30 ms if decoding G723). If your
provider was sending 60 ms packets then codec_dahdi would end up
stripping 40 ms of data from each transcoded frame resulting in "choppy"
audio.

This would only affect systems where G729 packets are arriving in sizes
greater than 20ms or G723 packets arriving in sizes greater than 30ms.

DAHDI-744.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@293968 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFixes ringback tone on feature semi-attended transfer
David Vossel [Thu, 4 Nov 2010 21:28:12 +0000 (21:28 +0000)] 
Fixes ringback tone on feature semi-attended transfer

ABE-2168

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@293922 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoParty A in an analog 3-way call would continue to hear ringback after party C answers.
Richard Mudgett [Wed, 3 Nov 2010 18:23:04 +0000 (18:23 +0000)] 
Party A in an analog 3-way call would continue to hear ringback after party C answers.

All parties are analog FXS ports.
1) A calls B.
2) A flash hooks to call C.
3) A flash hooks to bring C into 3-way call before C answers.  (A and B hear ringback)
4) C answers
5) A continues to hear ringback during the 3-way call. (All parties can hear each other.)

* Fixed use of wrong variable in dahdi_bridge() that stopped ringback on
the wrong subchannel.

* Made several debug messages have more information.

A similar issue happens if B and C are SIP channels.  B continues to hear
ringback.  For some reason this only affects v1.8 and trunk.

* Don't start ringback on the real and 3-way subchannels when creating the
3-way conference.  Removing this code is benign on v1.6.2 and earlier.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@293805 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd enabled/disabled information for rtautoclear sip show settings output.
Jeff Peeler [Tue, 2 Nov 2010 23:02:51 +0000 (23:02 +0000)] 
Add enabled/disabled information for rtautoclear sip show settings output.

When setting to zero/"no", the numeric default was shown making it not obvious
the disabled setting was respected.

(closes issue #18123)
Reported by: zerohalo

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@293722 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMake warning message have more useful information in it.
Richard Mudgett [Tue, 2 Nov 2010 21:24:13 +0000 (21:24 +0000)] 
Make warning message have more useful information in it.

Change "Unable to get index, and nullok is not asserted" to "Unable to get
index for '<channel-name>' on channel <number> (<function>(), line
<number>)".

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@293639 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoRemove some more code that serves no purpose.
Richard Mudgett [Sat, 30 Oct 2010 01:45:49 +0000 (01:45 +0000)] 
Remove some more code that serves no purpose.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@293416 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoRemove some code that serves no purpose.
Richard Mudgett [Sat, 30 Oct 2010 00:34:12 +0000 (00:34 +0000)] 
Remove some code that serves no purpose.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@293339 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years ago"!00" evaluated as false, which is incorrect. Fixing.
Tilghman Lesher [Thu, 28 Oct 2010 19:44:37 +0000 (19:44 +0000)] 
"!00" evaluated as false, which is incorrect.  Fixing.

Reported (though the reporter did not understand he was reporting a bug) on the asterisk-users list:
http://lists.digium.com/pipermail/asterisk-users/2010-October/255505.html

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@293194 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix inprocess_container in voicemail to correctly restrict max messages.
Jeff Peeler [Mon, 25 Oct 2010 22:55:28 +0000 (22:55 +0000)] 
Fix inprocess_container in voicemail to correctly restrict max messages.

The comparison function logic was off, so the number of sessions for a given
mailbox were not being incremented properly. This problem caused the maximum
number of messages per folder to not be respected when simultaneously leaving
multiple voicemails just below the threshold.

These problems should be fixed by the above, but just in case:
Fixed resequence_mailbox to rely on the actual number of detected number of
files in a directory rather than just assuming only 10 messages more than the
maximum had been left. Also if more messages than the maximum are deleted they
are actually removed now.

The second purpose of this commit should have been separated out probably, but
is related to the above. Again, if the number of messages in a given voicemail
folder exceeds the maximum set limit make sure to allocate enough space for the
deleted and heard index tracking array.

A few random fixes:
There was a forgotten decrement of the inprocess count in imap_store_file.

When using IMAP storage, do not look in the directory where file based storage
messages may still reside and influence the message count.

Ensure to use only the first format in sendmail.

ABE-2516

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@293004 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoThis patch turns chan_local pvts into astobj2 objects.
David Vossel [Mon, 25 Oct 2010 19:05:07 +0000 (19:05 +0000)] 
This patch turns chan_local pvts into astobj2 objects.

chan_local does some dangerous things involving deadlock avoidance.
tech_pvt functions like hangup and queue_frame are provided with a
locked channel upon entry.  Those functions are completely safe as
long as you don't attempt to give up that channel lock, but that is
impossible to guarantee due to the required deadlock avoidance necessary
to lock both the tech_pvt and both channels involved.

In the past, we have tried to account for this by doing things like
setting a "glare" flag that indicates what function should destroy the
pvt.  This was used in local_hangup and local_queue_frame to decided
who should destroy the pvt if they collided in separate threads.  I
have removed the need to do this by converting all chan_local tech_pvts
to astobj2.  This means we can ref a pvt before deadlock avoidance
and not have to worry about that pvt possibly getting destroyed under
us.  It also cleans up where we destroy the tech_pvt.  The only unlink
from the tech_pvt container occurs in local_hangup now, which is where
it should occur.

Since there still may be thread collisions on some functions like
local_hangup after deadlock avoidance, I have added some checks to detect
those collisions and exit appropriately.  I think this patch is going to
solve quite a bit of weirdness we have had with local channels in the past.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@292866 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoRecord priv-recordintro as sln, not gsm
Paul Belanger [Thu, 21 Oct 2010 00:00:51 +0000 (00:00 +0000)] 
Record priv-recordintro as sln, not gsm

This removes the gsm->sln step when transcoding
priv-recordintro.

(closes issue #18176)
Reported by: pabelanger
Patches:
      chan_sip.diff uploaded by pabelanger (license 224)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@292411 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix improper operator key acceptance and clean up temp recording files.
Jeff Peeler [Mon, 18 Oct 2010 21:50:30 +0000 (21:50 +0000)] 
Fix improper operator key acceptance and clean up temp recording files.

This is a fix for when pressing the operator key after recording an unavailable,
busy, name, or temporary message in mailbox options. The operator key should not
be accepted here, but should be allowed during the message recording. If the
operator key is pressed during ensure the file is saved or deleted as
apporopriate.  Also, ensure removal of temporary recorded files after an early
hang up or when message acceptance confirmation times out.

ABE-2518

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@292223 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd support for the new English (Australian Accent) sound files.
Leif Madsen [Mon, 18 Oct 2010 21:47:25 +0000 (21:47 +0000)] 
Add support for the new English (Australian Accent) sound files.

(closes issue #17426)
Reported by: camsown
Patches:
      core-sounds-en_AU.txt uploaded by camsown (license 1050)
      add_AU_sounds.patch.txt uploaded by lmadsen (license 10)
Tested by: camsown, lmadsen, jtodd, qwell

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@292222 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoClean up formatting.
Paul Belanger [Fri, 15 Oct 2010 19:30:41 +0000 (19:30 +0000)] 
Clean up formatting.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@291938 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDon't access o->next after freeing o on unload
Terry Wilson [Fri, 15 Oct 2010 02:13:17 +0000 (02:13 +0000)] 
Don't access o->next after freeing o on unload

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@291862 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDeadlock between dahdi_exception() and dahdi_indicate().
Richard Mudgett [Wed, 13 Oct 2010 23:29:58 +0000 (23:29 +0000)] 
Deadlock between dahdi_exception() and dahdi_indicate().

There is a deadlock between dahdi_exception() and dahdi_indicate() for
analog ports.  The call-waiting and three-way-calling feature can
experience deadlock if these features are trying to do something and an
event from the bridged channel happens at the same time.

Deadlock avoidance code added to obtain necessary channel locks before
attemting an operation with call-waiting and three-way-calling.

(closes issue #16847)
Reported by: shin-shoryuken
Patches:
      issue_16847_v1.4.patch uploaded by rmudgett (license 664)
      issue_16847_v1.6.2.patch uploaded by rmudgett (license 664)
      issue_16847_v1.8_v2.patch uploaded by rmudgett (license 664)
Tested by: alecdavis, rmudgett

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@291643 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDon't ignore frames that have been queued when softhangup'd
Terry Wilson [Wed, 13 Oct 2010 22:45:15 +0000 (22:45 +0000)] 
Don't ignore frames that have been queued when softhangup'd

When an outgoing call is answered and hung up by the far end *very* quickly, we
may not read any frames and therefor end up with a call that displays the wrong
disposition/DIALSTATUS. The reason is because ast_queue_hangup() immediately
sets the _softhangup flag on the channel and then queues the HANGUP control
frame, but __ast_read refuses to read any frames if ast_check_hangup() indicates
that a hangup request has been made (which it will if _softhangup is set). So,
we end up losing control frames.

This change makes __ast_read continue to read frames even if a soft hangup has
been requested. It queues a hangup frame to make sure that __ast_read() will
still eventually return NULL.

Much thanks to David Vossel for all of the reviews, discussion, and help!

(closes issue #16946)
Reported by: davidw

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@291577 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoLock pvt so pvt->owner can't disappear when queueing up a frame.
Russell Bryant [Wed, 13 Oct 2010 15:23:19 +0000 (15:23 +0000)] 
Lock pvt so pvt->owner can't disappear when queueing up a frame.

This fixes a crash due to a hangup race condition.

ABE-2601

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@291392 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoOops, incorrect range (although unallocated at ARIN)
Tilghman Lesher [Tue, 12 Oct 2010 16:55:30 +0000 (16:55 +0000)] 
Oops, incorrect range (although unallocated at ARIN)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@291263 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd missing unlock to an exception condition in reload_config().
Richard Mudgett [Mon, 11 Oct 2010 18:29:43 +0000 (18:29 +0000)] 
Add missing unlock to an exception condition in reload_config().

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@291109 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoEnsure editline cleanup occurs when Ctrl-C is pressed at control console.
Jeff Peeler [Fri, 8 Oct 2010 02:35:29 +0000 (02:35 +0000)] 
Ensure editline cleanup occurs when Ctrl-C is pressed at control console.

A recent change was made to avoid a race condition on shutdown which only called
the end functions from the console thread. However, when pressing Ctrl-C the
quit handler is called from the signal handler thread.

(closes issue #17698)
Reported by: jmls

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@290862 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAllow PRI to build properly when using --with-pri.
Jason Parker [Thu, 7 Oct 2010 20:56:04 +0000 (20:56 +0000)] 
Allow PRI to build properly when using --with-pri.

Use the directories found for the parent when using lib dependencies.

(closes issue #17314)
Reported by: tzafrir
Patches:
      17314-withdeps.diff uploaded by qwell (license 4)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@290750 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix a crash by ensuring that we don't alter memory after it's freed.
Tilghman Lesher [Tue, 5 Oct 2010 20:20:07 +0000 (20:20 +0000)] 
Fix a crash by ensuring that we don't alter memory after it's freed.

(closes issue #17387)
 Reported by: jmls
 Patches:
       20100726__issue17387.diff.txt uploaded by tilghman (license 14)
 Tested by: jmls

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@290392 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revision 258974 from
Richard Mudgett [Tue, 5 Oct 2010 17:41:18 +0000 (17:41 +0000)] 
Merged revision 258974 from
https://origsvn.digium.com/svn/asterisk/trunk

..........
  r258974 | diruggles | 2010-04-26 14:05:47 -0500 (Mon, 26 Apr 2010) | 4 lines

  Line 24 missed in compatibility fix in revision 233577

  added a "fun:" prefix line 24
..........

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@290323 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFixing Mac OS X auto-builder.
Tilghman Lesher [Mon, 4 Oct 2010 20:15:26 +0000 (20:15 +0000)] 
Fixing Mac OS X auto-builder.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@290177 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAutomatically re-run configure test for menuselect, when the relevant makeopts settin...
Tilghman Lesher [Sun, 3 Oct 2010 21:04:29 +0000 (21:04 +0000)] 
Automatically re-run configure test for menuselect, when the relevant makeopts settings change.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@290100 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd documentation for undocumented option to AMI action originate
Olle Johansson [Sat, 2 Oct 2010 08:50:05 +0000 (08:50 +0000)] 
Add documentation for undocumented option to AMI action originate

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@289949 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoWhen forwarding a message, a prepend means that the filesystem will always have a...
Tilghman Lesher [Sat, 2 Oct 2010 04:42:08 +0000 (04:42 +0000)] 
When forwarding a message, a prepend means that the filesystem will always have a better copy.

(closes issue #17803)
 Reported by: dpetersen
 Patches:
       20100923__issue17803.diff.txt uploaded by tilghman (license 14)
 Tested by: dpetersen

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@289873 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoChange RFC2833 DTMF event duration on end to report actual elapsed time.
Jeff Peeler [Fri, 1 Oct 2010 22:58:38 +0000 (22:58 +0000)] 
Change RFC2833 DTMF event duration on end to report actual elapsed time.

The scenario here is with a non P2P early media session. The reported time
length of DTMF presses are coming up short when sending to the remote side.
Currently the event duration is a running total that is incremented when sending
continuation packets. These continuation packets are only triggered upon
incoming media from the remote side, which means that the running total probably
is not going to end up matching the actual length of time Asterisk received
DTMF. This patch changes the end event duration to be lengthened if it is
detected that the end event is going to come up short.

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

ABE-2476

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@289797 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDisable debugging by default
Paul Belanger [Fri, 1 Oct 2010 17:03:11 +0000 (17:03 +0000)] 
Disable debugging by default

and reformat .config file.

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@289703 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoEnsure user portion of SIP URI matches dialplan when using encoded characters.
Jeff Peeler [Fri, 1 Oct 2010 16:20:00 +0000 (16:20 +0000)] 
Ensure user portion of SIP URI matches dialplan when using encoded characters.

This commit takes a simliar approach to 288112 and checks the dialplan to
determine the proper action for an incoming contact header as to whether or not
it should be decoded or not. sip_new was blindly always decoding the extension,
which also caused the outgoing contact header to be incorrect as well as failing
to match the encoded extension in the dialplan.

(closes issue #17892)
Reported by: wdoekes
Patches:
      bug17892-1.patch uploaded by jpeeler (license 325)
Tested by: wdoekes

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@289699 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agodon't iterate through all dialogs to find and delete old subscribes
Stefan Schmidt [Fri, 1 Oct 2010 09:42:22 +0000 (09:42 +0000)] 
don't iterate through all dialogs to find and delete old subscribes

On every incoming subscribe there is a iteration through all dialogs to find old subscribes and delete them. This is slow and not RFC conform. This was only needed in 1.2 cause a subscribe was not deleted when a dialog was destroyed, after 1.4 a subscribe get removed when its dialog is destroyed.

(closes issue #17950)
Reported by: schmidts
Tested by: schmidts

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@289622 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agores_agi.c:handle_getvariablefull() could recursively lock a channel and not
Brett Bryant [Thu, 30 Sep 2010 17:08:20 +0000 (17:08 +0000)] 
res_agi.c:handle_getvariablefull() could recursively lock a channel and not
release it if an argument is the current channel's name.

(closes issue #17970)
Reported by: mdu113
Patches:
      res_agi.c.diff3 uploaded by mdu113 (license 582)
      Tested by: mdu113

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@289500 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix a crash in app_sms.
Russell Bryant [Thu, 30 Sep 2010 15:34:29 +0000 (15:34 +0000)] 
Fix a crash in app_sms.

Since the data being passed to the generator callback is on the stack of the
SMS() application, we must ensure that the generator is stopped before the
application exits.

ABE-2587

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@289424 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAllow a manager originate to succeed on forwarded devices.
Jason Parker [Wed, 29 Sep 2010 20:56:26 +0000 (20:56 +0000)] 
Allow a manager originate to succeed on forwarded devices.

The timeout to wait for an answer was being set to 0 when a device forwarded to another
extension.  We don't always need the timeout set like this, so make it an optional
parameter, and don't use it in this case.

ABE-2544

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@289338 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoSet the caller id on CDRs when it is set on the parent channel.
Matthew Nicholson [Wed, 29 Sep 2010 15:03:27 +0000 (15:03 +0000)] 
Set the caller id on CDRs when it is set on the parent channel.

(closes issue #17569)
Reported by: tbelder
Patches:
      17569.diff uploaded by tbelder (license 618)
Tested by: tbelder

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@289177 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFixes an issue with the Newchannel AMI event during the Masquerading process.
Brett Bryant [Tue, 28 Sep 2010 18:10:19 +0000 (18:10 +0000)] 
Fixes an issue with the Newchannel AMI event during the Masquerading process.

Fixes an issue with the Newchannel AMI event during the Masquerading process,
where no Newchannel AMI event was generated for the psuedo channel used during
the masquerading process.

(closes issue #17987)
Reported by: RadicAlish
Patches:
      newchannel.patch.txt uploaded by RadicAlish (license 1122)
      Tested by: RadicAlish

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@289094 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDon't fail a masquerade if it is already being hung up
Terry Wilson [Fri, 24 Sep 2010 15:26:09 +0000 (15:26 +0000)] 
Don't fail a masquerade if it is already being hung up

This avoids noise on some Local channel situations where we don't use /n.
Thanks to Alec Davis for the suggestion.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@288746 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoSolaris compatibility fixes
Tilghman Lesher [Fri, 24 Sep 2010 03:20:24 +0000 (03:20 +0000)] 
Solaris compatibility fixes

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@288636 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDon't let a Local channel get bridged to itself
Terry Wilson [Wed, 22 Sep 2010 23:00:30 +0000 (23:00 +0000)] 
Don't let a Local channel get bridged to itself

If a local channel gets bridged to itself, it becomes orphaned with no devices
left to actually tell it to hang up. This patch modifies local_fixup() to detect
this case and deny it.

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@288499 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoRFC3261 section 12.2 explicitly says out of order requests are responded with a 500...
David Vossel [Wed, 22 Sep 2010 17:48:15 +0000 (17:48 +0000)] 
RFC3261 section 12.2 explicitly says out of order requests are responded with a 500 Server Internal Error response.

ABE-2458

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@288416 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoHandle media specific T.38 SDP information
Matthew Nicholson [Wed, 22 Sep 2010 17:39:12 +0000 (17:39 +0000)] 
Handle media specific T.38 SDP information

(closes issue #16647)
Reported by: kwemheuer

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@288412 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDuring check_pendings, if the dialog is terminated with a CANCEL, change the invitest...
David Vossel [Wed, 22 Sep 2010 16:49:56 +0000 (16:49 +0000)] 
During check_pendings, if the dialog is terminated with a CANCEL, change the invitestate to INV_CANCEL like in sip_hangup.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@288343 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix a 100% CPU consumption problem when setting console=yes in asterisk.conf.
Russell Bryant [Wed, 22 Sep 2010 16:39:16 +0000 (16:39 +0000)] 
Fix a 100% CPU consumption problem when setting console=yes in asterisk.conf.

The handling of -c and console=yes should be the same, but they were not.
When you specify -c, it sets both a flag for console module and for asterisk
not to fork() off into the background.  The handling of console=yes only set
console mode, so you would end up with a background process() trying to run
the Asterisk console and freaking out since it didn't have anything to read
input from.

Thanks to beagles for reporting and helping debug the problem!

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@288339 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDocument addition of encoding parameter.
Tilghman Lesher [Wed, 22 Sep 2010 15:04:52 +0000 (15:04 +0000)] 
Document addition of encoding parameter.

(issue #16940)
Reported by: jamicque

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@288266 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAllow the encoding to be set, in case local charset does not agree with database.
Tilghman Lesher [Wed, 22 Sep 2010 14:48:04 +0000 (14:48 +0000)] 
Allow the encoding to be set, in case local charset does not agree with database.

(closes issue #16940)
 Reported by: jamicque
 Patches:
       20100827__issue16940.diff.txt uploaded by tilghman (license 14)
       20100921__issue16940__1.6.2.diff.txt uploaded by tilghman (license 14)
 Tested by: jamicque

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@288265 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoIn chan_iax2.c:schedule_delivery() calls ast_bridged_channel() on an unlocked channel.
Richard Mudgett [Tue, 21 Sep 2010 23:55:58 +0000 (23:55 +0000)] 
In chan_iax2.c:schedule_delivery() calls ast_bridged_channel() on an unlocked channel.

Near the beginning of schedule_delivery(), ast_bridged_channel() is called
on iaxs[fr->callno]->owner.  However, the channel is not locked, which can
result in ast_bridged_channel() crashing should owner->tech change to a
technology that doesn't implement bridged_channel.

I also fixed the other calls to ast_bridged_channel() in chan_iax2.c since
the owner lock was not held there either.

Converted the existing channel deadlock avoidance to use
iax2_lock_owner().  Using the new function simplified some awkward code.

In the process of fixing the locking on ast_bridged_channel(), I also
found a memory leak in socket_process() for v1.6.2 and v1.8.  The local
struct variable ies.vars is not freed on early/abnormal function exits.

(closes issue #17919)
Reported by: rain
Patches:
      issue17919_v1.4.patch uploaded by rmudgett (license 664)
      issue17919_w_leak_v1.6.2.patch uploaded by rmudgett (license 664)
      issue17919_w_leak_v1.8.patch uploaded by rmudgett (license 664)

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@288192 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoUnderquoted definition of stringfield macro.
Tilghman Lesher [Tue, 21 Sep 2010 22:17:33 +0000 (22:17 +0000)] 
Underquoted definition of stringfield macro.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@288116 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoTry both the encoded and unencoded subscription URI for a match in hints.
Tilghman Lesher [Tue, 21 Sep 2010 21:58:13 +0000 (21:58 +0000)] 
Try both the encoded and unencoded subscription URI for a match in hints.

When a phone sends an encoded URI for a subscription, the URI is not matched
with the actual hint that is in decoded format.  For example, if we have an
extension with a hint that is named: "#5601" or "*5601", the subscription will
work fine if the phone subscribes with an already decoded URI, but when it's
decoded like "%255601" or "%2A5601", Asterisk is unable to match it with the
correct hint.

(closes issue #17785)
 Reported by: ramonpeek
 Patches:
       20100831__issue17785.diff.txt uploaded by tilghman (license 14)
 Tested by: ramonpeek

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@288112 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd a check to fix a rare segmentation fault you'd get if ast_frdup couldn't allocate
Brett Bryant [Tue, 21 Sep 2010 19:43:46 +0000 (19:43 +0000)] 
Add a check to fix a rare segmentation fault you'd get if ast_frdup couldn't allocate
memory on the first frame being queued in ast_queue_frame.

(closes issue #17882)
Reported by: seanbright
Tested by: seanbright

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@288005 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoLess than zero is an error, not any non-zero value.
Tilghman Lesher [Tue, 21 Sep 2010 19:07:07 +0000 (19:07 +0000)] 
Less than zero is an error, not any non-zero value.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@287933 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix misvalidation of meetme pins in conjunction with the 'a' MeetMe flag.
Brett Bryant [Mon, 20 Sep 2010 23:57:08 +0000 (23:57 +0000)] 
Fix misvalidation of meetme pins in conjunction with the 'a' MeetMe flag.

When using the 'a' MeetMe flag and having a user and admin pin setup for your
conference, using the user pin would gain you admin priviledges. Also, when no
user pin was set, an admin pin was, the 'a' MeetMe flag wasn't used, and the
user tried to enter a conference then they were still prompted for a pin and
forced to hit #.

(closes issue #17908)
Reported by: kuj
Patches:
      pins_2.patch uploaded by kuj (license 1111)
      Tested by: kuj

      Review: [full review board URL with trailing slash]

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@287758 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoast_channel_masquerade: remove extra else if
Alec L Davis [Mon, 20 Sep 2010 23:15:25 +0000 (23:15 +0000)] 
ast_channel_masquerade: remove extra else if

(closes issue #17363,#16057)

Reported by: amorsen;davidw,alecdavis
Patches:
      based on bug16057.diff4.txt uploaded by alecdavis (license 585)
Tested by: ramonpeek, davidw, alecdavis

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@287684 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoast_channel_masquerade: Avoid recursive masquerades.
Alec L Davis [Mon, 20 Sep 2010 22:57:48 +0000 (22:57 +0000)] 
ast_channel_masquerade: Avoid recursive masquerades.

Check all 4 combinations of (original/clonechan) * (masq/masqr).

Initially original->masq and clonechan->masqr were only checked.

It's possible with multiple masq's planned - and not yet executed, that
 the 'original' chan could already have another masq'd into it - thus original->masqr
would be set, that masqr would lost.
Likewise for the clonechan->masq.

(closes issue #16057;#17363)
Reported by: amorsen;davidw,alecdavis
Patches:
      bug16057.diff4.txt uploaded by alecdavis (license 585)
Tested by: ramonpeek, davidw, alecdavis

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@287682 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoUse ast_dynamic_str when processing hint state changes
Matthew Nicholson [Mon, 20 Sep 2010 15:48:14 +0000 (15:48 +0000)] 
Use ast_dynamic_str when processing hint state changes

(related to issue #17928)
Reported by: mdu113

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@287555 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMake sure we always free variables properly in manager originate.
Olle Johansson [Sun, 19 Sep 2010 15:56:50 +0000 (15:56 +0000)] 
Make sure we always free variables properly in manager originate.

(closes issue #17891)
reported, solved and tested by oej

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@287469 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoBlank columns should get set on reload, not ignored.
Tilghman Lesher [Fri, 17 Sep 2010 21:06:03 +0000 (21:06 +0000)] 
Blank columns should get set on reload, not ignored.

(closes issue #16893)
 Reported by: haakon
 Patches:
       20100818__issue16893.diff.txt uploaded by tilghman (license 14)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@287386 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoUse ast_strdup() instead of ast_strdupa() while processing in ast_hint_state_changed().
Matthew Nicholson [Fri, 17 Sep 2010 13:34:34 +0000 (13:34 +0000)] 
Use ast_strdup() instead of ast_strdupa() while processing in ast_hint_state_changed().

(related to issue #17928)
Reported by: mdu113

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@287307 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd LSB headers for Debian init script, since Debian will complain if it isn't there.
Jason Parker [Thu, 16 Sep 2010 22:12:30 +0000 (22:12 +0000)] 
Add LSB headers for Debian init script, since Debian will complain if it isn't there.

Headers were taken from trunk.

(closes issue #17958)
Reported by: javyer

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@287197 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDon't limit hint processing in ast_hint_state_changed() to AST_MAX_EXTENSION length...
Matthew Nicholson [Thu, 16 Sep 2010 20:04:46 +0000 (20:04 +0000)] 
Don't limit hint processing in ast_hint_state_changed() to AST_MAX_EXTENSION length strings.

(closes issue #17928)
Reported by: mdu113
Patches:
      20100831__issue17928.diff.txt uploaded by tilghman (license 14)
Tested by: mdu113

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@287118 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDon't stop printing cdr variables if we encounter one with a blank name or value.
Matthew Nicholson [Thu, 16 Sep 2010 19:52:39 +0000 (19:52 +0000)] 
Don't stop printing cdr variables if we encounter one with a blank name or value.

(closes issue #17900)
Reported by: under
Patches:
      core-show-channel-cdr-fix1.diff uploaded by mnicholson (license 96)
Tested by: mnicholson

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@287114 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agowhitespace fix
Jeff Peeler [Wed, 15 Sep 2010 20:20:05 +0000 (20:20 +0000)] 
whitespace fix

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@286956 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoEnsure mailbox is not filled to capacity before doing message forwarding.
Jeff Peeler [Wed, 15 Sep 2010 20:08:52 +0000 (20:08 +0000)] 
Ensure mailbox is not filled to capacity before doing message forwarding.

Specifically, before prompting to record a prepended message the capacity is
checked first. If the mailbox is full the extension will be reprompted.

ABE-2517

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@286941 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDon't clear the username from a realtime database when a registration expires.
Matthew Nicholson [Tue, 14 Sep 2010 19:26:18 +0000 (19:26 +0000)] 
Don't clear the username from a realtime database when a registration expires.

Non-realtime chan_sip does not clear the username from memory when a registration expiries so realtime probably shouldn't either.

(closes issue #17551)
Reported by: ricardolandim
Patches:
      reg-expiry-username-1.4-fix1.diff uploaded by mnicholson (license 96)
      reg-expiry-username-1.6.2-fix1.diff uploaded by mnicholson (license 96)
      reg-expiry-username-1.8-fix1.diff uploaded by mnicholson (license 96)
      reg-expiry-username-trunk-fix1.diff uploaded by mnicholson (license 96)
Tested by: ricardolandim, mnicholson

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@286756 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoOnly drop duplicate answer frames if the channel is bridged.
Matthew Nicholson [Tue, 14 Sep 2010 18:00:01 +0000 (18:00 +0000)] 
Only drop duplicate answer frames if the channel is bridged.

Back in r3710 ast_read() was modified to drop answer frames on channels that were in the UP state.  This modification prevented bridges that were up before the answer from being broken and reestablished by an ANSWER control frame.  That change also prevents pickup of channels called from the ast_dial framework from working properly.  The ast_dial framework expects to see an ANSWER frame after dialing and the pickup code queues one but ast_read() drops it.  This new change only drops ANSWER frames when the channel is bridged, allowing the answer queued by the pickup code to properly pass through ast_read() on to the ast_dial framework.

ABE-2473
(related to issue #2342)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@286679 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd stuff to svn:ignore for tests/ directory.
Jason Parker [Mon, 13 Sep 2010 15:12:51 +0000 (15:12 +0000)] 
Add stuff to svn:ignore for tests/ directory.

(closes issue #17983)
Reported by: oej

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@286381 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoHandle error response when we can't make file compatible
Olle Johansson [Sat, 11 Sep 2010 16:59:20 +0000 (16:59 +0000)] 
Handle error response when we can't make file compatible

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@286267 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoReturn -1 if chan_local doesn't support an option
Terry Wilson [Fri, 10 Sep 2010 22:54:23 +0000 (22:54 +0000)] 
Return -1 if chan_local doesn't support an option

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@286222 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoLoad iax.conf before registering any functions/applications/actions.
Paul Belanger [Fri, 10 Sep 2010 20:35:08 +0000 (20:35 +0000)] 
Load iax.conf before registering any functions/applications/actions.

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@286114 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAn outgoing call may not get hung up if a pre-connect incoming ISDN call is disconnected.
Richard Mudgett [Fri, 10 Sep 2010 20:33:16 +0000 (20:33 +0000)] 
An outgoing call may not get hung up if a pre-connect incoming ISDN call is disconnected.

If the ISDN link a pre-connect incoming call is using fails or is reset,
the outgoing leg may not hang up or be delayed in hanging up.  (Causes:
PRI_CAUSE_NETWORK_OUT_OF_ORDER, PRI_CAUSE_DESTINATION_OUT_OF_ORDER, and
PRI_CAUSE_NORMAL_TEMPORARY_FAILURE.)

Just hang up the call if the incoming call leg hangs up before connecting
for any reason.  It makes no sense to send a BUSY or CONGESTION control
frame to the outgoing call leg under these circumstances.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@286113 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFixes sip extension state update DEADLOCK
David Vossel [Fri, 10 Sep 2010 20:03:50 +0000 (20:03 +0000)] 
Fixes sip extension state update DEADLOCK

PROBLEM:
In chan_sip, and all the other channel drivers, it is common for
us to hold the tech_pvt lock while we ask the Asterisk core about
an extension and context.  Every time we do this the locking
order becomes, (1. tech_pvt lock ---> 2. global context lock). In
chan_sip when a dialog subscribes to a hint, that locking order
is reversed in the extensionstate callback which will occur outside
of the channel_driver's monitor loop.  So, on an extension state
update we have (1. global context lock ----> 2. tech_pvt lock).

Typically when we have to do a reversed locking order like this
we'd just do some sort of deadlock avoidance to fix the problem...
That will not work here.  There are more locks involved here than
just the context and tech_pvt.  Those are the two that are colliding,
but it is impossible to give up the context lock because the global
hints list lock MUST be held as well and we can not give that lock
up during the extensionstate callback traversal... The locking order
for the context and hints are (1. global context lock ----> 2.
hints list lock).  Deadlock avoidance is not an option here.

SOLUTION:
The solution this patch implements is to queue the extension state updates
into a list and send the NOTIFY messages out during the do_monitor pvt
traversal.  This clears out the problem of having to hold the context
lock before the tech_pvt lock entirely.

(closes issue #17888)
Reported by: zerohalo

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@286070 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoInherit CHANNEL() writes to both sides of a Local channel
Terry Wilson [Fri, 10 Sep 2010 19:25:08 +0000 (19:25 +0000)] 
Inherit CHANNEL() writes to both sides of a Local channel

Having Local (/n) channels as queue members and setting the language in the
extension with Set(CHANNEL(language)=fr) sets the language on the Local/...,2
channel. Hold time report playbacks happen on the Local/...,1 channel and
therefor do not play in the specified language.

This patch modifies func_channel_write to call the setoption callback and pass
the CHANNEL() write info to the callback. chan_local uses this information to
look up the other side of the channel and apply the same changes to it.

(closes issue #17673)
Reported by: Guggemand

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@286059 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMissing newline
Tilghman Lesher [Fri, 10 Sep 2010 18:22:04 +0000 (18:22 +0000)] 
Missing newline

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@286023 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix Mac OS X build.
Tilghman Lesher [Fri, 10 Sep 2010 00:13:45 +0000 (00:13 +0000)] 
Fix Mac OS X build.

This also fixes a rather grievous calculation error for the offset of
ast_fdset, which was masked on Linux and FreeBSD, because these platforms
check the first 256 FDs regardless of the bitmask setting (due to backwards
compatibility).

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@285889 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoGCC 4.2.x optimizations result in improper behavior of GSM codec
Paul Belanger [Thu, 9 Sep 2010 22:34:35 +0000 (22:34 +0000)] 
GCC 4.2.x optimizations result in improper behavior of GSM codec

(closes issue #17688)
Reported by: pprindeville
Patches:
      asterisk-trunk-bugid11243.patch uploaded by pprindeville (license 347)
Tested by: mkeuter, pprindeville

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@285817 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoTransmit silence when reading DTMF in ast_readstring.
Jason Parker [Thu, 9 Sep 2010 20:06:31 +0000 (20:06 +0000)] 
Transmit silence when reading DTMF in ast_readstring.

Otherwise, you could get issues with DTMF timeouts causing hangups.

(closes issue #17370)
Reported by: makoto
Patches:
      channel-readstring-silence-generator.patch uploaded by makoto (license 38)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@285742 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFixes an issue with MOH where it doesn't recover cleanly when it can't play a file...
Brett Bryant [Thu, 9 Sep 2010 17:20:17 +0000 (17:20 +0000)] 
Fixes an issue with MOH where it doesn't recover cleanly when it can't play a file and would just stop, instead of continuing to find the next playable file in the MOH class.

(closes issue #17807)
Reported by: kshumard

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@285638 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoIn retrans_pkt, do not unlock pvt until the end of the function on a transmit failure.
David Vossel [Wed, 8 Sep 2010 22:07:31 +0000 (22:07 +0000)] 
In retrans_pkt, do not unlock pvt until the end of the function on a transmit failure.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@285566 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoCatch invalid extensions at the parser, instead of making the core deal with them.
Tilghman Lesher [Tue, 7 Sep 2010 20:30:22 +0000 (20:30 +0000)] 
Catch invalid extensions at the parser, instead of making the core deal with them.

(closes issue #17794)
 Reported by: PavelL
 Patches:
       20100820__issue17794__1.6.2.diff.txt uploaded by tilghman (license 14)
       20100820__issue17794__1.4.diff.txt uploaded by tilghman (license 14)
 Tested by: PavelL

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@285365 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoUse poll, if indicated to do so, in the ast_poll2 implementation.
Tilghman Lesher [Tue, 7 Sep 2010 19:04:50 +0000 (19:04 +0000)] 
Use poll, if indicated to do so, in the ast_poll2 implementation.

This fixes the unit tests on FreeBSD 8.0.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@285266 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFixes voicemail.conf issues where mailboxes with passwords that don't precede a comma...
Brett Bryant [Tue, 7 Sep 2010 17:45:41 +0000 (17:45 +0000)] 
Fixes voicemail.conf issues where mailboxes with passwords that don't precede a comma would throw unnecessary error messages.

(closes issue #15726)
Reported by: 298
Patches:
      M15726.diff uploaded by junky (license 177)
Tested by: junky

Review: [full review board URL with trailing slash]

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@285194 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoSilly convenience script for BSD platforms.
Tilghman Lesher [Mon, 6 Sep 2010 06:54:18 +0000 (06:54 +0000)] 
Silly convenience script for BSD platforms.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@285088 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoProperly detect when a sound file doesn't exist
Terry Wilson [Fri, 3 Sep 2010 16:10:23 +0000 (16:10 +0000)] 
Properly detect when a sound file doesn't exist

ast_fileexists returns -1 for error and 0 for a non-existant file. The existing
code treated missing files as though they were existed.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@284881 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFixes a bug in manager.c where the default configuration values weren't reset when...
Brett Bryant [Thu, 2 Sep 2010 20:25:03 +0000 (20:25 +0000)] 
Fixes a bug in manager.c where the default configuration values weren't reset when the manager configuration was reloaded.

(closes issue #17917)
Reported by: lmadsen

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@284777 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoRemoved relatedpeer code from sip_autodestruct
David Vossel [Thu, 2 Sep 2010 16:47:15 +0000 (16:47 +0000)] 
Removed relatedpeer code from sip_autodestruct

Handling of the relatedpeer structure associated with a
sip_pvt should be done during the final sip_destruction
function, not in sip_autodestruct.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@284703 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoEnsure that all areas that previously used select(2) now use poll(2), with implementa...
Tilghman Lesher [Wed, 1 Sep 2010 18:49:11 +0000 (18:49 +0000)] 
Ensure that all areas that previously used select(2) now use poll(2), with implementations that need poll(2) implemented with select(2) safe against 1024-bit overflows.

This is a followup to the fix for the pthread timer in 1.6.2 and beyond, fixing
a potential crash bug in all supported releases.

(closes issue #17678)
 Reported by: russell
Branch: https://origsvn.digium.com/svn/asterisk/team/tilghman/ast_select

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@284478 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDon't send a devstate change on poke_noanswer if the state did not change.
Tilghman Lesher [Tue, 31 Aug 2010 20:13:21 +0000 (20:13 +0000)] 
Don't send a devstate change on poke_noanswer if the state did not change.

(closes issue #17741)
 Reported by: schmidts
 Patches:
       chan_sip.c.patch uploaded by schmidts (license 1077)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@284393 65c4cc65-6c06-0410-ace0-fbb531ad65f3