2 years agoMerge "bridge_softmix.c: Report not talking immediately when muted."
Joshua Colp [Fri, 2 Feb 2018 12:22:59 +0000 (06:22 -0600)]
Merge "bridge_softmix.c: Report not talking immediately when muted."

2 years agoMerge "app_confbridge: Update dsp_silence_threshold and dsp_talking_threshold docs."
Jenkins2 [Thu, 1 Feb 2018 17:36:00 +0000 (11:36 -0600)]
Merge "app_confbridge: Update dsp_silence_threshold and dsp_talking_threshold docs."

2 years agoMerge "res_pjsip_pubsub: Prune subs with reliable transports at startup"
George Joseph [Thu, 1 Feb 2018 17:26:49 +0000 (11:26 -0600)]
Merge "res_pjsip_pubsub: Prune subs with reliable transports at startup"

2 years agoMerge "res_pjsip_registrar_expire: Delete empty module."
Jenkins2 [Thu, 1 Feb 2018 16:41:20 +0000 (10:41 -0600)]
Merge "res_pjsip_registrar_expire: Delete empty module."

2 years agoMerge "BuildSystem: Raise autoconf version requirement to 2.60a."
Jenkins2 [Thu, 1 Feb 2018 16:30:21 +0000 (10:30 -0600)]
Merge "BuildSystem: Raise autoconf version requirement to 2.60a."

2 years agoMerge "res_pjsip_session: Prevent crash during shutdown."
Jenkins2 [Wed, 31 Jan 2018 23:11:57 +0000 (17:11 -0600)]
Merge "res_pjsip_session: Prevent crash during shutdown."

2 years agoMerge "core: Create ast_atomic macro's."
Jenkins2 [Wed, 31 Jan 2018 23:06:56 +0000 (17:06 -0600)]
Merge "core: Create ast_atomic macro's."

2 years agoMerge "app_voicemail: Avoid always true when using pointer address."
Jenkins2 [Wed, 31 Jan 2018 21:43:03 +0000 (15:43 -0600)]
Merge "app_voicemail: Avoid always true when using pointer address."

2 years agores_pjsip_registrar_expire: Delete empty module.
Corey Farrell [Wed, 31 Jan 2018 18:44:56 +0000 (13:44 -0500)]
res_pjsip_registrar_expire: Delete empty module.

Verified nothing in the testsuite lists this module as a dependency.

Change-Id: I90c7d52c7e15e85fde3389d5eaccb05b97848813

2 years agobridge_softmix.c: Report not talking immediately when muted.
Richard Mudgett [Wed, 31 Jan 2018 01:22:51 +0000 (19:22 -0600)]
bridge_softmix.c: Report not talking immediately when muted.

Currently in app_confbridge if someone mutes a channel while that channel
is talking, the talk detection code is suspended while the channel is
muted.  As far an an external observer is concerned, the muted channel's
talk status is still "talking" even though the channel is not contributing
audio to the conference bridge.  When the channel is later unmuted, it
takes the usual 'dsp_silence_threshold' option time to clear the talking
status even though the channel may have stopped talking while the channel
was muted.

* In bridge_softmix.c, clear the talking status and report talking stopped
if the channel was talking when the channel is muted.  When the channel is
unmuted and the channel is still talking then report the channel as
talking since it is contributing audio to the bridge again.


Change-Id: Ie4fdbc05a0bc7343c2972bab012e2567917b3d4e

2 years agoapp_confbridge: Update dsp_silence_threshold and dsp_talking_threshold docs.
Richard Mudgett [Tue, 30 Jan 2018 21:00:32 +0000 (15:00 -0600)]
app_confbridge: Update dsp_silence_threshold and dsp_talking_threshold docs.

The dsp_talking_threshold does not represent time in milliseconds.  It
represents the average magnitude per sample in the audio packets.  This is
what the DSP uses to determine if a packet is silence or talking/noise.

Change-Id: If6f939c100eb92a5ac6c21236559018eeaf58443

2 years agores_pjsip_registrar.c: Fix compiler error.
Richard Mudgett [Wed, 31 Jan 2018 17:00:52 +0000 (11:00 -0600)]
res_pjsip_registrar.c: Fix compiler error.

Need to include signal.h to define pthread_kill() and SIGURG.

Change-Id: I10ae3aa4bf8e7386ac29ade78c0f2caed8e674fa

2 years agoMerge "loader: Use ast_cli_completion_add for 'module load' completion."
Jenkins2 [Wed, 31 Jan 2018 13:48:21 +0000 (07:48 -0600)]
Merge "loader: Use ast_cli_completion_add for 'module load' completion."

