[asterisk-commits] kmoore: branch kmoore/hidden_channels r393844 - in /team/kmoore/hidden_channe...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Jul 8 15:42:50 CDT 2013


Author: kmoore
Date: Mon Jul  8 15:42:45 2013
New Revision: 393844

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=393844
Log:
fix merge conflict and update to current

Added:
    team/kmoore/hidden_channels/configs/ari.conf.sample
      - copied unchanged from r393834, trunk/configs/ari.conf.sample
    team/kmoore/hidden_channels/configs/stasis.conf.sample
      - copied unchanged from r393834, trunk/configs/stasis.conf.sample
    team/kmoore/hidden_channels/doc/rest-api/   (props changed)
      - copied from r393834, trunk/doc/rest-api/
    team/kmoore/hidden_channels/include/asterisk/mixmonitor.h
      - copied unchanged from r393834, trunk/include/asterisk/mixmonitor.h
    team/kmoore/hidden_channels/include/asterisk/stasis_app_recording.h
      - copied unchanged from r393834, trunk/include/asterisk/stasis_app_recording.h
    team/kmoore/hidden_channels/include/asterisk/stasis_system.h
      - copied unchanged from r393834, trunk/include/asterisk/stasis_system.h
    team/kmoore/hidden_channels/main/crypt.c
      - copied unchanged from r393834, trunk/main/crypt.c
    team/kmoore/hidden_channels/main/manager_system.c
      - copied unchanged from r393834, trunk/main/manager_system.c
    team/kmoore/hidden_channels/main/mixmonitor.c
      - copied unchanged from r393834, trunk/main/mixmonitor.c
    team/kmoore/hidden_channels/main/stasis_config.c
      - copied unchanged from r393834, trunk/main/stasis_config.c
    team/kmoore/hidden_channels/main/stasis_system.c
      - copied unchanged from r393834, trunk/main/stasis_system.c
    team/kmoore/hidden_channels/res/res_ari_model.c
      - copied unchanged from r393834, trunk/res/res_ari_model.c
    team/kmoore/hidden_channels/res/res_ari_model.exports.in
      - copied unchanged from r393834, trunk/res/res_ari_model.exports.in
    team/kmoore/hidden_channels/res/res_sip/config_security.c
      - copied unchanged from r393834, trunk/res/res_sip/config_security.c
    team/kmoore/hidden_channels/res/res_sip_notify.c
      - copied unchanged from r393834, trunk/res/res_sip_notify.c
    team/kmoore/hidden_channels/res/res_stasis_recording.c
      - copied unchanged from r393834, trunk/res/res_stasis_recording.c
    team/kmoore/hidden_channels/res/res_stasis_recording.exports.in
      - copied unchanged from r393834, trunk/res/res_stasis_recording.exports.in
    team/kmoore/hidden_channels/res/stasis_http/ari_model_validators.c
      - copied unchanged from r393834, trunk/res/stasis_http/ari_model_validators.c
    team/kmoore/hidden_channels/res/stasis_http/ari_model_validators.h
      - copied unchanged from r393834, trunk/res/stasis_http/ari_model_validators.h
    team/kmoore/hidden_channels/res/stasis_http/ari_websockets.c
      - copied unchanged from r393834, trunk/res/stasis_http/ari_websockets.c
    team/kmoore/hidden_channels/res/stasis_http/cli.c
      - copied unchanged from r393834, trunk/res/stasis_http/cli.c
    team/kmoore/hidden_channels/res/stasis_http/config.c
      - copied unchanged from r393834, trunk/res/stasis_http/config.c
    team/kmoore/hidden_channels/res/stasis_http/internal.h
      - copied unchanged from r393834, trunk/res/stasis_http/internal.h
    team/kmoore/hidden_channels/rest-api-templates/api.wiki.mustache
      - copied unchanged from r393834, trunk/rest-api-templates/api.wiki.mustache
    team/kmoore/hidden_channels/rest-api-templates/ari_model_validators.c.mustache
      - copied unchanged from r393834, trunk/rest-api-templates/ari_model_validators.c.mustache
    team/kmoore/hidden_channels/rest-api-templates/ari_model_validators.h.mustache
      - copied unchanged from r393834, trunk/rest-api-templates/ari_model_validators.h.mustache
    team/kmoore/hidden_channels/rest-api-templates/make_ari_stubs.py
      - copied unchanged from r393834, trunk/rest-api-templates/make_ari_stubs.py
    team/kmoore/hidden_channels/rest-api-templates/models.wiki.mustache
      - copied unchanged from r393834, trunk/rest-api-templates/models.wiki.mustache
    team/kmoore/hidden_channels/rest-api-templates/param_parsing.mustache
      - copied unchanged from r393834, trunk/rest-api-templates/param_parsing.mustache
    team/kmoore/hidden_channels/tests/test_ari_model.c
      - copied unchanged from r393834, trunk/tests/test_ari_model.c
    team/kmoore/hidden_channels/tests/test_cel.c
      - copied unchanged from r393834, trunk/tests/test_cel.c
