19 months agomenuselect: Tweak check for recently run configure.
Corey Farrell [Tue, 12 Dec 2017 21:16:38 +0000 (16:16 -0500)]
menuselect: Tweak check for recently run configure.

Recently menuselect has randomly produced an error stating that
configure was just run and make had to be restarted.  I believe this is
due to an incorrect menuselect/Makefile rule.  The original rule
produced an error if makeopts or autoconfig.h were older than or  I believe this can create an issue if
makeopts is older than or if autoconfig.h is older than  The new rules compare files independently.

Change-Id: Ibca155035fa1392c95e33cbf25f257902abba17b

19 months agoMerge "codec_opus: Make libcurl a dependency in menuselect"
Jenkins2 [Mon, 11 Dec 2017 18:22:21 +0000 (12:22 -0600)]
Merge "codec_opus: Make libcurl a dependency in menuselect"

19 months agoMerge "astdb: Improve prefix searches in astdb"
Jenkins2 [Mon, 11 Dec 2017 18:12:58 +0000 (12:12 -0600)]
Merge "astdb: Improve prefix searches in astdb"

19 months agoMerge "loader: Refactor resource_name_match."
Jenkins2 [Mon, 11 Dec 2017 17:44:34 +0000 (11:44 -0600)]
Merge "loader: Refactor resource_name_match."

19 months agoMerge "res_stasis and res_speech: Fix load order."
Joshua Colp [Mon, 11 Dec 2017 17:12:25 +0000 (11:12 -0600)]
Merge "res_stasis and res_speech: Fix load order."

19 months agoMerge "utils: Add convenience function for setting fd flags"
Jenkins2 [Mon, 11 Dec 2017 16:13:09 +0000 (10:13 -0600)]
Merge "utils: Add convenience function for setting fd flags"

19 months agocodec_opus: Make libcurl a dependency in menuselect
Sean Bright [Mon, 11 Dec 2017 15:45:17 +0000 (10:45 -0500)]
codec_opus: Make libcurl a dependency in menuselect

ASTERISK-27475 #close

Change-Id: If7384bc6ed002ef140dec69798d14c52b7cfd800

19 months agoMerge "pjsip: Improve CLI completion performance"
Jenkins2 [Mon, 11 Dec 2017 15:36:54 +0000 (09:36 -0600)]
Merge "pjsip: Improve CLI completion performance"

19 months agoMerge "CDR: Fix deadlock setting some CDR values."
Jenkins2 [Mon, 11 Dec 2017 15:06:41 +0000 (09:06 -0600)]
Merge "CDR: Fix deadlock setting some CDR values."

19 months agopjsip: Improve CLI completion performance
Sean Bright [Fri, 8 Dec 2017 18:48:48 +0000 (13:48 -0500)]
pjsip: Improve CLI completion performance

Use the new ast_cli_completion_add() function to improve completion
performance for commands like 'pjsip show endpoint.'

Change-Id: I76d802294d2ac1766110dc75f7d117c8541ce348

19 months agoastdb: Improve prefix searches in astdb
Sean Bright [Thu, 7 Dec 2017 20:19:40 +0000 (15:19 -0500)]
astdb: Improve prefix searches in astdb

Using the LIKE operator requires a full table scan of 'astdb', whereas a
comparison operation is able to use the primary key index.

This patch adds a new function to the AstDB API for quick prefix matches
and updates res_sorcery_astdb to utilize it. This showed substantial
performance improvement in my test environment.

Related to ASTERISK~26806, but does not completely resolve it.

Change-Id: I7d37f9ba2aea139dabf2ca72d31fbe34bd9b2fa1

19 months agoloader: Refactor resource_name_match.
Corey Farrell [Sat, 9 Dec 2017 00:19:34 +0000 (19:19 -0500)]
loader: Refactor resource_name_match.

Optimize resource_name_match.  This change eliminates use of
ast_strdupa, instead verifying that both basename's are the same length,
then using strncasecmp.

Change-Id: I477275c0e954c99d74be5abfc8bb6545b04e5a3d

19 months agopjsip_configuration: Add correct file header
Sean Bright [Fri, 8 Dec 2017 20:58:54 +0000 (15:58 -0500)]
pjsip_configuration: Add correct file header

Change-Id: I25348c386a222bb704aff07f54375108a6402906

19 months agoutils: Add convenience function for setting fd flags
Sean Bright [Thu, 7 Dec 2017 15:52:39 +0000 (10:52 -0500)]
utils: Add convenience function for setting fd flags

There are many places in the code base where we ignore the return value
of fcntl() when getting/setting file descriptior flags. This patch
introduces a convenience function that allows setting or clearing file
descriptor flags and will also log an error on failure for later

Change-Id: I8b81901e1b1bd537ca632567cdb408931c6eded7

