[asterisk-commits] may: branch may/ooh323_qsig r397984 - in /team/may/ooh323_qsig: ./ apps/ conf...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Aug 30 01:29:06 CDT 2013


Author: may
Date: Fri Aug 30 01:29:00 2013
New Revision: 397984

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=397984
Log:
Multiple revisions 397855,397857-397858,397860,397872,397875,397877,397886,397893,397895,397897,397899,397901,397903,397912,397923,397925,397932,397939,397947

........
  r397855 | mmichelson | 2013-08-28 19:43:15 +0400 (Wed, 28 Aug 2013) | 24 lines
  
  Fix dialog matching in the SIP distributor.
  
  Dialog matching is performed in the distributor for the sole
  purpose of retrieving an associated serializer so the request
  may be serialized.
  
  This patch fixes two problems.
  
  First, incoming CANCEL requests that had no to-tag (which really
  should be *all* CANCEL requests) would not match with a dialog.
  An earlier bug fix to deal with early CANCEL requests would result
  in the CANCEL being replied to with a 481. The fix for this is to
  find the matching INVITE transaction and get the dialog from that
  transaction.
  
  Second, no SIP responses were matching dialogs. This is because we
  were inverting the tags that we were passing into PJSIP's dialog
  finding function. This logic has been corrected by setting local
  and remote tag variables based on whether the incoming message is
  a request or response.
  ........
  
  Merged revisions 397854 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397857 | rmudgett | 2013-08-28 20:07:30 +0400 (Wed, 28 Aug 2013) | 5 lines
  
  Match use of ast_free() with ast_calloc() and add some curly braces.
  ........
  
  Merged revisions 397856 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397858 | rmudgett | 2013-08-28 20:09:12 +0400 (Wed, 28 Aug 2013) | 1 line
  
  ast_free() is null tollerant.
