]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
7 years agoMerge "Fix Common Typo's." into 13
Jenkins2 [Thu, 21 Dec 2017 14:34:30 +0000 (08:34 -0600)] 
Merge "Fix Common Typo's." into 13

7 years agoMerge "docs: Remove old API changes documentation" into 13
Joshua Colp [Thu, 21 Dec 2017 12:35:22 +0000 (06:35 -0600)] 
Merge "docs: Remove old API changes documentation" into 13

7 years agoMerge "app_festival: Fix fd leak on connection failure." into 13
Jenkins2 [Thu, 21 Dec 2017 12:11:47 +0000 (06:11 -0600)] 
Merge "app_festival: Fix fd leak on connection failure." into 13

7 years agoMerge "bridge: Old channel video source not set to NULL after unref." into 13
Jenkins2 [Thu, 21 Dec 2017 11:47:18 +0000 (05:47 -0600)] 
Merge "bridge: Old channel video source not set to NULL after unref." into 13

7 years agoMerge "core: Fix unused variable error in handle_show_sysinfo." into 13
Joshua Colp [Thu, 21 Dec 2017 11:46:32 +0000 (05:46 -0600)] 
Merge "core: Fix unused variable error in handle_show_sysinfo." into 13

7 years agodocs: Remove old API changes documentation
Sean Bright [Wed, 20 Dec 2017 20:54:24 +0000 (15:54 -0500)] 
docs: Remove old API changes documentation

Change-Id: I1bc7957121cc7ae27dca04acc3613f4e1858476a

7 years agoFix Common Typo's.
Corey Farrell [Wed, 20 Dec 2017 17:14:54 +0000 (12:14 -0500)] 
Fix Common Typo's.

Fix instances of:
* Retreive
* Recieve
* other then
* different then
* Repeated words ("the the", "an an", "and and", etc).
* othterwise, teh

ASTERISK-24198 #close

Change-Id: I3809a9c113b92fd9d0d9f9bac98e9c66dc8b2d31

7 years agomanager.h: Bump AMI version
Richard Mudgett [Wed, 20 Dec 2017 17:30:54 +0000 (11:30 -0600)] 
manager.h: Bump AMI version

Change-Id: I62e6ddeb261ef012687e1fb6734c554e2499b6bf

7 years agoapp_festival: Fix fd leak on connection failure.
Corey Farrell [Wed, 20 Dec 2017 06:53:17 +0000 (01:53 -0500)] 
app_festival: Fix fd leak on connection failure.

Change-Id: If5efaddcf735ff7d17e55c36cc1388946cee9e0f

7 years agobridge: Old channel video source not set to NULL after unref.
Corey Farrell [Wed, 20 Dec 2017 16:23:08 +0000 (11:23 -0500)] 
bridge: Old channel video source not set to NULL after unref.

The bridge holds onto the old channel video source after it's been
released.  This can lead to use after free errors.

ASTERISK-27229 #close

Change-Id: Ib2dab61677dd8a21f7ad53cdc9b8ca93297838b3

7 years agocore: Fix unused variable error in handle_show_sysinfo.
Corey Farrell [Wed, 20 Dec 2017 16:13:13 +0000 (11:13 -0500)] 
core: Fix unused variable error in handle_show_sysinfo.

Apparently in OSX it's possible for OSX to HAVE_SYSCTL but not
HAVE_SYSINFO or HAVE_SWAPCTL.  In this case freeswap caused an unused
variable error.

ASTERISK-26563 #close

Change-Id: I8ec5b1897b786cc1abaf62264aa75039eea05510

7 years agoMerge "CLI: Address multiple issues." into 13
Joshua Colp [Wed, 20 Dec 2017 14:34:37 +0000 (08:34 -0600)] 
Merge "CLI: Address multiple issues." into 13

7 years agoMerge "bridge: Stop music on hold on adding an arbitrary channel to a bridge" into 13
Jenkins2 [Wed, 20 Dec 2017 14:11:54 +0000 (08:11 -0600)] 
Merge "bridge: Stop music on hold on adding an arbitrary channel to a bridge" into 13

7 years agoMerge "res_rtp_asterisk: Avoid close the rtp/rtcp fd twice." into 13
Jenkins2 [Wed, 20 Dec 2017 13:47:22 +0000 (07:47 -0600)] 
Merge "res_rtp_asterisk:  Avoid close the rtp/rtcp fd twice." into 13

7 years agoMerge "core: Fix multiple trivial issues in the core." into 13
Joshua Colp [Wed, 20 Dec 2017 13:01:01 +0000 (07:01 -0600)] 
Merge "core: Fix multiple trivial issues in the core." into 13

