Test for Asterisk Version info
[asterisk/asterisk.git] / UPGRADE.txt
1 ===========================================================
2 ===
3 === Information for upgrading between Asterisk versions
4 ===
5 === These files document all the changes that MUST be taken
6 === into account when upgrading between the Asterisk
7 === versions listed below. These changes may require that
8 === you modify your configuration files, dialplan or (in
9 === some cases) source code if you have your own Asterisk
10 === modules or patches. These files also include advance
11 === notice of any functionality that has been marked as
12 === 'deprecated' and may be removed in a future release,
13 === along with the suggested replacement functionality.
14 ===
15 === UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
16 === UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
17 === UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
18 === UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8
19 === UPGRADE-10.txt -- Upgrade info for 1.8 to 10
20 === UPGRADE-11.txt -- Upgrade info for 10 to 11
21 ===
22 ===========================================================
23
24 From 11 to 12:
25
26 AMI:
27  - The SIP SIPqualifypeer action now sends a response indicating it will qualify
28    a peer once a peer has been found to qualify.  Once the qualify has been
29    completed it will now issue a SIPqualifypeerdone event.
30
31 Queue:
32  - Queue logging for PAUSEALL/UNPAUSEALL now only occurs if the interface this is
33    performed on is a member of at least one queue.
34
35 Dial:
36  - Now recognizes 'W' to pause sending DTMF for one second in addition to
37    the previously existing 'w' that paused sending DTMF for half a second.
38
39 ExternalIVR:
40  - Now recognizes 'W' to pause sending DTMF for one second in addition to
41    the previously existing 'w' that paused sending DTMF for half a second.
42
43 SendDTMF:
44  - Now recognizes 'W' to pause sending DTMF for one second in addition to
45    the previously existing 'w' that paused sending DTMF for half a second.
46
47 chan_dahdi:
48  - Analog port dialing and deferred DTMF dialing for PRI now distinguishes
49    between 'w' and 'W'.  The 'w' pauses dialing for half a second.  The 'W'
50    pauses dialing for one second.
51
52 From 10 to 11:
53
54 Voicemail:
55  - All voicemails now have a "msg_id" which uniquely identifies a message. For
56    users of filesystem and IMAP storage of voicemail, this should be transparent.
57    For users of ODBC, you will need to add a "msg_id" column to your voice mail
58    messages table. This should be a string capable of holding at least 32 characters.
59    All messages created in old Asterisk installations will have a msg_id added to
60    them when required. This operation should be transparent as well.
61
62 Parking:
63  - The comebacktoorigin setting must now be set per parking lot. The setting in
64    the general section will not be applied automatically to each parking lot.
65  - The BLINDTRANSFER channel variable is deleted from a channel when it is
66    bridged to prevent subtle bugs in the parking feature.  The channel
67    variable is used by Asterisk internally for the Park application to work
68    properly.  If you were using it for your own purposes, copy it to your
69    own channel variable before the channel is bridged.
70
71 res_ais:
72  - Users of res_ais in versions of Asterisk prior to Asterisk 11 must change
73    to use the res_corosync module, instead.  OpenAIS is deprecated, but
74    Corosync is still actively developed and maintained.  Corosync came out of
75    the OpenAIS project.
76
77 Dialplan Functions:
78  - MAILBOX_EXISTS has been deprecated. Use VM_INFO with the 'exists' parameter
79    instead.
80  - Macro has been deprecated in favor of GoSub.  For redirecting and connected
81    line purposes use the following variables instead of their macro equivalents:
82    REDIRECTING_SEND_SUB, REDIRECTING_SEND_SUB_ARGS,
83    CONNECTED_LINE_SEND_SUB, CONNECTED_LINE_SEND_SUB_ARGS.
84  - The REDIRECTING function now supports the redirecting original party id
85    and reason.
86  - The HANGUPCAUSE and HANGUPCAUSE_KEYS functions have been introduced to
87    provide a replacement for the SIP_CAUSE hash. The HangupCauseClear
88    application has also been introduced to remove this data from the channel
89    when necessary.
90
91
92 func_enum:
93  - ENUM query functions now return a count of -1 on lookup error to
94    differentiate between a failed query and a successful query with 0 results
95    matching the specified type.
96
97 CDR:
98  - cdr_adaptive_odbc now supports specifying a schema so that Asterisk can
99    connect to databases that use schemas.
100
101 Configuration Files:
102  - Files listed below have been updated to be more consistent with how Asterisk
103    parses configuration files.  This makes configuration files more consistent
104    with what is expected across modules.
105
106    - cdr.conf: [general] and [csv] sections
107    - dnsmgr.conf
108    - dsp.conf
109
110  - The 'verbose' setting in logger.conf now takes an optional argument,
111    specifying the verbosity level for each logging destination.  The default,
112    if not otherwise specified, is a verbosity of 3.
113
114 AMI:
115   - DBDelTree now correctly returns an error when 0 rows are deleted just as
116     the DBDel action does.
117   - The IAX2 PeerStatus event now sends a 'Port' header.  In Asterisk 10, this was
118     erroneously being sent as a 'Post' header.
119
120 CCSS:
121  - Macro is deprecated. Use cc_callback_sub instead of cc_callback_macro
122    in channel configurations.
123
124 app_meetme:
125   - The 'c' option (announce user count) will now work even if the 'q' (quiet)
126     option is enabled.
127
128 app_followme:
129  - Answered outgoing calls no longer get cut off when the next step is started.
130    You now have until the last step times out to decide if you want to accept
131    the call or not before being disconnected.
132
133 chan_gtalk:
134  - chan_gtalk has been deprecated in favor of the chan_motif channel driver. It is recommended
135    that users switch to using it as it is a core supported module.
136
137 chan_jingle:
138  - chan_jingle has been deprecated in favor of the chan_motif channel driver. It is recommended
139    that users switch to using it as it is a core supported module.
140
141 SIP
142 ===
143  - A new option "tonezone" for setting default tonezone for the channel driver
144    or individual devices
145  - A new manager event, "SessionTimeout" has been added and is triggered when
146    a call is terminated due to RTP stream inactivity or SIP session timer
147    expiration.
148  - SIP_CAUSE is now deprecated.  It has been modified to use the same
149    mechanism as the HANGUPCAUSE function.  Behavior should not change, but
150    performance should be vastly improved.  The HANGUPCAUSE function should now
151    be used instead of SIP_CAUSE. Because of this, the storesipcause option in
152    sip.conf is also deprecated.
153  - The sip paramater for Originating Line Information (oli, isup-oli, and
154    ss7-oli) is now parsed out of the From header and copied into the channel's
155    ANI2 information field.  This is readable from the CALLERID(ani2) dialplan
156    function.
157  - ICE support has been added and is enabled by default. Some endpoints may have
158    problems with the ICE candidates within the SDP. If this is the case ICE support
159    can be disabled globally or on a per-endpoint basis using the icesupport
160    configuration option. Symptoms of this include one way media or no media flow.
161
162 chan_unistim
163  - Due to massive update in chan_unistim phone keys functions and on-screen 
164    information changed.
165
166 users.conf:
167  - A defined user with hasvoicemail=yes now finally uses a Gosub to stdexten
168    as documented in extensions.conf.sample since v1.6.0 instead of a Macro as
169    documented in v1.4.  Set the asterisk.conf stdexten=macro parameter to
170    invoke the stdexten the old way.
171
172 res_jabber
173  - This module has been deprecated in favor of the res_xmpp module. The res_xmpp
174    module is backwards compatible with the res_jabber configuration file, dialplan
175    functions, and AMI actions. The old CLI commands can also be made available using
176    the res_clialiases template for Asterisk 11.
177
178 From 1.8 to 10:
179
180 cel_pgsql:
181  - This module now expects an 'extra' column in the database for data added
182    using the CELGenUserEvent() application.
183
184 ConfBridge
185  - ConfBridge's dialplan arguments have changed and are not
186    backwards compatible.
187
188 File Interpreters
189  - The format interpreter formats/format_sln16.c for the file extension
190    '.sln16' has been removed. The '.sln16' file interpreter now exists
191    in the formats/format_sln.c module along with new support for sln12,
192    sln24, sln32, sln44, sln48, sln96, and sln192 file extensions.
193
194 HTTP:
195  - A bindaddr must be specified in order for the HTTP server
196    to run. Previous versions would default to 0.0.0.0 if no
197    bindaddr was specified.
198
199 Gtalk:
200  - The default value for 'context' and 'parkinglots' in gtalk.conf has
201    been changed to 'default', previously they were empty.
202
203 chan_dahdi:
204  - The mohinterpret=passthrough setting is deprecated in favor of
205    moh_signaling=notify.
206
207 pbx_lua:
208  - Execution no longer continues after applications that do dialplan jumps
209    (such as app.goto).  Now when an application such as app.goto() is called,
210    control is returned back to the pbx engine and the current extension
211    function stops executing.
212  - the autoservice now defaults to being on by default
213  - autoservice_start() and autoservice_start() no longer return a value.
214
215 Queue:
216  - Mark QUEUE_MEMBER_PENALTY Deprecated it never worked for realtime members
217  - QUEUE_MEMBER is now R/W supporting setting paused, ignorebusy and penalty.
218
219 Asterisk Database:
220  - The internal Asterisk database has been switched from Berkeley DB 1.86 to
221    SQLite 3. An existing Berkeley astdb file can be converted with the astdb2sqlite3
222    utility in the UTILS section of menuselect. If an existing astdb is found and no
223    astdb.sqlite3 exists, astdb2sqlite3 will be compiled automatically. Asterisk will
224    convert an existing astdb to the SQLite3 version automatically at runtime. If
225    moving back from Asterisk 10 to Asterisk 1.8, the astdb2bdb utility can be used
226    to create a Berkeley DB copy of the SQLite3 astdb that Asterisk 10 uses.
227
228 Manager:
229  - The AMI protocol version was incremented to 1.2 as a result of changing two
230    instances of the Unlink event to Bridge events. This change was documented
231    as part of the AMI 1.1 update, but two Unlink events were inadvertently left
232    unchanged.
233
234 Module Support Level
235  - All modules in the addons, apps, bridge, cdr, cel, channels, codecs, 
236    formats, funcs, pbx, and res have been updated to include MODULEINFO data
237    that includes <support_level> tags with a value of core, extended, or deprecated.
238    More information is available on the Asterisk wiki at 
239    https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States
240
241    Deprecated modules are now marked to not build by default and must be explicitly
242    enabled in menuselect.
243
244 chan_sip:
245  - Setting of HASH(SIP_CAUSE,<slave-channel-name>) on channels is now disabled
246    by default. It can be enabled using the 'storesipcause' option. This feature
247    has a significant performance penalty.
248
249 UDPTL:
250  - The default UDPTL port range in udptl.conf.sample differed from the defaults
251    in the source. If you didn't have a config file, you got 4500 to 4599. Now the
252    default is 4000 to 4999.
253
254 ===========================================================
255 ===========================================================