........
  r397860 | rmudgett | 2013-08-28 20:13:18 +0400 (Wed, 28 Aug 2013) | 5 lines
  
  pbx.c: Make ast_str_substitute_variables_full() not mask variables.
  ........
  
  Merged revisions 397859 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397872 | mjordan | 2013-08-29 00:49:02 +0400 (Thu, 29 Aug 2013) | 10 lines
  
  Update CHANGES file for Asterisk 12
  
  This updates the Asterisk 12 CHANGES file with the things that were missed
  during the development cycle.
  
  Review: https://reviewboard.asterisk.org/r/2795/
  ........
  
  Merged revisions 397870 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397875 | mjordan | 2013-08-29 00:55:53 +0400 (Thu, 29 Aug 2013) | 24 lines
  
  Add database schema management using Alembic
  
  This patch replaces contrib/realtime/ with a new setup for managing the
  database schema required for database integration with Asterisk.  In
  addition to initializing a database with the proper schema, alembic can do a
  database migration to assist with upgrading Asterisk in the future.
  Hopefully this helps make setting up and operating Asterisk with a database
  easier.
  
  With this the schema only needs to be maintained in one place instead of
  once per database.  The schemas I have added here have a bit of improvement
  over the examples that were there before (some added consistency and added
  some missing indexes).  Managing the schema in one place here also applies
  to all databases supported by SQLAlchemy.
  
  See contrib/ast-db-manage/README.md for more details.
  
  Review: https://reviewboard.asterisk.org/r/2731
  
  patch by Russell Bryant (license 6300)
  ........
  
  Merged revisions 397874 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397877 | mmichelson | 2013-08-29 01:09:43 +0400 (Thu, 29 Aug 2013) | 20 lines
  
  Improve detection of answer on SIP blind transfer.
  
  A problem encountered during testing was that res_pjsip_refer would
  not ever send a NOTIFY with a 200 OK sipfrag. This is because the framehook
  that was supposed to send the NOTIFY would never be told that an answer
  had occurred. This happened for two reasons:
  
  1) The transferee channel on which the framehook was on was already up.
  2) Answers are rarely if ever written to channels. Rather, the ast_answer()
  or ast_raw_answer() function is used to answer channels.
  
  Thanks to a suggestion by Matt Jordan, the best way to detect that the call
  had been answered was to find out when the transferee channel joined a bridge.
  With stasis this is an easy task. So now, in addition to the framehook logic,
  there is a stasis subscription used to determine when the transferee has entered
  a bridge. Once it has entered, an appropriate NOTIFY is sent.
  ........
  
  Merged revisions 397876 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397886 | rmudgett | 2013-08-29 01:38:39 +0400 (Thu, 29 Aug 2013) | 5 lines
  
  Whitespace and curly braces.
  ........
  
  Merged revisions 397885 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397893 | rmudgett | 2013-08-29 02:24:01 +0400 (Thu, 29 Aug 2013) | 5 lines
  
  Some CDR code optimization.
  ........
  
  Merged revisions 397892 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397895 | rmudgett | 2013-08-29 02:35:25 +0400 (Thu, 29 Aug 2013) | 5 lines
  
  Make CDR code deal with channel names case insensitively.
  ........
  
  Merged revisions 397894 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397897 | rmudgett | 2013-08-29 02:38:30 +0400 (Thu, 29 Aug 2013) | 5 lines
  
  Make CDR variable name chandling consistently case insensitive.
  ........
  
  Merged revisions 397896 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397899 | rmudgett | 2013-08-29 02:43:14 +0400 (Thu, 29 Aug 2013) | 5 lines
  
  Made the on/off in CLI "cdr set debug [on|off]" case insensitive.
  ........
  
  Merged revisions 397898 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397901 | rmudgett | 2013-08-29 02:56:03 +0400 (Thu, 29 Aug 2013) | 15 lines
  
  Fixed problems with ast_cdr_serialize_variables().
  
  * Fixed return value of ast_cdr_serialize_variables() on error.  It needs
  to return 0 indicating no CDR variables found.
  
  * Made ast_cdr_serialize_variables() check the return value of
  cdr_object_format_property() and assert if nonzero.  A member of the
  cdr_readonly_vars[] was not handled.
  
  * Removed unused elements from cdr_readonly_vars[]: total_duration,
  total_billsec, first_start, and first_answer.
  ........
  
  Merged revisions 397900 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397903 | rmudgett | 2013-08-29 03:15:43 +0400 (Thu, 29 Aug 2013) | 12 lines
  
  Fix some uninitialized buffers for CDR handling valgrind found.
  
  * Made ast_strftime_locale() ensure that the output buffer is initialized.
  The std library strftime() returns 0 and does not touch the buffer if it
  has an error.  However, the function can also return 0 without an error.
  
  (closes issue ASTERISK-22412)
  Reported by: rmudgett
  ........
  
  Merged revisions 397902 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397912 | mjordan | 2013-08-29 16:30:07 +0400 (Thu, 29 Aug 2013) | 8 lines
  
  Actually *add* the database schema management utilities
  
  In r397874, the scripts were removed... but not replaced. Thanks to
  Michael Young for noticing this!
  ........
  
  Merged revisions 397911 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397923 | mmichelson | 2013-08-29 19:43:23 +0400 (Thu, 29 Aug 2013) | 17 lines
  
  Multiple revisions 397921-397922
  
  ........
    r397921 | mmichelson | 2013-08-29 10:42:10 -0500 (Thu, 29 Aug 2013) | 6 lines
    
    Resolve assumptions that bridge snapshots would be non-NULL for transfer stasis events.
    
    Attempting to transfer an unbridged call would result in crashes in either CEL code or
    in the conversion to AMI messages.
  ........
    r397922 | mmichelson | 2013-08-29 10:42:29 -0500 (Thu, 29 Aug 2013) | 3 lines
    
    Remove extra debug message.
  ........
  
  Merged revisions 397921-397922 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397925 | mjordan | 2013-08-29 20:05:23 +0400 (Thu, 29 Aug 2013) | 10 lines
  
  Recursively search for '.c' files when making documentation with 'make full'
  
  Without this, documentation defined in sub-folders is ignored. Since having
  properly generated documentation is especially important in Asterisk 12 -
  not having it can cause a module to not load - 'make full' needs to look in
  all .c files.
  ........
  
  Merged revisions 397924 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397932 | dlee | 2013-08-29 20:21:31 +0400 (Thu, 29 Aug 2013) | 2 lines
  
  Merged revisions 397565-397674 from http://svn.asterisk.org/svn/asterisk/trunk
........
  r397939 | mjordan | 2013-08-30 00:22:08 +0400 (Fri, 30 Aug 2013) | 11 lines
  
  Revert r394939 due to (numerous) objections
  
  The patch from ASTERISK-21965 was committed perhaps a bit too hastily. Walter
  and Tzafrir have pointed out numerous issues with the approach and have
  propsed an alternative in r/2757. Since it's not a time critical issue and
  is not worth holding up the release of 12 for it, I've gone ahead and reverted
  r394939 from 12/trunk and re-opened ASTERISK-21965.
  ........
  
  Merged revisions 397938 from http://svn.asterisk.org/svn/asterisk/branches/12
........
  r397947 | kharwell | 2013-08-30 01:37:29 +0400 (Fri, 30 Aug 2013) | 11 lines
  
  Memory leaks fix
  
  (closes ASTERISK-22376)
  Reported by: John Hardin
  Patches:
       memleak.patch uploaded by jhardin (license 6512)
       memleak2.patch uploaded by jhardin (license 6512)
  ........
  
  Merged revisions 397946 from http://svn.asterisk.org/svn/asterisk/branches/12