7 years agoMerge "chan_sip: Fix memory leaks." into 13
Jenkins2 [Wed, 20 Dec 2017 01:20:39 +0000 (19:20 -0600)] 
Merge "chan_sip: Fix memory leaks." into 13

7 years agoMerge "Remove constant conditionals (dead-code)." into 13
Jenkins2 [Wed, 20 Dec 2017 01:13:20 +0000 (19:13 -0600)] 
Merge "Remove constant conditionals (dead-code)." into 13

7 years agoMerge "chan_console: Use correct parameter for 'set active'" into 13
George Joseph [Tue, 19 Dec 2017 22:14:03 +0000 (16:14 -0600)] 
Merge "chan_console: Use correct parameter for 'set active'" into 13

7 years agoCLI: Address multiple issues.
Corey Farrell [Tue, 19 Dec 2017 02:12:47 +0000 (21:12 -0500)] 
CLI: Address multiple issues.

* listen uses the variable `s` for the result from ast_poll() then
  overwrites it with the result of accept().  Create a separate variable
  poll_result to avoid confusion since ast_poll does not return a file
  descriptor.
* Resolve fd leak that would occur if setsockopt failed in listen.
* Reserve an extra byte while processing completion results from remote
  daemon.  This fixes a bug where completion processing used strstr() on
  a string that was not '\0' terminated.  This was no risk to the Asterisk
  daemon, the bug was only reachable the remote console process.
* Resolve leak in handle_showchan when the channel is not found.
* Multiple leaks and a deadlock in pbx_config CLI completion.
* Fix leaks in "manager show command".

Change-Id: I8f633ceb1714867ae30ef4e421858f77c14485a9

7 years agores_rtp_asterisk: Avoid close the rtp/rtcp fd twice.
Aaron An [Tue, 19 Dec 2017 20:15:29 +0000 (15:15 -0500)] 
res_rtp_asterisk:  Avoid close the rtp/rtcp fd twice.

When RTCP-MUX enabled. rtp->s is the same as rtcp->s, check this before
close the file descriptor. Close the FD twice will hangs the asterisk
under heavy load.

ASTERISK-27299 #close
Reported-by: Aaron An
Tested-by: AaronAn
Change-Id: I870a072d73fd207463ac116ef97100addbc0820a

7 years agoMerge "main/app: Fix leaks." into 13
Jenkins2 [Tue, 19 Dec 2017 20:10:02 +0000 (14:10 -0600)] 
Merge "main/app: Fix leaks." into 13

7 years agobridge: Stop music on hold on adding an arbitrary channel to a bridge
Ivan Poddubny [Sat, 16 Dec 2017 13:51:16 +0000 (14:51 +0100)] 
bridge: Stop music on hold on adding an arbitrary channel to a bridge

When a channel that is on hold gets added to a bridge by
the Bridge AMI action or the dialplan application of the same name,
music continues to play, causing "robotic sound".

This commit adds a call to ast_moh_stop to stop the music.
Also, it makes the AMI Park action use the right MOH class when the
channel gets parked.

Reported by: Zane Conkle

ASTERISK-25079 #close

Change-Id: I4b129c5a20c15e63968842460ac5a1a85903cf9f

7 years agochan_sip: Fix memory leaks.
Corey Farrell [Tue, 19 Dec 2017 00:59:57 +0000 (19:59 -0500)] 
chan_sip: Fix memory leaks.

In change_redirecting_information variables we use ast_strlen_zero to
see if a value should be saved.  In the case where the value is not NULL
but is a zero length string we leaked.

handle_response_subscribe leaked a reference to the ccss monitor
instance.

Change-Id: Ib11444de69c3d5b2360a88ba2feb54d2c2e9f05f

7 years agoMerge "func_callerid: Initialize app argument structures." into 13
Jenkins2 [Tue, 19 Dec 2017 17:34:08 +0000 (11:34 -0600)] 
Merge "func_callerid: Initialize app argument structures." into 13

7 years agoMerge "rtp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage." into 13
Jenkins2 [Tue, 19 Dec 2017 17:04:03 +0000 (11:04 -0600)] 
Merge "rtp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage." into 13

7 years agochan_console: Use correct parameter for 'set active'
Oron Peled [Tue, 19 Dec 2017 08:50:04 +0000 (10:50 +0200)] 
chan_console: Use correct parameter for 'set active'

chan_console supports multiple devices but the CLI only works on a
single device. 'console set active' selects this device.

Sadly that CLI picks the wrong command-line parameter and will only
work for a device called 'active'.

ASTERISK-27490 #close

Change-Id: I2f0e5fe63db19845bee862575b739360797dc73d

7 years agoMerge "ast_json_pack(): Use safer json ref mechanism." into 13
Jenkins2 [Tue, 19 Dec 2017 16:02:19 +0000 (10:02 -0600)] 
Merge "ast_json_pack(): Use safer json ref mechanism." into 13