2 years agoMerge "res_pjsip_registrar_expire: Refactor into res_pjsip_register"
Jenkins2 [Wed, 31 Jan 2018 13:28:24 +0000 (07:28 -0600)]
Merge "res_pjsip_registrar_expire:  Refactor into res_pjsip_register"

2 years agoMerge "pbx_variables.c: Misc fixes in variable substitution."
Jenkins2 [Wed, 31 Jan 2018 12:52:24 +0000 (06:52 -0600)]
Merge "pbx_variables.c: Misc fixes in variable substitution."

2 years agoMerge "install_prereq: Update RHEL/CentOS/Fedora libraries."
Jenkins2 [Wed, 31 Jan 2018 12:42:59 +0000 (06:42 -0600)]
Merge "install_prereq: Update RHEL/CentOS/Fedora libraries."

2 years agores_pjsip_session: Prevent crash during shutdown.
Corey Farrell [Wed, 31 Jan 2018 05:05:15 +0000 (00:05 -0500)]
res_pjsip_session: Prevent crash during shutdown.

pjproject does not have a function to reverse pjsip_inv_usage_init.
This means we need to ignore any calls to the functions once shutdown is

ASTERISK-27571 #close

Change-Id: Ia550fcba563e2328f03162d79fb185f16b7c9b9d

2 years agocore: Create ast_atomic macro's.
Corey Farrell [Sat, 27 Jan 2018 19:03:57 +0000 (14:03 -0500)]
core: Create ast_atomic macro's.

Create ast_atomic macro's to provide a consistent interface to the
common functionality of __atomic and __sync built-in functions.


Change-Id: Ieba3f81832a0e25c5725ea067e5d6f742d33eb5b

2 years agores_pjsip_pubsub: Prune subs with reliable transports at startup
George Joseph [Sun, 28 Jan 2018 16:10:00 +0000 (09:10 -0700)]
res_pjsip_pubsub: Prune subs with reliable transports at startup

In an earlier release, inbound registrations on a reliable transport
were pruned on Asterisk restart since the TCP connection would have
been torn down and become unusable when Asterisk stopped.  This same
process is now also applied to inbound subscriptions.

Also fixed issues in res_pjsip_registrar where it wasn't handling the
monitoring correctly when multiple registrations came in over the same

To accomplish this, the pjsip_transport_event feature needed to
be refactored to allow multiple monitors (multiple subcriptions or
registrations from the same endpoint) to exist on the same transport.
Since this changed the API, any external modules that may have used the
transport monitor feature (highly unlikey) will need to be changed.

Reported by: Ross Beer

Change-Id: Iee87cf4eb9b7b2b93d5739a72af52d6ca8fbbe36

2 years agoMerge "Build System: Require __sync or __atomic functions."
Jenkins2 [Tue, 30 Jan 2018 12:56:08 +0000 (06:56 -0600)]
Merge "Build System: Require __sync or __atomic functions."

2 years agoMerge "Sample modules.conf: comment out example load statement."
Jenkins2 [Tue, 30 Jan 2018 12:54:32 +0000 (06:54 -0600)]
Merge "Sample modules.conf: comment out example load statement."

2 years agoMerge "Build System: Add support for __atomic built-in operators."
Jenkins2 [Tue, 30 Jan 2018 12:54:00 +0000 (06:54 -0600)]
Merge "Build System: Add support for __atomic built-in operators."

2 years agores_pjsip_registrar_expire: Refactor into res_pjsip_register
George Joseph [Mon, 29 Jan 2018 19:46:36 +0000 (12:46 -0700)]
res_pjsip_registrar_expire:  Refactor into res_pjsip_register

res_pjsip_registrar_expire remains as an empty module for now.

Change-Id: Ib93698938bae548d2199cb542f3692d1a171239f

2 years agoSample modules.conf: comment out example load statement.
Corey Farrell [Mon, 29 Jan 2018 13:51:55 +0000 (08:51 -0500)]
Sample modules.conf: comment out example load statement.

The sample modules.conf explicitly loaded  This is
redundent as autoload=yes is already set.  It causes warnings if was not installed and results in an unexpected load
if the admin disables autoload without remembering to remove the
res_musiconhold load statement.

Also remove reference to unknown module pbx_gtkconsole.

Change-Id: Ib01888994d9f1364b14d3c9fb6ff96774a6e580a

2 years agoMerge "Remove redundant module checks and references."
Jenkins2 [Mon, 29 Jan 2018 18:39:34 +0000 (12:39 -0600)]
Merge "Remove redundant module checks and references."

