<p>The Asterisk Development Team would like to announce<br />
release candidate 1 of Asterisk 20.3.0.</p>
<p>The release artifacts are available for immediate download at<br />
https://github.com/asterisk/asterisk/releases/tag/20.3.0-rc1
and
https://downloads.asterisk.org/pub/telephony/asterisk</p>
<p>This release resolves issues reported by the community<br />
and would have not been possible without your participation.</p>
<p>Thank You!</p>
<h1 id="changelogforrelease2030rc1">Change Log for Release 20.3.0-rc1</h1>
<h2 id="summary">Summary:</h2>
<ul>
<li>Set up new ChangeLogs directory</li>
<li>.github: Add AsteriskReleaser</li>
<li>chan_pjsip: also return all codecs on empty re-INVITE for late offers</li>
<li>cel: add local optimization begin event</li>
<li>core: Cleanup gerrit and JIRA references. (#57)</li>
<li>.github: Fix CherryPickTest to only run when it should</li>
<li>.github: Fix reference to CHERRY<em>PICK</em>TESTING<em>IN</em>PROGRESS</li>
<li>.github: Remove separate set labels step from new PR</li>
<li>.github: Refactor CP progress and add new PR test progress</li>
<li>res_pjsip: mediasec: Add Security-Client headers after 401</li>
<li>.github: Add cherry-pick test progress labels</li>
<li>LICENSE: Update link to trademark policy.</li>
<li>chan_dahdi: Add dialmode option for FXS lines.</li>
<li>.github: Update issue templates</li>
<li>.github: Remove unnecessary parameter in CherryPickTest</li>
<li>Initial GitHub PRs</li>
<li>Initial GitHub Issue Templates</li>
<li>pbx_dundi: Fix PJSIP endpoint configuration check.</li>
<li>Revert "app_queue: periodic announcement configurable start time."</li>
<li>res<em>pjsip</em>stir_shaken: Fix JSON field ordering and disallowed TN characters.</li>
<li>pbx_dundi: Add PJSIP support.</li>
<li>install_prereq: Add Linux Mint support.</li>
<li>chan_pjsip: fix music on hold continues after INVITE with replaces</li>
<li>voicemail.conf: Fix incorrect comment about #include.</li>
<li>app_queue: Fix minor xmldoc duplication and vagueness.</li>
<li>test.c: Fix counting of tests and add 2 new tests</li>
<li>res_calendar: output busy state as part of show calendar.</li>
<li>loader.c: Minor module key check simplification.</li>
<li>ael: Regenerate lexers and parsers.</li>
<li>bridge<em>builtin</em>features: add beep via touch variable</li>
<li>res_mixmonitor: MixMonitorMute by MixMonitor ID</li>
<li>format_sln: add .slin as supported file extension</li>
<li>res_agi: RECORD FILE plays 2 beeps.</li>
<li>func_json: Fix JSON parsing issues.</li>
<li>app_senddtmf: Add SendFlash AMI action.</li>
<li>app_dial: Fix DTMF not relayed to caller on unanswered calls.</li>
<li>configure: fix detection of re-entrant resolver functions</li>
<li>cli: increase channel column width</li>
<li>app_queue: periodic announcement configurable start time.</li>
<li>make_version: Strip svn stuff and suppress ref HEAD errors</li>
<li>res<em>http</em>media_cache: Introduce options and customize</li>
<li>main/iostream.c: fix build with libressl</li>
<li>contrib: rc.archlinux.asterisk uses invalid redirect.</li>
</ul>
<h2 id="usernotes">User Notes:</h2>
<ul>
<li><h3 id="celaddlocaloptimizationbeginevent">cel: add local optimization begin event</h3>
<p>The new AST<em>CEL</em>LOCAL<em>OPTIMIZE</em>BEGIN can be used
by itself or in conert with the existing
AST<em>CEL</em>LOCAL_OPTIMIZE to book-end local channel optimizaion.</p></li>
<li><h3 id="chan_dahdiadddialmodeoptionforfxslines">chan_dahdi: Add dialmode option for FXS lines.</h3>
<p>A "dialmode" option has been added which allows
specifying, on a per-channel basis, what methods of
subscriber dialing (pulse and/or tone) are permitted.
Additionally, this can be changed on a channel
at any point during a call using the CHANNEL
function.</p></li>
<li><h3 id="app_senddtmfaddsendflashamiaction">app_senddtmf: Add SendFlash AMI action.</h3>
<p>The SendFlash AMI action now allows sending
a hook flash event on a channel.</p></li>
<li><h3 id="res_mixmonitormixmonitormutebymixmonitorid">res_mixmonitor: MixMonitorMute by MixMonitor ID</h3>
<p>It is now possible to specify the MixMonitorID when calling
the manager action: MixMonitorMute.  This will allow an
individual MixMonitor instance to be muted via ID.
The MixMonitorID can be stored as a channel variable using
the 'i' MixMonitor option and is returned upon creation if
this option is used.
As part of this change, if no MixMonitorID is specified in
the manager action MixMonitorMute, Asterisk will set the mute
flag on all MixMonitor audiohooks on the channel.  Previous
behavior would set the flag on the first MixMonitor audiohook
found.</p></li>
<li><h3 id="bridge_builtin_featuresaddbeepviatouchvariable">bridge<em>builtin</em>features: add beep via touch variable</h3>
<p>Add optional touch variable : TOUCH<em>MIXMONITOR</em>BEEP(interval)
Setting TOUCH<em>MIXMONITOR</em>BEEP/TOUCH<em>MONITOR</em>BEEP to a valid
interval in seconds will result in a periodic beep being
played to the monitored channel upon MixMontior/Monitor
feature start.
If an interval less than 5 seconds is specified, the interval
will default to 5 seconds.  If the value is set to an invalid
interval, the default of 15 seconds will be used.</p></li>
<li><h3 id="cliincreasechannelcolumnwidth">cli: increase channel column width</h3>
<p>This change increases the display width on 'core show channels'
amd 'core show channels verbose'
For 'core show channels', the Channel name field is increased to
64 characters and the Location name field is increased to 32
characters.
For 'core show channels verbose', the Channel name field is
increased to 80 characters, the Context is increased to 24
characters and the Extension is increased to 24 characters.</p></li>
<li><h3 id="pbx_dundiaddpjsipsupport">pbx_dundi: Add PJSIP support.</h3>
<p>DUNDi now supports chan<em>pjsip. Outgoing calls using
PJSIP require the pjsip</em>outgoing_endpoint option
to be set in dundi.conf.</p></li>
<li><h3 id="format_slnaddslinassupportedfileextension">format_sln: add .slin as supported file extension</h3>
<p>format_sln now recognizes '.slin' as a valid
file extension in addition to the existing
'.sln' and '.raw'.</p></li>
<li><h3 id="res_http_media_cacheintroduceoptionsandcustomize">res<em>http</em>media_cache: Introduce options and customize</h3>
<p>The res<em>http</em>media<em>cache module now attempts to load
configuration from the res</em>http<em>media</em>cache.conf file.
The following options were added:</p>
<ul>
<li>timeout_secs</li>
<li>user_agent</li>
<li>follow_location</li>
<li>max_redirects</li>
<li>protocols</li>
<li>redirect_protocols</li>
<li>dns<em>cache</em>timeout_secs</li></ul></li>
<li><p>### test.c: Fix counting of tests and add 2 new tests
The "tests" attribute of the "testsuite" element in the
output XML now reflects only the tests actually requested
to be executed instead of all the tests registered.
The "failures" attribute was added to the "testsuite"
element.
Also added two new unit tests that just pass and fail
to be used for testing CI itself.</p></li>
</ul>
<h2 id="upgradenotes">Upgrade Notes:</h2>
<ul>
<li>### cel: add local optimization begin event
The existing AST<em>CEL</em>LOCAL<em>OPTIMIZE can continue
to be used as-is and the AST</em>CEL<em>LOCAL</em>OPTIMIZE_BEGIN event
can be ignored if desired.</li>
</ul>
<h2 id="closedissues">Closed Issues:</h2>
<ul>
<li>#39: [Bug]: Remove .gitreview from repository.</li>
<li>#43: [Bug]: Link to trademark policy is no longer correct</li>
<li>#48: [bug]: res_pjsip: Mediasec requires different headers on 401 response</li>
<li>#52: [improvement]: Add local optimization begin cel event</li>
</ul>
<h3 id="formoredetailssee">For more details, see:</h3>
<p>https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-20.3.0-rc1.md</p>