Fix documentation replication issues
authorKinsey Moore <kmoore@digium.com>
Thu, 1 Aug 2013 17:07:52 +0000 (17:07 +0000)
committerKinsey Moore <kmoore@digium.com>
Thu, 1 Aug 2013 17:07:52 +0000 (17:07 +0000)
This prevents XML documentation duplication by expanding channel and
bridge snapshot tags into channel and bridge snapshot parameter sets
with a given prefix or defaulting to no prefix. This also prevents
documentation from becoming fractured and out of date by keeping all
variations of the documentation in template form such that it only
needs to be updated once and keeps maintenance to a minimum.

Review: https://reviewboard.asterisk.org/r/2708/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@395985 65c4cc65-6c06-0410-ace0-fbb531ad65f3

33 files changed:
CHANGES
Makefile
UPGRADE.txt
apps/app_agent_pool.c
apps/app_meetme.c
apps/app_minivm.c
apps/app_queue.c
apps/app_stack.c
apps/confbridge/confbridge_manager.c
channels/chan_dahdi.c
channels/chan_sip.c
channels/sig_pri.c
configure.ac
contrib/scripts/install_prereq
doc/appdocsxml.dtd
doc/snapshots.xslt [new file with mode: 0644]
funcs/func_global.c
include/asterisk/autoconfig.h.in
main/Makefile
main/aoc.c
main/core_local.c
main/features.c
main/manager.c
main/manager_bridges.c
main/manager_channels.c
main/manager_mwi.c
main/rtp_engine.c
main/stasis_bridges.c
main/stasis_channels.c
main/xml.c
makeopts.in
res/parking/parking_manager.c
res/res_agi.c

diff --git a/CHANGES b/CHANGES
index fe956ca..7e9cc98 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -117,6 +117,13 @@ UserEvent
    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
 ------------------
  * Redirecting reasons can now be set to arbitrary strings. This means
index 6ee702b..068ad6d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -444,6 +444,7 @@ datafiles: _all doc/core-en_US.xml
                $(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 @@ doc/core-en_US.xml: makeopts .lastclean $(XML_core_en_US)
        @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 @@ else
        @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 @@ bininstall: _all installdirs $(SUBDIRS_INSTALL) main-bininstall
        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"
index f5e473b..baae655 100644 (file)
@@ -96,6 +96,11 @@ CEL:
  - 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,
index 6beb90a..286a937 100644 (file)
@@ -202,49 +202,12 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                        <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>
index 5bb8035..0f272f1 100644 (file)
@@ -567,7 +567,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                <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 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                        <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 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                        <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 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                        <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 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                        <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>
index 2b6f7e4..06ac02a 100644 (file)
@@ -500,7 +500,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <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>
index 195517f..732a558 100644 (file)
@@ -1018,7 +1018,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <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 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <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 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <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 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <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 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <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 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <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 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <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 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <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'])" />
index 9260f2a..0d66573 100644 (file)
@@ -211,7 +211,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <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
index 10503ff..e6e859f 100644 (file)
@@ -44,7 +44,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                <parameter name="Conference">
                                        <para>The name of the Confbridge conference.</para>
                                </parameter>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='BridgeCreate']/managerEventInstance/syntax/parameter)" />
+                               <bridge_snapshot/>
                        </syntax>
                        <see-also>
                                <ref type="managerEvent">ConfbridgeEnd</ref>
@@ -59,7 +59,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                <parameter name="Conference">
                                        <para>The name of the Confbridge conference.</para>
                                </parameter>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='BridgeCreate']/managerEventInstance/syntax/parameter)" />
+                               <bridge_snapshot/>
                        </syntax>
                        <see-also>
                                <ref type="managerEvent">ConfbridgeStart</ref>
@@ -74,8 +74,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                <parameter name="Conference">
                                        <para>The name of the Confbridge conference.</para>
                                </parameter>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='BridgeCreate']/managerEventInstance/syntax/parameter)" />
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <bridge_snapshot/>
+                               <channel_snapshot/>
                        </syntax>
                        <see-also>
                                <ref type="managerEvent">ConfbridgeLeave</ref>
@@ -90,8 +90,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                <parameter name="Conference">
                                        <para>The name of the Confbridge conference.</para>
                                </parameter>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='BridgeCreate']/managerEventInstance/syntax/parameter)" />
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <bridge_snapshot/>
+                               <channel_snapshot/>
                        </syntax>
                        <see-also>
                                <ref type="managerEvent">ConfbridgeJoin</ref>
@@ -106,7 +106,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                <parameter name="Conference">
                                        <para>The name of the Confbridge conference.</para>
                                </parameter>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='BridgeCreate']/managerEventInstance/syntax/parameter)" />
+                               <bridge_snapshot/>
                        </syntax>
                        <see-also>
                                <ref type="managerEvent">ConfbridgeStopRecord</ref>
@@ -121,7 +121,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                <parameter name="Conference">
                                        <para>The name of the Confbridge conference.</para>
                                </parameter>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='BridgeCreate']/managerEventInstance/syntax/parameter)" />
+                               <bridge_snapshot/>
                        </syntax>
                        <see-also>
                                <ref type="managerEvent">ConfbridgeRecord</ref>
@@ -136,8 +136,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                <parameter name="Conference">
                                        <para>The name of the Confbridge conference.</para>
                                </parameter>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='BridgeCreate']/managerEventInstance/syntax/parameter)" />
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <bridge_snapshot/>
+                               <channel_snapshot/>
                        </syntax>
                        <see-also>
                                <ref type="managerEvent">ConfbridgeUnmute</ref>
@@ -152,8 +152,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                <parameter name="Conference">
                                        <para>The name of the Confbridge conference.</para>
                                </parameter>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='BridgeCreate']/managerEventInstance/syntax/parameter)" />
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <bridge_snapshot/>
+                               <channel_snapshot/>
                        </syntax>
                        <see-also>
                                <ref type="managerEvent">ConfbridgeMute</ref>
@@ -161,7 +161,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                        </see-also>
                </managerEventInstance>
        </managerEvent>
-
        <managerEvent language="en_US" name="ConfbridgeTalking">
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a confbridge participant unmutes.</synopsis>
@@ -169,8 +168,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                <parameter name="Conference">
                                        <para>The name of the Confbridge conference.</para>
                                </parameter>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='BridgeCreate']/managerEventInstance/syntax/parameter)" />
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <bridge_snapshot/>
+                               <channel_snapshot/>
                                <parameter name="TalkingStatus">
                                        <enumlist>
                                                <enum name="on"/>
index 3c29b42..d18e94d 100644 (file)
@@ -362,7 +362,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a DAHDI channel is created or an underlying technology is associated with a DAHDI channel.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="DAHDISpan">
                                        <para>The DAHDI span associated with this channel.</para>
                                </parameter>