Removed:
    team/kmoore/hidden_channels/configs/stasis_core.conf.sample
    team/kmoore/hidden_channels/configs/stasis_http.conf.sample
    team/kmoore/hidden_channels/res/res_stasis_json_asterisk.c
    team/kmoore/hidden_channels/res/res_stasis_json_asterisk.exports.in
    team/kmoore/hidden_channels/res/res_stasis_json_bridges.c
    team/kmoore/hidden_channels/res/res_stasis_json_bridges.exports.in
    team/kmoore/hidden_channels/res/res_stasis_json_channels.c
    team/kmoore/hidden_channels/res/res_stasis_json_channels.exports.in
    team/kmoore/hidden_channels/res/res_stasis_json_endpoints.c
    team/kmoore/hidden_channels/res/res_stasis_json_endpoints.exports.in
    team/kmoore/hidden_channels/res/res_stasis_json_events.c
    team/kmoore/hidden_channels/res/res_stasis_json_events.exports.in
    team/kmoore/hidden_channels/res/res_stasis_json_playback.c
    team/kmoore/hidden_channels/res/res_stasis_json_playback.exports.in
    team/kmoore/hidden_channels/res/res_stasis_json_recordings.c
    team/kmoore/hidden_channels/res/res_stasis_json_recordings.exports.in
    team/kmoore/hidden_channels/res/res_stasis_json_sounds.c
    team/kmoore/hidden_channels/res/res_stasis_json_sounds.exports.in
    team/kmoore/hidden_channels/res/res_stasis_websocket.c
    team/kmoore/hidden_channels/res/stasis_json/
    team/kmoore/hidden_channels/rest-api-templates/event_function_decl.mustache
    team/kmoore/hidden_channels/rest-api-templates/make_stasis_http_stubs.py
    team/kmoore/hidden_channels/rest-api-templates/res_stasis_json_resource.c.mustache
    team/kmoore/hidden_channels/rest-api-templates/res_stasis_json_resource.exports.mustache
    team/kmoore/hidden_channels/rest-api-templates/stasis_json_resource.h.mustache
