Merged revisions 110962 via svnmerge from
[asterisk/asterisk.git] / UPGRADE.txt
1 =========================================================
2 === Information for upgrading from Asterisk 1.4 to 1.6
3 ===
4 ===
5 === UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
6 === UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
7 === UPGRADE.txt     -- Upgrade info for 1.4 to 1.6
8 =========================================================
9
10 AEL:
11
12 * Macros are now implemented underneath with the Gosub() application.
13   Heaven Help You if you wrote code depending on any aspect of this!
14   Previous to 1.6, macros were implemented with the Macro() app, which
15   provided a nice feature of auto-returning. The compiler will do its
16   best to insert a Return() app call at the end of your macro if you did
17   not include it, but really, you should make sure that all execution
18   paths within your macros end in "return;".
19
20 * The conf2ael program is 'introduced' in this release; it is in a rather
21   crude state, but deemed useful for making a first pass at converting
22   extensions.conf code into AEL. More intelligence will come with time.
23
24 Core:
25
26 * The 'languageprefix' option in asterisk.conf is now deprecated, and
27   the default sound file layout for non-English sounds is the 'new
28   style' layout introduced in Asterisk 1.4 (and used by the automatic
29   sound file installer in the Makefile).
30
31 * The ast_expr2 stuff has been modified to handle floating-point numbers.
32   Numbers of the format D.D are now acceptable input for the expr parser, 
33   Where D is a string of base-10 digits. All math is now done in "long double",
34   if it is available on your compiler/architecture. This was half-way between
35   a bug-fix (because the MATH func returns fp by default), and an enhancement.
36   Also, for those counting on, or needing, integer operations, a series of
37   'functions' were also added to the expr language, to allow several styles
38   of rounding/truncation, along with a set of common floating point operations,
39   like sin, cos, tan, log, pow, etc. The ability to call external functions
40   like CDR(), etc. was also added, without having to use the ${...} notation.
41  
42 * The delimiter passed to applications has been changed to the comma (','), as
43   that is what people are used to using within extensions.conf.  If you are
44   using realtime extensions, you will need to translate your existing dialplan
45   to use this separator.  To use a literal comma, you need merely to escape it
46   with a backslash ('\').  Another possible side effect is that you may need to
47   remove the obscene level of backslashing that was necessary for the dialplan
48   to work correctly in 1.4 and previous versions.  This should make writing
49   dialplans less painful in the future, albeit with the pain of a one-time
50   conversion.
51
52 * The logger.conf option 'rotatetimestamp' has been deprecated in favor of
53   'rotatestrategy'.  This new option supports a 'rotate' strategy that more
54   closely mimics the system logger in terms of file rotation.
55
56 * The concise versions of various CLI commands are now deprecated. We recommend
57   using the manager interface (AMI) for application integration with Asterisk.
58
59 * The silencethreshold used for various applications is now settable via a
60   centralized config option in dsp.conf.
61
62 Voicemail:
63
64 * The voicemail configuration values 'maxmessage' and 'minmessage' have
65   been changed to 'maxsecs' and 'minsecs' to clarify their purpose and
66   to make them more distinguishable from 'maxmsgs', which sets folder
67   size.  The old variables will continue to work in this version, albeit
68   with a deprecation warning.
69 * If you use any interface for modifying voicemail aside from the built in
70   dialplan applications, then the option "pollmailboxes" *must* be set in
71   voicemail.conf for message waiting indication (MWI) to work properly.  This
72   is because Voicemail notification is now event based instead of polling
73   based.  The channel drivers are no longer responsible for constantly manually
74   checking mailboxes for changes so that they can send MWI information to users.
75   Examples of situations that would require this option are web interfaces to
76   voicemail or an email client in the case of using IMAP storage.
77
78 Applications:
79
80 * ChanIsAvail() now has a 't' option, which allows the specified device
81   to be queried for state without consulting the channel drivers. This
82   performs mostly a 'ChanExists' sort of function.
83 * ChannelRedirect() will not terminate the channel that fails to do a
84   channelredirect as it has done previously. Instead CHANNELREDIRECT_STATUS
85   will reflect if the attempt was successful of not.
86 * SetCallerPres() has been replaced with the CALLERPRES() dialplan function
87   and is now deprecated.
88 * DISA()'s fifth argument is now an options argument.  If you have previously
89   used 'NOANSWER' in this argument, you'll need to convert that to the new
90   option 'n'.
91 * Macro() is now deprecated.  If you need subroutines, you should use the
92   Gosub()/Return() applications.  To replace MacroExclusive(), we have
93   introduced dialplan functions LOCK(), TRYLOCK(), and UNLOCK().  You may use
94   these functions in any location where you desire to ensure that only one
95   channel is executing that path at any one time.
96 * Read() now sets a READSTATUS variable on exit.  It does NOT automatically
97   return -1 (and hangup) anymore on error.  If you want to hangup on error,
98   you need to do so explicitly in your dialplan.
99 * Privacy() no longer uses privacy.conf, so any options must be specified
100   directly in the application arguments.
101 * MusicOnHold application now has duration parameter which allows specifying
102   timeout in seconds.
103 * WaitMusicOnHold application is now deprecated in favor of extended MusicOnHold.
104 * SetMusicOnHold is now deprecated. You should use Set(CHANNEL(musicclass)=...)
105   instead.
106
107 Dialplan Functions:
108
109 * QUEUE_MEMBER_COUNT() has been deprecated in favor of the QUEUE_MEMBER() function. For
110   more information, issue a "show function QUEUE_MEMBER" from the CLI.
111
112 CDR:
113
114 * The cdr_sqlite module has been marked as deprecated in favor of
115   cdr_sqlite3_custom.  It will potentially be removed from the tree
116   after Asterisk 1.6 is released.
117
118 * The cdr_odbc module now uses res_odbc to manage its connections.  The
119   username and password parameters in cdr_odbc.conf, therefore, are no
120   longer used.  The dsn parameter now points to an entry in res_odbc.conf.
121
122 Formats:
123
124 * format_wav: The GAIN preprocessor definition and source code that used it
125   is removed.  This change was made in response to user complaints of
126   choppiness or the clipping of loud signal peaks.  To increase the volume
127   of voicemail messages, use the 'volgain' option in voicemail.conf
128
129 Channel Drivers:
130
131 * SIP: a small upgrade to support the "Record" button on the SNOM360,
132   which sends a sip INFO message with a "Record: on" or "Record: off" 
133   header. If Asterisk is set up (via features.conf) to accept "One Touch Monitor"
134   requests (by default, via '*1'), then the user-configured dialpad sequence
135   is generated, and recording can be started and stopped via this button. The
136   file names and formats are all controlled via the normal mechanisms. If the
137   user has not configured the automon feature, the normal "415 Unsupported media type"
138   is returned, and nothing is done.
139 * SIP: The "call-limit" option is marked as deprecated. It still works in this version of
140   Asterisk, but will be removed in the following version. Please use the groupcount functions
141   in the dialplan to enforce call limits. The "limitonpeer" configuration option is
142   now renamed to "counteronpeer".
143 * SIP: The "username" option is now renamed to "defaultuser" to match "defaultip".
144   These are used only before registration to call a peer with the uri 
145         sip:defaultuser@defaultip
146   The "username" setting still work, but is deprecated and will not work in 
147   the next version of Asterisk.
148
149 * chan_local.c: the comma delimiter inside the channel name has been changed to a
150   semicolon, in order to make the Local channel driver compatible with the comma
151   delimiter change in applications.
152 * H323: The "tos" setting has changed name to "tos_audio" and "cos" to "cos_audio"
153   to be compatible with settings in sip.conf. The "tos" and "cos" configuration
154   is deprecated and will stop working in the next release of Asterisk.
155
156 * Console: A new console channel driver, chan_console, has been added to Asterisk.
157   This new module can not be loaded at the same time as chan_alsa or chan_oss.  The
158   default modules.conf only loads one of them (chan_oss by default).  So, unless you
159   have modified your modules.conf to not use the autoload option, then you will need
160   to modify modules.conf to add another "noload" line to ensure that only one of
161   these three modules gets loaded.
162
163 * Zap: The "msdstrip" option has been deprecated, as it provides no value over
164   the method of stripping digits in the dialplan using variable substring syntax.
165
166 Configuration:
167
168 * pbx_dundi.c: tos parameter changed to use new values. Old values like lowdelay,
169   lowcost and other is not acceptable now. Look into qos.tex for description of 
170   this parameter.
171
172 * queues.conf: the queue-lessthan sound file option is no longer available, and the
173   queue-round-seconds option no longer takes '1' as a valid parameter.
174
175 Manager:
176
177 * Manager has been upgraded to version 1.1 with a lot of changes. 
178   Please check doc/manager_1_1.txt for information
179
180 * The IAXpeers command output has been changed to more closely resemble the
181   output of the SIPpeers command.
182
183 * cdr_manager now reports at the "cdr" level, not at "call"  You may need to
184    change your manager.conf to add the level to existing AMI users, if they
185    want to see the CDR events generated.
186
187 * The Originate command now requires the Originate write permission.  For
188    Originate with the Application parameter, you need the additional System
189    privilege if you want to do anything that calls out to a subshell.
190
191 iLBC Codec:
192
193 * Previously, the Asterisk source code distribution included the iLBC
194   encoder/decoder source code, from Global IP Solutions
195   (http://www.gipscorp.com). This code is not licensed for
196   distribution, and thus has been removed from the Asterisk source
197   code distribution. If you wish to use codec_ilbc to support iLBC
198   channels in Asterisk, you must go to:
199
200   http://ilbcfreeware.org
201
202   and obtain the iLBC source code from that site, including agreeing
203   to the license agreement specified. The site has instructions on how
204   to extract the source code from the RFC file where it has been
205   published; after you have done that, copy the resulting *.c and *.h
206   files into the codecs/ilbc directory of the Asterisk source code
207   tree and follow your normal steps of building Asterisk. You will
208   need to run 'menuselect' and enable the iLBC codec in the 'Codec
209   Translators' category.