index 9215b5a..1aa18b9 100644 (file)
@@ -643,7 +643,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a SIP session times out.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Source">
                                        <para>The source of the session timeout.</para>
                                        <enumlist>
index e24752b..f494c82 100644 (file)
@@ -31,7 +31,7 @@
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Published when a malicious call ID request arrives.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="MCallerIDNumValid">
                                </parameter>
                                <parameter name="MCallerIDNum">
index 02a324a..9a814cb 100644 (file)
@@ -413,6 +413,7 @@ AST_EXT_LIB_SETUP([LDAP], [OpenLDAP], [ldap])
 AST_LIBCURL_CHECK_CONFIG([], [7.10.1])
 AST_EXT_LIB_SETUP([LIBEDIT], [NetBSD Editline library], [libedit], [, use 'internal' Editline otherwise])
 AST_EXT_LIB_SETUP([LIBXML2], [LibXML2], [libxml2])
+AST_EXT_LIB_SETUP([LIBXSLT], [LibXSLT], [libxslt])
 AST_EXT_LIB_SETUP([LTDL], [libtool], [ltdl])
 AST_EXT_LIB_SETUP([LUA], [Lua], [lua])
 AST_EXT_LIB_SETUP([MISDN], [mISDN user], [misdn])
@@ -564,6 +565,9 @@ if test "${disable_xmldoc}" != "yes"; then
                AC_MSG_NOTICE(*** or install the 'libxml2' development package.)
                exit 1
        fi
+
+        AST_EXT_LIB_CHECK([LIBXSLT], [xslt], [xsltLoadStylesheetPI], [libxslt/xsltInternals.h], [${LIBXML2_LIB}], [${LIBXML2_INCLUDE}])
+
 fi
 
 # some embedded systems omit internationalization (locale) support
index 37f1b67..80345ed 100755 (executable)
@@ -28,14 +28,14 @@ PACKAGES_DEBIAN="$PACKAGES_DEBIAN libpq-dev unixodbc-dev libsqlite0-dev libmysql
 PACKAGES_DEBIAN="$PACKAGES_DEBIAN libopenh323-dev libvpb-dev libgtk2.0-dev libmysqlclient-dev libbluetooth-dev libradiusclient-ng-dev freetds-dev"
 PACKAGES_DEBIAN="$PACKAGES_DEBIAN libsnmp-dev libiksemel-dev libcorosync-dev libnewt-dev libpopt-dev libical-dev libspandsp-dev libjack-dev"
 PACKAGES_DEBIAN="$PACKAGES_DEBIAN libresample-dev libc-client-dev binutils-dev libsrtp-dev libgsm1-dev libedit-dev doxygen libjansson-dev libldap-dev"
-PACKAGES_DEBIAN="$PACKAGES_DEBIAN subversion git"
+PACKAGES_DEBIAN="$PACKAGES_DEBIAN subversion git libxslt1-dev"
 PACKAGES_RH="automake gcc gcc-c++ ncurses-devel openssl-devel libxml2-devel unixODBC-devel libcurl-devel libogg-devel libvorbis-devel speex-devel"
 PACKAGES_RH="$PACKAGES_RH spandsp-devel freetds-devel net-snmp-devel iksemel-devel corosynclib-devel newt-devel popt-devel libtool-ltdl-devel lua-devel"
 PACKAGES_RH="$PACKAGES_RH libsqlite3x-devel radiusclient-ng-devel portaudio-devel postgresql-devel libresample-devel neon-devel libical-devel"
 PACKAGES_RH="$PACKAGES_RH openldap-devel gmime22-devel sqlite2-devel mysql-devel bluez-libs-devel jack-audio-connection-kit-devel gsm-devel libedit-devel libuuid-devel"
-PACKAGES_RH="$PACKAGES_RH jansson-devel libsrtp-devel pjproject-devel subversion git"
+PACKAGES_RH="$PACKAGES_RH jansson-devel libsrtp-devel pjproject-devel subversion git libxslt-devel"
 
-PACKAGES_OBSD="popt gmake wget libxml libogg libvorbis curl iksemel spandsp speex iodbc freetds-0.63p1-msdblib mysql-client gmime sqlite sqlite3 jack"
+PACKAGES_OBSD="popt gmake wget libxml libogg libvorbis curl iksemel spandsp speex iodbc freetds-0.63p1-msdblib mysql-client gmime sqlite sqlite3 jack libxslt"
 
 KVERS=`uname -r`
 
index f8e7100..d56c8a8 100644 (file)
 
   <!ELEMENT synopsis (#PCDATA)>
 
-  <!ELEMENT syntax (parameter|dataType|category|matchInfo|xi:include)*>
+  <!ELEMENT syntax (parameter|dataType|category|matchInfo|xi:include|channel_snapshot|bridge_snapshot)*>
   <!ATTLIST syntax argsep CDATA ",">
 
+  <!ELEMENT channel_snapshot (#PCDATA)>
+  <!ATTLIST channel_snapshot prefix CDATA "">
+
+  <!ELEMENT bridge_snapshot (#PCDATA)>
+  <!ATTLIST bridge_snapshot prefix CDATA "">
+
   <!ELEMENT description (para|note|warning|variablelist|enumlist|info|xi:include)*>
 
   <!ELEMENT parameter (optionlist|enumlist|argument|para|note|warning|parameter|info|xi:include)*>
diff --git a/doc/snapshots.xslt b/doc/snapshots.xslt
new file mode 100644 (file)
index 0000000..17114cb
--- /dev/null
@@ -0,0 +1,115 @@
+<xsl:stylesheet version="1.0" 
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+    <xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+    <xsl:param name="pNewType" select="'myNewType'"/>
+
+    <xsl:template match="node()|@*">
+        <xsl:copy>
+            <xsl:apply-templates select="node()|@*"/>
+        </xsl:copy>
+    </xsl:template>
+
+    <xsl:template match="channel_snapshot">
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'Channel')"/>
+            </xsl:attribute>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'ChannelState')"/>
+            </xsl:attribute>
+            <para>A numeric code for the channel's current state, related to <xsl:value-of select="concat(@prefix,'ChannelStateDesc')"/></para>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'ChannelStateDesc')"/>
+            </xsl:attribute>
+            <enumlist>
+                <enum name="Down"/>
+                <enum name="Rsrvd"/>
+                <enum name="OffHook"/>
+                <enum name="Dialing"/>
+                <enum name="Ring"/>
+                <enum name="Ringing"/>
+                <enum name="Up"/>
+                <enum name="Busy"/>
+                <enum name="Dialing Offhook"/>
+                <enum name="Pre-ring"/>
+                <enum name="Unknown"/>
+            </enumlist>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'CallerIDNum')"/>
+            </xsl:attribute>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'CallerIDName')"/>
+            </xsl:attribute>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'ConnectedLineNum')"/>
+            </xsl:attribute>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'ConnectedLineName')"/>
+            </xsl:attribute>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'AccountCode')"/>
+            </xsl:attribute>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'Context')"/>
+            </xsl:attribute>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'Exten')"/>
+            </xsl:attribute>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'Priority')"/>
+            </xsl:attribute>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'Uniqueid')"/>
+            </xsl:attribute>
+        </xsl:element>
+    </xsl:template>
+
+    <xsl:template match="bridge_snapshot">
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'BridgeUniqueid')"/>
+            </xsl:attribute>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'BridgeType')"/>
+            </xsl:attribute>
+            <para>The type of bridge</para>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'BridgeTechnology')"/>
+            </xsl:attribute>
+            <para>Technology in use by the bridge</para>
+        </xsl:element>
+        <xsl:element name="parameter">
+            <xsl:attribute name="name">
+                <xsl:value-of select="concat(@prefix,'BridgeNumChannels')"/>
+            </xsl:attribute>
+            <para>Number of channels in the bridge</para>
+        </xsl:element>
+    </xsl:template>
+</xsl:stylesheet>
index a688ef0..8403669 100644 (file)
@@ -87,7 +87,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_DIALPLAN">
                        <synopsis>Raised when a variable is shared between channels.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Variable">
                                        <para>The SHARED variable being set.</para>
                                        <note><para>The variable name will always be enclosed with
