18 months agoMerge "res_pjsip_endpoint_identifier_ip.c: Remove unnecessary requirement."
Jenkins2 [Thu, 11 Jan 2018 19:36:02 +0000 (13:36 -0600)]
Merge "res_pjsip_endpoint_identifier_ip.c: Remove unnecessary requirement."

18 months agoMerge "stasis_message_router: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 14:46:34 +0000 (08:46 -0600)]
Merge "stasis_message_router: Remove silly usage of RAII_VAR."

18 months agoMerge "res_pjsip.c: Update the endpoint identification documentation."
Jenkins2 [Thu, 11 Jan 2018 14:42:52 +0000 (08:42 -0600)]
Merge "res_pjsip.c: Update the endpoint identification documentation."

18 months agoMerge "stasis_endpoints: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 13:58:08 +0000 (07:58 -0600)]
Merge "stasis_endpoints: Remove silly usage of RAII_VAR."

18 months agoMerge "stasis_system: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 13:25:51 +0000 (07:25 -0600)]
Merge "stasis_system: Remove silly usage of RAII_VAR."

18 months agoMerge "stasis: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 12:58:10 +0000 (06:58 -0600)]
Merge "stasis: Remove silly usage of RAII_VAR."

18 months agoMerge "stasis_bridges: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 12:43:33 +0000 (06:43 -0600)]
Merge "stasis_bridges: Remove silly usage of RAII_VAR."

18 months agoMerge "stasis_cache: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 12:16:07 +0000 (06:16 -0600)]
Merge "stasis_cache: Remove silly usage of RAII_VAR."

18 months agoMerge "stasis_cache_pattern: Remove silly usage of RAII_VAR."
Jenkins2 [Thu, 11 Jan 2018 11:48:52 +0000 (05:48 -0600)]
Merge "stasis_cache_pattern: Remove silly usage of RAII_VAR."

18 months agoMerge "res_pjsip.c: Fix ident_to_str() and refactor ident_handler()."
Joshua Colp [Thu, 11 Jan 2018 10:55:21 +0000 (04:55 -0600)]
Merge "res_pjsip.c: Fix ident_to_str() and refactor ident_handler()."

18 months agostasis: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 17:23:00 +0000 (12:23 -0500)]
stasis: Remove silly usage of RAII_VAR.

Change-Id: Ib11193531e797bcb16bba560a408eab155f706d1

18 months agostasis_cache_pattern: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 17:09:08 +0000 (12:09 -0500)]
stasis_cache_pattern: Remove silly usage of RAII_VAR.

Change-Id: Ic98a51f555062cd863b6db3f8d76065943a9dea3

18 months agoMerge "app_confbridge: Fix NULL check in action_kick_last."
Joshua Colp [Wed, 10 Jan 2018 15:08:27 +0000 (09:08 -0600)]
Merge "app_confbridge: Fix NULL check in action_kick_last."

18 months agoMerge "bridge_softmix: Fix sfu_append_source_streams test."
Joshua Colp [Wed, 10 Jan 2018 14:19:56 +0000 (08:19 -0600)]
Merge "bridge_softmix: Fix sfu_append_source_streams test."

18 months agoMerge "res_pjsip_endpoint_identifier_ip.c: Allow multiple IdentifyDetail AMI events."
Joshua Colp [Wed, 10 Jan 2018 13:16:14 +0000 (07:16 -0600)]
Merge "res_pjsip_endpoint_identifier_ip.c: Allow multiple IdentifyDetail AMI events."

18 months agoMerge "res_pjsip: Add AMI action 'PJSIPShowAuths'"
Joshua Colp [Wed, 10 Jan 2018 12:55:29 +0000 (06:55 -0600)]
Merge "res_pjsip: Add AMI action 'PJSIPShowAuths'"

18 months agoMerge "res_stasis: Reduce RAII_VAR usage."
Joshua Colp [Wed, 10 Jan 2018 12:54:40 +0000 (06:54 -0600)]
Merge "res_stasis: Reduce RAII_VAR usage."

18 months agostasis_bridges: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 17:16:58 +0000 (12:16 -0500)]
stasis_bridges: Remove silly usage of RAII_VAR.

Change-Id: I0fa7ab05454f183dc4ff10e26d18776d2b0fcf1f

18 months agostasis_cache: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 17:10:27 +0000 (12:10 -0500)]
stasis_cache: Remove silly usage of RAII_VAR.

