[asterisk-commits] dlee: branch dlee/ari-monitor2 r396575 - in /team/dlee/ari-monitor2: ./ apps/...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Aug 13 11:27:15 CDT 2013


Author: dlee
Date: Tue Aug 13 11:26:50 2013
New Revision: 396575

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=396575
Log:
Switch source branch to /trunk

Multiple revisions 396361,396413,396467,396561

........
  r396361 | dlee | 2013-08-07 16:02:45 -0500 (Wed, 07 Aug 2013) | 2 lines
  
  Merged revisions 395938-396347 from http://svn.asterisk.org/svn/asterisk/trunk
........
  r396413 | dlee | 2013-08-08 13:59:09 -0500 (Thu, 08 Aug 2013) | 2 lines
  
  Merged revisions 396365-396412 from http://svn.asterisk.org/svn/asterisk/trunk
........
  r396467 | dlee | 2013-08-08 16:18:31 -0500 (Thu, 08 Aug 2013) | 2 lines
  
  Merged revisions 396417-396463 from http://svn.asterisk.org/svn/asterisk/trunk
........
  r396561 | dlee | 2013-08-13 10:16:15 -0500 (Tue, 13 Aug 2013) | 2 lines
  
  Merged revisions 396474-396560 from http://svn.asterisk.org/svn/asterisk/trunk
........

Merged revisions 396361-396561 from http://svn.asterisk.org/svn/asterisk/team/dlee/ari-async-bridge

Added:
    team/dlee/ari-monitor2/doc/snapshots.xslt
      - copied unchanged from r396561, team/dlee/ari-async-bridge/doc/snapshots.xslt
    team/dlee/ari-monitor2/include/asterisk/pickup.h
      - copied unchanged from r396561, team/dlee/ari-async-bridge/include/asterisk/pickup.h
    team/dlee/ari-monitor2/include/asterisk/stasis_cache_pattern.h
      - copied unchanged from r396561, team/dlee/ari-async-bridge/include/asterisk/stasis_cache_pattern.h
    team/dlee/ari-monitor2/main/pickup.c
      - copied unchanged from r396561, team/dlee/ari-async-bridge/main/pickup.c
    team/dlee/ari-monitor2/main/stasis_cache_pattern.c
      - copied unchanged from r396561, team/dlee/ari-async-bridge/main/stasis_cache_pattern.c
    team/dlee/ari-monitor2/main/stasis_wait.c
      - copied unchanged from r396561, team/dlee/ari-async-bridge/main/stasis_wait.c
    team/dlee/ari-monitor2/res/parking/parking_tests.c
      - copied unchanged from r396561, team/dlee/ari-async-bridge/res/parking/parking_tests.c
    team/dlee/ari-monitor2/rest-api-templates/param_cleanup.mustache
      - copied unchanged from r396561, team/dlee/ari-async-bridge/rest-api-templates/param_cleanup.mustache
