asterisk/asterisk.git
3 years agores_pjsip: Add AMI action 'PJSIPShowAors'
Sungtae Kim [Sat, 30 Dec 2017 05:14:00 +0000 (06:14 +0100)]
res_pjsip: Add AMI action 'PJSIPShowAors'

Add an AMI action which provides information on all
configured AORs.

ASTERISK-27537

Change-Id: If8b990a00909e5b6c0f04a3b8dccd9903dc445eb

3 years agoMerge "func_channel.c: Update MASTER_CHANNEL documentation"
Jenkins2 [Fri, 29 Dec 2017 19:40:31 +0000 (13:40 -0600)]
Merge "func_channel.c: Update MASTER_CHANNEL documentation"

3 years agoMerge "manager.c: Update AMI Status event documentation"
Jenkins2 [Thu, 28 Dec 2017 19:46:22 +0000 (13:46 -0600)]
Merge "manager.c: Update AMI Status event documentation"

3 years agoMerge "menuselect: Fix check for running configure."
Richard Mudgett [Thu, 28 Dec 2017 17:51:21 +0000 (11:51 -0600)]
Merge "menuselect: Fix check for running configure."

3 years agoMerge "astobj.h: Remove from Asterisk core."
Jenkins2 [Thu, 28 Dec 2017 17:15:11 +0000 (11:15 -0600)]
Merge "astobj.h: Remove from Asterisk core."

3 years agoMerge "cdr: Missing NULL check and unlock."
Jenkins2 [Thu, 28 Dec 2017 16:42:17 +0000 (10:42 -0600)]
Merge "cdr: Missing NULL check and unlock."

3 years agomanager.c: Update AMI Status event documentation
Richard Mudgett [Thu, 28 Dec 2017 02:48:40 +0000 (20:48 -0600)]
manager.c: Update AMI Status event documentation

The AMI Status event had linkedid listed twice and was missing the
effective connected line name and number headers.

NOTE: The linkedid and other standard channel snapshot fields in the XML
documentation are part of the <channel_snapshot/> XML template defined in
doc/appdocsxml.xslt.

Change-Id: I004c4c4f9e7b40ef55035c831702721bec82496c

3 years agobridge_native_rtp.c: Fix reentrancy framehook crash.
Richard Mudgett [Thu, 28 Dec 2017 04:36:58 +0000 (22:36 -0600)]
bridge_native_rtp.c: Fix reentrancy framehook crash.

If two channels enter different native rtp bridges at the same time it is
possible that the framehook interface data pointer can be corrupted
because the struct variable was declared static.

* Fixed the reentrancy corruption by changing the framehook interface
struct static variable to a stack local variable.

* Moved the hook.data assignment outside of the channel lock.  It did not
need the lock's protection.  It probably was giving a false sense of
security.

The testsuite
channels/pjsip/basic_calls/two_parties/nominal/alice_initiated/bob_hangs_up
test caught this with MALLOC_DEBUG and DO_CRASH enabled.

Change-Id: If9e35b97d19209b0f984941c1d8eb5f7c55eea91

3 years agofunc_channel.c: Update MASTER_CHANNEL documentation
Richard Mudgett [Thu, 28 Dec 2017 02:22:36 +0000 (20:22 -0600)]
func_channel.c: Update MASTER_CHANNEL documentation

Be more explicit in what is meant by the master channel to eliminate
misunderstanding.

ASTERISK-23133

Change-Id: I453bcaf4b99404a5a3e345dbf093ac6c1afcfc72

3 years agomenuselect: Fix check for running configure.
Corey Farrell [Thu, 28 Dec 2017 01:27:18 +0000 (20:27 -0500)]
menuselect: Fix check for running configure.

menuselect/Makefile checks that autoconfig.h and makeopts were newer
than the '.in' files.  Unfortunately running ./configure does not touch
autoconfig.h unless the contents will change.

Instead of looking at autoconfig.h we just need to ensure that makeopts
is newer than configure.

Also make change to configure.ac so bootstrap.sh doesn't re-add the
extra trailing line-feed.