index ecbba0d..bbc035f 100644 (file)
 /* Define if your system has the LIBXML2 libraries. */
 #undef HAVE_LIBXML2
 
+/* Define to 1 if you have the LibXSLT library. */
+#undef HAVE_LIBXSLT
+
 /* Define to 1 if you have the <limits.h> header file. */
 #undef HAVE_LIMITS_H
 
index 3d37c7c..e3ed7c5 100644 (file)
@@ -33,6 +33,7 @@ OBJS+=stdtime/localtime.o
 ASTSSL_LIBS:=$(OPENSSL_LIB)
 AST_LIBS+=$(BKTR_LIB)
 AST_LIBS+=$(LIBXML2_LIB)
+AST_LIBS+=$(LIBXSLT_LIB)
 AST_LIBS+=$(SQLITE3_LIB)
 AST_LIBS+=$(ASTSSL_LIBS)
 AST_LIBS+=$(JANSSON_LIB)
index d45092b..e8b23f5 100644 (file)
@@ -44,7 +44,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$");
                <managerEventInstance class="EVENT_FLAG_AOC">
                        <synopsis>Raised when an Advice of Charge message is sent at the beginning of a call.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Chargeable" />
                                <parameter name="RateType">
                                        <enumlist>
@@ -91,7 +91,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$");
                <managerEventInstance class="EVENT_FLAG_AOC">
                        <synopsis>Raised when an Advice of Charge message is sent during a call.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Charge" />
                                <parameter name="Type">
                                        <enumlist>
@@ -144,7 +144,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$");
                <managerEventInstance class="EVENT_FLAG_AOC">
                        <synopsis>Raised when an Advice of Charge message is sent at the end of a call.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="ChargingAssociation" />
                                <parameter name="Number" />
                                <parameter name="Plan" />
index 961a280..3cdff95 100644 (file)
@@ -72,82 +72,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when two halves of a Local Channel form a bridge.</synopsis>
                        <syntax>
-                               <parameter name="LocalOneChannel">
-                               </parameter>
-                               <parameter name="LocalOneChannelState">
-                                       <para>A numeric code for the channel's current state, related to ChannelStateDesc</para>
-                               </parameter>
-                               <parameter name="LocalOneChannelStateDesc">
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                               </parameter>
-                               <parameter name="LocalOneCallerIDNum">
-                               </parameter>
-                               <parameter name="LocalOneCallerIDName">
-                               </parameter>
-                               <parameter name="LocalOneConnectedLineNum">
-                               </parameter>
-                               <parameter name="LocalOneConnectedLineName">
-                               </parameter>
-                               <parameter name="LocalOneAccountCode">
-                               </parameter>
-                               <parameter name="LocalOneContext">
-                               </parameter>
-                               <parameter name="LocalOneExten">
-                               </parameter>
-                               <parameter name="LocalOnePriority">
-                               </parameter>
-                               <parameter name="LocalOneUniqueid">
-                               </parameter>
-                               <parameter name="LocalTwoChannel">
-                               </parameter>
-                               <parameter name="LocalTwoChannelState">
-                                       <para>A numeric code for the channel's current state, related to ChannelStateDesc</para>
-                               </parameter>
-                               <parameter name="LocalTwoChannelStateDesc">
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                               </parameter>
-                               <parameter name="LocalTwoCallerIDNum">
-                               </parameter>
-                               <parameter name="LocalTwoCallerIDName">
-                               </parameter>
-                               <parameter name="LocalTwoConnectedLineNum">
-                               </parameter>
-                               <parameter name="LocalTwoConnectedLineName">
-                               </parameter>
-                               <parameter name="LocalTwoAccountCode">
-                               </parameter>
-                               <parameter name="LocalTwoContext">
-                               </parameter>
-                               <parameter name="LocalTwoExten">
-                               </parameter>
-                               <parameter name="LocalTwoPriority">
-                               </parameter>
-                               <parameter name="LocalTwoUniqueid">
-                               </parameter>
+                               <channel_snapshot prefix="LocalOne"/>
+                               <channel_snapshot prefix="LocalTwo"/>
                                <parameter name="Context">
                                        <para>The context in the dialplan that Channel2 starts in.</para>
                                </parameter>
@@ -168,8 +94,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                        <synopsis>Raised when two halves of a Local Channel begin to optimize
                        themselves out of the media path.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='LocalBridge']/managerEventInstance/syntax/parameter[contains(@name, 'LocalOne')])" />
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='LocalBridge']/managerEventInstance/syntax/parameter[contains(@name, 'LocalTwo')])" />
+                               <channel_snapshot prefix="LocalOne"/>
+                               <channel_snapshot prefix="LocalTwo"/>
                        </syntax>
                        <see-also>
                                <ref type="managerEvent">LocalOptimizationEnd</ref>
@@ -182,8 +108,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                        <synopsis>Raised when two halves of a Local Channel have finished optimizing
                        themselves out of the media path.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='LocalBridge']/managerEventInstance/syntax/parameter[contains(@name, 'LocalOne')])" />
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='LocalBridge']/managerEventInstance/syntax/parameter[contains(@name, 'LocalTwo')])" />
+                               <channel_snapshot prefix="LocalOne"/>
+                               <channel_snapshot prefix="LocalTwo"/>
                        </syntax>
                        <see-also>
                                <ref type="managerEvent">LocalOptimizationBegin</ref>
