Commit Graph

30265 Commits

Author SHA1 Message Date
Joshua Colp
a6f4edf032 pjsip: Ignore state changes from old transactions.
When we fail over to a new target we create a new transaction
and it becomes the current INVITE transaction. This does not
prevent the previous transaction from raising state changes
and causing the session to be prematurely disconnected if a
transport error occurs immediately.

This change backports a fix from PJSIP that eliminates the
incorrect state change and reduces when they would be raised
in the first place.

ASTERISK-27408

Change-Id: Id22d087591782eee31311753d11e7eca4b95ef34
2017-12-13 11:09:50 +00:00
Jenkins2
e6439703e8 Merge "Add new object for VoicemailUserEntry" into 15 2017-12-05 19:59:59 -06:00
Jenkins2
47124e97fe Merge "res_rtp_asterisk.c: Increase strictrtp learning timeout time." into 15 2017-12-05 19:07:20 -06:00
Joshua Colp
99d560f19b Merge "pjproject: Clean up disabling of WebRTC support." into 15 2017-12-05 18:24:16 -06:00
Richard Mudgett
04f7a58f67 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
2017-12-04 17:21:15 -06:00
Sungtae Kim
30db6bb1a0 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.

ASTERISK-27456

Change-Id: I5c71521c2d1daf8b7b161e31c34d28cca6aea4c7
2017-12-04 12:24:32 -06:00
Jenkins2
1022fd98c6 Merge "res_rtp_asterisk: Correct default in sample configuration file." into 15 2017-12-04 11:41:15 -06:00
Richard Mudgett
8543582bbd 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.

ASTERISK-27453

Change-Id: Ic5e711164cbb91b4d1c1e40c83697755640f138c
2017-12-04 10:44:50 -06:00
Jenkins2
6b44f6cd68 Merge "README-SERIOUSLY.bestpractices.txt: Convert to markdown" into 15 2017-12-04 10:43:16 -06:00
Jenkins2
d2b6c92baf Merge "autoconf: Remove use of m4_ifblank." into 15 2017-12-04 09:44:34 -06:00
Joshua Colp
cfc121128b Merge "config: Speed up config template lookup" into 15 2017-12-04 08:51:26 -06:00
Alexander Traud
19de8a71b5 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:37 -06:00
Joshua Colp
1d1aa3f1a1 Merge "config: Speed up ACO & sorcery initialization" into 15 2017-12-04 08:00:31 -06:00
Jenkins2
ef02d82835 Merge "res_http_post: Not all versions of gmime have GMIME_MAJOR_VERSION." into 15 2017-12-04 07:27:14 -06:00
Joshua Colp
31e9e31ea5 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-03 18:53:56 -06:00
Corey Farrell
569578050c 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:47 -06:00
Corey Farrell
1c56c542e0 README-SERIOUSLY.bestpractices.txt: Convert to markdown
Follow-up to conversion of README.md.

