10 years agoapp_chanisavail: Fix use of uninitialized variable.
Russell Bryant [Wed, 14 Mar 2012 23:29:32 +0000 (23:29 +0000)]
app_chanisavail: Fix use of uninitialized variable.

Ensure that status is set before it is used by resetting it during each loop
iteration.  This could have resulted in incorrect results from this app.

Merged revisions 359486 from

Merged revisions 359491 from

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

10 years agoudptl: Ensure fec[] in udptl_build_packet() is initialized.
Russell Bryant [Wed, 14 Mar 2012 23:12:42 +0000 (23:12 +0000)]
udptl: Ensure fec[] in udptl_build_packet() is initialized.

Scan results indicated that this array could be used uninitialized.  At a quick
look, it looks correct.  In any case, initializing it is a Good Thing (tm).

Merged revisions 359457 from

Merged revisions 359458 from

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

10 years agoapp.h: Always initialize AST_DECLARE_APP_ARGS().
Russell Bryant [Wed, 14 Mar 2012 22:41:21 +0000 (22:41 +0000)]
app.h: Always initialize AST_DECLARE_APP_ARGS().

This patch ensures that the struct defined by AST_DECLARE_APP_ARGS() is always
fully initialized.  I'm not sure if this fixes any real bugs, but it silences
a bunch of warnings from coverity, and is generally a good thing to do anyway.

Merged revisions 359452 from

Merged revisions 359454 from

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

10 years agoFix deadlock potential with some ast_indicate/ast_indicate_data calls.
Richard Mudgett [Wed, 14 Mar 2012 22:38:29 +0000 (22:38 +0000)]
Fix deadlock potential with some ast_indicate/ast_indicate_data calls.

Calling ast_indicate()/ast_indicate_data() with the channel lock held can
result in a deadlock with a local channel because of how local channels
need to avoid deadlock.

Merged revisions 359451 from

Merged revisions 359453 from

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

10 years agoAdd tests for main/jitterbuf.c
Matthew Jordan [Wed, 14 Mar 2012 18:56:15 +0000 (18:56 +0000)]
Add tests for main/jitterbuf.c

This patch adds unit tests for main/jitterbuf.c.  This includes checking for
the following:
  * Nominal insertion and retrieval of frames
  * Insertion and retrieval of frames where the frames are inserted out of
    order with respect to the previous frame
  * Insertion and retrieval of frames where some number of frames that would
    occur in the expected sequence are instead dropped
  * Insertion and retrieval of frames with an arrival time that does not occur
    at the same rate as the surrounding frames
  * Resynchronization of the jitter buffer when an inserted frame breaks the
    resynchronization threshold
  * Overfilling of the jitter buffer

For each of the tests, both JB_TYPE_VOICE and JB_TYPE_CONTROL permutations


(issue: ASTERISK-18964)
Reported by: Kris Shaw
Tested by: Kris Shaw, Matt Jordan

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

10 years agoThree copies of the file contents in channel_internal.h are a bit excessive.
Richard Mudgett [Wed, 14 Mar 2012 18:12:08 +0000 (18:12 +0000)]
Three copies of the file contents in channel_internal.h are a bit excessive.

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

10 years agoFix incorrect jitter buffer overflow due to missed resynchronizations
Matthew Jordan [Wed, 14 Mar 2012 17:48:40 +0000 (17:48 +0000)]
Fix incorrect jitter buffer overflow due to missed resynchronizations

When a change in time occurs, such that the timestamps associated with frames
being placed into an adaptive jitter buffer (implemented in jitterbuf.c)
are significantly different then the previously inserted frames, the jitter
buffer checks to see if it needs to be resynched to the new time frame.  If
three consecutive packets break the threshold, the jitter buffer resynchs
itself to the new timestamps.  This currently only occurs when history is
calculated, and hence only on JB_TYPE_VOICE frames.

JB_TYPE_CONTROL frames, on the other hand, are never passed to the history
calculations.  Because of this, if the jump in time is greater then the
maximum allowed length of the jitter buffer, the JB_TYPE_CONTROL frames are
dropped and no resynchronization occurs.  Alterntively, if the overfill
logic is not triggered, the JB_TYPE_CONTROL frame will be placed into the
buffer, but with a time reference that is not applicable.  Subsequent
JB_TYPE_VOICE frames will quickly trigger the overflow logic until reads
from the jitter buffer reach the errant JB_TYPE_CONTROL frame.

