asterisk/asterisk.git
20 months agores_pjsip_mwi.c: Fix null pointer crash
Joshua Elson [Thu, 1 Feb 2018 19:01:25 +0000 (14:01 -0500)]
res_pjsip_mwi.c: Fix null pointer crash

ASTERISK-27652 #close

Change-Id: I78a0d38bfd8d0d82830f3d53da04872d6b67284d

20 months 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."

20 months 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"

20 months 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."

20 months 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."

20 months 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."

20 months 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."

20 months 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."

20 months 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

20 months 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

20 months 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

20 months 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."

20 months 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"

20 months 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."

20 months 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."

20 months 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
final.

ASTERISK-27571 #close

Change-Id: Ia550fcba563e2328f03162d79fb185f16b7c9b9d

20 months 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.

ASTERISK-27619

Change-Id: Ieba3f81832a0e25c5725ea067e5d6f742d33eb5b

20 months 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
transport.

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.

ASTERISK-27612
Reported by: Ross Beer

Change-Id: Iee87cf4eb9b7b2b93d5739a72af52d6ca8fbbe36

20 months 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."

20 months 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."

20 months 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."

20 months 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

20 months 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 res_musiconhold.so.  This is
redundent as autoload=yes is already set.  It causes warnings if
res_musiconhold.so 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

20 months 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."

20 months 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."

20 months 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."

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

20 months 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."

20 months 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__."

20 months 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.

ASTERISK-27635

Change-Id: I213f230607d7fbe97c0f5f2d60da9cbf5a2d8231

20 months 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."

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

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

20 months 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.

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

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

added
 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

ASTERISK-27599
Reported by: Said Masoud

Change-Id: I05bb0af98ae532b2d5f37478e38b8f0762b1c035

20 months 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

20 months 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

20 months 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
HAVE_SYSINFO = no
HAVE_SYSCTL = yes
HAVE_SWAPCTL = no
which occurs on FreeBSD 11.1 for example.

ASTERISK-26563

Change-Id: If77c39bc75f0b83a6c8a24ecb2fa69be8846160a

20 months 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.

ASTERISK-27630

Change-Id: Ie2725048c661c1792d8b1d498575144350b6e9ba

20 months 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

20 months 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."

20 months 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.

ASTERISK-16172

Change-Id: I2fb564258cd4db0f35952ad48b8687355c2dcad3

20 months 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 ./bootstrap.sh. Furthermore, this change just makes sure nobody is
using a too old autoconf.

ASTERISK-16951

Change-Id: Ibca850e2fe0e77d935207bd959bacf7197d7f637

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

ASTERISK-27603

Change-Id: I65c587534c0ae364f063d68da1bed40bb3d5e8aa

20 months 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

20 months 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.

ASTERISK-27619

Change-Id: Ie01a281e0f5c41dfeeb5f250c1ccea8752f56ef9

20 months 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."

20 months 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."

20 months 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.

ASTERISK-27620

Change-Id: I45547d9641fd45bd86d80250224417625631ad84

20 months 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 configure.ac for __atomic_fetch_add support.  If found
use the __atomic built-in operators for ast_atomic_dec_and_test and
ast_atomic_fetchadd_int.

ASTERISK~27619

Change-Id: I65b4feb02bae368904ed0fb03f585c05f50a690e

20 months 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

20 months 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.

ASTERISK-27581

Change-Id: If6af275764741a11030f0a4fd324fa29b376d74e

20 months 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'"

20 months 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."

20 months 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."

20 months 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."

20 months 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.

ASTERISK-27581

Change-Id: I2eed42c74bbc725fad26b8b33b1a5b3161950c73

20 months 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"

20 months 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."

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

20 months 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
substitute.

* 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

20 months 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
modules.

Change-Id: Ia0c70571f5566784f63605e78e1ceccb4f79c606

20 months 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."

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

20 months 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"

20 months 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.

ASTERISK-27607

Change-Id: I23d00ded955c4afd5f2c3c9dc96dcb48b3f74eec

20 months 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."

20 months 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.

ASTERISK-24598

Change-Id: Icbf4b562f81f7c05bd24a3805bd46c0beb4ebd44

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

20 months 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"

20 months 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.

ASTERISK-27602

Change-Id: I9f4d3d2bc1481748e39ad1e2b0a364d38e38978b

20 months 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."

20 months 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

20 months 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.

ASTERISK-27600
Reported by: Hamid R. Hashmi

Change-Id: I683d14d024650be04074b037b6300464519409f4

21 months 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.

ASTERISK-27555

Change-Id: Ieb41b0cbf968af12882b39454b819ebb48b9ea46

21 months 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.

ASTERISK-27598
Reported by: Hunter Stevens, Said Masoud

Change-Id: I40f9517122aaa6906e8fc0962b4b8008dfddb368

21 months 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.

ASTERISK-27084

Change-Id: I5662902161c50890997ddc56835d4cafb456c529

21 months 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."

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

21 months 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."

21 months 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

21 months 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."

21 months 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."

21 months 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."

21 months 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"

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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
  module_destroy.
* 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

21 months 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"

21 months 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

21 months 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"

21 months 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

21 months 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:
./build_tools/download_externals

ASTERISK-27596

Change-Id: If4c3176f7bf58df32fec6e02a659f1a78d57cf4b

21 months 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.

ASTERISK-27594

Change-Id: Iaaa6a19d2fe031dffcba441d0502a7ea65c93cb3

21 months 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.

ASTERISK-27593

Change-Id: I1c7087f7f7582e40b3312c690d912c9a86466805

21 months 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.

ASTERISK-27592

Change-Id: If7a4b395d844a464e9a1f4f626c5bff4ee67eed8

21 months 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.

ASTERISK-27491

Change-Id: I9df142a575b7e1e3471b7cda5d3ea156cef08095

21 months 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
thousands.

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

21 months agoMerge "BuildSystem: Resolve resolv.h not via Generic but Particular Header-Check."
Jenkins2 [Tue, 16 Jan 2018 15:52:45 +0000 (09:52 -0600)]
Merge "BuildSystem: Resolve resolv.h not via Generic but Particular Header-Check."