After a year of development, the release of the new stable branch of the open communication platform Asterisk 20 has taken place, which is used for deploying software PBX, voice communication systems, VoIP gateways, organizing IVR systems (voice menus), voicemail, conference calls, and call centers. The source code of the project is available under the GPLv2 license.
Asterisk 20 has been categorized as a Long-Term Support (LTS) release, with updates being released for five years instead of the usual two years for standard releases. Support for the previous LTS branch Asterisk 18 will continue until October 2025, while support for Asterisk 16 will last until October 2023. In preparing LTS releases, the main focus is on ensuring stability and optimizing performance, whereas the priority of standard releases is to expand functionality.
Key improvements in Asterisk 20:
- A testing framework has been added to verify the correctness of command processing by external processes.
- The res_pjsip module now supports reloading TLS keys and certificates.
- Additional transfer initiation options have been added, such as for playback of a custom prompt or setting up extensions.
- The AMI (Asterisk Manager Interface) now includes the ability to globally disable certain events (a disabledevents directive has been added in the [general] section of the configuration file). A new event, DeadlockStart, is generated upon detecting a deadlock. The DBPrefixGet action has been added to extract all keys from the database starting with a specified prefix.
- The CLI now has the command 'dialplan eval function' to invoke call handling functions (dialplan) and the command 'module refresh' for reloading modules.
- A pbx helper application has been added to simplify searching for and launching other applications by name.
- An EXPORT function has been added to record variables and functions for other channels. New string functions TRIM, LTRIM, and RTRIM have also been added.
- The Answering Machine Detector (AMD) now includes the ability to play a random audio file in response.
- In the Bridge and BridgeWait applications, the option to not answer the channel until the channels are bridged has been added.
- The voicemail application (app_voicemail) now has an option to protect messages from deletion.
- Sound scrambling feature added (to protect against eavesdropping).
- Location detection tools expanded (res_geolocation).
- Support for music playback during call hold added to the app_queue application.
- Option added to the res_parking module to override music played during call hold in the dialplan.
- Option end_marked_any added to the app_confbridge application to disconnect users from the conference after any marked user leaves.
- Option hear_own_join_sound added to disable sound indication for a single user when connecting to a call.
- Ability to disable CDR (Call Detail Record) by default for new channels provided.
- ReceiveText application added for receiving text, performing the opposite function of the SendText application.
- Function for parsing JSON added.
- SendMF application added to send arbitrary multifrequency signals (R1 MF, Multi-Frequency) to any channel.
- ToneScan module added for signal detection (toneset, busy signal, modem response, Special Information Tones, etc.).
- Applications previously marked as deprecated have been removed: muted, conf2ael.
- Modules previously marked as deprecated have been removed: res_config_sqlite, chan_vpb, chan_misdn, chan_nbs, chan_phone, chan_oss, cdr_syslog, app_dahdiras, app_nbscat, app_image, app_url, app_fax, app_ices, app_mysql, cdr_mysql.
Source: opennet.ru
