Update CHANGES and UPGRADE.txt for 19.0.0

This commit is contained in:
Asterisk Development Team 2021-10-13 05:21:51 -05:00
parent 9175012a12
commit 9ff955f4d1
91 changed files with 660 additions and 624 deletions

436
CHANGES
View File

@ -12,6 +12,442 @@
===
==============================================================================
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 18.0.0 to Asterisk 19.0.0 ------------
------------------------------------------------------------------------------
AMI Flash event
------------------
* Hook flash events are now exposed as AMI events.
Add variable support to Originate
------------------
* The Originate application now allows
variables to be set on the new channel
through a new option.
Channel-agnostic MF support
------------------
* A SendMF application and PlayMF manager
application are now included to send
arbitrary standard R1 MF tones on the
current channel or another specified channel.
Core
------------------
* Added debug logging categories that allow a user to output debug information
based on a specified category. This lets the user limit, and filter debug
output to data relevant to a particular context, or topic. For instance the
following categories are now available for debug logging purposes:
dtls, dtls_packet, ice, rtcp, rtcp_packet, rtp, rtp_packet, stun, stun_packet
These debug categories can be enable/disable via an Asterisk CLI command:
core set debug category <category>[:<sublevel>] [category[:<sublevel] ...]
core set debug category off [<category> [<category>] ...]
If no sub-level is associated all debug statements for a given category are
output. If a sub-level is given then only those statements assigned a value
at or below the associated sub-level are output.
* The location where the media cache stores its temporary files
is no longer hardcoded to /tmp but can now be configured separately
via the astcachedir config variable in asterisk.conf.
The default location for astcachedir is now /var/cache/asterisk
instead of /tmp, please make sure to manually cleanup and/or
migrate the temporary files in /tmp after upgrading.
Handle non-standard Meter metric type safely
------------------
* A meter_support flag has been introduced that defaults to true to maintain current behaviour.
If disabled, a counter metric type will be used instead wherever a meter metric type was used,
the counter will have a "_meter" suffix appended to the metric name.
MessageSend
------------------
* The MessageSend dialplan application now takes an
optional third argument that can set the message's
"To" field on outgoing messages. It's an alternative
to using the MESSAGE(to) dialplan function.
To prevent confusion with the first argument, currently
named "to", it's been renamed to "destination".
Its function, creating the request URI, hasn't changed.
The online documentation has also been enhanced to
explain the behavior.
Despite the changes in this commit, there should be
no impact to current users of MessageSend.
* The MessageSend AMI action has been updated to allow the Destination
and the To addresses to be provided separately. This brings the
MessageSend manager command in line with the capabilities of the
MessageSend dialplan application.
New ConfKick application
------------------
* Adds a ConfKick() application, which allows
a specific channel, all users, or all non-admin
users to be kicked from a conference bridge.
New Reload application
------------------
* Adds an application to reload modules
PlaybackFinished has a new error state
------------------
* The PlaybackFinished event now has a new state "failed"
that is used when the sound file was not played due to an error.
Before the state on PlaybackFinished was always "done".
In case of multiple sound files to be played,
the PlaybackFinished is sent only once in the end of the list,
even in case of error.
WaitForCondition application
------------------
* This application provides a way to halt
dialplan execution until a provided
condition evaluates to true.
app_confbridge
------------------
* app_confbridge now has the ability to force the estimated bitrate on an SFU
bridge. To use it, set a bridge profile's remb_behavior to "force" and
set remb_estimated_bitrate to a rate in bits per second. The
remb_estimated_bitrate parameter is ignored if remb_behavior is something
other than "force".
app_confbridge answer supervision control
------------------
* app_confbridge now provides a user option to prevent
answer supervision if the channel hasn't been
answered yet. To use it, set a user profile's
answer_channel option to no.
app_dial announcement option
------------------
* The A option for Dial now supports
playing audio to the caller as well
as the called party.
app_dtmfstore
------------------
* New application which collects digits
dialed and stores them into
a specified variable.
app_milliwatt
------------------
* The Milliwatt application's existing behavior is
incorrect in that it plays a constant tone, which
is not how digital milliwatt test lines actually
work.
An option is added so that a proper milliwatt test
tone can be provided, including a 1 second silent
interval every 10 seconds. However, for compatability
reasons, the default behavior remains unchanged.
app_mixmonitor
------------------
* app_mixmonitor now sends manager events MixMonitorStart, MixMonitorStop and
MixMonitorMute when the channel monitoring is started, stopped and muted (or
unmuted) respectively.
app_morsecode
------------------
* Extends the Morsecode application by adding support for
American Morse code and adds a configurable option
for the frequency used in off intervals.
app_originate
------------------
* Codecs can now be specified for dialplan-originated
calls, as with call files and the manager action.
By default, only the slin codec is now used, instead
of all the slin* codecs.
app_queue
------------------
* Reload behavior in app_queue has been changed so
queue and agent stats are not reset during full
app_queue module reloads. The queue reset stats
CLI command may still be used to reset stats while
Asterisk is running.
app_queue.c
------------------
* Allow multiple files to be streamed for agent announcement.
app_read
------------------
* A new option allows the digit '#' to be read literally,
rather than used exclusively as the input terminator
character.
app_voicemail
------------------
* The VoiceMail application can now be configured to send greetings and
instructions via early media and only answering the channel when it is
time for the caller to record their message. This behavior can be
activated by passing the new 'e' option to VoiceMail.
* You can now customize the "beep" tone or omit it entirely.
* Add a new 'S' option to VoiceMail which prevents the instructions
(vm-intro) from being played if a busy/unavailable/temporary greeting
from the voicemail user is played. This is similar to the existing 's'
option except that instructions will still be played if no user
greeting is available.
chan_iax2
------------------
* You can now specify a default "auth" method in the
[general] section of iax.conf
* ANI2 (OLI) is now transmitted over IAX2 calls
as an information element.
chan_pjsip
------------------
* The PJSIP_SEND_SESSION_REFRESH dialplan function now issues a warning, and
returns unsuccessful if it's used on a channel prior to answering.
* Add function PJSIP_HEADERS() to get list of headers by pattern in the same way as SIP_HEADERS() do.
Add ability to read header by pattern using PJSIP_HEADER().
chan_pjsip, app_transfer
------------------
* Added TRANSFERSTATUSPROTOCOL variable. When transfer is performed,
transfers can pass a protocol specific error code.
Example, in SIP 3xx-6xx represent any SIP specific error received when
performing a REFER.
func_channel
------------------
* Adds the CHANNEL_EXISTS function to check for the existence
of a channel by name or unique ID.
func_env.c
------------------
* Two new functions, DIRNAME and BASENAME, are now
included which allow users to obtain the directory
or the base filename of any file.
func_framedrop
------------------
* New function to selectively drop specified frames
in either direction on a channel.
func_math: Three new dialplan functions
------------------
* Introduce three new functions, MIN, MAX, and ABS, which can be used to
obtain the minimum or maximum of up to two integers or absolute value.
func_odbc
------------------
* Introduce an ARGC variable for func_odbc functions, along with a minargs
per-function configuration option.
minargs enables enforcing of minimum count of arguments to pass to
func_odbc, so if you're unconditionally using ARG1 through ARG4 then
this should be set to 4. func_odbc will generate an error in this case,
so for example
[FOO]
minargs = 4
and ODBC_FOO(a,b,c) in dialplan will now error out instead of using a
potentially leaked ARG4 from Gosub().
ARGC is needed if you're using optional argument, to verify whether or
not an argument has been passed, else it's possible to use a leaked ARGn
from Gosub (app_stack). So now you can safely do
${IF($[${ARGC}>3]?${ARGV}:default value)} kind of thing.
func_scramble
------------------
* Adds an audio scrambler function that may be used to
distort voice audio on a channel as a privacy
enhancement.
func_strings
------------------
* A new STRBETWEEN function is now included which
allows a substring to be inserted between characters
in a string. This is particularly useful for transforming
dial strings, such as adding pauses between digits
for a string of digits that are sent to another channel.
func_vmcount
------------------
* Multiple mailboxes may now be specified instead of just one.
func_volume now can be read
------------------
* The VOLUME function can now also be used
to read existing values previously set.
logger
------------------
* Added a new log formatter called "plain" that always prints
file, function and line number if available (even for verbose
messages) and never prints color control characters. Most
suitable for file output but can be used for other channels
as well.
You use it in logger.conf like so:
debug => [plain]debug
console => [plain]error,warning,debug,notice,pjsip_history
messages => [plain]warning,error,verbose
* The dateformat option in logger.conf will now control the remote
console (asterisk -r -T) timestamp format. Previously, dateformat only
controlled the formatting of the timestamp going to log files and the
main console (asterisk -c) but only for non-verbose messages.
Internally, Asterisk does not send the logging timestamp with verbose
messages to console clients. It's up to the Asterisk remote consoles
to format verbose messages. Asterisk remote consoles previously did
not load dateformat from logger.conf.
Previously there was a non-configurable and hard-coded "%b %e %T"
dateformat that would be used no matter what on all verbose console
messages printed on remote consoles.
Example:
logger.conf
dateformat=%F %T.%3q
# asterisk -rvvv -T
[2021-03-19 09:54:19.760-0400] Loading res_stasis_answer.so.
[Mar 19 09:55:43] -- Goto (dialExten,s,1)
Given the following example configuration in logger.conf, Asterisk log
files and the console, will log verbose messages using the given
timestamp. Now ensuring that all remote console messages are logged
with the same dateformat as other log streams.
---
[general]
dateformat=%F %T.%3q
[logfiles]
console => notice,warning,error,verbose
full => notice,warning,error,debug,verbose
---
Now we have a globally-defined dateformat that will be used
consistently across the Asterisk main console, remote consoles, and
log files.
Now we have consistent logging:
# asterisk -rvvv -T
[2021-03-19 09:54:19.760-0400] Loading res_stasis_answer.so.
[2021-03-19 09:55:43.920-0400] -- Goto (dialExten,s,1)
* Added the ability to define custom log levels in logger.conf
and use them in the Log dialplan application. Also adds a
logger show levels CLI command.
res_pjproject
------------------
* In pjproject.conf you can now map pjproject log levels
to the Asterisk TRACE log level. The default mappings
have therefore changed so that only pjproject levels
3 and 4 are mapped to DEBUG and 5 and 6 are now mapped
to TRACE. Previously 3, 4, 5, and 6 were all mapped to
DEBUG.
res_pjsip
------------------
* PJSIP transports can now be partially reloaded safely. This allows the
local_net and external_* options to be updated without restarting Asterisk.
* PJSIP endpoints can now be configured to skip authentication when
handling OPTIONS requests by setting the allow_unauthenticated_options
configuration property to 'yes.'
* PJSIP support of registrations of endpoints in multidomain
scenarios, where the endpoint contains the domain info
in pjsip_endpoint.conf
res_pjsip_dialog_info_body_generator
------------------
* PJSIP now supports RFC 4235 Section 4.1.6 dialog-info+xml local and
remote elements by iterating through ringing channels and inserting
that info into NOTIFY packet sent to the endpoint.
res_pjsip_messaging
------------------
* Implemented the new "to" parameter of the MessageSend()
dialplan application. This allows a user to specify
a complete SIP "To" header separate from the Request URI.
We now also accept a destination in the same format
as Dial()... PJSIP/number@endpoint
res_pjsip_registrar
------------------
* Adds new PJSIP AOR option remove_unavailable to either
remove unavailable contacts when a REGISTER exceeds
max_contacts when remove_existing is disabled, or
prioritize unavailable contacts over other existing
contacts when remove_existing is enabled.
res_pjsip_t38
------------------
* In res_pjsip_sdp_rtp, the bind_rtp_to_media_address option and the
fallback use of the transport's bind address solve problems sending
media on systems that cannot send ipv4 packets on ipv6 sockets, and
certain other situations. This change extends both of these behaviors
to UDPTL sessions as well in res_pjsip_t38, to fix fax-specific
problems on these systems, introducing a new option
endpoint/t38_bind_udptl_to_media_address.
res_rtp_asterisk
------------------
* By default Asterisk reports the PJSIP version in all
STUN packets it sends.
This behaviour may not be desired in a production
environment and can now be disabled by setting the
stun_software_attribute option to 'no' in rtp.conf.
* When the address of the STUN server (stunaddr) is a name resolved via DNS, the
stunaddr will be recurringly resolved when the DNS answer Time-To-Live (TTL)
expires. This allows the STUN server to change its IP address without having to
reload the res_rtp_asterisk module.
res_srtp
------------------
* SRTP replay protection has been added to res_srtp and
a new configuration option "srtpreplayprotection" has
been added to the rtp.conf config file. For security
reasons, the default setting is "yes". Buggy clients
may not handle this correctly which could result in
no, or one way, audio and Asterisk error messages like
"replay check failed".
res_tonedetect
------------------
* Arbitrary tone detection is now available through a
WaitForTone application (blocking) and a TONE_DETECT
function (non-blocking).
say.c
------------------
* Adds SAYFILES function to retrieve the file names that would
be played by corresponding Say applications, such as
SayDigits, SayAlpha, etc.
Additionally adds SayMoney and SayOrdinal applications.
------------------------------------------------------------------------------
--- New functionality introduced in Asterisk 18.0.0 --------------------------
------------------------------------------------------------------------------