index 56e47fb..9490116 100644 (file)
@@ -286,33 +286,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a call pickup occurs.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
-                               <parameter name="TargetChannel"/>
-                               <parameter name="TargetChannelState"><para>A numeric code for the channel's current state, related to TargetChannelStateDesc</para></parameter>
-                               <parameter name="TargetChannelStateDesc">
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                               </parameter>
-                               <parameter name="TargetCallerIDNum"/>
-                               <parameter name="TargetCallerIDName"/>
-                               <parameter name="TargetConnectedLineNum"/>
-                               <parameter name="TargetConnectedLineName"/>
-                               <parameter name="TargetAccountCode"/>
-                               <parameter name="TargetContext"/>
-                               <parameter name="TargetExten"/>
-                               <parameter name="TargetPriority"/>
-                               <parameter name="TargetUniqueid"/>
+                               <channel_snapshot/>
+                               <channel_snapshot prefix="Target"/>
                        </syntax>
                </managerEventInstance>
        </managerEvent>
index 8ea7f42..19f1e94 100644 (file)
@@ -227,57 +227,13 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                        <synopsis>Raised in response to a Status command.</synopsis>
                        <syntax>
                                <parameter name="ActionID" required="false"/>
-                               <parameter name="Channel">
-                                       <para>Name of the channel</para>
-                               </parameter>
+                               <channel_snapshot/>
                                <parameter name="Type">
                                        <para>Type of channel</para>
                                </parameter>
                                <parameter name="DNID">
                                        <para>Dialed number identifier</para>
                                </parameter>
-                               <parameter name="ChannelState">
-                                       <para>A numeric code for the channel's current state, related to ChannelStateDesc</para>
-                               </parameter>
-                               <parameter name="ChannelStateDesc">
-                                       <para>Name for the channel's current state</para>
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                               </parameter>
-                               <parameter name="CallerIDNum">
-                               </parameter>
-                               <parameter name="CallerIDName">
-                               </parameter>
-                               <parameter name="ConnectedLineNum">
-                               </parameter>
-                               <parameter name="ConnectedLineName">
-                               </parameter>
-                               <parameter name="EffectiveConnectedLineNum">
-                               </parameter>
-                               <parameter name="EffectiveConnectedLineName">
-                               </parameter>
-                               <parameter name="AccountCode">
-                               </parameter>
-                               <parameter name="Context">
-                               </parameter>
-                               <parameter name="Exten">
-                               </parameter>
-                               <parameter name="Priority">
-                               </parameter>
-                               <parameter name="Uniqueid">
-                                       <para>Unique identifier for the channel</para>
-                               </parameter>
                                <parameter name="TimeToHangup">
                                        <para>Absolute lifetime of the channel</para>
                                </parameter>
index c791e63..5d831b5 100644 (file)
@@ -40,18 +40,7 @@ static struct stasis_message_router *bridge_state_router;
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a bridge is created.</synopsis>
                        <syntax>
-                               <parameter name="BridgeUniqueid">
-                                       <para>The unique identifier of the bridge</para>
-                               </parameter>
-                               <parameter name="BridgeType">
-                                       <para>The type of bridge</para>
-                               </parameter>
-                               <parameter name="BridgeTechnology">
-                                       <para>Technology in use by the bridge</para>
-                               </parameter>
-                               <parameter name="BridgeNumChannels">
-                                       <para>Number of channels in the bridge</para>
-                               </parameter>
+                               <bridge_snapshot/>
                        </syntax>
                </managerEventInstance>
        </managerEvent>
@@ -59,7 +48,7 @@ static struct stasis_message_router *bridge_state_router;
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a bridge is destroyed.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='BridgeCreate']/managerEventInstance/syntax/parameter)" />
+                               <bridge_snapshot/>
                        </syntax>
                </managerEventInstance>
        </managerEvent>
@@ -67,10 +56,8 @@ static struct stasis_message_router *bridge_state_router;
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a channel enters a bridge.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='BridgeCreate']/managerEventInstance/syntax/parameter)" />
-                               <parameter name="Uniqueid">
-                                       <para>The uniqueid of the channel entering the bridge</para>
-                               </parameter>
+                               <bridge_snapshot/>
+                               <channel_snapshot/>
                        </syntax>
                </managerEventInstance>
        </managerEvent>
@@ -78,10 +65,8 @@ static struct stasis_message_router *bridge_state_router;
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a channel leaves a bridge.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='BridgeCreate']/managerEventInstance/syntax/parameter)" />
-                               <parameter name="Uniqueid">
-                                       <para>The uniqueid of the channel leaving the bridge</para>
-                               </parameter>
+                               <bridge_snapshot/>
+                               <channel_snapshot/>
                        </syntax>
                </managerEventInstance>
        </managerEvent>
@@ -246,13 +231,8 @@ static void bridge_merge_cb(void *data, struct stasis_subscription *sub,
                <managerEventInstance>
                        <synopsis>Raised when two bridges are merged.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='BridgeCreate']/managerEventInstance/syntax/parameter)" />
-                               <parameter name="BridgeUniqueidFrom">
-                                       <para>The uniqueid of the bridge being dissolved in the merge</para>
-                               </parameter>
-                               <parameter name="BridgeTypeFrom">
-                                       <para>The type of bridge that is being dissolved in the merge</para>
-                               </parameter>
+                               <bridge_snapshot/>
+                               <bridge_snapshot prefix="From"/>
                        </syntax>
                </managerEventInstance>
        ***/
index cab4aa3..23418e6 100644 (file)
@@ -42,47 +42,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a new channel is created.</synopsis>
                        <syntax>
-                               <parameter name="Channel">
-                                       <para>Name of the channel</para>
-                               </parameter>
-                               <parameter name="ChannelState">
-                                       <para>A numeric code for the channel's current state, related to ChannelStateDesc</para>
-                               </parameter>
-                               <parameter name="ChannelStateDesc">
-                                       <para>Name for the channel's current state</para>
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                               </parameter>
-                               <parameter name="CallerIDNum">
-                               </parameter>
-                               <parameter name="CallerIDName">
-                               </parameter>
-                               <parameter name="ConnectedLineNum">
-                               </parameter>
-                               <parameter name="ConnectedLineName">
-                               </parameter>
-                               <parameter name="AccountCode">
-                               </parameter>
-                               <parameter name="Context">
-                               </parameter>
-                               <parameter name="Exten">
-                               </parameter>
-                               <parameter name="Priority">
-                               </parameter>
-                               <parameter name="Uniqueid">
-                                       <para>Unique identifier for the channel</para>
-                               </parameter>
+                               <channel_snapshot/>
                        </syntax>
                </managerEventInstance>
        </managerEvent>
@@ -90,7 +50,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a channel's state changes.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                        </syntax>
                </managerEventInstance>
        </managerEvent>
@@ -98,7 +58,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a channel is hung up.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Cause">
                                        <para>A numeric cause code for why the channel was hung up.</para>
                                </parameter>
@@ -112,7 +72,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a hangup is requested.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <xi:include xpointer="xpointer(/docs/managerEvent[@name='Hangup']/managerEventInstance/syntax/parameter[@name='Cause'])" />
                        </syntax>
                </managerEventInstance>