19 months agores_stasis and res_speech: Fix load order.
Corey Farrell [Fri, 8 Dec 2017 01:33:27 +0000 (20:33 -0500)]
res_stasis and res_speech: Fix load order.

res_stasis was missing AST_MODFLAG_LOAD_ORDER.  Set res_stasis and
res_speech to start at (AST_MODPRI_APP_DEPEND - 1) so they are ready for
dependent modules.

Change-Id: I27f4f3810a95b6be8a5bfbf62be2ace6bfab6ff3

19 months agoMerge "translate: Skip matrix_rebuild during shutdown."
Jenkins2 [Thu, 7 Dec 2017 20:33:47 +0000 (14:33 -0600)]
Merge "translate: Skip matrix_rebuild during shutdown."

19 months agoMerge "sounds_index: Avoid repeatedly reindexing."
George Joseph [Thu, 7 Dec 2017 19:26:22 +0000 (13:26 -0600)]
Merge "sounds_index: Avoid repeatedly reindexing."

19 months agoMerge "media_index: Improve startup."
George Joseph [Thu, 7 Dec 2017 19:26:06 +0000 (13:26 -0600)]
Merge "media_index: Improve startup."

19 months agotranslate: Skip matrix_rebuild during shutdown.
Corey Farrell [Thu, 7 Dec 2017 05:35:14 +0000 (00:35 -0500)]
translate: Skip matrix_rebuild during shutdown.

Change-Id: I1e5eef4029cba56e33d786c5a5ade8091e531a1e

19 months agosounds_index: Avoid repeatedly reindexing.
Corey Farrell [Wed, 6 Dec 2017 20:49:32 +0000 (15:49 -0500)]
sounds_index: Avoid repeatedly reindexing.

The sounds index is rebuilt each time a format is registered or
unregistered.  This causes the index to be repeatedly rebuilt during
startup and shutdown.

This patch significantly reduces the work done by delaying sound index
initialization until after modules are loaded.  This way a reindex only
occurs if a format module is loaded after startup.  We also skip
reindexing when format modules are unloaded during shutdown.

Change-Id: I585fd6ee04200612ab1490dc804f76805f89cf0a

19 months agoCDR: Fix deadlock setting some CDR values.
Richard Mudgett [Wed, 6 Dec 2017 00:04:47 +0000 (18:04 -0600)]
CDR: Fix deadlock setting some CDR values.

Setting channel variables with the AMI Originate action caused a deadlock
when you set CDR(amaflags) or CDR(accountcode).  This path has the channel
locked when the CDR function is called.  The CDR function then
synchronously passes the job to a stasis thread.  The stasis handling
function then attempts to lock the channel.  Deadlock results.

* Avoid deadlock by making the CDR function handle setting amaflags and
accountcode directly on the channel rather than passing it off to the CDR
processing code under a stasis thread to do it.

* Made the CHANNEL function and the CDR function process amaflags the same

* Fixed referencing the wrong message type in cdr_prop_write().


Change-Id: I5eacb47586bc0b8f8ff76a19bd92d1dc38b75e8f

19 months agomedia_index: Improve startup.
Corey Farrell [Wed, 6 Dec 2017 18:42:55 +0000 (13:42 -0500)]
media_index: Improve startup.

This eliminates some wasteful operations in media_index startup.

* Replace statically set string-fields with char[0].
* Eliminate pointless RAII_VAR's.
* alloc_variant: Avoid pointless ao2_find on new info->variant.
* Stop trying find_variant before alloc_variant.
* process_media_file: replace ast_str with ast_asprintf.  This avoids
  reallocation of file_id_str.

Overall sounds_index.c is about 27% of Asterisk startup time when using
sample configs.  This patch reduces it to 20%.  This is a half-fix.  The
real problem is that the media_index is regenerated repeatedly - 68
times in my test.

Change-Id: Ia50b752f8efb356f852b05c4be495a6631af8652

19 months agobridge_basic.c: Update transfer diagnostic messages addendum.
Richard Mudgett [Wed, 6 Dec 2017 13:36:02 +0000 (07:36 -0600)]
bridge_basic.c: Update transfer diagnostic messages addendum.

* Added start DTMF transfer verbose messages.
* Made associated transfer messages use a similar message format.
* Adjusted message verbose level as requested by initial reporter.


Change-Id: I2045714586414b3c5ef1f3cc56c1c4af4b31f551

19 months agoMerge "bridge_basic.c: Update transfer diagnostic messages."
Jenkins2 [Wed, 6 Dec 2017 12:51:31 +0000 (06:51 -0600)]
Merge "bridge_basic.c: Update transfer diagnostic messages."

19 months agoMerge "Add new object for VoicemailUserEntry"
Jenkins2 [Wed, 6 Dec 2017 02:10:51 +0000 (20:10 -0600)]
Merge "Add new object for VoicemailUserEntry"

