[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