Skip to content
Snippets Groups Projects
CHANGES 318 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.
===
==============================================================================
Corey Farrell's avatar
Corey Farrell committed
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 16 to Asterisk 17 --------------------
------------------------------------------------------------------------------

chan_sip
------------------
 * The chan_sip module is now deprecated, users should migrate to the
   replacement module chan_pjsip.  See guides at the Asterisk Wiki:
     https://wiki.asterisk.org/wiki/x/tAHOAQ
     https://wiki.asterisk.org/wiki/x/hYCLAQ

Channels
------------------
 * The core no longer uses the stasis cache for channels snapshots.
   The following APIs are no longer available:
       ast_channel_topic_cached()
       ast_channel_topic_all_cached()
   The ast_channel_cache_all() and ast_channel_cache_by_name() functions
   now returns an ao2_container of ast_channel_snapshots rather than a
   container of stasis_messages therefore you can't call stasis_cache
   functions on it.
   The ast_channel_topic_all() function now returns a normal topic,
   not a cached one so you can't use stasis cache functions on it either.
   The ast_channel_snapshot_type() stasis message now has the
   ast_channel_snapshot_update structure as it's data.
   ast_channel_snapshot_get_latest() still returns the latest snapshot.

Bridging
------------------
 * The bridging core no longer uses the stasis cache for bridge
   snapshots.  The latest bridge snapshot is now stored on the
   ast_bridge structure itself.

 * The following APIs are no longer available since the stasis cache
   is no longer used:
     ast_bridge_topic_cached()
     ast_bridge_topic_all_cached()

 * A topic pool is now used for individual bridge topics.

 * The ast_bridge_cache() function was removed since there's no
   longer a separate container of snapshots.

 * A new function "ast_bridges()" was created to retrieve the
   container of all bridges.  Users formerly calling
   ast_bridge_cache() can use the new function to iterate over
   bridges and retrieve the latest snapshot directly from the
   bridge.

 * The ast_bridge_snapshot_get_latest() function was renamed to
   ast_bridge_get_snapshot_by_uniqueid().

 * A new function "ast_bridge_get_snapshot()" was created to retrieve
   the bridge snapshot directly from the bridge structure.

 * The ast_bridge_topic_all() function now returns a normal topic
   not a cached one so you can't use stasis cache functions on it
   either.

 * The ast_bridge_snapshot_type() stasis message now has the
   ast_bridge_snapshot_update structure as it's data.  It contains
   the last snapshot and the new one.

Kevin Harwell's avatar
Kevin Harwell committed
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 16.2.0 to Asterisk 16.3.0 ----------
------------------------------------------------------------------------------

ARI
------------------
 * Application event filtering is now supported. An application can now specify
   an "allowed" and/or "disallowed" list(s) of event types. Only those types
   indicated in the "allowed" list are sent to the application. Conversely, any
   types defined in the "disallowed" list are not sent to the application. Note
   that if a type is specified in both lists "disallowed" takes precedence.

 * A new REST API call has been added: 'move'. It follows the format
   'channels/{channelId}/move' and can be used to move channels from one application
   to another without needing to exit back into the dialplan. An application must be
   specified, but the passing a list of arguments to the new application is optional.
   An example call would look like this:

   client.channels.move(channelId=chan.id, app='ari-example', appArgs='a,b,c')

   If the channel was inside of a bridge when switching applications, it will
   remain there. If the application specified cannot be moved to, then the channel
   will remain in the current application and an event will be triggered named
   "ApplicationMoveFailed", which will provide the destination application's name
   and the channel information.

res_pjsip
------------------
 * A new configuration parameter "taskprocessor_overload_trigger" has been
   added to the pjsip.conf "globals" section.  The distributor currently stops
   accepting new requests when any taskprocessor overload is triggered.  The
   new option allows you to completely disable overload detection (NOT
   RECOMMENDED), keep the current behavior, or trigger only on pjsip
   taskprocessor overloads.

chan_pjsip
------------------
 * A new configuration parameter 'ignore_183_without_sdp' has been added
   to the pjsip.conf "endpoints" section.  If enabled, will make chan_pjsip
   discard 183s that do not contain an SDP body, which can resolve no
   ringback tone issues as well as making the behavior match chan_sip.

MWI
------------------
 * A new module "res_mwi_devstate" has been added that allows subscriptions
   to voicemail boxes using "presence" events.  This allows common BLF keys
   to act as voicemail waiting indicators.

app_queue
------------------
 * Added the ability to set the wrapuptime per-member using the AddQueueMember
   application.

------------------------------------------------------------------------------
--- Functionality changes from Asterisk 16.1.0 to Asterisk 16.2.0 ------------
------------------------------------------------------------------------------

ARI
------------------
 * Whenever an ARI application is started, a context will be created for it
   automatically as long as one does not already exist, following the format
   'stasis-<app_name>'. Two extensions are also added to this context: a match-all
   extension, and the 'h' extension. Any phone that registers under this context
   will place all calls to the corresponding Stasis application.

res_pjsip
------------------
 * Added "send_contact_status_on_update_registration" global configuration option
   to enable sending AMI ContactStatus event when a device refreshes its registration.

Core
------------------
 * Reworked the media indexer so it doesn't cache the index.  Testing revealed
   that the cache added no benefit but that it could consume excessive memory.
   Two new index related functions were created: ast_sounds_get_index_for_file()
   and ast_media_index_update_for_file() which restrict index updating to
   specific sound files.  The original ast_sounds_get_index() and
   ast_media_index_update() calls are still available but since they no longer
   cache the results internally, developers should re-use an index they may
   already have instead of calling ast_sounds_get_index() repeatedly.  If
   information for only a single file is needed, ast_sounds_get_index_for_file()
   should be called instead of ast_sounds_get_index().

Features
------------------
 * Before Asterisk 12, when using the automon or automixmon features defined
   in features.conf, a channel variable (TOUCH_MIXMONITOR_OUTPUT) was set on
   both channels, indicating the filename of the recording.

   When bridging was overhauled in Asterisk 12, the behavior was changed such
   that the variable was only set on the peer channel and not on the channel
   that initiated the automon or automixmon.

   The previous behavior has been restored so both channels receive the
   channel variable when one of these features is invoked.

app_voicemail
------------------
 * You can now specify a special context with the "aliasescontext" parameter
   in voicemail.conf which will allow you to create aliases for physical
   mailboxes.

------------------------------------------------------------------------------
--- Functionality changes from Asterisk 16.0.0 to Asterisk 16.1.0 ------------
------------------------------------------------------------------------------

pbx_config
------------------
 * pbx_config will now find and process multiple 'globals' sections from
   extensions.conf.  Variables are processed in the order they are found
   and duplicate variables overwrite the previous value.

chan_pjsip
------------------
 * New dialplan function PJSIP_PARSE_URI added to parse an URI and return
   a specified part of the URI.

Core
------------------
 * ast_bt_get_symbols() now returns a vector of strings instead of an
   array of strings.  This must be freed with ast_bt_free_symbols.

res_pjsip
------------------
 * New options 'trust_connected_line' and 'send_connected_line' have been
   added to the endpoint. The option 'trust_connected_line' is to control
   if connected line updates are accepted from this endpoint.
Loading
Loading full blame...