Reimplement bridging and DTMF features related channel variables in the bridging...
[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
25 AMI:
26  - The SIP SIPqualifypeer action now sends a response indicating it will qualify
27    a peer once a peer has been found to qualify.  Once the qualify has been
28    completed it will now issue a SIPqualifypeerdone event.
29  - Version 1.4 - The details of what happens to a channel when a masquerade
30    happens (transfers, parking, etc) have changed.
31    - The Masquerade event now includes the Uniqueid's of the clone and original
32      channels.
33    - Channels no longer swap Uniqueid's as a result of the masquerade.
34    - Instead of a shell game of renames, there's now a single rename, appending
35      <ZOMBIE> to the name of the original channel.
36
37 CEL:
38  - The Uniqueid field for a channel is now a stable identifier, and will not
39    change due to transfers, parking, etc.
40
41 Core:
42  - The following channel variables have changed behavior which is described in
43    the CHANGES file: TRANSFER_CONTEXT, BRIDGEPEER, BRIDGEPVTCALLID,
44    ATTENDED_TRANSFER_COMPLETE_SOUND, DYNAMIC_FEATURENAME, and DYNAMIC_PEERNAME.
45
46 Queues:
47  - Queue logging for PAUSEALL/UNPAUSEALL now only occurs if the interface this is
48    performed on is a member of at least one queue.
49  - Queue strategy rrmemory now has a predictable order similar to strategy
50    rrordered. Members will be called in the order that they are added to the
51    queue.
52  - CDR behavior in app_queue has been modified slightly.  The CDR record will
53    now only record a disposition of BUSY if all Queue members were actually
54    busy on a call or some Queue members were busy or paused.  Previously, any
55    Queue member being paused would result in a disposition of BUSY.
56  - Removed the queues.conf check_state_unknown option.  It is no longer
57    necessary.
58
59 Dial:
60  - Now recognizes 'W' to pause sending DTMF for one second in addition to
61    the previously existing 'w' that paused sending DTMF for half a second.
62
63 ExternalIVR:
64  - Now recognizes 'W' to pause sending DTMF for one second in addition to
65    the previously existing 'w' that paused sending DTMF for half a second.
66
67 SendDTMF:
68  - Now recognizes 'W' to pause sending DTMF for one second in addition to
69    the previously existing 'w' that paused sending DTMF for half a second.
70
71 chan_dahdi:
72  - Analog port dialing and deferred DTMF dialing for PRI now distinguishes
73    between 'w' and 'W'.  The 'w' pauses dialing for half a second.  The 'W'
74    pauses dialing for one second.
75  - The default for inband_on_proceeding has changed to no.
76
77 chan_local:
78  - The /b option is removed.
79
80 Dialplan:
81  - All channel and global variable names are evaluated in a case-sensitive manner.
82    In previous versions of Asterisk, variables created and evaluated in the
83    dialplan were evaluated case-insensitively, but built-in variables and variable
84    evaluation done internally within Asterisk was done case-sensitively.
85  - Asterisk has always had code to ignore dash '-' characters that are not
86    part of a character set in the dialplan extensions.  The code now
87    consistently ignores these characters when matching dialplan extensions.
88  - BRIDGE_FEATURES channel variable is now casesensitive for feature letter codes.
89    Uppercase variants apply them to the calling party while lowercase variants
90    apply them to the called party.
91
92 Features:
93  - The features.conf [applicationmap] <FeatureName>  ActivatedBy option is
94    no longer honored.  The feature is always activated by the channel that has
95    DYNAMIC_FEATURES defined on it when it enters the bridge.  Use predial to set
96    different values of DYNAMIC_FEATURES on the channels
97
98  - Executing a dynamic feature on the bridge peer in a multi-party bridge will
99    execute it on all peers of the activating channel.
100
101 Parking:
102  - The arguments for the Park, ParkedCall, and ParkAndAnnounce applications have
103    been modified significantly. See the application documents for specific details.
104    Also parking lot configuration is now done in res_parking.conf instead of
105    features.conf
106
107 From 10 to 11:
108
109 Voicemail:
110  - All voicemails now have a "msg_id" which uniquely identifies a message. For
111    users of filesystem and IMAP storage of voicemail, this should be transparent.
112    For users of ODBC, you will need to add a "msg_id" column to your voice mail
113    messages table. This should be a string capable of holding at least 32 characters.
114    All messages created in old Asterisk installations will have a msg_id added to
115    them when required. This operation should be transparent as well.
116
117 Parking:
118  - The comebacktoorigin setting must now be set per parking lot. The setting in
119    the general section will not be applied automatically to each parking lot.
120  - The BLINDTRANSFER channel variable is deleted from a channel when it is
121    bridged to prevent subtle bugs in the parking feature.  The channel
122    variable is used by Asterisk internally for the Park application to work
123    properly.  If you were using it for your own purposes, copy it to your
124    own channel variable before the channel is bridged.
125
126 res_ais:
127  - Users of res_ais in versions of Asterisk prior to Asterisk 11 must change
128    to use the res_corosync module, instead.  OpenAIS is deprecated, but
129    Corosync is still actively developed and maintained.  Corosync came out of
130    the OpenAIS project.
131
132 Dialplan Functions:
133  - MAILBOX_EXISTS has been deprecated. Use VM_INFO with the 'exists' parameter
134    instead.
135  - Macro has been deprecated in favor of GoSub.  For redirecting and connected
136    line purposes use the following variables instead of their macro equivalents:
137    REDIRECTING_SEND_SUB, REDIRECTING_SEND_SUB_ARGS,
138    CONNECTED_LINE_SEND_SUB, CONNECTED_LINE_SEND_SUB_ARGS.
139  - The REDIRECTING function now supports the redirecting original party id
140    and reason.
141  - The HANGUPCAUSE and HANGUPCAUSE_KEYS functions have been introduced to
142    provide a replacement for the SIP_CAUSE hash. The HangupCauseClear
143    application has also been introduced to remove this data from the channel
144    when necessary.
145
146
147 func_enum:
148  - ENUM query functions now return a count of -1 on lookup error to
149    differentiate between a failed query and a successful query with 0 results
150    matching the specified type.
151
152 CDR:
153  - cdr_adaptive_odbc now supports specifying a schema so that Asterisk can
154    connect to databases that use schemas.
155
156 Configuration Files:
157  - Files listed below have been updated to be more consistent with how Asterisk
158    parses configuration files.  This makes configuration files more consistent
159    with what is expected across modules.
160
161    - cdr.conf: [general] and [csv] sections
162    - dnsmgr.conf
163    - dsp.conf
164
165  - The 'verbose' setting in logger.conf now takes an optional argument,
166    specifying the verbosity level for each logging destination.  The default,
167    if not otherwise specified, is a verbosity of 3.
168
169 AMI:
170   - DBDelTree now correctly returns an error when 0 rows are deleted just as
171     the DBDel action does.
172   - The IAX2 PeerStatus event now sends a 'Port' header.  In Asterisk 10, this was
173     erroneously being sent as a 'Post' header.
174
175 CCSS:
176  - Macro is deprecated. Use cc_callback_sub instead of cc_callback_macro
177    in channel configurations.
178
179 app_meetme:
180   - The 'c' option (announce user count) will now work even if the 'q' (quiet)
181     option is enabled.
182
183 app_followme:
184  - Answered outgoing calls no longer get cut off when the next step is started.
185    You now have until the last step times out to decide if you want to accept
186    the call or not before being disconnected.
187
188 chan_gtalk:
189  - chan_gtalk has been deprecated in favor of the chan_motif channel driver. It is recommended
190    that users switch to using it as it is a core supported module.
191
192 chan_jingle:
193  - chan_jingle has been deprecated in favor of the chan_motif channel driver. It is recommended
194    that users switch to using it as it is a core supported module.
195
196 SIP
197 ===
198  - A new option "tonezone" for setting default tonezone for the channel driver
199    or individual devices
200  - A new manager event, "SessionTimeout" has been added and is triggered when
201    a call is terminated due to RTP stream inactivity or SIP session timer
202    expiration.
203  - SIP_CAUSE is now deprecated.  It has been modified to use the same
204    mechanism as the HANGUPCAUSE function.  Behavior should not change, but
205    performance should be vastly improved.  The HANGUPCAUSE function should now
206    be used instead of SIP_CAUSE. Because of this, the storesipcause option in
207    sip.conf is also deprecated.
208  - The sip paramater for Originating Line Information (oli, isup-oli, and
209    ss7-oli) is now parsed out of the From header and copied into the channel's
210    ANI2 information field.  This is readable from the CALLERID(ani2) dialplan
211    function.
212  - ICE support has been added and is enabled by default. Some endpoints may have
213    problems with the ICE candidates within the SDP. If this is the case ICE support
214    can be disabled globally or on a per-endpoint basis using the icesupport
215    configuration option. Symptoms of this include one way media or no media flow.
216
217 chan_unistim
218  - Due to massive update in chan_unistim phone keys functions and on-screen
219    information changed.
220
221 users.conf:
222  - A defined user with hasvoicemail=yes now finally uses a Gosub to stdexten
223    as documented in extensions.conf.sample since v1.6.0 instead of a Macro as
224    documented in v1.4.  Set the asterisk.conf stdexten=macro parameter to
225    invoke the stdexten the old way.
226
227 res_jabber
228  - This module has been deprecated in favor of the res_xmpp module. The res_xmpp
229    module is backwards compatible with the res_jabber configuration file, dialplan
230    functions, and AMI actions. The old CLI commands can also be made available using
231    the res_clialiases template for Asterisk 11.
232
233 From 1.8 to 10:
234
235 cel_pgsql:
236  - This module now expects an 'extra' column in the database for data added
237    using the CELGenUserEvent() application.
238
239 ConfBridge
240  - ConfBridge's dialplan arguments have changed and are not
241    backwards compatible.
242
243 File Interpreters
244  - The format interpreter formats/format_sln16.c for the file extension
245    '.sln16' has been removed. The '.sln16' file interpreter now exists
246    in the formats/format_sln.c module along with new support for sln12,
247    sln24, sln32, sln44, sln48, sln96, and sln192 file extensions.
248
249 HTTP:
250  - A bindaddr must be specified in order for the HTTP server
251    to run. Previous versions would default to 0.0.0.0 if no
252    bindaddr was specified.
253
254 Gtalk:
255  - The default value for 'context' and 'parkinglots' in gtalk.conf has
256    been changed to 'default', previously they were empty.
257
258 chan_dahdi:
259  - The mohinterpret=passthrough setting is deprecated in favor of
260    moh_signaling=notify.
261
262 pbx_lua:
263  - Execution no longer continues after applications that do dialplan jumps
264    (such as app.goto).  Now when an application such as app.goto() is called,
265    control is returned back to the pbx engine and the current extension
266    function stops executing.
267  - the autoservice now defaults to being on by default
268  - autoservice_start() and autoservice_start() no longer return a value.
269
270 Queue:
271  - Mark QUEUE_MEMBER_PENALTY Deprecated it never worked for realtime members
272  - QUEUE_MEMBER is now R/W supporting setting paused, ignorebusy and penalty.
273
274 Asterisk Database:
275  - The internal Asterisk database has been switched from Berkeley DB 1.86 to
276    SQLite 3. An existing Berkeley astdb file can be converted with the astdb2sqlite3
277    utility in the UTILS section of menuselect. If an existing astdb is found and no
278    astdb.sqlite3 exists, astdb2sqlite3 will be compiled automatically. Asterisk will
279    convert an existing astdb to the SQLite3 version automatically at runtime. If
280    moving back from Asterisk 10 to Asterisk 1.8, the astdb2bdb utility can be used
281    to create a Berkeley DB copy of the SQLite3 astdb that Asterisk 10 uses.
282
283 Manager:
284  - The AMI protocol version was incremented to 1.2 as a result of changing two
285    instances of the Unlink event to Bridge events. This change was documented
286    as part of the AMI 1.1 update, but two Unlink events were inadvertently left
287    unchanged.
288
289 Module Support Level
290  - All modules in the addons, apps, bridge, cdr, cel, channels, codecs,
291    formats, funcs, pbx, and res have been updated to include MODULEINFO data
292    that includes <support_level> tags with a value of core, extended, or deprecated.
293    More information is available on the Asterisk wiki at
294    https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States
295
296    Deprecated modules are now marked to not build by default and must be explicitly
297    enabled in menuselect.
298
299 chan_sip:
300  - Setting of HASH(SIP_CAUSE,<slave-channel-name>) on channels is now disabled
301    by default. It can be enabled using the 'storesipcause' option. This feature
302    has a significant performance penalty.
303  - In order to improve compliance with RFC 3261, SIP usernames are now properly
304    escaped when encoding reserved characters. Prior to this change, the use of
305    these characters in certain SIP settings affecting usernames could cause
306    injections of these characters in their raw form into SIP headers which could
307    in turn cause all sorts of nasty behaviors. All characters that are not
308    alphanumeric or are not contained in the the following lists specified by
309    RFC 3261 section 25.1 will be escaped as %XX when encoding a SIP username:
310     * mark: "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")"
311     * user-unreserved: "&" / "=" / "+" / "$" / "," / ";" / "?" / "/"
312
313 UDPTL:
314  - The default UDPTL port range in udptl.conf.sample differed from the defaults
315    in the source. If you didn't have a config file, you got 4500 to 4599. Now the
316    default is 4000 to 4999.
317
318 ===========================================================
319 ===========================================================