Change-Id: Ifa95e5801c949df296c7e4376347730fb0ed52ef

18 months agostasis_endpoints: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 16:57:50 +0000 (11:57 -0500)]
stasis_endpoints: Remove silly usage of RAII_VAR.

Change-Id: Ic099dc552f36c353c89783a4bcfd09f010432733

18 months agostasis_message_router: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 16:55:37 +0000 (11:55 -0500)]
stasis_message_router: Remove silly usage of RAII_VAR.

Change-Id: I50d6ae230920e0b878ed9cc8f79eef746e06701d

18 months agostasis_system: Remove silly usage of RAII_VAR.
Corey Farrell [Tue, 9 Jan 2018 16:53:28 +0000 (11:53 -0500)]
stasis_system: Remove silly usage of RAII_VAR.

Change-Id: Iedbe5656cee68cd3a96a953558764aa02d4a0c3b

18 months agoMerge "res_pjsip_session: Always bundle streams if WebRTC is enabled."
Jenkins2 [Tue, 9 Jan 2018 20:23:42 +0000 (14:23 -0600)]
Merge "res_pjsip_session: Always bundle streams if WebRTC is enabled."

18 months agoMerge "Revert "codec_opus: Make libcurl a dependency in menuselect""
Jenkins2 [Tue, 9 Jan 2018 19:52:14 +0000 (13:52 -0600)]
Merge "Revert "codec_opus: Make libcurl a dependency in menuselect""

18 months agores_pjsip.c: Update the endpoint identification documentation.
Richard Mudgett [Wed, 3 Jan 2018 23:26:42 +0000 (17:26 -0600)]
res_pjsip.c: Update the endpoint identification documentation.

* Endpoint identify_by documentation.
* IP/Header endpoint identifier documentation.

Change-Id: Id92f00b495acca7be945daf749d2abd7f76a0b5a

18 months agores_pjsip_endpoint_identifier_ip.c: Remove unnecessary requirement.
Richard Mudgett [Wed, 3 Jan 2018 21:20:27 +0000 (15:20 -0600)]
res_pjsip_endpoint_identifier_ip.c: Remove unnecessary requirement.

The requirement that "ip" must be in the endpoint identify_by list to
allow the type=identify method to identify the endpoint is not necessary.
The "ip" identifier method can match one and only one endpoint.  To even
work, the "ip" identifier method configuration must explicitly specify the
identified endpoint.  Therefore, why bother configuring the type=identify
identifier in the first place?  The requirement only adds the potential
for configuration errors for no benefit.  Even worse, those configuration
errors cannot be detected when the configuration loads.  The requirement
was introduced with the ASTERISK_27206 patch.

* Remove the code change that enforces the requiremnt.  Listing the "ip"
method in the identify_by value is simply documentation.

Change-Id: Ia057f92a33fb5d9f51dc5d5692e3d5ee1a6f2c11

18 months agores_pjsip.c: Fix ident_to_str() and refactor ident_handler().
Richard Mudgett [Sat, 6 Jan 2018 01:03:16 +0000 (19:03 -0600)]
res_pjsip.c: Fix ident_to_str() and refactor ident_handler().

* Extracted sip_endpoint_identifier_type2str() and
sip_endpoint_identifier_str2type() to simplify the calling functions.

* Fixed pjsip_configuration.c:ident_to_str() building the endpoint's
identify_by value string.

Change-Id: Ide876768a8d5d828b12052e2a75008b0563fc509

18 months agores_pjsip_endpoint_identifier_ip.c: Allow multiple IdentifyDetail AMI events.
Richard Mudgett [Thu, 4 Jan 2018 23:04:39 +0000 (17:04 -0600)]
res_pjsip_endpoint_identifier_ip.c: Allow multiple IdentifyDetail AMI events.

The AMI PJSIPShowEndpoint action could only list one IdentifyDetail AMI
event per endpoint.  However, there is no reason that multiple
type=identify sections cannot identify the same endpoint.

* Reworked format_ami_endpoint_identify() to generate as many
IdentifyDetail AMI events as there are matching identifiers.

Change-Id: Ie146792aef72d78e05416ab5b27bc552a30399db

18 months agotranslate: Avoid absolute value on unsigned substraction.
Alexander Traud [Fri, 5 Jan 2018 11:51:47 +0000 (12:51 +0100)]
translate: Avoid absolute value on unsigned substraction.

