[svn-commits] kmoore: branch kmoore/hidden_channels r393844 - in /team/kmoore/hidden_channe...
SVN commits to the Digium repositories
svn-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 svn-commits
mailing list