Merge "res_agi: Improve documentation"
authorJoshua Colp <jcolp@digium.com>
Tue, 16 Aug 2016 10:34:10 +0000 (05:34 -0500)
committerGerrit Code Review <gerrit2@gerrit.digium.api>
Tue, 16 Aug 2016 10:34:10 +0000 (05:34 -0500)
19 files changed:
addons/chan_ooh323.c
apps/app_dial.c
apps/app_userevent.c
channels/chan_dahdi.c
channels/chan_iax2.c
channels/pjsip/dialplan_functions.c
channels/sip/dialplan_functions.c
configs/samples/manager.conf.sample
doc/appdocsxml.dtd
funcs/func_channel.c
main/bridge.c
main/features.c
main/manager.c
main/manager_bridges.c
main/manager_channels.c
main/pbx.c
main/rtp_engine.c
main/stasis.c
main/stasis_bridges.c

index 7e50bbf..127ba0c 100644 (file)
        <support_level>extended</support_level>
  ***/
 
+/*** DOCUMENTATION
+<info name="OOH323CHANNEL" language="en_US" tech="OOH323">
+       <enumlist>
+               <enum name="faxdetect">
+                       <para>R/W Fax Detect</para>
+                       <para>Returns 0 or 1</para>
+                       <para>Write yes or no</para>
+               </enum>
+               <enum name="t38support">
+                       <para>R/W t38support</para>
+                       <para>Returns 0 or 1</para>
+                       <para>Write yes or no</para>
+               </enum>
+               <enum name="h323id_url">
+                       <para>R/0 Returns caller URL</para>
+                       </enum>
+               <enum name="caller_h323id">
+                       <para>R/0 Returns caller h323id</para>
+               </enum>
+               <enum name="caller_dialeddigits">
+                       <para>R/0 Returns caller dialed digits</para>
+               </enum>
+               <enum name="caller_email">
+                       <para>R/0 Returns caller email</para>
+               </enum>
+               <enum name="callee_email">
+                       <para>R/0 Returns callee email</para>
+               </enum>
+               <enum name="callee_dialeddigits">
+                       <para>R/0 Returns callee dialed digits</para>
+               </enum>
+               <enum name="caller_url">
+                       <para>R/0 Returns caller URL</para>
+               </enum>
+               <enum name="max_forwards">
+                       <para>R/W Get or set the maximum number of call forwards for this channel.
+
+                       This number describes the number of times a call may be forwarded by this channel
+                       before the call fails. "Forwards" in this case refers to redirects by phones as well
+                       as calls to local channels.
+
+                       Note that this has no relation to the SIP Max-Forwards header.
+                       </para>
+               </enum>
+       </enumlist>
+</info>
+ ***/
+
 #include "chan_ooh323.h"
 #include <math.h>
 
index c4d5273..48193b5 100644 (file)
@@ -103,15 +103,16 @@ ASTERISK_REGISTER_FILE()
                                <option name="a">
                                        <para>Immediately answer the calling channel when the called channel answers in
                                        all cases. Normally, the calling channel is answered when the called channel
-                                       answers, but when options such as A() and M() are used, the calling channel is
+                                       answers, but when options such as <literal>A()</literal> and
+                                       <literal>M()</literal> are used, the calling channel is
                                        not answered until all actions on the called channel (such as playing an
                                        announcement) are completed.  This option can be used to answer the calling
                                        channel before doing anything on the called channel. You will rarely need to use
                                        this option, the default behavior is adequate in most cases.</para>
                                </option>
                                <option name="b" argsep="^">
-                                       <para>Before initiating an outgoing call, Gosub to the specified
-                                       location using the newly created channel.  The Gosub will be
+                                       <para>Before initiating an outgoing call, <literal>Gosub</literal> to the specified
+                                       location using the newly created channel.  The <literal>Gosub</literal> will be
                                        executed for each destination channel.</para>
                                        <argument name="context" required="false" />
                                        <argument name="exten" required="false" />
@@ -121,8 +122,8 @@ ASTERISK_REGISTER_FILE()
                                        </argument>
                                </option>
                                <option name="B" argsep="^">
-                                       <para>Before initiating the outgoing call(s), Gosub to the specified
-                                       location using the current channel.</para>
+                                       <para>Before initiating the outgoing call(s), <literal>Gosub</literal> to the
+                                       specified location using the current channel.</para>
                                        <argument name="context" required="false" />
                                        <argument name="exten" required="false" />
                                        <argument name="priority" required="true" hasparams="optional" argsep="^">
@@ -134,7 +135,8 @@ ASTERISK_REGISTER_FILE()
                                        <para>Reset the call detail record (CDR) for this call.</para>
                                </option>
                                <option name="c">
-                                       <para>If the Dial() application cancels this call, always set HANGUPCAUSE to 'answered elsewhere'</para>
+                                       <para>If the Dial() application cancels this call, always set
+                                       <variable>HANGUPCAUSE</variable> to 'answered elsewhere'</para>
                                </option>
                                <option name="d">
                                        <para>Allow the calling user to dial a 1 digit extension while waiting for
@@ -156,8 +158,8 @@ ASTERISK_REGISTER_FILE()
                                        <replaceable>called</replaceable> DTMF string is sent to the called party, and the
                                        <replaceable>calling</replaceable> DTMF string is sent to the calling party.  Both arguments
                                        can be used alone.  If <replaceable>progress</replaceable> is specified, its DTMF is sent
-                                       to the called party immediately after receiving a PROGRESS message.</para>
-                                       <para>See SendDTMF for valid digits.</para>
+                                       to the called party immediately after receiving a <literal>PROGRESS</literal> message.</para>
+                                       <para>See <literal>SendDTMF</literal> for valid digits.</para>
                                </option>
                                <option name="e">
                                        <para>Execute the <literal>h</literal> extension for peer after the call ends</para>
@@ -165,7 +167,7 @@ ASTERISK_REGISTER_FILE()
                                <option name="f">
                                        <argument name="x" required="false" />
                                        <para>If <replaceable>x</replaceable> is not provided, force the CallerID sent on a call-forward or
-                                       deflection to the dialplan extension of this Dial() using a dialplan <literal>hint</literal>.
+                                       deflection to the dialplan extension of this <literal>Dial()</literal> using a dialplan <literal>hint</literal>.
                                        For example, some PSTNs do not allow CallerID to be set to anything
                                        other than the numbers assigned to you.
                                        If <replaceable>x</replaceable> is provided, force the CallerID sent to <replaceable>x</replaceable>.</para>
@@ -318,11 +320,11 @@ ASTERISK_REGISTER_FILE()
                                        <note>
                                                <para>You cannot use any additional action post answer options in conjunction
                                                with this option. Also, pbx services are run on the peer (called) channel,
-                                               so you will not be able to set timeouts via the TIMEOUT() function in this macro.</para>
+                                               so you will not be able to set timeouts via the <literal>TIMEOUT()</literal> function in this macro.</para>
                                        </note>
                                        <warning><para>Be aware of the limitations that macros have, specifically with regards to use of
                                        the <literal>WaitExten</literal> application. For more information, see the documentation for
-                                       Macro()</para></warning>
+                                       <literal>Macro()</literal>.</para></warning>
                                </option>
                                <option name="n">
                                        <argument name="delete">
@@ -339,7 +341,7 @@ ASTERISK_REGISTER_FILE()
                                </option>
                                <option name="N">
                                        <para>This option is a modifier for the call screening/privacy mode. It specifies
-                                       that if Caller*ID is present, do not screen the call.</para>
+                                       that if CallerID is present, do not screen the call.</para>
                                </option>
                                <option name="o">
                                        <argument name="x" required="false" />
@@ -347,7 +349,7 @@ ASTERISK_REGISTER_FILE()
                                        <emphasis>calling</emphasis> channel be stored as the CallerID on the <emphasis>called</emphasis> channel.
                                        This was the behavior of Asterisk 1.0 and earlier.
                                        If <replaceable>x</replaceable> is provided, specify the CallerID stored on the <emphasis>called</emphasis> channel.
-                                       Note that o(${CALLERID(all)}) is similar to option o without the parameter.</para>
+                                       Note that <literal>o(${CALLERID(all)})</literal> is similar to option <literal>o</literal> without the parameter.</para>
                                </option>
                                <option name="O">
                                        <argument name="mode">
