Fix a file descriptor leak in off nominal path
[asterisk/asterisk.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index 7e0dae3..8bcd533 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,135 @@
 === and the other UPGRADE files for older releases.
 ===
 ==============================================================================
+------------------------------------------------------------------------------
+--- Functionality changes from Asterisk 11 to Asterisk 12 --------------------
+------------------------------------------------------------------------------
+
+
+AMI (Asterisk Manager Interface)
+------------------
+ * The SIPshowpeer action will now include a 'SubscribeContext' field for a peer
+   in its response if the peer has a subscribe context set.
+
+ * The SIPqualifypeer action now acknowledges the request once it has established
+   that the request is against a known peer. It also issues a new event,
+   'SIPqualifypeerdone', once the qualify action has been completed.
+
+ * The PlayDTMF action now supports an optional 'Duration' parameter.  This
+   specifies the duration of the digit to be played, in milliseconds.
+
+ * Added VoicemailRefresh action to allow an external entity to trigger mailbox
+   updates when changes occur instead of requiring the use of pollmailboxes.
+
+ * CLI Command 'Manager Show Commands' no longer truncates command names longer
+   than 15 characters and no longer shows authorization requirement for commands.
+   'Manager Show Command' now displays the privileges needed for using a given
+   manager command instead.
+
+ * Added new action "ControlPlayback". The ControlPlayback action allows an AMI
+   client to manipulate audio currently being played back on a channel. The
+   supported operations depend on the application being used to send audio to
+   the channel. When the audio playback was initiated using the ControlPlayback
+   application or CONTROL STREAM FILE AGI command, the audio can be paused,
+   stopped, restarted, reversed, or skipped forward. When initiated by other
+   mechanisms (such as the Playback application), the audio can be stopped,
+   reversed, or skipped forward.
+
+ * Channel related events now contain a snapshot of channel state, adding new
+   fields to many of these events.
+
+ * The AMI event 'Newexten' field 'Extension' is deprecated, and may be removed
+   in a future release. Please use the common 'Exten' field instead.
+
+ * The AMI event 'UserEvent' from app_userevent now contains the channel state
+   fields. The channel state fields will come before the body fields.
+
+ * The deprecated use of | (pipe) as a separator in the channelvars setting in
+   manager.conf has been removed.
+
+Channel Drivers
+------------------
+
+chan_mobile
+------------------
+ * Added general support for busy detection.
+
+ * Added ECAM command support for Sony Ericsson phones.
+
+chan_sip
+------------------
+ * Added support for RFC 3327 "Path" headers. This can be enabled in sip.conf
+   using the 'supportpath' setting, either on a global basis or on a peer basis.
+   This setting enables Asterisk to route outgoing out-of-dialog requests via a
+   set of proxies by using a pre-loaded route-set defined by the Path headers in
+   the REGISTER request. See Realtime updates for more configuration information.
+
+Features
+-------------------
+ * The BRIDGE_FEATURES channel variable would previously only set features for
+   the calling party and would set this feature regardless of whether the
+   feature was in caps or in lowercase. Use of a caps feature for a letter
+   will now apply the feature to the calling party while use of a lowercase
+   letter will apply that feature to the called party.
+
+ * Add support for automixmonitor to the BRIDGE_FEATURES channel variable.
+
+ * PARKINGSLOT and PARKEDLOT channel variables will now be set for a parked
+   channel even when comebactoorigin=yes
+
+Logging
+-------------------
+ * When performing queue pause/unpause on an interface without specifying an
+   individual queue, the PAUSEALL/UNPAUSEALL event will only be logged if at
+   least one member of any queue exists for that interface.
+
+ * Added the 'queue_log_realtime_use_gmt' option to have timestamps in GMT
+   for realtime queue log entries.
+
+MeetMe
+-------------------
+* Added the 'n' option to MeetMe to prevent application of the DENOISE function
+  to a channel joining a conference. Some channel drivers that vary the number
+  of audio samples in a voice frame will experience significant quality problems
+  if a denoiser is attached to the channel; this option gives them the ability
+  to remove the denoiser without having to unload func_speex.
+
+Queue
+-------------------
+ * Add queue available hint.  exten => 8501,hint,Queue:markq_avail
+   Note: the suffix '_avail' after the queuename.
+   Reports 'InUse' for no logged in agents or no free agents.
+   Reports 'Idle' when an agent is free.
+
+Core
+------------------
+ * Redirecting reasons can now be set to arbitrary strings. This means
+   that the REDIRECTING dialplan function can be used to set the redirecting
+   reason to any string. It also allows for custom strings to be read as the
+   redirecting reason from SIP Diversion headers.
+
+Realtime
+------------------
+ * Dynamic realtime tables for SIP Users can now include a 'path' field. This
+   will store the path information for that peer when it registers. Realtime
+   tables can also use the 'supportpath' field to enable Path header support.
+
+ * LDAP realtime configurations for SIP Users now have the AstAccountPathSupport
+   objectIdentifier. This maps to the supportpath option in sip.conf. 
+
+RTP
+------------------
+ * ICE/STUN/TURN support in res_rtp_asterisk has been made optional.  To enable
+   them, an Asterisk-specific version of pjproject needs to be installed.
+   Tarballs are available from https://github.com/asterisk/pjproject/tags/.
+
+XMPP
+------------------
+ * Device state for XMPP buddies is now available using the following format:
+   XMPP/<client name>/<buddy address>
+   If any resource is available the device state is considered to be not in use.
+   If no resources exist or all are unavailable the device state is considered
+   to be unavailable.
 
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 10 to Asterisk 11 --------------------
@@ -67,6 +196,9 @@ ConfBridge
    file will be played to the user, and only the user, upon joining the
    conference bridge.
 
+ * Added record_file_append option that defaults to "yes", but if set to no
+   will create a new file between each start/stop recording.
+
 
 Dial
 -------------------
@@ -111,6 +243,13 @@ MixMonitor
    indicated mailboxes.
 
 
+MySQL
+-------------------
+ * The connect action in app_mysql now allows you to specify a port number to
+   connect to.  This is useful if you run a MySQL server on a non-standard
+   port number.
+
+
 OSP Applications
 -------------------
  * Increased the default number of allowed destinations from 5 to 12.
@@ -144,6 +283,7 @@ Queue
    be logged in the agent field for ADDMEMBER and REMOVEMEMBER queue events if a
    state_interface has been set.
 
+ * Add queue monitoring hints.  exten => 8501,hint,Queue:markq.
 
 SayUnixTime
 ------------------
@@ -218,6 +358,13 @@ Functions
    presence state information from a CustomPresence presence state provider.
    See AMI/CLI changes for related commands.
 
+ * Added the AMI_CLIENT function to make manager account attributes available
+   to the dialplan. It currently supports returning the current number of
+   active sessions for a given account.
+
+ * Added support for private party ID information to CALLERID, CONNECTEDLINE,
+   and the REDIRECTING functions.
+
 
 Channel Drivers
 ------------------
@@ -238,6 +385,11 @@ chan_dahdi
    send connected line information on initial connect; and update, to send
    information on any update during a call.  Default is update.
 
+ * Add options namedcallgroup and namedpickupgroup to support installations
+   where a higher number of groups (>64) is required.
+
+ * Added support to use private party ID information with PRI calls.
+
 
 chan_motif
 ------------------
@@ -288,6 +440,9 @@ chan_sip
    detects that an incoming SIP request crossed a NAT after being sent by
    the remote endpoint.
 
+ * The default global nat setting in sip.conf has been changed from force_rport
+   to auto_force_rport.
+
  * NAT settings are now a combinable list of options. The equivalent of the
    deprecated nat=yes is nat=force_rport,comedia. nat=no behaves as before.
 
@@ -311,15 +466,20 @@ chan_sip
 
  * Add support for WebSocket transport. This can be configured using 'ws' or 'wss'
    as the transport.
+
  * Add options subminexpiry and submaxexpiry to set limits of subscription
    timer independently from registration timer settings. The setting of the
    registration timer limits still is done by options minexpiry, maxexpiry
    and defaultexpiry. For backwards compatibility the setting of minexpiry
    and maxexpiry also is used to configure the subscription timer limits if
    subminexpiry and submaxexpiry are not set in sip.conf.
+
  * Set registration timer limits to default values when reloading sip
    configuration and values are not set by configuration.
 
+ * Add options namedcallgroup and namedpickupgroup to support installations
+   where a higher number of groups (>64) is required.
+
  * When a MESSAGE request is received, the address the request was received from
    is now saved in the SIP_RECVADDR variable.
 
@@ -334,6 +494,14 @@ chan_sip
  * Added support for format attribute negotiation.  See the Codecs changes for
    more information.
 
+ * Extra headers specified with SIPAddHeader are sent with the REFER message
+   when using Transfer application. See refer_addheaders in sip.conf.sample.
+
+ * Added support to use private party ID information with calls.
+
+ * Adds an option discard_remote_hold_retrieval that when set stops telling
+   the peer to start music on hold.
+
 
 chan_skinny
 ------------------
@@ -367,6 +535,14 @@ chan_unistim
    on-screen key
 
 
+chan_mISDN:
+------------------
+ * Add options namedcallgroup and namedpickupgroup to support installations
+   where a higher number of groups (>64) is required.
+
+ * Added support to use private party ID information with calls.
+
+
 Core
 ------------------
  * The minimum DTMF duration can now be configured in asterisk.conf
@@ -402,6 +578,12 @@ Core
  * Asterisk can now use a system-provided NetBSD editline library (libedit) if it
    is available.
 
+ * Call files now support the "early_media" option to connect with an outgoing
+   extension when early media is received.
+
+ * Added support to use private party ID information with calls.
+
+
 AGI
 ------------------
  * A new channel variable, AGIEXITONHANGUP, has been added which allows
@@ -415,6 +597,12 @@ AGI
 
 AMI (Asterisk Manager Interface)
 ------------------
+ * The originate action now has an option "EarlyMedia" that enables the
+   call to bridge when we get early media in the call. Previously,
+   early media was disregarded always when originating calls using AMI.
+
+ * Added setvar= option to manager accounts (much like sip.conf)
+
  * Originate now generates an error response if the extension given is not found
    in the dialplan
 
@@ -473,6 +661,13 @@ AMI (Asterisk Manager Interface)
 
 CLI
 -------------------
+ * The "dialplan add include" command has been modified to create context a context
+   if one does not already exist. For instance, "dialplan add include foo into bar"
+   will create context "bar" if it does not already exist.
+
+ * A  "dialplan remove context" command has been added to remove a context from
+   the dialplan
+
  * The "mixmonitor list <channel>" command will now show MixMonitor ID, and the
    filenames of all running mixmonitors on a channel.
 
@@ -523,6 +718,11 @@ Codecs
  * The iLBC codec can now use a system-provided iLBC library if one is installed,
    just like the GSM codec.
 
+DUNDi changes
+-------------
+ * Added CLI commands dundi show hints and dundi show cache which will list DUNDi
+   'DONTASK' hints in the cache and list all DUNDi cache entires respectively.
+
 Logging
 -------------------
  * Asterisk version and build information is now logged at the beginning of a
@@ -629,7 +829,6 @@ Scripts
    the source tree.  If the variable is not set, it defaults to the current
    behavior and uses the current working directory.
 
-
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 1.8 to Asterisk 10 -------------------
 ------------------------------------------------------------------------------
@@ -834,8 +1033,6 @@ Queue changes
  * Added member option ignorebusy this when set and ringinuse is not
    will allow per member control of multiple calls as ringinuse does for
    the Queue.
- * Added global option check_state_unknown to enforce checking of device state
-   when the device state is unknown app_queue will see unknown as available.
 
 Applications
 ------------
@@ -1455,6 +1652,9 @@ Miscellaneous
    rate changes during translation are now avoided unless absolutely necessary.
  * The addition of the res_stun_monitor module for monitoring and reacting to network
    changes while behind a NAT.
+ * DTMF: Normal and Reverse Twist acceptance values can be set in dsp.conf.
+   DTMF Valid/Invalid number of hits/misses can be set in dsp.conf.
+   These allow support for any Administration. Default is AT&T values.
 
 CLI Changes
 -----------