asterisk/asterisk.git
5 years agores_fax.c: crash on framehook with no dsp in fax detect
Scott Griepentrog [Thu, 19 Dec 2013 17:03:20 +0000 (17:03 +0000)]
res_fax.c: crash on framehook with no dsp in fax detect

In fax_detect_framehook() a null pointer reference can occur where a
voice frame is processed but no dsp is attached to the fax detection
structure.  The code block that rejects frames that detection cannot
be processed on is checking for dsp but falls through when it should
instead return, as this change implements.

(closes issue ASTERISK-22942)
Reported by: adomjan
Review: https://reviewboard.asterisk.org/r/3076/
........

Merged revisions 404351 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 404352 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoVoicemail: Remove mailbox identifier format (box@context) assumptions in the system.
Richard Mudgett [Thu, 19 Dec 2013 16:52:43 +0000 (16:52 +0000)]
Voicemail: Remove mailbox identifier format (box@context) assumptions in the system.

This change is in preparation for external MWI support.

Removed code from the system for normal mailbox handling that appends
@default to the mailbox identifier if it does not have a context.  The
only exception is the legacy hasvoicemail users.conf option.  The legacy
option will only work for app_voicemail mailboxes.  The system cannot make
any assumptions about the format of the mailbox identifer used by
app_voicemail.

chan_sip and chan_dahdi/sig_pri had the most changes because they both
tried to interpret the mailbox identifier.  chan_sip just stored and
compared the two components.  chan_dahdi actually used the box
information.

The ISDN MWI support configuration options had to be reworked because
chan_dahdi was parsing the box@context format to get the box number.  As a
result the mwi_vm_boxes chan_dahdi.conf option was added and is documented
in the chan_dahdi.conf.sample file.

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

Merged revisions 404348 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoastdb: crash in sqlite3 during shutdown
Scott Griepentrog [Thu, 19 Dec 2013 16:33:09 +0000 (16:33 +0000)]
astdb: crash in sqlite3 during shutdown

When Asterisk is shut down, the astdb_atexit() function releases
(finalize) the previously initiated (prepared) SQL statements in
sqlite3.  Another thread making a subsequent request can cause a
crash in sqlite3.  This patch eliminates that issue by resetting
the statement pointer after it is released/cleared.  The sqlite3
code detects the null pointer, and aborts the operation cleanly.

(closes issue AST-1265)
Reported by: Alexander Hömig
(closes issue ASTERISK-22350)
Reported by: Birger "WIMPy" Harzenetter
Review: https://reviewboard.asterisk.org/r/3078/
........

Merged revisions 404344 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 404345 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agochannel: Add a missing ast_channel_unlock when allocating a Surrogate channel.
Joshua Colp [Thu, 19 Dec 2013 12:18:52 +0000 (12:18 +0000)]
channel: Add a missing ast_channel_unlock when allocating a Surrogate channel.
........

Merged revisions 404332 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoHandle temporary failures on gk registration
Alexandr Anikin [Thu, 19 Dec 2013 08:35:28 +0000 (08:35 +0000)]
Handle temporary failures on gk registration
Introduce new 'stopped' state for gk client and restart gk client
on failures
Remove ooh323 stack command lock as it is not need now.
(closes issue ASTERISK-21960)
Reported by: Dmitry Melekhov
Patches:
ASTERISK-21960.patch
ASTERISK-21960-stacklockup-2.patch
Tested by: Dmitry Melekhov
........

Merged revisions 404318 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 404320 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoFixup some skinny bugs causing Fracks and ao2 cleanup issues.
Damien Wedhorn [Thu, 19 Dec 2013 02:59:52 +0000 (02:59 +0000)]
Fixup some skinny bugs causing Fracks and ao2 cleanup issues.

Moved channel locking into setsubstate so that a process can complete
working on a sub before another starts changing it. The existing code
was causing some Fracks with schedule deletion.

Removed multiple rtp cleanup. Now only cleansup up once, fixing ao2
object cleanup issues.
........

Merged revisions 404306 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoapp_cdr,app_forkcdr,func_cdr: Synchronize with engine when manipulating state
Matthew Jordan [Thu, 19 Dec 2013 00:50:01 +0000 (00:50 +0000)]
app_cdr,app_forkcdr,func_cdr: Synchronize with engine when manipulating state

When doing the rework of the CDR engine that pushed all of the logic into cdr.c
and made it respond to changes in channel state over Stasis, we knew that
accessing the CDR engine from the dialplan would be "slightly"
non-deterministic. Dialplan threads would be accessing CDRs while Stasis
threads would be updating the state of said CDRs - whereas in the past,
everything happened on the dialplan threads. Tests have shown that "slightly"
is in reality "very".

This patch synchronizes things by making the dialplan applications/functions
that manipulate CDRs do so over Stasis. ForkCDR, NoCDR, ResetCDR, CDR, and
CDR_PROP now all use Stasis to send their requests over to the CDR engine,
and synchronize on the channel Stasis topic via a subscription so that they
return their values/control to the dialplan at the appropriate time.

While going through this, the following changes were also made:
 * DISA, which can reset the CDR when a user successfully authenticates, now
   just uses the ResetCDR app to do this. This prevents having to duplicate
   the same Stasis synchronization logic in that application.
 * Answer no longer disables CDRs. It actually didn't work anyway - calling
   DISABLE on the channel's CDR doesn't stop the CDR from getting the Answer
   time - it just kills all CDRs on that channel, which isn't what the caller
   would intend.

(closes issue ASTERISK-22884)
(closes issue ASTERISK-22886)

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

Merged revisions 404294 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoFixup skinny registration following network issues.
Damien Wedhorn [Thu, 19 Dec 2013 00:32:00 +0000 (00:32 +0000)]
Fixup skinny registration following network issues.

On session registration, if device is already reporting that it is
connected to a device, an innocuous packet (update time) is sent to
the already connected device. If the tcp connection is down, the
device will be unregistered and the new connection allowed.

Without this patch, network issues can see a situation where a device
can not reregister until after 3*timeout.
........

Merged revisions 404292 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoAdd AMI event for presence state.
Jason Parker [Wed, 18 Dec 2013 23:00:03 +0000 (23:00 +0000)]
Add AMI event for presence state.

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

Merged revisions 404275 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 404279 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoooh323c: Fix gcc 4.6.3 compiler warnings.
Richard Mudgett [Wed, 18 Dec 2013 21:12:58 +0000 (21:12 +0000)]
ooh323c: Fix gcc 4.6.3 compiler warnings.
........

Merged revisions 404212 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 404219 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 404263 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agochan_oss.c: channel being locked twice and unlocked once
Kevin Harwell [Wed, 18 Dec 2013 20:48:49 +0000 (20:48 +0000)]
chan_oss.c: channel being locked twice and unlocked once

Removed channel lock as it is now being down in ast_channel_alloc
........

