message.c: Add option to suppress the Message channel AMI and ARI events
authorGeorge Joseph <gjoseph@digium.com>
Mon, 3 Feb 2020 16:24:58 +0000 (09:24 -0700)
committerGeorge Joseph <gjoseph@digium.com>
Mon, 3 Feb 2020 19:58:48 +0000 (13:58 -0600)
commitb76ab5e5c9dc51f88a5ee5c101410124b8283cfe
tree494218f15b77c6331fc437d68de0af4fb91f392d
parent0c845063b3e7caec08c4a70714f04f65dd5cf5b2
message.c: Add option to suppress the Message channel AMI and ARI events

In order to reduce the amount of AMI and ARI events generated,
the global "Message/ast_msg_queue" channel can be set to suppress
it's normal channel housekeeping events such as "Newexten",
"VarSet", etc. This can greatly reduce load on the manager
and ARI applications when the Digium Phone Module for Asterisk
is in use.  To enable, set "hide_messaging_ami_events" in
asterisk.conf to "yes"  In Asterisk versions <18, the default
is "no" preserving existing behavior.  Beginning with
Asterisk 18, the option will default to "yes".

NOTE:  This change does not affect UserEvents or the ARI
TextMessageReceived events.

* Added the "hide_messaging_ami_events" option to asterisk.conf.

* Changed message.c to set the AST_CHAN_TP_INTERNAL property on
  the "Message/ast_msg_queue" channel if the option is set in
  asterisk.conf.  This suppresses the reporting of the events.

Change-Id: Ia2e3516d43f4e0df994fc6598565d6bba2d7018b
configs/samples/asterisk.conf.sample
doc/CHANGES-staging/hide_messaging_ami_events [new file with mode: 0644]
include/asterisk/options.h
main/asterisk.c
main/message.c
main/options.c