@@ -377,13 +379,13 @@ ASTERISK_REGISTER_FILE()
                                        <para>Default: Indicate ringing to the calling party, even if the called party isn't actually ringing. Pass no audio to the calling
                                        party until the called channel has answered.</para>
                                        <argument name="tone" required="false">
-                                               <para>Indicate progress to calling party. Send audio 'tone' from the indications.conf tonezone currently in use.</para>
+                                               <para>Indicate progress to calling party. Send audio 'tone' from the <filename>indications.conf</filename> tonezone currently in use.</para>
                                        </argument>
                                </option>
-                                <option name="R">
-                                        <para>Default: Indicate ringing to the calling party, even if the called party isn't actually ringing. 
+                               <option name="R">
+                                       <para>Default: Indicate ringing to the calling party, even if the called party isn't actually ringing. 
                                        Allow interruption of the ringback if early media is received on the channel.</para>
-                                </option>
+                               </option>
                                <option name="S">
                                        <argument name="x" required="true" />
                                        <para>Hang up the call <replaceable>x</replaceable> seconds <emphasis>after</emphasis> the called party has
@@ -391,8 +393,8 @@ ASTERISK_REGISTER_FILE()
                                </option>
                                <option name="s">
                                        <argument name="x" required="true" />
-                                       <para>Force the outgoing callerid tag parameter to be set to the string <replaceable>x</replaceable>.</para>
-                                       <para>Works with the f option.</para>
+                                       <para>Force the outgoing CallerID tag parameter to be set to the string <replaceable>x</replaceable>.</para>
+                                       <para>Works with the <literal>f</literal> option.</para>
                                </option>
                                <option name="t">
                                        <para>Allow the called party to transfer the calling party by sending the
@@ -406,15 +408,15 @@ ASTERISK_REGISTER_FILE()
                                </option>
                                <option name="U" argsep="^">
                                        <argument name="x" required="true">
-                                               <para>Name of the subroutine to execute via Gosub</para>
+                                               <para>Name of the subroutine to execute via <literal>Gosub</literal></para>
                                        </argument>
                                        <argument name="arg" multiple="true" required="false">
-                                               <para>Arguments for the Gosub routine</para>
+                                               <para>Arguments for the <literal>Gosub</literal> routine</para>
                                        </argument>
-                                       <para>Execute via Gosub the routine <replaceable>x</replaceable> for the <emphasis>called</emphasis> channel before connecting
-                                       to the calling channel. Arguments can be specified to the Gosub
-                                       using <literal>^</literal> as a delimiter. The Gosub routine can set the variable
-                                       <variable>GOSUB_RESULT</variable> to specify the following actions after the Gosub returns.</para>
+                                       <para>Execute via <literal>Gosub</literal> the routine <replaceable>x</replaceable> for the <emphasis>called</emphasis> channel before connecting
+                                       to the calling channel. Arguments can be specified to the <literal>Gosub</literal>
+                                       using <literal>^</literal> as a delimiter. The <literal>Gosub</literal> routine can set the variable
+                                       <variable>GOSUB_RESULT</variable> to specify the following actions after the <literal>Gosub</literal> returns.</para>
                                        <variablelist>
                                                <variable name="GOSUB_RESULT">
                                                        <value name="ABORT">
@@ -438,7 +440,7 @@ ASTERISK_REGISTER_FILE()
                                        <note>
                                                <para>You cannot use any additional action post answer options in conjunction
                                                with this option. Also, pbx services are run on the peer (called) channel,
-                                               so you will not be able to set timeouts via the TIMEOUT() function in this routine.</para>
+                                               so you will not be able to set timeouts via the <literal>TIMEOUT()</literal> function in this routine.</para>
                                        </note>
                                </option>
                                <option name="u">
@@ -455,7 +457,7 @@ ASTERISK_REGISTER_FILE()
                                                <literal>prohib</literal>
                                                <literal>unavailable</literal></para>
                                        </argument>
-                                       <para>Works with the f option.</para>
+                                       <para>Works with the <literal>f</literal> option.</para>
                                </option>
                                <option name="w">
                                        <para>Allow the called party to enable recording of the call by sending
@@ -497,11 +499,59 @@ ASTERISK_REGISTER_FILE()
                        hangs up, or if the call is bridged and either of the parties in the bridge
                        ends the call.</para>
                        <para>If the <variable>OUTBOUND_GROUP</variable> variable is set, all peer channels created by this
