docs: Add version information to configObject and configOption XML elements

Most of the configObjects and configOptions that are implemented with
ACO or Sorcery now have `<since>/<version>` elements added.  There are
probably some that the script I used didn't catch.  The version tags were
determined by the following...
 * Do a git blame on the API call that created the object or option.
 * From the commit hash, grab the summary line.
 * Do a `git log --grep <summary>` to find the cherry-pick commits in all
   branches that match.
 * Do a `git patch-id` to ensure the commits are all related and didn't get
   a false match on the summary.
 * Do a `git tag --contains <commit>` to find the tags that contain each
   commit.
 * Weed out all tags not <major>.<minor>.0.
 * Sort and discard any <major>.0.0 and following tags where the commit
   appeared in an earlier branch.
 * The result is a single tag for each branch where the API was last touched.

configObjects and configOptions elements implemented with the base
ast_config APIs were just not possible to find due to the non-deterministic
way they are accessed.

Also note that if the API call was on modified after it was added, the
version will be the one it was last modified in.

Final note:  The configObject and configOption elements were introduced in
12.0.0 so options created before then may not have any XML documentation.
This commit is contained in:
George Joseph
2025-01-16 14:54:35 -07:00
parent 317b830c1e
commit a22dc33057
31 changed files with 650 additions and 0 deletions

View File

@@ -82,8 +82,10 @@
</description>
<configFile name="cdr.conf">
<configObject name="general">
<since><version>12.0.0</version></since>
<synopsis>Global settings applied to the CDR engine.</synopsis>
<configOption name="debug">
<since><version>12.0.0</version></since>
<synopsis>Enable/disable verbose CDR debugging.</synopsis>
<description><para>When set to <literal>True</literal>, verbose updates
of changes in CDR information will be logged. Note that this is only
@@ -91,12 +93,14 @@
</description>
</configOption>
<configOption name="enable" default="yes">
<since><version>12.0.0</version></since>
<synopsis>Enable/disable CDR logging.</synopsis>
<description><para>Define whether or not to use CDR logging. Setting this to "no" will override
any loading of backend CDR modules.</para>
</description>
</configOption>
<configOption name="channeldefaultenabled" default="yes">
<since><version>16.24.0</version><version>18.10.0</version><version>19.2.0</version></since>
<synopsis>Whether CDR is enabled on a channel by default</synopsis>
<description><para>Define whether or not CDR should be enabled on a channel by default.
Setting this to "yes" will enable CDR on every channel unless it is explicitly disabled.
@@ -112,6 +116,7 @@
</description>
</configOption>
<configOption name="ignorestatechanges" default="no">
<since><version>16.30.0</version><version>18.16.0</version><version>19.8.0</version><version>20.1.0</version></since>
<synopsis>Whether CDR is updated or forked by bridging changes.</synopsis>
<description><para>Define whether or not CDR should be updated by bridging changes.
This includes entering and leaving bridges and call parking.</para>
@@ -122,6 +127,7 @@
</description>
</configOption>
<configOption name="ignoredialchanges" default="no">
<since><version>16.30.0</version><version>18.16.0</version><version>19.8.0</version><version>20.1.0</version></since>
<synopsis>Whether CDR is updated or forked by dial updates.</synopsis>
<description><para>Define whether or not CDR should be updated by dial updates.</para>
<para>If this is set to "no", a single CDR will be used for the channel, even if
@@ -135,6 +141,7 @@
</description>
</configOption>
<configOption name="unanswered">
<since><version>12.0.0</version></since>
<synopsis>Log calls that are never answered and don't set an outgoing party.</synopsis>
<description><para>
Define whether or not to log unanswered calls that don't involve an outgoing party. Setting
@@ -147,12 +154,14 @@
</description>
</configOption>
<configOption name="congestion">
<since><version>12.0.0</version></since>
<synopsis>Log congested calls.</synopsis>
<description><para>Define whether or not to log congested calls. Setting this to "yes" will
report each call that fails to complete due to congestion conditions.</para>
</description>
</configOption>
<configOption name="endbeforehexten">
<since><version>12.0.0</version></since>
<synopsis>Don't produce CDRs while executing hangup logic</synopsis>
<description>
<para>As each CDR for a channel is finished, its end time is updated
@@ -167,6 +176,7 @@
</description>
</configOption>
<configOption name="initiatedseconds">
<since><version>12.0.0</version></since>
<synopsis>Count microseconds for billsec purposes</synopsis>
<description><para>Normally, the <literal>billsec</literal> field logged to the CDR backends
is simply the end time (hangup time) minus the answer time in seconds. Internally,
@@ -178,6 +188,7 @@
</description>
</configOption>
<configOption name="batch">
<since><version>12.0.0</version></since>
<synopsis>Submit CDRs to the backends for processing in batches</synopsis>
<description><para>Define the CDR batch mode, where instead of posting the CDR at the end of
every call, the data will be stored in a buffer to help alleviate load on the
@@ -188,12 +199,14 @@
</description>
</configOption>
<configOption name="size">
<since><version>12.0.0</version></since>
<synopsis>The maximum number of CDRs to accumulate before triggering a batch</synopsis>
<description><para>Define the maximum number of CDRs to accumulate in the buffer before posting
them to the backend engines. batch must be set to <literal>yes</literal>.</para>
</description>
</configOption>
<configOption name="time">
<since><version>13.22.0</version><version>15.5.0</version></since>
<synopsis>The maximum time to accumulate CDRs before triggering a batch</synopsis>
<description><para>Define the maximum time to accumulate CDRs before posting them in a batch to the
backend engines. If this time limit is reached, then it will post the records, regardless of the value
@@ -202,6 +215,7 @@
</description>
</configOption>
<configOption name="scheduleronly">
<since><version>12.0.0</version></since>
<synopsis>Post batched CDRs on their own thread instead of the scheduler</synopsis>
<description><para>The CDR engine uses the internal asterisk scheduler to determine when to post
records. Posting can either occur inside the scheduler thread, or a new
@@ -212,6 +226,7 @@
</description>
</configOption>
<configOption name="safeshutdown">
<since><version>12.0.0</version></since>
<synopsis>Block shutdown of Asterisk until CDRs are submitted</synopsis>
<description><para>When shutting down asterisk, you can block until the CDRs are submitted. If
you don't, then data will likely be lost. You can always check the size of