Merged revisions 404261 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agochannel locking: Add locking for channel snapshot creation
Kevin Harwell [Wed, 18 Dec 2013 20:33:37 +0000 (20:33 +0000)]
channel locking: Add locking for channel snapshot creation

Original commit message by mmichelson (asterisk 12 r403311):

"This adds channel locks around calls to create channel snapshots as well
as other functions which operate on a channel and then end up
creating a channel snapshot. Functions that expect the channel to be
locked prior to being called have had their documentation updated to
indicate such."

The above was initially committed and then reverted at r403398.  The problem
was found to be in core_local.c in the publish_local_bridge_message function.
The ast_unreal_lock_all function locks and adds a reference to the returned
channels and while they were being unlocked they were not being unreffed when
no longer needed.  Fixed by unreffing the channels.

Also in bridge.c a lock was obtained on "other->chan", but then an attempt was
made to unlock "other" and not the previously locked channel.  Fixed by
unlocking "other->chan"

(closes issue ASTERISK-22709)
Reported by: John Bigelow
........

Merged revisions 404237 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoIntroduce new config option 'aniasdni'. If yes then asterisk set dialed number as...
Alexandr Anikin [Wed, 18 Dec 2013 19:36:39 +0000 (19:36 +0000)]
Introduce new config option 'aniasdni'. If yes then asterisk set dialed number as own id back to the caller
on incoming h.323 calls. Option can be set globally or per user section.

(closes issue ASTERISK-22020)
Reported by: Ross Beer

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

5 years agochannels: Return allocated channels locked.
Joshua Colp [Wed, 18 Dec 2013 19:28:05 +0000 (19:28 +0000)]
channels: Return allocated channels locked.

This change makes ast_channel_alloc return allocated channels
locked. By doing so no other thread can acquire, lock, and manipulate
the channel before it is completely set up.

(closes issue AST-1256)

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

Merged revisions 404204 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoImplement module reload command for chan_ooh323
Alexandr Anikin [Wed, 18 Dec 2013 19:10:42 +0000 (19:10 +0000)]
Implement module reload command for chan_ooh323

(close issue ASTERISK-22817)

Patches:
ooh323_module_reload.patch

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

5 years agoari: Bump the version of ARI to 1.0.0
Matthew Jordan [Wed, 18 Dec 2013 12:46:04 +0000 (12:46 +0000)]
ari: Bump the version of ARI to 1.0.0

(closes issue ASTERISK-23007)
........

Merged revisions 404184 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_calendar: Protect channel when adding datastore.
Joshua Colp [Wed, 18 Dec 2013 12:01:46 +0000 (12:01 +0000)]
res_calendar: Protect channel when adding datastore.

This change adds a missing channel lock when adding a datastore
to a channel.
........

Merged revisions 404135 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 404136 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 404137 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agofunc_strings: Documentation fix for QUOTE()
Rusty Newton [Wed, 18 Dec 2013 00:36:54 +0000 (00:36 +0000)]
func_strings: Documentation fix for QUOTE()

Example output was inaccurate.

(issue ASTERISK-22970)
(closes issue ASTERISK-22970)
Reported by: Gareth Palmer
Patches:
   func_strings.patch uploaded by Gareth Palmer (license 5169)
........

Merged revisions 404081 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 404087 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 404099 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoLICENSE: Update language to include ARI
Matthew Jordan [Wed, 18 Dec 2013 00:17:15 +0000 (00:17 +0000)]
LICENSE: Update language to include ARI
........

Merged revisions 404050 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agotests: fix ast_bridge_base_new calls not using the additional arguments
Jonathan Rose [Tue, 17 Dec 2013 23:57:52 +0000 (23:57 +0000)]
tests: fix ast_bridge_base_new calls not using the additional arguments

r404042 gave ast_bridge_base_new two new arguments for setting a bridge creator
and name. Unfortunately since a couple test modules aren't compiled by default,
I missed the fact that this change impacted those tests and caused compilation
failures against them.
........

Merged revisions 404048 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoSeveral components: fixing Typos in comments and code, "avaliable" instead of "available"
Rusty Newton [Tue, 17 Dec 2013 23:38:02 +0000 (23:38 +0000)]
Several components: fixing Typos in comments and code, "avaliable" instead of "available"

(issue ASTERISK-23021)
(closes issue ASTERISK-23021)
Reported by: Jeremy Lainé
Tested by: Rusty Newton
Patches:
   available.patch uploaded by Jeremy Lainé (license 6561)
........

Merged revisions 404046 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agobridging: Give bridges a name and a known creator
Jonathan Rose [Tue, 17 Dec 2013 23:25:49 +0000 (23:25 +0000)]
bridging: Give bridges a name and a known creator

Bridges have two new optional properties, a creator and a name.
Certain consumers of bridges will automatically provide bridges that
they create with these properties. Examples include app_bridgewait,
res_parking, app_confbridge, and app_agent_pool. In addition, a name
may now be provided as an argument to the POST function for creating
new bridges via ARI.

(closes issue AFS-47)
Review: https://reviewboard.asterisk.org/r/3070/
........

Merged revisions 404042 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_sorcery_config: Output an error message when an object can't be created.
Joshua Colp [Tue, 17 Dec 2013 18:35:39 +0000 (18:35 +0000)]
res_sorcery_config: Output an error message when an object can't be created.

If object creation fails an error message will now be output with the id, type,
and configuration file.
........

Merged revisions 404029 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoframehooks: Re-iterate if framehook provides different frame.
Joshua Colp [Tue, 17 Dec 2013 18:26:09 +0000 (18:26 +0000)]
framehooks: Re-iterate if framehook provides different frame.

Framehooks can be used in a reactive manner to execute specific logic
when a frame is received with a certain type and payload. Since it is
possible for framehooks to provide frames it was possible for this
reactive framehook to be unaware of frames it is looking for.

This change makes it so that when framehooks return a modified frame
the code will now re-iterate (from the beginning) and call any
previous framehooks that have not provided a modified frame themselves.

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

Merged revisions 404027 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoChanged the default for live_dangerously to no
David M. Lee [Tue, 17 Dec 2013 14:41:59 +0000 (14:41 +0000)]
Changed the default for live_dangerously to no
........

Merged revisions 404006 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoSetting svn:ignore
David M. Lee [Tue, 17 Dec 2013 14:41:28 +0000 (14:41 +0000)]
Setting svn:ignore
........

Merged revisions 403748 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoBlocked revisions 403779-403780
David M. Lee [Tue, 17 Dec 2013 14:35:35 +0000 (14:35 +0000)]
Blocked revisions 403779-403780

........
Multiple revisions 403779-403780

