1 ===========================================================
3 === Information for upgrading between Asterisk versions
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.
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 === UPGRADE-12.txt -- Upgrade info for 11 to 12
22 ===========================================================
26 - The asterisk command line -I option and the asterisk.conf internal_timing
27 option are removed and always enabled if any timing module is loaded.
29 - The per console verbose level feature as previously implemented caused a
30 large performance penalty. The fix required some minor incompatibilities
31 if the new rasterisk is used to connect to an earlier version. If the new
32 rasterisk connects to an older Asterisk version then the root console verbose
33 level is always affected by the "core set verbose" command of the remote
34 console even though it may appear to only affect the current console. If
35 an older version of rasterisk connects to the new version then the
36 "core set verbose" command will have no effect.
38 - Added a new Compiler Flag, REF_DEBUG. When enabled, reference counted
39 objects will emit additional debug information to the refs log file located
40 in the standard Asterisk log file directory. This log file is useful in
41 tracking down object leaks and other reference counting issues. Prior to
42 this version, this option was only available by modifying the source code
43 directly. This change also includes a new script, refcounter.py, in the
44 contrib folder that will process the refs log file.
47 - The ARI version has been changed from 1.0.0 to 1.1.0. This is to reflect
48 the backwards compatible changes listed below.
50 - Added a new ARI resource 'mailboxes' which allows the creation and
51 modification of mailboxes managed by external MWI. Modules res_mwi_external
52 and res_stasis_mailbox must be enabled to use this resource.
54 - Added new events for externally initiated transfers. The event
55 BridgeBlindTransfer is now raised when a channel initiates a blind transfer
56 of a bridge in the ARI controlled application to the dialplan; the
57 BridgeAttendedTransfer event is raised when a channel initiates an
58 attended transfer of a bridge in the ARI controlled application to the
61 - Channel variables may now be specified as a body parameter to the
62 POST /channels operation. The 'variables' key in the JSON is interpreted
63 as a sequence of key/value pairs that will be added to the created channel
64 as channel variables. Other parameters in the JSON body are treated as
65 query parameters of the same name.
67 - A bug fix in bridge creation has caused a behavioural change in how
68 subscriptions are created for bridges. A bridge created through ARI, does
69 not, by itself, have a subscription created for any particular Stasis
70 application. When a channel in a Stasis application joins a bridge, an
71 implicit event subscription is created for that bridge as well. Previously,
72 when a channel left such a bridge, the subscription was leaked; this allowed
73 for later bridge events to continue to be pushed to the subscribed
74 applications. That leak has been fixed; as a result, bridge events that were
75 delivered after a channel left the bridge are no longer delivered. An
76 application must subscribe to a bridge through the applications resource if
77 it wishes to receive all events related to a bridge.
80 - The AMI version has been changed from 2.0.0 to 2.1.0. This is to reflect
81 the backwards compatible changes listed below.
83 - The DialStatus field in the DialEnd event can now have additional values.
84 This includes ABORT, CONTINUE, and GOTO.
86 - The res_mwi_external_ami module can, if loaded, provide additional AMI
87 actions and events that convey MWI state within Asterisk. This includes
88 the MWIGet, MWIUpdate, and MWIDelete actions, as well as the MWIGet and
89 MWIGetComplete events that occur in response to an MWIGet action.
91 - AMI now contains a new class authorization, 'security'. This is used with
92 the following new events: FailedACL, InvalidAccountID, SessionLimit,
93 MemoryLimit, LoadAverageLimit, RequestNotAllowed, AuthMethodNotAllowed,
94 RequestBadFormat, SuccessfulAuth, UnexpectedAddress, ChallengeResponseFailed,
95 InvalidPassword, ChallengeSent, and InvalidTransport.
97 - Bridge related events now have two additional fields: BridgeName and
98 BridgeCreator. BridgeName is a descriptive name for the bridge;
99 BridgeCreator is the name of the entity that created the bridge. This
100 affects the following events: ConfbridgeStart, ConfbridgeEnd,
101 ConfbridgeJoin, ConfbridgeLeave, ConfbridgeRecord, ConfbridgeStopRecord,
102 ConfbridgeMute, ConfbridgeUnmute, ConfbridgeTalking, BlindTransfer,
103 AttendedTransfer, BridgeCreate, BridgeDestroy, BridgeEnter, BridgeLeave
105 - MixMonitor AMI actions now require users to have authorization classes.
106 * MixMonitor - system
107 * MixMonitorMute - call or system
108 * StopMixMonitor - call or system
110 - Removed the undocumented manager.conf block-sockets option. It interferes with
111 TCP/TLS inactivity timeouts.
114 - The "endbeforehexten" setting now defaults to "yes", instead of "no".
115 When set to "no", yhis setting will cause a new CDR to be generated when a
116 channel enters into hangup logic (either the 'h' extension or a hangup
117 handler subroutine). In general, this is not the preferred default: this
118 causes extra CDRs to be generated for a channel in many common dialplans.
121 - Made set SIPREFERREDBYHDR as inheritable for better chan_pjsip
125 - "core show settings" now lists the current console verbosity in addition
126 to the root console verbosity.
128 - "core set verbose" has not been able to support the by module verbose
129 logging levels since verbose logging levels were made per console. That
130 syntax is now removed and a silence option added in its place.
133 - The sound_place_into_conference sound used in Confbridge is now deprecated
134 and is no longer functional since it has been broken since its inception
135 and the fix involved using a different method to achieve the same goal. The
136 new method to achieve this functionality is by using sound_begin to play
137 a sound to the conference when waitmarked users are moved into the conference.
141 - The 'verbose' setting in logger.conf still takes an optional argument,
142 specifying the verbosity level for each logging destination. However,
143 the default is now to once again follow the current root console level.
144 As a result, using the AMI Command action with "core set verbose" could
145 again set the root console verbose level and affect the verbose level
148 - The manager.conf 'eventfilter' now takes an "extended" regular expression
149 instead of a "basic" one.
151 - The unistim.conf 'dateformat' has changed meaning of options values to conform
152 values used inside Unistim protocol
155 - Added http.conf session_inactivity timer option to close HTTP connections
156 that aren't doing anything.
159 - The compatibility setting, allow_empty_string_in_nontext, has been removed.
160 Empty column values will be stored as empty strings during realtime updates.
162 Realtime Configuration:
163 - WARNING: The database migration script that adds the 'extensions' table for
164 realtime had to be modified due to an error when installing for MySQL. The
165 'extensions' table's 'id' column was changed to be a primary key. This could
166 potentially cause a migration problem. If so, it may be necessary to
167 manually alter the affected table/column to bring it back in line with the
170 - New columns have been added to realtime tables for 'support_path' on
171 ps_registrations and ps_aors and for 'path' on ps_contacts for the new
172 SIP Path support in chan_pjsip.
174 - The following new tables have been added for pjsip realtime: 'ps_systems',
175 'ps_globals', 'ps_tranports', 'ps_registrations'.
177 - The following columns were added to the 'ps_aors' realtime table:
178 'maximum_expiration', 'outbound_proxy', and 'support_path'.
180 - The following columns were added to the 'ps_contacts' realtime table:
181 'outbound_proxy', 'user_agent', and 'path'.
183 - New columns have been added to the ps_endpoints realtime table for the
184 'media_address', 'redirect_method' and 'set_var' options. Also the
185 'mwi_fromuser' column was renamed to 'mwi_from_user'. A new column
186 'message_context' was added to let users configure how MESSAGE requests are
187 routed to the dialplan.
189 - A new column was added to the 'ps_globals' realtime table for the 'debug'
192 - PJSIP endpoint columns 'tos_audio' and 'tos_video' have been changed from
193 yes/no enumerators to string values. 'cos_audio' and 'cos_video' have been
194 changed from yes/no enumerators to integer values. PJSIP transport column
195 'tos' has been changed from a yes/no enumerator to a string value. 'cos' has
196 been changed from a yes/no enumerator to an integer value.
198 - The 'queues' and 'queue_members' realtime tables have been added to the
199 config Alembic scripts.
201 - A new set of Alembic scripts has been added for CDR tables. This will create
202 a 'cdr' table with the default schema that Asterisk expects.
205 - The safe_asterisk script was previously not installed on top of an existing
206 version. This caused bug-fixes in that script not to be deployed. If your
207 safe_asterisk script is customized, be sure to keep your changes. Custom
208 values for variables should be created in *.sh file(s) inside
209 ASTETCDIR/startup.d/. See ASTERISK-21965.
211 - Changed a log message in safe_asterisk and the $NOTIFY mail subject. If
212 you use tools to parse either of them, update your parse functions
213 accordingly. The changed strings are:
214 - "Exited on signal $EXITSIGNAL" => "Asterisk exited on signal $EXITSIGNAL."
215 - "Asterisk Died" => "Asterisk on $MACHINE died (sig $EXITSIGNAL)"
218 - Added 'dtmf_duration' option with changing default operation to disable
219 receivied dtmf playback on unistim phone
222 - The refcounter program has been removed in favor of the refcounter.py script
225 ===========================================================
226 ===========================================================