19 months agoMerge "res_rtp_asterisk.c: Increase strictrtp learning timeout time."
Joshua Colp [Wed, 6 Dec 2017 01:31:14 +0000 (19:31 -0600)]
Merge "res_rtp_asterisk.c: Increase strictrtp learning timeout time."

19 months agoMerge "pjproject: Clean up disabling of WebRTC support."
Jenkins2 [Wed, 6 Dec 2017 00:30:42 +0000 (18:30 -0600)]
Merge "pjproject: Clean up disabling of WebRTC support."

19 months agobridge_basic.c: Update transfer diagnostic messages.
Niklas Larsson [Wed, 29 Nov 2017 12:21:42 +0000 (13:21 +0100)]
bridge_basic.c: Update transfer diagnostic messages.

* Add the channel name to diagnostic messages so you will know which
channel failed to transfer.

* Promoted some debug messages to verbose 4 messages.

ASTERISK-27449 #close

Change-Id: Idac66b7628c99379cc9269158377fd87dc97a880

19 months agosecurity-events: Fix SuccessfulAuth using_password declaration.
Richard Mudgett [Fri, 1 Dec 2017 19:54:26 +0000 (13:54 -0600)]
security-events: Fix SuccessfulAuth using_password declaration.

The SuccessfulAuth using_password field was declared as a pointer to a
uint32_t when the field was later read as a uint32_t value.  This resulted
in unnecessary casts and a non-portable field value reinterpret in
main/security_events.c:add_json_object().  i.e., It would work on a 32 bit
architecture but not on a 64 bit big endian architecture.

Change-Id: Ia08bc797613a62f07e5473425f9ccd8d77c80935

19 months agoMerge "res_rtp_asterisk: Correct default in sample configuration file."
Jenkins2 [Mon, 4 Dec 2017 17:47:13 +0000 (11:47 -0600)]
Merge "res_rtp_asterisk: Correct default in sample configuration file."

19 months agores_rtp_asterisk.c: Increase strictrtp learning timeout time.
Richard Mudgett [Thu, 30 Nov 2017 18:50:58 +0000 (12:50 -0600)]
res_rtp_asterisk.c: Increase strictrtp learning timeout time.

More complicated direct media reinvite negotiations can result in longer
delays before direct media flows.  The strictrtp learning timeout time
was too short.  One log showed that the first RTP packet came in just
after three seconds.

* Increase the strictrtp learning timeout time from 1.5 to 5 seconds.


Change-Id: Ic5e711164cbb91b4d1c1e40c83697755640f138c

19 months agoMerge "README-SERIOUSLY.bestpractices.txt: Convert to markdown"
Jenkins2 [Mon, 4 Dec 2017 16:27:54 +0000 (10:27 -0600)]
Merge "README-SERIOUSLY.bestpractices.txt: Convert to markdown"

19 months agoMerge "autoconf: Remove use of m4_ifblank."
Jenkins2 [Mon, 4 Dec 2017 15:38:31 +0000 (09:38 -0600)]
Merge "autoconf: Remove use of m4_ifblank."

19 months agoMerge "config: Speed up config template lookup"
Joshua Colp [Mon, 4 Dec 2017 14:51:11 +0000 (08:51 -0600)]
Merge "config: Speed up config template lookup"

19 months agores_rtp_asterisk: Correct default in sample configuration file.
Alexander Traud [Mon, 4 Dec 2017 14:33:16 +0000 (15:33 +0100)]
res_rtp_asterisk: Correct default in sample configuration file.

With Asterisk 12 (commit 866d968), the default of "icesupport" changed to
- "yes" in the module "res_rtp_asterisk" and
- "no" in the module "chan_sip".
The latter was reflected in the sample configuration file for "sip.conf". The
former did not make it into "rtp.conf.sample".


Change-Id: I2a2e0a900455d0767a99ea576e30adc6d7608a36

19 months agoMerge "config: Speed up ACO & sorcery initialization"
Joshua Colp [Mon, 4 Dec 2017 13:41:28 +0000 (07:41 -0600)]
Merge "config: Speed up ACO & sorcery initialization"

19 months agoMerge "res_http_post: Not all versions of gmime have GMIME_MAJOR_VERSION."
Joshua Colp [Mon, 4 Dec 2017 13:40:06 +0000 (07:40 -0600)]
Merge "res_http_post: Not all versions of gmime have GMIME_MAJOR_VERSION."

19 months agoAdd new object for VoicemailUserEntry
Sungtae Kim [Mon, 4 Dec 2017 09:40:18 +0000 (10:40 +0100)]
Add new object for VoicemailUserEntry