@@ -121,7 +81,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a soft hangup is requested with a specific cause code.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <xi:include xpointer="xpointer(/docs/managerEvent[@name='Hangup']/managerEventInstance/syntax/parameter[@name='Cause'])" />
                        </syntax>
                </managerEventInstance>
@@ -130,7 +90,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_DIALPLAN">
                        <synopsis>Raised when a channel enters a new context, extension, priority.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Extension">
                                        <para>Deprecated in 12, but kept for
                                        backward compatability. Please use
@@ -149,7 +109,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a channel receives new Caller ID information.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="CID-CallingPres">
                                        <para>A description of the Caller ID presentation.</para>
                                </parameter>
@@ -160,7 +120,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a Channel's AccountCode is changed.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="OldAccountCode">
                                        <para>The channel's previous account code</para>
                                </parameter>
@@ -171,45 +131,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a dial action has started.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
-                               <parameter name="DestChannel">
-                               </parameter>
-                               <parameter name="DestChannelState">
-                                       <para>A numeric code for the channel's current state, related to DestChannelStateDesc</para>
-                               </parameter>
-                               <parameter name="DestChannelStateDesc">
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                               </parameter>
-                               <parameter name="DestCallerIDNum">
-                               </parameter>
-                               <parameter name="DestCallerIDName">
-                               </parameter>
-                               <parameter name="DestConnectedLineNum">
-                               </parameter>
-                               <parameter name="DestConnectedLineName">
-                               </parameter>
-                               <parameter name="DestAccountCode">
-                               </parameter>
-                               <parameter name="DestContext">
-                               </parameter>
-                               <parameter name="DestExten">
-                               </parameter>
-                               <parameter name="DestPriority">
-                               </parameter>
-                               <parameter name="DestUniqueid">
-                               </parameter>
+                               <channel_snapshot/>
+                               <channel_snapshot prefix="Dest"/>
                                <parameter name="DialString">
                                        <para>The non-technology specific device being dialed.</para>
                                </parameter>
@@ -223,8 +146,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a dial action has completed.</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"/>
                                <parameter name="DialStatus">
                                        <para>The result of the dial operation.</para>
                                        <enumlist>
@@ -246,7 +169,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a channel goes on hold.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="MusicClass">
                                        <para>The suggested MusicClass, if provided.</para>
                                </parameter>
@@ -257,7 +180,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a channel goes off hold.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                        </syntax>
                </managerEventInstance>
        </managerEvent>
@@ -265,84 +188,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when one channel begins spying on another channel.</synopsis>
                        <syntax>
-                               <parameter name="SpyerChannel">
-                                       <para>The channel performing the spying.</para>
-                               </parameter>
-                               <parameter name="SpyerChannelState">
-                                       <para>A numeric code for the channel's current state, related to SpyerChannelStateDesc</para>
-                               </parameter>
-                               <parameter name="SpyerChannelStateDesc">
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                               </parameter>
-                               <parameter name="SpyerCallerIDNum">
-                               </parameter>
-                               <parameter name="SpyerCallerIDName">
-                               </parameter>
-                               <parameter name="SpyerConnectedLineNum">
-                               </parameter>
-                               <parameter name="SpyerConnectedLineName">
-                               </parameter>
-                               <parameter name="SpyerAccountCode">
-                               </parameter>
-                               <parameter name="SpyerContext">
-                               </parameter>
-                               <parameter name="SpyerExten">
-                               </parameter>
-                               <parameter name="SpyerPriority">
-                               </parameter>
-                               <parameter name="SpyerUniqueid">
-                               </parameter>
-                               <parameter name="SpyeeChannel">
-                                       <para>The channel being spied upon.</para>
-                               </parameter>
-                               <parameter name="SpyeeChannelState">
-                                       <para>A numeric code for the channel's current state, related to SpyeeChannelStateDesc</para>
-                               </parameter>
-                               <parameter name="SpyeeChannelStateDesc">
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                               </parameter>
-                               <parameter name="SpyeeCallerIDNum">
-                               </parameter>
-                               <parameter name="SpyeeCallerIDName">
-                               </parameter>
-                               <parameter name="SpyeeConnectedLineNum">
-                               </parameter>
-                               <parameter name="SpyeeConnectedLineName">
-                               </parameter>
-                               <parameter name="SpyeeAccountCode">
-                               </parameter>
-                               <parameter name="SpyeeContext">
-                               </parameter>
-                               <parameter name="SpyeeExten">
-                               </parameter>
-                               <parameter name="SpyeePriority">
-                               </parameter>
-                               <parameter name="SpyeeUniqueid">
-                               </parameter>
+                               <channel_snapshot prefix="Spyer"/>
+                               <channel_snapshot prefix="Spyee"/>
                        </syntax>
                        <see-also>
                                <ref type="application">ChanSpyStop</ref>
@@ -353,7 +200,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a channel has stopped spying.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='ChanSpyStart']/managerEventInstance/syntax/parameter[contains(@name, 'Spyer')])" />
+                               <channel_snapshot prefix="Spyer"/>
+                               <channel_snapshot prefix="Spyee"/>
                        </syntax>
                        <see-also>
                                <ref type="application">ChanSpyStart</ref>
@@ -364,7 +212,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_DIALPLAN">
                        <synopsis>Raised when a hangup handler is about to be called.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Handler">
                                        <para>Hangup handler parameter string passed to the Gosub application.</para>
                                </parameter>
@@ -378,6 +226,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                by the CHANNEL() function.
                        </synopsis>
                        <syntax>
+                               <channel_snapshot/>
                                <xi:include xpointer="xpointer(/docs/managerEvent[@name='HangupHandlerRun']/managerEventInstance/syntax/parameter)" />
                        </syntax>
                        <see-also>
@@ -393,6 +242,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                the CHANNEL() function.
                        </synopsis>
                        <syntax>
+                               <channel_snapshot/>
                                <xi:include xpointer="xpointer(/docs/managerEvent[@name='HangupHandlerRun']/managerEventInstance/syntax/parameter)" />
                        </syntax>
                        <see-also>
@@ -407,7 +257,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                Raised periodically during a fax transmission.
                        </synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Operation">
                                        <enumlist>
                                                <enum name="gateway"/>
@@ -429,7 +279,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                Raised when a receive fax operation has completed.
                        </synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="LocalStationID">
                                        <para>The value of the <variable>LOCALSTATIONID</variable> channel variable</para>
                                </parameter>
@@ -457,7 +307,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                Raised when a send fax operation has completed.
                        </synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <xi:include xpointer="xpointer(/docs/managerEvent[@name='ReceiveFAX']/managerEventInstance/syntax/parameter)" />
                        </syntax>
                </managerEventInstance>
@@ -466,7 +316,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when music on hold has started on a channel.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Class">
                                        <para>The class of music being played on the channel</para>
                                </parameter>
