11 years agoFix ring cadance setup for outgoing calls on FXS ports.
Richard Mudgett [Tue, 6 Mar 2012 17:47:40 +0000 (17:47 +0000)]
Fix ring cadance setup for outgoing calls on FXS ports.

* Fix referencing the wrong variable in chan_dahdi.c:my_set_cadence().

Thanks to Sean Bright for compiling with -Wshadow and finding this bug.

Merged revisions 358377 from

Merged revisions 358378 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd dialtone_detect option for analog incoming calls.
Richard Mudgett [Tue, 6 Mar 2012 01:56:10 +0000 (01:56 +0000)]
Add dialtone_detect option for analog incoming calls.

For analog lines, enables Asterisk to use dialtone detection per channel
if an incoming call was hung up before it was answered.  If dialtone is
detected, the call is hung up.
no:       Disabled. (Default)
yes:      Look for dialtone for 10000 ms after answer.
<number>: Look for dialtone for the specified number of ms after answer.
always:   Look for dialtone for the entire call.  Dialtone may return
          if the far end hangs up first.


(closes issue ASTERISK-19316)
Reported by: Jeremy Pepper
Patch by: Jeremy Pepper
Tested by: rmudgett,Jeremy Pepper


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoDrop SS7 call if not connected yet when INCOMPLETE/BUSY/CONGESTION.
Richard Mudgett [Mon, 5 Mar 2012 22:32:48 +0000 (22:32 +0000)]
Drop SS7 call if not connected yet when INCOMPLETE/BUSY/CONGESTION.

SS7 is a trunk protocol and should clear a failed call as soon as

* Made SS7 hangup a call immediately if it has not connected yet for
INCOMPLETE/BUSY/CONGESTION causes.  Otherwise, play an appropriate inband

(closes issue ASTERISK-19372)
Reported by: Igor Nikolaev

Merged revisions 358278 from

Merged revisions 358284 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMake usage of DECLARE_STRINGFIELD_SETTERS_FOR() not look so odd.
Richard Mudgett [Mon, 5 Mar 2012 21:55:28 +0000 (21:55 +0000)]
Make usage of DECLARE_STRINGFIELD_SETTERS_FOR() not look so odd.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoSetup DSP when SS7 call is connected or early media is available.
Richard Mudgett [Mon, 5 Mar 2012 21:48:32 +0000 (21:48 +0000)]
Setup DSP when SS7 call is connected or early media is available.

Outgoing SS7 calls fail to detect incoming DTMF so any bridged channel
that requires out-of-band DTMF will not work.

* Added sig_ss7_open_media() calls at appropriate places in sig_ss7.c.
The new call converts conditionaled out unconverted code and shows that
the code really did something useful.

* Improved some chan_dahdi DTMF debug messages to help track DTMF

(closes issue ASTERISK-19312)
Reported by: Igor Nikolaev

Merged revisions 358260 from

Merged revisions 358261 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoEliminate double close of file descriptor in manager.c
Jonathan Rose [Mon, 5 Mar 2012 19:06:46 +0000 (19:06 +0000)]
Eliminate double close of file descriptor in manager.c

The process_output function in manager.c attempted to call fclose and close immediately
afterwards. Since fclose implies close, this resulted in a potential double free on file
descriptors. This patch changes that behavior and also adds error checking to fclose and
close depending on which was deemed necessary. Also error messages. Thanks to Rosen
Iliev for pointing out the location of the problem.

(closes issue ASTERISK-18453)
Reported By: Jaco Kroon

Merged revisions 358214 from

Merged revisions 358215 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoDefer sending the connected line reinvite if a reinvite is already in progress.
Joshua Colp [Mon, 5 Mar 2012 16:44:16 +0000 (16:44 +0000)]
Defer sending the connected line reinvite if a reinvite is already in progress.

(issue ASTERISK-19355)
Reported by: tomaso

(closes issue AST-825)

Merged revisions 358162 from

Merged revisions 358163 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoEnsure Asterisk acknowledges ACKs to 4xx on Replaces errors
Kinsey Moore [Mon, 5 Mar 2012 16:00:32 +0000 (16:00 +0000)]
Ensure Asterisk acknowledges ACKs to 4xx on Replaces errors

Asterisk was not setting pendinginvite in the upper half of
handle_request_invite such that the 4xx was retransmitted repeatedly even
though an ack was received for every retransmission.

(closes issue ASTERISK-19303)
Reported by: Jon Tsiros
  fix-19303.patch uploaded by Jeremiah Gowdy (license 6358)


Merged revisions 358115 from

Merged revisions 358116 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoTab to spaces and text change.
Sean Bright [Mon, 5 Mar 2012 11:20:00 +0000 (11:20 +0000)]
Tab to spaces and text change.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix unused-but-set-variable warnings
Terry Wilson [Fri, 2 Mar 2012 23:29:53 +0000 (23:29 +0000)]
Fix unused-but-set-variable warnings

All of these were pretty obviously unused. Some were unused because
the code that used them was #if 0'd. In those cases, I just commented
out the unused-but-set variables.

Merged revisions 358029 from

Merged revisions 358033 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoCorrect some set-but-unused variable warnings in the mISDN library.
Terry Wilson [Fri, 2 Mar 2012 23:25:10 +0000 (23:25 +0000)]
Correct some set-but-unused variable warnings in the mISDN library.