This patch allows JB_TYPE_CONTROL frames to resynch the jitter buffer.  As
JB_TYPE_CONTROL frames are unlikely to occur in multiples, it perform the
resynchronization on any JB_TYPE_CONTROL frame that breaks the resynch

Note that this only impacts chan_iax2, as other consumers of the adaptive
jitter buffer use the abstract jitter buffer API, which does not use


(closes issue ASTERISK-18964)
Reported by: Kris Shaw
Tested by: Kris Shaw, Matt Jordan
  jitterbuffer-2012-2-26.diff uploaded by Kris Shaw (license 5722)

Merged revisions 359356 from

Merged revisions 359358 from

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

10 years agoFix Dial m and r options and forked calls generating warnings for voice frames.
Richard Mudgett [Wed, 14 Mar 2012 17:39:45 +0000 (17:39 +0000)]
Fix Dial m and r options and forked calls generating warnings for voice frames.

When connected line support was added, the wait_for_answer() variable
single changed its meaning slightly.  Unfortunately, the places where
single was used did not necessarily get updated to reflect that change.
Also audio/video frames were sent to all forked calls when the endpoints
were never made compatible.

* Don't pass audio/video media frames when the channels have not been made

* Added handling of AST_CONTROL_SRCCHANGE to app_dial.c.

* Fixed app_dial.c passing on AST_CONTROL_HOLD because that frame can also
pass a requested MOH class.

(closes issue ASTERISK-16901)
Reported by: Chris Gentle

(closes issue ASTERISK-17541)
Reported by: clint


Merged revisions 359344 from

Merged revisions 359355 from

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

10 years agoForce non-inlining of ao2_iterator_destroy when TEST_FRAMEWORK is enabled
Matthew Jordan [Wed, 14 Mar 2012 14:40:44 +0000 (14:40 +0000)]
Force non-inlining of ao2_iterator_destroy when TEST_FRAMEWORK is enabled

In r357272, astobj2 was changed to automatically enable REF_DEBUG when the
TEST_FRAMEWORK flag was enabled.  Unfortunately, some compilers (gcc 4.5.1
at least) will attempt to inline ao2_iterator_destroy in handle_astobj2_test.
This by itself is not a problem; unfortunately, the compiler believes that
there is a code path wherein an object allocated on the stack will be
free'd.  As warnings are treated as errors, this prevents compilation of

This patch works around that by adding the noinline attribue to
ao2_iterator_destroy, but only if the TEST_FRAMEWORK flag is enabled.
Preventing inlining is only needed for the test method defined in astobj2,
which is also only enabled if TEST_FRAMEWORK is enabled.

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

10 years agoFix bogus reads/writes of console log levels in asterisk.c
Russell Bryant [Wed, 14 Mar 2012 10:56:53 +0000 (10:56 +0000)]
Fix bogus reads/writes of console log levels in asterisk.c

This patch updates the NUMLOGLEVELS define in logger.h to 32, to match the fact
that logger.c implements 32 log levels (because of the custom log level stuff).
asterisk.c uses this define to size an array of levels per remote console.

This array is modified in ast_console_toggle_loglevel(), which is called by the
"logger set level" CLI command.  While the documentation for the CLI command
doesn't make it terribly obvious, you can use this CLI command to toggle a
custom log level on a remote console, as well.  However, doing so led to an
invalid array index in asterisk.c.

This array is read from any time a log message is written to a console.  So,
all custom log level messages resulted in a bogus read if a remote console
was connected.

Merged revisions 359259 from

Merged revisions 359260 from

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

10 years agoFix invalid reads/writes due to incorrect sizeof().
Russell Bryant [Wed, 14 Mar 2012 10:05:07 +0000 (10:05 +0000)]
Fix invalid reads/writes due to incorrect sizeof().

These few places in the code used sizeof() on h_addr in struct hostent.
This is sizeof(char *).  The correct way to get the size of this address is to
use h_length.  This error would result in reads/writes of 8 bytes instead of 4
on 64-bit machines.

Merged revisions 359211 from

Merged revisions 359212 from

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

10 years agoFix inaccurate sizeof() in sched.c.
Russell Bryant [Wed, 14 Mar 2012 01:35:30 +0000 (01:35 +0000)]
Fix inaccurate sizeof() in sched.c.