........

Merged revisions 397855,397857-397858,397860,397872,397875,397877,397886,397893,397895,397897,397899,397901,397903,397912,397923,397925,397932,397939,397947 from http://svn.asterisk.org/svn/asterisk/trunk

Added:
    team/may/ooh323_qsig/contrib/ast-db-manage/
      - copied from r397947, trunk/contrib/ast-db-manage/
Removed:
    team/may/ooh323_qsig/configs/safe_asterisk.conf.sample
Modified:
    team/may/ooh323_qsig/   (props changed)
    team/may/ooh323_qsig/CHANGES
    team/may/ooh323_qsig/Makefile
    team/may/ooh323_qsig/apps/app_queue.c
    team/may/ooh323_qsig/contrib/realtime/mysql/iaxfriends.sql
    team/may/ooh323_qsig/contrib/realtime/mysql/meetme.sql
    team/may/ooh323_qsig/contrib/realtime/mysql/musiconhold.sql
    team/may/ooh323_qsig/contrib/realtime/mysql/queue_log.sql
    team/may/ooh323_qsig/contrib/realtime/mysql/sippeers.sql
    team/may/ooh323_qsig/contrib/realtime/mysql/voicemail.sql
    team/may/ooh323_qsig/contrib/realtime/mysql/voicemail_data.sql
    team/may/ooh323_qsig/contrib/realtime/mysql/voicemail_messages.sql
    team/may/ooh323_qsig/contrib/realtime/postgresql/realtime.sql
    team/may/ooh323_qsig/contrib/scripts/safe_asterisk
    team/may/ooh323_qsig/funcs/func_cdr.c
    team/may/ooh323_qsig/include/asterisk/threadstorage.h
    team/may/ooh323_qsig/main/app.c
    team/may/ooh323_qsig/main/asterisk.c
    team/may/ooh323_qsig/main/cdr.c
    team/may/ooh323_qsig/main/cel.c
    team/may/ooh323_qsig/main/chanvars.c
    team/may/ooh323_qsig/main/config_options.c
    team/may/ooh323_qsig/main/file.c
    team/may/ooh323_qsig/main/manager.c
    team/may/ooh323_qsig/main/pbx.c
    team/may/ooh323_qsig/main/stasis_bridges.c
    team/may/ooh323_qsig/main/stasis_config.c
    team/may/ooh323_qsig/main/stdtime/localtime.c
    team/may/ooh323_qsig/res/res_pjsip/pjsip_distributor.c
    team/may/ooh323_qsig/res/res_pjsip_refer.c
    team/may/ooh323_qsig/rest-api-templates/api.wiki.mustache
    team/may/ooh323_qsig/rest-api-templates/asterisk_processor.py
    team/may/ooh323_qsig/rest-api-templates/make_ari_stubs.py

Propchange: team/may/ooh323_qsig/
------------------------------------------------------------------------------
--- branch-12-merged (original)
+++ branch-12-merged Fri Aug 30 01:29:00 2013
@@ -1,1 +1,1 @@
-/branches/12:1-397816
+/branches/12:1-397927,397938,397946

Propchange: team/may/ooh323_qsig/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Aug 30 01:29:00 2013
@@ -1,1 +1,1 @@
-/trunk:1-397850
+/trunk:1-397949

Modified: team/may/ooh323_qsig/CHANGES
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_qsig/CHANGES?view=diff&rev=397984&r1=397983&r2=397984
==============================================================================
--- team/may/ooh323_qsig/CHANGES (original)
+++ team/may/ooh323_qsig/CHANGES Fri Aug 30 01:29:00 2013
@@ -7,30 +7,175 @@
 === and the other UPGRADE files for older releases.
 ===
 ==============================================================================
+
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 11 to Asterisk 12 --------------------
 ------------------------------------------------------------------------------
 