Currently, when the app_voicemail sending VoicemailUserEntry AMI event, there's
no OldMessageCount info for default.
To check the OldMessageCount info, it required IMAP_STORAGE define, but this is
not correct.
Added OldMessageCount item as a default.


Change-Id: I5c71521c2d1daf8b7b161e31c34d28cca6aea4c7

19 months agopjproject: Clean up disabling of WebRTC support.
Joshua Colp [Mon, 4 Dec 2017 00:49:14 +0000 (00:49 +0000)]
pjproject: Clean up disabling of WebRTC support.

The definition in config_site.h and the argument to the
configure script are not necessary to disable WebRTC
support. The correct argument, --disable-libwebrtc, is
already passed.


Change-Id: I27da2c894f87914956a72710222e17462d8a44bc

19 months agoautoconf: Remove use of m4_ifblank.
Corey Farrell [Sat, 2 Dec 2017 21:55:31 +0000 (16:55 -0500)]
autoconf: Remove use of m4_ifblank.

The m4_ifblank macro is not available on CentOS 6, reverse conditionals
to allow use of m4_ifval instead.  ./ was run but this patch
does not result in any difference to the generated configure script.

Change-Id: I280785deb872ed8d3339d99cce63a2b54d5f1438

19 months agoAST-2017-013: chan_skinny: Call pthread_detach when sess threads end
George Joseph [Thu, 30 Nov 2017 20:38:50 +0000 (13:38 -0700)]
AST-2017-013: chan_skinny: Call pthread_detach when sess threads end

chan_skinny creates a new thread for each new session.  In trying
to be a good cleanup citizen, the threads are joinable and the
unload_module function does a pthread_cancel() and a pthread_join()
on any sessions that are active at that time.  This has an
unintended side effect though. Since you can call pthread_join on a
thread that's already terminated, pthreads keeps the thread's
storage around until you explicitly call pthread_join (or
pthread_detach()).   Since only the module_unload function was
calling pthread_join, and even then only on the ones active at the
tme, the storage for every thread/session ever created sticks
around until asterisk exits.

* A thread can detach itself so the session_destroy() function
  now calls pthread_detach() just before it frees the session
  memory allocation.  The module_unload function still takes care
  of the ones that are still active should the module be unloaded.

Reported by: Juan Sacco

Change-Id: I9af7268eba14bf76960566f891320f97b974e6dd
(cherry picked from commit 8f5dff543e457ee3450d21e741901609af0cd779)

19 months agoconfig: Speed up config template lookup
Sean Bright [Fri, 1 Dec 2017 16:01:01 +0000 (11:01 -0500)]
config: Speed up config template lookup

ast_category_get() has an (undocumented) implementation detail where it
tries to match the category name first by an explicit pointer comparison
and if that fails falls back to a normal match.

When initially building an ast_config during ast_config_load, this
pointer comparison can never succeed, but we will end up iterating all
categories twice. As the number of categories using a template
increases, this dual looping becomes quite expensive. So we pass a flag
to category_get_sep() indicating if a pointer match is even possible
before trying to do so, saving us a full pass over the list of current

In my tests, loading a file with 3 template categories and 12000
additional categories that use those 3 templates (this file configures
4000 PJSIP endpoints with AOR & Auth) takes 1.2 seconds. After this
change, that drops to 22ms.

Change-Id: I59b95f288e11eb6bb34f31ce4cc772136b275e4a

19 months agoconfig: Speed up ACO & sorcery initialization
Sean Bright [Fri, 1 Dec 2017 14:29:43 +0000 (09:29 -0500)]
config: Speed up ACO & sorcery initialization

When starting Asterisk in the foreground, there is a perceptible delay
when loading modules that use the ACO and sorcery config frameworks.
For example, a lightly configured res_pjsip took 853ms to load on my

I tracked down the slowness to the XPath queries used to associate the
relevant documentation with the config options. One improvement was
adding a call to xmlXPathOrderDocElems after loading an XML document.
From the libxml2 docs:

  Call this routine to speed up XPath computation on static documents.

The second change was to remove recursive descent and wildcard
operators from the XPath queries. After these changes, res_pjsip takes
85ms to load on my VM and there is no longer a perceptible delay when
starting Asterisk in the foreground.

Change-Id: I45d457f1580e26bf5a2b0dab16e8e9ae46dcbd82

19 months agores_http_post: Not all versions of gmime have GMIME_MAJOR_VERSION.
Joshua Colp [Fri, 1 Dec 2017 12:07:52 +0000 (08:07 -0400)]
res_http_post: Not all versions of gmime have GMIME_MAJOR_VERSION.

This change makes the presence of the GMIME_MAJOR_VERSION
definition optional, as not all versions of gmime actually
define it.


Change-Id: I01d99590045971ed6787899147170a5954077238