2 years agoMerge "Update sounds release to fix siren7 and siren14 files."
Jenkins2 [Mon, 29 Jan 2018 17:45:56 +0000 (11:45 -0600)]
Merge "Update sounds release to fix siren7 and siren14 files."

2 years agoMerge "core: Fix unused variable error in handle_show_sysinfo."
Jenkins2 [Mon, 29 Jan 2018 17:45:27 +0000 (11:45 -0600)]
Merge "core: Fix unused variable error in handle_show_sysinfo."

2 years agoMerge "core: Tweak startup order."
Jenkins2 [Mon, 29 Jan 2018 16:49:58 +0000 (10:49 -0600)]
Merge "core: Tweak startup order."

2 years agoMerge "editline: Avoid shifting a negative signed value."
Jenkins2 [Mon, 29 Jan 2018 16:44:44 +0000 (10:44 -0600)]
Merge "editline: Avoid shifting a negative signed value."

2 years agoMerge "headers: Consistent use of typeof and/or __typeof__."
Jenkins2 [Mon, 29 Jan 2018 16:07:33 +0000 (10:07 -0600)]
Merge "headers: Consistent use of typeof and/or __typeof__."

2 years agoapp_voicemail: Avoid always true when using pointer address.
Alexander Traud [Mon, 29 Jan 2018 16:00:52 +0000 (17:00 +0100)]
app_voicemail: Avoid always true when using pointer address.

clang 4.0 warned about this.


Change-Id: I213f230607d7fbe97c0f5f2d60da9cbf5a2d8231

2 years agoMerge "loader: Correct overly strict startup checks."
George Joseph [Mon, 29 Jan 2018 15:49:15 +0000 (09:49 -0600)]
Merge "loader: Correct overly strict startup checks."

2 years agoMerge "BuildSystem: Remove unused variables."
Jenkins2 [Mon, 29 Jan 2018 15:39:56 +0000 (09:39 -0600)]
Merge "BuildSystem: Remove unused variables."

2 years agoMerge "install_prereq: Download latest Jansson."
Jenkins2 [Mon, 29 Jan 2018 15:28:04 +0000 (09:28 -0600)]
Merge "install_prereq: Download latest Jansson."

2 years agoinstall_prereq: Update RHEL/CentOS/Fedora libraries.
Alexander Traud [Fri, 19 Jan 2018 11:13:58 +0000 (12:13 +0100)]
install_prereq: Update RHEL/CentOS/Fedora libraries.

 automake git ncurses-devel pjproject-devel sqlite2-devel libsqlite3x-devel

 radiusclient-ng-devel to radcli-devel
 gmime22-devel to gmime-dev

 alsa-lib-devel bash binutils-devel bison doxygen flex hoard make pkgconfig
 speexdsp-devel uriparser-devel uw-imap-devel wget xmlstarlet zlib-devel
 codec2-devel fftw-devel libsndfile-devel unbound-devel

Reported by: Said Masoud

Change-Id: I05bb0af98ae532b2d5f37478e38b8f0762b1c035

2 years agoBuildSystem: Remove unused variables.
Alexander Traud [Sun, 28 Jan 2018 11:20:26 +0000 (12:20 +0100)]
BuildSystem: Remove unused variables.

Because of a copy-and-paste from the script build_tools/download_externals,
the script build_tools/list_valid_installed_externals got its local variables.
However in the latter, three variables were not used actually.

Change-Id: I252de5a98c17ea54459174875357c22c2eebe8d5

2 years agoloader: Use ast_cli_completion_add for 'module load' completion.
Corey Farrell [Thu, 25 Jan 2018 18:06:12 +0000 (13:06 -0500)]
loader: Use ast_cli_completion_add for 'module load' completion.

This addresses all performance issues with 'module load' completion.  In
addition to using ast_cli_completion_add we stop using libedit's
filename_completion_function, instead using ast_file_read_dir.  This
ensures all results are produced from a single call to opendir.

Change-Id: I8bf51ffaa7ef1606f3bd1b5bb13f1905d72c6134

2 years agocore: Fix unused variable error in handle_show_sysinfo.
Alexander Traud [Sat, 27 Jan 2018 15:44:21 +0000 (16:44 +0100)]
core: Fix unused variable error in handle_show_sysinfo.

The previous fix broke the case
which occurs on FreeBSD 11.1 for example.


Change-Id: If77c39bc75f0b83a6c8a24ecb2fa69be8846160a

2 years agoeditline: Avoid shifting a negative signed value.
Alexander Traud [Sat, 27 Jan 2018 14:54:24 +0000 (15:54 +0100)]
editline: Avoid shifting a negative signed value.

clang 4.0 warned about this.


