After a year of development, the stable branch of the open communication platform Asterisk 24, used for deploying software PBXs, voice communication systems, VoIP gateways, organizing IVR systems (voice menus), voicemail, phone conferences, and call centers, has been released. The project's source code is written in C and is available under the GPLv2 license.
Asterisk 24 is classified as a Long-Term Support (LTS) release, with updates being issued for five years instead of the typical two years for regular releases. Support for the previous LTS branch, Asterisk 22, will continue until October 2029, while support for Asterisk 20 will last until October 2027. When preparing LTS releases, the focus is on ensuring stability and optimizing performance, whereas regular releases prioritize functionality expansion.
Among the changes in Asterisk 24:
- In the res_pjsip module, which provides support for VoIP communications based on the SIP protocol, PJSIP contacts linked to DNS names are now considered available if at least one associated DNS record (SRV, A, or AAAA) has been resolved.
- The res_prometheus module has added the options 'channels_detail_metrics_enabled' and 'bridges_detail_metrics_enabled' to manage the export of additional metrics for channels ('asterisk_channels_state', 'asterisk_channels_duration_seconds') and bridges ('asterisk_bridges_channels_count') to the Prometheus monitoring system.
- The ConfBridge conference bridge profile has added the 'announcements' option, which allows disabling general conference announcements, thereby saving one channel and one taskprocessor stream.
- The chan_websocket module implements an unbuffered mode that sends frames as they are received from the WebSocket and application.
- Configuration examples for ITSP authentication have been added for IP address and the use of TLS with SRTP.
- The 'write_timeout' parameter has been added to websocket_client.conf to limit the maximum duration of the write operation before returning an error.
- In the location determination tools (res_geolocation), a script has been added that uses Alembic to create the geoloc_location and geoloc_profile tables.
- The ast_websocket_client_options structure has added the write_timeout field to configure the timeout for non-blocking write operations.
- The MEDIA_START event in chan_websocket has added the passthrough and unbuffered fields to reflect the channel creation mode.
Source: opennet.ru