View File

@ -18,6 +18,230 @@
===
===========================================================
------------------------------------------------------------------------------
--- New functionality introduced in Asterisk 19.0.0 --------------------------
------------------------------------------------------------------------------
Log Rotate
------------------
* The sample logger files have been changed to have .log as their file
extension. This was done so that when attached to issues on the issue
tracker, they are able to be opened in the browser for convenience.
Because of this, the asterisk.logrotate script has been updated to look
for .log extensions instead of no extension for files such as full
and messages.
app_dahdiras
------------------
* This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
app_fax
------------------
* This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
app_ices
------------------
* This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
app_image
------------------
* This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
app_meetme
------------------
* This module is now deprecated and will no
longer be built by default. It is scheduled
to be removed as of Asterisk 21.
app_mysql
------------------
* This module was deprecated in Asterisk 1.8
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
app_nbscat
------------------
* This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
app_osplookup
------------------
* This module is now deprecated and will no
longer be built by default. It is scheduled
to be removed as of Asterisk 21.
app_url
------------------
* This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
cdr_mysql
------------------
* This module was deprecated in Asterisk 1.8
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
cdr_syslog
------------------
* This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
chan_alsa
------------------
* This module is now deprecated and will no
longer be built by default. It is scheduled
to be removed as of Asterisk 21.
chan_mgcp
------------------
* This module is now deprecated and will no
longer be built by default. It is scheduled
to be removed as of Asterisk 21.
chan_misdn
------------------
* This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
chan_nbs
------------------
* This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
chan_oss
------------------
* This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
chan_phone
------------------
* This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
chan_sip
------------------
* chan_sip is no longer built by default. To build it, make sure to
enable it when running 'make menuselect'
chan_skinny
------------------
* This module is now deprecated and will no
longer be built by default. It is scheduled
to be removed as of Asterisk 21.
chan_vpb
------------------
* This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
conf2ael
------------------
* This application was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
muted
------------------
* This application was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
res_config_sqlite
------------------
* This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.
res_monitor
------------------
* This module is no longer built by default in
accordance with the Module Deprecation Policy.
If you require this functionality you will need
to enable it for building in menuselect. Note
that in the future res_monitor will be removed.
res_pktccops
------------------
* This module is now deprecated and will no
longer be built by default. It is scheduled
to be removed as of Asterisk 21.
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 18.0.0 to Asterisk 19.0.0 ------------
------------------------------------------------------------------------------
STIR/SHAKEN
------------------
* The configuration option public_key_url in stir_shaken.conf
has been renamed to public_cert_url to better fit what it
contains. Only the name has changed - functionality is the
same.
* STIR/SHAKEN originally needed an origid to be specified in
stir_shaken.conf under the certificate config object in
order to work. Now, one is automatically created by
generating a UUID, as recommended by RFC8588. Any origid
you have in your stir_shaken.conf will need to be removed
for the module to read in certificates.
chan_iax2
------------------
* Encryption is now supported for RSA authentication.
Currently, these auth configurations will cause a crash:
auth = md5,rsa
auth = plaintext,md5,rsa
With a patched peer, the following will cause a crash:
auth = rsa
auth = md5,rsa
auth = plaintext,md5,rsa
If both the peer and user are patches, no crash occurs.
Existing good configurations should continue to work.
menuselect
------------------
* menuselect --enable, --disable, --enable-category and --disable-category will
now fail with a non-zero exit code instead of silently failing if an invalid
option or category is specified.
res_http_media_cache
------------------
* When fetching a file for playback from a URL, Asterisk will now first
use the value of the Content-Type header in the HTTP response to
determine the format of the audio data, and only if it is unable to do
that will it attempt to parse the URL and extract the extension from
the path portion. Previously Asterisk would first look at the end of
the URL, which may have included query string parameters or a URL
fragment, which was error prone.
res_srtp
------------------
* SRTP replay protection has been added to res_srtp and
a new configuration option "srtpreplayprotection" has
been added to the rtp.conf config file. For security
reasons, the default setting is "yes". Buggy clients
may not handle this correctly which could result in
no, or one way, audio and Asterisk error messages like
"replay check failed".
------------------------------------------------------------------------------
--- New functionality introduced in Asterisk 18.0.0 --------------------------
------------------------------------------------------------------------------