+Overview
+------------------
+
+Asterisk 12 is a standard release of the Asterisk project. As such, the
+focus of development for this release was on core architectural changes and
+major new features. This includes:
+ * A more flexible bridging core based on the Bridging API
+ * A new internal message bus, Stasis
+ * Major standardization and consistency improvements to AMI
+ * Addition of the Asterisk RESTful Interface (ARI)
+ * A new SIP channel driver, chan_pjsip
+In addition, as the vast majority of bridging in Asterisk was migrated to the
+Bridging API used by ConfBridge, major changes were made to most of the
+interfaces in Asterisk. This includes not only AMI, but also CDRs and CEL.
+
+Specifications have been written for the affected interfaces. These
+specifications are available on the Asterisk wiki:
+ * AMI - https://wiki.asterisk.org/wiki/x/dAFRAQ
+ * CEL - https://wiki.asterisk.org/wiki/x/4ICLAQ
+ * CDRs - https://wiki.asterisk.org/wiki/x/pwpRAQ
+
+It is *highly* recommended that anyone migrating to Asterisk 12 read the
+information regarding its release both in this file and in the accompanying
+UPGRADE.txt file. More detailed information on the major changes can be found
+on the Asterisk wiki at https://wiki.asterisk.org/wiki/x/0YCLAQ.
+
+
+Build System
+------------------
+ * Added build option DISABLE_INLINE. This option can be used to work around a
+   bug in gcc. For more information, see
+   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47816
+
+ * Removed the CHANNEL_TRACE development mode build option. Certain aspects of
+   the CHANNEL_TRACE build option were incompatible with the new bridging
+   architecture.
+
+ * Asterisk now optionally uses libxslt to improve XML documentation generation
+   and maintainability. If libxslt is not available on the system, some XML
+   documentation will be incomplete.
+
+ * Asterisk now depends on libjansson. If a package of libjansson is not
+   available on your distro, please see http://www.digip.org/jansson/.
+
+ * Asterisk now depends on libuuid and, optionally, uriparser. It is
+   recommended that you install uriparser, even if it is optional.
+
+ * The new SIP stack and channel driver uses a particular version of PJSIP.
+   Please see https://wiki.asterisk.org/wiki/x/J4GLAQ for more information on
+   configuring and installing PJSIP for usage with Asterisk.
+
+
 Applications
 ------------------
 
 AgentLogin
 ------------------
- * The application no longer does agent authentication.  The dialplan needs to
-   perform this function before running AgentLogin.  If the agent is already
-   logged in, dialplan will continue with the AGENT_STATUS channel variable
-   set to ALREADY_LOGGED_IN.
+ * Along with AgentRequest, this application has been modified to be a
+   replacement for chan_agent. The act of a channel calling the AgentLogin
+   application places the channel into a pool of agents that can be
+   requested by the AgentRequest application. Note that this application, as
+   well as all other agent related functionality, is now provided by the
+   app_agent_pool module. See chan_agent and AgentRequest for more information.
+
+ * This application no longer performs agent authentication. If authentication
+   is desired, the dialplan needs to perform this function using the
+   Authenticate or VMAuthenticate application or through an AGI script before
+   running AgentLogin.
+
+ * If this application is called and the agent is already logged in, the
+   dialplan will continue exection with the AGENT_STATUS channel variable set
+   to ALREADY_LOGGED_IN.
+
+ * The agents.conf schema has changed. Rather than specifying agents on a
+   single line in comma delineated fashion, each agent is defined in a separate
+   context. This allows agents to use the power of context templates in their
+   definition.
+
+ * A number of parameters from agents.conf have been removed. This includes
+   maxloginretries, autologoffunavail, updatecdr, goodbye, group, recordformat,
+   urlprefix, and savecallsin. These options were obsoleted by the move from
+   a channel driver model to the bridging/application model provided by
+   app_agent_pool.
+
+AgentRequest
+------------------
+ * A new application, this will request a logged in agent from the pool and
+   bridge the requested channel with the channel calling this application.
+   Logged in agents are those channels that called the AgentLogin application.
+   If an agent cannot be requested from the pool, the AGENT_STATUS dialplan
+   application will be set with an appropriate error value.
 
 AgentMonitorOutgoing
 ------------------
- * Application removed.  It was a holdover from when AgentCallbackLogin was
-   removed.
+ * This application has been removed. It was a holdover from when
+   AgentCallbackLogin was removed.
+
+AlarmReceiver
+------------------
+ * Added support for additional Ademco DTMF signalling formats, including
+   Express 4+1, Express 4+2, High Speed and Super Fast.
+
+ * Added channel variable ALARMRECEIVER_CALL_LIMIT. This sets the maximum
+   call time, in milliseconds, to run the application.
+
+ * Added channel variable ALARMRECEIVER_RETRIES_LIMIT. This sets the
+   maximum number of times to retry the call.
+
+ * Added a new configuration option answait. If set, the AlarmReceiver
+   application will wait the number of milliseconds specified by answait
+   after the channel has answered. Valid values range between 500
+   milliseconds and 10000 milliseconds.
+
+ * Added configuration option no_group_meta. If enabled, grouping of metadata
+   information in the AlarmReceiver log file will be skipped.
+
+BridgeWait
+------------------
+ * A new application in Asterisk, this will place the calling channel
+   into a holding bridge, optionally entertaining them with some form of
+   media. Channels participating in a holding bridge do not interact with
+   other channels in the same holding bridge. Optionally, however, a channel
+   may join as an announcer. Any media passed from an announcer channel is
+   played to all channels in the holding bridge. Channels leave a holding
+   bridge either when an optional timer expires, or via the ChannelRedirect
+   application or AMI Redirect action.
 
 ConfBridge
 ------------------
  * All participants in a bridge can now be kicked out of a conference room
    by specifying the channel parameter as 'all' in the ConfBridge kick CLI