View File

@@ -63,20 +63,25 @@
<configInfo name="cel" language="en_US">
<configFile name="cel.conf">
<configObject name="general">
<since><version>12.0.0</version></since>
<synopsis>Options that apply globally to Channel Event Logging (CEL)</synopsis>
<configOption name="enable">
<since><version>12.0.0</version></since>
<synopsis>Determines whether CEL is enabled</synopsis>
</configOption>
<configOption name="dateformat">
<since><version>12.0.0</version></since>
<synopsis>The format to be used for dates when logging</synopsis>
</configOption>
<configOption name="apps">
<since><version>12.0.0</version></since>
<synopsis>List of apps for CEL to track</synopsis>
<description><para>A case-insensitive, comma-separated list of applications
to track when one or both of APP_START and APP_END events are flagged for
tracking</para></description>
</configOption>
<configOption name="events">
<since><version>12.0.0</version></since>
<synopsis>List of events for CEL to track</synopsis>
<description><para>A case-sensitive, comma-separated list of event names
to track. These event names do not include the leading <literal>AST_CEL</literal>.

View File

@@ -33,24 +33,31 @@
<synopsis>Features Configuration</synopsis>
<configFile name="features.conf">
<configObject name="globals">
<since><version>12.0.0</version></since>
<synopsis>
</synopsis>
<configOption name="featuredigittimeout" default="1000">
<since><version>12.0.0</version></since>
<synopsis>Milliseconds allowed between digit presses when entering a feature code.</synopsis>
</configOption>
<configOption name="courtesytone">
<since><version>12.0.0</version></since>
<synopsis>Sound to play when automixmon is activated</synopsis>
</configOption>
<configOption name="recordingfailsound">
<since><version>12.0.0</version></since>
<synopsis>Sound to play when automixmon is attempted but fails to start</synopsis>
</configOption>
<configOption name="transferdigittimeout" default="3">
<since><version>12.0.0</version></since>
<synopsis>Seconds allowed between digit presses when dialing a transfer destination</synopsis>
</configOption>
<configOption name="atxfernoanswertimeout" default="15">
<since><version>12.0.0</version></since>
<synopsis>Seconds to wait for attended transfer destination to answer</synopsis>
</configOption>
<configOption name="atxferdropcall" default="no">
<since><version>12.0.0</version></since>
<synopsis>Hang up the call entirely if the attended transfer fails</synopsis>
<description>
<para>When this option is set to <literal>no</literal>, then Asterisk will attempt to
@@ -65,14 +72,17 @@
</description>
</configOption>
<configOption name="atxferloopdelay" default="10">
<since><version>12.0.0</version></since>
<synopsis>Seconds to wait between attempts to re-dial transfer destination</synopsis>
<see-also><ref type="configOption">atxferdropcall</ref></see-also>
</configOption>
<configOption name="atxfercallbackretries" default="2">
<since><version>12.0.0</version></since>
<synopsis>Number of times to re-attempt dialing a transfer destination</synopsis>
<see-also><ref type="configOption">atxferdropcall</ref></see-also>
</configOption>
<configOption name="xfersound" default="beep">
<since><version>12.0.0</version></since>
<synopsis>Sound to play to during transfer and transfer-like operations.</synopsis>
<description>
<para>This sound will play to the transferrer and transfer target channels when
@@ -81,6 +91,7 @@
</description>
</configOption>
<configOption name="xferfailsound" default="beeperr">
<since><version>12.0.0</version></since>
<synopsis>Sound to play to a transferee when a transfer fails</synopsis>
</configOption>
<configOption name="atxferabort" default="*1">
@@ -129,27 +140,35 @@
</description>
</configOption>
<configOption name="pickupsound">
<since><version>12.0.0</version></since>
<synopsis>Sound to play to picker when a call is picked up</synopsis>
</configOption>
<configOption name="pickupfailsound">
<since><version>12.0.0</version></since>
<synopsis>Sound to play to picker when a call cannot be picked up</synopsis>
</configOption>
<configOption name="transferdialattempts" default="3">
<since><version>13.1.0</version></since>
<synopsis>Number of dial attempts allowed when attempting a transfer</synopsis>
</configOption>
<configOption name="transferretrysound" default="pbx-invalid">
<since><version>13.1.0</version></since>
<synopsis>Sound that is played when an incorrect extension is dialed and the transferer should try again.</synopsis>
</configOption>
<configOption name="transferinvalidsound" default="privacy-incorrect">
<since><version>13.1.0</version></since>
<synopsis>Sound that is played when an incorrect extension is dialed and the transferer has no attempts remaining.</synopsis>
</configOption>
<configOption name="transferannouncesound" default="pbx-transfer">
<since><version>16.29.0</version><version>18.15.0</version><version>19.7.0</version></since>
<synopsis>Sound that is played to the transferer when a transfer is initiated. If empty, no sound will be played.</synopsis>
</configOption>
</configObject>
<configObject name="featuremap">
<since><version>12.0.0</version></since>
<synopsis>DTMF options that can be triggered during bridged calls</synopsis>
<configOption name="atxfer">
<since><version>12.0.0</version></since>
<synopsis>DTMF sequence to initiate an attended transfer</synopsis>
<description>
<para>The transferee parties will be placed on hold and the
@@ -161,6 +180,7 @@
</description>
</configOption>
<configOption name="blindxfer" default="#">
<since><version>12.0.0</version></since>
<synopsis>DTMF sequence to initiate a blind transfer</synopsis>
<description>
<para>The transferee parties will be placed on hold and the
@@ -177,6 +197,7 @@
</description>
</configOption>
<configOption name="parkcall">
<since><version>12.0.0</version></since>
<synopsis>DTMF sequence to park a call</synopsis>
<description>
<para>The parking lot used to park the call is determined by using either the
@@ -187,6 +208,7 @@
</description>
</configOption>
<configOption name="automixmon">
<since><version>12.0.0</version></since>
<synopsis>DTMF sequence to start or stop MixMonitor on a call</synopsis>
<description>
<para>This will cause the channel that pressed the DTMF sequence
@@ -206,6 +228,7 @@
</configOption>
</configObject>
<configObject name="applicationmap">
<since><version>12.0.0</version></since>
<synopsis>Section for defining custom feature invocations during a call</synopsis>
<description>
<para>The applicationmap is an area where new custom features can be created. Items
@@ -258,6 +281,7 @@
</configOption>
</configObject>
<configObject name="featuregroup">
<since><version>12.0.0</version></since>
<synopsis>Groupings of items from the applicationmap</synopsis>
<description>
<para>Feature groups allow for multiple applicationmap items to be