Modified:
    team/kmoore/hidden_channels/   (props changed)
    team/kmoore/hidden_channels/CHANGES
    team/kmoore/hidden_channels/Makefile
    team/kmoore/hidden_channels/UPGRADE.txt
    team/kmoore/hidden_channels/apps/app_celgenuserevent.c
    team/kmoore/hidden_channels/apps/app_dial.c
    team/kmoore/hidden_channels/apps/app_meetme.c
    team/kmoore/hidden_channels/apps/app_minivm.c
    team/kmoore/hidden_channels/apps/app_mixmonitor.c
    team/kmoore/hidden_channels/apps/app_queue.c
    team/kmoore/hidden_channels/apps/app_stasis.c
    team/kmoore/hidden_channels/apps/app_voicemail.c
    team/kmoore/hidden_channels/apps/confbridge/conf_chan_announce.c
    team/kmoore/hidden_channels/bridges/bridge_builtin_features.c
    team/kmoore/hidden_channels/build_tools/cflags-devmode.xml
    team/kmoore/hidden_channels/channels/chan_dahdi.c
    team/kmoore/hidden_channels/channels/chan_gtalk.c
    team/kmoore/hidden_channels/channels/chan_gulp.c
    team/kmoore/hidden_channels/channels/chan_h323.c
    team/kmoore/hidden_channels/channels/chan_iax2.c
    team/kmoore/hidden_channels/channels/chan_jingle.c
    team/kmoore/hidden_channels/channels/chan_mgcp.c
    team/kmoore/hidden_channels/channels/chan_motif.c
    team/kmoore/hidden_channels/channels/chan_multicast_rtp.c
    team/kmoore/hidden_channels/channels/chan_sip.c
    team/kmoore/hidden_channels/channels/chan_skinny.c
    team/kmoore/hidden_channels/channels/chan_unistim.c
    team/kmoore/hidden_channels/channels/sig_analog.c
    team/kmoore/hidden_channels/channels/sig_pri.c
    team/kmoore/hidden_channels/channels/sip/include/sip.h
    team/kmoore/hidden_channels/configs/features.conf.sample
    team/kmoore/hidden_channels/configs/sip.conf.sample
    team/kmoore/hidden_channels/configure
    team/kmoore/hidden_channels/configure.ac
    team/kmoore/hidden_channels/contrib/scripts/ast_tls_cert
    team/kmoore/hidden_channels/doc/appdocsxml.dtd
    team/kmoore/hidden_channels/funcs/func_channel.c
    team/kmoore/hidden_channels/include/asterisk.h
    team/kmoore/hidden_channels/include/asterisk/app.h
    team/kmoore/hidden_channels/include/asterisk/autoconfig.h.in
    team/kmoore/hidden_channels/include/asterisk/bridging.h
    team/kmoore/hidden_channels/include/asterisk/bridging_features.h
    team/kmoore/hidden_channels/include/asterisk/cdr.h
    team/kmoore/hidden_channels/include/asterisk/cel.h
    team/kmoore/hidden_channels/include/asterisk/channel.h
    team/kmoore/hidden_channels/include/asterisk/config_options.h
    team/kmoore/hidden_channels/include/asterisk/core_local.h
    team/kmoore/hidden_channels/include/asterisk/core_unreal.h
    team/kmoore/hidden_channels/include/asterisk/features.h
    team/kmoore/hidden_channels/include/asterisk/features_config.h
    team/kmoore/hidden_channels/include/asterisk/file.h
    team/kmoore/hidden_channels/include/asterisk/http.h
    team/kmoore/hidden_channels/include/asterisk/json.h
    team/kmoore/hidden_channels/include/asterisk/manager.h
    team/kmoore/hidden_channels/include/asterisk/parking.h
    team/kmoore/hidden_channels/include/asterisk/paths.h
    team/kmoore/hidden_channels/include/asterisk/pbx.h
    team/kmoore/hidden_channels/include/asterisk/res_sip.h
    team/kmoore/hidden_channels/include/asterisk/res_sip_pubsub.h
    team/kmoore/hidden_channels/include/asterisk/rtp_engine.h
    team/kmoore/hidden_channels/include/asterisk/sorcery.h
    team/kmoore/hidden_channels/include/asterisk/stasis.h
    team/kmoore/hidden_channels/include/asterisk/stasis_app.h
    team/kmoore/hidden_channels/include/asterisk/stasis_bridging.h
    team/kmoore/hidden_channels/include/asterisk/stasis_channels.h
    team/kmoore/hidden_channels/include/asterisk/stasis_http.h
    team/kmoore/hidden_channels/include/asterisk/utils.h
    team/kmoore/hidden_channels/main/Makefile
    team/kmoore/hidden_channels/main/aoc.c
    team/kmoore/hidden_channels/main/app.c
    team/kmoore/hidden_channels/main/asterisk.c
    team/kmoore/hidden_channels/main/bridging.c
    team/kmoore/hidden_channels/main/cdr.c
    team/kmoore/hidden_channels/main/cel.c
    team/kmoore/hidden_channels/main/channel.c
    team/kmoore/hidden_channels/main/channel_internal_api.c
    team/kmoore/hidden_channels/main/cli.c
    team/kmoore/hidden_channels/main/config_options.c
    team/kmoore/hidden_channels/main/core_local.c
    team/kmoore/hidden_channels/main/core_unreal.c
    team/kmoore/hidden_channels/main/datastore.c
    team/kmoore/hidden_channels/main/devicestate.c
    team/kmoore/hidden_channels/main/features.c
    team/kmoore/hidden_channels/main/features_config.c
    team/kmoore/hidden_channels/main/file.c
    team/kmoore/hidden_channels/main/http.c
    team/kmoore/hidden_channels/main/json.c
    team/kmoore/hidden_channels/main/manager.c
    team/kmoore/hidden_channels/main/manager_bridging.c
    team/kmoore/hidden_channels/main/manager_channels.c
    team/kmoore/hidden_channels/main/named_acl.c
    team/kmoore/hidden_channels/main/parking.c
    team/kmoore/hidden_channels/main/pbx.c
    team/kmoore/hidden_channels/main/presencestate.c
    team/kmoore/hidden_channels/main/rtp_engine.c
    team/kmoore/hidden_channels/main/sorcery.c
    team/kmoore/hidden_channels/main/sounds_index.c
    team/kmoore/hidden_channels/main/stasis.c
    team/kmoore/hidden_channels/main/stasis_bridging.c
    team/kmoore/hidden_channels/main/stasis_channels.c
    team/kmoore/hidden_channels/main/stasis_endpoints.c
    team/kmoore/hidden_channels/main/utils.c
    team/kmoore/hidden_channels/makeopts.in
    team/kmoore/hidden_channels/res/Makefile
    team/kmoore/hidden_channels/res/parking/parking_applications.c
    team/kmoore/hidden_channels/res/parking/parking_bridge.c
    team/kmoore/hidden_channels/res/parking/parking_bridge_features.c
    team/kmoore/hidden_channels/res/parking/parking_controller.c
    team/kmoore/hidden_channels/res/parking/parking_manager.c
    team/kmoore/hidden_channels/res/parking/parking_ui.c
    team/kmoore/hidden_channels/res/parking/res_parking.h
    team/kmoore/hidden_channels/res/res_agi.c
    team/kmoore/hidden_channels/res/res_calendar.c
    team/kmoore/hidden_channels/res/res_chan_stats.c
    team/kmoore/hidden_channels/res/res_http_websocket.c
    team/kmoore/hidden_channels/res/res_http_websocket.exports.in
    team/kmoore/hidden_channels/res/res_parking.c
    team/kmoore/hidden_channels/res/res_rtp_asterisk.c
    team/kmoore/hidden_channels/res/res_sip.c
    team/kmoore/hidden_channels/res/res_sip.exports.in
    team/kmoore/hidden_channels/res/res_sip/config_auth.c
    team/kmoore/hidden_channels/res/res_sip/config_transport.c
    team/kmoore/hidden_channels/res/res_sip/include/res_sip_private.h
    team/kmoore/hidden_channels/res/res_sip/sip_configuration.c
    team/kmoore/hidden_channels/res/res_sip/sip_distributor.c
    team/kmoore/hidden_channels/res/res_sip/sip_options.c
    team/kmoore/hidden_channels/res/res_sip_acl.c
    team/kmoore/hidden_channels/res/res_sip_authenticator_digest.c
    team/kmoore/hidden_channels/res/res_sip_caller_id.c
    team/kmoore/hidden_channels/res/res_sip_outbound_authenticator_digest.c
    team/kmoore/hidden_channels/res/res_sip_pubsub.c
    team/kmoore/hidden_channels/res/res_sip_pubsub.exports.in
    team/kmoore/hidden_channels/res/res_sip_refer.c
    team/kmoore/hidden_channels/res/res_stasis.c
    team/kmoore/hidden_channels/res/res_stasis_answer.c
    team/kmoore/hidden_channels/res/res_stasis_bridge_add.c
    team/kmoore/hidden_channels/res/res_stasis_http.c
    team/kmoore/hidden_channels/res/res_stasis_http.exports.in
    team/kmoore/hidden_channels/res/res_stasis_http_asterisk.c
    team/kmoore/hidden_channels/res/res_stasis_http_bridges.c
    team/kmoore/hidden_channels/res/res_stasis_http_channels.c
    team/kmoore/hidden_channels/res/res_stasis_http_endpoints.c
    team/kmoore/hidden_channels/res/res_stasis_http_events.c
    team/kmoore/hidden_channels/res/res_stasis_http_playback.c
    team/kmoore/hidden_channels/res/res_stasis_http_recordings.c
    team/kmoore/hidden_channels/res/res_stasis_http_sounds.c
    team/kmoore/hidden_channels/res/res_stasis_playback.c
    team/kmoore/hidden_channels/res/res_stasis_test.c
    team/kmoore/hidden_channels/res/res_statsd.c
    team/kmoore/hidden_channels/res/res_stun_monitor.c
    team/kmoore/hidden_channels/res/stasis/control.c
    team/kmoore/hidden_channels/res/stasis_http/resource_asterisk.c
    team/kmoore/hidden_channels/res/stasis_http/resource_asterisk.h
    team/kmoore/hidden_channels/res/stasis_http/resource_channels.c
    team/kmoore/hidden_channels/res/stasis_http/resource_channels.h
    team/kmoore/hidden_channels/res/stasis_http/resource_events.c
    team/kmoore/hidden_channels/res/stasis_http/resource_events.h
    team/kmoore/hidden_channels/res/stasis_http/resource_recordings.c
    team/kmoore/hidden_channels/res/stasis_http/resource_recordings.h
    team/kmoore/hidden_channels/rest-api-templates/asterisk_processor.py
    team/kmoore/hidden_channels/rest-api-templates/res_stasis_http_resource.c.mustache
    team/kmoore/hidden_channels/rest-api-templates/rest_handler.mustache
    team/kmoore/hidden_channels/rest-api-templates/stasis_http_resource.c.mustache
    team/kmoore/hidden_channels/rest-api-templates/stasis_http_resource.h.mustache
    team/kmoore/hidden_channels/rest-api-templates/swagger_model.py
    team/kmoore/hidden_channels/rest-api-templates/transform.py
    team/kmoore/hidden_channels/rest-api/api-docs/asterisk.json
    team/kmoore/hidden_channels/rest-api/api-docs/bridges.json
    team/kmoore/hidden_channels/rest-api/api-docs/channels.json
    team/kmoore/hidden_channels/rest-api/api-docs/endpoints.json
    team/kmoore/hidden_channels/rest-api/api-docs/events.json
    team/kmoore/hidden_channels/rest-api/api-docs/playback.json
    team/kmoore/hidden_channels/rest-api/api-docs/recordings.json
    team/kmoore/hidden_channels/rest-api/api-docs/sounds.json
    team/kmoore/hidden_channels/tests/test_cdr.c
    team/kmoore/hidden_channels/tests/test_endpoints.c
    team/kmoore/hidden_channels/tests/test_res_stasis.c
    team/kmoore/hidden_channels/tests/test_stasis_channels.c
    team/kmoore/hidden_channels/tests/test_stasis_endpoints.c
    team/kmoore/hidden_channels/tests/test_stasis_http.c
    team/kmoore/hidden_channels/tests/test_utils.c