7 years agoRemove constant conditionals (dead-code).
Corey Farrell [Mon, 18 Dec 2017 21:36:21 +0000 (16:36 -0500)] 
Remove constant conditionals (dead-code).

Some variables are set and never changed, making them constant.  This
means that code in the 'false' block of the conditional is unreachable.

In chan_skinny and res_config_ldap I used preprocessor directive `#if 0`
as I'm unsure if the unreachable code could be enabled in the future.

Change-Id: I62e2aac353d739fb3c983cf768933120f5fba059

7 years agocore: Fix multiple trivial issues in the core.
Corey Farrell [Tue, 19 Dec 2017 05:17:08 +0000 (00:17 -0500)] 
core: Fix multiple trivial issues in the core.

* Fix small leaks in from error condition in translate.c.
* Check new file descriptor is less than 0, not less than or equal.

Change-Id: Id7782775486175c739e0c4bf3ea5e17e3f452a99

7 years agomain/app: Fix leaks.
Corey Farrell [Tue, 19 Dec 2017 01:47:54 +0000 (20:47 -0500)] 
main/app: Fix leaks.

* ast_linear_stream would leak a file descriptor if it failed to allocate
  lin.
* ast_control_tone leaked zone and ts if ast_playtones_start failed.

Additionally added whitespace to ast_linear_stream, pulled assignments
out of conditionals for improved readability.

Change-Id: I6d1a10cf9161b1529d939b9b2d63ea36d395b657

7 years agofunc_callerid: Initialize app argument structures.
Corey Farrell [Tue, 19 Dec 2017 01:19:34 +0000 (20:19 -0500)] 
func_callerid: Initialize app argument structures.

This module uses AST_DEFINE_APP_ARGS_TYPE to define struct's instead of
directly using AST_DECLARE_APP_ARGS.  Initialize the variables declared
in this way.

Change-Id: If97fbdd8d63a204e2efd498a192effc14e90fb31

7 years agoapp_voicemail: Fix memory management issues.
Corey Farrell [Tue, 19 Dec 2017 00:04:56 +0000 (19:04 -0500)] 
app_voicemail: Fix memory management issues.

* mwi_sub_event_cb: mwist leaked on separate_mailbox failure.
* add_email_attachment: A reference to sox_gain_tmpdir was used
  after the storage was out of scope.

Change-Id: I6282c542ff7b82fa091177a912d11234a8b00a30

7 years agoast_json_pack(): Use safer json ref mechanism.
Richard Mudgett [Wed, 11 Nov 2015 23:20:38 +0000 (17:20 -0600)] 
ast_json_pack(): Use safer json ref mechanism.

Change-Id: I49204db2e57ae96eee43909c18ed007c09ac817e

7 years agortp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage.
Richard Mudgett [Wed, 11 Nov 2015 22:52:45 +0000 (16:52 -0600)] 
rtp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage.

Change-Id: I58a22c2ca82e91d7537409b7b3af2d735827a54d

7 years agoMerge "CLI: Fix 'core set debug channel' completion bug." into 13
Joshua Colp [Mon, 18 Dec 2017 21:58:34 +0000 (15:58 -0600)] 
Merge "CLI: Fix 'core set debug channel' completion bug." into 13

7 years agoMerge "CLI: Remove special handling of 'core set verbose' from rasterisk." into 13
Jenkins2 [Mon, 18 Dec 2017 19:41:07 +0000 (13:41 -0600)] 
Merge "CLI: Remove special handling of 'core set verbose' from rasterisk." into 13

7 years agoMerge "aco: Minimize use of regex." into 13
Jenkins2 [Mon, 18 Dec 2017 19:32:31 +0000 (13:32 -0600)] 
Merge "aco: Minimize use of regex." into 13

7 years agoMerge "aco: Create ways to minimize use of regex." into 13
Jenkins2 [Mon, 18 Dec 2017 19:14:07 +0000 (13:14 -0600)] 
Merge "aco: Create ways to minimize use of regex." into 13

7 years agoCLI: Fix 'core set debug channel' completion bug.
Corey Farrell [Mon, 18 Dec 2017 18:23:46 +0000 (13:23 -0500)] 
CLI: Fix 'core set debug channel' completion bug.

The completion generator is missing a return so typing "core set debug
all off <tab>" causes the command to actually execute.

Change-Id: Ibf6462088a74eee66967732b50445783ebefc20b

7 years agoMerge "confbridge: Clarify mute sound documentation." into 13
Joshua Colp [Mon, 18 Dec 2017 18:15:38 +0000 (12:15 -0600)] 
Merge "confbridge: Clarify mute sound documentation." into 13