ast_format_get_sample_rate(.) returns an unsigned type. The difference of a
substraction between two unsigned types does not get implicitly converted to a
signed type. Therefore, using abs(.) did not make sense.


Change-Id: Ib904d9ee0d46b6fdd1476fbc464fbbf813304017

18 months agoMerge "res_pjsip.c: Fix endpoint identifier registration name search."
Jenkins2 [Tue, 9 Jan 2018 14:23:57 +0000 (08:23 -0600)]
Merge "res_pjsip.c: Fix endpoint identifier registration name search."

18 months agoRevert "codec_opus: Make libcurl a dependency in menuselect"
Sean Bright [Tue, 9 Jan 2018 14:22:35 +0000 (08:22 -0600)]
Revert "codec_opus: Make libcurl a dependency in menuselect"

This reverts commit 028f4320de60a204e457ad606ab0a3318493b431.

Change-Id: Ieb91f825cb55202a937f5361c01d356e7662b70c

18 months agoMerge "res_stasis: Fix dial bridge unload."
Joshua Colp [Tue, 9 Jan 2018 13:01:45 +0000 (07:01 -0600)]
Merge "res_stasis: Fix dial bridge unload."

18 months agoMerge "BuildSystem: Really do not pass unknown-warning options to the compiler."
Jenkins2 [Tue, 9 Jan 2018 12:39:40 +0000 (06:39 -0600)]
Merge "BuildSystem: Really do not pass unknown-warning options to the compiler."

18 months agoMerge "codec_gsm: Avoid shifting a negative signed value."
Jenkins2 [Tue, 9 Jan 2018 12:22:30 +0000 (06:22 -0600)]
Merge "codec_gsm: Avoid shifting a negative signed value."

18 months agoMerge "res_pjsip_endpoint_identifier_ip.c: Fix apply identify validation."
Jenkins2 [Tue, 9 Jan 2018 11:46:34 +0000 (05:46 -0600)]
Merge "res_pjsip_endpoint_identifier_ip.c: Fix apply identify validation."

18 months agoMerge "BuildSystem: Find ptlib-config on Debian/Ubuntu."
Joshua Colp [Tue, 9 Jan 2018 11:41:24 +0000 (05:41 -0600)]
Merge "BuildSystem: Find ptlib-config on Debian/Ubuntu."

18 months agores_pjsip_session: Always bundle streams if WebRTC is enabled.
Joshua Colp [Mon, 8 Jan 2018 16:54:00 +0000 (16:54 +0000)]
res_pjsip_session: Always bundle streams if WebRTC is enabled.

Some WebRTC clients can't handle renegotiation with the addition of
streams that include an offer to bundle. They instead expect the
newly added streams to already be bundled. This change does such a thing
if WebRTC support is enabled on an endpoint.


Change-Id: I7fe9b7ac35a2798627d9c2c8369129f407af6461

18 months agobridge_softmix: Fix sfu_append_source_streams test.
Corey Farrell [Tue, 9 Jan 2018 02:25:23 +0000 (21:25 -0500)]
bridge_softmix: Fix sfu_append_source_streams test.

* validate_stream: zero result from ast_format_cap_identical indicates
  they are not identical, rather than non-zero indicating an error.
* validate_original_streams: use num_streams instead of
* Fix declaration of alice_dest_stream and bob_dest_stream.

Change-Id: I6b1dd8bed10439d3c7406f033eb1896b6c419147

18 months agoapp_confbridge: Fix NULL check in action_kick_last.
Corey Farrell [Tue, 9 Jan 2018 00:47:38 +0000 (19:47 -0500)]
app_confbridge: Fix NULL check in action_kick_last.

The check for last_user == NULL needs to happen before we dereference
the variable, previously it was possible for us to check flags of a NULL

Change-Id: I274f737aa8af9d2d53e4a78cdd7ad57561003945

18 months agores_stasis: Reduce RAII_VAR usage.
Corey Farrell [Sat, 6 Jan 2018 08:17:15 +0000 (03:17 -0500)]
res_stasis: Reduce RAII_VAR usage.

In addition to being a micro-optimization (RAII_VAR has overhead), this
change improves output of REF_DEBUG.  Unfortunately when RAII_VAR calls
ao2_cleanup it does so from a generated _dtor_varname function.  For
example this caused _dtor_app to release a reference instead of

Change-Id: I4ce67120583a446babf9adeec678b71d37fcd9e5