Modified:
    team/dlee/ari-monitor2/   (props changed)
    team/dlee/ari-monitor2/CHANGES
    team/dlee/ari-monitor2/Makefile
    team/dlee/ari-monitor2/UPGRADE-11.txt
    team/dlee/ari-monitor2/UPGRADE.txt
    team/dlee/ari-monitor2/apps/app_agent_pool.c
    team/dlee/ari-monitor2/apps/app_chanspy.c
    team/dlee/ari-monitor2/apps/app_directed_pickup.c
    team/dlee/ari-monitor2/apps/app_meetme.c
    team/dlee/ari-monitor2/apps/app_minivm.c
    team/dlee/ari-monitor2/apps/app_playback.c
    team/dlee/ari-monitor2/apps/app_queue.c
    team/dlee/ari-monitor2/apps/app_stack.c
    team/dlee/ari-monitor2/apps/app_voicemail.c
    team/dlee/ari-monitor2/apps/confbridge/conf_chan_announce.c
    team/dlee/ari-monitor2/apps/confbridge/conf_chan_record.c
    team/dlee/ari-monitor2/apps/confbridge/conf_config_parser.c
    team/dlee/ari-monitor2/apps/confbridge/confbridge_manager.c
    team/dlee/ari-monitor2/bridges/bridge_holding.c
    team/dlee/ari-monitor2/bridges/bridge_native_rtp.c
    team/dlee/ari-monitor2/channels/chan_bridge_media.c
    team/dlee/ari-monitor2/channels/chan_dahdi.c
    team/dlee/ari-monitor2/channels/chan_gtalk.c
    team/dlee/ari-monitor2/channels/chan_iax2.c
    team/dlee/ari-monitor2/channels/chan_mgcp.c
    team/dlee/ari-monitor2/channels/chan_misdn.c
    team/dlee/ari-monitor2/channels/chan_oss.c
    team/dlee/ari-monitor2/channels/chan_pjsip.c
    team/dlee/ari-monitor2/channels/chan_sip.c
    team/dlee/ari-monitor2/channels/chan_skinny.c
    team/dlee/ari-monitor2/channels/chan_unistim.c
    team/dlee/ari-monitor2/channels/sig_analog.c
    team/dlee/ari-monitor2/channels/sig_pri.c
    team/dlee/ari-monitor2/configure
    team/dlee/ari-monitor2/configure.ac
    team/dlee/ari-monitor2/contrib/scripts/install_prereq
    team/dlee/ari-monitor2/doc/appdocsxml.dtd
    team/dlee/ari-monitor2/formats/format_wav_gsm.c
    team/dlee/ari-monitor2/funcs/func_channel.c
    team/dlee/ari-monitor2/funcs/func_global.c
    team/dlee/ari-monitor2/funcs/func_strings.c
    team/dlee/ari-monitor2/include/asterisk/_private.h
    team/dlee/ari-monitor2/include/asterisk/app.h
    team/dlee/ari-monitor2/include/asterisk/astobj2.h
    team/dlee/ari-monitor2/include/asterisk/autoconfig.h.in
    team/dlee/ari-monitor2/include/asterisk/bridge.h
    team/dlee/ari-monitor2/include/asterisk/bridge_basic.h
    team/dlee/ari-monitor2/include/asterisk/bridge_features.h
    team/dlee/ari-monitor2/include/asterisk/bridge_roles.h
    team/dlee/ari-monitor2/include/asterisk/channel.h
    team/dlee/ari-monitor2/include/asterisk/channel_internal.h
    team/dlee/ari-monitor2/include/asterisk/core_unreal.h
    team/dlee/ari-monitor2/include/asterisk/devicestate.h
    team/dlee/ari-monitor2/include/asterisk/features.h
    team/dlee/ari-monitor2/include/asterisk/json.h
    team/dlee/ari-monitor2/include/asterisk/manager.h
    team/dlee/ari-monitor2/include/asterisk/options.h
    team/dlee/ari-monitor2/include/asterisk/parking.h
    team/dlee/ari-monitor2/include/asterisk/presencestate.h
    team/dlee/ari-monitor2/include/asterisk/stasis.h
    team/dlee/ari-monitor2/include/asterisk/stasis_app.h
    team/dlee/ari-monitor2/include/asterisk/stasis_bridges.h
    team/dlee/ari-monitor2/include/asterisk/stasis_channels.h
    team/dlee/ari-monitor2/include/asterisk/stasis_endpoints.h
    team/dlee/ari-monitor2/include/asterisk/strings.h
    team/dlee/ari-monitor2/main/Makefile
    team/dlee/ari-monitor2/main/aoc.c
    team/dlee/ari-monitor2/main/app.c
    team/dlee/ari-monitor2/main/asterisk.c
    team/dlee/ari-monitor2/main/astobj2.c
    team/dlee/ari-monitor2/main/autoservice.c
    team/dlee/ari-monitor2/main/bridge.c
    team/dlee/ari-monitor2/main/bridge_basic.c
    team/dlee/ari-monitor2/main/bridge_channel.c
    team/dlee/ari-monitor2/main/bridge_roles.c
    team/dlee/ari-monitor2/main/cdr.c
    team/dlee/ari-monitor2/main/cel.c
    team/dlee/ari-monitor2/main/channel.c
    team/dlee/ari-monitor2/main/channel_internal_api.c
    team/dlee/ari-monitor2/main/cli.c
    team/dlee/ari-monitor2/main/core_local.c
    team/dlee/ari-monitor2/main/core_unreal.c
    team/dlee/ari-monitor2/main/devicestate.c
    team/dlee/ari-monitor2/main/endpoints.c
    team/dlee/ari-monitor2/main/features.c
    team/dlee/ari-monitor2/main/json.c
    team/dlee/ari-monitor2/main/manager.c
    team/dlee/ari-monitor2/main/manager_bridges.c
    team/dlee/ari-monitor2/main/manager_channels.c
    team/dlee/ari-monitor2/main/manager_endpoints.c
    team/dlee/ari-monitor2/main/manager_mwi.c
    team/dlee/ari-monitor2/main/parking.c
    team/dlee/ari-monitor2/main/pbx.c
    team/dlee/ari-monitor2/main/presencestate.c
    team/dlee/ari-monitor2/main/rtp_engine.c
    team/dlee/ari-monitor2/main/sorcery.c
    team/dlee/ari-monitor2/main/stasis.c
    team/dlee/ari-monitor2/main/stasis_bridges.c
    team/dlee/ari-monitor2/main/stasis_cache.c
    team/dlee/ari-monitor2/main/stasis_channels.c
    team/dlee/ari-monitor2/main/stasis_endpoints.c
    team/dlee/ari-monitor2/main/strings.c
    team/dlee/ari-monitor2/main/utils.c
    team/dlee/ari-monitor2/main/xml.c
    team/dlee/ari-monitor2/makeopts.in
    team/dlee/ari-monitor2/pbx/pbx_dundi.c
    team/dlee/ari-monitor2/pbx/pbx_loopback.c
    team/dlee/ari-monitor2/res/ari/ari_model_validators.c
    team/dlee/ari-monitor2/res/ari/ari_model_validators.h
    team/dlee/ari-monitor2/res/ari/ari_websockets.c
    team/dlee/ari-monitor2/res/ari/resource_asterisk.c
    team/dlee/ari-monitor2/res/ari/resource_asterisk.h
    team/dlee/ari-monitor2/res/ari/resource_bridges.c
    team/dlee/ari-monitor2/res/ari/resource_bridges.h
    team/dlee/ari-monitor2/res/ari/resource_channels.c
    team/dlee/ari-monitor2/res/ari/resource_endpoints.c
    team/dlee/ari-monitor2/res/ari/resource_events.c
    team/dlee/ari-monitor2/res/ari/resource_events.h
    team/dlee/ari-monitor2/res/ari/resource_sounds.h
    team/dlee/ari-monitor2/res/parking/parking_applications.c
    team/dlee/ari-monitor2/res/parking/parking_bridge.c
    team/dlee/ari-monitor2/res/parking/parking_bridge_features.c
    team/dlee/ari-monitor2/res/parking/parking_manager.c
    team/dlee/ari-monitor2/res/parking/res_parking.h
    team/dlee/ari-monitor2/res/res_agi.c
    team/dlee/ari-monitor2/res/res_ari_asterisk.c
    team/dlee/ari-monitor2/res/res_ari_bridges.c
    team/dlee/ari-monitor2/res/res_ari_channels.c
    team/dlee/ari-monitor2/res/res_ari_endpoints.c
    team/dlee/ari-monitor2/res/res_ari_events.c
    team/dlee/ari-monitor2/res/res_ari_playback.c
    team/dlee/ari-monitor2/res/res_ari_recordings.c
    team/dlee/ari-monitor2/res/res_ari_sounds.c
    team/dlee/ari-monitor2/res/res_chan_stats.c
    team/dlee/ari-monitor2/res/res_jabber.c
    team/dlee/ari-monitor2/res/res_parking.c
    team/dlee/ari-monitor2/res/res_pjsip.c
    team/dlee/ari-monitor2/res/res_pjsip/config_system.c
    team/dlee/ari-monitor2/res/res_pjsip/include/res_pjsip_private.h
    team/dlee/ari-monitor2/res/res_pjsip/pjsip_options.c
    team/dlee/ari-monitor2/res/res_pjsip_exten_state.c
    team/dlee/ari-monitor2/res/res_pjsip_messaging.c
    team/dlee/ari-monitor2/res/res_pjsip_mwi.c
    team/dlee/ari-monitor2/res/res_pjsip_notify.c
    team/dlee/ari-monitor2/res/res_pjsip_outbound_registration.c
    team/dlee/ari-monitor2/res/res_pjsip_registrar.c
    team/dlee/ari-monitor2/res/res_pjsip_session.c
    team/dlee/ari-monitor2/res/res_sorcery_astdb.c
    team/dlee/ari-monitor2/res/res_stasis.c
    team/dlee/ari-monitor2/res/res_xmpp.c
    team/dlee/ari-monitor2/res/snmp/agent.c
    team/dlee/ari-monitor2/res/stasis/control.c
    team/dlee/ari-monitor2/rest-api-templates/ari_resource.h.mustache
    team/dlee/ari-monitor2/rest-api-templates/param_parsing.mustache
    team/dlee/ari-monitor2/rest-api-templates/res_ari_resource.c.mustache
    team/dlee/ari-monitor2/rest-api/api-docs/asterisk.json
    team/dlee/ari-monitor2/rest-api/api-docs/bridges.json
    team/dlee/ari-monitor2/rest-api/api-docs/channels.json
    team/dlee/ari-monitor2/rest-api/api-docs/events.json
    team/dlee/ari-monitor2/rest-api/api-docs/sounds.json
    team/dlee/ari-monitor2/tests/test_cel.c
    team/dlee/ari-monitor2/tests/test_devicestate.c
    team/dlee/ari-monitor2/tests/test_hashtab_thrash.c
    team/dlee/ari-monitor2/tests/test_json.c
    team/dlee/ari-monitor2/tests/test_stasis.c
    team/dlee/ari-monitor2/tests/test_stasis_endpoints.c
    team/dlee/ari-monitor2/utils/Makefile
    team/dlee/ari-monitor2/utils/astman.c
    team/dlee/ari-monitor2/utils/extconf.c
    team/dlee/ari-monitor2/utils/refcounter.c