Change-Id: Ief1f831d6717007f9cebb668c14e92782cd2b794

3 years agocdr: Missing NULL check and unlock.
Corey Farrell [Fri, 22 Dec 2017 05:56:44 +0000 (00:56 -0500)]
cdr: Missing NULL check and unlock.

* handle_dial_message: Missing a check for NULL peer.
* cdr_generic_register: Missing unlock on allocation failure.

cdr_generic_register is fixed by reordering so the new structure is
allocated and initialized before locking the list.

Change-Id: I5799b99270d1a7a716a555c31ac85f4b00ce8686

3 years agoloader: Add volatile to resource_being_loaded.
Corey Farrell [Sun, 24 Dec 2017 04:51:13 +0000 (23:51 -0500)]
loader: Add volatile to resource_being_loaded.

Some compiler optimizers seem to assume that dlopen will not use
__attribute__((constructor)) functions to call back to the program.
This was causing resource_being_loaded to be optimized away completely.

ASTERISK-27531 #close
Tested By: abelbeck

Change-Id: If17a3b889e06811a0e7119f0539d052494d6ece9

3 years agoAST-2017-014: res_pjsip - Missing contact header can cause crash
Kevin Harwell [Wed, 20 Dec 2017 22:17:40 +0000 (16:17 -0600)]
AST-2017-014: res_pjsip - Missing contact header can cause crash

Those SIP messages that create dialogs require a contact header to be present.
If the contact header was missing from the message it could cause Asterisk to
crash.

This patch checks to make sure SIP messages that create a dialog contain the
contact header. If the message does not and it is required Asterisk now returns
a "400 Missing Contact header" response. Also added NULL checks when retrieving
the contact header that were missing as a "just in case".

ASTERISK-27480 #close

Change-Id: I1810db87683fc637a9e3e1384a746037fec20afe

3 years agoastobj.h: Remove from Asterisk core.
Corey Farrell [Fri, 22 Dec 2017 20:00:14 +0000 (15:00 -0500)]
astobj.h: Remove from Asterisk core.

This is the old ASTOBJ macro's which are no longer used except by the
deprecated netsock.c.  Move it to the chan_iax2 include folder so it
does not get used elsewhere.

Change-Id: I7e4ae96678b36b9f41d3cae14b167f110eb5d349

3 years agoRemove as much trailing whitespace as possible.
Sean Bright [Fri, 22 Dec 2017 14:23:22 +0000 (09:23 -0500)]
Remove as much trailing whitespace as possible.

Change-Id: I873c1c6d00f447269bd841494459efccdd2c19c0

3 years agoMerge "Fix some invalid Unicode characters"
Jenkins2 [Fri, 22 Dec 2017 13:36:07 +0000 (07:36 -0600)]
Merge "Fix some invalid Unicode characters"

3 years agoMerge "app_voicemail: Fix file copy error handling."
Jenkins2 [Fri, 22 Dec 2017 13:32:58 +0000 (07:32 -0600)]
Merge "app_voicemail: Fix file copy error handling."

3 years agoFix some invalid Unicode characters
Sean Bright [Thu, 21 Dec 2017 15:51:02 +0000 (10:51 -0500)]
Fix some invalid Unicode characters

configs/samples/minivm.conf.sample contains invalid UTF-8, but that
appears to be intentional.

Change-Id: I7b1e0d332f3380fd0425962a3c9c55f9b200c8cc

3 years agoMerge "Fix Common Typo's."
Jenkins2 [Thu, 21 Dec 2017 14:40:22 +0000 (08:40 -0600)]
Merge "Fix Common Typo's."

3 years agoMerge "docs: Remove old API changes documentation"
Joshua Colp [Thu, 21 Dec 2017 13:06:26 +0000 (07:06 -0600)]
Merge "docs: Remove old API changes documentation"

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

3 years agoMerge "bridge: Old channel video source not set to NULL after unref."
Joshua Colp [Thu, 21 Dec 2017 12:15:44 +0000 (06:15 -0600)]
Merge "bridge: Old channel video source not set to NULL after unref."