Change-Id: Ie2725048c661c1792d8b1d498575144350b6e9ba

2 years agoheaders: Consistent use of typeof and/or __typeof__.
Alexander Traud [Sat, 27 Jan 2018 09:25:11 +0000 (10:25 +0100)]
headers: Consistent use of typeof and/or __typeof__.

Because of a copy-and-paste error, the Asterisk project was using __typeof
instead of typeof. It works because typeof, __typeof, and __typeof__ are
supported by GCC, but here the escaped variant was not intended. Therefore,
for consistence, we change this to typeof.

Change-Id: I2a962c3e596e882f691a19345445b14571a5f07c

2 years agoMerge "Add missing OPTIONAL_API and ARI dependences."
Jenkins2 [Fri, 26 Jan 2018 23:40:56 +0000 (17:40 -0600)]
Merge "Add missing OPTIONAL_API and ARI dependences."

2 years agoUpdate sounds release to fix siren7 and siren14 files.
Richard Mudgett [Thu, 25 Jan 2018 00:25:04 +0000 (18:25 -0600)]
Update sounds release to fix siren7 and siren14 files.


Change-Id: I2fb564258cd4db0f35952ad48b8687355c2dcad3

2 years agoBuildSystem: Raise autoconf version requirement to 2.60a.
Alexander Traud [Mon, 15 Jan 2018 17:08:24 +0000 (18:08 +0100)]
BuildSystem: Raise autoconf version requirement to 2.60a.

AC_COMPUTE_INT requires at least autoconf 2.60a.

This affects only those who contribute to Asterisk, only those who had to use
the script ./ Furthermore, this change just makes sure nobody is
using a too old autoconf.


Change-Id: Ibca850e2fe0e77d935207bd959bacf7197d7f637

2 years agoinstall_prereq: Download latest Jansson.
Alexander Traud [Fri, 26 Jan 2018 12:48:29 +0000 (13:48 +0100)]
install_prereq: Download latest Jansson.


Change-Id: I65c587534c0ae364f063d68da1bed40bb3d5e8aa

2 years agocore: Tweak startup order.
Corey Farrell [Mon, 1 Jan 2018 21:59:57 +0000 (16:59 -0500)]
core: Tweak startup order.

Move initialization of units which do not require configuration to occur
before preload modules.  This leaves only units which load config between
module preload and regular load stages.

Change-Id: I1d15384acad16a22c3498124421af474fa517478

2 years agoBuild System: Require __sync or __atomic functions.
Corey Farrell [Thu, 25 Jan 2018 07:37:32 +0000 (02:37 -0500)]
Build System: Require __sync or __atomic functions.

This change causes the configure script to throw an error if neither
__sync nor __atomic builtin functions are available.


Change-Id: Ie01a281e0f5c41dfeeb5f250c1ccea8752f56ef9

2 years agoMerge "CHANGES: Add AMI action 'PJSIPShowContacts' note."
Jenkins2 [Thu, 25 Jan 2018 13:56:31 +0000 (07:56 -0600)]
Merge "CHANGES: Add AMI action 'PJSIPShowContacts' note."

2 years agoMerge "install_prereq: For PJProject, point users to configure script."
Jenkins2 [Thu, 25 Jan 2018 13:46:31 +0000 (07:46 -0600)]
Merge "install_prereq: For PJProject, point users to configure script."

2 years agoloader: Correct overly strict startup checks.
Corey Farrell [Thu, 25 Jan 2018 04:44:09 +0000 (23:44 -0500)]
loader: Correct overly strict startup checks.

The code which handled loading modules had too many situations which
would result in halting Asterisk startup.  Treat most errors as declines
instead of failures.  The exception is when the module load function
returns AST_MODULE_LOAD_FAILURE or an invalid code.

Clear the missingdeps vector when appropriate to ensure the next loop
starts clean.


Change-Id: I45547d9641fd45bd86d80250224417625631ad84

2 years agoBuild System: Add support for __atomic built-in operators.
Corey Farrell [Thu, 25 Jan 2018 00:49:02 +0000 (19:49 -0500)]
Build System: Add support for __atomic built-in operators.

Add a check to for __atomic_fetch_add support.  If found
use the __atomic built-in operators for ast_atomic_dec_and_test and


Change-Id: I65b4feb02bae368904ed0fb03f585c05f50a690e

2 years agoRemove redundant module checks and references.
Corey Farrell [Fri, 29 Dec 2017 08:57:17 +0000 (03:57 -0500)]
Remove redundant module checks and references.

This removes references that are no longer needed due to automatic
references created by module dependencies.