View File

@ -1,7 +0,0 @@
Subject: app_confbridge
app_confbridge now has the ability to force the estimated bitrate on an SFU
bridge. To use it, set a bridge profile's remb_behavior to "force" and
set remb_estimated_bitrate to a rate in bits per second. The
remb_estimated_bitrate parameter is ignored if remb_behavior is something
other than "force".

View File

@ -1,6 +0,0 @@
Subject: app_confbridge answer supervision control
app_confbridge now provides a user option to prevent
answer supervision if the channel hasn't been
answered yet. To use it, set a user profile's
answer_channel option to no.

View File

@ -1,6 +0,0 @@
Subject: New ConfKick application
Adds a ConfKick() application, which allows
a specific channel, all users, or all non-admin
users to be kicked from a conference bridge.

View File

@ -1,6 +0,0 @@
Subject: app_dial announcement option
The A option for Dial now supports
playing audio to the caller as well
as the called party.

View File

@ -1,6 +0,0 @@
Subject: app_dtmfstore
New application which collects digits
dialed and stores them into
a specified variable.

View File

@ -1,11 +0,0 @@
Subject: app_milliwatt
The Milliwatt application's existing behavior is
incorrect in that it plays a constant tone, which
is not how digital milliwatt test lines actually
work.
An option is added so that a proper milliwatt test
tone can be provided, including a 1 second silent
interval every 10 seconds. However, for compatability
reasons, the default behavior remains unchanged.

