Skip to content
Snippets Groups Projects
CHANGES 287 KiB
Newer Older
==============================================================================
===
=== 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.

Mark Michelson's avatar
Mark Michelson committed
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...