In addition this removes most calls to ast_module_check as they were
checking modules which are listed as dependencies.

Change-Id: I332a6e8383d4c72c8e89d988a184ab8320c4872e

2 years agoCHANGES: Add AMI action 'PJSIPShowContacts' note.
Richard Mudgett [Wed, 24 Jan 2018 16:30:19 +0000 (10:30 -0600)]
CHANGES: Add AMI action 'PJSIPShowContacts' note.


Change-Id: If6af275764741a11030f0a4fd324fa29b376d74e

2 years agoMerge "res_pjsip: Add AMI action 'PJSIPShowContacts'"
Jenkins2 [Wed, 24 Jan 2018 13:56:50 +0000 (07:56 -0600)]
Merge "res_pjsip: Add AMI action 'PJSIPShowContacts'"

2 years agoMerge "install_prereq: Support package manager DNF and yum option strict=1."
Jenkins2 [Wed, 24 Jan 2018 13:48:58 +0000 (07:48 -0600)]
Merge "install_prereq: Support package manager DNF and yum option strict=1."

2 years agoMerge "res_config_mysql: Avoid the header mysql_version.h."
Jenkins2 [Tue, 23 Jan 2018 18:23:43 +0000 (12:23 -0600)]
Merge "res_config_mysql: Avoid the header mysql_version.h."

2 years agoMerge "install_prereq: Update Debian/Ubuntu libraries."
Jenkins2 [Tue, 23 Jan 2018 15:58:52 +0000 (09:58 -0600)]
Merge "install_prereq: Update Debian/Ubuntu libraries."

2 years agores_pjsip: Add AMI action 'PJSIPShowContacts'
Sungtae Kim [Sun, 14 Jan 2018 18:33:15 +0000 (19:33 +0100)]
res_pjsip: Add AMI action 'PJSIPShowContacts'

Add an AMI action which provides information on all
configured Contacts.


Change-Id: I2eed42c74bbc725fad26b8b33b1a5b3161950c73

2 years agoMerge "chan_unistim: Fix hold function ability to lock/crash asterisk"
Jenkins2 [Mon, 22 Jan 2018 22:41:43 +0000 (16:41 -0600)]
Merge "chan_unistim: Fix hold function ability to lock/crash asterisk"

2 years agoMerge "loader: Add support for built-in modules."
Jenkins2 [Mon, 22 Jan 2018 22:35:09 +0000 (16:35 -0600)]
Merge "loader: Add support for built-in modules."

2 years agoMerge "loader: Rework load_resource_list."
Jenkins2 [Mon, 22 Jan 2018 22:31:29 +0000 (16:31 -0600)]
Merge "loader: Rework load_resource_list."

2 years agopbx_variables.c: Misc fixes in variable substitution.
Richard Mudgett [Fri, 19 Jan 2018 02:19:00 +0000 (20:19 -0600)]
pbx_variables.c: Misc fixes in variable substitution.

* Copy more than one character at a time when there is nothing to

* Fix off by one error if a '}' or ']' is missing.

* Eliminated the requirement that the "used" parameter had to point to a
variable.  The current callers were always declaring a variable to meet
the requirement and discarding the value put into that variable.  Now it
can be NULL.

* In ast_str_substitute_variables_full() fixed using the bogus channel to
evaluate a function.  We were not using the bogus channel we just created
to help evaluate a subexpression.

Change-Id: Ia83d99f4f16abe47f329eb39b6ff2013ae7c9854

2 years agoAdd missing OPTIONAL_API and ARI dependences.
Corey Farrell [Thu, 18 Jan 2018 15:01:26 +0000 (10:01 -0500)]
Add missing OPTIONAL_API and ARI dependences.

I've audited all modules that include any header which includes
asterisk/optional_api.h.  All modules which use OPTIONAL_API now declare
those dependencies in AST_MODULE_INFO using requires or optional_modules
as appropriate.

In addition ARI dependency declarations have been reworked.  Instead of
declaring additional required modules in res/ari/resource_*.c we now add
them to an optional array "requiresModules" in api-docs for each module.
This allows the AST_MODULE_INFO dependencies to include those missing

Change-Id: Ia0c70571f5566784f63605e78e1ceccb4f79c606

2 years agoMerge "loader: Remove global symbol only startup phase."
Joshua Colp [Mon, 22 Jan 2018 16:33:18 +0000 (10:33 -0600)]
Merge "loader: Remove global symbol only startup phase."

2 years agoMerge "loader: Process module dependencies."
Jenkins2 [Mon, 22 Jan 2018 16:16:29 +0000 (10:16 -0600)]
Merge "loader: Process module dependencies."