This code just needed sizeof(int), not sizeof(int *).

Merged revisions 359157 from

Merged revisions 359162 from

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

10 years agoFix incorrect sizeof() in astman.
Russell Bryant [Wed, 14 Mar 2012 00:45:02 +0000 (00:45 +0000)]
Fix incorrect sizeof() in astman.

Merged revisions 359116 from

Merged revisions 359117 from

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

10 years agoFix incorrect usage of sizeof() in res_crypto.
Russell Bryant [Wed, 14 Mar 2012 00:39:23 +0000 (00:39 +0000)]
Fix incorrect usage of sizeof() in res_crypto.

In this case, just remove the memset().  There was a redundant memset that is
done correctly just 2 lines later.

Merged revisions 359110 from

Merged revisions 359114 from

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

10 years agoFix broken usage of sizeof() in res_adsi.
Russell Bryant [Wed, 14 Mar 2012 00:29:47 +0000 (00:29 +0000)]
Fix broken usage of sizeof() in res_adsi.

Merged revisions 359088 from

Merged revisions 359091 from

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

10 years agoFix incorrect sizeof() usage in features.c.
Russell Bryant [Wed, 14 Mar 2012 00:22:10 +0000 (00:22 +0000)]
Fix incorrect sizeof() usage in features.c.

This didn't actually result in a bug anywhere, luckily.  The only place
where the result of these memcpys was used is in app_dial, and the only
field that it read out of ast_call_feature was the first one, which is an
int, so these memcpys always copied just enough to avoid a problem.

Merged revisions 359069 from

Merged revisions 359072 from

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

10 years agoFix incorrect sizeof() on a pointer in MD5Final().
Russell Bryant [Wed, 14 Mar 2012 00:10:37 +0000 (00:10 +0000)]
Fix incorrect sizeof() on a pointer in MD5Final().

Merged revisions 359059 from

Merged revisions 359060 from

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

10 years agoDon't use a buffer after it goes out of scope.
Russell Bryant [Wed, 14 Mar 2012 00:01:40 +0000 (00:01 +0000)]
Don't use a buffer after it goes out of scope.

's' is set to 'workspace'.  Make sure 'workspace' doesn't go out of scope while
the reference to it via 's' is still used.

Merged revisions 359056 from

Merged revisions 359057 from

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

10 years agoBlocked revisions 359054
Russell Bryant [Tue, 13 Mar 2012 23:46:55 +0000 (23:46 +0000)]
Blocked revisions 359054

Dump cache of published events when a node joins the cluster.

Also use a more reliable method for stopping the poll() thread.

Merged revisions 359053 from

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

10 years agoRemove chan_usbradio and app_rpt.
Russell Bryant [Tue, 13 Mar 2012 23:42:24 +0000 (23:42 +0000)]
Remove chan_usbradio and app_rpt.

These modules are being maintained outside of the tree and have been for a long
time now, so it doesn't make sense to keep them here.


Merged revisions 359050 from

Merged revisions 359051 from

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

10 years agoAdd missing channel_internal.h
Terry Wilson [Tue, 13 Mar 2012 21:24:13 +0000 (21:24 +0000)]
Add missing channel_internal.h


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

10 years agoAdd ability for chan_dahdi ISDN to block connected line updates per span.
Richard Mudgett [Tue, 13 Mar 2012 21:18:31 +0000 (21:18 +0000)]
Add ability for chan_dahdi ISDN to block connected line updates per span.

Added new chan_dahdi.conf colp_send option parameter to block connected
line updates per span.

(closes issue ASTERISK-17025)
Reported by: Michael Smith

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

10 years agoFix setting CDR variables in the hangup extension
Terry Wilson [Tue, 13 Mar 2012 20:43:19 +0000 (20:43 +0000)]
Fix setting CDR variables in the hangup extension

A previous CDR fix for setting CDR variables during a bridge via
custom dialplan features broke setting CDR variables in the
hangup extension. This patch fixes the issue.


Merged revisions 358978 from

Merged revisions 358989 from

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

10 years agoMake hints for invalid SIP devices return Unavail, not idle
Terry Wilson [Tue, 13 Mar 2012 20:06:57 +0000 (20:06 +0000)]
Make hints for invalid SIP devices return Unavail, not idle

