Joshua Colp [Mon, 13 Apr 2015 16:08:07 +0000 (11:08 -0500)]
Merge "git migration: Refactor the ASTERISK_FILE_VERSION macro"
Corey Farrell [Mon, 13 Apr 2015 10:57:02 +0000 (06:57 -0400)]
Optional API: Fix handling of sources that are both provider and user.
OPTIONAL_API has conditionals to define AST_OPTIONAL_API and
AST_OPTIONAL_API_ATTR differently based on if AST_API_MODULE is defined.
Unfortunately this is inside the include protection block, so only the
first status of AST_API_MODULE is respected. For example res_monitor
is an optional API provider, but uses func_periodic_hook. This makes
func_periodic_hook non-optional to res_monitor.
This changes optional_api.h so that AST_OPTIONAL_API and
AST_OPTIONAL_API_ATTR is redefined every time the header is included.
ASTERISK-17608 #close
Reported by: Warren Selby
Change-Id: I8fcf2a5e7b481893e17484ecde4f172c9ffb5679
Matt Jordan [Sun, 12 Apr 2015 02:38:22 +0000 (21:38 -0500)]
git migration: Refactor the ASTERISK_FILE_VERSION macro
Git does not support the ability to replace a token with a version
string during check-in. While it does have support for replacing a
token on clone, this is somewhat sub-optimal: the token is replaced
with the object hash, which is not particularly easy for human
consumption. What's more, in practice, the source file version was often
not terribly useful. Generally, when triaging bugs, the overall version
of Asterisk is far more useful than an individual SVN version of a file. As a
result, this patch removes Asterisk's support for showing source file
versions.
Specifically, it does the following:
* Rename ASTERISK_FILE_VERSION macro to ASTERISK_REGISTER_FILE, and
remove passing the version in with the macro. Other facilities
than 'core show file version' make use of the file names, such as
setting a debug level only on a specific file. As such, the act of
registering source files with the Asterisk core still has use. The
macro rename now reflects the new macro purpose.
* main/asterisk:
- Refactor the file_version structure to reflect that it no longer
tracks a version field.
- Remove the "core show file version" CLI command. Without the file
version, it is no longer useful.
- Remove the ast_file_version_find function. The file version is no
longer tracked.
- Rename ast_register_file_version/ast_unregister_file_version to
ast_register_file/ast_unregister_file, respectively.
* main/manager: Remove value from the Version key of the ModuleCheck
Action. The actual key itself has not been removed, as doing so would
absolutely constitute a backwards incompatible change. However, since
the file version is no longer tracked, there is no need to attempt to
include it in the Version key.
* UPGRADE: Add notes for:
- Modification to the ModuleCheck AMI Action
- Removal of the "core show file version" CLI command
Change-Id: I6cf0ff280e1668bf4957dc21f32a5ff43444a40e
Matt Jordan [Sun, 12 Apr 2015 18:58:23 +0000 (13:58 -0500)]
Merge "main/editline: Add .gitignore."
Corey Farrell [Sun, 12 Apr 2015 11:12:45 +0000 (07:12 -0400)]
main/editline: Add .gitignore.
This patch adds a .gitignore for main/editline to ignore all build results.
Change-Id: I68c7bf375ea46282689e5a706534b69fca233b5d
Matt Jordan [Sun, 12 Apr 2015 04:22:59 +0000 (23:22 -0500)]
.gitignore: Ignore tarballs (*.gz)
This patch updates the root .gitignore file to ignore files with a .gz
extension. This will cause git to ignore downloaded sound tarballs in
the the sounds/ directory.
Change-Id: Ie84f085cc0fa51262209e7bfc1b1ba8c04a1ef59
George Joseph [Sat, 11 Apr 2015 18:20:07 +0000 (12:20 -0600)]
Add .gitignore and .gitreview files
Add the .gitignore and .gitreview files to the asterisk repo.
NB: You can add local ignores to the .git/info/exclude file
without having to do a commit.
Common ignore patterns are in the top-level .gitignore file.
Subdirectory-specific ignore patterns are in their own .gitignore
files.
Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Tested-by: George Joseph
Matthew Jordan [Sat, 11 Apr 2015 15:27:08 +0000 (15:27 +0000)]
clang compiler warnings: Fix various warnings for tests
This patch fixes a variety of clang compiler warnings for unit tests. This
includes autological comparison issues, ignored return values, and
interestingly enough, one embedded function. Fun!
Review: https://reviewboard.asterisk.org/r/4555
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4555.patch submitted by dkdegroot (License 6600)
........
Merged revisions 434705 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434706 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434707
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Sat, 11 Apr 2015 15:11:15 +0000 (15:11 +0000)]
res/res_pjsip_t38: Add missing initialization of t38faxmaxdatagram
Prior to this patch, the far_max_datagram value on the UDPTL structure would
remain -1 if the remote endpoint fails to provide the SDP media attribute
T38FaxMaxDatagram. This can result in the INVITE request being rejected. With
this patch, we will now properly initialize the value with either the default
value or with the value provided by pjsip.conf's t38_udptl_maxdatagram
parameter.
Review: https://reviewboard.asterisk.org/r/4589
ASTERISK-24928 #close
Reported by: Juergen Spies
Tested by: Juergen Spies
patches:
pjsipT38patch20150331.txt submitted by Juergen Spies (License 6698)
........
Merged revisions 434688 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434689
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 10 Apr 2015 23:37:20 +0000 (23:37 +0000)]
chan_pjsip/res_pjsip/bridge_softmix/core: Improve translation path choices.
With this patch, chan_pjsip/res_pjsip now sets the native formats to the
codecs negotiated by a call.
* The changes in chan_pjsip.c and res_pjsip_sdp_rtp.c set the native
formats to include all the negotiated audio codecs instead of only the
initial preferred audio codec and later the currently received audio
codec.
* The audio frame handling in channel.c:ast_read() is more streamlined and
will automatically adjust to changes in received frame formats. The new
policy is to remove translation and pass the new frame format to the
receiver except if the translation was to a signed linear format. A more
long winded version is commented in ast_read() along with some caveats.
* The audio frame handling in channel.c:ast_write() is more streamlined
and will automatically adjust any needed translation to changes in the
frame formats sent. Frame formats sent can change for many reasons such
as a recording is being played back or the bridged peer changed the format
it sends. Since it is a normal expectation that sent formats can change,
the codec mismatch warning message is demoted to a debug message.
* Removed the short circuit check in
channel.c:ast_channel_make_compatible_helper(). Two party bridges need to
make channels compatible with each other. However, transfers and moving
channels among bridges can result in otherwise compatible channels having
sub-optimal translation paths if the make compatible check is short
circuited. A result of forcing the reevaluation of channel compatibility
is that the asterisk.conf:transcode_via_slin and codecs.conf:genericplc
options take effect consistently now. It is unfortunate that these two
options are enabled by default and negate some of the benefits to the
changes in channel.c:ast_read() by forcing translation through signed
linear on a two party bridge.
* Improved the softmix bridge technology to better control the translation
of frames to the bridge. All of the incoming translation is now normally
handled by ast_read() instead of splitting any translation steps between
ast_read() and the slin factory. If any frame comes in with an unexpected
format then the translation path in ast_read() is updated for the next
frame and the slin factory handles the current frame translation.
This is the final patch in a series of patches aimed at improving
translation path choices. The other patches are on the following reviews:
https://reviewboard.asterisk.org/r/4600/
https://reviewboard.asterisk.org/r/4605/
ASTERISK-24841 #close
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/4609/
........
Merged revisions 434671 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434672
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kevin Harwell [Fri, 10 Apr 2015 21:06:23 +0000 (21:06 +0000)]
chan_sip: make progressinband default to no
After the "progressinband" value setting of "never" was updated to never send a
183 this separated its use from the "no" value. Since "never" was the default,
but most users probably expect "no" this patch updates the default for the
"progressinband" setting to "no."
ASTERISK-24835 #close
Reported by: Andrew Nagy
Review: https://reviewboard.asterisk.org/r/4606/
........
Merged revisions 434654 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434655
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Fri, 10 Apr 2015 17:56:47 +0000 (17:56 +0000)]
res_pjsip: Add an 'auto' option for DTMF Mode
This patch adds support for automatically detecting the type of DTMF that a
PJSIP endpoint supports. When the 'dtmf_mode' endpoint option is set to 'auto',
the channel created for an endpoint will attempt to determine if RFC 4733
DTMF is supported. If so, it will use that DTMF type. If not, the DTMF type
for the channel will be set to inband.
Review: https://reviewboard.asterisk.org/r/4438
ASTERISK-24706 #close
Reported by: yaron nahum
patches:
yaron_patch_3_Feb.diff submitted by yaron nahum (License 6676)
........
Merged revisions 434637 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434638
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
George Joseph [Fri, 10 Apr 2015 17:00:38 +0000 (17:00 +0000)]
res_pjsip_config_wizard: Cleanup load unload
While investigating other unload issues I realized that the load/unload process
for the config wizard was pretty ugly so I've refactored it as follows...
When the res_pjsip sorcery instance is created the config_wizard bumps it's own
module reference to prevent it from unloading while the sorcery instance is
still active. When res_pjsip unloads and it's sorcery instance is destroyed,
the config wizard unrefs itself which then allows itself to unload cleanly.
Since the config wizard now can't load after res_pjsip or unload before it
(which should have been the correct behavior all along), I was able to remove
the chunks of code in both load_module and unload_module that handled that case.
Ran the testsuite tests to insure there were no functional changes and REF_DEBUG
to insure that Asterisk was shutting down cleanly with no FRACKs or leaks.
Tested-by: George Joseph
Review: https://reviewboard.asterisk.org/r/4610/
........
Merged revisions 434619 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434620
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 10 Apr 2015 16:38:58 +0000 (16:38 +0000)]
bridge_softmix.c,channel.c: Minor code simplification and cleanup.
* Made code easier to follow in bridge_softmix.c:analyse_softmix_stats()
and made some debug messages more helpful.
* Made some debug and warning messages more helpful in
channel.c:set_format().
Review: https://reviewboard.asterisk.org/r/4607/
........
Merged revisions 434617 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434618
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 10 Apr 2015 16:32:28 +0000 (16:32 +0000)]
translate.c: Only select audio codecs to determine the best translation choice.
Given a source capability of h264 and ulaw, a destination capability of
h264 and g722 then ast_translator_best_choice() would pick h264 as the
best choice even though h264 is a video codec and Asterisk only supports
translation of audio codecs. When the audio starts flowing, there are
warnings about a codec mismatch when the channel tries to write a frame to
the peer.
* Made ast_translator_best_choice() only select audio codecs.
* Restore a check in channel.c:set_format() lost after v1.8 to prevent
trying to set a non-audio codec.
This is an intermediate patch for a series of patches aimed at improving
translation path choices for ASTERISK-24841.
This patch is a complete enough fix for ASTERISK-21777 as the v11 version
of ast_translator_best_choice() does the same thing. However, chan_sip.c
still somehow tries to call ast_codec_choose() which then calls
ast_best_codec() with a capability set that doesn't contain any audio
formats for the incoming call. The remaining warning message seems to be
a benign transient.
ASTERISK-21777 #close
Reported by: Nick Ruggles
ASTERISK-24380 #close
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/4605/
........
Merged revisions 434614 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434615 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434616
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Fri, 10 Apr 2015 14:56:05 +0000 (14:56 +0000)]
res/ari: Fix model validation for ChannelHold event
When the ChannelHold event was added, the 'musicclass' parameter was
erroneously removed. This caused the ChannelHold events to be rejected as
they failed model validation. This patch updates the Swagger schema such that
it now properly reflects the event that is being created.
Hooray for tests that catch things like this.
........
Merged revisions 434597 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434598
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Fri, 10 Apr 2015 13:32:24 +0000 (13:32 +0000)]
dns: Fix build when TEST_FRAMEWORK is not defined.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434583
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Fri, 10 Apr 2015 12:40:36 +0000 (12:40 +0000)]
channels/chan_iax2: Improve POKE expiration time calculation for lossy networks
POKE is used to check for peer availability; however, in networks with packet
loss, the current calculations may result in POKE expiration times that are too
short. This patch alters the expiration/retry time logic to take into account
the last known qualify round trip time, as opposed to always using a static
value for each peer.
Review: https://reviewboard.asterisk.org/r/4536
ASTERISK-22352 #close
Reported by: Frederic Van Espen
ASTERISK-24894 #close
Reported by: Y Ateya
patches:
poke_noanswer_duration.diff submitted by Y Ateya (License 6693)
........
Merged revisions 434564 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434565 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434566
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Fri, 10 Apr 2015 12:23:42 +0000 (12:23 +0000)]
channels/chan_iax2: Add a configuration parameter for call token expiration
This patch adds a new configuration parameter, 'calltokenexpiration', that
controls how long before an authentication call token is expired. The default
maintains the RFC specified 10 seconds. Setting it to a higher value may be
useful in lossy networks.
Review: https://reviewboard.asterisk.org/r/4588
ASTERISK-24939 #close
Reported by: Y Ateya
patches:
ctoken_configuration.diff submitted by Y Ateya (License 6693)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434563
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
George Joseph [Thu, 9 Apr 2015 23:12:13 +0000 (23:12 +0000)]
res_pjsip_phoneprov_provider: Fix reference leak on unload
res_pjsip_phoneprov_provider was leaking references to phoneprov objects due to
a missing OBJ_NODATA in an ao2_callback in load_users(). Rather than adding the
OBJ_NODATA, I changed load_users to use a more straightforward ao2_iterator.
This plugged the leak but exposed an unload order issue between
res_pjsip_phoneprov_provider, res_phoneprov and res_pjsip.
res_pjsip_phoneprov_provider unloads first, then res_phoneprov, then res_pjsip.
Since res_pjsip_phoneprov_provider uses res_pjsip's sorcery instance, when it
unloads, it's objects are still in the sorcery instance. When res_pjsip
unloads, it destroys all its objects including res_pjsip_phoneprov_provider's.
The phoneprov destructor then attempts to unregister the extension from
res_phoneprov but because res_phoneprov is already cleaned up, its users
container is gone and we get a FRACK.
Simple solution, check for the NULL users container before attempting to remove
the entry. Duh.
Ran tests/res_phoneprov/res_phoneprov_provider. No leaks in
res_pjsip_phoneprov_provider and no FRACKs.
Reported-by: Corey Farrell
Tested-by: George Joseph
Review: https://reviewboard.asterisk.org/r/4608/
ASTERISK-24935 #close
........
Merged revisions 434545 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434547
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
George Joseph [Thu, 9 Apr 2015 23:08:10 +0000 (23:08 +0000)]
loader/main: Don't set ast_fully_booted until deferred reloads are processed
Until we have a true module management facility it's sometimes necessary for one
module to force a reload on another before its own load is complete. If
Asterisk isn't fully booted yet, these reloads are deferred. The problem is
that asterisk reports fully booted before processing the deferred reloads which
means Asterisk really isn't quite ready when it says it is.
This patch moves the report of fully booted after the processing of the deferred
reloads is complete.
Since the pjsip stack has the most number of related modules, I ran the
channels/pjsip testsuite to make sure there aren't any issues. All tests
passed.
Tested-by: George Joseph
Review: https://reviewboard.asterisk.org/r/4604/
........
Merged revisions 434544 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434546
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kevin Harwell [Thu, 9 Apr 2015 22:07:50 +0000 (22:07 +0000)]
res_pjsip: add CLI command to show global and system configuration
Added a new CLI command for res_pjsip that shows both global and system
configuration settings: pjsip show settings
ASTERISK-24918 #close
Reported by: Scott Griepentrog
Review: https://reviewboard.asterisk.org/r/4597/
........
Merged revisions 434527 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434528
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Thu, 9 Apr 2015 16:09:58 +0000 (16:09 +0000)]
chan_iax2.c: Fix ref leak in iax2_request().
* Increased warning message format capability string buffer size in
iax2_request().
Review: https://reviewboard.asterisk.org/r/4601/
........
Merged revisions 434510 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434511
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Thu, 9 Apr 2015 16:05:44 +0000 (16:05 +0000)]
bridge_native_rtp.c: Defer allocation and check if it fails in native_rtp_bridge_compatible().
Review: https://reviewboard.asterisk.org/r/4601/
........
Merged revisions 434508 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434509
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 9 Apr 2015 15:43:20 +0000 (15:43 +0000)]
res/res_pjsip_dlg_options: Add a module to handle in-dialog OPTIONS requests
This patch adds a new session supplement that handles in-dialog OPTIONS
requests. Said OPTIONS requests are sent a 200 OK, as an endpoint lookup
for the OPTIONS request would already have been done by the time the
session supplement receives the inbound request.
ASTERISK-24862 #close
Reported by: yaron nahum
patches:
res_pjsip_dlg_options.c submitted by yaron nahum (License 6676)
........
Merged revisions 434506 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434507
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Thu, 9 Apr 2015 14:58:02 +0000 (14:58 +0000)]
Reduce duplication of common DNS code.
The NAPTR and SRV branches were worked on independently and
resulted in some code being duplicated in each. Since both
have been merged into trunk now, this patch reduces the
duplication by factoring out common code into its own
source files.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434490
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 9 Apr 2015 12:57:21 +0000 (12:57 +0000)]
clang compiler warnings: Fix autological comparisons
This fixes autological comparison warnings in the following:
* chan_skinny: letohl may return a signed or unsigned value, depending on the
macro chosen
* func_curl: Provide a specific cast to CURLoption to prevent mismatch
* cel: Fix enum comparisons where the enum can never be negative
* enum: Fix comparison of return result of dn_expand, which returns a signed
int value
* event: Fix enum comparisons where the enum can never be negative
* indications: tone_data.freq1 and freq2 are unsigned, and hence can never be
negative
* presencestate: Use the actual enum value for INVALID state
* security_events: Fix enum comparisons where the enum can never be negative
* udptl: Don't bother to check if the return value from encode_length is less
than 0, as it returns an unsigned int
* translate: Since the parameters are unsigned int, don't bother checking
to see if they are negative. The cast to unsigned int would already blow
past the matrix bounds.
* res_pjsip_exten_state: Use a temporary value to cache the return of
ast_hint_presence_state
* res_stasis_playback: Fix enum comparisons where the enum can never be
negative
* res_stasis_recording: Add an enum value for the case where the recording
operation is in error; fix enum comparisons
* resource_bridges: Use enum value as opposed to -1
* resource_channels: Use enum value as opposed to -1
Review: https://reviewboard.asterisk.org/r/4533
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4533.patch submitted by dkdegroot (License 6600)
........
Merged revisions 434469 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434470 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434471
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 9 Apr 2015 02:05:26 +0000 (02:05 +0000)]
apps/app_queue: Prevent possible crash when evaluating queue penalty rules
Although it only occurred once, a crash occurred when a queue attempted to
evaluate a queue penalty rule that appeared to have already been destroyed.
In many locations in app_queue, a test is done to see if qe->pr is NULL;
however, when we dispose of a queue's penalty rules, we don't set the pointer
to NULL after free'ing it. This patch does that to prevent any dangling
pointers from lingering on the queue object.
Review: https://reviewboard.asterisk.org/r/4522
ASTERISK-23319 #close
Reported by: Vadim
patches:
rb4552.patch submitted by Stefan Engström (License 6691)
........
Merged revisions 434448 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434449 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434450
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Wed, 8 Apr 2015 18:32:31 +0000 (18:32 +0000)]
res_pjsip_t38: Fix FAX failures when using PJSIP with authentication
Without this patch, if a PJSIP endpoint with udptl enabled and authentication
set attempted to use sendFax, the FAX session would fail during setup. This
was because the invite issued in response to being auth challenged would cause
the PJSIP channel performing the FAX to receive a second T38 framehook and
this would cause frames to be consumed in an inappropriate manner.
ASTERISK-24933 #close
Reported by: Jonathan Rose
Review: https://reviewboard.asterisk.org/r/4577/
........
Merged revisions 434425 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434431
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 8 Apr 2015 18:20:26 +0000 (18:20 +0000)]
Bridging: Eliminate the unnecessary make channel compatible with bridge operation.
When a channel enters the bridging system it is first made compatible with
the bridge and then the bridge technology makes the channel compatible
with the technology. For all but the DAHDI native and softmix bridge
technologies the make channel compatible with the bridge step is an
effective noop because the other technologies allow all audio formats.
For the DAHDI native bridge technology it doesn't matter because it is not
an initial bridge technology and chan_dahdi allows only one native format
per channel. For the softmix bridge technology, it is a noop at best and
harmful at worst because the wrong translation path could be setup if the
channel's native formats allow more than one audio format.
This is an intermediate patch for a series of patches aimed at improving
translation path choices.
* Removed code dealing with the unnecessary step of making the channel
compatible with the bridge.
ASTERISK-24841
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/4600/
........
Merged revisions 434424 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434430
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Wed, 8 Apr 2015 16:49:18 +0000 (16:49 +0000)]
Security/tcptls: MitM Attack potential from certificate with NULL byte in CN.
When registering to a SIP server with TLS, Asterisk will accept CA signed
certificates with a common name that was signed for a domain other than the
one requested if it contains a null character in the common name portion of
the cert. This patch fixes that by checking that the common name length
matches the the length of the content we actually read from the common name
segment. Some certificate authorities automatically sign CA requests when
the requesting CN isn't already taken, so an attacker could potentially
register a CN with something like www.google.com\x00www.secretlyevil.net
and have their certificate signed and Asterisk would accept that certificate
as though it had been for www.google.com - this is a security fix and is
noted in AST-2015-003.
ASTERISK-24847 #close
Reported by: Maciej Szmigiero
Patches:
asterisk-null-in-cn.patch submitted by mhej (license 6085)
........
Merged revisions 434337 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 434338 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434384 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434385
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 8 Apr 2015 16:31:45 +0000 (16:31 +0000)]
format_cache.c: Add missing slin12 format to ast_format_cache_is_slinear().
........
Merged revisions 434357 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434383
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 8 Apr 2015 12:02:37 +0000 (12:02 +0000)]
chan_iax2: Fix compilation issue due to funky merge
Don't mix declarations and code!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434294
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 8 Apr 2015 12:00:35 +0000 (12:00 +0000)]
chan_iax2: Fix crash caused by unprotected access to iaxs[peer->callno]
This patch fixes an access to the peer callnumber that is unprotected by a
corresponding mutex. The peer->callno value can be changed by multiple threads,
and all data inside the iaxs array must be procted by a corresponding lock
of iaxsl.
The patch moves the unprotected access to a location where the mutex is
safely obtained.
Review: https://reviewboard.asterisk.org/r/4599/
ASTERISK-21211 #close
Reported by: Jaco Kroon
patches:
asterisk-11.2.1-iax2_poke-segfault.diff submitted by Jaco Kroon (License 5671)
........
Merged revisions 434291 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434292 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434293
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 8 Apr 2015 11:54:09 +0000 (11:54 +0000)]
chan_sip: Handle IPv4 mapped IPv6 clients when NAT is enabled
When udpbindaddr is set to the IPv6 bind all address of '::', Asterisk will
attempt to handle both IPv4 and IPv6 addresses, although the information will
be stored in a struct with an AF_INET6 address type. However, the current
NAT handling code won't handle the IPv4 mapped IPv6 addresses correctly.
This patch adds an additional check for the mapped address case, allowing
the NAT code to handle clients even when the address is IPv6.
Review: https://reviewboard.asterisk.org/r/4563/
ASTERISK-18032 #close
Reported by: Christoph Timm
patches:
nat_with_ipv6.diff submitted by Valentin Vidić (License 6697)
........
Merged revisions 434288 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434289 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434290
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 8 Apr 2015 11:45:05 +0000 (11:45 +0000)]
clang compiler warnings: Fix pointer-bool-converesion warnings
This patch fixes several warnings pointed out by the clang compiler.
* chan_pjsip: Removed check for data->text, as it will always be non-NULL.
* app_minivm: Fixed evaluation of etemplate->locale, which will always
evaluate to 'true'. This patch changes the evaluation to use
ast_strlen_zero.
* app_queue:
- Fixed evaluation of qe->parent->monfmt, which always evaluates to
true. Instead, we just check to see if the dereferenced pointer
evaluates to true.
- Fixed evaluation of mem->state_interface, wrapping it with a call to
ast_strlen_zero.
* res_smdi: Wrapped search_msg->mesg_desk_term with calls to ast_strlen_zero.
Review: https://reviewboard.asterisk.org/r/4541
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4541.patch submitted by dkdegroot (License 6600)
........
Merged revisions 434285 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434286 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434287
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 8 Apr 2015 11:35:53 +0000 (11:35 +0000)]
cel_pgsl: Add support for GMT timestamps
This patch adds a new option to cel_pgsl, "usegmtime", which causes timestamps
to be logged in GMT.
Review: https://reviewboard.asterisk.org/r/4571/
ASTERISK-23186 #close
Reported by: Rodrigo Ramirez Norambuena
patches:
cel_pgsql.c_add_usegmtime2.patch submitted by Rodrigo Ramirez Norambuena (License 6577)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434284
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Scott Griepentrog [Tue, 7 Apr 2015 19:40:22 +0000 (19:40 +0000)]
pjsip: resolve compatibility problem with ast_sip_session
A change in r430179 inserted a variable near the top of a
structure caused a problem when running DPMA in a version
of Asterisk compiled across the change. This patch moves
the new variable to the end of the structure, eliminating
the problem.
Review: https://reviewboard.asterisk.org/r/4574/
........
Merged revisions 433944 from http://svn.asterisk.org/svn/asterisk/branches/13
........
Merged revisions 434261 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434263
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kevin Harwell [Tue, 7 Apr 2015 16:42:18 +0000 (16:42 +0000)]
bridge.c: Hangup attended transfer target after it has been swapped out
After completing an attended transfer the transfer target channel (the one that
gets swapped out) was not being hung up after leaving the bridge. This resulted
in a channel possibly being left around. Added an explicit softhangup for the
channel in question after the transfer is successfully completed in order to
make sure the channel is hung up.
ASTERISK-24782 #close
Reported by: John Bigelow
Review: https://reviewboard.asterisk.org/r/4575/
........
Merged revisions 434240 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434241
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Tue, 7 Apr 2015 15:34:53 +0000 (15:34 +0000)]
Do not queue message requests that we do not respond to.
If we receive a MESSAGE request that we cannot send a response
to, we should not send the incoming MESSAGE to the dialplan.
This commit should help the bouncing message_retrans test to
pass consistently.
........
Merged revisions 434218 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434219
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Tue, 7 Apr 2015 15:22:42 +0000 (15:22 +0000)]
ARI: Add the ability to intercept hold and raise an event
For some applications - such as SLA - a phone pressing hold should not behave
in the fashion that the Asterisk core would like it to. Instead, the hold
action has some application specific behaviour associated with it - such as
disconnecting the channel that initiated the hold; only playing MoH to channels
in the bridge if the channels are of a particular type, etc.
One way of accomplishing this is to use a framehook to intercept the
hold/unhold frames, raise an event, and eat the frame. Tasty. This patch
accomplishes that using a new dialplan function, HOLD_INTERCEPT.
In addition, some general cleanup of raising hold/unhold Stasis messages was
done, including removing some RAII_VAR usage.
Review: https://reviewboard.asterisk.org/r/4549/
ASTERISK-24922 #close
........
Merged revisions 434216 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434217
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Tue, 7 Apr 2015 02:10:31 +0000 (02:10 +0000)]
clang compiler warnings: Fix sometimes-initialized warning in func_math
This patch fixes a bug in a unit test in func_math where a variable could be
passed to ast_free that wasn't allocated. This patch corrects the issue and
ensures that we only attempt to free a variable if we previously allocated
it.
Review: https://reviewboard.asterisk.org/r/4552
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4552.patch submitted by dkdegroot (License 6600)
........
Merged revisions 434190 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434191 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434192
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Tue, 7 Apr 2015 02:03:48 +0000 (02:03 +0000)]
clang compiler warnings: Fix non-literal-null-conversion warnings
Clang will flag errors when a char pointer is set to '\0', as opposed to a
value that the char pointer points to. This patch fixes this warning
in a variety of locations.
Review: https://reviewboard.asterisk.org/r/4551
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4551.patch submitted by dkdegroot (License 6600)
........
Merged revisions 434187 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434188 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434189
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Mon, 6 Apr 2015 21:54:53 +0000 (21:54 +0000)]
Uncomment test case.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434170
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Mon, 6 Apr 2015 21:13:36 +0000 (21:13 +0000)]
Add missing DNS NAPTR test file.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434154
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kevin Harwell [Mon, 6 Apr 2015 19:23:57 +0000 (19:23 +0000)]
res_pjsip: config option 'timers' can't be set to 'no'
When setting the configuration option 'timers' equal to 'no' the bit flag was
not properly negated. This patch clears all associated flags and only sets the
specified one. pjsip will handle any necessary flag combinations. Also went
ahead and did similar for the '100rel' option.
ASTERISK-24910 #close
Reported by: Ray Crumrine
Review: https://reviewboard.asterisk.org/r/4582/
........
Merged revisions 434131 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434132
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
George Joseph [Mon, 6 Apr 2015 19:04:32 +0000 (19:04 +0000)]
build: Fixes for gcc 5 compilation
These are fixes for compilation under gcc 5.0...
chan_sip.c: In parse_request needed to make 'lim' unsigned.
inline_api.h: Needed to add a check for '__GNUC_STDC_INLINE__' to detect C99
inline semantics (same as clang).
ccss.c: In ast_cc_set_parm, needed to fix weird comparison.
dsp.c: Needed to work around a possible compiler bug. It was throwing
an array-bounds error but neither
sgriepentrog, rmudgett nor I could figure out why.
manager.c: In action_atxfer, needed to correct an array allocation.
This patch will go to 11, 13, trunk.
Review: https://reviewboard.asterisk.org/r/4581/
Reported-by: Jeffrey Ollie
Tested-by: George Joseph
ASTERISK-24932 #close
........
Merged revisions 434113 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434114 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434115
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Mon, 6 Apr 2015 18:18:32 +0000 (18:18 +0000)]
clang compiler warnings: Remove large chunks of unused code from extconf
This patch fixes a warning caught by clang, in which it detected that large
chunks of extconf were unused. Frankly, I wish we could pretend that all of
extconf was unused, but alas, that is not yet the case.
A few extraneous functions in the parking tests were removed as well, for
the same reason.
Review: https://reviewboard.asterisk.org/r/4553
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4553.patch submitted by dkdegroot (License 6600)
........
Merged revisions 434093 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434097 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434099
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Mon, 6 Apr 2015 18:03:54 +0000 (18:03 +0000)]
clang compiler warnings: Fix sometimes-uninitialized warning in pbx_config
This patch fixes a warning caught by clang, in which a char pointer could be
assigned to before it was initialized. The patch re-organizes the code to
ensure that the pointer is always initialized, even on off nominal paths.
Review: https://reviewboard.asterisk.org/r/4529
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4529.patch submitted by dkdegroot (License 6600)
........
Merged revisions 434090 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434091 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434092
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Mon, 6 Apr 2015 17:52:31 +0000 (17:52 +0000)]
clang compiler warnings: Fix format specified in framehook
This patch fixes an invalid format specifier used in the formatting of an
ERROR message in the framehook code. The format specifier specifies a
type of 'unsigned short', but the argument passed to it is of type 'int'.
The patch changes the format specifier to 'i'.
Review: https://reviewboard.asterisk.org/r/4540
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4535.patch submitted by dkdegroot (License 6600)
........
Merged revisions 434087 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 434088 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434089
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Mon, 6 Apr 2015 17:05:47 +0000 (17:05 +0000)]
Merge NAPTR support into trunk.
This adds NAPTR record allocation and sorting, as well as
unit tests that verify that NAPTR records are parsed and
sorted correctly.
Review: https://reviewboard.asterisk.org/r/4542
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434068
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Mon, 6 Apr 2015 16:02:28 +0000 (16:02 +0000)]
Ensure that a non-zero sample rate is returned for all formats.
Versions of Asterisk prior to 12 defaulted to 8000 as a sample rate
if one was not provided by a format. In Asterisk 13, this was removed.
The result was that some calculations which involve dividing by the
sample rate resulted in dividing by 0. The fix being put in place
here is to have the same default fallback that was present in previous
versions of Asterisk.
Asterisk-24914 #close
Reported by Marcello Ceschia
........
Merged revisions 434046 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434047
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Corey Farrell [Mon, 6 Apr 2015 15:17:18 +0000 (15:17 +0000)]
res_pjsip_phoneprov_provider: Revert 433996 / 433997.
res_pjsip_phoneprov_provider is using ao2_callback with OBJ_MULTIPLE, then
ignoring the return. OBJ_NODATA flag was to prevent a reference leak, but
this caused the module to FRACK on unload. Revert change until this can
be investigated further.
ASTERISK-24935
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/4578/
........
Merged revisions 434025 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434026
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Mon, 6 Apr 2015 14:51:21 +0000 (14:51 +0000)]
ParkedCall: Don't allow dialplan fallthrough after retrieving parked call.
This is a change to align behavior with that of Asterisk 11 and previous versions.
In those versions, if a parked call were retrieved, and the call ended, the parked
call retriever would be hung up after the ParkedCall application ran. Prior to this
patch, in Asterisk 13, the same situation would result in the parked call retriever
falling through to additional priorities in the extension where the ParkedCall
application was called. With this patch, the behavior between Asterisk 11 and 13
aligns.
ASTERISK-24899 #close
Reported by Malcolm Davenport
Patches:
ASTERISK-24899.patch uploaded by Mark Michelson(license #5049)
........
Merged revisions 434022 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434023
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Corey Farrell [Sun, 5 Apr 2015 12:55:21 +0000 (12:55 +0000)]
res_pjsip_phoneprov_provider: Fix leaked OBJ_MULTIPLE iterator.
res_pjsip_phoneprov_provider was using ao2_callback with OBJ_MULTIPLE, then
ignoring the return. Added OBJ_NODATA flag to prevent a reference leak.
ASTERISK-24935 #close
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/4578/
........
Merged revisions 433996 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433997
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Fri, 3 Apr 2015 21:54:36 +0000 (21:54 +0000)]
res_pjsip_messaging: Serialize outbound SIP MESSAGEs
Outbound SIP MESSAGEs had the potential to be sent out
of order from how they were specified in a set of
dialplan steps.
This change creates a serializer for sending outbound
MESSAGE requests on. This ensures that the MESSAGEs are
sent by Asterisk in the same order that they were sent
from the dialplan.
ASTERISK-24937 #close
Reported by Mark Michelson
Review: https://reviewboard.asterisk.org/r/4579
........
Merged revisions 433968 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433969
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Scott Griepentrog [Thu, 2 Apr 2015 14:56:39 +0000 (14:56 +0000)]
pjsip: resolve compatibility problem with ast_sip_session
A change in r430179 inserted a variable near the top of a
structure caused a problem when running DPMA in a version
of Asterisk compiled across the change. This patch moves
the new variable to the end of the structure, eliminating
the problem.
Review: https://reviewboard.asterisk.org/r/4574/
........
Merged revisions 433944 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433945
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Corey Farrell [Thu, 2 Apr 2015 10:38:03 +0000 (10:38 +0000)]
Tell menuselect that MALLOC_DEBUG conflicts with DEBUG_CHAOS.
DEBUG_CHAOS was marked as conflicting with MALLOC_DEBUG, but
for this to work correctly MALLOC_DEBUG must also be marked
as conflicting with DEBUG_CHAOS.
Review: https://reviewboard.asterisk.org/r/4557/
........
Merged revisions 433923 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433924
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Ashley Sanders [Wed, 1 Apr 2015 16:30:25 +0000 (16:30 +0000)]
stasis: set a channel variable on websocket disconnect error
Resolve compile errors caused by r433863 by fixing the
documentation xml to comply with the schema.
........
Merged revisions 433888 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433891
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Wed, 1 Apr 2015 16:27:48 +0000 (16:27 +0000)]
dns: Add support for SRV record parsing and sorting.
This change adds support for parsing SRV records and consuming their values
in an easy fashion. It also adds automatic sorting of SRV records according
to RFC 2782.
Tests have also been included which cover parsing, sorting, and off-nominal
cases where the record is corrupted.
ASTERISK-24931 #close
Reported by: Joshua Colp
Review: https://reviewboard.asterisk.org/r/4528/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433889
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Wed, 1 Apr 2015 13:35:10 +0000 (13:35 +0000)]
stasis: set a channel variable on websocket disconnect error
Resolve compile errors caused by r433839 by included the missing
header file, pbx.h.
........
Merged revisions 433863 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433868
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Ashley Sanders [Tue, 31 Mar 2015 22:49:45 +0000 (22:49 +0000)]
stasis: set a channel variable on websocket disconnect error
When an error occurs while writing to a web socket, the web socket is
disconnected and the event is logged. A side-effect of this, however, is that
any application on the other side waiting for a response from Stasis is left
hanging indefinitely (as there is no mechanism presently available for
notifying interested parties about web socket error states in Stasis).
To remedy this scenario, this patch introduces a new channel variable:
STASISSTATUS.
The possible values for STASISSTATUS are:
SUCCESS - The channel has exited Stasis without any failures
FAILED - Something caused Stasis to croak. Some (not all) possible
reasons for this:
- The app registry is not instantiated;
- The app requested is not registered;
- The app requested is not active;
- Stasis couldn't send a start message
ASTERISK-24802
Reported By: Kevin Harwell
Review: https://reviewboard.asterisk.org/r/4519/
........
Merged revisions 433839 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433845
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Tue, 31 Mar 2015 17:04:18 +0000 (17:04 +0000)]
chan_sip: Fix expression in unit test /channels/chan_sip/test_sip_rtpqos.
Fix misplaced parentheses in original fabs() expression.
........
Merged revisions 433816 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433817 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433818
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Corey Farrell [Tue, 31 Mar 2015 11:55:29 +0000 (11:55 +0000)]
Blocked revisions 433795
........
Re-add _ast_mem_backtrace_buffer variable for ABI compatibility.
Modules built prior to commit of r4502 expect to link at runtime
to the variable _ast_mem_backtrace_buffer. This change re-adds
the variable to the C file only.
Review: https://reviewboard.asterisk.org/r/4558/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433796
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Corey Farrell [Mon, 30 Mar 2015 11:43:19 +0000 (11:43 +0000)]
Fix an ABI compatibility issue with ast_log_safe for modules.
Binary modules are sometimes built against the latest release of
Asterisk in each branch, and need to be compatible with all
releases of that branch. This change ensures that utils.h only
uses ast_log_safe from the core. For modules and utilities ast_log
is used instead.
Review: https://reviewboard.asterisk.org/r/4548/
........
Merged revisions 433772 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433773 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433774
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Mon, 30 Mar 2015 02:45:29 +0000 (02:45 +0000)]
clang compiler warnings: Fix -Wabsolute-value warnings
This patch fixes several warnings caught by clang - in this case, usage of the
abs function on non-integer values. This patch uses labs and fabs, as
appropriate, in the various affected files.
Review: https://reviewboard.asterisk.org/r/4525
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4525.patch submitted by dkdegroot (License 6600)
........
Merged revisions 433749 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433750 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433751
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Mon, 30 Mar 2015 02:39:57 +0000 (02:39 +0000)]
clang compiler warnings: Fix invalid enum conversion
This patch fixes some invalid enum conversion warnings caught by clang. In
particular:
* chan_sip: Several functions mixed usage of the st_refresher_param
enum and st_refresher enum. This patch corrects the functions to use the
right enum.
* chan_pjsip: Fixed mixed usage of ast_sip_session_t38state and ast_t38_state.
* strings: Fixed incorrect usage of AO2 flags with strings container.
* res_stasis: Change a return enumeration to stasis_app_user_event_res.
Review: https://reviewboard.asterisk.org/r/4535
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4535.patch submitted by dkdegroot (License 6600)
........
Merged revisions 433746 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433747 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433748
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Mon, 30 Mar 2015 02:29:39 +0000 (02:29 +0000)]
main/stdtime/localtime: Fix warning introduced in r433720
The patch in r433720 caused a warning to be kicked back by gcc. It occurred
due to this check in unistd.h:
if (__nbytes > __bos0 (__buf))
return __read_chk_warn (__fd, __buf, __nbytes, __bos0 (__buf));
That is, if __nbytes is greater than the result of GCC's built-in object size
for the struct, we'll kick back a warning.
As it turns out, this is because there is an error in the code in the patch.
We are passing the address of the pointer to the struct, not iev, which is a
pointer to the struct. Hence, the number of bytes is probably going to be lot
larger than the number of bytes that make up a pointer! This patch changes
the code just read from the pointer to the struct - which fixes the warning.
ASTERISK-24917
........
Merged revisions 433743 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433744 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433745
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Mon, 30 Mar 2015 01:57:07 +0000 (01:57 +0000)]
clang compiler warnings: Ignore -Wunused-command-line-argument
Asterisk's build system has a tendency to pass include directives for libraries
to everything compiled within a particular group of source files. This means
we pass the header for libxml2 to things that don't necessarily need it. As a
result, we ignore this particular warning.
Review: https://reviewboard.asterisk.org/r/4545/
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4545.patch submitted by dkdegroot (License 6600)
........
Merged revisions 433720 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433721 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433722
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Mon, 30 Mar 2015 01:53:15 +0000 (01:53 +0000)]
clang compiler warnings: Fix warning for -Wgnu-variable-sized-type-not-at-end
This patch fixes a warning caught by clang, wherein a variable sized struct is
not located at the end of a struct. While the code in question actually
expected this, this is a good warning to watch for. Hence, this patch refactors
the code in question to not have two variable length elements in the same
struct.
Review: https://reviewboard.asterisk.org/r/4530/
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4530.patch submitted by dkdegroot (License 6600)
........
Merged revisions 433717 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433718 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433719
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Sat, 28 Mar 2015 12:56:43 +0000 (12:56 +0000)]
clang compiler warnings: Fix a variety of "unused" warnings
This patch fixes the -Wunused-value -Wunused-variable -Wunused-const-variable
errors caught by clang. Specifically:
* apps/app_queue.c: removed unused qpm_cmd_usage[], qum_cmd_usage[],
qsmp_cmd_usage[]
* cel/cel_sqlite3_custom.c: removed unused name[] = "cel_sqlite3_custom"
* channels/chan_pjsip.c: removed unused desc[] = "PJSIP Channel"
* codecs/gsm/src/gsm_create.c: removed unused ident[] = "$Header$"
* funcs/func_env.c:729: Fixed ast_str_append_substr.
* main/editline/np/strlcat.c: removed unused rcsid variable
* main/editline/np/strlcpy.c: removed unused rcsid variable
* main/security_events.c: removed unused TIMESTAMP_STR_LEN
* utils/conf2ael.c: removed unused cfextension_states
* utils/extconf.c: removed unused cfextension_states
Review: https://reviewboard.asterisk.org/r/4526
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4526.patch submitted by dkdegroot (License 6600)
........
Merged revisions 433693 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433694 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433695
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Sat, 28 Mar 2015 12:48:45 +0000 (12:48 +0000)]
clang compiler warnings: Fix -Wself-assign
Assigning a variable to itself isn't super useful. However, the WAV format
modules make use of this in order to perform byte endian checks. This patch
works around the warning by only performing the self assignment if we are
going to do more than just assign it to ourselves. Which is odd, but true.
Review: https://reviewboard.asterisk.org/r/4544/
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4544.patch submitted by dkdegroot (License 6600)
........
Merged revisions 433690 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433691 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433692
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Sat, 28 Mar 2015 12:41:24 +0000 (12:41 +0000)]
clang compiler warnings: Fix -Wparantheses-equality warnings
Clang will treat ((a == b)) as a warning, as it reasonably expects that the
developer may have intended to write (a == b) or ((a = b)). This patch cleans
up all instances where equality, not assignment, was intended between two
parantheses.
Review: https://reviewboard.asterisk.org/r/4531/
ASTERISK-24917
Repoted by: dkdegroot
patches:
rb4531.patch submitted by dkdegroot (License 6600)
........
Merged revisions 433687 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433688 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433689
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Sat, 28 Mar 2015 12:33:21 +0000 (12:33 +0000)]
clang compiler warnings: Fix -Wbitfield-constant-conversion warning
In chan_iax2, we attempt to assign a -1 to a bitfield. This gets caught by
clang, as it will truncate the -1 to a 1 implicitly.
Instead, we just assign the value a '1'.
Review: https://reviewboard.asterisk.org/r/4537/
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4537.patch submitted by dkdegroot (License 6600)
........
Merged revisions 433683 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433684 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433686
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Sat, 28 Mar 2015 12:32:42 +0000 (12:32 +0000)]
clang compiler warnings: Fix -Winitializer-overrides
This patch fixes clange compiler warnings for initializer overrides.
Specifically:
res_pjsip/config_transport maps PJSIP_TLSV1_METHOD to the same enumeration
value as PJSIP_SSL_DEFAULT_METHOD. When initializing an array containing
those enum values, we therefore initialize the value twice to two different
values, "tlsv1" and "default". This patch changes it to just initialize
the index in the array to "tlsv1".
Review: https://reviewboard.asterisk.org/r/4539/
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4539.patch submitted by dkdegroot (License 6600)
........
Merged revisions 433682 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433685
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Sat, 28 Mar 2015 12:20:26 +0000 (12:20 +0000)]
clang compiler warnings: Fix -Wunused-function; make inline function static
This patch fixes clang compilers warnings for unused functions. Specifically:
* channels/chan_iax2: removed user_ref function
* main/dsp.c: removed goertzel_update function
* main/config.c: made variable_list_switch static
Review: https://reviewboard.asterisk.org/r/4527
ASTERISK-24917
Reported by: dkdegroot
patches:
rb4527.patch submitted by dkdegroot (License 6600)
........
Merged revisions 433678 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433680 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433681
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Fri, 27 Mar 2015 22:26:30 +0000 (22:26 +0000)]
SAC: Add conferencing extensions and configuration
Review: https://reviewboard.asterisk.org/r/4504/
........
Merged revisions 433656 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433657
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Rusty Newton [Fri, 27 Mar 2015 21:21:05 +0000 (21:21 +0000)]
configs/basic-pbx - Super Awesome Company example configs Phase 1, Patch 2
Example configuration files for a "basic PBX" deployment for the fictitious
Super Awesome Company. Details at https://reviewboard.asterisk.org/r/4488/
and https://wiki.asterisk.org/wiki/display/AST/Super+Awesome+Company
Patch 4488 includes all functionality needed for SAC's outside connectivity
and some externally accessed features, as well as outbound dialing.
Reported by: Malcolm Davenport
Tested by: Rusty Newton
Review: https://reviewboard.asterisk.org/r/4488/
........
Merged revisions 433624 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433637
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 27 Mar 2015 21:06:22 +0000 (21:06 +0000)]
res_pjsip_registrar_expire.c: Made use ao2 container template routines and eliminated some RAII_VAR() usage.
* Converted the contact_autoexpire container to use the ao2 template hash
and cmp functions. Also made use the OBJ_SEARCH_xxx names instead of the
deprecated names.
* Eliminates several unnecessary uses of RAII_VAR().
Review: https://reviewboard.asterisk.org/r/4524/
........
Merged revisions 433622 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433623
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Mark Michelson [Fri, 27 Mar 2015 20:46:55 +0000 (20:46 +0000)]
Add stateful PJSIP response API call, and use it for out-of-dialog responses.
Asterisk had an issue where retransmissions of MESSAGE requests resulted in
Asterisk processing the retransmission as if it were a new MESSAGE request.
This patch fixes the issue by creating a transaction in PJSIP on the incoming
request. This way, if a retransmission arrives, the PJSIP transaction layer
will resend the response and Asterisk will not ever see the retransmission.
ASTERISK-24920 #close
Reported by Mark Michelson
Review: https://reviewboard.asterisk.org/r/4532/
........
Merged revisions 433619 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433620
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 27 Mar 2015 20:23:58 +0000 (20:23 +0000)]
res_pjsip_registrar_expire.c: Cleanup scheduler leaks on unload/shutdown.
Contact expiration object refs were leaked when the module was unloaded.
* Made empty the scheduler of entries before destroying it to release the
object ref held by the scheduler entry.
Review: https://reviewboard.asterisk.org/r/4523/
........
Merged revisions 433596 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433617
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 27 Mar 2015 17:58:16 +0000 (17:58 +0000)]
Add missing file. ASTERISK-24781
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433597
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Fri, 27 Mar 2015 14:41:46 +0000 (14:41 +0000)]
res/res_timing_kqueue: Update the module to conform to current timer API
This patch updates the kqueue timing module to conform to current timer API.
This fixes issues with using the kqueue timing source on Asterisk 13 on
FreeBSD 10. These issues include:
- Remove support for kevent64(). The values used to support Asterisk timers
fit within 32bits and so can be handled on all platforms via kevent().
- Provide debug logging for, but do not track, unacked events. This matches
the behavior of all other timer implementations.
- Implement continuous mode by triggering and leaving active, a user event.
This ensures that the file descriptor for the timer returns immediately from
poll(), without placing the load of a high speed timer on the kernel.
- In kqueue_timer_get_max_rate(), don't overstate the capability of the timer.
On some platforms, UINT_MAX is greater than INTPTR_MAX, the largest integer
type kqueue supports for timers.
- In kqueue_timer_get_event(), assume the caller woke up from poll() and just
return the mode the timer is currently in. This matches all other timer
implementations.
- Adjust the test code now that unacked events are not tracked.
Review: https://reviewboard.asterisk.org/r/4465/
ASTERISK-24857 #close
Reported by: scsiguy
Tested by: Ed Hynan
patches:
rb4465.patch submitted by scsiguy (License 6692)
........
Merged revisions 433574 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433575
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Corey Farrell [Fri, 27 Mar 2015 12:27:23 +0000 (12:27 +0000)]
Fix link error for utils/aelparse.
Use the standard ast_log instead of ast_log_safe for STANDALONE programs.
Review: https://reviewboard.asterisk.org/r/4538/
........
Merged revisions 433549 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433550 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433551
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Corey Farrell [Fri, 27 Mar 2015 07:12:25 +0000 (07:12 +0000)]
Improved and portable ast_log recursion avoidance
This introduces a new logger routine ast_log_safe. This routine should be
used for all error messages in code that can be run as a result of ast_log.
ast_log_safe does nothing if run recursively. All error logging in
astobj2.c, strings.c and utils.h have been switched to ast_log_safe.
This required adding support for raw threadstorage. This provides direct
access to the void* pointer in threadstorage. In ast_log_safe, NULL is used
to signify that this thread is not already running ast_log_safe, (void*)1 when
it is already running. This was done since it's critical that ast_log_safe
do nothing that could log during recursion checking.
ASTERISK-24155 #close
Reported by: Timo Teräs
Review: https://reviewboard.asterisk.org/r/4502/
........
Merged revisions 433522 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433523 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433524
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Corey Farrell [Thu, 26 Mar 2015 23:09:04 +0000 (23:09 +0000)]
Fix compile errors caused by r4500 / r4501.
* Add ast_register_cleanup to utils/clicompat.c to deal with
any utils that copy sources from main.
* Asterisk 13+: remove unused variables from core_local.c.
Review: https://reviewboard.asterisk.org/r/4534/
........
Merged revisions 433499 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433500 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433501
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Corey Farrell [Thu, 26 Mar 2015 22:24:26 +0000 (22:24 +0000)]
Replace most uses of ast_register_atexit with ast_register_cleanup.
Since 'core stop now' and 'core restart now' do not stop modules,
it is unsafe for most of the core to run cleanups. Originally all
cleanups used ast_register_atexit, and were only changed when it
was shown to be unsafe. ast_register_atexit is now used only when
absolutely required to prevent corruption and close child processes.
Exceptions that need to use ast_register_atexit:
* CDR: Flush records.
* res_musiconhold: Kill external applications.
* AstDB: Close the DB.
* canary_exit: Kill canary process.
ASTERISK-24142 #close
Reported by: David Brillert
ASTERISK-24683 #close
Reported by: Peter Katzmann
ASTERISK-24805 #close
Reported by: Badalian Vyacheslav
ASTERISK-24881 #close
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/4500/
Review: https://reviewboard.asterisk.org/r/4501/
........
Merged revisions 433495 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433497 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433498
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Corey Farrell [Thu, 26 Mar 2015 17:47:42 +0000 (17:47 +0000)]
res_pjsip: Enable unload of all modules at shutdown.
* Move most of res_pjsip:module_unload to unload_pjsip to resolve crashes
caused by running PJSIP functions from non-PJSIP threads.
* Remove call to pjsip_endpt_destroy(ast_pjsip_endpoint), it was causing
crashes in some cases. In theory pj_shutdown() should take care of this.
* Mark res_pjsip_keepalive and res_pjsip_session as allowed to unload at
shutdown.
* Resolve leaked config global in res_pjsip_notify.
* Unregister pubsub pjsip service module.
* Implement cleanup for res_pjsip_session.
ASTERISK-24731 #close
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/4498/
........
Merged revisions 433469 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433470
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kevin Harwell [Thu, 26 Mar 2015 17:13:26 +0000 (17:13 +0000)]
app_confbridge: file playback blocks dtmf
Attempting to execute DTMF in a confbridge while file playback (prompt,
announcement, etc) is occurring is not allowed. You have to wait until
the sound file has completed before entering DTMF. This patch fixes it
so that app_confbridge now monitors for dtmf key presses during menu
driven file playback. If a key is pressed playback stops and it executes
the matched menu option.
ASTERISK-24864 #close
Reported by: Steve Pitts
Review: https://reviewboard.asterisk.org/r/4510/
........
Merged revisions 433445 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433446 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433447
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 25 Mar 2015 18:37:51 +0000 (18:37 +0000)]
A couple minor cleanup tweaks.
* In res/res_sorcery_realtime.c: Broke long line.
* In main/bucket.c: Eliminated unnecessary NULL check as
ast_sorcery_unref() is NULL tolerant and set the global object to NULL
after unref in the system shutdown bucket_cleanup().
........
Merged revisions 433420 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433421
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 25 Mar 2015 15:31:06 +0000 (15:31 +0000)]
res_xmpp: Buddies are always auto-registered when processing the roster
Due to a quirk in the configuration handling of res_xmpp, the 'autoregister'
setting was never actually processed. This was due to not properly copying
over the global settings to the client settings when applying the
configuration to the run-time object.
Review: https://reviewboard.asterisk.org/r/4496/
ASTERISK-14233
ASTERISK-24780 #close
Reported by: Simon Arlott
patches:
asterisk-13.1.0-24780 uploaded by Simon Arlott (License 5756)
........
Merged revisions 433395 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433396 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433397
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Wed, 25 Mar 2015 12:32:26 +0000 (12:32 +0000)]
dns: Add core DNS API + unit tests and res_resolver_unbound module + unit tests.
This change adds an abstracted core DNS API which resembles the API described
here[1]. The API provides a pluggable mechanism for resolvers and also a
consistent view for records. Both synchronous and asynchronous queries are
supported.
This change also adds a res_resolver_unbound module which uses the libunbound
library to provide resolution.
Unit tests have also been written for all of the above to confirm the API and
functionality.
ASTERISK-24834 #close
Reported by: Matt Jordan
ASTERISK-24836 #close
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/4474/
Review: https://reviewboard.asterisk.org/r/4512/
[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+DNS+API
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433370
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Tue, 24 Mar 2015 19:41:36 +0000 (19:41 +0000)]
chan_pjsip: Add "rpid_immediate" option to prevent unnecessary "180 Ringing" messages.
Incoming PJSIP call legs that have not been answered yet send unnecessary
"180 Ringing" or "183 Progress" messages every time a connected line
update happens. If the outgoing channel is also PJSIP then the incoming
channel will always send a "180 Ringing" or "183 Progress" message when
the outgoing channel sends the INVITE.
Consequences of these unnecessary messages:
* The caller can start hearing ringback before the far end even gets the
call.
* Many phones tend to grab the first connected line information and refuse
to update the display if it changes. The first information is not likely
to be correct if the call goes to an endpoint not under the control of the
first Asterisk box.
When connected line first went into Asterisk in v1.8, chan_sip received an
undocumented option "rpid_immediate" that defaults to disabled. When
enabled, the option immediately passes connected line update information
to the caller in "180 Ringing" or "183 Progress" messages as described
above.
* Added "rpid_immediate" option to prevent unnecessary "180 Ringing" or
"183 Progress" messages. The default is "no" to disable sending the
unnecessary messages.
ASTERISK-24781 #close
Reported by: Richard Mudgett
Review: https://reviewboard.asterisk.org/r/4473/
........
Merged revisions 433338 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433339
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Mon, 23 Mar 2015 00:05:48 +0000 (00:05 +0000)]
Fix compilations errors on 64-bit OpenBSD systems
In versiong 5.5, OpenBSD went to 64-bit time values. This requires a cast to
(long) when printing members of certain time structs.
Review: https://reviewboard.asterisk.org/r/4507
ASTERISK-24879 #close
Reported by: snuffy
Tested by: snuffy
patches:
openbsd-time64.diff uploaded by snuffy (License 5024)
........
Merged revisions 433268 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433269 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433270
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Sun, 22 Mar 2015 23:11:32 +0000 (23:11 +0000)]
Fix compilation issues for OpenBSD
This patch addresses compilation issues for OpenBSD. Specifically, it
addresses:
* It allows including <sys/vmmeter.h> in asterisk.c
* Provides a needed (size_t) cast in xmldoc.c
In 13+, it also addresses a conditional inclusion in loader.c.
Review: https://reviewboard.asterisk.org/r/4506
ASTERISK-24880 #close
Reported by: snuffy
Tested by: snuffy
patches:
misc-openbsd.diff uploaded by snuffy (License 5024)
........
Merged revisions 433245 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433247 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433248
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 20 Mar 2015 19:54:48 +0000 (19:54 +0000)]
Audit ast_pjsip_rdata_get_endpoint() usage for ref leaks.
Valgrind found some memory leaks associated with
ast_pjsip_rdata_get_endpoint(). The leaks would manifest when sending
responses to OPTIONS requests, processing MESSAGE requests, and
res_pjsip supplements implementing the incoming_request callback.
* Fix ast_pjsip_rdata_get_endpoint() endpoint ref leaks in
res/res_pjsip.c:supplement_on_rx_request(),
res/res_pjsip/pjsip_options.c:send_options_response(),
res/res_pjsip_messaging.c:rx_data_to_ast_msg(), and
res/res_pjsip_messaging.c:send_response().
* Eliminated RAII_VAR() use with ast_pjsip_rdata_get_endpoint() in
res/res_pjsip_nat.c:nat_on_rx_message().
* Fixed inconsistent but benign return value in
res/res_pjsip/pjsip_options.c:options_on_rx_request().
Review: https://reviewboard.asterisk.org/r/4511/
........
Merged revisions 433222 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433223
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Fri, 20 Mar 2015 18:27:22 +0000 (18:27 +0000)]
res_pjsip_sdp_rtp,sorcery: Fix invalid access and memory leak respectively.
Valgrind found a memory leak and invalid access.
* Fix invalid access by sscanf() being fed a non-nul terminated string of
digits in res/res_pjsip_sdp_rtp.c:get_codecs().
* Fix memory leak in main/sorcery.c:sorcery_object_field_destructor().
* Fix potential NULL pointer dereference in
main/xmldoc.c:xmldoc_get_syntax_config_option().
Review: https://reviewboard.asterisk.org/r/4513/
........
Merged revisions 433199 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433200
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 19 Mar 2015 19:20:21 +0000 (19:20 +0000)]
funcs/func_env: Fix regression caused in FILE read operation
When r432935 was merged, it did correctly fix a situation where a FILE read
operation on the middle of a file buffer would not read the requested length
in the parameters passed to the FILE function. Unfortunately, it would also
allow the FILE function to append more bytes than what was available in the
buffer if the length exceeded the end of the buffer length.
This patch takes the minimum of the remaining bytes in the buffer along with
the calculated length to append provided by the original patch, and uses
that as the length to append in the return result. This patch also updates
the unit tests with the scenarios that were originally pointed out in
ASTERISK-21765 that the original implementation treated incorrectly.
ASTERISK-21765
........
Merged revisions 433173 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433174 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433175
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kevin Harwell [Thu, 19 Mar 2015 15:27:56 +0000 (15:27 +0000)]
alemebic scripts: endpoint identifier order option
The script was added in 13, but when committed to trunk it caused a branch to
occur due to some trunk only alemebic changes. This fixes it so that the new
'add_pjsip_endpoint_identifier_order script points to the correct down revision.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433152
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Corey Farrell [Thu, 19 Mar 2015 10:21:42 +0000 (10:21 +0000)]
logger: Apply default console logging when configuration cannot be loaded.
When logger.conf is missing or invalid enable console logging and display
an error message.
ASTERISK-24817 #close
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/4497/
........
Merged revisions 433122 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 433126 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433130
65c4cc65-6c06-0410-ace0-
fbb531ad65f3