2 years agoMerge "pbx: Reduce verbosity while loading extensions"
Jenkins2 [Mon, 22 Jan 2018 15:39:22 +0000 (09:39 -0600)]
Merge "pbx: Reduce verbosity while loading extensions"

2 years agores_config_mysql: Avoid the header mysql_version.h.
Alexander Traud [Mon, 22 Jan 2018 15:18:51 +0000 (16:18 +0100)]
res_config_mysql: Avoid the header mysql_version.h.


Change-Id: I23d00ded955c4afd5f2c3c9dc96dcb48b3f74eec

2 years agoMerge "BuildSystem: Allow make clean all again."
Jenkins2 [Mon, 22 Jan 2018 15:13:29 +0000 (09:13 -0600)]
Merge "BuildSystem: Allow make clean all again."

2 years agoinstall_prereq: For PJProject, point users to configure script.
Alexander Traud [Fri, 5 Jan 2018 20:46:51 +0000 (21:46 +0100)]
install_prereq: For PJProject, point users to configure script.

The installation script and the new configure option --with-pjproject-bundled
aimed to accomplish the same. However, the installation script was out of
date. Users should go for the maintained configure option, or the Wiki.


Change-Id: Icbf4b562f81f7c05bd24a3805bd46c0beb4ebd44

2 years agoMerge "BuildSystem: Remove orphaned .PHONY targets."
Jenkins2 [Mon, 22 Jan 2018 14:44:05 +0000 (08:44 -0600)]
Merge "BuildSystem: Remove orphaned .PHONY targets."

2 years agoMerge "res_pjsip: Document tlsv1_1 and tlsv1_2 methods"
Jenkins2 [Mon, 22 Jan 2018 14:35:13 +0000 (08:35 -0600)]
Merge "res_pjsip: Document tlsv1_1 and tlsv1_2 methods"

2 years agoBuildSystem: Remove AC_CONFIG_AUX_DIR.
Alexander Traud [Sat, 20 Jan 2018 18:58:35 +0000 (19:58 +0100)]
BuildSystem: Remove AC_CONFIG_AUX_DIR.


Change-Id: I9f4d3d2bc1481748e39ad1e2b0a364d38e38978b

2 years agoMerge "BuildSystem: Detect external library Lua in version 5.3."
Jenkins2 [Sat, 20 Jan 2018 07:24:24 +0000 (01:24 -0600)]
Merge "BuildSystem: Detect external library Lua in version 5.3."

2 years agoBuildSystem: Remove orphaned .PHONY targets.
Alexander Traud [Fri, 19 Jan 2018 18:21:19 +0000 (19:21 +0100)]
BuildSystem: Remove orphaned .PHONY targets.

Change-Id: Ic44d75141b9bf99e7d72fcc82ee111b5cf6989d2

2 years agoBuildSystem: Allow make clean all again.
Alexander Traud [Fri, 19 Jan 2018 18:14:53 +0000 (19:14 +0100)]
BuildSystem: Allow make clean all again.

Reported by: Hamid R. Hashmi

Change-Id: I683d14d024650be04074b037b6300464519409f4

2 years agoinstall_prereq: Update Debian/Ubuntu libraries.
Alexander Traud [Fri, 19 Jan 2018 12:16:36 +0000 (13:16 +0100)]
install_prereq: Update Debian/Ubuntu libraries.


Change-Id: Ieb41b0cbf968af12882b39454b819ebb48b9ea46

2 years agoinstall_prereq: Support package manager DNF and yum option strict=1.
Alexander Traud [Fri, 19 Jan 2018 10:46:21 +0000 (11:46 +0100)]
install_prereq: Support package manager DNF and yum option strict=1.

This re-enables the script ./contrib/scripts/install_prereq on Fedora 22 and
newer, and on RHEL/CentOS when the option strict=1 was set for yum install.

Reported by: Hunter Stevens, Said Masoud

Change-Id: I40f9517122aaa6906e8fc0962b4b8008dfddb368

2 years agopbx: Reduce verbosity while loading extensions
krells [Tue, 9 Jan 2018 17:29:48 +0000 (18:29 +0100)]
pbx: Reduce verbosity while loading extensions

Each time the dial plan is reloaded, a lot of logs like these are generated:
"Added extension 'XXXXX' priority 1 to YYYYYYYYYYY"
This patch changes the log level for those logs.


Change-Id: I5662902161c50890997ddc56835d4cafb456c529

2 years agoMerge "BuildSystem: Avoid $EUID and use id -u instead."
Jenkins2 [Fri, 19 Jan 2018 01:31:20 +0000 (19:31 -0600)]
Merge "BuildSystem: Avoid $EUID and use id -u instead."