19 months agoREADME-SERIOUSLY.bestpractices.txt: Convert to markdown
Corey Farrell [Fri, 1 Dec 2017 03:24:42 +0000 (22:24 -0500)]
README-SERIOUSLY.bestpractices.txt: Convert to markdown

Follow-up to conversion of

Change-Id: I17ee7cf25bc027ece844efa2c1dfe613aff1e35b

19 months agoMerge "translate: Transcode siren14, speex32, silk24, and silk12 via slin16."
Jenkins2 [Thu, 30 Nov 2017 16:16:17 +0000 (10:16 -0600)]
Merge "translate: Transcode siren14, speex32, silk24, and silk12 via slin16."

19 months agoMerge "autoconf: Use m4 conditionals where possible."
Jenkins2 [Thu, 30 Nov 2017 15:22:27 +0000 (09:22 -0600)]
Merge "autoconf: Use m4 conditionals where possible."

19 months agoMerge "autoconf: Fix call to AC_CONFIG_AUX_DIR."
Jenkins2 [Thu, 30 Nov 2017 14:42:24 +0000 (08:42 -0600)]
Merge "autoconf: Fix call to AC_CONFIG_AUX_DIR."

19 months agoMerge "CLI: Remove compatibility code."
Jenkins2 [Tue, 28 Nov 2017 18:50:28 +0000 (12:50 -0600)]
Merge "CLI: Remove compatibility code."

19 months agoMerge "translate: Show sample rate for silk, speex, and slin in translation table."
Joshua Colp [Tue, 28 Nov 2017 18:37:51 +0000 (12:37 -0600)]
Merge "translate: Show sample rate for silk, speex, and slin in translation table."

19 months agoautoconf: Use m4 conditionals where possible.
Corey Farrell [Fri, 17 Nov 2017 16:38:48 +0000 (11:38 -0500)]
autoconf: Use m4 conditionals where possible.

Change-Id: I530c0a72f965437acef6a9a4fbfe5c487f078b65

19 months agoautoconf: Fix call to AC_CONFIG_AUX_DIR.
Corey Farrell [Fri, 17 Nov 2017 15:15:17 +0000 (10:15 -0500)]
autoconf: Fix call to AC_CONFIG_AUX_DIR.

The `pwd` parameter to AC_CONFIG_AUX_DIR is unnecessary, the default
value is $srcdir.

Additionally remove the AC_REVISION call.  It only added a comment and
is pointless without SVN tag replacements.

Change-Id: I99299a3217f095bddcb2edefb3b9af0ab147bc29

19 months agoMerge "res_ari: Fix inverted test giving wrong error message."
Joshua Colp [Mon, 27 Nov 2017 23:24:24 +0000 (17:24 -0600)]
Merge "res_ari: Fix inverted test giving wrong error message."

19 months agoMerge "res_rtp_asterisk.c: Fix rtp source address learning for broken clients"
Jenkins2 [Mon, 27 Nov 2017 22:33:38 +0000 (16:33 -0600)]
Merge "res_rtp_asterisk.c: Fix rtp source address learning for broken clients"

19 months agoCLI: Remove compatibility code.
Corey Farrell [Mon, 20 Nov 2017 22:58:37 +0000 (17:58 -0500)]
CLI: Remove compatibility code.

Previous commits maintained compatibility with older remote console
clients as well as maintaining all API's.

Remove the following compatibility code:
* ast_cli_generatornummatches.
* Remote command "_command nummatches".
* Sorting / duplicate removal by remote console.

Change-Id: I59e6ce94fa57ae564888442049695f7e46746437

19 months agoMerge "features.conf.sample: Clarify ActivatedBy documentation wording."
Jenkins2 [Mon, 27 Nov 2017 21:57:05 +0000 (15:57 -0600)]
Merge "features.conf.sample: Clarify ActivatedBy documentation wording."

19 months agoMerge "CLI: Finish conversion of completion handling to vectors."
Jenkins2 [Mon, 27 Nov 2017 21:13:19 +0000 (15:13 -0600)]
Merge "CLI: Finish conversion of completion handling to vectors."

19 months agoMerge "CLI: Refactor cli_complete."
George Joseph [Mon, 27 Nov 2017 20:39:06 +0000 (14:39 -0600)]
Merge "CLI: Refactor cli_complete."

19 months agoMerge "CLI: Rewrite ast_el_strtoarr to use vector's internally."
Joshua Colp [Mon, 27 Nov 2017 20:17:20 +0000 (14:17 -0600)]
Merge "CLI: Rewrite ast_el_strtoarr to use vector's internally."

19 months agoMerge "CLI: Create ast_cli_completion_add function."
George Joseph [Mon, 27 Nov 2017 19:26:43 +0000 (13:26 -0600)]
Merge "CLI: Create ast_cli_completion_add function."