-   command, i.e., "confbridge kick <conference> all"
+   command, i.e., 'confbridge kick <conference> all'
+
+ * CLI output for the 'confbridge list' command has been improved. When
+   displaying information about a particular bridge, flags will now be shown
+   for the participating users indicating properties of that user.
+
+ * The ConfbridgeList event now contains the following fields: WaitMarked,
+   EndMarked, and Waiting. This displays additional properties about the
+   user's profile, as well as whether or not the user is waiting for a
+   Marked user to enter the conference.
+
+ * Added a new option for conference recording, record_file_append. If enabled,
+   when the recording is stopped and then re-started, the existing recording
+   will be used and appended to.
+
+ControlPlayback
+------------------
+ * The channel variable CPLAYBACKSTATUS may now return the value
+   'REMOTESTOPPED'. This occurs when playback is stopped by a remote interface,
+   such as AMI. See the AMI action ControlPlayback for more information.
+
+Directory
+------------------
+ * Added the 'a' option, which allows the caller to enter in an additional
+   alias for the user in the directory. This option must be used in conjunction
+   with the 'f', 'l', or 'b' options. Note that the alias for a user can be
+   specified in voicemail.conf.
+
+DumpChan
+------------------
+ * The output of DumpChan no longer includes the DirectBridge or IndirectBridge
+   fields. Instead, if a channel is in a bridge, it includes a BridgeID field
+   containing the unique ID of the bridge that the channel happens to be in.
 
 ForkCDR
 ------------------
@@ -47,13 +192,15 @@
    the state of the channel and cannot be altered.
 
  * The 'D' option has been removed. Who the Party B is on a CDR is a function
-   of the state of the respective channels, and cannot be altered.
+   of the state of the respective channels involved in the CDR and cannot be
+   altered.
 
  * The 'r' option has been changed. Previously, ForkCDR always reset the CDR
    such that the start time and, if applicable, the answer time was updated.
    Now, by default, ForkCDR simply forks the CDR, maintaining any times. The
    'r' option now triggers the Reset, setting the start time (and answer time
-   if applicable) to the current time.
+   if applicable) to the current time. Note that the 'a' option still sets
+   the answer time to the current time if the channel was already answered.
 
  * The 's' option has been removed. A variable can be set on the original CDR
    if desired using the CDR function, and removed from a forked CDR using the
@@ -64,39 +211,67 @@
 
  * The 'v' option now prevents the copy of the variables from the original CDR
    to the forked CDR. Previously the variables were always copied but were
-   removed from the original. Removing variables from a CDR can have unintended
-   side effects - this option allows the user to prevent propagation of
-   variables from the original to the forked without modifying the original.
+   removed from the original. This was changed as removing variables from a CDR
+   can have unintended side effects - this option allows the user to prevent
+   propagation of variables from the original to the forked without modifying
+   the original.
 
 MeetMe
 -------------------
-* Added the 'n' option to MeetMe to prevent application of the DENOISE function
-  to a channel joining a conference. Some channel drivers that vary the number
-  of audio samples in a voice frame will experience significant quality problems
-  if a denoiser is attached to the channel; this option gives them the ability
-  to remove the denoiser without having to unload func_speex.
+ * Added the 'n' option to MeetMe to prevent application of the DENOISE
+   function to a channel joining a conference. Some channel drivers that vary
+   the number of audio samples in a voice frame will experience significant
+   quality problems if a denoiser is attached to the channel; this option gives
+   them the ability to remove the denoiser without having to unload func_speex.
+
+MixMonitor
+------------------
+ * The 'b' option now includes conferences as well as sounds played to the
+   participants.
+
+ * The AUDIOHOOK_INHERIT function is no longer needed to keep a MixMonitor
+   running during a transfer. If a MixMonitor is started on a channel,
+   the MixMonitor will continue to record the audio passing through the
+   channel even in the presence of transfers.
 
 NoCDR
 ------------------
  * The NoCDR application is deprecated. Please use the CDR_PROP function to
    disable CDRs.
+
  * While the NoCDR application will prevent CDRs for a channel from being
    propagated to registered CDR backends, it will not prevent that data from
    being collected. Hence, a subsequent call to ResetCDR or the CDR_PROP
    function that enables CDRs on a channel will restore those records that have
    not yet been finalized.
 
+ParkAndAnnounce
+-------------------
+ * The app_parkandannounce module has been removed. The application
+   ParkAndAnnounce is now provided by the res_parking module. See the
+   res_parking changes for more information.
+
 Queue
 -------------------
