1 Information for Upgrading From Previous Asterisk Releases
2 =========================================================
4 Build Process (configure script):
6 Asterisk now uses an autoconf-generated configuration script to learn how it
7 should build itself for your system. As it is a standard script, running:
11 will show you all the options available. This script can be used to tell the
12 build process what libraries you have on your system (if it cannot find them
13 automatically), which libraries you wish to have ignored even though they may
16 You must run the configure script before Asterisk will build, although it will
17 attempt to automatically run it for you with no options specified; for most users,
18 that will result in a similar build to what they would have had before the
19 configure script was added to the build process (except for having to run 'make'
20 again after the configure script is run). Note that the configure script does NOT
21 need to be re-run just to rebuild Asterisk; you only need to re-run it when your
22 system configuration changes or you wish to build Asterisk with different options.
24 Build Process (module selection):
26 The Asterisk source tree now includes a basic module selection and build option
27 selection tool called 'menuselect'. Run 'make menuselect' to make your choices.
28 In this tool, you can disable building of modules that you don't care about,
29 turn on/off global options for the build and see which modules will not (and cannot)
30 be built because your system does not have the required external dependencies
33 (TODO: document where 'global' and 'per-user' menuselect input files should go
34 and what they need to contain)
38 * The (very old and undocumented) ability to use BYEXTENSION for dialing
39 instead of ${EXTEN} has been removed.
41 * Builtin (res_features) transfer functionality attempts to use the context
42 defined in TRANSFER_CONTEXT variable of the transferer channel first. If
43 not set, it uses the transferee variable. If not set in any channel, it will
44 attempt to use the last non macro context. If not possible, it will default
45 to the current context.
47 Command Line Interface:
49 * 'show channels concise', designed to be used by applications that will parse
50 its output, previously used ':' characters to separate fields. However, some
51 of those fields can easily contain that character, making the output not
52 parseable. The delimiter has been changed to '!'.
56 * In previous Asterisk releases, many applications would jump to priority n+101
57 to indicate some kind of status or error condition. This functionality was
58 marked deprecated in Asterisk 1.2. An option to disable it was provided with
59 the default value set to 'on'. The default value for the global priority
60 jumping option is now 'off'.
62 * The applications Cut, Sort, DBGet, DBPut, SetCIDNum, SetCIDName, SetRDNIS,
63 AbsoluteTimeout, DigitTimeout, ResponseTimeout, SetLanguage, GetGroupCount,
64 and GetGroupMatchCount were all deprecated in version 1.2, and therefore have
65 been removed in this version. You should use the equivalent dialplan
66 function in places where you have previously used one of these applications.
68 * The application SetVar has been renamed to Set. The syntax SetVar was marked
69 deprecated in version 1.2 and is no longer recognized in this version.
71 * app_read has been updated to use the newer options codes, using "skip" or
72 "noanswer" will not work. Use s or n. Also there is a new feature i, for
73 using indication tones, so typing in skip would give you unexpected results.
75 * OSPAuth is added to authenticate OSP tokens in in_bound call setup messages.
77 * The CONNECT event in the queue_log from app_queue now has a second field
78 in addition to the holdtime field. It contains the unique ID of the
79 queue member channel that is taking the call. This is useful when trying
80 to link recording filenames back to a particular call from the queue.
82 * The old/current behavior of app_queue has a serial type behavior
83 in that the queue will make all waiting callers wait in the queue
84 even if there is more than one available member ready to take
85 calls until the head caller is connected with the member they
86 were trying to get to. The next waiting caller in line then
87 becomes the head caller, and they are then connected with the
88 next available member and all available members and waiting callers
89 waits while this happens. This cycle continues until there are
90 no more available members or waiting callers, whichever comes first.
91 The new behavior, enabled by setting autofill=yes in queues.conf
92 either at the [general] level to default for all queues or
93 to set on a per-queue level, makes sure that when the waiting
94 callers are connecting with available members in a parallel fashion
95 until there are no more available members or no more waiting callers,
96 whichever comes first. This is probably more along the lines of how
97 one would expect a queue should work and in most cases, you will want
98 to enable this new behavior. If you do not specify or comment out this
99 option, it will default to "no" to keep backward compatability with the old
102 * The app_queue application now has the ability to use MixMonitor to
103 record conversations queue members are having with queue callers. Please
104 see configs/queues.conf.sample for more information on this option.
106 * app_meetme: The 'm' option (monitor) is renamed to 'l' (listen only), and
107 the 'm' option now provides the functionality of "initially muted".
108 In practice, most existing dialplans using the 'm' flag should not notice
109 any difference, unless the keypad menu is enabled, allowing the user
110 to unmute themsleves.
112 * ast_play_and_record would attempt to cancel the recording if a DTMF
113 '0' was received. This behavior was not documented in most of the
114 applications that used ast_play_and_record and the return codes from
115 ast_play_and_record weren't checked for properly.
116 ast_play_and_record has been changed so that '0' no longer cancels a
117 recording. If you want to allow DTMF digits to cancel an
118 in-progress recording use ast_play_and_record_full which allows you
119 to specify which DTMF digits can be used to accept a recording and
120 which digits can be used to cancel a recording.
122 * ast_app_messagecount has been renamed to ast_app_inboxcount. There is now a
123 new ast_app_messagecount function which takes a single context/mailbox/folder
124 mailbox specification and returns the message count for that folder only.
125 This addresses the deficiency of not being able to count the number of
126 messages in folders other than INBOX and Old.
130 * After executing the 'status' manager action, the "Status" manager events
131 included the header "CallerID:" which was actually only the CallerID number,
132 and not the full CallerID string. This header has been renamed to
133 "CallerIDNum". For compatibility purposes, the CallerID parameter will remain
134 until after the release of 1.4, when it will be removed. Please use the time
135 during the 1.4 release to make this transition.
137 * The AgentConnect event now has an additional field called "BridgedChannel"
138 which contains the unique ID of the queue member channel that is taking the
139 call. This is useful when trying to link recording filenames back to
140 a particular call from the queue.
142 * app_userevent has been modified to always send Event: UserEvent with the
143 additional header UserEvent: <userspec>. Also, the Channel and UniqueID
144 headers are not automatically sent, unless you specify them as separate
145 arguments. Please see the application help for the new syntax.
147 * app_meetme: Mute and Unmute events are now reported via the Manager API.
148 Native Manager API commands MeetMeMute and MeetMeUnmute are provided, which
149 are easier to use than "Action Command:". The MeetMeStopTalking event has
150 also been deprecated in favor of the already existing MeetmeTalking event
151 with a "Status" of "on" or "off" added.
155 * The builtin variables ${CALLERID}, ${CALLERIDNAME}, ${CALLERIDNUM},
156 ${CALLERANI}, ${DNID}, ${RDNIS}, ${DATETIME}, ${TIMESTAMP}, ${ACCOUNTCODE},
157 and ${LANGUAGE} have all been deprecated in favor of their related dialplan
158 functions. You are encouraged to move towards the associated dialplan
159 function, as these variables will be removed in a future release.
161 * The CDR-CSV variables uniqueid, userfield, and basing time on GMT are now
162 adjustable from cdr.conf, instead of recompiling.
164 * OSP applications exports several new variables, ${OSPINHANDLE},
165 ${OSPOUTHANDLE}, ${OSPINTOKEN}, ${OSPOUTTOKEN}, ${OSPCALLING},
166 ${OSPINTIMELIMIT}, and ${OSPOUTTIMELIMIT}
168 * Builtin transfer functionality sets the variable ${TRANSFERERNAME} in the new
169 created channel. This variables holds the channel name of the transferer.
173 * The function ${CHECK_MD5()} has been deprecated in favor of using an
174 expression: $[${MD5(<string>)} = ${saved_md5}].
176 * The 'builtin' functions that used to be combined in pbx_functions.so are
177 now built as separate modules. If you are not using 'autoload=yes' in your
178 modules.conf file then you will need to explicitly load the modules that
179 contain the functions you want to use.
181 * The ENUMLOOKUP() function with the 'c' option (for counting the number of records),
182 but the lookup fails to match any records, the returned value will now be "0" instead of blank.
184 * The REALTIME() function is now available in version 1.4 and app_realtime has
185 been deprecated in favor of the new function. app_realtime will be removed
186 completely with the version 1.6 release so please take the time between
187 releases to make any necessary changes
191 * The "mailboxdetail" option has been deprecated. Previously, if this option
192 was not enabled, the 2 byte MSGCOUNT information element would be set to all
193 1's to indicate there there is some number of messages waiting. With this
194 option enabled, the number of new messages were placed in one byte and the
195 number of old messages are placed in the other. This is now the default
196 (and the only) behavior.
200 * The "incominglimit" setting is replaced by the "call-limit" setting in sip.conf.
202 * OSP support code is removed from SIP channel to OSP applications. ospauth
203 option in sip.conf is removed to osp.conf as authpolicy. allowguest option
204 in sip.conf cannot be set as osp anymore.
208 * Support for MFC/R2 has been removed, as it has not been functional for some time
209 and it has no maintainer.
213 * On BSD systems, the installation directories have changed to more "FreeBSDish" directories. On startup, Asterisk will look for the main configuration in /usr/local/etc/asterisk/asterisk.conf
214 If you have an old installation, you might want to remove the binaries and move the configuration files to the new locations. The following directories are now default:
215 ASTLIBDIR /usr/local/lib/asterisk
216 ASTVARLIBDIR /usr/local/share/asterisk
217 ASTETCDIR /usr/local/etc/asterisk
218 ASTBINDIR /usr/local/bin/asterisk
219 ASTSBINDIR /usr/local/sbin/asterisk
223 * The phonetic sounds directory has been removed from the asterisk-sounds package
224 because they are now included directly in Asterisk. However, it is important to
225 note that the phonetic sounds that existed in asterisk-sounds used a different
226 naming convention than the sounds in Asterisk. For example, instead of alpha.gsm
227 and bravo.gsm, Asterisk has a_p.gsm and b_p.gsm.