@@ -481,7 +331,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when music on hold has stopped on a channel.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                        </syntax>
                        <see-also>
                                <ref type="managerEvent">MusicOnHoldStart</ref>
@@ -493,7 +343,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when monitoring has started on a channel.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                        </syntax>
                        <see-also>
                                <ref type="managerEvent">MonitorStop</ref>
@@ -506,7 +356,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                <synopsis>Raised when monitoring has stopped on a channel.</synopsis>
                <syntax>
-                       <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                       <channel_snapshot/>
                </syntax>
                <see-also>
                        <ref type="managerEvent">MonitorStart</ref>
@@ -785,7 +635,7 @@ static void channel_user_event_cb(void *data, struct stasis_subscription *sub,
                <managerEventInstance>
                        <synopsis>A user defined event raised from the dialplan.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="UserEvent">
                                        <para>The event name, as specified in the dialplan.</para>
                                </parameter>
@@ -934,7 +784,7 @@ static void channel_dtmf_begin_cb(void *data, struct stasis_subscription *sub,
                <managerEventInstance>
                        <synopsis>Raised when a DTMF digit has started on a channel.</synopsis>
                                <syntax>
-                                       <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                                       <channel_snapshot/>
                                        <parameter name="Digit">
                                                <para>DTMF digit received or transmitted (0-9, A-E, # or *</para>
                                        </parameter>
@@ -977,7 +827,7 @@ static void channel_dtmf_end_cb(void *data, struct stasis_subscription *sub,
                <managerEventInstance>
                        <synopsis>Raised when a DTMF digit has ended on a channel.</synopsis>
                                <syntax>
-                                       <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                                       <channel_snapshot/>
                                        <parameter name="Digit">
                                                <para>DTMF digit received or transmitted (0-9, A-E, # or *</para>
                                        </parameter>
index ac62908..12a3de3 100644 (file)
@@ -111,7 +111,7 @@ static void mwi_update_cb(void *data, struct stasis_subscription *sub,
                        has changed or when a channel has finished interacting with a
                        mailbox.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Mailbox">
                                        <para>The mailbox with the new message, specified as <literal>mailbox</literal>@<literal>context</literal></para>
                                </parameter>
index 4dd4d46..907cb27 100644 (file)
@@ -32,7 +32,7 @@
                <managerEventInstance class="EVENT_FLAG_REPORTING">
                        <synopsis>Raised when an RTCP packet is sent.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="SSRC">
                                        <para>The SSRC identifier for our stream</para>
                                </parameter>
                <managerEventInstance class="EVENT_FLAG_REPORTING">
                        <synopsis>Raised when an RTCP packet is received.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="SSRC">
                                        <para>The SSRC identifier for the remote system</para>
                                </parameter>
index 72f4d50..251f9d7 100644 (file)
@@ -58,48 +58,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                        <note><para>A result of <literal>Success</literal> does not necessarily mean that a target was succesfully
                                        contacted. It means that a party was succesfully placed into the dialplan at the expected location.</para></note>
                                </parameter>
-                               <parameter name="TransfererChannel">
-                                       <para>The name of the channel that performed the transfer</para>
-                               </parameter>
-                               <parameter name="TransfererChannelStateDesc">
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                               </parameter>
-                               <parameter name="TransfererCallerIDNum">
-                               </parameter>
-                               <parameter name="TransfererCallerIDName">
-                               </parameter>
-                               <parameter name="TransfererConnectedLineNum">
-                               </parameter>
-                               <parameter name="TransfererConnectedLineName">
-                               </parameter>
-                               <parameter name="TransfererAccountCode">
-                               </parameter>
-                               <parameter name="TransfererContext">
-                               </parameter>
-                               <parameter name="TransfererExten">
-                               </parameter>
-                               <parameter name="TransfererPriority">
-                               </parameter>
-                               <parameter name="TransfererUniqueid">
-                               </parameter>
-                               <parameter name="BridgeUniqueid">
-                                       <para>The ID of the bridge where the Transferer performed the transfer</para>
-                               </parameter>
-                               <parameter name="BridgeType">
-                                       <para>The type of the bridge where the Transferer performed the transfer</para>
-                               </parameter>
+                               <channel_snapshot prefix="Transferer"/>
+                               <bridge_snapshot/>
                                <parameter name="IsExternal">
                                        <para>Indicates if the transfer was performed outside of Asterisk. For instance,
                                        a channel protocol native transfer is external. A DTMF transfer is internal.</para>
@@ -122,100 +82,10 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                        <synopsis>Raised when an attended transfer is complete.</synopsis>
                        <syntax>
                                <xi:include xpointer="xpointer(docs/managerEvent[@name='BlindTransfer']/managerEventInstance/syntax/parameter[@name='Result'])" />
-                               <parameter name="OrigTransfererChannel">
-                                       <para>The original transferer channel that performed the attended transfer.</para>
-                               </parameter>
-                               <parameter name="OrigTransfererChannelState">
-                                       <para>A numeric code for the channel's current state, related to DestChannelStateDesc</para>
-                               </parameter>
-                               <parameter name="OrigTransfererChannelStateDesc">
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                               </parameter>
-                               <parameter name="OrigTransfererCallerIDNum">
-                               </parameter>
-                               <parameter name="OrigTransfererCallerIDName">
-                               </parameter>
-                               <parameter name="OrigTransfererConnectedLineNum">
-                               </parameter>
-                               <parameter name="OrigTransfererConnectedLineName">
-                               </parameter>
-                               <parameter name="OrigTransfererAccountCode">
-                               </parameter>
-                               <parameter name="OrigTransfererContext">
-                               </parameter>
-                               <parameter name="OrigTransfererExten">
-                               </parameter>
-                               <parameter name="OrigTransfererPriority">
-                               </parameter>
-                               <parameter name="OrigTransfererUniqueid">
-                               </parameter>
-                               <parameter name="OrigBridgeUniqueid">
-                                       <para>The ID of the bridge where the Transferer performed the transfer</para>
-                                       <note><para>This header will not be present if the original transferer was not in a bridge.</para></note>
-                               </parameter>
-                               <parameter name="OrigBridgeType">
-                                       <para>The type of the bridge where the Transferer performed the transfer</para>
-                                       <note><para>This header will not be present if the original transferer was not in a bridge.</para></note>
-                               </parameter>
-                               <parameter name="SecondTransfererChannel">
-                                       <para>The second transferer channel involved in the attended transfer.</para>
-                               </parameter>
-                               <parameter name="SecondTransfererChannelState">
-                                       <para>A numeric code for the channel's current state, related to SecondTransfererChannelStateDesc</para>
-                               </parameter>
-                               <parameter name="SecondTransfererChannelStateDesc">
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                               </parameter>
-                               <parameter name="SecondTransfererCallerIDNum">
-                               </parameter>
-                               <parameter name="SecondTransfererCallerIDName">
-                               </parameter>
-                               <parameter name="SecondTransfererConnectedLineNum">
-                               </parameter>
-                               <parameter name="SecondTransfererConnectedLineName">
-                               </parameter>
-                               <parameter name="SecondTransfererAccountCode">
-                               </parameter>
-                               <parameter name="SecondTransfererContext">
-                               </parameter>
-                               <parameter name="SecondTransfererExten">
-                               </parameter>
-                               <parameter name="SecondTransfererPriority">
-                               </parameter>
-                               <parameter name="SecondTransfererUniqueid">
-                               </parameter>
-                               <parameter name="SecondBridgeUniqueid">
-                                       <para>The unique ID of the bridge that the second transferer channel was in, or <literal>None</literal> if the second transferer channel was not bridged</para>
-                                       <note><para>This header will not be present if the second transferer was not in a bridge.</para></note>
-                               </parameter>
-                               <parameter name="SecondBridgeType">
-                                       <para>The type of the bridge where the Transferer performed the transfer</para>
-                                       <note><para>This header will not be present if the second transferer was not in a bridge.</para></note>
-                               </parameter>
+                               <channel_snapshot prefix="OrigTransferer"/>
+                               <bridge_snapshot prefix="Orig"/>
+                               <channel_snapshot prefix="SecondTransferer"/>
+                               <bridge_snapshot prefix="Second"/>
                                <parameter name="DestType">
                                        <para>Indicates the method by which the attended transfer completed.</para>
                                        <enumlist>
@@ -234,107 +104,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                        <para>Indicates the application that is running when the transfer completes</para>
                                        <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>App</literal></para></note>
                                </parameter>
-                               <parameter name="LocalOneChannel">
-                                       <para>The local channel that is bridged with the original bridge when forming a link between bridges</para>
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalOneChannelState">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalOneChannelStateDesc">
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalOneCallerIDNum">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalOneCallerIDName">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalOneConnectedLineNum">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalOneConnectedLineName">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalOneAccountCode">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalOneContext">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalOneExten">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalOnePriority">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalOneUniqueid">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalTwoChannel">
-                                       <para>The local channel that is bridged with the second bridge when forming a link between bridges</para>
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalTwoChannelState">
-                                       <para>A numeric code for the channel's current state, related to LocalTwoChannelStateDesc</para>
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalTwoChannelStateDesc">
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalTwoCallerIDNum">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalTwoCallerIDName">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalTwoConnectedLineNum">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalTwoConnectedLineName">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalTwoAccountCode">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalTwoContext">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalTwoExten">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalTwoPriority">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
-                               <parameter name="LocalTwoUniqueid">
-                                       <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Link</literal></para></note>
-                               </parameter>
+                               <channel_snapshot prefix="LocalOne"/>
+                               <channel_snapshot prefix="LocalTwo"/>
                                <parameter name="DestTransfererChannel">
                                        <para>The name of the surviving transferer channel when a transfer results in a threeway call</para>
                                        <note><para>This header is only present when <replaceable>DestType</replaceable> is <literal>Threeway</literal></para></note>
@@ -345,15 +116,15 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                                and the two bridges are determined based on their chronological establishment. So consider that Alice calls Bob, and then Alice
                                transfers the call to Voicemail. The transferer and bridge headers would be arranged as follows:</para>
                                <para>  <replaceable>OrigTransfererChannel</replaceable>: Alice's channel in the bridge with Bob.</para>
-                               <para>  <replaceable>BridgeUniqueidOrig</replaceable>: The bridge between Alice and Bob.</para>
+                               <para>  <replaceable>OrigBridgeUniqueid</replaceable>: The bridge between Alice and Bob.</para>
                                <para>  <replaceable>SecondTransfererChannel</replaceable>: Alice's channel that called Voicemail.</para>
-                               <para>  <replaceable>BridgeUniqueidSecond</replaceable>: Not present, since a call to Voicemail has no bridge.</para>
+                               <para>  <replaceable>SecondBridgeUniqueid</replaceable>: Not present, since a call to Voicemail has no bridge.</para>
                                <para>Now consider if the order were reversed; instead of having Alice call Bob and transfer him to Voicemail, Alice instead
                                calls her Voicemail and transfers that to Bob. The transferer and bridge headers would be arranged as follows:</para>
                                <para>  <replaceable>OrigTransfererChannel</replaceable>: Alice's channel that called Voicemail.</para>
-                               <para>  <replaceable>BridgeUniqueidOrig</replaceable>: Not present, since a call to Voicemail has no bridge.</para>
+                               <para>  <replaceable>OrigBridgeUniqueid</replaceable>: Not present, since a call to Voicemail has no bridge.</para>
                                <para>  <replaceable>SecondTransfererChannel</replaceable>: Alice's channel in the bridge with Bob.</para>
-                               <para>  <replaceable>BridgeUniqueidSecond</replaceable>: The bridge between Alice and Bob.</para>
+                               <para>  <replaceable>SecondBridgeUniqueid</replaceable>: The bridge between Alice and Bob.</para>
                        </description>
                </managerEventInstance>
        </managerEvent>
index 6729a10..4f88a5a 100644 (file)
@@ -46,7 +46,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_DIALPLAN">
                        <synopsis>Raised when a variable is set to a particular value.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Variable">
                                        <para>The variable being set.</para>
                                </parameter>
@@ -60,7 +60,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_AGENT">
                        <synopsis>Raised when an Agent has logged in.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Agent">
                                        <para>Agent ID of the agent.</para>
                                </parameter>
index 5ca4d4f..bd58508 100644 (file)
@@ -29,6 +29,7 @@
 #include "asterisk/xml.h"
 #include "asterisk/logger.h"
 #include "asterisk/utils.h"
+#include "asterisk/autoconfig.h"
 
 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
@@ -38,6 +39,10 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include <libxml/xinclude.h>
 #include <libxml/xpath.h>
 /* libxml2 ast_xml implementation. */
+#ifdef HAVE_LIBXSLT
+       #include <libxslt/xsltInternals.h>
+       #include <libxslt/transform.h>
+#endif /* HAVE_LIBXSLT */
 
 
 int ast_xml_init(void)
@@ -63,13 +68,32 @@ struct ast_xml_doc *ast_xml_open(char *filename)
        }
 
        doc = xmlReadFile(filename, NULL, XML_PARSE_RECOVER);
-       if (doc) {
-               /* process xinclude elements. */
-               if (xmlXIncludeProcess(doc) < 0) {
+       if (!doc) {
+               return NULL;
+       }
+
+       /* process xinclude elements. */
+       if (xmlXIncludeProcess(doc) < 0) {
+               xmlFreeDoc(doc);
+               return NULL;
+       }
+
+#ifdef HAVE_LIBXSLT
+       {
+               xsltStylesheetPtr xslt = xsltLoadStylesheetPI(doc);
+               if (xslt) {
+                       xmlDocPtr tmpdoc = xsltApplyStylesheet(xslt, doc, NULL);
+                       xsltFreeStylesheet(xslt);
                        xmlFreeDoc(doc);
-                       return NULL;
+                       if (!tmpdoc) {
+                               return NULL;
+                       }
+                       doc = tmpdoc;
                }
        }
+#else /* no HAVE_LIBXSLT */
+       ast_log(LOG_NOTICE, "XSLT support not found. XML documentation may be incomplete.\n");
+#endif /* HAVE_LIBXSLT */
 
        return (struct ast_xml_doc *) doc;
 }
index 401e8f1..fa9cce6 100644 (file)
@@ -329,6 +329,9 @@ TERMCAP_DIR=@TERMCAP_DIR@
 LIBXML2_INCLUDE=@LIBXML2_INCLUDE@
 LIBXML2_LIB=@LIBXML2_LIB@
 
+LIBXSLT_INCLUDE=@LIBXSLT_INCLUDE@
+LIBXSLT_LIB=@LIBXSLT_LIB@
+
 TINFO_INCLUDE=@TINFO_INCLUDE@
 TINFO_LIB=@TINFO_LIB@
 TINFO_DIR=@TINFO_DIR@
index 430d540..70fab28 100644 (file)
@@ -96,44 +96,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a channel is parked.</synopsis>
                        <syntax>
-                               <parameter name="ParkeeChannel">
-                               </parameter>
-                               <parameter name="ParkeeChannelState">
-                                       <para>A numeric code for the channel's current state, related to ChannelStateDesc</para>
-                               </parameter>
-                               <parameter name="ParkeeChannelStateDesc">
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                               </parameter>
-                               <parameter name="ParkeeCallerIDNum">
-                               </parameter>
-                               <parameter name="ParkeeCallerIDName">
-                               </parameter>
-                               <parameter name="ParkeeConnectedLineNum">
-                               </parameter>
-                               <parameter name="ParkeeConnectedLineName">
-                               </parameter>
-                               <parameter name="ParkeeAccountCode">
-                               </parameter>
-                               <parameter name="ParkeeContext">
-                               </parameter>
-                               <parameter name="ParkeeExten">
-                               </parameter>
-                               <parameter name="ParkeePriority">
-                               </parameter>
-                               <parameter name="ParkeeUniqueid">
-                               </parameter>
+                               <channel_snapshot prefix="Parkee"/>
                                <parameter name="ParkerDialString">
                                        <para>Dial String that can be used to call back the parker on ParkingTimeout.</para>
                                </parameter>
@@ -156,6 +119,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a channel leaves a parking lot due to reaching the time limit of being parked.</synopsis>
                        <syntax>
+                               <channel_snapshot prefix="Parkee"/>
+                               <channel_snapshot prefix="Parker"/>
                                <xi:include xpointer="xpointer(/docs/managerEvent[@name='ParkedCall']/managerEventInstance/syntax/parameter)" />
                        </syntax>
                </managerEventInstance>
@@ -164,6 +129,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a channel leaves a parking lot because it hung up without being answered.</synopsis>
                        <syntax>
+                               <channel_snapshot prefix="Parkee"/>
+                               <channel_snapshot prefix="Parker"/>
                                <xi:include xpointer="xpointer(/docs/managerEvent[@name='ParkedCall']/managerEventInstance/syntax/parameter)" />
                        </syntax>
                </managerEventInstance>
@@ -172,45 +139,10 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_CALL">
                        <synopsis>Raised when a channel leaves a parking lot because it was retrieved from the parking lot and reconnected.</synopsis>
                        <syntax>
+                               <channel_snapshot prefix="Parkee"/>
+                               <channel_snapshot prefix="Parker"/>
                                <xi:include xpointer="xpointer(/docs/managerEvent[@name='ParkedCall']/managerEventInstance/syntax/parameter)" />
-                               <parameter name="RetrieverChannel">
-                               </parameter>
-                               <parameter name="RetrieverChannelState">
-                                       <para>A numeric code for the channel's current state, related to ChannelStateDesc</para>
-                               </parameter>
-                               <parameter name="RetrieverChannelStateDesc">
-                                       <enumlist>
-                                               <enum name="Down"/>
-                                               <enum name="Rsrvd"/>
-                                               <enum name="OffHook"/>
-                                               <enum name="Dialing"/>
-                                               <enum name="Ring"/>
-                                               <enum name="Ringing"/>
-                                               <enum name="Up"/>
-                                               <enum name="Busy"/>
-                                               <enum name="Dialing Offhook"/>
-                                               <enum name="Pre-ring"/>
-                                               <enum name="Unknown"/>
-                                       </enumlist>
-                               </parameter>
-                               <parameter name="RetrieverCallerIDNum">
-                               </parameter>
-                               <parameter name="RetrieverCallerIDName">
-                               </parameter>
-                               <parameter name="RetrieverConnectedLineNum">
-                               </parameter>
-                               <parameter name="RetrieverConnectedLineName">
-                               </parameter>
-                               <parameter name="RetrieverAccountCode">
-                               </parameter>
-                               <parameter name="RetrieverContext">
-                               </parameter>
-                               <parameter name="RetrieverExten">
-                               </parameter>
-                               <parameter name="RetrieverPriority">
-                               </parameter>
-                               <parameter name="RetrieverUniqueid">
-                               </parameter>
+                               <channel_snapshot prefix="Retriever"/>
                        </syntax>
                </managerEventInstance>
        </managerEvent>
index 5c79ec2..6619183 100644 (file)
@@ -940,7 +940,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_AGI">
                        <synopsis>Raised when a channel starts AsyncAGI command processing.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Env">
                                        <para>URL encoded string read from the AsyncAGI server.</para>
                                </parameter>
@@ -951,7 +951,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_AGI">
                        <synopsis>Raised when a channel stops AsyncAGI command processing.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                        </syntax>
                </managerEventInstance>
        </managerEvent>
@@ -959,7 +959,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_AGI">
                        <synopsis>Raised when AsyncAGI completes an AGI command.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="CommandID" required="false">
                                        <para>Optional command ID sent by the AsyncAGI server to identify the command.</para>
                                </parameter>
@@ -973,7 +973,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_AGI">
                        <synopsis>Raised when a received AGI command starts processing.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <parameter name="Command">
                                        <para>The AGI command as received from the external source.</para>
                                </parameter>
@@ -987,7 +987,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
                <managerEventInstance class="EVENT_FLAG_AGI">
                        <synopsis>Raised when a received AGI command completes processing.</synopsis>
                        <syntax>
-                               <xi:include xpointer="xpointer(/docs/managerEvent[@name='Newchannel']/managerEventInstance/syntax/parameter)" />
+                               <channel_snapshot/>
                                <xi:include xpointer="xpointer(/docs/managerEvent[@name='AGIExecStart']/managerEventInstance/syntax/parameter)" />
                                <parameter name="ResultCode">
                                        <para>The numeric result code from AGI</para>