3 years agoMerge "core: Fix unused variable error in handle_show_sysinfo."
Jenkins2 [Thu, 21 Dec 2017 11:51:26 +0000 (05:51 -0600)]
Merge "core: Fix unused variable error in handle_show_sysinfo."

3 years agoapp_voicemail: Fix file copy error handling.
Corey Farrell [Thu, 21 Dec 2017 03:11:48 +0000 (22:11 -0500)]
app_voicemail: Fix file copy error handling.

Fix error where input/output file descriptors would be closed multiple
times.

Change-Id: Iba5140b60cb7de79e3d5d92be3c256947aa99da9

3 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

3 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

3 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

3 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

3 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

3 years agoMerge "CLI: Address multiple issues."
Jenkins2 [Wed, 20 Dec 2017 14:54:58 +0000 (08:54 -0600)]
Merge "CLI: Address multiple issues."

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

3 years agoMerge "dns_core: Protect against array index violation."
Jenkins2 [Wed, 20 Dec 2017 14:00:29 +0000 (08:00 -0600)]
Merge "dns_core: Protect against array index violation."

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

3 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

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

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

3 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

3 years agoMerge "core: Fix multiple trivial issues in the core."
Jenkins2 [Tue, 19 Dec 2017 20:46:02 +0000 (14:46 -0600)]
Merge "core: Fix multiple trivial issues in the core."

3 years agoMerge "chan_console: Use correct parameter for 'set active'"
George Joseph [Tue, 19 Dec 2017 20:20:19 +0000 (14:20 -0600)]
Merge "chan_console: Use correct parameter for 'set active'"

3 years agoMerge "main/app: Fix leaks."
George Joseph [Tue, 19 Dec 2017 20:19:42 +0000 (14:19 -0600)]
Merge "main/app: Fix leaks."

3 years agoMerge "app_queue: Add feature to set wrapuptime on the queue member"
George Joseph [Tue, 19 Dec 2017 20:15:48 +0000 (14:15 -0600)]
Merge "app_queue: Add feature to set wrapuptime on the queue member"

3 years agodns_core: Protect against array index violation.
Corey Farrell [Tue, 19 Dec 2017 04:48:52 +0000 (23:48 -0500)]
dns_core: Protect against array index violation.

Add a check to allocate_dns_record to prevent calling a pointer
retrieved from beyond dns_alloc_table.

ASTERISK-27495 #close

Change-Id: Ie2f6e4991cea46baa12e837bd64cc22b44d322bb

3 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

3 years agoMerge "func_callerid: Initialize app argument structures."
Jenkins2 [Tue, 19 Dec 2017 17:49:51 +0000 (11:49 -0600)]
Merge "func_callerid: Initialize app argument structures."

3 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

3 years agoMerge "bridge_softmix.c: Don't match dead streams."
Jenkins2 [Tue, 19 Dec 2017 17:12:22 +0000 (11:12 -0600)]
Merge "bridge_softmix.c: Don't match dead streams."

3 years agoMerge "rtp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage."
Jenkins2 [Tue, 19 Dec 2017 16:51:07 +0000 (10:51 -0600)]
Merge "rtp_engine.c: Eliminate rtcp_report_to_json() RAII_VAR usage."

3 years agoMerge "bridge_softmix.c: Change remove_destination_streams() return meaning."
Jenkins2 [Tue, 19 Dec 2017 16:37:53 +0000 (10:37 -0600)]
Merge "bridge_softmix.c: Change remove_destination_streams() return meaning."

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

3 years agoMerge "app_voicemail: Fix memory management issues."
Jenkins2 [Tue, 19 Dec 2017 16:08:18 +0000 (10:08 -0600)]
Merge "app_voicemail: Fix memory management issues."

3 years agoMerge "bridge_softmix: Fix memory leaks."
George Joseph [Tue, 19 Dec 2017 15:51:25 +0000 (09:51 -0600)]
Merge "bridge_softmix: Fix memory leaks."

3 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

3 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

