[asterisk-commits] dlee: branch dlee/playback-rebase r389446 - in /team/dlee/playback-rebase: ./...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue May 21 16:30:53 CDT 2013
Author: dlee
Date: Tue May 21 16:30:48 2013
New Revision: 389446
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=389446
Log:
Merged revisions 388975-389426 from http://svn.asterisk.org/svn/asterisk/trunk
Added:
team/dlee/playback-rebase/apps/app_bridgewait.c
- copied unchanged from r389426, trunk/apps/app_bridgewait.c
team/dlee/playback-rebase/apps/confbridge/conf_chan_announce.c
- copied unchanged from r389426, trunk/apps/confbridge/conf_chan_announce.c
team/dlee/playback-rebase/apps/confbridge/conf_chan_record.c
- copied unchanged from r389426, trunk/apps/confbridge/conf_chan_record.c
team/dlee/playback-rebase/apps/confbridge/confbridge_manager.c
- copied unchanged from r389426, trunk/apps/confbridge/confbridge_manager.c
team/dlee/playback-rebase/bridges/bridge_builtin_interval_features.c
- copied unchanged from r389426, trunk/bridges/bridge_builtin_interval_features.c
team/dlee/playback-rebase/bridges/bridge_holding.c
- copied unchanged from r389426, trunk/bridges/bridge_holding.c
team/dlee/playback-rebase/bridges/bridge_native_rtp.c
- copied unchanged from r389426, trunk/bridges/bridge_native_rtp.c
team/dlee/playback-rebase/configs/res_parking.conf.sample
- copied unchanged from r389426, trunk/configs/res_parking.conf.sample
team/dlee/playback-rebase/include/asterisk/bridging_basic.h
- copied unchanged from r389426, trunk/include/asterisk/bridging_basic.h
team/dlee/playback-rebase/include/asterisk/bridging_roles.h
- copied unchanged from r389426, trunk/include/asterisk/bridging_roles.h
team/dlee/playback-rebase/include/asterisk/core_local.h
- copied unchanged from r389426, trunk/include/asterisk/core_local.h
team/dlee/playback-rebase/include/asterisk/core_unreal.h
- copied unchanged from r389426, trunk/include/asterisk/core_unreal.h
team/dlee/playback-rebase/include/asterisk/parking.h
- copied unchanged from r389426, trunk/include/asterisk/parking.h
team/dlee/playback-rebase/include/asterisk/stasis_bridging.h
- copied unchanged from r389426, trunk/include/asterisk/stasis_bridging.h
team/dlee/playback-rebase/main/bridging_basic.c
- copied unchanged from r389426, trunk/main/bridging_basic.c
team/dlee/playback-rebase/main/bridging_roles.c
- copied unchanged from r389426, trunk/main/bridging_roles.c
team/dlee/playback-rebase/main/core_local.c
- copied unchanged from r389426, trunk/main/core_local.c
team/dlee/playback-rebase/main/core_unreal.c
- copied unchanged from r389426, trunk/main/core_unreal.c
team/dlee/playback-rebase/main/manager_bridging.c
- copied unchanged from r389426, trunk/main/manager_bridging.c
team/dlee/playback-rebase/main/parking.c
- copied unchanged from r389426, trunk/main/parking.c
team/dlee/playback-rebase/main/stasis_bridging.c
- copied unchanged from r389426, trunk/main/stasis_bridging.c
team/dlee/playback-rebase/res/parking/ (props changed)
- copied from r389426, trunk/res/parking/
team/dlee/playback-rebase/res/res_parking.c
- copied unchanged from r389426, trunk/res/res_parking.c
team/dlee/playback-rebase/res/res_stasis_answer.exports.in
- copied unchanged from r389426, trunk/res/res_stasis_answer.exports.in
Removed:
team/dlee/playback-rebase/apps/app_parkandannounce.c
team/dlee/playback-rebase/bridges/bridge_multiplexed.c
team/dlee/playback-rebase/channels/chan_bridge.c
team/dlee/playback-rebase/channels/chan_local.c
Modified:
team/dlee/playback-rebase/ (props changed)
team/dlee/playback-rebase/CHANGES
team/dlee/playback-rebase/UPGRADE.txt
team/dlee/playback-rebase/addons/chan_ooh323.c
team/dlee/playback-rebase/addons/chan_ooh323.h
team/dlee/playback-rebase/apps/app_celgenuserevent.c (props changed)
team/dlee/playback-rebase/apps/app_channelredirect.c
team/dlee/playback-rebase/apps/app_chanspy.c
team/dlee/playback-rebase/apps/app_confbridge.c
team/dlee/playback-rebase/apps/app_dial.c
team/dlee/playback-rebase/apps/app_dumpchan.c
team/dlee/playback-rebase/apps/app_followme.c
team/dlee/playback-rebase/apps/app_mixmonitor.c
team/dlee/playback-rebase/apps/app_morsecode.c (props changed)
team/dlee/playback-rebase/apps/app_queue.c
team/dlee/playback-rebase/apps/app_setcallerid.c (props changed)
team/dlee/playback-rebase/apps/app_stasis.c (props changed)
team/dlee/playback-rebase/apps/app_userevent.c
team/dlee/playback-rebase/apps/app_voicemail.c
team/dlee/playback-rebase/apps/app_waituntil.c (props changed)
team/dlee/playback-rebase/apps/confbridge/conf_config_parser.c
team/dlee/playback-rebase/apps/confbridge/include/confbridge.h
team/dlee/playback-rebase/bridges/bridge_builtin_features.c
team/dlee/playback-rebase/bridges/bridge_simple.c
team/dlee/playback-rebase/bridges/bridge_softmix.c
team/dlee/playback-rebase/cel/cel_custom.c (props changed)
team/dlee/playback-rebase/cel/cel_manager.c (props changed)
team/dlee/playback-rebase/cel/cel_odbc.c (props changed)
team/dlee/playback-rebase/cel/cel_pgsql.c (props changed)
team/dlee/playback-rebase/cel/cel_radius.c (props changed)
team/dlee/playback-rebase/cel/cel_sqlite3_custom.c (props changed)
team/dlee/playback-rebase/cel/cel_tds.c (props changed)
team/dlee/playback-rebase/channels/chan_agent.c
team/dlee/playback-rebase/channels/chan_dahdi.c
team/dlee/playback-rebase/channels/chan_gulp.c
team/dlee/playback-rebase/channels/chan_h323.c
team/dlee/playback-rebase/channels/chan_iax2.c
team/dlee/playback-rebase/channels/chan_jingle.c
team/dlee/playback-rebase/channels/chan_mgcp.c
team/dlee/playback-rebase/channels/chan_misdn.c
team/dlee/playback-rebase/channels/chan_motif.c
team/dlee/playback-rebase/channels/chan_sip.c
team/dlee/playback-rebase/channels/chan_skinny.c
team/dlee/playback-rebase/channels/chan_unistim.c
team/dlee/playback-rebase/channels/chan_vpb.cc
team/dlee/playback-rebase/channels/sip/config_parser.c
team/dlee/playback-rebase/channels/sip/dialplan_functions.c (contents, props changed)
team/dlee/playback-rebase/channels/sip/include/config_parser.h
team/dlee/playback-rebase/channels/sip/include/dialog.h (props changed)
team/dlee/playback-rebase/channels/sip/include/dialplan_functions.h (props changed)
team/dlee/playback-rebase/channels/sip/include/globals.h (props changed)
team/dlee/playback-rebase/channels/sip/include/sdp_crypto.h (props changed)
team/dlee/playback-rebase/channels/sip/include/sip.h
team/dlee/playback-rebase/channels/sip/include/srtp.h (props changed)
team/dlee/playback-rebase/channels/sip/sdp_crypto.c (props changed)
team/dlee/playback-rebase/channels/sip/security_events.c
team/dlee/playback-rebase/channels/sip/srtp.c (props changed)
team/dlee/playback-rebase/codecs/codec_dahdi.c (props changed)
team/dlee/playback-rebase/configs/features.conf.sample
team/dlee/playback-rebase/configs/skinny.conf.sample
team/dlee/playback-rebase/contrib/utils/eagi_proxy.c (props changed)
team/dlee/playback-rebase/formats/format_h264.c (props changed)
team/dlee/playback-rebase/funcs/func_channel.c (contents, props changed)
team/dlee/playback-rebase/funcs/func_dialgroup.c (props changed)
team/dlee/playback-rebase/funcs/func_frame_trace.c
team/dlee/playback-rebase/funcs/func_iconv.c (props changed)
team/dlee/playback-rebase/funcs/func_jitterbuffer.c
team/dlee/playback-rebase/funcs/func_odbc.c (props changed)
team/dlee/playback-rebase/funcs/func_presencestate.c
team/dlee/playback-rebase/funcs/func_rand.c (props changed)
team/dlee/playback-rebase/funcs/func_realtime.c (props changed)
team/dlee/playback-rebase/funcs/func_version.c (props changed)
team/dlee/playback-rebase/include/asterisk/_private.h
team/dlee/playback-rebase/include/asterisk/abstract_jb.h
team/dlee/playback-rebase/include/asterisk/acl.h
team/dlee/playback-rebase/include/asterisk/ael_structs.h (props changed)
team/dlee/playback-rebase/include/asterisk/bridging.h
team/dlee/playback-rebase/include/asterisk/bridging_features.h
team/dlee/playback-rebase/include/asterisk/bridging_technology.h
team/dlee/playback-rebase/include/asterisk/ccss.h
team/dlee/playback-rebase/include/asterisk/cel.h (props changed)
team/dlee/playback-rebase/include/asterisk/channel.h
team/dlee/playback-rebase/include/asterisk/config_options.h
team/dlee/playback-rebase/include/asterisk/dial.h
team/dlee/playback-rebase/include/asterisk/event.h (props changed)
team/dlee/playback-rebase/include/asterisk/event_defs.h (props changed)
team/dlee/playback-rebase/include/asterisk/frame.h
team/dlee/playback-rebase/include/asterisk/frame_defs.h (props changed)
team/dlee/playback-rebase/include/asterisk/framehook.h
team/dlee/playback-rebase/include/asterisk/hashtab.h (props changed)
team/dlee/playback-rebase/include/asterisk/json.h (contents, props changed)
team/dlee/playback-rebase/include/asterisk/manager.h
team/dlee/playback-rebase/include/asterisk/netsock2.h
team/dlee/playback-rebase/include/asterisk/paths.h (props changed)
team/dlee/playback-rebase/include/asterisk/pktccops.h (props changed)
team/dlee/playback-rebase/include/asterisk/res_sip.h
team/dlee/playback-rebase/include/asterisk/res_srtp.h (props changed)
team/dlee/playback-rebase/include/asterisk/rtp_engine.h
team/dlee/playback-rebase/include/asterisk/security_events.h
team/dlee/playback-rebase/include/asterisk/security_events_defs.h
team/dlee/playback-rebase/include/asterisk/sha1.h (props changed)
team/dlee/playback-rebase/include/asterisk/smdi.h (props changed)
team/dlee/playback-rebase/include/asterisk/stasis.h (contents, props changed)
team/dlee/playback-rebase/include/asterisk/stasis_app.h (props changed)
team/dlee/playback-rebase/include/asterisk/stasis_channels.h
team/dlee/playback-rebase/include/asterisk/stasis_http.h (props changed)
team/dlee/playback-rebase/include/asterisk/stasis_message_router.h (contents, props changed)
team/dlee/playback-rebase/include/asterisk/stringfields.h (props changed)
team/dlee/playback-rebase/include/asterisk/udptl.h (props changed)
team/dlee/playback-rebase/main/abstract_jb.c
team/dlee/playback-rebase/main/app.c
team/dlee/playback-rebase/main/asterisk.c
team/dlee/playback-rebase/main/bridging.c
team/dlee/playback-rebase/main/cel.c (props changed)
team/dlee/playback-rebase/main/channel.c
team/dlee/playback-rebase/main/channel_internal_api.c
team/dlee/playback-rebase/main/cli.c
team/dlee/playback-rebase/main/config_options.c
team/dlee/playback-rebase/main/devicestate.c
team/dlee/playback-rebase/main/dial.c
team/dlee/playback-rebase/main/endpoints.c
team/dlee/playback-rebase/main/event.c (props changed)
team/dlee/playback-rebase/main/features.c
team/dlee/playback-rebase/main/frame.c
team/dlee/playback-rebase/main/hashtab.c (props changed)
team/dlee/playback-rebase/main/json.c (contents, props changed)
team/dlee/playback-rebase/main/manager.c
team/dlee/playback-rebase/main/manager_channels.c (contents, props changed)
team/dlee/playback-rebase/main/named_acl.c
team/dlee/playback-rebase/main/pbx.c
team/dlee/playback-rebase/main/rtp_engine.c
team/dlee/playback-rebase/main/security_events.c
team/dlee/playback-rebase/main/sha1.c (props changed)
team/dlee/playback-rebase/main/sorcery.c
team/dlee/playback-rebase/main/stasis.c (contents, props changed)
team/dlee/playback-rebase/main/stasis_cache.c (contents, props changed)
team/dlee/playback-rebase/main/stasis_channels.c
team/dlee/playback-rebase/main/stasis_endpoints.c
team/dlee/playback-rebase/main/stasis_message.c (props changed)
team/dlee/playback-rebase/main/stasis_message_router.c (contents, props changed)
team/dlee/playback-rebase/main/strings.c
team/dlee/playback-rebase/main/threadstorage.c (props changed)
team/dlee/playback-rebase/main/udptl.c (props changed)
team/dlee/playback-rebase/pbx/pbx_lua.c (props changed)
team/dlee/playback-rebase/res/Makefile
team/dlee/playback-rebase/res/ael/ael.tab.c (props changed)
team/dlee/playback-rebase/res/ael/ael.tab.h (props changed)
team/dlee/playback-rebase/res/ael/ael_lex.c (props changed)
team/dlee/playback-rebase/res/ael/pval.c (props changed)
team/dlee/playback-rebase/res/res_ael_share.c (props changed)
team/dlee/playback-rebase/res/res_chan_stats.c
team/dlee/playback-rebase/res/res_clioriginate.c (props changed)
team/dlee/playback-rebase/res/res_curl.c (props changed)
team/dlee/playback-rebase/res/res_jabber.c
team/dlee/playback-rebase/res/res_pktccops.c (props changed)
team/dlee/playback-rebase/res/res_security_log.c
team/dlee/playback-rebase/res/res_sip.c
team/dlee/playback-rebase/res/res_sip/config_transport.c
team/dlee/playback-rebase/res/res_sip_acl.c
team/dlee/playback-rebase/res/res_sip_endpoint_identifier_ip.c
team/dlee/playback-rebase/res/res_sip_nat.c
team/dlee/playback-rebase/res/res_sip_outbound_registration.c
team/dlee/playback-rebase/res/res_smdi.c (props changed)
team/dlee/playback-rebase/res/res_srtp.c (props changed)
team/dlee/playback-rebase/res/res_stasis.c (contents, props changed)
team/dlee/playback-rebase/res/res_stasis_http.c (props changed)
team/dlee/playback-rebase/res/res_stasis_http_asterisk.c (props changed)
team/dlee/playback-rebase/res/res_stasis_http_bridges.c (props changed)
team/dlee/playback-rebase/res/res_stasis_http_channels.c (props changed)
team/dlee/playback-rebase/res/res_stasis_http_endpoints.c (props changed)
team/dlee/playback-rebase/res/res_stasis_http_events.c (props changed)
team/dlee/playback-rebase/res/res_stasis_http_recordings.c (props changed)
team/dlee/playback-rebase/res/res_stasis_json_events.c
team/dlee/playback-rebase/res/res_stasis_json_events.exports.in
team/dlee/playback-rebase/res/res_stasis_websocket.c (props changed)
team/dlee/playback-rebase/res/stasis_http/resource_asterisk.c (props changed)
team/dlee/playback-rebase/res/stasis_http/resource_asterisk.h (props changed)
team/dlee/playback-rebase/res/stasis_http/resource_bridges.c (props changed)
team/dlee/playback-rebase/res/stasis_http/resource_bridges.h (props changed)
team/dlee/playback-rebase/res/stasis_http/resource_channels.c (props changed)
team/dlee/playback-rebase/res/stasis_http/resource_channels.h (props changed)
team/dlee/playback-rebase/res/stasis_http/resource_endpoints.c (props changed)
team/dlee/playback-rebase/res/stasis_http/resource_endpoints.h (props changed)
team/dlee/playback-rebase/res/stasis_http/resource_events.c (props changed)
team/dlee/playback-rebase/res/stasis_http/resource_events.h (props changed)
team/dlee/playback-rebase/res/stasis_http/resource_recordings.c (props changed)
team/dlee/playback-rebase/res/stasis_http/resource_recordings.h (props changed)
team/dlee/playback-rebase/res/stasis_json/resource_events.h
team/dlee/playback-rebase/rest-api-templates/res_stasis_json_resource.c.mustache
team/dlee/playback-rebase/rest-api-templates/stasis_json_resource.h.mustache
team/dlee/playback-rebase/rest-api/api-docs/events.json
team/dlee/playback-rebase/tests/test_astobj2_thrash.c (props changed)
team/dlee/playback-rebase/tests/test_dlinklists.c (props changed)
team/dlee/playback-rebase/tests/test_gosub.c (props changed)
team/dlee/playback-rebase/tests/test_hashtab_thrash.c (props changed)
team/dlee/playback-rebase/tests/test_json.c (props changed)
team/dlee/playback-rebase/tests/test_res_stasis.c (props changed)
team/dlee/playback-rebase/tests/test_security_events.c
team/dlee/playback-rebase/tests/test_stasis.c (props changed)
team/dlee/playback-rebase/tests/test_stasis_http.c (props changed)
team/dlee/playback-rebase/tests/test_time.c (props changed)
team/dlee/playback-rebase/tests/test_xml_escape.c (props changed)
team/dlee/playback-rebase/utils/ael_main.c (props changed)
team/dlee/playback-rebase/utils/refcounter.c (props changed)
Propchange: team/dlee/playback-rebase/
------------------------------------------------------------------------------
Binary property 'branch-11-merged' - no diff available.
Propchange: team/dlee/playback-rebase/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue May 21 16:30:48 2013
@@ -12,6 +12,7 @@
config.log
config.status
defaults.h
+doxygen.log
makeopts
makeopts.embed_rules
menuselect-tree
Propchange: team/dlee/playback-rebase/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue May 21 16:30:48 2013
@@ -1,1 +1,1 @@
-/trunk:1-388896
+/trunk:1-389435
Modified: team/dlee/playback-rebase/CHANGES
URL: http://svnview.digium.com/svn/asterisk/team/dlee/playback-rebase/CHANGES?view=diff&rev=389446&r1=389445&r2=389446
==============================================================================
--- team/dlee/playback-rebase/CHANGES (original)
+++ team/dlee/playback-rebase/CHANGES Tue May 21 16:30:48 2013
@@ -50,6 +50,19 @@
* The AMI event 'UserEvent' from app_userevent now contains the channel state
fields. The channel state fields will come before the body fields.
+ * 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 AMI event 'Parkinglot' (response to 'Parkinglots' command) in a similar
+ fashion has changed the field names 'StartExten' and 'StopExten' to
+ 'StartSpace' and 'StopSpace' respectively.
+
* The deprecated use of | (pipe) as a separator in the channelvars setting in
manager.conf has been removed.
@@ -59,8 +72,23 @@
event, the various ChanVariable fields will contain a suffix that specifies
which channel they correspond to.
+ * The AMI 'Status' response event to the AMI Status action replaces the
+ BridgedChannel and BridgedUniqueid headers with the BridgeID header to
+ indicate what bridge the channel is currently in.
+
Channel Drivers
------------------
+ * When a channel driver is configured to enable jiterbuffers, they are now
+ applied unconditionally when a channel joins a bridge. If a jitterbuffer
+ is already set for that channel when it enters, such as by the JITTERBUFFER
+ function, then the existing jitterbuffer will be used and the one set by
+ the channel driver will not be applied.
+
+chan_local
+------------------
+ * The /b option is removed.
+
+ * chan_local moved into the system core and is no longer a loadable module.
chan_mobile
------------------
@@ -86,12 +114,18 @@
* Add support for automixmonitor to the BRIDGE_FEATURES channel variable.
- * PARKINGSLOT and PARKEDLOT channel variables will now be set for a parked
- channel even when comebactoorigin=yes
+ * Parking has been pulled from core and placed into a separate module called
+ res_parking. See Parking changes below for more details.
* 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.
+
+Functions
+------------------
+ * JITTERBUFFER now accepts an argument of 'disabled' which can be used
+ to remove jitterbuffers previously set on a channel with JITTERBUFFER.
+ The value of this setting is ignored when disabled is used for the argument.
Logging
-------------------
@@ -110,6 +144,51 @@
if a denoiser is attached to the channel; this option gives them the ability
to remove the denoiser without having to unload func_speex.
+Parking
+-------------------
+ * Parking is now implemented as a module instead of as core functionality.
+ The preferred way to configure parking is now through res_parking.conf while
+ configuration through features.conf is not currently supported.
+
+ * Parked calls are now placed in bridges. This is a largely architectural change,
+ but it could have some implications in allowing for new parked call retrieval
+ methods and the contents of parking lots will be visible though certain bridge
+ commands.
+
+ * The order of arguments for the new parking applications are different from the
+ old ones to be more intuitive. Timeout and return context/exten/priority are now
+ implemented as options. parking_lot_name is now the first parameter. See the
+ application documentation for Park, ParkedCall, and ParkAndAnnounce for more
+ in-depth information as well as syntax.
+
+ * Extensions are no longer automatically created in the dialplan to park calls,
+ pickup parked calls, etc by default.
+
+ * adsipark is no longer supported under the new parking model
+
+ * The PARKINGSLOT channel variable has been deprecated in favor of PARKING_SPACE
+ to match the naming scheme of the new system.
+
+ * PARKING_SPACE and PARKEDLOT channel variables will now be set for a parked
+ channel even when comebactoorigin=yes
+
+ * New CLI command 'parking show' allows you to inspect the currently in use
+ parking lots. 'parking show <parkinglot>' will also show the parked calls
+ in that specific parking lot.
+
+ * The CLI command 'parkedcalls' is now deprecated in favor of
+ 'parking show <parkinglot>'.
+
+ * 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 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.
+
Queue
-------------------
* Add queue available hint. exten => 8501,hint,Queue:markq_avail
@@ -146,6 +225,11 @@
If any resource is available the device state is considered to be not in use.
If no resources exist or all are unavailable the device state is considered
to be unavailable.
+
+Security Events Framework
+-------------------------
+ * Security Event timestamps now use ISO 8601 formatted date/time instead of the
+ "seconds-microseconds" format that it was using previously.
Sorcery
------------------
Modified: team/dlee/playback-rebase/UPGRADE.txt
URL: http://svnview.digium.com/svn/asterisk/team/dlee/playback-rebase/UPGRADE.txt?view=diff&rev=389446&r1=389445&r2=389446
==============================================================================
--- team/dlee/playback-rebase/UPGRADE.txt (original)
+++ team/dlee/playback-rebase/UPGRADE.txt Tue May 21 16:30:48 2013
@@ -69,6 +69,9 @@
pauses dialing for one second.
- The default for inband_on_proceeding has changed to no.
+chan_local:
+ - The /b option is removed.
+
Dialplan:
- All channel and global variable names are evaluated in a case-sensitive manner.
In previous versions of Asterisk, variables created and evaluated in the
@@ -80,6 +83,18 @@
- BRIDGE_FEATURES channel variable is now casesensitive for feature letter codes.
Uppercase variants apply them to the calling party while lowercase variants
apply them to the called party.
+
+Features:
+ - The features.conf [applicationmap] <FeatureName> ActivatedBy option is
+ no longer honored. The feature is activated by which channel
+ DYNAMIC_FEATURES includes the feature is on. Use predial to set different
+ values of DYNAMIC_FEATURES on the channels
+
+Parking:
+ - The arguments for the Park, ParkedCall, and ParkAndAnnounce applications have
+ been modified significantly. See the application documents for specific details.
+ Also parking lot configuration is now done in res_parking.conf instead of
+ features.conf
From 10 to 11:
Modified: team/dlee/playback-rebase/addons/chan_ooh323.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/playback-rebase/addons/chan_ooh323.c?view=diff&rev=389446&r1=389445&r2=389446
==============================================================================
--- team/dlee/playback-rebase/addons/chan_ooh323.c (original)
+++ team/dlee/playback-rebase/addons/chan_ooh323.c Tue May 21 16:30:48 2013
@@ -117,7 +117,6 @@
.fixup = ooh323_fixup,
.send_html = 0,
.queryoption = ooh323_queryoption,
- .bridge = ast_rtp_instance_bridge, /* XXX chan unlocked ? */
.early_bridge = ast_rtp_instance_early_bridge,
.func_channel_read = function_ooh323_read,
.func_channel_write = function_ooh323_write,
@@ -490,9 +489,8 @@
}
if (ch) {
- manager_event(EVENT_FLAG_SYSTEM, "ChannelUpdate",
- "Channel: %s\r\nChanneltype: %s\r\n"
- "CallRef: %d\r\n", ast_channel_name(ch), "OOH323", i->call_reference);
+ ast_publish_channel_state(ch);
+
}
} else
ast_log(LOG_WARNING, "Unable to allocate channel structure\n");
@@ -2149,8 +2147,7 @@
ast_queue_control(c, AST_CONTROL_ANSWER);
ast_channel_unlock(p->owner);
- manager_event(EVENT_FLAG_SYSTEM,"ChannelUpdate","Channel: %s\r\nChanneltype: %s\r\n"
- "CallRef: %d\r\n", ast_channel_name(c), "OOH323", p->call_reference);
+ ast_publish_channel_state(c);
}
ast_mutex_unlock(&p->lock);
Modified: team/dlee/playback-rebase/addons/chan_ooh323.h
URL: http://svnview.digium.com/svn/asterisk/team/dlee/playback-rebase/addons/chan_ooh323.h?view=diff&rev=389446&r1=389445&r2=389446
==============================================================================
--- team/dlee/playback-rebase/addons/chan_ooh323.h (original)
+++ team/dlee/playback-rebase/addons/chan_ooh323.h Tue May 21 16:30:48 2013
@@ -64,6 +64,7 @@
#include "asterisk/format.h"
#include "asterisk/format_cap.h"
#include "asterisk/udptl.h"
+#include "asterisk/stasis_channels.h"
#include "ootypes.h"
#include "ooUtils.h"
Propchange: team/dlee/playback-rebase/apps/app_celgenuserevent.c
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Tue May 21 16:30:48 2013
@@ -1,1 +1,1 @@
-Author Id Date Revision
+Author Date Id Revision
Modified: team/dlee/playback-rebase/apps/app_channelredirect.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/playback-rebase/apps/app_channelredirect.c?view=diff&rev=389446&r1=389445&r2=389446
==============================================================================
--- team/dlee/playback-rebase/apps/app_channelredirect.c (original)
+++ team/dlee/playback-rebase/apps/app_channelredirect.c Tue May 21 16:30:48 2013
@@ -96,10 +96,6 @@
return 0;
}
- if (ast_channel_pbx(chan2)) {
- ast_set_flag(ast_channel_flags(chan2), AST_FLAG_BRIDGE_HANGUP_DONT); /* don't let the after-bridge code run the h-exten */
- }
-
res = ast_async_parseable_goto(chan2, args.label);
chan2 = ast_channel_unref(chan2);
Modified: team/dlee/playback-rebase/apps/app_chanspy.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/playback-rebase/apps/app_chanspy.c?view=diff&rev=389446&r1=389445&r2=389446
==============================================================================
--- team/dlee/playback-rebase/apps/app_chanspy.c (original)
+++ team/dlee/playback-rebase/apps/app_chanspy.c Tue May 21 16:30:48 2013
@@ -482,15 +482,18 @@
static int start_spying(struct ast_autochan *autochan, const char *spychan_name, struct ast_audiohook *audiohook)
{
int res = 0;
- struct ast_channel *peer = NULL;
ast_log(LOG_NOTICE, "Attaching %s to %s\n", spychan_name, ast_channel_name(autochan->chan));
ast_set_flag(audiohook, AST_AUDIOHOOK_TRIGGER_SYNC | AST_AUDIOHOOK_SMALL_QUEUE);
res = ast_audiohook_attach(autochan->chan, audiohook);
- if (!res && ast_test_flag(ast_channel_flags(autochan->chan), AST_FLAG_NBRIDGE) && (peer = ast_bridged_channel(autochan->chan))) {
- ast_softhangup(peer, AST_SOFTHANGUP_UNBRIDGE);
+ if (!res) {
+ ast_channel_lock(autochan->chan);
+ if (ast_channel_is_bridged(autochan->chan)) {
+ ast_softhangup_nolock(autochan->chan, AST_SOFTHANGUP_UNBRIDGE);
+ }
+ ast_channel_unlock(autochan->chan);
}
return res;
}
Modified: team/dlee/playback-rebase/apps/app_confbridge.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/playback-rebase/apps/app_confbridge.c?view=diff&rev=389446&r1=389445&r2=389446
==============================================================================
--- team/dlee/playback-rebase/apps/app_confbridge.c (original)
+++ team/dlee/playback-rebase/apps/app_confbridge.c Tue May 21 16:30:48 2013
@@ -67,6 +67,9 @@
#include "asterisk/paths.h"
#include "asterisk/manager.h"
#include "asterisk/test.h"
+#include "asterisk/stasis.h"
+#include "asterisk/stasis_bridging.h"
+#include "asterisk/json.h"
/*** DOCUMENTATION
<application name="ConfBridge" language="en_US">
@@ -303,7 +306,7 @@
};
/*! \brief Container to hold all conference bridges in progress */
-static struct ao2_container *conference_bridges;
+struct ao2_container *conference_bridges;
static void leave_conference(struct confbridge_user *user);
static int play_sound_number(struct confbridge_conference *conference, int say_number);
@@ -412,221 +415,77 @@
return "";
}
-static void send_conf_start_event(const char *conf_name)
-{
- /*** DOCUMENTATION
- <managerEventInstance>
- <synopsis>Raised when a conference starts.</synopsis>
- <syntax>
- <parameter name="Conference">
- <para>The name of the Confbridge conference.</para>
- </parameter>
- </syntax>
- <see-also>
- <ref type="managerEvent">ConfbridgeEnd</ref>
- <ref type="application">ConfBridge</ref>
- </see-also>
- </managerEventInstance>
- ***/
- manager_event(EVENT_FLAG_CALL, "ConfbridgeStart", "Conference: %s\r\n", conf_name);
-}
-
-static void send_conf_end_event(const char *conf_name)
-{
- /*** DOCUMENTATION
- <managerEventInstance>
- <synopsis>Raised when a conference ends.</synopsis>
- <syntax>
- <xi:include xpointer="xpointer(/docs/managerEvent[@name='ConfbridgeStart']/managerEventInstance/syntax/parameter[@name='Conference'])" />
- </syntax>
- <see-also>
- <ref type="managerEvent">ConfbridgeStart</ref>
- </see-also>
- </managerEventInstance>
- ***/
- manager_event(EVENT_FLAG_CALL, "ConfbridgeEnd", "Conference: %s\r\n", conf_name);
-}
-
-static void send_join_event(struct ast_channel *chan, const char *conf_name)
-{
- /*** DOCUMENTATION
- <managerEventInstance>
- <synopsis>Raised when a channel joins a Confbridge conference.</synopsis>
- <syntax>
- <xi:include xpointer="xpointer(/docs/managerEvent[@name='ConfbridgeStart']/managerEventInstance/syntax/parameter[@name='Conference'])" />
- </syntax>
- <see-also>
- <ref type="managerEvent">ConfbridgeLeave</ref>
- <ref type="application">ConfBridge</ref>
- </see-also>
- </managerEventInstance>
- ***/
- ast_manager_event(chan, EVENT_FLAG_CALL, "ConfbridgeJoin",
- "Channel: %s\r\n"
- "Uniqueid: %s\r\n"
- "Conference: %s\r\n"
- "CallerIDnum: %s\r\n"
- "CallerIDname: %s\r\n",
- ast_channel_name(chan),
- ast_channel_uniqueid(chan),
- conf_name,
- S_COR(ast_channel_caller(chan)->id.number.valid, ast_channel_caller(chan)->id.number.str, "<unknown>"),
- S_COR(ast_channel_caller(chan)->id.name.valid, ast_channel_caller(chan)->id.name.str, "<unknown>")
- );
-}
-
-static void send_leave_event(struct ast_channel *chan, const char *conf_name)
-{
- /*** DOCUMENTATION
- <managerEventInstance>
- <synopsis>Raised when a channel leaves a Confbridge conference.</synopsis>
- <syntax>
- <xi:include xpointer="xpointer(/docs/managerEvent[@name='ConfbridgeStart']/managerEventInstance/syntax/parameter[@name='Conference'])" />
- </syntax>
- <see-also>
- <ref type="managerEvent">ConfbridgeJoin</ref>
- </see-also>
- </managerEventInstance>
- ***/
- ast_manager_event(chan, EVENT_FLAG_CALL, "ConfbridgeLeave",
- "Channel: %s\r\n"
- "Uniqueid: %s\r\n"
- "Conference: %s\r\n"
- "CallerIDnum: %s\r\n"
- "CallerIDname: %s\r\n",
- ast_channel_name(chan),
- ast_channel_uniqueid(chan),
- conf_name,
- S_COR(ast_channel_caller(chan)->id.number.valid, ast_channel_caller(chan)->id.number.str, "<unknown>"),
- S_COR(ast_channel_caller(chan)->id.name.valid, ast_channel_caller(chan)->id.name.str, "<unknown>")
- );
-}
-
-static void send_start_record_event(const char *conf_name)
-{
- /*** DOCUMENTATION
- <managerEventInstance>
- <synopsis>Raised when a conference recording starts.</synopsis>
- <syntax>
- <xi:include xpointer="xpointer(/docs/managerEvent[@name='ConfbridgeStart']/managerEventInstance/syntax/parameter[@name='Conference'])" />
- </syntax>
- <see-also>
- <ref type="managerEvent">ConfbridgeStopRecord</ref>
- <ref type="application">ConfBridge</ref>
- </see-also>
- </managerEventInstance>
- ***/
-
- manager_event(EVENT_FLAG_CALL, "ConfbridgeStartRecord", "Conference: %s\r\n", conf_name);
-}
-
-static void send_stop_record_event(const char *conf_name)
-{
- /*** DOCUMENTATION
- <managerEventInstance>
- <synopsis>Raised when a conference recording stops.</synopsis>
- <syntax>
- <xi:include xpointer="xpointer(/docs/managerEvent[@name='ConfbridgeStart']/managerEventInstance/syntax/parameter[@name='Conference'])" />
- </syntax>
- <see-also>
- <ref type="managerEvent">ConfbridgeStartRecord</ref>
- </see-also>
- </managerEventInstance>
- ***/
- manager_event(EVENT_FLAG_CALL, "ConfbridgeStopRecord", "Conference: %s\r\n", conf_name);
-}
-
-static void send_mute_event(struct ast_channel *chan, const char *conf_name)
-{
- /*** DOCUMENTATION
- <managerEventInstance>
- <synopsis>Raised when a Confbridge participant mutes.</synopsis>
- <syntax>
- <xi:include xpointer="xpointer(/docs/managerEvent[@name='ConfbridgeStart']/managerEventInstance/syntax/parameter[@name='Conference'])" />
- </syntax>
- <see-also>
- <ref type="managerEvent">ConfbridgeUnmute</ref>
- <ref type="application">ConfBridge</ref>
- </see-also>
- </managerEventInstance>
- ***/
- ast_manager_event(chan, EVENT_FLAG_CALL, "ConfbridgeMute",
- "Channel: %s\r\n"
- "Uniqueid: %s\r\n"
- "Conference: %s\r\n"
- "CallerIDnum: %s\r\n"
- "CallerIDname: %s\r\n",
- ast_channel_name(chan),
- ast_channel_uniqueid(chan),
- conf_name,
- S_COR(ast_channel_caller(chan)->id.number.valid, ast_channel_caller(chan)->id.number.str, "<unknown>"),
- S_COR(ast_channel_caller(chan)->id.name.valid, ast_channel_caller(chan)->id.name.str, "<unknown>")
- );
-}
-
-static void send_unmute_event(struct ast_channel *chan, const char *conf_name)
-{
- /*** DOCUMENTATION
- <managerEventInstance>
- <synopsis>Raised when a Confbridge participant unmutes.</synopsis>
- <syntax>
- <xi:include xpointer="xpointer(/docs/managerEvent[@name='ConfbridgeStart']/managerEventInstance/syntax/parameter[@name='Conference'])" />
- </syntax>
- <see-also>
- <ref type="managerEvent">ConfbridgeMute</ref>
- </see-also>
- </managerEventInstance>
- ***/
- ast_manager_event(chan, EVENT_FLAG_CALL, "ConfbridgeUnmute",
- "Channel: %s\r\n"
- "Uniqueid: %s\r\n"
- "Conference: %s\r\n"
- "CallerIDnum: %s\r\n"
- "CallerIDname: %s\r\n",
- ast_channel_name(chan),
- ast_channel_uniqueid(chan),
- conf_name,
- S_COR(ast_channel_caller(chan)->id.number.valid, ast_channel_caller(chan)->id.number.str, "<unknown>"),
- S_COR(ast_channel_caller(chan)->id.name.valid, ast_channel_caller(chan)->id.name.str, "<unknown>")
- );
-}
-
-
-static struct ast_frame *rec_read(struct ast_channel *ast)
-{
- return &ast_null_frame;
-}
-static int rec_write(struct ast_channel *ast, struct ast_frame *f)
-{
- return 0;
-}
-static struct ast_channel *rec_request(const char *type, struct ast_format_cap *cap, const struct ast_channel *requestor, const char *data, int *cause);
-static struct ast_channel_tech record_tech = {
- .type = "ConfBridgeRec",
- .description = "Conference Bridge Recording Channel",
- .requester = rec_request,
- .read = rec_read,
- .write = rec_write,
-};
-static struct ast_channel *rec_request(const char *type, struct ast_format_cap *cap, const struct ast_channel *requestor, const char *data, int *cause)
-{
- struct ast_channel *tmp;
- struct ast_format fmt;
- const char *conf_name = data;
- if (!(tmp = ast_channel_alloc(1, AST_STATE_UP, 0, 0, "", "", "", NULL, 0,
- "ConfBridgeRecorder/conf-%s-uid-%d",
- conf_name,
- (int) ast_random()))) {
- return NULL;
- }
- ast_format_set(&fmt, AST_FORMAT_SLINEAR, 0);
- ast_channel_tech_set(tmp, &record_tech);
- ast_format_cap_add_all(ast_channel_nativeformats(tmp));
- ast_format_copy(ast_channel_writeformat(tmp), &fmt);
- ast_format_copy(ast_channel_rawwriteformat(tmp), &fmt);
- ast_format_copy(ast_channel_readformat(tmp), &fmt);
- ast_format_copy(ast_channel_rawreadformat(tmp), &fmt);
- return tmp;
+static void send_conf_stasis(struct confbridge_conference *conference, struct ast_channel *chan, const char *type, struct ast_json *extras, int channel_topic)
+{
+ RAII_VAR(struct stasis_message *, msg, NULL, ao2_cleanup);
+ RAII_VAR(struct ast_json *, json_object, NULL, ast_json_unref);
+
+ json_object = ast_json_pack("{s: s, s: s}",
+ "type", type,
+ "conference", conference->name);
+
+ if (!json_object) {
+ return;
+ }
+
+ if (extras) {
+ ast_json_object_update(json_object, extras);
+ }
+
+ msg = ast_bridge_blob_create(confbridge_message_type(),
+ conference->bridge,
+ chan,
+ json_object);
+ if (!msg) {
+ return;
+ }
+
+ if (channel_topic) {
+ stasis_publish(ast_channel_topic(chan), msg);
+ } else {
+ stasis_publish(ast_bridge_topic(conference->bridge), msg);
+ }
+
+}
+
+static void send_conf_start_event(struct confbridge_conference *conference)
+{
+ send_conf_stasis(conference, NULL, "confbridge_start", NULL, 0);
+}
+
+static void send_conf_end_event(struct confbridge_conference *conference)
+{
+ send_conf_stasis(conference, NULL, "confbridge_end", NULL, 0);
+}
+
+static void send_join_event(struct ast_channel *chan, struct confbridge_conference *conference)
+{
+ send_conf_stasis(conference, chan, "confbridge_join", NULL, 0);
+}
+
+static void send_leave_event(struct ast_channel *chan, struct confbridge_conference *conference)
+{
+ send_conf_stasis(conference, chan, "confbridge_leave", NULL, 0);
+}
+
+static void send_start_record_event(struct confbridge_conference *conference)
+{
+ send_conf_stasis(conference, NULL, "confbridge_record", NULL, 0);
+}
+
+static void send_stop_record_event(struct confbridge_conference *conference)
+{
+ send_conf_stasis(conference, NULL, "confbridge_stop_record", NULL, 0);
+}
+
+static void send_mute_event(struct ast_channel *chan, struct confbridge_conference *conference)
+{
+ send_conf_stasis(conference, chan, "confbridge_mute", NULL, 1);
+}
+
+static void send_unmute_event(struct ast_channel *chan, struct confbridge_conference *conference)
+{
+ send_conf_stasis(conference, chan, "confbridge_unmute", NULL, 1);
}
static void set_rec_filename(struct confbridge_conference *conference, struct ast_str **filename, int is_new)
[... 25086 lines stripped ...]
More information about the asterisk-commits
mailing list