Update API versions and UPGRADE/CHANGES for 12.2.0
[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 === UPGRADE-12.txt  -- Upgrade info for 11 to 12
22 ===========================================================
23
24 From 12 to 13:
25
26 - The per console verbose level feature as previously implemented caused a
27   large performance penalty.  The fix required some minor incompatibilities
28   if the new rasterisk is used to connect to an earlier version.  If the new
29   rasterisk connects to an older Asterisk version then the root console verbose
30   level is always affected by the "core set verbose" command of the remote
31   console even though it may appear to only affect the current console.  If
32   an older version of rasterisk connects to the new version then the
33   "core set verbose" command will have no effect.
34
35 ARI:
36  - The ARI version has been changed from 1.0.0 to 1.1.0. This is to reflect
37    the backwards compatible changes listed below.
38
39  - Added a new ARI resource 'mailboxes' which allows the creation and
40    modification of mailboxes managed by external MWI. Modules res_mwi_external
41    and res_stasis_mailbox must be enabled to use this resource.
42
43  - Added new events for externally initiated transfers. The event
44    BridgeBlindTransfer is now raised when a channel initiates a blind transfer
45    of a bridge in the ARI controlled application to the dialplan; the
46    BridgeAttendedTransfer event is raised when a channel initiates an
47    attended transfer of a bridge in the ARI controlled application to the
48    dialplan.
49
50  - Channel variables may now be specified as a body parameter to the
51    POST /channels operation. The 'variables' key in the JSON is interpreted
52    as a sequence of key/value pairs that will be added to the created channel
53    as channel variables. Other parameters in the JSON body are treated as
54    query parameters of the same name.
55
56  - A bug fix in bridge creation has caused a behavioural change in how
57    subscriptions are created for bridges. A bridge created through ARI, does
58    not, by itself, have a subscription created for any particular Stasis
59    application. When a channel in a Stasis application joins a bridge, an
60    implicit event subscription is created for that bridge as well. Previously,
61    when a channel left such a bridge, the subscription was leaked; this allowed
62    for later bridge events to continue to be pushed to the subscribed
63    applications. That leak has been fixed; as a result, bridge events that were
64    delivered after a channel left the bridge are no longer delivered. An
65    application must subscribe to a bridge through the applications resource if
66    it wishes to receive all events related to a bridge.
67
68 AMI:
69  - The AMI version has been changed from 2.0.0 to 2.1.0. This is to reflect
70    the backwards compatible changes listed below.
71
72  - The DialStatus field in the DialEnd event can now have additional values.
73    This includes ABORT, CONTINUE, and GOTO.
74
75  - The res_mwi_external_ami module can, if loaded, provide additional AMI
76    actions and events that convey MWI state within Asterisk. This includes
77    the MWIGet, MWIUpdate, and MWIDelete actions, as well as the MWIGet and
78    MWIGetComplete events that occur in response to an MWIGet action.
79
80  - AMI now contains a new class authorization, 'security'. This is used with
81    the following new events: FailedACL, InvalidAccountID, SessionLimit,
82    MemoryLimit, LoadAverageLimit, RequestNotAllowed, AuthMethodNotAllowed,
83    RequestBadFormat, SuccessfulAuth, UnexpectedAddress, ChallengeResponseFailed,
84    InvalidPassword, ChallengeSent, and InvalidTransport.
85
86  - Bridge related events now have two additional fields: BridgeName and
87    BridgeCreator. BridgeName is a descriptive name for the bridge;
88    BridgeCreator is the name of the entity that created the bridge. This
89    affects the following events: ConfbridgeStart, ConfbridgeEnd,
90    ConfbridgeJoin, ConfbridgeLeave, ConfbridgeRecord, ConfbridgeStopRecord,
91    ConfbridgeMute, ConfbridgeUnmute, ConfbridgeTalking, BlindTransfer,
92    AttendedTransfer, BridgeCreate, BridgeDestroy, BridgeEnter, BridgeLeave
93
94 CDRs:
95  - The "endbeforehexten" setting now defaults to "yes", instead of "no".
96    When set to "no", yhis setting will cause a new CDR to be generated when a
97    channel enters into hangup logic (either the 'h' extension or a hangup
98    handler subroutine). In general, this is not the preferred default: this
99    causes extra CDRs to be generated for a channel in many common dialplans.
100
101 CLI commands:
102  - "core show settings" now lists the current console verbosity in addition
103    to the root console verbosity.
104
105  - "core set verbose" has not been able to support the by module verbose
106    logging levels since verbose logging levels were made per console.  That
107    syntax is now removed and a silence option added in its place.
108
109 ConfBridge:
110 - The sound_place_into_conference sound used in Confbridge is now deprecated
111   and is no longer functional since it has been broken since its inception
112   and the fix involved using a different method to achieve the same goal. The
113   new method to achieve this functionality is by using sound_begin to play
114   a sound to the conference when waitmarked users are moved into the conference.
115
116
117 Configuration Files:
118  - The 'verbose' setting in logger.conf still takes an optional argument,
119    specifying the verbosity level for each logging destination.  However,
120    the default is now to once again follow the current root console level.
121    As a result, using the AMI Command action with "core set verbose" could
122    again set the root console verbose level and affect the verbose level
123    logged.
124
125  - The manager.conf 'eventfilter' now takes an "extended" regular expression
126    instead of a "basic" one.
127
128 ODBC:
129 - The compatibility setting, allow_empty_string_in_nontext, has been removed.
130   Empty column values will be stored as empty strings during realtime updates.
131
132 Realtime Configuration:
133  - WARNING: The database migration script that adds the 'extensions' table for
134    realtime had to be modified due to an error when installing for MySQL.  The
135    'extensions' table's 'id' column was changed to be a primary key.  This could
136    potentially cause a migration problem.  If so, it may be necessary to
137    manually alter the affected table/column to bring it back in line with the
138    migration scripts.
139
140  - New columns have been added to realtime tables for 'support_path' on
141    ps_registrations and ps_aors and for 'path' on ps_contacts for the new
142    SIP Path support in chan_pjsip.
143
144  - The following new tables have been added for pjsip realtime: 'ps_systems',
145    'ps_globals', 'ps_tranports', 'ps_registrations'.
146
147  - The following columns were added to the 'ps_aors' realtime table:
148    'maximum_expiration', 'outbound_proxy', and 'support_path'.
149
150  - The following columns were added to the 'ps_contacts' realtime table:
151    'outbound_proxy', 'user_agent', and 'path'.
152
153  - New columns have been added to the ps_endpoints realtime table for the
154    'media_address', 'redirect_method' and 'set_var' options.  Also the
155    'mwi_fromuser' column was renamed to 'mwi_from_user'. A new column
156    'message_context' was added to let users configure how MESSAGE requests are
157    routed to the dialplan.
158
159  - A new column was added to the 'ps_globals' realtime table for the 'debug'
160    option.
161
162  - PJSIP endpoint columns 'tos_audio' and 'tos_video' have been changed from
163    yes/no enumerators to string values. 'cos_audio' and 'cos_video' have been
164    changed from yes/no enumerators to integer values. PJSIP transport column
165    'tos' has been changed from a yes/no enumerator to a string value. 'cos' has
166    been changed from a yes/no enumerator to an integer value.
167
168  - The 'queues' and 'queue_members' realtime tables have been added to the
169    config Alembic scripts.
170
171  - A new set of Alembic scripts has been added for CDR tables. This will create
172    a 'cdr' table with the default schema that Asterisk expects.
173
174 ===========================================================
175 ===========================================================