[asterisk-commits] dlee: branch dlee/allow-multiple r396121 - in /team/dlee/allow-multiple: ./ a...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Aug 2 09:34:44 CDT 2013


Author: dlee
Date: Fri Aug  2 09:34:39 2013
New Revision: 396121

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=396121
Log:
Merged revisions 395728-396119 from http://svn.asterisk.org/svn/asterisk/trunk

Added:
    team/dlee/allow-multiple/channels/chan_pjsip.c
      - copied unchanged from r396119, trunk/channels/chan_pjsip.c
    team/dlee/allow-multiple/configs/pjsip.conf.sample
      - copied unchanged from r396119, trunk/configs/pjsip.conf.sample
    team/dlee/allow-multiple/doc/snapshots.xslt
      - copied unchanged from r396119, trunk/doc/snapshots.xslt
    team/dlee/allow-multiple/include/asterisk/pickup.h
      - copied unchanged from r396119, trunk/include/asterisk/pickup.h
    team/dlee/allow-multiple/include/asterisk/res_pjsip.h
      - copied unchanged from r396119, trunk/include/asterisk/res_pjsip.h
    team/dlee/allow-multiple/include/asterisk/res_pjsip_exten_state.h
      - copied unchanged from r396119, trunk/include/asterisk/res_pjsip_exten_state.h
    team/dlee/allow-multiple/include/asterisk/res_pjsip_pubsub.h
      - copied unchanged from r396119, trunk/include/asterisk/res_pjsip_pubsub.h
    team/dlee/allow-multiple/include/asterisk/res_pjsip_session.h
      - copied unchanged from r396119, trunk/include/asterisk/res_pjsip_session.h
    team/dlee/allow-multiple/include/asterisk/stasis_cache_pattern.h
      - copied unchanged from r396119, trunk/include/asterisk/stasis_cache_pattern.h
    team/dlee/allow-multiple/main/pickup.c
      - copied unchanged from r396119, trunk/main/pickup.c
    team/dlee/allow-multiple/main/stasis_cache_pattern.c
      - copied unchanged from r396119, trunk/main/stasis_cache_pattern.c
    team/dlee/allow-multiple/main/stasis_wait.c
      - copied unchanged from r396119, trunk/main/stasis_wait.c
    team/dlee/allow-multiple/res/res_pjsip/   (props changed)
      - copied from r396119, trunk/res/res_pjsip/
    team/dlee/allow-multiple/res/res_pjsip.c
      - copied unchanged from r396119, trunk/res/res_pjsip.c
    team/dlee/allow-multiple/res/res_pjsip.exports.in
      - copied unchanged from r396119, trunk/res/res_pjsip.exports.in
    team/dlee/allow-multiple/res/res_pjsip_acl.c
      - copied unchanged from r396119, trunk/res/res_pjsip_acl.c
    team/dlee/allow-multiple/res/res_pjsip_authenticator_digest.c
      - copied unchanged from r396119, trunk/res/res_pjsip_authenticator_digest.c
    team/dlee/allow-multiple/res/res_pjsip_caller_id.c
      - copied unchanged from r396119, trunk/res/res_pjsip_caller_id.c
    team/dlee/allow-multiple/res/res_pjsip_diversion.c
      - copied unchanged from r396119, trunk/res/res_pjsip_diversion.c
    team/dlee/allow-multiple/res/res_pjsip_dtmf_info.c
      - copied unchanged from r396119, trunk/res/res_pjsip_dtmf_info.c
    team/dlee/allow-multiple/res/res_pjsip_endpoint_identifier_anonymous.c
      - copied unchanged from r396119, trunk/res/res_pjsip_endpoint_identifier_anonymous.c
    team/dlee/allow-multiple/res/res_pjsip_endpoint_identifier_ip.c
      - copied unchanged from r396119, trunk/res/res_pjsip_endpoint_identifier_ip.c
    team/dlee/allow-multiple/res/res_pjsip_endpoint_identifier_user.c
      - copied unchanged from r396119, trunk/res/res_pjsip_endpoint_identifier_user.c
    team/dlee/allow-multiple/res/res_pjsip_exten_state.c
      - copied unchanged from r396119, trunk/res/res_pjsip_exten_state.c
    team/dlee/allow-multiple/res/res_pjsip_exten_state.exports.in
      - copied unchanged from r396119, trunk/res/res_pjsip_exten_state.exports.in
    team/dlee/allow-multiple/res/res_pjsip_logger.c
      - copied unchanged from r396119, trunk/res/res_pjsip_logger.c
    team/dlee/allow-multiple/res/res_pjsip_messaging.c
      - copied unchanged from r396119, trunk/res/res_pjsip_messaging.c
    team/dlee/allow-multiple/res/res_pjsip_mwi.c
      - copied unchanged from r396119, trunk/res/res_pjsip_mwi.c
    team/dlee/allow-multiple/res/res_pjsip_nat.c
      - copied unchanged from r396119, trunk/res/res_pjsip_nat.c
    team/dlee/allow-multiple/res/res_pjsip_notify.c
      - copied unchanged from r396119, trunk/res/res_pjsip_notify.c
    team/dlee/allow-multiple/res/res_pjsip_one_touch_record_info.c
      - copied unchanged from r396119, trunk/res/res_pjsip_one_touch_record_info.c
    team/dlee/allow-multiple/res/res_pjsip_outbound_authenticator_digest.c
      - copied unchanged from r396119, trunk/res/res_pjsip_outbound_authenticator_digest.c
    team/dlee/allow-multiple/res/res_pjsip_outbound_registration.c
      - copied unchanged from r396119, trunk/res/res_pjsip_outbound_registration.c
    team/dlee/allow-multiple/res/res_pjsip_pidf.c
      - copied unchanged from r396119, trunk/res/res_pjsip_pidf.c
    team/dlee/allow-multiple/res/res_pjsip_pubsub.c
      - copied unchanged from r396119, trunk/res/res_pjsip_pubsub.c
    team/dlee/allow-multiple/res/res_pjsip_pubsub.exports.in
      - copied unchanged from r396119, trunk/res/res_pjsip_pubsub.exports.in
    team/dlee/allow-multiple/res/res_pjsip_refer.c
      - copied unchanged from r396119, trunk/res/res_pjsip_refer.c
    team/dlee/allow-multiple/res/res_pjsip_registrar.c
      - copied unchanged from r396119, trunk/res/res_pjsip_registrar.c
    team/dlee/allow-multiple/res/res_pjsip_registrar_expire.c
      - copied unchanged from r396119, trunk/res/res_pjsip_registrar_expire.c
    team/dlee/allow-multiple/res/res_pjsip_rfc3326.c
      - copied unchanged from r396119, trunk/res/res_pjsip_rfc3326.c
    team/dlee/allow-multiple/res/res_pjsip_sdp_rtp.c
      - copied unchanged from r396119, trunk/res/res_pjsip_sdp_rtp.c
    team/dlee/allow-multiple/res/res_pjsip_session.c
      - copied unchanged from r396119, trunk/res/res_pjsip_session.c
    team/dlee/allow-multiple/res/res_pjsip_session.exports.in
      - copied unchanged from r396119, trunk/res/res_pjsip_session.exports.in
    team/dlee/allow-multiple/res/res_pjsip_t38.c
      - copied unchanged from r396119, trunk/res/res_pjsip_t38.c
    team/dlee/allow-multiple/res/res_pjsip_transport_websocket.c
      - copied unchanged from r396119, trunk/res/res_pjsip_transport_websocket.c