Propchange: team/kmoore/hidden_channels/
------------------------------------------------------------------------------
    automerge = *

Propchange: team/kmoore/hidden_channels/
------------------------------------------------------------------------------
Binary property 'branch-11-merged' - no diff available.

Propchange: team/kmoore/hidden_channels/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Mon Jul  8 15:42:45 2013
@@ -1,1 +1,1 @@
-/trunk:1-392706
+/trunk:1-393842

Modified: team/kmoore/hidden_channels/CHANGES
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/hidden_channels/CHANGES?view=diff&rev=393844&r1=393843&r2=393844
==============================================================================
--- team/kmoore/hidden_channels/CHANGES (original)
+++ team/kmoore/hidden_channels/CHANGES Mon Jul  8 15:42:45 2013
@@ -136,6 +136,10 @@
    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.
+
 AMI (Asterisk Manager Interface)
 ------------------
  * The SIPshowpeer action will now include a 'SubscribeContext' field for a peer
@@ -143,7 +147,7 @@
 
  * 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.
+   '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.
@@ -176,12 +180,24 @@
 
  * The AMI events 'ParkedCall', 'ParkedCallTimeOut', 'ParkedCallGiveUp', and
    'UnParkedCall' have changed significantly in the new res_parking module.
-   First, channel snapshot data is included for both the parker and the parkee
-   in lieu of the "From" and "Channel" fields. They follow standard channel
-   snapshot format but each field is suffixed with 'Parker' or 'Parkee'
-   depending on which side it applies to. The 'Exten' field is replaced with
-   'ParkingSpace' since the registration of extensions as for parking spaces
-   is no longer mandatory.
+
+   The 'Channel' and 'From' headers are gone. For the channel that was parked
+   or is coming out of parking, a 'Parkee' channel snapshot is issued and it
+   has a number of fields associated with it. The old 'Channel' header relayed
+   the same data as the new 'ParkeeChannel' header.
+
+   The 'From' field was ambiguous and changed meaning depending on the event.
+   for most of these, it was the name of the channel that parked the call
+   (the 'Parker'). There is no longer a header that provides this channel name,
+   however the 'ParkerDialString' will contain a dialstring to redial the
+   device that parked the call.
+
+   On UnParkedCall events, the 'From' header would instead represent the
+   channel responsible for retrieving the parkee. It receives a channel
+   snapshot labeled 'Retriever'. The 'from' field is is replaced with
+   'RetrieverChannel'.
+
+   Lastly, the 'Exten' field has been replaced with 'ParkingSpace'.
 
  * The AMI event 'Parkinglot' (response to 'Parkinglots' command) in a similar
    fashion has changed the field names 'StartExten' and 'StopExten' to