........
  r403779 | rmudgett | 2013-12-13 13:48:05 -0600 (Fri, 13 Dec 2013) | 12 lines

  app_voicemail: Voicemail callback registration/unregistration function improvements.

  * The voicemail registration/unregistration functions now take a struct of
  callbacks instead of a lengthy parameter list of callbacks.

  * The voicemail registration/unregistration functions now prevent a
  competing module from interfering with an already registered callback
  supplying module.
  ........

  Merged revisions 403643 from http://svn.asterisk.org/svn/asterisk/trunk
........
  r403780 | rmudgett | 2013-12-13 13:55:31 -0600 (Fri, 13 Dec 2013) | 8 lines

  test_voicemail_api: Add check for a registered voicemail provider before tests.

  It is much nicer diagnosing a test failure if app_voicemail is actually
  loaded.
  ........

  Merged revisions 403726 from http://svn.asterisk.org/svn/asterisk/trunk

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

5 years agoari/resource_channels: When creating a channel, specify a default format (SLIN)
Matthew Jordan [Tue, 17 Dec 2013 12:59:49 +0000 (12:59 +0000)]
ari/resource_channels: When creating a channel, specify a default format (SLIN)

When creating channels via ARI, the current code fails to provide any default
format capabilities. For non-virtual channels this isn't really a problem -
the channels typically receive their capabilities as a result of the
underlying channel driver configuration. For virtual channels (such as Local
channels), the lack of any format capabilities causes the Asterisk core to
make some 'odd' choices with respect to the translation paths. The issue
reporter had some paths that had 3 hops on each channel leg, causing multiple
transcodings and some really crappy audio/performance.

By specifying a baseline of SLIN, we prevent that from occurring. Note that
this is what AMI does when it performs an Originate, as does res_clioriginate.

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

(issue ASTERISK-22962)
Reported by: Matt DiMeo
........

Merged revisions 403993 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agosecurity: Inhibit execution of privilege escalating functions
David M. Lee [Mon, 16 Dec 2013 19:11:51 +0000 (19:11 +0000)]
security: Inhibit execution of privilege escalating functions

This patch allows individual dialplan functions to be marked as
'dangerous', to inhibit their execution from external sources.

A 'dangerous' function is one which results in a privilege escalation.
For example, if one were to read the channel variable SHELL(rm -rf /)
Bad Things(TM) could happen; even if the external source has only read
permissions.

Execution from external sources may be enabled by setting
'live_dangerously' to 'yes' in the [options] section of asterisk.conf.
Although doing so is not recommended.

Also, the ABI was changed to something more reasonable, since Asterisk
12 does not yet have a public release.

(closes issue ASTERISK-22905)
Review: http://reviewboard.digium.internal/r/432/
........

Merged revisions 403913 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 403917 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 403959 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agotransfers: Fix bug setting both BLINDTRANSFER and ATTENDEDTRANSFER
Jonathan Rose [Mon, 16 Dec 2013 18:31:12 +0000 (18:31 +0000)]
transfers: Fix bug setting both BLINDTRANSFER and ATTENDEDTRANSFER

The ast_bridge_set_transfer_variables function is supposed to wipe whichever
variable isn't being set. Instead it was setting both to the new value.  Oops.

(issue AFS-24)
........

Merged revisions 403957 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agopbx.c: put copy of ast_exten.data on stack to prevent memory corruption
Scott Griepentrog [Mon, 16 Dec 2013 16:12:44 +0000 (16:12 +0000)]
pbx.c: put copy of ast_exten.data on stack to prevent memory corruption

During dialplan execution in pbx_extension_helper(), the contexts global
read lock prevents link list corruption, but was released with a pointer
to the ast_exten and data later used in variable substitution.  Instead,
this patch removes pbx_substitute_variables() and locates a copy of the
ast_exten data on the stack before releasing the lock, where ast_exten
could get free'd by another thread performing a module reload.

(issue AST-1179)
Reported by: Thomas Arimont
(issue AST-1246)
Reported by: Alexander Hömig
Review: https://reviewboard.asterisk.org/r/3055/
........

Merged revisions 403862 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 403863 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 403864 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoapp_sms: BufferOverflow when receiving odd length 16 bit message
Scott Griepentrog [Mon, 16 Dec 2013 15:30:18 +0000 (15:30 +0000)]
app_sms: BufferOverflow when receiving odd length 16 bit message

This patch prevents an infinite loop overwriting memory when
a message is received into the unpacksms16() function, where
the length of the message is an odd number of bytes.

(closes issue ASTERISK-22590)
Reported by: Jan Juergens
Tested by: Jan Juergens
........

Merged revisions 403856 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agopjsip/dialplan_functions: Use the right buffer length when printing URIs
Matthew Jordan [Sun, 15 Dec 2013 01:39:20 +0000 (01:39 +0000)]
pjsip/dialplan_functions: Use the right buffer length when printing URIs

While entertaining, sizeof(buflen) is not the same as buflen. Doh.
........

Merged revisions 403823 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_pjsip: Apply outbound proxy to all SIP requests.
Joshua Colp [Sat, 14 Dec 2013 17:28:21 +0000 (17:28 +0000)]
res_pjsip: Apply outbound proxy to all SIP requests.

Objects which are involved in SIP request creation and sending
now allow an outbound proxy to be specified. For cases where
an endpoint is used the outbound proxy specified there will
be applied.

(closes issue ASTERISK-22673)
Reported by: Antti Yrjola

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

Merged revisions 403811 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_stasis: Expose event for call forwarding and follow forwarded channel.
Joshua Colp [Sat, 14 Dec 2013 17:19:41 +0000 (17:19 +0000)]
res_stasis: Expose event for call forwarding and follow forwarded channel.

This change adds an event for when an originated call is redirected to
another target. This event contains the original channel and the newly
created channel. If a stasis subscription exists on the original originated
channel for a stasis application then a new subscription will also be
created on the stasis application to the redirected channel. This allows
the application to follow the call path completely.

(closes issue ASTERISK-22719)
Reported by: Joshua Colp

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

Merged revisions 403808 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agodocumentation: Add PJSIP technology to messaging documentation
Jonathan Rose [Fri, 13 Dec 2013 21:35:50 +0000 (21:35 +0000)]
documentation: Add PJSIP technology to messaging documentation
........

Merged revisions 403796 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agotest.c: Fix too sticky unit test failed status.
Richard Mudgett [Fri, 13 Dec 2013 20:17:22 +0000 (20:17 +0000)]
test.c: Fix too sticky unit test failed status.

Rerunning a failed unit test after loading any required modules should
allow the test to report a pass status if it now passes.
........

Merged revisions 403782 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoTransfers: Make Asterisk set ATTENDEDTRANSFER/BLINDTRANSFER more reliably
Jonathan Rose [Fri, 13 Dec 2013 20:13:22 +0000 (20:13 +0000)]
Transfers: Make Asterisk set ATTENDEDTRANSFER/BLINDTRANSFER more reliably

