summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKinsey Moore <kmoore@digium.com>2013-08-01 17:07:52 +0000
committerKinsey Moore <kmoore@digium.com>2013-08-01 17:07:52 +0000
commit03090a88bab15b94843e3850df68b37ff8948b54 (patch)
treeb32e51b384941143881c82dbb1a2d90e8de3536f
parent5601b0f50cf30fd05c97a44ff7e18c20f58fc947 (diff)
Fix documentation replication issues
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
-rw-r--r--CHANGES7
-rw-r--r--Makefile4
-rw-r--r--UPGRADE.txt5
-rw-r--r--apps/app_agent_pool.c45
-rw-r--r--apps/app_meetme.c10
-rw-r--r--apps/app_minivm.c2
-rw-r--r--apps/app_queue.c26
-rw-r--r--apps/app_stack.c2
-rw-r--r--apps/confbridge/confbridge_manager.c29
-rw-r--r--channels/chan_dahdi.c2
-rw-r--r--channels/chan_sip.c2
-rw-r--r--channels/sig_pri.c2
-rw-r--r--configure.ac4
-rwxr-xr-xcontrib/scripts/install_prereq6
-rw-r--r--doc/appdocsxml.dtd8
-rw-r--r--doc/snapshots.xslt115
-rw-r--r--funcs/func_global.c2
-rw-r--r--include/asterisk/autoconfig.h.in3
-rw-r--r--main/Makefile1
-rw-r--r--main/aoc.c6
-rw-r--r--main/core_local.c86
-rw-r--r--main/features.c29
-rw-r--r--main/manager.c46
-rw-r--r--main/manager_bridges.c36
-rw-r--r--main/manager_channels.c212
-rw-r--r--main/manager_mwi.c2
-rw-r--r--main/rtp_engine.c4
-rw-r--r--main/stasis_bridges.c253
-rw-r--r--main/stasis_channels.c4
-rw-r--r--main/xml.c32
-rw-r--r--makeopts.in3
-rw-r--r--res/parking/parking_manager.c84
-rw-r--r--res/res_agi.c10
33 files changed, 303 insertions, 779 deletions
diff --git a/CHANGES b/CHANGES
index fe956ca75..7e9cc9813 100644
--- 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
diff --git a/Makefile b/Makefile
index 6ee702b6e..068ad6dcd 100644
--- 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"
diff --git a/UPGRADE.txt b/UPGRADE.txt
index f5e473bc5..baae655f3 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -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,
diff --git a/apps/app_agent_pool.c b/apps/app_agent_pool.c
index 6beb90a95..286a937d0 100644
--- a/apps/app_agent_pool.c
+++ b/apps/app_agent_pool.c
@@ -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>
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 5bb8035be..0f272f1cc 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -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>
diff --git a/apps/app_minivm.c b/apps/app_minivm.c
index 2b6f7e4b8..06ac02a5e 100644
--- a/apps/app_minivm.c
+++ b/apps/app_minivm.c
@@ -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>
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 195517f57..732a55865 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -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'])" />
diff --git a/apps/app_stack.c b/apps/app_stack.c
index 9260f2ad0..0d6657307 100644
--- a/apps/app_stack.c
+++ b/apps/app_stack.c
@@ -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
diff --git a/apps/confbridge/confbridge_manager.c b/apps/confbridge/confbridge_manager.c
index 10503ff48..e6e859fa0 100644
--- a/apps/confbridge/confbridge_manager.c
+++ b/apps/confbridge/confbridge_manager.c
@@ -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"/>
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index 3c29b42eb..d18e94d14 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -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>
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 9215b5af8..1aa18b9c5 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -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>
diff --git a/channels/sig_pri.c b/channels/sig_pri.c
index e24752b9f..f494c825c 100644
--- a/channels/sig_pri.c
+++ b/channels/sig_pri.c
@@ -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">
diff --git a/configure.ac b/configure.ac
index 02a324ae0..9a814cba5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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
diff --git a/contrib/scripts/install_prereq b/contrib/scripts/install_prereq
index 37f1b6701..80345ed4e 100755
--- a/contrib/scripts/install_prereq
+++ b/contrib/scripts/install_prereq
@@ -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`
diff --git a/doc/appdocsxml.dtd b/doc/appdocsxml.dtd
index f8e7100f2..d56c8a860 100644
--- a/doc/appdocsxml.dtd
+++ b/doc/appdocsxml.dtd
@@ -76,9 +76,15 @@
<!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
index 000000000..17114cbcd
--- /dev/null
+++ b/doc/snapshots.xslt
@@ -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>
diff --git a/funcs/func_global.c b/funcs/func_global.c
index a688ef0a5..8403669eb 100644
--- a/funcs/func_global.c
+++ b/funcs/func_global.c
@@ -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
diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in
index ecbba0d2b..bbc035f92 100644
--- a/include/asterisk/autoconfig.h.in
+++ b/include/asterisk/autoconfig.h.in
@@ -394,6 +394,9 @@
/* 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
diff --git a/main/Makefile b/main/Makefile
index 3d37c7c75..e3ed7c5d6 100644
--- a/main/Makefile
+++ b/main/Makefile
@@ -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)
diff --git a/main/aoc.c b/main/aoc.c
index d45092b05..e8b23f595 100644
--- a/main/aoc.c
+++ b/main/aoc.c
@@ -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" />
diff --git a/main/core_local.c b/main/core_local.c
index 961a28096..3cdff9503 100644
--- a/main/core_local.c
+++ b/main/core_local.c
@@ -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>
diff --git a/main/features.c b/main/features.c
index 56e47fb91..9490116b7 100644
--- a/main/features.c
+++ b/main/features.c
@@ -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>
diff --git a/main/manager.c b/main/manager.c
index 8ea7f4202..19f1e94c2 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -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>
diff --git a/main/manager_bridges.c b/main/manager_bridges.c
index c791e63f3..5d831b5b4 100644
--- a/main/manager_bridges.c
+++ b/main/manager_bridges.c
@@ -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>
***/
diff --git a/main/manager_channels.c b/main/manager_channels.c
index cab4aa38d..23418e6a2 100644
--- a/main/manager_channels.c
+++ b/main/manager_channels.c
@@ -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>
diff --git a/main/manager_mwi.c b/main/manager_mwi.c
index ac629089b..12a3de361 100644
--- a/main/manager_mwi.c
+++ b/main/manager_mwi.c
@@ -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>
diff --git a/main/rtp_engine.c b/main/rtp_engine.c
index 4dd4d46de..907cb271a 100644
--- a/main/rtp_engine.c
+++ b/main/rtp_engine.c
@@ -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>
@@ -108,7 +108,7 @@
<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>
diff --git a/main/stasis_bridges.c b/main/stasis_bridges.c
index 72f4d5055..251f9d7af 100644
--- a/main/stasis_bridges.c
+++ b/main/stasis_bridges.c
@@ -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>
diff --git a/main/stasis_channels.c b/main/stasis_channels.c
index 6729a1072..4f88a5a6c 100644
--- a/main/stasis_channels.c
+++ b/main/stasis_channels.c
@@ -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>
diff --git a/main/xml.c b/main/xml.c
index 5ca4d4ff1..bd5850813 100644
--- a/main/xml.c
+++ b/main/xml.c
@@ -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;
}
diff --git a/makeopts.in b/makeopts.in
index 401e8f1af..fa9cce6c4 100644
--- a/makeopts.in
+++ b/makeopts.in
@@ -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@
diff --git a/res/parking/parking_manager.c b/res/parking/parking_manager.c
index 430d5408a..70fab2852 100644
--- a/res/parking/parking_manager.c
+++ b/res/parking/parking_manager.c
@@ -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>
diff --git a/res/res_agi.c b/res/res_agi.c
index 5c79ec27f..6619183fc 100644
--- a/res/res_agi.c
+++ b/res/res_agi.c
@@ -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>