View File

@@ -53,11 +53,14 @@
<configInfo name="named_acl" language="en_US">
<configFile name="acl.conf">
<configObject name="named_acl">
<since><version>12.0.0</version></since>
<synopsis>Options for configuring a named ACL</synopsis>
<configOption name="permit">
<since><version>11.0.0</version></since>
<synopsis>An address/subnet from which to allow access</synopsis>
</configOption>
<configOption name="deny">
<since><version>11.0.0</version></since>
<synopsis>An address/subnet from which to disallow access</synopsis>
</configOption>
</configObject>

View File

@@ -65,20 +65,26 @@
<configInfo name="stasis" language="en_US">
<configFile name="stasis.conf">
<configObject name="threadpool">
<since><version>12.8.0</version><version>13.1.0</version></since>
<synopsis>Settings that configure the threadpool Stasis uses to deliver some messages.</synopsis>
<configOption name="initial_size" default="5">
<since><version>12.8.0</version><version>13.1.0</version></since>
<synopsis>Initial number of threads in the message bus threadpool.</synopsis>
</configOption>
<configOption name="idle_timeout_sec" default="20">
<since><version>12.8.0</version><version>13.1.0</version></since>
<synopsis>Number of seconds before an idle thread is disposed of.</synopsis>
</configOption>
<configOption name="max_size" default="50">
<since><version>12.8.0</version><version>13.1.0</version></since>
<synopsis>Maximum number of threads in the threadpool.</synopsis>
</configOption>
</configObject>
<configObject name="declined_message_types">
<since><version>13.0.0</version></since>
<synopsis>Stasis message types for which to decline creation.</synopsis>
<configOption name="decline">
<since><version>12.8.0</version><version>13.1.0</version></since>
<synopsis>The message type to decline.</synopsis>
<description>
<para>This configuration option defines the name of the Stasis