This patch drastically simplifies the device state aggegation code.
The old method was not only overly complex, but also made it impossible
to return AST_DEVICE_INVALID from the aggregation code. The unit test
update is as a result of fixing that bug.

The SIP change stems from a bug introduced by removing a DNS lookup
for hostname-based SIP channels.

(closes issue ASTERISK-16702)

Merged revisions 358943 from

Merged revisions 358944 from

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

10 years agoFix IMAP storage compilation after opaquification changes
Terry Wilson [Tue, 13 Mar 2012 18:55:14 +0000 (18:55 +0000)]
Fix IMAP storage compilation after opaquification changes

(closes issue ASTERISK-19513)

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

10 years agoFinalize ast_channel opaquification
Terry Wilson [Tue, 13 Mar 2012 18:20:34 +0000 (18:20 +0000)]
Finalize ast_channel opaquification


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

10 years agoFix crash caused by opaquification change -r356042.
Richard Mudgett [Tue, 13 Mar 2012 17:01:55 +0000 (17:01 +0000)]
Fix crash caused by opaquification change -r356042.

The set_format() function was more subtle in how it modified the
struct ast_channel readtrans/writetrans values.

* Fixed ast_activate_generator() conversion correctly.

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

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

10 years agoUse struct copy instead of memcpy().
Richard Mudgett [Tue, 13 Mar 2012 16:50:06 +0000 (16:50 +0000)]
Use struct copy instead of memcpy().

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

10 years agoEnable macros in 1.8 to find the next highest "h" extension in a context, like in...
Tilghman Lesher [Tue, 13 Mar 2012 08:06:20 +0000 (08:06 +0000)]
Enable macros in 1.8 to find the next highest "h" extension in a context, like in 1.4.

This change restores functionality that was present in 1.4, when AEL macros
were implemented with the Macro dialplan application.  Macros are fraught with
functionality issues, because they consume a large portion of the underlying
application stack.  This limits the ability of AEL users to call many layers
of subroutines, an issue which Gosub does not have (originally tested to
100,000 levels deep).  Therefore, starting in 1.6.0, AEL macros were
implemented with Gosub.

However, there were some implicit behaviors of Macro, which were not replicated
at the same time as with the transition to Gosub, one of which is documented in
the related issue.  In particular, the "h" extension is designed to execute not
in the Macro context, but in the topmost calling context.  Due to legacy issues
with a misapplied bugfix many years ago, when a macro exited in 1.4, it looks
in all calling contexts, bubbling up from the deepest level until it finds an
"h" extension.

Since AEL hides the complexity of the underlying dialplan logic from the AEL
programmer, it's reasonable to assume that this behavior should not change in
the transition from Asterisk 1.4 LTS to Asterisk 1.8 LTS, lest we break
working AEL configurations in the transition to Asterisk 1.8 LTS.  This fix
is the result, which implements a search for the "h" extension in all calling
Gosub contexts.

Fixes ASTERISK-19336