Change-Id: I17ee7cf25bc027ece844efa2c1dfe613aff1e35b
2017-12-01 16:15:25 -06:00
George Joseph
8f5dff543e 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 13:02:39 -06:00
Sean Bright
ef26edd554 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 11:13:55 -06:00
Sean Bright
3af6c1b4bc 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 08:40:56 -06:00
Joshua Colp
ff8e0f78ef 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 06:08:35 -06:00
Jenkins2
b4bbe04898 Merge "translate: Transcode siren14, speex32, silk24, and silk12 via slin16." into 15 2017-11-30 10:06:25 -06:00
Jenkins2
4f6bd5898e Merge "autoconf: Use m4 conditionals where possible." into 15 2017-11-30 09:27:05 -06:00
Jenkins2
62ac16dadf Merge "autoconf: Fix call to AC_CONFIG_AUX_DIR." into 15 2017-11-30 08:50:15 -06:00
Jenkins2
a8b7447b61 Merge "translate: Show sample rate for silk, speex, and slin in translation table." into 15 2017-11-28 12:24:57 -06:00
Corey Farrell
615fff70f8 autoconf: Use m4 conditionals where possible.
Change-Id: I530c0a72f965437acef6a9a4fbfe5c487f078b65
2017-11-28 10:40:42 -05:00
Corey Farrell
ada498a025 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:03 -05:00
Joshua Colp
f78360b371 Merge "res_ari: Fix inverted test giving wrong error message." into 15 2017-11-27 17:24:06 -06:00
Joshua Colp
61158235d2 Merge "res_rtp_asterisk.c: Fix rtp source address learning for broken clients" into 15 2017-11-27 16:28:08 -06:00
Joshua Colp
546d93a6b6 Merge "CLI: Finish conversion of completion handling to vectors." into 15 2017-11-27 16:16:53 -06:00
Jenkins2
83d056b4e4 Merge "features.conf.sample: Clarify ActivatedBy documentation wording." into 15 2017-11-27 15:50:12 -06:00
Jenkins2
68c16d3c57 Merge "CLI: Refactor cli_complete." into 15 2017-11-27 14:17:06 -06:00
Jenkins2
a6fb67aa47 Merge "CLI: Rewrite ast_el_strtoarr to use vector's internally." into 15 2017-11-27 13:39:37 -06:00
Jenkins2
d817611374 Merge "CLI: Refactor ast_cli_display_match_list." into 15 2017-11-27 13:23:28 -06:00
George Joseph
d5eb530bdf Merge "CLI: Create ast_cli_completion_add function." into 15 2017-11-27 12:29:10 -06:00
George Joseph
c34223c958 Merge "CLI: Remove calls to ast_cli_generator." into 15 2017-11-27 11:31:24 -06:00
George Joseph
570ce8206e Merge "add cmd connection creation on creation ooh323 call data structure" into 15 2017-11-27 10:51:23 -06:00
Joshua Colp
c8fe2f64ce Merge "pjsip: 183 without To tag does not negotiate media" into 15 2017-11-27 09:54:04 -06:00
Joshua Colp
6d938c63c5 Merge "Add defaultbranch to .gitreview." into 15 2017-11-27 09:23:15 -06:00
Alexander Traud
a0654e40e3 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:23 -06:00
Richard Mudgett
338e8c0f0f 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:48 -06:00
Alexander Traud
e2027b41e6 translate: Show sample rate for silk, speex, and slin in translation table.
ASTERISK-24662

Change-Id: I3822956984292c99c48bca8e97807e498ccc0e88
2017-11-25 04:10:45 -06:00
Joshua Colp
5d1de66915 Merge "res_parking: Make load_pri explicit." into 15 2017-11-23 13:34:42 -06:00
Richard Mudgett
c12437273e features.conf.sample: Clarify ActivatedBy documentation wording.
Change-Id: Id2899331fe05d1909a862ea879742879d086bc64
2017-11-23 13:28:43 -06:00
Joshua Colp
5582566c87 Merge "res_mwi_external_ami: Remove incorrect load priority." into 15 2017-11-23 11:50:06 -06:00
Joshua Colp
67c6f97955 Merge "Loader: Remove unneeded load_pri declarations." into 15 2017-11-23 11:00:09 -06:00
Joshua Colp
27be3014cb Merge "README: Convert to README.md." into 15 2017-11-23 10:15:38 -06:00
Joshua Colp
8effdb20ed Merge "res_rtp_asterisk: ICE server-reflexive candidates (srflx) with Dual-Stack." into 15 2017-11-23 09:29:01 -06:00
Joshua Colp
662051fbf1 Merge "chan_sip: ICE contained square brackets around IPv6 addresses." into 15 2017-11-23 08:46:36 -06:00
Alexander Anikin
c75a1d2fe7 add cmd connection creation on creation ooh323 call data structure
ASTERISK-27353 #close

Reported by: Marco Giordani

Change-Id: I455096bd7da016b871afe09af86067c2c7c9f33f
2017-11-23 03:53:24 +03:00