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 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.
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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.
------------------------------------------------------------------------------
--- 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.
Rodrigo Ramírez Norambuena
committed
app_queue
------------------
* Added the ability to set the wrapuptime per-member using the AddQueueMember
application.
Alexei Gradinari
committed
------------------------------------------------------------------------------
--- 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.
Alexei Gradinari
committed
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...