Patch: 20120308__ael_bugfix_for_trunk__2.diff (License #5003) by Tilghman Lesher
(with slight modifications for 1.8)

Tested by: Johan Wilfer


Merged revisions 358810 from

Merged revisions 358811 from

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

10 years agoMassive changes in chan_unistim channel driver. Include many fixes in channel driver...
Igor Goncharovskiy [Mon, 12 Mar 2012 17:01:26 +0000 (17:01 +0000)]
Massive changes in chan_unistim channel driver. Include many fixes in channel driver operation and add additional functionality:
 * Added ability to use multiple lines on phone, so for one device in configuration multiple lines can be defined, it allows to have multiple calls on one phone, callwaiting and switching between calls.
 * Added ability for translation on-screen menu to multiple languages. Tested on Russian languages.  Supported encodings: ISO 8859-1, ISO 8859-2, ISO 8859-4, ISO 8859-5, ISO 2022-JP. Language controlled by 'language' and on-screen menu of phone
 * Other described in CHANGES file

Testing done by issue tracker users: ibercom, scsiborg, idarwin, TeknoJuce, c0rnoTa.
Tested on production system by Jonn Taylor (jonnt) using phone models: Nortel i2004, 1120E and 1140E.

(closes issue ASTERISK-16890)


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

10 years agoTransition app_page to using app_confbridge internally for the conference bridge...
Joshua Colp [Sat, 10 Mar 2012 20:06:46 +0000 (20:06 +0000)]
Transition app_page to using app_confbridge internally for the conference bridge portion of paging. This also adds a new 'announcement' option to ConfBridge user profiles.


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

10 years agoResolve a few more cases of variable shadowing.
Sean Bright [Thu, 8 Mar 2012 17:48:14 +0000 (17:48 +0000)]
Resolve a few more cases of variable shadowing.

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

10 years agoEliminate a bunch of shadow warnings.
Sean Bright [Thu, 8 Mar 2012 17:02:52 +0000 (17:02 +0000)]
Eliminate a bunch of shadow warnings.

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

10 years agoAdd some underscores in a few of our llist macros to reduce name collisions.
Sean Bright [Thu, 8 Mar 2012 17:00:22 +0000 (17:00 +0000)]
Add some underscores in a few of our llist macros to reduce name collisions.

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

10 years agoMake transfer not ignore port information with SIP.
Jonathan Rose [Thu, 8 Mar 2012 16:59:30 +0000 (16:59 +0000)]
Make transfer not ignore port information with SIP.

Attempting to transfer with SIP to an address like would fail
because port would be cut from the host string and ignored. This simply keeps chan_sip
from cutting off the port number during these kinds of transfers.

(closes issue ASTERISK-19321)
Reported by: Federico Alves

Merged revisions 358643 from

Merged revisions 358644 from

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

10 years agoAdd --enable-dev-mode=strict to configure.
Sean Bright [Thu, 8 Mar 2012 16:21:49 +0000 (16:21 +0000)]
Add --enable-dev-mode=strict to configure.

Passing -Wshadow to gcc enables shadow warnings.  From the gcc manual:

    Warn whenever a local variable or type declaration shadows another
    variable, parameter, type, or class member (in C++), or whenever a
    built-in function is shadowed.

Asterisk will not currently compile with this option set, but a number of bugs
have been discovered by enabling this flag on specific files.  The long-term
goal is to eliminate all of the suspect code that causes this warning to be

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

10 years agoWhitespace only change to the Makefile
Sean Bright [Thu, 8 Mar 2012 16:12:11 +0000 (16:12 +0000)]
Whitespace only change to the Makefile

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

10 years agoHandle numeric columns for eventtype properly in cel_odbc
Terry Wilson [Wed, 7 Mar 2012 21:28:55 +0000 (21:28 +0000)]
Handle numeric columns for eventtype properly in cel_odbc

Patch also implements correct handling of datetime2 and datetimeoffset new
datatypes in SQL Server 2008 and 2008 R2.

(closes issue ASTERISK-17548)


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

10 years agoChange directly setting _softhangup in sig_ss7.c to use ast_softhangup_nolock().
Richard Mudgett [Wed, 7 Mar 2012 18:33:12 +0000 (18:33 +0000)]
Change directly setting _softhangup in sig_ss7.c to use ast_softhangup_nolock().

Update to:
(issue ASTERISK-19372)

Merged revisions 358530 from

Merged revisions 358531 from

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

10 years agoReturn g729 and g723.1 frames with the number of samples set properly.
Sean Bright [Wed, 7 Mar 2012 16:16:03 +0000 (16:16 +0000)]
Return g729 and g723.1 frames with the number of samples set properly.

If the wctc4xxp returns more than a single packet, we need to update the number
of samples in the returned frame accordingly.

Acked-by: Shaun Ruffell <>

Merged revisions 358484 from

Merged revisions 358485 from

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

10 years agoSet snarkiness = 0 in cdr_adaptive_odbc.conf.sample
Terry Wilson [Wed, 7 Mar 2012 15:19:05 +0000 (15:19 +0000)]
Set snarkiness = 0 in cdr_adaptive_odbc.conf.sample

Merged revisions 358438 from

Merged revisions 358441 from

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

10 years agoAdd detection for ODBC WCHAR fields
Terry Wilson [Wed, 7 Mar 2012 15:08:08 +0000 (15:08 +0000)]
Add detection for ODBC WCHAR fields

Without detecting these types, cel_odbc blows up when the character
set for the table is utf8. This also wraps cdr_adaptive_odbc's use of
those types in the HAVE_ODBC_WCHAR #ifdef seen in other parts of the

Merged revisions 358435 from

Merged revisions 358436 from

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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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