mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +00:00 
			
		
		
		
	git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@334620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			1690 lines
		
	
	
		
			97 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1690 lines
		
	
	
		
			97 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
======================================================================
 | 
						|
===
 | 
						|
=== This file documents the new and/or enhanced functionality added in
 | 
						|
=== the Asterisk versions listed below. This file does NOT include
 | 
						|
=== changes in behavior that would not be backwards compatible with
 | 
						|
=== previous versions; for that information see the UPGRADE.txt file
 | 
						|
=== and the other UPGRADE files for older releases.
 | 
						|
===
 | 
						|
======================================================================
 | 
						|
 | 
						|
------------------------------------------------------------------------------
 | 
						|
--- Functionality changes from Asterisk 1.6.2 to Asterisk 1.8 ----------------
 | 
						|
------------------------------------------------------------------------------
 | 
						|
 | 
						|
SIP Changes
 | 
						|
-----------
 | 
						|
 * Added preferred_codec_only option in sip.conf. This feature limits the joint
 | 
						|
   codecs sent in response to an INVITE to the single most preferred codec.
 | 
						|
 * Added SIP_CODEC_OUTBOUND dialplan variable which can be used to set the codec
 | 
						|
   to be used for the outgoing call. It must be one of the codecs configured
 | 
						|
   for the device.
 | 
						|
 * Added tlsprivatekey option to sip.conf.  This allows a separate .pem file
 | 
						|
   to be used for holding a private key.  If tlsprivatekey is not specified,
 | 
						|
   tlscertfile is searched for both public and private key.
 | 
						|
 * Added tlsclientmethod option to sip.conf.  This allows the protocol for
 | 
						|
   outbound client connections to be specified.
 | 
						|
 * The sendrpid parameter has been expanded to include the options
 | 
						|
   'rpid' and 'pai'. Setting sendrpid to 'rpid' will cause Remote-Party-ID
 | 
						|
   header to be sent (equivalent to setting sendrpid=yes) and setting
 | 
						|
   sendrpid to 'pai' will cause P-Asserted-Identity header to be sent.
 | 
						|
 * The 'ignoresdpversion' behavior has been made automatic when the SDP received
 | 
						|
   is in response to a T.38 re-INVITE that Asterisk initiated. In this situation,
 | 
						|
   since the call will fail if Asterisk does not process the incoming SDP, Asterisk
 | 
						|
   will accept the SDP even if the SDP version number is not properly incremented,
 | 
						|
   but will generate a warning in the log indicating that the SIP peer that sent
 | 
						|
   the SDP should have the 'ignoresdpversion' option set.
 | 
						|
 * The 'nat' option has now been been changed to have yes, no, force_rport, and
 | 
						|
   comedia as valid values. Setting it to yes forces RFC 3581 behavior and enables
 | 
						|
   symmetric RTP support. Setting it to no only enables RFC 3581 behavior if the
 | 
						|
   remote side requests it and disables symmetric RTP support. Setting it to
 | 
						|
   force_rport forces RFC 3581 behavior and disables symmetric RTP support.
 | 
						|
   Setting it to comedia enables RFC 3581 behavior if the remote side requests it
 | 
						|
   and enables symmetric RTP support.
 | 
						|
 * Slave SIP channels now set HASH(SIP_CAUSE,<slave-channel-name>) on each
 | 
						|
   response.  This permits the master channel to know how each channel dialled
 | 
						|
   in a multi-channel setup resolved in an individual way. This carries a
 | 
						|
   performance penalty and must be enabled in sip.conf using the
 | 
						|
   'storesipcause' option.
 | 
						|
 * Added 'externtcpport' and 'externtlsport' options to allow custom port
 | 
						|
   configuration for the externip and externhost options when tcp or tls is used.
 | 
						|
 * Added support for message body (stored in content variable) to SIP NOTIFY message
 | 
						|
   accessible via AMI and CLI.
 | 
						|
 * Added 'media_address' configuration option which can be used to explicitly specify
 | 
						|
   the IP address to use in the SDP for media (audio, video, and text) streams.
 | 
						|
 * Added 'unsolicited_mailbox' configuration option which specifies the virtual mailbox
 | 
						|
   that the new/old count should be stored on if an unsolicited MWI NOTIFY message is
 | 
						|
   received.
 | 
						|
 * Added 'use_q850_reason' configuration option for generating and parsing
 | 
						|
   if available  Reason: Q.850;cause=<cause code> header. It is implemented
 | 
						|
   in some gateways for better passing PRI/SS7 cause codes via SIP.
 | 
						|
 * When dialing SIP peers, a new component may be added to the end of the dialstring
 | 
						|
   to indicate that a specific remote IP address or host should be used when dialing
 | 
						|
   the particular peer. The dialstring format is SIP/peer/exten/host_or_IP.
 | 
						|
 * SRTP SDES support for encrypting calls to/from Asterisk over SIP. The
 | 
						|
   ability to selectively force bridged channels to also be encrypted is also
 | 
						|
   implemented. Branching in the dialplan can be done based on whether or not
 | 
						|
   a channel has secure media and/or signaling.
 | 
						|
 * Added directmediapermit/directmediadeny to limit which peers can send direct media
 | 
						|
   to each other
 | 
						|
 * Added the 'snom_aoc_enabled' option to turn on support for sending Advice of
 | 
						|
   Charge messages to snom phones.
 | 
						|
 * Added support for G.719 media streams.
 | 
						|
 * Added support for 16khz signed linear media streams.
 | 
						|
 * SIP is now able to bind to and communicate with IPv6 addresses. In addition,
 | 
						|
   RTP has been outfitted with the same abilities.
 | 
						|
 * Added support for setting the Max-Forwards: header in SIP requests. Setting is
 | 
						|
   available in device configurations as well as in the dial plan.
 | 
						|
 * Addition of the 'subscribe_network_change' option for turning on and off
 | 
						|
   res_stun_monitor module support in chan_sip.
 | 
						|
 * Addition of the 'auth_options_requests' option for turning on and off
 | 
						|
   authentication for OPTIONS requests in chan_sip.
 | 
						|
 | 
						|
 | 
						|
IAX2 Changes
 | 
						|
-----------
 | 
						|
 * Added rtsavesysname option into iax.conf to allow the systname to be saved
 | 
						|
   on realtime updates.
 | 
						|
 * Added the ability for chan_iax2 to inform the dialplan whether or not
 | 
						|
   encryption is being used. This interoperates with the SIP SRTP implementation
 | 
						|
   so that a secure SIP call can be bridged to a secure IAX call when the
 | 
						|
   dialplan requires bridged channels to be "secure".
 | 
						|
 * Addition of the 'subscribe_network_change' option for turning on and off
 | 
						|
   res_stun_monitor module support in chan_iax.
 | 
						|
 | 
						|
 | 
						|
MGCP Changes
 | 
						|
------------
 | 
						|
 * Added ability to preset channel variables on indicated lines with the setvar
 | 
						|
   configuration option.  Also, clearvars=all resets the list of variables back
 | 
						|
   to none.
 | 
						|
 * PacketCable NCS 1.0 support has been added for Docsis/Eurodocsis Networks.
 | 
						|
   See configs/res_pktccops.conf for more information.
 | 
						|
 | 
						|
XMPP Google Talk/Jingle changes
 | 
						|
-------------------------------
 | 
						|
  * Added the externip option to gtalk.conf.
 | 
						|
  * Added the stunaddr option to gtalk.conf which allows for the automatic
 | 
						|
    retrieval of the external ip from a stun server.
 | 
						|
 | 
						|
Applications
 | 
						|
------------
 | 
						|
 * Added 'p' option to PickupChan() to allow for picking up channel by the first
 | 
						|
   match to a partial channel name.
 | 
						|
 * Added .m3u support for Mp3Player application.
 | 
						|
 * Added progress option to the app_dial D() option.  When progress DTMF is
 | 
						|
   present, those values are sent immediately upon receiving a PROGRESS message
 | 
						|
   regardless if the call has been answered or not.
 | 
						|
 * Added functionality to the app_dial F() option to continue with execution
 | 
						|
   at the current location when no parameters are provided.
 | 
						|
 * Added the 'a' option to app_dial to answer the calling channel before any
 | 
						|
   announcements or macros are executed.
 | 
						|
 * Modified app_dial to set answertime when the called channel answers even if
 | 
						|
   the called channel hangs up during playback of an announcement.
 | 
						|
 * Modified app_dial 'r' option to support an additional parameter to play an
 | 
						|
   indication tone from indications.conf
 | 
						|
 * Added c() option to app_chanspy. This option allows custom DTMF to be set
 | 
						|
   to cycle through the next available channel.  By default this is still '*'.
 | 
						|
 * Added x() option to app_chanspy.  This option allows DTMF to be set to
 | 
						|
   exit the application.
 | 
						|
 * The Voicemail application has been improved to automatically ignore messages
 | 
						|
   that only contain silence.
 | 
						|
 * If you set maxmsg to 0 in voicemail.conf, Voicemail will consider the
 | 
						|
   associated mailbox(es) to be greetings-only.
 | 
						|
 * The ChanSpy application now has the 'S' option, which makes the application
 | 
						|
   automatically exit once it hits a point where no more channels are available
 | 
						|
   to spy on.
 | 
						|
 * The ChanSpy application also now has the 'E' option, which spies on a single
 | 
						|
   channel and exits when that channel hangs up.
 | 
						|
 * The MeetMe application now turns on the DENOISE() function by default, for
 | 
						|
   each participant.  In our tests, this has significantly decreased background
 | 
						|
   noise (especially noisy data centers).
 | 
						|
 * Voicemail now permits storage of secrets in a separate file, located in the
 | 
						|
   spool directory of each individual user.  The control for this is located in
 | 
						|
   the "passwordlocation" option in voicemail.conf.  Please see the sample
 | 
						|
   configuration for more information.
 | 
						|
 * The ChanIsAvail application now exposes the returned cause code using a separate
 | 
						|
   variable, AVAILCAUSECODE, instead of overwriting the device state in AVAILSTATUS.
 | 
						|
 * Added 'd' option to app_followme.  This option disables the "Please hold"
 | 
						|
   announcement.
 | 
						|
 * Added 'y' option to app_record. This option enables a mode where any DTMF digit
 | 
						|
   received will terminate recording.
 | 
						|
 * Voicemail now supports per mailbox settings for folders when using IMAP storage.
 | 
						|
   Previously the folder could only be set per context, but has now been extended 
 | 
						|
   using the imapfolder option.
 | 
						|
 * Voicemail now supports per mailbox settings for nextaftercmd and minsecs.
 | 
						|
 * Voicemail now allows the pager date format to be specified separately from the
 | 
						|
   email date format.
 | 
						|
 * New applications JabberJoin, JabberLeave, and JabberSendGroup have been added
 | 
						|
   to allow joining, leaving, and sending text to group chats.
 | 
						|
 * MeetMe has a new option 'G' to play an announcement before joining a conference.
 | 
						|
 * Page has a new option 'A(x)' which will playback an announcement simultaneously
 | 
						|
   to all paged phones (and optionally excluding the caller's one using the new
 | 
						|
   option 'n') before the call is bridged.
 | 
						|
 * The 'f' option to Dial has been augmented to take an optional argument. If no
 | 
						|
   argument is provided, the 'f' option works as it always has. If an argument is
 | 
						|
   provided, then the connected party information of all outgoing channels created
 | 
						|
   during the Dial will be set to the argument passed to the 'f' option.
 | 
						|
 * Dial now inherits the GOSUB_RETVAL from the peer, when the U() option runs a
 | 
						|
   Gosub on the peer.
 | 
						|
 * The OSP lookup application adds in/outbound network ID, optional security,
 | 
						|
   number portability, QoS reporting, destination IP port, custom info and service
 | 
						|
   type features.
 | 
						|
 * Added new application VMSayName that will play the recorded name of the voicemail
 | 
						|
   user if it exists, otherwise will play the mailbox number.
 | 
						|
 * Added custom device states to ConfBridge bridges.  Use 'confbridge:<name>' to
 | 
						|
   retrieve state for a particular bridge, where <name> is the conference name
 | 
						|
 * app_directory now allows exiting at any time using the operator or pound key.
 | 
						|
 * Voicemail now supports setting a locale per-mailbox.
 | 
						|
 * Two new applications are provided for declining counting phrases in multiple
 | 
						|
   languages.  See the application notes for SayCountedNoun and SayCountedAdj for
 | 
						|
   more information.
 | 
						|
 * Voicemail now runs the externnotify script when pollmailboxes is activated and
 | 
						|
   notices a change.
 | 
						|
 * Voicemail now includes rdnis within msgXXXX.txt file.
 | 
						|
 * Added 'D' command to ExternalIVR full details in http://wiki.asterisk.org
 | 
						|
 * ParkedCall and Park can now specify the parking lot to use.
 | 
						|
 | 
						|
Dialplan Functions
 | 
						|