2 years agoMerge "loader: Miscellaneous fixes."
Jenkins2 [Fri, 19 Jan 2018 01:18:01 +0000 (19:18 -0600)]
Merge "loader: Miscellaneous fixes."

2 years agoMerge "cel_odbc.c: Fix menuslect module description display."
Jenkins2 [Thu, 18 Jan 2018 21:55:17 +0000 (15:55 -0600)]
Merge "cel_odbc.c: Fix menuslect module description display."

2 years agores_pjsip: Document tlsv1_1 and tlsv1_2 methods
Sean Bright [Thu, 18 Jan 2018 20:55:20 +0000 (15:55 -0500)]
res_pjsip: Document tlsv1_1 and tlsv1_2 methods

Change-Id: I67ed9039bf3f132fb20ee7a750e0aef0f704d7d3

2 years agoMerge "BuildSystem: Use the detected name for MD5 everywhere."
Jenkins2 [Thu, 18 Jan 2018 16:17:49 +0000 (10:17 -0600)]
Merge "BuildSystem: Use the detected name for MD5 everywhere."

2 years agoMerge "BuildSystem: Invoke install not in GNU but POSIX style."
Jenkins2 [Thu, 18 Jan 2018 16:02:53 +0000 (10:02 -0600)]
Merge "BuildSystem: Invoke install not in GNU but POSIX style."

2 years agoMerge "BuildSystem: In OpenBSD, xmlstarlet is xml."
Jenkins2 [Thu, 18 Jan 2018 15:26:50 +0000 (09:26 -0600)]
Merge "BuildSystem: In OpenBSD, xmlstarlet is xml."

2 years agoMerge "app_followme: Add a prompt to be read when a call is connected"
Jenkins2 [Thu, 18 Jan 2018 15:16:38 +0000 (09:16 -0600)]
Merge "app_followme:  Add a prompt to be read when a call is connected"

2 years agochan_unistim: Fix hold function ability to lock/crash asterisk
Igor Goncharovsky [Tue, 9 Jan 2018 05:50:11 +0000 (08:50 +0300)]
chan_unistim: Fix hold function ability to lock/crash asterisk

This patch fix chan_unistim hold functions to correctly support
hold function in different states possible in case of multiple lines
established on the phone

ASTERISK-26596 #close

Change-Id: Ib1e04e482e7c8939607a42d7fddacc07e26e14d4

2 years agoloader: Add support for built-in modules.
Corey Farrell [Mon, 30 Oct 2017 03:00:52 +0000 (23:00 -0400)]
loader: Add support for built-in modules.

* Add SRC_EMBEDDED variable to main/Makefile.  Built-in module sources
  must be listed in this variable to ensure they get the correct CFLAGS.

Change-Id: I920852bc17513a9c2627061a4ad40511e3a20499

2 years agoloader: Rework load_resource_list.
Corey Farrell [Sat, 9 Dec 2017 06:03:15 +0000 (01:03 -0500)]
loader: Rework load_resource_list.

Use a single loop in a loop to scan the resource list attempting to
dlopen each module.  The inner loop is repeated until it doesn't do any
work, then it is run one more time to allow printing of error messages.

Change-Id: I60c15cd57ff9680b62e2a94c7519401fa4a38e45

2 years agoloader: Remove global symbol only startup phase.
Corey Farrell [Sat, 9 Dec 2017 05:30:43 +0000 (00:30 -0500)]
loader: Remove global symbol only startup phase.

Dependency loader is now in place so we no longer need a separate loader
phase for global symbols only.  This simplifies the loader and allows us
to minimize calls to dlopen.

Change-Id: I33e3174d67f3b4552d3d536326dcaf0ebabb097d

2 years agoloader: Process module dependencies.
Corey Farrell [Wed, 22 Nov 2017 05:39:33 +0000 (00:39 -0500)]
loader: Process module dependencies.

* Add string vectors for requires, optional_apis and enhances.
* Add reffed_deps module vector for holding references to dependencies.
* Initialize string vectors after final dlopen of each module.
* Free string vectors and clear references from reffed_deps in
* Create functions necessary to process module dependencies and enforce
  load order.

Module dependencies result in automatic references being managed by the
module loader.  This enforces unload order.

Change-Id: I9be08d1dd331aceadc1dcba00b804d71360b2fbb

2 years agoMerge "pjproject_bundled: Prevent crash on bad outgoing header"
Jenkins2 [Wed, 17 Jan 2018 18:33:20 +0000 (12:33 -0600)]
Merge "pjproject_bundled:  Prevent crash on bad outgoing header"

