| 
									
										
										
										
											2010-07-23 19:17:30 +00:00
										 |  |  | =========================================================== | 
					
						
							|  |  |  | === | 
					
						
							|  |  |  | === 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 includes 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 | 
					
						
							|  |  |  | === | 
					
						
							|  |  |  | =========================================================== | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | From 1.6.2 to 1.8: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-11-10 14:15:53 +00:00
										 |  |  | * A couple of CLI commands in res_ais were changed back to their original form: | 
					
						
							|  |  |  |     "ais show clm members" --> "ais clm show members" | 
					
						
							|  |  |  |     "ais show evt event channels" --> "ais evt show event channels" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-16 22:00:15 +00:00
										 |  |  | * The default value for 'autofill' and 'shared_lastcall' in queues.conf has | 
					
						
							|  |  |  |   been changed to 'yes'. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-10 21:50:24 +00:00
										 |  |  | * The default value for the alwaysauthreject option in sip.conf has been changed | 
					
						
							|  |  |  |   from "no" to "yes". | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-23 19:17:30 +00:00
										 |  |  | * The behavior of the 'parkedcallstimeout' has changed slightly.  The formulation | 
					
						
							|  |  |  |   of the extension name that a timed out parked call is delivered to when this | 
					
						
							|  |  |  |   option is set to 'no' was modified such that instead of converting '/' to '0', | 
					
						
							|  |  |  |   the '/' is converted to an underscore '_'.  See the updated documentation in | 
					
						
							|  |  |  |   features.conf.sample for more information on the behavior of the | 
					
						
							|  |  |  |   'parkedcallstimeout' option. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Asterisk-addons no longer exists as an independent package.  Those modules | 
					
						
							|  |  |  |   now live in the addons directory of the main Asterisk source tree.  They | 
					
						
							|  |  |  |   are not enabled by default.  For more information about why modules live in | 
					
						
							|  |  |  |   addons, see README-addons.txt. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The rarely used 'event_log' and LOG_EVENT channel have been removed; the few | 
					
						
							|  |  |  |   users of this channel in the tree have been converted to LOG_NOTICE or removed | 
					
						
							|  |  |  |   (in cases where the same message was already generated to another channel). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The usage of RTP inside of Asterisk has now become modularized. This means | 
					
						
							|  |  |  |   the Asterisk RTP stack now exists as a loadable module, res_rtp_asterisk. | 
					
						
							|  |  |  |   If you are not using autoload=yes in modules.conf you will need to ensure | 
					
						
							|  |  |  |   it is set to load. If not, then any module which uses RTP (such as chan_sip) | 
					
						
							|  |  |  |   will not be able to send or receive calls. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The app_dahdiscan.c file has been removed, but the dialplan app DAHDIScan still  | 
					
						
							|  |  |  |   remains. It now exists within app_chanspy.c and retains the exact same  | 
					
						
							|  |  |  |   functionality as before.  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The default behavior for Set, AGI, and pbx_realtime has been changed to implement | 
					
						
							|  |  |  |   1.6 behavior by default, if there is no [compat] section in asterisk.conf.  In | 
					
						
							|  |  |  |   prior versions, the behavior defaulted to 1.4 behavior, to assist in upgrades. | 
					
						
							|  |  |  |   Specifically, that means that pbx_realtime and res_agi expect you to use commas | 
					
						
							|  |  |  |   to separate arguments in applications, and Set only takes a single pair of | 
					
						
							|  |  |  |   a variable name/value.  The old 1.4 behavior may still be obtained by setting | 
					
						
							|  |  |  |   app_set, pbx_realtime, and res_agi each to 1.4 in the [compat] section of | 
					
						
							|  |  |  |   asterisk.conf. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The PRI channels in chan_dahdi can no longer change the channel name if a | 
					
						
							|  |  |  |   different B channel is selected during call negotiation.  To prevent using | 
					
						
							|  |  |  |   the channel name to infer what B channel a call is using and to avoid name | 
					
						
							|  |  |  |   collisions, the channel name format is changed. | 
					
						
							|  |  |  |   The new channel naming for PRI channels is: | 
					
						
							|  |  |  |   DAHDI/i<span>/<number>[:<subaddress>]-<sequence-number> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-04 15:28:20 +00:00
										 |  |  | * Added CHANNEL(dahdi_span), CHANNEL(dahdi_channel), and CHANNEL(dahdi_type) | 
					
						
							|  |  |  |   so the dialplan can determine the B channel currently in use by the channel. | 
					
						
							|  |  |  |   Use CHANNEL(no_media_path) to determine if the channel even has a B channel. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Added AMI event DAHDIChannel to associate a DAHDI channel with an Asterisk | 
					
						
							|  |  |  |   channel so AMI applications can passively determine the B channel currently | 
					
						
							|  |  |  |   in use.  Calls with "no-media" as the DAHDIChannel do not have an associated | 
					
						
							|  |  |  |   B channel.  No-media calls are either on hold or call-waiting. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-23 19:17:30 +00:00
										 |  |  | * The ChanIsAvail application has been changed so the AVAILSTATUS variable | 
					
						
							|  |  |  |   no longer contains both the device state and cause code. The cause code | 
					
						
							|  |  |  |   is now available in the AVAILCAUSECODE variable. If existing dialplan logic | 
					
						
							|  |  |  |   is written to expect AVAILSTATUS to contain the cause code it needs to be | 
					
						
							|  |  |  |   changed to use AVAILCAUSECODE. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * ExternalIVR will now send Z events for invalid or missing files, T events | 
					
						
							|  |  |  |   now include the interrupted file and bugs in argument parsing have been | 
					
						
							|  |  |  |   fixed so there may be arguments specified in incorrect ways that were | 
					
						
							|  |  |  |   working that will no longer work. | 
					
						
							|  |  |  |   Please see doc/externalivr.txt for details. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * OSP lookup application changes following variable names: | 
					
						
							|  |  |  |   OSPPEERIP to OSPINPEERIP | 
					
						
							|  |  |  |   OSPTECH to OSPOUTTECH | 
					
						
							|  |  |  |   OSPDEST to OSPDESTINATION | 
					
						
							|  |  |  |   OSPCALLING to OSPOUTCALLING | 
					
						
							|  |  |  |   OSPCALLED to OSPOUTCALLED | 
					
						
							|  |  |  |   OSPRESULTS to OSPDESTREMAILS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The Manager event 'iax2 show peers' output has been updated.  It now has a | 
					
						
							|  |  |  |   similar output of 'sip show peers'. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * VoiceMailMain and VMAuthenticate, if a '*' is entered in the first position | 
					
						
							|  |  |  |   of a Mailbox or Password, will, if it exists, jump to the 'a' extension in | 
					
						
							|  |  |  |   the current dialplan context. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The CALLERPRES() dialplan function is deprecated in favor of | 
					
						
							|  |  |  |   CALLERID(num-pres) and CALLERID(name-pres). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Environment variables that start with "AST_" are reserved to the system and | 
					
						
							|  |  |  |   may no longer be set from the dialplan. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * When a call is redirected inside of a Dial, the app and appdata fields of the | 
					
						
							|  |  |  |   CDR will now be set to "AppDial" and "(Outgoing Line)" instead of being blank. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The CDR handling of billsec and duration field has changed. If your table | 
					
						
							|  |  |  |   definition specifies those fields as float,double or similar they will now | 
					
						
							|  |  |  |   be logged with microsecond accuracy instead of a whole integer. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * chan_sip will no longer set up a local call forward when receiving a | 
					
						
							|  |  |  |   482 Loop Detected response. The dialplan will just continue from where it | 
					
						
							|  |  |  |   left off. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-13 22:27:20 +00:00
										 |  |  | * The 'stunaddr' option has been removed from chan_sip.  This feature did not | 
					
						
							|  |  |  |   behave as expected, had no correct use case, and was not RFC compliant. The | 
					
						
							|  |  |  |   removal of this feature will hopefully be followed by a correct RFC compliant | 
					
						
							|  |  |  |   STUN implementation in chan_sip in the future. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-24 20:36:35 +00:00
										 |  |  | * The default value for the pedantic option in sip.conf has been changed | 
					
						
							|  |  |  |   from "no" to "yes". | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-05-25 17:14:11 +00:00
										 |  |  | * The ConnectedLineNum and ConnectedLineName headers were added to many AMI | 
					
						
							|  |  |  |   events/responses if the CallerIDNum/CallerIDName headers were also present. | 
					
						
							|  |  |  |   The addition of connected line support changes the behavior of the channel | 
					
						
							|  |  |  |   caller ID somewhat.  The channel caller ID value no longer time shares with | 
					
						
							|  |  |  |   the connected line ID on outgoing call legs.  The timing of some AMI | 
					
						
							|  |  |  |   events/responses output the connected line ID as caller ID.  These party ID's | 
					
						
							|  |  |  |   are now separate. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-23 19:17:30 +00:00
										 |  |  | From 1.6.1 to 1.6.2: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * SIP no longer sends the 183 progress message for early media by | 
					
						
							|  |  |  |   default.  Applications requiring early media should use the | 
					
						
							|  |  |  |   progress() dialplan app to generate the progress message.  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The firmware for the IAXy has been removed from Asterisk.  It can be | 
					
						
							|  |  |  |   downloaded from http://downloads.digium.com/pub/iaxy/.  To have Asterisk | 
					
						
							|  |  |  |   install the firmware into its proper location, place the firmware in the | 
					
						
							|  |  |  |   contrib/firmware/iax/ directory in the Asterisk source tree before running | 
					
						
							|  |  |  |   "make install". | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * T.38 FAX error correction mode can no longer be configured in udptl.conf; | 
					
						
							|  |  |  |   instead, it is configured on a per-peer (or global) basis in sip.conf, with | 
					
						
							|  |  |  |   the same default as was present in udptl.conf.sample. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * T.38 FAX maximum datagram size can no longer be configured in updtl.conf; | 
					
						
							|  |  |  |   instead, it is either supplied by the application servicing the T.38 channel | 
					
						
							|  |  |  |   (for a FAX send or receive) or calculated from the bridged endpoint's | 
					
						
							|  |  |  |   maximum datagram size (for a T.38 FAX passthrough call). In addition, sip.conf | 
					
						
							|  |  |  |   allows for overriding the value supplied by a remote endpoint, which is useful | 
					
						
							|  |  |  |   when T.38 connections are made to gateways that supply incorrectly-calculated | 
					
						
							|  |  |  |   maximum datagram sizes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * There have been some changes to the IAX2 protocol to address the security | 
					
						
							|  |  |  |   concerns documented in the security advisory AST-2009-006.  Please see the | 
					
						
							|  |  |  |   IAX2 security document, doc/IAX2-security.pdf, for information regarding | 
					
						
							|  |  |  |   backwards compatibility with versions of Asterisk that do not contain these | 
					
						
							|  |  |  |   changes to IAX2. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The 'canreinvite' option support by the SIP, MGCP and Skinny channel drivers | 
					
						
							|  |  |  |   has been renamed to 'directmedia', to better reflect what it actually does. | 
					
						
							|  |  |  |   In the case of SIP, there are still re-INVITEs issued for T.38 negotiation, | 
					
						
							|  |  |  |   starting and stopping music-on-hold, and other reasons, and the 'canreinvite' | 
					
						
							|  |  |  |   option never had any effect on these cases, it only affected the re-INVITEs | 
					
						
							|  |  |  |   used for direct media path setup. For MGCP and Skinny, the option was poorly | 
					
						
							|  |  |  |   named because those protocols don't even use INVITE messages at all. For | 
					
						
							|  |  |  |   backwards compatibility, the old option is still supported in both normal | 
					
						
							|  |  |  |   and Realtime configuration files, but all of the sample configuration files, | 
					
						
							|  |  |  |   Realtime/LDAP schemas, and other documentation refer to it using the new name. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The default console now will use colors according to the default background | 
					
						
							|  |  |  |   color, instead of forcing the background color to black.  If you are using a | 
					
						
							|  |  |  |   light colored background for your console, you may wish to use the option | 
					
						
							|  |  |  |   flag '-W' to present better color choices for the various messages.  However, | 
					
						
							|  |  |  |   if you'd prefer the old method of forcing colors to white text on a black | 
					
						
							|  |  |  |   background, the compatibility option -B is provided for this purpose. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * SendImage() no longer hangs up the channel on transmission error or on | 
					
						
							|  |  |  |   any other error; in those cases, a FAILURE status is stored in | 
					
						
							|  |  |  |   SENDIMAGESTATUS and dialplan execution continues.  The possible | 
					
						
							|  |  |  |   return values stored in SENDIMAGESTATUS are: SUCCESS, FAILURE, and | 
					
						
							|  |  |  |   UNSUPPORTED. ('OK' has been replaced with 'SUCCESS', and 'NOSUPPORT' | 
					
						
							|  |  |  |   has been replaced with 'UNSUPPORTED').  This change makes the | 
					
						
							|  |  |  |   SendImage application more consistent with other applications. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * skinny.conf now has separate sections for lines and devices. | 
					
						
							|  |  |  |   Please have a look at configs/skinny.conf.sample and update | 
					
						
							|  |  |  |   your skinny.conf. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Queue names previously were treated in a case-sensitive manner, | 
					
						
							|  |  |  |   meaning that queues with names like "sales" and "sALeS" would be | 
					
						
							|  |  |  |   seen as unique queues. The parsing logic has changed to use | 
					
						
							|  |  |  |   case-insensitive comparisons now when originally hashing based on | 
					
						
							|  |  |  |   queue names, meaning that now the two queues mentioned as examples | 
					
						
							|  |  |  |   earlier will be seen as having the same name. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The SPRINTF() dialplan function has been moved into its own module, | 
					
						
							|  |  |  |   func_sprintf, and is no longer included in func_strings. If you use this | 
					
						
							|  |  |  |   function and do not use 'autoload=yes' in modules.conf, you will need | 
					
						
							|  |  |  |   to explicitly load func_sprintf for it to be available. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The res_indications module has been removed.  Its functionality was important | 
					
						
							|  |  |  |   enough that most of it has been moved into the Asterisk core. | 
					
						
							|  |  |  |   Two applications previously provided by res_indications, PlayTones and | 
					
						
							|  |  |  |   StopPlayTones, have been moved into a new module, app_playtones. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Support for Taiwanese was incorrectly supported with the "tw" language code. | 
					
						
							|  |  |  |   In reality, the "tw" language code is reserved for the Twi language, native | 
					
						
							|  |  |  |   to Ghana.  If you were previously using the "tw" language code, you should | 
					
						
							|  |  |  |   switch to using either "zh" (for Mandarin Chinese) or "zh_TW" for Taiwan | 
					
						
							|  |  |  |   specific localizations.  Additionally, "mx" should be changed to "es_MX", | 
					
						
							|  |  |  |   Georgian was incorrectly specified as "ge" but should be "ka", and Czech is | 
					
						
							|  |  |  |   "cs", not "cz". | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * DAHDISendCallreroutingFacility() parameters are now comma-separated, | 
					
						
							|  |  |  |   instead of the old pipe. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * res_jabber: autoprune has been disabled by default, to avoid misconfiguration  | 
					
						
							|  |  |  |   that would end up being interpreted as a bug once Asterisk started removing  | 
					
						
							|  |  |  |   the contacts from a user list. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The cdr.conf file must exist and be configured correctly in order for CDR | 
					
						
							|  |  |  |   records to be written. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | From 1.6.0.1 to 1.6.1: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The ast_agi_register_multiple() and ast_agi_unregister_multiple() | 
					
						
							|  |  |  |   API calls were added in 1.6.0, so that modules that provide multiple | 
					
						
							|  |  |  |   AGI commands could register/unregister them all with a single | 
					
						
							|  |  |  |   step. However, these API calls were not implemented properly, and did | 
					
						
							|  |  |  |   not allow the caller to know whether registration or unregistration | 
					
						
							|  |  |  |   succeeded or failed. They have been redefined to now return success | 
					
						
							|  |  |  |   or failure, but this means any code using these functions will need | 
					
						
							|  |  |  |   be recompiled after upgrading to a version of Asterisk containing | 
					
						
							|  |  |  |   these changes. In addition, the source code using these functions | 
					
						
							|  |  |  |   should be reviewed to ensure it can properly react to failure | 
					
						
							|  |  |  |   of registration or unregistration of its API commands. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The ast_agi_fdprintf() API call has been renamed to ast_agi_send() | 
					
						
							|  |  |  |   to better match what it really does, and the argument order has been | 
					
						
							|  |  |  |   changed to be consistent with other API calls that perform similar | 
					
						
							|  |  |  |   operations. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | From 1.6.0.x to 1.6.1: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * In previous versions of Asterisk, due to the way objects were arranged in | 
					
						
							|  |  |  |   memory by chan_sip, the order of entries in sip.conf could be adjusted to | 
					
						
							|  |  |  |   control the behavior of matching against peers and users.  The way objects | 
					
						
							|  |  |  |   are managed has been significantly changed for reasons involving performance | 
					
						
							|  |  |  |   and stability.  A side effect of these changes is that the order of entries | 
					
						
							|  |  |  |   in sip.conf can no longer be relied upon to control behavior. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The following core commands dealing with dialplan have been deprecated: 'core | 
					
						
							|  |  |  |   show globals', 'core set global' and 'core set chanvar'. Use the equivalent | 
					
						
							|  |  |  |   'dialplan show globals', 'dialplan set global' and 'dialplan set chanvar' | 
					
						
							|  |  |  |   instead. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * In the dialplan expression parser, the logical value of spaces | 
					
						
							|  |  |  |   immediately preceding a standalone 0 previously evaluated to | 
					
						
							|  |  |  |   true. It now evaluates to false.  This has confused a good many | 
					
						
							|  |  |  |   people in the past (typically because they failed to realize the | 
					
						
							|  |  |  |   space had any significance).  Since this violates the Principle of | 
					
						
							|  |  |  |   Least Surprise, it has been changed. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * While app_directory has always relied on having a voicemail.conf or users.conf file | 
					
						
							|  |  |  |   correctly set up, it now is dependent on app_voicemail being compiled as well. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * SIP: All of the functionality in SIPCHANINFO() has been implemented in CHANNEL(), | 
					
						
							|  |  |  |   and you should start using that function instead for retrieving information about | 
					
						
							|  |  |  |   the channel in a technology-agnostic way. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * If you have any third party modules which use a config file variable whose | 
					
						
							|  |  |  |   name ends in a '+', please note that the append capability added to this | 
					
						
							|  |  |  |   version may now conflict with that variable naming scheme.  An easy | 
					
						
							|  |  |  |   workaround is to ensure that a space occurs between the '+' and the '=', | 
					
						
							|  |  |  |   to differentiate your variable from the append operator.  This potential | 
					
						
							|  |  |  |   conflict is unlikely, but is documented here to be thorough. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The "Join" event from app_queue now uses the CallerIDNum header instead of | 
					
						
							|  |  |  |   the CallerID header to indicate the CallerID number. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * If you use ODBC storage for voicemail, there is a new field called "flag" | 
					
						
							|  |  |  |   which should be a char(8) or larger.  This field specifies whether or not a | 
					
						
							|  |  |  |   message has been designated to be "Urgent", "PRIORITY", or not. | 
					
						
							|  |  |  | 
 |