@@ -196,8 +212,8 @@
    event, the various ChanVariable fields will contain a suffix that specifies
    which channel they correspond to.
 
-* The NewPeerAccount AMI event is no longer raised. The NewAccountCode AMI
-  event always conveys the AMI event for a particular channel.
+ * 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
    event will always contain a Module field specifying the name of the module
@@ -238,6 +254,33 @@
    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
+   parameters in the channel snapshot.
+
+ * The "Agentlogin" and "Agentlogoff" events have been renamed "AgentLogin" and
+   "AgentLogoff" respectively.
+
+ * The "Channel" key used in the "AlarmClear", "Alarm", and "DNDState" has been
+   renamed "DAHDIChannel" since it does not convey an Asterisk channel name.
+
+ * "ChannelUpdate" events have been removed.
+
+ * AMI events now contain a SystemName field, if available.
+
+ * Local channel optimization is now conveyed in two events:
+   LocalOptimizationBegin and LocalOptimizationEnd. The Begin event is sent
+   when the Local channel driver begins attempting to optimize itself out of
+   the media path; the End event is sent after the channel halves have
+   successfully optimized themselves out of the media path.
+
+ * Local channel information in events is now prefixed with "LocalOne" and
+   "LocalTwo". This replaces the suffix of "1" and "2" for the two halves of
+   the Local channel. This affects the LocalBridge, LocalOptimizationBegin,
+   and LocalOptimizationEnd events.
+
 AGI (Asterisk Gateway Interface)
 ------------------
  * The manager event AGIExec has been split into AGIExecStart and AGIExecEnd.
@@ -254,8 +297,11 @@
  * CDRs will now be created between all participants in a bridge. For each
    pair of channels in a bridge, a CDR is created to represent the path of
    communication between those two endpoints. This lets an end user choose who
-   to bill for what during multi-party bridges or bridge operations during
-   transfer scenarios.
+   to bill for what during bridge operations with multiple parties.
+
+ * The duration, billsec, start, answer, and end times now reflect the times
+   associated with the current CDR for the channel, as opposed to a cumulative
+   measurement of all CDRs for that channel.
 
  * When a CDR is dispatched, user defined CDR variables from both parties are
    included in the resulting CDR. If both parties have the same variable, only
@@ -269,7 +315,7 @@
    will now apply the feature to the calling party while use of a lowercase
    letter will apply that feature to the called party.
 
- * Add support for automixmonitor to the BRIDGE_FEATURES channel variable.
+ * Add support for automixmon to the BRIDGE_FEATURES channel variable.
 
  * Parking has been pulled from core and placed into a separate module called
    res_parking. See Parking changes below for more details.
@@ -277,6 +323,14 @@
  * You can now have the settings for a channel updated using the FEATURE()
    and FEATUREMAP() functions inherited to child channels by setting
    FEATURE(inherit)=yes.
+
+ * automixmon now supports additional channel variables from automon including:
+   TOUCH_MIXMONITOR_PREFIX, TOUCH_MIXMONITOR_MESSAGE_START,
+   and TOUCH_MIXMONITOR_MESSAGE_STOP
+
+ * A new general features.conf option 'recordingfailsound' has been added which
+   allowssetting a failure sound for a user tries to invoke a recording feature
+   such as automon or automixmon and it fails.
 
 Logging
 -------------------
@@ -330,12 +384,33 @@
  * The AMI command 'ParkedCalls' will now accept a 'ParkingLot' argument which
    can be used to get a list of parked calls only for a specific parking lot.
 
+ * The AMI command 'Park' has had the argument 'Channel2' renamed to
+   'TimeoutChannel'. 'TimeoutChannel' is no longer a required argument.
+   'Channel2' can still be used as the argument name, but it is deprecated
+   and the 'TimeoutChannel' argument will be used if both are present.
+
  * The ParkAndAnnounce application is now provided through res_parking instead
    of through the separate app_parkandannounce module.
 
  * ParkAndAnnounce will no longer go to the next position in dialplan on timeout
    by default. Instead, it will follow the timeout rules of the parking lot. The
    old behavior can be reproduced by using the 'c' option.
+
+ * Dynamic parking lots will now fail to be created if the parking lot specified
+   by PARKINGDYNAMIC does not exist.
+
+ * Dynamic parking lots will also fail to be created now if they require exclusive
+   park and parkedcall extensions which overlap with other parking lots.
+
+ * Dynamic parking lots will be cleared on reload for dynamic parking lots that
+   currently contain no calls. Dynamic parking lots containing parked calls will
+   persist through the reloads without alteration.
+
+ * If parkext_exclusive is set for a parking lot and that extension is already in
+   use when that parking lot tries to register it, this is now considered a parking
+   system configuration error. Configurations which do this will be rejected.
+   Dynamic parking lots which try to register extensions that already exist will
+   also be rejected.
 
  * Added a channel variable PARKER_FLAT which stores the name of the extension
    that would be used to come back to if comebacktoorigin was set to use. This can

Modified: team/kmoore/hidden_channels/Makefile
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/hidden_channels/Makefile?view=diff&rev=393844&r1=393843&r2=393844
==============================================================================
--- team/kmoore/hidden_channels/Makefile (original)
+++ team/kmoore/hidden_channels/Makefile Mon Jul  8 15:42:45 2013
@@ -416,6 +416,7 @@
 	rm -f main/version.c
 	rm -f doc/core-en_US.xml
 	rm -f doc/full-en_US.xml
