summaryrefslogtreecommitdiff
path: root/UPGRADE.txt
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2014-08-10 21:35:18 +0000
committerMatthew Jordan <mjordan@digium.com>2014-08-10 21:35:18 +0000
commitaf6f95f64c36de5e3558c4c4f5c114017d6aa4ea (patch)
treeb3c9833cf304c8c3dff63df57fd93ca151f7e5cf /UPGRADE.txt
parent7438e38f228e06ce79f2e8a4e56a0de92d6f449c (diff)
Update UPGRADE.txt file
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@420607 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'UPGRADE.txt')
-rw-r--r--UPGRADE.txt357
1 files changed, 357 insertions, 0 deletions
diff --git a/UPGRADE.txt b/UPGRADE.txt
index c631f5614..368d33d2e 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -21,6 +21,363 @@
=== UPGRADE-12.txt -- Upgrade info for 11 to 12
===========================================================
+General Asterisk Changes:
+ - 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.
+
+ - 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.
+
+Build System:
+ - 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.
+
+ - 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.
+
+Applications:
+
+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.
+
+SetMusicOnHold:
+ - The SetMusicOnHold dialplan application was deprecated and has been removed.
+ Users of the application should use the CHANNEL function's musicclass
+ setting instead.
+
+WaitMusicOnHold:
+ - The WaitMusicOnHold dialplan application was deprecated and has been
+ removed. Users of the application should use MusicOnHold with a duration
+ parameter instead.
+
+CDR Backends:
+ - The cdr_sqlite module was deprecated and has been removed. Users of this
+ module should use the cdr_sqlite3_custom module instead.
+
+Channel Drivers:
+
+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
+
+chan_unistim:
+ - The unistim.conf 'dateformat' has changed meaning of options values to conform
+ values used inside Unistim protocol
+
+ - Added 'dtmf_duration' option with changing default operation to disable
+ receivied dtmf playback on unistim phone
+
+Core:
+
+Account Codes:
+ - 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 to 1.5.0. This is to reflect backwards
+ compatible changes made since 12.0.0 was released.
+
+ - 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 to 2.5.0. This is to reflect backwards
+ compatible changes made since 12.0.0 was released.
+
+ - 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.
+
+ - The manager.conf 'eventfilter' now takes an "extended" regular expression
+ instead of a "basic" one.
+
+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.
+
+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.
+
+Logging:
+ - 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.
+
+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.
+
+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.
+
+Resources:
+
+res_odbc:
+- The compatibility setting, allow_empty_string_in_nontext, has been removed.
+ Empty column values will be stored as empty strings during realtime updates.
+
+res_jabber:
+ - This module was deprecated and has been removed. Users of this module should
+ use res_xmpp instead.
+
+res_http_websocket:
+ - 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.
+
+Scripts:
+
+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)"
+
+Utilities:
+ - The refcounter program has been removed in favor of the refcounter.py script
+ in contrib/scripts.
===========================================================
===========================================================