View File

@ -1,6 +0,0 @@
Subject: app_morsecode
Extends the Morsecode application by adding support for
American Morse code and adds a configurable option
for the frequency used in off intervals.

View File

@ -1,6 +0,0 @@
Subject: app_originate
Codecs can now be specified for dialplan-originated
calls, as with call files and the manager action.
By default, only the slin codec is now used, instead
of all the slin* codecs.

View File

@ -1,6 +0,0 @@
Subject: Add variable support to Originate
The Originate application now allows
variables to be set on the new channel
through a new option.

View File

@ -1,4 +0,0 @@
Subject: app_queue.c
Allow multiple files to be streamed for agent announcement.

View File

@ -1,7 +0,0 @@
Subject: app_queue
Reload behavior in app_queue has been changed so
queue and agent stats are not reset during full
app_queue module reloads. The queue reset stats
CLI command may still be used to reset stats while
Asterisk is running.

View File

@ -1,5 +0,0 @@
Subject: app_read
A new option allows the digit '#' to be read literally,
rather than used exclusively as the input terminator
character.

View File

@ -1,4 +0,0 @@
Subject: New Reload application
Adds an application to reload modules

View File

@ -1,6 +0,0 @@
Subject: chan_pjsip, app_transfer
Added TRANSFERSTATUSPROTOCOL variable. When transfer is performed,
transfers can pass a protocol specific error code.
Example, in SIP 3xx-6xx represent any SIP specific error received when
performing a REFER.