19 months agoMerge "CLI: Refactor ast_cli_display_match_list."
Jenkins2 [Mon, 27 Nov 2017 19:23:52 +0000 (13:23 -0600)]
Merge "CLI: Refactor ast_cli_display_match_list."

19 months agoMerge "CLI: Remove calls to ast_cli_generator."
George Joseph [Mon, 27 Nov 2017 18:11:18 +0000 (12:11 -0600)]
Merge "CLI: Remove calls to ast_cli_generator."

19 months agoMerge "add cmd connection creation on creation ooh323 call data structure"
Jenkins2 [Mon, 27 Nov 2017 17:17:50 +0000 (11:17 -0600)]
Merge "add cmd connection creation on creation ooh323 call data structure"

19 months agoMerge "pjsip: 183 without To tag does not negotiate media"
George Joseph [Mon, 27 Nov 2017 16:52:02 +0000 (10:52 -0600)]
Merge "pjsip: 183 without To tag does not negotiate media"

19 months agoMerge "Add defaultbranch to .gitreview."
Joshua Colp [Mon, 27 Nov 2017 15:23:22 +0000 (09:23 -0600)]
Merge "Add defaultbranch to .gitreview."

19 months agotranslate: Transcode siren14, speex32, silk24, and silk12 via slin16.
Alexander Traud [Sun, 26 Nov 2017 17:47:17 +0000 (18:47 +0100)]
translate: Transcode siren14, speex32, silk24, and silk12 via slin16.

When a format has no pre-recorded sound files, Asterisk has to transcode between
formats. For this, Asterisk has a fixed translation table. If the pre-recorded
sound files are not available in the same sample rate, Asterisk has not only to
transcode but also to resample.

Asterisk has pre-recorded files for SLN (8000 kHz) and SLN16 (16000 kHz).
However before this change, Asterisk did not take the sample rate into account,
because the translation paths to SLN and SLN16 got the same score/weight in the
table. Consequently, you might have got narrow-band audio with siren14, speex32,
silk24, and silk12 although those are (ultra) wide-band audio codecs.

With this change, the distance in sample-rates is taken into account. Now on the
Command-Line interface (CLI) 'core show channels', you should see:

Reported by: Richard Kenner

Change-Id: I9448295c1978be26f8633b6066395e7bbbe2e213

19 months agores_ari: Fix inverted test giving wrong error message.
Richard Mudgett [Sun, 26 Nov 2017 15:44:51 +0000 (09:44 -0600)]
res_ari: Fix inverted test giving wrong error message.

The patch for ASTERISK_24560 inverted a test checking if the bridge name
is being updated to a different name.

* Fix the test to return "Changing bridge name is not implemented" when
someone attempts to change the bridge name.


Change-Id: I4b70bf08b0e02e016108b077ff75b345dec12fc9

19 months agotranslate: Show sample rate for silk, speex, and slin in translation table.
Alexander Traud [Sat, 25 Nov 2017 10:09:08 +0000 (11:09 +0100)]
translate: Show sample rate for silk, speex, and slin in translation table.


Change-Id: I3822956984292c99c48bca8e97807e498ccc0e88

19 months agofeatures.conf.sample: Clarify ActivatedBy documentation wording.
Richard Mudgett [Thu, 23 Nov 2017 19:27:28 +0000 (13:27 -0600)]
features.conf.sample: Clarify ActivatedBy documentation wording.

Change-Id: Id2899331fe05d1909a862ea879742879d086bc64

19 months agoMerge "res_parking: Set load_pri more appropriately."
Joshua Colp [Thu, 23 Nov 2017 18:06:32 +0000 (12:06 -0600)]
Merge "res_parking: Set load_pri more appropriately."

19 months agoMerge "res_mwi_external_ami: Remove incorrect load priority."
Joshua Colp [Thu, 23 Nov 2017 18:02:00 +0000 (12:02 -0600)]
Merge "res_mwi_external_ami: Remove incorrect load priority."

19 months agoMerge "Loader: Remove unneeded load_pri declarations."
Joshua Colp [Thu, 23 Nov 2017 17:15:19 +0000 (11:15 -0600)]
Merge "Loader: Remove unneeded load_pri declarations."

19 months agoMerge "README: Convert to"
Joshua Colp [Thu, 23 Nov 2017 16:30:11 +0000 (10:30 -0600)]
Merge "README: Convert to"

19 months agoMerge "res_rtp_asterisk: ICE server-reflexive candidates (srflx) with Dual-Stack."
Joshua Colp [Thu, 23 Nov 2017 15:49:46 +0000 (09:49 -0600)]
Merge "res_rtp_asterisk: ICE server-reflexive candidates (srflx) with Dual-Stack."