(from kpfleming's commit to trunk r356292)

Merged revisions 358011 from

Merged revisions 358017 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMake chan_usbradio compile under dev mode
Terry Wilson [Fri, 2 Mar 2012 22:36:28 +0000 (22:36 +0000)]
Make chan_usbradio compile under dev mode

x=++x and x=x=1? Really?

Merged revisions 357986 from

Merged revisions 357987 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix case-sensitivity for device-specific event subscriptions and CCSS
Kinsey Moore [Fri, 2 Mar 2012 21:06:12 +0000 (21:06 +0000)]
Fix case-sensitivity for device-specific event subscriptions and CCSS

This change fixes case-sensitivity for device-specific subscriptions such that
the technology identifier is case-insensitive while the remainder of the device
string is still case-sensitive.  This should also preserve the original case of
the device string as passed in to the event system.  CCSS is the only feature
affected as it is the only consumer of device-specific event subscriptions.

The second part of this patch addresses similar case-sensitivity issues within
CCSS itself that prevented it from functioning correctly after the fix to the
events system.

This adds a unit test to verify that the event system works as expected.

(closes issue ASTERISK-19422)

Merged revisions 357940 from

Merged revisions 357941 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRemove ISDN hold restriction for non-bridged calls.
Richard Mudgett [Fri, 2 Mar 2012 18:38:49 +0000 (18:38 +0000)]
Remove ISDN hold restriction for non-bridged calls.

The check if an ISDN call is bridged before it could be placed on hold is
not necessary and is overly restrictive.  The check was originally done to
prevent problems with call transfers in case a user tried to transfer a
call connected to an application to another call connected to an
application.  The ISDN transfer code has not required this restriction for
quite some time because ECT could transfer any two active calls to each

* Remove ISDN hold restriction for calls connected to applications.

* Made ast_waitfordigit_full() ignore AST_CONTROL_HOLD and
AST_CONTROL_UNHOLD instead of generating a warning message.

(closes issue ASTERISK-19388)
Reported by: Birger Harzenetter
Tested by: rmudgett

Merged revisions 357894 from

Merged revisions 357895 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdds a transfer callee on hangup option (like with Dial option F) to queues.
Jonathan Rose [Fri, 2 Mar 2012 16:57:12 +0000 (16:57 +0000)]
Adds a transfer callee on hangup option (like with Dial option F) to queues.

This should (and does in my testing) act just like the Dial option of the same name.
This allows a queue member to be transfered to the next priority (no args), or to
a context/extension/priority similar to goto (with args context^extension^priority)
when a caller hangs up on them.

(closes issue ASTERISK-19283)
Reported by: To
queue_f-v3.diff uploaded by To (license 6347)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRemove bad usage of goto in ChanSpy next_channel().
Richard Mudgett [Fri, 2 Mar 2012 16:26:01 +0000 (16:26 +0000)]
Remove bad usage of goto in ChanSpy next_channel().

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoBeef up the IAX2 sample configuration a bit and fix some formatting issues.
Sean Bright [Fri, 2 Mar 2012 16:19:53 +0000 (16:19 +0000)]
Beef up the IAX2 sample configuration a bit and fix some formatting issues.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix channel reference leak in ChanSpy.
Richard Mudgett [Fri, 2 Mar 2012 16:03:38 +0000 (16:03 +0000)]
Fix channel reference leak in ChanSpy.

* Fix next_channel() channel reference leak in ChanSpy.

(closes issue ASTERISK-19461)
Reported by: Irontec
      app_chanspy_iteartor_next_unref.patch (license #6213) patch uploaded by Irontec

(issue ASTERISK-17515)

Merged revisions 357809 from

Merged revisions 357810 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix compile error from latest channel opaquification change.
Richard Mudgett [Fri, 2 Mar 2012 16:01:05 +0000 (16:01 +0000)]
Fix compile error from latest channel opaquification change.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoThe default value for mohinterpret is the empty string, so when resetting to
Sean Bright [Fri, 2 Mar 2012 16:00:41 +0000 (16:00 +0000)]
The default value for mohinterpret is the empty string, so when resetting to
default values don't explicitly set the value to "default."

Merged revisions 357811 from

Merged revisions 357812 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix race condition that can cause important control frames (such as a hangup) to...
Mark Michelson [Fri, 2 Mar 2012 01:33:06 +0000 (01:33 +0000)]
Fix race condition that can cause important control frames (such as a hangup) to be missed.

This takes two actions.

1. Move the reading of the alertpipe in __ast_read() to immediately before the
removal of frames from the readq. This means we won't do something silly like
read from the alertpipe, then ignore the fact that there's a frame to get from
the readq since channel's fdno is the AST_TIMING_FD.

2. When ast_settimeout() sets the rate to 0 and the timingfunc to NULL, if the
channel's fdno is the AST_TIMING_FD, then set the fdno to -1. This is because
if the rate is 0 and the timingfunc is NULL, it means that the channel's timing
fd is being invalidated, so any pending reads should not occur.

This may actually solve more issues than the referenced one below, but it's not
known at this time for sure.

(closes issue ASTERISK-19223)
reported by Frank-Michael Wittig


Merged revisions 357761 from

Merged revisions 357762 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix compilation error due to typo during channel opaquification.
Mark Michelson [Fri, 2 Mar 2012 01:25:36 +0000 (01:25 +0000)]
Fix compilation error due to typo during channel opaquification.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoOpaquify ast_channel typedefs, fd arrays, and softhangup flag
Terry Wilson [Thu, 1 Mar 2012 22:09:18 +0000 (22:09 +0000)]
Opaquify ast_channel typedefs, fd arrays, and softhangup flag


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoPrevent outbound SIP NOTIFY packets from displaying a port of 0
Kinsey Moore [Thu, 1 Mar 2012 14:22:01 +0000 (14:22 +0000)]
Prevent outbound SIP NOTIFY packets from displaying a port of 0

In the change from 1.6.2 to 1.8, ast_sockaddr was introduced which changed the
behavior of ast_find_ourip such that port number was wiped out.  This caused
the port in internip (which is used for Contact and Call-ID on NOTIFYs) to be
0.  This change causes ast_find_ourip to be port-preserving again.

(closes issue ASTERISK-19430)

Merged revisions 357665 from

Merged revisions 357667 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoUpdate stringfield documentation for removed second va_list in favor of va_copy.
Walter Doekes [Wed, 29 Feb 2012 20:41:38 +0000 (20:41 +0000)]
Update stringfield documentation for removed second va_list in favor of va_copy.

In r320946, the second va_list that was passed to ast_string_field_build_va
and friends, was removed. This patch updates the documentation to reflect that.

Merged revisions 357620 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd IPv6 support to FastAGI.
Sean Bright [Wed, 29 Feb 2012 20:31:48 +0000 (20:31 +0000)]
Add IPv6 support to FastAGI.

Reviewed by: Simon Perreault, Mark Michelson

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix copying of CDR(accountcode) to local channels.
Walter Doekes [Wed, 29 Feb 2012 19:48:33 +0000 (19:48 +0000)]
Fix copying of CDR(accountcode) to local channels.

In r203638, during the addition of the Channel Event Logging, in mid-2009, this
got broken in trunk and ended up in asterisk 1.8 and higher. This fixes so the
CDR(accountcode) from the calling channel is available to dialed channels again
as well as showing up properly in the CDR's.

(closes issue ASTERISK-19384)
Reported by: jamicque
Patches: accountcode.patch (License #6033) by jamicque
Reviewed by: Richard Mudgett

Merged revisions 357575 from

Merged revisions 357576 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoOpaquify ast_channel structs and lists
Terry Wilson [Wed, 29 Feb 2012 16:52:47 +0000 (16:52 +0000)]
Opaquify ast_channel structs and lists


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdding transport=udp to sample sip.conf - Also changes version of Asterisk 1.8 in...
Jonathan Rose [Tue, 28 Feb 2012 22:31:24 +0000 (22:31 +0000)]
Adding transport=udp to sample sip.conf - Also changes version of Asterisk 1.8 in UPGRADE

(issue ASTERISK-19352)
Reported by: jamicque
asterisk-19352-transport-warning-message-v1.patch uploaded by Michael L. Young (license 5026)

Merged revisions 357490 from

Merged revisions 357497 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd additional character type types to supported data types for cdr_adaptive_odbc
Jonathan Rose [Tue, 28 Feb 2012 22:01:45 +0000 (22:01 +0000)]
Add additional character type types to supported data types for cdr_adaptive_odbc

The reporter was uable to use varchar utf8_unicode_ci with cdr_adaptive_odbc, so
this patch adds those along with some other character types to the list of types
cdr_adaptive_odbc will work using the varchar conditions. The problem wasn't really
UTF8 characters as much as it was a failure to respond to the exact type that was
declared/in use on that database.

(closes issue ASTERISK-19334)
Reported By: Igor Nikolaev
cdr_adaptive_odbc.patch uploaded by Igor Nikolaev (license 6236)

Merged revisions 357455 from

Merged revisions 357458 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoCorrectly reset the dialplan priority.
Tilghman Lesher [Tue, 28 Feb 2012 21:26:34 +0000 (21:26 +0000)]
Correctly reset the dialplan priority.

When the stack frame is allocated, we save the address to which we should
return, when the Gosub returns.  However, if we just want to restore the
priority, then we need to subtract 1 before setting it.  Otherwise, when
a Gosub goes to a nonexistent address, it will skip a priority in the
dialplan.  This is because when we return from an application, the PBX
increments the priority for us.

Merged revisions 357416 from

Merged revisions 357421 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoUse more reasonable cause code when rejecting incoming call waiting calls.
Richard Mudgett [Tue, 28 Feb 2012 21:01:09 +0000 (21:01 +0000)]
Use more reasonable cause code when rejecting incoming call waiting calls.

(closes issue ASTERISK-19397)
Reported by: Birger Harzenetter
      nochannel-cause.patch (license #5870) patch uploaded by Birger Harzenetter

Merged revisions 357407 from

Merged revisions 357408 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agorevision 357386 -- oops, accidentally made it 10.3 to 10.4 instead of 10.2 to 10.3
Jonathan Rose [Tue, 28 Feb 2012 20:43:49 +0000 (20:43 +0000)]
revision 357386 -- oops, accidentally made it 10.3 to 10.4 instead of 10.2 to 10.3

(issue ASTERISK-19352)
reported by: jamicque

Merged revisions 357405 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix REF_DEBUG compile errors.
Richard Mudgett [Tue, 28 Feb 2012 20:34:11 +0000 (20:34 +0000)]
Fix REF_DEBUG compile errors.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMoves UPGRADE.txt notes from r357356 to a new section specific to 1.8.12
Jonathan Rose [Tue, 28 Feb 2012 20:33:53 +0000 (20:33 +0000)]
Moves UPGRADE.txt notes from r357356 to a new section specific to 1.8.12

(issue ASTERISK-19352)
reported by: jamicque

Merged revisions 357386 from

Merged revisions 357400 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdds UPGRADE.txt notes to r357266 indicating changes to transport option
Jonathan Rose [Tue, 28 Feb 2012 20:04:15 +0000 (20:04 +0000)]
Adds UPGRADE.txt notes to r357266 indicating changes to transport option

(issue ASTERISK-19352)
Reported by: jamicque

Merged revisions 357356 from

Merged revisions 357357 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoDocumentation update. There is no AST_SOCKADDR_UNSPEC.
Sean Bright [Tue, 28 Feb 2012 19:55:32 +0000 (19:55 +0000)]
Documentation update.  There is no AST_SOCKADDR_UNSPEC.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRemove dupliate 'i' option table entry in app_page.c.
Richard Mudgett [Tue, 28 Feb 2012 19:37:04 +0000 (19:37 +0000)]
Remove dupliate 'i' option table entry in app_page.c.

(closes issue ASTERISK-19310)
Reported by: Makoto Dei
      app_page-duplicate-i-option.patch (license #5027) patch uploaded by Makoto Dei

Merged revisions 357352 from

Merged revisions 357353 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd a security event for the case where fake authentication challenge is sent.
Mark Michelson [Tue, 28 Feb 2012 18:52:13 +0000 (18:52 +0000)]
Add a security event for the case where fake authentication challenge is sent.

Merged revisions 357318 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoConvert struct ast_tcptls_session_instance to finally use the ao2 object lock.
Richard Mudgett [Tue, 28 Feb 2012 18:46:34 +0000 (18:46 +0000)]
Convert struct ast_tcptls_session_instance to finally use the ao2 object lock.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoChanges transport option in sip.conf so that using multiple instances doesn't stack.
Jonathan Rose [Tue, 28 Feb 2012 18:23:02 +0000 (18:23 +0000)]
Changes transport option in sip.conf so that using multiple instances doesn't stack.

Prior to this patch, Using "transport=" multiple times would cause them to add to one
another like allow/deny. This patch changes that behavior to simply use the transport
option specified last. Also, if no transport option is applied now, the default will
automatically be UDP.

(closes ASTERISK-19352)
Reported by: jamicque
asterisk-19352-transport-warning-message-v1.patch uploaded by Michael L. Young (license 5026)
issueA19352_no_transport_is_udp.patch uploaded by Walter Doekes (license 5674)

Merged revisions 357266 from

Merged revisions 357271 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAstobj2 locking enhancement.
Richard Mudgett [Tue, 28 Feb 2012 18:15:34 +0000 (18:15 +0000)]
Astobj2 locking enhancement.

Add the ability to specify what kind of locking an ao2 object has when it
is allocated.  The locking could be one of: MUTEX, RWLOCK, or none.

New API:



The OBJ_NOLOCK and AO2_ITERATOR_DONTLOCK flags have a slight meaning
change.  They no longer mean that the object is protected by an external
mechanism.  They mean the lock associated with the object has already been
manually obtained by one of the ao2_lock calls.  This change is necessary
for RWLOCK support since they are not reentrant.  Also an operation on an
ao2 container may require promoting a read lock to a write lock by
releasing the already held read lock to re-acquire as a write lock.

Replaced API calls:


with the respective


API calls to be more flexible and to allow an anticipated enhancement to
control linking duplicate objects into a container.

The changes to format.c and format_cap.c are taking advantange of the new
ao2 locking options to simplify the use of the format capabilities


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMake COMPILE_DOUBLE magic actually work.
Kevin P. Fleming [Tue, 28 Feb 2012 14:47:23 +0000 (14:47 +0000)]
Make COMPILE_DOUBLE magic actually work.

The build system has some special magic to ensure that if Asterisk is built
with --enable-dev-mode *and* DONT_OPTIMIZE, that all the source is still compiled
with the optimizer enabled (even though the result will be thrown away), because
the compiler is able to find a great deal of coding errors and bugs as a result
of running its optimizers. Unfortunately at some point this mode got broken,
and the 'throwaway' compile of the code was no longer done with the optimizer
enabled. This patch corrects that problem.

Merged revisions 357212 from

Merged revisions 357213 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoTrailing whitespace cleanup.
Kevin P. Fleming [Tue, 28 Feb 2012 14:15:33 +0000 (14:15 +0000)]
Trailing whitespace cleanup.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd ability to clone ao2 containers.
Richard Mudgett [Tue, 28 Feb 2012 00:42:38 +0000 (00:42 +0000)]
Add ability to clone ao2 containers.

Occasionally there is a need to put all objects in one container also into
another container.

Some reasons you might need to do this:

1) You need to reconfigure a container.  You would do this by creating a
new container with the new configuration and ao2_container_dup the old
container into it.  Then replace the old container with the new.  Then
destroy the old container.

2) You need the contents of a container to remain stable while operating
on all of the objects.  You would do this by creating a cloned container
of the original with ao2_container_clone.  The cloned container is a
snapshot of the objects at the time of the cloning.  When done, just
destroy the cloned container.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix ast_channel allocation init setting priority to -1 instead of 1.
Richard Mudgett [Tue, 28 Feb 2012 00:17:19 +0000 (00:17 +0000)]
Fix ast_channel allocation init setting priority to -1 instead of 1.

* Fix opaquification conversion error.

(closes issue ASTERISK-19424)
Reported by: Jeremy Pepper
      asterisk-19424-initialize_priority_regression.diff (license #5026) patch uploaded by Michael L. Young

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix callerid of Originated calls.
Richard Mudgett [Mon, 27 Feb 2012 23:42:12 +0000 (23:42 +0000)]
Fix callerid of Originated calls.

Thanks to Matt Riddell for tracking this down.

(closes issue ASTERISK-19385)
Reported by: ornix

Merged revisions 357093 from

Merged revisions 357095 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoConverts locking for odbc containers from ast_mutex_lock to ao2_locks.
Jonathan Rose [Mon, 27 Feb 2012 19:55:14 +0000 (19:55 +0000)]
Converts locking for odbc containers from ast_mutex_lock to ao2_locks.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAddress comments from Mark Michelson
Sean Bright [Mon, 27 Feb 2012 17:03:46 +0000 (17:03 +0000)]
Address comments from Mark Michelson

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoDeprecated macro usage for connected line, redirecting, and CCSS
Kinsey Moore [Mon, 27 Feb 2012 16:50:19 +0000 (16:50 +0000)]
Deprecated macro usage for connected line, redirecting, and CCSS

This commit adds GoSub alternatives to connected line, redirecting, and CCSS
macro hooks so that macro can finally be deprecated.  This also adds
deprecation warnings for those features when used and in documentation.

(closes issue SWP-4256)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoConvert netsock.h over to use ast_sockaddrs rather than sockaddr_in and update
Sean Bright [Mon, 27 Feb 2012 16:31:24 +0000 (16:31 +0000)]
Convert netsock.h over to use ast_sockaddrs rather than sockaddr_in and update
chan_iax2 to pass in the correct types.

chan_iax2 is the only consumer for the various ast_netsock_* functions in trunk
at this point, so this feels like a safe change to make.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdds an option to sip.conf that prevents diversion headers from being added.
Jonathan Rose [Mon, 27 Feb 2012 16:24:17 +0000 (16:24 +0000)]
Adds an option to sip.conf that prevents diversion headers from being added.

send_diversion=no will prevent Diversion headers from being added to SIP
requests. This doesn't prevent Diversion from being added with dialplan
such as with SIPAddHeader.

(closes issue ASTERISK-16862)
Reported by: rsw686

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoThere isn't much point in saving off and restoring a value that we never use again.
Sean Bright [Mon, 27 Feb 2012 16:12:51 +0000 (16:12 +0000)]
There isn't much point in saving off and restoring a value that we never use again.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoCopy CDR variables when set during a bridge
Terry Wilson [Mon, 27 Feb 2012 16:08:28 +0000 (16:08 +0000)]
Copy CDR variables when set during a bridge

This patch makes sure amaflags, accountcode, and userfield get copied
to the bridge CDR when set during a bridge (like via a custom feature).

(closes issue ASTERISK-16990)

Merged revisions 356963 from

Merged revisions 356964 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRemove possible segfaults from res_odbc by adding locks around usage of odbc handle
Jonathan Rose [Mon, 27 Feb 2012 15:35:10 +0000 (15:35 +0000)]
Remove possible segfaults from res_odbc by adding locks around usage of odbc handle

(closes issue ASTERISK-19011)
Reported by: Walter Doekes
issueA19011_combine_read_and_write_locks_WORK_IN_PROGRESS.patch uploaded by Walter Doekes (license 5674)

Merged revisions 356917 from

Merged revisions 356961 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMake ast_netsock_set_qos() delegate to ast_set_qos().
Sean Bright [Mon, 27 Feb 2012 14:57:23 +0000 (14:57 +0000)]
Make ast_netsock_set_qos() delegate to ast_set_qos().

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoCorrect typo in deprecation comment.
Sean Bright [Mon, 27 Feb 2012 14:15:24 +0000 (14:15 +0000)]
Correct typo in deprecation comment.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoPrefer ast_set_qos() over ast_netsock_set_qos()
Sean Bright [Mon, 27 Feb 2012 14:13:58 +0000 (14:13 +0000)]
Prefer ast_set_qos() over ast_netsock_set_qos()

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRemove trailing whitespace
Sean Bright [Mon, 27 Feb 2012 13:45:10 +0000 (13:45 +0000)]
Remove trailing whitespace

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd support change gatekeeper mode or ip per ooh323 reload command
Alexandr Anikin [Sun, 26 Feb 2012 18:25:23 +0000 (18:25 +0000)]
Add support change gatekeeper mode or ip per ooh323 reload command

(issue ASTERISK-19298)
Reported by: Dmitry Melekhov
        change_gk_on_reload-1.patch (License #5415)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix crash in app_voicemail during close_mailbox
Matthew Jordan [Sat, 25 Feb 2012 17:22:55 +0000 (17:22 +0000)]
Fix crash in app_voicemail during close_mailbox

In r354890, a memory leak in app_voicemail was fixed by properly disposing of
the allocated heard/deleted pointers.  However, there are situations,
particularly when no messages are found in a folder, where these pointers are
not allocated and not NULL.  In that case, an invalid free would be attempted,
which could crash app_voicemail.  As there are a number of code paths where
this could occur, this patch uses the number of messages detected in the folder
before it attempts to free the pointers.  This resolves the crash detected in
the Asterisk Test Suite's check_voicemail_nominal test.

Merged revisions 356797 from

Merged revisions 356798 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoastobj2.h comment tweaks.
Richard Mudgett [Fri, 24 Feb 2012 23:40:23 +0000 (23:40 +0000)]
astobj2.h comment tweaks.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoastobj2.h documentation updates.
Richard Mudgett [Fri, 24 Feb 2012 20:47:12 +0000 (20:47 +0000)]
astobj2.h documentation updates.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix worker thread resource leak in SIP TCP/TLS.
Richard Mudgett [Fri, 24 Feb 2012 18:33:04 +0000 (18:33 +0000)]
Fix worker thread resource leak in SIP TCP/TLS.

The SIP TCP/TLS worker threads were created joinable but noone could join
them if they died on their own.

* Fix the SIP TCP/TLS worker threads to not be created joinable.

* _sip_tcp_helper_thread() only needs one parameter since the pvt
parameter is only passed in as NULL and never used.

(closes issue ASTERISK-19203)
Reported by: Steve Davies


Merged revisions 356677 from

Merged revisions 356690 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRemove srtp_shutdown from res_srtp
Matthew Jordan [Fri, 24 Feb 2012 17:43:26 +0000 (17:43 +0000)]
Remove srtp_shutdown from res_srtp

The patch for ASTERISK-19253 included properly shutting down the libsrtp
library in the case of module unload.  Unfortunately, not all distributions
have the srtp_shutdown call.  As such, this patch removes calling

Merged revisions 356650 from

Merged revisions 356651 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAllow SRTP policies to be reloaded
Matthew Jordan [Fri, 24 Feb 2012 15:10:35 +0000 (15:10 +0000)]
Allow SRTP policies to be reloaded

Currently, when using res_srtp, once the SRTP policy has been added to the
current session the policy is locked into place.  Any attempt to replace an
existing policy, which would be needed if the remote endpoint negotiated a new
cryptographic key, is instead rejected in res_srtp.  This happens in particular
in transfer scenarios, where the endpoint that Asterisk is communicating with
changes but uses the same RTP session.

This patch modifies res_srtp to allow remote and local policies to be reloaded
in the underlying SRTP library.  From the perspective of users of the SRTP API,
the only change is that the adding of remote and local policies are now added
in a single method call, whereas they previously were added separately.  This
was changed to account for the differences in handling remote and local
policies in libsrtp.


(closes issue ASTERISK-19253)
Reported by: Thomas Arimont
Tested by: Thomas Arimont
  srtp_renew_keys_2012_02_22.diff uploaded by Matt Jordan (license 6283)
  (with some small modifications for this check-in)

Merged revisions 356604 from

Merged revisions 356605 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoOpaquification for ast_format structs in struct ast_channel
Terry Wilson [Fri, 24 Feb 2012 00:32:20 +0000 (00:32 +0000)]
Opaquification for ast_format structs in struct ast_channel


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix blind transfer parking issues if the dialed extension is not recognized as a...
Richard Mudgett [Thu, 23 Feb 2012 20:14:54 +0000 (20:14 +0000)]
Fix blind transfer parking issues if the dialed extension is not recognized as a parking extension.

Custom parking extensions may not be coded such that the first and only
extension priority is the Park application.  These custom parking
extensions will not be recognized as parking extensions.  When a call is
blind transferred to an extension that is not recognized as a parking
extension, the normal blind transfer code causes the transferred channel
to start executing dialplan.  Calls that get parked in this manner do not
know the original channel name that parked the call so the original parker
could never be called back if the parked call is not retrieved before the
timeout time.  The parking space is also announced to the call being
parked as a side effect of not knowing the original parking channel.

* Fix handling of BLINDTRANSFER channel variable for call parking.

* Fixed SIP blind transfer using the wrong dialplan context variable to
check for the parking extension.

(closes issue ASTERISK-19322)
Reported by: aragon
Tested by: rmudgett, jparker



Merged revisions 356521 from

Merged revisions 356522 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix ACK routing for non-2xx responses.
Mark Michelson [Thu, 23 Feb 2012 15:49:13 +0000 (15:49 +0000)]
Fix ACK routing for non-2xx responses.

When we send an ACK for a 2xx response to an INVITE, we are supposed
to use the learned route set. However, when we receive a non-2xx final
response to an INVITE, we are supposed to send the ACK to the same place
we initially sent the INVITE.

We had been doing this up until the changes went in that would build a route
set from provisional responses. That introduced a regression where we would
use the learned route set under all circumstances.

With this change, we now will set the destination of our ACK based on the
invitestate. If it is INV_COMPLETED then that means that we have received
a non-2xx final response (INV_TERMINATED indicates a 2xx response was received).
If it is INV_CANCELLED, then that means the call is being canceled, which
means that we should be ACKing a 487 response.

The other change introduced here is setting the invitestate to INV_CONFIRMED
when we send an ACK *after* the reqprep instead of before. This way, we can
tell in reqprep more easily what the invitestate is prior to sending the ACK.

(closes issue ASTERISK-19389)
reported by Karsten Wemheuer
    ASTERISK-19389v2.patch uploaded by Mark Michelson (license #5049)
(with some slight modifications prior to commit)

Merged revisions 356475 from

Merged revisions 356476 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoBlocked revisions 356431
Paul Belanger [Thu, 23 Feb 2012 04:02:30 +0000 (04:02 +0000)]
Blocked revisions 356431

Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)

Merged revisions 356430 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMultiple revisions 356290,356335,356337
Paul Belanger [Thu, 23 Feb 2012 03:27:01 +0000 (03:27 +0000)]
Multiple revisions 356290,356335,356337

  r356290 | pabelanger | 2012-02-22 15:20:29 -0500 (Wed, 22 Feb 2012) | 4 lines

  Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)

  r356335 | pabelanger | 2012-02-22 16:29:25 -0500 (Wed, 22 Feb 2012) | 2 lines

  Add back strsep() function for previous commit
  r356337 | pabelanger | 2012-02-22 16:36:37 -0500 (Wed, 22 Feb 2012) | 2 lines

  Missed one strsep() function

Merged revisions 356290,356335,356337 from

Merged revisions 356428 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix some tests that didn't get opaquification changes
Terry Wilson [Thu, 23 Feb 2012 01:53:17 +0000 (01:53 +0000)]
Fix some tests that didn't get opaquification changes


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRevert some apparently accidental spacing changes.
Richard Mudgett [Thu, 23 Feb 2012 00:56:31 +0000 (00:56 +0000)]
Revert some apparently accidental spacing changes.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoTrack module use count for res_calendar
Terry Wilson [Wed, 22 Feb 2012 21:22:43 +0000 (21:22 +0000)]
Track module use count for res_calendar

If the res_calendar module was followed immediately by one of the
calendar tech modules and "core stop gracefully" was run, Asterisk
would crash.

This patch adds use count tracking for res_calendar so that it is
unloaded after the tech modules when shutting down gracefully. It
is now not possible to unload all the of the calendar modules via
"module unload", but it is still possible to unload
them all via "module unload -h".


Merged revisions 356291 from

Merged revisions 356297 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoCorrect some set-but-unused variable warnings in the mISDN library.
Kevin P. Fleming [Wed, 22 Feb 2012 21:10:05 +0000 (21:10 +0000)]
Correct some set-but-unused variable warnings in the mISDN library.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix chan_misdn after the lastest opaquification changes
Terry Wilson [Wed, 22 Feb 2012 17:34:33 +0000 (17:34 +0000)]
Fix chan_misdn after the lastest opaquification changes

It now compiles, but there are some unrelated warnings for set but
unused variables.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMerged revisions 356215 via svnmerge from
Matthew Jordan [Wed, 22 Feb 2012 14:54:42 +0000 (14:54 +0000)]
Merged revisions 356215 via svnmerge from

  r356215 | mjordan | 2012-02-22 08:53:53 -0600 (Wed, 22 Feb 2012) | 32 lines

  Merged revisions 356214 via svnmerge from

    r356214 | mjordan | 2012-02-22 08:50:20 -0600 (Wed, 22 Feb 2012) | 27 lines

    Fix potential buffer overrun and memory leak when executing "sip show peers"

    The "sip show peers" command uses a fix sized array to sort the current peers
    in the peers ao2_container.  The size of the array is based on the current
    number of peers in the container.  However, once the size of the array is
    determined, the number of peers in the container can change, as the peers
    container is not locked.  This could cause a buffer overrun when populating
    the array, if peers were added to the container after the array was created.
    Additionally, a memory leak of the allocated array would occur if a user
    caused the _show_peers method to return CLI_SHOWUSAGE.

    We now create a snapshot of the current peers using an ao2_callback with the
    OBJ_MULTIPLE flag.  This size of the array is set to the number of peers
    that the iterator will iterate over; hence, if peers are added or removed
    from the peers container it will not affect the execution of the "sip show
    peers" command.


    (closes issue ASTERISK-19231)
    (closes issue ASTERISK-19361)
    Reported by: Thomas Arimont, Jamuel Starkey
    Tested by: Thomas Arimont, Jamuel Starkey
    Patches: sip_show_peers_2012_02_16.diff uploaded by mjordan (license 6283)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRename ast_channel_emulate_dtmf_digit* funcs
Terry Wilson [Wed, 22 Feb 2012 00:35:54 +0000 (00:35 +0000)]
Rename ast_channel_emulate_dtmf_digit* funcs

The accessors names for the "emulate_dtmf_digit" field on the ast_channel
are misleading. Change them to ast_channel_dtmf_digit_to_emulate*.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix some opaquification-related compiler warnings
Terry Wilson [Tue, 21 Feb 2012 20:17:52 +0000 (20:17 +0000)]
Fix some opaquification-related compiler warnings

(closes issue ASTERISK-19419)
PseudoReview - seanbright on IRC

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMake 'iax2 show callnumber usage' output make sense when an IP is passed in.
Sean Bright [Tue, 21 Feb 2012 11:17:53 +0000 (11:17 +0000)]
Make 'iax2 show callnumber usage' output make sense when an IP is passed in.

Merged revisions 356107 from

Merged revisions 356108 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd missing newline to ccss state change notification
Kinsey Moore [Tue, 21 Feb 2012 04:31:19 +0000 (04:31 +0000)]
Add missing newline to ccss state change notification

Move along, nothing to see here...

Merged revisions 356074 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoast_channel opaquification of pointers and integral types
Terry Wilson [Mon, 20 Feb 2012 23:43:27 +0000 (23:43 +0000)]
ast_channel opaquification of pointers and integral types


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRemove spurious warning when 'qualifyfreqnotok' is set successfully.
Sean Bright [Mon, 20 Feb 2012 18:40:11 +0000 (18:40 +0000)]
Remove spurious warning when 'qualifyfreqnotok' is set successfully.

(closes issue ASTERISK-17176)
Reported by: John Covert
Tested by: Sean Bright
   chan_iax2.c.qualifyfreqnotok.patch uploaded by John Covert (license 5512)

Merged revisions 355997 from

Merged revisions 355998 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoThis was a LOG_NOTICE, so roll it back.
Sean Bright [Mon, 20 Feb 2012 14:41:21 +0000 (14:41 +0000)]
This was a LOG_NOTICE, so roll it back.

Merged revisions 355952 from

Merged revisions 355953 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoChange some debug messages from LOG_DEBUG to ast_debug.
Sean Bright [Mon, 20 Feb 2012 14:37:41 +0000 (14:37 +0000)]
Change some debug messages from LOG_DEBUG to ast_debug.

Merged revisions 355949 from

Merged revisions 355950 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd some boilerplate documentation for IAXVAR and IAXPEER.
Sean Bright [Sun, 19 Feb 2012 18:06:08 +0000 (18:06 +0000)]
Add some boilerplate documentation for IAXVAR and IAXPEER.

Merged revisions 355904 from

Merged revisions 355905 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoSet the length of the ast_sockaddr, so that we can set it's port later.
Sean Bright [Sun, 19 Feb 2012 17:51:12 +0000 (17:51 +0000)]
Set the length of the ast_sockaddr, so that we can set it's port later.

Without this, the call to ast_sockaddr_set_port a few lines later is a noop.

Merged revisions 355901 from

Merged revisions 355902 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agopush 'outgoing' flag from sig_XXX up to chan_dahdi
Alec L Davis [Sat, 18 Feb 2012 08:02:08 +0000 (08:02 +0000)]
push 'outgoing' flag from sig_XXX up to chan_dahdi

'p->outgoing' in chan_dahdi and sig_analog wern't kept in sync, particulary FXS ast_hangup didn't clear the 'outgoing' flag.
sig_pri and sig_ss7 were keeping 'outgoing' flag insync.

Now provides a callback for all the low level sig_XXX modules.

(issue ASTERISK-19316)

alecdavis (license 585)
Reported by: Jeremy Pepper
Tested by: alecdavis


Merged revisions 355850 from

Merged revisions 355851 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoDon't allow trunkfreq to be greater than 1000ms.
Sean Bright [Fri, 17 Feb 2012 22:03:56 +0000 (22:03 +0000)]
Don't allow trunkfreq to be greater than 1000ms.

Merged revisions 355793 from

Merged revisions 355794 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoNon-verbose output should always go to the remote console, regardless of the previous...
Tilghman Lesher [Fri, 17 Feb 2012 19:56:58 +0000 (19:56 +0000)]
Non-verbose output should always go to the remote console, regardless of the previous level.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoPass the correct value to ast_timer_set_rate() for IAX2 trunking.
Sean Bright [Fri, 17 Feb 2012 19:35:11 +0000 (19:35 +0000)]
Pass the correct value to ast_timer_set_rate() for IAX2 trunking.

IAX2 uses the trunkfreq variable to determine how often to send trunk packets, but
this value is in milliseconds while ast_timer_set_rate() expects the rate argument
to be ticks per second.  So we divide 1000 by trunkfreq and pass that in instead.

With a default of 20ms, this change makes IAX2 send trunk packets every 20ms
instead of every 50ms.

Tracked down by myself and Bob Wienholt.

Merged revisions 355746 from

Merged revisions 355747 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix regressions with regards to route-set creation on early dialogs.
Mark Michelson [Fri, 17 Feb 2012 19:22:22 +0000 (19:22 +0000)]
Fix regressions with regards to route-set creation on early dialogs.

This fixes two main issues:

1. Asterisk would send a CANCEL to the route created by the provisional response
   instead of using the same destination it did in the initial INVITE.
2. If a new route set arrives in a 200 OK than was in the 1XX response (perfectly
   possible if our outbound INVITE gets forked), then the route set in the 200 OK
   needs to overwrite the route set in the 1XX response.

(closes issue ASTERISK-19358)
Reported by: Karsten Wemheuer
Tested by: Karsten Wemheuer
   ASTERISK-19358.patch uploaded by Mark Michelson (license 5049)
   ASTERISK-19358.patch uploaded by Stefan Schmidt (license 6034)


Merged revisions 355732 from

Merged revisions 355733 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix channel opaquification for app_rpt
Paul Belanger [Thu, 16 Feb 2012 22:00:31 +0000 (22:00 +0000)]
Fix channel opaquification for app_rpt

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRevert a change to audio_audiohook_write_list that had no affect.
Sean Bright [Thu, 16 Feb 2012 20:03:40 +0000 (20:03 +0000)]
Revert a change to audio_audiohook_write_list that had no affect.

When I made this change initially, I was under the false impression that the
audiohooks structure remained on the channel after all of the hooks had been
detached.  This is not the case, ast ast_read takes care of removing the
audiohooks structure if the lists are empty.

Merged revisions 355622 from

Merged revisions 355623 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix compile problem when old version of libvorbisfile v1.1.2 is used.
Richard Mudgett [Thu, 16 Feb 2012 19:51:15 +0000 (19:51 +0000)]
Fix compile problem when old version of libvorbisfile v1.1.2 is used.

The principle difference between libvorbisfile v1.1.2 and newer (at least
v1.2.0) is the addition of the predefined callbacks OV_CALLBACKS_xxx in
vorbis/vorbisfile.h used for ov_open_callbacks().

* Updated the configure script to detect if libvorbisfile.h declares

* Copied the declaration of OV_CALLBACKS_NOCLOSE from v1.2.0 to allow
v1.1.2 to compile.

(closes issue ASTERISK-19370)
Reported by: Jonn Taylor

Merged revisions 355608 from

Merged revisions 355620 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix AMI Monitor action without File header converting channel name into filename.
Richard Mudgett [Thu, 16 Feb 2012 18:39:46 +0000 (18:39 +0000)]
Fix AMI Monitor action without File header converting channel name into filename.

* Fix potential Solaris crash if Monitor application has a urlbase and no
fname_base option.

Merged revisions 355574 from

Merged revisions 355575 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoWhen IAX2 debugging is enabled, make sure to log 'apathetic' messages too.
Sean Bright [Wed, 15 Feb 2012 19:29:26 +0000 (19:29 +0000)]
When IAX2 debugging is enabled, make sure to log 'apathetic' messages too.

Merged revisions 355529 from

Merged revisions 355530 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRemove IAX_OLD_FIND from chan_iax2.
Sean Bright [Wed, 15 Feb 2012 18:41:22 +0000 (18:41 +0000)]
Remove IAX_OLD_FIND from chan_iax2.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoUse TRUNK_CALL_START as originally intended.
Sean Bright [Wed, 15 Feb 2012 17:26:30 +0000 (17:26 +0000)]
Use TRUNK_CALL_START as originally intended.

Back in r646, TRUNK_CALL_START was added and defined as 0x4000.  That same value
was also hard-coded in one part of the IAX2 code instead of using the #define.

TRUNK_CALL_START has changed over the years (for dealing with LOW_MEMORY), but
the hard-coded usage was never updated to match.  This patch fixes that.

Merged revisions 355448 from

Merged revisions 355449 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRe-commit the verbose branch.
Tilghman Lesher [Tue, 14 Feb 2012 20:27:16 +0000 (20:27 +0000)]
Re-commit the verbose branch.

This change permits each verbose destination (consoles, logger) to have its
own concept of what the verbosity level is.  The big feature here is that
the logger will now be able to capture a particular verbosity level without
condemning each console to need to suffer that level of verbosity.
Additionally, a stray 'core set verbose' will no longer change what will go
to the log.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3