Propchange: team/dlee/ari-monitor2/
------------------------------------------------------------------------------
--- branch-11-blocked (original)
+++ branch-11-blocked Tue Aug 13 11:26:50 2013
@@ -1,1 +1,1 @@
-/branches/11:373240,375247,375702,385356,395020
+/branches/11:373240,375247,375702,385356,395020,396441

Propchange: team/dlee/ari-monitor2/
------------------------------------------------------------------------------
Binary property 'branch-11-merged' - no diff available.

Propchange: team/dlee/ari-monitor2/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Aug 13 11:26:50 2013
@@ -1,1 +1,1 @@
-/team/dlee/ari-async-bridge:1-395931
+/trunk:1-396568

Modified: team/dlee/ari-monitor2/CHANGES
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ari-monitor2/CHANGES?view=diff&rev=396575&r1=396574&r2=396575
==============================================================================
--- team/dlee/ari-monitor2/CHANGES (original)
+++ team/dlee/ari-monitor2/CHANGES Tue Aug 13 11:26:50 2013
@@ -98,6 +98,12 @@
    AgentConnect, AgentComplete, AgentDump, and AgentRingNoAnswer will always be
    sent.  The "Variable" fields will also no longer exist on the Agent* events.
 
+ * Queues now support a hint for member paused state. The hint uses the form
+   'Queue:{queue_name}_pause_{member_name}', where {queue_name} and {member_name}
+   are the name of the queue and the name of the member to subscribe to,
+   respectively. For example: exten => 8501,hint,Queue:sales_pause_mark.
+   Members will show as In Use when paused.
+
 ResetCDR
 ------------------
  * The 'e' option has been deprecated. Use the CDR_PROP function to re-enable