View File

@@ -81,29 +81,38 @@
<configInfo name="udptl" language="en_US">
<configFile name="udptl.conf">
<configObject name="global">
<since><version>12.0.0</version></since>
<synopsis>Global options for configuring UDPTL</synopsis>
<configOption name="udptlstart">
<since><version>11.0.0</version></since>
<synopsis>The start of the UDPTL port range</synopsis>
</configOption>
<configOption name="udptlend">
<since><version>11.0.0</version></since>
<synopsis>The end of the UDPTL port range</synopsis>
</configOption>
<configOption name="udptlchecksums">
<since><version>11.0.0</version></since>
<synopsis>Whether to enable or disable UDP checksums on UDPTL traffic</synopsis>
</configOption>
<configOption name="udptlfecentries">
<since><version>11.0.0</version></since>
<synopsis>The number of error correction entries in a UDPTL packet</synopsis>
</configOption>
<configOption name="udptlfecspan">
<since><version>11.0.0</version></since>
<synopsis>The span over which parity is calculated for FEC in a UDPTL packet</synopsis>
</configOption>
<configOption name="use_even_ports">
<since><version>11.0.0</version></since>
<synopsis>Whether to only use even-numbered UDPTL ports</synopsis>
</configOption>
<configOption name="t38faxudpec">
<since><version>11.0.0</version></since>
<synopsis>Removed</synopsis>
</configOption>
<configOption name="t38faxmaxdatagram">
<since><version>11.0.0</version></since>
<synopsis>Removed</synopsis>
</configOption>
</configObject>