There were still a few cases in which ATTENDEDTRANSFER and BLINDTRANSFER
wouldn't be set on channels involved with blind and attended transfers.
This would happen with features that were initialized by channel driver
specific mechanisms in multiparty calls. This patch resolves those cases
while attempted to keep the behavior for setting those variables as
consistent as possible.

(closes issue AFS-24)
Review: https://reviewboard.asterisk.org/r/3040/
........

Merged revisions 403781 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agobridge_native_rtp: Deadlock during 4-way conference creation
Kevin Harwell [Fri, 13 Dec 2013 18:33:25 +0000 (18:33 +0000)]
bridge_native_rtp: Deadlock during 4-way conference creation

The change contains a slightly adjusted patch that was on the issue
(submitted by kmoore).  A fix was made by adding in a bridge lock
while calling bridge_start/stop from the framehook callback.  Since
the framehook callback is not called from the bridging core the bridge
is not locked, but needs to be before calling bridge_start.

(closes issue ASTERISK-22749)
Reported by: Kinsey Moore
Review: https://reviewboard.asterisk.org/r/3066/
Patches:
     lock_inversion.diff uploaded by kmoore (license 6273)
........

Merged revisions 403767 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoARI: Allow specifying channel variables during a POST /channels
Kevin Harwell [Fri, 13 Dec 2013 17:19:23 +0000 (17:19 +0000)]
ARI: Allow specifying channel variables during a POST /channels

Added the ability to specify channel variables when creating/originating a
channel in ARI.  The variables are sent in the body of the request and should
be formatted as a single level JSON object.  No nested objects allowed.
For example: {"variable1": "foo", "variable2": "bar"}.

(closes issue ASTERISK-22872)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3052/
........

Merged revisions 403752 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoARI: Adding a channel to a bridge while a live recording is active blocks
Kevin Harwell [Fri, 13 Dec 2013 16:38:57 +0000 (16:38 +0000)]
ARI: Adding a channel to a bridge while a live recording is active blocks

Added the ability to have rules that are checked when adding and/or removing
channels to/from a bridge.  In this case, if a channel is currently recording
and someone attempts to add it to a bridge an "is recording" rule is checked,
fails, and a 409 conflict is returned.

Also command functions now return an integer value that can be descriptive of
what kind of problems, if any, occurred before or during execution.

(closes issue ASTERISK-22624)
Reported by: Joshua Colp
Review: https://reviewboard.asterisk.org/r/2947/
........

Merged revisions 403749 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agochannels/Makefile: clean pjsip directory
Matthew Jordan [Fri, 13 Dec 2013 05:00:53 +0000 (05:00 +0000)]
channels/Makefile: clean pjsip directory
........

Merged revisions 403736 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agotest_voicemail_api: Add check for a registered voicemail provider before tests.
Richard Mudgett [Fri, 13 Dec 2013 00:40:49 +0000 (00:40 +0000)]
test_voicemail_api: Add check for a registered voicemail provider before tests.

It is much nicer diagnosing a test failure if app_voicemail is actually
loaded.

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

6 years agorealtime: Create extensions in alembic ast-db-manage contribution
Scott Griepentrog [Thu, 12 Dec 2013 19:46:54 +0000 (19:46 +0000)]
realtime: Create extensions in alembic ast-db-manage contribution

When the alembic scripts were written for creating Asterisk
realtime databases the extensions table for dialplan wasn't
included.  This update creates the extensions table.

(closes issue ASTERISK-22815)
Reported by: Zone Conkle
Review: https://reviewboard.asterisk.org/r/3064/
........

Merged revisions 403713 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agochan_pjsip: Revert r403587
Jonathan Rose [Thu, 12 Dec 2013 19:18:06 +0000 (19:18 +0000)]
chan_pjsip: Revert r403587

This patch was intended to eliminate a deadlock that occurs when
masquerades occur in pjsip channels, but has some potential side
effects. Mark Michelson is currently working on addressing this
problem from another angle.

(issue ASTERISK-22936)
Reported by: Jonathan Rose
........

Merged revisions 403705 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_pjsip_messaging: send message to a default outbound endpoint
Kevin Harwell [Wed, 11 Dec 2013 20:24:50 +0000 (20:24 +0000)]
res_pjsip_messaging: send message to a default outbound endpoint

In some cases messages need to be sent to a direct URI (sip:<ip address>). This
patch adds in that support by using a default outbound endpoint.  When sending
messages, if no endpoint can be found then the default one is used.

To facilitate this a new default_outbound_endpoint option was added to the
globals section for pjsip.conf.

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

Merged revisions 403680 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoReset peer outboundproxy on sip.conf reload
Russell Bryant [Wed, 11 Dec 2013 19:22:05 +0000 (19:22 +0000)]
Reset peer outboundproxy on sip.conf reload

If you set a peer's outboundproxy and then removed it from the config,
this would not get picked up in a config reload.  This patch fixes that
by resetting it in set_peer_defaults().

Closes ASTERISK-19454
Review: https://reviewboard.asterisk.org/r/3065/
........

Merged revisions 403634 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 403635 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 403639 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoapp_voicemail: Voicemail callback registration/unregistration function improvements.
Richard Mudgett [Wed, 11 Dec 2013 19:19:24 +0000 (19:19 +0000)]
app_voicemail: Voicemail callback registration/unregistration function improvements.

* The voicemail registration/unregistration functions now take a struct of
callbacks instead of a lengthy parameter list of callbacks.

* The voicemail registration/unregistration functions now prevent a
competing module from interfering with an already registered callback
supplying module.

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

6 years agofunc_channel, chan_pjsip: Add CHANNEL read function support for chan_pjsip
Matthew Jordan [Wed, 11 Dec 2013 13:06:30 +0000 (13:06 +0000)]
func_channel, chan_pjsip: Add CHANNEL read function support for chan_pjsip

This patch adds CHANNEL read support for chan_pjsip. This allows the dialplan
to use the CHANNEL function on a chan_pjsip channel to obtain run-time
information about the channel from the PJSIP channel driver and the PJSIP
stack. This includes:
 * RTP information, including source/destination media addresses, whether or
   not the media is secure, held, and other properties.
 * RTCP information. This includes sets of parseable information, as well as
   individual statistic attriutes.
 * PJSIP information. This includes URIs, local/remote signalling addresses,
   whether or not the signalling is secure, and other properties.
 * The endpoint name. This can be used in conjunction with the PJSIP_ENDPOINT
   function to obtain more detailed endpoint information.

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

Merged revisions 403618 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agofunc_pjsip_endpoint: Add PJSIP_ENDPOINT function for querying endpoint details
Matthew Jordan [Wed, 11 Dec 2013 12:31:57 +0000 (12:31 +0000)]
func_pjsip_endpoint: Add PJSIP_ENDPOINT function for querying endpoint details

This patch adds a new function, PJSIP_ENDPOINT, which lets the dialplan query,
for any endpoint, any property configured on an endpoint. This function is a
companion to the CHANNEL function, which can be used to extract the endpoint
name for a channel.

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