@@ -115,6 +121,13 @@
  * UserEvent will now handle duplicate keys by overwriting the previous value
    assigned to the key. UserEvent invocations will also be distributed to any
    interested res_stasis applications.
+
+
+Build System
+------------------
+ * Asterisk now optionally uses libxslt to improve XML documentation generation
+   and maintainability. If libxslt is not available on the system, some XML
+   documentation will be incomplete.
 
 
 Core
@@ -297,6 +310,15 @@
  * The option 'allowmultiplelogin' can now be set or overriden in a particular
    account. When set in the general context, it will act as the default
    setting for defined accounts.
+
+ * The 'BridgeAction' event was removed. It technically added no value, as the
+   Bridge Action already receives confirmation of the bridge through a
+   successful completion Event.
+
+ * The 'BridgeExec' events were removed. These events duplicated the events that
+   occur in the Briding API, and are conveyed now through BridgeCreate,
+   BridgeEnter, and BridgeLeave events.
+
 
 AGI (Asterisk Gateway Interface)
 ------------------

Modified: team/dlee/ari-monitor2/Makefile
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ari-monitor2/Makefile?view=diff&rev=396575&r1=396574&r2=396575
==============================================================================
--- team/dlee/ari-monitor2/Makefile (original)
+++ team/dlee/ari-monitor2/Makefile Tue Aug 13 11:26:50 2013
@@ -444,6 +444,7 @@
 		$(INSTALL) -m 644 $$x "$(DESTDIR)$(ASTDATADIR)/static-http" ; \
 	done
 	$(INSTALL) -m 644 doc/core-en_US.xml "$(DESTDIR)$(ASTDATADIR)/static-http";