-                       application will be put into that group (as in Set(GROUP()=...).
+                       application will be put into that group (as in <literal>Set(GROUP()=...</literal>).
                        If the <variable>OUTBOUND_GROUP_ONCE</variable> variable is set, all peer channels created by this
-                       application will be put into that group (as in Set(GROUP()=...). Unlike <variable>OUTBOUND_GROUP</variable>,
+                       application will be put into that group (as in <literal>Set(GROUP()=...</literal>). Unlike <variable>OUTBOUND_GROUP</variable>,
                        however, the variable will be unset after use.</para>
 
+                       <example title="Dial with 30 second timeout">
+                        same => n,Dial(PJSIP/alice,30)
+                       </example>
+                       <example title="Parallel dial with 45 second timeout">
+                        same => n,Dial(PJSIP/alice&amp;PJIP/bob,45)
+                       </example>
+                       <example title="Dial with 'g' continuation option">
+                        same => n,Dial(PJSIP/alice,,g)
+                        same => n,Log(NOTICE, Alice call result: ${DIALSTATUS})
+                       </example>
+                       <example title="Dial with transfer/recording features for calling party">
+                        same => n,Dial(PJSIP/alice,,TX)
+                       </example>
+                       <example title="Dial with call length limit">
+                        same => n,Dial(PJSIP/alice,,L(60000:30000:10000))
+                       </example>
+                       <example title="Dial with pre-dial subroutines">
+                       [default]
+
+                       exten => callee_channel,1,NoOp()
+                        same => n,Log(NOTICE, I'm called on channel ${CHANNEL} prior to it starting the dial attempt)
+                        same => n,Return()
+
+                       exten => called_channel,1,NoOp()
+                        same => n,Log(NOTICE, I'm called on outbound channel ${CHANNEL} prior to it being used to dial someone)
+                        same => n,Return()
+
+                       exten => _X.,1,NoOp()
+                        same => n,Dial(PJSIP/alice,,b(default^called_channel^1)B(default^callee_channel^1))
+                        same => n,Hangup()
+                       </example>
+                       <example title="Dial with post-answer subroutine executed on outbound channel">
+                       [default]
+
+                       exten => called_channel,1,NoOp()
+                        same => n,Playback(hello)
+                        same => n,Return()
+
+                       exten => _X.,1,NoOp()
+                        same => n,Dial(PJSIP/alice,,U(default^called_channel^1))
+                        same => n,Hangup()
+                       </example>
+                       <example title="Dial into ConfBridge using 'G' option">
+                        same => n,Dial(PJSIP/alice,,G(jump_to_here))
+                        same => n(jump_to_here),Goto(confbridge)
+                        same => n,Goto(confbridge)
+                        same => n(confbridge),ConfBridge(${EXTEN})
+                       </example>
                        <para>This application sets the following channel variables:</para>
                        <variablelist>
                                <variable name="DIALEDTIME">
@@ -510,6 +560,15 @@ ASTERISK_REGISTER_FILE()
                                <variable name="ANSWEREDTIME">
                                        <para>This is the amount of time for actual call.</para>
                                </variable>
+                               <variable name="DIALEDPEERNAME">
+                                       <para>The name of the outbound channel that answered the call.</para>
+                               </variable>
+                               <variable name="DIALEDPEERNUMBER">
+                                       <para>The number that was dialed for the answered outbound channel.</para>
+                               </variable>
+                               <variable name="FORWARDERNAME">
+                                       <para>If a call forward occurred, the name of the forwarded channel.</para>
+                               </variable>
                                <variable name="DIALSTATUS">
                                        <para>This is the status of the call</para>
                                        <value name="CHANUNAVAIL" />
@@ -530,6 +589,12 @@ ASTERISK_REGISTER_FILE()
                                </variable>
                        </variablelist>
                </description>
+               <see-also>
+                       <ref type="application">RetryDial</ref>
+                       <ref type="application">SendDTMF</ref>
+                       <ref type="application">Gosub</ref>
+                       <ref type="application">Macro</ref>
+               </see-also>
        </application>
        <application name="RetryDial" language="en_US">
                <synopsis>
@@ -562,6 +627,9 @@ ASTERISK_REGISTER_FILE()
                        The <replaceable>dialargs</replaceable> are specified in the same format that arguments are provided
                        to the Dial application.</para>
                </description>
+               <see-also>
+                       <ref type="application">Dial</ref>
+               </see-also>
        </application>
  ***/
 
index c4f985f..826b4dc 100644 (file)
@@ -62,6 +62,10 @@ ASTERISK_REGISTER_FILE()
                        <replaceable>eventname</replaceable> under the
                        <literal>eventname</literal> key.</para>
                </description>
+               <see-also>
+                       <ref type="manager">UserEvent</ref>
+                       <ref type="managerEvent">UserEvent</ref>
+               </see-also>
        </application>
  ***/
 
index 7a3c31f..cbe7dba 100644 (file)
@@ -178,6 +178,60 @@ ASTERISK_REGISTER_FILE()
                        <para>This application will Accept the R2 call either with charge or no charge.</para>
                </description>
        </application>
+       <info name="DAHDICHANNEL" language="en_US" tech="DAHDI">
+               <enumlist>
+                       <enum name="dahdi_channel">
+                               <para>R/O DAHDI channel related to this channel.</para>
+                       </enum>
+                       <enum name="dahdi_span">
+                               <para>R/O DAHDI span related to this channel.</para>
+                       </enum>
+                       <enum name="dahdi_type">
+                               <para>R/O DAHDI channel type, one of:</para>
+                               <enumlist>
+                                       <enum name="analog" />
+                                       <enum name="mfc/r2" />
+                                       <enum name="pri" />
+                                       <enum name="pseudo" />
+                                       <enum name="ss7" />
+                               </enumlist>
+                       </enum>
+                       <enum name="keypad_digits">
+                               <para>R/O PRI Keypad digits that came in with the SETUP message.</para>
+                       </enum>
+                       <enum name="reversecharge">
+                               <para>R/O PRI Reverse Charging Indication, one of:</para>
+                               <enumlist>
+                                       <enum name="-1"> <para>None</para></enum>
+                                       <enum name=" 1"> <para>Reverse Charging Requested</para></enum>
+                               </enumlist>
+                       </enum>
+                       <enum name="no_media_path">
+                               <para>R/O PRI Nonzero if the channel has no B channel.
+                               The channel is either on hold or a call waiting call.</para>
+                       </enum>
+                       <enum name="buffers">
+                               <para>W/O Change the channel's buffer policy (for the current call only)</para>
+                               <para>This option takes two arguments:</para>
+                               <para>  Number of buffers,</para>
+                               <para>  Buffer policy being one of:</para>
+                               <para>      <literal>full</literal></para>
+                               <para>      <literal>immediate</literal></para>
+                               <para>      <literal>half</literal></para>
+                       </enum>
+                       <enum name="echocan_mode">
+                               <para>W/O Change the configuration of the active echo
+                               canceller on the channel (if any), for the current call
+                               only.</para>
+                               <para>Possible values are:</para>
+                               <para>  <literal>on</literal>   Normal mode (the echo canceller is actually reinitalized)</para>
+                               <para>  <literal>off</literal>  Disabled</para>
+                               <para>  <literal>fax</literal>  FAX/data mode (NLP disabled if possible, otherwise
+                                       completely disabled)</para>
+                               <para>  <literal>voice</literal>        Voice mode (returns from FAX mode, reverting the changes that were made)</para>
+                       </enum>
+               </enumlist>
+       </info>
        <manager name="DAHDITransfer" language="en_US">
                <synopsis>
                        Transfer DAHDI Channel.
index 721da9a..1b3e287 100644 (file)
@@ -212,6 +212,25 @@ ASTERISK_REGISTER_FILE()
                        <para>Gets or sets a variable that is sent to a remote IAX2 peer during call setup.</para>
                </description>
        </function>
+       <info name="IAXCHANNEL" language="en_US" tech="IAX">
+               <enumlist>
+                       <enum name="osptoken">
+                               <para>R/O Get the peer's osptoken.</para>
+                       </enum>
+                       <enum name="peerip">
+                               <para>R/O Get the peer's ip address.</para>
+                       </enum>
+                       <enum name="peername">
+                               <para>R/O Get the peer's username.</para>
+                       </enum>
+                       <enum name="secure_signaling">
+                               <para>R/O Get the if the IAX channel is secured.</para>
+                       </enum>
+                       <enum name="secure_media">
+                               <para>R/O Get the if the IAX channel is secured.</para>
+                       </enum>
+               </enumlist>
+       </info>
        <manager name="IAXpeers" language="en_US">
                <synopsis>
                        List IAX peers.
index c1a3873..322f564 100644 (file)
                </enum>
        </enumlist>
 </info>
+<info name="PJSIPCHANNEL_EXAMPLES" language="en_US" tech="PJSIP">
+       <example title="PJSIP specific CHANNEL examples">
+               ; Log the current Call-ID
+               same => n,Log(NOTICE, ${CHANNEL(pjsip,call-id)})
+
+               ; Log the destination address of the audio stream
+               same => n,Log(NOTICE, ${CHANNEL(rtp,dest)})
+
+               ; Store the round-trip time associated with a
+               ; video stream in the CDR field video-rtt
+               same => n,Set(CDR(video-rtt)=${CHANNEL(rtcp,rtt,video)})
+       </example>
+</info>
 ***/
 
 #include "asterisk.h"
index 644da38..9883788 100644 (file)
        <support_level>extended</support_level>
  ***/
 
+/*** DOCUMENTATION
+<info name="SIPCHANNEL" language="en_US" tech="SIP">
+       <enumlist>
+               <enum name="peerip">
+                       <para>R/O Get the IP address of the peer.</para>
+               </enum>
+               <enum name="recvip">
+                       <para>R/O Get the source IP address of the peer.</para>
+               </enum>
+               <enum name="recvport">
+                       <para>R/O Get the source port of the peer.</para>
+               </enum>
+               <enum name="from">
+                       <para>R/O Get the URI from the From: header.</para>
+               </enum>
+               <enum name="uri">
+                       <para>R/O Get the URI from the Contact: header.</para>
+               </enum>
+               <enum name="useragent">
+                       <para>R/O Get the useragent.</para>
+               </enum>
+               <enum name="peername">
+                       <para>R/O Get the name of the peer.</para>
+               </enum>
+               <enum name="t38passthrough">
+                       <para>R/O <literal>1</literal> if T38 is offered or enabled in this channel,
+                       otherwise <literal>0</literal></para>
+               </enum>
+               <enum name="rtpqos">
+                       <para>R/O Get QOS information about the RTP stream</para>
+                       <para>    This option takes two additional arguments:</para>
+                       <para>    Argument 1:</para>
+                       <para>     <literal>audio</literal>             Get data about the audio stream</para>
+                       <para>     <literal>video</literal>             Get data about the video stream</para>
+                       <para>     <literal>text</literal>              Get data about the text stream</para>
+                       <para>    Argument 2:</para>
+                       <para>     <literal>local_ssrc</literal>        Local SSRC (stream ID)</para>
+                       <para>     <literal>local_lostpackets</literal> Local lost packets</para>
+                       <para>     <literal>local_jitter</literal>      Local calculated jitter</para>
+                       <para>     <literal>local_maxjitter</literal>   Local calculated jitter (maximum)</para>
+                       <para>     <literal>local_minjitter</literal>   Local calculated jitter (minimum)</para>
+                       <para>     <literal>local_normdevjitter</literal>Local calculated jitter (normal deviation)</para>
+                       <para>     <literal>local_stdevjitter</literal> Local calculated jitter (standard deviation)</para>
+                       <para>     <literal>local_count</literal>       Number of received packets</para>
+                       <para>     <literal>remote_ssrc</literal>       Remote SSRC (stream ID)</para>
+                       <para>     <literal>remote_lostpackets</literal>Remote lost packets</para>
+                       <para>     <literal>remote_jitter</literal>     Remote reported jitter</para>
+                       <para>     <literal>remote_maxjitter</literal>  Remote calculated jitter (maximum)</para>
+                       <para>     <literal>remote_minjitter</literal>  Remote calculated jitter (minimum)</para>
+                       <para>     <literal>remote_normdevjitter</literal>Remote calculated jitter (normal deviation)</para>
+                       <para>     <literal>remote_stdevjitter</literal>Remote calculated jitter (standard deviation)</para>
+                       <para>     <literal>remote_count</literal>      Number of transmitted packets</para>
+                       <para>     <literal>rtt</literal>               Round trip time</para>
+                       <para>     <literal>maxrtt</literal>            Round trip time (maximum)</para>
+                       <para>     <literal>minrtt</literal>            Round trip time (minimum)</para>
+                       <para>     <literal>normdevrtt</literal>        Round trip time (normal deviation)</para>
+                       <para>     <literal>stdevrtt</literal>          Round trip time (standard deviation)</para>
+                       <para>     <literal>all</literal>               All statistics (in a form suited to logging,
+                       but not for parsing)</para>
+               </enum>
+               <enum name="rtpdest">
+                       <para>R/O Get remote RTP destination information.</para>
+                       <para>   This option takes one additional argument:</para>
+                       <para>    Argument 1:</para>
+                       <para>     <literal>audio</literal>             Get audio destination</para>
+                       <para>     <literal>video</literal>             Get video destination</para>
+                       <para>     <literal>text</literal>              Get text destination</para>
+                       <para>   Defaults to <literal>audio</literal> if unspecified.</para>
+               </enum>
+               <enum name="rtpsource">
+                       <para>R/O Get source RTP destination information.</para>
+                       <para>   This option takes one additional argument:</para>
+                       <para>    Argument 1:</para>
+                       <para>     <literal>audio</literal>             Get audio destination</para>
+                       <para>     <literal>video</literal>             Get video destination</para>
+                       <para>     <literal>text</literal>              Get text destination</para>
+                       <para>   Defaults to <literal>audio</literal> if unspecified.</para>
+               </enum>
+       </enumlist>
+</info>
+ ***/
+
 #include "asterisk.h"
 
 ASTERISK_REGISTER_FILE()
index aec2d07..0eb64c8 100644 (file)
@@ -125,7 +125,9 @@ bindaddr = 0.0.0.0
 ;
 ; all       - All event classes below (including any we may have missed).
 ; system    - General information about the system and ability to run system
-;             management commands, such as Shutdown, Restart, and Reload.
+;             management commands, such as Shutdown, Restart, and Reload. This
+;             class also includes dialplan manipulation actions such as
+;             DialplanExtensionAdd and DialplanExtensionRemove.
 ; call      - Information about channels and ability to set information in a
 ;             running channel.
 ; log       - Logging information.  Read-only. (Defined but not yet used.)
index 511930f..21f1b9d 100644 (file)
@@ -67,7 +67,7 @@
   <!ELEMENT field (#PCDATA)>
   <!ATTLIST field name CDATA #REQUIRED>
 
-  <!ELEMENT info (para|note|warning|variablelist|enumlist|info|xi:include)*>
+  <!ELEMENT info (para|example|note|warning|variablelist|enumlist|info|xi:include)*>
   <!ATTLIST info name CDATA #REQUIRED>
   <!ATTLIST info language CDATA #REQUIRED>
   <!ATTLIST info tech CDATA #REQUIRED>
index 39d7499..9831dd7 100644 (file)
@@ -232,207 +232,41 @@ ASTERISK_REGISTER_FILE()
                                        <enum name="linkedid">
                                                <para>R/O returns the linkedid if available, otherwise returns the uniqueid.</para>
                                        </enum>
-                               </enumlist>
-                               <para><emphasis>chan_sip</emphasis> provides the following additional options:</para>
-                               <enumlist>
-                                       <enum name="peerip">
-                                               <para>R/O Get the IP address of the peer.</para>
-                                       </enum>
-                                       <enum name="recvip">
-                                               <para>R/O Get the source IP address of the peer.</para>
-                                       </enum>
-                                       <enum name="recvport">
-                                               <para>R/O Get the source port of the peer.</para>
-                                       </enum>
-                                       <enum name="from">
-                                               <para>R/O Get the URI from the From: header.</para>
-                                       </enum>
-                                       <enum name="uri">
-                                               <para>R/O Get the URI from the Contact: header.</para>
-                                       </enum>
-                                       <enum name="useragent">
-                                               <para>R/O Get the useragent.</para>
-                                       </enum>
-                                       <enum name="peername">
-                                               <para>R/O Get the name of the peer.</para>
-                                       </enum>
-                                       <enum name="t38passthrough">
-                                               <para>R/O <literal>1</literal> if T38 is offered or enabled in this channel,
-                                               otherwise <literal>0</literal></para>
-                                       </enum>
-                                       <enum name="rtpqos">
-                                               <para>R/O Get QOS information about the RTP stream</para>
-                                               <para>    This option takes two additional arguments:</para>
-                                               <para>    Argument 1:</para>
-                                               <para>     <literal>audio</literal>             Get data about the audio stream</para>
-                                               <para>     <literal>video</literal>             Get data about the video stream</para>
-                                               <para>     <literal>text</literal>              Get data about the text stream</para>
-                                               <para>    Argument 2:</para>
-                                               <para>     <literal>local_ssrc</literal>        Local SSRC (stream ID)</para>
-                                               <para>     <literal>local_lostpackets</literal> Local lost packets</para>
-                                               <para>     <literal>local_jitter</literal>      Local calculated jitter</para>
-                                               <para>     <literal>local_maxjitter</literal>   Local calculated jitter (maximum)</para>
-                                               <para>     <literal>local_minjitter</literal>   Local calculated jitter (minimum)</para>
-                                               <para>     <literal>local_normdevjitter</literal>Local calculated jitter (normal deviation)</para>
-                                               <para>     <literal>local_stdevjitter</literal> Local calculated jitter (standard deviation)</para>
-                                               <para>     <literal>local_count</literal>       Number of received packets</para>
-                                               <para>     <literal>remote_ssrc</literal>       Remote SSRC (stream ID)</para>
-                                               <para>     <literal>remote_lostpackets</literal>Remote lost packets</para>
-                                               <para>     <literal>remote_jitter</literal>     Remote reported jitter</para>
-                                               <para>     <literal>remote_maxjitter</literal>  Remote calculated jitter (maximum)</para>
-                                               <para>     <literal>remote_minjitter</literal>  Remote calculated jitter (minimum)</para>
-                                               <para>     <literal>remote_normdevjitter</literal>Remote calculated jitter (normal deviation)</para>
-                                               <para>     <literal>remote_stdevjitter</literal>Remote calculated jitter (standard deviation)</para>
-                                               <para>     <literal>remote_count</literal>      Number of transmitted packets</para>
-                                               <para>     <literal>rtt</literal>               Round trip time</para>
-                                               <para>     <literal>maxrtt</literal>            Round trip time (maximum)</para>
-                                               <para>     <literal>minrtt</literal>            Round trip time (minimum)</para>
-                                               <para>     <literal>normdevrtt</literal>        Round trip time (normal deviation)</para>
-                                               <para>     <literal>stdevrtt</literal>          Round trip time (standard deviation)</para>
-                                               <para>     <literal>all</literal>               All statistics (in a form suited to logging,
-                                               but not for parsing)</para>
-                                       </enum>
-                                       <enum name="rtpdest">
-                                               <para>R/O Get remote RTP destination information.</para>
-                                               <para>   This option takes one additional argument:</para>
-                                               <para>    Argument 1:</para>
-                                               <para>     <literal>audio</literal>             Get audio destination</para>
-                                               <para>     <literal>video</literal>             Get video destination</para>
-                                               <para>     <literal>text</literal>              Get text destination</para>
-                                               <para>   Defaults to <literal>audio</literal> if unspecified.</para>
-                                       </enum>
-                                       <enum name="rtpsource">
-                                               <para>R/O Get source RTP destination information.</para>
-                                               <para>   This option takes one additional argument:</para>
-                                               <para>    Argument 1:</para>
-                                               <para>     <literal>audio</literal>             Get audio destination</para>
-                                               <para>     <literal>video</literal>             Get video destination</para>
-                                               <para>     <literal>text</literal>              Get text destination</para>
-                                               <para>   Defaults to <literal>audio</literal> if unspecified.</para>
-                                       </enum>
-                               </enumlist>
-                               <xi:include xpointer="xpointer(/docs/info[@name='PJSIPCHANNEL'])" />
-                               <para><emphasis>chan_iax2</emphasis> provides the following additional options:</para>
-                               <enumlist>
-                                       <enum name="osptoken">
-                                               <para>R/O Get the peer's osptoken.</para>
-                                       </enum>
-                                       <enum name="peerip">
-                                               <para>R/O Get the peer's ip address.</para>
-                                       </enum>
-                                       <enum name="peername">
-                                               <para>R/O Get the peer's username.</para>
-                                       </enum>
-                                       <enum name="secure_signaling">
-                                               <para>R/O Get the if the IAX channel is secured.</para>
-                                       </enum>
-                                       <enum name="secure_media">
-                                               <para>R/O Get the if the IAX channel is secured.</para>
-                                       </enum>
-                               </enumlist>
-                               <para><emphasis>chan_dahdi</emphasis> provides the following additional options:</para>
-                               <enumlist>
-                                       <enum name="dahdi_channel">
-                                               <para>R/O DAHDI channel related to this channel.</para>
-                                       </enum>
-                                       <enum name="dahdi_span">
-                                               <para>R/O DAHDI span related to this channel.</para>
-                                       </enum>
-                                       <enum name="dahdi_type">
-                                               <para>R/O DAHDI channel type, one of:</para>
-                                               <enumlist>
-                                                       <enum name="analog" />
-                                                       <enum name="mfc/r2" />
-                                                       <enum name="pri" />
-                                                       <enum name="pseudo" />
-                                                       <enum name="ss7" />
-                                               </enumlist>
-                                       </enum>
-                                       <enum name="keypad_digits">
-                                               <para>R/O PRI Keypad digits that came in with the SETUP message.</para>
-                                       </enum>
-                                       <enum name="reversecharge">
-                                               <para>R/O PRI Reverse Charging Indication, one of:</para>
-                                               <enumlist>
-                                                       <enum name="-1"> <para>None</para></enum>
-                                                       <enum name=" 1"> <para>Reverse Charging Requested</para></enum>
-                                               </enumlist>
-                                       </enum>
-                                       <enum name="no_media_path">
-                                               <para>R/O PRI Nonzero if the channel has no B channel.
-                                               The channel is either on hold or a call waiting call.</para>
-                                       </enum>
-                                       <enum name="buffers">
-                                               <para>W/O Change the channel's buffer policy (for the current call only)</para>
-                                               <para>This option takes two arguments:</para>
-                                               <para>  Number of buffers,</para>
-                                               <para>  Buffer policy being one of:</para>
-                                               <para>      <literal>full</literal></para>
-                                               <para>      <literal>immediate</literal></para>
-                                               <para>      <literal>half</literal></para>
-                                       </enum>
-                                       <enum name="echocan_mode">
-                                               <para>W/O Change the configuration of the active echo
-                                               canceller on the channel (if any), for the current call
-                                               only.</para>
-                                               <para>Possible values are:</para>
-                                               <para>  <literal>on</literal>   Normal mode (the echo canceller is actually reinitalized)</para>
-                                               <para>  <literal>off</literal>  Disabled</para>
-                                               <para>  <literal>fax</literal>  FAX/data mode (NLP disabled if possible, otherwise
-                                                       completely disabled)</para>
-                                               <para>  <literal>voice</literal>        Voice mode (returns from FAX mode, reverting the changes that were made)</para>
-                                       </enum>
-                               </enumlist>
-                               <para><emphasis>chan_ooh323</emphasis> provides the following additional options:</para>
-                               <enumlist>
-                                       <enum name="faxdetect">
-                                               <para>R/W Fax Detect</para>
-                                               <para>Returns 0 or 1</para>
-                                               <para>Write yes or no</para>
-                                       </enum>
-                                       <enum name="t38support">
-                                               <para>R/W t38support</para>
-                                               <para>Returns 0 or 1</para>
-                                               <para>Write yes or no</para>
-                                       </enum>
-                                       <enum name="h323id_url">
-                                               <para>R/0 Returns caller URL</para>
-                                       </enum>
-                                       <enum name="caller_h323id">
-                                               <para>R/0 Returns caller h323id</para>
-                                       </enum>
-                                       <enum name="caller_dialeddigits">
-                                               <para>R/0 Returns caller dialed digits</para>
-                                       </enum>
-                                       <enum name="caller_email">
-                                               <para>R/0 Returns caller email</para>
-                                       </enum>
-                                       <enum name="callee_email">
-                                               <para>R/0 Returns callee email</para>
-                                       </enum>
-                                       <enum name="callee_dialeddigits">
-                                               <para>R/0 Returns callee dialed digits</para>
-                                       </enum>
-                                       <enum name="caller_url">
-                                               <para>R/0 Returns caller URL</para>
-                                       </enum>
                                        <enum name="max_forwards">
-                                               <para>R/W Get or set the maximum number of call forwards for this channel.
-
-                                               This number describes the number of times a call may be forwarded by this channel
-                                               before the call fails. "Forwards" in this case refers to redirects by phones as well
-                                               as calls to local channels.
-
-                                               Note that this has no relation to the SIP Max-Forwards header.
-                                               </para>
+                                               <para>R/W The maximum number of forwards allowed.</para>
                                        </enum>
                                </enumlist>
+                               <xi:include xpointer="xpointer(/docs/info[@name='SIPCHANNEL'])" />
+                               <xi:include xpointer="xpointer(/docs/info[@name='PJSIPCHANNEL'])" />
+                               <xi:include xpointer="xpointer(/docs/info[@name='IAXCHANNEL'])" />
+                               <xi:include xpointer="xpointer(/docs/info[@name='DAHDICHANNEL'])" />
+                               <xi:include xpointer="xpointer(/docs/info[@name='OOH323CHANNEL'])" />
                        </parameter>
                </syntax>
                <description>
                        <para>Gets/sets various pieces of information about the channel, additional <replaceable>item</replaceable> may
                        be available from the channel driver; see its documentation for details. Any <replaceable>item</replaceable>
                        requested that is not available on the current channel will return an empty string.</para>
+                       <example title="Standard CHANNEL item examples">
+                               ; Push a hangup handler subroutine existing at dialplan
+                               ; location default,s,1 onto the current channel
+                               same => n,Set(CHANNEL(hangup_handler_push)=default,s,1)
+
+                               ; Set the current tonezone to Germany (de)
+                               same => n,Set(CHANNEL(tonezone)=de)
+
+                               ; Set the allowed maximum number of forwarding attempts
+                               same => n,Set(CHANNEL(max_forwards)=10)
+
+                               ; If this channel is ejected from its next bridge, and if
+                               ; the channel is not hung up, begin executing dialplan at
+                               ; location default,after-bridge,1
+                               same => n,Set(CHANNEL(after_bridge_goto)=default,after-bridge,1)
+
+                               ; Log the current state of the channel
+                               same => n,Log(NOTICE, This channel is: ${CHANNEL(state)})
+                       </example>
+                       <xi:include xpointer="xpointer(/docs/info[@name='PJSIPCHANNEL_EXAMPLES'])" />
                </description>
        </function>
  ***/
index 68ac24b..e92875d 100644 (file)
                <description>
                        <para>Returns detailed information about the available bridging technologies.</para>
                </description>
+               <see-also>
+                       <ref type="manager">BridgeTechnologySuspend</ref>
+                       <ref type="manager">BridgeTechnologyUnsuspend</ref>
+               </see-also>
        </manager>
        <manager name="BridgeTechnologySuspend" language="en_US">
                <synopsis>
                <description>
                        <para>Marks a bridging technology as suspended, which prevents subsequently created bridges from using it.</para>
                </description>
+               <see-also>
+                       <ref type="manager">BridgeTechnologySuspend</ref>
+                       <ref type="manager">BridgeTechnologyUnsuspend</ref>
+               </see-also>
        </manager>
        <manager name="BridgeTechnologyUnsuspend" language="en_US">
                <synopsis>
                <description>
                        <para>Clears a previously suspended bridging technology, which allows subsequently created bridges to use it.</para>
                </description>
+               <see-also>
+                       <ref type="manager">BridgeTechnologyList</ref>
+                       <ref type="manager">BridgeTechnologySuspend</ref>
+               </see-also>
        </manager>
 ***/
 
index 4062e96..0af5a78 100644 (file)
@@ -202,6 +202,11 @@ ASTERISK_REGISTER_FILE()
                                </variable>
                        </variablelist>
                </description>
+               <see-also>
+                       <ref type="manager">Bridge</ref>
+                       <ref type="managerEvent">BridgeCreate</ref>
+                       <ref type="managerEvent">BridgeEnter</ref>
+               </see-also>
        </application>
        <manager name="Bridge" language="en_US">
                <synopsis>
@@ -228,6 +233,15 @@ ASTERISK_REGISTER_FILE()
                <description>
                        <para>Bridge together two channels already in the PBX.</para>
                </description>
+               <see-also>
+                       <ref type="application">Bridge</ref>
+                       <ref type="managerEvent">BridgeCreate</ref>
+                       <ref type="managerEvent">BridgeEnter</ref>
+                       <ref type="manager">BridgeDestroy</ref>
+                       <ref type="manager">BridgeInfo</ref>
+                       <ref type="manager">BridgeKick</ref>
+                       <ref type="manager">BridgeList</ref>
+               </see-also>
        </manager>
  ***/
 
index 029da70..1098152 100644 (file)
@@ -149,6 +149,9 @@ ASTERISK_REGISTER_FILE()
                <description>
                        <para>Logoff the current manager session.</para>
                </description>
+               <see-also>
+                       <ref type="manager">Login</ref>
+               </see-also>
        </manager>
        <manager name="Login" language="en_US">
                <synopsis>
@@ -168,6 +171,9 @@ ASTERISK_REGISTER_FILE()
                <description>
                        <para>Login Manager.</para>
                </description>
+               <see-also>
+                       <ref type="manager">Logoff</ref>
+               </see-also>
        </manager>
        <manager name="Challenge" language="en_US">
                <synopsis>
@@ -329,6 +335,9 @@ ASTERISK_REGISTER_FILE()
                                <para>If a channel name is not provided then the variable is considered global.</para>
                        </note>
                </description>
+               <see-also>
+                       <ref type="manager">Getvar</ref>
+               </see-also>
        </manager>
        <manager name="Getvar" language="en_US">
                <synopsis>
@@ -349,6 +358,9 @@ ASTERISK_REGISTER_FILE()
                                <para>If a channel name is not provided then the variable is considered global.</para>
                        </note>
                </description>
+               <see-also>
+                       <ref type="manager">Setvar</ref>
+               </see-also>
        </manager>
        <manager name="GetConfig" language="en_US">
                <synopsis>
@@ -381,6 +393,12 @@ ASTERISK_REGISTER_FILE()
                        In the case where a category name is non-unique, a filter may be specified
                        to match only categories with matching variable values.</para>
                </description>
+               <see-also>
+                       <ref type="manager">GetConfigJSON</ref>
+                       <ref type="manager">UpdateConfig</ref>
+                       <ref type="manager">CreateConfig</ref>
+                       <ref type="manager">ListCategories</ref>
+               </see-also>
        </manager>
        <manager name="GetConfigJSON" language="en_US">
                <synopsis>
@@ -405,6 +423,12 @@ ASTERISK_REGISTER_FILE()
                        In the case where a category name is non-unique, a filter may be specified
                        to match only categories with matching variable values.</para>
                </description>
+               <see-also>
+                       <ref type="manager">GetConfig</ref>
+                       <ref type="manager">UpdateConfig</ref>
+                       <ref type="manager">CreateConfig</ref>
+                       <ref type="manager">ListCategories</ref>
+               </see-also>
        </manager>
        <manager name="UpdateConfig" language="en_US">
                <synopsis>
@@ -496,6 +520,12 @@ ASTERISK_REGISTER_FILE()
                        <para>This action will modify, create, or delete configuration elements
                        in Asterisk configuration files.</para>
                </description>
+               <see-also>
+                       <ref type="manager">GetConfig</ref>
+                       <ref type="manager">GetConfigJSON</ref>
+                       <ref type="manager">CreateConfig</ref>
+                       <ref type="manager">ListCategories</ref>
+               </see-also>
        </manager>
        <manager name="CreateConfig" language="en_US">
                <synopsis>
@@ -512,6 +542,12 @@ ASTERISK_REGISTER_FILE()
                        directory. This action is intended to be used before an UpdateConfig
                        action.</para>
                </description>
+               <see-also>
+                       <ref type="manager">GetConfig</ref>
+                       <ref type="manager">GetConfigJSON</ref>
+                       <ref type="manager">UpdateConfig</ref>
+                       <ref type="manager">ListCategories</ref>
+               </see-also>
        </manager>
        <manager name="ListCategories" language="en_US">
                <synopsis>
@@ -526,6 +562,12 @@ ASTERISK_REGISTER_FILE()
                <description>
                        <para>This action will dump the categories in a given file.</para>
                </description>
+               <see-also>
+                       <ref type="manager">GetConfig</ref>
+                       <ref type="manager">GetConfigJSON</ref>
+                       <ref type="manager">UpdateConfig</ref>
+                       <ref type="manager">CreateConfig</ref>
+               </see-also>
        </manager>
        <manager name="Redirect" language="en_US">
                <synopsis>
@@ -561,6 +603,9 @@ ASTERISK_REGISTER_FILE()
                <description>
                        <para>Redirect (transfer) a call.</para>
                </description>
+               <see-also>
+                       <ref type="manager">BlindTransfer</ref>
+               </see-also>
        </manager>
        <manager name="Atxfer" language="en_US">
                <synopsis>
@@ -581,6 +626,9 @@ ASTERISK_REGISTER_FILE()
                <description>
                        <para>Attended transfer.</para>
                </description>
+               <see-also>
+                       <ref type="managerEvent">AttendedTransfer</ref>
+               </see-also>
        </manager>
        <manager name="Originate" language="en_US">
                <synopsis>
@@ -705,6 +753,9 @@ ASTERISK_REGISTER_FILE()
                        <para>Will return an <literal>Extension Status</literal> message. The response will include
                        the hint for the extension and the status.</para>
                </description>
+               <see-also>
+                       <ref type="managerEvent">ExtensionStatus</ref>
+               </see-also>
        </manager>
        <manager name="PresenceState" language="en_US">
                <synopsis>
@@ -721,6 +772,9 @@ ASTERISK_REGISTER_FILE()
                        <para>Will return a <literal>Presence State</literal> message. The response will include the
                        presence state and, if set, a presence subtype and custom message.</para>
                </description>
+               <see-also>
+                       <ref type="managerEvent">PresenceStatus</ref>
+               </see-also>
        </manager>
        <manager name="AbsoluteTimeout" language="en_US">
                <synopsis>
@@ -758,6 +812,9 @@ ASTERISK_REGISTER_FILE()
                        <para>Waiting: <literal>0</literal> if messages waiting, <literal>1</literal>
                        if no messages waiting.</para>
                </description>
+               <see-also>
+                       <ref type="manager">MailboxCount</ref>
+               </see-also>
        </manager>
        <manager name="MailboxCount" language="en_US">
                <synopsis>
@@ -778,6 +835,9 @@ ASTERISK_REGISTER_FILE()
                        <para>NewMessages: <replaceable>count</replaceable></para>
                        <para>OldMessages: <replaceable>count</replaceable></para>
                </description>
+               <see-also>
+                       <ref type="manager">MailboxStatus</ref>
+               </see-also>
        </manager>
        <manager name="ListCommands" language="en_US">
                <synopsis>
@@ -827,6 +887,10 @@ ASTERISK_REGISTER_FILE()
                <description>
                        <para>Send an event to manager sessions.</para>
                </description>
+               <see-also>
+                       <ref type="managerEvent">UserEvent</ref>
+                       <ref type="application">UserEvent</ref>
+               </see-also>
        </manager>
        <manager name="WaitEvent" language="en_US">
                <synopsis>
@@ -879,6 +943,9 @@ ASTERISK_REGISTER_FILE()
                <description>
                        <para>Send a reload event.</para>
                </description>
+               <see-also>
+                       <ref type="manager">ModuleLoad</ref>
+               </see-also>
        </manager>
        <managerEvent language="en_US" name="CoreShowChannel">
                <managerEventInstance class="EVENT_FLAG_CALL">
@@ -991,6 +1058,10 @@ ASTERISK_REGISTER_FILE()
                <description>
                        <para>Loads, unloads or reloads an Asterisk module in a running system.</para>
                </description>
+               <see-also>
+                       <ref type="manager">Reload</ref>
+                       <ref type="manager">ModuleCheck</ref>
+               </see-also>
        </manager>
        <manager name="ModuleCheck" language="en_US">
                <synopsis>
@@ -1006,6 +1077,9 @@ ASTERISK_REGISTER_FILE()
                        <para>Checks if Asterisk module is loaded. Will return Success/Failure.
                        For success returns, the module revision number is included.</para>
                </description>
+               <see-also>
+                       <ref type="manager">ModuleLoad</ref>
+               </see-also>
        </manager>
        <manager name="AOCMessage" language="en_US">
                <synopsis>
@@ -1171,6 +1245,9 @@ ASTERISK_REGISTER_FILE()
                        this command can be used to create filters that may bypass
                        filters defined in manager.conf</para>
                </description>
+               <see-also>
+                       <ref type="manager">FilterList</ref>
+               </see-also>
        </manager>
        <manager name="FilterList" language="en_US">
                <synopsis>
@@ -1180,6 +1257,9 @@ ASTERISK_REGISTER_FILE()
                        <para>The filters displayed are for the current session.  Only those filters defined in
                         manager.conf will be present upon starting a new session.</para>
                </description>
+               <see-also>
+                       <ref type="manager">Filter</ref>
+               </see-also>
        </manager>
        <manager name="BlindTransfer" language="en_US">
                <synopsis>
@@ -1198,6 +1278,7 @@ ASTERISK_REGISTER_FILE()
                </description>
                <see-also>
                        <ref type="manager">Redirect</ref>
+                       <ref type="managerEvent">BlindTransfer</ref>
                </see-also>
        </manager>
        <managerEvent name="ExtensionStatus" language="en_US">
@@ -1275,6 +1356,9 @@ ASTERISK_REGISTER_FILE()
                                        </enumlist>
                                </parameter>
                        </syntax>
+                       <see-also>
+                               <ref type="manager">ExtensionState</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent name="PresenceStatus" language="en_US">
@@ -1288,6 +1372,9 @@ ASTERISK_REGISTER_FILE()
                                <parameter name="Subtype" />
                                <parameter name="Message" />
                        </syntax>
+                       <see-also>
+                               <ref type="manager">PresenceState</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
  ***/
index 2069d50..b6aaa55 100644 (file)
@@ -42,6 +42,11 @@ static struct stasis_message_router *bridge_state_router;
                        <syntax>
                                <bridge_snapshot/>
                        </syntax>
+                       <see-also>
+                               <ref type="managerEvent">BridgeDestroy</ref>
+                               <ref type="managerEvent">BridgeEnter</ref>
+                               <ref type="managerEvent">BridgeLeave</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="BridgeDestroy">
@@ -50,6 +55,11 @@ static struct stasis_message_router *bridge_state_router;
                        <syntax>
                                <bridge_snapshot/>
                        </syntax>
+                       <see-also>
+                               <ref type="managerEvent">BridgeCreate</ref>
+                               <ref type="managerEvent">BridgeEnter</ref>
+                               <ref type="managerEvent">BridgeLeave</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="BridgeEnter">
@@ -62,6 +72,11 @@ static struct stasis_message_router *bridge_state_router;
                                        <para>The uniqueid of the channel being swapped out of the bridge</para>
                                </parameter>
                        </syntax>
+                       <see-also>
+                               <ref type="managerEvent">BridgeCreate</ref>
+                               <ref type="managerEvent">BridgeDestroy</ref>
+                               <ref type="managerEvent">BridgeLeave</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="BridgeLeave">
@@ -71,6 +86,11 @@ static struct stasis_message_router *bridge_state_router;
                                <bridge_snapshot/>
                                <channel_snapshot/>
                        </syntax>
+                       <see-also>
+                               <ref type="managerEvent">BridgeCreate</ref>
+                               <ref type="managerEvent">BridgeDestroy</ref>
+                               <ref type="managerEvent">BridgeEnter</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <manager name="BridgeList" language="en_US">
@@ -86,6 +106,12 @@ static struct stasis_message_router *bridge_state_router;
                <description>
                        <para>Returns a list of bridges, optionally filtering on a bridge type.</para>
                </description>
+               <see-also>
+                       <ref type="manager">Bridge</ref>
+                       <ref type="manager">BridgeDestroy</ref>
+                       <ref type="manager">BridgeInfo</ref>
+                       <ref type="manager">BridgeKick</ref>
+               </see-also>
        </manager>
        <manager name="BridgeInfo" language="en_US">
                <synopsis>
@@ -100,6 +126,12 @@ static struct stasis_message_router *bridge_state_router;
                <description>
                        <para>Returns detailed information about a bridge and the channels in it.</para>
                </description>
+               <see-also>
+                       <ref type="manager">Bridge</ref>
+                       <ref type="manager">BridgeDestroy</ref>
+                       <ref type="manager">BridgeKick</ref>
+                       <ref type="manager">BridgeList</ref>
+               </see-also>
                <responses>
                        <list-elements>
                                <managerEvent language="en_US" name="BridgeInfoChannel">
@@ -134,6 +166,13 @@ static struct stasis_message_router *bridge_state_router;
                <description>
                        <para>Deletes the bridge, causing channels to continue or hang up.</para>
                </description>
+               <see-also>
+                       <ref type="manager">Bridge</ref>
+                       <ref type="manager">BridgeInfo</ref>
+                       <ref type="manager">BridgeKick</ref>
+                       <ref type="manager">BridgeList</ref>
+                       <ref type="managerEvent">BridgeDestroy</ref>
+               </see-also>
        </manager>
        <manager name="BridgeKick" language="en_US">
                <synopsis>
@@ -153,6 +192,13 @@ static struct stasis_message_router *bridge_state_router;
                <description>
                        <para>The channel is removed from the bridge.</para>
                </description>
+               <see-also>
+                       <ref type="manager">Bridge</ref>
+                       <ref type="manager">BridgeDestroy</ref>
+                       <ref type="manager">BridgeInfo</ref>
+                       <ref type="manager">BridgeList</ref>
+                       <ref type="managerEvent">BridgeLeave</ref>
+               </see-also>
        </manager>
  ***/
 
index ec1f807..ce0e38d 100644 (file)
@@ -44,6 +44,10 @@ ASTERISK_REGISTER_FILE()
                        <syntax>
                                <channel_snapshot/>
                        </syntax>
+                       <see-also>
+                               <ref type="managerEvent">Newstate</ref>
+                               <ref type="managerEvent">Hangup</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="Newstate">
@@ -52,6 +56,10 @@ ASTERISK_REGISTER_FILE()
                        <syntax>
                                <channel_snapshot/>
                        </syntax>
+                       <see-also>
+                               <ref type="managerEvent">Newchannel</ref>
+                               <ref type="managerEvent">Hangup</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="Hangup">
@@ -66,6 +74,12 @@ ASTERISK_REGISTER_FILE()
                                        <para>A description of why the channel was hung up.</para>
                                </parameter>
                        </syntax>
+                       <see-also>
+                               <ref type="managerEvent">Newchannel</ref>
+                               <ref type="managerEvent">SoftHangupRequest</ref>
+                               <ref type="managerEvent">HangupRequest</ref>
+                               <ref type="managerEvent">Newstate</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="HangupRequest">
@@ -75,6 +89,10 @@ ASTERISK_REGISTER_FILE()
                                <channel_snapshot/>
                                <xi:include xpointer="xpointer(/docs/managerEvent[@name='Hangup']/managerEventInstance/syntax/parameter[@name='Cause'])" />
                        </syntax>
+                       <see-also>
+                               <ref type="managerEvent">SoftHangupRequest</ref>
+                               <ref type="managerEvent">Hangup</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="SoftHangupRequest">
@@ -84,6 +102,10 @@ ASTERISK_REGISTER_FILE()
                                <channel_snapshot/>
                                <xi:include xpointer="xpointer(/docs/managerEvent[@name='Hangup']/managerEventInstance/syntax/parameter[@name='Cause'])" />
                        </syntax>
+                       <see-also>
+                               <ref type="managerEvent">HangupRequest</ref>
+                               <ref type="managerEvent">Hangup</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="NewExten">
@@ -114,6 +136,9 @@ ASTERISK_REGISTER_FILE()
                                        <para>A description of the Caller ID presentation.</para>
                                </parameter>
                        </syntax>
+                       <see-also>
+                               <ref type="function">CALLERID</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="NewAccountCode">
@@ -125,6 +150,9 @@ ASTERISK_REGISTER_FILE()
                                        <para>The channel's previous account code</para>
                                </parameter>
                        </syntax>
+                       <see-also>
+                               <ref type="function">CHANNEL</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="DialBegin">
@@ -139,6 +167,9 @@ ASTERISK_REGISTER_FILE()
                        </syntax>
                        <see-also>
                                <ref type="application">Dial</ref>
+                               <ref type="application">Originate</ref>
+                               <ref type="manager">Originate</ref>
+                               <ref type="managerEvent">DialEnd</ref>
                        </see-also>
                </managerEventInstance>
        </managerEvent>
@@ -219,6 +250,9 @@ ASTERISK_REGISTER_FILE()
                        </syntax>
                        <see-also>
                                <ref type="application">Dial</ref>
+                               <ref type="application">Originate</ref>
+                               <ref type="manager">Originate</ref>
+                               <ref type="managerEvent">DialBegin</ref>
                        </see-also>
                </managerEventInstance>
        </managerEvent>
@@ -231,6 +265,9 @@ ASTERISK_REGISTER_FILE()
                                        <para>The suggested MusicClass, if provided.</para>
                                </parameter>
                        </syntax>
+                       <see-also>
+                               <ref type="managerEvent">Unhold</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="Unhold">
@@ -239,6 +276,9 @@ ASTERISK_REGISTER_FILE()
                        <syntax>
                                <channel_snapshot/>
                        </syntax>
+                       <see-also>
+                               <ref type="managerEvent">Hold</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="ChanSpyStart">
@@ -249,7 +289,8 @@ ASTERISK_REGISTER_FILE()
                                <channel_snapshot prefix="Spyee"/>
                        </syntax>
                        <see-also>
-                               <ref type="application">ChanSpyStop</ref>
+                               <ref type="managerEvent">ChanSpyStop</ref>
+                               <ref type="application">ChanSpy</ref>
                        </see-also>
                </managerEventInstance>
        </managerEvent>
@@ -261,7 +302,8 @@ ASTERISK_REGISTER_FILE()
                                <channel_snapshot prefix="Spyee"/>
                        </syntax>
                        <see-also>
-                               <ref type="application">ChanSpyStart</ref>
+                               <ref type="managerEvent">ChanSpyStart</ref>
+                               <ref type="application">ChanSpy</ref>
                        </see-also>
                </managerEventInstance>
        </managerEvent>
@@ -274,6 +316,9 @@ ASTERISK_REGISTER_FILE()
                                        <para>Hangup handler parameter string passed to the Gosub application.</para>
                                </parameter>
                        </syntax>
+                       <see-also>
+                               <ref type="function">CHANNEL</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="HangupHandlerPop">
@@ -380,6 +425,7 @@ ASTERISK_REGISTER_FILE()
                        </syntax>
                        <see-also>
                                <ref type="managerEvent">MusicOnHoldStop</ref>
+                               <ref type="application">StartMusicOnHold</ref>
                                <ref type="application">MusicOnHold</ref>
                        </see-also>
                </managerEventInstance>
@@ -856,6 +902,9 @@ static void channel_dtmf_begin_cb(void *data, struct stasis_subscription *sub,
                                                </enumlist>
                                        </parameter>
                                </syntax>
+                               <see-also>
+                                       <ref type="managerEvent">DTMFEnd</ref>
+                               </see-also>
                </managerEventInstance>
        ***/
        manager_event(EVENT_FLAG_DTMF, "DTMFBegin",
@@ -902,6 +951,9 @@ static void channel_dtmf_end_cb(void *data, struct stasis_subscription *sub,
                                                </enumlist>
                                        </parameter>
                                </syntax>
+                               <see-also>
+                                       <ref type="managerEvent">DTMFBegin</ref>
+                               </see-also>
                </managerEventInstance>
        ***/
        manager_event(EVENT_FLAG_DTMF, "DTMFEnd",
index 3705ea1..63385f9 100644 (file)
@@ -5033,9 +5033,11 @@ int ast_context_remove_extension_callerid2(struct ast_context *con, const char *
        /* scan the extension list to find first matching extension-registrar */
        for (exten = con->root; exten; prev_exten = exten, exten = exten->next) {
                if (!strcmp(exten->exten, ex.exten) &&
-                       (!registrar || !strcmp(exten->registrar, registrar)) &&
-                       (!matchcallerid || (!ast_strlen_zero(callerid) && !ast_strlen_zero(exten->cidmatch) && !strcmp(exten->cidmatch, callerid)) || (ast_strlen_zero(callerid) && ast_strlen_zero(exten->cidmatch))))
+                       (!matchcallerid ||
+                               (!ast_strlen_zero(ex.cidmatch) && !ast_strlen_zero(exten->cidmatch) && !strcmp(exten->cidmatch, ex.cidmatch)) ||
+                               (ast_strlen_zero(ex.cidmatch) && ast_strlen_zero(exten->cidmatch)))) {
                        break;
+               }
        }
        if (!exten) {
                /* we can't find right extension */
@@ -5047,7 +5049,7 @@ int ast_context_remove_extension_callerid2(struct ast_context *con, const char *
        /* scan the priority list to remove extension with exten->priority == priority */
        for (peer = exten, next_peer = exten->peer ? exten->peer : exten->next;
                 peer && !strcmp(peer->exten, ex.exten) &&
-                       (!callerid || (!matchcallerid && !peer->matchcid) || (matchcallerid && peer->matchcid && !strcmp(peer->cidmatch, callerid))) ;
+                       (!callerid || (!matchcallerid && !peer->matchcid) || (matchcallerid && peer->matchcid && !strcmp(peer->cidmatch, ex.cidmatch))) ;
                        peer = next_peer, next_peer = next_peer ? (next_peer->peer ? next_peer->peer : next_peer->next) : NULL) {
 
                if ((priority == 0 || peer->priority == priority) &&
index c2b1c8c..0671374 100644 (file)
                                        and sending this report.</para>
                                </parameter>
                        </syntax>
+                       <see-also>
+                               <ref type="managerEvent">RTCPReceived</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="RTCPReceived">
                                <xi:include xpointer="xpointer(/docs/managerEvent[@name='RTCPSent']/managerEventInstance/syntax/parameter[@name='SentOctets'])" />
                                <xi:include xpointer="xpointer(/docs/managerEvent[@name='RTCPSent']/managerEventInstance/syntax/parameter[contains(@name, 'ReportX')])" />
                        </syntax>
+                       <see-also>
+                               <ref type="managerEvent">RTCPSent</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
  ***/
index 91ad94e..e04d92a 100644 (file)
@@ -59,6 +59,7 @@ ASTERISK_REGISTER_FILE();
                        </description>
                        <see-also>
                                <ref type="application">UserEvent</ref>
+                               <ref type="managerEvent">UserEvent</ref>
                        </see-also>
                </managerEventInstance>
        </managerEvent>
index 0e46edb..a5f29c7 100644 (file)
@@ -79,6 +79,9 @@ ASTERISK_REGISTER_FILE()
                                        <para>Destination extension for the blind transfer.</para>
                                </parameter>
                        </syntax>
+                       <see-also>
+                               <ref type="manager">BlindTransfer</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
        <managerEvent language="en_US" name="AttendedTransfer">
@@ -131,6 +134,9 @@ ASTERISK_REGISTER_FILE()
                                <para>  <replaceable>SecondTransfererChannel</replaceable>: Alice's channel in the bridge with Bob.</para>
                                <para>  <replaceable>SecondBridgeUniqueid</replaceable>: The bridge between Alice and Bob.</para>
                        </description>
+                       <see-also>
+                               <ref type="manager">AtxFer</ref>
+                       </see-also>
                </managerEventInstance>
        </managerEvent>
  ***/