18 months agoMerge "res_stasis: Fix app_is_subscribed_bridge_id."
Jenkins2 [Mon, 8 Jan 2018 17:25:45 +0000 (11:25 -0600)]
Merge "res_stasis: Fix app_is_subscribed_bridge_id."

18 months agores_pjsip: Add AMI action 'PJSIPShowAuths'
Sungtae Kim [Fri, 5 Jan 2018 00:47:11 +0000 (01:47 +0100)]
res_pjsip: Add AMI action 'PJSIPShowAuths'

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


Change-Id: I1a88a75b38a2b1dd9d1de6c0307b20a3f584c817

18 months agoMerge "General: Avoid implicit conversion to char when changes value to negative."
Jenkins2 [Mon, 8 Jan 2018 12:51:40 +0000 (06:51 -0600)]
Merge "General: Avoid implicit conversion to char when changes value to negative."

18 months agoMerge "bridge_softmix: Removed unused parameter from check_binaural_position_change...
Jenkins2 [Mon, 8 Jan 2018 12:38:13 +0000 (06:38 -0600)]
Merge "bridge_softmix: Removed unused parameter from check_binaural_position_change(.)."

18 months agoMerge "editline: Avoid comparison between pointer and zero character constant."
Jenkins2 [Mon, 8 Jan 2018 12:13:32 +0000 (06:13 -0600)]
Merge "editline: Avoid comparison between pointer and zero character constant."

18 months agoMerge "pbx: Prevent execution of NULL pointer."
Jenkins2 [Mon, 8 Jan 2018 11:53:29 +0000 (05:53 -0600)]
Merge "pbx: Prevent execution of NULL pointer."

18 months agores_stasis: Fix dial bridge unload.
Corey Farrell [Mon, 8 Jan 2018 03:38:49 +0000 (22:38 -0500)]
res_stasis: Fix dial bridge unload.

If the dial bridge has been created it must be released by calling
ast_bridge_destroy, simply releasing the ao2 reference is not enough.

Also move stasis_app_control_shutdown earlier in unload to ensure the
bridge cannot be created or grabbed after the app_bridges container is

Change-Id: I372302de94ca63876069e2585a049c5060e5e767

18 months agores_stasis: Fix app_is_subscribed_bridge_id.
Corey Farrell [Mon, 8 Jan 2018 02:21:13 +0000 (21:21 -0500)]
res_stasis: Fix app_is_subscribed_bridge_id.

Instead of searching for bridge_id provided in an argument this function
always searched for BRIDGE_ALL first.  Rewrite this function to work
like the similar functions for channel and endpoint functions.

Change-Id: Ib5caca69e11727c5c8a7284a1d00621f40f1e60a

18 months agoMerge "General: Silence modules on (un)load."
Jenkins2 [Sun, 7 Jan 2018 22:46:49 +0000 (16:46 -0600)]
Merge "General: Silence modules on (un)load."

18 months agoMerge "chan_ooh323: Limit outgoinglimit to positive values as intended."
Jenkins2 [Sun, 7 Jan 2018 02:56:24 +0000 (20:56 -0600)]
Merge "chan_ooh323: Limit outgoinglimit to positive values as intended."

18 months agoMerge "BuildSystem: Avoid obsolete warning with HELP_STRING on autoconf."
Jenkins2 [Sun, 7 Jan 2018 02:31:04 +0000 (20:31 -0600)]
Merge "BuildSystem: Avoid obsolete warning with HELP_STRING on autoconf."

18 months agoGeneral: Silence modules on (un)load.
Alexander Traud [Fri, 5 Jan 2018 13:44:55 +0000 (14:44 +0100)]
General: Silence modules on (un)load.

Some (normally optional) modules created notices, warnings, and even errors
in normal situations like (un)load. This cluttered the command-line interface
(CLI) on start and while stopping gracefully. However, when an user went for
the script './contrib/scripts/install_prereq', those modules get compiled-in
because their prerequisites were met at compile time. Furthermore, because of
ASTERISK_27475, the former talkative module 'res_curl' is built as side-effect.


Change-Id: I9f105f46d72553994e820679bfde3478a551b281

18 months agoBuildSystem: Really do not pass unknown-warning options to the compiler.
Alexander Traud [Sat, 6 Jan 2018 21:40:46 +0000 (22:40 +0100)]
BuildSystem: Really do not pass unknown-warning options to the compiler.