+	$(INSTALL) -m 644 doc/snapshots.xslt "$(DESTDIR)$(ASTDATADIR)/static-http";
 	if [ -d doc/tex/asterisk ] ; then \
 		$(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/static-http/docs" ; \
 		for n in doc/tex/asterisk/* ; do \
@@ -466,6 +467,7 @@
 	@printf "Building Documentation For: "
 	@echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > $@
 	@echo "<!DOCTYPE docs SYSTEM \"appdocsxml.dtd\">" >> $@
+	@echo "<?xml-stylesheet type=\"text/xsl\" href=\"snapshots.xslt\"?>" > $@
 	@echo "<docs xmlns:xi=\"http://www.w3.org/2001/XInclude\">" >> $@
 	@for x in $(MOD_SUBDIRS); do \
 		printf "$$x " ; \
@@ -489,6 +491,7 @@
 	@printf "Building Documentation For: "
 	@echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > $@
 	@echo "<!DOCTYPE docs SYSTEM \"appdocsxml.dtd\">" >> $@
+	@echo "<?xml-stylesheet type=\"text/xsl\" href=\"snapshots.xslt\"?>" > $@
 	@echo "<docs xmlns:xi=\"http://www.w3.org/2001/XInclude\">" >> $@
 	@for x in $(MOD_SUBDIRS); do \
 		printf "$$x " ; \
@@ -571,6 +574,7 @@
 	fi
 
 	$(INSTALL) -m 644 doc/core-*.xml "$(DESTDIR)$(ASTDATADIR)/documentation"
+	$(INSTALL) -m 644 doc/snapshots.xslt "$(DESTDIR)$(ASTDATADIR)/documentation"
 	$(INSTALL) -m 644 doc/appdocsxml.dtd "$(DESTDIR)$(ASTDATADIR)/documentation"
 	$(INSTALL) -m 644 doc/asterisk.8 "$(DESTDIR)$(ASTMANDIR)/man8"
 	$(INSTALL) -m 644 contrib/scripts/astgenkey.8 "$(DESTDIR)$(ASTMANDIR)/man8"

Modified: team/dlee/ari-monitor2/UPGRADE-11.txt
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ari-monitor2/UPGRADE-11.txt?view=diff&rev=396575&r1=396574&r2=396575
==============================================================================
--- team/dlee/ari-monitor2/UPGRADE-11.txt (original)
+++ team/dlee/ari-monitor2/UPGRADE-11.txt Tue Aug 13 11:26:50 2013
@@ -19,6 +19,11 @@
 === UPGRADE-10.txt -- Upgrade info for 1.8 to 10
 ===
 ===========================================================
+From 11.5 to 11.6:
+* res_agi will now properly indicate if there was an error in streaming an
+  audio file.  The result code will be -1 and the result returned from the
+  the function will be RESULT_FAILURE instead of the prior behavior of always
+  returning RESULT_SUCCESS even if there was an error.
 
 From 11.4 to 11.5:
 * The default settings for chan_sip are now overriden properly by the general

Modified: team/dlee/ari-monitor2/UPGRADE.txt
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ari-monitor2/UPGRADE.txt?view=diff&rev=396575&r1=396574&r2=396575
==============================================================================
--- team/dlee/ari-monitor2/UPGRADE.txt (original)
+++ team/dlee/ari-monitor2/UPGRADE.txt Tue Aug 13 11:26:50 2013
@@ -96,6 +96,11 @@
  - The Uniqueid field for a channel is now a stable identifier, and will not
    change due to transfers, parking, etc.
 
+Build System:
+ - Asterisk now optionally uses libxslt to improve XML documentation generation
+   and maintainability. If libxslt is not available on the system, some XML
+   documentation will be incomplete.
+
 Core:
  - The following channel variables have changed behavior which is described in
    the CHANGES file: TRANSFER_CONTEXT, BRIDGEPEER, BRIDGEPVTCALLID,
@@ -179,6 +184,10 @@
 
  - Executing a dynamic feature on the bridge peer in a multi-party bridge will
    execute it on all peers of the activating channel.
+
+ - There is no longer an explicit 'features reload' CLI command. Features can still be
+   reloaded using 'module reload features'.
+
 
 Parking:
  - The arguments for the Park, ParkedCall, and ParkAndAnnounce applications have

Modified: team/dlee/ari-monitor2/apps/app_agent_pool.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ari-monitor2/apps/app_agent_pool.c?view=diff&rev=396575&r1=396574&r2=396575
==============================================================================
--- team/dlee/ari-monitor2/apps/app_agent_pool.c (original)
+++ team/dlee/ari-monitor2/apps/app_agent_pool.c Tue Aug 13 11:26:50 2013
@@ -202,49 +202,12 @@
 					<para>Epoche time when the agent logged in.</para>
 					<para>Present if Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
 				</parameter>
-				<parameter name="Channel">
-					<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter[@name='Channel']/para)" />
-					<para>Present if Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
-				</parameter>
-				<parameter name="ChannelState">
-					<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter[@name='ChannelState']/para)" />
-					<para>Present if Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
-				</parameter>
-				<parameter name="ChannelStateDesc">
-					<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter[@name='ChannelStateDesc']/para)" />
-					<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter[@name='ChannelStateDesc']/enumlist)" />
-					<para>Present if Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
-				</parameter>
-				<parameter name="CallerIDNum">
-					<para>Present if Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
-				</parameter>
-				<parameter name="CallerIDName">
-					<para>Present if Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
-				</parameter>
-				<parameter name="ConnectedLineNum">
-					<para>Present if Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
-				</parameter>
-				<parameter name="ConnectedLineName">
-					<para>Present if Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
-				</parameter>
-				<parameter name="AccountCode">
-					<para>Present if Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
-				</parameter>
-				<parameter name="Context">
-					<para>Present if Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
-				</parameter>
-				<parameter name="Exten">
-					<para>Present if Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
-				</parameter>
-				<parameter name="Priority">
-					<para>Present if Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
-				</parameter>
-				<parameter name="Uniqueid">
-					<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter[@name='Uniqueid']/para)" />
-					<para>Present if Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
-				</parameter>
+				<channel_snapshot/>
 				<xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" />
 			</syntax>
+			<description>
+				<para>The channel snapshot is present if the Status value is <literal>AGENT_IDLE</literal> or <literal>AGENT_ONCALL</literal>.</para>
+			</description>
 			<see-also>
 				<ref type="manager">Agents</ref>
 			</see-also>