3 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 conditions in sdp.c and translate.c.
* Check new file descriptor is less than 0, not less than or equal.

Change-Id: Id7782775486175c739e0c4bf3ea5e17e3f452a99

3 years agores_rtp_asterisk: Avoid close the rtp/rtcp fd twice.
Aaron An [Mon, 18 Dec 2017 12:14:11 +0000 (20:14 +0800)]
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

3 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

3 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

3 years agobridge_softmix.c: Change remove_destination_streams() return meaning.
Richard Mudgett [Fri, 11 Aug 2017 22:02:07 +0000 (17:02 -0500)]
bridge_softmix.c: Change remove_destination_streams() return meaning.

The return value of remove_destination_streams() now means we removed a
stream from the topology by making it a dead stream.  Now we won't try to
request a topology change if we didn't remove any streams.

Change-Id: Icd91571d856a1d04299a24c411e325c1d9d5c61d

3 years agobridge_softmix.c: Don't match dead streams.
Richard Mudgett [Fri, 11 Aug 2017 21:57:33 +0000 (16:57 -0500)]
bridge_softmix.c: Don't match dead streams.

* Made is_video_source() and is_video_dest() not match dead streams.

* Optimized is_video_dest() to reduce duplicated code.

Change-Id: I4e7ab762c7ee98395e78e6516399f57a2609b9a1

3 years agobridge_softmix: Fix memory leaks.
Corey Farrell [Tue, 19 Dec 2017 00:40:08 +0000 (19:40 -0500)]
bridge_softmix: Fix memory leaks.

Change-Id: Ifaf3e93b398595d21d07f535330fef77ff15a80c

3 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

3 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

3 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

3 years agoMerge "netsock: Remove from Asterisk core."
Jenkins2 [Mon, 18 Dec 2017 23:40:22 +0000 (17:40 -0600)]
Merge "netsock: Remove from Asterisk core."

3 years agoapp_queue: Add feature to set wrapuptime on the queue member
Rodrigo Ramírez Norambuena [Thu, 7 Dec 2017 02:35:40 +0000 (23:35 -0300)]
app_queue: Add feature to set wrapuptime on the queue member

This patch adds the ability to set the wrapuptime on the queue member
config.

When the option is set the wrapuptime on the queue member is used instead
of the queue's wrapuptime.

ASTERISK-27483 #close

Change-Id: I11c85809537f974eb44dc5bbf82bcedd8a458902

3 years agoMerge "CLI: Fix 'core set debug channel' completion bug."
Jenkins2 [Mon, 18 Dec 2017 22:01:11 +0000 (16:01 -0600)]
Merge "CLI: Fix 'core set debug channel' completion bug."

3 years agoMerge "CLI: Remove special handling of 'core set verbose' from rasterisk."
George Joseph [Mon, 18 Dec 2017 20:42:39 +0000 (14:42 -0600)]
Merge "CLI: Remove special handling of 'core set verbose' from rasterisk."

3 years agoMerge changes from topic 'faster-aco'
Joshua Colp [Mon, 18 Dec 2017 20:41:41 +0000 (14:41 -0600)]
Merge changes from topic 'faster-aco'

* changes:
  aco: Minimize use of regex.
  aco: Create ways to minimize use of regex.

3 years agonetsock: Remove from Asterisk core.
Corey Farrell [Mon, 18 Dec 2017 20:00:35 +0000 (15:00 -0500)]
netsock: Remove from Asterisk core.

This moves netsock.c / netsock.h to the chan_iax2 module.  netsock.h has
been marked deprecated since 13.0.0, chan_iax2 is the only remaining
user.

Change-Id: I28c6578043bac18de5ea608e136acec4f83d5dd3

3 years agoMerge "confbridge: Clarify mute sound documentation."
Joshua Colp [Mon, 18 Dec 2017 18:25:37 +0000 (12:25 -0600)]
Merge "confbridge: Clarify mute sound documentation."

3 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

3 years agoMerge changes from topic 'loader-work'
George Joseph [Mon, 18 Dec 2017 16:24:28 +0000 (10:24 -0600)]
Merge changes from topic 'loader-work'

