Merge "func_odbc: Add missing unlock's to acf_odbc_read."
[asterisk/asterisk.git] / UPGRADE-1.6.txt
index 3b7db9e..4ae4401 100644 (file)
@@ -1,9 +1,20 @@
 =========================================================
+===
 === Information for upgrading from Asterisk 1.4 to 1.6
 ===
+=== 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
+===
 =========================================================
 
 AEL:
@@ -28,7 +39,7 @@ Core:
   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, 
+  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.
@@ -37,7 +48,7 @@ Core:
   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
@@ -55,6 +66,17 @@ Core:
   arguments of AGI applications.  After converting to use the ',' delimiter,
   change this option to res_agi=1.6.
 
+* 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.
+
+* 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.
+
 * 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.
@@ -62,27 +84,6 @@ Core:
 * The concise versions of various CLI commands are now deprecated. We recommend
   using the manager interface (AMI) for application integration with Asterisk.
 
-* The following core commands dealing with dialplan has 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.
-
-* The silencethreshold used for various applications is now settable via a
-  centralized config option in dsp.conf.
-
-* 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.
-
-* 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 compatiblity option -B is provided for this purpose.
-
 Voicemail:
 
 * The voicemail configuration values 'maxmessage' and 'minmessage' have
@@ -100,18 +101,8 @@ Voicemail:
   Examples of situations that would require this option are web interfaces to
   voicemail or an email client in the case of using IMAP storage.
 
-* The externnotify script should accept an additional (last) parameter
-  containing the number of urgent messages in the INBOX.
-
 Applications:
 
-* SendImage() no longer hangs up the channel on transmission error or on
-  another type of 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.
 
 * ChanIsAvail() now has a 't' option, which allows the specified device
   to be queried for state without consulting the channel drivers. This
@@ -154,9 +145,6 @@ Applications:
 * SetMusicOnHold is now deprecated. You should use Set(CHANNEL(musicclass)=...)
   instead.
 
-* 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.
-
 * The arguments in ExecIf changed a bit, to be more like other applications.
   The syntax is now ExecIf(<cond>?appiftrue(args):appiffalse(args)).
 
@@ -202,7 +190,7 @@ Formats:
 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" 
+  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
@@ -216,14 +204,16 @@ Channel Drivers:
   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 
+  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 "username" setting still work, but is deprecated and will not work in
   the next version of Asterisk.
 
-* 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.
+* 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.
 
 * 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
@@ -251,51 +241,27 @@ Channel Drivers:
 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 
+  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.
 
-* 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.
-
-* skinny.conf now has seperate sections for lines and devices.
-  Please have a look at configs/skinny.conf.sample and update
-  your skinny.conf.
-
 Manager:
 
-* Manager has been upgraded to version 1.1 with a lot of changes. 
+* 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
-  change your manager.conf to add the level to existing AMI users, if they
-  want to see the CDR events generated.
+   change your manager.conf to add the level to existing AMI users, if they
+   want to see the CDR events generated.
 
 * The Originate command now requires the Originate write permission.  For
-  Originate with the Application parameter, you need the additional System
-  privilege if you want to do anything that calls out to a subshell.
-
-Queues:
-
-* New queue log events ADDMEMBER and REMOVEMEMBER have been added.  Also, a
-  new value has been added to the TRANSFER event that indicates the caller's
-  original position in the queue they are being transfered from.
-
-* Prior to Asterisk 1.6.2, queue names 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.
+   Originate with the Application parameter, you need the additional System
+   privilege if you want to do anything that calls out to a subshell.
 
 iLBC Codec: