Commit Graph

29574 Commits

Author SHA1 Message Date
Sean Bright
077ceacd48 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
VM.

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
2017-12-01 09:29:43 -05:00
Joshua Colp
dac70daf1b 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.

ASTERISK-27454

Change-Id: I01d99590045971ed6787899147170a5954077238
2017-12-01 08:07:52 -04:00
Jenkins2
0f4152307a Merge "translate: Transcode siren14, speex32, silk24, and silk12 via slin16." into 13 2017-11-30 09:30:55 -06:00
Joshua Colp
8e979ce41b Merge "autoconf: Use m4 conditionals where possible." into 13 2017-11-30 09:02:48 -06:00
Jenkins2
838b0a41e0 Merge "autoconf: Fix call to AC_CONFIG_AUX_DIR." into 13 2017-11-30 08:32:08 -06:00
Jenkins2
749c544dbb Merge "translate: Show sample rate for silk, speex, and slin in translation table." into 13 2017-11-28 12:13:06 -06:00
Corey Farrell
6274e58a25 autoconf: Use m4 conditionals where possible.
Change-Id: I530c0a72f965437acef6a9a4fbfe5c487f078b65
2017-11-28 10:41:31 -05:00
Corey Farrell
635fe8ec87 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
2017-11-28 10:40:25 -05:00
Joshua Colp
85ffedabd1 Merge "res_ari: Fix inverted test giving wrong error message." into 13 2017-11-27 16:55:57 -06:00
Joshua Colp
759468c45f Merge "CLI: Finish conversion of completion handling to vectors." into 13 2017-11-27 16:17:04 -06:00
Jenkins2
2edbaa1588 Merge "res_rtp_asterisk.c: Fix rtp source address learning for broken clients" into 13 2017-11-27 16:14:49 -06:00
Jenkins2
c9a531d03b Merge "features.conf.sample: Clarify ActivatedBy documentation wording." into 13 2017-11-27 15:27:07 -06:00
Jenkins2
c3a25ff753 Merge "CLI: Refactor cli_complete." into 13 2017-11-27 13:53:11 -06:00
Jenkins2
efb165a8a8 Merge "CLI: Rewrite ast_el_strtoarr to use vector's internally." into 13 2017-11-27 13:22:57 -06:00
George Joseph
f1f88c40f6 Merge "CLI: Refactor ast_cli_display_match_list." into 13 2017-11-27 12:29:03 -06:00
Jenkins2
2e3f878423 Merge "CLI: Create ast_cli_completion_add function." into 13 2017-11-27 12:10:11 -06:00
George Joseph
635583dabd Merge "CLI: Remove calls to ast_cli_generator." into 13 2017-11-27 11:32:06 -06:00
George Joseph
9cbcd89587 Merge "add cmd connection creation on creation ooh323 call data structure" into 13 2017-11-27 10:51:49 -06:00
Joshua Colp
32bd372f3a Merge "pjsip: 183 without To tag does not negotiate media" into 13 2017-11-27 09:39:52 -06:00
Joshua Colp
13f3588150 Merge "Add defaultbranch to .gitreview." into 13 2017-11-27 09:03:03 -06:00
Alexander Traud
c46cab49a3 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:
(slin@16000)->(slin@32000)->(speex@32000).

ASTERISK-23735
Reported by: Richard Kenner

Change-Id: I9448295c1978be26f8633b6066395e7bbbe2e213
2017-11-26 11:48:34 -06:00
Richard Mudgett
81e2d8aa9a 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.

ASTERISK-27445

Change-Id: I4b70bf08b0e02e016108b077ff75b345dec12fc9
2017-11-26 09:51:42 -06:00
Alexander Traud
0f719aa051 translate: Show sample rate for silk, speex, and slin in translation table.
ASTERISK-24662