7 years agoMerge "loader: Use vector to build apha sorted module lists." into 13
George Joseph [Mon, 18 Dec 2017 16:24:49 +0000 (10:24 -0600)] 
Merge "loader: Use vector to build apha sorted module lists." into 13

7 years agoMerge "loader: Replace priority heap with vector." into 13
George Joseph [Mon, 18 Dec 2017 16:24:43 +0000 (10:24 -0600)] 
Merge "loader: Replace priority heap with vector." into 13

7 years agoMerge "chan_pjsip.c: Improve ast_request() diagnostic msgs." into 13
Jenkins2 [Mon, 18 Dec 2017 15:20:02 +0000 (09:20 -0600)] 
Merge "chan_pjsip.c: Improve ast_request() diagnostic msgs." into 13

7 years agoMerge "chan_sip: Add security event for calls to invalid extension." into 13
Jenkins2 [Mon, 18 Dec 2017 14:59:26 +0000 (08:59 -0600)] 
Merge "chan_sip: Add security event for calls to invalid extension." into 13

7 years agoMerge "cdr: Minor optimizations." into 13
Jenkins2 [Mon, 18 Dec 2017 14:36:07 +0000 (08:36 -0600)] 
Merge "cdr: Minor optimizations." into 13

7 years agoMerge "loader: Rework of load_dynamic_module." into 13
George Joseph [Mon, 18 Dec 2017 14:29:36 +0000 (08:29 -0600)] 
Merge "loader: Rework of load_dynamic_module." into 13

7 years agoconfbridge: Clarify mute sound documentation.
Joshua Colp [Mon, 18 Dec 2017 14:25:53 +0000 (10:25 -0400)] 
confbridge: Clarify mute sound documentation.

The mute/unmute sounds are only played when the
action is initiated using the DTMF menu.

ASTERISK-24756

Change-Id: I55b3dd5bc166096bf5e2f547ddd0ce355f36e3dc

7 years agoMerge "loader: Minor fix to module registration." into 13
Jenkins2 [Mon, 18 Dec 2017 13:48:17 +0000 (07:48 -0600)] 
Merge "loader: Minor fix to module registration." into 13

7 years agoapp_transfer: Remove LOCAL from documentation.
Joshua Colp [Mon, 18 Dec 2017 12:36:04 +0000 (08:36 -0400)] 
app_transfer: Remove LOCAL from documentation.

The Local channel has never supported app_transfer
from what I can see so remove it from the documentation.

ASTERISK-25649

Change-Id: Icbcfe297f6f866285a26b3e9fd5c6d00fa22e0e9

7 years agochan_pjsip.c: Improve ast_request() diagnostic msgs.
Richard Mudgett [Sat, 16 Dec 2017 01:01:02 +0000 (19:01 -0600)] 
chan_pjsip.c: Improve ast_request() diagnostic msgs.

Attempting to dial PJSIP/endpoint when the endpoint doesn't exist and
disable_multi_domain=no results in a misleading empty endpoint name
message.  The message should say the endpoint was not found.

* Added missing endpoint not found message.

* Added more information to the empty endpoint name msgs if available.

* Eliminated RAII_VAR in request().

Change-Id: I21da85ebd62dcc32115b2ffcb5157416ebae51e4

7 years agoMerge "res_smdi: Fix shutdown ref." into 13
Jenkins2 [Fri, 15 Dec 2017 18:31:47 +0000 (12:31 -0600)] 
Merge "res_smdi: Fix shutdown ref." into 13

7 years agoMerge "res_rtp_asterisk.c: Disable packet flood detection for video streams." into 13
Jenkins2 [Fri, 15 Dec 2017 17:59:53 +0000 (11:59 -0600)] 
Merge "res_rtp_asterisk.c: Disable packet flood detection for video streams." into 13

7 years agoMerge "res_hep: hepv3_is_loaded() should check if we are enabled" into 13
Jenkins2 [Fri, 15 Dec 2017 17:36:25 +0000 (11:36 -0600)] 
Merge "res_hep: hepv3_is_loaded() should check if we are enabled" into 13

7 years agoMerge "res_clialiases: Fix completion pass-through." into 13
Jenkins2 [Fri, 15 Dec 2017 17:24:17 +0000 (11:24 -0600)] 
Merge "res_clialiases: Fix completion pass-through." into 13

7 years agoMerge "coverity: Fix warnings in res_smdi" into 13
Jenkins2 [Fri, 15 Dec 2017 16:50:16 +0000 (10:50 -0600)] 
Merge "coverity: Fix warnings in res_smdi" into 13

7 years agocdr: Minor optimizations.
Corey Farrell [Fri, 15 Dec 2017 16:26:36 +0000 (11:26 -0500)] 
cdr: Minor optimizations.