+	rm -f docs/rest-api/*.wiki
 	@$(MAKE) -C menuselect clean
 	cp -f .cleancount .lastclean
 
@@ -476,7 +477,7 @@
 	@echo "</docs>" >> $@
 
 ifneq ($(GREP),)
-  XMX_full_en_US = $(foreach dir,$(MOD_SUBDIRS),$(shell $(GREP) -l "language=\"en_US\"" $(dir)/*.c $(dir)/*.cc 2>/dev/null))
+  XML_full_en_US = $(foreach dir,$(MOD_SUBDIRS),$(shell $(GREP) -l "language=\"en_US\"" $(dir)/*.c $(dir)/*.cc 2>/dev/null))
 endif
 
 doc/full-en_US.xml: makeopts .lastclean $(XML_full_en_US)
@@ -535,7 +536,8 @@
 INSTALLDIRS="$(ASTLIBDIR)" "$(ASTMODDIR)" "$(ASTSBINDIR)" "$(ASTETCDIR)" "$(ASTVARRUNDIR)" \
 	"$(ASTSPOOLDIR)" "$(ASTSPOOLDIR)/dictate" "$(ASTSPOOLDIR)/meetme" \
 	"$(ASTSPOOLDIR)/monitor" "$(ASTSPOOLDIR)/system" "$(ASTSPOOLDIR)/tmp" \
-	"$(ASTSPOOLDIR)/voicemail" "$(ASTHEADERDIR)" "$(ASTHEADERDIR)/doxygen" \
+	"$(ASTSPOOLDIR)/voicemail" "$(ASTSPOOLDIR)/recording" \
+	"$(ASTHEADERDIR)" "$(ASTHEADERDIR)/doxygen" \
 	"$(ASTLOGDIR)" "$(ASTLOGDIR)/cdr-csv" "$(ASTLOGDIR)/cdr-custom" \
 	"$(ASTLOGDIR)/cel-custom" "$(ASTDATADIR)" "$(ASTDATADIR)/documentation" \
 	"$(ASTDATADIR)/documentation/thirdparty" "$(ASTDATADIR)/firmware" \
@@ -963,15 +965,15 @@
 
 # We don't want to require Python or Pystache for every build, so this is its
 # own target.
-stasis-stubs:
+ari-stubs:
 ifeq ($(PYTHON),:)
 	@echo "--------------------------------------------------------------------------"
-	@echo "---        Please install python to build Stasis HTTP stubs            ---"
+	@echo "---        Please install python to build ARI stubs            ---"
 	@echo "--------------------------------------------------------------------------"
 	@false
 else
-	$(PYTHON) rest-api-templates/make_stasis_http_stubs.py \
-		rest-api/resources.json res/
+	$(PYTHON) rest-api-templates/make_ari_stubs.py \
+		rest-api/resources.json .
 endif
 
 .PHONY: menuselect
@@ -993,7 +995,7 @@
 .PHONY: installdirs
 .PHONY: validate-docs
 .PHONY: _clean
-.PHONY: stasis-stubs
+.PHONY: ari-stubs
 .PHONY: $(SUBDIRS_INSTALL)
 .PHONY: $(SUBDIRS_DIST_CLEAN)
 .PHONY: $(SUBDIRS_CLEAN)

Modified: team/kmoore/hidden_channels/UPGRADE.txt
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/hidden_channels/UPGRADE.txt?view=diff&rev=393844&r1=393843&r2=393844
==============================================================================
--- team/kmoore/hidden_channels/UPGRADE.txt (original)
+++ team/kmoore/hidden_channels/UPGRADE.txt Mon Jul  8 15:42:45 2013
@@ -75,6 +75,22 @@
    - Channels no longer swap Uniqueid's as a result of the masquerade.
    - Instead of a shell game of renames, there's now a single rename, appending
      <ZOMBIE> to the name of the original channel.
+ - The AMI events 'ParkedCall', 'ParkedCallTimeOut', 'ParkedCallGiveUp', and
+   'UnParkedCall' have changed significantly in the new res_parking module.
+   - The 'Channel' and 'From' headers are gone. For the channel that was parked
+     or is coming out of parking, a 'Parkee' channel snapshot is issued and it
+     has a number of fields associated with it. The old 'Channel' header relayed
+     the same data as the new 'ParkeeChannel' header.
+   - The 'From' field was ambiguous and changed meaning depending on the event.
+     for most of these, it was the name of the channel that parked the call
+     (the 'Parker'). There is no longer a header that provides this channel name,
+     however the 'ParkerDialString' will contain a dialstring to redial the
+     device that parked the call.
+   - On UnParkedCall events, the 'From' header would instead represent the
+     channel responsible for retrieving the parkee. It receives a channel
+     snapshot labeled 'Retriever'. The 'from' field is is replaced with
+     'RetrieverChannel'.
+   - Lastly, the 'Exten' field has been replaced with 'ParkingSpace'.
 
 CEL:
  - The Uniqueid field for a channel is now a stable identifier, and will not

Modified: team/kmoore/hidden_channels/apps/app_celgenuserevent.c
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/hidden_channels/apps/app_celgenuserevent.c?view=diff&rev=393844&r1=393843&r2=393844
==============================================================================
--- team/kmoore/hidden_channels/apps/app_celgenuserevent.c (original)
+++ team/kmoore/hidden_channels/apps/app_celgenuserevent.c Mon Jul  8 15:42:45 2013
@@ -62,6 +62,7 @@
 {
 	int res = 0;
 	char *parse;
+	RAII_VAR(struct ast_json *, blob, NULL, ast_json_unref);
 	AST_DECLARE_APP_ARGS(args,
 		AST_APP_ARG(event);
 		AST_APP_ARG(extra);
@@ -74,7 +75,13 @@
 	parse = ast_strdupa(data);
 	AST_STANDARD_APP_ARGS(args, parse);
 
-	ast_cel_report_event(chan, AST_CEL_USER_DEFINED, args.event, args.extra, NULL);
+	blob = ast_json_pack("{s: s, s: s}",
+		"event", args.event,
+		"extra", args.extra);
+	if (!blob) {
+		return res;
+	}
+	ast_cel_publish_event(chan, AST_CEL_USER_DEFINED, blob);
 	return res;
 }
 

Modified: team/kmoore/hidden_channels/apps/app_dial.c
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/hidden_channels/apps/app_dial.c?view=diff&rev=393844&r1=393843&r2=393844
==============================================================================
--- team/kmoore/hidden_channels/apps/app_dial.c (original)
+++ team/kmoore/hidden_channels/apps/app_dial.c Mon Jul  8 15:42:45 2013
@@ -859,8 +859,6 @@
 		ast_clear_flag64(o, OPT_IGNORE_CONNECTEDLINE);
 	}
 
-	ast_cel_report_event(in, AST_CEL_FORWARD, NULL, ast_channel_call_forward(c), NULL);
-
 	/* Before processing channel, go ahead and check for forwarding */
 	ast_verb(3, "Now forwarding %s to '%s/%s' (thanks to %s)\n", ast_channel_name(in), tech, stuff, ast_channel_name(c));
 	/* If we have been told to ignore forwards, just set this channel to null and continue processing extensions normally */
