9 years agoFix warning from commit r359705 (predial options for app_dial)
Mark Murawki [Thu, 15 Mar 2012 20:11:55 +0000 (20:11 +0000)]
Fix warning from commit r359705 (predial options for app_dial)

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

9 years agoFix remotely exploitable stack overflow in HTTP manager
Matthew Jordan [Thu, 15 Mar 2012 19:11:03 +0000 (19:11 +0000)]
Fix remotely exploitable stack overflow in HTTP manager

There exists a remotely exploitable stack buffer overflow in HTTP digest
authentication handling in Asterisk.  The particular method in question
is only utilized by HTTP AMI.  When parsing the digest information, the
length of the string is not checked when it is copied into temporary buffers
allocated on the stack.

This patch fixes this behavior by parsing out pre-defined key/value pairs
and avoiding unnecessary copies to the stack.

(closes issue ASTERISK-19542)
Reported by: Russell Bryant
Tested by: Matt Jordan

Merged revisions 359706 from

Merged revisions 359707 from

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

9 years agoAdd options PreDial options 'b' and 'B' to app_dial
Mark Murawki [Thu, 15 Mar 2012 18:58:25 +0000 (18:58 +0000)]
Add options PreDial options 'b' and 'B' to app_dial

* Added 'b' and 'B' options to Dial.  These options will allow you to run
  last-minute dialplan on the caller and callee channels while the Dial
  application is executing, but before the call is started.  For example you
  can use the 'b' option to run dialplan on the callee channel to get the name
  of the newly created channel right away.


(closes issue: ASTERISK-19548)
Reported by: Mark Murawski
Tested by: Mark Murawski, Stefan Schmidt

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

9 years agoFix remotely exploitable stack overrun in Milliwatt
Matthew Jordan [Thu, 15 Mar 2012 18:55:54 +0000 (18:55 +0000)]
Fix remotely exploitable stack overrun in Milliwatt

Milliwatt is vulnerable to a remotely exploitable stack overrun when using
the 'o' option.  This occurs due to the milliwatt_generate function not
accounting for AST_FRIENDLY_OFFSET when calculating the maximum number of
samples it can put in the output buffer.

This patch resolves this issue by taking into account AST_FRIENDLY_OFFSET
when determining the maximum number of samples allowed.  Note that at no
point is remote code execution possible.  The data that is written into the
buffer is the pre-defined Milliwatt data, and not custom data.

(closes issue ASTERISK-19541)
Reported by: Russell Bryant
Tested by: Matt Jordan
  milliwatt_stack_overrun.rev1.txt by Russell Bryant (license 6283)
  Note that this patch was written by Russell, even though Matt uploaded it

Merged revisions 359645 from

Merged revisions 359656 from

Merged revisions 359694 from

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

9 years agoRemove unused variable ‘srch’
Paul Belanger [Thu, 15 Mar 2012 18:34:39 +0000 (18:34 +0000)]
Remove unused variable ‘srch’

Missed on the previous commit

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

9 years agoAdd missing connected line macro calls to initial dial for Dial and Queue apps.
Richard Mudgett [Thu, 15 Mar 2012 18:32:22 +0000 (18:32 +0000)]
Add missing connected line macro calls to initial dial for Dial and Queue apps.

The connected line interception macros do not get executed when the
outgoing channel is initially created and that channel's caller-id is
implicitly imported into the incoming channel's connected line data.  If
you are using the interception macros, you would expect that they get run
for every change to a channel's connected line information outside of
normal dialplan execution.


Merged revisions 359609 from

Merged revisions 359620 from

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

9 years agoRemove some dead code found in _sip_show_peers()
Paul Belanger [Thu, 15 Mar 2012 17:36:15 +0000 (17:36 +0000)]
Remove some dead code found in _sip_show_peers()


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

9 years agochan_iax2: Fix use of uninitialized sockaddr_in in try_transfer().
Russell Bryant [Thu, 15 Mar 2012 00:54:32 +0000 (00:54 +0000)]
chan_iax2: Fix use of uninitialized sockaddr_in in try_transfer().

Initialize a struct sockaddr_in in try_transfer() so that the code isn't
(potentially) trying to read from it while uninitialized.

Merged revisions 359558 from

Merged revisions 359559 from

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

9 years agochan_gtalk: Fix potential use of uninitialized variable.
Russell Bryant [Thu, 15 Mar 2012 00:07:18 +0000 (00:07 +0000)]
chan_gtalk: Fix potential use of uninitialized variable.

Avoid potential use of idroster in gtalk_alloc() before it has been

Merged revisions 359508 from

Merged revisions 359509 from

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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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