* bridge_candidate_process: remove SCOPED_AO2LOCK and return value.
* handle_standard_bridge_enter_message: replace recursive call with goto
  statement.

ASTERISK-24297

Change-Id: Id2eaa0822fb8dc799f63422bb3aa89de9d4ee2a2

7 years agoMerge "res_musiconhold: Start playlist after initial announcement" into 13
Jenkins2 [Fri, 15 Dec 2017 16:12:30 +0000 (10:12 -0600)] 
Merge "res_musiconhold: Start playlist after initial announcement" into 13

7 years agoMerge "app_queue: Fix extension state subscriptions removed on dialplan reload" into 13
Jenkins2 [Fri, 15 Dec 2017 15:49:07 +0000 (09:49 -0600)] 
Merge "app_queue: Fix extension state subscriptions removed on dialplan reload" into 13

7 years agoloader: Use vector to build apha sorted module lists.
Corey Farrell [Mon, 11 Dec 2017 23:07:54 +0000 (18:07 -0500)] 
loader: Use vector to build apha sorted module lists.

Change-Id: I9c519f4dec3cda98b2f34d314255a31d49a6a467

7 years agoloader: Replace priority heap with vector.
Corey Farrell [Tue, 21 Nov 2017 06:28:48 +0000 (01:28 -0500)] 
loader: Replace priority heap with vector.

This is needed for future changes which will require being able to
process the load priority out of order.

Change-Id: Ia23421197f09789940510b03ebbbf3bf24d51bea

7 years agoloader: Rework of load_dynamic_module.
Corey Farrell [Tue, 21 Nov 2017 05:10:58 +0000 (00:10 -0500)] 
loader: Rework of load_dynamic_module.

* Split off load_dlopen to perform actual dlopen, check results and log
  warnings when needed.
* Use flags which minimize number of calls to dlopen required.  First
  attempt always uses RTLD_GLOBAL when global_symbols_only is enabled,
  RTLD_LOCAL when it is not.

This patch significantly reduces the number of dlopen's performed.  With
299 modules my system ran dlopen 857 times before this patch, 655 times
after this patch.

Change-Id: Ib2c9903cfddcc01aed3e01c1e7fe4a3fb9af0f8b

7 years agoloader: Minor fix to module registration.
Corey Farrell [Wed, 22 Nov 2017 02:34:56 +0000 (21:34 -0500)] 
loader: Minor fix to module registration.

This protects the module loader itself against crashing if dlopen is
called on a module from outside loader.c.

* Expand scope of lock inside ast_module_register to include reading of
  resource_being_loaded.
* NULL check resource_being_loaded.
* Set resource_being_loaded NULL as soon as dlopen returns.  This fixes
  some error paths where it was not NULL'ed.
* Create module_destroy function to deduplicate code from
  ast_module_unregister and modules_shutdown.
* Resolve leak that occured if a module did not successfully register.
* Simplify checking for successful registration.

Change-Id: I40f07a315e55b92df4fc7faf525ed6d4f396e7d2

7 years agochan_sip: Add security event for calls to invalid extension.
Corey Farrell [Thu, 6 Oct 2016 06:29:21 +0000 (02:29 -0400)] 
chan_sip: Add security event for calls to invalid extension.

Log a message to security events when an INVITE is received to an
invalid extension.

ASTERISK-25869 #close

Change-Id: I0da40cd7c2206c825c2f0d4e172275df331fcc8f

7 years agoaco: Minimize use of regex.
Corey Farrell [Tue, 12 Dec 2017 18:55:12 +0000 (13:55 -0500)] 
aco: Minimize use of regex.

Remove nearly all use of regex from ACO users.  Still remaining:
* app_confbridge has a legitamate use of option name regex.
* ast_sorcery_object_fields_register is implemented with regex, all
  callers use simple prefix based regex.  I haven't decided the best
  way to fix this in both 13/15 and master.

Change-Id: Ib5ed478218d8a661ace4d2eaaea98b59a897974b

7 years agoaco: Create ways to minimize use of regex.
Corey Farrell [Tue, 12 Dec 2017 18:36:39 +0000 (13:36 -0500)] 
aco: Create ways to minimize use of regex.

ACO uses regex in many situations where it is completely unneeded.  In
some cases this doubles the total processing performed by
aco_process_config.

* Create ACO_IGNORE category type for use in place of skip_category
  regex source string.
* Create additional aco_category_op values to allow specifying category
  filter using either a single plain string or a NULL terminated array
  of plain strings.
* Create ACO_PREFIX to allow matching option names to case insensitive
  prefixes.

Change-Id: I66a920dcd8e2b0301f73f968016440a985e72821