View File

@ -1,7 +0,0 @@
Subject: app_voicemail
Add a new 'S' option to VoiceMail which prevents the instructions
(vm-intro) from being played if a busy/unavailable/temporary greeting
from the voicemail user is played. This is similar to the existing 's'
option except that instructions will still be played if no user
greeting is available.

View File

@ -1,5 +0,0 @@
Subject: WaitForCondition application
This application provides a way to halt
dialplan execution until a provided
condition evaluates to true.

View File

@ -1,4 +0,0 @@
Subject: chan_iax2
You can now specify a default "auth" method in the
[general] section of iax.conf

View File

@ -1,4 +0,0 @@
Subject: chan_iax2
ANI2 (OLI) is now transmitted over IAX2 calls
as an information element.

View File

@ -1,3 +0,0 @@
Subject: AMI Flash event
Hook flash events are now exposed as AMI events.

View File

@ -1,4 +0,0 @@
Subject: func_channel
Adds the CHANNEL_EXISTS function to check for the existence
of a channel by name or unique ID.

View File

@ -1,5 +0,0 @@
Subject: func_env.c
Two new functions, DIRNAME and BASENAME, are now
included which allow users to obtain the directory
or the base filename of any file.

View File

@ -1,5 +0,0 @@
Subject: func_framedrop
New function to selectively drop specified frames
in either direction on a channel.

View File

@ -1,4 +0,0 @@
Subject: func_math: Three new dialplan functions
Introduce three new functions, MIN, MAX, and ABS, which can be used to
obtain the minimum or maximum of up to two integers or absolute value.

View File

@ -1,20 +0,0 @@
Subject: func_odbc
Introduce an ARGC variable for func_odbc functions, along with a minargs
per-function configuration option.
minargs enables enforcing of minimum count of arguments to pass to
func_odbc, so if you're unconditionally using ARG1 through ARG4 then
this should be set to 4. func_odbc will generate an error in this case,
so for example
[FOO]
minargs = 4
and ODBC_FOO(a,b,c) in dialplan will now error out instead of using a
potentially leaked ARG4 from Gosub().
ARGC is needed if you're using optional argument, to verify whether or
not an argument has been passed, else it's possible to use a leaked ARGn
from Gosub (app_stack). So now you can safely do
${IF($[${ARGC}>3]?${ARGV}:default value)} kind of thing.

View File

@ -1,5 +0,0 @@
Subject: func_scramble
Adds an audio scrambler function that may be used to
distort voice audio on a channel as a privacy
enhancement.

View File

@ -1,7 +0,0 @@
Subject: func_strings
A new STRBETWEEN function is now included which
allows a substring to be inserted between characters
in a string. This is particularly useful for transforming
dial strings, such as adding pauses between digits
for a string of digits that are sent to another channel.

View File

@ -1,3 +0,0 @@
Subject: func_vmcount
Multiple mailboxes may now be specified instead of just one.

View File

@ -1,4 +0,0 @@
Subject: func_volume now can be read
The VOLUME function can now also be used
to read existing values previously set.

View File

@ -1,5 +0,0 @@
Subject: logger
Added the ability to define custom log levels in logger.conf
and use them in the Log dialplan application. Also adds a
logger show levels CLI command.

View File