------------------
 | 
						|
 * SRVQUERY and SRVRESULT functions added. This can be used to query and iterate
 | 
						|
   over SRV records associated with a specific service. From the CLI, type
 | 
						|
   'core show function SRVQUERY' and 'core show function SRVRESULT' for more
 | 
						|
   details on how these may be used.
 | 
						|
 * PITCH_SHIFT dialplan function added. This function can be used to modify the
 | 
						|
   pitch of a channel's tx and rx audio streams.
 | 
						|
 * Added new dialplan functions CONNECTEDLINE and REDIRECTING which permits
 | 
						|
   setting various connected line and redirecting party information.
 | 
						|
 * CALLERID and CONNECTEDLINE dialplan functions have been extended to
 | 
						|
   support ISDN subaddressing.
 | 
						|
 * The CHANNEL() function now supports the "name" and "checkhangup" options.
 | 
						|
 * For DAHDI channels, the CHANNEL() dialplan function now allows
 | 
						|
   the dialplan to request changes in the configuration of the active
 | 
						|
   echo canceller on the channel (if any), for the current call only.
 | 
						|
   The syntax is:
 | 
						|
 | 
						|
   exten => s,n,Set(CHANNEL(echocan_mode)=off)
 | 
						|
 | 
						|
   The possible values are:
 | 
						|
 | 
						|
     on - normal mode (the echo canceller is actually reinitialized)
 | 
						|
     off - disabled
 | 
						|
     fax - FAX/data mode (NLP disabled if possible, otherwise completely
 | 
						|
           disabled)
 | 
						|
     voice - voice mode (returns from FAX mode, reverting the changes that
 | 
						|
             were made when FAX mode was requested)
 | 
						|
 * Added new dialplan function MASTER_CHANNEL(), which permits retrieving
 | 
						|
   and setting variables on the channel which created the current channel.
 | 
						|
   Administrators should take care to avoid naming conflicts, when multiple
 | 
						|
   channels are dialled at once, especially when used with the Local channel
 | 
						|
   construct (which all could set variables on the master channel).  Usage
 | 
						|
   of the HASH() dialplan function, with the key set to the name of the slave
 | 
						|
   channel, is one approach that will avoid conflicts.
 | 
						|
 * Added new dialplan function MUTEAUDIO() for muting inbound and/or outbound
 | 
						|
   audio in a channel.
 | 
						|
 * func_odbc now allows multiple row results to be retrieved without using
 | 
						|
   mode=multirow.  If rowlimit is set, then additional rows may be retrieved
 | 
						|
   from the same query by using the name of the function which retrieved the
 | 
						|
   first row as an argument to ODBC_FETCH().
 | 
						|
 * Added JABBER_RECEIVE, which permits receiving XMPP messages from the
 | 
						|
   dialplan. This function returns the content of the received message.
 | 
						|
 * Added REPLACE, which searches a given variable name for a set of characters,
 | 
						|
   then either replaces them with a single character or deletes them.
 | 
						|
 * Added PASSTHRU, which literally passes the same argument back as its return
 | 
						|
   value.  The intent is to be able to use a literal string argument to
 | 
						|
   functions that currently require a variable name as an argument.
 | 
						|
 * HASH-associated variables now can be inherited across channel creation, by
 | 
						|
   prefixing the name of the hash at assignment with the appropriate number of
 | 
						|
   underscores, just like variables.
 | 
						|
 * GROUP_MATCH_COUNT has been improved to allow regex matching on category
 | 
						|
 * CHANNEL(secure_bridge_signaling) and CHANNEL(secure_bridge_media) to set/get
 | 
						|
   whether or not channels that are bridged to the current channel will be
 | 
						|
   required to have secure signaling and/or media.
 | 
						|
 * CHANNEL(secure_signaling) and CHANNEL(secure_media) to get whether or not
 | 
						|
   the current channel has secure signaling and/or media.
 | 
						|
 * For DAHDI/ISDN channels, the CHANNEL() dialplan function now supports the
 | 
						|
   "no_media_path" option.
 | 
						|
   Returns "0" if there is a B channel associated with the call.
 | 
						|
   Returns "1" if no B channel is associated with the call.  The call is either
 | 
						|
   on hold or is a call waiting call.
 | 
						|
 * Added option to dialplan function CDR(), the 'f' option
 | 
						|
   allows for high resolution times for billsec and duration fields.
 | 
						|
 * FILE() now supports line-mode and writing.
 | 
						|
 * Added FIELDNUM(), which returns the 1-based offset of a field in a list.
 | 
						|
 * FRAME_TRACE(), for tracking internal ast_frames on a channel.
 | 
						|
 | 
						|
Dialplan Variables
 | 
						|
------------------
 | 
						|
 * Added DYNAMIC_FEATURENAME which holds the last triggered dynamic feature.
 | 
						|
 * Added DYNAMIC_PEERNAME which holds the unique channel name on the other side
 | 
						|
   and is set when a dynamic feature is triggered.
 | 
						|
 * Added PARKINGLOT which can be used with parkeddynamic feature.conf option
 | 
						|
   to dynamically create a new parking lot matching the value this varible is
 | 
						|
   set to.
 | 
						|
 * Added PARKINGDYNAMIC which represents the template parkinglot defined in
 | 
						|
   features.conf that should be the base for dynamic parkinglots.
 | 
						|
 * Added PARKINGDYNCONTEXT which tells what context a newly created dynamic
 | 
						|
   parkinglot should have.
 | 
						|
 * Added PARKINGDYNEXTEN which tells what parking exten a newly created dynamic
 | 
						|
   parkinglot should have.
 | 
						|
 * Added PARKINGDYNPOS which holds what parking positions a dynamic parkinglot
 | 
						|
   should have.
 | 
						|
 | 
						|
Queue changes
 | 
						|
-------------
 | 
						|
 * Added "ready" option to QUEUE_MEMBER counting to count free agents whose wrap-up
 | 
						|
   timeout has expired.
 | 
						|
 * Added 'R' option to app_queue.  This option stops moh and indicates ringing
 | 
						|
   to the caller when an Agent's phone is ringing.  This can be used to indicate
 | 
						|
   to the caller that their call is about to be picked up, which is nice when
 | 
						|
   one has been on hold for an extened period of time.
 | 
						|
 * A new config option, penaltymemberslimit, has been added to queues.conf.
 | 
						|
   When set this option will disregard penalty settings when a queue has too
 | 
						|
   few members.
 | 
						|
 * A new option, 'I' has been added to both app_queue and app_dial.
 | 
						|
   By setting this option, Asterisk will not update the caller with
 | 
						|
   connected line changes or redirecting party changes when they occur.
 | 
						|
 * A 'relative-periodic-announce' option has been added to queues.conf.  When
 | 
						|
   enabled, this option will cause periodic announce times to be calculated
 | 
						|
   from the end of announcements rather than from the beginning.
 | 
						|
 * The autopause option in queues.conf can be passed a new value, "all." The
 | 
						|
   result is that if a member becomes auto-paused, he will be paused in all
 | 
						|
   queues for which he is a member, not just the queue that failed to reach
 | 
						|
   the member.
 | 
						|
 * Added dialplan function QUEUE_EXISTS to check if a queue exists
 | 
						|
 * The queue logger now allows events to optionally propagate to a file,
 | 
						|
   even when realtime logging is turned on.  Additionally, realtime logging
 | 
						|
   supports sending the event arguments to 5 individual fields, although it
 | 
						|
   will fallback to the previous data definition, if the new table layout is
 | 
						|
   not found.
 | 
						|
 | 
						|
mISDN channel driver (chan_misdn) changes
 | 
						|
----------------------------------------
 | 
						|
 * Added display_connected parameter to misdn.conf to put a display string
 | 
						|
   in the CONNECT message containing the connected name and/or number if
 | 
						|
   the presentation setting permits it.
 | 
						|
 * Added display_setup parameter to misdn.conf to put a display string
 | 
						|
   in the SETUP message containing the caller name and/or number if the
 | 
						|
   presentation setting permits it.
 | 
						|
 * Made misdn.conf parameters localdialplan and cpndialplan take a -1 to
 | 
						|
   indicate the dialplan settings are to be obtained from the asterisk
 | 
						|
   channel.
 | 
						|
 * Made misdn.conf parameter callerid accept the "name" <number> format
 | 
						|
   used by the rest of the system.
 | 
						|
 * Made use the nationalprefix and internationalprefix misdn.conf
 | 
						|
   parameters to prefix any received number from the ISDN link if that
 | 
						|
   number has the corresponding Type-Of-Number.  NOTE:  This includes
 | 
						|
   comparing the incoming call's dialed number against the MSN list.
 | 
						|
 * Added the following new parameters: unknownprefix, netspecificprefix,
 | 
						|
   subscriberprefix, and abbreviatedprefix in misdn.conf to prefix any
 | 
						|
   received number from the ISDN link if that number has the corresponding
 | 
						|
   Type-Of-Number.
 | 
						|
 * Added new dialplan application misdn_command which permits controlling
 | 
						|
   the CCBS/CCNR functionality.
 | 
						|
 * Added new dialplan function mISDN_CC which permits retrieval of various
 | 
						|
   values from an active call completion record.
 | 
						|
 * For PTP, you should manually send the COLR of the redirected-to party
 | 
						|
   for an incomming redirected call if the incoming call could experience
 | 
						|
   further redirects.  Just set the REDIRECTING(to-num,i) = ${EXTEN} and
 | 
						|
   set the REDIRECTING(to-pres) to the COLR.  A call has been redirected
 | 
						|
   if the REDIRECTING(from-num) is not empty.
 | 
						|
 * For outgoing PTP redirected calls, you now need to use the inhibit(i)
 | 
						|
   option on all of the REDIRECTING statements before dialing the
 | 
						|
   redirected-to party.  You still have to set the REDIRECTING(to-xxx,i)
 | 
						|
   and the REDIRECTING(from-xxx,i) values.  The PTP call will update the
 | 
						|
   redirecting-to presentation (COLR) when it becomes available.
 | 
						|
 * Added outgoing_colp parameter to misdn.conf to filter outgoing COLP
 | 
						|
   information.
 | 
						|
 | 
						|
thirdparty mISDN enhancements
 | 
						|
-----------------------------
 | 
						|
mISDN has been modified by Digium, Inc. to greatly expand facility message
 | 
						|
support to allow:
 | 
						|
  * Enhanced COLP support for call diversion and transfer.
 | 
						|
  * CCBS/CCNR support.
 | 
						|
 | 
						|
The latest modified mISDN v1.1.x based version is available at:
 | 
						|
http://svn.digium.com/svn/thirdparty/mISDN/trunk
 | 
						|
http://svn.digium.com/svn/thirdparty/mISDNuser/trunk
 | 
						|
 | 
						|
Tagged versions of the modified mISDN code are available under:
 | 
						|
http://svn.digium.com/svn/thirdparty/mISDN/tags
 | 
						|
http://svn.digium.com/svn/thirdparty/mISDNuser/tags
 | 
						|
 | 
						|
libpri channel driver (chan_dahdi) DAHDI changes
 | 
						|
-------------------------------------------
 | 
						|
 * The channel variable PRIREDIRECTREASON is now just a status variable
 | 
						|
   and it is also deprecated.  Use the REDIRECTING(reason) dialplan function
 | 
						|
   to read and alter the reason.
 | 
						|
 * For Q.SIG and ETSI PRI/BRI-PTP, you should manually send the COLR of the
 | 
						|
   redirected-to party for an incomming redirected call if the incoming call
 | 
						|
   could experience further redirects.  Just set the
 | 
						|
   REDIRECTING(to-num,i) = CALLERID(dnid) and set the REDIRECTING(to-pres)
 | 
						|
   to the COLR.  A call has been redirected if the REDIRECTING(count) is not
 | 
						|
   zero.
 | 
						|
 * For outgoing Q.SIG and ETSI PRI/BRI-PTP redirected calls, you need to
 | 
						|
   use the inhibit(i) option on all of the REDIRECTING statements before
 | 
						|
   dialing the redirected-to party.  You still have to set the
 | 
						|
   REDIRECTING(to-xxx,i) and the REDIRECTING(from-xxx,i) values.  The call
 | 
						|
   will update the redirecting-to presentation (COLR) when it becomes available.
 | 
						|
 * Added the ability to ignore calls that are not in a Multiple Subscriber
 | 
						|
   Number (MSN) list for PTMP CPE interfaces.
 | 
						|
 * Added dynamic range compression support for dahdi channels.  It is
 | 
						|
   configured via the rxdrc and txdrc parameters in chan_dahdi.conf.
 | 
						|
 * Added support for ISDN calling and called subaddress with partial support
 | 
						|
   for connected line subaddress.
 | 
						|
 * Added support for BRI PTMP NT mode. (Requires latest LibPRI.)
 | 
						|
 * Added handling of received HOLD/RETRIEVE messages and the optional ability
 | 
						|
   to transfer a held call on disconnect similar to an analog phone.
 | 
						|
 * Added CallRerouting/CallDeflection support for Q.SIG, ETSI PTP, ETSI PTMP.
 | 
						|
   Will reroute/deflect an outgoing call when receive the message.
 | 
						|
   Can use the DAHDISendCallreroutingFacility to send the message for the
 | 
						|
   supported switches.
 | 
						|
 * Added standard location to add options to chan_dahdi dialing:
 | 
						|
   Dial(DAHDI/g1[/extension[/options]])
 | 
						|
   Current options:
 | 
						|
   K(<keypad_digits>)
 | 
						|
   R Reverse charging indication
 | 
						|
 * Added Reverse Charging Indication (Collect calls) send/receive option.
 | 
						|
   Send reverse charging in SETUP message with the chan_dahdi R dialing option.
 | 
						|
   Dial(DAHDI/g1/extension/R)
 | 
						|
   Access received reverse charge in SETUP message by: ${CHANNEL(reversecharge)}
 | 
						|
   (requires latest LibPRI)
 | 
						|
 * Added ability to send/receive keypad digits in the SETUP message.
 | 
						|
   Send keypad digits in SETUP message with the chan_dahdi K(<keypad_digits>)
 | 
						|
   dialing option.  Dial(DAHDI/g1/[extension]/K(<keypad_digits>))
 | 
						|
   Access any received keypad digits in SETUP message by: ${CHANNEL(keypad_digits)}
 | 
						|
   (requires latest LibPRI)
 | 
						|
 * Added ability to send and receive ETSI Explicit Call Transfer (ECT) messages
 | 
						|
   to eliminate tromboned calls.  A tromboned call goes out an interface and comes
 | 
						|
   back into the same interface.  Tromboned calls happen because of call routing,
 | 
						|
   call deflection, call forwarding, and call transfer.
 | 
						|
 * Added the ability to send and receive ETSI Advice-Of-Charge messages. 
 | 
						|
 * Added the ability to support call waiting calls.  (The SETUP has no B channel
 | 
						|
   assigned.)
 | 
						|
 * Added Malicious Call ID (MCID) event to the AMI call event class.
 | 
						|
 * Added Message Waiting Indication (MWI) support for ISDN PTMP endpoints (phones).
 | 
						|
 | 
						|
Asterisk Manager Interface
 | 
						|