Removed:
    team/dlee/allow-multiple/channels/chan_gulp.c
    team/dlee/allow-multiple/configs/res_sip.conf.sample
    team/dlee/allow-multiple/include/asterisk/res_sip.h
    team/dlee/allow-multiple/include/asterisk/res_sip_exten_state.h
    team/dlee/allow-multiple/include/asterisk/res_sip_pubsub.h
    team/dlee/allow-multiple/include/asterisk/res_sip_session.h
    team/dlee/allow-multiple/res/res_sip/
    team/dlee/allow-multiple/res/res_sip.c
    team/dlee/allow-multiple/res/res_sip.exports.in
    team/dlee/allow-multiple/res/res_sip_acl.c
    team/dlee/allow-multiple/res/res_sip_authenticator_digest.c
    team/dlee/allow-multiple/res/res_sip_caller_id.c
    team/dlee/allow-multiple/res/res_sip_diversion.c
    team/dlee/allow-multiple/res/res_sip_dtmf_info.c
    team/dlee/allow-multiple/res/res_sip_endpoint_identifier_anonymous.c
    team/dlee/allow-multiple/res/res_sip_endpoint_identifier_constant.c
    team/dlee/allow-multiple/res/res_sip_endpoint_identifier_ip.c
    team/dlee/allow-multiple/res/res_sip_endpoint_identifier_user.c
    team/dlee/allow-multiple/res/res_sip_exten_state.c
    team/dlee/allow-multiple/res/res_sip_exten_state.exports.in
    team/dlee/allow-multiple/res/res_sip_logger.c
    team/dlee/allow-multiple/res/res_sip_messaging.c
    team/dlee/allow-multiple/res/res_sip_mwi.c
    team/dlee/allow-multiple/res/res_sip_nat.c
    team/dlee/allow-multiple/res/res_sip_notify.c
    team/dlee/allow-multiple/res/res_sip_one_touch_record_info.c
    team/dlee/allow-multiple/res/res_sip_outbound_authenticator_digest.c
    team/dlee/allow-multiple/res/res_sip_outbound_registration.c
    team/dlee/allow-multiple/res/res_sip_pidf.c
    team/dlee/allow-multiple/res/res_sip_pubsub.c
    team/dlee/allow-multiple/res/res_sip_pubsub.exports.in
    team/dlee/allow-multiple/res/res_sip_refer.c
    team/dlee/allow-multiple/res/res_sip_registrar.c
    team/dlee/allow-multiple/res/res_sip_registrar_expire.c
    team/dlee/allow-multiple/res/res_sip_rfc3326.c
    team/dlee/allow-multiple/res/res_sip_sdp_rtp.c
    team/dlee/allow-multiple/res/res_sip_session.c
    team/dlee/allow-multiple/res/res_sip_session.exports.in
    team/dlee/allow-multiple/res/res_sip_transport_websocket.c
