Asterisk Project : Upgrading to Asterisk 11 This page last changed on Oct 23, 2012 by mjordan. 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
    *CLI&gt; core set verbose 5
    Set remote console verbosity to 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
    *CLI&gt; foo bar 5
    Verbosity was 3 and is now 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 a `Post` 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.

Document generated by Confluence on Nov 02, 2012 17:42