mirror of https://github.com/asterisk/asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@420497 65c4cc65-6c06-0410-ace0-fbb531ad65f3changes/42/42/1
parent
a1424a2f1a
commit
5760526f69
@ -0,0 +1,372 @@
|
||||
===========================================================
|
||||
===
|
||||
=== Information for upgrading between Asterisk versions
|
||||
===
|
||||
=== These files document all the changes that MUST be taken
|
||||
=== into account when upgrading between the Asterisk
|
||||
=== versions listed below. These changes may require that
|
||||
=== you modify your configuration files, dialplan or (in
|
||||
=== some cases) source code if you have your own Asterisk
|
||||
=== modules or patches. These files also include advance
|
||||
=== notice of any functionality that has been marked as
|
||||
=== 'deprecated' and may be removed in a future release,
|
||||
=== along with the suggested replacement functionality.
|
||||
===
|
||||
=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
|
||||
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
|
||||
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
|
||||
=== UPGRADE-1.8.txt -- Upgrade info for 1.6 to 1.8
|
||||
=== UPGRADE-10.txt -- Upgrade info for 1.8 to 10
|
||||
=== UPGRADE-11.txt -- Upgrade info for 10 to 11
|
||||
=== UPGRADE-12.txt -- Upgrade info for 11 to 12
|
||||
===========================================================
|
||||
|
||||
From 12 to 13:
|
||||
|
||||
- Sample config files have been moved from configs/ to a subfolder of that
|
||||
directory, 'samples'.
|
||||
|
||||
- The menuselect utility has been pulled into the Asterisk repository. As a
|
||||
result, the libxml2 development library is now a required dependency for
|
||||
Asterisk.
|
||||
|
||||
- The asterisk command line -I option and the asterisk.conf internal_timing
|
||||
option are removed and always enabled if any timing module is loaded.
|
||||
|
||||
- The per console verbose level feature as previously implemented caused a
|
||||
large performance penalty. The fix required some minor incompatibilities
|
||||
if the new rasterisk is used to connect to an earlier version. If the new
|
||||
rasterisk connects to an older Asterisk version then the root console verbose
|
||||
level is always affected by the "core set verbose" command of the remote
|
||||
console even though it may appear to only affect the current console. If
|
||||
an older version of rasterisk connects to the new version then the
|
||||
"core set verbose" command will have no effect.
|
||||
|
||||
- Added a new Compiler Flag, REF_DEBUG. When enabled, reference counted
|
||||
objects will emit additional debug information to the refs log file located
|
||||
in the standard Asterisk log file directory. This log file is useful in
|
||||
tracking down object leaks and other reference counting issues. Prior to
|
||||
this version, this option was only available by modifying the source code
|
||||
directly. This change also includes a new script, refcounter.py, in the
|
||||
contrib folder that will process the refs log file.
|
||||
|
||||
- The asterisk compatibility options in asterisk.conf have been removed.
|
||||
These options enabled certain backwards compatibility features for
|
||||
pbx_realtime, res_agi, and app_set that made their behaviour similar to
|
||||
Asterisk 1.4. Users who used these backwards compatibility settings should
|
||||
update their dialplans to use ',' instead of '|' as a delimiter, and should
|
||||
use the Set dialplan application instead of the MSet dialplan application.
|
||||
|
||||
accountcode:
|
||||
- Accountcode behavior changed somewhat to add functional peeraccount
|
||||
support. The main change is that local channels now cross accountcode
|
||||
and peeraccount across the special bridge between the ;1 and ;2 channels
|
||||
just like channels between normal bridges. See the CHANGES file for
|
||||
more information.
|
||||
|
||||
ARI:
|
||||
- The ARI version has been changed from 1.0.0 to 1.1.0. This is to reflect
|
||||
the backwards compatible changes listed below.
|
||||
|
||||
- Added a new ARI resource 'mailboxes' which allows the creation and
|
||||
modification of mailboxes managed by external MWI. Modules res_mwi_external
|
||||
and res_stasis_mailbox must be enabled to use this resource.
|
||||
|
||||
- Added new events for externally initiated transfers. The event
|
||||
BridgeBlindTransfer is now raised when a channel initiates a blind transfer
|
||||
of a bridge in the ARI controlled application to the dialplan; the
|
||||
BridgeAttendedTransfer event is raised when a channel initiates an
|
||||
attended transfer of a bridge in the ARI controlled application to the
|
||||
dialplan.
|
||||
|
||||
- Channel variables may now be specified as a body parameter to the
|
||||
POST /channels operation. The 'variables' key in the JSON is interpreted
|
||||
as a sequence of key/value pairs that will be added to the created channel
|
||||
as channel variables. Other parameters in the JSON body are treated as
|
||||
query parameters of the same name.
|
||||
|
||||
- A bug fix in bridge creation has caused a behavioural change in how
|
||||
subscriptions are created for bridges. A bridge created through ARI, does
|
||||
not, by itself, have a subscription created for any particular Stasis
|
||||
application. When a channel in a Stasis application joins a bridge, an
|
||||
implicit event subscription is created for that bridge as well. Previously,
|
||||
when a channel left such a bridge, the subscription was leaked; this allowed
|
||||
for later bridge events to continue to be pushed to the subscribed
|
||||
applications. That leak has been fixed; as a result, bridge events that were
|
||||
delivered after a channel left the bridge are no longer delivered. An
|
||||
application must subscribe to a bridge through the applications resource if
|
||||
it wishes to receive all events related to a bridge.
|
||||
|
||||
AMI:
|
||||
- The AMI version has been changed from 2.0.0 to 2.1.0. This is to reflect
|
||||
the backwards compatible changes listed below.
|
||||
|
||||
- The DialStatus field in the DialEnd event can now have additional values.
|
||||
This includes ABORT, CONTINUE, and GOTO.
|
||||
|
||||
- The res_mwi_external_ami module can, if loaded, provide additional AMI
|
||||
actions and events that convey MWI state within Asterisk. This includes
|
||||
the MWIGet, MWIUpdate, and MWIDelete actions, as well as the MWIGet and
|
||||
MWIGetComplete events that occur in response to an MWIGet action.
|
||||
|
||||
- AMI now contains a new class authorization, 'security'. This is used with
|
||||
the following new events: FailedACL, InvalidAccountID, SessionLimit,
|
||||
MemoryLimit, LoadAverageLimit, RequestNotAllowed, AuthMethodNotAllowed,
|
||||
RequestBadFormat, SuccessfulAuth, UnexpectedAddress, ChallengeResponseFailed,
|
||||
InvalidPassword, ChallengeSent, and InvalidTransport.
|
||||
|
||||
- Bridge related events now have two additional fields: BridgeName and
|
||||
BridgeCreator. BridgeName is a descriptive name for the bridge;
|
||||
BridgeCreator is the name of the entity that created the bridge. This
|
||||
affects the following events: ConfbridgeStart, ConfbridgeEnd,
|
||||
ConfbridgeJoin, ConfbridgeLeave, ConfbridgeRecord, ConfbridgeStopRecord,
|
||||
ConfbridgeMute, ConfbridgeUnmute, ConfbridgeTalking, BlindTransfer,
|
||||
AttendedTransfer, BridgeCreate, BridgeDestroy, BridgeEnter, BridgeLeave
|
||||
|
||||
- MixMonitor AMI actions now require users to have authorization classes.
|
||||
* MixMonitor - system
|
||||
* MixMonitorMute - call or system
|
||||
* StopMixMonitor - call or system
|
||||
|
||||
- Removed the undocumented manager.conf block-sockets option. It interferes with
|
||||
TCP/TLS inactivity timeouts.
|
||||
|
||||
- The response to the PresenceState AMI action has historically contained two
|
||||
Message keys. The first of these is used as an informative message regarding
|
||||
the success/failure of the action; the second contains a Presence state
|
||||
specific message. Having two keys with the same unique name in an AMI
|
||||
message is cumbersome for some client; hence, the Presence specific Message
|
||||
has been deprecated. The message will now contain a PresenceMessage key
|
||||
for the presence specific information; the Message key containing presence
|
||||
information will be removed in the next major version of AMI.
|
||||
|
||||
CDRs:
|
||||
- The "endbeforehexten" setting now defaults to "yes", instead of "no".
|
||||
When set to "no", yhis setting will cause a new CDR to be generated when a
|
||||
channel enters into hangup logic (either the 'h' extension or a hangup
|
||||
handler subroutine). In general, this is not the preferred default: this
|
||||
causes extra CDRs to be generated for a channel in many common dialplans.
|
||||
|
||||
- The cdr_sqlite module was deprecated and has been removed. Users of this
|
||||
module should use the cdr_sqlite3_custom module instead.
|
||||
|
||||
chan_dahdi:
|
||||
- SS7 support now requires libss7 v2.0 or later.
|
||||
|
||||
- Added the inband_on_setup_ack compatibility option to chan_dahdi.conf to
|
||||
deal with switches that don't send an inband progress indication in the
|
||||
SETUP ACKNOWLEDGE message.
|
||||
Default is now no.
|
||||
|
||||
chan_gtalk
|
||||
- This module was deprecated and has been removed. Users of chan_gtalk
|
||||
should use chan_motif.
|
||||
|
||||
chan_h323
|
||||
- This module was deprecated and has been removed. Users of chan_h323
|
||||
should use chan_ooh323.
|
||||
|
||||
chan_jingle
|
||||
- This module was deprecated and has been removed. Users of chan_jingle
|
||||
should use chan_motif.
|
||||
|
||||
chan_pjsip:
|
||||
- Added a 'force_avp' option to chan_pjsip which will force the usage of
|
||||
'RTP/AVP', 'RTP/AVPF', 'RTP/SAVP', or 'RTP/SAVPF' as the media transport type
|
||||
in SDP offers depending on settings, even when DTLS is used for media
|
||||
encryption.
|
||||
|
||||
- Added a 'media_use_received_transport' option to chan_pjsip which will
|
||||
cause the SDP answer to use the media transport as received in the SDP
|
||||
offer.
|
||||
|
||||
chan_sip:
|
||||
- Made set SIPREFERREDBYHDR as inheritable for better chan_pjsip
|
||||
interoperability.
|
||||
|
||||
- The SIPPEER dialplan function no longer supports using a colon as a
|
||||
delimiter for parameters. The parameters for the function should be
|
||||
delimited using a comma.
|
||||
|
||||
- The SIPCHANINFO dialplan function was deprecated and has been removed. Users
|
||||
of the function should use the CHANNEL function instead.
|
||||
|
||||
- Added a 'force_avp' option for chan_sip. When enabled this option will
|
||||
cause the media transport in the offer or answer SDP to be 'RTP/AVP',
|
||||
'RTP/AVPF', 'RTP/SAVP', or 'RTP/SAVPF' even if a DTLS stream has been
|
||||
configured. This option can be set to improve interoperability with WebRTC
|
||||
clients that don't use the RFC defined transport for DTLS.
|
||||
|
||||
- The 'dtlsverify' option in chan_sip now has additional values besides
|
||||
'yes' and 'no'. If 'yes' is specified both the certificate and fingerprint
|
||||
will be verified. If 'no' is specified then neither the certificate or
|
||||
fingerprint is verified. If 'certificate' is specified then only the
|
||||
certificate is verified. If 'fingerprint' is specified then only the
|
||||
fingerprint is verified.
|
||||
|
||||
- A 'dtlsfingerprint' option has been added to chan_sip which allows the
|
||||
hash to be specified for the DTLS fingerprint placed in SDP. Supported
|
||||
values are 'sha-1' and 'sha-256' with 'sha-256' being the default.
|
||||
|
||||
- The 'progressinband=never' option is now more zealous in the persecution of
|
||||
progress messages coming from Asterisk. Channels bridged with a SIP channel
|
||||
that has 'progressinband=never' set will not be able to forward their
|
||||
progress indications through to the SIP device. chan_sip will now turn such
|
||||
progress indications into a 180 Ringing (if a 180 has not yet been
|
||||
transmitted) if 'progressinband=never'.
|
||||
|
||||
- The codec preference order in an SDP during an offer is slightly different
|
||||
than previous releases. Prior to Asterisk 13, the preference order of
|
||||
codecs used to be:
|
||||
(1) Our preferred codec
|
||||
(2) Our configured codecs
|
||||
(3) Any non-audio joint codecs
|
||||
|
||||
One of the ways the new media format architecture in Asterisk 13 improves
|
||||
performance is by reference counting formats, such that they can be reused
|
||||
in many places without additional allocation. To not require a large
|
||||
amount of locking, an instance of a format is immutable by convention.
|
||||
This works well except for formats with attributes. Since a media format
|
||||
with an attribute is a different object than the same format without an
|
||||
attribute, we have to carry over the formats with attributes from an
|
||||
inbound offer so that the correct attributes are offered in an outgoing
|
||||
INVITE request. This requires some subtle tweaks to the preference order
|
||||
to ensure that the media format with attributes is offered to a remote
|
||||
peer, as opposed to the same media format (but without attributes) that
|
||||
may be stored in the peer object.
|
||||
|
||||
All of this means that our offer offer list will now be:
|
||||
(1) Our preferred codec
|
||||
(2) Any joint codecs offered by the inbound offer
|
||||
(3) All other codecs that are not the preferred codec and not a joint
|
||||
codec offered by the inbound offer
|
||||
|
||||
CLI commands:
|
||||
- "core show settings" now lists the current console verbosity in addition
|
||||
to the root console verbosity.
|
||||
|
||||
- "core set verbose" has not been able to support the by module verbose
|
||||
logging levels since verbose logging levels were made per console. That
|
||||
syntax is now removed and a silence option added in its place.
|
||||
|
||||
ConfBridge:
|
||||
- The sound_place_into_conference sound used in Confbridge is now deprecated
|
||||
and is no longer functional since it has been broken since its inception
|
||||
and the fix involved using a different method to achieve the same goal. The
|
||||
new method to achieve this functionality is by using sound_begin to play
|
||||
a sound to the conference when waitmarked users are moved into the conference.
|
||||
|
||||
|
||||
Configuration Files:
|
||||
- The 'verbose' setting in logger.conf still takes an optional argument,
|
||||
specifying the verbosity level for each logging destination. However,
|
||||
the default is now to once again follow the current root console level.
|
||||
As a result, using the AMI Command action with "core set verbose" could
|
||||
again set the root console verbose level and affect the verbose level
|
||||
logged.
|
||||
|
||||
- The manager.conf 'eventfilter' now takes an "extended" regular expression
|
||||
instead of a "basic" one.
|
||||
|
||||
- The unistim.conf 'dateformat' has changed meaning of options values to conform
|
||||
values used inside Unistim protocol
|
||||
|
||||
HTTP:
|
||||
- Added http.conf session_inactivity timer option to close HTTP connections
|
||||
that aren't doing anything.
|
||||
|
||||
- Added support for persistent HTTP connections. To enable persistent
|
||||
HTTP connections configure the keep alive time between HTTP requests. The
|
||||
keep alive time between HTTP requests is configured in http.conf with the
|
||||
session_keep_alive parameter.
|
||||
|
||||
MusicOnHold
|
||||
- The SetMusicOnHold dialplan application was deprecated and has been removed.
|
||||
Users of the application should use the CHANNEL function's musicclass
|
||||
setting instead.
|
||||
|
||||
- The WaitMusicOnHold dialplan application was deprecated and has been
|
||||
removed. Users of the application should use MusicOnHold with a duration
|
||||
parameter instead.
|
||||
|
||||
ODBC:
|
||||
- The compatibility setting, allow_empty_string_in_nontext, has been removed.
|
||||
Empty column values will be stored as empty strings during realtime updates.
|
||||
|
||||
Realtime Configuration:
|
||||
- WARNING: The database migration script that adds the 'extensions' table for
|
||||
realtime had to be modified due to an error when installing for MySQL. The
|
||||
'extensions' table's 'id' column was changed to be a primary key. This could
|
||||
potentially cause a migration problem. If so, it may be necessary to
|
||||
manually alter the affected table/column to bring it back in line with the
|
||||
migration scripts.
|
||||
|
||||
- New columns have been added to realtime tables for 'support_path' on
|
||||
ps_registrations and ps_aors and for 'path' on ps_contacts for the new
|
||||
SIP Path support in chan_pjsip.
|
||||
|
||||
- The following new tables have been added for pjsip realtime: 'ps_systems',
|
||||
'ps_globals', 'ps_tranports', 'ps_registrations'.
|
||||
|
||||
- The following columns were added to the 'ps_aors' realtime table:
|
||||
'maximum_expiration', 'outbound_proxy', and 'support_path'.
|
||||
|
||||
- The following columns were added to the 'ps_contacts' realtime table:
|
||||
'outbound_proxy', 'user_agent', and 'path'.
|
||||
|
||||
- New columns have been added to the ps_endpoints realtime table for the
|
||||
'media_address', 'redirect_method' and 'set_var' options. Also the
|
||||
'mwi_fromuser' column was renamed to 'mwi_from_user'. A new column
|
||||
'message_context' was added to let users configure how MESSAGE requests are
|
||||
routed to the dialplan.
|
||||
|
||||
- A new column was added to the 'ps_globals' realtime table for the 'debug'
|
||||
option.
|
||||
|
||||
- PJSIP endpoint columns 'tos_audio' and 'tos_video' have been changed from
|
||||
yes/no enumerators to string values. 'cos_audio' and 'cos_video' have been
|
||||
changed from yes/no enumerators to integer values. PJSIP transport column
|
||||
'tos' has been changed from a yes/no enumerator to a string value. 'cos' has
|
||||
been changed from a yes/no enumerator to an integer value.
|
||||
|
||||
- The 'queues' and 'queue_members' realtime tables have been added to the
|
||||
config Alembic scripts.
|
||||
|
||||
- A new set of Alembic scripts has been added for CDR tables. This will create
|
||||
a 'cdr' table with the default schema that Asterisk expects.
|
||||
|
||||
res_jabber:
|
||||
- This module was deprecated and has been removed. Users of this module should
|
||||
use res_xmpp instead.
|
||||
|
||||
safe_asterisk:
|
||||
- The safe_asterisk script was previously not installed on top of an existing
|
||||
version. This caused bug-fixes in that script not to be deployed. If your
|
||||
safe_asterisk script is customized, be sure to keep your changes. Custom
|
||||
values for variables should be created in *.sh file(s) inside
|
||||
ASTETCDIR/startup.d/. See ASTERISK-21965.
|
||||
|
||||
- Changed a log message in safe_asterisk and the $NOTIFY mail subject. If
|
||||
you use tools to parse either of them, update your parse functions
|
||||
accordingly. The changed strings are:
|
||||
- "Exited on signal $EXITSIGNAL" => "Asterisk exited on signal $EXITSIGNAL."
|
||||
- "Asterisk Died" => "Asterisk on $MACHINE died (sig $EXITSIGNAL)"
|
||||
|
||||
Unistim:
|
||||
- Added 'dtmf_duration' option with changing default operation to disable
|
||||
receivied dtmf playback on unistim phone
|
||||
|
||||
Utilities:
|
||||
- The refcounter program has been removed in favor of the refcounter.py script
|
||||
in contrib/scripts.
|
||||
|
||||
WebSockets:
|
||||
- Added a compatibility option to ari.conf, sip.conf, and pjsip.conf
|
||||
'websocket_write_timeout'. When a websocket connection exists where Asterisk
|
||||
writes a substantial amount of data to the connected client, and the connected
|
||||
client is slow to process the received data, the socket may be disconnected.
|
||||
In such cases, it may be necessary to adjust this value.
|
||||
Default is 100 ms.
|
||||
|
||||
===========================================================
|
||||
===========================================================
|
Loading…
Reference in new issue