@@ -1004,7 +1002,8 @@
 			ast_channel_unlock(c);
 
 			ast_channel_lock_both(original, in);
-			ast_channel_publish_dial(in, original, NULL, "CANCEL");
+			ast_channel_publish_dial_forward(in, original, NULL, "CANCEL",
+				ast_channel_call_forward(c));
 			ast_channel_unlock(in);
 			ast_channel_unlock(original);
 

Modified: team/kmoore/hidden_channels/apps/app_meetme.c
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/hidden_channels/apps/app_meetme.c?view=diff&rev=393844&r1=393843&r2=393844
==============================================================================
--- team/kmoore/hidden_channels/apps/app_meetme.c (original)
+++ team/kmoore/hidden_channels/apps/app_meetme.c Mon Jul  8 15:42:45 2013
@@ -1117,75 +1117,15 @@
 	15,
 };
 
-/*!
- * \internal
- * \brief accessor for join message type
- * \since 12.0.0
- *
- * \retval pointer to the stasis message type
- * \retval NULL if not initialized
- */
-static struct stasis_message_type *meetme_join_type(void);
-
-/*!
- * \internal
- * \brief accessor for leave message type
- * \since 12.0.0
- *
- * \retval pointer to the stasis message type
- * \retval NULL if not initialized
- */
-static struct stasis_message_type *meetme_leave_type(void);
-
-/*!
- * \internal
- * \brief accessor for end message type
- * \since 12.0.0
- *
- * \retval pointer to the stasis message type
- * \retval NULL if not initialized
- */
-static struct stasis_message_type *meetme_end_type(void);
-
-/*!
- * \internal
- * \brief accessor for mute message type
- * \since 12.0.0
- *
- * \retval pointer to the stasis message type
- * \retval NULL if not initialized
- */
-static struct stasis_message_type *meetme_mute_type(void);
-
-/*!
- * \internal
- * \brief accessor for talking message type
- * \since 12.0.0
- *
- * \retval pointer to the stasis message type
- * \retval NULL if not initialized
- */
-static struct stasis_message_type *meetme_talking_type(void);
-
-/*!
- * \internal
- * \brief accessor for talk request message type
- * \since 12.0.0
- *
- * \retval pointer to the stasis message type
- * \retval NULL if not initialized
- */
-static struct stasis_message_type *meetme_talk_request_type(void);
-
 /* Routes the various meetme message types to the meetme stasis callback function to turn them into events */
 static struct stasis_message_router *meetme_event_message_router;
 
-STASIS_MESSAGE_TYPE_DEFN(meetme_join_type);
-STASIS_MESSAGE_TYPE_DEFN(meetme_leave_type);
-STASIS_MESSAGE_TYPE_DEFN(meetme_end_type);
-STASIS_MESSAGE_TYPE_DEFN(meetme_mute_type);
-STASIS_MESSAGE_TYPE_DEFN(meetme_talking_type);
-STASIS_MESSAGE_TYPE_DEFN(meetme_talk_request_type);
+STASIS_MESSAGE_TYPE_DEFN_LOCAL(meetme_join_type);
+STASIS_MESSAGE_TYPE_DEFN_LOCAL(meetme_leave_type);
+STASIS_MESSAGE_TYPE_DEFN_LOCAL(meetme_end_type);
+STASIS_MESSAGE_TYPE_DEFN_LOCAL(meetme_mute_type);
+STASIS_MESSAGE_TYPE_DEFN_LOCAL(meetme_talking_type);
+STASIS_MESSAGE_TYPE_DEFN_LOCAL(meetme_talk_request_type);
 
 static void meetme_stasis_cb(void *data, struct stasis_subscription *sub,
 	struct stasis_topic *topic, struct stasis_message *message);

