Commit Graph

29584 Commits

Author SHA1 Message Date
Jenkins2
c0d1f447ba Merge "autoconf: Remove use of m4_ifblank." into 13 2017-12-04 09:02:27 -06:00
Jenkins2
7e4bd0cf69 Merge "config: Speed up config template lookup" into 13 2017-12-04 08:52:45 -06:00
Alexander Traud
e819cf7826 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".

ASTERISK-20643

Change-Id: I2a2e0a900455d0767a99ea576e30adc6d7608a36
2017-12-04 08:34:25 -06:00
Jenkins2
9e9dccd293 Merge "config: Speed up ACO & sorcery initialization" into 13 2017-12-04 08:01:11 -06:00
Jenkins2
59bb2c1920 Merge "res_http_post: Not all versions of gmime have GMIME_MAJOR_VERSION." into 13 2017-12-04 07:02:25 -06:00
Joshua Colp
41c14fd807 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.

ASTERISK-26980

Change-Id: I27da2c894f87914956a72710222e17462d8a44bc
2017-12-04 00:52:42 +00:00
Corey Farrell
f5cfd87c4a 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.  ./bootstrap.sh was run but this patch
does not result in any difference to the generated configure script.

Change-Id: I280785deb872ed8d3339d99cce63a2b54d5f1438
2017-12-02 15:59:55 -06:00
Corey Farrell
ef25628b10 README-SERIOUSLY.bestpractices.txt: Convert to markdown
Follow-up to conversion of README.md.

Change-Id: I17ee7cf25bc027ece844efa2c1dfe613aff1e35b
2017-12-01 17:18:57 -05:00
George Joseph
0cdd31ee10 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.

ASTERISK-27452
Reported by: Juan Sacco

Change-Id: I9af7268eba14bf76960566f891320f97b974e6dd
2017-12-01 12:00:24 -07:00
Sean Bright
6635ddc819 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
categories.

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
2017-12-01 12:13:33 -05:00
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