Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

AMI
-----------------
* A new event, "DialState" has been added. This is similar to "DialBegin" and
"DialEnd" in that it tracks the state of a dialed call. The difference is that
this indicates some intermediate state change in the dial attempt, such as
"RINGING", "PROGRESS", or "PROCEEDING".

ARI
-----------------
* A new ARI method has been added to the channels resource. "create" allows for
you to create a new channel and place that channel into a Stasis application.
This is similar to origination except that the specified channel is not
dialed. This allows for an application writer to create a channel, perform
manipulations on it, and then delay dialing the channel until later.

* To complement the "create" method, a "dial" method has been added to the
channels resource in order to place a call to a created channel.

* All operations that initiate playback of media on a resource now support
a list of media URIs. The list of URIs are played in the order they are
presented to the resource. A new event, "PlaybackContinuing", is raised when
a media URI finishes but before the next media URI starts. When a list is
played, the "Playback" model will contain the optional attribute
"next_media_uri", which specifies the next media URI in the list to be played
back to the resource. The "PlaybackFinished" event is raised when all media
URIs are done.

* Stored recordings now allow for the media associated with a stored recording
to be retrieved. The new route, GET /recordings/stored/{name}/file, will
transmit the raw media file to the requester as binary.


* "Dial" events have been modified to not only be sent when dialing begins and ends.
They now are also sent for intermediate states, such as "RINGING", "PROGRESS", and
"PROCEEDING".

Applications
------------------

BridgeAdd
------------------
* A new application in Asterisk, this will join the calling channel
to an existing bridge containing the named channel prefix.

ChanSpy
------------------
* Added the 'l' option, which forces ChanSpy's audiohook to use a long queue
to store the audio frames. This option is useful if audio loss is
experienced when using ChanSpy, but may introduce some delay in the audio
feed on the listening channel.

ConfBridge
------------------
* Added the ability to pass options to MixMonitor when recording is used with
ConfBridge. This includes the addition of the following configuration
parameters for the 'bridge' object:
- record_file_timestamp: whether or not to append the start time to the
recorded file name
- record_options: the options to pass to the MixMonitor application
- record_command: a command to execute when recording is finished
Note that these options may also be with the CONFBRIDGE function.

ControlPlayback
------------------
* Remote files can now be retrieved and played back. See the Playback
dialplan application for more details.

FollowMe
------------------
* It is now possible to disable the prompt from a callee by setting
'enable_callee_prompt = no' in followme.conf.