Modified:
    team/dlee/allow-multiple/   (props changed)
    team/dlee/allow-multiple/CHANGES
    team/dlee/allow-multiple/Makefile
    team/dlee/allow-multiple/UPGRADE.txt
    team/dlee/allow-multiple/apps/app_agent_pool.c
    team/dlee/allow-multiple/apps/app_chanspy.c
    team/dlee/allow-multiple/apps/app_directed_pickup.c
    team/dlee/allow-multiple/apps/app_meetme.c
    team/dlee/allow-multiple/apps/app_minivm.c
    team/dlee/allow-multiple/apps/app_queue.c
    team/dlee/allow-multiple/apps/app_stack.c
    team/dlee/allow-multiple/apps/app_voicemail.c
    team/dlee/allow-multiple/apps/confbridge/confbridge_manager.c
    team/dlee/allow-multiple/bridges/bridge_native_rtp.c
    team/dlee/allow-multiple/channels/chan_dahdi.c
    team/dlee/allow-multiple/channels/chan_gtalk.c
    team/dlee/allow-multiple/channels/chan_iax2.c
    team/dlee/allow-multiple/channels/chan_mgcp.c
    team/dlee/allow-multiple/channels/chan_misdn.c
    team/dlee/allow-multiple/channels/chan_oss.c
    team/dlee/allow-multiple/channels/chan_sip.c
    team/dlee/allow-multiple/channels/chan_skinny.c
    team/dlee/allow-multiple/channels/chan_unistim.c
    team/dlee/allow-multiple/channels/sig_analog.c
    team/dlee/allow-multiple/channels/sig_pri.c
    team/dlee/allow-multiple/configure
    team/dlee/allow-multiple/configure.ac
    team/dlee/allow-multiple/contrib/scripts/install_prereq
    team/dlee/allow-multiple/doc/appdocsxml.dtd
    team/dlee/allow-multiple/funcs/func_channel.c
    team/dlee/allow-multiple/funcs/func_global.c
    team/dlee/allow-multiple/include/asterisk/_private.h
    team/dlee/allow-multiple/include/asterisk/app.h
    team/dlee/allow-multiple/include/asterisk/astobj2.h
    team/dlee/allow-multiple/include/asterisk/autoconfig.h.in
    team/dlee/allow-multiple/include/asterisk/bridge.h
    team/dlee/allow-multiple/include/asterisk/channel.h
    team/dlee/allow-multiple/include/asterisk/channel_internal.h
    team/dlee/allow-multiple/include/asterisk/devicestate.h
    team/dlee/allow-multiple/include/asterisk/features.h
    team/dlee/allow-multiple/include/asterisk/json.h
    team/dlee/allow-multiple/include/asterisk/parking.h
    team/dlee/allow-multiple/include/asterisk/presencestate.h
    team/dlee/allow-multiple/include/asterisk/stasis.h
    team/dlee/allow-multiple/include/asterisk/stasis_bridges.h
    team/dlee/allow-multiple/include/asterisk/stasis_channels.h
    team/dlee/allow-multiple/include/asterisk/stasis_endpoints.h
    team/dlee/allow-multiple/include/asterisk/strings.h
    team/dlee/allow-multiple/main/Makefile
    team/dlee/allow-multiple/main/abstract_jb.c
    team/dlee/allow-multiple/main/aoc.c
    team/dlee/allow-multiple/main/app.c
    team/dlee/allow-multiple/main/asterisk.c
    team/dlee/allow-multiple/main/astobj2.c
    team/dlee/allow-multiple/main/bridge.c
    team/dlee/allow-multiple/main/bridge_channel.c
    team/dlee/allow-multiple/main/cdr.c
    team/dlee/allow-multiple/main/cel.c
    team/dlee/allow-multiple/main/channel.c
    team/dlee/allow-multiple/main/channel_internal_api.c
    team/dlee/allow-multiple/main/cli.c
    team/dlee/allow-multiple/main/core_local.c
    team/dlee/allow-multiple/main/devicestate.c
    team/dlee/allow-multiple/main/endpoints.c
    team/dlee/allow-multiple/main/features.c
    team/dlee/allow-multiple/main/json.c
    team/dlee/allow-multiple/main/manager.c
    team/dlee/allow-multiple/main/manager_bridges.c
    team/dlee/allow-multiple/main/manager_channels.c
    team/dlee/allow-multiple/main/manager_endpoints.c
    team/dlee/allow-multiple/main/manager_mwi.c
    team/dlee/allow-multiple/main/parking.c
    team/dlee/allow-multiple/main/pbx.c
    team/dlee/allow-multiple/main/presencestate.c
    team/dlee/allow-multiple/main/rtp_engine.c
    team/dlee/allow-multiple/main/sorcery.c
    team/dlee/allow-multiple/main/stasis.c
    team/dlee/allow-multiple/main/stasis_bridges.c
    team/dlee/allow-multiple/main/stasis_cache.c
    team/dlee/allow-multiple/main/stasis_channels.c
    team/dlee/allow-multiple/main/stasis_endpoints.c
    team/dlee/allow-multiple/main/strings.c
    team/dlee/allow-multiple/main/xml.c
    team/dlee/allow-multiple/makeopts.in
    team/dlee/allow-multiple/res/Makefile
    team/dlee/allow-multiple/res/ari/ari_websockets.c
    team/dlee/allow-multiple/res/ari/resource_bridges.c
    team/dlee/allow-multiple/res/ari/resource_channels.c
    team/dlee/allow-multiple/res/ari/resource_endpoints.c
    team/dlee/allow-multiple/res/parking/parking_applications.c
    team/dlee/allow-multiple/res/parking/parking_bridge.c
    team/dlee/allow-multiple/res/parking/parking_bridge_features.c
    team/dlee/allow-multiple/res/parking/parking_manager.c
    team/dlee/allow-multiple/res/res_agi.c
    team/dlee/allow-multiple/res/res_chan_stats.c
    team/dlee/allow-multiple/res/res_jabber.c
    team/dlee/allow-multiple/res/res_parking.c
    team/dlee/allow-multiple/res/res_pktccops.c
    team/dlee/allow-multiple/res/res_sorcery_astdb.c
    team/dlee/allow-multiple/res/res_stasis.c
    team/dlee/allow-multiple/res/res_xmpp.c
    team/dlee/allow-multiple/res/stasis/control.c
    team/dlee/allow-multiple/tests/test_cel.c
    team/dlee/allow-multiple/tests/test_devicestate.c
    team/dlee/allow-multiple/tests/test_json.c
    team/dlee/allow-multiple/tests/test_stasis.c
    team/dlee/allow-multiple/tests/test_stasis_endpoints.c
    team/dlee/allow-multiple/utils/Makefile
    team/dlee/allow-multiple/utils/astman.c
    team/dlee/allow-multiple/utils/refcounter.c