7 years agores_smdi: Fix shutdown ref.
Corey Farrell [Fri, 15 Dec 2017 13:56:13 +0000 (08:56 -0500)] 
res_smdi: Fix shutdown ref.

When adding shutdown refs for OPTIONAL_API components I accidentally
added it to the unload_module function in res_smdi.  Move it to
load_module.

Change-Id: I2b9da38fbc11ef78ea23dbb2df92b684be7f647c

7 years agores_hep: hepv3_is_loaded() should check if we are enabled
Sean Bright [Fri, 15 Dec 2017 00:55:03 +0000 (19:55 -0500)] 
res_hep: hepv3_is_loaded() should check if we are enabled

res_hep_pjsip.so and res_hep_rtcp.so will still load and do a lot of
unnecessary work even if 'enabled' is set to 'no' in hep.conf.

Change-Id: I3eddfeea09c6b5bc7c641952ee0ae487fd09b64b

7 years agoMerge "pjsip: Ignore state changes from old transactions." into 13
Jenkins2 [Fri, 15 Dec 2017 00:20:52 +0000 (18:20 -0600)] 
Merge "pjsip: Ignore state changes from old transactions." into 13

7 years agores_clialiases: Fix completion pass-through.
Corey Farrell [Thu, 14 Dec 2017 21:27:45 +0000 (16:27 -0500)] 
res_clialiases: Fix completion pass-through.

Never ignore contents of line when generating completion options.

Change-Id: I74389efdfea154019d3b56a9f381610614c044c8

7 years agores_rtp_asterisk.c: Disable packet flood detection for video streams.
Richard Mudgett [Tue, 12 Dec 2017 00:20:06 +0000 (18:20 -0600)] 
res_rtp_asterisk.c: Disable packet flood detection for video streams.

We should not do flood detection on video RTP streams.  Video RTP streams
are very bursty by nature.  They send out a burst of packets to update the
video frame then wait for the next video frame update.  Really only audio
streams can be checked for flooding.  The others are either bursty or
don't have a set rate.

* Added code to selectively disable packet flood detection for video RTP
streams.

ASTERISK-27440

Change-Id: I78031491a6e75c2d4b1e9c2462dc498fe9880a70

7 years agores_musiconhold: Start playlist after initial announcement
Sean Bright [Thu, 14 Dec 2017 18:14:10 +0000 (13:14 -0500)] 
res_musiconhold: Start playlist after initial announcement

Reset the samples counter to zero when we are done playing an
announcement so that we don't skip into the middle of the first file in
the playlist.

Also add the selected annoucement to the output of 'moh show classes.'

ASTERISK-24329 #close
Reported by: Thomas Frederiksen

Change-Id: I2a5f986a31279c981592f49391409ebf38d6f6d0

7 years agocoverity: Fix warnings in res_smdi
Sean Bright [Thu, 14 Dec 2017 16:51:02 +0000 (11:51 -0500)] 
coverity: Fix warnings in res_smdi

ASTERISK-19657 #close
Reported by: Matt Jordan III, Esq.

Change-Id: I59a5e6ef3e7d9e848bec1f4b40cb73321bc7956a

7 years agoconfigs: Comment out and change IP of iax.conf [demo]
Sean Bright [Thu, 14 Dec 2017 16:22:13 +0000 (11:22 -0500)] 
configs: Comment out and change IP of iax.conf [demo]

This no longer appears to exist, so no sense in causing confusion.

ASTERISK-27175 #close
Reported by: Tzafrir Cohen

Change-Id: Idde967924c69f6a741dc9a5ab7dacb44d22cf100

7 years agoMerge "menuselect: Tweak check for recently run configure." into 13
Joshua Colp [Thu, 14 Dec 2017 13:14:47 +0000 (07:14 -0600)] 
Merge "menuselect: Tweak check for recently run configure." into 13

7 years agoMerge "README: Remove outdated references to tex docs" into 13
Joshua Colp [Thu, 14 Dec 2017 12:36:09 +0000 (06:36 -0600)] 
Merge "README: Remove outdated references to tex docs" into 13

7 years agoMerge "res_pjsip: Assign support levels to a few modules" into 13
Jenkins2 [Wed, 13 Dec 2017 21:07:10 +0000 (15:07 -0600)] 
Merge "res_pjsip: Assign support levels to a few modules" into 13

7 years agoREADME: Remove outdated references to tex docs
George Joseph [Wed, 13 Dec 2017 20:26:04 +0000 (13:26 -0700)] 
README: Remove outdated references to tex docs

Added links to the wiki to replace references to outdated
tex docs.

ASTERISK-27430
Reported by: Corey Farrell

Change-Id: I5007e732b30bc7b63d124c530ae8857c89991209