When an older GCC version is called with a too new warning option, GCC exited
with an error and Asterisk was not built. Therefore, the configure script tests
the installed compiler whether it supports that warning option. If not, Asterisk
does not pass it to the installed compiler. However, some compilers (like clang)
do not exit (error) but give just a warning in such a case. Because the compiler
did not exit, Asterisk passed the unknown-warning option.


Change-Id: Ia9b7747f649b27ff5e9f75c3db3fee4fe7a29621

18 months agoGeneral: Avoid implicit conversion to char when changes value to negative.
Alexander Traud [Sat, 6 Jan 2018 07:25:14 +0000 (08:25 +0100)]
General: Avoid implicit conversion to char when changes value to negative.

clang 5.0 warned about this.


Change-Id: I7cceaa88e147cbdf81a3a7beec5c1c20210fa41e

18 months agobridge_softmix: Removed unused parameter from check_binaural_position_change(.).
Alexander Traud [Fri, 5 Jan 2018 12:06:33 +0000 (13:06 +0100)]
bridge_softmix: Removed unused parameter from check_binaural_position_change(.).

Found as a result of the function being passed an uninitalized variable by


Change-Id: I8af3bd84656b685a956d498459f8db3613f68954

18 months agoeditline: Avoid comparison between pointer and zero character constant.
Alexander Traud [Sat, 6 Jan 2018 12:45:28 +0000 (13:45 +0100)]
editline: Avoid comparison between pointer and zero character constant.

gcc 7.2 warned about this.


Change-Id: I48960dda9cf0a11b6a9426f775e632363f8caa74

18 months agocodec_gsm: Avoid shifting a negative signed value.
Alexander Traud [Sat, 6 Jan 2018 11:01:00 +0000 (12:01 +0100)]
codec_gsm: Avoid shifting a negative signed value.

clang 5.0 warned about this.


Change-Id: Icc452ecb0d86bbeba78dae768cc472ec540699df

18 months agores_pjsip_endpoint_identifier_ip.c: Fix apply identify validation.
Richard Mudgett [Thu, 4 Jan 2018 18:23:15 +0000 (12:23 -0600)]
res_pjsip_endpoint_identifier_ip.c: Fix apply identify validation.

The ip_identify_apply() did not validate the configuration for simple
static configuration errors or deal well with address resolution errors.

* Added missing configuration validation checks.
* Fixed address resolution error handling.
* Demoted an error message to a warning since it does not fail applying
the identify object configuration.

Change-Id: I8b519607263fe88e8ce964f526a45359fd362b6e

18 months agores_pjsip.c: Fix endpoint identifier registration name search.
Richard Mudgett [Thu, 4 Jan 2018 23:42:59 +0000 (17:42 -0600)]
res_pjsip.c: Fix endpoint identifier registration name search.

If an endpoint identifier name in the endpoint_identifier_order list is a
prefix to the identifier we are registering, we could install it in the
wrong position of the list.


then registering the "ip_only" identifier would put the identifier in the
wrong position of the priority list.

* Fix incorrect strncmp() string prefix matching.

Change-Id: Ib8819ec4b811da8a27419fd93528c54d34f01484

18 months agoBuildSystem: Find ptlib-config on Debian/Ubuntu.
Alexander Traud [Fri, 5 Jan 2018 09:33:58 +0000 (10:33 +0100)]
BuildSystem: Find ptlib-config on Debian/Ubuntu.

The current configure script requires that tool when libpt-dev is installed.
libpt-dev was installed by libopenh323-dev, bacause you wanted to go for H.323
based channel drivers.


Change-Id: I9c6ab78b7246c21536e1d252dcbffe682f63f83d

18 months agochan_ooh323: Limit outgoinglimit to positive values as intended.
Alexander Traud [Fri, 5 Jan 2018 12:42:07 +0000 (13:42 +0100)]
chan_ooh323: Limit outgoinglimit to positive values as intended.


Change-Id: Ifbf9d51e7374ca2e8b27ec568f6770050fc1a854

18 months agoooh323cDriver: Fix typo in header guard.
Alexander Traud [Fri, 5 Jan 2018 12:19:36 +0000 (13:19 +0100)]
ooh323cDriver: Fix typo in header guard.


Change-Id: I39ff66031e3373e895e2bc47b23a5e860ea4e012