--------------------------
 | 
						|
 * The Hangup action now accepts a Cause header which may be used to
 | 
						|
   set the channel's hangup cause.
 | 
						|
 * sslprivatekey option added to manager.conf and http.conf.  Adds the ability
 | 
						|
   to specify a separate .pem file to hold a private key.  By default sslcert
 | 
						|
   is used to hold both the public and private key.
 | 
						|
 * Options in manager.conf and http.conf with the 'ssl' prefix have been replaced
 | 
						|
   for options containing the 'tls' prefix.  For example, 'sslenable' is now
 | 
						|
   'tlsenable'.  This has been done in effort to keep ssl and tls options consistent
 | 
						|
   across all .conf files. All affected sample.conf files have been modified to
 | 
						|
   reflect this change.  Previous options such as 'sslenable' still work,
 | 
						|
   but options with the 'tls' prefix are preferred.
 | 
						|
 * Added a MuteAudio AMI action for muting inbound and/or outbound audio
 | 
						|
   in a channel. (res_mutestream.so)
 | 
						|
 * The configuration file manager.conf now supports a channelvars option, which
 | 
						|
   specifies a list of channel variables to include in each channel-oriented
 | 
						|
   event.
 | 
						|
 * The redirect command now has new parameters ExtraContext, ExtraExtension, 
 | 
						|
   and ExtraPriority to allow redirecting the second channel to a different
 | 
						|
   location than the first.
 | 
						|
 * Added new event "JabberStatus" in the Jabber module to monitor buddies
 | 
						|
   status.
 | 
						|
 * Added a "MixMonitorMute" AMI action for muting inbound and/or outbound audio
 | 
						|
   in a MixMonitor recording.
 | 
						|
 * The 'iax2 show peers' output is now similar to the expected output of
 | 
						|
   'sip show peers'.
 | 
						|
 * Added Advice-Of-Charge events (AOC-S, AOC-D, and AOC-E) in the new
 | 
						|
   aoc event class.
 | 
						|
 * Added Advice-Of-Charge manager action, AOCMessage, for generating AOC-D and
 | 
						|
   AOC-E messages on a channel.
 | 
						|
 * A DBGetComplete event now follows a DBGetResponse, to make the DBGet action
 | 
						|
   conform more closely to similar events.
 | 
						|
 * Added a new eventfilter option per user to allow whitelisting and blacklisting
 | 
						|
   of events.
 | 
						|
 * Added optional parkinglot variable for park command.
 | 
						|
 * Added ConnectedLineNum and ConnectedLineName headers to AMI events/responses
 | 
						|
   if CallerIDNum and CallerIDName headers are also present.
 | 
						|
 | 
						|
Channel Event Logging
 | 
						|
---------------------
 | 
						|
 * A new interface, CEL, is introduced here. CEL logs single events, much like
 | 
						|
   the AMI, but it differs from the AMI in that it logs to db backends much
 | 
						|
   like CDR does; is based on the event subsystem introduced by Russell, and
 | 
						|
   can share in all its benefits; allows multiple backends to operate like CDR;
 | 
						|
   is specialized to event data that would be of concern to billing sytems,
 | 
						|
   like CDR. Backends for logging and accounting calls have been produced,
 | 
						|
   but a new CDR backend is still in development.
 | 
						|
 | 
						|
CDR
 | 
						|
---
 | 
						|
 * 'linkedid' and 'peeraccount' are new CDR fields available to CDR aficionados.
 | 
						|
   linkedid is based on uniqueID, but spreads to other channels as transfers, dials,
 | 
						|
   etc are performed. Thus the pieces of CDR can be grouped into multilegged sets.
 | 
						|
 * Multiple files and formats can now be specified in cdr_custom.conf.
 | 
						|
 * cdr_syslog has been added which allows CDRs to be written directly to syslog.
 | 
						|
   See configs/cdr_syslog.conf.sample for more information.
 | 
						|
 * A 'sequence' field has been added to CDRs which can be combined with
 | 
						|
   linkedid or uniqueid to uniquely identify a CDR.
 | 
						|
 * Handling of billsec and duration field has changed. If your table definition
 | 
						|
   specifies those fields as float,double or similar they will now be logged with
 | 
						|
   microsecond accuracy instead of a whole integer.
 | 
						|
 | 
						|
Calendaring for Asterisk
 | 
						|
------------------------
 | 
						|
 * A new set of modules were added supporing calendar integration with Asterisk.
 | 
						|
   Dialplan functions for reading from and writing to calendars are included,
 | 
						|
   as well as the ability to execute dialplan logic upon calendar event notifications.
 | 
						|
   iCalendar, CalDAV, and Exchange Server calendars (via res_calendar_exchange for
 | 
						|
   Exchange Server 2003 with no write or attendee support, and res_calendar_ews for
 | 
						|
   Exchange Server 2007+ with full write and attendee support) are supported (Exchange
 | 
						|
   2003 support does not support forms-based authentication).
 | 
						|
 | 
						|
Call Completion Supplementary Services for Asterisk
 | 
						|
---------------------------------------------------
 | 
						|
 * Call completion support has been added for SIP, DAHDI/ISDN, and DAHDI/analog.
 | 
						|
   DAHDI/ISDN supports call completion for the following switch types:
 | 
						|
   EuroIsdn(ETSI) for PTP and PTMP modes, and Qsig.
 | 
						|
   See http://wiki.asterisk.org for details.
 | 
						|
 | 
						|
Multicast RTP Support
 | 
						|
---------------------
 | 
						|
 * A new RTP engine and channel driver have been added which supports Multicast RTP.
 | 
						|
   The channel driver can be used with the Page application to perform multicast RTP
 | 
						|
   paging. The dial string format is: MulticastRTP/<type>/<destination>/<control address>
 | 
						|
   Type can be either basic or linksys.
 | 
						|
   Destination is the IP address and port for the RTP packets.
 | 
						|
   Control address is specific to the linksys type and is used for sending the control
 | 
						|
   packets unique to them.
 | 
						|
 | 
						|
Security Events Framework
 | 
						|
-------------------------
 | 
						|
 * Asterisk has a new C API for reporting security events.  The module res_security_log
 | 
						|
   sends these events to the "security" logger level.  Currently, AMI is the only
 | 
						|
   Asterisk component that reports security events.  However, SIP support will be
 | 
						|
   coming soon.  For more information on the security events framework, see the
 | 
						|
   "Security Events" chapter of the included documentation - doc/AST.pdf.
 | 
						|
 | 
						|
Fax
 | 
						|
---
 | 
						|
 * A technology independent fax frontend (res_fax) has been added to Asterisk.
 | 
						|
 * A spandsp based fax backend (res_fax_spandsp) has been added.
 | 
						|
 * The app_fax module has been deprecated in favor of the res_fax module and
 | 
						|
   the new res_fax_spandsp backend.
 | 
						|
 * The SendFAX and ReceiveFAX applications now send their log messages to a
 | 
						|
   'fax' logger level, instead of to the generic logger levels. To see these
 | 
						|
   messages, the system's logger.conf file will need to direct the 'fax' logger
 | 
						|
   level to one or more destinations; the logger.conf.sample file includes an
 | 
						|
   example of how to do this. Note that if the 'fax' logger level is *not*
 | 
						|
   directed to at least one destination, log messages generated by these
 | 
						|
   applications will be lost, and that if the 'fax' logger level is directed to
 | 
						|
   the console, the 'core set verbose' and 'core set debug' CLI commands will
 | 
						|
   have no effect on whether the messages appear on the console or not.
 | 
						|
 | 
						|
Miscellaneous
 | 
						|
-------------
 | 
						|
 * The transmit_silence_during_record option in asterisk.conf.sample has been removed.
 | 
						|
   Now, in order to enable transmitting silence during record the transmit_silence
 | 
						|
   option should be used.  transmit_silence_during_record remains a valid option, but
 | 
						|
   defaults to the behavior of the transmit_silence option.
 | 
						|
 * Addition of the Unit Test Framework API for managing registration and execution
 | 
						|
   of unit tests with the purpose of verifying the operation of C functions.
 | 
						|
 * SendText is now implemented in chan_gtalk and chan_jingle. It will simply send
 | 
						|
   XMPP text messages to the remote JID.
 | 
						|
 * Modules.conf has a new option - "require" - that marks a module as critical for 
 | 
						|
   the execution of Asterisk.
 | 
						|
   If one of the required modules fail to load, Asterisk will exit with a return
 | 
						|
   code set to 2.
 | 
						|
 * An 'X' option has been added to the asterisk application which enables #exec support.
 | 
						|
   This allows #exec to be used in asterisk.conf.
 | 
						|
 * jabber.conf supports a new option auth_policy that toggles auto user registration.
 | 
						|
 * A new lockconfdir option has been added to asterisk.conf to protect the
 | 
						|
   configuration directory (/etc/asterisk by default) during reloads.
 | 
						|
 * The parkeddynamic option has been added to features.conf to enable the creation
 | 
						|
   of dynamic parkinglots.
 | 
						|
 * chan_dahdi now supports reporting alarms over AMI either by channel or span via
 | 
						|
   the reportalarms config option.
 | 
						|
 * chan_dahdi supports dialing configuring and dialing by device file name.
 | 
						|
   DAHDI/span-name!local!1 will use /dev/dahdi/span-name/local/1 . Likewise
 | 
						|
   it may appear in chan_dahdi.conf as 'channel => span-name!local!1'.
 | 
						|
 * A new options for chan_dahdi.conf: 'ignore_failed_channels'. Boolean.
 | 
						|
   False by default. If set, chan_dahdi will ignore failed 'channel' entries.
 | 
						|
   Handy for the above name-based syntax as it does not depend on
 | 
						|
   initialization order.
 | 
						|
 * The Realtime dialplan switch now caches entries for 1 second.  This provides a
 | 
						|
   significant increase in performance (about 3X) for installations using this switchtype.
 | 
						|
 * Distributed devicestate now supports the use of the XMPP protocol, in addition to
 | 
						|
   AIS.  For more information, please see http://wiki.asterisk.org
 | 
						|
 * The addition of G.719 pass-through support.
 | 
						|
 * Added support for 16khz Speex audio.  This can be enabled by using 'allow=speex16'
 | 
						|
   during device configuration.
 | 
						|
 * The UNISTIM channel driver (chan_unistim) has been updated to support devices that
 | 
						|
   have less than 3 lines on the LCD.
 | 
						|
 * Realtime now supports database failover.  See the sample extconfig.conf for details.
 | 
						|
 * The addition of improved translation path building for wideband codecs.  Sample
 | 
						|
   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.
 | 
						|
 | 
						|
CLI Changes
 | 
						|
-----------
 | 
						|
 * The 'core set debug' and 'core set verbose' commands, in previous versions, could
 | 
						|
   optionally accept a filename, to apply the setting only to the code generated from
 | 
						|
   that source file when Asterisk was built. However, there are some modules in Asterisk
 | 
						|
   that are composed of multiple source files, so this did not result in the behavior
 | 
						|
   that users expected. In this version, 'core set debug' and 'core set verbose'
 | 
						|
   can optionally accept *module* names instead (with or without the .so extension),
 | 
						|
   which applies the setting to the entire module specified, regardless of which source
 | 
						|
   files it was built from.
 | 
						|
 * New 'manager show settings' command showing the current settings loaded from
 | 
						|
   manager.conf. 
 | 
						|
 * Added 'all' keyword to the CLI command "channel request hangup" so that you can send
 | 
						|
   the channel hangup request to all channels.
 | 
						|
 * Added a "core reload" CLI command that executes a global reload of Asterisk.
 | 
						|
 | 
						|
------------------------------------------------------------------------------
 | 
						|
--- Functionality changes from Asterisk 1.6.1 to Asterisk 1.6.2  -------------
 | 
						|
------------------------------------------------------------------------------
 | 
						|
 | 
						|
SIP Changes
 | 
						|
-----------
 | 
						|
 * Added support for SUBSCRIBE/NOTIFY with dialog-info based call pickups.
 | 
						|
   Snom phones use this for call pickup of extensions that the phone is
 | 
						|
   subscribed to.
 | 
						|
 * Added support for setting the domain in the URI for caller of an
 | 
						|
   outbound call by using the SIPFROMDOMAIN channel variable.
 | 
						|
 * Added a new configuration option "remotesecret" for authentication to
 | 
						|
   remote services. For backwards compatibility, "secret" still has the
 | 
						|
   same function as before, but now you can configure both a remote secret and a
 | 
						|
   local secret for mutual authentication.
 | 
						|
 * If the channel variable  ATTENDED_TRANSFER_COMPLETE_SOUND is set, 
 | 
						|
   the sound will be played to the target of an attended transfer
 | 
						|
 * Added two new configuration options, "qualifygap" and "qualifypeers", which allow
 | 
						|
   finer control over how many peers Asterisk will qualify and the gap between them
 | 
						|
   when all peers need to be qualified at the same time.
 | 
						|
 * Added a new 'ignoresdpversion' option to sip.conf.  When this is enabled
 | 
						|
   (either globally or for a specific peer), chan_sip will treat any SDP data
 | 
						|
   it receives as new data and update the media stream accordingly.  By
 | 
						|
   default, Asterisk will only modify the media stream if the SDP session
 | 
						|
   version received is different from the current SDP session version.  This
 | 
						|
   option is required to interoperate with devices that have non-standard SDP
 | 
						|
   session version implementations (observed with Microsoft OCS).  This option
 | 
						|
   is disabled by default.
 | 
						|
 * The parsing of register => lines in sip.conf has been modified to allow a port
 | 
						|
   to be present in the "user" portion. Please see the sip.conf.sample file for more
 | 
						|
   information
 | 
						|
 * Added support for subscribing to MWI on a remote server and making the status available
 | 
						|
   as a mailbox. Please see the sip.conf.sample file for more information.
 | 
						|
 * Added a function to remove SIP headers added in the dialplan before the
 | 
						|
   first INVITE is generated - SIPRemoveHeader()
 | 
						|
 * Channel variables set with setvar= in a device configuration is now 
 | 
						|
   set both for inbound and outbound calls.
 | 
						|
 * Added support for ITU G.722.1 and G.722.1C (Siren7 and Siren14) media streams.
 | 
						|
 | 
						|
IAX2 changes
 | 
						|
------------
 | 
						|
  * Added immediate option to iax.conf
 | 
						|
  * Added forceencryption option to iax.conf
 | 
						|
  * Added Encryption and Trunk status to manager command "iaxpeers"
 | 
						|
 | 
						|