Modified: team/kmoore/hidden_channels/apps/app_minivm.c
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/hidden_channels/apps/app_minivm.c?view=diff&rev=393844&r1=393843&r2=393844
==============================================================================
--- team/kmoore/hidden_channels/apps/app_minivm.c (original)
+++ team/kmoore/hidden_channels/apps/app_minivm.c Mon Jul  8 15:42:45 2013
@@ -1674,7 +1674,7 @@
 				ast_channel_setoption(chan, AST_OPTION_RXGAIN, &record_gain, sizeof(record_gain), 0);
 			if (ast_test_flag(vmu, MVM_OPERATOR))
 				canceldtmf = "0";
-			cmd = ast_play_and_record_full(chan, playfile, recordfile, maxtime, fmt, duration, sound_duration, global_silencethreshold, global_maxsilence, unlockdir, acceptdtmf, canceldtmf);
+			cmd = ast_play_and_record_full(chan, playfile, recordfile, maxtime, fmt, duration, sound_duration, global_silencethreshold, global_maxsilence, unlockdir, acceptdtmf, canceldtmf, 0, AST_RECORD_IF_EXISTS_OVERWRITE);
 			if (record_gain)
 				ast_channel_setoption(chan, AST_OPTION_RXGAIN, &zero_gain, sizeof(zero_gain), 0);
 			if (cmd == -1) /* User has hung up, no options to give */

Modified: team/kmoore/hidden_channels/apps/app_mixmonitor.c
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/hidden_channels/apps/app_mixmonitor.c?view=diff&rev=393844&r1=393843&r2=393844
==============================================================================
--- team/kmoore/hidden_channels/apps/app_mixmonitor.c (original)
+++ team/kmoore/hidden_channels/apps/app_mixmonitor.c Mon Jul  8 15:42:45 2013
@@ -56,6 +56,7 @@
 #include "asterisk/mod_format.h"
 #include "asterisk/linkedlists.h"
 #include "asterisk/test.h"
+#include "asterisk/mixmonitor.h"
 
 /*** DOCUMENTATION
 	<application name="MixMonitor" language="en_US">
@@ -78,7 +79,6 @@
 					</option>
 					<option name="b">
 						<para>Only save audio to the file while the channel is bridged.</para>
-						<note><para>Does not include conferences or sounds played to each bridged party</para></note>
 						<note><para>If you utilize this option inside a Local channel, you must make sure the Local
 						channel is not optimized away. To do this, be sure to call your Local channel with the
 						<literal>/n</literal> option. For example: Dial(Local/start at mycontext/n)</para></note>
@@ -103,7 +103,6 @@
 						<para>Use the specified file to record the <emphasis>receive</emphasis> audio feed.
 						Like with the basic filename argument, if an absolute path isn't given, it will create
 						the file in the configured monitoring directory.</para>
-
 					</option>
 					<option name="t">
 						<argument name="file" required="true" />
@@ -133,11 +132,7 @@
 			<para>Records the audio on the current channel to the specified file.</para>
 			<para>This application does not automatically answer and should be preceeded by
 			an application such as Answer or Progress().</para>
-			<note><para>MixMonitor runs as an audiohook. In order to keep it running through
-			a transfer, AUDIOHOOK_INHERIT must be set for the channel which ran mixmonitor.
-			For more information, including dialplan configuration set for using
-			AUDIOHOOK_INHERIT with MixMonitor, see the function documentation for
-			AUDIOHOOK_INHERIT.</para></note>
+			<note><para>MixMonitor runs as an audiohook.</para></note>
 			<variablelist>
 				<variable name="MIXMONITOR_FILENAME">
 					<para>Will contain the filename used to record.</para>
@@ -648,7 +643,9 @@
 		 * Unlock it, but remember to lock it before looping or exiting */
 		ast_audiohook_unlock(&mixmonitor->audiohook);
 
-		if (!ast_test_flag(mixmonitor, MUXFLAG_BRIDGED) || (mixmonitor->autochan->chan && ast_bridged_channel(mixmonitor->autochan->chan))) {
+		if (!ast_test_flag(mixmonitor, MUXFLAG_BRIDGED)
+			|| (mixmonitor->autochan->chan
+				&& ast_channel_is_bridged(mixmonitor->autochan->chan))) {
 			ast_mutex_lock(&mixmonitor->mixmonitor_ds->lock);
 
 			/* Write out the frame(s) */
@@ -807,7 +804,9 @@
 				*p2 = '$';
 			}
 		}
+		ast_channel_lock(chan);
 		pbx_substitute_variables_helper(chan, p1, postprocess2, sizeof(postprocess2) - 1);
+		ast_channel_unlock(chan);
 	}
 
 	/* Pre-allocate mixmonitor structure and spy */
@@ -946,7 +945,7 @@
 	char *filename_read = NULL;
 	char *filename_write = NULL;
 	char filename_buffer[1024] = "";
-        char *uid_channel_var = NULL;
+	char *uid_channel_var = NULL;
 
 	struct ast_flags flags = { 0 };
 	char *recipients = NULL;
@@ -1071,9 +1070,10 @@
 
 	ast_channel_lock(chan);
 
-	if (!(datastore = ast_channel_datastore_find(chan, &mixmonitor_ds_info, args.mixmonid))) {
+	datastore = ast_channel_datastore_find(chan, &mixmonitor_ds_info, args.mixmonid);
+	if (!datastore) {
 		ast_channel_unlock(chan);

[... 27602 lines stripped ...]



More information about the asterisk-commits mailing list