19 months agoMerge "chan_sip: ICE contained square brackets around IPv6 addresses."
Joshua Colp [Thu, 23 Nov 2017 14:56:17 +0000 (08:56 -0600)]
Merge "chan_sip: ICE contained square brackets around IPv6 addresses."

19 months agoAdd defaultbranch to .gitreview.
Corey Farrell [Thu, 23 Nov 2017 00:37:44 +0000 (19:37 -0500)]
Add defaultbranch to .gitreview.

Although the default value of defaultbranch is master I'm adding it
anyways.  This way when new major branches are being created the value
can be updated instead of having to remember the name of the key.

Change-Id: I3db009217c5ae399fb84bee95076f4dbb7fa52d2

19 months agoadd cmd connection creation on creation ooh323 call data structure
Alexander Anikin [Thu, 23 Nov 2017 00:43:00 +0000 (03:43 +0300)]
add cmd connection creation on creation ooh323 call data structure

ASTERISK-27353 #close

Reported by: Marco Giordani

Change-Id: I455096bd7da016b871afe09af86067c2c7c9f33f

19 months agopjsip: 183 without To tag does not negotiate media
Kevin Harwell [Wed, 22 Nov 2017 16:42:48 +0000 (10:42 -0600)]
pjsip: 183 without To tag does not negotiate media

If a 183 with sdp response is receive without a To tag the sdp is not
negotiated. According to RFC 3261 section 12.1.2 while a To tag is required,
the client needs to still be able to handle the missing tag case for
backwards compatibility.

This patch, accepted by and applied to pjproject, makes it so if an incoming
180/183 with SDP comes in without a To tag it gets appropriately handled.

ASTERISK-27442 #close

Change-Id: Ic9d6b01e05e8f4874eebbd7adfe05d932025d203

19 months agores_rtp_asterisk: ICE server-reflexive candidates (srflx) with Dual-Stack.
Alexander Traud [Tue, 21 Nov 2017 12:39:34 +0000 (13:39 +0100)]
res_rtp_asterisk: ICE server-reflexive candidates (srflx) with Dual-Stack.

Previously, Asterisk sent srflx only when configured exclusively for IPv4. Now,
srflx is gathered and sent via SDP, even when Asterisk is enabled for
Dual Stack (IPv4+IPv6) and an IPv4 interface is available/used.


Change-Id: Ie07d8e2bfa7b6fe06fcdc73d390a7a9a4d8c0bc1

19 months agores_parking: Set load_pri more appropriately.
Corey Farrell [Mon, 20 Nov 2017 19:05:46 +0000 (14:05 -0500)]
res_parking: Set load_pri more appropriately.

res_parking had an inplicit load_pri of 0 meaning it was one of the very
first modules loaded after modules with global symbols.  Set it to
AST_MODPRI_DEVSTATE_PROVIDER as it provides device state for parking

Change-Id: I297b6fb3ff6993ec004e667b22a74f5925906259

19 months agoMerge "aoc: Remove silly usage of RAII_VAR."
Joshua Colp [Tue, 21 Nov 2017 17:46:49 +0000 (11:46 -0600)]
Merge "aoc: Remove silly usage of RAII_VAR."

19 months agoMerge "abstract_jb: Remove silly usage of RAII_VAR."
Joshua Colp [Tue, 21 Nov 2017 17:04:47 +0000 (11:04 -0600)]
Merge "abstract_jb: Remove silly usage of RAII_VAR."

19 months agoMerge "BuildSystem: pjsip_evsub_set_uas_timeout was not used."
Joshua Colp [Tue, 21 Nov 2017 16:33:28 +0000 (10:33 -0600)]
Merge "BuildSystem: pjsip_evsub_set_uas_timeout was not used."

19 months agoMerge "app: Remove silly usage of RAII_VAR."
Joshua Colp [Tue, 21 Nov 2017 15:42:11 +0000 (09:42 -0600)]
Merge "app: Remove silly usage of RAII_VAR."

19 months agoMerge "ccss: Remove silly usage of RAII_VAR."
Joshua Colp [Tue, 21 Nov 2017 15:27:20 +0000 (09:27 -0600)]
Merge "ccss: Remove silly usage of RAII_VAR."

19 months agoREADME: Convert to
Corey Farrell [Sat, 18 Nov 2017 03:33:04 +0000 (22:33 -0500)]
README: Convert to

Convert the README file to markdown format, remove the old README.  This
causes websites like github to display the README in a much nicer
format with live links.  The raw file is still very readable from
plain text editors and terminals.

Change-Id: I7d13131764a9a9026e5f8a6ddb245a01bbd788e7

19 months agoCLI: Finish conversion of completion handling to vectors.
Corey Farrell [Mon, 20 Nov 2017 22:48:22 +0000 (17:48 -0500)]
CLI: Finish conversion of completion handling to vectors.

