The following are changes made in Asterisk 11 that may affect your configuration when upgrading.
Applications
Voicemail
All voicemails now have a msg_id
included in their metadata which uniquely identifies a message. For users of file system 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.
MeetMe
The 'c' option (announce user count) will now work even if the 'q' (quiet) option is enabled.
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.
Channel Drivers
chan_gtalk
chan_gtalk has been deprecated in favour of the chan_motif channel driver. It is recommended that users switch to using it as it is a core supported module.
Please see Calling Using Google for more information.
chan_jingle
chan_jingle has been deprecated in favour of the chan_motif channel driver. It is recommended that users switch to using it as it is a core supported module.
Please see Calling Using Google for more information.
chan_sip
- SIP_CAUSE is now deprecated. It has been modified to use the same mechanism as the HANGUPCAUSE function. Behaviour 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. Please see Hangup Cause for more information.
- ICE support has been added and can be enabled using the
icesupport
configuration option. Some endpoints may have problems with the ICE candidates within the SDP. Symptoms of this include one way media or no media flow.
chan_unistim
Due to massive updates in chan_unistim phone keys functions and on-screen information has changed.
Please see the Unistim Channel Improvements for more information.
Resource Modules
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.
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.
Dialplan Functions
- MAILBOX_EXISTS has been deprecated. Use VM_INFO with the '
exists
' parameter instead. - Macro has been deprecated in favour of Gosub. While Macro has been deprecated for some time, in Asterisk 11 all internal functions that relied on Macros have been transitioned to use 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 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. Please see
- 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.
Core
Logging
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.
Verbose/Debug setting changes
Asterisk 11 splits verbose logging levels from Asterisk and individual remote console sessions. This change was put in place due to the potential awkwardness of having verbosity changes take place in multiple remote console sessions on account of just one of those sessions requesting a verbosity change. Under the new system, core set verbosity is intercepted by the remote console and sets the remote CLI verbosity without ever actually contacting the Asterisk service involved.
There have been some complications introduced with this feature. The command override performed by the remote console is performed over the command string and is naive to the fact that Asterisk can call the verbosity setting CLI command by other means, notably by setting an alias. If the command is aliased via cli_aliases.conf, the alias will be created at the startup of the Asterisk service and since the aliased command can be formatted in any manner, the core set verbose command that is internal to Asterisk will still be accessible to remote consoles. This behavior is confusing and quite likely to trip up users.
Example of how it functions normally:
- Asterisk service is started
- user connects to Asterisk via remote console
- Enters command: core set verbose 5
- At this point, verbosity for the remote console session is at 5.
If an alias is made in cli_aliases.conf: foo bar=core set verbose
- Asterisk service is started
- user connects to Asterisk via remote console
- Enters command: foo bar 5
- The user has been told verbosity is now 5, but in reality what he will see is still whatever the remote console's initial verbose level was and the internal verbosity is what has been changed. This is because foo bar 5 executed the internal version of 'core set verbose 5'
A simple workaround for this right now is to just not alias 'core set verbose'.
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 aPost
header.
CCSS
Macro is deprecated. Use cc_callback_sub
instead of cc_callback_macro
in channel configurations.
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.
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.