Update UPGRADE.txt file for Asterisk 12

This simply pulls in the changes that were breaking from the CHANGES file
and updates a few other areas accordingly. It also removes the 10 => 11
notes, which are traditionally removed from each major version and stored
in the appropriate UPGRADE-X.txt file.
........

Merged revisions 398100 from http://svn.asterisk.org/svn/asterisk/branches/12


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@398101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
changes/97/197/1
Matthew Jordan 12 years ago
parent 0dfe658a5c
commit dbbb674be0

@ -0,0 +1,433 @@
===========================================================
===
=== Information for upgrading between Asterisk versions
===
=== These files document all the changes that MUST be taken
=== into account when upgrading between the Asterisk
=== versions listed below. These changes may require that
=== you modify your configuration files, dialplan or (in
=== some cases) source code if you have your own Asterisk
=== modules or patches. These files also include advance
=== notice of any functionality that has been marked as
=== 'deprecated' and may be removed in a future release,
=== along with the suggested replacement functionality.
===
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
=== UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8
=== UPGRADE-10.txt -- Upgrade info for 1.8 to 10
=== UPGRADE-11.txt -- Upgrade info for 10 to 11
===
===========================================================
There are many significant architectural changes in Asterisk 12. It is
recommended that you not only read through this document for important
changes that affect an upgrade, but that you also read through the CHANGES
document in depth to better understand the new options available to you.
Additional information on the architectural changes made in Asterisk can be
found on the Asterisk wiki (https://wiki.asterisk.org)
Of particular note, the following systems in Asterisk underwent significant
changes. Documentation for the changes and a specification for their
behavior in Asterisk 12 is also available on the Asterisk wiki.
- AMI: Many events were changed, and the semantics of channels and bridges
were defined. In particular, how channels and bridges behave under
transfer scenarios and situations involving multiple parties has
changed significantly. See https://wiki.asterisk.org/wiki/x/dAFRAQ
for more information.
- CDR: CDR logic was extracted from the many locations it existed in across
Asterisk and implemented as a consumer of Stasis message bus events.
As a result, consistency of records has improved significantly and the
behavior of CDRs in transfer scenarios has been defined in the CDR
specification. However, significant behavioral changes in CDRs resulted
from the transition. The most significant change is the addition of
CDR entries when a channel who is the Party A in a CDR leaves a bridge.
See https://wiki.asterisk.org/wiki/x/pwpRAQ for more information.
- CEL: Much like CDRs, CEL was removed from the many locations it existed in
across Asterisk and implemented as a consumer of Stasis message bus
events. It now closely follows the Bridging API model of channels and
bridges, and has a much closer consistency of conveyed events as AMI.
For the changes in events, see https://wiki.asterisk.org/wiki/x/4ICLAQ.
Build System:
- Removed the CHANNEL_TRACE development mode build option. Certain aspects of
the CHANNEL_TRACE build option were incompatible with the new bridging
architecture.
- Asterisk now depends on libjansson, libuuid and optionally (but recommended)
libxslt and uriparser.
- The new SIP stack and channel driver uses a particular version of PJSIP.
Please see https://wiki.asterisk.org/wiki/x/J4GLAQ for more information on
configuring and installing PJSIP for use with Asterisk.
AgentLogin and chan_agent:
- Along with AgentRequest, this application has been modified to be a
replacement for chan_agent. The chan_agent module and the Agent channel
driver have been removed from Asterisk, as the concept of a channel driver
proxying in front of another channel driver was incompatible with the new
architecture (and has had numerous problems through past versions of
Asterisk). The act of a channel calling the AgentLogin application places the
channel into a pool of agents that can be requested by the AgentRequest
application. Note that this application, as well as all other agent related
functionality, is now provided by the app_agent_pool module.
- This application no longer performs agent authentication. If authentication
is desired, the dialplan needs to perform this function using the
Authenticate or VMAuthenticate application or through an AGI script before
running AgentLogin.
- The agents.conf schema has changed. Rather than specifying agents on a
single line in comma delineated fashion, each agent is defined in a separate
context. This allows agents to use the power of context templates in their
definition.
- A number of parameters from agents.conf have been removed. This includes
maxloginretries, autologoffunavail, updatecdr, goodbye, group, recordformat,
urlprefix, and savecallsin. These options were obsoleted by the move from
a channel driver model to the bridging/application model provided by
app_agent_pool.
- The AGENTUPDATECDR channel variable has also been removed, for the same
reason as the updatecdr option.
- The endcall and enddtmf configuration options are removed. Use the
dialplan function CHANNEL(dtmf-features) to set DTMF features on the agent
channel before calling AgentLogin.
AgentMonitorOutgoing
- This application has been removed. It was a holdover from when
AgentCallbackLogin was removed.
ControlPlayback
- The channel variable CPLAYBACKSTATUS may now return the value
'REMOTESTOPPED' when playback is stopped by an external entity.
DumpChan:
- The output of DumpChan no longer includes the DirectBridge or IndirectBridge
fields. Instead, if a channel is in a bridge, it includes a BridgeID field
containing the unique ID of the bridge that the channel happens to be in.
ForkCDR:
- Nearly every parameter in ForkCDR has been updated and changed to reflect
the changes in CDRs. Please see the documentation for the ForkCDR
application, as well as the CDR specification on the Asterisk wiki.
NoCDR:
- The NoCDR application has been deprecated. Please use the CDR_PROP function
to disable CDRs on a channel.
ParkAndAnnounce:
- The app_parkandannounce module has been removed. The application
ParkAndAnnounce is now provided by the res_parking module. See the
Parking changes for more information.
ResetCDR:
- The 'w' and 'a' options have been removed. Dispatching CDRs to registered
backends occurs on an as-needed basis in order to preserve linkedid
propagation and other needed behavior.
- The 'e' option is deprecated. Please use the CDR_PROP function to enable
CDRs on a channel that they were previously disabled on.
- The ResetCDR application is no longer a part of core Asterisk, and instead
is now delivered as part of app_cdr.
Queues:
- Queue strategy rrmemory now has a predictable order similar to strategy
rrordered. Members will be called in the order that they are added to the
queue.
- Removed the queues.conf check_state_unknown option. It is no longer
necessary.
- It is now possible to play the Queue prompts to the first user waiting in a
call queue. Note that this may impact the ability for agents to talk with
users, as a prompt may still be playing when an agent connects to the user.
This ability is disabled by default but can be enabled on an individual
queue using the 'announce-to-first-user' option.
- The configuration options eventwhencalled and eventmemberstatus have been
removed. As a result, the AMI events QueueMemberStatus, AgentCalled,
AgentConnect, AgentComplete, AgentDump, and AgentRingNoAnswer will always be
sent. The "Variable" fields will also no longer exist on the Agent* events.
These events can be filtered out from a connected AMI client using the
eventfilter setting in manager.conf.
- The queue log now differentiates between blind and attended transfers. A
blind transfer will result in a BLINDTRANSFER message with the destination
context and extension. An attended transfer will result in an
ATTENDEDTRANSFER message. This message will indicate the method by which
the attended transfer was completed: "BRIDGE" for a bridge merge, "APP"
for running an application on a bridge or channel, or "LINK" for linking
two bridges together with local channels. The queue log will also now detect
externally initiated blind and attended transfers and record the transfer
status accordingly.
- When performing queue pause/unpause on an interface without specifying an
individual queue, the PAUSEALL/UNPAUSEALL event will only be logged if at
least one member of any queue exists for that interface.
SetAMAFlags
- This application is deprecated in favor of CHANNEL(amaflags).
VoiceMail:
- The voicemail.conf configuration file now has an 'alias' configuration
parameter for use with the Directory application. The voicemail realtime
database table schema has also been updated with an 'alias' column. Systems
using voicemail with realtime should update their schemas accordingly.
Channel Drivers:
- When a channel driver is configured to enable jiterbuffers, they are now
applied unconditionally when a channel joins a bridge. If a jitterbuffer
is already set for that channel when it enters, such as by the JITTERBUFFER
function, then the existing jitterbuffer will be used and the one set by
the channel driver will not be applied.
chan_bridge
- chan_bridge is removed and its functionality is incorporated into ConfBridge
itself.
chan_dahdi:
- Analog port dialing and deferred DTMF dialing for PRI now distinguishes
between 'w' and 'W'. The 'w' pauses dialing for half a second. The 'W'
pauses dialing for one second.
- The default for inband_on_proceeding has changed to no.
- The CLI command 'dahdi destroy channel' is now 'dahdi destroy channels'.
A range of channels can be specified to be destroyed. Note that this command
should only be used if you understand the risks it entails.
chan_local:
- The /b option has been removed.
- chan_local moved into the system core and is no longer a loadable module.
chan_sip:
- The 'callevents' parameter has been removed. Hold AMI events are now raised
in the core, and can be filtered out using the 'eventfilter' parameter
in manager.conf.
- Dynamic realtime tables for SIP Users can now include a 'path' field. This
will store the path information for that peer when it registers. Realtime
tables can also use the 'supportpath' field to enable Path header support.
- LDAP realtime configurations for SIP Users now have the AstAccountPathSupport
objectIdentifier. This maps to the supportpath option in sip.conf.
Core:
- Masquerades as an operation inside Asterisk have been effectively hidden
by the migration to the Bridging API. As such, many 'quirks' of Asterisk
no longer occur. This includes renaming of channels, "<ZOMBIE>" channels,
dropping of frame/audio hooks, and other internal implementation details
that users had to deal with. This fundamental change has large implications
throughout the changes documented for this version. For more information
about the new core architecture of Asterisk, please see the Asterisk wiki.
- The following channel variables have changed behavior which is described in
the CHANGES file: TRANSFER_CONTEXT, BRIDGEPEER, BRIDGEPVTCALLID,
ATTENDED_TRANSFER_COMPLETE_SOUND, DYNAMIC_FEATURENAME, and DYNAMIC_PEERNAME.
AMI (Asterisk Manager Interface):
- Version 1.4 - The details of what happens to a channel when a masquerade
happens (transfers, parking, etc) have changed.
- The Masquerade event now includes the Uniqueid's of the clone and original
channels.
- Channels no longer swap Uniqueid's as a result of the masquerade.
- Instead of a shell game of renames, there's now a single rename, appending
<ZOMBIE> to the name of the original channel.
- *Major* changes were made to both the syntax as well as the semantics of the
AMI protocol. In particular, AMI events have been substantially modified
and improved in this version of Asterisk. The major event changes are listed
below.
- NewPeerAccount has been removed. NewAccountCode is raised instead.
- Reload events have been consolidated and standardized.
- ModuleLoadReport has been removed.
- FaxSent is now SendFAX; FaxReceived is now ReceiveFAX. This standardizes
app_fax and res_fax events.
- MusicOnHold has been replaced with MusicOnHoldStart and MusicOnHoldStop.
- JabberEvent has been removed.
- Hold is now in the core and will now raise Hold and Unhold events.
- Join is now QueueCallerJoin.
- Leave is now QueueCallerLeave.
- Agentlogin/Agentlogoff is now AgentLogin/AgentLogoff, respectively.
- ChannelUpdate has been removed.
- Local channel optimization is now conveyed via LocalOptimizationBegin and
LocalOptimizationEnd.
- BridgeAction and BridgeExec have been removed.
- BlindTransfer and AttendedTransfer events were added.
- Dial is now DialBegin and DialEnd.
- DTMF is now DTMFBegin and DTMFEnd.
- Bridge has been replaced with BridgeCreate, BridgeEnter, BridgeLeave, and
BridgeDestroy
- MusicOnHold has been replaced with MusicOnHoldStart and MusicOnHoldStop
- AGIExec is now AGIExecStart and AGIExecEnd
- AsyncAGI is now AsyncAGIStart, AsyncAGIExec, and AsyncAGIEnd
- The 'MCID' AMI event now publishes a channel snapshot when available and
its non-channel-snapshot parameters now use either the "MCallerID" or
'MConnectedID' prefixes with Subaddr*, Name*, and Num* suffixes instead
of 'CallerID' and 'ConnectedID' to avoid confusion with similarly named
parameters in the channel snapshot.
- The 'Channel' key used in the 'AlarmClear', 'Alarm', and 'DNDState' has been
renamed "DAHDIChannel" since it does not convey an Asterisk channel name.
- All AMI events now contain a 'SystemName' field, if available.
- Local channel information in events is now prefixed with 'LocalOne' and
'LocalTwo'. This replaces the suffix of '1' and '2' for the two halves of
the Local channel. This affects the 'LocalBridge', 'LocalOptimizationBegin',
and 'LocalOptimizationEnd' events.
- The 'RTCPSent'/'RTCPReceived' events have been significantly modified from
previous versions. They now report all SR/RR packets sent/received, and
have been restructured to better reflect the data sent in a SR/RR. In
particular, the event structure now supports multiple report blocks.
- The deprecated use of | (pipe) as a separator in the channelvars setting in
manager.conf has been removed.
- The SIP SIPqualifypeer action now sends a response indicating it will qualify
a peer once a peer has been found to qualify. Once the qualify has been
completed it will now issue a SIPqualifypeerdone event.
- The AMI event 'Newexten' field 'Extension' is deprecated, and may be removed
in a future release. Please use the common 'Exten' field instead.
- The AMI events 'ParkedCall', 'ParkedCallTimeOut', 'ParkedCallGiveUp', and
'UnParkedCall' have changed significantly in the new res_parking module.
- The 'Channel' and 'From' headers are gone. For the channel that was parked
or is coming out of parking, a 'Parkee' channel snapshot is issued and it
has a number of fields associated with it. The old 'Channel' header relayed
the same data as the new 'ParkeeChannel' header.
- The 'From' field was ambiguous and changed meaning depending on the event.
for most of these, it was the name of the channel that parked the call
(the 'Parker'). There is no longer a header that provides this channel name,
however the 'ParkerDialString' will contain a dialstring to redial the
device that parked the call.
- On UnParkedCall events, the 'From' header would instead represent the
channel responsible for retrieving the parkee. It receives a channel
snapshot labeled 'Retriever'. The 'from' field is is replaced with
'RetrieverChannel'.
- Lastly, the 'Exten' field has been replaced with 'ParkingSpace'.
- The AMI event 'Parkinglot' (response to 'Parkinglots' command) in a similar
fashion has changed the field names 'StartExten' and 'StopExten' to
'StartSpace' and 'StopSpace' respectively.
- The AMI 'Status' response event to the AMI Status action replaces the
'BridgedChannel' and 'BridgedUniqueid' headers with the 'BridgeID' header to
indicate what bridge the channel is currently in.
CDR (Call Detail Records)
- Significant changes have been made to the behavior of CDRs. The CDR engine
was effectively rewritten and built on the Stasis message bus. For a full
definition of CDR behavior in Asterisk 12, please read the specification
on the Asterisk wiki (wiki.asterisk.org).
- CDRs will now be created between all participants in a bridge. For each
pair of channels in a bridge, a CDR is created to represent the path of
communication between those two endpoints. This lets an end user choose who
to bill for what during bridge operations with multiple parties.
- The duration, billsec, start, answer, and end times now reflect the times
associated with the current CDR for the channel, as opposed to a cumulative
measurement of all CDRs for that channel.
CEL:
- The Uniqueid field for a channel is now a stable identifier, and will not
change due to transfers, parking, etc.
- CEL has undergone significant rework in Asterisk 12, and is now built on the
Stasis message bus. Please see the specification for CEL on the Asterisk
wiki at https://wiki.asterisk.org/wiki/x/4ICLAQ for more detailed
information. A summary of the affected events is below:
- BRIDGE_START, BRIDGE_END, BRIDGE_UPDATE, 3WAY_START, 3WAY_END, CONF_ENTER,
CONF_EXIT, CONF_START, and CONF_END events have all been removed. These
events have been replaced by BRIDGE_ENTER/BRIDGE_EXIT.
- BLINDTRANSFER/ATTENDEDTRANSFER events now report the peer as NULL and
additional information in the extra string field.
Dialplan:
- All channel and global variable names are evaluated in a case-sensitive
manner. In previous versions of Asterisk, variables created and evaluated in
the dialplan were evaluated case-insensitively, but built-in variables and
variable evaluation done internally within Asterisk was done
case-sensitively.
- Asterisk has always had code to ignore dash '-' characters that are not
part of a character set in the dialplan extensions. The code now
consistently ignores these characters when matching dialplan extensions.
- BRIDGE_FEATURES channel variable is now casesensitive for feature letter
codes. Uppercase variants apply them to the calling party while lowercase
variants apply them to the called party.
Features:
- The features.conf [applicationmap] <FeatureName> ActivatedBy option is
no longer honored. The feature is always activated by the channel that has
DYNAMIC_FEATURES defined on it when it enters the bridge. Use predial to set
different values of DYNAMIC_FEATURES on the channels
- Executing a dynamic feature on the bridge peer in a multi-party bridge will
execute it on all peers of the activating channel.
- There is no longer an explicit 'features reload' CLI command. Features can
still be reloaded using 'module reload features'.
- It is no longer necessary (or possible) to define the ATXFER_NULL_TECH in
features.c for atxferdropcall=no to work properly. This option now just
works.
Parking:
- Parking has been extracted from the Asterisk core as a loadable module,
res_parking.
- Configuration is found in res_parking.conf. It is no longer supported in
features.conf
- The arguments for the Park, ParkedCall, and ParkAndAnnounce applications
have been modified significantly. See the application documents for
specific details.
- Numerous changes to Parking related applications, AMI and CLI commands and
internal inter-workings have been made. Please read the CHANGES file for
the detailed list.
Security Events Framework:
- Security Event timestamps now use ISO 8601 formatted date/time instead of
the "seconds-microseconds" format that it was using previously.
AGENT:
- The password option has been disabled, as the AgentLogin application no
longer provides authentication.
AUDIOHOOK_INHERIT:
- Due to changes in the Asterisk core, this function is no longer needed to
preserve a MixMonitor on a channel during transfer operations and dialplan
execution. It is effectively obsolete.
CDR: (function)
- The 'amaflags' and 'accountcode' attributes for the CDR function are
deprecated. Use the CHANNEL function instead to access these attributes.
- The 'l' option has been removed. When reading a CDR attribute, the most
recent record is always used. When writing a CDR attribute, all non-finalized
CDRs are updated.
- The 'r' option has been removed, for the same reason as the 'l' option.
- The 's' option has been removed, as LOCKED semantics no longer exist in the
CDR engine.
res_rtp_asterisk:
- ICE/STUN/TURN support in res_rtp_asterisk has been made optional. To enable
them, an Asterisk-specific version of PJSIP needs to be installed.
Tarballs are available from https://github.com/asterisk/pjproject/tags/.
===========================================================
===========================================================

@ -16,395 +16,12 @@
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
=== UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8
=== UPGRADE-10.txt -- Upgrade info for 1.8 to 10
=== UPGRADE-11.txt -- Upgrade info for 10 to 11
===
=== UPGRADE-10.txt -- Upgrade info for 1.8 to 10
=== UPGRADE-11.txt -- Upgrade info for 10 to 11
=== UPGRADE-12.txt -- Upgrade info for 11 to 12
===========================================================
AgentMonitorOutgoing
- Application removed. It was a holdover from when AgentCallbackLogin was
removed.
NoCDR:
- This application is deprecated. Please use the CDR_PROP function instead.
ResetCDR:
- The 'w' and 'a' options have been removed. Dispatching CDRs to registered
backends occurs on an as-needed basis in order to preserve linkedid
propagation and other needed behavior.
- The 'e' option is deprecated. Please use the CDR_PROP function to enable
CDRs on a channel that they were previously disabled on.
- The ResetCDR application is no longer a part of core Asterisk, and instead
is now delivered as part of app_cdr.
ForkCDR:
- ForkCDR no longer automatically resets the forked CDR. See the 'r' option
for more information.
- Variables are no longer purged from the original CDR. See the 'v' option for
more information.
- The 'A' option has been removed. The Answer time on a CDR is never updated
once set.
- The 'd' option has been removed. The disposition on a CDR is a function of
the state of the channel and cannot be altered.
- The 'D' option has been removed. Who the Party B is on a CDR is a function
of the state of the respective channels, and cannot be altered.
- The 'r' option has been changed. Previously, ForkCDR always reset the CDR
such that the start time and, if applicable, the answer time was updated.
Now, by default, ForkCDR simply forks the CDR, maintaining any times. The
'r' option now triggers the Reset, setting the start time (and answer time
if applicable) to the current time.
- The 's' option has been removed. A variable can be set on the original CDR
if desired using the CDR function, and removed from a forked CDR using the
same function.
- The 'T' option has been removed. The concept of DONT_TOUCH and LOCKED no
longer applies in the CDR engine.
- The 'v' option now prevents the copy of the variables from the original CDR
to the forked CDR. Previously the variables were always copied but were
removed from the original. Removing variables from a CDR can have unintended
side effects - this option allows the user to prevent propagation of
variables from the original to the forked without modifying the original.
AMI:
- The SIP SIPqualifypeer action now sends a response indicating it will qualify
a peer once a peer has been found to qualify. Once the qualify has been
completed it will now issue a SIPqualifypeerdone event.
- Version 1.4 - The details of what happens to a channel when a masquerade
happens (transfers, parking, etc) have changed.
- The Masquerade event now includes the Uniqueid's of the clone and original
channels.
- Channels no longer swap Uniqueid's as a result of the masquerade.
- Instead of a shell game of renames, there's now a single rename, appending
<ZOMBIE> to the name of the original channel.
- The AMI events 'ParkedCall', 'ParkedCallTimeOut', 'ParkedCallGiveUp', and
'UnParkedCall' have changed significantly in the new res_parking module.
- The 'Channel' and 'From' headers are gone. For the channel that was parked
or is coming out of parking, a 'Parkee' channel snapshot is issued and it
has a number of fields associated with it. The old 'Channel' header relayed
the same data as the new 'ParkeeChannel' header.
- The 'From' field was ambiguous and changed meaning depending on the event.
for most of these, it was the name of the channel that parked the call
(the 'Parker'). There is no longer a header that provides this channel name,
however the 'ParkerDialString' will contain a dialstring to redial the
device that parked the call.
- On UnParkedCall events, the 'From' header would instead represent the
channel responsible for retrieving the parkee. It receives a channel
snapshot labeled 'Retriever'. The 'from' field is is replaced with
'RetrieverChannel'.
- Lastly, the 'Exten' field has been replaced with 'ParkingSpace'.
CEL:
- The Uniqueid field for a channel is now a stable identifier, and will not
change due to transfers, parking, etc.
Build System:
- Asterisk now optionally uses libxslt to improve XML documentation generation
and maintainability. If libxslt is not available on the system, some XML
documentation will be incomplete.
Core:
- The following channel variables have changed behavior which is described in
the CHANGES file: TRANSFER_CONTEXT, BRIDGEPEER, BRIDGEPVTCALLID,
ATTENDED_TRANSFER_COMPLETE_SOUND, DYNAMIC_FEATURENAME, and DYNAMIC_PEERNAME.
Queues:
- Queue logging for PAUSEALL/UNPAUSEALL now only occurs if the interface this is
performed on is a member of at least one queue.
- Queue strategy rrmemory now has a predictable order similar to strategy
rrordered. Members will be called in the order that they are added to the
queue.
- CDR behavior in app_queue has been modified slightly. The CDR record will
now only record a disposition of BUSY if all Queue members were actually
busy on a call or some Queue members were busy or paused. Previously, any
Queue member being paused would result in a disposition of BUSY.
- Removed the queues.conf check_state_unknown option. It is no longer
necessary.
- It is now possible to play the Queue prompts to the first user waiting in a
call queue. Note that this may impact the ability for agents to talk with
users, as a prompt may still be playing when an agent connects to the user.
This ability is disabled by default but can be enabled on an individual
queue using the 'announce-to-first-user' option.
Dial:
- Now recognizes 'W' to pause sending DTMF for one second in addition to
the previously existing 'w' that paused sending DTMF for half a second.
ExternalIVR:
- Now recognizes 'W' to pause sending DTMF for one second in addition to
the previously existing 'w' that paused sending DTMF for half a second.
SendDTMF:
- Now recognizes 'W' to pause sending DTMF for one second in addition to
the previously existing 'w' that paused sending DTMF for half a second.
SetAMAFlags
- This application is deprecated in favor of the CHANNEL function.
chan_agent:
- The updatecdr option has been removed. Altering the names of channels on a
CDR is not supported - the name of the channel is the name of the channel,
and pretending otherwise helps no one.
- The AGENTUPDATECDR channel variable has also been removed, for the same
reason as the updatecdr option.
- chan_agent is removed and replaced with AgentLogin and AgentRequest dialplan
applications. Agents are connected with callers using the new AgentRequest
dialplan application. The Agents:<agent-id> device state is available to
monitor the status of an agent. See agents.conf.sample for valid
configuration options.
chan_bridge
- chan_bridge is removed and its functionality is incorporated into ConfBridge
itself.
chan_dahdi:
- Analog port dialing and deferred DTMF dialing for PRI now distinguishes
between 'w' and 'W'. The 'w' pauses dialing for half a second. The 'W'
pauses dialing for one second.
- The default for inband_on_proceeding has changed to no.
chan_local:
- The /b option has been removed.
Dialplan:
- All channel and global variable names are evaluated in a case-sensitive manner.
In previous versions of Asterisk, variables created and evaluated in the
dialplan were evaluated case-insensitively, but built-in variables and variable
evaluation done internally within Asterisk was done case-sensitively.
- Asterisk has always had code to ignore dash '-' characters that are not
part of a character set in the dialplan extensions. The code now
consistently ignores these characters when matching dialplan extensions.
- BRIDGE_FEATURES channel variable is now casesensitive for feature letter codes.
Uppercase variants apply them to the calling party while lowercase variants
apply them to the called party.
Features:
- The features.conf [applicationmap] <FeatureName> ActivatedBy option is
no longer honored. The feature is always activated by the channel that has
DYNAMIC_FEATURES defined on it when it enters the bridge. Use predial to set
different values of DYNAMIC_FEATURES on the channels
- Executing a dynamic feature on the bridge peer in a multi-party bridge will
execute it on all peers of the activating channel.
- There is no longer an explicit 'features reload' CLI command. Features can still be
reloaded using 'module reload features'.
Parking:
- The arguments for the Park, ParkedCall, and ParkAndAnnounce applications have
been modified significantly. See the application documents for specific details.
Also parking lot configuration is now done in res_parking.conf instead of
features.conf
From 10 to 11:
Voicemail:
- All voicemails now have a "msg_id" which uniquely identifies a message. For
users of filesystem and IMAP storage of voicemail, this should be transparent.
For users of ODBC, you will need to add a "msg_id" column to your voice mail
messages table. This should be a string capable of holding at least 32 characters.
All messages created in old Asterisk installations will have a msg_id added to
them when required. This operation should be transparent as well.
Parking:
- The comebacktoorigin setting must now be set per parking lot. The setting in
the general section will not be applied automatically to each parking lot.
- The BLINDTRANSFER channel variable is deleted from a channel when it is
bridged to prevent subtle bugs in the parking feature. The channel
variable is used by Asterisk internally for the Park application to work
properly. If you were using it for your own purposes, copy it to your
own channel variable before the channel is bridged.
res_ais:
- Users of res_ais in versions of Asterisk prior to Asterisk 11 must change
to use the res_corosync module, instead. OpenAIS is deprecated, but
Corosync is still actively developed and maintained. Corosync came out of
the OpenAIS project.
Dialplan Functions:
- MAILBOX_EXISTS has been deprecated. Use VM_INFO with the 'exists' parameter
instead.
- Macro has been deprecated in favor of GoSub. For redirecting and connected
line purposes use the following variables instead of their macro equivalents:
REDIRECTING_SEND_SUB, REDIRECTING_SEND_SUB_ARGS,
CONNECTED_LINE_SEND_SUB, CONNECTED_LINE_SEND_SUB_ARGS.
- The REDIRECTING function now supports the redirecting original party id
and reason.
- The HANGUPCAUSE and HANGUPCAUSE_KEYS functions have been introduced to
provide a replacement for the SIP_CAUSE hash. The HangupCauseClear
application has also been introduced to remove this data from the channel
when necessary.
func_enum:
- ENUM query functions now return a count of -1 on lookup error to
differentiate between a failed query and a successful query with 0 results
matching the specified type.
CDR:
- cdr_adaptive_odbc now supports specifying a schema so that Asterisk can
connect to databases that use schemas.
Configuration Files:
- Files listed below have been updated to be more consistent with how Asterisk
parses configuration files. This makes configuration files more consistent
with what is expected across modules.
- cdr.conf: [general] and [csv] sections
- dnsmgr.conf
- dsp.conf
- The 'verbose' setting in logger.conf now takes an optional argument,
specifying the verbosity level for each logging destination. The default,
if not otherwise specified, is a verbosity of 3.
AMI:
- DBDelTree now correctly returns an error when 0 rows are deleted just as
the DBDel action does.
- The IAX2 PeerStatus event now sends a 'Port' header. In Asterisk 10, this was
erroneously being sent as a 'Post' header.
CCSS:
- Macro is deprecated. Use cc_callback_sub instead of cc_callback_macro
in channel configurations.
app_meetme:
- The 'c' option (announce user count) will now work even if the 'q' (quiet)
option is enabled.
app_followme:
- Answered outgoing calls no longer get cut off when the next step is started.
You now have until the last step times out to decide if you want to accept
the call or not before being disconnected.
chan_gtalk:
- chan_gtalk has been deprecated in favor of the chan_motif channel driver. It is recommended
that users switch to using it as it is a core supported module.
chan_jingle:
- chan_jingle has been deprecated in favor of the chan_motif channel driver. It is recommended
that users switch to using it as it is a core supported module.
SIP
===
- A new option "tonezone" for setting default tonezone for the channel driver
or individual devices
- A new manager event, "SessionTimeout" has been added and is triggered when
a call is terminated due to RTP stream inactivity or SIP session timer
expiration.
- SIP_CAUSE is now deprecated. It has been modified to use the same
mechanism as the HANGUPCAUSE function. Behavior should not change, but
performance should be vastly improved. The HANGUPCAUSE function should now
be used instead of SIP_CAUSE. Because of this, the storesipcause option in
sip.conf is also deprecated.
- The sip paramater for Originating Line Information (oli, isup-oli, and
ss7-oli) is now parsed out of the From header and copied into the channel's
ANI2 information field. This is readable from the CALLERID(ani2) dialplan
function.
- ICE support has been added and is enabled by default. Some endpoints may have
problems with the ICE candidates within the SDP. If this is the case ICE support
can be disabled globally or on a per-endpoint basis using the icesupport
configuration option. Symptoms of this include one way media or no media flow.
chan_unistim
- Due to massive update in chan_unistim phone keys functions and on-screen
information changed.
users.conf:
- A defined user with hasvoicemail=yes now finally uses a Gosub to stdexten
as documented in extensions.conf.sample since v1.6.0 instead of a Macro as
documented in v1.4. Set the asterisk.conf stdexten=macro parameter to
invoke the stdexten the old way.
res_jabber
- This module has been deprecated in favor of the res_xmpp module. The res_xmpp
module is backwards compatible with the res_jabber configuration file, dialplan
functions, and AMI actions. The old CLI commands can also be made available using
the res_clialiases template for Asterisk 11.
From 1.8 to 10:
cel_pgsql:
- This module now expects an 'extra' column in the database for data added
using the CELGenUserEvent() application.
ConfBridge
- ConfBridge's dialplan arguments have changed and are not
backwards compatible.
File Interpreters
- The format interpreter formats/format_sln16.c for the file extension
'.sln16' has been removed. The '.sln16' file interpreter now exists
in the formats/format_sln.c module along with new support for sln12,
sln24, sln32, sln44, sln48, sln96, and sln192 file extensions.
HTTP:
- A bindaddr must be specified in order for the HTTP server
to run. Previous versions would default to 0.0.0.0 if no
bindaddr was specified.
Gtalk:
- The default value for 'context' and 'parkinglots' in gtalk.conf has
been changed to 'default', previously they were empty.
chan_dahdi:
- The mohinterpret=passthrough setting is deprecated in favor of
moh_signaling=notify.
pbx_lua:
- Execution no longer continues after applications that do dialplan jumps
(such as app.goto). Now when an application such as app.goto() is called,
control is returned back to the pbx engine and the current extension
function stops executing.
- the autoservice now defaults to being on by default
- autoservice_start() and autoservice_start() no longer return a value.
Queue:
- Mark QUEUE_MEMBER_PENALTY Deprecated it never worked for realtime members
- QUEUE_MEMBER is now R/W supporting setting paused, ignorebusy and penalty.
Asterisk Database:
- The internal Asterisk database has been switched from Berkeley DB 1.86 to
SQLite 3. An existing Berkeley astdb file can be converted with the astdb2sqlite3
utility in the UTILS section of menuselect. If an existing astdb is found and no
astdb.sqlite3 exists, astdb2sqlite3 will be compiled automatically. Asterisk will
convert an existing astdb to the SQLite3 version automatically at runtime. If
moving back from Asterisk 10 to Asterisk 1.8, the astdb2bdb utility can be used
to create a Berkeley DB copy of the SQLite3 astdb that Asterisk 10 uses.
Manager:
- The AMI protocol version was incremented to 1.2 as a result of changing two
instances of the Unlink event to Bridge events. This change was documented
as part of the AMI 1.1 update, but two Unlink events were inadvertently left
unchanged.
Module Support Level
- All modules in the addons, apps, bridge, cdr, cel, channels, codecs,
formats, funcs, pbx, and res have been updated to include MODULEINFO data
that includes <support_level> tags with a value of core, extended, or deprecated.
More information is available on the Asterisk wiki at
https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States
Deprecated modules are now marked to not build by default and must be explicitly
enabled in menuselect.
chan_sip:
- Setting of HASH(SIP_CAUSE,<slave-channel-name>) on channels is now disabled
by default. It can be enabled using the 'storesipcause' option. This feature
has a significant performance penalty.
- In order to improve compliance with RFC 3261, SIP usernames are now properly
escaped when encoding reserved characters. Prior to this change, the use of
these characters in certain SIP settings affecting usernames could cause
injections of these characters in their raw form into SIP headers which could
in turn cause all sorts of nasty behaviors. All characters that are not
alphanumeric or are not contained in the the following lists specified by
RFC 3261 section 25.1 will be escaped as %XX when encoding a SIP username:
* mark: "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")"
* user-unreserved: "&" / "=" / "+" / "$" / "," / ";" / "?" / "/"
UDPTL:
- The default UDPTL port range in udptl.conf.sample differed from the defaults
in the source. If you didn't have a config file, you got 4500 to 4599. Now the
default is 4000 to 4999.
===========================================================
===========================================================

Loading…
Cancel
Save