Merged revisions 403616 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoFix correct authentication behavior for artificial endpoint.
Mark Michelson [Tue, 10 Dec 2013 15:15:13 +0000 (15:15 +0000)]
Fix correct authentication behavior for artificial endpoint.

When switching to using a vector for authentication, I initialized
the vector for the artificial endpoint to be of size 1. However, this
does not result in AST_VECTOR_SIZE() returning 1 since there isn't
actually anything in the vector.

Rather than trifle with the vector by putting unnecessary elements in,
I simply changed the callback in res_pjsip_authenticator_digest.c to
explicitly report that the artificial endpoint requires authentication.

Thanks to Joshua Colp for pointing this out.

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

6 years agochan_pjsip: Fix a sticking channel lock caused by channel masquerades
Jonathan Rose [Mon, 9 Dec 2013 22:59:14 +0000 (22:59 +0000)]
chan_pjsip: Fix a sticking channel lock caused by channel masquerades

(closes issue ASTERISK-22936)
Reported by: Jonathan Rose
Review: https://reviewboard.asterisk.org/r/3042/
........

Merged revisions 403587 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoapp_page: Add predial handlers for app_page.
Jonathan Rose [Mon, 9 Dec 2013 22:17:14 +0000 (22:17 +0000)]
app_page: Add predial handlers for app_page.

(closes issue AFS-14)
Review: https://reviewboard.asterisk.org/r/3045/

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

6 years agoReverting regex part of -r403545 at request of file.
Richard Mudgett [Mon, 9 Dec 2013 19:24:58 +0000 (19:24 +0000)]
Reverting regex part of -r403545 at request of file.

res_sorcery_astdb.c: Fix get multiple records by regex.

* Fix sorcery_astdb_retrieve_regex() pattern matching.  Let the regexec()
function match the stored key values instead of having astdb prefilter
them.  Previoiusly you could only use a simple regex pattern when the
pattern began with '^'.
........

Merged revisions 403559 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_sorcery_astdb.c: Fix get multiple records by regex.
Richard Mudgett [Mon, 9 Dec 2013 18:50:20 +0000 (18:50 +0000)]
res_sorcery_astdb.c: Fix get multiple records by regex.

* Fix sorcery_astdb_retrieve_regex() pattern matching.  Let the regexec()
function match the stored key values instead of having astdb prefilter
them.  Previoiusly you could only use a simple regex pattern when the
pattern began with '^'.

* Fix off nominal memory leak in sorcery_astdb_retrieve_regex().
........

Merged revisions 403545 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agosorcery: Eliminate shadowing a varaible that caused confusion.
Richard Mudgett [Mon, 9 Dec 2013 18:32:57 +0000 (18:32 +0000)]
sorcery: Eliminate shadowing a varaible that caused confusion.

* Eliminated shadowing of the __ast_sorcery_apply_config() name parameter
causing confusion.

* Fix potential crash from sorcery.conf user input in
__ast_sorcery_apply_config() if the user supplied a malformed config line
that is missing the sorcery object type name.

* Remove redundant test in __ast_sorcery_apply_config().  !config and
config == CONFIGS_STATUS_FILEMISSING are identical.
........

Merged revisions 403541 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoendpoints: Keep a reference to channel ids when creating snapshot.
Joshua Colp [Mon, 9 Dec 2013 18:32:02 +0000 (18:32 +0000)]
endpoints: Keep a reference to channel ids when creating snapshot.

The snapshot process for endpoints uses the channel ids present
on the endpoint itself. Without keeping a reference it was possible
for the strings to be freed underneath any consumer of an endpoint
snapshot.

A reference is now held by the snapshot to the channel ids and
released when the snapshot is destroyed.

(issue ASTERISK-22801)
Reported by: Matt Jordan
........

Merged revisions 403542 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agosorcery: Whitespace
Richard Mudgett [Mon, 9 Dec 2013 18:14:41 +0000 (18:14 +0000)]
sorcery: Whitespace

You would think that a new file would start off without any whitespace
oddities.
........

Merged revisions 403527 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoAdd a CONFBRIDGE_RESULT channel variable to discern why a channel left a ConfBridge.
Mark Michelson [Mon, 9 Dec 2013 17:29:48 +0000 (17:29 +0000)]
Add a CONFBRIDGE_RESULT channel variable to discern why a channel left a ConfBridge.

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

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

6 years agoCreate function for retrieving Mixmonitor instance data.
Mark Michelson [Mon, 9 Dec 2013 16:42:59 +0000 (16:42 +0000)]
Create function for retrieving Mixmonitor instance data.

For the time, this is only useful for retrieving the filename.

The purpose of this function is to better facilitate multiple
mixmonitors per channel. Setting a MIXMONITOR_FILENAME channel
variable is not conducive to such behavior, so allowing finer
grained access to individual mixmonitor properties improves
the situation. The MIXMONITOR_FILENAME channel variable is still
set, though, so there is no worry about backwards compatibility.

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

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

6 years agores_pjsip_nat: Add NAT module to session dialogs.
Joshua Colp [Mon, 9 Dec 2013 16:41:43 +0000 (16:41 +0000)]
res_pjsip_nat: Add NAT module to session dialogs.

Due to the way pjproject internally works it was possible for the
NAT module to not be invoked on messages with-in a session dialog.
This means that the various parts of the message would not get rewritten
with the source IP address and port.

This change uses a session supplement to add the NAT module
to the dialog on the first incoming or outgoing INVITE.

(closes issue ASTERISK-22941)
Reported by: Leif Madsen
........

Merged revisions 403510 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoSwitch PJSIP auth to use a vector.
Mark Michelson [Mon, 9 Dec 2013 16:10:05 +0000 (16:10 +0000)]
Switch PJSIP auth to use a vector.

Since Asterisk has a vector API now, places where arrays are manually
resized don't really make sense any more. Since the auth work in PJSIP
was freshly-written, it was easy to reform it to use a vector.

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

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

6 years agores_fax_spandsp: Always init T.38 session to avoid crashes during state change
Matthew Jordan [Mon, 9 Dec 2013 03:21:56 +0000 (03:21 +0000)]
res_fax_spandsp: Always init T.38 session to avoid crashes during state change

Prior to this patch, res_fax_spandsp was conservative with how it initialized
the spandsp T.38 context. It would only initialize it if the driver thought
the current state was a T.38 fax. While this works fine in nominal situations,
in certain off nominal situations, res_fax_spandsp can believe that a T.38
fax will not occur when in fact one has started. In particular, this was
discovered when res_fax would fall back to audio after timing out on a T.38
upgrade. The SIP channel driver would continue to retry the re-INVITE and -
if the remote end responded after res_fax timed out with a 200 OK - a T.38
frame would be delivered to the res_fax stack when it no longer expected it.