2 years agoapp_followme: Add a prompt to be read when a call is connected
ghjm [Wed, 27 Dec 2017 23:44:31 +0000 (18:44 -0500)]
app_followme:  Add a prompt to be read when a call is connected

This patch adds the ability to configure a prompt which will be read
to the "winner" who pressed 1 (or the configured value) and received
the call.

ASTERISK-24372 #close

Change-Id: I6ec1c6c883347f7d1e1f597189544993c8d65272

2 years agoMerge "res_pjsip: Split type=identify to IP address and SIP header matching priorities"
Jenkins2 [Wed, 17 Jan 2018 17:42:03 +0000 (11:42 -0600)]
Merge "res_pjsip: Split type=identify to IP address and SIP header matching priorities"

2 years agoloader: Miscellaneous fixes.
Corey Farrell [Wed, 17 Jan 2018 06:28:57 +0000 (01:28 -0500)]
loader: Miscellaneous fixes.

* Remove comment about lazy load.
* Improve message about module already being loaded and running.
* Handle allocation error in add_to_load_order.
* Dead code elimination from modules_shutdown.

Change-Id: I22261599c46d0f416e568910ec9502f45143197f

2 years agoBuildSystem: Use the detected name for MD5 everywhere.
Alexander Traud [Wed, 17 Jan 2018 14:36:14 +0000 (15:36 +0100)]
BuildSystem: Use the detected name for MD5 everywhere.

Affacted the (automatic) download script for external modules:


Change-Id: If4c3176f7bf58df32fec6e02a659f1a78d57cf4b

2 years agoBuildSystem: Invoke install not in GNU but POSIX style.
Alexander Traud [Wed, 17 Jan 2018 13:11:24 +0000 (14:11 +0100)]
BuildSystem: Invoke install not in GNU but POSIX style.


Change-Id: Iaaa6a19d2fe031dffcba441d0502a7ea65c93cb3

2 years agoBuildSystem: In OpenBSD, xmlstarlet is xml.
Alexander Traud [Wed, 17 Jan 2018 12:47:45 +0000 (13:47 +0100)]
BuildSystem: In OpenBSD, xmlstarlet is xml.


Change-Id: I1c7087f7f7582e40b3312c690d912c9a86466805

2 years agoBuildSystem: Detect external library Lua in version 5.3.
Alexander Traud [Wed, 17 Jan 2018 08:51:29 +0000 (09:51 +0100)]
BuildSystem: Detect external library Lua in version 5.3.

On some platforms, you decide to go for one specific version of Lua, for
example in OpenBSD. On other platforms, you are able to install several versions
side-by-side, for example in Ubuntu and Fedora. Asterisk already works with
Lua 5.3. Asterisk failed to detect Lua 5.3 on those platforms which allow
several versions.


Change-Id: If7a4b395d844a464e9a1f4f626c5bff4ee67eed8

2 years agores_pjsip: Split type=identify to IP address and SIP header matching priorities
Richard Mudgett [Sat, 23 Dec 2017 01:50:34 +0000 (19:50 -0600)]
res_pjsip: Split type=identify to IP address and SIP header matching priorities

The type=identify endpoint identification method can match by IP address
and by SIP header.  However, the SIP header matching has limited
usefulness because you cannot specify the SIP header matching priority
relative to the IP address matching.  All the matching happens at the same
priority and the order of evaluating the identify sections is
indeterminate.  e.g., If you had two type=identify sections where one
matches by IP address for endpoint alice and the other matches by SIP
header for endpoint bob then you couldn't predict which endpoint is
matched when a request comes in that matches both.

* Extract the SIP header matching criteria into its own "header" endpoint
identification method so the user can specify the relative priority of the
SIP header and the IP address matching criteria in the global
endpoint_identifier_order option.  The "ip" endpoint identification method
now only matches by IP address.


Change-Id: I9df142a575b7e1e3471b7cda5d3ea156cef08095

2 years agotaskprocessor.c: Increase the number of tps_singletons container buckets.
Richard Mudgett [Tue, 16 Jan 2018 14:32:20 +0000 (08:32 -0600)]
taskprocessor.c: Increase the number of tps_singletons container buckets.

Since v12 the number of taskprocessors in the system has increased a lot.
Small systems can easily have over a hundred and larger systems can have

Most uses of the tps_singletons container deal with creating and
destroying the taskprocessors.  However, the pjsip distributor looks up
taskprocessors/serializers by name frequently.  It needs to find the
serializer for incoming SIP responses to distribute them to the
appropriate serializer.

Change-Id: Ice0603606614ba49f7c0c316c524735c064e7e43