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
This commit is contained in:
Kinsey Moore 2013-08-01 17:07:52 +00:00
parent 5601b0f50c
commit 03090a88ba
33 changed files with 303 additions and 779 deletions

View File

@ -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

View File

@ -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"

View 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,

View 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>

View 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>

View 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>

View 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'])" />

View 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

View 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"/>

View 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>

View 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>

View 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">

View 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

View File

@ -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`

View File

@ -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)*>

115
doc/snapshots.xslt Normal file
View File

@ -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>

View 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

View File

@ -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

View 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)

View 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" />

View 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>

View 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>

View 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>

View 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>
***/

View 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>

View 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>

View 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>
@ -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>

View 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>

View 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>

View 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;
}

View 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@

View 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>

View 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>