As it turns out, there does not appear to be any downside to always
initializing the T.38 context, other than the actual memory allocation.
Since that avoids this off nominal situation (and others which are equally
likely hard to predict), this is the safest way to avoid this problem.

Much thanks to Torrey as well for providing a scenario that reproduces this
issue.

(closes issue ASTERISK-21242)
Reported by: Ashley Winters
Tested by: Torrey Searle
patches:
  always-init-t38.patch uploaded by awinters (License 6477)
  A_PARTY.xml uploaded by tsearle (License 5334)
........

Merged revisions 403449 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 403450 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 403458 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_config_sqlite: Check for CDR unregistration failures
Matthew Jordan [Sun, 8 Dec 2013 05:59:46 +0000 (05:59 +0000)]
res_config_sqlite: Check for CDR unregistration failures

If the CDR unregistration fails due to an inflight CDR, the
res_config_sqlite module needs to bail on unloading itself. Otherwise,
the config could be unloaded (including the CDR table name) while the
CDR engine posts a CDR to the still registered backend, resulting in
a crash.
........

Merged revisions 403435 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoapp_record: Add an option that allows DTMF '0' to act as an additional terminator
Jonathan Rose [Thu, 5 Dec 2013 23:40:38 +0000 (23:40 +0000)]
app_record: Add an option that allows DTMF '0' to act as an additional terminator

Using this terminator when active results in ${RECORD_STATUS} being set to
'OPERATOR' instead of 'DTMF'

(closes issue AFS-7)

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

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

6 years agoReverting r403311. It's causing ARI tests to hang.
David M. Lee [Thu, 5 Dec 2013 22:10:20 +0000 (22:10 +0000)]
Reverting r403311. It's causing ARI tests to hang.
........

Merged revisions 403398 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoari: Fix deadlock problem with functions that use autoservice.
David M. Lee [Thu, 5 Dec 2013 22:09:20 +0000 (22:09 +0000)]
ari: Fix deadlock problem with functions that use autoservice.

The code for getting channel variables from ARI assumed that you needed
to lock the channel in order to properly execute functions and read
channel variables. Apparently, this is not the case, since any dialplan
function that puts the channel into autoservice deadlocks when
attempting to remove the channel from autoservice.
........

Merged revisions 403342 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoMultiple revisions 403304,403310
David M. Lee [Thu, 5 Dec 2013 22:08:30 +0000 (22:08 +0000)]
Multiple revisions 403304,403310

........
  r403304 | dlee | 2013-12-02 12:34:50 -0600 (Mon, 02 Dec 2013) | 1 line

  Fixed the filename for the ari.conf docs
........
  r403310 | file | 2013-12-03 10:32:12 -0600 (Tue, 03 Dec 2013) | 5 lines

  Revert revision 403304: Fixed the filename for the ari.conf docs

  The changed value refers to the name of the module. The name of the
  configuration file is specified in the configFile section.
........

Merged revisions 403304,403310 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoBlocked revisions 403291
David M. Lee [Thu, 5 Dec 2013 22:07:46 +0000 (22:07 +0000)]
Blocked revisions 403291

........
remove unwanted property svn:mergeinfo

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

6 years agores_pjsip_registrar: undefined function pointer symbol
Kevin Harwell [Wed, 4 Dec 2013 21:42:39 +0000 (21:42 +0000)]
res_pjsip_registrar: undefined function pointer symbol

Used a static wrapper around the offending function to alleviate the issue.

Reported by: rmudgett
........

Merged revisions 403377 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_pjsip_t38: Don't pass T.38 control frames through to other hooks.
Joshua Colp [Wed, 4 Dec 2013 20:54:52 +0000 (20:54 +0000)]
res_pjsip_t38: Don't pass T.38 control frames through to other hooks.

This crept up during gateway testing where the gateway would receive
the request to negotiate and assume it came from the remote side, causing
the gateway state machine to go a little, to a use a technical term,
"wonky".
........

Merged revisions 403364 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoInitialize the hash value argument to pj_hash_get() to 0.
Mark Michelson [Wed, 4 Dec 2013 18:41:01 +0000 (18:41 +0000)]
Initialize the hash value argument to pj_hash_get() to 0.

Passing a non-zero value causes PJLIB to use the given input as the
hash value. Passing zero causes the parameter to become an output parameter
that receives the hash value that was computed based on the given key.

This change essentially makes ast_sip_dict_get() properly retrieve the
desired value.
........

Merged revisions 403349 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_pjsip_session: Add support for PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE flag.
Joshua Colp [Tue, 3 Dec 2013 18:01:36 +0000 (18:01 +0000)]
res_pjsip_session: Add support for PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE flag.

Newer versions of PJSIP have changed to using a flag for the
PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE instead of a define. This adds a
configure check to detect the presence of the flag and use it if found.
........

Merged revisions 403329 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agosorcery, bucket: Change observer remove calls to take const callbacks struct.
Richard Mudgett [Tue, 3 Dec 2013 17:35:54 +0000 (17:35 +0000)]
sorcery, bucket: Change observer remove calls to take const callbacks struct.

* Make ast_sorcery_observer_remove() accept a const callbacks struct.

* Make ast_sorcery_observer_remove() tolerant of the sorcery parameter
being NULL.  Now it can be called within a module unload routine if the
sorcery initialization fails.

* Fix ast_sorcery_observer_add() to fail if the container link fails.
........

Merged revisions 403324 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoAdd channel locking for channel snapshot creation.
Mark Michelson [Tue, 3 Dec 2013 17:07:29 +0000 (17:07 +0000)]
Add channel locking for channel snapshot creation.

This adds channel locks around calls to create channel snapshots as well
as other functions which operate on a channel and then end up
creating a channel snapshot. Functions that expect the channel to be
locked prior to being called have had their documentation updated to
indicate such.
........

Merged revisions 403311 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agomedia_index: Make media indexing tolerable of bad symlinks.
Joshua Colp [Tue, 3 Dec 2013 16:39:13 +0000 (16:39 +0000)]
media_index: Make media indexing tolerable of bad symlinks.

Media indexing will now skip over files and directories that stat
will not return information about. This can occur under normal
conditions when a symbolic link points to a location that no longer
exists.
........

Merged revisions 403312 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoCheck and reject non-digits e164 values on peers and general sections in ooh323.conf
Alexandr Anikin [Mon, 2 Dec 2013 18:12:57 +0000 (18:12 +0000)]
Check and reject non-digits e164 values on peers and general sections in ooh323.conf
Regenerate e164 endpoint list on reload ooh323
(issue ASTERISK-22901)
Reported by: Cyril CONSTANTIN
Patches:
ASTERISK-22901.patch
........

Merged revisions 403288 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 403290 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_pjsip_session: Apply fromuser and fromdomain to all requests as documented.
Joshua Colp [Sun, 1 Dec 2013 21:13:20 +0000 (21:13 +0000)]
res_pjsip_session: Apply fromuser and fromdomain to all requests as documented.
........

