Newer
Older
==============================================================================
Kevin P. Fleming
committed
===
=== This file documents the new and/or enhanced functionality added in
=== the Asterisk versions listed below. This file does NOT include
=== changes in behavior that would not be backwards compatible with
=== previous versions; for that information see the UPGRADE.txt file
=== and the other UPGRADE files for older releases.
===
==============================================================================
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 14 to Asterisk 15 --------------------
------------------------------------------------------------------------------
Build System
------------------
* LOW_MEMORY no longer has an effect on Asterisk ABI. Symbols that were
previously suppressed by LOW_MEMORY are now replaced by stub functions.
Asterisk built with LOW_MEMORY can now successfully load binary modules
built without LOW_MEMORY and vice versa.
* RADIUS backends for CEL and CDR can now also be built using the radcli
client library, in addition to the existing support for building them
using either freeradius or radiusclient-ng.
Core
------------------
* ASTERISK_REGISTER_FILE was no longer useful and has been removed. Sources
which use mtx_prof must now manually declare and initialize the variable.
chan_sip
------------------
* If an offer is received with optional SRTP (a media stream with RTP/AVP but
which contains a crypto line) chan_sip will now accept it and enable SRTP.
If you would like to do optional SRTP on outbound you will need to create
a dialplan that dials with it enabled initially and if it fails fall back to
without.
res_pjsip
------------------
* Added endpoint configuration parameter "preferred_codec_only".
This allow asterisk response to a SIP invite with the single most
preferred codec rather than advertising all joint codec capabilities.
This limits the other side's codec choice to exactly what we prefer.
cdr_radius
------------------
* To fix a memory leak the syslog channel is now empty if it has not been set
and used by a syslog channel in the logger.
cel_radius
------------------
* To fix a memory leak the syslog channel is now empty if it has not been set
and used by a syslog channel in the logger.
RTP
------------------
* New setting "rtp_pt_dynamic = 35" in asterisk.conf:
Normally the Dynamic RTP Payload Type numbers are 96-127, which allow just 32
formats. To avoid the message "No Dynamic RTP mapping available", the range
was changed to 35-63,96-127. This is allowed by RFC 3551 section 3. However,
when you use more than 32 formats and calls are not accepted by a remote
implementation, please report this and go back to rtp_pt_dynamic = 96.
app_originate
------------------
* Added support to gosub predial routines on both original channel and on the
created channel using options parameter (like app_dial) B() and b(). This
allows for adding variables to newly created channel or, e.g. setting callerid.
CLI Commands
------------------
* 'dialplan show' output will now show [config_file:line_number] instead of
[registrar] when that information is available. Currently only extensions
registered by pbx_config when loading/reloading will use this format.
app_queue
------------------
* Add 'QueueUpdate' application which can be used to track outbound calls
using app_queue.
pbx_spool
------------------
* Asterisk will now set the AST_OUTGOING_ATTEMPT channel variable so that
attempt-specific behavior is possible. This is a 1-based number that
simply increases by 1 for each attempt.
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 14.3.0 to Asterisk 14.4.0 ------------
------------------------------------------------------------------------------
AMI
------------------
* The 'PJSIPShowEndpoint' command's respone event of 'IdentifyDetail' now
contains a new optional parameter, 'MatchHeader', mapping to the new
configuration option 'match_header' for the corresponding 'identify' object.
It should be noted that since 'match_header' takes in a key: value pair, the
event parameter will contain a ':' as well.
app_record
------------------
* Added new 'u' option to Record() application which prevents Asterisk from
truncating silence from the end of recorded files.
res_pjsip_outbound_registration
------------------
* Outbound registrations are now refreshed when res_stun_monitor detects
a network change event has happened.
The 'pjsip send (un)register' CLI commands were updated to accept '*all'
as an argument to operate on all registrations.
The 'PJSIP(Un)Register' AMI commands were updated to also accept '*all'.
app_voicemail
------------------
* The 'Comedian Mail' prompts can now be overriden using the 'vm-login' and
'vm-newuser' configuration options in voicemail.conf.
* Added 'fromstring' field to the voicemail boxes. If set, it will override
the global 'fromstring' field on a per-mailbox basis.
func_channel
------------------
* Added CHANNEL(callid) to retrieve the call log tag associated with the
channel. e.g., [C-00000000] Dialplan now has access to the call log
search key associated with the channel so it can be saved in case there
is a problem with the call.
res_pjsip
------------------
* A new transport parameter 'symmetric_transport' has been added.
When a request from a dynamic contact comes in on a transport with this
option set to 'yes', the transport name will be saved and used for
subsequent outgoing requests like OPTIONS, NOTIFY and INVITE. It's
saved as a contact uri parameter named 'x-ast-txp' and will display with
the contact uri in CLI, AMI, and ARI output. On the outgoing request,
if a transport wasn't explicitly set on the endpoint AND the request URI
is not a hostname, the saved transport will be used and the 'x-ast-txp'
parameter stripped from the outgoing packet. To facilitate recreation of
subscriptions on asterisk restart, a new column 'contact_uri' needed to be
added to the ps_subcsription_persistence table. Since new columns were
added to both transport and subscription_persistence, an alembic upgrade
should be run to bring the database tables up to date.
res_pjsip_transport_websocket
------------------
* Removed non-secure websocket support. Firefox and Chrome have not allowed
non-secure websockets for quite some time so this shouldn't be an issue
for people. Attempting to use a non-secure websocket may or may not work
when Asterisk attempts to send SIP requests to do something like initiate
call hangup.
res_pjsip_endpoint_identifier_ip
------------------
* A new option has been added to the 'identify' configuration object,
'match_header'. The 'match_header' attribute should contain a SIP
header: value pair that, When set, will cause inbound requests that contain
the matching SIP header/value pair to be associated with the corresponding
endpoint. This option is cumulative with the 'match' option, so that if
either option matches the request, the request is associated with the
endpoint.
In a future release, this module will be renamed to something more
appropriate, as it now matches inbound requests on more than just IP
address.
res_rtp_asterisk
-----------------
* The RTP layer of Asterisk now has support for RFC 5761: "Multiplexing RTP
Data and Control Packets on a Single Port." So far, the only channel driver
that supports this feature is chan_pjsip. You can set "rtcp_mux = yes" on
a PJSIP endpoint in pjsip.conf to enable the feature.
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 14.2.0 to Asterisk 14.3.0 ------------
------------------------------------------------------------------------------
res_pjproject
------------------
* Added new CLI command "pjproject set log level". The new command allows
the maximum PJPROJECT log levels to be adjusted dynamically and
independently from the set debug logging level like many other similar
module debug logging commands.
* Added new companion CLI command "pjproject show log level" to allow the
user to see the current maximum pjproject logging level.
* Added new pjproject.conf startup section "log_level' option to set the
initial maximum PJPROJECT logging level.
res_pjsip_outbound_registration
------------------
* Statsd no longer logs redundant status PJSIP.registrations.state changes
for internal state transitions that don't change the reported public status
state.
res_pjsip_registrar
------------------
* The PJSIPShowRegistrationInboundContactStatuses AMI command has been added
to return ContactStatusDetail events as opposed to
PJSIPShowRegistrationsInbound which just a dumps every defined AOR.
Loading
Loading full blame...