--- /dev/null
+
+Change Log for Release certified-18.9-cert5
+========================================
+
+Links:
+----------------------------------------
+
+ - [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-certified-18.9-cert5.md)
+ - [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert4...certified-18.9-cert5)
+ - [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-certified-18.9-cert5.tar.gz)
+ - [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
+
+Summary:
+----------------------------------------
+
+- apply_patches: Use globbing instead of file/sort.
+- apply_patches: Sort patch list before applying
+- bundled_pjproject: Backport security fixes from pjproject 2.13.1
+- .github: Updates for AsteriskReleaser
+- res_musiconhold: avoid moh state access on unlocked chan
+- utils: add lock timestamps for DEBUG_THREADS
+- .github: Back out triggering PROpenedOrUpdated by label
+- .github: Move publish docs to new file CreateDocs.yml
+- .github: Remove result check from PROpenUpdateGateTests
+- .github: Fix use of 'contains'
+- .github: Add recheck label test to additional jobs
+- .github: Fix recheck label typos
+- .github: Fix recheck label manipulation
+- .github: Allow PR submit checks to be re-run by label
+- res_pjsip_session: Added new function calls to avoid ABI issues.
+- test_statis_endpoints: Fix channel_messages test again
+- test_stasis_endpoints.c: Make channel_messages more stable
+- build: Fix a few gcc 13 issues
+- .github: Rework for merge approval
+- AMI: Add CoreShowChannelMap action.
+- .github: Fix issues with cherry-pick-reminder
+- indications: logging changes
+- .github Ignore error when adding reviewrs to PR
+- .github: Update field descriptions for AsteriskReleaser
+- .github: Change title of AsteriskReleaser job
+- .github: Don't add cherry-pick reminder if it's already present
+- .github: Fix quoting in PROpenedOrUpdated
+- .github: Add cherry-pick reminder to new PRs
+- core: Cleanup gerrit and JIRA references. (#40) (#61)
+- .github: Tweak improvement issue type language.
+- .github: Tweak new feature language, and move feature requests elsewhere.
+- .github: Fix staleness check to only run on certain labels.
+- .github: Add AsteriskReleaser
+- cel: add local optimization begin event
+- .github: Fix CherryPickTest to only run when it should
+- .github: Fix reference to CHERRY_PICK_TESTING_IN_PROGRESS
+- .github: Remove separate set labels step from new PR
+- .github: Refactor CP progress and add new PR test progress
+- .github: Add cherry-pick test progress labels
+- .github: Update issue templates
+- .github: Remove unnecessary parameter in CherryPickTest
+- Initial GitHub PRs
+- Initial GitHub Issue Templates
+- test.c: Fix counting of tests and add 2 new tests
+- res_mixmonitor: MixMonitorMute by MixMonitor ID
+- format_sln: add .slin as supported file extension
+- bridge_builtin_features: add beep via touch variable
+- cli: increase channel column width
+- app_senddtmf: Add option to answer target channel.
+- app_directory: Add a 'skip call' option.
+- app_read: Add an option to return terminator on empty digits.
+- app_directory: add ability to specify configuration file
+
+User Notes:
+----------------------------------------
+
+- ### AMI: Add CoreShowChannelMap action.
+ New AMI action CoreShowChannelMap has been added.
+
+- ### cel: add local optimization begin event
+ The new AST_CEL_LOCAL_OPTIMIZE_BEGIN can be used
+ by itself or in conert with the existing
+ AST_CEL_LOCAL_OPTIMIZE to book-end local channel optimizaion.
+
+- ### app_read: Add an option to return terminator on empty digits.
+ A new option 'e' has been added to allow Read() to return the
+ terminator as the dialed digits in the case where only the terminator
+ is entered.
+
+- ### format_sln: add .slin as supported file extension
+ format_sln now recognizes '.slin' as a valid
+ file extension in addition to the existing
+ '.sln' and '.raw'.
+
+- ### bridge_builtin_features: add beep via touch variable
+ Add optional touch variable : TOUCH_MIXMONITOR_BEEP(interval)
+ Setting TOUCH_MIXMONITOR_BEEP/TOUCH_MONITOR_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.
+
+- ### app_directory: Add a 'skip call' option.
+ A new option 's' has been added to the Directory() application that
+ will skip calling the extension and instead set the extension as
+ DIRECTORY_EXTEN channel variable.
+
+- ### res_mixmonitor: MixMonitorMute by MixMonitor ID
+ 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.
+
+- ### app_senddtmf: Add option to answer target channel.
+ A new option has been added to SendDTMF() which will answer the
+ specified channel if it is not already up. If no channel is specified,
+ the current channel will be answered instead.
+
+- ### 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.
+
+- ### cli: increase channel column width
+ 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.
+
+
+Upgrade Notes:
+----------------------------------------
+
+- ### cel: add local optimization begin event
+ The existing AST_CEL_LOCAL_OPTIMIZE can continue
+ to be used as-is and the AST_CEL_LOCAL_OPTIMIZE_BEGIN event
+ can be ignored if desired.
+
+
+Closed Issues:
+----------------------------------------
+
+ - #39: [Bug]: Remove .gitreview from repository.
+ - #52: [improvement]: Add local optimization begin cel event
+ - #89: [improvement]: indications: logging changes
+ - #104: [improvement]: Add AMI action to get a list of connected channels
+ - #110: [improvement]: utils - add lock timing information with DEBUG_THREADS
+ - #133: [bug]: unlock channel after moh state access
+ - #145: [bug]: ABI issue with pjproject and pjsip_inv_session
+ - #155: [bug]: GCC 13 is catching a few new trivial issues
+ - #158: [bug]: test_stasis_endpoints.c: Unit test channel_messages is unstable
+ - #188: [improvement]: pjsip: Upgrade bundled version to pjproject 2.13.1 #187
+ - #193: [bug]: third-party/apply-patches doesn't sort the patch file list before applying
+
+Commits By Author:
+----------------------------------------
+
+- ### Ben Ford (2):
+ - AMI: Add CoreShowChannelMap action.
+ - res_pjsip_session: Added new function calls to avoid ABI issues.
+
+- ### George Joseph (33):
+ - test.c: Fix counting of tests and add 2 new tests
+ - Initial GitHub Issue Templates
+ - Initial GitHub PRs
+ - .github: Remove unnecessary parameter in CherryPickTest
+ - .github: Update issue templates
+ - .github: Add cherry-pick test progress labels
+ - .github: Refactor CP progress and add new PR test progress
+ - .github: Remove separate set labels step from new PR
+ - .github: Fix reference to CHERRY_PICK_TESTING_IN_PROGRESS
+ - .github: Fix CherryPickTest to only run when it should
+ - .github: Add AsteriskReleaser
+ - .github: Add cherry-pick reminder to new PRs
+ - .github: Fix quoting in PROpenedOrUpdated
+ - .github: Don't add cherry-pick reminder if it's already present
+ - .github: Change title of AsteriskReleaser job
+ - .github: Update field descriptions for AsteriskReleaser
+ - .github Ignore error when adding reviewrs to PR
+ - .github: Fix issues with cherry-pick-reminder
+ - .github: Rework for merge approval
+ - build: Fix a few gcc 13 issues
+ - test_stasis_endpoints.c: Make channel_messages more stable
+ - test_statis_endpoints: Fix channel_messages test again
+ - .github: Allow PR submit checks to be re-run by label
+ - .github: Fix recheck label manipulation
+ - .github: Fix recheck label typos
+ - .github: Add recheck label test to additional jobs
+ - .github: Fix use of 'contains'
+ - .github: Remove result check from PROpenUpdateGateTests
+ - .github: Move publish docs to new file CreateDocs.yml
+ - .github: Back out triggering PROpenedOrUpdated by label
+ - .github: Updates for AsteriskReleaser
+ - bundled_pjproject: Backport security fixes from pjproject 2.13.1
+ - apply_patches: Sort patch list before applying
+
+- ### Gitea (1):
+ - .github: Tweak new feature language, and move feature requests elsewhere.
+
+- ### Joshua C. Colp (2):
+ - .github: Fix staleness check to only run on certain labels.
+ - .github: Tweak improvement issue type language.
+
+- ### Mike Bradeen (12):
+ - app_directory: add ability to specify configuration file
+ - app_read: Add an option to return terminator on empty digits.
+ - app_directory: Add a 'skip call' option.
+ - app_senddtmf: Add option to answer target channel.
+ - cli: increase channel column width
+ - bridge_builtin_features: add beep via touch variable
+ - format_sln: add .slin as supported file extension
+ - res_mixmonitor: MixMonitorMute by MixMonitor ID
+ - cel: add local optimization begin event
+ - indications: logging changes
+ - utils: add lock timestamps for DEBUG_THREADS
+ - res_musiconhold: avoid moh state access on unlocked chan
+
+- ### Sean Bright (2):
+ - core: Cleanup gerrit and JIRA references. (#40) (#61)
+ - apply_patches: Use globbing instead of file/sort.
+
+
+Detail:
+----------------------------------------
+
+- ### apply_patches: Use globbing instead of file/sort.
+ Author: Sean Bright
+ Date: 2023-07-06
+
+ This accomplishes the same thing as a `find ... | sort` but with the
+ added benefit of clarity and avoiding a call to a subshell.
+
+ Additionally drop the -s option from call to patch as it is not POSIX.
+
+- ### apply_patches: Sort patch list before applying
+ Author: George Joseph
+ Date: 2023-07-06
+
+ The apply_patches script wasn't sorting the list of patches in
+ the "patches" directory before applying them. This left the list
+ in an indeterminate order. In most cases, the list is actually
+ sorted but rarely, they can be out of order and cause dependent
+ patches to fail to apply.
+
+ We now sort the list but the "sort" program wasn't in the
+ configure scripts so we needed to add that and regenerate
+ the scripts as well.
+
+ Resolves: #193
+
+- ### bundled_pjproject: Backport security fixes from pjproject 2.13.1
+ Author: George Joseph
+ Date: 2023-07-05
+
+ Merge-pull-request-from-GHSA-9pfh-r8x4-w26w.patch
+ Merge-pull-request-from-GHSA-cxwq-5g9x-x7fr.patch
+ Locking-fix-so-that-SSL_shutdown-and-SSL_write-are-n.patch
+ Don-t-call-SSL_shutdown-when-receiving-SSL_ERROR_SYS.patch
+
+ Resolves: #188
+
+- ### .github: Updates for AsteriskReleaser
+ Author: George Joseph
+ Date: 2023-06-30
+
+
+- ### res_musiconhold: avoid moh state access on unlocked chan
+ Author: Mike Bradeen
+ Date: 2023-05-31
+
+ Move channel unlock to after moh state access to avoid
+ potential unlocked access to state.
+
+ Resolves: #133
+
+- ### utils: add lock timestamps for DEBUG_THREADS
+ Author: Mike Bradeen
+ Date: 2023-05-23
+
+ Adds last locked and unlocked timestamps as well as a
+ counter for the number of times the lock has been
+ attempted (vs locked/unlocked) to debug output printed
+ using the DEBUG_THREADS option.
+
+ Resolves: #110
+
+- ### .github: Back out triggering PROpenedOrUpdated by label
+ Author: George Joseph
+ Date: 2023-06-29
+
+
+- ### .github: Move publish docs to new file CreateDocs.yml
+ Author: George Joseph
+ Date: 2023-06-27
+
+
+- ### .github: Remove result check from PROpenUpdateGateTests
+ Author: George Joseph
+ Date: 2023-06-27
+
+
+- ### .github: Fix use of 'contains'
+ Author: George Joseph
+ Date: 2023-06-26
+
+
+- ### .github: Add recheck label test to additional jobs
+ Author: George Joseph
+ Date: 2023-06-26
+
+
+- ### .github: Fix recheck label typos
+ Author: George Joseph
+ Date: 2023-06-26
+
+
+- ### .github: Fix recheck label manipulation
+ Author: George Joseph
+ Date: 2023-06-26
+
+
+- ### .github: Allow PR submit checks to be re-run by label
+ Author: George Joseph
+ Date: 2023-06-26
+
+
+- ### res_pjsip_session: Added new function calls to avoid ABI issues.
+ Author: Ben Ford
+ Date: 2023-06-05
+
+ Added two new functions (ast_sip_session_get_dialog and
+ ast_sip_session_get_pjsip_inv_state) that retrieve the dialog and the
+ pjsip_inv_state respectively from the pjsip_inv_session on the
+ ast_sip_session struct. This is due to pjproject adding a new field to
+ the pjsip_inv_session struct that caused crashes when trying to access
+ fields that were no longer where they were expected to be if a module
+ was compiled against a different version of pjproject.
+
+ Resolves: #145
+
+- ### test_statis_endpoints: Fix channel_messages test again
+ Author: George Joseph
+ Date: 2023-06-12
+
+
+- ### test_stasis_endpoints.c: Make channel_messages more stable
+ Author: George Joseph
+ Date: 2023-06-09
+
+ The channel_messages test was assuming that stasis would return
+ messages in a specific order. This is an incorrect assumption as
+ message ordering was never guaranteed. This was causing the test
+ to fail occasionally. We now test all the messages for the
+ required message types instead of testing one by one.
+
+ Resolves: #158
+
+- ### build: Fix a few gcc 13 issues
+ Author: George Joseph
+ Date: 2023-06-09
+
+ * gcc 13 is now catching when a function is declared as returning
+ an enum but defined as returning an int or vice versa. Fixed
+ a few in app.h, loader.c, stasis_message.c.
+
+ * gcc 13 is also now (incorrectly) complaining of dangling pointers
+ when assigning a pointer to a local char array to a char *. Had
+ to change that to an ast_alloca.
+
+ Resolves: #155
+
+- ### .github: Rework for merge approval
+ Author: George Joseph
+ Date: 2023-06-06
+
+
+- ### AMI: Add CoreShowChannelMap action.
+ Author: Ben Ford
+ Date: 2023-05-18
+
+ Adds a new AMI action (CoreShowChannelMap) that takes in a channel name
+ and provides a list of all channels that are connected to that channel,
+ following local channel connections as well.
+
+ Resolves: #104
+
+ UserNote: New AMI action CoreShowChannelMap has been added.
+
+- ### .github: Fix issues with cherry-pick-reminder
+ Author: George Joseph
+ Date: 2023-06-05
+
+
+- ### indications: logging changes
+ Author: Mike Bradeen
+ Date: 2023-05-16
+
+ Increase verbosity to indicate failure due to missing country
+ and to specify default on CLI dump
+
+ Resolves: #89
+
+- ### .github Ignore error when adding reviewrs to PR
+ Author: George Joseph
+ Date: 2023-06-05
+
+
+- ### .github: Update field descriptions for AsteriskReleaser
+ Author: George Joseph
+ Date: 2023-05-26
+
+
+- ### .github: Change title of AsteriskReleaser job
+ Author: George Joseph
+ Date: 2023-05-23
+
+
+- ### .github: Don't add cherry-pick reminder if it's already present
+ Author: George Joseph
+ Date: 2023-05-22
+
+
+- ### .github: Fix quoting in PROpenedOrUpdated
+ Author: George Joseph
+ Date: 2023-05-16
+
+
+- ### .github: Add cherry-pick reminder to new PRs
+ Author: George Joseph
+ Date: 2023-05-15
+
+
+- ### core: Cleanup gerrit and JIRA references. (#40) (#61)
+ Author: Sean Bright
+ Date: 2023-05-10
+
+ * Remove .gitreview and switch to pulling the main asterisk branch\r
+ version from configure.ac instead.\r
+ \r
+ * Replace references to JIRA with GitHub.\r
+ \r
+ * Other minor cleanup found along the way.\r
+ \r
+ Resolves: #39
+- ### .github: Tweak improvement issue type language.
+ Author: Joshua C. Colp
+ Date: 2023-05-09
+
+
+- ### .github: Tweak new feature language, and move feature requests elsewhere.
+ Author: Gitea
+ Date: 2023-05-09
+
+
+- ### .github: Fix staleness check to only run on certain labels.
+ Author: Joshua C. Colp
+ Date: 2023-05-09
+
+
+- ### .github: Add AsteriskReleaser
+ Author: George Joseph
+ Date: 2023-05-05
+
+
+- ### cel: add local optimization begin event
+ Author: Mike Bradeen
+ Date: 2023-05-02
+
+ The current AST_CEL_LOCAL_OPTIMIZE event is and has been
+ triggered on a local optimization end to serve as a flag
+ indicating the event occurred. This change adds a second
+ AST_CEL_LOCAL_OPTIMIZE_BEGIN event for further detail.
+
+ Resolves: #52
+
+ UpgradeNote: The existing AST_CEL_LOCAL_OPTIMIZE can continue
+ to be used as-is and the AST_CEL_LOCAL_OPTIMIZE_BEGIN event
+ can be ignored if desired.
+
+ UserNote: The new AST_CEL_LOCAL_OPTIMIZE_BEGIN can be used
+ by itself or in conert with the existing
+ AST_CEL_LOCAL_OPTIMIZE to book-end local channel optimizaion.
+
+- ### .github: Fix CherryPickTest to only run when it should
+ Author: George Joseph
+ Date: 2023-05-03
+
+ Fixed CherryPickTest so it triggers only on the
+ "cherry-pick-test" label instead of all labels.
+
+- ### .github: Fix reference to CHERRY_PICK_TESTING_IN_PROGRESS
+ Author: George Joseph
+ Date: 2023-05-02
+
+
+- ### .github: Remove separate set labels step from new PR
+ Author: George Joseph
+ Date: 2023-05-02
+
+
+- ### .github: Refactor CP progress and add new PR test progress
+ Author: George Joseph
+ Date: 2023-05-02
+
+
+- ### .github: Add cherry-pick test progress labels
+ Author: George Joseph
+ Date: 2023-05-02
+
+
+- ### .github: Update issue templates
+ Author: George Joseph
+ Date: 2023-05-01
+
+
+- ### .github: Remove unnecessary parameter in CherryPickTest
+ Author: George Joseph
+ Date: 2023-05-01
+
+
+- ### Initial GitHub PRs
+ Author: George Joseph
+ Date: 2023-04-28
+
+
+- ### Initial GitHub Issue Templates
+ Author: George Joseph
+ Date: 2023-04-28
+
+
+- ### test.c: Fix counting of tests and add 2 new tests
+ Author: George Joseph
+ Date: 2023-03-28
+
+ The unit test XML output was counting all registered tests as "run"
+ even when only a subset were actually requested to be run and
+ the "failures" attribute was missing.
+
+ * 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 2 new unit tests that just pass and fail to be
+ used for CI testing.
+
+
+- ### res_mixmonitor: MixMonitorMute by MixMonitor ID
+ Author: Mike Bradeen
+ Date: 2023-03-13
+
+ While it is possible to create multiple mixmonitor instances
+ on a channel, it was not previously possible to mute individual
+ instances.
+
+ This change includes the ability to specify the MixMonitorID
+ when calling the manager action: MixMonitorMute. This will
+ allow an individual MixMonitor instance to be muted via id.
+ This id can be stored as a channel variable using the 'i'
+ MixMonitor option.
+
+ As part of this change, if no MixMonitorID is specified in
+ the manager action MixMonitorMute, Asterisk will set the mute
+ flag on all MixMonitor spy-type audiohooks on the channel.
+ This is done via the new audiohook function:
+ ast_audiohook_set_mute_all.
+
+ ASTERISK-30464
+
+
+- ### format_sln: add .slin as supported file extension
+ Author: Mike Bradeen
+ Date: 2023-03-14
+
+ Adds '.slin' to existing supported file extensions:
+ .sln and .raw
+
+ ASTERISK-30465
+
+
+- ### bridge_builtin_features: add beep via touch variable
+ Author: Mike Bradeen
+ Date: 2023-03-01
+
+ Add periodic beep option to one-touch recording by setting
+ the touch variable TOUCH_MONITOR_BEEP or
+ TOUCH_MIXMONITOR_BEEP to the desired interval in seconds.
+
+ If the interval is less than 5 seconds, a minimum of 5
+ seconds will be imposed. If the interval is set to an
+ invalid value, it will default to 15 seconds.
+
+ A new test event PERIODIC_HOOK_ENABLED was added to the
+ func_periodic_hook hook_on function to indicate when
+ a hook is started. This is so we can test that the touch
+ variable starts the hook as expected.
+
+ ASTERISK-30446
+
+
+- ### cli: increase channel column width
+ Author: Mike Bradeen
+ Date: 2023-03-06
+
+ 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.
+
+ ASTERISK-30455
+
+
+- ### app_senddtmf: Add option to answer target channel.
+ Author: Mike Bradeen
+ Date: 2023-02-06
+
+ Adds a new option to SendDTMF() which will answer the specified
+ channel if it is not already up. If no channel is specified, the
+ current channel will be answered instead.
+
+ ASTERISK-30422
+
+
+- ### app_directory: Add a 'skip call' option.
+ Author: Mike Bradeen
+ Date: 2023-01-27
+
+ Adds 's' option to skip calling the extension and instead set the
+ extension as DIRECTORY_EXTEN channel variable.
+
+ ASTERISK-30405
+
+
+- ### app_read: Add an option to return terminator on empty digits.
+ Author: Mike Bradeen
+ Date: 2023-01-30
+
+ Adds 'e' option to allow Read() to return the terminator as the
+ dialed digits in the case where only the terminator is entered.
+
+ ie; if "#" is entered, return "#" if the 'e' option is set and ""
+ if it is not.
+
+ ASTERISK-30411
+
+
+- ### app_directory: add ability to specify configuration file
+ Author: Mike Bradeen
+ Date: 2023-01-25
+
+ Adds option to app_directory to specify a filename from which to
+ read configuration instead of voicemail.conf ie;
+
+ same => n,Directory(,,c(directory.conf))
+
+ This configuration should contain a list of extensions using the
+ voicemail.conf format, ie;
+
+ 2020=2020,Dog Dog,,,,attach=no|saycid=no|envelope=no|delete=no
+
+ ASTERISK-30404
+
+