- * Add queue available hint.  exten => 8501,hint,Queue:markq_avail
-   Note: the suffix '_avail' after the queuename.
-   Reports 'InUse' for no logged in agents or no free agents.
-   Reports 'Idle' when an agent is free.
+ * Added queue available hint. The hint can be added to the dialplan using the
+   following syntax: exten,hint,Queue:{queue_name}_avail
+   For example, if the name of the queue is 'markq':
+        exten => 8501,hint,Queue:markq_avail
+   This will report 'InUse' if there are no logged in agents or no free agents.
+   It will report 'Idle' when an agent is free.
+
+ * Queues now support a hint for member paused state. The hint uses the form
+   'Queue:{queue_name}_pause_{member_name}', where {queue_name} and {member_name}
+   are the name of the queue and the name of the member to subscribe to,
+   respectively. For example: exten => 8501,hint,Queue:sales_pause_mark.
+   Members will show as In Use when paused.
 
  * The configuration options eventwhencalled and eventmemberstatus have been
    removed.  As a result, the AMI events QueueMemberStatus, AgentCalled,
    AgentConnect, AgentComplete, AgentDump, and AgentRingNoAnswer will always be
    sent.  The "Variable" fields will also no longer exist on the Agent* events.
+   These events can be filtered out from a connected AMI client using the
+   eventfilter setting in manager.conf.
 
  * The queue log now differentiates between blind and attended transfers. A
    blind transfer will result in a BLINDTRANSFER message with the destination
@@ -104,49 +279,88 @@
    ATTENDEDTRANSFER message. This message will indicate the method by which
    the attended transfer was completed: "BRIDGE" for a bridge merge, "APP"
    for running an application on a bridge or channel, or "LINK" for linking
-   two bridges together with local channels.
-
- * Queues now support a hint for member paused state. The hint uses the form
-   'Queue:{queue_name}_pause_{member_name}', where {queue_name} and {member_name}
-   are the name of the queue and the name of the member to subscribe to,
-   respectively. For example: exten => 8501,hint,Queue:sales_pause_mark.
-   Members will show as In Use when paused.
+   two bridges together with local channels. The queue log will also now detect
+   externally initiated blind and attended transfers and record the transfer
+   status accordingly.
+
+ * When performing queue pause/unpause on an interface without specifying an
+   individual queue, the PAUSEALL/UNPAUSEALL event will only be logged if at
+   least one member of any queue exists for that interface.
+
+ * Added the 'queue_log_realtime_use_gmt' option to have timestamps in GMT
+   for realtime queue log entries.
 
 ResetCDR
 ------------------
  * The 'e' option has been deprecated. Use the CDR_PROP function to re-enable
    CDRs when they were previously disabled on a channel.
+
  * The 'w' and 'a' options have been removed. Dispatching CDRs to registered
    backends occurs on an as-needed basis in order to preserve linkedid
    propagation and other needed behavior.
 
+SayAlphaCase
+------------------
+ * A new application, this is similar to SayAlpha except that it supports
+   case sensitive playback of the specified characters. For example,
+   SayAlphaCase(u,aBc) will result in 'a uppercase b c'.
+
 SetAMAFlags
 ------------------
- * This application is deprecated in favor of the CHANNEL function.
+ * This application is deprecated in favor of CHANNEL(amaflags).
+
+SendDTMF
+------------------
+ * The SendDTMF application will now accept 'W' as valid input. This will cause
+   the application to delay one second while streaming DTMF.
+
+Stasis
+------------------
+ * A new application in Asterisk 12, this hands control of the channel calling
+   the application over to an external system. Currently, external systems
+   manipulate channels in Stasis through the Asterisk RESTful Interface (ARI).
 
 UserEvent
 ------------------
  * UserEvent will now handle duplicate keys by overwriting the previous value
-   assigned to the key. UserEvent invocations will also be distributed to any
-   interested res_stasis applications.
-
-
-Build System
-------------------
- * Asterisk now optionally uses libxslt to improve XML documentation generation
-   and maintainability. If libxslt is not available on the system, some XML
-   documentation will be incomplete.
+   assigned to the key.
+
+ * In addition to AMI, UserEvent invocations will now be distributed to any
+   interested Stasis applications.
+
+VoiceMail
+------------------
+ * The voicemail.conf configuration file now has an 'alias' configuration
+   parameter for use with the Directory application. The voicemail realtime
+   database table schema has also been updated with an 'alias' column.
+
+
+Codecs
+------------------
+ * Pass through support has been added for both VP8 and Opus.
+
+ * Added format attribute negotiation for the Opus codec. Format attribute
+   negotiation is provided by the res_format_attr_opus module.
 
 
 Core
 ------------------