@ -1,18 +0,0 @@
Subject: Core
Added debug logging categories that allow a user to output debug information
based on a specified category. This lets the user limit, and filter debug
output to data relevant to a particular context, or topic. For instance the
following categories are now available for debug logging purposes:
dtls, dtls_packet, ice, rtcp, rtcp_packet, rtp, rtp_packet, stun, stun_packet
These debug categories can be enable/disable via an Asterisk CLI command:
core set debug category <category>[:<sublevel>] [category[:<sublevel] ...]
core set debug category off [<category> [<category>] ...]
If no sub-level is associated all debug statements for a given category are
output. If a sub-level is given then only those statements assigned a value
at or below the associated sub-level are output.

View File

@ -1,47 +0,0 @@
Subject: logger
The dateformat option in logger.conf will now control the remote
console (asterisk -r -T) timestamp format. Previously, dateformat only
controlled the formatting of the timestamp going to log files and the
main console (asterisk -c) but only for non-verbose messages.
Internally, Asterisk does not send the logging timestamp with verbose
messages to console clients. It's up to the Asterisk remote consoles
to format verbose messages. Asterisk remote consoles previously did
not load dateformat from logger.conf.
Previously there was a non-configurable and hard-coded "%b %e %T"
dateformat that would be used no matter what on all verbose console
messages printed on remote consoles.
Example:
logger.conf
dateformat=%F %T.%3q
# asterisk -rvvv -T
[2021-03-19 09:54:19.760-0400] Loading res_stasis_answer.so.
[Mar 19 09:55:43] -- Goto (dialExten,s,1)
Given the following example configuration in logger.conf, Asterisk log
files and the console, will log verbose messages using the given
timestamp. Now ensuring that all remote console messages are logged
with the same dateformat as other log streams.
---
[general]
dateformat=%F %T.%3q
[logfiles]
console => notice,warning,error,verbose
full => notice,warning,error,debug,verbose
---
Now we have a globally-defined dateformat that will be used
consistently across the Asterisk main console, remote consoles, and
log files.
Now we have consistent logging:
# asterisk -rvvv -T
[2021-03-19 09:54:19.760-0400] Loading res_stasis_answer.so.
[2021-03-19 09:55:43.920-0400] -- Goto (dialExten,s,1)

View File

@ -1,12 +0,0 @@
Subject: logger
Added a new log formatter called "plain" that always prints
file, function and line number if available (even for verbose
messages) and never prints color control characters. Most
suitable for file output but can be used for other channels
as well.
You use it in logger.conf like so:
debug => [plain]debug
console => [plain]error,warning,debug,notice,pjsip_history
messages => [plain]warning,error,verbose

View File

@ -1,6 +0,0 @@
Subject: MessageSend
The MessageSend AMI action has been updated to allow the Destination
and the To addresses to be provided separately. This brings the
MessageSend manager command in line with the capabilities of the
MessageSend dialplan application.

View File

@ -1,9 +0,0 @@
Subject: Core
The location where the media cache stores its temporary files
is no longer hardcoded to /tmp but can now be configured separately
via the astcachedir config variable in asterisk.conf.
The default location for astcachedir is now /var/cache/asterisk
instead of /tmp, please make sure to manually cleanup and/or
migrate the temporary files in /tmp after upgrading.

View File

@ -1,16 +0,0 @@
Subject: MessageSend
The MessageSend dialplan application now takes an
optional third argument that can set the message's
"To" field on outgoing messages. It's an alternative
to using the MESSAGE(to) dialplan function.
To prevent confusion with the first argument, currently
named "to", it's been renamed to "destination".
Its function, creating the request URI, hasn't changed.
The online documentation has also been enhanced to
explain the behavior.
Despite the changes in this commit, there should be
no impact to current users of MessageSend.

View File

@ -1,6 +0,0 @@
Subject: Channel-agnostic MF support
A SendMF application and PlayMF manager
application are now included to send
arbitrary standard R1 MF tones on the
current channel or another specified channel.

View File

@ -1,5 +0,0 @@
Subject: app_mixmonitor
app_mixmonitor now sends manager events MixMonitorStart, MixMonitorStop and
MixMonitorMute when the channel monitoring is started, stopped and muted (or
unmuted) respectively.

View File

@ -1,5 +0,0 @@
Subject: res_pjsip
PJSIP endpoints can now be configured to skip authentication when
handling OPTIONS requests by setting the allow_unauthenticated_options
configuration property to 'yes.'

View File

@ -1,5 +0,0 @@
Subject: chan_pjsip
Add function PJSIP_HEADERS() to get list of headers by pattern in the same way as SIP_HEADERS() do.
Add ability to read header by pattern using PJSIP_HEADER().

View File

@ -1,4 +0,0 @@
Subject: chan_pjsip
The PJSIP_SEND_SESSION_REFRESH dialplan function now issues a warning, and
returns unsuccessful if it's used on a channel prior to answering.

View File

@ -1,4 +0,0 @@
Subject: res_pjsip
PJSIP transports can now be partially reloaded safely. This allows the
local_net and external_* options to be updated without restarting Asterisk.