Modified: team/dlee/ari-monitor2/apps/app_chanspy.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ari-monitor2/apps/app_chanspy.c?view=diff&rev=396575&r1=396574&r2=396575
==============================================================================
--- team/dlee/ari-monitor2/apps/app_chanspy.c (original)
+++ team/dlee/ari-monitor2/apps/app_chanspy.c Tue Aug 13 11:26:50 2013
@@ -637,12 +637,14 @@
 	}
 
 	if (ast_test_flag(flags, OPTION_BARGE | OPTION_DTMF_SWITCH_MODES)) {
+		RAII_VAR(struct ast_channel *, bridged, ast_channel_bridge_peer(spyee_autochan->chan), ast_channel_cleanup);
+
 		/* And this hook lets us inject audio into the channel that the spied on
 		   channel is currently bridged with.
 		*/
 		ast_audiohook_init(&csth.bridge_whisper_audiohook, AST_AUDIOHOOK_TYPE_WHISPER, "Chanspy", 0);
 
-		if ((spyee_bridge_autochan = ast_autochan_setup(ast_bridged_channel(spyee_autochan->chan)))) {
+		if ((spyee_bridge_autochan = ast_autochan_setup(bridged))) {
 			ast_channel_lock(spyee_bridge_autochan->chan);
 			if (start_spying(spyee_bridge_autochan, spyer_name, &csth.bridge_whisper_audiohook)) {
 				ast_log(LOG_WARNING, "Unable to attach barge audiohook on spyee %s. Barge mode disabled!\n", name);
@@ -935,7 +937,7 @@
 				break;
 			}
 
-			if (ast_test_flag(flags, OPTION_BRIDGED) && !ast_bridged_channel(autochan->chan)) {
+			if (ast_test_flag(flags, OPTION_BRIDGED) && !ast_channel_is_bridged(autochan->chan)) {
 				continue;
 			}
 

Modified: team/dlee/ari-monitor2/apps/app_directed_pickup.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ari-monitor2/apps/app_directed_pickup.c?view=diff&rev=396575&r1=396574&r2=396575
==============================================================================
--- team/dlee/ari-monitor2/apps/app_directed_pickup.c (original)
+++ team/dlee/ari-monitor2/apps/app_directed_pickup.c Tue Aug 13 11:26:50 2013
@@ -43,7 +43,7 @@
 #include "asterisk/module.h"
 #include "asterisk/lock.h"
 #include "asterisk/app.h"
-#include "asterisk/features.h"
+#include "asterisk/pickup.h"
 #include "asterisk/manager.h"
 #include "asterisk/callerid.h"
 
@@ -305,7 +305,7 @@
 	return 0;
 }
 
-/* Find channel for pick up specified by partial channel name */ 
+/* Find channel for pick up specified by partial channel name */
 static int find_by_part(void *obj, void *arg, void *data, int flags)
 {
 	struct ast_channel *target = obj;/*!< Potential pickup target */
@@ -323,7 +323,7 @@
 	return 0;
 }
 
-/* Attempt to pick up specified by partial channel name */ 
+/* Attempt to pick up specified by partial channel name */
 static int pickup_by_part(struct ast_channel *chan, const char *part)
 {
 	struct ast_channel *target;/*!< Potential pickup target */

Modified: team/dlee/ari-monitor2/apps/app_meetme.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ari-monitor2/apps/app_meetme.c?view=diff&rev=396575&r1=396574&r2=396575
==============================================================================
--- team/dlee/ari-monitor2/apps/app_meetme.c (original)
+++ team/dlee/ari-monitor2/apps/app_meetme.c Tue Aug 13 11:26:50 2013
@@ -567,7 +567,7 @@
 				<parameter name="Usernum">
 					<para>The identifier of the MeetMe user who joined.</para>
 				</parameter>
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+				<channel_snapshot/>
 			</syntax>
 			<see-also>
 				<ref type="managerEvent">MeetmeLeave</ref>
@@ -580,7 +580,7 @@
 			<synopsis>Raised when a user leaves a MeetMe conference.</synopsis>
 			<syntax>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='MeetmeJoin']/managerEventInstance/syntax/parameter)" />
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+				<channel_snapshot/>
 				<parameter name="Duration">
 					<para>The length of time in seconds that the Meetme user was in the conference.</para>
 				</parameter>
@@ -606,7 +606,7 @@
 			<synopsis>Raised when a MeetMe user has started talking.</synopsis>
 			<syntax>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='MeetmeJoin']/managerEventInstance/syntax/parameter)" />
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+				<channel_snapshot/>
 				<parameter name="Duration">
 					<para>The length of time in seconds that the Meetme user has been in the conference at the time of this event.</para>
 				</parameter>
@@ -624,7 +624,7 @@
 			<synopsis>Raised when a MeetMe user begins or ends talking.</synopsis>
 			<syntax>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='MeetmeJoin']/managerEventInstance/syntax/parameter)" />
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+				<channel_snapshot/>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='MeetmeTalkRequest']/managerEventInstance/syntax/parameter)" />
 			</syntax>
 		</managerEventInstance>
@@ -634,7 +634,7 @@
 			<synopsis>Raised when a MeetMe user is muted or unmuted.</synopsis>
 			<syntax>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='MeetmeJoin']/managerEventInstance/syntax/parameter)" />
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+				<channel_snapshot/>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='MeetmeTalkRequest']/managerEventInstance/syntax/parameter)" />
 			</syntax>
 		</managerEventInstance>
@@ -1167,7 +1167,7 @@
 	STASIS_MESSAGE_TYPE_INIT(meetme_talk_request_type);
 
 	meetme_event_message_router = stasis_message_router_create(
-		stasis_caching_get_topic(ast_channel_topic_all_cached()));
+		ast_channel_topic_all_cached());
 
 	if (!meetme_event_message_router) {
 		meetme_stasis_cleanup();

Modified: team/dlee/ari-monitor2/apps/app_minivm.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ari-monitor2/apps/app_minivm.c?view=diff&rev=396575&r1=396574&r2=396575
==============================================================================
--- team/dlee/ari-monitor2/apps/app_minivm.c (original)
+++ team/dlee/ari-monitor2/apps/app_minivm.c Tue Aug 13 11:26:50 2013
@@ -500,7 +500,7 @@
 		<managerEventInstance class="EVENT_FLAG_CALL">
 			<synopsis>Raised when a notification is sent out by a MiniVoiceMail application</synopsis>
 			<syntax>
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+				<channel_snapshot/>
 				<parameter name="Action">
 					<para>What action was taken. Currently, this will always be <literal>SentNotification</literal></para>
 				</parameter>

Modified: team/dlee/ari-monitor2/apps/app_playback.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ari-monitor2/apps/app_playback.c?view=diff&rev=396575&r1=396574&r2=396575
==============================================================================
--- team/dlee/ari-monitor2/apps/app_playback.c (original)
+++ team/dlee/ari-monitor2/apps/app_playback.c Tue Aug 13 11:26:50 2013
@@ -220,6 +220,10 @@
 		s = x + 1;
 	ast_debug(2, "value is <%s>\n", s);
 	n = ast_var_assign("SAY", s);
+	if (!n) {
+		ast_log(LOG_ERROR, "Memory allocation error in do_say\n");
+		return -1;
+	}
 	AST_LIST_INSERT_HEAD(&head, n, entries);
 
 	/* scan the body, one piece at a time */

Modified: team/dlee/ari-monitor2/apps/app_queue.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ari-monitor2/apps/app_queue.c?view=diff&rev=396575&r1=396574&r2=396575
==============================================================================
--- team/dlee/ari-monitor2/apps/app_queue.c (original)
+++ team/dlee/ari-monitor2/apps/app_queue.c Tue Aug 13 11:26:50 2013
@@ -1018,7 +1018,7 @@
 		<managerEventInstance class="EVENT_FLAG_AGENT">
 			<synopsis>Raised when a caller joins a Queue.</synopsis>
 			<syntax>
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+				<channel_snapshot/>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='Queue'])" />
 				<parameter name="Position">
 					<para>This channel's current position in the queue.</para>