Change-Id: I3822956984292c99c48bca8e97807e498ccc0e88
2017-11-25 04:10:33 -06:00
Joshua Colp
ee3562619c Merge "res_parking: Make load_pri explicit." into 13 2017-11-23 13:34:35 -06:00
Richard Mudgett
8dd9a79e6e features.conf.sample: Clarify ActivatedBy documentation wording.
Change-Id: Id2899331fe05d1909a862ea879742879d086bc64
2017-11-23 13:28:23 -06:00
Joshua Colp
71871e1ea7 Merge "res_mwi_external_ami: Remove incorrect load priority." into 13 2017-11-23 11:50:02 -06:00
Joshua Colp
83dffa6088 Merge "Loader: Remove unneeded load_pri declarations." into 13 2017-11-23 10:42:06 -06:00
Joshua Colp
fc180eb56a Merge "README: Convert to README.md." into 13 2017-11-23 09:55:17 -06:00
Joshua Colp
193073e851 Merge "res_rtp_asterisk: ICE server-reflexive candidates (srflx) with Dual-Stack." into 13 2017-11-23 09:12:42 -06:00
Joshua Colp
3cd7114490 Merge "chan_sip: ICE contained square brackets around IPv6 addresses." into 13 2017-11-23 08:45:33 -06:00
Corey Farrell
a78d747ee8 Add defaultbranch to .gitreview.
This will cause `git review` to post changes to the branch it is based
on instead of always using master.  The defaultbranch setting should be
updated when new major branches are created.

Change-Id: I3db009217c5ae399fb84bee95076f4dbb7fa52d2
2017-11-22 20:02:24 -05:00
Alexander Anikin
d6568aa72a add cmd connection creation on creation ooh323 call data structure
ASTERISK-27353 #close

Reported by: Marco Giordani

Change-Id: I455096bd7da016b871afe09af86067c2c7c9f33f
2017-11-23 03:47:09 +03:00
Kevin Harwell
5abab0a34c 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
2017-11-22 11:00:02 -06:00
Alexander Traud
6ebe03d4b3 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.

ASTERISK-27437

Change-Id: Ie07d8e2bfa7b6fe06fcdc73d390a7a9a4d8c0bc1
2017-11-22 03:07:12 -06:00
Joshua Colp
d2fb0ffb5b Merge "aoc: Remove silly usage of RAII_VAR." into 13 2017-11-21 11:16:08 -06:00
Corey Farrell
2bff38b8a8 res_parking: Make load_pri explicit.
res_parking has an implicit load_pri of 0 meaining it's one of the very
first modules loaded after modules with global symbols.  Set it
explicitly in the AST_MODULE_INFO block.

Change-Id: I297b6fb3ff6993ec004e667b22a74f5925906259
2017-11-21 11:30:49 -05:00
Joshua Colp
27491c6847 Merge "abstract_jb: Remove silly usage of RAII_VAR." into 13 2017-11-21 10:30:03 -06:00
Joshua Colp
3d429a5072 Merge "BuildSystem: pjsip_evsub_set_uas_timeout was not used." into 13 2017-11-21 09:53:54 -06:00
Joshua Colp
db7a180ce2 Merge "app: Remove silly usage of RAII_VAR." into 13 2017-11-21 09:27:26 -06:00
Corey Farrell
c6e1e6e968 README: Convert to README.md.
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
2017-11-21 10:17:28 -05:00
Corey Farrell
e9ba6a6b88 CLI: Finish conversion of completion handling to vectors.
Change-Id: Ib81318f4ee52a5e73b003316e13fe9be1dd897a1
2017-11-21 09:56:31 -05:00
Corey Farrell
26a400c67a 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
2017-11-21 09:56:29 -05:00
Corey Farrell
e723331f4f 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
2017-11-21 09:56:26 -05:00
Corey Farrell
e07d94111d 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
2017-11-21 09:56:23 -05:00
Corey Farrell
8a63f4e709 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
2017-11-21 09:47:40 -05:00
Corey Farrell
115f53a0fb 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
2017-11-21 09:47:38 -05:00
Joshua Colp
0fd8db7ec2 Merge "ccss: Remove silly usage of RAII_VAR." into 13 2017-11-21 08:17:23 -06:00
Joshua Colp
a8ac9a551d Merge "cli: Remove silly usage of RAII_VAR." into 13 2017-11-21 07:55:03 -06:00
Joshua Colp
090ce0cd1b Merge "loader: Fix comments in struct ast_module." into 13 2017-11-21 07:14:32 -06:00
Joshua Colp
4e6a0d5683 Merge "menuselect: Remove ineffective weak attribute detection." into 13 2017-11-21 06:50:53 -06:00