Skinny Changes
 | 
						|
--------------
 | 
						|
 * The configuration file now holds separate sections for devices and lines.
 | 
						|
   Please have a look at configs/skinny.conf.sample and change your skinny.conf
 | 
						|
   accordingly.
 | 
						|
 | 
						|
DAHDI Changes
 | 
						|
-------------
 | 
						|
 * chan_dahdi now supports MFC/R2 signaling when Asterisk is compiled with
 | 
						|
   support for LibOpenR2.  http://www.libopenr2.org/
 | 
						|
 * The UK option waitfordialtone has been added for use with BT analog
 | 
						|
   lines.
 | 
						|
 * Added a 'faxbuffers' configuration option to chan_dahdi.conf.  This option
 | 
						|
   is used in conjunction with the 'faxdetect' configuration option.  When
 | 
						|
   'faxbuffers' is used and fax tones are detected, the channel will dynamically
 | 
						|
   switch to the configured faxbuffers policy.  For example, to use 6 buffers
 | 
						|
   and a 'full' buffer policy for a fax transmission, add:
 | 
						|
     faxbuffers=>6,full
 | 
						|
   The faxbuffers configuration will be in affect until the call is torn down.
 | 
						|
 * Added service message support for 4ESS/5ESS switches.
 | 
						|
 | 
						|
Dialplan Functions
 | 
						|
------------------
 | 
						|
 * For DAHDI channels, the CHANNEL() dialplan function now
 | 
						|
   supports changing the channel's buffer policy (for the current
 | 
						|
   call only), using this syntax:
 | 
						|
 | 
						|
   exten => s,n,Set(CHANNEL(buffers)=6,full)
 | 
						|
 | 
						|
   This would change the channel to the 'full' buffer policy and
 | 
						|
   6 (six) buffers. Possible options for this setting are the same
 | 
						|
   as those in chan_dahdi.conf.
 | 
						|
 * Added a new dialplan function, CURLOPT, which permits setting various
 | 
						|
   options that may be useful with the CURL dialplan function, such as
 | 
						|
   cookies, proxies, connection timeouts, passwords, etc.
 | 
						|
 * Permit the syntax and synopsis fields of the corresponding dialplan
 | 
						|
   functions to be individually set from func_odbc.conf.
 | 
						|
 * Added debugging CLI functions to func_odbc, 'odbc read' and 'odbc write'.
 | 
						|
 * func_odbc now may specify an insert query to execute, when the write query
 | 
						|
   affects 0 rows (usually indicating that no such row exists).
 | 
						|
 * Added a new dialplan function, LISTFILTER, which permits removing elements
 | 
						|
   from a set list, by name.  Uses the same general syntax as the existing CUT
 | 
						|
   and FIELDQTY dialplan functions, which also manage lists.
 | 
						|
 * Added REALTIME_FIELD and REALTIME_HASH, which should aid users in better
 | 
						|
   obtaining realtime data from the dialplan.
 | 
						|
 * Added LOCAL_PEEK, which allows access to variables in any stack frame within
 | 
						|
   a subroutine when using the GoSub() and Return() applications.
 | 
						|
 * Added AUDIOHOOK_INHERIT. For information on its use, please see the output
 | 
						|
   of "core show function AUDIOHOOK_INHERIT" from the CLI
 | 
						|
 * Added AES_ENCRYPT. For information on its use, please see the output
 | 
						|
   of "core show function AES_ENCRYPT" from the CLI
 | 
						|
 * Added AES_DECRYPT. For information on its use, please see the output
 | 
						|
   of "core show function AES_DECRYPT" from the CLI
 | 
						|
 * func_odbc now supports database transactions across multiple queries.
 | 
						|
 | 
						|
Applications
 | 
						|
------------
 | 
						|
 * Scheduled meetme conferences may now have their end times extended by
 | 
						|
   using MeetMeAdmin.
 | 
						|
 * app_authenticate now gives the ability to select a prompt other than
 | 
						|
   the default.
 | 
						|
 * app_directory now pays attention to the searchcontexts setting in
 | 
						|
   voicemail.conf and will look through all contexts, if no context is
 | 
						|
   specified in the initial argument.
 | 
						|
 * A new application, Originate, has been introduced, that allows asynchronous
 | 
						|
   call origination from the dialplan.
 | 
						|
 * Voicemail now permits setting the emailsubject and emailbody per mailbox,
 | 
						|
   in addition to the setting in the "general" context.
 | 
						|
 * Added ConfBridge dialplan application which does conference bridges without
 | 
						|
   DAHDI. For information on its use, please see the output of
 | 
						|
   "core show application ConfBridge" from the CLI.
 | 
						|
 | 
						|
Miscellaneous
 | 
						|
-------------
 | 
						|
 * The Asterisk CLI has a new command, "channel redirect", which is similar in
 | 
						|
   operation to the AMI Redirect action.
 | 
						|
 * extensions.conf now allows you to use keyword "same" to define an extension
 | 
						|
   without actually specifying an extension.  It uses exactly the same pattern
 | 
						|
   as previously used on the last "exten" line.  For example:
 | 
						|
     exten => 123,1,NoOp(something)
 | 
						|
     same  =>     n,SomethingElse()
 | 
						|
 * musiconhold.conf classes of type 'files' can now use relative directory paths,
 | 
						|
   which are interpreted as relative to the astvarlibdir setting in asterisk.conf.
 | 
						|
 * All deprecated CLI commands are removed from the sourcecode. They are now handled
 | 
						|
   by the new clialiases module. See cli_aliases.conf.sample file.
 | 
						|
 * Times within timespecs are now accurate down to the minute.  This is a change
 | 
						|
   from historical Asterisk, which only provided timespecs rounded to the nearest
 | 
						|
   even (read: evenly divisible by 2) minute mark.
 | 
						|
 * The realtime switch now supports an option flag, 'p', which disables searches for
 | 
						|
   pattern matches.
 | 
						|
 * In addition to a time range and date range, timespecs now accept a 5th optional
 | 
						|
   argument, timezone.  This allows you to perform time checks on alternate
 | 
						|
   timezones, especially if those daylight savings time ranges vary from your
 | 
						|
   machine's native timezone.  See GotoIfTime, ExecIfTime, IFTIME(), and timed
 | 
						|
   includes.
 | 
						|
 * The contrib/scripts/ directory now has a script called sip_nat_settings that will
 | 
						|
   give you the correct output for an asterisk box behind nat. It will give you the
 | 
						|
   externhost and localnet settings.
 | 
						|
 * The Asterisk core now supports ITU G.722.1 and G.722.1C media streams, and
 | 
						|
   can connect calls in passthrough mode, as well as record and play back files.
 | 
						|
 * Successful and unsuccessful call pickup can now be alerted through sounds, by
 | 
						|
   using pickupsound and pickupfailsound in features.conf.
 | 
						|
 * ASTVARRUNDIR is now set to $(localstatedir)/run/asterisk by default.
 | 
						|
   This means the asterisk pid file will now be in /var/run/asterisk/asterisk.pid on LINUX
 | 
						|
   instead of the /var/run/asterisk.pid where it used to be. This will make
 | 
						|
   installs as non-root easier to manage.
 | 
						|
 | 
						|
CDR
 | 
						|
---
 | 
						|
 | 
						|
* The cdr.conf file must exist and be correctly programmed in order for CDR records to
 | 
						|
  be written; they will no longer be explicitly written.
 | 
						|
 | 
						|
Asterisk Manager Interface
 | 
						|
--------------------------
 | 
						|
 * When using the AMI over HTTP, you can now include a 'SuppressEvents' header (with
 | 
						|
   a non-empty value) in your request. If you do this, any pending AMI events will
 | 
						|
   *not* be included in the response to your request as they would normally, but
 | 
						|
   will be left in the event queue for the next request you make to retrieve. For
 | 
						|
   some applications, this will allow you to guarantee that you will only see
 | 
						|
   events in responses to 'WaitEvent' actions, and can better know when to expect them.
 | 
						|
   To know whether the Asterisk server supports this header or not, your client can
 | 
						|
   inspect the first response back from the server to see if it includes this header:
 | 
						|
 | 
						|
   Pragma: SuppressEvents
 | 
						|
 | 
						|
   If this is included, the server supports event suppression.
 | 
						|
 | 
						|
 * Added 4 new Actions to list skinny device(s) and line(s)
 | 
						|
   SKINNYdevices
 | 
						|
   SKINNYshowdevice
 | 
						|
   SKINNYlines
 | 
						|
   SKINNYshowline
 | 
						|
 | 
						|
LDAP Schema File Additions
 | 
						|