@@ -1037,7 +1037,7 @@
 		<managerEventInstance class="EVENT_FLAG_AGENT">
 			<synopsis>Raised when a caller leaves a Queue.</synopsis>
 			<syntax>
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+				<channel_snapshot/>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='Queue'])" />
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueCallerJoin']/managerEventInstance/syntax/parameter[@name='Count'])" />
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueCallerJoin']/managerEventInstance/syntax/parameter[@name='Position'])" />
@@ -1051,7 +1051,7 @@
 		<managerEventInstance class="EVENT_FLAG_AGENT">
 			<synopsis>Raised when a caller abandons the queue.</synopsis>
 			<syntax>
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+				<channel_snapshot/>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='Queue'])" />
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueCallerJoin']/managerEventInstance/syntax/parameter[@name='Position'])" />
 				<parameter name="OriginalPosition">
@@ -1067,8 +1067,8 @@
 		<managerEventInstance class="EVENT_FLAG_AGENT">
 			<synopsis>Raised when an queue member is notified of a caller in the queue.</synopsis>
 			<syntax>
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='DialBegin']/managerEventInstance/syntax/parameter[contains(@name, 'Dest')])" />
+				<channel_snapshot/>
+				<channel_snapshot prefix="Dest"/>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='Queue'])" />
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='MemberName'])" />
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='Interface'])" />
@@ -1084,8 +1084,8 @@
 		<managerEventInstance class="EVENT_FLAG_AGENT">
 			<synopsis>Raised when a queue member is notified of a caller in the queue and fails to answer.</synopsis>
 			<syntax>
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='DialBegin']/managerEventInstance/syntax/parameter[contains(@name, 'Dest')])" />
+				<channel_snapshot/>
+				<channel_snapshot prefix="Dest"/>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='Queue'])" />
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='MemberName'])" />
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='Interface'])" />
@@ -1102,8 +1102,8 @@
 		<managerEventInstance class="EVENT_FLAG_AGENT">
 			<synopsis>Raised when a queue member has finished servicing a caller in the queue.</synopsis>
 			<syntax>
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='DialBegin']/managerEventInstance/syntax/parameter[contains(@name, 'Dest')])" />
+				<channel_snapshot/>
+				<channel_snapshot prefix="Dest"/>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='Queue'])" />
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='MemberName'])" />
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='Interface'])" />
@@ -1129,8 +1129,8 @@
 		<managerEventInstance class="EVENT_FLAG_AGENT">
 			<synopsis>Raised when a queue member hangs up on a caller in the queue.</synopsis>
 			<syntax>
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='DialBegin']/managerEventInstance/syntax/parameter[contains(@name, 'Dest')])" />
+				<channel_snapshot/>
+				<channel_snapshot prefix="Dest"/>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='Queue'])" />
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='MemberName'])" />
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='Interface'])" />
@@ -1145,8 +1145,8 @@
 		<managerEventInstance class="EVENT_FLAG_AGENT">
 			<synopsis>Raised when a queue member answers and is bridged to a caller in the queue.</synopsis>
 			<syntax>
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='DialBegin']/managerEventInstance/syntax/parameter[contains(@name, 'Dest')])" />
+				<channel_snapshot/>
+				<channel_snapshot prefix="Dest"/>
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='Queue'])" />
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='MemberName'])" />
 				<xi:include xpointer="xpointer(/docs/managerEvent[@name='QueueMemberStatus']/managerEventInstance/syntax/parameter[@name='Interface'])" />
@@ -2781,6 +2781,11 @@
 	}
 }
 