18 months agoBuildSystem: Avoid obsolete warning with HELP_STRING on autoconf.
Alexander Traud [Fri, 5 Jan 2018 09:36:49 +0000 (10:36 +0100)]
BuildSystem: Avoid obsolete warning with HELP_STRING on autoconf.


Change-Id: I48f05698c235f709225b92bec5aa260fb57d69d1

18 months agopbx: Prevent execution of NULL pointer.
Corey Farrell [Thu, 4 Jan 2018 21:37:52 +0000 (16:37 -0500)]
pbx: Prevent execution of NULL pointer.

pbx_extension_helper has a check for q->swo.exec == NULL but it doesn't
actually return so we would still run the function.  Fix the return.
Move the 'int res' variable into the only scope which uses it.

Also fix a copy-paste error in ast_pbx_init which could result in a
crash on allocation failure (we exit with a normal error instead).

Change-Id: I0693af921fdc7f56b6a72a21fb816ed08b960a69

18 months agoMerge "rtp_engine: Add missing unlock."
Jenkins2 [Thu, 4 Jan 2018 21:02:15 +0000 (15:02 -0600)]
Merge "rtp_engine: Add missing unlock."

18 months agoMerge "translators: Don't use ast_module_running_ref."
Joshua Colp [Thu, 4 Jan 2018 20:49:06 +0000 (14:49 -0600)]
Merge "translators: Don't use ast_module_running_ref."

18 months agoMerge "res_pjsip_history: Add missing unlock to CLI command."
Jenkins2 [Thu, 4 Jan 2018 20:24:25 +0000 (14:24 -0600)]
Merge "res_pjsip_history: Add missing unlock to CLI command."

18 months agoMerge "aco: Fix NULL dereference in error path."
Jenkins2 [Thu, 4 Jan 2018 20:00:43 +0000 (14:00 -0600)]
Merge "aco: Fix NULL dereference in error path."

18 months agoMerge "func_odbc: Add missing unlock's to acf_odbc_read."
Jenkins2 [Thu, 4 Jan 2018 19:53:20 +0000 (13:53 -0600)]
Merge "func_odbc: Add missing unlock's to acf_odbc_read."

18 months agotranslators: Don't use ast_module_running_ref.
Corey Farrell [Thu, 4 Jan 2018 16:50:13 +0000 (11:50 -0500)]
translators: Don't use ast_module_running_ref.

Translators are run during module load before the module is actually
running, so it cannot use ast_module_running_ref.


Change-Id: Iaa0e75da99c696e38000f1a41e340abbd7a88f56

18 months agortp_engine: Add missing unlock.
Corey Farrell [Thu, 4 Jan 2018 15:39:59 +0000 (10:39 -0500)]
rtp_engine: Add missing unlock.

Change-Id: I380c31a255e060309f4916da11176e0d00813215

18 months agores_pjsip_history: Add missing unlock to CLI command.
Corey Farrell [Thu, 4 Jan 2018 15:30:48 +0000 (10:30 -0500)]
res_pjsip_history: Add missing unlock to CLI command.

Change-Id: I872060a30543776a176a316309602d924a23eb29

18 months agoaco: Fix NULL dereference in error path.
Corey Farrell [Thu, 4 Jan 2018 15:27:19 +0000 (10:27 -0500)]
aco: Fix NULL dereference in error path.

Change-Id: Id505167cf0f9414a3c144fa2c1e181a2cf288694

18 months agoMerge "loader: Create ast_module_running_ref."
Joshua Colp [Thu, 4 Jan 2018 13:12:43 +0000 (07:12 -0600)]
Merge "loader: Create ast_module_running_ref."

18 months agoMerge "res_pjsip_session: Check if sequence header is missing"
Joshua Colp [Thu, 4 Jan 2018 13:01:04 +0000 (07:01 -0600)]
Merge "res_pjsip_session: Check if sequence header is missing"

18 months agoMerge "datastore: Add automatic module references."
Joshua Colp [Thu, 4 Jan 2018 12:53:28 +0000 (06:53 -0600)]
Merge "datastore: Add automatic module references."

18 months agofunc_odbc: Add missing unlock's to acf_odbc_read.
Corey Farrell [Thu, 4 Jan 2018 01:07:44 +0000 (20:07 -0500)]
func_odbc: Add missing unlock's to acf_odbc_read.

Change-Id: I828329ecbd252ae8f27a369a046d2b03102b07c6