--------------------------
 | 
						|
 * Added AsteriskDialplan, AsteriskAccount and AsteriskMailbox  objectClasses
 | 
						|
   to allow standalone dialplan, account and mailbox entries (STRUCTURAL)
 | 
						|
 * Added new Fields:
 | 
						|
   - AstAccountLanguage, AstAccountTransport, AstAccountPromiscRedir,
 | 
						|
   - AstAccountAccountCode, AstAccountSetVar, AstAccountAllowOverlap,
 | 
						|
   - AstAccountVideoSupport, AstAccountIgnoreSDPVersion
 | 
						|
 * Removed redundant IPaddr (there's already IPAddress)
 | 
						|
   - Gives more configuration Flags for SIP-Users available (tested)
 | 
						|
   - Allows to create Asterisk Attributes in defined Asterisk ObjectClasses
 | 
						|
     without extensibleObject (which really should be the last resort); gives
 | 
						|
     also additional possibilities for LDAP-filter 
 | 
						|
 | 
						|
------------------------------------------------------------------------------
 | 
						|
--- Functionality changes from Asterisk 1.6.0 to Asterisk 1.6.1  -------------
 | 
						|
------------------------------------------------------------------------------
 | 
						|
 | 
						|
Device State Handling
 | 
						|
---------------------
 | 
						|
 * The event infrastructure in Asterisk got another big update to help support
 | 
						|
    distributed events.  It currently supports distributed device state and
 | 
						|
    distributed Voicemail MWI (Message Waiting Indication).  A new module has
 | 
						|
    been merged, res_ais, which facilitates communicating events between servers.
 | 
						|
    It uses the SAForum AIS (Service Availability Forum Application Interface
 | 
						|
    Specification) CLM (Cluster Management) and EVT (Event) services to maintain
 | 
						|
    a cluster of Asterisk servers, and to share events between them.  For more
 | 
						|
    information on setting this up, see http://wiki.asterisk.org.
 | 
						|
 | 
						|
Dialplan Functions
 | 
						|
------------------
 | 
						|
 * Added a new dialplan function, AST_CONFIG(), which allows you to access
 | 
						|
   variables from an Asterisk configuration file.
 | 
						|
 * The JACK_HOOK function now has a c() option to supply a custom client name.
 | 
						|
 * Added two new dialplan functions from libspeex for audio gain control and 
 | 
						|
   denoise, AGC() and DENOISE(). Both functions can be applied to the tx and 
 | 
						|
   rx directions of a channel from the dialplan.
 | 
						|
 * The SMDI_MSG_RETRIEVE function now has the ability to search for SMDI messages
 | 
						|
   based on other parameters.  The default is still to search based on the
 | 
						|
   forwarding station ID.  However, there are new options that allow you to search
 | 
						|
   based on the message desk terminal ID, or the message desk number.
 | 
						|
 * TIMEOUT() has been modified to be accurate down to the millisecond.
 | 
						|
 * ENUM*() functions now include the following new options:
 | 
						|
     - 'u' returns the full URI and does not strip off the URI-scheme.
 | 
						|
     - 's' triggers ISN specific rewriting
 | 
						|
     - 'i' looks for branches into an Infrastructure ENUM tree
 | 
						|
     - 'd' for a direct DNS lookup without any flipping of digits.
 | 
						|
 * TXCIDNAME() has a new zone-suffix parameter (which defaults to 'e164.arpa')
 | 
						|
 * CHANNEL() now has options for the maximum, minimum, and standard or normal
 | 
						|
   deviation of jitter, rtt, and loss for a call using chan_sip.
 | 
						|
 | 
						|
DAHDI channel driver (chan_dahdi) Changes
 | 
						|
----------------------------------------
 | 
						|
 * Channels can now be configured using named sections in chan_dahdi.conf, just
 | 
						|
   like other channel drivers, including the use of templates.
 | 
						|
 * The default for pridialplan has changed from 'national' to 'unknown'.
 | 
						|
 | 
						|
PBX Changes
 | 
						|
-----------
 | 
						|
 * It is now possible to specify a pattern match as a hint. Once a phone subscribes
 | 
						|
   to something that matches the pattern a hint will be created using the contents
 | 
						|
   and variables evaluated.
 | 
						|
 * Dialplan matching has been extended to allow an extension to return to the
 | 
						|
   PBX core to wait for more digits.  This is done by using the new dialplan
 | 
						|
   application called "Incomplete".  This will permit a whole new level of
 | 
						|
   extension control, by giving the administrator more control over early
 | 
						|
   matches employing one of the short-circuit pattern match operators.  Note
 | 
						|
   that custom applications can trigger this same behavior by returning the
 | 
						|
   special value AST_PBX_INCOMPLETE.
 | 
						|
 | 
						|
Application Changes
 | 
						|
-------------------
 | 
						|
 * Directory now permits both first and last names to be matched at the same
 | 
						|
   time.  In addition, the number of digits to enter of the name can be set in
 | 
						|
   the arguments to Directory; previously, you could enter only 3, regardless
 | 
						|
   of how many names are in your company.  For large companies, this should be
 | 
						|
   quite helpful.
 | 
						|
 * Voicemail now permits a mailbox setting to wrap around from first to last
 | 
						|
   messages, if the "messagewrap" option is set to a true value.
 | 
						|
 * Voicemail now permits an external script to be run, for password validation.
 | 
						|
   The script should output "VALID" or "INVALID" on stdout, depending upon the
 | 
						|
   wish to validate or invalidate the password given.  Arguments are:
 | 
						|
   "mailbox" "context" "oldpass" "newpass".  See the sample voicemail.conf for
 | 
						|
   more details
 | 
						|
 * Dial has a new option: F(context^extension^pri), which permits a callee to
 | 
						|
   continue in the dialplan, at the specified label, if the caller hangs up.
 | 
						|
 * ChanSpy and ExtenSpy have a new option, 's' which suppresses speaking the
 | 
						|
   technology name (e.g. SIP, IAX, etc) of the channel being spied on.
 | 
						|
 * The Jack application now has a c() option to supply a custom client name.
 | 
						|
 * Chanspy has a new option, 'B', which can be used to "barge" on a call. This is
 | 
						|
   like the pre-existing whisper mode, except that the spy can also talk to the
 | 
						|
   participant on the bridged channel as well.
 | 
						|
 * Chanspy has a new option, 'n', which will allow for the spied-on party's name
 | 
						|
   to be spoken instead of the channel name or number. For more information on the
 | 
						|
   use of this option, issue the command "core show application ChanSpy" from the 
 | 
						|
   Asterisk CLI.
 | 
						|
 * Chanspy has a new option, 'd', which allows the spy to use DTMF to swap between
 | 
						|
   spy modes. Use of this feature overrides the typical use of numeric DTMF. In other
 | 
						|
   words, if using the 'd' option, it is not possible to enter a number to append to
 | 
						|
   the first argument to Chanspy(). Pressing 4 will change to spy mode, pressing 5 will
 | 
						|
   change to whisper mode, and pressing 6 will change to barge mode.
 | 
						|
 * ExternalIVR now takes several options that affect the way it performs, as
 | 
						|
   well as having several new commands.  Please see http://wiki.asterisk.org for the
 | 
						|
   complete documentation.
 | 
						|
 * Added ability to communicate over a TCP socket instead of forking a child process for the 
 | 
						|
   ExternalIVR application.
 | 
						|
 * ChanIsAvail has a new option, 'a', which will return all available channels instead
 | 
						|
   of just the first one if you give the function more then one channel to check.
 | 
						|
 * PrivacyManager now takes an option where you can specify a context where the 
 | 
						|
   given number will be matched. This way you have more control over who is allowed
 | 
						|
   and it stops the people who blindly enter 10 digits.
 | 
						|
 * ForkCDR has new options: 'a' updates the answer time on the new CDR; 'A' locks
 | 
						|
   answer times, disposition, on orig CDR against updates; 'D' Copies the disposition
 | 
						|
   from the orig CDR to the new CDR after reset; 'e' sets the 'end' time on the
 | 
						|
   original CDR; 'R' prevents the new CDR from being reset; 's(var=val)' adds/changes
 | 
						|
   the 'var' variable on the original CDR; 'T' forces ast_cdr_end(), ast_cdr_answer(),
 | 
						|
   obey the LOCKED flag on cdr's in the chain, and also the ast_cdr_setvar() func.
 | 
						|
 * The Dial() application no longer copies the language used by the caller to the callee's
 | 
						|
   channel. If you desire for the caller's channel's language to be used for file playback
 | 
						|
   to the callee, then the file specified may be prepended with "${CHANNEL(language)}/" .
 | 
						|
 * SendImage() no longer hangs up the channel on error; instead, it sets the
 | 
						|
   status variable SENDIMAGESTATUS to one of 'SUCCESS', 'FAILURE', or
 | 
						|
   'UNSUPPORTED'.  This change makes SendImage() more consistent with other
 | 
						|
   applications.
 | 
						|
 * Park has a new option, 's', which silences the announcement of the parking space number.
 | 
						|
 * A non-numeric, zero, or negative timeout specified to Dial() will now be interpreted as
 | 
						|
   invalid input and will be assumed to mean that no timeout is desired.
 | 
						|
 | 
						|
SIP Changes
 | 
						|
-----------
 | 
						|
 * Added DNS manager support to registrations for peers referencing peer entries.
 | 
						|
   DNS manager runs in the background which allows DNS lookups to be run asynchronously 
 | 
						|
   as well as periodically updating the IP address. These properties allow for
 | 
						|
   better performance as well as recovery in the event of an IP change.
 | 
						|
 * Performance improvements via using hash tables (astobj2) and doubly-linked lists to improve 
 | 
						|
   load/reload of large numbers of peers/users by ~40x (for large lists of peers).
 | 
						|
   These changes also provide performance improvements for call setup and tear down.
 | 
						|
 * Added ability to specify registration expiry time on a per registration basis in
 | 
						|
   the register line.
 | 
						|
 * Added support for T140 RED - redundancy in T.140 to prevent text loss due to
 | 
						|
   lost packets.
 | 
						|
 * Added t38pt_usertpsource option. See sip.conf.sample for details.
 | 
						|
 * Added SIPnotify AMI command, for sending arbitrary SIP notify commands.
 | 
						|
 * 'sip show peers' and 'sip show users' display their entries sorted in
 | 
						|
    alphabetical order, as opposed to the order they were in, in the config 
 | 
						|
    file or database. 
 | 
						|
 * Videosupport now supports an additional option, "always", which always sets
 | 
						|
    up video RTP ports, even on clients that don't support it.  This helps with
 | 
						|
    callfiles and certain transfers to ensure that if two video phones are
 | 
						|
    connected, they will always share video feeds.
 | 
						|
 | 
						|
IAX Changes
 | 
						|
-----------
 | 
						|
 * Existing DNS manager lookups extended to check for SRV records.
 | 
						|
 * IAX2 encryption support has been improved to support periodic key rotation
 | 
						|
   within a call for enhanced security.  The option "keyrotate" has been
 | 
						|
   provided to disable this functionality to preserve backwards compatibility
 | 
						|
   with older versions of IAX2 that do not support key rotation.
 | 
						|
 | 
						|
CLI Changes
 | 
						|
-----------
 | 
						|
  * New CLI command, "data get <path> [<search> [<filter>]]" which retrieves the
 | 
						|
     data tree based on the given <path>.
 | 
						|
  * New CLI command "data show providers" that will display all the registered
 | 
						|
     callbacks.
 | 
						|
  * New CLI command, "config reload <file.conf>" which reloads any module that
 | 
						|
     references that particular configuration file.  Also added "config list"
 | 
						|
     which shows which configuration files are in use.
 | 
						|
  * New CLI commands, "pri show version" and "ss7 show version" that will
 | 
						|
     display which version of libpri and libss7 are being used, respectively.
 | 
						|
     A new API call was added so trunk will now have to be compiled against
 | 
						|
     a versions of libpri and libss7 that have them or it will not know that
 | 
						|
     these libraries exist.
 | 
						|
  * The commands "core show globals", "core set global" and "core set chanvar" has
 | 
						|
     been deprecated in favor of the more semanticly correct "dialplan show globals",
 | 
						|
     "dialplan set chanvar" and "dialplan set global".
 | 
						|
  * New CLI command "dialplan show chanvar" to list all variables associated
 | 
						|
    with a given channel.
 | 
						|
 | 
						|
DNS manager changes
 | 
						|
-------------------
 | 
						|
  * Addresses managed by DNS manager now can check to see if there is a DNS
 | 
						|
    SRV record for a given domain and will use that hostname/port if present.
 | 
						|
 | 
						|
AMI - The manager (TCP/TLS/HTTP)
 | 
						|
--------------------------------
 | 
						|
  * The Status command now takes an optional list of variables to display
 | 
						|
    along with channel status.
 | 
						|
  * The QueueEntry event now also includes the channel's uniqueid
 | 
						|
 | 
						|
ODBC Changes
 | 
						|
------------
 | 
						|
  * res_odbc no longer has a limit of 1023 total possible unshared connections,
 | 
						|
    as some people were running into this limit.  This limit has been increased
 | 
						|
    to 4.2 billion.
 | 
						|
 | 
						|
Queue changes
 | 
						|
-------------
 | 
						|
  * The TRANSFER queue log entry now includes the the caller's original
 | 
						|
    position in the transferred-from queue.
 | 
						|
  * A new configuration option, "timeoutpriority" has been added. Please see the section labeled
 | 
						|
    "QUEUE TIMING OPTIONS" in configs/queues.conf.sample for a detailed explanation of the option
 | 
						|
    as well as an explanation about timeout options in general
 | 
						|
  * Added a new option - C - for forcing the "answered elsewhere" flag on
 | 
						|
    cancellation of calls in to members of the queue. This is to avoid the
 | 
						|
    call to a member of a queue having the call listed as a "missed call".
 | 
						|
 | 
						|
Realtime changes
 | 
						|
----------------
 | 
						|
  * Several (ODBC, Postgres, MySQL, SQLite) realtime drivers have been given
 | 
						|
    adaptive capabilities.  What this means in practical terms is that if your
 | 
						|
    realtime table lacks critical fields, Asterisk will now emit warnings to
 | 
						|
    that effect.  Also, some of the realtime drivers have the ability (if
 | 
						|
    configured) to automatically add those columns to the table with the
 | 
						|
    correct type and length.
 | 
						|
 | 
						|
Miscellaneous
 | 
						|
-------------
 | 
						|
  * The channel variable ATTENDED_TRANSFER_COMPLETE_SOUND can now be set using
 | 
						|
    the 'setvar' option to cause a given audio file to be played upon completion
 | 
						|
    of an attended transfer.  Currently it works for DAHDI, IAX2, SIP, and
 | 
						|
    Skinny channels only.
 | 
						|
  * You can now compile Asterisk against the Hoard Memory Allocator, see 
 | 
						|
    http://wiki.asterisk.org for more information.
 | 
						|
  * Config file variables may now be appended to, by using the '+=' append
 | 
						|
    operator.  This is most helpful when working with long SQL queries in
 | 
						|
    func_odbc.conf, as the queries no longer need to be specified on a single
 | 
						|
    line.
 | 
						|
  * CDR config file, cdr.conf, has an added option, "initiatedseconds", 
 | 
						|
    which will add a second to the billsec when the ending
 | 
						|
    time is set, if the number in the microseconds field of the end time is 
 | 
						|
    greater than the number of microseconds in the answer time. This allows
 | 
						|
    users to count the 'initiated' seconds in their billing records. 
 | 
						|
 | 
						|
------------------------------------------------------------------------------
 | 
						|
--- Functionality changes from Asterisk 1.4.X to Asterisk 1.6.0  -------------
 | 
						|
------------------------------------------------------------------------------
 | 
						|
 | 
						|
AMI - The manager (TCP/TLS/HTTP)
 | 
						|
--------------------------------
 | 
						|
  * Manager has undergone a lot of changes, all of them documented
 | 
						|
    in http://wiki.asterisk.org
 | 
						|
  * Manager version has changed to 1.1
 | 
						|
  * Added a new action 'CoreShowChannels' to list currently defined channels
 | 
						|
     and some information about them. 
 | 
						|
  * Added a new action 'SIPshowregistry' to list SIP registrations.
 | 
						|
  * Added TLS support for the manager interface and HTTP server
 | 
						|
  * Added the URI redirect option for the built-in HTTP server
 | 
						|
  * The output of CallerID in Manager events is now more consistent.
 | 
						|
     CallerIDNum is used for number and CallerIDName for name.
 | 
						|
  * Enable https support for builtin web server.
 | 
						|
     See configs/http.conf.sample for details.
 | 
						|
  * Added a new action, GetConfigJSON, which can return the contents of an
 | 
						|
     Asterisk configuration file in JSON format.  This is intended to help
 | 
						|
     improve the performance of AJAX applications using the manager interface
 | 
						|
     over HTTP.
 | 
						|
  * SIP and IAX manager events now use "ChannelType" in all cases where we 
 | 
						|
     indicate channel driver. Previously, we used a mixture of "Channel"
 | 
						|
     and "ChannelDriver" headers.
 | 
						|
  * Added a "Bridge" action which allows you to bridge any two channels that
 | 
						|
     are currently active on the system.
 | 
						|
  * Added a "ListAllVoicemailUsers" action that allows you to get a list of all
 | 
						|
     the voicemail users setup.
 | 
						|
  * Added 'DBDel' and 'DBDelTree' manager commands.
 | 
						|
  * cdr_manager now reports events via the "cdr" level, separating it from
 | 
						|
     the very verbose "call" level.
 | 
						|
  * Manager users are now stored in memory. If you change the manager account
 | 
						|
    list (delete or add accounts) you need to reload manager.
 | 
						|
  * Added Masquerade manager event for when a masquerade happens between
 | 
						|
     two channels.
 | 
						|
  * Added "manager reload" command for the CLI
 | 
						|
  * Lots of commands that only provided information are now allowed under the
 | 
						|
     Reporting privilege, instead of only under Call or System.
 | 
						|
  * The IAX* commands now require either System or Reporting privilege, to
 | 
						|
     mirror the privileges of the SIP* commands.
 | 
						|
  * Added ability to retrieve list of categories in a config file.
 | 
						|
  * Added ability to retrieve the content of a particular category.
 | 
						|
  * Added ability to empty a context.
 | 
						|
  * Created new action to create a new file.
 | 
						|
  * Updated delete action to allow deletion by line number with respect to category.
 | 
						|
  * Added new action insert to add new variable to category at specified line.
 | 
						|
  * Updated action newcat to allow new category to be inserted in file above another
 | 
						|
    existing category.
 | 
						|
  * Added new event "JitterBufStats" in the IAX2 channel
 | 
						|
  * Originate now requires the Originate privilege and, if you want to call out
 | 
						|
    to a subshell, it requires the System privilege, as well.  This was done to
 | 
						|
    enhance manager security.
 | 
						|
  * Originate now accepts codec settings with "Codecs: alaw, ulaw, h264" 
 | 
						|
  * New command: Atxfer. See http://wiki.asterisk.org for more details or 
 | 
						|
    manager show command Atxfer from the CLI
 | 
						|
  * New command: IAXregistry. See http://wiki.asterisk.org for more details or
 | 
						|
    manager show command IAXregistry from the CLI
 | 
						|
 | 
						|
Dialplan functions
 | 
						|
------------------
 | 
						|
  * Added the DEVICE_STATE() dialplan function which allows retrieving any device
 | 
						|
     state in the dialplan, as well as creating custom device states that are
 | 
						|
     controllable from the dialplan.
 | 
						|
  * Extend CALLERID() function with "pres" and "ton" parameters to
 | 
						|
     fetch string representation of calling number presentation indicator
 | 
						|
     and numeric representation of type of calling number value.
 | 
						|
  * MailboxExists converted to dialplan function
 | 
						|
  * A new option to Dial() for telling IP phones not to count the call
 | 
						|
     as "missed" when dial times out and cancels.
 | 
						|
  * Added LOCK(), TRYLOCK(), and UNLOCK(), which provide a single level dialplan
 | 
						|
     mutex.  No deadlocks are possible, as LOCK() only allows a single lock to be
 | 
						|
     held for any given channel.  Also, locks are automatically freed when a
 | 
						|
     channel is hung up.
 | 
						|
  * Added HINT() dialplan function that allows retrieving hint information.
 | 
						|
     Hints are mappings between extensions and devices for the sake of 
 | 
						|
     determining the state of an extension.  This function can retrieve the list
 | 
						|
     of devices or the name associated with a hint.
 | 
						|
  * Added EXTENSION_STATE() dialplan function which allows retrieving the state
 | 
						|
    of any extension.
 | 
						|
  * Added SYSINFO() dialplan function which allows retrieval of system information
 | 
						|
  * Added a new dialplan function, DIALPLAN_EXISTS(), which allows you to check for
 | 
						|
     the existence of a dialplan target.
 | 
						|
  * Added two new dialplan functions, TOUPPER and TOLOWER, which convert a string to
 | 
						|
     upper and lower case, respectively.
 | 
						|
  * When bridging, Asterisk sets the BRIDGEPVTCALLID to the channel drivers unique
 | 
						|
     ID for the call (not the Asterisk call ID or unique ID), provided that the
 | 
						|
     channel driver supports this. For SIP, you get the SIP call-ID for the
 | 
						|
     bridged channel which you can store in the CDR with a custom field.
 | 
						|
 | 
						|
CLI Changes
 | 
						|
-----------
 | 
						|
  * Added CLI permissions, config file: cli_permissions.conf
 | 
						|
     default is to allow all commands for every local user/group.
 | 
						|
     Also this new feature added three new CLI commands:
 | 
						|
      - cli check permissions {<username>|@<groupname>|<username>@<groupname>} [<command>]
 | 
						|
      - cli reload permissions
 | 
						|
      - cli show permissions
 | 
						|
  * New CLI command "core show hint" (usage: core show hint <exten>)
 | 
						|
  * New CLI command "core show settings"
 | 
						|
  * Added 'core show channels count' CLI command.
 | 
						|
  * Added the ability to set the core debug and verbose values on a per-file basis.
 | 
						|
  * Added 'queue pause member' and 'queue unpause member' CLI commands
 | 
						|
  * Ability to set process limits ("ulimit") without restarting Asterisk
 | 
						|
  * Enhanced "agi debug" to print the channel name as a prefix to the debug
 | 
						|
     output to make debugging on busy systems much easier.
 | 
						|
  * New CLI commands "dialplan set extenpatternmatching true/false"
 | 
						|
  * New CLI command: "core set chanvar" to set a channel variable from the CLI.
 | 
						|
  * Added an easy way to execute Asterisk CLI commands at startup.  Any commands
 | 
						|
    listed in the startup_commands section of cli.conf will get executed.
 | 
						|
  * Added a CLI command, "devstate change", which allows you to set custom device
 | 
						|
     states from the func_devstate module that provides the DEVICE_STATE() function
 | 
						|
     and handling of the "Custom:" devices.
 | 
						|
  * New CLI command: "sip show sched" which shows all ast_sched entries for sip,
 | 
						|
    sorted into the different possible callbacks, with the number of entries
 | 
						|
    currently scheduled for each. Gives you a feel for how busy the sip channel
 | 
						|
    driver is.
 | 
						|
  * Added 'skinny show lines verbose' CLI command. This will show the subs for every channel.
 | 
						|
  * Cleanup another bunch of CLI commands. Now all modules follow the same schema.
 | 
						|
    (Done by lmadsen, junky and mvanbaak during the devcon 2008)
 | 
						|
 | 
						|
SIP changes
 | 
						|
-----------
 | 
						|
 * Added a new 'faxdetect=yes|no' configuration option to sip.conf.  When this
 | 
						|
    option is enabled, Asterisk will watch for a CNG tone in the incoming audio
 | 
						|
    for a received call.  If it is detected, the channel will jump to the 
 | 
						|
    'fax' extension in the dialplan.
 | 
						|
  * The default SIP useragent= identifier now includes the Asterisk version
 | 
						|
  * A new option, match_auth_username in sip.conf changes the matching of incoming requests.
 | 
						|
     If set, and the incoming request carries authentication info,
 | 
						|
     the username to match in the users list is taken from the Digest header
 | 
						|
     rather than from the From: field. This feature is considered experimental.
 | 
						|
  * The "musiconhold" and "musicclass" settings in sip.conf are now removed,
 | 
						|
     since they where replaced by "mohsuggest" and "mohinterpret" in version 1.4
 | 
						|
  * The "localmask" setting was removed in version 1.2 and the reminder about it
 | 
						|
     being removed is now also removed.
 | 
						|
  * A new option "busylevel" for setting a level of calls where asterisk reports
 | 
						|
     a device as busy, to separate it from call-limit. This value is also added
 | 
						|
     to the SIP_PEER dialplan function.
 | 
						|
  * A new realtime family called "sipregs" is now supported to store SIP registration
 | 
						|
     data. If this family is defined, "sippeers" will be used for configuration and
 | 
						|
     "sipregs" for registrations. If it's not defined, "sippeers" will be used for
 | 
						|
     registration data, as before.
 | 
						|
  * The SIPPEER function have new options for port address, call and pickup groups
 | 
						|
  * Added support for T.140 realtime text in SIP/RTP
 | 
						|
  * The "checkmwi" option has been removed from sip.conf, as it is no longer
 | 
						|
     required due to the restructuring of how MWI is handled.  See the descriptions 
 | 
						|
     in this file of the "pollmailboxes" and "pollfreq" options to voicemail.conf 
 | 
						|
     for more information.
 | 
						|
  * Added rtpdest option to CHANNEL() dialplan function.
 | 
						|
  * Added SIPREFERRINGCONTEXT and SIPREFERREDBYHDR variables which are set when a transfer takes place.
 | 
						|
  * SIP now adds a header to the CANCEL if the call was answered by another phone
 | 
						|
     in the same dial command, or if the new c option in dial() is used.
 | 
						|
  * The new default is that 100 Trying is not sent on REGISTER attempts as the RFC specifically
 | 
						|
     states it is not needed. For phones, however, that do require it the "registertrying" option
 | 
						|
     has been added so it can be enabled. 
 | 
						|
  * A new option called "callcounter" (global/peer/user level) enables call counters needed
 | 
						|
     for better status reports needed for queues and SIP subscriptions. (Call-Limit was previously
 | 
						|
     used to enable this functionality).
 | 
						|
  * New settings for timer T1 and timer B on a global level or per device. This makes it 
 | 
						|
     possible to force timeout faster on non-responsive SIP servers. These settings are
 | 
						|
     considered advanced, so don't use them unless you have a problem.
 | 
						|
  * Added a dial string option to be able to set the To: header in an INVITE to any
 | 
						|
     SIP uri.
 | 
						|
  * Added a new global and per-peer option, qualifyfreq, which allows you to configure
 | 
						|
     the qualify frequency.
 | 
						|
  * Added SIP Session Timers support (RFC 4028).  This prevents stuck SIP sessions that
 | 
						|
     were not properly torn down due to network or endpoint failures during an established
 | 
						|
     SIP session.
 | 
						|
  * Added experimental TCP and TLS support for SIP.  See http://wiki.asterisk.org and 
 | 
						|
     configs/sip.conf.sample for more information on how it is used.
 | 
						|
  * Added a new configuration option "authfailureevents" that enables manager events when
 | 
						|
    a peer can't authenticate properly. 
 | 
						|
  * Added DNS manager support to registrations for peers not referencing a peer entry.
 | 
						|
 | 
						|
IAX2 changes
 | 
						|
------------
 | 
						|
  * Added the trunkmaxsize configuration option to chan_iax2.
 | 
						|
  * Added the srvlookup option to iax.conf
 | 
						|
  * Added support for OSP.  The token is set and retrieved through the CHANNEL()
 | 
						|
     dialplan function.
 | 
						|
 | 
						|
XMPP Google Talk/Jingle changes
 | 
						|
-------------------------------
 | 
						|
  * Added the bindaddr option to gtalk.conf.
 | 
						|
 | 
						|
Skinny changes
 | 
						|
-------------
 | 
						|
  * Added skinny show device, skinny show line, and skinny show settings CLI commands.
 | 
						|
  * Proper codec support in chan_skinny.
 | 
						|
  * Added settings for IP and Ethernet QoS requests
 | 
						|
 | 
						|
MGCP changes
 | 
						|
------------
 | 
						|
  * Added separate settings for media QoS in mgcp.conf
 | 
						|
 | 
						|
Console Channel Driver changes
 | 
						|
------------------------------
 | 
						|
  * Added experimental support for video send & receive to chan_oss.
 | 
						|
    This requires SDL and ffmpeg/avcodec, plus Video4Linux or X11 to act as
 | 
						|
    a video source.
 | 
						|
 | 
						|
Phone channel changes (chan_phone)
 | 
						|
----------------------------------
 | 
						|
  * Added G729 passthrough support to chan_phone for Sigma Designs boards.
 | 
						|
 | 
						|
H.323 channel Changes
 | 
						|
---------------------
 | 
						|
  * H323 remote hold notification support added (by NOTIFY message
 | 
						|
     and/or H.450 supplementary service)
 | 
						|
 | 
						|
Local channel changes
 | 
						|
---------------------
 | 
						|
  * The device state functionality in the Local channel driver has been updated
 | 
						|
     to indicate INUSE or NOT_INUSE when a Local channel is being used as opposed
 | 
						|
     to just UNKNOWN if the extension exists.
 | 
						|
  * Added jitterbuffer support for chan_local.  This allows you to use the
 | 
						|
     generic jitterbuffer on incoming calls going to Asterisk applications.
 | 
						|
     For example, this would allow you to use a jitterbuffer for an incoming
 | 
						|
     SIP call to Voicemail by putting a Local channel in the middle.  This
 | 
						|
     feature is enabled by using the 'j' option in the Dial string to the Local
 | 
						|
     channel in conjunction with the existing 'n' option for local channels.
 | 
						|
  * A 'b' option has been added which causes chan_local to return the actual channel
 | 
						|
     that is behind it when queried. This is useful for transfer scenarios as the
 | 
						|
     actual channel will be transferred, not the Local channel.
 | 
						|
 | 
						|
Agent channel changes
 | 
						|
----------------------
 | 
						|
  * The ackcall and endcall options are now supplemented with options acceptdtmf
 | 
						|
    and enddtmf. These allow for the DTMF keypress to be configurable. The options
 | 
						|
    default to their old hard-coded values ('#' and '*' respectively) so this should
 | 
						|
    not break any existing agent installations.
 | 
						|
 | 
						|
DAHDI channel driver (chan_dahdi) Changes
 | 
						|
----------------------------------------
 | 
						|
  * SS7 support (via libss7 library)
 | 
						|
  * In India, some carriers transmit CID via dtmf. Some code has been added
 | 
						|
     that will handle some situations. The cidstart=polarity_IN choice has been added for
 | 
						|
     those carriers that transmit CID via dtmf after a polarity change.
 | 
						|
  * CID matching information is now shown when doing 'dialplan show'.
 | 
						|
  * Added dahdi show version CLI command.
 | 
						|
  * Added setvar support to chan_dahdi.conf channel entries.
 | 
						|
  * Added two new options: mwimonitor and mwimonitornotify.  These options allow
 | 
						|
     you to enable MWI monitoring on FXO lines.  When the MWI state changes,
 | 
						|
     the script specified in the mwimonitornotify option is executed.  An internal
 | 
						|
     event indicating the new state of the mailbox is also generated, so that
 | 
						|
     the normal MWI facilities in Asterisk work as usual.
 | 
						|
  * Added signalling type 'auto', which attempts to use the same signalling type
 | 
						|
     for a channel as configured in DAHDI. This is primarily designed for analog
 | 
						|
     ports, but will also work for digital ports that are configured for FXS or FXO
 | 
						|
     signalling types. This mode is also the default now, so if your chan_dahdi.conf
 | 
						|
     does not specify signalling for a channel (which is unlikely as the sample
 | 
						|
     configuration file has always recommended specifying it for every channel) then
 | 
						|
     the 'auto' mode will be used for that channel if possible.
 | 
						|
  * Added a 'dahdi set dnd' command to allow CLI control of the Do-Not-Disturb
 | 
						|
     state for a channel; also ensured that the DNDState Manager event is
 | 
						|
     emitted no matter how the DND state is set or cleared.
 | 
						|
 | 
						|
New Channel Drivers
 | 
						|
-------------------
 | 
						|
  * Added a new channel driver, chan_unistim.  See http://wiki.asterisk.org
 | 
						|
     configs/unistim.conf.sample for details.  This new channel driver allows
 | 
						|
     you to use Nortel i2002, i2004, and i2050 phones with Asterisk.
 | 
						|
  * Added a new channel driver, chan_console, which uses portaudio as a cross
 | 
						|
     platform audio interface.  It was written as a channel driver that would
 | 
						|
     work with Mac CoreAudio, but portaudio supports a number of other audio
 | 
						|
     interfaces, as well. Note that this channel driver requires v19 or higher
 | 
						|
     of portaudio; older versions have a different API.
 | 
						|
 
 | 
						|
DUNDi changes
 | 
						|
-------------
 | 
						|
  * Added the ability to specify arguments to the Dial application when using
 | 
						|
     the DUNDi switch in the dialplan.
 | 
						|
  * Added the ability to set weights for responses dynamically.  This can be
 | 
						|
     done using a global variable or a dialplan function.  Using the SHELL()
 | 
						|
     function would allow you to have an external script set the weight for
 | 
						|
     each response.
 | 
						|
  * Added two new dialplan functions, DUNDIQUERY and DUNDIRESULT.  These
 | 
						|
     functions will allow you to initiate a DUNDi query from the dialplan,
 | 
						|
     find out how many results there are, and access each one.
 | 
						|
  * Added the ability to specifiy a port for a dundi peer.
 | 
						|
 | 
						|
ENUM changes
 | 
						|
------------
 | 
						|
  * Added two new dialplan functions, ENUMQUERY and ENUMRESULT.  These
 | 
						|
     functions will allow you to initiate an ENUM lookup from the dialplan,
 | 
						|
     and Asterisk will cache the results.  ENUMRESULT can be used to access
 | 
						|
     the results without doing multiple DNS queries.
 | 
						|
 | 
						|
Voicemail Changes
 | 
						|
-----------------
 | 
						|
  * Added the ability to customize which sound files are used for some of the
 | 
						|
     prompts within the Voicemail application by changing them in voicemail.conf
 | 
						|
  * Added the ability for the "voicemail show users" CLI command to show users
 | 
						|
     configured by the dynamic realtime configuration method.
 | 
						|
  * MWI (Message Waiting Indication) handling has been significantly
 | 
						|
     restructured internally to Asterisk.  It is now totally event based
 | 
						|
     instead of polling based.  The voicemail application will notify other
 | 
						|
     modules that have subscribed to MWI events when something in the mailbox
 | 
						|
     changes.
 | 
						|
    This also means that if any other entity outside of Asterisk is changing
 | 
						|
     the contents of mailboxes, then the voicemail application still needs to
 | 
						|
     poll for changes.  Examples of situations that would require this option
 | 
						|
     are web interfaces to voicemail or an email client in the case of using
 | 
						|
     IMAP storage.  So, two new options have been added to voicemail.conf
 | 
						|
     to account for this: "pollmailboxes" and "pollfreq".  See the sample
 | 
						|
     configuration file for details.
 | 
						|
  * Added "tw" language support
 | 
						|
  * Added support for storage of greetings using an IMAP server
 | 
						|
  * Added ability to customize forward, reverse, stop, and pause keys for message playback
 | 
						|
  * SMDI is now enabled in voicemail using the smdienable option.
 | 
						|
  * A "lockmode" option has been added to asterisk.conf to configure the file
 | 
						|
     locking method used for voicemail, and potentially other things in the
 | 
						|
     future.  The default is the old behavior, lockfile.  However, there is a
 | 
						|
     new method, "flock", that uses a different method for situations where the
 | 
						|
     lockfile will not work, such as on SMB/CIFS mounts.
 | 
						|
  * Added the ability to backup deleted messages, to ease recovery in the case
 | 
						|
     that a user accidentally deletes a message, and discovers that they need it.
 | 
						|
  * Reworked the SMDI interface in Asterisk.  The new way to access SMDI information
 | 
						|
     is through the new functions, SMDI_MSG_RETRIEVE() and SMDI_MSG().  The file
 | 
						|
     smdi.conf can now be configured with options to map SMDI station IDs to Asterisk
 | 
						|
     voicemail boxes.  The SMDI interface can also poll for MWI changes when some
 | 
						|
     outside entity is modifying the state of the mailbox (such as IMAP storage or
 | 
						|
     a web interface of some kind).
 | 
						|
  * Added the support for marking messages as "urgent." There are two methods to accomplish
 | 
						|
     this. One is to pass the 'U' option to VoiceMail(). Another way to mark a message as urgent
 | 
						|
     is to specify "review=yes" in voicemail.conf. Doing this will cause allow the user to mark
 | 
						|
     the message as urgent after he has recorded a voicemail by following the voice instructions.
 | 
						|
    When listening to voicemails using VoiceMailMain urgent messages will be presented before other
 | 
						|
     messages
 | 
						|
 | 
						|
Queue changes
 | 
						|
-------------
 | 
						|
  * Added the general option 'shared_lastcall' so that member's wrapuptime may be
 | 
						|
     used across multiple queues.
 | 
						|
  * Added QUEUE_VARIABLES function to set queue variables added setqueuevar and 
 | 
						|
     setqueueentryvar options for each queue, see queues.conf.sample for details.
 | 
						|
  * Added keepstats option to queues.conf which will keep queue
 | 
						|
     statistics during a reload.
 | 
						|
  * setinterfacevar option in queues.conf also now sets a variable
 | 
						|
     called MEMBERNAME which contains the member's name.
 | 
						|
  * Added 'Strategy' field to manager event QueueParams which represents
 | 
						|
     the queue strategy in use. 
 | 
						|
  * Added option to run macro when a queue member is connected to a caller, 
 | 
						|
     see queues.conf.sample for details.
 | 
						|
  * app_queue now has a 'loose' option which is almost exactly like 'strict' except it
 | 
						|
     does not count paused queue members as unavailable.
 | 
						|
  * Added min-announce-frequency option to queues.conf which allows you to control the
 | 
						|
     minimum amount of time between queue announcements for use when the caller's queue
 | 
						|
     position changes frequently.
 | 
						|
  * Added additional information to EXITWITHTIMEOUT and EXITWITHKEY events in the
 | 
						|
     queue log.
 | 
						|
  * Added ability for non-realtime queues to have realtime members
 | 
						|
  * Added the "linear" strategy to queues.
 | 
						|
  * Added the "wrandom" strategy to queues.
 | 
						|
  * Added new channel variable QUEUE_MIN_PENALTY
 | 
						|
  * QUEUE_MAX_PENALTY and QUEUE_MIN_PENALTY may be adjusted in mid-call by defining
 | 
						|
     rules in queuerules.conf. See configs/queuerules.conf.sample for details
 | 
						|
  * Added a new parameter for member definition, called state_interface. This may be
 | 
						|
    used so that a member may be called via one interface but have a different interface's
 | 
						|
    device state reported.
 | 
						|
  * Added new CLI and Manager commands relating to reloading queues. From the CLI, see
 | 
						|
    "queue reload", "queue reset stats". Also see "manager show command QueueReload" and
 | 
						|
    "manager show command QueueReset."
 | 
						|
  * New configuration option: randomperiodicannounce. If a list of periodic announcements is
 | 
						|
    specified by the periodic-announce option, then one will be chosen randomly when it is time
 | 
						|
    to play a periodic announcment
 | 
						|
  * New configuration options: announce-position now takes two more values in addition to "yes" and
 | 
						|
    "no." Two new options, "limit" and "more," are allowed. These are tied to another option,
 | 
						|
    announce-position-limit. By setting announce-position to "limit" callers will only have their
 | 
						|
    position announced if their position is less than what is specified by announce-position-limit.
 | 
						|
    If announce-position is set to "more" then callers beyond the position specified by announce-position-limit
 | 
						|
    will be told that their are more than announce-position-limit callers waiting.
 | 
						|
  * Two new queue log events have been added. An ADDMEMBER event will be logged
 | 
						|
    when a realtime queue member is added and a REMOVEMEMBER event will be logged
 | 
						|
    when a realtime queue member is removed. Since there is no calling channel associated
 | 
						|
    with these events, the string "REALTIME" is placed where the channel's unique id
 | 
						|
    is typically placed.
 | 
						|
  * The configuration method for the "joinempty" and "leavewhenempty" options has
 | 
						|
    changed to a comma-separated list of methods of determining member availability
 | 
						|
    instead of vague terms such as "yes," "loose," "no," and "strict." These old four
 | 
						|
    values are still accepted for backwards-compatibility, though.
 | 
						|
  * The average talktime is now calculated on queues. This information is reported via the
 | 
						|
    CLI commands "queue show" and "queues show"; through the AMI events AgentComplete, QueueSummary,
 | 
						|
    and QueueParams; and through the channelvariable QUEUETALKTIME if setinterfacevar=yes is set for
 | 
						|
    the queue.
 | 
						|
 | 
						|
MeetMe Changes
 | 
						|
--------------
 | 
						|
  * The 'o' option to provide an optimization has been removed and its functionality 
 | 
						|
     has been enabled by default.
 | 
						|
  * When a conference is created, the UNIQUEID of the channel that caused it to be
 | 
						|
     created is stored.  Then, every channel that joins the conference will have the
 | 
						|
     MEETMEUNIQUEID channel variable set with this ID.  This can be used to relate
 | 
						|
     callers that come and go from long standing conferences.
 | 
						|
  * Added a new application, MeetMeChannelAdmin, which is similar to MeetMeAdmin,
 | 
						|
     except it does operations on a channel by name, instead of number in a conference.
 | 
						|
     This is a very useful feature in combination with the 'X' option to ChanSpy.
 | 
						|
  * Added 'C' option to Meetme which causes a caller to continue in the dialplan
 | 
						|
     when kicked out.
 | 
						|
  * Added new RealTime functionality to provide support for scheduled conferencing.
 | 
						|
     This includes optional messages to the caller if they attempt to join before
 | 
						|
     the schedule start time, or to allow the caller to join the conference early.
 | 
						|
     Also included is optional support for limiting the number of callers per
 | 
						|
     RealTime conference.
 | 
						|
  * Added the S() and L() options to the MeetMe application.  These are pretty
 | 
						|
     much identical to the S() and L() options to Dial().  They let you set
 | 
						|
     timeouts for the conference, as well as have warning sounds played to
 | 
						|
     let the caller know how much time is left, and when it is running out.
 | 
						|
  * Added the ability to do "meetme concise" with the "meetme" CLI command.
 | 
						|
     This extends the concise capabilities of this CLI command to include
 | 
						|
     listing all conferences, instead of an addition to the other sub commands
 | 
						|
     for the "meetme" command.
 | 
						|
  * Added the ability to specify the music on hold class used to play into the
 | 
						|
     conference when there is only one member and the M option is used.
 | 
						|
  * Added MEETME_INFO dialplan function which provides a way to query
 | 
						|
     various properties of a Meetme conference.
 | 
						|
  * Added new admin features: *81: Roll call, *82: eject all, *83: mute all, 
 | 
						|
     and *84: record in-conf
 | 
						|
 | 
						|
Other Dialplan Application Changes
 | 
						|
----------------------------------
 | 
						|
  * Argument support for Gosub application
 | 
						|
  * From the to-do lists: straighten out the app timeout args:
 | 
						|
     Wait() app now really does 0.3 seconds- was truncating arg to an int.
 | 
						|
     WaitExten() same as Wait().
 | 
						|
     Congestion() - Now takes floating pt. argument.
 | 
						|
     Busy() - now takes floating pt. argument.
 | 
						|
     Read() - timeout now can be floating pt.
 | 
						|
     WaitForRing() now takes floating pt timeout arg.
 | 
						|
     SpeechBackground() -- clarified in the docstrings that the timeout is an integer seconds.
 | 
						|
  * Added 's' option to Page application.
 | 
						|
  * Added an optional timeout argument to the Page application.
 | 
						|
  * Added 'E', 'V', and 'P' commands to ExternalIVR.
 | 
						|
  * Added 'o' and 'X' options to Chanspy.
 | 
						|
  * Added a new dialplan application, Bridge, which allows you to bridge the
 | 
						|
     calling channel to any other active channel on the system.
 | 
						|
  * Added the ability to specify a music on hold class to play instead of ringing
 | 
						|
     for the SLATrunk application.
 | 
						|
  * The Read application no longer exits the dialplan on error.  Instead, it sets
 | 
						|
     READSTATUS to ERROR, which you can catch and handle separately.
 | 
						|
  * Added 'm' option to Directory, which lists out names, 8 at a time, instead
 | 
						|
     of asking for verification of each name, one at a time.
 | 
						|
  * Privacy() no longer uses privacy.conf, as all options are specifyable as
 | 
						|
     direct options to the app.
 | 
						|
  * AMD() has a new "maximum word length" option. "show application AMD" from the CLI
 | 
						|
     for more details
 | 
						|
  * GotoIfTime() now may branch based on a "false" condition, like other Goto-related applications
 | 
						|
  * The ChannelRedirect application no longer exits the dialplan if the given channel
 | 
						|
     does not exist. It will now set the CHANNELREDIRECT_STATUS variable to SUCCESS upon success
 | 
						|
     or NOCHANNEL if the given channel was not found.
 | 
						|
  * The silencethreshold setting that was previously configurable in multiple
 | 
						|
     applications is now settable globally via dsp.conf.
 | 
						|
 | 
						|
Music On Hold Changes
 | 
						|
---------------------
 | 
						|
  * A new option, "digit", has been added for music on hold classes in 
 | 
						|
     musiconhold.conf.  If this is set for a music on hold class, a caller
 | 
						|
     listening to music on hold can press this digit to switch to listening
 | 
						|
     to this music on hold class.
 | 
						|
  * Support for realtime music on hold has been added.
 | 
						|
  * In conjunction with the realtime music on hold, a general section has
 | 
						|
     been added to musiconhold.conf, its sole variable is cachertclasses. If this
 | 
						|
     is set, then music on hold classes found in realtime will be cached in memory.
 | 
						|
 | 
						|
AEL Changes
 | 
						|
-----------
 | 
						|
  * AEL upgraded to use the Gosub with Arguments instead
 | 
						|
     of Macro application, to hopefully reduce the problems
 | 
						|
     seen with the artificially low stack ceiling that 
 | 
						|
     Macro bumps into. Macros can only call other Macros
 | 
						|
     to a depth of 7. Tests run using gosub, show depths
 | 
						|
     limited only by virtual memory. A small test demonstrated
 | 
						|
     recursive call depths of 100,000 without problems.
 | 
						|
     -- in addition to this, all apps that allowed a macro
 | 
						|
     to be called, as in Dial, queues, etc, are now allowing
 | 
						|
     a gosub call in similar fashion.
 | 
						|
  * AEL now generates LOCAL(argname) declarations when it
 | 
						|
     Set()'s the each arg name to the value of ${ARG1}, ${ARG2),
 | 
						|
     etc. That makes the arguments local in scope. The user
 | 
						|
     can define their own local variables in macros, now,
 | 
						|
     by saying "local myvar=someval;"  or using Set() in this
 | 
						|
     fashion:  Set(LOCAL(myvar)=someval);  ("local" is now
 | 
						|
     an AEL keyword).
 | 
						|
  * utils/conf2ael introduced. Will convert an extensions.conf
 | 
						|
     file into extensions.ael. Very crude and unfinished, but 
 | 
						|
     will be improved as time goes by. Should be useful for a
 | 
						|
     first pass at conversion.
 | 
						|
  * aelparse will now read extensions.conf to see if a referenced
 | 
						|
     macro or context is there before issueing a warning.
 | 
						|
  * AEL parser sets a local channel variable ~~EXTEN~~, to 
 | 
						|
    preserve the value of ${EXTEN} thru switch statements.
 | 
						|
  * New operator in $[...] expressions: the ~~ operator serves
 | 
						|
    as a concatenation operator. AT THE MOMENT, it is really only
 | 
						|
    necessary and useful in AEL, especially in if() expressions.
 | 
						|
    Operation: ${a} ~~ ${b|  with force both a and b to strings, strip 
 | 
						|
    any enclosing double-quotes, and evaluate to the value of a
 | 
						|
    concatenated with the value of b.  For example if a is set to
 | 
						|
    "xyz"  and b has the value "abc", then ${a} ~~ ${b| would
 | 
						|
    evaluate to xyzabc .
 | 
						|
 | 
						|
 | 
						|
Call Features (res_features) Changes
 | 
						|
------------------------------------
 | 
						|
  * Added the parkedcalltransfers option to features.conf
 | 
						|
  * Added parkedcallparking option to control one touch parking w/ parking
 | 
						|
    pickup
 | 
						|
  * Added parkedcallhangup option to control disconnect feature w/ parking
 | 
						|
    pickup
 | 
						|
  * Added parkedcallrecording option to control one-touch record w/ parking
 | 
						|
    pickup
 | 
						|
  * Added parkedcallparking, parkedcallhangup, parkedcallrecording, and
 | 
						|
    parkedcalltransfers option support for multiple parking lots.
 | 
						|
  * Added BRIDGE_FEATURES variable to set available features for a channel
 | 
						|
  * The built-in method for doing attended transfers has been updated to
 | 
						|
     include some new options that allow you to have the transferee sent
 | 
						|
     back to the person that did the transfer if the transfer is not successful.
 | 
						|
     See the options "atxferdropcall", "atxferloopdelay", and "atxfercallbackretries"
 | 
						|
     in features.conf.sample.
 | 
						|
  * Added support for configuring named groups of custom call features in
 | 
						|
     features.conf.  This means that features can be written a single time, and
 | 
						|
     then mapped into groups of features for different key mappings or easier
 | 
						|
     access control.
 | 
						|
  * Updated the ParkedCall application to allow you to not specify a parking
 | 
						|
     extension.  If you don't specify a parking space to pick up, it will grab
 | 
						|
     the first one available.
 | 
						|
  * Added cli command 'features reload' to reload call features from features.conf
 | 
						|
  * Moved into core asterisk binary.
 | 
						|
  * Changed the default setting for featuredigittimeout to 2000 ms from 500 ms.
 | 
						|
  * Added the ability for custom parking lots to be configured with their own
 | 
						|
    parking extension with the parkext option.
 | 
						|
 | 
						|
Language Support Changes
 | 
						|
------------------------
 | 
						|
  * Brazilian Portuguese (pt-BR) in VM, and say.c was added
 | 
						|
  * Added support for the Hungarian language for saying numbers, dates, and times.
 | 
						|
 | 
						|
AGI Changes
 | 
						|
-----------
 | 
						|
  * Added SPEECH commands for speech recognition. A complete listing can be found
 | 
						|
    using agi show.
 | 
						|
  * If app_stack is loaded, GOSUB is a native AGI command that may be used to
 | 
						|
    invoke subroutines in the dialplan.  Note that calling EXEC with Gosub
 | 
						|
    does not behave as expected; the native command needs to be used, instead.
 | 
						|
  * Added the ability to perform SRV lookups on fast AGI calls. To use this
 | 
						|
    feature, simply use hagi: instead of agi: as the protocol portion
 | 
						|
    of the URI parameter to the AGI function call in your dial plan. Also note
 | 
						|
    that specifying a port number in the AGI URI will disable SRV lookups,
 | 
						|
    even if you use the hagi: protocol.
 | 
						|
  * No longer support MSG_OOB flag on HANGUP.
 | 
						|
 | 
						|
Logger changes
 | 
						|
--------------
 | 
						|
  * Added rotatestrategy option to logger.conf, along with two new options:
 | 
						|
     "timestamp" which will use the time to name the logger files instead of
 | 
						|
     sequence number; and "rotate", which rotates the names of the log files,
 | 
						|
     similar to the way syslog rotates files.
 | 
						|
  * Added exec_after_rotate option to logger.conf, which allows a system
 | 
						|
     command to be run after rotation.  This is primarily useful with
 | 
						|
     rotatestrategy=rotate, to allow a limit on the number of log files kept
 | 
						|
     and to ensure that the oldest log file gets deleted.
 | 
						|
  * Added realtime support for the queue log
 | 
						|
 | 
						|
Call Detail Records 
 | 
						|
-------------------
 | 
						|
  * The cdr_manager module has a [mappings] feature, like cdr_custom,
 | 
						|
    to add fields to the manager event from the CDR variables.
 | 
						|
  * Added cdr_adaptive_odbc, a new module that adapts to the structure of your
 | 
						|
     backend database CDR table.  Specifically, additional, non-standard
 | 
						|
     columns are supported, merely by setting the corresponding CDR variable in
 | 
						|
     your dialplan.  In addition, you may alias any column to another name (for
 | 
						|
     example, if you want the 'src' CDR variable to be column 'ANI' in the DB,
 | 
						|
     simply "alias src => ANI" in the configuration file).  Records may be
 | 
						|
     posted to more than one backend, simply by specifying multiple categories
 | 
						|
     in the configuration file.  And finally, you may filter which CDRs get
 | 
						|
     posted to each backend, by specifying a filter (which the record must
 | 
						|
     match) for the particular category.  Filters are additive (meaning all
 | 
						|
     rules must match to post that CDR).
 | 
						|
  * The Postgres CDR module now supports some features of the cdr_adaptive_odbc
 | 
						|
     module.  Specifically, you may add additional columns into the table and
 | 
						|
     they will be set, if you set the corresponding CDR variable name.  Also,
 | 
						|
     if you omit columns in your database table, they will be silently skipped
 | 
						|
     (but a record will still be inserted, based on what columns remain).  Note
 | 
						|
     that the other two features from cdr_adaptive_odbc (alias and filter) are
 | 
						|
     not currently supported.
 | 
						|
  * The ResetCDR application now has an 'e' option that re-enables a CDR if it
 | 
						|
     has been disabled using the NoCDR application.
 | 
						|
 | 
						|
Miscellaneous New Modules
 | 
						|
-------------------------
 | 
						|
  * Added a new CDR module, cdr_sqlite3_custom.
 | 
						|
  * Added a new realtime configuration module, res_config_sqlite
 | 
						|
  * Added a new codec translation module, codec_resample, which re-samples
 | 
						|
     signed linear audio between 8 kHz and 16 kHz to help support wideband
 | 
						|
     codecs.
 | 
						|
  * Added a new module, res_phoneprov, which allows auto-provisioning of phones
 | 
						|
     based on configuration templates that use Asterisk dialplan function and
 | 
						|
     variable substitution.  It should be possible to create phone profiles and
 | 
						|
     templates that work for the majority of phones provisioned over http. It
 | 
						|
     is currently only intended to provision a single user account per phone.
 | 
						|
     An example profile and set of templates for Polycom phones is provided.
 | 
						|
     NOTE: Polycom firmware is not included, but should be placed in
 | 
						|
     AST_DATA_DIR/phoneprov/configs to match up with the included templates.
 | 
						|
  * Added a new module, app_jack, which provides interfaces to JACK, the Jack
 | 
						|
     Audio Connection Kit (http://www.jackaudio.org/).  Two interfaces are
 | 
						|
     provided; there is a JACK() application, and a JACK_HOOK() function.  Both
 | 
						|
     interfaces create an input and output JACK port.  The application makes
 | 
						|
     these ports the endpoint of the call.  The audio coming from the channel
 | 
						|
     goes out the output port and whatever comes back in on the input port is
 | 
						|
     what gets sent to the channel.  The JACK_HOOK() function turns on a JACK
 | 
						|
     audiohook on the channel.  This lets you run the audio coming from a
 | 
						|
     channel through JACK, and whatever comes back in is what gets forwarded
 | 
						|
     on as the channel's audio.  This is very useful for building custom
 | 
						|
     vocoders or doing recording or analysis of the channel's audio in another
 | 
						|
     application.
 | 
						|
  * Added a new module, res_config_curl, which permits using a HTTP POST url
 | 
						|
     to retrieve, create, update, and delete realtime information from a remote
 | 
						|
     web server.  Note that this module requires func_curl.so to be loaded for
 | 
						|
     backend functionality.
 | 
						|
  * Added a new module, res_config_ldap, which permits the use of an LDAP
 | 
						|
     server for realtime data access.
 | 
						|
  * Added support for writing and running your dialplan in lua using the pbx_lua
 | 
						|
     module.  See configs/extensions.lua.sample for examples of how to do this.
 | 
						|
 | 
						|
Miscellaneous 
 | 
						|
-------------
 | 
						|
  * Ability to use libcap to set high ToS bits when non-root
 | 
						|
     on Linux. If configure is unable to find libcap then you
 | 
						|
     can use --with-cap to specify the path.
 | 
						|
  * Added maxfiles option to options section of asterisk.conf which allows you to specify
 | 
						|
     what Asterisk should set as the maximum number of open files when it loads.
 | 
						|
  * Added the jittertargetextra configuration option.
 | 
						|
  * Added support for setting the CoS for VLAN traffic (802.1p).  See the sample
 | 
						|
     configuration files for the IP channel drivers.  The new option is "cos".
 | 
						|
     This information is also documented in http://wiki.asterisk.org, or the IP Quality
 | 
						|
     of Service section of http://wiki.asterisk.org.
 | 
						|
  * When originating a call using AMI or pbx_spool that fails the reason for failure
 | 
						|
     will now be available in the failed extension using the REASON dialplan variable.
 | 
						|
  * Added support for reading the TOUCH_MONITOR_PREFIX channel variable.
 | 
						|
     It allows you to configure a prefix for auto-monitor recordings.
 | 
						|
  * A new extension pattern matching algorithm, based on a trie, is introduced
 | 
						|
     here, that could noticeably speed up mid-sized to large dialplans.
 | 
						|
     It is NOT used by default, as duplicating the behaviour of the old pattern
 | 
						|
     matcher is still under development. A config file option, in extensions.conf,
 | 
						|
     in the [general] section, called "extenpatternmatchingnew", is by default
 | 
						|
     set to false; setting that to true will force the use of the new algorithm.
 | 
						|
     Also, the cli commands "dialplan set extenpatternmatchingnew true/false" can
 | 
						|
     be used to switch the algorithms at run time.
 | 
						|
  * A new option when starting a remote asterisk (rasterisk, asterisk -r) for
 | 
						|
     specifying which socket to use to connect to the running Asterisk daemon
 | 
						|
     (-s)
 | 
						|
  * Performance enhancements to the sched facility, which is used in
 | 
						|
    the channel drivers, etc. Added hashtabs and doubly-linked lists
 | 
						|
    to speed up deletion; start at the beginning or end of list to
 | 
						|
    speed up insertion.
 | 
						|
  * Added Doubly-linked lists after the fashion of linkedlists.h. They are in
 | 
						|
    dlinkedlists.h. Doubly-linked lists feature fast deletion times.
 | 
						|
    Added regression tests to the tests/ dir, also.
 | 
						|
  * Added a refcount trace feature to astobj2 for those trying to balance
 | 
						|
    object creation, deletion; work, play; space and time. See the
 | 
						|
    notes in astobj2.h. Also, see utils/refcounter as well, as a
 | 
						|
    quick way to find unbalanced refcounts in what could be a sea
 | 
						|
    of objects that were balanced.
 | 
						|
  * Added logging to 'make update' command.  See update.log
 | 
						|
  * Added strictrtp option to rtp.conf. If enabled this will drop RTP packets that
 | 
						|
     do not come from the remote party.
 | 
						|
  * Added the 'n' option to the SpeechBackground application to tell it to not
 | 
						|
     answer the channel if it has not already been answered.
 | 
						|
  * Added a compiler flag, CHANNEL_TRACE, which permits channel tracing to be
 | 
						|
     turned on, via the CHANNEL(trace) dialplan function.  Could be useful for
 | 
						|
     dialplan debugging.
 | 
						|
  * iLBC source code no longer included (see UPGRADE.txt for details)
 | 
						|
  * If compiled with DETECT_DEADLOCKS enabled and if you have glibc, then if 
 | 
						|
     deadlock is detected, a backtrace of the stack which led to the lock calls
 | 
						|
     will be output to the CLI.
 | 
						|
  * If compiled with DEBUG_THREADS enabled and if you have glibc, then issuing
 | 
						|
     the "core show locks" CLI command will give lock information output as well
 | 
						|
     as a backtrace of the stack which led to the lock calls.
 | 
						|
  * users.conf now sports an optional alternateexts property, which permits
 | 
						|
    allocation of additional extensions which will reach the specified user.
 | 
						|
  * A new option for the configure script, --enable-internal-poll, has been added
 | 
						|
    for use with systems which may have a buggy implementation of the poll system
 | 
						|
    call. If you notice odd behavior such as the CLI being unresponsive on remote
 | 
						|
    consoles, you may want to try using this option. This option is enabled by default
 | 
						|
    on Darwin systems since it is known that the Darwin poll() implementation has
 | 
						|
    odd issues.
 | 
						|
 | 
						|
Timer Changes
 | 
						|
--------------------
 | 
						|
* In addition to timing from DAHDI, there is a new timing module called
 | 
						|
  res_timing_timerfd. In order to use this, you must be running Linux with
 | 
						|
  a kernel version 2.6.25 or newer as well as glibc 2.8 or newer. The configure
 | 
						|
  script will be able to tell if you have the requirements. From menuselect, select
 | 
						|
  res_timing_timerfd from the Resource Modules menu.
 |