ccss: Add option to ccss.conf to globally disable it.

The Call Completion Supplementary Service feature is rarely used but many of
it's functions are called by app_dial and channel.c "just in case".  These
functions lock and unlock the channel just to see if CCSS is enabled on it,
which it isn't 99.99% of the time.

UserNote: A new "enabled" parameter has been added to ccss.conf.  It defaults
to "yes" to preserve backwards compatibility but CCSS is rarely used so
setting "enabled = no" in the "general" section can save some unneeded channel
locking operations and log message spam.  Disabling ccss will also prevent
the func_callcompletion and chan_dahdi modules from loading.

DeveloperNote: A new API ast_is_cc_enabled() has been added.  It should be
used to ensure that CCSS is enabled before making any other ast_cc_* calls.
This commit is contained in:
George Joseph
2025-11-19 14:57:46 -07:00
parent 5bef77ca4a
commit 724f4cb6e8
8 changed files with 196 additions and 48 deletions

View File

@@ -6,6 +6,11 @@
;
[general]
;
;enabled = yes ; CCSS is rarely used so setting this to "no"
; ; will globally disable it and save some unneeded
; ; channel locking and log messages.
;
; The cc_max_requests option is a global limit on the number of
; CC requests that may be in the Asterisk system at any time.
;