- * Redirecting reasons can now be set to arbitrary strings. This means
-   that the REDIRECTING dialplan function can be used to set the redirecting
-   reason to any string. It also allows for custom strings to be read as the
-   redirecting reason from SIP Diversion headers.
-
- * For DTMF blind and attended transfers, the channel variable TRANSFER_CONTEXT
-   must be on the channel initiating the transfer to have any effect.
+ * Masquerades as an operation inside Asterisk have been effectively hidden
+   by the migration to the Bridging API. As such, many 'quirks' of Asterisk
+   no longer occur. This includes renaming of channels, "<ZOMBIE>" channels,
+   dropping of frame/audio hooks, and other internal implementation details
+   that users had to deal with. This fundamental change has large implications
+   throughout the changes documented for this version. For more information
+   about the new core architecture of Asterisk, please see the Asterisk wiki.
+
+ * Multiple parties in a bridge may now be transferred. If a participant in a
+   multi-party bridge initiates a blind transfer, a Local channel will be used
+   to execute the dialplan location that the transferer sent the parties to. If
+   a participant in a multi-party bridge initiates an attended transfer,
+   several options are possible. If the attended transfer results in a transfer
+   to an application, a Local channel is used. If the attended transfer results
+   in a transfer to another channel, the resulting channels will be merged into
+   a single bridge.
 
  * The channel variable ATTENDED_TRANSFER_COMPLETE_SOUND is no longer channel
    driver specific.  If the channel variable is set on the transferrer channel,
@@ -161,36 +375,40 @@
  * The channel variable BRIDGEPVTCALLID is only valid for two party bridges
    and will contain a value if the BRIDGEPEER's channel driver supports it.
 
- * The channel variable DYNAMIC_PEERNAME is redundant with BRIDGEPEER and is
-   removed.  The more useful DYNAMIC_WHO_ACTIVATED gives the channel name that
-   activated the dynamic feature.
-
- * The channel variables DYNAMIC_FEATURENAME and DYNAMIC_WHO_ACTIVATED are set
-   only on the channel executing the dynamic feature.  Executing a dynamic
-   feature on the bridge peer in a multi-party bridge will execute it on all
-   peers of the activating channel.
-
  * A channel variable ATTENDEDTRANSFER is now set which indicates which channel
    was responsible for an attended transfer in a similar fashion to
    BLINDTRANSFER.
 
-
-Codecs
-------------------
- * Added pass through support for VP8 and Opus
-
- * Added format attribute negotiation for the Opus codec. Format attribute
-   negotiation is provided by the res_format_attr_opus module.
-
+ * Modules using the Configuration Framework or Sorcery must have XML
+   configuration documentation. This configuration documentation is included
+   with the rest of Asterisk's XML documentation, and is accessible via CLI
+   commands. See the CLI changes for more information.
 
 AMI (Asterisk Manager Interface)
 ------------------
- * The SIPshowpeer action will now include a 'SubscribeContext' field for a peer
-   in its response if the peer has a subscribe context set.
-
- * The SIPqualifypeer action now acknowledges the request once it has established
-   that the request is against a known peer. It also issues a new event,
-   'SIPQualifyPeerDone', once the qualify action has been completed.
+ * Major changes were made to both the syntax as well as the semantics of the
+   AMI protocol. In particular, AMI events have been substantially improved
+   in this version of Asterisk. For more information, please see the AMI
+   specification at https://wiki.asterisk.org/wiki/x/dAFRAQ
+
+ * AMI events that reference a particular channel or bridge will now always
+   contain a standard set of fields. When multiple channels or bridges are
+   referenced in an event, fields for at least some subset of the channels
+   and bridges in the event will be prefixed with a descriptive name to avoid
+   name collisions. See the AMI event documentation on the Asterisk wiki for
+   more information.
+
+ * The CLI command 'manager show commands' no longer truncates command names
+   longer than 15 characters and no longer shows authorization requirement
+   for commands. 'manager show command' now displays the privileges needed
+   for using a given manager command instead.
+
+ * The SIPshowpeer action will now include a 'SubscribeContext' field for a
+   peer in its response if the peer has a subscribe context set.
+
+ * The SIPqualifypeer action now acknowledges the request once it has
+   established that the request is against a known peer. It also issues a new
+   event, 'SIPQualifyPeerDone', once the qualify action has been completed.
 
  * The PlayDTMF action now supports an optional 'Duration' parameter.  This
    specifies the duration of the digit to be played, in milliseconds.
@@ -198,13 +416,8 @@
  * Added VoicemailRefresh action to allow an external entity to trigger mailbox
    updates when changes occur instead of requiring the use of pollmailboxes.
 