7 years agoMerge "pjsip_options: contacts sometimes not being updated on reload" into 13
Jenkins2 [Wed, 13 Dec 2017 20:22:18 +0000 (14:22 -0600)] 
Merge "pjsip_options: contacts sometimes not being updated on reload" into 13

7 years agoMerge "pjsip_options: dynamic contact's fields not updated on reload" into 13
Jenkins2 [Wed, 13 Dec 2017 19:57:44 +0000 (13:57 -0600)] 
Merge "pjsip_options: dynamic contact's fields not updated on reload" into 13

7 years agoCLI: Remove special handling of 'core set verbose' from rasterisk.
Corey Farrell [Wed, 13 Dec 2017 15:50:59 +0000 (10:50 -0500)] 
CLI: Remove special handling of 'core set verbose' from rasterisk.

rasterisk does not need to handle setting verbose levels locally, it
should just tell the daemon what it wants and print what it is given.
Just max out the verbose level on the local client so all filtering
happens on the daemon.

ASTERISK-20281 #close

Change-Id: Ia305f75f1fc424a9169bfa30ef70d626ace2c8a8

7 years agoMerge "CLI: Fix 'core show sysinfo' function ordering." into 13
Jenkins2 [Wed, 13 Dec 2017 18:19:27 +0000 (12:19 -0600)] 
Merge "CLI: Fix 'core show sysinfo' function ordering." into 13

7 years agoMerge "chan_pjsip/res_pjsip: Add CHANNEL(pjsip,request_uri)" into 13
Jenkins2 [Wed, 13 Dec 2017 16:18:37 +0000 (10:18 -0600)] 
Merge "chan_pjsip/res_pjsip: Add CHANNEL(pjsip,request_uri)" into 13

7 years agoMerge "AST-2017-012: Place single RTCP report block at beginning of report." into 13
George Joseph [Wed, 13 Dec 2017 13:51:39 +0000 (07:51 -0600)] 
Merge "AST-2017-012: Place single RTCP report block at beginning of report." into 13

7 years agoMerge "chan_sip: Don't crash in Dial on invalid destination" into 13
Jenkins2 [Wed, 13 Dec 2017 13:36:12 +0000 (07:36 -0600)] 
Merge "chan_sip: Don't crash in Dial on invalid destination" into 13

7 years agoAST-2017-012: Place single RTCP report block at beginning of report.
Joshua Colp [Thu, 30 Nov 2017 16:12:55 +0000 (16:12 +0000)] 
AST-2017-012: Place single RTCP report block at beginning of report.

When the RTCP code was transitioned over to Stasis a code change
was made to keep track of how many reports are present. This count
controlled where report blocks were placed in the RTCP report.

If a compound RTCP packet was received this logic would incorrectly
place a report block in the wrong location resulting in a write
to an invalid location.

This change removes this counting logic and always places the report
block at the first position. If in the future multiple reports are
supported the logic can be extended but for now keeping a count
serves no purpose.

ASTERISK-27382
ASTERISK-27429

Change-Id: Iad6c8a9985c4b608ef493e19c421211615485116

7 years agoMerge "chan_sip: Don't send trailing \0 on keep alive packets" into 13
Jenkins2 [Wed, 13 Dec 2017 12:56:35 +0000 (06:56 -0600)] 
Merge "chan_sip: Don't send trailing \0 on keep alive packets" into 13

7 years agopjsip: Ignore state changes from old transactions.
Joshua Colp [Wed, 6 Dec 2017 14:24:03 +0000 (14:24 +0000)] 
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

7 years agoapp_queue: Fix extension state subscriptions removed on dialplan reload
Ivan Poddubny [Tue, 12 Dec 2017 21:38:01 +0000 (22:38 +0100)] 
app_queue: Fix extension state subscriptions removed on dialplan reload

The approach with having a single global subscription to all extension
state changes has one issue: dynamically created hints don't have any
watchers and are therefore garbage collected on the first dialplan
reload.

This change creates a state subscription for every queue member with a
hint as state_interface, thus increasing the count of watches for
hints, so they are not destroyed prematurely anymore.

There are 2 side effects:
1. The state change callback in app_queue is not executed when
   there are no members referring to the extension.
2. The callback is called multiple times for the same hint if it's
   associated with more than one queue member.

Reported by: Steven T. Wheeler

ASTERISK-18411 #close

Change-Id: I4956af2136ea2a7f110ac9272eae5f6e676d8f89

7 years agochan_sip: Don't send trailing \0 on keep alive packets
Sean Bright [Tue, 12 Dec 2017 21:28:54 +0000 (16:28 -0500)] 
chan_sip: Don't send trailing \0 on keep alive packets

This is a partial fix for ASTERISK~25817 but does not address the
comments regarding RFC 5626.