+
+#define QUEUE_PAUSED_DEVSTATE AST_DEVICE_INUSE
+#define QUEUE_UNPAUSED_DEVSTATE AST_DEVICE_NOT_INUSE
+#define QUEUE_UNKNOWN_PAUSED_DEVSTATE AST_DEVICE_NOT_INUSE
+
 /*! \internal
  * \brief If adding a single new member to a queue, use this function instead of ao2_linking.
  *        This adds round robin queue position data for a fresh member as well as links it.
@@ -2792,6 +2797,8 @@
 	ao2_lock(queue->members);
 	mem->queuepos = ao2_container_count(queue->members);
 	ao2_link(queue->members, mem);
+	ast_devstate_changed(mem->paused ? QUEUE_PAUSED_DEVSTATE : QUEUE_UNPAUSED_DEVSTATE,
+		AST_DEVSTATE_CACHABLE, "Queue:%s_pause_%s", queue->name, mem->interface);
 	ao2_unlock(queue->members);
 }
 
@@ -2804,6 +2811,7 @@
 static void member_remove_from_queue(struct call_queue *queue, struct member *mem)
 {
 	ao2_lock(queue->members);
+	ast_devstate_changed(QUEUE_UNKNOWN_PAUSED_DEVSTATE, AST_DEVSTATE_CACHABLE, "Queue:%s_pause_%s", queue->name, mem->interface);
 	queue_member_follower_removal(queue, mem);
 	ao2_unlink(queue->members, mem);
 	ao2_unlock(queue->members);
@@ -2870,6 +2878,8 @@
 			ast_copy_string(m->rt_uniqueid, rt_uniqueid, sizeof(m->rt_uniqueid));
 			if (paused_str) {
 				m->paused = paused;
+				ast_devstate_changed(m->paused ? QUEUE_PAUSED_DEVSTATE : QUEUE_UNPAUSED_DEVSTATE,
+					AST_DEVSTATE_CACHABLE, "Queue:%s_pause_%s", q->name, m->interface);
 			}
 			if (strcasecmp(state_interface, m->state_interface)) {
 				ast_copy_string(m->state_interface, state_interface, sizeof(m->state_interface));
@@ -4574,10 +4584,10 @@
 						case AST_CONTROL_BUSY:
 							ast_verb(3, "%s is busy\n", ochan_name);
 							ast_channel_publish_dial(qe->chan, o->chan, on, "BUSY");
-							do_hang(o);
 							endtime = (long) time(NULL);
 							endtime -= starttime;
 							rna(endtime * 1000, qe, o->chan, on, membername, qe->parent->autopausebusy);
+							do_hang(o);
 							if (qe->parent->strategy != QUEUE_STRATEGY_RINGALL) {
 								if (qe->parent->timeoutrestart) {
 									start_time_tv = ast_tvnow();
@@ -6286,7 +6296,8 @@
 				}
 
 				mem->paused = paused;
-
+				ast_devstate_changed(mem->paused ? QUEUE_PAUSED_DEVSTATE : QUEUE_UNPAUSED_DEVSTATE,
+					AST_DEVSTATE_CACHABLE, "Queue:%s_pause_%s", q->name, mem->interface);
 				found++;
 
 				/* Before we do the PAUSE/UNPAUSE log, if this was a PAUSEALL/UNPAUSEALL, log that here, but only on the first found entry. */
@@ -7425,8 +7436,10 @@
 				if (m->realtime) {
 					update_realtime_member_field(m, q->name, args.option, rtvalue);
 				}
-
 				m->paused = (memvalue <= 0) ? 0 : 1;
+				ast_devstate_changed(m->paused ? QUEUE_PAUSED_DEVSTATE : QUEUE_UNPAUSED_DEVSTATE,
+					AST_DEVSTATE_CACHABLE, "Queue:%s_pause_%s", q->name, args.interface);
+
 			} else if ((!strcasecmp(args.option, "ignorebusy")) || (!strcasecmp(args.option, "ringinuse"))) {
 				if (m->realtime) {
 					update_realtime_member_field(m, q->name, args.option, rtvalue);

Modified: team/dlee/ari-monitor2/apps/app_stack.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/ari-monitor2/apps/app_stack.c?view=diff&rev=396575&r1=396574&r2=396575
==============================================================================
--- team/dlee/ari-monitor2/apps/app_stack.c (original)
+++ team/dlee/ari-monitor2/apps/app_stack.c Tue Aug 13 11:26:50 2013
@@ -211,7 +211,7 @@
 		<managerEventInstance class="EVENT_FLAG_DIALPLAN">
 			<synopsis>Raised when a variable local to the gosub stack frame is set due to a subroutine call.</synopsis>
 			<syntax>
-				<xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+				<channel_snapshot/>
 				<parameter name="Variable">
 					<para>The LOCAL variable being set.</para>
 					<note><para>The variable name will always be enclosed with
@@ -273,8 +273,9 @@
 	}
 
 	if (!found) {
-		variables = ast_var_assign(var, "");
-		AST_LIST_INSERT_HEAD(&frame->varshead, variables, entries);
+		if ((variables = ast_var_assign(var, ""))) {
+			AST_LIST_INSERT_HEAD(&frame->varshead, variables, entries);
+		}
 		pbx_builtin_pushvar_helper(chan, var, value);
 	} else {
 		pbx_builtin_setvar_helper(chan, var, value);

Modified: team/dlee/ari-monitor2/apps/app_voicemail.c

[... 17021 lines stripped ...]



More information about the asterisk-commits mailing list