Change-Id: Ib81318f4ee52a5e73b003316e13fe9be1dd897a1

19 months agoCLI: Refactor cli_complete.
Corey Farrell [Tue, 7 Nov 2017 21:34:40 +0000 (16:34 -0500)]
CLI: Refactor cli_complete.

* Stop using "_COMMAND NUMMATCHES" on remote consoles.  Using this
  command had doubled the amount of work needed from the Asterisk
  daemon for each completion request.
* Fix code formatting.
* Remove static buffer used to send the command, use the same buffer
  that will receive the results.
* Move sort from ast_cli_display_match_list.

Change-Id: Ie2211b519a3d4bec45bf46e0095bdd01d384cb69

19 months agoCLI: Rewrite ast_el_strtoarr to use vector's internally.
Corey Farrell [Tue, 7 Nov 2017 20:13:57 +0000 (15:13 -0500)]
CLI: Rewrite ast_el_strtoarr to use vector's internally.

This rewrites ast_el_strtoarr to use vector's internally, but still
return the original NULL terminated array of strings.

Change-Id: Ibfe776cbe14f750effa9ca360930acaccc02e957

19 months agoCLI: Refactor ast_cli_display_match_list.
Corey Farrell [Tue, 7 Nov 2017 20:47:51 +0000 (15:47 -0500)]
CLI: Refactor ast_cli_display_match_list.

* Stop estimating line count, just print until we run out of matches.
* Stop freeing entries, the caller does that anyways.
* Stop calculating / returning numoutput, it was ignored.

Change-Id: I7f92afa8bea92241a95227587367424c8c32a5cb

19 months agoCLI: Create ast_cli_completion_add function.
Corey Farrell [Thu, 9 Nov 2017 05:42:10 +0000 (00:42 -0500)]
CLI: Create ast_cli_completion_add function.

Some completion generators are very inefficent due to the way CLI
requests matches one at a time.  ast_cli_completion_add can be called
multiple times during one invokation of a CLI generator to add all
results without having to reinitialize the search state for each match.

Change-Id: I73d26d270bbbe1e3e6390799cfc1b639e39cceec

19 months agoCLI: Remove calls to ast_cli_generator.
Corey Farrell [Thu, 9 Nov 2017 06:39:13 +0000 (01:39 -0500)]
CLI: Remove calls to ast_cli_generator.

The ability to add to localized storage cannot be supported by
ast_cli_generator.  The only calls to ast_cli_generator should be by
functions that need to proxy the CLI generator, for example 'cli check
permissions' or 'core show help'.

* ast_cli_generatornummatches now retrieves the vector of matches and
  reports the number of elements (not including 'best' match).
* test_substitution retrieves and iterates the vector.

Change-Id: I8cd6b93905363cf7a33a2d2b0e2a8f8446d9f248

19 months agoMerge "cli: Remove silly usage of RAII_VAR."
Joshua Colp [Tue, 21 Nov 2017 13:54:59 +0000 (07:54 -0600)]
Merge "cli: Remove silly usage of RAII_VAR."

19 months agoMerge "loader: Fix comments in struct ast_module."
Joshua Colp [Tue, 21 Nov 2017 12:54:25 +0000 (06:54 -0600)]
Merge "loader: Fix comments in struct ast_module."

19 months agoMerge "menuselect: Remove ineffective weak attribute detection."
Joshua Colp [Tue, 21 Nov 2017 12:50:55 +0000 (06:50 -0600)]
Merge "menuselect: Remove ineffective weak attribute detection."

19 months agoMerge "CLI: Create ast_cli_completion_vector."
Joshua Colp [Tue, 21 Nov 2017 11:24:07 +0000 (05:24 -0600)]
Merge "CLI: Create ast_cli_completion_vector."

19 months agoMerge "README: Send people to secure websites where available."
Joshua Colp [Tue, 21 Nov 2017 11:23:47 +0000 (05:23 -0600)]
Merge "README: Send people to secure websites where available."

19 months agoMerge "Build: Fix issues building without SSL."
Joshua Colp [Tue, 21 Nov 2017 11:23:24 +0000 (05:23 -0600)]
Merge "Build: Fix issues building without SSL."

19 months agoMerge "Build: Fix OSX build issues."
Joshua Colp [Tue, 21 Nov 2017 11:22:39 +0000 (05:22 -0600)]
Merge "Build: Fix OSX build issues."

19 months agochan_sip: ICE contained square brackets around IPv6 addresses.
Alexander Traud [Mon, 20 Nov 2017 15:13:39 +0000 (16:13 +0100)]
chan_sip: ICE contained square brackets around IPv6 addresses.


Change-Id: Iaeed89b4fa05d94c5f0ec2d3b7cd6e93d2d5a8f7