View File

@ -1,8 +0,0 @@
Subject: res_pjproject
In pjproject.conf you can now map pjproject log levels
to the Asterisk TRACE log level. The default mappings
have therefore changed so that only pjproject levels
3 and 4 are mapped to DEBUG and 5 and 6 are now mapped
to TRACE. Previously 3, 4, 5, and 6 were all mapped to
DEBUG.

View File

@ -1,5 +0,0 @@
Subject: res_pjsip
PJSIP support of registrations of endpoints in multidomain
scenarios, where the endpoint contains the domain info
in pjsip_endpoint.conf

View File

@ -1,5 +0,0 @@
Subject: res_pjsip_dialog_info_body_generator
PJSIP now supports RFC 4235 Section 4.1.6 dialog-info+xml local and
remote elements by iterating through ringing channels and inserting
that info into NOTIFY packet sent to the endpoint.

View File

@ -1,5 +0,0 @@
res_pjsip_dtmf_info: Hook flash
Adds recognition for application/
hook-flash as a hook flash event.

View File

@ -1,7 +0,0 @@
Subject: res_pjsip_messaging
Implemented the new "to" parameter of the MessageSend()
dialplan application. This allows a user to specify
a complete SIP "To" header separate from the Request URI.
We now also accept a destination in the same format
as Dial()... PJSIP/number@endpoint

View File

@ -1,7 +0,0 @@
Subject: res_pjsip_registrar
Adds new PJSIP AOR option remove_unavailable to either
remove unavailable contacts when a REGISTER exceeds
max_contacts when remove_existing is disabled, or
prioritize unavailable contacts over other existing
contacts when remove_existing is enabled.

View File

@ -1,9 +0,0 @@
Subject: res_pjsip_t38
In res_pjsip_sdp_rtp, the bind_rtp_to_media_address option and the
fallback use of the transport's bind address solve problems sending
media on systems that cannot send ipv4 packets on ipv6 sockets, and
certain other situations. This change extends both of these behaviors
to UDPTL sessions as well in res_pjsip_t38, to fix fax-specific
problems on these systems, introducing a new option
endpoint/t38_bind_udptl_to_media_address.

View File

@ -1,8 +0,0 @@
Subject: res_rtp_asterisk
By default Asterisk reports the PJSIP version in all
STUN packets it sends.
This behaviour may not be desired in a production
environment and can now be disabled by setting the
stun_software_attribute option to 'no' in rtp.conf.

View File

@ -1,6 +0,0 @@
Subject: res_rtp_asterisk
When the address of the STUN server (stunaddr) is a name resolved via DNS, the
stunaddr will be recurringly resolved when the DNS answer Time-To-Live (TTL)
expires. This allows the STUN server to change its IP address without having to
reload the res_rtp_asterisk module.

View File

@ -1,9 +0,0 @@
Subject: PlaybackFinished has a new error state
The PlaybackFinished event now has a new state "failed"
that is used when the sound file was not played due to an error.
Before the state on PlaybackFinished was always "done".
In case of multiple sound files to be played,
the PlaybackFinished is sent only once in the end of the list,
even in case of error.

View File

@ -1,5 +0,0 @@
Subject: Handle non-standard Meter metric type safely
A meter_support flag has been introduced that defaults to true to maintain current behaviour.
If disabled, a counter metric type will be used instead wherever a meter metric type was used,
the counter will have a "_meter" suffix appended to the metric name.

View File

@ -1,5 +0,0 @@
Subject: res_tonedetect
Arbitrary tone detection is now available through a
WaitForTone application (blocking) and a TONE_DETECT
function (non-blocking).

View File

@ -1,7 +0,0 @@
Subject: say.c
Adds SAYFILES function to retrieve the file names that would
be played by corresponding Say applications, such as
SayDigits, SayAlpha, etc.
Additionally adds SayMoney and SayOrdinal applications.

View File

@ -1,9 +0,0 @@
Subject: res_srtp
SRTP replay protection has been added to res_srtp and
a new configuration option "srtpreplayprotection" has
been added to the rtp.conf config file. For security
reasons, the default setting is "yes". Buggy clients
may not handle this correctly which could result in
no, or one way, audio and Asterisk error messages like
"replay check failed".

View File

@ -1,3 +0,0 @@
Subject: app_voicemail
You can now customize the "beep" tone or omit it entirely.

View File

@ -1,6 +0,0 @@
Subject: app_voicemail
The VoiceMail application can now be configured to send greetings and
instructions via early media and only answering the channel when it is
time for the caller to record their message. This behavior can be
activated by passing the new 'e' option to VoiceMail.

View File

@ -1,6 +0,0 @@
Subject: app_dahdiras
Master-Only: True
This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: app_fax
Master-Only: True
This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: app_ices
Master-Only: True
This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: app_image
Master-Only: True
This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: app_meetme
Master-Only: True
This module is now deprecated and will no
longer be built by default. It is scheduled
to be removed as of Asterisk 21.