Change-Id: I227e2d10c0035bbfa1c6e46ae2318fd1122d8420

7 years agochan_sip: Don't crash in Dial on invalid destination
Sean Bright [Tue, 12 Dec 2017 21:19:09 +0000 (16:19 -0500)] 
chan_sip: Don't crash in Dial on invalid destination

Stripping the DNID in a SIP dial string can result in attempting to call
the argument parsing macros on an empty string, causing a crash.

ASTERISK-26131 #close
Reported by: Dwayne Hubbard
Patches:
dw-asterisk-master-dnid-crash.patch (license #6257) patch
uploaded by Dwayne Hubbard

Change-Id: Ib84c1f740a9ec0539d582b09d847fc85ddca1c5e

7 years 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
makeopts.in or autoconfig.h.in.  I believe this can create an issue if
makeopts is older than autoconfig.h.in or if autoconfig.h is older than
makeopts.in.  The new rules compare files independently.

Change-Id: Ibca155035fa1392c95e33cbf25f257902abba17b

7 years agochan_pjsip/res_pjsip: Add CHANNEL(pjsip,request_uri)
Richard Mudgett [Thu, 7 Dec 2017 23:51:08 +0000 (17:51 -0600)] 
chan_pjsip/res_pjsip: Add CHANNEL(pjsip,request_uri)

This patch does three things associated with the initial incoming INVITE
request URI.

1) Add access to the full initial incoming INVITE request URI.

2) We were not setting DNID on incoming PJSIP channels.  The DNID is the
user portion of the initial incoming INVITE Request-URI.  The value is
accessed by reading CALLERID(dnid).

3) Fix CHANNEL(pjsip,target_uri) documentation.

* The initial incoming INVITE request URI is now available using
CHANNEL(pjsip,request_uri).

* Set the DNID on PJSIP channel creation so CALLERID(dnid) can return the
initial incoming INVITE request URI user portion.

* CHANNEL(pjsip,target_uri) now correctly documents that the target URI is
the contact URI.

* Refactored print_escaped_uri() out of channel_read_pjsip() to handle
pjsip_uri_print() error condition when the buffer is too small.

ASTERISK-27478

Change-Id: I512e60d1f162395c946451becb37af3333337b33

7 years agores_pjsip: Add TLSv1.1 and TLSv1.2 support
Sean Bright [Tue, 12 Dec 2017 15:28:45 +0000 (10:28 -0500)] 
res_pjsip: Add TLSv1.1 and TLSv1.2 support

Support for these protocols was added in the same commit as the 'proto'
field, so we can safely use the same ./configure check.

For reference: https://trac.pjsip.org/repos/changeset/4968

Change-Id: Icf4975d785d6bfb8f30ac7ffa695a0adf9382dac

7 years agores_pjsip: Assign support levels to a few modules
Sean Bright [Tue, 12 Dec 2017 14:06:32 +0000 (09:06 -0500)] 
res_pjsip: Assign support levels to a few modules

Change-Id: I51f6945c4023cb93fc7b87be5ab4c50e9e6ee27d

7 years agoCLI: Fix 'core show sysinfo' function ordering.
Corey Farrell [Sat, 9 Dec 2017 06:35:12 +0000 (01:35 -0500)] 
CLI: Fix 'core show sysinfo' function ordering.

Handle CLI initialization before any processing occurs.

Change-Id: I598b911d2e409214bbdfd0ba0882be1d602d221c

7 years agostasis_channels.c: Don't set channel snapshot caller_dnid twice.
Richard Mudgett [Fri, 8 Dec 2017 18:04:25 +0000 (12:04 -0600)] 
stasis_channels.c: Don't set channel snapshot caller_dnid twice.

Change-Id: Ib8d45bbdfbda81e65045f6dff874d189b74e5471

7 years agoMerge "codec_opus: Make libcurl a dependency in menuselect" into 13
Jenkins2 [Mon, 11 Dec 2017 18:41:01 +0000 (12:41 -0600)] 
Merge "codec_opus: Make libcurl a dependency in menuselect" into 13

7 years agoMerge "astdb: Improve prefix searches in astdb" into 13
Jenkins2 [Mon, 11 Dec 2017 17:42:27 +0000 (11:42 -0600)] 
Merge "astdb: Improve prefix searches in astdb" into 13

7 years agoMerge "loader: Refactor resource_name_match." into 13
Jenkins2 [Mon, 11 Dec 2017 17:20:07 +0000 (11:20 -0600)] 
Merge "loader: Refactor resource_name_match." into 13

7 years agoMerge "res_stasis and res_speech: Fix load order." into 13
Joshua Colp [Mon, 11 Dec 2017 16:39:36 +0000 (10:39 -0600)] 
Merge "res_stasis and res_speech: Fix load order." into 13