* changes:
  loader: Use vector to build apha sorted module lists.
  loader: Replace priority heap with vector.

3 years agoMerge "chan_pjsip.c: Improve ast_request() diagnostic msgs."
Jenkins2 [Mon, 18 Dec 2017 15:37:19 +0000 (09:37 -0600)]
Merge "chan_pjsip.c: Improve ast_request() diagnostic msgs."

3 years agoMerge "chan_sip: Add security event for calls to invalid extension."
Jenkins2 [Mon, 18 Dec 2017 15:15:19 +0000 (09:15 -0600)]
Merge "chan_sip: Add security event for calls to invalid extension."

3 years agoMerge "cdr: Minor optimizations."
Jenkins2 [Mon, 18 Dec 2017 14:54:28 +0000 (08:54 -0600)]
Merge "cdr: Minor optimizations."

3 years agoMerge "loader: Rework of load_dynamic_module."
Jenkins2 [Mon, 18 Dec 2017 14:29:08 +0000 (08:29 -0600)]
Merge "loader: Rework of load_dynamic_module."

3 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

3 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

3 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

3 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

3 years agoMerge "res_smdi: Fix shutdown ref."
Jenkins2 [Fri, 15 Dec 2017 18:24:43 +0000 (12:24 -0600)]
Merge "res_smdi: Fix shutdown ref."

3 years agoMerge "res_rtp_asterisk.c: Disable packet flood detection for video streams."
Jenkins2 [Fri, 15 Dec 2017 18:15:42 +0000 (12:15 -0600)]
Merge "res_rtp_asterisk.c: Disable packet flood detection for video streams."

3 years agoMerge "res_hep: hepv3_is_loaded() should check if we are enabled"
Jenkins2 [Fri, 15 Dec 2017 17:52:37 +0000 (11:52 -0600)]
Merge "res_hep: hepv3_is_loaded() should check if we are enabled"

3 years agoMerge "res_clialiases: Fix completion pass-through."
Joshua Colp [Fri, 15 Dec 2017 17:17:02 +0000 (11:17 -0600)]
Merge "res_clialiases: Fix completion pass-through."

3 years agoMerge "coverity: Fix warnings in res_smdi"
Jenkins2 [Fri, 15 Dec 2017 17:11:59 +0000 (11:11 -0600)]
Merge "coverity: Fix warnings in res_smdi"

3 years agoMerge "loader: Minor fix to module registration."
Joshua Colp [Fri, 15 Dec 2017 16:48:02 +0000 (10:48 -0600)]
Merge "loader: Minor fix to module registration."

3 years agoMerge "res_musiconhold: Start playlist after initial announcement"
Jenkins2 [Fri, 15 Dec 2017 16:31:21 +0000 (10:31 -0600)]
Merge "res_musiconhold: Start playlist after initial announcement"

3 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

3 years agoMerge "app_queue: Fix extension state subscriptions removed on dialplan reload"
Joshua Colp [Fri, 15 Dec 2017 15:55:12 +0000 (09:55 -0600)]
Merge "app_queue: Fix extension state subscriptions removed on dialplan reload"

3 years agoMerge "pjsip_options: wrongly applied "UNKNOWN" status"
Jenkins2 [Fri, 15 Dec 2017 15:49:50 +0000 (09:49 -0600)]
Merge "pjsip_options: wrongly applied "UNKNOWN" status"

3 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

3 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

3 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

3 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

3 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

3 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

3 years agoMerge "pjsip: Ignore state changes from old transactions."
Jenkins2 [Fri, 15 Dec 2017 00:39:24 +0000 (18:39 -0600)]
Merge "pjsip: Ignore state changes from old transactions."

3 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.
* Always use RTLD_NOW.
* 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

3 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

3 years agoMerge "configs: Comment out and change IP of iax.conf [demo]"
Jenkins2 [Thu, 14 Dec 2017 21:57:33 +0000 (15:57 -0600)]
Merge "configs: Comment out and change IP of iax.conf [demo]"