Playback
------------------
* Remote files can now be retrieved and played back via the Playback and other
media playback dialplan applications. This is done by directly providing
the URL to play to the dialplan application:
same => n,Playback(http://1.1.1.1/howler-monkeys-fl.wav)
Note that unlike 'normal' media files, the entire URI to the file must be
provided, including the file extension. Currently, on HTTP and HTTPS URI
schemes are supported.

Queue
-------------------
* Added field ReasonPause on QueueMemberStatus if set when paused, the reason
the queue member was paused.

* Added field LastPause on QueueMemberStatus for time when started the last
pause for a queue member.

* Show the time when started the last pause for queue member on CLI for command
'queue show'.

SMS
------------------
* Added the 'n' option, which prevents the SMS from being written to the log
file. This is needed for those countries with privacy laws that require
providers to not log SMS content.


Channel Drivers
------------------

chan_dahdi
------------------
* The CALLERID(ani2) value for incoming calls is now populated in featdmf
signaling mode. The information was previously discarded.

* Added the force_restart_unavailable_chans compatibility option. When
enabled it causes Asterisk to restart the ISDN B channel if an outgoing
call receives cause 44 (Requested channel not available).

chan_iax2
------------------
* The iax.conf forcejitterbuffer option has been removed. It is now always
forced if you set iax.conf jitterbuffer=yes. If you put a jitter buffer
on a channel it will be on the channel.

* A new configuration parameters, 'calltokenexpiration', has been added that
controls the duration before a call token expires. Default duration is 10
seconds. Setting this to a higher value may help in lagged networks or those
experiencing high packet loss.

chan_rtp (was chan_multicast_rtp)
------------------
* Added unicast RTP support and renamed chan_multicast_rtp to chan_rtp.

* The format for dialing a unicast RTP channel is:
UnicastRTP/<destination-addr>[/[<options>]]
Where <destination-addr> is something like '127.0.0.1:5060'.
Where <options> are in standard Asterisk flag options format:
c(<codec>) - Specify which codec/format to use such as 'ulaw'.
e(<engine>) - Specify which RTP engine to use such as 'asterisk'.

* New options were added for a multicast RTP channel. The format for
dialing a multicast RTP channel is:
MulticastRTP/<type>/<destination-addr>[/[<control-addr>][/[<options>]]]
Where <type> can be either 'basic' or 'linksys'.
Where <destination-addr> is something like '224.0.0.3:5060'.
Where <control-addr> is something like '127.0.0.1:5060'.
Where <options> are in standard Asterisk flag options format:
c(<codec>) - Specify which codec/format to use such as 'ulaw'.
i(<address>) - Specify the interface address from which multicast RTP
is sent.
l(<enable>) - Set whether packets are looped back to the sender. The
enable value can be 0 to set looping to off and non-zero to set
looping on.
t(<ttl>) - Set the time-to-live (TTL) value for multicast packets.

chan_sip
------------------
* New 'rtpbindaddr' global setting. This allows a user to define which
ipaddress to bind the rtpengine to. For example, chan_sip might bind
to eth0 (10.0.0.2) but rtpengine to eth1 (192.168.1.10).

* DTLS related configuration options can now be set at a general level.
Enabling DTLS support, though, requires enabling it at the user
or peer level.

* Added the possibility to set the From: header through the the SIP dial
string (populating the fromuser/fromdomain fields), complementing the
[!dnid] option for the To: header that has existed since 1.6.0 (1d6b192).
NOTE: This is again separated by an exclamation mark, so the To: header may
not contain one of those.

chan_pjsip
------------------
* New 'user_eq_phone' endpoint setting. This adds a 'user=phone' parameter
to the request URI and From URI if the user is determined to be a phone
number.

* New 'moh_passthrough' endpoint setting. This will pass hold and unhold
requests through using SIP re-invites with sendonly and sendrecv accordingly.

* Added the pjsip.conf system type disable_tcp_switch option. The option
allows the user to disable switching from UDP to TCP transports described
by RFC 3261 section 18.1.1.

* New 'line' and 'endpoint' options added on outbound registrations. This
allows some identifying information to be added to the Contact of the
outbound registration. If this information is present on messages received
from the remote server the message will automatically be associated with the
configured endpoint on the outbound registration.


Core
------------------
* The core of Asterisk uses a message bus called "Stasis" to distribute
information to internal components. For performance reasons, the message
distribution was modified to make use of a thread pool instead of a
dedicated thread per consumer in certain cases. The initial settings for
the thread pool can now be configured in 'stasis.conf'.

* A new core DNS API has been implemented which provides a common interface
for DNS functionality. Modules that use this functionality will require that
a DNS resolver module is loaded and available.

* Modified processing of command-line options to first parse only what
is necessary to read asterisk.conf. Once asterisk.conf is fully loaded,
the remaining options are processed. The -X option now applies to
asterisk.conf only. To enable #exec for other config files you must
set execincludes=yes in asterisk.conf. Any other option set on the
command-line will now override the equivalent setting from asterisk.conf.

* The TLS core in Asterisk now supports X.509 certificate subject alternative
names. This way one X.509 certificate can be used for hosts that can be
reached under multiple DNS names or for multiple hosts.

* The Asterisk logging system now supports JSON structured logging. Log
channels specified in logger.conf or added dynamically via CLI commands now
support an optional specifier prior to their levels that determines their
formatting. To set a log channel to format its entries as JSON, a formatter
of '[json]' can be set, e.g.,
full => [json]debug,verbose,notice,warning,error

* The core now supports a 'media cache', which stores temporary media files
retrieved from external sources. CLI commands have been added to manipulate
and display the cached files, including:
- 'media cache show <all>' - show all cached media files, or details about
one particular cached media file
- 'media cache refresh <item>' - force a refresh of a particular media file
in the cache
- 'media cache delete <item>' - remove an item from the cache
- 'media cache create <uri>' - retrieve a URI and store it in the cache

* The ability for hints to be automatically created as a result of device state
changes now exists in the PBX. This functionality is referred to as "autohints"
and is configurable in extensions.conf by placing "autohints=yes" in the
context. If enabled then a hint will be automatically created with the name of
the device.


Functions
------------------
* The func_odbc global option "single_db_connection" default value has been
changed to 'no'.


Formats
------------------
* New module format_ogg_speex added which supports Speex codec inside
Ogg containers (filename extension .spx).


CHANNEL
------------------
* Added CHANNEL(onhold) item that returns 1 (onhold) and 0 (not-onhold) for
the hold status of a channel.

CURL
------------------
* The CURL function now supports a write option, which will save the retrieved
file to a location on disk. As an example:
same => n,Set(CURL(https://1.1.1.1/foo.wav)=/tmp/foo.wav)
will save 'foo.wav' to /tmp.

DTMF Features
------------------
* The transferdialattempts default value has been changed from 1 to 3. The
transferinvalidsound has been changed from "pbx-invalid" to
"privacy-incorrect". These were changed to make DTMF transfers be more
user-friendly by default.


Resources
------------------

res_http_media_cache
------------------
* A backend for the core media cache, this module retrieves media files from
a remote HTTP(S) server and stores them in the core media cache for later
playback.

res_musiconhold
------------------
* Added sort=randstart to the sort options. It sorts the files by name and
then chooses the first file to play at random.
* Added preferchannelclass=no option to prefer the application-passed class
over the channel-set musicclass. This allows separate hold-music from
application (e.g. Queue or Dial) specified music.

res_resolver_unbound
------------------
* Added a res_resolver_unbound module which uses the libunbound resolver library
to perform DNS resolution. This module requires the libunbound library to be
installed in order to be used.

res_pjsip
------------------
* A new SIP resolver using the core DNS API has been implemented. This relies on
external SIP resolver support in PJSIP which is only available as of PJSIP
2.4. If this support is unavailable the existing built-in PJSIP SIP resolver
will be used instead. The new SIP resolver provides NAPTR support, improved
SRV support, and AAAA record support.

res_pjsip_info_empty
--------------------
* A new module that can respond to empty Content-Type INFO packets during call.
Some SBCs will terminate a call if their empty INFO packets are not responded
to within a predefined time.

res_pjsip_outbound_registration
-------------------------------
* A new 'fatal_retry_interval' option has been added to outbound registration.
When set (default is zero), and upon receiving a failure response to an
outbound registration, registration is retried at the given interval up to
'max_retries'.

res_pjsip_outbound_publish
------------------
* Added a new multi_user option that when set to 'yes' allows a given configuration
to be used for multiple users.


CEL Backends
------------------

cel_pgsql
------------------
* Added a new option, 'usegmtime', which causes timestamps in CEL events
to be logged in GMT.

* Added support to set schema where located the table cel. This settings is
configurable for cel_pgsql via the 'schema' in configuration file
cel_pgsql.conf.


CDR Backends
------------------

cdr_adaptive_odbc
------------------
* Added the ability to set the character to quote identifiers. This
allows adding the character at the start and end of table and column
names. This setting is configurable for cdr_adaptive_odbc via the
quoted_identifiers in configuration file cdr_adaptive_odbc.conf.

cdr_odbc
------------------
* Added a new configuration option, "newcdrcolumns", which enables use of the
post-1.8 CDR columns 'peeraccount', 'linkedid', and 'sequence'.

cdr_csv
------------------
* Added a new configuration option, "newcdrcolumns", which enables use of the
post-1.8 CDR columns 'peeraccount', 'linkedid', and 'sequence'.

 

  • No labels