| 
									
										
										
										
											2008-11-19 12:42:19 +00:00
										 |  |  | ========================================================= | 
					
						
							| 
									
										
										
										
											2008-11-21 20:42:37 +00:00
										 |  |  | === | 
					
						
							| 
									
										
										
										
											2008-11-19 12:42:19 +00:00
										 |  |  | === Information for upgrading from Asterisk 1.4 to 1.6 | 
					
						
							|  |  |  | === | 
					
						
							| 
									
										
										
										
											2008-11-21 20:42:37 +00:00
										 |  |  | === 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. | 
					
						
							| 
									
										
										
										
											2008-11-19 12:42:19 +00:00
										 |  |  | === | 
					
						
							|  |  |  | === UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2 | 
					
						
							|  |  |  | === UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4 | 
					
						
							| 
									
										
										
										
											2008-11-21 20:42:37 +00:00
										 |  |  | === | 
					
						
							| 
									
										
										
										
											2008-11-19 12:42:19 +00:00
										 |  |  | ========================================================= | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | AEL: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Macros are now implemented underneath with the Gosub() application. | 
					
						
							|  |  |  |   Heaven Help You if you wrote code depending on any aspect of this! | 
					
						
							|  |  |  |   Previous to 1.6, macros were implemented with the Macro() app, which | 
					
						
							|  |  |  |   provided a nice feature of auto-returning. The compiler will do its | 
					
						
							|  |  |  |   best to insert a Return() app call at the end of your macro if you did | 
					
						
							|  |  |  |   not include it, but really, you should make sure that all execution | 
					
						
							|  |  |  |   paths within your macros end in "return;". | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The conf2ael program is 'introduced' in this release; it is in a rather | 
					
						
							|  |  |  |   crude state, but deemed useful for making a first pass at converting | 
					
						
							|  |  |  |   extensions.conf code into AEL. More intelligence will come with time. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Core: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The 'languageprefix' option in asterisk.conf is now deprecated, and | 
					
						
							|  |  |  |   the default sound file layout for non-English sounds is the 'new | 
					
						
							|  |  |  |   style' layout introduced in Asterisk 1.4 (and used by the automatic | 
					
						
							|  |  |  |   sound file installer in the Makefile). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The ast_expr2 stuff has been modified to handle floating-point numbers. | 
					
						
							|  |  |  |   Numbers of the format D.D are now acceptable input for the expr parser,  | 
					
						
							|  |  |  |   Where D is a string of base-10 digits. All math is now done in "long double", | 
					
						
							|  |  |  |   if it is available on your compiler/architecture. This was half-way between | 
					
						
							|  |  |  |   a bug-fix (because the MATH func returns fp by default), and an enhancement. | 
					
						
							|  |  |  |   Also, for those counting on, or needing, integer operations, a series of | 
					
						
							|  |  |  |   'functions' were also added to the expr language, to allow several styles | 
					
						
							|  |  |  |   of rounding/truncation, along with a set of common floating point operations, | 
					
						
							|  |  |  |   like sin, cos, tan, log, pow, etc. The ability to call external functions | 
					
						
							|  |  |  |   like CDR(), etc. was also added, without having to use the ${...} notation. | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  | * The delimiter passed to applications has been changed to the comma (','), as | 
					
						
							|  |  |  |   that is what people are used to using within extensions.conf.  If you are | 
					
						
							|  |  |  |   using realtime extensions, you will need to translate your existing dialplan | 
					
						
							|  |  |  |   to use this separator.  To use a literal comma, you need merely to escape it | 
					
						
							|  |  |  |   with a backslash ('\').  Another possible side effect is that you may need to | 
					
						
							|  |  |  |   remove the obscene level of backslashing that was necessary for the dialplan | 
					
						
							|  |  |  |   to work correctly in 1.4 and previous versions.  This should make writing | 
					
						
							|  |  |  |   dialplans less painful in the future, albeit with the pain of a one-time | 
					
						
							|  |  |  |   conversion.  If you would like to avoid this conversion immediately, set | 
					
						
							|  |  |  |   pbx_realtime=1.4 in the [compat] section of asterisk.conf.  After | 
					
						
							|  |  |  |   transitioning, set pbx_realtime=1.6 in the same section. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * For the same purpose as above, you may set res_agi=1.4 in the [compat] | 
					
						
							|  |  |  |   section of asterisk.conf to continue to use the '|' delimiter in the EXEC | 
					
						
							|  |  |  |   arguments of AGI applications.  After converting to use the ',' delimiter, | 
					
						
							|  |  |  |   change this option to res_agi=1.6. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-05 16:44:47 +00:00
										 |  |  | * As a side effect of the application delimiter change, many places that used | 
					
						
							|  |  |  |   to need quotes in order to get the proper meaning are no longer required. | 
					
						
							|  |  |  |   You now only need to quote strings in configuration files if you literally | 
					
						
							|  |  |  |   want quotation marks within a string. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-04 17:31:44 +00:00
										 |  |  | * Any applications run that contain the pipe symbol but not a comma symbol will | 
					
						
							|  |  |  |   get a warning printed to the effect that the application delimiter has changed. | 
					
						
							|  |  |  |   However, there are legitimate reasons why this might be useful in certain | 
					
						
							|  |  |  |   situations, so this warning can be turned off with the dontwarn option in | 
					
						
							|  |  |  |   asterisk.conf. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-19 12:42:19 +00:00
										 |  |  | * The logger.conf option 'rotatetimestamp' has been deprecated in favor of | 
					
						
							|  |  |  |   'rotatestrategy'.  This new option supports a 'rotate' strategy that more | 
					
						
							|  |  |  |   closely mimics the system logger in terms of file rotation. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The concise versions of various CLI commands are now deprecated. We recommend | 
					
						
							|  |  |  |   using the manager interface (AMI) for application integration with Asterisk. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Voicemail: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The voicemail configuration values 'maxmessage' and 'minmessage' have | 
					
						
							|  |  |  |   been changed to 'maxsecs' and 'minsecs' to clarify their purpose and | 
					
						
							|  |  |  |   to make them more distinguishable from 'maxmsgs', which sets folder | 
					
						
							|  |  |  |   size.  The old variables will continue to work in this version, albeit | 
					
						
							|  |  |  |   with a deprecation warning. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * If you use any interface for modifying voicemail aside from the built in | 
					
						
							|  |  |  |   dialplan applications, then the option "pollmailboxes" *must* be set in | 
					
						
							|  |  |  |   voicemail.conf for message waiting indication (MWI) to work properly.  This | 
					
						
							|  |  |  |   is because Voicemail notification is now event based instead of polling | 
					
						
							|  |  |  |   based.  The channel drivers are no longer responsible for constantly manually | 
					
						
							|  |  |  |   checking mailboxes for changes so that they can send MWI information to users. | 
					
						
							|  |  |  |   Examples of situations that would require this option are web interfaces to | 
					
						
							|  |  |  |   voicemail or an email client in the case of using IMAP storage. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Applications: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * ChanIsAvail() now has a 't' option, which allows the specified device | 
					
						
							|  |  |  |   to be queried for state without consulting the channel drivers. This | 
					
						
							|  |  |  |   performs mostly a 'ChanExists' sort of function. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * ChannelRedirect() will not terminate the channel that fails to do a | 
					
						
							|  |  |  |   channelredirect as it has done previously. Instead CHANNELREDIRECT_STATUS | 
					
						
							|  |  |  |   will reflect if the attempt was successful of not. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * SetCallerPres() has been replaced with the CALLERPRES() dialplan function | 
					
						
							|  |  |  |   and is now deprecated. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * DISA()'s fifth argument is now an options argument.  If you have previously | 
					
						
							|  |  |  |   used 'NOANSWER' in this argument, you'll need to convert that to the new | 
					
						
							|  |  |  |   option 'n'. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Macro() is now deprecated.  If you need subroutines, you should use the | 
					
						
							|  |  |  |   Gosub()/Return() applications.  To replace MacroExclusive(), we have | 
					
						
							|  |  |  |   introduced dialplan functions LOCK(), TRYLOCK(), and UNLOCK().  You may use | 
					
						
							|  |  |  |   these functions in any location where you desire to ensure that only one | 
					
						
							|  |  |  |   channel is executing that path at any one time.  The Macro() applications | 
					
						
							|  |  |  |   are deprecated for performance reasons.  However, since Macro() has been | 
					
						
							|  |  |  |   around for a long time and so many dialplans depend heavily on it, for the | 
					
						
							|  |  |  |   sake of backwards compatibility it will not be removed .  It is also worth | 
					
						
							|  |  |  |   noting that using both Macro() and GoSub() at the same time is _heavily_ | 
					
						
							|  |  |  |   discouraged. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Read() now sets a READSTATUS variable on exit.  It does NOT automatically | 
					
						
							|  |  |  |   return -1 (and hangup) anymore on error.  If you want to hangup on error, | 
					
						
							|  |  |  |   you need to do so explicitly in your dialplan. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Privacy() no longer uses privacy.conf, so any options must be specified | 
					
						
							|  |  |  |   directly in the application arguments. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * MusicOnHold application now has duration parameter which allows specifying | 
					
						
							|  |  |  |   timeout in seconds. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * WaitMusicOnHold application is now deprecated in favor of extended MusicOnHold. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * SetMusicOnHold is now deprecated. You should use Set(CHANNEL(musicclass)=...) | 
					
						
							|  |  |  |   instead. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The arguments in ExecIf changed a bit, to be more like other applications. | 
					
						
							|  |  |  |   The syntax is now ExecIf(<cond>?appiftrue(args):appiffalse(args)). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The behavior of the Set application now depends upon a compatibility option, | 
					
						
							|  |  |  |   set in asterisk.conf.  To use the old 1.4 behavior, which allowed Set to take | 
					
						
							|  |  |  |   multiple key/value pairs, set app_set=1.4 in [compat] in asterisk.conf.  To | 
					
						
							|  |  |  |   use the new behavior, which permits variables to be set with embedded commas, | 
					
						
							|  |  |  |   set app_set=1.6 in [compat] in asterisk.conf.  Note that you can have both | 
					
						
							|  |  |  |   behaviors at the same time, if you switch to using MSet if you want the old | 
					
						
							|  |  |  |   behavior. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Dialplan Functions: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * QUEUE_MEMBER_COUNT() has been deprecated in favor of the QUEUE_MEMBER() function. For | 
					
						
							|  |  |  |   more information, issue a "show function QUEUE_MEMBER" from the CLI. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CDR: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The cdr_sqlite module has been marked as deprecated in favor of | 
					
						
							|  |  |  |   cdr_sqlite3_custom.  It will potentially be removed from the tree | 
					
						
							|  |  |  |   after Asterisk 1.6 is released. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The cdr_odbc module now uses res_odbc to manage its connections.  The | 
					
						
							|  |  |  |   username and password parameters in cdr_odbc.conf, therefore, are no | 
					
						
							|  |  |  |   longer used.  The dsn parameter now points to an entry in res_odbc.conf. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The uniqueid field in the core Asterisk structure has been changed from a | 
					
						
							|  |  |  |   maximum 31 character field to a 149 character field, to account for all | 
					
						
							|  |  |  |   possible values the systemname prefix could be.  In the past, if the | 
					
						
							|  |  |  |   systemname was too long, the uniqueid would have been truncated. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The cdr_tds module now supports all versions of FreeTDS that contain | 
					
						
							|  |  |  |   the db-lib frontend.  It will also now log the userfield variable if | 
					
						
							|  |  |  |   the target database table contains a column for it. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Formats: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * format_wav: The GAIN preprocessor definition and source code that used it | 
					
						
							|  |  |  |   is removed.  This change was made in response to user complaints of | 
					
						
							|  |  |  |   choppiness or the clipping of loud signal peaks.  To increase the volume | 
					
						
							|  |  |  |   of voicemail messages, use the 'volgain' option in voicemail.conf | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Channel Drivers: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * SIP: a small upgrade to support the "Record" button on the SNOM360, | 
					
						
							|  |  |  |   which sends a sip INFO message with a "Record: on" or "Record: off"  | 
					
						
							|  |  |  |   header. If Asterisk is set up (via features.conf) to accept "One Touch Monitor" | 
					
						
							|  |  |  |   requests (by default, via '*1'), then the user-configured dialpad sequence | 
					
						
							|  |  |  |   is generated, and recording can be started and stopped via this button. The | 
					
						
							|  |  |  |   file names and formats are all controlled via the normal mechanisms. If the | 
					
						
							|  |  |  |   user has not configured the automon feature, the normal "415 Unsupported media type" | 
					
						
							|  |  |  |   is returned, and nothing is done. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * SIP: The "call-limit" option is marked as deprecated. It still works in this version of | 
					
						
							|  |  |  |   Asterisk, but will be removed in the following version. Please use the groupcount functions | 
					
						
							|  |  |  |   in the dialplan to enforce call limits. The "limitonpeer" configuration option is | 
					
						
							|  |  |  |   now renamed to "counteronpeer". | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * SIP: The "username" option is now renamed to "defaultuser" to match "defaultip". | 
					
						
							|  |  |  |   These are used only before registration to call a peer with the uri  | 
					
						
							|  |  |  | 	sip:defaultuser@defaultip | 
					
						
							|  |  |  |   The "username" setting still work, but is deprecated and will not work in  | 
					
						
							|  |  |  |   the next version of Asterisk. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-07 16:05:24 +00:00
										 |  |  | * SIP: The old "insecure" options, deprecated in 1.4, have been removed. | 
					
						
							|  |  |  |   "insecure=very" should be changed to "insecure=port,invite" | 
					
						
							|  |  |  |   "insecure=yes" should be changed to "insecure=port" | 
					
						
							|  |  |  |   Be aware that some telephony providers show the invalid syntax in their | 
					
						
							|  |  |  |   sample configurations. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-19 12:42:19 +00:00
										 |  |  | * chan_local.c: the comma delimiter inside the channel name has been changed to a | 
					
						
							|  |  |  |   semicolon, in order to make the Local channel driver compatible with the comma | 
					
						
							|  |  |  |   delimiter change in applications. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * H323: The "tos" setting has changed name to "tos_audio" and "cos" to "cos_audio" | 
					
						
							|  |  |  |   to be compatible with settings in sip.conf. The "tos" and "cos" configuration | 
					
						
							|  |  |  |   is deprecated and will stop working in the next release of Asterisk. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Console: A new console channel driver, chan_console, has been added to Asterisk. | 
					
						
							|  |  |  |   This new module can not be loaded at the same time as chan_alsa or chan_oss.  The | 
					
						
							|  |  |  |   default modules.conf only loads one of them (chan_oss by default).  So, unless you | 
					
						
							|  |  |  |   have modified your modules.conf to not use the autoload option, then you will need | 
					
						
							|  |  |  |   to modify modules.conf to add another "noload" line to ensure that only one of | 
					
						
							|  |  |  |   these three modules gets loaded. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * DAHDI: The chan_zap module that supported PSTN interfaces using | 
					
						
							|  |  |  |   Zaptel has been renamed to chan_dahdi, and only supports the DAHDI | 
					
						
							|  |  |  |   telephony driver package for PSTN interfaces. See the | 
					
						
							|  |  |  |   Zaptel-to-DAHDI.txt file for more details on this transition. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * DAHDI: The "msdstrip" option has been deprecated, as it provides no value over | 
					
						
							|  |  |  |   the method of stripping digits in the dialplan using variable substring syntax. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Configuration: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * pbx_dundi.c: tos parameter changed to use new values. Old values like lowdelay, | 
					
						
							|  |  |  |   lowcost and other is not acceptable now. Look into qos.tex for description of  | 
					
						
							|  |  |  |   this parameter. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * queues.conf: the queue-lessthan sound file option is no longer available, and the | 
					
						
							|  |  |  |   queue-round-seconds option no longer takes '1' as a valid parameter. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Manager: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Manager has been upgraded to version 1.1 with a lot of changes.  | 
					
						
							|  |  |  |   Please check doc/manager_1_1.txt for information | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * The IAXpeers command output has been changed to more closely resemble the | 
					
						
							|  |  |  |   output of the SIPpeers command. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * cdr_manager now reports at the "cdr" level, not at "call"  You may need to | 
					
						
							| 
									
										
										
										
											2008-11-19 13:27:02 +00:00
										 |  |  |    change your manager.conf to add the level to existing AMI users, if they | 
					
						
							|  |  |  |    want to see the CDR events generated. | 
					
						
							| 
									
										
										
										
											2008-11-19 12:42:19 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | * The Originate command now requires the Originate write permission.  For | 
					
						
							| 
									
										
										
										
											2008-11-19 13:27:02 +00:00
										 |  |  |    Originate with the Application parameter, you need the additional System | 
					
						
							|  |  |  |    privilege if you want to do anything that calls out to a subshell. | 
					
						
							| 
									
										
										
										
											2008-11-19 12:42:19 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | iLBC Codec: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * Previously, the Asterisk source code distribution included the iLBC | 
					
						
							|  |  |  |   encoder/decoder source code, from Global IP Solutions | 
					
						
							|  |  |  |   (http://www.gipscorp.com). This code is not licensed for | 
					
						
							|  |  |  |   distribution, and thus has been removed from the Asterisk source | 
					
						
							|  |  |  |   code distribution. If you wish to use codec_ilbc to support iLBC | 
					
						
							|  |  |  |   channels in Asterisk, you can run the contrib/scripts/get_ilbc_source.sh | 
					
						
							|  |  |  |   script to download the source and put it in the proper place in | 
					
						
							|  |  |  |   the Asterisk build tree. Once that is done you can follow your normal | 
					
						
							|  |  |  |   steps of building Asterisk. You will need to run 'menuselect' and enable | 
					
						
							|  |  |  |   the iLBC codec in the 'Codec  Translators' category. |