Merged revisions 403271 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_pjsip_t38: Add the framehook to the channel only on first INVITE.
Joshua Colp [Sun, 1 Dec 2013 20:04:55 +0000 (20:04 +0000)]
res_pjsip_t38: Add the framehook to the channel only on first INVITE.

The check for determining whether the T.38 framehook should be added to
the channel or not has now been changed to guarantee adding only occurs
on the first incoming or outgoing INVITE.
........

Merged revisions 403258 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_pjsip_transport_websocket: Fix security events and simplify implementation.
Joshua Colp [Sun, 1 Dec 2013 19:58:08 +0000 (19:58 +0000)]
res_pjsip_transport_websocket: Fix security events and simplify implementation.

Transport type determination for security events has been simplified to use
the type present on the message itself instead of searching through configured
transports to find the transport used.

The actual WebSocket transport has also been simplified. It now leverages the
existing PJSIP transport manager for finding the active WebSocket transport
for outgoing messages. This removes the need for res_pjsip_transport_websocket
to store a mapping itself.

(closes issue ASTERISK-22897)
Reported by: Max E. Reyes Vera J.

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

Merged revisions 403256 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_ari: Add Recording events to the validator.
Joshua Colp [Sat, 30 Nov 2013 14:12:50 +0000 (14:12 +0000)]
res_ari: Add Recording events to the validator.
........

Merged revisions 403240 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_pjsip_sdp_rtp: Don't produce an invalid media stream with no formats.
Joshua Colp [Thu, 28 Nov 2013 02:12:45 +0000 (02:12 +0000)]
res_pjsip_sdp_rtp: Don't produce an invalid media stream with no formats.

Depending on configuration it was possible for a media stream to be
created without any media formats. The produced SDP would fail internal
validation and cause a crash.

The code will now no longer add media streams with no formats to the SDP,
allowing it to pass validation and work.

(closes issue ASTERISK-22858)
Reported by: Anthony Messina
........

Merged revisions 403223 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_pjsip_header_funcs: Don't add headers to re-INVITEs.
Joshua Colp [Thu, 28 Nov 2013 01:56:52 +0000 (01:56 +0000)]
res_pjsip_header_funcs: Don't add headers to re-INVITEs.

When sending a re-INVITE to an endpoint it was possible for received
headers to be added as well (since they are stored for retrieval using
the PJSIP_HEADER dialplan function). This caused a broken (and
potentially large) SIP INVITE to be produced and sent.

This changes the module so it will no longer add headers to
re-INVITEs.

(closes issue ASTERISK-22882)
Reported by: David M. Lee
........

Merged revisions 403221 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_stasis_playback: Add 'number', 'digits', and 'characters' URI scheme implementations.
Joshua Colp [Thu, 28 Nov 2013 00:54:37 +0000 (00:54 +0000)]
res_stasis_playback: Add 'number', 'digits', and 'characters' URI scheme implementations.

This change adds new URI scheme implementations for playing numbers, digits,
and characters. This is done as part of the normal playback mechanism and can
be used with queueing to create a combined sentence.

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

Merged revisions 403209 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_pjsip_session: Add configurable behavior for redirects.
Joshua Colp [Thu, 28 Nov 2013 00:38:36 +0000 (00:38 +0000)]
res_pjsip_session: Add configurable behavior for redirects.

The action taken when a redirect occurs is now configurable on a
per-endpoint basis. The redirect can either be treated as a redirect
to a local extension, to a URI that is dialed through the Asterisk
core, or to a URI that is dialed within PJSIP itself.

(closes issue ASTERISK-21710)
Reported by: Matt Jordan

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

Merged revisions 403207 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoastdb: Tweak some doxygen comments.
Richard Mudgett [Wed, 27 Nov 2013 17:32:29 +0000 (17:32 +0000)]
astdb: Tweak some doxygen comments.

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

6 years agores_pjsip: Fix crash when reloading certain configurations.
Joshua Colp [Wed, 27 Nov 2013 16:12:56 +0000 (16:12 +0000)]
res_pjsip: Fix crash when reloading certain configurations.

Certain options available that specify a SIP URI perform validation
on the provided URI using the PJSIP URI parser. This operation
requires that the thread executing it be registered with the PJLIB
library. During reloads this was done on a thread which was NOT
registered with it.

This fixes the problem by creating a task which reloads the
configuration on a PJSIP thread.

(closes issue ASTERISK-22923)
Reported by: Anthony Messina
........

Merged revisions 403179 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoari:Add application/json parameter support
David M. Lee [Wed, 27 Nov 2013 15:48:39 +0000 (15:48 +0000)]
ari:Add application/json parameter support

The patch allows ARI to parse request parameters from an incoming JSON
request body, instead of requiring the request to come in as query
parameters (which is just weird for POST and DELETE) or form
parameters (which is okay, but a bit asymmetric given that all of our
responses are JSON).

For any operation that does _not_ have a parameter defined of type
body (i.e. "paramType": "body" in the API declaration), if a request
provides a request body with a Content type of "application/json", the
provided JSON document is parsed and searched for parameters.

The expected fields in the provided JSON document should match the
query parameters defined for the operation. If the parameter has
'allowMultiple' set, then the field in the JSON document may
optionally be an array of values.

(closes issue ASTERISK-22685)
Review: https://reviewboard.asterisk.org/r/2994/

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

6 years agores_pjsip: Update handling of some options to work with new option names.
Joshua Colp [Wed, 27 Nov 2013 15:31:43 +0000 (15:31 +0000)]
res_pjsip: Update handling of some options to work with new option names.

Some options (such as call_group and pickup_group) share the same configuration
handler and decide what logic to use based on the name of the option. These
handlers were not updated to check for the new option names and were treating
the options as invalid.

This change simply updates the handlers with the proper names of the options.

(closes issue ASTERISK-22922)
Reported by: Anthony Messina
........

Merged revisions 403173 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoFix a configure issue with PJSIP transaction group lock detection.
Joshua Colp [Tue, 26 Nov 2013 22:34:08 +0000 (22:34 +0000)]
Fix a configure issue with PJSIP transaction group lock detection.

The configure check did not use the provided paths for pjproject
if provided when looking for transaction group lock support.
........

Merged revisions 403160 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoARI: Implement device state API
Kevin Harwell [Sat, 23 Nov 2013 17:48:28 +0000 (17:48 +0000)]
ARI: Implement device state API

Created a data model and implemented functionality for an ARI device state
resource.  The following operations have been added that allow a user to
manipulate an ARI controlled device:

Create/Change the state of an ARI controlled device
PUT    /deviceStates/{deviceName}&{deviceState}

Retrieve all ARI controlled devices
GET    /deviceStates

Retrieve the current state of a device
GET    /deviceStates/{deviceName}

Destroy a device-state controlled by ARI
DELETE /deviceStates/{deviceName}