- * CLI Command 'Manager Show Commands' no longer truncates command names longer
-   than 15 characters and no longer shows authorization requirement for commands.
-   'Manager Show Command' now displays the privileges needed for using a given
-   manager command instead.
-
- * Added new action "ControlPlayback". The ControlPlayback action allows an AMI
-   client to manipulate audio currently being played back on a channel. The
+ * Added a new action 'ControlPlayback'. The ControlPlayback action allows an
+   AMI client to manipulate audio currently being played back on a channel. The
    supported operations depend on the application being used to send audio to
    the channel. When the audio playback was initiated using the ControlPlayback
    application or CONTROL STREAM FILE AGI command, the audio can be paused,
@@ -258,71 +471,71 @@
  * The NewPeerAccount AMI event is no longer raised. The NewAccountCode AMI
    event always conveys the AMI event for a particular channel.
 
- * All "Reload" events have been consolidated into a single event type. This
+ * All 'Reload' events have been consolidated into a single event type. This
    event will always contain a Module field specifying the name of the module
    and a Status field denoting the result of the reload. All modules now issue
    this event when being reloaded.
 
- * The "ModuleLoadReport" event has been removed. Most AMI connections would
+ * The 'ModuleLoadReport' event has been removed. Most AMI connections would
    fail to receive this event due to being connected after modules have loaded.
    AMI connections that want to know when Asterisk is ready should listen for
-   the "FullyBooted" event.
+   the 'FullyBooted' event.
 
  * app_fax now sends the same send fax/receive fax events as res_fax. The
-   "FaxSent" event is now the "SendFAX" event, and the "FaxReceived" event is
-   now the "ReceiveFAX" event.
-
- * The MusicOnHold event is now two events: MusicOnHoldStart and
-   MusicOnHoldStop. The sub type field has been removed.
-
- * The JabberEvent event has been removed. It is not AMI's purpose to be a
+   'FaxSent' event is now the 'SendFAX' event, and the 'FaxReceived' event is
+   now the 'ReceiveFAX' event.
+
+ * The 'MusicOnHold' event is now two events: 'MusicOnHoldStart' and
+   'MusicOnHoldStop'. The sub type field has been removed.
+
+ * The 'JabberEvent' event has been removed. It is not AMI's purpose to be a
    carrier for another protocol.
 
- * The Bridge Manager action's Playtone header now accepts more fine-grained
-   options. "Channel1" and "Channel2" may be specified in order to play a tone
-   to the specific channel. "Both" may be specified to play a tone to both
-   channels. The old "yes" option is still accepted as a way of playing the
+ * The Bridge Manager action's 'Playtone' header now accepts more fine-grained
+   options. 'Channel1' and 'Channel2' may be specified in order to play a tone
+   to the specific channel. 'Both' may be specified to play a tone to both
+   channels. The old 'yes' option is still accepted as a way of playing the
    tone to Channel2 only.
 
  * The AMI 'Status' response event to the AMI Status action replaces the
-   BridgedChannel and BridgedUniqueid headers with the BridgeID header to
+   'BridgedChannel' and 'BridgedUniqueid' headers with the 'BridgeID' header to
    indicate what bridge the channel is currently in.
 
  * The AMI 'Hold' event has been moved out of individual channel drivers, into
-   core, and is now two events: Hold and Unhold.  The status field has been
+   core, and is now two events: 'Hold' and 'Unhold'.  The status field has been
    removed.
 
  * The AMI events in app_queue have been made more consistent with each other.
    Events that reference channels (QueueCaller* and Agent*) will show
-   information about each channel.  The (infamous) "Join" and "Leave" AMI
-   events have been changed to "QueueCallerJoin" and "QueueCallerLeave".
-
- * The MCID AMI event now publishes a channel snapshot when available and
+   information about each channel.  The (infamous) 'Join' and 'Leave' AMI
+   events have been changed to 'QueueCallerJoin' and 'QueueCallerLeave'.
+
+ * The 'MCID' AMI event now publishes a channel snapshot when available and
    its non-channel-snapshot parameters now use either the "MCallerID" or
-   "MConnectedID" prefixes with Subaddr*, Name*, and Num* suffixes instead
-   of "CallerID" and "ConnectedID" to avoid confusion with similarly named
+   'MConnectedID' prefixes with Subaddr*, Name*, and Num* suffixes instead
+   of 'CallerID' and 'ConnectedID' to avoid confusion with similarly named
    parameters in the channel snapshot.
 
- * The AMI events "Agentlogin" and "Agentlogoff" have been renamed
-   "AgentLogin" and "AgentLogoff" respectively.
-
- * The "Channel" key used in the "AlarmClear", "Alarm", and "DNDState" has been
+ * The AMI events 'Agentlogin' and 'Agentlogoff' have been renamed
+   'AgentLogin' and 'AgentLogoff' respectively.
+
+ * The 'Channel' key used in the 'AlarmClear', 'Alarm', and 'DNDState' has been

[... 2542 lines stripped ...]



More information about the asterisk-commits mailing list