18 months agoloader: Create ast_module_running_ref.
Corey Farrell [Sat, 30 Dec 2017 00:24:02 +0000 (19:24 -0500)]
loader: Create ast_module_running_ref.

This function returns NULL if the module in question is not running.  I
did not change ast_module_ref as most callers do not check the result
and they always call ast_module_unref.

Make use of this function when running registered items from:
* app_stack API's
* bridge technologies
* CLI commands
* File formats
* Manager Actions
* RTP engines
* Sorcery Wizards
* Timing Interfaces
* Translators
* AGI Commands
* Fax Technologies

ASTERISK-20346 #close

Change-Id: Ia16fd28e188b2fc0b9d18b8a5d9cacc31df73fcc

18 months agoMerge "res_pjsip: Add AMI action 'PJSIPShowAors'"
Jenkins2 [Wed, 3 Jan 2018 21:29:36 +0000 (15:29 -0600)]
Merge "res_pjsip: Add AMI action 'PJSIPShowAors'"

18 months agores_pjsip_session: Check if sequence header is missing
Kevin Harwell [Wed, 3 Jan 2018 16:41:46 +0000 (10:41 -0600)]
res_pjsip_session: Check if sequence header is missing

The pjsip_msg_find_hdr function can return NULL. This patch adds a check
when searching for the sequence header to make sure a NULL pointer is never

Change-Id: I19af23aeeded65be016be92360e8cb7ffe51fad2

18 months agoMerge "core: Use macros to generate ao2_container callbacks where possible."
Jenkins2 [Wed, 3 Jan 2018 13:50:36 +0000 (07:50 -0600)]
Merge "core: Use macros to generate ao2_container callbacks where possible."

18 months agoMerge "astobj2: Create case-insensitive variants of container function macros."
Jenkins2 [Wed, 3 Jan 2018 13:32:15 +0000 (07:32 -0600)]
Merge "astobj2: Create case-insensitive variants of container function macros."

18 months agoMerge "aco: Add missing aco_option_type_string for OPT_TIMELEN_T."
Joshua Colp [Wed, 3 Jan 2018 13:09:38 +0000 (07:09 -0600)]
Merge "aco: Add missing aco_option_type_string for OPT_TIMELEN_T."

18 months agoMerge "cdr: submit: fix logic of test for batch mode"
Jenkins2 [Wed, 3 Jan 2018 12:43:47 +0000 (06:43 -0600)]
Merge "cdr: submit: fix logic of test for batch mode"

18 months agoMerge "cdr_mysql: Make sure connection charset is always set"
Joshua Colp [Tue, 2 Jan 2018 13:48:24 +0000 (07:48 -0600)]
Merge "cdr_mysql: Make sure connection charset is always set"

18 months agoMerge "stasis_channels.c: Misc cleanup."
Jenkins2 [Tue, 2 Jan 2018 13:38:44 +0000 (07:38 -0600)]
Merge "stasis_channels.c: Misc cleanup."

18 months agocdr: submit: fix logic of test for batch mode
Tzafrir Cohen [Tue, 2 Jan 2018 13:36:04 +0000 (15:36 +0200)]
cdr: submit: fix logic of test for batch mode

ASTERISK-27539 #close

Change-Id: I33cdf329d2bb4486dcae975c450f6aae94c515f7

18 months agores_pjsip: Add AMI action 'PJSIPShowAors'
Sungtae Kim [Sat, 30 Dec 2017 05:14:00 +0000 (06:14 +0100)]
res_pjsip: Add AMI action 'PJSIPShowAors'

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


Change-Id: If8b990a00909e5b6c0f04a3b8dccd9903dc445eb

18 months agoaco: Add missing aco_option_type_string for OPT_TIMELEN_T.
Corey Farrell [Tue, 2 Jan 2018 06:26:10 +0000 (01:26 -0500)]
aco: Add missing aco_option_type_string for OPT_TIMELEN_T.


Change-Id: I8f6c34bb30830be9f7a40823723eb4dcaaa91c61

18 months agoice: Increase foundation buffer size
Sean Bright [Sun, 31 Dec 2017 16:26:54 +0000 (11:26 -0500)]
ice: Increase foundation buffer size

Per RFC 5245, the foundation specified with an ICE candidate can be up
to 32 characters but we are only allowing for 31.

ASTERISK-27498 #close
Reported by: Michele Prà

Change-Id: I05ce7a5952721a76a2b4c90366168022558dc7cf