The ARI controlled device must begin with 'Stasis:'.  An example controlled
device name would be Stasis:Example.  A 'DeviceStateChanged' event has also
been added so that an application can subscribe and receive device change
events.  Any device state, ARI controlled or not, can be subscribed to.

While adding the event, the underlying subscription control mechanism was
refactored so that all current and future resource subscriptions would be
the same.  Each event resource must now register itself in order to be able
to properly handle [un]subscribes.

(issue ASTERISK-22838)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3025/
........

Merged revisions 403134 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_pjsip: AMI commands and events.
Kevin Harwell [Sat, 23 Nov 2013 17:26:57 +0000 (17:26 +0000)]
res_pjsip: AMI commands and events.

Created the following AMI commands and corresponding events for res_pjsip:

PJSIPShowEndpoints - Provides a listing of all pjsip endpoints and a few
                     select attributes on each.
  Events:
    EndpointList - for each endpoint a few attributes.
    EndpointlistComplete - after all endpoints have been listed.

PJSIPShowEndpoint - Provides a detail list of attributes for a specified
                    endpoint.
  Events:
    EndpointDetail - attributes on an endpoint.
    AorDetail - raised for each AOR on an endpoint.
    AuthDetail - raised for each associated inbound and outbound auth
    TransportDetail - transport attributes.
    IdentifyDetail - attributes for the identify object associated with
                     the endpoint.
    EndpointDetailComplete - last event raised after all detail events.

PJSIPShowRegistrationsInbound - Provides a detail listing of all inbound
                                registrations.
  Events:
    InboundRegistrationDetail - inbound registration attributes for each
                                registration.
    InboundRegistrationDetailComplete - raised after all detail records have
                                been listed.

PJSIPShowRegistrationsOutbound  - Provides a detail listing of all outbound
                                  registrations.
  Events:
    OutboundRegistrationDetail - outbound registration attributes for each
                                 registration.
    OutboundRegistrationDetailComplete - raised after all detail records
                                 have been listed.

PJSIPShowSubscriptionsInbound - A detail listing of all inbound subscriptions
                                and their attributes.
  Events:
    SubscriptionDetail - on each subscription detailed attributes
    SubscriptionDetailComplete - raised after all detail records have
                                 been listed.

PJSIPShowSubscriptionsOutbound - A detail listing of all outboundbound
                                subscriptions and their attributes.
  Events:
    SubscriptionDetail - on each subscription detailed attributes
    SubscriptionDetailComplete - raised after all detail records have
                                 been listed.

(issue ASTERISK-22609)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2959/
........

Merged revisions 403131 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoari: Add events for playback and recording.
Joshua Colp [Sat, 23 Nov 2013 12:52:54 +0000 (12:52 +0000)]
ari: Add events for playback and recording.

While there were events defined for playback and recording
these were not actually sent. This change implements the
to_json handlers which produces them.

(closes issue ASTERISK-22710)
Reported by: Jonathan Rose

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

Merged revisions 403119 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoari: Add Snoop operation for spying/whispering on channels.
Joshua Colp [Sat, 23 Nov 2013 12:40:46 +0000 (12:40 +0000)]
ari: Add Snoop operation for spying/whispering on channels.

The Snoop operation can be invoked on a channel to spy or
whisper on it. It returns a channel that any channel operations
can then be invoked on (such as record to do monitoring).

(closes issue ASTERISK-22780)
Reported by: Matt Jordan

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

Merged revisions 403117 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoapp_voicemail: when forwarding a message, play vm-msgforwarded instead of vm-msgsaved
Rusty Newton [Sat, 23 Nov 2013 00:22:02 +0000 (00:22 +0000)]
app_voicemail: when forwarding a message, play vm-msgforwarded instead of vm-msgsaved

In the last release of sounds, 1.4.25 we added a vm-msgforwarded prompt for various core languages. Now we use that prompt.

(issue ASTERISK-21413)
(closes issue ASTERISK-21413)
Reported by: netwrkr
Tested by: newtonr

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

6 years agoMake sure unit tests compile
Kinsey Moore [Fri, 22 Nov 2013 23:57:45 +0000 (23:57 +0000)]
Make sure unit tests compile

This fixes the unit tests that were broken by r403069 and several
functions requiring a new parameter for sanitization of JSON messages
generated from object snapshots.
........

Merged revisions 403094 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_pjsip: convert configuration settings names to snake case some more
Kevin Harwell [Fri, 22 Nov 2013 22:37:30 +0000 (22:37 +0000)]
res_pjsip: convert configuration settings names to snake case some more

Updated the alembic script for pjsip.  Also, the dtls config parsing stuff was
expecting strings with no underscores, so removed the underscores from the
option name before passing it to the parser.
........

Merged revisions 403082 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agoARI: Don't leak implementation details
Kinsey Moore [Fri, 22 Nov 2013 20:10:46 +0000 (20:10 +0000)]
ARI: Don't leak implementation details

This change prevents channels used as implementation details from
leaking out to ARI. It does this by preventing creation of JSON blobs
of channel snapshots created from those channels and sanitizing JSON
blobs of bridge snapshots as they are created. This introduces a
framework for excluding information from output targeted at Stasis
applications on a consumer-by-consumer basis using channel sanitization
callbacks which could be extended to bridges or endpoints if necessary.

This prevents unhelpful error messages from being generated by
ast_json_pack.

This also corrects a bug where BridgeCreated events would not be
created.

(closes issue ASTERISK-22744)
Review: https://reviewboard.asterisk.org/r/2987/
Reported by: David M. Lee
........

Merged revisions 403069 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agores_pjsip: convert configuration settings names to snake case
Kevin Harwell [Fri, 22 Nov 2013 17:27:55 +0000 (17:27 +0000)]
res_pjsip: convert configuration settings names to snake case

Renamed, where appropriate, the configuration options for chan/res_pjsip to use
snake case (compound words separated by an underscore).  For example, faxdetect
will become fax_detect, recordofffeature will become record_off_feature, etc...

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

Merged revisions 403022 from http://svn.asterisk.org/svn/asterisk/branches/12

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

6 years agotranslate: Move freeing of frame to after it is used.
Joshua Colp [Fri, 22 Nov 2013 17:12:29 +0000 (17:12 +0000)]
translate: Move freeing of frame to after it is used.

When translating from one format to another it is possible
to inform the translation function that the source frame should
be freed. This was previously done immediately but shortly
afterwards the frame that was freed was accessed and used again.

This change moves code around a bit so that the frame is now
freed after it has been completely used.

(closes issue ASTERISK-22788)
Reported by: Corey Farrell
Patches:
translate-access-after-free-11up.patch uploaded by coreyfarrell (license 5909)
translate-access-after-free-1.8.patch uploaded by coreyfarrell (license 5909)
........

Merged revisions 403014 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 403015 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 403016 from http://svn.asterisk.org/svn/asterisk/branches/12

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