Propchange: team/dlee/allow-multiple/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Aug  2 09:34:39 2013
@@ -1,1 +1,1 @@
-/trunk:1-395709
+/trunk:1-396120

Modified: team/dlee/allow-multiple/CHANGES
URL: http://svnview.digium.com/svn/asterisk/team/dlee/allow-multiple/CHANGES?view=diff&rev=396121&r1=396120&r2=396121
==============================================================================
--- team/dlee/allow-multiple/CHANGES (original)
+++ team/dlee/allow-multiple/CHANGES Fri Aug  2 09:34:39 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
@@ -298,12 +311,25 @@
    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)
 ------------------
  * The manager event AGIExec has been split into AGIExecStart and AGIExecEnd.
 
  * The manager event AsyncAGI has been split into AsyncAGIStart, AsyncAGIExec,
    and AsyncAGIEnd.
+
+ * The CONTROL STREAM FILE command now accepts an offsetms parameter. This
+   will start the playback of the audio at the position specified. It will
+   also return the final position of the file in 'endpos'.
 
 CDR (Call Detail Records)
 ------------------

Modified: team/dlee/allow-multiple/Makefile
URL: http://svnview.digium.com/svn/asterisk/team/dlee/allow-multiple/Makefile?view=diff&rev=396121&r1=396120&r2=396121
==============================================================================
--- team/dlee/allow-multiple/Makefile (original)
+++ team/dlee/allow-multiple/Makefile Fri Aug  2 09:34:39 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/allow-multiple/UPGRADE.txt
URL: http://svnview.digium.com/svn/asterisk/team/dlee/allow-multiple/UPGRADE.txt?view=diff&rev=396121&r1=396120&r2=396121
==============================================================================
--- team/dlee/allow-multiple/UPGRADE.txt (original)
+++ team/dlee/allow-multiple/UPGRADE.txt Fri Aug  2 09:34:39 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/allow-multiple/apps/app_agent_pool.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/allow-multiple/apps/app_agent_pool.c?view=diff&rev=396121&r1=396120&r2=396121
==============================================================================
--- team/dlee/allow-multiple/apps/app_agent_pool.c (original)
+++ team/dlee/allow-multiple/apps/app_agent_pool.c Fri Aug  2 09:34:39 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/allow-multiple/apps/app_chanspy.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/allow-multiple/apps/app_chanspy.c?view=diff&rev=396121&r1=396120&r2=396121
==============================================================================
--- team/dlee/allow-multiple/apps/app_chanspy.c (original)
+++ team/dlee/allow-multiple/apps/app_chanspy.c Fri Aug  2 09:34:39 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/allow-multiple/apps/app_directed_pickup.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/allow-multiple/apps/app_directed_pickup.c?view=diff&rev=396121&r1=396120&r2=396121
==============================================================================
--- team/dlee/allow-multiple/apps/app_directed_pickup.c (original)
+++ team/dlee/allow-multiple/apps/app_directed_pickup.c Fri Aug  2 09:34:39 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/allow-multiple/apps/app_meetme.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/allow-multiple/apps/app_meetme.c?view=diff&rev=396121&r1=396120&r2=396121
==============================================================================
--- team/dlee/allow-multiple/apps/app_meetme.c (original)
+++ team/dlee/allow-multiple/apps/app_meetme.c Fri Aug  2 09:34:39 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_cache());
 
 	if (!meetme_event_message_router) {
 		meetme_stasis_cleanup();

Modified: team/dlee/allow-multiple/apps/app_minivm.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/allow-multiple/apps/app_minivm.c?view=diff&rev=396121&r1=396120&r2=396121
==============================================================================
--- team/dlee/allow-multiple/apps/app_minivm.c (original)
+++ team/dlee/allow-multiple/apps/app_minivm.c Fri Aug  2 09:34:39 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/allow-multiple/apps/app_queue.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/allow-multiple/apps/app_queue.c?view=diff&rev=396121&r1=396120&r2=396121
==============================================================================
--- team/dlee/allow-multiple/apps/app_queue.c (original)
+++ team/dlee/allow-multiple/apps/app_queue.c Fri Aug  2 09:34:39 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));
@@ -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/allow-multiple/apps/app_stack.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/allow-multiple/apps/app_stack.c?view=diff&rev=396121&r1=396120&r2=396121
==============================================================================
--- team/dlee/allow-multiple/apps/app_stack.c (original)

[... 10768 lines stripped ...]



More information about the asterisk-commits mailing list