18 months agoastobj2: Create case-insensitive variants of container function macros.
Corey Farrell [Sat, 30 Dec 2017 04:03:52 +0000 (23:03 -0500)]
astobj2: Create case-insensitive variants of container function macros.


Change-Id: I11af8c6a0c43380a42732553f519c667abb842cf

18 months agocore: Use macros to generate ao2_container callbacks where possible.
Corey Farrell [Sat, 30 Dec 2017 04:59:00 +0000 (23:59 -0500)]
core: Use macros to generate ao2_container callbacks where possible.

possible in the Asterisk core.

This removes CMP_STOP from the result of CMP_FN callbacks for the
following structure types:
* ast_bucket_metadata
* ast_bucket_scheme
* generic_monitor_instance_list (ccss.c)
* ast_bucket_file (media_cache.c)
* named_acl

Change-Id: Ide4c1449a894bce70dea1fef664dade9b57578f1

18 months agodatastore: Add automatic module references.
Corey Farrell [Fri, 29 Dec 2017 20:50:12 +0000 (15:50 -0500)]
datastore: Add automatic module references.

Add a reference to the calling module when it is active to protect
access to datastore->info.  Remove module references done by
func_periodic_hook as the datastore now handles it.

ASTERISK-25128 #close

Change-Id: I8357a3711e77591d0d1dd8ab4211a7eedd782c89

18 months agoMerge "func_channel.c: Update MASTER_CHANNEL documentation"
Jenkins2 [Fri, 29 Dec 2017 19:40:31 +0000 (13:40 -0600)]
Merge "func_channel.c: Update MASTER_CHANNEL documentation"

18 months agostasis_channels.c: Misc cleanup.
Richard Mudgett [Thu, 28 Dec 2017 19:27:43 +0000 (13:27 -0600)]
stasis_channels.c: Misc cleanup.

* Use current OBJ_SEARCH_xxx defines instead of the deprecated versions.

* Fix hash_cb and cmp_cb container functions to correctly use the
OBJ_SEARCH_xxx values.

* Remove incorrect usage of CMP_STOP.  Most uses in the system have no
effect.  This allows the collapse of channel_role_single_cmp_cb() and
channel_role_multi_cmp_cb() into channel_role_cmp_cb().

* Remove unnecessary usage of RAII_VAR().

Change-Id: I02c405518cab22aa2a082b61e2353bf7cd629a70

18 months agoMerge "manager.c: Update AMI Status event documentation"
Jenkins2 [Thu, 28 Dec 2017 19:46:22 +0000 (13:46 -0600)]
Merge "manager.c: Update AMI Status event documentation"

18 months agoMerge "menuselect: Fix check for running configure."
Richard Mudgett [Thu, 28 Dec 2017 17:51:21 +0000 (11:51 -0600)]
Merge "menuselect: Fix check for running configure."

18 months agoMerge "astobj.h: Remove from Asterisk core."
Jenkins2 [Thu, 28 Dec 2017 17:15:11 +0000 (11:15 -0600)]
Merge "astobj.h: Remove from Asterisk core."

18 months agoMerge "cdr: Missing NULL check and unlock."
Jenkins2 [Thu, 28 Dec 2017 16:42:17 +0000 (10:42 -0600)]
Merge "cdr: Missing NULL check and unlock."

18 months agocdr_mysql: Make sure connection charset is always set
Sean Bright [Wed, 13 Dec 2017 21:43:18 +0000 (16:43 -0500)]
cdr_mysql: Make sure connection charset is always set

When the MYSQL_OPT_RECONNECT option is enabled, the MySQL client API
will transparently reconnect when it needs to. Ideally this simplifies
our code, but when this reconnection occurs all connection state is
lost. Because we are not notified that this has happened, we don't know
to set our character set again (with "SET NAMES 'xyz'").

Rather than calling SET NAMES, we instead set the MYSQL_SET_CHARSET_NAME
option which will do it for us under the hood on each connect. This
option has been present in the MySQL C API for at least 15 years, so it
should be safe for most installations.

I also snuck a few other changes into this patch:

* Default the MySQL port to MYSQL_PORT (3306) instead of 0 if it's not

* Fix some erroneous and/or silly checks on the contents of the
  configuration ast_str values.

ASTERISK-27366 #close
Reported by: Halil İbrahim YILDIZ

Change-Id: I36bf8dc5d5f83584e803b3b1a151dea9396ab8f5