remove relative paths and use ASTTOPDIR instead.
[asterisk/asterisk.git] / UPGRADE.txt
1 Information for Upgrading From Previous Asterisk Releases
2 =========================================================
3
4 AEL:
5
6 * Macros are now implemented underneath with the Gosub() application.
7   Heaven Help You if you wrote code depending on any aspect of this!
8   Previous to 1.6, macros were implemented with the Macro() app, which
9   provided a nice feature of auto-returning. The compiler will do its
10   best to insert a Return() app call at the end of your macro if you did
11   not include it, but really, you should make sure that all execution
12   paths within your macros end in "return;".
13
14 * The conf2ael program is 'introduced' in this release; it is in a rather
15   crude state, but deemed useful for making a first pass at converting
16   extensions.conf code into AEL. More intelligence will come with time.
17
18 Core:
19
20 * The 'languageprefix' option in asterisk.conf is now deprecated, and
21   the default sound file layout for non-English sounds is the 'new
22   style' layout introduced in Asterisk 1.4 (and used by the automatic
23   sound file installer in the Makefile).
24
25 * The ast_expr2 stuff has been modified to handle floating-point numbers.
26   Numbers of the format D.D are now acceptable input for the expr parser, 
27   Where D is a string of base-10 digits. All math is now done in "long double",
28   if it is available on your compiler/architecture. This was half-way between
29   a bug-fix (because the MATH func returns fp by default), and an enhancement.
30   Also, for those counting on, or needing, integer operations, a series of
31   'functions' were also added to the expr language, to allow several styles
32   of rounding/truncation, along with a set of common floating point operations,
33   like sin, cos, tan, log, pow, etc. The ability to call external functions
34   like CDR(), etc. was also added, without having to use the ${...} notation.
35  
36 * The delimiter passed to applications has been changed to the comma (','), as
37   that is what people are used to using within extensions.conf.  If you are
38   using realtime extensions, you will need to translate your existing dialplan
39   to use this separator.  To use a literal comma, you need merely to escape it
40   with a backslash ('\').  Another possible side effect is that you may need to
41   remove the obscene level of backslashing that was necessary for the dialplan
42   to work correctly in 1.4 and previous versions.  This should make writing
43   dialplans less painful in the future, albeit with the pain of a one-time
44   conversion.
45
46 * The logger.conf option 'rotatetimestamp' has been deprecated in favor of
47   'rotatestrategy'.  This new option supports a 'rotate' strategy that more
48   closely mimics the system logger in terms of file rotation.
49
50 * The concise versions of various CLI commands are now deprecated. We recommend
51   using the manager interface (AMI) for application integration with Asterisk.
52
53 Voicemail:
54
55 * The voicemail configuration values 'maxmessage' and 'minmessage' have
56   been changed to 'maxsecs' and 'minsecs' to clarify their purpose and
57   to make them more distinguishable from 'maxmsgs', which sets folder
58   size.  The old variables will continue to work in this version, albeit
59   with a deprecation warning.
60 * If you use any interface for modifying voicemail aside from the built in
61   dialplan applications, then the option "pollmailboxes" *must* be set in
62   voicemail.conf for message waiting indication (MWI) to work properly.  This
63   is because Voicemail notification is now event based instead of polling
64   based.  The channel drivers are no longer responsible for constantly manually
65   checking mailboxes for changes so that they can send MWI information to users.
66   Examples of situations that would require this option are web interfaces to
67   voicemail or an email client in the case of using IMAP storage.
68
69 Applications:
70
71 * ChanIsAvail() now has a 't' option, which allows the specified device
72   to be queried for state without consulting the channel drivers. This
73   performs mostly a 'ChanExists' sort of function.
74 * SetCallerPres() has been replaced with the CALLERPRES() dialplan function
75   and is now deprecated.
76 * DISA()'s fifth argument is now an options argument.  If you have previously
77   used 'NOANSWER' in this argument, you'll need to convert that to the new
78   option 'n'.
79 * Macro() is now deprecated.  If you need subroutines, you should use the
80   Gosub()/Return() applications.  To replace MacroExclusive(), we have
81   introduced dialplan functions LOCK(), TRYLOCK(), and UNLOCK().  You may use
82   these functions in any location where you desire to ensure that only one
83   channel is executing that path at any one time.
84 * Read() now sets a READSTATUS variable on exit.  It does NOT automatically
85   return -1 (and hangup) anymore on error.  If you want to hangup on error,
86   you need to do so explicitly in your dialplan.
87
88 Dialplan Functions:
89
90 * QUEUE_MEMBER_COUNT() has been deprecated in favor of the QUEUE_MEMBER() function. For
91   more information, issue a "show function QUEUE_MEMBER" from the CLI.
92
93 CDR:
94
95 * The cdr_sqlite module has been marked as deprecated in favor of
96   cdr_sqlite3_custom.  It will potentially be removed from the tree
97   after Asterisk 1.6 is released.
98
99 * The cdr_odbc module now uses res_odbc to manage its connections.  The
100   username and password parameters in cdr_odbc.conf, therefore, are no
101   longer used.  The dsn parameter now points to an entry in res_odbc.conf.
102
103 Formats:
104
105 * format_wav: The GAIN preprocessor definition and source code that used it
106   is removed.  This change was made in response to user complaints of
107   choppiness or the clipping of loud signal peaks.  To increase the volume
108   of voicemail messages, use the 'volgain' option in voicemail.conf
109
110 Channel Drivers:
111
112 * SIP: a small upgrade to support the "Record" button on the SNOM360,
113   which sends a sip INFO message with a "Record: on" or "Record: off" 
114   header. If Asterisk is set up (via features.conf) to accept "One Touch Monitor"
115   requests (by default, via '*1'), then the user-configured dialpad sequence
116   is generated, and recording can be started and stopped via this button. The
117   file names and formats are all controlled via the normal mechanisms. If the
118   user has not configured the automon feature, the normal "415 Unsupported media type"
119   is returned, and nothing is done.
120 * SIP: The "call-limit" option is marked as deprecated. It still works in this version of
121   Asterisk, but will be removed in the following version. Please use the groupcount functions
122   in the dialplan to enforce call limits. The "limitonpeer" configuration option is
123   now renamed to "counteronpeer".
124 * SIP: The "username" option is now renamed to "defaultuser" to match "defaultip".
125   These are used only before registration to call a peer with the uri 
126         sip:defaultuser@defaultip
127   The "username" setting still work, but is deprecated and will not work in 
128   the next version of Asterisk.
129
130 * chan_local.c: the comma delimiter inside the channel name has been changed to a
131   semicolon, in order to make the Local channel driver compatible with the comma
132   delimiter change in applications.
133
134 Configuration:
135
136 * pbx_dundi.c: tos parameter changed to use new values. Old values like lowdelay,
137   lowcost and other is not acceptable now. Look into qos.tex for description of 
138   this parameter.
139
140 Manager:
141
142 * Manager has been upgraded to version 1.1 with a lot of changes. 
143   Please check doc/manager_1_1.txt for information
144
145 * The IAXpeers command output has been changed to more closely resemble the
146   output of the SIPpeers command.
147
148 * cdr_manager now reports at the "cdr" level, not at "call"  You may need to
149    change your manager.conf to add the level to existing AMI users, if they
150    want to see the CDR events generated.
151