View File

@ -1,6 +0,0 @@
Subject: app_mysql
Master-Only: True
This module was deprecated in Asterisk 1.8
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: app_nbscat
Master-Only: True
This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: app_osplookup
Master-Only: True
This module is now deprecated and will no
longer be built by default. It is scheduled
to be removed as of Asterisk 21.

View File

@ -1,6 +0,0 @@
Subject: app_url
Master-Only: True
This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,9 +0,0 @@
Subject: Log Rotate
Master-Only: True
The sample logger files have been changed to have .log as their file
extension. This was done so that when attached to issues on the issue
tracker, they are able to be opened in the browser for convenience.
Because of this, the asterisk.logrotate script has been updated to look
for .log extensions instead of no extension for files such as full
and messages.

View File

@ -1,6 +0,0 @@
Subject: cdr_mysql
Master-Only: True
This module was deprecated in Asterisk 1.8
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: cdr_syslog
Master-Only: True
This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: chan_alsa
Master-Only: True
This module is now deprecated and will no
longer be built by default. It is scheduled
to be removed as of Asterisk 21.

View File

@ -1,15 +0,0 @@
Subject: chan_iax2
Encryption is now supported for RSA authentication.
Currently, these auth configurations will cause a crash:
auth = md5,rsa
auth = plaintext,md5,rsa
With a patched peer, the following will cause a crash:
auth = rsa
auth = md5,rsa
auth = plaintext,md5,rsa
If both the peer and user are patches, no crash occurs.
Existing good configurations should continue to work.

View File

@ -1,6 +0,0 @@
Subject: chan_mgcp
Master-Only: True
This module is now deprecated and will no
longer be built by default. It is scheduled
to be removed as of Asterisk 21.

View File

@ -1,6 +0,0 @@
Subject: chan_misdn
Master-Only: True
This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: chan_nbs
Master-Only: True
This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: chan_oss
Master-Only: True
This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: chan_phone
Master-Only: True
This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: chan_skinny
Master-Only: True
This module is now deprecated and will no
longer be built by default. It is scheduled
to be removed as of Asterisk 21.

View File

@ -1,6 +0,0 @@
Subject: chan_vpb
Master-Only: True
This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: conf2ael
Master-Only: True
This application was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,5 +0,0 @@
Subject: chan_sip
Master-Only: True
chan_sip is no longer built by default. To build it, make sure to
enable it when running 'make menuselect'

View File

@ -1,9 +0,0 @@
Subject: res_http_media_cache
When fetching a file for playback from a URL, Asterisk will now first
use the value of the Content-Type header in the HTTP response to
determine the format of the audio data, and only if it is unable to do
that will it attempt to parse the URL and extract the extension from
the path portion. Previously Asterisk would first look at the end of
the URL, which may have included query string parameters or a URL
fragment, which was error prone.

View File

@ -1,5 +0,0 @@
Subject: menuselect
menuselect --enable, --disable, --enable-category and --disable-category will
now fail with a non-zero exit code instead of silently failing if an invalid
option or category is specified.

View File

@ -1,6 +0,0 @@
Subject: muted
Master-Only: True
This application was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,6 +0,0 @@
Subject: res_config_sqlite
Master-Only: True
This module was deprecated in Asterisk 16
and is now being removed in accordance with
the Asterisk Module Deprecation policy.

View File

@ -1,8 +0,0 @@
Subject: res_monitor
Master-Only: True
This module is no longer built by default in
accordance with the Module Deprecation Policy.
If you require this functionality you will need
to enable it for building in menuselect. Note
that in the future res_monitor will be removed.

View File

@ -1,6 +0,0 @@
Subject: res_pktccops
Master-Only: True
This module is now deprecated and will no
longer be built by default. It is scheduled
to be removed as of Asterisk 21.

View File

@ -1,9 +0,0 @@
Subject: res_srtp
SRTP replay protection has been added to res_srtp and
a new configuration option "srtpreplayprotection" has
been added to the rtp.conf config file. For security
reasons, the default setting is "yes". Buggy clients
may not handle this correctly which could result in
no, or one way, audio and Asterisk error messages like
"replay check failed".

View File

@ -1,6 +0,0 @@
Subject: STIR/SHAKEN
The configuration option public_key_url in stir_shaken.conf
has been renamed to public_cert_url to better fit what it
contains. Only the name has changed - functionality is the
same.

View File

@ -1,8 +0,0 @@
Subject: STIR/SHAKEN
STIR/SHAKEN originally needed an origid to be specified in
stir_shaken.conf under the certificate config object in
order to work. Now, one is automatically created by
generating a UUID, as recommended by RFC8588. Any origid
you have in your stir_shaken.conf will need to be removed
for the module to read in certificates.