{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.5GIkmXcI/b1/asterisk_16.28.0~dfsg-0+deb11u3_armhf.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.5GIkmXcI/b2/asterisk_16.28.0~dfsg-0+deb11u3_armhf.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -21,8 +21,8 @@\n 97e2a20c6cc5974c55153c759a523a4b 320604 debug optional asterisk-voicemail-imapstorage-dbgsym_16.28.0~dfsg-0+deb11u3_armhf.deb\n a64646ad2cbec11c4fa0055da005e941 1454428 comm optional asterisk-voicemail-imapstorage_16.28.0~dfsg-0+deb11u3_armhf.deb\n 6840d38be771a0a4ff95e6e673e59270 285424 debug optional asterisk-voicemail-odbcstorage-dbgsym_16.28.0~dfsg-0+deb11u3_armhf.deb\n 0348c564a80b1665a628cf896780eb3a 1441744 comm optional asterisk-voicemail-odbcstorage_16.28.0~dfsg-0+deb11u3_armhf.deb\n 0c218542bafb5096ec0ecf37278006f1 1435868 comm optional asterisk-voicemail_16.28.0~dfsg-0+deb11u3_armhf.deb\n 1748696e5f8eaf9be81cd7ba7db880a1 69972 debug optional asterisk-vpb-dbgsym_16.28.0~dfsg-0+deb11u3_armhf.deb\n 2974dbb0fabb42dcadeb773264615a60 1362604 comm optional asterisk-vpb_16.28.0~dfsg-0+deb11u3_armhf.deb\n- 211c1edadd570bceac48695870387382 2221504 comm optional asterisk_16.28.0~dfsg-0+deb11u3_armhf.deb\n+ d5eae40fc4bb70c7103d2f8277bdcf03 2221376 comm optional asterisk_16.28.0~dfsg-0+deb11u3_armhf.deb\n"}, {"source1": "asterisk_16.28.0~dfsg-0+deb11u3_armhf.deb", "source2": "asterisk_16.28.0~dfsg-0+deb11u3_armhf.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2023-06-22 12:47:22.000000 debian-binary\n--rw-r--r-- 0 0 0 8236 2023-06-22 12:47:22.000000 control.tar.xz\n--rw-r--r-- 0 0 0 2213076 2023-06-22 12:47:22.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 8232 2023-06-22 12:47:22.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 2212952 2023-06-22 12:47:22.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "./usr/share/asterisk/documentation/core-en_US.xml", "source2": "./usr/share/asterisk/documentation/core-en_US.xml", "unified_diff": null, "details": [{"source1": "./usr/share/asterisk/documentation/core-en_US.xml", "source2": "./usr/share/asterisk/documentation/core-en_US.xml", "comments": ["Ordering differences only"], "unified_diff": "@@ -1,508 +1,22 @@\n \n \n \n \n- \n- extended\n- \n- \n- extended\n- \n- \n- extended\n- \n- \n- extended\n- \n- \n- \n- \n- R/O Get the IP address of the peer.\n- \n- \n- R/O Get the source IP address of the peer.\n- \n- \n- R/O Get the source port of the peer.\n- \n- \n- R/O Get the URI from the From: header.\n- \n- \n- R/O Get the URI from the Contact: header.\n- \n- \n- R/O Get the Request-URI from the INVITE header.\n- \n- \n- R/O Get the useragent.\n- \n- \n- R/O Get the name of the peer.\n- \n- \n- \n- R/O\n- 1\n- if T38 is offered or enabled in this channel,\n-\t\t\totherwise\n- 0\n- \n- \n- \n- R/O Get QOS information about the RTP stream\n- This option takes two additional arguments:\n- Argument 1:\n- \n- audio\n- Get data about the audio stream\n- \n- \n- video\n- Get data about the video stream\n- \n- \n- text\n- Get data about the text stream\n- \n- Argument 2:\n- \n- local_ssrc\n- Local SSRC (stream ID)\n- \n- \n- local_lostpackets\n- Local lost packets\n- \n- \n- local_jitter\n- Local calculated jitter\n- \n- \n- local_maxjitter\n- Local calculated jitter (maximum)\n- \n- \n- local_minjitter\n- Local calculated jitter (minimum)\n- \n- \n- local_normdevjitter\n- Local calculated jitter (normal deviation)\n- \n- \n- local_stdevjitter\n- Local calculated jitter (standard deviation)\n- \n- \n- local_count\n- Number of received packets\n- \n- \n- remote_ssrc\n- Remote SSRC (stream ID)\n- \n- \n- remote_lostpackets\n- Remote lost packets\n- \n- \n- remote_jitter\n- Remote reported jitter\n- \n- \n- remote_maxjitter\n- Remote calculated jitter (maximum)\n- \n- \n- remote_minjitter\n- Remote calculated jitter (minimum)\n- \n- \n- remote_normdevjitter\n- Remote calculated jitter (normal deviation)\n- \n- \n- remote_stdevjitter\n- Remote calculated jitter (standard deviation)\n- \n- \n- remote_count\n- Number of transmitted packets\n- \n- \n- rtt\n- Round trip time\n- \n- \n- maxrtt\n- Round trip time (maximum)\n- \n- \n- minrtt\n- Round trip time (minimum)\n- \n- \n- normdevrtt\n- Round trip time (normal deviation)\n- \n- \n- stdevrtt\n- Round trip time (standard deviation)\n- \n- \n- all\n- All statistics (in a form suited to logging,\n-\t\t\tbut not for parsing)\n- \n- \n- \n- R/O Get remote RTP destination information.\n- This option takes one additional argument:\n- Argument 1:\n- \n- audio\n- Get audio destination\n- \n- \n- video\n- Get video destination\n- \n- \n- text\n- Get text destination\n- \n- \n- Defaults to\n- audio\n- if unspecified.\n- \n- \n- \n- R/O Get source RTP destination information.\n- This option takes one additional argument:\n- Argument 1:\n- \n- audio\n- Get audio destination\n- \n- \n- video\n- Get video destination\n- \n- \n- text\n- Get text destination\n- \n- \n- Defaults to\n- audio\n- if unspecified.\n- \n- \n- \n- \n- \n- extended\n- \n- \n- extended\n- \n- \n- core\n- \n- \n- \n- Published when a malicious call ID request arrives.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- core\n- \n- \n- iksemel\n- res_xmpp\n- openssl\n- core\n- \n- \n- Jingle Channel Driver\n- \n- \n- Transports\n- \n- \n- There are three different transports and protocol derivatives\n-\t\t\tsupported by\n- chan_motif\n- . They are in order of\n-\t\t\tpreference: Jingle using ICE-UDP, Google Jingle, and Google-V1.\n- \n- \n- Jingle as defined in XEP-0166 supports the widest range of\n-\t\t\tfeatures. It is referred to as\n- ice-udp\n- . This is\n-\t\t\tthe specification that Jingle clients implement.\n- \n- \n- Google Jingle follows the Jingle specification for signaling\n-\t\t\tbut uses a custom transport for media. It is supported by the\n-\t\t\tGoogle Talk Plug-in in Gmail and by some other Jingle clients. It\n-\t\t\tis referred to as\n- google\n- in this file.\n- \n- \n- Google-V1 is the original Google Talk signaling protocol\n-\t\t\twhich uses an initial preliminary version of Jingle. It also uses\n-\t\t\tthe same custom transport as Google Jingle for media. It is\n-\t\t\tsupported by Google Voice, some other Jingle clients, and the\n-\t\t\tWindows Google Talk client. It is referred to as\n- google-v1\n- in this file.\n- \n- Incoming sessions will automatically switch to the correct\n-\t\t\ttransport once it has been determined.\n- Outgoing sessions are capable of determining if the target\n-\t\t\tis capable of Jingle or a Google transport if the target is in the\n-\t\t\troster. Unfortunately it is not possible to differentiate between\n-\t\t\ta Google Jingle or Google-V1 capable resource until a session\n-\t\t\tinitiate attempt occurs. If a resource is determined to use a\n-\t\t\tGoogle transport it will initially use Google Jingle but will fall\n-\t\t\tback to Google-V1 if required.\n- \n- If an outgoing session attempt fails due to failure to\n-\t\t\tsupport the given transport\n- chan_motif\n- will\n-\t\t\tfall back in preference order listed previously until all\n-\t\t\ttransports have been exhausted.\n- \n- \n- Dialing and Resource Selection Strategy\n- \n- Placing a call through an endpoint can be accomplished using the\n-\t\t\tfollowing dial string:\n- \n- Motif/[endpoint name]/[target]\n- \n- When placing an outgoing call through an endpoint the requested\n-\t\t\ttarget is searched for in the roster list. If present the first Jingle\n-\t\t\tor Google Jingle capable resource is specifically targeted. Since the\n-\t\t\tcapabilities of the resource are known the outgoing session initiation\n-\t\t\twill disregard the configured transport and use the determined one.\n- \n- If the target is not found in the roster the target will be used\n-\t\t\tas-is and a session will be initiated using the transport specified\n-\t\t\tin this configuration file. If no transport has been specified the\n-\t\t\tendpoint defaults to\n- ice-udp\n- .\n- \n- \n- Video Support\n- \n- Support for video does not need to be explicitly enabled.\n-\t\t\tConfiguring any video codec on your endpoint will automatically enable\n-\t\t\tit.\n- \n- DTMF\n- \n- The only supported method for DTMF is RFC2833. This is always\n-\t\t\tenabled on audio streams and negotiated if possible.\n- \n- Incoming Calls\n- \n- \n- Incoming calls will first look for the extension matching the\n-\t\t\tname of the endpoint in the configured context. If no such extension\n-\t\t\texists the call will automatically fall back to the\n- s\n- extension.\n- \n- \n- CallerID\n- \n- The incoming caller id number is populated with the username of\n-\t\t\tthe caller and the name is populated with the full identity of the\n-\t\t\tcaller. If you would like to perform authentication or filtering\n-\t\t\tof incoming calls it is recommended that you use these fields to do so.\n- \n- Outgoing caller id can\n- not\n- be set.\n- \n- \n- \n- Multiple endpoints using the\n-\t\t\t\tsame connection is\n- NOT\n- supported. Doing so\n-\t\t\t\tmay result in broken calls.\n- \n- \n- \n- \n- \n- The configuration for an endpoint.\n- \n- Default dialplan context that incoming sessions will be routed to\n- \n- \n- A callgroup to assign to this endpoint.\n- \n- \n- A pickup group to assign to this endpoint.\n- \n- \n- The default language for this endpoint.\n- \n- \n- Default music on hold class for this endpoint.\n- \n- \n- Default parking lot for this endpoint.\n- \n- \n- Accout code for CDR purposes\n- \n- \n- Codecs to allow\n- \n- \n- Codecs to disallow\n- \n- \n- Connection to accept traffic on and on which to send traffic out\n- \n- \n- The transport to use for the endpoint.\n- \n- \n- The default outbound transport for this endpoint. Inbound\n-\t\t\t\t\t\tmessages are inferred. Allowed transports are\n- ice-udp\n- ,\n- google\n- , or\n- google-v1\n- . Note\n-\t\t\t\t\t\tthat\n- chan_motif\n- will fall back to transport\n-\t\t\t\t\t\tpreference order if the transport value chosen here fails.\n- \n- \n- \n- The Jingle protocol, as defined in XEP 0166.\n- \n- \n- The Google Jingle protocol, which follows the Jingle\n-\t\t\t\t\t\t\t\tspecification for signaling but uses a custom transport for\n-\t\t\t\t\t\t\t\tmedia.\n- \n- \n- \n- Google-V1 is the original Google Talk signaling\n-\t\t\t\t\t\t\t\tprotocol which uses an initial preliminary version of Jingle.\n-\t\t\t\t\t\t\t\tIt also uses the same custom transport as\n- google\n- for media.\n- \n- \n- \n- \n- \n- \n- Maximum number of ICE candidates to offer\n- \n- \n- Maximum number of payloads to offer\n- \n- \n- \n- \n- \n- isdnnet\n- misdn\n- suppserv\n- deprecated\n- chan_dahdi\n- 16\n- 19\n- \n- \n- res_rtp_multicast\n- core\n- \n- \n+ \n+ alsa\n extended\n+ 19\n+ 21\n \n- \n- vpb\n- yes\n- deprecated\n- 16\n- 19\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n+ \n extended\n \n- \n- portaudio\n+ \n extended\n \n \n core\n \n \n Return a dial string for dialing all contacts on an AOR.\n@@ -1147,501 +661,21 @@\n \t\t; Log the destination address of the audio stream\n \t\tsame => n,Log(NOTICE, ${CHANNEL(rtp,dest)})\n \n \t\t; Store the round-trip time associated with a\n \t\t; video stream in the CDR field video-rtt\n \t\tsame => n,Set(CDR(video-rtt)=${CHANNEL(rtcp,rtt,video)})\n \n- \n- core\n- \n- \n- dahdi\n- tonezone\n- res_smdi\n- pri\n- ss7\n- openr2\n+ \n+ res_rtp_multicast\n core\n \n- \n- Send digits out of band over a PRI.\n- \n- \n- \n- \n- This application will send the given string of digits in a Keypad\n-\t\t\tFacility IE over the current channel.\n- \n- \n- \n- Send an ISDN call rerouting/deflection facility message.\n- \n- \n- Destination number.\n- \n- \n- Original called number.\n- \n- \n- \n- Diversion reason, if not specified defaults to\n- unknown\n- \n- \n- \n- \n- This application will send an ISDN switch specific call\n-\t\t\trerouting/deflection facility message over the current channel.\n-\t\t\tSupported switches depend upon the version of libpri in use.\n- \n- \n- \n- Accept an R2 call if its not already accepted (you still need to answer it)\n- \n- \n- Yes or No.\n- Whether you want to accept the call with charge or without charge.\n- \n- \n- \n- This application will Accept the R2 call either with charge or no charge.\n- \n- \n- \n- Set or get the polarity of a DAHDI channel.\n- \n- \n- The POLARITY function can be used to set the polarity of a DAHDI channel.\n- Applies only to FXS channels (using FXO signalling) with supporting hardware.\n- The polarity can be set to the following numeric or named values:\n- \n- \n- \n- \n- \n- \n- However, when read, the function will always return 0 or 1.\n- same => n,Set(POLARITY()=0)\n- same => n,NoOp(Current Polarity: ${POLARITY()})\n-\t\t\tsame => n,Set(POLARITY()=reverse)\n-\t\t\tsame => n,NoOp(New Polarity: ${POLARITY()})\n- same => n,Set(POLARITY()=${IF($[ "${POLARITY()}" = "1" ]?0:1)})\n- \n- \n- \n- \n- \n- R/O DAHDI channel related to this channel.\n- \n- \n- R/O DAHDI span related to this channel.\n- \n- \n- R/O DAHDI logical group related to this channel.\n- \n- \n- R/O DAHDI channel type, one of:\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- R/O PRI Keypad digits that came in with the SETUP message.\n- \n- \n- R/O PRI Reverse Charging Indication, one of:\n- \n- \n- None\n- \n- \n- Reverse Charging Requested\n- \n- \n- \n- \n- R/O PRI Nonzero if the channel has no B channel.\n-\t\t\t\tThe channel is either on hold or a call waiting call.\n- \n- \n- W/O Change the channel's buffer policy (for the current call only)\n- This option takes two arguments:\n- Number of buffers,\n- Buffer policy being one of:\n- \n- full\n- \n- \n- immediate\n- \n- \n- half\n- \n- \n- \n- W/O Change the configuration of the active echo\n-\t\t\t\tcanceller on the channel (if any), for the current call\n-\t\t\t\tonly.\n- Possible values are:\n- \n- on\n- Normal mode (the echo canceller is actually reinitialized)\n- \n- \n- off\n- Disabled\n- \n- \n- fax\n- FAX/data mode (NLP disabled if possible, otherwise\n-\t\t\t\t\tcompletely disabled)\n- \n- \n- voice\n- Voice mode (returns from FAX mode, reverting the changes that were made)\n- \n- \n- \n- \n- \n- DAHDI allows several modifiers to be specified as part of the resource.\n- The general syntax is :\n- \n- Dial(DAHDI/pseudo[/extension])\n- \n- \n- Dial(DAHDI/<channel#>[c|r<cadence#>|d][/extension])\n- \n- \n- Dial(DAHDI/(g|G|r|R)<group#(0-63)>[c|r<cadence#>|d][/extension])\n- \n- The following modifiers may be used before the channel number:\n- \n- \n- Search forward, dialing on first available channel in group (lowest to highest).\n- \n- \n- Search backward, dialing on first available channel in group (highest to lowest).\n- \n- \n- Round robin search forward, picking up from where last left off (lowest to highest).\n- \n- \n- Round robin search backward, picking up from where last left off (highest to lowest).\n- \n- \n- The following modifiers may be used after the channel number:\n- \n- \n- \n- Wait for DTMF digit\n- #\n- before providing answer supervision.\n- \n- This can be useful on outbound calls via FXO ports, as otherwise\n-\t\t\tthey would indicate answer immediately.\n- \n- \n- Force bearer capability for ISDN/SS7 call to digital.\n- \n- \n- ISDN span channel restriction.\n- Used by CC to ensure that the CC recall goes out the same span.\n-\t\t\tAlso to make ISDN channel names dialable when the sequence number\n-\t\t\tis stripped off. (Used by DTMF attended transfer feature.)\n- \n- \n- Specifies the distinctive ring cadence number to use immediately after\n-\t\t\tspecifying this option. There are 4 default built-in cadences, and up to 24\n-\t\t\ttotal cadences may be configured.\n- \n- \n- same => n,Dial(DAHDI/g1/5551212)\n- same => n,Dial(DAHDI/4r2)\n- same => n,Dial(DAHDI/3c/5551212)\n- \n- \n- Transfer DAHDI Channel.\n- \n- \n- \n- DAHDI channel number to transfer.\n- \n- \n- \n- Simulate a flash hook event by the user connected to the channel.\n- \n- Valid only for analog channels.\n- \n- \n- \n- \n- Hangup DAHDI Channel.\n- \n- \n- \n- DAHDI channel number to hangup.\n- \n- \n- \n- Simulate an on-hook event by the user connected to the channel.\n- \n- Valid only for analog channels.\n- \n- \n- \n- \n- Dial over DAHDI channel while offhook.\n- \n- \n- \n- DAHDI channel number to dial digits.\n- \n- \n- Digits to dial.\n- \n- \n- \n- Generate DTMF control frames to the bridged peer.\n- \n- \n- \n- Toggle DAHDI channel Do Not Disturb status ON.\n- \n- \n- \n- DAHDI channel number to set DND on.\n- \n- \n- \n- \n- Equivalent to the CLI command "dahdi set dnd\n- channel\n- on".\n- \n- \n- Feature only supported by analog channels.\n- \n- \n- \n- \n- Toggle DAHDI channel Do Not Disturb status OFF.\n- \n- \n- \n- DAHDI channel number to set DND off.\n- \n- \n- \n- \n- Equivalent to the CLI command "dahdi set dnd\n- channel\n- off".\n- \n- \n- Feature only supported by analog channels.\n- \n- \n- \n- \n- Show status of DAHDI channels.\n- \n- \n- \n- Specify the specific channel number to show. Show all channels if zero or not present.\n- \n- \n- \n- Similar to the CLI command "dahdi show channels".\n- \n- \n- \n- Fully Restart DAHDI channels (terminates calls).\n- \n- \n- \n- \n- Equivalent to the CLI command "dahdi restart".\n- \n- \n- \n- Show status of PRI spans.\n- \n- \n- \n- Specify the specific span to show. Show all spans if zero or not present.\n- \n- \n- \n- Similar to the CLI command "pri show spans".\n- \n- \n- \n- Set PRI debug levels for a span\n- \n- \n- \n- Which span to affect.\n- \n- \n- What debug level to set. May be a numerical value or a text value from the list below\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Equivalent to the CLI command "pri set debug <level> span <span>".\n- \n- \n- \n- Set the file used for PRI debug message output\n- \n- \n- \n- Path of file to write debug output.\n- \n- \n- \n- Equivalent to the CLI command "pri set debug file <output-file>"\n- \n- \n- \n- Disables file output for PRI debug messages\n- \n- \n- \n- \n- \n- \n- Raised when an alarm is cleared on a DAHDI channel.\n- \n- \n- The DAHDI channel on which the alarm was cleared.\n- \n- This is not an Asterisk channel identifier.\n- \n- \n- \n- \n- \n- \n- \n- Raised when an alarm is cleared on a DAHDI span.\n- \n- \n- The span on which the alarm was cleared.\n- \n- \n- \n- \n- \n- \n- Raised when the Do Not Disturb state is changed on a DAHDI channel.\n- \n- \n- The DAHDI channel on which DND status changed.\n- \n- This is not an Asterisk channel identifier.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when an alarm is set on a DAHDI channel.\n- \n- \n- The channel on which the alarm occurred.\n- \n- This is not an Asterisk channel identifier.\n- \n- \n- \n- A textual description of the alarm that occurred.\n- \n- \n- \n- \n- \n- \n- Raised when an alarm is set on a DAHDI span.\n- \n- \n- The span on which the alarm occurred.\n- \n- \n- A textual description of the alarm that occurred.\n- \n- \n- \n- \n- \n- \n- Raised when a DAHDI channel is created or an underlying technology is associated with a DAHDI channel.\n- \n- \n- \n- The DAHDI logical group associated with this channel.\n- \n- \n- The DAHDI span associated with this channel.\n- \n- \n- The DAHDI channel associated with this channel.\n- \n- \n- \n- \n- \n- alsa\n- extended\n- 19\n- 21\n- \n- \n- extended\n- \n- \n- extended\n- \n- \n- extended\n- \n- \n- extended\n- \n- \n+ \n extended\n \n- \n- pjproject\n- res_pjsip\n- res_pjsip_pubsub\n- res_pjsip_session\n- core\n- \n- \n- core\n- \n \n res_crypto\n res_http_websocket\n extended\n 17\n 21\n \n@@ -2056,18 +1090,446 @@\n \n \n \n \n \n \n \n- \n+ \n extended\n \n- \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ iksemel\n+ res_xmpp\n+ openssl\n+ core\n+ \n+ \n+ Jingle Channel Driver\n+ \n+ \n+ Transports\n+ \n+ \n+ There are three different transports and protocol derivatives\n+\t\t\tsupported by\n+ chan_motif\n+ . They are in order of\n+\t\t\tpreference: Jingle using ICE-UDP, Google Jingle, and Google-V1.\n+ \n+ \n+ Jingle as defined in XEP-0166 supports the widest range of\n+\t\t\tfeatures. It is referred to as\n+ ice-udp\n+ . This is\n+\t\t\tthe specification that Jingle clients implement.\n+ \n+ \n+ Google Jingle follows the Jingle specification for signaling\n+\t\t\tbut uses a custom transport for media. It is supported by the\n+\t\t\tGoogle Talk Plug-in in Gmail and by some other Jingle clients. It\n+\t\t\tis referred to as\n+ google\n+ in this file.\n+ \n+ \n+ Google-V1 is the original Google Talk signaling protocol\n+\t\t\twhich uses an initial preliminary version of Jingle. It also uses\n+\t\t\tthe same custom transport as Google Jingle for media. It is\n+\t\t\tsupported by Google Voice, some other Jingle clients, and the\n+\t\t\tWindows Google Talk client. It is referred to as\n+ google-v1\n+ in this file.\n+ \n+ Incoming sessions will automatically switch to the correct\n+\t\t\ttransport once it has been determined.\n+ Outgoing sessions are capable of determining if the target\n+\t\t\tis capable of Jingle or a Google transport if the target is in the\n+\t\t\troster. Unfortunately it is not possible to differentiate between\n+\t\t\ta Google Jingle or Google-V1 capable resource until a session\n+\t\t\tinitiate attempt occurs. If a resource is determined to use a\n+\t\t\tGoogle transport it will initially use Google Jingle but will fall\n+\t\t\tback to Google-V1 if required.\n+ \n+ If an outgoing session attempt fails due to failure to\n+\t\t\tsupport the given transport\n+ chan_motif\n+ will\n+\t\t\tfall back in preference order listed previously until all\n+\t\t\ttransports have been exhausted.\n+ \n+ \n+ Dialing and Resource Selection Strategy\n+ \n+ Placing a call through an endpoint can be accomplished using the\n+\t\t\tfollowing dial string:\n+ \n+ Motif/[endpoint name]/[target]\n+ \n+ When placing an outgoing call through an endpoint the requested\n+\t\t\ttarget is searched for in the roster list. If present the first Jingle\n+\t\t\tor Google Jingle capable resource is specifically targeted. Since the\n+\t\t\tcapabilities of the resource are known the outgoing session initiation\n+\t\t\twill disregard the configured transport and use the determined one.\n+ \n+ If the target is not found in the roster the target will be used\n+\t\t\tas-is and a session will be initiated using the transport specified\n+\t\t\tin this configuration file. If no transport has been specified the\n+\t\t\tendpoint defaults to\n+ ice-udp\n+ .\n+ \n+ \n+ Video Support\n+ \n+ Support for video does not need to be explicitly enabled.\n+\t\t\tConfiguring any video codec on your endpoint will automatically enable\n+\t\t\tit.\n+ \n+ DTMF\n+ \n+ The only supported method for DTMF is RFC2833. This is always\n+\t\t\tenabled on audio streams and negotiated if possible.\n+ \n+ Incoming Calls\n+ \n+ \n+ Incoming calls will first look for the extension matching the\n+\t\t\tname of the endpoint in the configured context. If no such extension\n+\t\t\texists the call will automatically fall back to the\n+ s\n+ extension.\n+ \n+ \n+ CallerID\n+ \n+ The incoming caller id number is populated with the username of\n+\t\t\tthe caller and the name is populated with the full identity of the\n+\t\t\tcaller. If you would like to perform authentication or filtering\n+\t\t\tof incoming calls it is recommended that you use these fields to do so.\n+ \n+ Outgoing caller id can\n+ not\n+ be set.\n+ \n+ \n+ \n+ Multiple endpoints using the\n+\t\t\t\tsame connection is\n+ NOT\n+ supported. Doing so\n+\t\t\t\tmay result in broken calls.\n+ \n+ \n+ \n+ \n+ \n+ The configuration for an endpoint.\n+ \n+ Default dialplan context that incoming sessions will be routed to\n+ \n+ \n+ A callgroup to assign to this endpoint.\n+ \n+ \n+ A pickup group to assign to this endpoint.\n+ \n+ \n+ The default language for this endpoint.\n+ \n+ \n+ Default music on hold class for this endpoint.\n+ \n+ \n+ Default parking lot for this endpoint.\n+ \n+ \n+ Accout code for CDR purposes\n+ \n+ \n+ Codecs to allow\n+ \n+ \n+ Codecs to disallow\n+ \n+ \n+ Connection to accept traffic on and on which to send traffic out\n+ \n+ \n+ The transport to use for the endpoint.\n+ \n+ \n+ The default outbound transport for this endpoint. Inbound\n+\t\t\t\t\t\tmessages are inferred. Allowed transports are\n+ ice-udp\n+ ,\n+ google\n+ , or\n+ google-v1\n+ . Note\n+\t\t\t\t\t\tthat\n+ chan_motif\n+ will fall back to transport\n+\t\t\t\t\t\tpreference order if the transport value chosen here fails.\n+ \n+ \n+ \n+ The Jingle protocol, as defined in XEP 0166.\n+ \n+ \n+ The Google Jingle protocol, which follows the Jingle\n+\t\t\t\t\t\t\t\tspecification for signaling but uses a custom transport for\n+\t\t\t\t\t\t\t\tmedia.\n+ \n+ \n+ \n+ Google-V1 is the original Google Talk signaling\n+\t\t\t\t\t\t\t\tprotocol which uses an initial preliminary version of Jingle.\n+\t\t\t\t\t\t\t\tIt also uses the same custom transport as\n+ google\n+ for media.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Maximum number of ICE candidates to offer\n+ \n+ \n+ Maximum number of payloads to offer\n+ \n+ \n+ \n+ \n+ \n+ extended\n+ \n+ \n+ \n+ \n+ R/O Get the IP address of the peer.\n+ \n+ \n+ R/O Get the source IP address of the peer.\n+ \n+ \n+ R/O Get the source port of the peer.\n+ \n+ \n+ R/O Get the URI from the From: header.\n+ \n+ \n+ R/O Get the URI from the Contact: header.\n+ \n+ \n+ R/O Get the Request-URI from the INVITE header.\n+ \n+ \n+ R/O Get the useragent.\n+ \n+ \n+ R/O Get the name of the peer.\n+ \n+ \n+ \n+ R/O\n+ 1\n+ if T38 is offered or enabled in this channel,\n+\t\t\totherwise\n+ 0\n+ \n+ \n+ \n+ R/O Get QOS information about the RTP stream\n+ This option takes two additional arguments:\n+ Argument 1:\n+ \n+ audio\n+ Get data about the audio stream\n+ \n+ \n+ video\n+ Get data about the video stream\n+ \n+ \n+ text\n+ Get data about the text stream\n+ \n+ Argument 2:\n+ \n+ local_ssrc\n+ Local SSRC (stream ID)\n+ \n+ \n+ local_lostpackets\n+ Local lost packets\n+ \n+ \n+ local_jitter\n+ Local calculated jitter\n+ \n+ \n+ local_maxjitter\n+ Local calculated jitter (maximum)\n+ \n+ \n+ local_minjitter\n+ Local calculated jitter (minimum)\n+ \n+ \n+ local_normdevjitter\n+ Local calculated jitter (normal deviation)\n+ \n+ \n+ local_stdevjitter\n+ Local calculated jitter (standard deviation)\n+ \n+ \n+ local_count\n+ Number of received packets\n+ \n+ \n+ remote_ssrc\n+ Remote SSRC (stream ID)\n+ \n+ \n+ remote_lostpackets\n+ Remote lost packets\n+ \n+ \n+ remote_jitter\n+ Remote reported jitter\n+ \n+ \n+ remote_maxjitter\n+ Remote calculated jitter (maximum)\n+ \n+ \n+ remote_minjitter\n+ Remote calculated jitter (minimum)\n+ \n+ \n+ remote_normdevjitter\n+ Remote calculated jitter (normal deviation)\n+ \n+ \n+ remote_stdevjitter\n+ Remote calculated jitter (standard deviation)\n+ \n+ \n+ remote_count\n+ Number of transmitted packets\n+ \n+ \n+ rtt\n+ Round trip time\n+ \n+ \n+ maxrtt\n+ Round trip time (maximum)\n+ \n+ \n+ minrtt\n+ Round trip time (minimum)\n+ \n+ \n+ normdevrtt\n+ Round trip time (normal deviation)\n+ \n+ \n+ stdevrtt\n+ Round trip time (standard deviation)\n+ \n+ \n+ all\n+ All statistics (in a form suited to logging,\n+\t\t\tbut not for parsing)\n+ \n+ \n+ \n+ R/O Get remote RTP destination information.\n+ This option takes one additional argument:\n+ Argument 1:\n+ \n+ audio\n+ Get audio destination\n+ \n+ \n+ video\n+ Get video destination\n+ \n+ \n+ text\n+ Get text destination\n+ \n+ \n+ Defaults to\n+ audio\n+ if unspecified.\n+ \n+ \n+ \n+ R/O Get source RTP destination information.\n+ This option takes one additional argument:\n+ Argument 1:\n+ \n+ audio\n+ Get audio destination\n+ \n+ \n+ video\n+ Get video destination\n+ \n+ \n+ text\n+ Get text destination\n+ \n+ \n+ Defaults to\n+ audio\n+ if unspecified.\n+ \n+ \n+ \n+ \n+ \n+ extended\n+ \n+ \n+ extended\n+ \n+ \n+ extended\n+ \n+ \n+ extended\n+ \n+ \n extended\n \n \n res_crypto\n crypto\n core\n \n@@ -2225,29 +1687,93 @@\n \n \n \n \n Show IAX registrations.\n \n \n- \n- nbs\n+ \n+ core\n+ \n+ \n+ \n+ Published when a malicious call ID request arrives.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ extended\n+ \n+ \n+ extended\n+ \n+ \n+ extended\n+ \n+ \n+ extended\n+ \n+ \n+ oss\n deprecated\n 16\n 19\n \n- \n- extended\n- \n \n ixjuser\n deprecated\n 16\n 19\n \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ nbs\n+ deprecated\n+ 16\n+ 19\n+ \n+ \n+ extended\n+ \n+ \n+ core\n+ \n \n extended\n 19\n 21\n \n \n List SKINNY devices (text format).\n@@ -2291,35 +1817,512 @@\n The line name you want to check.\n \n \n \n Show one SKINNY line with details on current status.\n \n \n- \n- oss\n- deprecated\n- 16\n- 19\n+ \n+ dahdi\n+ tonezone\n+ res_smdi\n+ pri\n+ ss7\n+ openr2\n+ core\n \n+ \n+ Send digits out of band over a PRI.\n+ \n+ \n+ \n+ \n+ This application will send the given string of digits in a Keypad\n+\t\t\tFacility IE over the current channel.\n+ \n+ \n+ \n+ Send an ISDN call rerouting/deflection facility message.\n+ \n+ \n+ Destination number.\n+ \n+ \n+ Original called number.\n+ \n+ \n+ \n+ Diversion reason, if not specified defaults to\n+ unknown\n+ \n+ \n+ \n+ \n+ This application will send an ISDN switch specific call\n+\t\t\trerouting/deflection facility message over the current channel.\n+\t\t\tSupported switches depend upon the version of libpri in use.\n+ \n+ \n+ \n+ Accept an R2 call if its not already accepted (you still need to answer it)\n+ \n+ \n+ Yes or No.\n+ Whether you want to accept the call with charge or without charge.\n+ \n+ \n+ \n+ This application will Accept the R2 call either with charge or no charge.\n+ \n+ \n+ \n+ Set or get the polarity of a DAHDI channel.\n+ \n+ \n+ The POLARITY function can be used to set the polarity of a DAHDI channel.\n+ Applies only to FXS channels (using FXO signalling) with supporting hardware.\n+ The polarity can be set to the following numeric or named values:\n+ \n+ \n+ \n+ \n+ \n+ \n+ However, when read, the function will always return 0 or 1.\n+ same => n,Set(POLARITY()=0)\n+ same => n,NoOp(Current Polarity: ${POLARITY()})\n+\t\t\tsame => n,Set(POLARITY()=reverse)\n+\t\t\tsame => n,NoOp(New Polarity: ${POLARITY()})\n+ same => n,Set(POLARITY()=${IF($[ "${POLARITY()}" = "1" ]?0:1)})\n+ \n+ \n+ \n+ \n+ \n+ R/O DAHDI channel related to this channel.\n+ \n+ \n+ R/O DAHDI span related to this channel.\n+ \n+ \n+ R/O DAHDI logical group related to this channel.\n+ \n+ \n+ R/O DAHDI channel type, one of:\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ R/O PRI Keypad digits that came in with the SETUP message.\n+ \n+ \n+ R/O PRI Reverse Charging Indication, one of:\n+ \n+ \n+ None\n+ \n+ \n+ Reverse Charging Requested\n+ \n+ \n+ \n+ \n+ R/O PRI Nonzero if the channel has no B channel.\n+\t\t\t\tThe channel is either on hold or a call waiting call.\n+ \n+ \n+ W/O Change the channel's buffer policy (for the current call only)\n+ This option takes two arguments:\n+ Number of buffers,\n+ Buffer policy being one of:\n+ \n+ full\n+ \n+ \n+ immediate\n+ \n+ \n+ half\n+ \n+ \n+ \n+ W/O Change the configuration of the active echo\n+\t\t\t\tcanceller on the channel (if any), for the current call\n+\t\t\t\tonly.\n+ Possible values are:\n+ \n+ on\n+ Normal mode (the echo canceller is actually reinitialized)\n+ \n+ \n+ off\n+ Disabled\n+ \n+ \n+ fax\n+ FAX/data mode (NLP disabled if possible, otherwise\n+\t\t\t\t\tcompletely disabled)\n+ \n+ \n+ voice\n+ Voice mode (returns from FAX mode, reverting the changes that were made)\n+ \n+ \n+ \n+ \n+ \n+ DAHDI allows several modifiers to be specified as part of the resource.\n+ The general syntax is :\n+ \n+ Dial(DAHDI/pseudo[/extension])\n+ \n+ \n+ Dial(DAHDI/<channel#>[c|r<cadence#>|d][/extension])\n+ \n+ \n+ Dial(DAHDI/(g|G|r|R)<group#(0-63)>[c|r<cadence#>|d][/extension])\n+ \n+ The following modifiers may be used before the channel number:\n+ \n+ \n+ Search forward, dialing on first available channel in group (lowest to highest).\n+ \n+ \n+ Search backward, dialing on first available channel in group (highest to lowest).\n+ \n+ \n+ Round robin search forward, picking up from where last left off (lowest to highest).\n+ \n+ \n+ Round robin search backward, picking up from where last left off (highest to lowest).\n+ \n+ \n+ The following modifiers may be used after the channel number:\n+ \n+ \n+ \n+ Wait for DTMF digit\n+ #\n+ before providing answer supervision.\n+ \n+ This can be useful on outbound calls via FXO ports, as otherwise\n+\t\t\tthey would indicate answer immediately.\n+ \n+ \n+ Force bearer capability for ISDN/SS7 call to digital.\n+ \n+ \n+ ISDN span channel restriction.\n+ Used by CC to ensure that the CC recall goes out the same span.\n+\t\t\tAlso to make ISDN channel names dialable when the sequence number\n+\t\t\tis stripped off. (Used by DTMF attended transfer feature.)\n+ \n+ \n+ Specifies the distinctive ring cadence number to use immediately after\n+\t\t\tspecifying this option. There are 4 default built-in cadences, and up to 24\n+\t\t\ttotal cadences may be configured.\n+ \n+ \n+ same => n,Dial(DAHDI/g1/5551212)\n+ same => n,Dial(DAHDI/4r2)\n+ same => n,Dial(DAHDI/3c/5551212)\n+ \n+ \n+ Transfer DAHDI Channel.\n+ \n+ \n+ \n+ DAHDI channel number to transfer.\n+ \n+ \n+ \n+ Simulate a flash hook event by the user connected to the channel.\n+ \n+ Valid only for analog channels.\n+ \n+ \n+ \n+ \n+ Hangup DAHDI Channel.\n+ \n+ \n+ \n+ DAHDI channel number to hangup.\n+ \n+ \n+ \n+ Simulate an on-hook event by the user connected to the channel.\n+ \n+ Valid only for analog channels.\n+ \n+ \n+ \n+ \n+ Dial over DAHDI channel while offhook.\n+ \n+ \n+ \n+ DAHDI channel number to dial digits.\n+ \n+ \n+ Digits to dial.\n+ \n+ \n+ \n+ Generate DTMF control frames to the bridged peer.\n+ \n+ \n+ \n+ Toggle DAHDI channel Do Not Disturb status ON.\n+ \n+ \n+ \n+ DAHDI channel number to set DND on.\n+ \n+ \n+ \n+ \n+ Equivalent to the CLI command "dahdi set dnd\n+ channel\n+ on".\n+ \n+ \n+ Feature only supported by analog channels.\n+ \n+ \n+ \n+ \n+ Toggle DAHDI channel Do Not Disturb status OFF.\n+ \n+ \n+ \n+ DAHDI channel number to set DND off.\n+ \n+ \n+ \n+ \n+ Equivalent to the CLI command "dahdi set dnd\n+ channel\n+ off".\n+ \n+ \n+ Feature only supported by analog channels.\n+ \n+ \n+ \n+ \n+ Show status of DAHDI channels.\n+ \n+ \n+ \n+ Specify the specific channel number to show. Show all channels if zero or not present.\n+ \n+ \n+ \n+ Similar to the CLI command "dahdi show channels".\n+ \n+ \n+ \n+ Fully Restart DAHDI channels (terminates calls).\n+ \n+ \n+ \n+ \n+ Equivalent to the CLI command "dahdi restart".\n+ \n+ \n+ \n+ Show status of PRI spans.\n+ \n+ \n+ \n+ Specify the specific span to show. Show all spans if zero or not present.\n+ \n+ \n+ \n+ Similar to the CLI command "pri show spans".\n+ \n+ \n+ \n+ Set PRI debug levels for a span\n+ \n+ \n+ \n+ Which span to affect.\n+ \n+ \n+ What debug level to set. May be a numerical value or a text value from the list below\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Equivalent to the CLI command "pri set debug <level> span <span>".\n+ \n+ \n+ \n+ Set the file used for PRI debug message output\n+ \n+ \n+ \n+ Path of file to write debug output.\n+ \n+ \n+ \n+ Equivalent to the CLI command "pri set debug file <output-file>"\n+ \n+ \n+ \n+ Disables file output for PRI debug messages\n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when an alarm is cleared on a DAHDI channel.\n+ \n+ \n+ The DAHDI channel on which the alarm was cleared.\n+ \n+ This is not an Asterisk channel identifier.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when an alarm is cleared on a DAHDI span.\n+ \n+ \n+ The span on which the alarm was cleared.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when the Do Not Disturb state is changed on a DAHDI channel.\n+ \n+ \n+ The DAHDI channel on which DND status changed.\n+ \n+ This is not an Asterisk channel identifier.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when an alarm is set on a DAHDI channel.\n+ \n+ \n+ The channel on which the alarm occurred.\n+ \n+ This is not an Asterisk channel identifier.\n+ \n+ \n+ \n+ A textual description of the alarm that occurred.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when an alarm is set on a DAHDI span.\n+ \n+ \n+ The span on which the alarm occurred.\n+ \n+ \n+ A textual description of the alarm that occurred.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a DAHDI channel is created or an underlying technology is associated with a DAHDI channel.\n+ \n+ \n+ \n+ The DAHDI logical group associated with this channel.\n+ \n+ \n+ The DAHDI span associated with this channel.\n+ \n+ \n+ The DAHDI channel associated with this channel.\n+ \n+ \n+ \n+ \n \n extended\n 19\n 21\n \n+ \n+ vpb\n+ yes\n+ deprecated\n+ 16\n+ 19\n+ \n+ \n+ isdnnet\n+ misdn\n+ suppserv\n+ deprecated\n+ chan_dahdi\n+ 16\n+ 19\n+ \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_pubsub\n+ res_pjsip_session\n+ core\n+ \n \n extended\n \n- \n- core\n+ \n+ extended\n+ \n+ \n+ portaudio\n+ extended\n \n \n lua\n extended\n \n+ \n+ core\n+ \n \n core\n \n \n Add an extension to the dialplan\n \n \n@@ -2364,22 +2367,22 @@\n \n \n If provided, only remove this priority from the extension instead of all\n \t\t\t\tpriorities in the extension.\n \n \n \n- \n- core\n+ \n+ extended\n \n \n extended\n \n- \n- extended\n+ \n+ core\n \n \n zlib\n res_crypto\n crypto\n extended\n \n@@ -2485,924 +2488,4278 @@\n \n Execute the named subroutine, defined in AEL, from another dialplan\n \t\t\tlanguage, such as extensions.conf, Realtime extensions, or Lua.\n The purpose of this application is to provide a sane entry point into\n \t\t\tAEL subroutines, the implementation of which may change from time to time.\n \n \n- \n+ \n core\n \n- \n- no\n+ \n+ Join a bridge that contains the specified channel.\n+ \n+ \n+ Name of the channel in an existing bridge\n+ \n+ \n+ \n+ This application places the incoming channel into\n+\t\t\tthe bridge containing the specified channel. The specified\n+\t\t\tchannel only needs to be the prefix of a full channel name\n+\t\t\tIE. 'SIP/cisco0001'.\n+ \n+ \n+ \n+ extended\n+ \n+ \n+ Execute Interface Test Server.\n+ \n+ \n+ \n+ Perform test server function and write call report. Results stored in\n+ /var/log/asterisk/testreports/<testid>-server.txt\n+ \n+ \n+ \n+ TestClient\n+ \n+ \n+ \n+ Execute Interface Test Client.\n+ \n+ \n+ An ID to identify this test.\n+ \n+ \n+ \n+ \n+ Executes test client with given\n+ testid\n+ . Results stored in\n+ /var/log/asterisk/testreports/<testid>-client.txt\n+ \n+ \n+ \n+ TestServer\n+ \n+ \n+ \n core\n \n- \n- An example number guessing game\n+ \n+ Echo media, up to 'N' streams of a type, and DTMF back to the calling party\n \n- \n- \n- \n- \n- \n- \n+ \n+ The number of streams of a type to echo back. If '0' is specified then\n+\t\t\tall streams of a type are removed.\n+ \n+ \n+ The media type of the stream(s) to add or remove (in the case of "num"\n+\t\t\tbeing '0'). This can be set to either "audio" or "video" (default). If "num"\n+\t\t\tis empty (i.e. not specified) then this parameter is ignored.\n \n \n \n- This simple number guessing application is a template to build other applications\n-\t\tfrom. It shows you the basic structure to create your own Asterisk applications.\n+ If a "num" (the number of streams) is not given then this simply echos\n+\t\t\tback any media or DTMF frames (note, however if '#' is detected then the\n+\t\t\tapplication exits) read from the calling channel back to itself. This means\n+\t\t\tfor any relevant frame read from a particular stream it is written back out\n+\t\t\tto the associated write stream in a one to one fashion.\n+ However if a "num" is specified, and if the calling channel allows it\n+\t\t\t(a new offer is made requesting the allowance of additional streams) then any\n+\t\t\tany media received, like before, is echoed back onto each stream. However, in\n+\t\t\tthis case a relevant frame received on a stream of the given "type" is also\n+\t\t\techoed back out to the other streams of that same type. It should be noted that\n+\t\t\twhen operating in this mode only the first stream found of the given "type" is\n+\t\t\tallowed from the original offer. And this first stream found is also the only\n+\t\t\tstream of that "type" granted read (send/receive) capabilities in the new offer\n+\t\t\twhereas the additional ones are set to receive only.\n+ \n+ This does not echo CONTROL, MODEM, or NULL frames.\n+ \n \n \n- \n- \n- \n- Options that apply globally to app_skel\n- \n- The number of games a single execution of SkelGuessNumber will play\n- \n- \n- Should the computer cheat?\n- \n- If enabled, the computer will ignore winning guesses.\n- \n- \n- \n- \n- Prompts for SkelGuessNumber to play\n- \n- A prompt directing the user to enter a number less than the max number\n- \n- \n- The sound file to play when a wrong guess is made\n- \n- \n- The sound file to play when a correct guess is made\n- \n- \n- The sound file to play when a guess is too low\n- \n- \n- The sound file to play when a guess is too high\n- \n- \n- The sound file to play when a player loses\n- \n- \n- \n- Defined levels for the SkelGuessNumber game\n- \n- The maximum in the range of numbers to guess (1 is the implied minimum)\n- \n- \n- The maximum number of guesses before a game is considered lost\n- \n- \n- \n- \n- \n- openssl\n- imap_tk\n- res_adsi\n- res_smdi\n- yes\n+ \n core\n \n- \n- Leave a Voicemail message.\n+ \n+ Attempt to connect to another device or endpoint and bridge the call.\n \n- \n- \n- \n- \n+ \n+ \n+ \n+ Specification of the device(s) to dial. These must be in the format of\n+ Technology/Resource\n+ , where\n+ Technology\n+ represents a particular channel driver, and\n+ Resource\n+ represents a resource available to that particular channel driver.\n+ \n \n- \n- \n- \n+ \n+ Optional extra devices to dial in parallel\n+ If you need more than one enter them as\n+\t\t\t\t\tTechnology2/Resource2&Technology3/Resource3&.....\n \n+ \n \n- \n+ \n+ Specifies the number of seconds we attempt to dial the specified devices.\n+ If not specified, this defaults to 136 years.\n+ \n+ \n \n- \n+ \n+ \n+ \n+ \n+ \n \n+ \n+ \n \n+ \n+ \n+ \n \n- \n- \n- \n- \n- \n- \n- This application allows the calling party to leave a message for the specified\n-\t\t\tlist of mailboxes. When multiple mailboxes are specified, the greeting will be taken from\n-\t\t\tthe first mailbox specified. Dialplan execution will stop if the specified mailbox does not\n-\t\t\texist.\n- The Voicemail application will exit if any of the following DTMF digits are received:\n- \n- \n- \n- Jump to the\n- o\n- extension in the current dialplan context.\n- \n- \n- \n- \n- Jump to the\n- a\n- extension in the current dialplan context.\n- \n- \n- \n- This application will set the following channel variable upon completion:\n- \n- \n- This indicates the status of the execution of the VoiceMail application.\n- \n- \n- \n- \n- \n- \n- \n- VoiceMailMain\n- \n- \n- \n- Check Voicemail messages.\n- \n- \n- \n- \n- \n- \n- \n \n+ \n- \n \n+ \n+ The optional URL will be sent to the called party if the channel driver supports it.\n+ \n \n \n+ This application will place calls to one or more specified channels. As soon\n+\t\t\tas one of the requested channels answers, the originating channel will be\n+\t\t\tanswered, if it has not already been answered. These two channels will then\n+\t\t\tbe active in a bridged call. All other channels that were requested will then\n+\t\t\tbe hung up.\n+ Unless there is a timeout specified, the Dial application will wait\n+\t\t\tindefinitely until one of the called channels answers, the user hangs up, or\n+\t\t\tif all of the called channels are busy or unavailable. Dialplan execution will\n+\t\t\tcontinue if no requested channels can be called, or if the timeout expires.\n+\t\t\tThis application will report normal termination if the originating channel\n+\t\t\thangs up, or if the call is bridged and either of the parties in the bridge\n+\t\t\tends the call.\n \n- This application allows the calling party to check voicemail messages. A specific\n- mailbox\n- , and optional corresponding\n- context\n+ If the\n+ OUTBOUND_GROUP\n+ variable is set, all peer channels created by this\n+\t\t\tapplication will be put into that group (as in\n+ Set(GROUP()=...\n+ ).\n+\t\t\tIf the\n+ OUTBOUND_GROUP_ONCE\n+ variable is set, all peer channels created by this\n+\t\t\tapplication will be put into that group (as in\n+ Set(GROUP()=...\n+ ). Unlike\n+ OUTBOUND_GROUP\n ,\n-\t\t\tmay be specified. If a\n- mailbox\n- is not provided, the calling party will\n-\t\t\tbe prompted to enter one. If a\n- context\n- is not specified, the\n- default\n- context will be used.\n+\t\t\thowever, the variable will be unset after use.\n \n- The VoiceMailMain application will exit if the following DTMF digit is entered as Mailbox\n-\t\t\tor Password, and the extension exists:\n- \n- \n- \n- Jump to the\n- a\n- extension in the current dialplan context.\n- \n- \n- \n+ same => n,Dial(PJSIP/alice,30)\n+ same => n,Dial(PJSIP/alice&PJIP/bob,45)\n+ same => n,Dial(PJSIP/alice,,g)\n+\t\t\t same => n,Log(NOTICE, Alice call result: ${DIALSTATUS})\n+ same => n,Dial(PJSIP/alice,,TX)\n+ same => n,Dial(PJSIP/alice,,L(60000:30000:10000))\n+ same => n,Dial(PJSIP/alice&PJSIP/bob,,Q(NO_ANSWER))\n+ [default]\n+\t\t\texten => callee_channel,1,NoOp(ARG1=${ARG1} ARG2=${ARG2})\n+\t\t\t same => n,Log(NOTICE, I'm called on channel ${CHANNEL} prior to it starting the dial attempt)\n+\t\t\t same => n,Return()\n+\t\t\texten => called_channel,1,NoOp(ARG1=${ARG1} ARG2=${ARG2})\n+\t\t\t same => n,Log(NOTICE, I'm called on outbound channel ${CHANNEL} prior to it being used to dial someone)\n+\t\t\t same => n,Return()\n+\t\t\texten => _X.,1,NoOp()\n+\t\t\t same => n,Dial(PJSIP/alice,,b(default^called_channel^1(my_gosub_arg1^my_gosub_arg2))B(default^callee_channel^1(my_gosub_arg1^my_gosub_arg2)))\n+\t\t\t same => n,Hangup()\n+ [my_gosub_routine]\n+\t\t\texten => s,1,NoOp(ARG1=${ARG1} ARG2=${ARG2})\n+\t\t\t same => n,Playback(hello)\n+\t\t\t same => n,Return()\n+\t\t\t[default]\n+\t\t\texten => _X.,1,NoOp()\n+\t\t\t same => n,Dial(PJSIP/alice,,U(my_gosub_routine^my_gosub_arg1^my_gosub_arg2))\n+\t\t\t same => n,Hangup()\n+ same => n,Dial(PJSIP/alice,,G(jump_to_here))\n+\t\t\t same => n(jump_to_here),Goto(confbridge)\n+\t\t\t same => n,Goto(confbridge)\n+\t\t\t same => n(confbridge),ConfBridge(${EXTEN})\n+ This application sets the following channel variables:\n+ \n+ \n+ This is the time from dialing a channel until when it is disconnected.\n+ \n+ \n+ This is the milliseconds version of the DIALEDTIME variable.\n+ \n+ \n+ This is the amount of time for actual call.\n+ \n+ \n+ This is the milliseconds version of the ANSWEREDTIME variable.\n+ \n+ \n+ This is the time from creating the channel to the first RINGING event received. Empty if there was no ring.\n+ \n+ \n+ This is the milliseconds version of the RINGTIME variable.\n+ \n+ \n+ This is the time from creating the channel to the first PROGRESS event received. Empty if there was no such event.\n+ \n+ \n+ This is the milliseconds version of the PROGRESSTIME variable.\n+ \n+ \n+ The name of the outbound channel that answered the call.\n+ \n+ \n+ The number that was dialed for the answered outbound channel.\n+ \n+ \n+ If a call forward occurred, the name of the forwarded channel.\n+ \n+ \n+ This is the status of the call\n+ Either the dialed peer exists but is not currently reachable, e.g.\n+\t\t\t\t\t\tendpoint is not registered, or an attempt was made to call a\n+\t\t\t\t\t\tnonexistent location, e.g. nonexistent DNS hostname.\n+ Channel or switching congestion occured when routing the call.\n+\t\t\t\t\t\tThis can occur if there is a slow or no response from the remote end.\n+ Called party did not answer.\n+ The called party was busy or indicated a busy status.\n+\t\t\t\t\t\tNote that some SIP devices will respond with 486 Busy if their Do Not Disturb\n+\t\t\t\t\t\tmodes are active. In this case, you can use DEVICE_STATUS to check if the\n+\t\t\t\t\t\tendpoint is actually in use, if needed.\n+ The call was answered.\n+\t\t\t\t\t\tAny other result implicitly indicates the call was not answered.\n+ Dial was cancelled before call was answered or reached some other terminating event.\n+ For the Privacy and Screening Modes.\n+\t\t\t\t\t\tWill be set if the called party chooses to send the calling party to the 'Go Away' script.\n+ For the Privacy and Screening Modes.\n+\t\t\t\t\t\tWill be set if the called party chooses to send the calling party to the 'torture' script.\n+ Dial failed due to invalid syntax.\n+ \n+ \n \n \n- VoiceMail\n+ RetryDial\n+ SendDTMF\n+ Gosub\n+ Macro\n \n \n- \n- Check to see if Voicemail mailbox exists.\n+ \n+ Place a call, retrying on failure allowing an optional exit extension.\n \n- \n- \n- \n+ \n+ Filename of sound that will be played when no channel can be reached\n \n- \n- None options.\n+ \n+ Number of seconds to wait after a dial attempt failed before a new attempt is made\n+ \n+ \n+ Number of retries\n+ When this is reached flow will continue at the next priority in the dialplan\n+ \n+ \n+ Same format as arguments provided to the Dial application\n \n \n \n- \n- DEPRECATED. Use VM_INFO(mailbox[@context],exists) instead.\n- \n \n- Check to see if the specified\n- mailbox\n- exists. If no voicemail\n- context\n- is specified, the\n- default\n- context\n-\t\t\twill be used.\n+ This application will attempt to place a call using the normal Dial application.\n+\t\t\tIf no channel can be reached, the\n+ announce\n+ file will be played.\n+\t\t\tThen, it will wait\n+ sleep\n+ number of seconds before retrying the call.\n+\t\t\tAfter\n+ retries\n+ number of attempts, the calling channel will continue at the next priority in the dialplan.\n+\t\t\tIf the\n+ retries\n+ setting is set to 0, this application will retry endlessly.\n+\t\t\tWhile waiting to retry a call, a 1 digit extension may be dialed. If that\n+\t\t\textension exists in either the context defined in\n+ EXITCONTEXT\n+ or the current\n+\t\t\tone, The call will jump to that extension immediately.\n+\t\t\tThe\n+ dialargs\n+ are specified in the same format that arguments are provided\n+\t\t\tto the Dial application.\n \n- This application will set the following channel variable upon completion:\n- \n- \n- This will contain the status of the execution of the MailboxExists application.\n-\t\t\t\t\tPossible values include:\n- \n- \n- \n- \n \n \n- VM_INFO\n+ Dial\n \n \n- \n- Authenticate with Voicemail passwords.\n+ \n+ core\n+ \n+ \n+ Send arbitrary text to verbose output.\n \n- \n- \n- \n+ \n+ Must be an integer value. If not specified, defaults to 0.\n \n- \n- \n- \n- \n+ \n+ Output text message.\n \n \n \n- \n- This application behaves the same way as the Authenticate application, but the passwords\n-\t\t\tare taken from\n- voicemail.conf\n- . If the\n- mailbox\n- is\n-\t\t\tspecified, only that mailbox's password will be considered valid. If the\n- mailbox\n- is not specified, the channel variable\n- AUTH_MAILBOX\n- will be set with the authenticated\n-\t\t\tmailbox.\n- \n- The VMAuthenticate application will exit if the following DTMF digit is entered as Mailbox\n-\t\t\tor Password, and the extension exists:\n- \n- \n- \n- Jump to the\n- a\n- extension in the current dialplan context.\n- \n- \n- \n+ Sends an arbitrary text message to verbose output.\n \n \n- \n- Play a single voice mail msg from a mailbox by msg id.\n+ \n+ Send arbitrary text to a selected log level.\n \n- \n- \n- \n+ \n+ \n+ Level must be one of\n+ ERROR\n+ ,\n+ WARNING\n+ ,\n+ NOTICE\n+ ,\n+ DEBUG\n+ ,\n+ VERBOSE\n+ ,\n+ DTMF\n+ , or\n+\t\t\t\tthe name of a custom dynamic logging level.\n+ \n \n- \n- The msg id of the msg to play back.\n+ \n+ Output text message.\n \n \n \n- This application sets the following channel variable upon completion:\n- \n- \n- The status of the playback attempt as a text string.\n- \n- \n- \n- \n+ Sends an arbitrary text message to a selected log level.\n \n \n- \n- Play the name of a voicemail user\n+ \n+ extended\n+ \n+ \n+ \n+ 16.21.0\n+ 18.7.0\n+ 19.0.0\n+ \n+ Detects MF digits on a channel and saves them to a variable.\n \n- \n- \n- \n+ \n+ \n+ The input digits will be stored in the given\n+ variable\n+ name.\n+ \n \n- \n- \n- \n- This application will say the recorded name of the voicemail user specified as the\n-\t\t\targument to this application. If no context is provided,\n- default\n- is assumed.\n- \n- Similar to the Background() application, playback of the recorded\n-\t\t\tname can be interrupted by entering an extension, which will be searched\n-\t\t\tfor in the current context.\n- \n- \n- \n- Tell if a mailbox is configured.\n- \n- \n- \n- \n- \n- \n- DEPRECATED. Use VM_INFO(mailbox[@context],exists) instead.\n- \n- \n- Returns a boolean of whether the corresponding\n- mailbox\n- exists.\n-\t\t\tIf\n- context\n- is not specified, defaults to the\n- default\n- context.\n- \n- \n- \n- VM_INFO\n- \n- \n- \n- Returns the selected attribute from a mailbox.\n- \n- \n- \n- \n+ \n+ \n+ The number of seconds to wait for all digits, if greater\n+\t\t\t\tthan\n+ 0\n+ . Can be floating point. Default\n+\t\t\t\tis no timeout.\n+ \n \n- \n+ \n \n- \n- \n- \n- \n- \n- \n- \n- \n- \n \n \n- \n- \n- If not specified,\n- INBOX\n- is assumed.\n- \n- \n \n \n \n- Returns the selected attribute from the specified\n- mailbox\n- .\n-\t\t\tIf\n- context\n- is not specified, defaults to the\n- default\n- context. Where the\n- folder\n- can be specified, common folders\n-\t\t\tinclude\n- INBOX\n- ,\n- Old\n- ,\n- Work\n- ,\n- Family\n- and\n- Friends\n+ Reads a ST, STP, ST2P, or ST3P-terminated string of MF digits from\n+\t\t\tthe user in to the given\n+ variable\n .\n \n+ \n+ This application does not automatically answer the channel and\n+\t\t\tshould be preceded with\n+ Answer\n+ or\n+ Progress\n+ as needed.\n+ \n+ \n+ \n+ This is the status of the read operation.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n- \n- \n- List All Voicemail User Information.\n- \n- \n- \n- \n- \n- \n- Show the status of given voicemail user's info.\n+ \n+ Read\n+ SendMF\n+ ReceiveSF\n+ \n+ \n+ \n+ \n+ 16.21.0\n+ 18.7.0\n+ 19.0.0\n+ \n+ Sends arbitrary MF digits on the current or specified channel.\n \n- \n- \n- The context you want to check.\n+ \n+ List of digits 0-9,*#ABC to send; w for a half-second pause,\n+\t\t\t\talso f or F for a flash-hook if the channel supports flash-hook,\n+\t\t\t\th or H for 250 ms of 2600 Hz,\n+\t\t\t\tand W for a wink if the channel supports wink.\n+ Key pulse and start digits are not included automatically.\n+\t\t\t\t* is used for KP, # for ST, A for STP, B for ST2P, and C for ST3P.\n \n- \n- The mailbox you want to check.\n+ \n+ Amount of time to wait in ms between tones. (defaults to 50ms).\n+ \n+ \n+ Duration of each numeric digit (defaults to 55ms).\n+ \n+ \n+ Duration of KP digits (defaults to 120ms).\n+ \n+ \n+ Duration of ST, STP, ST2P, and ST3P digits (defaults to 65ms).\n+ \n+ \n+ Channel where digits will be played\n \n \n \n- Retrieves the status of the given voicemail user.\n+ It will send all digits or terminate if it encounters an error.\n \n- \n- \n- Tell Asterisk to poll mailboxes for a change\n+ \n+ ReceiveMF\n+ SendSF\n+ SendDTMF\n+ \n+ \n+ \n+ \n+ 16.21.0\n+ 18.7.0\n+ 19.0.0\n+ \n+ Play MF digit on a specific channel.\n \n \n- \n- \n+ \n+ Channel name to send digit to.\n+ \n+ \n+ The MF digit to play.\n+ \n+ \n+ The duration, in milliseconds, of the digit to be played.\n+ \n \n \n- \n- Normally, MWI indicators are only sent when Asterisk itself\n-\t\t\tchanges a mailbox. With external programs that modify the content\n-\t\t\tof a mailbox from outside the application, an option exists called\n- pollmailboxes\n- that will cause voicemail to\n-\t\t\tcontinually scan all mailboxes on a system for changes. This can\n-\t\t\tcause a large amount of load on a system. This command allows\n-\t\t\texternal applications to signal when a particular mailbox has\n-\t\t\tchanged, thus permitting external applications to modify mailboxes\n-\t\t\tand MWI to work without introducing considerable CPU load.\n- \n- \n- If\n- Context\n- is not specified, all\n-\t\t\tmailboxes on the system will be polled for changes. If\n- Context\n- is specified, but\n- Mailbox\n- is omitted, then all mailboxes\n-\t\t\twithin\n- Context\n- will be polled.\n-\t\t\tOtherwise, only a single mailbox will be polled for changes.\n- \n+ Plays an MF digit on the specified channel.\n \n \n- \n+ \n+ res_speech\n core\n \n- \n- Says a specified time in a custom format.\n+ \n+ Create a Speech Structure.\n \n- \n- time, in seconds since Jan 1, 1970. May be negative. Defaults to now.\n- \n- \n- \n- timezone, see\n- /usr/share/zoneinfo\n- for a list. Defaults to machine default.\n- \n- \n- \n- \n- a format the time is to be said in. See\n- voicemail.conf\n- .\n-\t\t\t\tDefaults to\n- ABdY "digits/at" IMp\n- \n+ \n+ \n+ \n+ This application creates information to be used by all the other applications.\n+\t\t\tIt must be called before doing any speech recognition activities such as activating a grammar.\n+\t\t\tIt takes the engine name to use as the argument, if not specified the default engine will be used.\n+ Sets the ERROR channel variable to 1 if the engine cannot be used.\n+ \n+ \n+ \n+ Activate a grammar.\n+ \n+ \n+ \n+ \n+ This activates the specified grammar to be recognized by the engine.\n+\t\t\tA grammar tells the speech recognition engine what to recognize, and how to portray it back to you\n+\t\t\tin the dialplan. The grammar name is the only argument to this application.\n+ Hangs up the channel on failure. If this is not desired, use TryExec.\n+ \n+ \n+ \n+ Start recognizing voice in the audio stream.\n+ \n+ \n+ Tell the speech recognition engine that it should start trying to get results from audio being\n+\t\t\tfed to it.\n+ Hangs up the channel on failure. If this is not desired, use TryExec.\n+ \n+ \n+ \n+ Play a sound file and wait for speech to be recognized.\n+ \n+ \n+ \n+ Timeout integer in seconds. Note the timeout will only start\n+\t\t\t\tonce the sound file has stopped playing.\n \n- \n+ \n \n- \n \n \n \n \n- \n- Uses some of the sound files stored in\n- /var/lib/asterisk/sounds\n- to construct a phrase\n-\t\t\tsaying the specified date and/or time in the specified format.\n- \n+ This application plays a sound file and waits for the person to speak. Once they start speaking playback\n+\t\t\tof the file stops, and silence is heard. Once they stop talking the processing sound is played to indicate\n+\t\t\tthe speech recognition engine is working. Once results are available the application returns and results\n+\t\t\t(score and text) are available using dialplan functions.\n+ The first text and score are ${SPEECH_TEXT(0)} AND ${SPEECH_SCORE(0)} while the second are ${SPEECH_TEXT(1)}\n+\t\t\tand ${SPEECH_SCORE(1)}.\n+ The first argument is the sound file and the second is the timeout integer in seconds.\n+ Hangs up the channel on failure. If this is not desired, use TryExec.\n \n- \n- STRFTIME\n- STRPTIME\n- IFTIME\n- \n \n- \n- Says a specified time in a custom format.\n+ \n+ Deactivate a grammar.\n \n- \n- time, in seconds since Jan 1, 1970. May be negative. Defaults to now.\n- \n- \n- \n- timezone, see\n- /usr/share/zoneinfo\n- for a list. Defaults to machine default.\n- \n- \n- \n- \n- a format the time is to be said in. See\n- voicemail.conf\n- .\n-\t\t\t\tDefaults to\n- ABdY "digits/at" IMp\n- \n+ \n+ The grammar name to deactivate\n \n \n \n- Say the date and time in a specified format.\n+ This deactivates the specified grammar so that it is no longer recognized.\n+ Hangs up the channel on failure. If this is not desired, use TryExec.\n \n \n- \n- extended\n+ \n+ Change background processing sound.\n+ \n+ \n+ \n+ \n+ This changes the processing sound that SpeechBackground plays back when the speech recognition engine is\n+\t\t\tprocessing and working to get results.\n+ Hangs up the channel on failure. If this is not desired, use TryExec.\n+ \n+ \n+ \n+ End speech recognition.\n+ \n+ \n+ This destroys the information used by all the other speech recognition applications.\n+\t\t\tIf you call this application but end up wanting to recognize more speech, you must call SpeechCreate()\n+\t\t\tagain before calling any other application.\n+ Hangs up the channel on failure. If this is not desired, use TryExec.\n+ \n+ \n+ \n+ Load a grammar.\n+ \n+ \n+ \n+ \n+ \n+ Load a grammar only on the channel, not globally.\n+ Hangs up the channel on failure. If this is not desired, use TryExec.\n+ \n+ \n+ \n+ Unload a grammar.\n+ \n+ \n+ \n+ \n+ Unload a grammar.\n+ Hangs up the channel on failure. If this is not desired, use TryExec.\n+ \n+ \n+ \n+ Gets the confidence score of a result.\n+ \n+ \n+ \n+ \n+ \n+ Gets the confidence score of a result.\n+ \n+ \n+ \n+ Gets the recognized text of a result.\n+ \n+ \n+ \n+ \n+ \n+ Gets the recognized text of a result.\n+ \n+ \n+ \n+ Gets the matched grammar of a result if available.\n+ \n+ \n+ \n+ \n+ \n+ Gets the matched grammar of a result if available.\n+ \n+ \n+ \n+ Get or change a speech engine specific attribute.\n+ \n+ \n+ \n+ \n+ Changes a speech engine specific attribute.\n+ \n+ \n+ \n+ Sets the type of results that will be returned.\n+ \n+ \n+ Sets the type of results that will be returned. Valid options are normal or nbest.\n+ \n+ \n+ \n+ Gets information about speech recognition results.\n+ \n+ \n+ \n+ \n+ \n+ Returns\n+ 1\n+ upon speech object existing,\n+\t\t\t\t\t\tor\n+ 0\n+ if not\n+ \n+ \n+ \n+ \n+ Returns\n+ 1\n+ if spoker spoke,\n+\t\t\t\t\t\tor\n+ 0\n+ if not\n+ \n+ \n+ \n+ Returns number of results that were recognized.\n+ \n+ \n+ \n+ \n+ \n+ Gets information about speech recognition results.\n+ \n+ \n+ \n+ core\n \n- \n- Plays morse code.\n+ \n+ Conference bridge application.\n \n- \n- String to playback as morse code to channel\n+ \n+ Name of the conference bridge. You are not limited to just\n+\t\t\t\tnumbers.\n+ \n+ \n+ The bridge profile name from confbridge.conf. When left blank,\n+\t\t\t\ta dynamically built bridge profile created by the CONFBRIDGE dialplan\n+\t\t\t\tfunction is searched for on the channel and used. If no dynamic\n+\t\t\t\tprofile is present, the 'default_bridge' profile found in\n+\t\t\t\tconfbridge.conf is used.\n+ It is important to note that while user profiles may be unique\n+\t\t\t\tfor each participant, mixing bridge profiles on a single conference\n+\t\t\t\tis _NOT_ recommended and will produce undefined results.\n+ \n+ \n+ The user profile name from confbridge.conf. When left blank,\n+\t\t\t\ta dynamically built user profile created by the CONFBRIDGE dialplan\n+\t\t\t\tfunction is searched for on the channel and used. If no dynamic\n+\t\t\t\tprofile is present, the 'default_user' profile found in\n+\t\t\t\tconfbridge.conf is used.\n+ \n+ \n+ The name of the DTMF menu in confbridge.conf to be applied to\n+\t\t\t\tthis channel. When left blank, a dynamically built menu profile\n+\t\t\t\tcreated by the CONFBRIDGE dialplan function is searched for on\n+\t\t\t\tthe channel and used. If no dynamic profile is present, the\n+\t\t\t\t'default_menu' profile found in confbridge.conf is used.\n \n \n \n- Plays the Morse code equivalent of the passed string.\n- This application does not automatically answer and should be preceeded by\n-\t\t\tan application such as Answer() or Progress().\n- This application uses the following variables:\n+ Enters the user into a specified conference bridge. The user can\n+\t\t\texit the conference by hangup or DTMF menu option.\n+ This application sets the following channel variable upon completion:\n \n- \n- Use this value in (ms) for length of dit\n- \n- \n- The pitch of the tone in (Hz), default is 800\n- \n- \n- The pitch of the spaces in (Hz), default is 0\n- \n- \n- The code type to use (AMERICAN for standard American Morse\n-\t\t\t\t\tor INTERNATIONAL for international code.\n-\t\t\t\t\tDefault is INTERNATIONAL).\n+ \n+ The channel encountered an error and could not enter the conference.\n+ The channel exited the conference by hanging up.\n+ The channel was kicked from the conference.\n+ The channel left the conference as a result of the last marked user leaving.\n+ The channel pressed a DTMF sequence to exit the conference.\n+ The channel reached its configured timeout.\n \n \n \n \n- SayAlpha\n- SayPhonetic\n+ ConfKick\n+ CONFBRIDGE\n+ CONFBRIDGE_INFO\n+ CONFBRIDGE_CHANNELS\n \n \n- \n- extended\n- \n- \n+ \n \n- 16.20.0\n- 18.6.0\n+ 16.19.0\n+ 18.5.0\n 19.0.0\n \n- Wait (sleep) until the given condition is true.\n+ Kicks channel(s) from the requested ConfBridge.\n \n- \n- \n- Specifies the character in the expression used to replace the\n- $\n- character. This character should not be used anywhere in the expression itself.\n- \n- \n- \n+ \n+ \n \n- A modified logical expression with the\n- $\n- characters replaced by\n- replacementchar\n- . This is necessary to pass the expression itself\n-\t\t\t\tinto the application, rather than its initial evaluation.\n+ The channel to kick,\n+ all\n+ to kick all users, or\n+ participants\n+ to kick all non-admin participants. Default is all.\n \n \n- \n- The maximum amount of time, in seconds, this application should wait for a condition\n-\t\t\t\tto become true before dialplan execution continues automatically to the next priority.\n-\t\t\t\tBy default, there is no timeout.\n- \n- \n- The frequency, in seconds, of polling the condition, which can be adjusted depending\n-\t\t\t\ton how time-sensitive execution needs to be. By default, this is 0.05.\n- \n \n \n- \n- Waits until\n- expression\n- evaluates to true, checking every\n- interval\n- seconds for up to\n- timeout\n- . Default\n-\t\t\tis evaluate\n- expression\n- every 50 milliseconds with no timeout.\n- \n- same => n,WaitForCondition(#,#["#{condition}"="1"],40,0.5)\n- \n- Sets\n- WAITFORCONDITIONSTATUS\n- to one of the following values:\n- \n+ Kicks the requested channel(s) from a conference bridge.\n \n- \n- Condition evaluated to true before timeout expired.\n- Invalid argument.\n- Timeout elapsed without condition evaluating to true.\n- Channel hung up before condition became true.\n+ \n+ Could not kick any users with the provided arguments.\n+ Successfully kicked users from specified conference bridge.\n \n \n \n+ \n+ ConfBridge\n+ CONFBRIDGE\n+ CONFBRIDGE_INFO\n+ CONFBRIDGE_CHANNELS\n+ \n \n- \n- core\n- \n- \n- Directed extension call pickup.\n+ \n+ Set a custom dynamic bridge, user, or menu profile on a channel for the\n+\t\t\tConfBridge application using the same options available in confbridge.conf.\n \n- \n- \n- Specification of the pickup target.\n- \n- \n- \n- \n- Additional specifications of pickup targets.\n- \n- \n- \n+ \n+ To what type of conference profile the option applies.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Option refers to a\n+ confbridge.conf\n+ option\n+\t\t\t\tthat is being set dynamically on this channel, or\n+ clear\n+ to remove already applied profile options from the channel.\n+ \n \n \n \n- This application can pickup a specified ringing channel. The channel\n-\t\t\tto pickup can be specified in the following ways.\n \n- 1) If no\n- extension\n- targets are specified,\n-\t\t\tthe application will pickup a channel matching the pickup group of the\n-\t\t\trequesting channel.\n+ A custom profile uses the default profile type settings defined in\n+ confbridge.conf\n+ as defaults if the profile template\n+\t\t\tis not explicitly specified first.\n \n \n- 2) If the\n- extension\n- is specified with a\n- context\n- of the special string\n- PICKUPMARK\n- (for example 10@PICKUPMARK), the application\n-\t\t\twill pickup a channel which has defined the channel variable\n- PICKUPMARK\n- with the same value as\n- extension\n- (in this example,\n- 10\n- ).\n+ For\n+ bridge\n+ profiles the default template is\n+ default_bridge\n+ .\n \n \n- 3) If the\n- extension\n- is specified\n-\t\t\twith or without a\n- context\n- , the channel with a\n-\t\t\tmatching\n- extension\n- and\n- context\n- will be picked up. If no\n- context\n- is specified,\n-\t\t\tthe current context will be used.\n+ For\n+ menu\n+ profiles the default template is\n+ default_menu\n+ .\n \n- \n- \n- The\n- extension\n- is typically set on\n-\t\t\tmatching channels by the dial application that created the channel. The\n- context\n- is set on matching channels by the\n-\t\t\tchannel driver for the device.\n- \n- \n- \n- \n- \n- Pickup a ringing channel.\n- \n- \n- \n- \n- \n- List of channel names or channel uniqueids to pickup if ringing.\n-\t\t\t\t\tFor example, a channel name could be\n- SIP/bob\n- or\n- SIP/bob-00000000\n- to find\n- SIP/bob-00000000\n- .\n- \n- \n- \n- \n- \n- \n- \n- \n- \n \n- Pickup a specified\n- channel\n- if ringing.\n+ For\n+ user\n+ profiles the default template is\n+ default_user\n+ .\n \n- \n- \n- \n- unixodbc\n- res_adsi\n- res_smdi\n- yes\n- core\n- \n- \n- Leave a Voicemail message.\n- \n- \n- \n- \n- \n+ ---- Example 1 ----\n+ In this example the custom user profile set on the channel will\n+\t\t\tautomatically be used by the ConfBridge application.\n+ exten => 1,1,Answer()\n+ ; In this example the effect of the following line is\n+ ; implied:\n+ same => n,Set(CONFBRIDGE(user,template)=default_user)\n+\t\t\tsame => n,Set(CONFBRIDGE(user,announce_join_leave)=yes)\n+\t\t\tsame => n,Set(CONFBRIDGE(user,startmuted)=yes)\n+\t\t\tsame => n,ConfBridge(1)\n+ ---- Example 2 ----\n+ \n+ This example shows how to use a predefined user profile in\n+ confbridge.conf\n+ as a template for a dynamic profile.\n+\t\t\tHere we make an admin/marked user out of the\n+ my_user\n+ profile that you define in\n+ confbridge.conf\n+ .\n+ \n+ exten => 1,1,Answer()\n+\t\t\tsame => n,Set(CONFBRIDGE(user,template)=my_user)\n+\t\t\tsame => n,Set(CONFBRIDGE(user,admin)=yes)\n+\t\t\tsame => n,Set(CONFBRIDGE(user,marked)=yes)\n+\t\t\tsame => n,ConfBridge(1)\n+ \n+ \n+ \n+ Get information about a ConfBridge conference.\n+ \n+ \n+ What conference information is requested.\n+ \n+ \n+ Get the number of admin users in the conference.\n+ \n+ \n+ Determine if the conference is locked. (0 or 1)\n+ \n+ \n+ Get the number of marked users in the conference.\n+ \n+ \n+ Determine if the conference is muted. (0 or 1)\n+ \n+ \n+ Get the number of users in the conference.\n+ \n+ \n+ \n+ \n+ The name of the conference being referenced.\n+ \n+ \n+ \n+ This function returns a non-negative integer for valid conference\n+\t\t\tnames and an empty string for invalid conference names.\n+ \n+ \n+ CONFBRIDGE_CHANNELS\n+ \n+ \n+ \n+ \n+ 16.26.0\n+ 18.12.0\n+ 19.4.0\n+ \n+ Get a list of channels in a ConfBridge conference.\n+ \n+ \n+ What conference information is requested.\n+ \n+ \n+ Get the number of admin users in the conference.\n+ \n+ \n+ Get the number of marked users in the conference.\n+ \n+ \n+ Get the number of total users in the conference.\n+ \n+ \n+ Get the number of active users in the conference.\n+ \n+ \n+ Get the number of waiting users in the conference.\n+ \n+ \n+ \n+ \n+ The name of the conference being referenced.\n+ \n+ \n+ \n+ This function returns a comma-separated list of channels in a ConfBridge conference, optionally filtered by a type of participant.\n+ \n+ \n+ CONFBRIDGE_INFO\n+ \n+ \n+ \n+ List participants in a conference.\n+ \n+ \n+ \n+ Conference number.\n+ \n+ \n+ \n+ Lists all users in a particular ConfBridge conference.\n+\t\t\tConfbridgeList will follow as separate events, followed by a final event called\n+\t\t\tConfbridgeListComplete.\n+ \n+ \n+ \n+ \n+ Raised as part of the ConfbridgeList action response list.\n+ \n+ \n+ The name of the Confbridge conference.\n+ \n+ \n+ Identifies this user as an admin user.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Identifies this user as a marked user.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Must this user wait for a marked user to join?\n+ \n+ \n+ \n+ \n+ \n+ \n+ Does this user get kicked after the last marked user leaves?\n+ \n+ \n+ \n+ \n+ \n+ \n+ Is this user waiting for a marked user to join?\n+ \n+ \n+ \n+ \n+ \n+ \n+ The current mute status.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Is this user talking?\n+ \n+ \n+ \n+ \n+ \n+ \n+ The number of seconds the channel has been up.\n+ \n+ \n+ \n+ \n+ \n+ \n+ List active conferences.\n+ \n+ \n+ \n+ \n+ Lists data about all active conferences.\n+\t\t\t\tConfbridgeListRooms will follow as separate events, followed by a final event called\n+\t\t\t\tConfbridgeListRoomsComplete.\n+ \n+ \n+ \n+ Mute a Confbridge user.\n+ \n+ \n+ \n+ \n+ If this parameter is not a complete channel name, the first channel with this prefix will be used.\n+ If this parameter is "all", all channels will be muted.\n+ If this parameter is "participants", all non-admin channels will be muted.\n+ \n+ \n+ \n+ \n+ \n+ Unmute a Confbridge user.\n+ \n+ \n+ \n+ \n+ If this parameter is not a complete channel name, the first channel with this prefix will be used.\n+ If this parameter is "all", all channels will be unmuted.\n+ If this parameter is "participants", all non-admin channels will be unmuted.\n+ \n+ \n+ \n+ \n+ \n+ Kick a Confbridge user.\n+ \n+ \n+ \n+ \n+ If this parameter is "all", all channels will be kicked from the conference.\n+ If this parameter is "participants", all non-admin channels will be kicked from the conference.\n+ \n+ \n+ \n+ \n+ \n+ Lock a Confbridge conference.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Unlock a Confbridge conference.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Start recording a Confbridge conference.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Start recording a conference. If recording is already present an error will be returned. If RecordFile is not provided, the default record file specified in the conference's bridge profile will be used, if that is not present either a file will automatically be generated in the monitor directory.\n+ \n+ \n+ \n+ Stop recording a Confbridge conference.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Set a conference user as the single video source distributed to all other participants.\n+ \n+ \n+ \n+ \n+ If this parameter is not a complete channel name, the first channel with this prefix will be used.\n+ \n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ Dump Info About The Calling Channel.\n+ \n+ \n+ Minimum verbose level\n+ \n+ \n+ \n+ \n+ Displays information on channel and listing of all channel\n+\t\t\tvariables. If\n+ level\n+ is specified, output is only\n+\t\t\tdisplayed when the verbose level is currently set to that number\n+\t\t\tor greater.\n+ \n+ \n+ \n+ NoOp\n+ Verbose\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Sends arbitrary DTMF digits\n+ \n+ \n+ List of digits 0-9,*#,a-d,A-D to send also w for a half second pause,\n+\t\t\t\tW for a one second pause, and f or F for a flash-hook if the channel supports\n+\t\t\t\tflash-hook.\n+ \n+ \n+ Amount of time to wait in ms between tones. (defaults to .25s)\n+ \n+ \n+ Duration of each digit\n+ \n+ \n+ Channel where digits will be played\n+ \n+ \n+ \n+ It will send all digits or terminate if it encounters an error.\n+ \n+ \n+ Read\n+ \n+ \n+ \n+ Play DTMF signal on a specific channel.\n+ \n+ \n+ \n+ Channel name to send digit to.\n+ \n+ \n+ The DTMF digit to play.\n+ \n+ \n+ The duration, in milliseconds, of the digit to be played.\n+ \n+ \n+ Emulate receiving DTMF on this channel instead of sending it out.\n+ \n+ \n+ \n+ Plays a dtmf digit on the specified channel.\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Hangs up the requested channel.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Hangs up the requested channel. If there are no channels to\n+\t\t\thangup, the application will report it.\n+ \n+ \n+ \n+ res_stasis\n+ core\n+ \n+ \n+ Invoke an external Stasis application.\n+ \n+ \n+ Name of the application to invoke.\n+ \n+ \n+ Optional comma-delimited arguments for the\n+\t\t\t\tapplication invocation.\n+ \n+ \n+ \n+ Invoke a Stasis application.\n+ This application will set the following channel variable upon\n+\t\t\tcompletion:\n+ \n+ \n+ This indicates the status of the execution of the\n+\t\t\t\t\tStasis application.\n+ The channel has exited Stasis without any failures in\n+\t\t\t\t\t\tStasis.\n+ A failure occurred when executing the Stasis\n+\t\t\t\t\t\tThe app registry is not instantiated; The app\n+\t\t\t\t\t\tapplication. Some (not all) possible reasons for this:\n+\t\t\t\t\t\trequested is not registered; The app requested is not\n+\t\t\t\t\t\tactive; Stasis couldn't send a start message.\n+ \n+ \n+ \n+ \n+ \n+ extended\n+ \n+ \n+ Block telemarketers with SIT.\n+ \n+ \n+ Comma delimited list of options.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Generates special information tone to block telemarketers from calling you.\n+ This application will set the following channel variable upon completion:\n+ \n+ \n+ This will contain the last action accomplished by the\n+\t\t\t\t\tZapateller application. Possible values include:\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ extended\n+ \n+ \n+ \n+ 16.20.0\n+ 18.6.0\n+ 19.0.0\n+ \n+ Stores DTMF digits transmitted or received on a channel.\n+ \n+ \n+ \n+ Must be\n+ TX\n+ or\n+ RX\n+ to\n+\t\t\t\tstore digits, or\n+ remove\n+ to disable.\n+ \n+ \n+ \n+ \n+ \n+ The StoreDTMF function can be used to obtain digits sent in the\n+ TX\n+ or\n+ RX\n+ direction of any channel.\n+ \n+ The arguments are:\n+ \n+ var_name\n+ : Name of variable to which to append\n+\t\t\tdigits.\n+ \n+ \n+ max_digits\n+ : The maximum number of digits to\n+\t\t\tstore in the variable. Defaults to 0 (no maximum). After reading\n+ maximum\n+ digits, no more digits will be stored.\n+ \n+ same => n,StoreDTMF(TX,CDR(digits))\n+ same => n,StoreDTMF(RX,testvar,24)\n+ same => n,StoreDTMF(remove)\n+ \n+ \n+ \n+ extended\n+ \n+ \n+ Waits for a specified amount of silence.\n+ \n+ \n+ \n+ If not specified, defaults to\n+ 1000\n+ milliseconds.\n+ \n+ \n+ \n+ \n+ If not specified, defaults to\n+ 1\n+ .\n+ \n+ \n+ \n+ Is specified only to avoid an infinite loop in cases where silence is never achieved.\n+ \n+ \n+ \n+ \n+ Waits for up to\n+ silencerequired\n+ milliseconds of silence,\n+ iterations\n+ times. An optional\n+ timeout\n+ specified the number of seconds to return after, even if we do not receive the specified amount of silence.\n+\t\t\tUse\n+ timeout\n+ with caution, as it may defeat the purpose of this application, which\n+\t\t\tis to wait indefinitely until silence is detected on the line. This is particularly useful for reverse-911-type\n+\t\t\tcall broadcast applications where you need to wait for an answering machine to complete its spiel before\n+\t\t\tplaying a message.\n+ \n+ Typically you will want to include two or more calls to WaitForSilence when dealing with an answering\n+\t\t\tmachine; first waiting for the spiel to finish, then waiting for the beep, etc.\n+ same => n,WaitForSilence(500,2)\n+ same => n,WaitForSilence(1000)\n+ same => n,WaitForSilence(300,3,10)\n+ \n+ Sets the channel variable\n+ WAITSTATUS\n+ to one of these values:\n+ \n+ \n+ \n+ if exited with silence detected.\n+ if exited without silence detected after timeout.\n+ \n+ \n+ \n+ \n+ WaitForNoise\n+ \n+ \n+ \n+ Waits for a specified amount of noise.\n+ \n+ \n+ \n+ If not specified, defaults to\n+ 1000\n+ milliseconds.\n+ \n+ \n+ \n+ \n+ If not specified, defaults to\n+ 1\n+ .\n+ \n+ \n+ \n+ Is specified only to avoid an infinite loop in cases where silence is never achieved.\n+ \n+ \n+ \n+ \n+ Waits for up to\n+ noiserequired\n+ milliseconds of noise,\n+ iterations\n+ times. An optional\n+ timeout\n+ specified the number of seconds to return after, even if we do not receive the specified amount of noise.\n+\t\t\tUse\n+ timeout\n+ with caution, as it may defeat the purpose of this application, which\n+\t\t\tis to wait indefinitely until noise is detected on the line.\n+ \n+ \n+ \n+ WaitForSilence\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Execute a system command.\n+ \n+ \n+ Command to execute\n+ \n+ \n+ Do not use untrusted strings such as\n+ CALLERID(num)\n+ or\n+ CALLERID(name)\n+ as part of the command parameters. You\n+\t\t\t\trisk a command injection attack executing arbitrary commands if the untrusted\n+\t\t\t\tstrings aren't filtered to remove dangerous characters. See function\n+ FILTER()\n+ .\n+ \n+ \n+ \n+ \n+ \n+ Executes a command by using system(). If the command\n+\t\t\tfails, the console should report a fallthrough.\n+ \n+ Result of execution is returned in the\n+ SYSTEMSTATUS\n+ channel variable:\n+ \n+ \n+ \n+ Could not execute the specified command.\n+ Specified command successfully executed.\n+ \n+ \n+ \n+ \n+ \n+ Try executing a system command.\n+ \n+ \n+ Command to execute\n+ \n+ \n+ Do not use untrusted strings such as\n+ CALLERID(num)\n+ or\n+ CALLERID(name)\n+ as part of the command parameters. You\n+\t\t\t\trisk a command injection attack executing arbitrary commands if the untrusted\n+\t\t\t\tstrings aren't filtered to remove dangerous characters. See function\n+ FILTER()\n+ .\n+ \n+ \n+ \n+ \n+ \n+ Executes a command by using system().\n+ \n+ Result of execution is returned in the\n+ SYSTEMSTATUS\n+ channel variable:\n+ \n+ \n+ \n+ Could not execute the specified command.\n+ Specified command successfully executed.\n+ Specified command successfully executed, but returned error code.\n+ \n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ \n+ Raised when a conference starts.\n+ \n+ \n+ The name of the Confbridge conference.\n+ \n+ \n+ \n+ \n+ ConfbridgeEnd\n+ ConfBridge\n+ \n+ \n+ \n+ \n+ \n+ Raised when a conference ends.\n+ \n+ \n+ The name of the Confbridge conference.\n+ \n+ \n+ \n+ \n+ ConfbridgeStart\n+ ConfBridge\n+ \n+ \n+ \n+ \n+ \n+ Raised when a channel joins a Confbridge conference.\n+ \n+ \n+ The name of the Confbridge conference.\n+ \n+ \n+ \n+ \n+ Identifies this user as an admin user.\n+ \n+ \n+ \n+ \n+ \n+ \n+ The joining mute status.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ ConfbridgeLeave\n+ ConfBridge\n+ \n+ \n+ \n+ \n+ \n+ Raised when a channel leaves a Confbridge conference.\n+ \n+ \n+ The name of the Confbridge conference.\n+ \n+ \n+ \n+ \n+ Identifies this user as an admin user.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ ConfbridgeJoin\n+ ConfBridge\n+ \n+ \n+ \n+ \n+ \n+ Raised when a conference starts recording.\n+ \n+ \n+ The name of the Confbridge conference.\n+ \n+ \n+ \n+ \n+ ConfbridgeStopRecord\n+ ConfBridge\n+ \n+ \n+ \n+ \n+ \n+ Raised when a conference that was recording stops recording.\n+ \n+ \n+ The name of the Confbridge conference.\n+ \n+ \n+ \n+ \n+ ConfbridgeRecord\n+ ConfBridge\n+ \n+ \n+ \n+ \n+ \n+ Raised when a Confbridge participant mutes.\n+ \n+ \n+ The name of the Confbridge conference.\n+ \n+ \n+ \n+ \n+ Identifies this user as an admin user.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ ConfbridgeUnmute\n+ ConfBridge\n+ \n+ \n+ \n+ \n+ \n+ Raised when a confbridge participant unmutes.\n+ \n+ \n+ The name of the Confbridge conference.\n+ \n+ \n+ \n+ \n+ Identifies this user as an admin user.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ ConfbridgeMute\n+ ConfBridge\n+ \n+ \n+ \n+ \n+ \n+ Raised when a confbridge participant begins or ends talking.\n+ \n+ \n+ The name of the Confbridge conference.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Identifies this user as an admin user.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ ConfBridge\n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ Conference Bridge Application\n+ \n+ \n+ Unused, but reserved.\n+ \n+ \n+ A named profile to apply to specific callers.\n+ \n+ \n+ Callers in a ConfBridge have a profile associated with them\n+\t\t\t\tthat determine their options. A configuration section is determined to be a\n+\t\t\t\tuser_profile when the\n+ type\n+ parameter has a value\n+\t\t\t\tof\n+ user\n+ .\n+ \n+ \n+ \n+ Define this configuration category as a user profile.\n+ \n+ The type parameter determines how a context in the\n+\t\t\t\t\tconfiguration file is interpreted.\n+ \n+ \n+ \n+ Configure the context as a\n+ user_profile\n+ \n+ \n+ \n+ \n+ Configure the context as a\n+ bridge_profile\n+ \n+ \n+ \n+ \n+ Configure the context as a\n+ menu\n+ \n+ \n+ \n+ \n+ \n+ \n+ Sets if the user is an admin or not\n+ \n+ \n+ Sets if events are send to the user\n+ \n+ If events are enabled for this bridge and this option is\n+\t\t\t\t\tset, users will receive events like join, leave, talking, etc. via text\n+\t\t\t\t\tmessages. For users accessing the bridge via chan_pjsip, this means\n+\t\t\t\t\tin-dialog MESSAGE messages. This is most useful for WebRTC participants\n+\t\t\t\t\twhere the browser application can use the messages to alter the user\n+\t\t\t\t\tinterface.\n+ \n+ \n+ \n+ Sets if events are echoed back to the user that\n+\t\t\t\t\ttriggered them\n+ \n+ If events are enabled for this user and this option\n+\t\t\t\t\tis set, the user will receive events they trigger, talking, mute, etc.\n+\t\t\t\t\tIf not set, they will not receive their own events.\n+ \n+ \n+ \n+ Sets if this is a marked user or not\n+ \n+ \n+ Sets if all users should start out muted\n+ \n+ \n+ Play MOH when user is alone or waiting on a marked user\n+ \n+ \n+ Silence enter/leave prompts and user intros for this user\n+ \n+ \n+ Determines if the user also hears the join sound when they enter a conference\n+ \n+ \n+ Sets if the number of users should be announced to the user\n+ \n+ \n+ Announce user count to all the other users when this user joins\n+ \n+ Sets if the number of users should be announced to all the other users\n+\t\t\t\t\tin the conference when this user joins. This option can be either set to 'yes' or\n+\t\t\t\t\ta number. When set to a number, the announcement will only occur once the user\n+\t\t\t\t\tcount is above the specified number.\n+ \n+ \n+ \n+ Announce to a user when they join an empty conference\n+ \n+ \n+ Sets if the user must wait for a marked user to enter before joining a conference\n+ \n+ \n+ Kick the user from the conference when the last marked user leaves\n+ \n+ \n+ Set whether or not notifications of when a user begins and ends talking should be sent out as events over AMI\n+ \n+ \n+ Sets whether or not DTMF should pass through the conference\n+ \n+ \n+ Prompt user for their name when joining a conference and play it to the conference when they enter\n+ \n+ \n+ Prompt user for their name when joining a conference and play it to the conference when they enter.\n+\t\t\t\t\tThe user will be asked to review the recording of their name before entering the conference.\n+ \n+ \n+ Sets a PIN the user must enter before joining the conference\n+ \n+ \n+ The MOH class to use for this user\n+ \n+ \n+ Sound file to play to the user when they join a conference\n+ \n+ \n+ Apply a denoise filter to the audio before mixing\n+ \n+ \n+ Sets whether or not a denoise filter should be applied\n+\t\t\t\t\tto the audio before mixing or not. Off by default. Requires\n+ codec_speex\n+ to be built and installed. Do not confuse this option\n+\t\t\t\t\twith\n+ drop_silence\n+ . Denoise is useful if there is a lot of background\n+\t\t\t\t\tnoise for a user as it attempts to remove the noise while preserving\n+\t\t\t\t\tthe speech. This option does NOT remove silence from being mixed into\n+\t\t\t\t\tthe conference and does come at the cost of a slight performance hit.\n+ \n+ \n+ \n+ \n+ Drop what Asterisk detects as silence from audio sent to the bridge\n+ \n+ This option drops what Asterisk detects as silence from\n+\t\t\t\t\tentering into the bridge. Enabling this option will drastically\n+\t\t\t\t\timprove performance and help remove the buildup of background\n+\t\t\t\t\tnoise from the conference. Highly recommended for large conferences\n+\t\t\t\t\tdue to its performance enhancements.\n+ \n+ \n+ \n+ The number of milliseconds of silence necessary to declare talking stopped.\n+ \n+ \n+ The time in milliseconds of sound falling below the\n+ dsp_talking_threshold\n+ option when\n+\t\t\t\t\t\ta user is considered to stop talking. This value affects several\n+\t\t\t\t\t\toperations and should not be changed unless the impact on call\n+\t\t\t\t\t\tquality is fully understood.\n+ \n+ What this value affects internally:\n+ 1. When talk detection AMI events are enabled, this value\n+\t\t\t\t\t\tdetermines when the user has stopped talking after a\n+\t\t\t\t\t\tperiod of talking. If this value is set too low\n+\t\t\t\t\t\tAMI events indicating the user has stopped talking\n+\t\t\t\t\t\tmay get falsely sent out when the user briefly pauses\n+\t\t\t\t\t\tduring mid sentence.\n+ \n+ 2. The\n+ drop_silence\n+ option\n+\t\t\t\t\t\tdepends on this value to determine when the user's audio should\n+\t\t\t\t\t\tbegin to be dropped from the conference bridge after the user\n+\t\t\t\t\t\tstops talking. If this value is set too low the user's\n+\t\t\t\t\t\taudio stream may sound choppy to the other participants. This\n+\t\t\t\t\t\tis caused by the user transitioning constantly from silence to\n+\t\t\t\t\t\ttalking during mid sentence.\n+ \n+ The best way to approach this option is to set it slightly\n+\t\t\t\t\t\tabove the maximum amount of milliseconds of silence a user may\n+\t\t\t\t\t\tgenerate during natural speech.\n+ Valid values are 1 through 2^31.\n+ \n+ \n+ \n+ Average magnitude threshold to determine talking.\n+ \n+ The minimum average magnitude per sample in a frame\n+\t\t\t\t\t\tfor the DSP to consider talking/noise present. A value below\n+\t\t\t\t\t\tthis level is considered silence. This value affects several\n+\t\t\t\t\t\toperations and should not be changed unless the impact on call\n+\t\t\t\t\t\tquality is fully understood.\n+ What this value affects internally:\n+ 1. Audio is only mixed out of a user's incoming audio\n+\t\t\t\t\t\tstream if talking is detected. If this value is set too\n+\t\t\t\t\t\thigh the user will hear himself talking.\n+ 2. When talk detection AMI events are enabled, this value\n+\t\t\t\t\t\tdetermines when talking has begun which results in\n+\t\t\t\t\t\tan AMI event to fire. If this value is set too low\n+\t\t\t\t\t\tAMI events may be falsely triggered by variants in\n+\t\t\t\t\t\troom noise.\n+ \n+ 3. The\n+ drop_silence\n+ option\n+\t\t\t\t\t\tdepends on this value to determine when the user's audio should\n+\t\t\t\t\t\tbe mixed into the bridge after periods of silence. If this value\n+\t\t\t\t\t\tis too high the user's speech will get discarded as they will\n+\t\t\t\t\t\tbe considered silent.\n+ \n+ Valid values are 1 through 2^15.\n+ \n+ \n+ \n+ Place a jitter buffer on the user's audio stream before audio mixing is performed\n+ \n+ \n+ Enabling this option places a jitterbuffer on the user's audio stream\n+\t\t\t\t\t\tbefore audio mixing is performed. This is highly recommended but will\n+\t\t\t\t\t\tadd a slight delay to the audio. This option is using the\n+ JITTERBUFFER\n+ dialplan function's default adaptive jitterbuffer. For a more fine tuned\n+\t\t\t\t\t\tjitterbuffer, disable this option and use the\n+ JITTERBUFFER\n+ dialplan function\n+\t\t\t\t\t\ton the user before entering the ConfBridge application.\n+ \n+ \n+ \n+ \n+ When using the CONFBRIDGE dialplan function, use a user profile as a template for creating a new temporary profile\n+ \n+ \n+ Kick the user out of the conference after this many seconds. 0 means there is no timeout for the user.\n+ \n+ \n+ Sets if text messages are sent to the user.\n+ \n+ If text messaging is enabled for this user then\n+\t\t\t\t\ttext messages will be sent to it. These may be events or from other\n+\t\t\t\t\tparticipants in the conference bridge. If disabled then no text\n+\t\t\t\t\tmessages are sent to the user.\n+ \n+ \n+ \n+ Sets if a user's channel should be answered if currently unanswered.\n+ \n+ \n+ \n+ A named profile to apply to specific bridges.\n+ \n+ \n+ ConfBridge bridges have a profile associated with them\n+\t\t\t\tthat determine their options. A configuration section is determined to be a\n+ bridge_profile\n+ when the\n+ type\n+ parameter has a value\n+\t\t\t\tof\n+ bridge\n+ .\n+ \n+ \n+ \n+ Define this configuration category as a bridge profile\n+ \n+ The type parameter determines how a context in the\n+\t\t\t\t\tconfiguration file is interpreted.\n+ \n+ \n+ \n+ Configure the context as a\n+ user_profile\n+ \n+ \n+ \n+ \n+ Configure the context as a\n+ bridge_profile\n+ \n+ \n+ \n+ \n+ Configure the context as a\n+ menu\n+ \n+ \n+ \n+ \n+ \n+ \n+ Place a jitter buffer on the conference's audio stream\n+ \n+ \n+ Set the internal native sample rate for mixing the conference\n+ \n+ Sets the internal native sample rate the\n+\t\t\t\t\t\tconference is mixed at. This is set to automatically\n+\t\t\t\t\t\tadjust the sample rate to the best quality by default.\n+\t\t\t\t\t\tOther values can be anything from 8000-192000. If a\n+\t\t\t\t\t\tsample rate is set that Asterisk does not support, the\n+\t\t\t\t\t\tclosest sample rate Asterisk does support to the one requested\n+\t\t\t\t\t\twill be used.\n+ \n+ \n+ \n+ Set the maximum native sample rate for mixing the conference\n+ \n+ Sets the maximum native sample rate the\n+\t\t\t\t\t\tconference is mixed at. This is set to not have a\n+\t\t\t\t\t\tmaximum by default. If a sample rate is specified,\n+\t\t\t\t\t\tthough, the native sample rate will never exceed it.\n+ \n+ \n+ \n+ The language used for announcements to the conference.\n+ \n+ By default, announcements to a conference use English. Which means\n+\t\t\t\t\t\tthe prompts played to all users within the conference will be\n+\t\t\t\t\t\tEnglish. By changing the language of a bridge, this will change\n+\t\t\t\t\t\tthe language of the prompts played to all users.\n+ \n+ \n+ \n+ Sets the internal mixing interval in milliseconds for the bridge\n+ \n+ Sets the internal mixing interval in milliseconds for the bridge. This\n+\t\t\t\t\t\tnumber reflects how tight or loose the mixing will be for the conference.\n+\t\t\t\t\t\tIn order to improve performance a larger mixing interval such as 40ms may\n+\t\t\t\t\t\tbe chosen. Using a larger mixing interval comes at the cost of introducing\n+\t\t\t\t\t\tlarger amounts of delay into the bridge. Valid values here are 10, 20, 40,\n+\t\t\t\t\t\tor 80.\n+ \n+ \n+ \n+ If true binaural conferencing with stereo audio is active\n+ \n+ Activates binaural mixing for a conference bridge.\n+\t\t\t\t\t\tBinaural features are disabled by default.\n+ \n+ \n+ \n+ Record the conference starting with the first active user's entrance and ending with the last active user's exit\n+ \n+ \n+ Records the conference call starting when the first user\n+\t\t\t\t\t\tenters the room, and ending when the last user exits the room.\n+\t\t\t\t\t\tThe default recorded filename is\n+ 'confbridge-${name of conference bridge}-${start time}.wav'\n+ and the default format is 8khz slinear. This file will be\n+\t\t\t\t\t\tlocated in the configured monitoring directory in\n+ asterisk.conf\n+ .\n+ \n+ \n+ \n+ \n+ The filename of the conference recording\n+ \n+ \n+ When\n+ record_conference\n+ is set to yes, the specific name of the\n+\t\t\t\t\t\trecord file can be set using this option. Note that since multiple\n+\t\t\t\t\t\tconferences may use the same bridge profile, this may cause issues\n+\t\t\t\t\t\tdepending on the configuration. It is recommended to only use this\n+\t\t\t\t\t\toption dynamically with the\n+ CONFBRIDGE()\n+ dialplan function. This\n+\t\t\t\t\t\tallows the record name to be specified and a unique name to be chosen.\n+\t\t\t\t\t\tBy default, the record_file is stored in Asterisk's spool/monitor directory\n+\t\t\t\t\t\twith a unique filename starting with the 'confbridge' prefix.\n+ \n+ \n+ \n+ \n+ Append to record file when starting/stopping on same conference recording\n+ \n+ \n+ When\n+ record_file_append\n+ is set to yes, stopping and starting recording on a\n+\t\t\t\t\t\tconference adds the new portion to end of current record_file. When this is\n+\t\t\t\t\t\tset to no, a new\n+ record_file\n+ is generated every time you start then stop recording\n+\t\t\t\t\t\ton a conference.\n+ \n+ \n+ \n+ \n+ Append the start time to the record_file name so that it is unique.\n+ \n+ \n+ When\n+ record_file_timestamp\n+ is set to yes, the start time is appended to\n+ record_file\n+ so that the filename is unique. This allows you to specify\n+\t\t\t\t\t\ta\n+ record_file\n+ but not overwrite existing recordings.\n+ \n+ \n+ \n+ \n+ Pass additional options to MixMonitor when recording\n+ \n+ \n+ Pass additional options to MixMonitor when\n+ record_conference\n+ is set to yes.\n+\t\t\t\t\t\tSee\n+ MixMonitor\n+ for available options.\n+ \n+ \n+ \n+ \n+ Execute a command after recording ends\n+ \n+ \n+ Executes the specified command when recording ends. Any strings matching\n+ ^{X}\n+ will be\n+\t\t\t\t\t\tunescaped to\n+ X\n+ . All variables will be evaluated at the time ConfBridge is called.\n+ \n+ \n+ \n+ \n+ The name of the context into which to register the name of the conference bridge as NoOP() at priority 1\n+ \n+ When set this will cause the name of the created conference to be registered\n+\t\t\t\t\t\tinto the named context at priority 1 with an operation of NoOP(). This can\n+\t\t\t\t\t\tthen be used in other parts of the dialplan to test for the existence of a\n+\t\t\t\t\t\tspecific conference bridge.\n+\t\t\t\t\t\tYou should be aware that there are potential races between testing for the\n+\t\t\t\t\t\texistence of a bridge, and taking action upon that information, consider\n+\t\t\t\t\t\tfor example two callers executing the check simultaneously, and then taking\n+\t\t\t\t\t\tspecial action as "first caller" into the bridge. The same for exiting,\n+\t\t\t\t\t\tdirectly after the check the bridge can be destroyed before the new caller\n+\t\t\t\t\t\tenters (creating a new bridge), for example, and the "first member" actions\n+\t\t\t\t\t\tcould thus be missed.\n+ \n+ \n+ \n+ Sets how confbridge handles video distribution to the conference participants\n+ \n+ \n+ Sets how confbridge handles video distribution to the conference participants.\n+\t\t\t\t\t\tNote that participants wanting to view and be the source of a video feed\n+ MUST\n+ be sharing the same video codec. Also, using video in conjunction with\n+\t\t\t\t\t\twith the jitterbuffer currently results in the audio being slightly out of sync\n+\t\t\t\t\t\twith the video. This is a result of the jitterbuffer only working on the audio\n+\t\t\t\t\t\tstream. It is recommended to disable the jitterbuffer when video is used.\n+ \n+ \n+ \n+ No video sources are set by default in the conference. It is still\n+\t\t\t\t\t\t\t\tpossible for a user to be set as a video source via AMI or DTMF action\n+\t\t\t\t\t\t\t\tat any time.\n+ \n+ \n+ The video feed will follow whoever is talking and providing video.\n+ \n+ \n+ The last marked user to join the conference with video capabilities\n+\t\t\t\t\t\t\t\twill be the single source of video distributed to all participants.\n+\t\t\t\t\t\t\t\tIf multiple marked users are capable of video, the last one to join\n+\t\t\t\t\t\t\t\tis always the source, when that user leaves it goes to the one who\n+\t\t\t\t\t\t\t\tjoined before them.\n+ \n+ \n+ The first marked user to join the conference with video capabilities\n+\t\t\t\t\t\t\t\tis the single source of video distribution among all participants. If\n+\t\t\t\t\t\t\t\tthat user leaves, the marked user to join after them becomes the source.\n+ \n+ \n+ Selective Forwarding Unit - Sets multi-stream\n+\t\t\t\t\t\t\t\toperation for a multi-party video conference.\n+ \n+ \n+ \n+ \n+ \n+ Limit the maximum number of participants for a single conference\n+ \n+ This option limits the number of participants for a single\n+\t\t\t\t\t\tconference to a specific number. By default conferences\n+\t\t\t\t\t\thave no participant limit. After the limit is reached, the\n+\t\t\t\t\t\tconference will be locked until someone leaves. Note however\n+\t\t\t\t\t\tthat an Admin user will always be alowed to join the conference\n+\t\t\t\t\t\tregardless if this limit is reached or not.\n+ \n+ \n+ \n+ Override the various conference bridge sound files\n+ \n+ \n+ All sounds in the conference are customizable using the bridge profile options below.\n+\t\t\t\t\t\tSimply state the option followed by the filename or full path of the filename after\n+\t\t\t\t\t\tthe option. Example:\n+ sound_had_joined=conf-hasjoin\n+ This will play the\n+ conf-hasjoin\n+ sound file found in the sounds directory when announcing someone's name is joining the\n+\t\t\t\t\t\tconference.\n+ \n+ \n+ \n+ The sound played to everyone when someone enters the conference.\n+ \n+ \n+ The sound played to everyone when someone leaves the conference.\n+ \n+ \n+ \n+ The sound played before announcing someone's name has\n+\t\t\t\t\t\t\t\t\t\tjoined the conference. This is used for user intros.\n+\t\t\t\t\t\t\t\t\t\tExample\n+ "_____ has joined the conference"\n+ \n+ \n+ \n+ \n+ The sound played when announcing someone's name has\n+\t\t\t\t\t\t\t\t\t\tleft the conference. This is used for user intros.\n+\t\t\t\t\t\t\t\t\t\tExample\n+ "_____ has left the conference"\n+ \n+ \n+ \n+ The sound played to a user who has been kicked from the conference.\n+ \n+ \n+ The sound played when the mute option it toggled on.\n+ \n+ \n+ The sound played when the mute option it toggled off.\n+ \n+ \n+ The sound played when binaural audio is turned on.\n+ \n+ \n+ The sound played when the binaural audio is turned off.\n+ \n+ \n+ The sound played when the user is the only person in the conference.\n+ \n+ \n+ The sound played to a user when there is only one other\n+\t\t\t\t\t\t\t\t\t\tperson is in the conference.\n+ \n+ \n+ The sound played when announcing how many users there\n+\t\t\t\t\t\t\t\t\t\tare in a conference.\n+ \n+ \n+ \n+ This file is used in conjunction with\n+ sound_there_are\n+ when announcing how many users there are in the conference.\n+\t\t\t\t\t\t\t\t\t\tThe sounds are stringed together like this.\n+ "sound_there_are" ${number of participants} "sound_other_in_party"\n+ \n+ \n+ \n+ The sound played when someone is placed into the conference\n+\t\t\t\t\t\t\t\t\t\tafter waiting for a marked user.\n+ \n+ \n+ The sound played when a user is placed into a conference that\n+\t\t\t\t\t\t\t\t\t\tcan not start until a marked user enters.\n+ \n+ \n+ The sound played when the last marked user leaves the conference.\n+ \n+ \n+ The sound played when prompting for a conference pin number.\n+ \n+ \n+ The sound played when an invalid pin is entered too many times.\n+ \n+ \n+ The sound played to a user trying to join a locked conference.\n+ \n+ \n+ The sound played to an admin after toggling the conference to locked mode.\n+ \n+ \n+ The sound played to an admin after toggling the conference to unlocked mode.\n+ \n+ \n+ The sound played when an invalid menu option is entered.\n+ \n+ \n+ \n+ \n+ \n+ Sets the amount of time in milliseconds after sending a video update to discard subsequent video updates\n+ \n+ Sets the amount of time in milliseconds after sending a video update request\n+\t\t\t\t\t\tthat subsequent video updates should be discarded. This means that if we\n+\t\t\t\t\t\tsend a video update we will discard any other video update requests until\n+\t\t\t\t\t\tafter the configured amount of time has elapsed. This prevents flooding of\n+\t\t\t\t\t\tvideo update requests from clients.\n+ \n+ \n+ \n+ Sets the interval in milliseconds that a combined REMB frame will be sent to video sources\n+ \n+ Sets the interval in milliseconds that a combined REMB frame will be sent\n+\t\t\t\t\t\tto video sources. This is done by taking all REMB frames that have been\n+\t\t\t\t\t\treceived since the last REMB frame was sent, making a combined value,\n+\t\t\t\t\t\tand sending it to the source. A REMB frame contains receiver estimated\n+\t\t\t\t\t\tmaximum bitrate information. By creating a combined REMB frame the\n+\t\t\t\t\t\tsender of video can be influenced on the bitrate they choose, allowing\n+\t\t\t\t\t\tbetter quality for all receivers.\n+ \n+ \n+ \n+ Sets how REMB reports are generated from multiple sources\n+ \n+ Sets how REMB reports are combined from multiple sources to form one. A REMB report\n+\t\t\t\t\t\tconsists of information about the receiver estimated maximum bitrate. As a source\n+\t\t\t\t\t\tstream may be forwarded to multiple receivers the reports must be combined into\n+\t\t\t\t\t\ta single one which is sent to the sender.\n+ \n+ \n+ The average of all estimated maximum bitrates is taken and sent\n+\t\t\t\t\t\t\t\tto the sender.\n+ \n+ \n+ The lowest estimated maximum bitrate is forwarded to the sender.\n+ \n+ \n+ The highest estimated maximum bitrate is forwarded to the sender.\n+ \n+ \n+ The average of all estimated maximum bitrates is taken from all\n+\t\t\t\t\t\t\t\treceivers in the bridge and a single value is sent to each sender.\n+ \n+ \n+ The lowest estimated maximum bitrate of all receivers in the bridge\n+\t\t\t\t\t\t\t\tis taken and sent to each sender.\n+ \n+ \n+ The highest estimated maximum bitrate of all receivers in the bridge\n+\t\t\t\t\t\t\t\tis taken and sent to each sender.\n+ \n+ \n+ \n+ The bitrate configured in\n+ remb_estimated_bitrate\n+ is sent to each sender.\n+ \n+ \n+ \n+ \n+ \n+ remb_estimated_bitrate\n+ \n+ \n+ \n+ Sets the estimated bitrate sent to each participant in REMB reports\n+ \n+ \n+ When\n+ remb_behavior\n+ is set to\n+ force\n+ ,\n+\t\t\t\t\t this options sets the estimated bitrate (in bits per second) sent to each participant\n+\t\t\t\t\t in REMB reports.\n+ \n+ \n+ \n+ remb_behavior\n+ \n+ \n+ \n+ Enables events for this bridge\n+ \n+ \n+ If enabled, recipients who joined the bridge via a channel driver\n+\t\t\t\t\t\tthat supports Enhanced Messaging (currently only chan_pjsip) will\n+\t\t\t\t\t\treceive in-dialog messages containing a JSON body describing the\n+\t\t\t\t\t\tevent. The Content-Type header will be\n+ text/x-ast-confbridge-event\n+ .\n+\t\t\t\t\t\tThis feature must also be enabled in user profiles.\n+ \n+ \n+ \n+ \n+ When using the CONFBRIDGE dialplan function, use a bridge profile as a template for creating a new temporary profile\n+ \n+ \n+ \n+ A conference user menu\n+ \n+ \n+ Conference users, as defined by a\n+ conf_user\n+ ,\n+\t\t\t\t\tcan have a DTMF menu assigned to their profile when they enter the\n+ ConfBridge\n+ application.\n+ \n+ \n+ \n+ Define this configuration category as a menu\n+ \n+ The type parameter determines how a context in the\n+\t\t\t\t\tconfiguration file is interpreted.\n+ \n+ \n+ \n+ Configure the context as a\n+ user_profile\n+ \n+ \n+ \n+ \n+ Configure the context as a\n+ bridge_profile\n+ \n+ \n+ \n+ \n+ Configure the context as a\n+ menu\n+ \n+ \n+ \n+ \n+ \n+ \n+ When using the CONFBRIDGE dialplan function, use a menu profile as a template for creating a new temporary profile\n+ \n+ \n+ DTMF sequences to assign various confbridge actions to\n+ \n+ The ConfBridge application also has the ability to apply custom DTMF menus to\n+\t\t\t\t\teach channel using the application. Like the User and Bridge profiles a menu\n+\t\t\t\t\tis passed in to ConfBridge as an argument in the dialplan.\n+ Below is a list of menu actions that can be assigned to a DTMF sequence.\n+ \n+ \n+ To have the first DTMF digit in a sequence be the '#' character, you need to\n+\t\t\t\t\t\tescape it. If it is not escaped then normal config file processing will\n+\t\t\t\t\t\tthink it is a directive like #include. For example: The mute setting is\n+\t\t\t\t\t\ttoggled when\n+ #1\n+ is pressed.\n+ \n+ \n+ \\#1=toggle_mute\n+ \n+ \n+ \n+ \n+ A single DTMF sequence can have multiple actions associated with it. This is\n+\t\t\t\t\taccomplished by stringing the actions together and using a\n+ ,\n+ as the\n+\t\t\t\t\tdelimiter. Example: Both listening and talking volume is reset when\n+ 5\n+ is\n+\t\t\t\t\tpressed.\n+ 5=reset_talking_volume, reset_listening_volume\n+ \n+ \n+ \n+ \n+ \n+ playback\n+ will play back an audio file to a channel\n+\t\t\t\t\t\t\tand then immediately return to the conference.\n+\t\t\t\t\t\t\tThis file can not be interupted by DTMF.\n+\t\t\t\t\t\t\tMultiple files can be chained together using the\n+ &\n+ character.\n+ \n+ \n+ \n+ \n+ playback_and_continue\n+ will\n+\t\t\t\t\t\t\tplay back a prompt while continuing to\n+\t\t\t\t\t\t\tcollect the dtmf sequence. This is useful\n+\t\t\t\t\t\t\twhen using a menu prompt that describes all\n+\t\t\t\t\t\t\tthe menu options. Note however that any DTMF\n+\t\t\t\t\t\t\tduring this action will terminate the prompts\n+\t\t\t\t\t\t\tplayback. Prompt files can be chained together\n+\t\t\t\t\t\t\tusing the\n+ &\n+ character as a delimiter.\n+ \n+ \n+ \n+ Toggle turning on and off mute. Mute will make the user silent\n+\t\t\t\t\t\t\tto everyone else, but the user will still be able to listen in.\n+ \n+ \n+ Toggle turning on and off binaural audio processing.\n+ \n+ \n+ This action does nothing (No Operation). Its only real purpose exists for\n+\t\t\t\t\t\t\tbeing able to reserve a sequence in the config as a menu exit sequence.\n+ \n+ \n+ Decreases the channel's listening volume.\n+ \n+ \n+ Increases the channel's listening volume.\n+ \n+ \n+ Reset channel's listening volume to default level.\n+ \n+ \n+ Decreases the channel's talking volume.\n+ \n+ \n+ Increases the channel's talking volume.\n+ \n+ \n+ Reset channel's talking volume to default level.\n+ \n+ \n+ \n+ The\n+ dialplan_exec\n+ action allows a user\n+\t\t\t\t\t\t\tto escape from the conference and execute\n+\t\t\t\t\t\t\tcommands in the dialplan. Once the dialplan\n+\t\t\t\t\t\t\texits the user will be put back into the\n+\t\t\t\t\t\t\tconference. The possibilities are endless!\n+ \n+ \n+ \n+ This action allows a user to exit the conference and continue\n+\t\t\t\t\t\t\texecution in the dialplan.\n+ \n+ \n+ This action allows an Admin to kick the last participant from the\n+\t\t\t\t\t\t\tconference. This action will only work for admins which allows\n+\t\t\t\t\t\t\ta single menu to be used for both users and admins.\n+ \n+ \n+ This action allows an Admin to toggle locking and\n+\t\t\t\t\t\t\tunlocking the conference. Non admins can not use\n+\t\t\t\t\t\t\tthis action even if it is in their menu.\n+ \n+ \n+ \n+ This action allows any user to set themselves as the\n+\t\t\t\t\t\t\tsingle video source distributed to all participants.\n+\t\t\t\t\t\t\tThis will make the video feed stick to them regardless\n+\t\t\t\t\t\t\tof what the\n+ video_mode\n+ is set to.\n+ \n+ \n+ \n+ \n+ This action allows a user to release themselves as\n+\t\t\t\t\t\t\tthe video source. If\n+ video_mode\n+ is not set to\n+ none\n+ this action will result in the conference returning to\n+\t\t\t\t\t\t\twhatever video mode the bridge profile is using.\n+ \n+ \n+ Note that this action will have no effect if the user\n+\t\t\t\t\t\t\tis not currently the video source. Also, the user is\n+\t\t\t\t\t\t\tnot guaranteed by using this action that they will not\n+\t\t\t\t\t\t\tbecome the video source again. The bridge will return\n+\t\t\t\t\t\t\tto whatever operation the\n+ video_mode\n+ option is set to\n+\t\t\t\t\t\t\tupon release of the video src.\n+ \n+ \n+ \n+ This action allows an administrator to toggle the mute\n+\t\t\t\t\t\t\tstate for all non-admins within a conference. All\n+\t\t\t\t\t\t\tadmin users are unaffected by this option. Note that all\n+\t\t\t\t\t\t\tusers, regardless of their admin status, are notified\n+\t\t\t\t\t\t\tthat the conference is muted.\n+ \n+ \n+ This action plays back the number of participants currently\n+\t\t\t\t\t\t\tin a conference\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ no\n+ deprecated\n+ app_stack (GoSub)\n+ 16\n+ 21\n+ \n+ \n+ Macro Implementation.\n+ \n+ \n+ The name of the macro\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Executes a macro using the context macro-\n+ name\n+ ,\n+\t\t\tjumping to the\n+ s\n+ extension of that context and executing each step,\n+\t\t\tthen returning when the steps end.\n+ \n+ \n+ The calling extension, context, and priority are stored in\n+ MACRO_EXTEN\n+ ,\n+ MACRO_CONTEXT\n+ and\n+ MACRO_PRIORITY\n+ respectively. Arguments\n+\t\t\tbecome\n+ ARG1\n+ ,\n+ ARG2\n+ , etc in the macro context.\n+ \n+ If you Goto out of the Macro context, the Macro will terminate and control will be returned\n+\t\t\tat the location of the Goto.\n+ \n+ If\n+ MACRO_OFFSET\n+ is set at termination, Macro will attempt to continue\n+\t\t\tat priority MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise.\n+ \n+ \n+ Because of the way Macro is implemented (it executes the priorities contained within\n+\t\t\tit via sub-engine), and a fixed per-thread memory stack allowance, macros are limited to 7 levels\n+\t\t\tof nesting (macro calling macro calling macro, etc.); It may be possible that stack-intensive\n+\t\t\tapplications in deeply nested macros could cause asterisk to crash earlier than this limit.\n+\t\t\tIt is advised that if you need to deeply nest macro calls, that you use the Gosub application\n+\t\t\t(now allows arguments like a Macro) with explicit Return() calls instead.\n+ \n+ \n+ \n+ Use of the application\n+ WaitExten\n+ within a macro will not function\n+\t\t\tas expected. Please use the\n+ Read\n+ application in order to read DTMF from a channel\n+\t\t\tcurrently executing a macro.\n+ \n+ \n+ \n+ \n+ MacroExit\n+ Goto\n+ Gosub\n+ \n+ \n+ \n+ Conditional Macro implementation.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Executes macro defined in\n+ macroiftrue\n+ if\n+ expr\n+ is true (otherwise\n+ macroiffalse\n+ if provided)\n+ \n+ Arguments and return values as in application Macro()\n+ \n+ \n+ \n+ GotoIf\n+ GosubIf\n+ IF\n+ \n+ \n+ \n+ Exclusive Macro Implementation.\n+ \n+ \n+ The name of the macro\n+ \n+ \n+ \n+ \n+ \n+ \n+ Executes macro defined in the context macro-\n+ name\n+ .\n+\t\t\tOnly one call at a time may run the macro. (we'll wait if another call is busy\n+\t\t\texecuting in the Macro)\n+ \n+ Arguments and return values as in application Macro()\n+ \n+ \n+ \n+ Macro\n+ \n+ \n+ \n+ Exit from Macro.\n+ \n+ \n+ Causes the currently running macro to exit as if it had\n+\t\t\tended normally by running out of priorities to execute.\n+\t\t\tIf used outside a macro, will likely cause unexpected behavior.\n+ \n+ \n+ Macro\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Send a Text Message on a channel.\n+ \n+ \n+ \n+ \n+ \n+ Sends\n+ text\n+ to the current channel.\n+ \n+ \n+ \n+ current channel\n+ could be the caller or callee depending\n+\t\t\ton the context in which this application is called.\n+ \n+ \n+ \n+ The following variables can be set:\n+ \n+ \n+ \n+ If set and this channel supports enhanced messaging, this value will be\n+\t\t\t\t\tused as the\n+ From\n+ display name.\n+ \n+ \n+ \n+ \n+ If set and this channel supports enhanced messaging, this value will be\n+\t\t\t\t\tused as the\n+ To\n+ display name.\n+ \n+ \n+ \n+ \n+ If set and this channel supports enhanced messaging, this value will be\n+\t\t\t\t\tused as the message\n+ Content-Type\n+ . If not specified, the\n+\t\t\t\t\tdefault of\n+ text/plain\n+ will be used.\n+ \n+ \n+ Warning:\n+ Messages of types other than\n+ text/*\n+ cannot be sent via channel drivers that do not\n+\t\t\t\t\tsupport Enhanced Messaging. An attempt to do so will be ignored and will result\n+\t\t\t\t\tin the\n+ SENDTEXTSTATUS\n+ variable being set to\n+ UNSUPPORTED\n+ .\n+ \n+ \n+ \n+ If set this value will be used as the message body and any text supplied\n+\t\t\t\t\tas a function parameter will be ignored.\n+ \n+ \n+ \n+ Result of transmission will be stored in the following variables:\n+ \n+ \n+ No message sent.\n+ Message body sent without attributes because the channel driver\n+\t\t\t\t\t\tdoesn't support enhanced messaging.\n+ The message was sent using enhanced messaging.\n+ \n+ \n+ Transmission succeeded.\n+ Transmission failed.\n+ Text transmission not supported by channel.\n+ \n+ \n+ \n+ \n+ The text encoding and transmission method is completely at the\n+\t\t\tdiscretion of the channel driver. chan_pjsip will use in-dialog SIP MESSAGE\n+\t\t\tmessages always. chan_sip will use T.140 via RTP if a text media type was\n+\t\t\tnegotiated and in-dialog SIP MESSAGE messages otherwise.\n+ \n+ \n+ Examples:\n+ same => n,SendText(Your Text Here)\n+ If the channel driver supports enhanced messaging (currently only chan_pjsip),\n+\t\t\tyou can set additional variables:\n+ same => n,Set(SENDTEXT_FROM_DISPLAYNAME=Really From Bob)\n+\t\t\t same => n,SendText(Your Text Here)\n+ same => n,Set(SENDTEXT_CONTENT_TYPE=text/json)\n+\t\t\t same => n,SendText({"foo":a, "bar":23})\n+ same => n,Set(SENDTEXT_CONTENT_TYPE=text/json)\n+\t\t\t same => n,Set(SENDTEXT_BODY={"foo":a, "bar":23})\n+\t\t\t same => n,SendText()\n+ \n+ \n+ SendImage\n+ SendURL\n+ ReceiveText\n+ \n+ \n+ \n+ \n+ 16.24.0\n+ 18.10.0\n+ 19.2.0\n+ \n+ Receive a Text Message on a channel.\n+ \n+ \n+ Time in seconds to wait for text. Default is 0 (forever).\n+ \n+ \n+ \n+ \n+ Waits for\n+ timeout\n+ seconds on the current channel\n+\t\t\tto receive text.\n+ \n+ Result of transmission will be stored in the following variables:\n+ \n+ \n+ The received text message.\n+ \n+ \n+ Transmission succeeded.\n+ Transmission failed or timed out.\n+ \n+ \n+ same => n,ReceiveText()\n+\t\t\t same => n,NoOp(${RECEIVETEXTMESSAGE})\n+ \n+ \n+ SendText\n+ SendImage\n+ SendURL\n+ \n+ \n+ \n+ app_confbridge\n+ core\n+ \n+ \n+ Page series of phones\n+ \n+ \n+ \n+ \n+ Specification of the device(s) to dial. These must be in the format of\n+ Technology/Resource\n+ , where\n+ Technology\n+ represents a particular channel driver, and\n+ Resource\n+ represents a resource\n+\t\t\t\t\tavailable to that particular channel driver.\n+ \n+ \n+ \n+ Optional extra devices to dial in parallel\n+ If you need more than one, enter them as Technology2/Resource2&\n+\t\t\t\t\tTechnology3/Resource3&.....\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Specify the length of time that the system will attempt to connect a call.\n+\t\t\t\tAfter this duration, any page calls that have not been answered will be hung up by the\n+\t\t\t\tsystem.\n+ \n+ \n+ \n+ \n+ Places outbound calls to the given\n+ technology\n+ /\n+ resource\n+ and dumps them into a conference bridge as muted participants. The original\n+\t\t\tcaller is dumped into the conference as a speaker and the room is\n+\t\t\tdestroyed when the original caller leaves.\n+ \n+ \n+ \n+ ConfBridge\n+ \n+ \n+ \n+ no\n+ extended\n+ \n+ \n+ IVR Demo Application.\n+ \n+ \n+ \n+ \n+ This is a skeleton application that shows you the basic structure to create your\n+\t\t\town asterisk applications and demonstrates the IVR demo.\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Executes dialplan application.\n+ \n+ \n+ Application name and arguments of the dialplan application to execute.\n+ \n+ \n+ \n+ \n+ Allows an arbitrary application to be invoked even when not\n+\t\t\thard coded into the dialplan. If the underlying application\n+\t\t\tterminates the dialplan, or if the application cannot be found,\n+\t\t\tExec will terminate the dialplan.\n+ To invoke external applications, see the application System.\n+\t\t\tIf you would like to catch any error instead, see TryExec.\n+ \n+ \n+ \n+ Executes dialplan application, always returning.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Allows an arbitrary application to be invoked even when not\n+\t\t\thard coded into the dialplan. To invoke external applications\n+\t\t\tsee the application System. Always returns to the dialplan.\n+\t\t\tThe channel variable TRYSTATUS will be set to one of:\n+ \n+ \n+ If the application returned zero.\n+ If the application returned non-zero.\n+ If the application was not found or was not specified.\n+ \n+ \n+ \n+ \n+ \n+ Executes dialplan application, conditionally.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ If\n+ expr\n+ is true, execute and return the\n+\t\t\tresult of\n+ appiftrue(args)\n+ .\n+ \n+ \n+ If\n+ expr\n+ is true, but\n+ appiftrue\n+ is not found,\n+\t\t\tthen the application will return a non-zero value.\n+ \n+ \n+ \n+ \n+ bridge_holding\n+ core\n+ \n+ \n+ Put a call into the holding bridge.\n+ \n+ \n+ \n+ Name of the holding bridge to join. This is a handle for\n+ BridgeWait\n+ only and does not affect the actual bridges that are created. If not provided,\n+\t\t\t\tthe reserved name\n+ default\n+ will be used.\n+ \n+ \n+ \n+ Defines the channel's purpose for entering the holding bridge. Values are case sensitive.\n+ \n+ \n+ The channel will enter the holding bridge to be placed on hold\n+\t\t\t\t\t\tuntil it is removed from the bridge for some reason. (default)\n+ \n+ \n+ The channel will enter the holding bridge to make announcements\n+\t\t\t\t\t\tto channels that are currently in the holding bridge. While an\n+\t\t\t\t\t\tannouncer is present, holding for the participants will be\n+\t\t\t\t\t\tsuspended.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ This application places the incoming channel into a holding bridge.\n+\t\t\tThe channel will then wait in the holding bridge until some event occurs\n+\t\t\twhich removes it from the holding bridge.\n+ \n+ This application will answer calls which haven't already\n+\t\t\tbeen answered.\n+ \n+ \n+ \n+ \n+ extended\n+ \n+ \n+ Provide support for receiving alarm reports from a burglar or fire alarm panel.\n+ \n+ \n+ \n+ This application should be called whenever there is an alarm panel calling in to dump its events.\n+\t\t\tThe application will handshake with the alarm panel, and receive events, validate them, handshake them,\n+\t\t\tand store them until the panel hangs up. Once the panel hangs up, the application will run the system\n+\t\t\tcommand specified by the eventcmd setting in\n+ alarmreceiver.conf\n+ and pipe the\n+\t\t\tevents to the standard input of the application.\n+\t\t\tThe configuration file also contains settings for DTMF timing, and for the loudness of the\n+\t\t\tacknowledgement tones.\n+ \n+ \n+ Few Ademco DTMF signalling formats are detected automatically: Contact ID, Express 4+1,\n+\t\t\tExpress 4+2, High Speed and Super Fast.\n+ \n+ The application is affected by the following variables:\n+ \n+ \n+ Maximum call time, in milliseconds.\n+ If set, this variable causes application to exit after the specified time.\n+ \n+ \n+ Maximum number of retries per call.\n+ If set, this variable causes application to exit after the specified number of messages.\n+ \n+ \n+ \n+ \n+ alarmreceiver.conf\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Play a file.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Comma separated list of options\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Plays back given filenames (do not put extension of wav/alaw etc).\n+\t\t\tThe Playback application answers the channel if no options are specified.\n+\t\t\tIf the file is non-existent it will fail.\n+ This application sets the following channel variable upon completion:\n+ \n+ \n+ The status of the playback attempt as a text string.\n+ \n+ \n+ \n+ \n+ See Also: Background (application) -- for playing sound files that are interruptible\n+ WaitExten (application) -- wait for digits from caller, optionally play music on hold\n+ \n+ \n+ Background\n+ WaitExten\n+ ControlPlayback\n+ stream file\n+ control stream file\n+ ControlPlayback\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Play a file with fast forward and rewind.\n+ \n+ \n+ \n+ This is number of milliseconds to skip when rewinding or\n+\t\t\t\tfast-forwarding.\n+ \n+ \n+ \n+ Fast-forward when this DTMF digit is received. (defaults to\n+ #\n+ )\n+ \n+ \n+ \n+ \n+ Rewind when this DTMF digit is received. (defaults to\n+ *\n+ )\n+ \n+ \n+ \n+ Stop playback when this DTMF digit is received.\n+ \n+ \n+ Pause playback when this DTMF digit is received.\n+ \n+ \n+ Restart playback when this DTMF digit is received.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ This application will play back the given\n+ filename\n+ .\n+ \n+ It sets the following channel variables upon completion:\n+ \n+ \n+ Contains the status of the attempt as a text string\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Contains the offset in ms into the file where playback\n+\t\t\t\t\twas at when it stopped.\n+ -1\n+ is end of file.\n+ \n+ \n+ \n+ If the playback is stopped by the user this variable contains\n+\t\t\t\t\tthe key that was pressed.\n+ \n+ \n+ \n+ \n+ \n+ Control the playback of a file being played to a channel.\n+ \n+ \n+ \n+ The name of the channel that currently has a file being played back to it.\n+ \n+ \n+ \n+ \n+ Stop the playback operation.\n+ \n+ \n+ \n+ Move the current position in the media forward. The amount\n+\t\t\t\t\t\tof time that the stream moves forward is determined by the\n+ skipms\n+ value passed to the application\n+\t\t\t\t\t\tthat initiated the playback.\n+ \n+ \n+ \n+ The default skipms value is\n+ 3000\n+ ms.\n+ \n+ \n+ \n+ \n+ \n+ Move the current position in the media backward. The amount\n+\t\t\t\t\t\tof time that the stream moves backward is determined by the\n+ skipms\n+ value passed to the application\n+\t\t\t\t\t\tthat initiated the playback.\n+ \n+ \n+ \n+ The default skipms value is\n+ 3000\n+ ms.\n+ \n+ \n+ \n+ \n+ Pause/unpause the playback operation, if supported.\n+\t\t\t\t\t\tIf not supported, stop the playback.\n+ \n+ \n+ Restart the playback operation, if supported.\n+\t\t\t\t\t\tIf not supported, stop the playback.\n+ \n+ \n+ \n+ \n+ \n+ Control the operation of a media file being played back to a channel.\n+\t\t\tNote that this AMI action does not initiate playback of media to channel, but\n+\t\t\trather controls the operation of a media operation that was already initiated\n+\t\t\ton the channel.\n+ \n+ \n+ The\n+ pause\n+ and\n+ restart\n+ Control\n+ options will stop a playback\n+\t\t\t\toperation if that operation was not initiated from the\n+ ControlPlayback\n+ application or the\n+ control stream file\n+ AGI command.\n+ \n+ \n+ \n+ \n+ Playback\n+ ControlPlayback\n+ stream file\n+ control stream file\n+ \n+ \n+ \n+ extended\n+ \n+ \n+ Say text to the user.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Connect to Festival, send the argument, get back the waveform, play it to the user,\n+\t\t\tallowing any given interrupt keys to immediately terminate and return the value, or\n+ any\n+ to allow any number back (useful in dialplan).\n+ \n+ \n+ \n+ \n+ no\n+ core\n+ \n+ \n+ An example number guessing game\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ This simple number guessing application is a template to build other applications\n+\t\tfrom. It shows you the basic structure to create your own Asterisk applications.\n+ \n+ \n+ \n+ \n+ \n+ Options that apply globally to app_skel\n+ \n+ The number of games a single execution of SkelGuessNumber will play\n+ \n+ \n+ Should the computer cheat?\n+ \n+ If enabled, the computer will ignore winning guesses.\n+ \n+ \n+ \n+ \n+ Prompts for SkelGuessNumber to play\n+ \n+ A prompt directing the user to enter a number less than the max number\n+ \n+ \n+ The sound file to play when a wrong guess is made\n+ \n+ \n+ The sound file to play when a correct guess is made\n+ \n+ \n+ The sound file to play when a guess is too low\n+ \n+ \n+ The sound file to play when a guess is too high\n+ \n+ \n+ The sound file to play when a player loses\n+ \n+ \n+ \n+ Defined levels for the SkelGuessNumber game\n+ \n+ The maximum in the range of numbers to guess (1 is the implied minimum)\n+ \n+ \n+ The maximum number of guesses before a game is considered lost\n+ \n+ \n+ \n+ \n+ \n+ res_adsi\n+ res_smdi\n+ yes\n+ core\n+ \n+ \n+ Leave a Voicemail message.\n+ \n+ \n+ \n+ \n+ \n \n \n \n \n \n \n \n@@ -3904,250 +7261,89 @@\n \t\t\twithin\n Context\n will be polled.\n \t\t\tOtherwise, only a single mailbox will be polled for changes.\n \n \n \n- \n- res_speech\n- core\n- \n- \n- Create a Speech Structure.\n- \n- \n- \n- \n- This application creates information to be used by all the other applications.\n-\t\t\tIt must be called before doing any speech recognition activities such as activating a grammar.\n-\t\t\tIt takes the engine name to use as the argument, if not specified the default engine will be used.\n- Sets the ERROR channel variable to 1 if the engine cannot be used.\n- \n- \n- \n- Activate a grammar.\n- \n- \n- \n- \n- This activates the specified grammar to be recognized by the engine.\n-\t\t\tA grammar tells the speech recognition engine what to recognize, and how to portray it back to you\n-\t\t\tin the dialplan. The grammar name is the only argument to this application.\n- Hangs up the channel on failure. If this is not desired, use TryExec.\n- \n- \n- \n- Start recognizing voice in the audio stream.\n- \n- \n- Tell the speech recognition engine that it should start trying to get results from audio being\n-\t\t\tfed to it.\n- Hangs up the channel on failure. If this is not desired, use TryExec.\n- \n- \n- \n- Play a sound file and wait for speech to be recognized.\n- \n- \n- \n- Timeout integer in seconds. Note the timeout will only start\n-\t\t\t\tonce the sound file has stopped playing.\n- \n- \n- \n- \n- \n- \n- \n- \n- This application plays a sound file and waits for the person to speak. Once they start speaking playback\n-\t\t\tof the file stops, and silence is heard. Once they stop talking the processing sound is played to indicate\n-\t\t\tthe speech recognition engine is working. Once results are available the application returns and results\n-\t\t\t(score and text) are available using dialplan functions.\n- The first text and score are ${SPEECH_TEXT(0)} AND ${SPEECH_SCORE(0)} while the second are ${SPEECH_TEXT(1)}\n-\t\t\tand ${SPEECH_SCORE(1)}.\n- The first argument is the sound file and the second is the timeout integer in seconds.\n- Hangs up the channel on failure. If this is not desired, use TryExec.\n- \n- \n- \n- Deactivate a grammar.\n- \n- \n- The grammar name to deactivate\n- \n- \n- \n- This deactivates the specified grammar so that it is no longer recognized.\n- Hangs up the channel on failure. If this is not desired, use TryExec.\n- \n- \n- \n- Change background processing sound.\n- \n- \n- \n- \n- This changes the processing sound that SpeechBackground plays back when the speech recognition engine is\n-\t\t\tprocessing and working to get results.\n- Hangs up the channel on failure. If this is not desired, use TryExec.\n- \n- \n- \n- End speech recognition.\n- \n- \n- This destroys the information used by all the other speech recognition applications.\n-\t\t\tIf you call this application but end up wanting to recognize more speech, you must call SpeechCreate()\n-\t\t\tagain before calling any other application.\n- Hangs up the channel on failure. If this is not desired, use TryExec.\n- \n- \n- \n- Load a grammar.\n- \n- \n- \n- \n- \n- Load a grammar only on the channel, not globally.\n- Hangs up the channel on failure. If this is not desired, use TryExec.\n- \n- \n- \n- Unload a grammar.\n- \n- \n- \n- \n- Unload a grammar.\n- Hangs up the channel on failure. If this is not desired, use TryExec.\n- \n- \n- \n- Gets the confidence score of a result.\n- \n- \n- \n- \n- \n- Gets the confidence score of a result.\n- \n- \n- \n- Gets the recognized text of a result.\n- \n- \n- \n- \n- \n- Gets the recognized text of a result.\n- \n- \n- \n- Gets the matched grammar of a result if available.\n- \n- \n- \n- \n- \n- Gets the matched grammar of a result if available.\n- \n- \n- \n- Get or change a speech engine specific attribute.\n- \n- \n- \n- \n- Changes a speech engine specific attribute.\n- \n- \n- \n- Sets the type of results that will be returned.\n- \n- \n- Sets the type of results that will be returned. Valid options are normal or nbest.\n- \n- \n- \n- Gets information about speech recognition results.\n- \n- \n- \n- \n- \n- Returns\n- 1\n- upon speech object existing,\n-\t\t\t\t\t\tor\n- 0\n- if not\n- \n- \n- \n- \n- Returns\n- 1\n- if spoker spoke,\n-\t\t\t\t\t\tor\n- 0\n- if not\n- \n- \n- \n- Returns number of results that were recognized.\n- \n- \n- \n- \n- \n- Gets information about speech recognition results.\n- \n- \n- \n- core\n+ \n+ extended\n \n- \n- Join a bridge that contains the specified channel.\n+ \n+ Plays morse code.\n \n- \n- Name of the channel in an existing bridge\n+ \n+ String to playback as morse code to channel\n \n \n \n- This application places the incoming channel into\n-\t\t\tthe bridge containing the specified channel. The specified\n-\t\t\tchannel only needs to be the prefix of a full channel name\n-\t\t\tIE. 'SIP/cisco0001'.\n+ Plays the Morse code equivalent of the passed string.\n+ This application does not automatically answer and should be preceeded by\n+\t\t\tan application such as Answer() or Progress().\n+ This application uses the following variables:\n+ \n+ \n+ Use this value in (ms) for length of dit\n+ \n+ \n+ The pitch of the tone in (Hz), default is 800\n+ \n+ \n+ The pitch of the spaces in (Hz), default is 0\n+ \n+ \n+ The code type to use (AMERICAN for standard American Morse\n+\t\t\t\t\tor INTERNATIONAL for international code.\n+\t\t\t\t\tDefault is INTERNATIONAL).\n+ \n+ \n \n+ \n+ SayAlpha\n+ SayPhonetic\n+ \n \n- \n+ \n+ jack\n+ resample\n extended\n \n- \n- Play an MP3 file or M3U playlist file or stream.\n+ \n+ Jack Audio Connection Kit\n \n- \n- Location of the file to be played.\n-\t\t\t\t(argument passed to mpg123)\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n- Executes mpg123 to play the given location, which typically would be a mp3 filename\n-\t\t\tor m3u playlist filename or a URL. Please read https://en.wikipedia.org/wiki/M3U\n-\t\t\tto see what the M3U playlist file format is like.\n- Note that mpg123 does not support HTTPS, so use HTTP for web streams.\n- User can exit by pressing any key on the dialpad, or by hanging up.\n- exten => 1234,1,MP3Player(/var/lib/asterisk/playlist.m3u)\n- This application does not automatically answer and should be preceeded by an\n-\t\t\tapplication such as Answer() or Progress().\n+ When executing this application, two jack ports will be created;\n+\t\t\tone input and one output. Other applications can be hooked up to\n+\t\t\tthese ports to access audio coming from, or being send to the channel.\n \n \n \n core\n \n \n Wait (sleep) until the current time is the given epoch.\n@@ -4171,2063 +7367,732 @@\n Invalid argument.\n Channel hungup before time elapsed.\n Time specified had already past.\n \n \n \n \n- \n- res_statsd\n- no\n- extended\n- \n- \n- Allow statistics to be passed to the StatsD server from the dialplan.\n- \n- \n- The metric type to be sent to StatsD. Valid metric types\n-\t\t\t\tare 'g' for gauge, 'c' for counter, 'ms' for timer, and 's' for\n-\t\t\t\tsets.\n- \n- \n- The name of the variable to be sent to StatsD. Statistic\n-\t\t\t\tnames cannot contain the pipe (|) character.\n- \n- \n- The value of the variable to be sent to StatsD. Values\n-\t\t\t\tmust be numeric. Values for gauge and counter metrics can be\n-\t\t\t\tsent with a '+' or '-' to update a value after the value has\n-\t\t\t\tbeen initialized. Only counters can be initialized as negative.\n-\t\t\t\tSets can send a string as the value parameter, but the string\n-\t\t\t\tcannot contain the pipe character.\n- \n- \n- The value of the sample rate to be sent to StatsD. Sample\n-\t\t\t\trates less than or equal to 0 will never be sent and sample rates\n-\t\t\t\tgreater than or equal to 1 will always be sent. Any rate\n-\t\t\t\tbetween 1 and 0 will be compared to a randomly generated value,\n-\t\t\t\tand if it is greater than the random value, it will be sent.\n- \n- \n- \n- \n- This dialplan application sends statistics to the StatsD\n-\t\t\tserver specified inside of\n- statsd.conf\n- .\n- \n- \n- \n- \n+ \n+ res_monitor\n core\n \n- \n- Forks the current Call Data Record for this channel.\n+ \n+ Queue a call for a call queue.\n \n+ \n \n \n- \n- \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n+ \n+ \n- \n- \n- \n- \n- \n- Causes the Call Data Record engine to fork a new CDR starting\n-\t\t\tfrom the time the application is executed. The forked CDR will be\n-\t\t\tlinked to the end of the CDRs associated with the channel.\n- \n- \n- CDR\n- NoCDR\n- ResetCDR\n- \n- \n- \n- extended\n- \n- \n- Receive Mini-Voicemail and forward via e-mail.\n- \n- \n- \n- Voicemail username\n- \n- \n- Voicemail domain\n- \n- \n- \n- \n- \n- \n- \n+ \n \n \n- \n- \n- \n- This application is part of the Mini-Voicemail system, configured in\n- minivm.conf\n- \n- MiniVM records audio file in configured format and forwards message to e-mail and pager.\n- If there's no user account for that address, a temporary account will be used with default options.\n- \n- The recorded file name and path will be stored in\n- MVM_FILENAME\n- and the duration\n-\t\tof the message will be stored in\n- MVM_DURATION\n- \n- \n+ \n \n- If the caller hangs up after the recording, the only way to send the message and clean up is to\n-\t\texecute in the\n- h\n- extension. The application will exit if any of the following DTMF digits\n-\t\tare received and the requested extension exist in the current context.\n+ URL\n+ will be sent to the called party if the channel supports it.\n \n- \n+ \n+ \n+ \n+ \n+ Announcement file(s) to play to agent before bridging call, overriding the announcement(s)\n+\t\t\t\t\tconfigured in\n+ queues.conf\n+ , if any.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Will cause the queue to fail out after a specified number of\n+\t\t\t\tseconds, checked between each\n+ queues.conf\n+ timeout\n+ and\n+ retry\n+ cycle.\n+ \n+ \n+ \n+ Will setup an AGI script to be executed on the calling party's channel once they are\n+\t\t\t\tconnected to a queue member.\n+ \n+ \n+ Will run a macro on the called party's channel (the queue member) once the parties are connected.\n+ NOTE: Macros are deprecated, GoSub should be used instead.\n+ \n+ \n+ Will run a gosub on the called party's channel (the queue member)\n+\t\t\t\tonce the parties are connected. The subroutine execution starts in the\n+\t\t\t\tnamed context at the s exten and priority 1.\n+ \n+ \n+ Will cause the queue's defaultrule to be overridden by the rule specified.\n+ \n+ \n+ \n+ Attempt to enter the caller into the queue at the numerical position specified.\n+ 1\n+ would attempt to enter the caller at the head of the queue, and\n+ 3\n+ would attempt to place\n+\t\t\t\tthe caller third in the queue.\n+ \n+ \n+ \n+ \n+ In addition to transferring the call, a call may be parked and then picked\n+\t\t\tup by another user.\n+ This application will return to the dialplan if the queue does not exist, or\n+\t\t\tany of the join options cause the caller to not enter the queue.\n+ This application does not automatically answer and should be preceeded\n+\t\t\tby an application such as Answer(), Progress(), or Ringing().\n+ This application sets the following channel variables upon completion:\n \n- \n- This is the status of the record operation\n- \n- \n- \n+ \n+ The status of the call as a text string.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ If the call was not answered by an agent this variable will be TRUE.\n+ \n+ \n+ \n+ Resource of the agent that was dialed set on the outbound channel.\n+ \n+ \n+ If the call was successfully withdrawn from the queue, and the withdraw request was provided with optional withdraw info, the withdraw info will be stored in this variable.\n \n \n \n+ \n+ Queue\n+ QueueLog\n+ AddQueueMember\n+ RemoveQueueMember\n+ PauseQueueMember\n+ UnpauseQueueMember\n+ QUEUE_VARIABLES\n+ QUEUE_MEMBER\n+ QUEUE_MEMBER_COUNT\n+ QUEUE_EXISTS\n+ QUEUE_GET_CHANNEL\n+ QUEUE_WAITING_COUNT\n+ QUEUE_MEMBER_LIST\n+ QUEUE_MEMBER_PENALTY\n+ \n \n- \n- Play Mini-Voicemail prompts.\n+ \n+ Dynamically adds queue members.\n \n- \n- \n- Voicemail username\n- \n- \n- Voicemail domain\n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n- This application is part of the Mini-Voicemail system, configured in minivm.conf.\n- MinivmGreet() plays default prompts or user specific prompts for an account.\n- Busy and unavailable messages can be choosen, but will be overridden if a temporary\n-\t\tmessage exists for the account.\n+ Dynamically adds interface to an existing queue. If the interface is\n+\t\t\talready in the queue it will return an error.\n+ This application sets the following channel variable upon completion:\n \n- \n- This is the status of the greeting playback.\n- \n- \n- \n+ \n+ The status of the attempt to add a queue member as a text string.\n+ \n+ \n+ \n \n \n \n+ \n+ Queue\n+ QueueLog\n+ AddQueueMember\n+ RemoveQueueMember\n+ PauseQueueMember\n+ UnpauseQueueMember\n+ QUEUE_VARIABLES\n+ QUEUE_MEMBER\n+ QUEUE_MEMBER_COUNT\n+ QUEUE_EXISTS\n+ QUEUE_GET_CHANNEL\n+ QUEUE_WAITING_COUNT\n+ QUEUE_MEMBER_LIST\n+ QUEUE_MEMBER_PENALTY\n+ \n \n- \n- Notify voicemail owner about new messages.\n+ \n+ Dynamically removes queue members.\n \n- \n- \n- Voicemail username\n- \n- \n- Voicemail domain\n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n \n \n- This application is part of the Mini-Voicemail system, configured in minivm.conf.\n \n- MiniVMnotify forwards messages about new voicemail to e-mail and pager. If there's no user\n-\t\taccount for that address, a temporary account will be used with default options (set in\n- minivm.conf\n- ).\n- \n- \n- If the channel variable\n- MVM_COUNTER\n- is set, this will be used in the message\n-\t\tfile name and available in the template for the message.\n+ If the interface is\n+ NOT\n+ in the queue it will return an error.\n \n- If no template is given, the default email template will be used to send email and default pager\n-\t\ttemplate to send paging message (if the user account is configured with a paging address.\n+ This application sets the following channel variable upon completion:\n \n- \n- This is the status of the notification attempt\n- \n- \n+ \n+ \n+ \n+ \n+ \n \n \n+ same => n,RemoveQueueMember(techsupport,SIP/3000)\n \n+ \n+ Queue\n+ QueueLog\n+ AddQueueMember\n+ RemoveQueueMember\n+ PauseQueueMember\n+ UnpauseQueueMember\n+ QUEUE_VARIABLES\n+ QUEUE_MEMBER\n+ QUEUE_MEMBER_COUNT\n+ QUEUE_EXISTS\n+ QUEUE_GET_CHANNEL\n+ QUEUE_WAITING_COUNT\n+ QUEUE_MEMBER_LIST\n+ QUEUE_MEMBER_PENALTY\n+ \n \n- \n- Delete Mini-Voicemail voicemail messages.\n+ \n+ Pauses a queue member.\n \n- \n- File to delete\n+ \n+ \n+ \n+ \n+ Is used to add extra information to the appropriate queue_log entries and manager events.\n \n \n \n- \n- This application is part of the Mini-Voicemail system, configured in\n- minivm.conf\n- .\n- \n- It deletes voicemail file set in MVM_FILENAME or given filename.\n+ Pauses (blocks calls for) a queue member. The given interface will be paused in the given queue.\n+\t\t\tThis prevents any calls from being sent from the queue to the interface until it is\n+\t\t\tunpaused with UnpauseQueueMember or the manager interface. If no queuename is given,\n+\t\t\tthe interface is paused in every queue it is a member of. The application will fail if the\n+\t\t\tinterface is not found.\n+ This application sets the following channel variable upon completion:\n \n- \n- This is the status of the delete operation.\n- \n- \n+ \n+ The status of the attempt to pause a queue member as a text string.\n+ \n+ \n \n \n+ same => n,PauseQueueMember(,SIP/3000)\n \n+ \n+ Queue\n+ QueueLog\n+ AddQueueMember\n+ RemoveQueueMember\n+ PauseQueueMember\n+ UnpauseQueueMember\n+ QUEUE_VARIABLES\n+ QUEUE_MEMBER\n+ QUEUE_MEMBER_COUNT\n+ QUEUE_EXISTS\n+ QUEUE_GET_CHANNEL\n+ QUEUE_WAITING_COUNT\n+ QUEUE_MEMBER_LIST\n+ QUEUE_MEMBER_PENALTY\n+ \n \n- \n- Record account specific messages.\n+ \n+ Unpauses a queue member.\n \n- \n- \n- Voicemail username\n- \n- \n- Voicemail domain\n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ \n+ \n+ Is used to add extra information to the appropriate queue_log entries and manager events.\n \n \n \n \n- This application is part of the Mini-Voicemail system, configured in\n- minivm.conf\n- .\n+ Unpauses (resumes calls to) a queue member. This is the counterpart to\n+ PauseQueueMember()\n+ and operates exactly the same way, except it unpauses instead of pausing the given interface.\n \n- Use this application to record account specific audio/video messages for busy, unavailable\n-\t\tand temporary messages.\n- Account specific directories will be created if they do not exist.\n+ This application sets the following channel variable upon completion:\n \n- \n- This is the result of the attempt to record the specified greeting.\n- \n- FAILED\n- is set if the file can't be created.\n- \n- \n- \n+ \n+ The status of the attempt to unpause a queue member as a text string.\n+ \n+ \n \n \n+ same => n,UnpauseQueueMember(,SIP/3000)\n \n+ \n+ Queue\n+ QueueLog\n+ AddQueueMember\n+ RemoveQueueMember\n+ PauseQueueMember\n+ UnpauseQueueMember\n+ QUEUE_VARIABLES\n+ QUEUE_MEMBER\n+ QUEUE_MEMBER_COUNT\n+ QUEUE_EXISTS\n+ QUEUE_GET_CHANNEL\n+ QUEUE_WAITING_COUNT\n+ QUEUE_MEMBER_LIST\n+ QUEUE_MEMBER_PENALTY\n+ \n \n- \n- Send Message Waiting Notification to subscriber(s) of mailbox.\n+ \n+ Writes to the queue_log file.\n \n- \n- \n- Voicemail username\n- \n- \n- Voicemail domain\n- \n- \n- \n- Number of urgent messages in mailbox.\n- \n- \n- Number of new messages in mailbox.\n- \n- \n- Number of old messages in mailbox.\n- \n+ \n+ \n+ \n+ \n+ \n \n \n- \n- This application is part of the Mini-Voicemail system, configured in\n- minivm.conf\n- .\n- \n- MinivmMWI is used to send message waiting indication to any devices whose channels have\n-\t\tsubscribed to the mailbox passed in the first parameter.\n+ Allows you to write your own events into the queue log.\n+ same => n,QueueLog(101,${UNIQUEID},${AGENT},WENTONBREAK,600)\n+ \n+ \n+ Queue\n+ QueueLog\n+ AddQueueMember\n+ RemoveQueueMember\n+ PauseQueueMember\n+ UnpauseQueueMember\n+ QUEUE_VARIABLES\n+ QUEUE_MEMBER\n+ QUEUE_MEMBER_COUNT\n+ QUEUE_EXISTS\n+ QUEUE_GET_CHANNEL\n+ QUEUE_WAITING_COUNT\n+ QUEUE_MEMBER_LIST\n+ QUEUE_MEMBER_PENALTY\n+ \n+ \n+ \n+ Writes to the queue_log file for outbound calls and updates Realtime Data.\n+\t\t\tIs used at h extension to be able to have all the parameters.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Allows you to write Outbound events into the queue log.\n+ exten => h,1,QueueUpdate(${QUEUE}, ${UNIQUEID}, ${AGENT}, ${DIALSTATUS}, ${ANSWEREDTIME}, ${DIALEDTIME} | ${DIALEDNUMBER})\n \n \n- \n- Reads or sets counters for MiniVoicemail message.\n- \n- \n- If account is given and it exists, the counter is specific for the account.\n- If account is a domain and the domain directory exists, counters are specific for a domain.\n- \n- \n- The name of the counter is a string, up to 10 characters.\n- \n- \n- The counters never goes below zero. Valid operands for changing the value of a counter when assigning a value are:\n+ \n+ Return Queue information in variables.\n+ \n+ \n \n- \n- Increment by value.\n+ \n+ Maxmimum number of calls allowed.\n \n- \n- Decrement by value.\n+ \n+ The strategy of the queue.\n \n- \n- Set to value.\n+ \n+ Number of calls currently in the queue.\n+ \n+ \n+ Current average hold time.\n+ \n+ \n+ Number of completed calls for the queue.\n+ \n+ \n+ Number of abandoned calls.\n+ \n+ \n+ Queue service level.\n+ \n+ \n+ Current service level performance.\n \n \n \n \n \n- The operation is atomic and the counter is locked while changing the value. The counters are stored as text files in the minivm account directories. It might be better to use realtime functions if you are using a database to operate your Asterisk.\n+ Makes the following queue variables available.\n+ \n+ Returns\n+ 0\n+ if queue is found and setqueuevar is defined,\n+ -1\n+ otherwise.\n+ \n \n \n- MinivmRecord\n- MinivmGreet\n- MinivmNotify\n- MinivmDelete\n- MinivmAccMess\n- MinivmMWI\n- MINIVMACCOUNT\n+ Queue\n+ QueueLog\n+ AddQueueMember\n+ RemoveQueueMember\n+ PauseQueueMember\n+ UnpauseQueueMember\n+ QUEUE_VARIABLES\n+ QUEUE_MEMBER\n+ QUEUE_MEMBER_COUNT\n+ QUEUE_EXISTS\n+ QUEUE_GET_CHANNEL\n+ QUEUE_WAITING_COUNT\n+ QUEUE_MEMBER_LIST\n+ QUEUE_MEMBER_PENALTY\n \n \n- \n- Gets MiniVoicemail account information.\n- \n- \n- \n- Valid items are:\n+ \n+ Provides a count of queue members based on the provided criteria, or updates a\n+\t\t\tqueue member's settings.\n+ \n+ \n+ \n \n- \n- Path to account mailbox (if account exists, otherwise temporary mailbox).\n- \n- \n- 1 is static Minivm account exists, 0 otherwise.\n- \n- \n- Full name of account owner.\n- \n- \n- Email address used for account.\n- \n- \n- Email template for account (default template if none is configured).\n+ \n+ Returns the number of logged-in members for the specified queue.\n \n- \n- Pager template for account (default template if none is configured).\n+ \n+ Returns the number of logged-in members for the specified queue that either can take calls or are currently wrapping up after a previous call.\n \n- \n- Account code for the voicemail account.\n+ \n+ Returns the number of logged-in members for the specified queue that are immediately available to answer a call.\n \n- \n- Pin code for voicemail account.\n+ \n+ Returns the total number of members for the specified queue.\n \n- \n- Time zone for voicemail account.\n+ \n+ \n+ Gets or sets queue member penalty. If\n+ queuename\n+ is not specified\n+\t\t\t\t\t\twhen setting the penalty then the penalty is set in all queues\n+\t\t\t\t\t\tthe interface is a member.\n+ \n \n- \n- Language for voicemail account.\n+ \n+ \n+ Gets or sets queue member paused status. If\n+ queuename\n+ is not specified\n+\t\t\t\t\t\twhen setting the paused status then the paused status is set\n+\t\t\t\t\t\tin all queues the interface is a member.\n+ \n \n- \n- Channel variable value (set in configuration for account).\n+ \n+ \n+ Gets or sets queue member ringinuse. If\n+ queuename\n+ is not specified\n+\t\t\t\t\t\twhen setting ringinuse then ringinuse is set\n+\t\t\t\t\t\tin all queues the interface is a member.\n+ \n \n \n \n+ \n \n \n- \n+ Allows access to queue counts [R] and member information [R/W].\n+ \n+ queuename\n+ is required for all read operations.\n+ \n+ \n+ interface\n+ is required for all member operations.\n+ \n \n \n- MinivmRecord\n- MinivmGreet\n- MinivmNotify\n- MinivmDelete\n- MinivmAccMess\n- MinivmMWI\n- MINIVMCOUNTER\n+ Queue\n+ QueueLog\n+ AddQueueMember\n+ RemoveQueueMember\n+ PauseQueueMember\n+ UnpauseQueueMember\n+ QUEUE_VARIABLES\n+ QUEUE_MEMBER\n+ QUEUE_MEMBER_COUNT\n+ QUEUE_EXISTS\n+ QUEUE_GET_CHANNEL\n+ QUEUE_WAITING_COUNT\n+ QUEUE_MEMBER_LIST\n+ QUEUE_MEMBER_PENALTY\n \n \n- \n- \n- Raised when a notification is sent out by a MiniVoiceMail application\n- \n- \n- \n- \n- What action was taken. Currently, this will always be\n- SentNotification\n- \n- \n- \n- \n- The mailbox that the notification was about, specified as\n- mailbox\n- @\n- context\n- \n- \n- \n- \n- A message counter derived from the\n- MVM_COUNTER\n- channel variable.\n- \n- \n- \n- \n- \n- \n- core\n- \n- \n- Redirects given channel to a dialplan target\n+ \n+ Count number of members answering a queue.\n \n- \n- \n- \n- \n+ \n \n \n- Sends the specified channel to the specified extension priority\n- This application sets the following channel variables upon completion\n- \n- \n- \n- \n- Are set to the result of the redirection\n- \n- \n+ \n+ Returns the number of members currently associated with the specified\n+ queuename\n+ .\n+ \n+ \n+ \n+ This function has been deprecated in favor of the\n+ QUEUE_MEMBER()\n+ function\n+ \n+ \n \n- \n- \n- core\n- \n- \n- Delete a family or keytree from the asterisk database.\n- \n- \n- \n+ \n+ Queue\n+ QueueLog\n+ AddQueueMember\n+ RemoveQueueMember\n+ PauseQueueMember\n+ UnpauseQueueMember\n+ QUEUE_VARIABLES\n+ QUEUE_MEMBER\n+ QUEUE_MEMBER_COUNT\n+ QUEUE_EXISTS\n+ QUEUE_GET_CHANNEL\n+ QUEUE_WAITING_COUNT\n+ QUEUE_MEMBER_LIST\n+ QUEUE_MEMBER_PENALTY\n+ \n+ \n+ \n+ Check if a named queue exists on this server\n+ \n+ \n \n \n- \n- This application will delete a\n- family\n- or\n- keytree\n- from the Asterisk database.\n- \n+ Returns 1 if the specified queue exists, 0 if it does not\n \n \n- DB_DELETE\n- DB\n+ Queue\n+ QueueLog\n+ AddQueueMember\n+ RemoveQueueMember\n+ PauseQueueMember\n+ UnpauseQueueMember\n+ QUEUE_VARIABLES\n+ QUEUE_MEMBER\n+ QUEUE_MEMBER_COUNT\n+ QUEUE_EXISTS\n+ QUEUE_GET_CHANNEL\n+ QUEUE_WAITING_COUNT\n+ QUEUE_MEMBER_LIST\n+ QUEUE_MEMBER_PENALTY\n \n- \n- \n- core\n- \n- \n- Read an extension into a variable.\n+ \n+ \n+ Return caller at the specified position in a queue.\n \n- \n- \n- \n- File to play before reading digits or tone with option\n- i\n- \n- \n- \n- Context in which to match extensions.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- An integer number of seconds to wait for a digit response. If\n-\t\t\t\tgreater than\n- 0\n- , that value will override the default timeout.\n- \n- \n+ \n+ \n \n \n \n- Reads a\n- #\n- terminated string of digits from the user into the given variable.\n- \n- Will set READEXTENSTATUS on exit with one of the following statuses:\n- \n- \n- A valid extension exists in ${variable}.\n- No extension was entered in the specified time. Also sets ${variable} to "t".\n- An invalid extension, ${INVALID_EXTEN}, was entered. Also sets ${variable} to "i".\n- Line was not up and the option 's' was specified.\n- Invalid arguments were passed.\n- \n- \n- \n- \n- \n- core\n- \n- \n- Listen to a channel, and optionally whisper into it.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- This application is used to listen to the audio from an Asterisk channel. This includes the audio\n-\t\t\tcoming in and out of the channel being spied on. If the\n- chanprefix\n- parameter is specified,\n-\t\t\tonly channels beginning with this string will be spied upon.\n- \n- While spying, the following actions may be performed:\n- \n- - Dialing\n- #\n- cycles the volume level.\n- \n- \n- - Dialing\n- *\n- will stop spying and look for another channel to spy on.\n- \n- \n- - Dialing a series of digits followed by\n- #\n- builds a channel name to append\n-\t\t\tto\n- chanprefix\n- . For example, executing ChanSpy(Agent) and then dialing the digits '1234#'\n-\t\t\twhile spying will begin spying on the channel 'Agent/1234'. Note that this feature will be overridden\n-\t\t\tif the 'd' or 'u' options are used.\n- \n- \n- \n- The\n- X\n- option supersedes the three features above in that if a valid\n-\t\t\tsingle digit extension exists in the correct context ChanSpy will exit to it.\n-\t\t\tThis also disables choosing a channel based on\n- chanprefix\n- and a digit sequence.\n- \n- \n- \n- \n- ExtenSpy\n- ChanSpyStart\n- ChanSpyStop\n- \n- \n- \n- Listen to a channel, and optionally whisper into it.\n- \n- \n- \n- Specify extension.\n- \n- \n- \n- Optionally specify a context, defaults to\n- default\n- .\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- This application is used to listen to the audio from an Asterisk channel. This includes\n-\t\t\tthe audio coming in and out of the channel being spied on. Only channels created by outgoing calls for the\n-\t\t\tspecified extension will be selected for spying. If the optional context is not supplied,\n-\t\t\tthe current channel's context will be used.\n- While spying, the following actions may be performed:\n- \n- - Dialing\n- #\n- cycles the volume level.\n- \n- \n- - Dialing\n- *\n- will stop spying and look for another channel to spy on.\n- \n- \n- \n- The\n- X\n- option supersedes the three features above in that if a valid\n-\t\t\tsingle digit extension exists in the correct context ChanSpy will exit to it.\n-\t\t\tThis also disables choosing a channel based on\n- chanprefix\n- and a digit sequence.\n- \n- \n- \n- \n- ChanSpy\n- ChanSpyStart\n- ChanSpyStop\n- \n- \n- \n- Scan DAHDI channels to monitor calls.\n- \n- \n- \n- Limit scanning to a channel\n- group\n- by setting this option.\n- \n- \n- \n- \n- \n- Allows a call center manager to monitor DAHDI channels in a\n-\t\t\tconvenient way. Use\n- #\n- to select the next channel and use\n- *\n- to exit.\n- \n- \n- \n- ChanSpyStart\n- ChanSpyStop\n- \n- \n- \n- res_stasis\n- core\n- \n- \n- Invoke an external Stasis application.\n- \n- \n- Name of the application to invoke.\n- \n- \n- Optional comma-delimited arguments for the\n-\t\t\t\tapplication invocation.\n- \n- \n- \n- Invoke a Stasis application.\n- This application will set the following channel variable upon\n-\t\t\tcompletion:\n- \n- \n- This indicates the status of the execution of the\n-\t\t\t\t\tStasis application.\n- The channel has exited Stasis without any failures in\n-\t\t\t\t\t\tStasis.\n- A failure occurred when executing the Stasis\n-\t\t\t\t\t\tThe app registry is not instantiated; The app\n-\t\t\t\t\t\tapplication. Some (not all) possible reasons for this:\n-\t\t\t\t\t\trequested is not registered; The app requested is not\n-\t\t\t\t\t\tactive; Stasis couldn't send a start message.\n- \n- \n- \n- \n- \n- core\n- \n- \n- Tell Asterisk to not maintain a CDR for this channel.\n- \n- \n- \n- This application will tell Asterisk not to maintain a CDR for\n-\t\t\tthe current channel. This does\n- NOT\n- mean that\n-\t\t\tinformation is not tracked; rather, if the channel is hung up no\n-\t\t\tCDRs will be created for that channel.\n- \n- If a subsequent call to ResetCDR occurs, all non-finalized\n-\t\t\tCDRs created for the channel will be enabled.\n- \n- This application is deprecated. Please use the CDR_PROP\n-\t\t\tfunction to disable CDRs on a channel.\n- \n- \n- \n- ResetCDR\n- CDR_PROP\n- \n- \n- \n- Resets the Call Data Record.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- This application causes the Call Data Record to be reset.\n-\t\t\tDepending on the flags passed in, this can have several effects.\n-\t\t\tWith no options, a reset does the following:\n- \n- 1. The\n- start\n- time is set to the current time.\n- \n- \n- 2. If the channel is answered, the\n- answer\n- time is set to the\n-\t\t\tcurrent time.\n- \n- \n- 3. All variables are wiped from the CDR. Note that this step\n-\t\t\tcan be prevented with the\n- v\n- option.\n- \n- \n- On the other hand, if the\n- e\n- option is\n-\t\t\tspecified, the effects of the NoCDR application will be lifted. CDRs\n-\t\t\twill be re-enabled for this channel.\n- \n- \n- \n- The\n- e\n- option is deprecated. Please\n-\t\t\tuse the CDR_PROP function instead.\n- \n- \n- \n- \n- ForkCDR\n- NoCDR\n- CDR_PROP\n- \n- \n- \n- core\n- \n- \n- Record to a file.\n- \n- \n- \n- \n- Is the format of the file type to be recorded (wav, gsm, etc).\n- \n- \n- \n- Is the number of seconds of silence to allow before returning.\n- \n- \n- Is the maximum recording duration in seconds. If missing\n-\t\t\t\tor 0 there is no maximum.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- If filename contains\n- %d\n- , these characters will be replaced with a number\n-\t\t\tincremented by one each time the file is recorded.\n-\t\t\tUse\n- core show file formats\n- to see the available formats on your system\n-\t\t\tUser can press\n- #\n- to terminate the recording and continue to the next priority.\n-\t\t\tIf the user hangs up during a recording, all data will be lost and the application will terminate.\n- \n- \n- \n- Will be set to the final filename of the recording, without an extension.\n- \n- \n- This is the final status of the command\n- A terminating DTMF was received ('#' or '*', depending upon option 't')\n- The maximum silence occurred in the recording.\n- The line was not yet answered and the 's' option was specified.\n- The maximum length was reached.\n- The channel was hung up.\n- An unrecoverable error occurred, which resulted in a WARNING to the logs.\n- \n- \n- \n- \n- \n- extended\n- \n- \n- \n- 16.20.0\n- 18.6.0\n- 19.0.0\n- \n- Reloads an Asterisk module, blocking the channel until the reload has completed.\n- \n- \n- The full name(s) of the target module(s) or resource(s) to reload.\n-\t\t\t\tIf omitted, everything will be reloaded.\n- \n- The full names MUST be specified (e.g.\n- chan_iax2\n- to reload IAX2 or\n- pbx_config\n- to reload the dialplan.\n- \n- \n- \n- \n- Reloads the specified (or all) Asterisk modules and reports success or failure.\n-\t\t\tSuccess is determined by each individual module, and if all reloads are successful,\n-\t\t\tthat is considered an aggregate success. If multiple modules are specified and any\n-\t\t\tmodule fails, then FAILURE will be returned. It is still possible that other modules\n-\t\t\tdid successfully reload, however.\n- \n- Sets\n- RELOADSTATUS\n- to one of the following values:\n- \n- \n- \n- Specified module(s) reloaded successfully.\n- Some or all of the specified modules failed to reload.\n- \n- \n- \n- \n- \n- res_monitor\n- core\n- \n- \n- Queue a call for a call queue.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- URL\n- will be sent to the called party if the channel supports it.\n- \n- \n- \n- \n- \n- Announcement file(s) to play to agent before bridging call, overriding the announcement(s)\n-\t\t\t\t\tconfigured in\n- queues.conf\n- , if any.\n- \n- \n- \n- \n- \n- \n- Will cause the queue to fail out after a specified number of\n-\t\t\t\tseconds, checked between each\n- queues.conf\n- timeout\n- and\n- retry\n- cycle.\n- \n- \n- \n- Will setup an AGI script to be executed on the calling party's channel once they are\n-\t\t\t\tconnected to a queue member.\n- \n- \n- Will run a macro on the called party's channel (the queue member) once the parties are connected.\n- NOTE: Macros are deprecated, GoSub should be used instead.\n- \n- \n- Will run a gosub on the called party's channel (the queue member)\n-\t\t\t\tonce the parties are connected. The subroutine execution starts in the\n-\t\t\t\tnamed context at the s exten and priority 1.\n- \n- \n- Will cause the queue's defaultrule to be overridden by the rule specified.\n- \n- \n- \n- Attempt to enter the caller into the queue at the numerical position specified.\n- 1\n- would attempt to enter the caller at the head of the queue, and\n- 3\n- would attempt to place\n-\t\t\t\tthe caller third in the queue.\n- \n- \n- \n- \n- In addition to transferring the call, a call may be parked and then picked\n-\t\t\tup by another user.\n- This application will return to the dialplan if the queue does not exist, or\n-\t\t\tany of the join options cause the caller to not enter the queue.\n- This application does not automatically answer and should be preceeded\n-\t\t\tby an application such as Answer(), Progress(), or Ringing().\n- This application sets the following channel variables upon completion:\n- \n- \n- The status of the call as a text string.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- If the call was not answered by an agent this variable will be TRUE.\n- \n- \n- \n- Resource of the agent that was dialed set on the outbound channel.\n- \n- \n- If the call was successfully withdrawn from the queue, and the withdraw request was provided with optional withdraw info, the withdraw info will be stored in this variable.\n- \n- \n- \n- \n- Queue\n- QueueLog\n- AddQueueMember\n- RemoveQueueMember\n- PauseQueueMember\n- UnpauseQueueMember\n- QUEUE_VARIABLES\n- QUEUE_MEMBER\n- QUEUE_MEMBER_COUNT\n- QUEUE_EXISTS\n- QUEUE_GET_CHANNEL\n- QUEUE_WAITING_COUNT\n- QUEUE_MEMBER_LIST\n- QUEUE_MEMBER_PENALTY\n- \n- \n- \n- Dynamically adds queue members.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Dynamically adds interface to an existing queue. If the interface is\n-\t\t\talready in the queue it will return an error.\n- This application sets the following channel variable upon completion:\n- \n- \n- The status of the attempt to add a queue member as a text string.\n- \n- \n- \n- \n- \n- \n- \n- Queue\n- QueueLog\n- AddQueueMember\n- RemoveQueueMember\n- PauseQueueMember\n- UnpauseQueueMember\n- QUEUE_VARIABLES\n- QUEUE_MEMBER\n- QUEUE_MEMBER_COUNT\n- QUEUE_EXISTS\n- QUEUE_GET_CHANNEL\n- QUEUE_WAITING_COUNT\n- QUEUE_MEMBER_LIST\n- QUEUE_MEMBER_PENALTY\n- \n- \n- \n- Dynamically removes queue members.\n- \n- \n- \n- \n- \n- \n- If the interface is\n- NOT\n- in the queue it will return an error.\n- \n- This application sets the following channel variable upon completion:\n- \n- \n- \n- \n- \n- \n- \n- \n- same => n,RemoveQueueMember(techsupport,SIP/3000)\n- \n- \n- Queue\n- QueueLog\n- AddQueueMember\n- RemoveQueueMember\n- PauseQueueMember\n- UnpauseQueueMember\n- QUEUE_VARIABLES\n- QUEUE_MEMBER\n- QUEUE_MEMBER_COUNT\n- QUEUE_EXISTS\n- QUEUE_GET_CHANNEL\n- QUEUE_WAITING_COUNT\n- QUEUE_MEMBER_LIST\n- QUEUE_MEMBER_PENALTY\n- \n- \n- \n- Pauses a queue member.\n- \n- \n- \n- \n- \n- Is used to add extra information to the appropriate queue_log entries and manager events.\n- \n- \n- \n- Pauses (blocks calls for) a queue member. The given interface will be paused in the given queue.\n-\t\t\tThis prevents any calls from being sent from the queue to the interface until it is\n-\t\t\tunpaused with UnpauseQueueMember or the manager interface. If no queuename is given,\n-\t\t\tthe interface is paused in every queue it is a member of. The application will fail if the\n-\t\t\tinterface is not found.\n- This application sets the following channel variable upon completion:\n- \n- \n- The status of the attempt to pause a queue member as a text string.\n- \n- \n- \n- \n- same => n,PauseQueueMember(,SIP/3000)\n- \n- \n- Queue\n- QueueLog\n- AddQueueMember\n- RemoveQueueMember\n- PauseQueueMember\n- UnpauseQueueMember\n- QUEUE_VARIABLES\n- QUEUE_MEMBER\n- QUEUE_MEMBER_COUNT\n- QUEUE_EXISTS\n- QUEUE_GET_CHANNEL\n- QUEUE_WAITING_COUNT\n- QUEUE_MEMBER_LIST\n- QUEUE_MEMBER_PENALTY\n- \n- \n- \n- Unpauses a queue member.\n- \n- \n- \n- \n- \n- Is used to add extra information to the appropriate queue_log entries and manager events.\n- \n- \n- \n- \n- Unpauses (resumes calls to) a queue member. This is the counterpart to\n- PauseQueueMember()\n- and operates exactly the same way, except it unpauses instead of pausing the given interface.\n- \n- This application sets the following channel variable upon completion:\n- \n- \n- The status of the attempt to unpause a queue member as a text string.\n- \n- \n- \n- \n- same => n,UnpauseQueueMember(,SIP/3000)\n- \n- \n- Queue\n- QueueLog\n- AddQueueMember\n- RemoveQueueMember\n- PauseQueueMember\n- UnpauseQueueMember\n- QUEUE_VARIABLES\n- QUEUE_MEMBER\n- QUEUE_MEMBER_COUNT\n- QUEUE_EXISTS\n- QUEUE_GET_CHANNEL\n- QUEUE_WAITING_COUNT\n- QUEUE_MEMBER_LIST\n- QUEUE_MEMBER_PENALTY\n- \n- \n- \n- Writes to the queue_log file.\n- \n- \n- \n- \n- \n- \n- \n- \n- Allows you to write your own events into the queue log.\n- same => n,QueueLog(101,${UNIQUEID},${AGENT},WENTONBREAK,600)\n- \n- \n- Queue\n- QueueLog\n- AddQueueMember\n- RemoveQueueMember\n- PauseQueueMember\n- UnpauseQueueMember\n- QUEUE_VARIABLES\n- QUEUE_MEMBER\n- QUEUE_MEMBER_COUNT\n- QUEUE_EXISTS\n- QUEUE_GET_CHANNEL\n- QUEUE_WAITING_COUNT\n- QUEUE_MEMBER_LIST\n- QUEUE_MEMBER_PENALTY\n- \n- \n- \n- Writes to the queue_log file for outbound calls and updates Realtime Data.\n-\t\t\tIs used at h extension to be able to have all the parameters.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Allows you to write Outbound events into the queue log.\n- exten => h,1,QueueUpdate(${QUEUE}, ${UNIQUEID}, ${AGENT}, ${DIALSTATUS}, ${ANSWEREDTIME}, ${DIALEDTIME} | ${DIALEDNUMBER})\n- \n- \n- \n- Return Queue information in variables.\n- \n- \n- \n- \n- Maxmimum number of calls allowed.\n- \n- \n- The strategy of the queue.\n- \n- \n- Number of calls currently in the queue.\n- \n- \n- Current average hold time.\n- \n- \n- Number of completed calls for the queue.\n- \n- \n- Number of abandoned calls.\n- \n- \n- Queue service level.\n- \n- \n- Current service level performance.\n- \n- \n- \n- \n- \n- Makes the following queue variables available.\n- \n- Returns\n- 0\n- if queue is found and setqueuevar is defined,\n- -1\n- otherwise.\n- \n- \n- \n- Queue\n- QueueLog\n- AddQueueMember\n- RemoveQueueMember\n- PauseQueueMember\n- UnpauseQueueMember\n- QUEUE_VARIABLES\n- QUEUE_MEMBER\n- QUEUE_MEMBER_COUNT\n- QUEUE_EXISTS\n- QUEUE_GET_CHANNEL\n- QUEUE_WAITING_COUNT\n- QUEUE_MEMBER_LIST\n- QUEUE_MEMBER_PENALTY\n- \n- \n- \n- Provides a count of queue members based on the provided criteria, or updates a\n-\t\t\tqueue member's settings.\n- \n- \n- \n- \n- \n- Returns the number of logged-in members for the specified queue.\n- \n- \n- Returns the number of logged-in members for the specified queue that either can take calls or are currently wrapping up after a previous call.\n- \n- \n- Returns the number of logged-in members for the specified queue that are immediately available to answer a call.\n- \n- \n- Returns the total number of members for the specified queue.\n- \n- \n- \n- Gets or sets queue member penalty. If\n- queuename\n- is not specified\n-\t\t\t\t\t\twhen setting the penalty then the penalty is set in all queues\n-\t\t\t\t\t\tthe interface is a member.\n- \n- \n- \n- \n- Gets or sets queue member paused status. If\n- queuename\n- is not specified\n-\t\t\t\t\t\twhen setting the paused status then the paused status is set\n-\t\t\t\t\t\tin all queues the interface is a member.\n- \n- \n- \n- \n- Gets or sets queue member ringinuse. If\n- queuename\n- is not specified\n-\t\t\t\t\t\twhen setting ringinuse then ringinuse is set\n-\t\t\t\t\t\tin all queues the interface is a member.\n- \n- \n- \n- \n- \n- \n- \n- Allows access to queue counts [R] and member information [R/W].\n- \n- queuename\n- is required for all read operations.\n- \n- \n- interface\n- is required for all member operations.\n- \n- \n- \n- Queue\n- QueueLog\n- AddQueueMember\n- RemoveQueueMember\n- PauseQueueMember\n- UnpauseQueueMember\n- QUEUE_VARIABLES\n- QUEUE_MEMBER\n- QUEUE_MEMBER_COUNT\n- QUEUE_EXISTS\n- QUEUE_GET_CHANNEL\n- QUEUE_WAITING_COUNT\n- QUEUE_MEMBER_LIST\n- QUEUE_MEMBER_PENALTY\n- \n- \n- \n- Count number of members answering a queue.\n- \n- \n- \n- \n- \n- Returns the number of members currently associated with the specified\n- queuename\n- .\n- \n- \n- \n- This function has been deprecated in favor of the\n- QUEUE_MEMBER()\n- function\n- \n- \n- \n- \n- Queue\n- QueueLog\n- AddQueueMember\n- RemoveQueueMember\n- PauseQueueMember\n- UnpauseQueueMember\n- QUEUE_VARIABLES\n- QUEUE_MEMBER\n- QUEUE_MEMBER_COUNT\n- QUEUE_EXISTS\n- QUEUE_GET_CHANNEL\n- QUEUE_WAITING_COUNT\n- QUEUE_MEMBER_LIST\n- QUEUE_MEMBER_PENALTY\n- \n- \n- \n- Check if a named queue exists on this server\n- \n- \n- \n- \n- Returns 1 if the specified queue exists, 0 if it does not\n- \n- \n- Queue\n- QueueLog\n- AddQueueMember\n- RemoveQueueMember\n- PauseQueueMember\n- UnpauseQueueMember\n- QUEUE_VARIABLES\n- QUEUE_MEMBER\n- QUEUE_MEMBER_COUNT\n- QUEUE_EXISTS\n- QUEUE_GET_CHANNEL\n- QUEUE_WAITING_COUNT\n- QUEUE_MEMBER_LIST\n- QUEUE_MEMBER_PENALTY\n- \n- \n- \n- Return caller at the specified position in a queue.\n- \n- \n- \n- \n- \n- \n- Returns the caller channel at\n- position\n- in the specified\n- queuename\n- .\n+ Returns the caller channel at\n+ position\n+ in the specified\n+ queuename\n+ .\n \n \n If\n position\n is unspecified the first channel is returned.\n \n \n@@ -6933,15 +8798,147 @@\n \n AgentCalled\n AgentComplete\n AgentDump\n \n \n \n- \n+ \n+ core\n+ \n+ \n+ Play a tone list.\n+ \n+ \n+ \n+ Arg is either the tone name defined in the\n+ indications.conf\n+ configuration file, or a directly specified list of frequencies and durations.\n+ \n+ \n+ \n+ \n+ Plays a tone list. Execution will continue with the next step in the dialplan\n+\t\t\timmediately while the tones continue to play.\n+ \n+ See the sample\n+ indications.conf\n+ for a description of the\n+\t\t\tspecification of a tonelist.\n+ \n+ \n+ \n+ StopPlayTones\n+ \n+ \n+ \n+ Stop playing a tone list.\n+ \n+ \n+ Stop playing a tone list, initiated by PlayTones().\n+ \n+ \n+ PlayTones\n+ \n+ \n+ \n+ dahdi\n+ deprecated\n+ 16\n+ 19\n+ \n+ \n+ Executes DAHDI ISDN RAS application.\n+ \n+ \n+ \n+ A list of parameters to pass to the pppd daemon,\n+\t\t\t\tseparated by\n+ ,\n+ characters.\n+ \n+ \n+ \n+ \n+ Executes a RAS server using pppd on the given channel.\n+\t\t\tThe channel must be a clear channel (i.e. PRI source) and a DAHDI\n+\t\t\tchannel to be able to use this function (No modem emulation is included).\n+ Your pppd must be patched to be DAHDI aware.\n+ \n+ \n+ \n+ extended\n+ \n+ \n+ Attended transfer to the extension provided and TRANSFER_CONTEXT\n+ \n+ \n+ Specify extension.\n+ \n+ \n+ \n+ \n+ Queue up attended transfer to the specified extension in the\n+ TRANSFER_CONTEXT\n+ .\n+ \n+ Note that the attended transfer only work when two channels have answered and are bridged together.\n+ \n+ Make sure to set Attended Transfer DTMF feature\n+ atxfer\n+ and attended transfer is permitted.\n+ \n+ \n+ The result of the application will be reported in the\n+ ATTENDEDTRANSFERSTATUS\n+ channel variable:\n+ \n+ \n+ \n+ Transfer successfully queued.\n+ Transfer failed.\n+ Transfer not permitted.\n+ \n+ \n+ \n+ \n+ \n+ deprecated\n+ 16\n+ 19\n+ \n+ \n+ Sends an image file.\n+ \n+ \n+ Path of the filename (image) to send.\n+ \n+ \n+ \n+ Send an image file on a channel supporting it.\n+ \n+ Result of transmission will be stored in\n+ SENDIMAGESTATUS\n+ \n+ \n+ \n+ Transmission succeeded.\n+ Transmission failed.\n+ Image transmission not supported by channel.\n+ \n+ \n+ \n+ \n+ SendText\n+ SendURL\n+ \n+ \n+ \n+ openssl\n+ imap_tk\n res_adsi\n res_smdi\n yes\n core\n \n \n Leave a Voicemail message.\n@@ -7455,715 +9452,669 @@\n \t\t\twithin\n Context\n will be polled.\n \t\t\tOtherwise, only a single mailbox will be polled for changes.\n \n \n \n- \n- core\n- \n- \n- Echo media, DTMF back to the calling party\n- \n- \n- Echos back any media or DTMF frames read from the calling\n-\t\t\tchannel back to itself. This will not echo CONTROL, MODEM, or NULL\n-\t\t\tframes. Note: If '#' detected application exits.\n- This application does not automatically answer and should be\n-\t\t\tpreceeded by an application such as Answer() or Progress().\n- \n- \n- \n- app_cdr\n+ \n+ unixodbc\n+ res_adsi\n+ res_smdi\n+ yes\n core\n \n- \n- Direct Inward System Access.\n+ \n+ Leave a Voicemail message.\n \n- \n- \n- If you need to present a DISA dialtone without entering a password,\n-\t\t\t\tsimply set\n- passcode\n- to\n- no-password\n- \n- \n- You may specified a\n- filename\n- instead of a\n- passcode\n- , this filename must contain individual passcodes\n- \n- \n- \n- \n- Specifies the dialplan context in which the user-entered extension\n-\t\t\t\twill be matched. If no context is specified, the DISA application defaults\n-\t\t\t\tto the\n- disa\n- context. Presumably a normal system will have a special\n-\t\t\t\tcontext set up for DISA use with some or a lot of restrictions.\n- \n- \n- \n- Specifies a new (different) callerid to be used for this call.\n- \n- \n- \n- Will cause a stutter-dialtone (indication\n- dialrecall\n- )\n-\t\t\t\tto be used, if the specified mailbox contains any new messages.\n- \n- \n- \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n- \n- \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n \n- \n- The DISA, Direct Inward System Access, application allows someone from\n-\t\t\toutside the telephone switch (PBX) to obtain an\n- internal\n- system\n-\t\t\tdialtone and to place calls from it as if they were placing a call from\n-\t\t\twithin the switch.\n-\t\t\tDISA plays a dialtone. The user enters their numeric passcode, followed by\n-\t\t\tthe pound sign\n- #\n- . If the passcode is correct, the user is then given\n-\t\t\tsystem dialtone within\n- context\n- on which a call may be placed.\n-\t\t\tIf the user enters an invalid extension and extension\n- i\n- exists in the specified\n- context\n- , it will be used.\n- \n- Be aware that using this may compromise the security of your PBX.\n- \n- The arguments to this application (in\n- extensions.conf\n- ) allow either\n-\t\t\tspecification of a single global\n- passcode\n- (that everyone uses), or\n-\t\t\tindividual passcodes contained in a file (\n- filename\n- ).\n- \n- \n- The file that contains the passcodes (if used) allows a complete\n-\t\t\tspecification of all of the same arguments available on the command\n-\t\t\tline, with the sole exception of the options. The file may contain blank\n-\t\t\tlines, or comments starting with\n- #\n- or\n- ;\n- .\n- \n+ This application allows the calling party to leave a message for the specified\n+\t\t\tlist of mailboxes. When multiple mailboxes are specified, the greeting will be taken from\n+\t\t\tthe first mailbox specified. Dialplan execution will stop if the specified mailbox does not\n+\t\t\texist.\n+ The Voicemail application will exit if any of the following DTMF digits are received:\n+ \n+ \n+ \n+ Jump to the\n+ o\n+ extension in the current dialplan context.\n+ \n+ \n+ \n+ \n+ Jump to the\n+ a\n+ extension in the current dialplan context.\n+ \n+ \n+ \n+ This application will set the following channel variable upon completion:\n+ \n+ \n+ This indicates the status of the execution of the VoiceMail application.\n+ \n+ \n+ \n+ \n+ \n \n \n- Authenticate\n- VMAuthenticate\n+ VoiceMailMain\n \n \n- \n- core\n- \n- \n- Login an agent.\n- \n- \n+ \n+ Check Voicemail messages.\n+ \n+ \n+ \n+ \n+ \n \n \n+ \n+ \n+ \n \n+ \n \n \n \n \n \n- Login an agent to the system. Any agent authentication is assumed to\n-\t\t\talready be done by dialplan. While logged in, the agent can receive calls\n-\t\t\tand will hear the sound file specified by the config option custom_beep\n-\t\t\twhen a new call comes in for the agent. Login failures will continue in\n-\t\t\tthe dialplan with\n- AGENT_STATUS\n- set.\n- \n- Before logging in, you can setup on the real agent channel the\n-\t\t\tCHANNEL(dtmf_features) an agent will have when talking to a caller\n-\t\t\tand you can setup on the channel running this application the\n-\t\t\tCONNECTEDLINE() information the agent will see while waiting for a\n-\t\t\tcaller.\n- \n- AGENT_STATUS\n- enumeration values:\n+ This application allows the calling party to check voicemail messages. A specific\n+ mailbox\n+ , and optional corresponding\n+ context\n+ ,\n+\t\t\tmay be specified. If a\n+ mailbox\n+ is not provided, the calling party will\n+\t\t\tbe prompted to enter one. If a\n+ context\n+ is not specified, the\n+ default\n+ context will be used.\n \n+ The VoiceMailMain application will exit if the following DTMF digit is entered as Mailbox\n+\t\t\tor Password, and the extension exists:\n \n- \n- The specified agent is invalid.\n- \n- \n- The agent is already logged in.\n+ \n+ \n+ Jump to the\n+ a\n+ extension in the current dialplan context.\n+ \n \n \n- \n- \n- The Agent:\n- AgentId\n- device state is\n-\t\t\tavailable to monitor the status of the agent.\n- \n- \n \n \n- Authenticate\n- Queue\n- AddQueueMember\n- RemoveQueueMember\n- PauseQueueMember\n- UnpauseQueueMember\n- AGENT\n- CHANNEL\n- CONNECTEDLINE\n- agents.conf\n- queues.conf\n+ VoiceMail\n \n \n- \n- Request an agent to connect with the channel.\n- \n- \n+ \n+ Check to see if Voicemail mailbox exists.\n+ \n+ \n+ \n+ \n+ \n+ \n+ None options.\n+ \n \n \n+ \n+ DEPRECATED. Use VM_INFO(mailbox[@context],exists) instead.\n+ \n \n- Request an agent to connect with the channel. Failure to find,\n-\t\t\talert the agent, or acknowledge the call will continue in the dialplan\n-\t\t\twith\n- AGENT_STATUS\n- set.\n+ Check to see if the specified\n+ mailbox\n+ exists. If no voicemail\n+ context\n+ is specified, the\n+ default\n+ context\n+\t\t\twill be used.\n \n+ This application will set the following channel variable upon completion:\n+ \n+ \n+ This will contain the status of the execution of the MailboxExists application.\n+\t\t\t\t\tPossible values include:\n+ \n+ \n+ \n+ \n+ \n+ \n+ VM_INFO\n+ \n+ \n+ \n+ Authenticate with Voicemail passwords.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n- AGENT_STATUS\n- enumeration values:\n+ This application behaves the same way as the Authenticate application, but the passwords\n+\t\t\tare taken from\n+ voicemail.conf\n+ . If the\n+ mailbox\n+ is\n+\t\t\tspecified, only that mailbox's password will be considered valid. If the\n+ mailbox\n+ is not specified, the channel variable\n+ AUTH_MAILBOX\n+ will be set with the authenticated\n+\t\t\tmailbox.\n \n+ The VMAuthenticate application will exit if the following DTMF digit is entered as Mailbox\n+\t\t\tor Password, and the extension exists:\n \n- \n- The specified agent is invalid.\n- \n- \n- The agent is not available.\n- \n- \n- The agent is on another call.\n- \n- \n- The agent did not connect with the\n-\t\t\t\tcall. The agent most likely did not acknowledge the call.\n- \n- \n- Alerting the agent failed.\n+ \n+ \n+ Jump to the\n+ a\n+ extension in the current dialplan context.\n+ \n \n \n \n- \n- AgentLogin\n- \n \n- \n- Gets information about an Agent\n- \n- \n- \n- The valid items to retrieve are:\n- \n- \n- (default) The status of the agent (LOGGEDIN | LOGGEDOUT)\n- \n- \n- Deprecated. The dialplan handles any agent authentication.\n- \n- \n- The name of the agent\n- \n- \n- MusicOnHold class\n- \n- \n- The name of the active channel for the Agent (AgentLogin)\n- \n- \n- The untruncated name of the active channel for the Agent (AgentLogin)\n- \n- \n- \n- \n- \n- \n- \n- Lists agents and their status.\n+ \n+ Play a single voice mail msg from a mailbox by msg id.\n \n- \n+ \n+ \n+ \n+ \n+ \n+ The msg id of the msg to play back.\n+ \n \n \n- Will list info about all defined agents.\n+ This application sets the following channel variable upon completion:\n+ \n+ \n+ The status of the playback attempt as a text string.\n+ \n+ \n+ \n+ \n \n- \n- Agents\n- AgentsComplete\n- \n- \n- \n- \n- Response event in a series to the Agents AMI action containing\n-\t\t\t\tinformation about a defined agent.\n- \n- \n- Agent ID of the agent.\n- \n- \n- User friendly name of the agent.\n- \n- \n- Current status of the agent.\n- The valid values are:\n- \n- \n- \n- \n- \n- \n- \n- \n- BRIDGEPEER\n- value on agent channel.\n- \n- \n- Present if Status value is\n- AGENT_ONCALL\n- .\n- \n- \n- \n- Epoche time when the agent started talking with the caller.\n- \n- Present if Status value is\n- AGENT_ONCALL\n- .\n- \n- \n- \n- Epoche time when the agent logged in.\n- \n- Present if Status value is\n- AGENT_IDLE\n- or\n- AGENT_ONCALL\n- .\n- \n- \n- \n- \n- \n- \n- \n- The channel snapshot is present if the Status value is\n- AGENT_IDLE\n- or\n- AGENT_ONCALL\n- .\n- \n- \n- \n- Agents\n- \n- \n- \n- \n- \n- Final response event in a series of events to the Agents AMI action.\n- \n- \n- \n- \n- Agents\n- \n- \n- \n- \n- Sets an agent as no longer logged in.\n+ \n+ \n+ Play the name of a voicemail user\n \n- \n- \n- Agent ID of the agent to log off.\n- \n- \n- \n- Set to\n- true\n- to not hangup existing calls.\n- \n+ \n+ \n+ \n \n \n \n- Sets an agent as no longer logged in.\n+ \n+ This application will say the recorded name of the voicemail user specified as the\n+\t\t\targument to this application. If no context is provided,\n+ default\n+ is assumed.\n+ \n+ Similar to the Background() application, playback of the recorded\n+\t\t\tname can be interrupted by entering an extension, which will be searched\n+\t\t\tfor in the current context.\n \n- \n- \n- Agent pool applications\n+ \n+ \n+ Tell if a mailbox is configured.\n+ \n+ \n+ \n+ \n \n \n- Option changes take effect on agent login or after an agent\n-\t\t\tdisconnects from a call.\n+ DEPRECATED. Use VM_INFO(mailbox[@context],exists) instead.\n \n+ \n+ Returns a boolean of whether the corresponding\n+ mailbox\n+ exists.\n+\t\t\tIf\n+ context\n+ is not specified, defaults to the\n+ default\n+ context.\n+ \n \n- \n- \n- Unused, but reserved.\n- \n- \n- Configure an agent for the pool.\n- \n- \n- \n- \n- Enable to require the agent to acknowledge a call.\n- \n- Enable to require the agent to give a DTMF acknowledgement\n-\t\t\t\t\t\twhen the agent receives a call.\n- \n- \n- The option is overridden by\n- AGENTACKCALL\n- on agent login.\n- \n- \n- \n- \n- \n- \n- DTMF key sequence the agent uses to acknowledge a call.\n- \n- \n- \n- The option is overridden by\n- AGENTACCEPTDTMF\n- on agent login.\n- \n- \n- \n- The option is ignored unless the ackcall option is enabled.\n- \n- \n- \n- \n- \n- Time the agent has to acknowledge a call before being logged off.\n- \n- Set how many seconds a call for the agent has to wait for the\n-\t\t\t\t\t\tagent to acknowledge the call before the agent is automatically\n-\t\t\t\t\t\tlogged off. If set to zero then the call will wait forever for\n-\t\t\t\t\t\tthe agent to acknowledge.\n- \n- \n- The option is overridden by\n- AGENTAUTOLOGOFF\n- on agent login.\n- \n- \n- \n- The option is ignored unless the ackcall option is enabled.\n- \n- \n- \n- \n- \n- Minimum time the agent has between calls.\n- \n- Set the minimum amount of time in milliseconds after\n-\t\t\t\t\t\tdisconnecting a call before the agent can receive a new call.\n- \n- \n- The option is overridden by\n- AGENTWRAPUPTIME\n- on agent login.\n- \n- \n- \n- \n- \n- \n- Music on hold class the agent listens to between calls.\n- \n- \n- \n- \n- \n- Enable to automatically record calls the agent takes.\n- \n+ \n+ VM_INFO\n+ \n+ \n+ \n+ Returns the selected attribute from a mailbox.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ List All Voicemail User Information.\n \n- \n- Filename of TIFF file to fax\n+ \n+ \n+ \n+ \n+ \n+ Show the status of given voicemail user's info.\n+ \n+ \n+ \n+ The context you want to check.\n \n- \n- Makes the application behave as the answering machine\n- (Default behavior is as calling machine)\n+ \n+ The mailbox you want to check.\n \n \n \n- Send a given TIFF file to the channel as a FAX.\n- This application sets the following channel variables:\n- \n- \n- To identify itself to the remote end\n- \n- \n- To generate a header line on each page\n- \n- \n- \n- \n- \n- \n- Cause of failure\n- \n- \n- The CSID of the remote side\n- \n- \n- Number of pages sent\n- \n- \n- Transmission rate\n- \n- \n- Resolution of sent fax\n- \n- \n+ Retrieves the status of the given voicemail user.\n \n- \n- \n- Receive a Fax\n+ \n+ \n+ Tell Asterisk to poll mailboxes for a change\n \n- \n- Filename of TIFF file save incoming fax\n- \n- \n- Makes the application behave as the calling machine\n- (Default behavior is as answering machine)\n- \n+ \n+ \n+ \n \n \n- Receives a FAX from the channel into the given filename\n-\t\t\toverwriting the file if it already exists.\n- File created will be in TIFF format.\n- This application sets the following channel variables:\n- \n- \n- To identify itself to the remote end\n- \n- \n- To generate a header line on each page\n- \n- \n- \n- \n- \n- \n- Cause of failure\n- \n- \n- The CSID of the remote side\n- \n- \n- Number of pages sent\n- \n- \n- Transmission rate\n- \n- \n- Resolution of sent fax\n- \n- \n+ \n+ Normally, MWI indicators are only sent when Asterisk itself\n+\t\t\tchanges a mailbox. With external programs that modify the content\n+\t\t\tof a mailbox from outside the application, an option exists called\n+ pollmailboxes\n+ that will cause voicemail to\n+\t\t\tcontinually scan all mailboxes on a system for changes. This can\n+\t\t\tcause a large amount of load on a system. This command allows\n+\t\t\texternal applications to signal when a particular mailbox has\n+\t\t\tchanged, thus permitting external applications to modify mailboxes\n+\t\t\tand MWI to work without introducing considerable CPU load.\n+ \n+ \n+ If\n+ Context\n+ is not specified, all\n+\t\t\tmailboxes on the system will be polled for changes. If\n+ Context\n+ is specified, but\n+ Mailbox\n+ is omitted, then all mailboxes\n+\t\t\twithin\n+ Context\n+ will be polled.\n+\t\t\tOtherwise, only a single mailbox will be polled for changes.\n+ \n \n- \n- \n- extended\n+ \n+ \n+ dahdi\n+ core\n \n- \n- Block telemarketers with SIT.\n- \n- \n- Comma delimited list of options.\n- \n- \n- \n- \n- \n- \n+ \n+ Flashes a DAHDI Trunk.\n+ \n \n- Generates special information tone to block telemarketers from calling you.\n- This application will set the following channel variable upon completion:\n- \n- \n- This will contain the last action accomplished by the\n-\t\t\t\t\tZapateller application. Possible values include:\n- \n- \n- \n- \n- \n+ Performs a flash on a DAHDI trunk. This can be used to access features\n+\t\t\tprovided on an incoming analogue circuit such as conference and call waiting.\n+\t\t\tUse with SendDTMF() to perform external transfers.\n \n+ \n+ SendDTMF\n+ \n \n- \n- deprecated\n- 16\n- 19\n+ \n+ core\n \n- \n- Send a URL.\n+ \n+ Read a variable.\n \n- \n- \n+ \n+ \n+ The input digits will be stored in the given\n+ variable\n+ name.\n+ \n+ \n+ \n+ \n+ file(s) to play before reading digits or tone with option i\n+ \n+ \n+ \n+ \n+ \n+ Maximum acceptable number of digits. Stops reading after\n+ maxdigits\n+ have been entered (without\n+\t\t\t\trequiring the user to press the\n+ #\n+ key).\n+ \n+ \n+ Defaults to\n+ 0\n+ - no limit - wait for the\n+\t\t\t\tuser press the\n+ #\n+ key. Any value below\n+ 0\n+ means the same. Max accepted value is\n+ 255\n+ .\n+ \n+ \n+ \n \n- \n+ \n+ \n+ \n \n \n+ \n+ \n+ If greater than\n+ 1\n+ , that many\n+ attempts\n+ will be made in the\n+\t\t\t\tevent no data is entered.\n+ \n+ \n+ \n+ \n+ The number of seconds to wait for a digit response. If greater\n+\t\t\t\tthan\n+ 0\n+ , that value will override the default timeout.\n+\t\t\t\tCan be floating point.\n+ \n+ \n \n \n \n- Requests client go to\n- URL\n- (IAX2) or sends the\n-\t\t\tURL to the client (other channels).\n- \n- \n- Result is returned in the\n- SENDURLSTATUS\n- channel variable:\n+ Reads a #-terminated string of digits a certain number of times from the\n+\t\t\tuser in to the given\n+ variable\n+ .\n \n+ This application sets the following channel variable upon completion:\n \n- \n- URL successfully sent to client.\n- Failed to send URL.\n- Client failed to load URL (wait enabled).\n- Channel does not support URL transport.\n+ \n+ This is the status of the read operation.\n+ \n+ \n+ \n+ \n+ \n+ \n \n \n- SendURL continues normally if the URL was sent correctly or if the channel\n-\t\t\tdoes not support HTML transport. Otherwise, the channel is hung up.\n \n \n- SendImage\n- SendText\n+ SendDTMF\n \n \n \n extended\n \n \n Attempt to detect answering machines.\n@@ -8231,1118 +10182,56 @@\n \n \n \n WaitForSilence\n WaitForNoise\n \n \n- \n- res_adsi\n- deprecated\n- \n- \n- Get ADSI CPE ID.\n- \n- \n- \n- Obtains and displays ADSI CPE ID and other information in order\n-\t\t\tto properly setup\n- dahdi.conf\n- for on-hook operations.\n- \n- \n- \n- \n- core\n- \n- \n- Dump Info About The Calling Channel.\n- \n- \n- Minimum verbose level\n- \n- \n- \n- \n- Displays information on channel and listing of all channel\n-\t\t\tvariables. If\n- level\n- is specified, output is only\n-\t\t\tdisplayed when the verbose level is currently set to that number\n-\t\t\tor greater.\n- \n- \n- \n- NoOp\n- Verbose\n- \n- \n- \n+ \n+ res_statsd\n no\n extended\n \n- \n- Say a noun in declined form in order to count things\n- \n- \n- The number of things\n- \n- \n- File name stem for the noun that is the name of the things\n- \n- \n- \n- Selects and plays the proper singular or plural form of a noun\n-\t\t\twhen saying things such as "five calls". English has simple rules\n-\t\t\tfor deciding when to say "call" and when to say "calls", but other\n-\t\t\tlanguages have complicated rules which would be extremely difficult\n-\t\t\tto implement in the Asterisk dialplan language.\n- \n- The correct sound file is selected by examining the\n- number\n- and adding the appropriate suffix\n-\t\t\tto\n- filename\n- . If the channel language is\n-\t\t\tEnglish, then the suffix will be either empty or "s". If the channel\n-\t\t\tlanguage is Russian or some other Slavic language, then the suffix\n-\t\t\twill be empty for nominative, "x1" for genative singular, and "x2"\n-\t\t\tfor genative plural.\n- \n- \n- Note that combining\n- filename\n- with\n-\t\t\ta suffix will not necessarily produce a correctly spelled plural\n-\t\t\tform. For example, SayCountedNoun(2,man) will play the sound file\n-\t\t\t"mans" rather than "men". This behavior is intentional. Since the\n-\t\t\tfile name is never seen by the end user, there is no need to\n-\t\t\timplement complicated spelling rules. We simply record the word\n-\t\t\t"men" in the sound file named "mans".\n- \n- This application does not automatically answer and should be\n-\t\t\tpreceeded by an application such as Answer() or Progress.\n- \n- \n- SayCountedAdj\n- SayNumber\n- \n- \n- \n- Say a adjective in declined form in order to count things\n- \n- \n- The number of things\n- \n- \n- File name stem for the adjective\n- \n- \n- The gender of the noun modified, one of 'm', 'f', 'n', or 'c'\n- \n- \n- \n- \n- Selects and plays the proper form of an adjective according to\n-\t\t\tthe gender and of the noun which it modifies and the number of\n-\t\t\tobjects named by the noun-verb combination which have been counted.\n-\t\t\tUsed when saying things such as "5 new messages". The various\n-\t\t\tsingular and plural forms of the adjective are selected by adding\n-\t\t\tsuffixes to\n- filename\n- .\n- \n- \n- If the channel language is English, then no suffix will ever\n-\t\t\tbe added (since, in English, adjectives are not declined). If the\n-\t\t\tchannel language is Russian or some other slavic language, then the\n-\t\t\tsuffix will the specified\n- gender\n- for\n-\t\t\tnominative, and "x" for genative plural. (The genative singular is\n-\t\t\tnot used when counting things.) For example, SayCountedAdj(1,new,f)\n-\t\t\twill play sound file "newa" (containing the word "novaya"), but\n-\t\t\tSayCountedAdj(5,new,f) will play sound file "newx" (containing the\n-\t\t\tword "novikh").\n- \n- This application does not automatically answer and should be\n-\t\t\tpreceeded by an application such as Answer(), Progress(), or\n-\t\t\tProceeding().\n- \n- \n- SayCountedNoun\n- SayNumber\n- \n- \n- \n- osptk\n- openssl\n- extended\n- 19\n- 21\n- \n- \n- OSP Authentication.\n- \n- \n- The name of the provider that authenticates the call.\n- \n- \n- Reserverd.\n- \n- \n- \n- Authenticate a call by OSP.\n- Input variables:\n- \n- \n- The last hop IP address.\n- \n- \n- The inbound OSP token.\n- \n- \n- Output variables:\n- \n- \n- The inbound call OSP transaction handle.\n- \n- \n- The inbound call duration limit in seconds.\n- \n- \n- This application sets the following channel variable upon completion:\n- \n- \n- The status of OSPAuth attempt as a text string, one of\n- \n- \n- \n- \n- \n- \n- \n- OSPLookup\n- OSPNext\n- OSPFinish\n- \n- \n- \n- Lookup destination by OSP.\n- \n- \n- The exten of the call.\n- \n- \n- The name of the provider that is used to route the call.\n- \n- \n- \n- \n- generate H323 call id for the outbound call\n- \n- \n- generate SIP call id for the outbound call. Have not been implemented\n- \n- \n- generate IAX call id for the outbound call. Have not been implemented\n- \n- \n- \n- \n- \n- Looks up destination via OSP.\n- Input variables:\n- \n- \n- The actual source device IP address in indirect mode.\n- \n- \n- The last hop IP address.\n- \n- \n- The inbound channel technology for the call.\n- \n- \n- The inbound call OSP transaction handle.\n- \n- \n- The inbound call duration limit in seconds.\n- \n- \n- The inbound source network ID.\n- \n- \n- The inbound routing number.\n- \n- \n- The inbound carrier identification code.\n- \n- \n- The inbound number portability database dip indicator.\n- \n- \n- The inbound service provider identity.\n- \n- \n- The inbound operator company number.\n- \n- \n- The inbound service provider name.\n- \n- \n- The inbound alternate service provider name.\n- \n- \n- The inbound mobile country code.\n- \n- \n- The inbound mobile network code.\n- \n- \n- The inbound To header host part.\n- \n- \n- The inbound Remote-Party-ID header user part.\n- \n- \n- The inbound P-Asserted-Identify header user part.\n- \n- \n- The inbound Diversion header user part.\n- \n- \n- The inbound Diversion header host part.\n- \n- \n- The inbound P-Charge-Info header user part.\n- \n- \n- \n- The inbound custom information, where\n- n\n- is the index beginning with\n- 1\n- upto\n- 8\n- .\n- \n- \n- \n- Output variables:\n- \n- \n- The outbound call OSP transaction handle.\n- \n- \n- The outbound channel technology for the call.\n- \n- \n- The outbound destination IP address.\n- \n- \n- The outbound calling number.\n- \n- \n- The outbound called number.\n- \n- \n- The outbound destination network ID.\n- \n- \n- The outbound routing number.\n- \n- \n- The outbound carrier identification code.\n- \n- \n- The outbound number portability database dip indicator.\n- \n- \n- The outbound service provider identity.\n- \n- \n- The outbound operator company number.\n- \n- \n- The outbound service provider name.\n- \n- \n- The outbound alternate service provider name.\n- \n- \n- The outbound mobile country code.\n- \n- \n- The outbound mobile network code.\n- \n- \n- The outbound OSP token.\n- \n- \n- The number of remained destinations.\n- \n- \n- The outbound call duration limit in seconds.\n- \n- \n- The outbound Call-ID types.\n- \n- \n- The outbound Call-ID. Only for H.323.\n- \n- \n- The outbound Dial command string.\n- \n- \n- This application sets the following channel variable upon completion:\n- \n- \n- The status of OSPLookup attempt as a text string, one of\n- \n- \n- \n- \n- \n- \n- \n- OSPAuth\n- OSPNext\n- OSPFinish\n- \n- \n- \n- Lookup next destination by OSP.\n- \n- Looks up the next destination via OSP.\n- Input variables:\n- \n- \n- The inbound call OSP transaction handle.\n- \n- \n- The outbound call OSP transaction handle.\n- \n- \n- The inbound call duration limit in seconds.\n- \n- \n- The outbound Call-ID types.\n- \n- \n- The number of remained destinations.\n- \n- \n- Output variables:\n- \n- \n- The outbound channel technology.\n- \n- \n- The destination IP address.\n- \n- \n- The outbound calling number.\n- \n- \n- The outbound called number.\n- \n- \n- The outbound destination network ID.\n- \n- \n- The outbound routing number.\n- \n- \n- The outbound carrier identification code.\n- \n- \n- The outbound number portability database dip indicator.\n- \n- \n- The outbound service provider identity.\n- \n- \n- The outbound operator company number.\n- \n- \n- The outbound service provider name.\n- \n- \n- The outbound alternate service provider name.\n- \n- \n- The outbound mobile country code.\n- \n- \n- The outbound mobile network code.\n- \n- \n- The outbound OSP token.\n- \n- \n- The number of remained destinations.\n- \n- \n- The outbound call duration limit in seconds.\n- \n- \n- The outbound Call-ID. Only for H.323.\n- \n- \n- The outbound Dial command string.\n- \n- \n- This application sets the following channel variable upon completion:\n- \n- \n- The status of the OSPNext attempt as a text string, one of\n- \n- \n- \n- \n- \n- \n- \n- OSPAuth\n- OSPLookup\n- OSPFinish\n- \n- \n- \n- Report OSP entry.\n- \n- \n- Hangup cause.\n- \n- \n- Reserved.\n- \n- \n- \n- Report call state.\n- Input variables:\n- \n- \n- The inbound call OSP transaction handle.\n- \n- \n- The outbound call OSP transaction handle.\n- \n- \n- The OSPAuth status.\n- \n- \n- The OSPLookup status.\n- \n- \n- The OSPNext status.\n- \n- \n- The inbound call leg audio QoS string.\n- \n- \n- The outbound call leg audio QoS string.\n- \n- \n- This application sets the following channel variable upon completion:\n- \n- \n- The status of the OSPFinish attempt as a text string, one of\n- \n- \n- \n- \n- \n- \n- \n- OSPAuth\n- OSPLookup\n- OSPNext\n- \n- \n- \n- core\n- \n- \n- Play a file with fast forward and rewind.\n+ \n+ Allow statistics to be passed to the StatsD server from the dialplan.\n \n- \n- \n- This is number of milliseconds to skip when rewinding or\n-\t\t\t\tfast-forwarding.\n- \n- \n- \n- Fast-forward when this DTMF digit is received. (defaults to\n- #\n- )\n- \n- \n- \n- \n- Rewind when this DTMF digit is received. (defaults to\n- *\n- )\n- \n- \n- \n- Stop playback when this DTMF digit is received.\n+ \n+ The metric type to be sent to StatsD. Valid metric types\n+\t\t\t\tare 'g' for gauge, 'c' for counter, 'ms' for timer, and 's' for\n+\t\t\t\tsets.\n \n- \n- Pause playback when this DTMF digit is received.\n+ \n+ The name of the variable to be sent to StatsD. Statistic\n+\t\t\t\tnames cannot contain the pipe (|) character.\n \n- \n- Restart playback when this DTMF digit is received.\n+ \n+ The value of the variable to be sent to StatsD. Values\n+\t\t\t\tmust be numeric. Values for gauge and counter metrics can be\n+\t\t\t\tsent with a '+' or '-' to update a value after the value has\n+\t\t\t\tbeen initialized. Only counters can be initialized as negative.\n+\t\t\t\tSets can send a string as the value parameter, but the string\n+\t\t\t\tcannot contain the pipe character.\n \n- \n- \n- \n- \n+ \n+ The value of the sample rate to be sent to StatsD. Sample\n+\t\t\t\trates less than or equal to 0 will never be sent and sample rates\n+\t\t\t\tgreater than or equal to 1 will always be sent. Any rate\n+\t\t\t\tbetween 1 and 0 will be compared to a randomly generated value,\n+\t\t\t\tand if it is greater than the random value, it will be sent.\n \n \n \n \n- This application will play back the given\n- filename\n+ This dialplan application sends statistics to the StatsD\n+\t\t\tserver specified inside of\n+ statsd.conf\n .\n \n- It sets the following channel variables upon completion:\n- \n- \n- Contains the status of the attempt as a text string\n- \n- \n- \n- \n- \n- \n- \n- Contains the offset in ms into the file where playback\n-\t\t\t\t\twas at when it stopped.\n- -1\n- is end of file.\n- \n- \n- \n- If the playback is stopped by the user this variable contains\n-\t\t\t\t\tthe key that was pressed.\n- \n- \n- \n- \n- \n- Control the playback of a file being played to a channel.\n- \n- \n- \n- The name of the channel that currently has a file being played back to it.\n- \n- \n- \n- \n- Stop the playback operation.\n- \n- \n- \n- Move the current position in the media forward. The amount\n-\t\t\t\t\t\tof time that the stream moves forward is determined by the\n- skipms\n- value passed to the application\n-\t\t\t\t\t\tthat initiated the playback.\n- \n- \n- \n- The default skipms value is\n- 3000\n- ms.\n- \n- \n- \n- \n- \n- Move the current position in the media backward. The amount\n-\t\t\t\t\t\tof time that the stream moves backward is determined by the\n- skipms\n- value passed to the application\n-\t\t\t\t\t\tthat initiated the playback.\n- \n- \n- \n- The default skipms value is\n- 3000\n- ms.\n- \n- \n- \n- \n- Pause/unpause the playback operation, if supported.\n-\t\t\t\t\t\tIf not supported, stop the playback.\n- \n- \n- Restart the playback operation, if supported.\n-\t\t\t\t\t\tIf not supported, stop the playback.\n- \n- \n- \n- \n- \n- Control the operation of a media file being played back to a channel.\n-\t\t\tNote that this AMI action does not initiate playback of media to channel, but\n-\t\t\trather controls the operation of a media operation that was already initiated\n-\t\t\ton the channel.\n- \n- \n- The\n- pause\n- and\n- restart\n- Control\n- options will stop a playback\n-\t\t\t\toperation if that operation was not initiated from the\n- ControlPlayback\n- application or the\n- control stream file\n- AGI command.\n- \n- \n- \n- \n- Playback\n- ControlPlayback\n- stream file\n- control stream file\n- \n- \n- \n- core\n- \n- \n- Conference bridge application.\n- \n- \n- Name of the conference bridge. You are not limited to just\n-\t\t\t\tnumbers.\n- \n- \n- The bridge profile name from confbridge.conf. When left blank,\n-\t\t\t\ta dynamically built bridge profile created by the CONFBRIDGE dialplan\n-\t\t\t\tfunction is searched for on the channel and used. If no dynamic\n-\t\t\t\tprofile is present, the 'default_bridge' profile found in\n-\t\t\t\tconfbridge.conf is used.\n- It is important to note that while user profiles may be unique\n-\t\t\t\tfor each participant, mixing bridge profiles on a single conference\n-\t\t\t\tis _NOT_ recommended and will produce undefined results.\n- \n- \n- The user profile name from confbridge.conf. When left blank,\n-\t\t\t\ta dynamically built user profile created by the CONFBRIDGE dialplan\n-\t\t\t\tfunction is searched for on the channel and used. If no dynamic\n-\t\t\t\tprofile is present, the 'default_user' profile found in\n-\t\t\t\tconfbridge.conf is used.\n- \n- \n- The name of the DTMF menu in confbridge.conf to be applied to\n-\t\t\t\tthis channel. When left blank, a dynamically built menu profile\n-\t\t\t\tcreated by the CONFBRIDGE dialplan function is searched for on\n-\t\t\t\tthe channel and used. If no dynamic profile is present, the\n-\t\t\t\t'default_menu' profile found in confbridge.conf is used.\n- \n- \n- \n- Enters the user into a specified conference bridge. The user can\n-\t\t\texit the conference by hangup or DTMF menu option.\n- This application sets the following channel variable upon completion:\n- \n- \n- The channel encountered an error and could not enter the conference.\n- The channel exited the conference by hanging up.\n- The channel was kicked from the conference.\n- The channel left the conference as a result of the last marked user leaving.\n- The channel pressed a DTMF sequence to exit the conference.\n- The channel reached its configured timeout.\n- \n- \n- \n- \n- ConfKick\n- CONFBRIDGE\n- CONFBRIDGE_INFO\n- CONFBRIDGE_CHANNELS\n- \n- \n- \n- \n- 16.19.0\n- 18.5.0\n- 19.0.0\n- \n- Kicks channel(s) from the requested ConfBridge.\n- \n- \n- \n- \n- The channel to kick,\n- all\n- to kick all users, or\n- participants\n- to kick all non-admin participants. Default is all.\n- \n- \n- \n- \n- Kicks the requested channel(s) from a conference bridge.\n- \n- \n- Could not kick any users with the provided arguments.\n- Successfully kicked users from specified conference bridge.\n- \n- \n \n- \n- ConfBridge\n- CONFBRIDGE\n- CONFBRIDGE_INFO\n- CONFBRIDGE_CHANNELS\n- \n \n- \n- Set a custom dynamic bridge, user, or menu profile on a channel for the\n-\t\t\tConfBridge application using the same options available in confbridge.conf.\n- \n- \n- To what type of conference profile the option applies.\n- \n- \n- \n- \n- \n- \n- \n- \n- Option refers to a\n- confbridge.conf\n- option\n-\t\t\t\tthat is being set dynamically on this channel, or\n- clear\n- to remove already applied profile options from the channel.\n- \n- \n- \n- \n- \n- A custom profile uses the default profile type settings defined in\n- confbridge.conf\n- as defaults if the profile template\n-\t\t\tis not explicitly specified first.\n- \n- \n- For\n- bridge\n- profiles the default template is\n- default_bridge\n- .\n- \n- \n- For\n- menu\n- profiles the default template is\n- default_menu\n- .\n- \n- \n- For\n- user\n- profiles the default template is\n- default_user\n- .\n- \n- ---- Example 1 ----\n- In this example the custom user profile set on the channel will\n-\t\t\tautomatically be used by the ConfBridge application.\n- exten => 1,1,Answer()\n- ; In this example the effect of the following line is\n- ; implied:\n- same => n,Set(CONFBRIDGE(user,template)=default_user)\n-\t\t\tsame => n,Set(CONFBRIDGE(user,announce_join_leave)=yes)\n-\t\t\tsame => n,Set(CONFBRIDGE(user,startmuted)=yes)\n-\t\t\tsame => n,ConfBridge(1)\n- ---- Example 2 ----\n- \n- This example shows how to use a predefined user profile in\n- confbridge.conf\n- as a template for a dynamic profile.\n-\t\t\tHere we make an admin/marked user out of the\n- my_user\n- profile that you define in\n- confbridge.conf\n- .\n- \n- exten => 1,1,Answer()\n-\t\t\tsame => n,Set(CONFBRIDGE(user,template)=my_user)\n-\t\t\tsame => n,Set(CONFBRIDGE(user,admin)=yes)\n-\t\t\tsame => n,Set(CONFBRIDGE(user,marked)=yes)\n-\t\t\tsame => n,ConfBridge(1)\n- \n- \n- \n- Get information about a ConfBridge conference.\n- \n- \n- What conference information is requested.\n- \n- \n- Get the number of admin users in the conference.\n- \n- \n- Determine if the conference is locked. (0 or 1)\n- \n- \n- Get the number of marked users in the conference.\n- \n- \n- Determine if the conference is muted. (0 or 1)\n- \n- \n- Get the number of users in the conference.\n- \n- \n- \n- \n- The name of the conference being referenced.\n- \n- \n- \n- This function returns a non-negative integer for valid conference\n-\t\t\tnames and an empty string for invalid conference names.\n- \n- \n- CONFBRIDGE_CHANNELS\n- \n- \n- \n- \n- 16.26.0\n- 18.12.0\n- 19.4.0\n- \n- Get a list of channels in a ConfBridge conference.\n- \n- \n- What conference information is requested.\n- \n- \n- Get the number of admin users in the conference.\n- \n- \n- Get the number of marked users in the conference.\n- \n- \n- Get the number of total users in the conference.\n- \n- \n- Get the number of active users in the conference.\n- \n- \n- Get the number of waiting users in the conference.\n- \n- \n- \n- \n- The name of the conference being referenced.\n- \n- \n- \n- This function returns a comma-separated list of channels in a ConfBridge conference, optionally filtered by a type of participant.\n- \n- \n- CONFBRIDGE_INFO\n- \n- \n- \n- List participants in a conference.\n- \n- \n- \n- Conference number.\n- \n- \n- \n- Lists all users in a particular ConfBridge conference.\n-\t\t\tConfbridgeList will follow as separate events, followed by a final event called\n-\t\t\tConfbridgeListComplete.\n- \n- \n- \n- \n- Raised as part of the ConfbridgeList action response list.\n- \n- \n- The name of the Confbridge conference.\n- \n- \n- Identifies this user as an admin user.\n- \n- \n- \n- \n- \n- \n- Identifies this user as a marked user.\n- \n- \n- \n- \n- \n- \n- Must this user wait for a marked user to join?\n- \n- \n- \n- \n- \n- \n- Does this user get kicked after the last marked user leaves?\n- \n- \n- \n- \n- \n- \n- Is this user waiting for a marked user to join?\n- \n- \n- \n- \n- \n- \n- The current mute status.\n- \n- \n- \n- \n- \n- \n- Is this user talking?\n- \n- \n- \n- \n- \n- \n- The number of seconds the channel has been up.\n- \n- \n- \n- \n- \n- \n- List active conferences.\n- \n- \n- \n- \n- Lists data about all active conferences.\n-\t\t\t\tConfbridgeListRooms will follow as separate events, followed by a final event called\n-\t\t\t\tConfbridgeListRoomsComplete.\n- \n- \n- \n- Mute a Confbridge user.\n- \n- \n- \n- \n- If this parameter is not a complete channel name, the first channel with this prefix will be used.\n- If this parameter is "all", all channels will be muted.\n- If this parameter is "participants", all non-admin channels will be muted.\n- \n- \n- \n- \n- \n- Unmute a Confbridge user.\n- \n- \n- \n- \n- If this parameter is not a complete channel name, the first channel with this prefix will be used.\n- If this parameter is "all", all channels will be unmuted.\n- If this parameter is "participants", all non-admin channels will be unmuted.\n- \n- \n- \n- \n- \n- Kick a Confbridge user.\n- \n- \n- \n- \n- If this parameter is "all", all channels will be kicked from the conference.\n- If this parameter is "participants", all non-admin channels will be kicked from the conference.\n- \n- \n- \n- \n- \n- Lock a Confbridge conference.\n- \n- \n- \n- \n- \n- \n- \n- Unlock a Confbridge conference.\n- \n- \n- \n- \n- \n- \n- \n- Start recording a Confbridge conference.\n- \n- \n- \n- \n- \n- \n- Start recording a conference. If recording is already present an error will be returned. If RecordFile is not provided, the default record file specified in the conference's bridge profile will be used, if that is not present either a file will automatically be generated in the monitor directory.\n- \n- \n- \n- Stop recording a Confbridge conference.\n- \n- \n- \n- \n- \n- \n- \n- Set a conference user as the single video source distributed to all other participants.\n- \n- \n- \n- \n- If this parameter is not a complete channel name, the first channel with this prefix will be used.\n- \n- \n- \n- \n \n extended\n \n \n \n 16.24.0\n 18.10.0\n@@ -9452,2819 +10341,1016 @@\n \n SendDTMF\n SendMF\n ReceiveMF\n ReceiveSF\n \n \n- \n- core\n- \n- \n- Sends arbitrary DTMF digits\n- \n- \n- List of digits 0-9,*#,a-d,A-D to send also w for a half second pause,\n-\t\t\t\tW for a one second pause, and f or F for a flash-hook if the channel supports\n-\t\t\t\tflash-hook.\n- \n- \n- Amount of time to wait in ms between tones. (defaults to .25s)\n- \n- \n- Duration of each digit\n- \n- \n- Channel where digits will be played\n- \n- \n- \n- It will send all digits or terminate if it encounters an error.\n- \n- \n- Read\n- \n- \n- \n- Play DTMF signal on a specific channel.\n- \n- \n- \n- Channel name to send digit to.\n- \n- \n- The DTMF digit to play.\n- \n- \n- The duration, in milliseconds, of the digit to be played.\n- \n- \n- Emulate receiving DTMF on this channel instead of sending it out.\n- \n- \n- \n- Plays a dtmf digit on the specified channel.\n- \n- \n- \n+ \n core\n \n- \n- Generates a 1004 Hz test tone at 0dbm (mu-law).\n+ \n+ Listen to a channel, and optionally whisper into it.\n \n+ \n \n \n- \n- \n- \n- \n- \n- \n- Generates a 1004 Hz test tone.\n- \n- By default, this application does not provide a Milliwatt test tone. It simply\n-\t\t\tplays a 1004 Hz tone, which is not suitable for performing a milliwatt test.\n-\t\t\tThe\n- m\n- option should be used so that a real Milliwatt test tone\n-\t\t\tis provided. This will include a 1 second silent interval every 10 seconds.\n- \n- \n- Previous versions of this application generated a constant tone at 1000 Hz. If for\n-\t\t\tsome reason you would prefer that behavior, supply the\n- o\n- option to get the\n-\t\t\told behavior.\n- \n- \n- \n- \n- extended\n- \n- \n- \n- 16.20.0\n- 18.6.0\n- 19.0.0\n- \n- Stores DTMF digits transmitted or received on a channel.\n- \n- \n- \n- Must be\n- TX\n- or\n- RX\n- to\n-\t\t\t\tstore digits, or\n- remove\n- to disable.\n- \n- \n- \n- \n- \n- The StoreDTMF function can be used to obtain digits sent in the\n- TX\n- or\n- RX\n- direction of any channel.\n- \n- The arguments are:\n- \n- var_name\n- : Name of variable to which to append\n-\t\t\tdigits.\n- \n- \n- max_digits\n- : The maximum number of digits to\n-\t\t\tstore in the variable. Defaults to 0 (no maximum). After reading\n- maximum\n- digits, no more digits will be stored.\n- \n- same => n,StoreDTMF(TX,CDR(digits))\n- same => n,StoreDTMF(RX,testvar,24)\n- same => n,StoreDTMF(remove)\n- \n- \n- \n- extended\n- \n- \n- Communicates with SMS service centres and SMS capable analogue phones.\n- \n- \n- \n- The name of the queue used in\n- /var/spool/asterisk/sms\n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ \n \n- \n- \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n- \n- \n \n \n- SMS handles exchange of SMS data with a call to/from SMS capable phone or SMS PSTN service center.\n-\t\t\tCan send and/or receive SMS messages. Works to ETSI ES 201 912; compatible with BT SMS PSTN service in\n-\t\t\tUK and Telecom Italia in Italy.\n \n- Typical usage is to use to handle calls from the SMS service centre CLI, or to set up a call using\n- outgoing\n- or manager interface to connect service centre to SMS().\n+ This application is used to listen to the audio from an Asterisk channel. This includes the audio\n+\t\t\tcoming in and out of the channel being spied on. If the\n+ chanprefix\n+ parameter is specified,\n+\t\t\tonly channels beginning with this string will be spied upon.\n \n- "Messages are processed as per text file message queues. smsq (a separate software) is a command to\n-\t\t\tgenerate message queues and send messages.\n- \n- The protocol has tight delay bounds. Please use short frames and disable/keep short the\n-\t\t\tjitter buffer on the ATA to make sure that respones (ACK etc.) are received in time.\n- \n- \n- \n- \n- core\n- \n- \n- Start a while loop.\n- \n- \n- \n- \n+ While spying, the following actions may be performed:\n \n- Start a While Loop. Execution will return to this point when\n- EndWhile()\n- is called until expr is no longer true.\n+ - Dialing\n+ #\n+ cycles the volume level.\n \n- \n- \n- EndWhile\n- ExitWhile\n- ContinueWhile\n- \n- \n- \n- End a while loop.\n- \n- \n \n- Return to the previous called\n- While()\n- .\n+ - Dialing\n+ *\n+ will stop spying and look for another channel to spy on.\n \n- \n- \n- While\n- ExitWhile\n- ContinueWhile\n- \n- \n- \n- End a While loop.\n- \n- \n \n- Exits a\n- While()\n- loop, whether or not the conditional has been satisfied.\n+ - Dialing a series of digits followed by\n+ #\n+ builds a channel name to append\n+\t\t\tto\n+ chanprefix\n+ . For example, executing ChanSpy(Agent) and then dialing the digits '1234#'\n+\t\t\twhile spying will begin spying on the channel 'Agent/1234'. Note that this feature will be overridden\n+\t\t\tif the 'd' or 'u' options are used.\n \n- \n- \n- While\n- EndWhile\n- ContinueWhile\n- \n- \n- \n- Restart a While loop.\n- \n- \n- Returns to the top of the while loop and re-evaluates the conditional.\n- \n- \n- While\n- EndWhile\n- ExitWhile\n- \n- \n- \n- core\n- \n- \n- Require phone number to be entered, if no CallerID sent\n- \n- \n- \n- Total tries caller is allowed to input a callerid. Defaults to\n- 3\n- .\n- \n- \n- \n+ \n \n- Minimum allowable digits in the input callerid number. Defaults to\n- 10\n- .\n+ The\n+ X\n+ option supersedes the three features above in that if a valid\n+\t\t\tsingle digit extension exists in the correct context ChanSpy will exit to it.\n+\t\t\tThis also disables choosing a channel based on\n+ chanprefix\n+ and a digit sequence.\n \n- \n- \n- Position reserved for options.\n- \n- \n- Context to check the given callerid against patterns.\n- \n- \n- \n- \n- If no Caller*ID is sent, PrivacyManager answers the channel and asks\n-\t\t\tthe caller to enter their phone number. The caller is given\n- maxretries\n- attempts to do so. The application does\n- nothing\n- if Caller*ID was received on the channel.\n- \n- The application sets the following channel variable upon completion:\n- \n- \n- The status of the privacy manager's attempt to collect a phone number from the user.\n- \n- \n- \n- \n+ \n \n \n- Zapateller\n+ ExtenSpy\n+ ChanSpyStart\n+ ChanSpyStop\n \n \n- \n- core\n- \n- \n- Execute a system command.\n- \n- \n- Command to execute\n- \n- \n- Do not use untrusted strings such as\n- CALLERID(num)\n- or\n- CALLERID(name)\n- as part of the command parameters. You\n-\t\t\t\trisk a command injection attack executing arbitrary commands if the untrusted\n-\t\t\t\tstrings aren't filtered to remove dangerous characters. See function\n- FILTER()\n- .\n- \n- \n- \n- \n- \n- Executes a command by using system(). If the command\n-\t\t\tfails, the console should report a fallthrough.\n- \n- Result of execution is returned in the\n- SYSTEMSTATUS\n- channel variable:\n- \n- \n- \n- Could not execute the specified command.\n- Specified command successfully executed.\n- \n- \n- \n- \n- \n- Try executing a system command.\n+ \n+ Listen to a channel, and optionally whisper into it.\n \n- \n- Command to execute\n- \n+ \n+ \n+ Specify extension.\n+ \n+ \n \n- Do not use untrusted strings such as\n- CALLERID(num)\n- or\n- CALLERID(name)\n- as part of the command parameters. You\n-\t\t\t\trisk a command injection attack executing arbitrary commands if the untrusted\n-\t\t\t\tstrings aren't filtered to remove dangerous characters. See function\n- FILTER()\n+ Optionally specify a context, defaults to\n+ default\n .\n \n- \n- \n- \n- \n- Executes a command by using system().\n- \n- Result of execution is returned in the\n- SYSTEMSTATUS\n- channel variable:\n- \n- \n- \n- Could not execute the specified command.\n- Specified command successfully executed.\n- Specified command successfully executed, but returned error code.\n- \n- \n- \n- \n- \n- func_periodic_hook\n- core\n- \n- \n- Record a call and mix the audio during the recording. Use of StopMixMonitor is required\n-\t\t\tto guarantee the audio file is available for processing during dialplan execution.\n- \n- \n- \n- \n- If\n- filename\n- is an absolute path, uses that path, otherwise\n-\t\t\t\t\tcreates the file in the configured monitoring directory from\n- asterisk.conf.\n- \n \n- \n \n \n \n- \n \n+ \n+ \n+ \n+ \n+ \n+ \n- \n- \n- \n+ \n+ \n- \n+ \n+ \n- \n- \n \n- \n- Will be executed when the recording is over.\n- \n- Any strings matching\n- ^{X}\n- will be unescaped to\n- X\n- .\n- \n- All variables will be evaluated at the time MixMonitor is called.\n- \n- \n- Do not use untrusted strings such as\n- CALLERID(num)\n- or\n- CALLERID(name)\n- as part of the command parameters. You\n-\t\t\t\trisk a command injection attack executing arbitrary commands if the untrusted\n-\t\t\t\tstrings aren't filtered to remove dangerous characters. See function\n- FILTER()\n- .\n- \n- \n- \n \n \n- Records the audio on the current channel to the specified file.\n- This application does not automatically answer and should be preceeded by\n-\t\t\tan application such as Answer or Progress().\n- \n- MixMonitor runs as an audiohook.\n- \n+ This application is used to listen to the audio from an Asterisk channel. This includes\n+\t\t\tthe audio coming in and out of the channel being spied on. Only channels created by outgoing calls for the\n+\t\t\tspecified extension will be selected for spying. If the optional context is not supplied,\n+\t\t\tthe current channel's context will be used.\n+ While spying, the following actions may be performed:\n+ \n+ - Dialing\n+ #\n+ cycles the volume level.\n+ \n+ \n+ - Dialing\n+ *\n+ will stop spying and look for another channel to spy on.\n+ \n \n \n- If a filename passed to MixMonitor ends with\n- .wav49\n- , Asterisk will silently convert the extension to\n- .WAV\n- for legacy reasons.\n- MIXMONITOR_FILENAME\n- will contain the actual filename that Asterisk is writing to, not necessarily the\n-\t\t\tvalue that was passed in.\n+ The\n+ X\n+ option supersedes the three features above in that if a valid\n+\t\t\tsingle digit extension exists in the correct context ChanSpy will exit to it.\n+\t\t\tThis also disables choosing a channel based on\n+ chanprefix\n+ and a digit sequence.\n \n \n- \n- \n- Will contain the filename used to record.\n- \n- \n- \n- \n- Do not use untrusted strings such as\n- CALLERID(num)\n- or\n- CALLERID(name)\n- as part of ANY of the application's\n-\t\t\tparameters. You risk a command injection attack executing arbitrary commands\n-\t\t\tif the untrusted strings aren't filtered to remove dangerous characters. See\n-\t\t\tfunction\n- FILTER()\n- .\n- \n- \n \n \n- Monitor\n- StopMixMonitor\n- PauseMonitor\n- UnpauseMonitor\n- AUDIOHOOK_INHERIT\n+ ChanSpy\n+ ChanSpyStart\n+ ChanSpyStop\n \n \n- \n- Stop recording a call through MixMonitor, and free the recording's file handle.\n+ \n+ Scan DAHDI channels to monitor calls.\n \n- \n- If a valid ID is provided, then this command will stop only that specific\n-\t\t\t\tMixMonitor.\n+ \n+ \n+ Limit scanning to a channel\n+ group\n+ by setting this option.\n+ \n \n \n \n \n- Stops the audio recording that was started with a call to\n- MixMonitor()\n- on the current channel.\n+ Allows a call center manager to monitor DAHDI channels in a\n+\t\t\tconvenient way. Use\n+ #\n+ to select the next channel and use\n+ *\n+ to exit.\n \n \n \n- MixMonitor\n+ ChanSpyStart\n+ ChanSpyStop\n \n \n- \n- Mute / unMute a Mixmonitor recording.\n- \n- \n- \n- Used to specify the channel to mute.\n- \n- \n- Which part of the recording to mute: read, write or both (from channel, to channel or both channels).\n- \n- \n- Turn mute on or off : 1 to turn on, 0 to turn off.\n- \n- \n- \n- This action may be used to mute a MixMonitor recording.\n- \n- \n- \n- Record a call and mix the audio during the recording. Use of StopMixMonitor is required\n-\t\t\tto guarantee the audio file is available for processing during dialplan execution.\n+ \n+ core\n+ \n+ \n+ Read an extension into a variable.\n \n- \n- \n- Used to specify the channel to record.\n+ \n+ \n+ \n+ File to play before reading digits or tone with option\n+ i\n+ \n \n- \n- Is the name of the file created in the monitor spool directory.\n-\t\t\t\tDefaults to the same name as the channel (with slashes replaced with dashes).\n-\t\t\t\tThis argument is optional if you specify to record unidirectional audio with\n-\t\t\t\teither the r(filename) or t(filename) options in the options field. If\n-\t\t\t\tneither MIXMONITOR_FILENAME or this parameter is set, the mixed stream won't\n-\t\t\t\tbe recorded.\n+ \n+ Context in which to match extensions.\n \n- \n- Options that apply to the MixMonitor in the same way as they\n-\t\t\t\twould apply if invoked from the MixMonitor application. For a list of\n-\t\t\t\tavailable options, see the documentation for the mixmonitor application.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n- \n+ \n \n- Will be executed when the recording is over.\n-\t\t\t\tAny strings matching\n- ^{X}\n- will be unescaped to\n- X\n- .\n-\t\t\t\tAll variables will be evaluated at the time MixMonitor is called.\n+ An integer number of seconds to wait for a digit response. If\n+\t\t\t\tgreater than\n+ 0\n+ , that value will override the default timeout.\n \n- \n- \n- Do not use untrusted strings such as\n- CALLERID(num)\n- or\n- CALLERID(name)\n- as part of the command parameters. You\n-\t\t\t\trisk a command injection attack executing arbitrary commands if the untrusted\n-\t\t\t\tstrings aren't filtered to remove dangerous characters. See function\n- FILTER()\n- .\n- \n- \n \n \n \n- This action records the audio on the current channel to the specified file.\n+ \n+ Reads a\n+ #\n+ terminated string of digits from the user into the given variable.\n+ \n+ Will set READEXTENSTATUS on exit with one of the following statuses:\n \n- \n- Will contain the filename used to record the mixed stream.\n+ \n+ A valid extension exists in ${variable}.\n+ No extension was entered in the specified time. Also sets ${variable} to "t".\n+ An invalid extension, ${INVALID_EXTEN}, was entered. Also sets ${variable} to "i".\n+ Line was not up and the option 's' was specified.\n+ Invalid arguments were passed.\n \n \n \n- \n- \n- Stop recording a call through MixMonitor, and free the recording's file handle.\n+ \n+ \n+ core\n+ \n+ \n+ Redirects given channel to a dialplan target\n \n- \n- \n- The name of the channel monitored.\n- \n- \n- If a valid ID is provided, then this command will stop only that specific\n-\t\t\t\tMixMonitor.\n- \n+ \n+ \n+ \n+ \n \n \n- \n- This action stops the audio recording that was started with the\n- MixMonitor\n- action on the current channel.\n- \n+ Sends the specified channel to the specified extension priority\n+ This application sets the following channel variables upon completion\n+ \n+ \n+ \n+ \n+ Are set to the result of the redirection\n+ \n+ \n \n- \n- \n- Retrieve data pertaining to specific instances of MixMonitor on a channel.\n+ \n+ \n+ app_cdr\n+ core\n+ \n+ \n+ Direct Inward System Access.\n \n- \n+ \n \n- The unique ID of the MixMonitor instance. The unique ID can be retrieved through the channel\n-\t\t\t\tvariable used as an argument to the\n- i\n- option to MixMonitor.\n+ If you need to present a DISA dialtone without entering a password,\n+\t\t\t\tsimply set\n+ passcode\n+ to\n+ no-password\n+ \n+ \n+ You may specified a\n+ filename\n+ instead of a\n+ passcode\n+ , this filename must contain individual passcodes\n \n \n- \n- The piece of data to retrieve from the MixMonitor.\n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when monitoring has started on a channel.\n- \n- \n- \n- \n- MixMonitorStop\n- MixMonitor\n- MixMonitor\n- \n- \n- \n- \n- \n- Raised when monitoring has stopped on a channel.\n- \n- \n- \n- \n- MixMonitorStart\n- StopMixMonitor\n- StopMixMonitor\n- \n- \n- \n- \n- \n- Raised when monitoring is muted or unmuted on a channel.\n- \n- \n- \n- Which part of the recording was muted or unmuted: read, write or both\n-\t\t\t\t(from channel, to channel or both directions).\n- \n- \n- If the monitoring was muted or unmuted: 1 when muted, 0 when unmuted.\n- \n- \n- \n- MixMonitorMute\n- \n- \n- \n- \n- dahdi\n- deprecated\n- 16\n- 19\n- \n- \n- Executes DAHDI ISDN RAS application.\n- \n- \n+ \n \n- A list of parameters to pass to the pppd daemon,\n-\t\t\t\tseparated by\n- ,\n- characters.\n+ Specifies the dialplan context in which the user-entered extension\n+\t\t\t\twill be matched. If no context is specified, the DISA application defaults\n+\t\t\t\tto the\n+ disa\n+ context. Presumably a normal system will have a special\n+\t\t\t\tcontext set up for DISA use with some or a lot of restrictions.\n \n \n- \n- \n- Executes a RAS server using pppd on the given channel.\n-\t\t\tThe channel must be a clear channel (i.e. PRI source) and a DAHDI\n-\t\t\tchannel to be able to use this function (No modem emulation is included).\n- Your pppd must be patched to be DAHDI aware.\n- \n- \n- \n- no\n- extended\n- \n- \n- IVR Demo Application.\n- \n- \n- \n- \n- This is a skeleton application that shows you the basic structure to create your\n-\t\t\town asterisk applications and demonstrates the IVR demo.\n- \n- \n- \n- extended\n- \n- \n- Interfaces with an external IVR application.\n- \n- \n- \n- \n+ \n+ Specifies a new (different) callerid to be used for this call.\n+ \n+ \n+ \n+ Will cause a stutter-dialtone (indication\n+ dialrecall\n+ )\n+\t\t\t\tto be used, if the specified mailbox contains any new messages.\n+ \n+ \n+ \n \n \n \n \n- \n- \n \n \n \n \n \n- Either forks a process to run given command or makes a socket to connect\n-\t\t\tto given host and starts a generator on the channel. The generator's play list\n-\t\t\tis controlled by the external application, which can add and clear entries via\n-\t\t\tsimple commands issued over its stdout. The external application will receive\n-\t\t\tall DTMF events received on the channel, and notification if the channel is\n-\t\t\thung up. The received on the channel, and notification if the channel is hung\n-\t\t\tup. The application will not be forcibly terminated when the channel is hung up.\n-\t\t\tFor more information see\n- doc/AST.pdf\n- .\n+ The DISA, Direct Inward System Access, application allows someone from\n+\t\t\toutside the telephone switch (PBX) to obtain an\n+ internal\n+ system\n+\t\t\tdialtone and to place calls from it as if they were placing a call from\n+\t\t\twithin the switch.\n+\t\t\tDISA plays a dialtone. The user enters their numeric passcode, followed by\n+\t\t\tthe pound sign\n+ #\n+ . If the passcode is correct, the user is then given\n+\t\t\tsystem dialtone within\n+ context\n+ on which a call may be placed.\n+\t\t\tIf the user enters an invalid extension and extension\n+ i\n+ exists in the specified\n+ context\n+ , it will be used.\n \n- \n- \n- \n- extended\n- \n- \n- Virtual Dictation Machine.\n- \n- \n- \n- \n- \n+ Be aware that using this may compromise the security of your PBX.\n \n- Start dictation machine using optional\n- base_dir\n- for files.\n+ The arguments to this application (in\n+ extensions.conf\n+ ) allow either\n+\t\t\tspecification of a single global\n+ passcode\n+ (that everyone uses), or\n+\t\t\tindividual passcodes contained in a file (\n+ filename\n+ ).\n+ \n+ \n+ The file that contains the passcodes (if used) allows a complete\n+\t\t\tspecification of all of the same arguments available on the command\n+\t\t\tline, with the sole exception of the options. The file may contain blank\n+\t\t\tlines, or comments starting with\n+ #\n+ or\n+ ;\n+ .\n \n \n+ \n+ Authenticate\n+ VMAuthenticate\n+ \n \n- \n- core\n+ \n+ deprecated\n+ 16\n+ 19\n \n- \n- Send an arbitrary user-defined event to parties interested in a channel (AMI users and relevant res_stasis applications).\n+ \n+ Send a URL.\n \n- \n- \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n- Sends an arbitrary event to interested parties, with an optional\n- body\n- representing additional arguments. The\n- body\n- may be specified as\n-\t\t\ta\n- ,\n- delimited list of key:value pairs.\n- \n- For AMI, each additional argument will be placed on a new line in\n-\t\t\tthe event and the format of the event will be:\n- Event: UserEvent\n- UserEvent: <specified event name>\n- [body]\n- \n- If no\n- body\n- is specified, only Event and\n-\t\t\tUserEvent headers will be present.\n+ Requests client go to\n+ URL\n+ (IAX2) or sends the\n+\t\t\tURL to the client (other channels).\n \n \n- For res_stasis applications, the event will be provided as a JSON\n-\t\t\tblob with additional arguments appearing as keys in the object and the\n- eventname\n- under the\n- eventname\n- key.\n+ Result is returned in the\n+ SENDURLSTATUS\n+ channel variable:\n \n+ \n+ \n+ URL successfully sent to client.\n+ Failed to send URL.\n+ Client failed to load URL (wait enabled).\n+ Channel does not support URL transport.\n+ \n+ \n+ SendURL continues normally if the URL was sent correctly or if the channel\n+\t\t\tdoes not support HTML transport. Otherwise, the channel is hung up.\n \n \n- UserEvent\n- UserEvent\n+ SendImage\n+ SendText\n \n \n- \n+ \n extended\n \n- \n- Blind transfer channel(s) to the extension and context provided\n+ \n+ Play an MP3 file or M3U playlist file or stream.\n \n- \n- Specify extension.\n- \n- \n- Optionally specify a context.\n-\t\t\t\tBy default, Asterisk will use the caller channel context.\n+ \n+ Location of the file to be played.\n+\t\t\t\t(argument passed to mpg123)\n \n \n \n- Redirect all channels currently bridged to the caller channel to the\n-\t\t\tspecified destination.\n- \n- The result of the application will be reported in the\n- BLINDTRANSFERSTATUS\n- channel variable:\n- \n- \n- \n- Transfer succeeded.\n- Transfer failed.\n- Transfer invalid.\n- Transfer not permitted.\n- \n- \n+ Executes mpg123 to play the given location, which typically would be a mp3 filename\n+\t\t\tor m3u playlist filename or a URL. Please read https://en.wikipedia.org/wiki/M3U\n+\t\t\tto see what the M3U playlist file format is like.\n+ Note that mpg123 does not support HTTPS, so use HTTP for web streams.\n+ User can exit by pressing any key on the dialpad, or by hanging up.\n+ exten => 1234,1,MP3Player(/var/lib/asterisk/playlist.m3u)\n+ This application does not automatically answer and should be preceeded by an\n+\t\t\tapplication such as Answer() or Progress().\n \n \n- \n- core\n- \n- \n- \n- Raised when a conference starts.\n- \n- \n- The name of the Confbridge conference.\n- \n- \n- \n- \n- ConfbridgeEnd\n- ConfBridge\n- \n- \n- \n- \n- \n- Raised when a conference ends.\n- \n- \n- The name of the Confbridge conference.\n- \n- \n- \n- \n- ConfbridgeStart\n- ConfBridge\n- \n- \n- \n- \n- \n- Raised when a channel joins a Confbridge conference.\n- \n- \n- The name of the Confbridge conference.\n- \n- \n- \n- \n- Identifies this user as an admin user.\n- \n- \n- \n- \n- \n- \n- The joining mute status.\n- \n- \n- \n- \n- \n- \n- \n- ConfbridgeLeave\n- ConfBridge\n- \n- \n- \n- \n- \n- Raised when a channel leaves a Confbridge conference.\n- \n- \n- The name of the Confbridge conference.\n- \n- \n- \n- \n- Identifies this user as an admin user.\n- \n- \n- \n- \n- \n- \n- \n- ConfbridgeJoin\n- ConfBridge\n- \n- \n- \n- \n- \n- Raised when a conference starts recording.\n- \n- \n- The name of the Confbridge conference.\n- \n- \n- \n- \n- ConfbridgeStopRecord\n- ConfBridge\n- \n- \n- \n- \n- \n- Raised when a conference that was recording stops recording.\n- \n- \n- The name of the Confbridge conference.\n- \n- \n- \n- \n- ConfbridgeRecord\n- ConfBridge\n- \n- \n- \n- \n- \n- Raised when a Confbridge participant mutes.\n- \n- \n- The name of the Confbridge conference.\n- \n- \n- \n- \n- Identifies this user as an admin user.\n- \n- \n- \n- \n- \n- \n- \n- ConfbridgeUnmute\n- ConfBridge\n- \n- \n- \n- \n- \n- Raised when a confbridge participant unmutes.\n- \n- \n- The name of the Confbridge conference.\n- \n- \n- \n- \n- Identifies this user as an admin user.\n- \n- \n- \n- \n- \n- \n- \n- ConfbridgeMute\n- ConfBridge\n- \n- \n- \n- \n- \n- Raised when a confbridge participant begins or ends talking.\n- \n- \n- The name of the Confbridge conference.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Identifies this user as an admin user.\n- \n- \n- \n- \n- \n- \n- \n- ConfBridge\n- \n- \n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- Conference Bridge Application\n- \n- \n- Unused, but reserved.\n- \n- \n- A named profile to apply to specific callers.\n- \n- \n- Callers in a ConfBridge have a profile associated with them\n-\t\t\t\tthat determine their options. A configuration section is determined to be a\n-\t\t\t\tuser_profile when the\n- type\n- parameter has a value\n-\t\t\t\tof\n- user\n- .\n- \n- \n- \n- Define this configuration category as a user profile.\n- \n- The type parameter determines how a context in the\n-\t\t\t\t\tconfiguration file is interpreted.\n- \n- \n- \n- Configure the context as a\n- user_profile\n- \n- \n- \n- \n- Configure the context as a\n- bridge_profile\n- \n- \n- \n- \n- Configure the context as a\n- menu\n- \n- \n- \n- \n- \n- \n- Sets if the user is an admin or not\n- \n- \n- Sets if events are send to the user\n- \n- If events are enabled for this bridge and this option is\n-\t\t\t\t\tset, users will receive events like join, leave, talking, etc. via text\n-\t\t\t\t\tmessages. For users accessing the bridge via chan_pjsip, this means\n-\t\t\t\t\tin-dialog MESSAGE messages. This is most useful for WebRTC participants\n-\t\t\t\t\twhere the browser application can use the messages to alter the user\n-\t\t\t\t\tinterface.\n- \n- \n- \n- Sets if events are echoed back to the user that\n-\t\t\t\t\ttriggered them\n- \n- If events are enabled for this user and this option\n-\t\t\t\t\tis set, the user will receive events they trigger, talking, mute, etc.\n-\t\t\t\t\tIf not set, they will not receive their own events.\n- \n- \n- \n- Sets if this is a marked user or not\n- \n- \n- Sets if all users should start out muted\n- \n- \n- Play MOH when user is alone or waiting on a marked user\n- \n- \n- Silence enter/leave prompts and user intros for this user\n- \n- \n- Determines if the user also hears the join sound when they enter a conference\n- \n- \n- Sets if the number of users should be announced to the user\n- \n- \n- Announce user count to all the other users when this user joins\n- \n- Sets if the number of users should be announced to all the other users\n-\t\t\t\t\tin the conference when this user joins. This option can be either set to 'yes' or\n-\t\t\t\t\ta number. When set to a number, the announcement will only occur once the user\n-\t\t\t\t\tcount is above the specified number.\n- \n- \n- \n- Announce to a user when they join an empty conference\n- \n- \n- Sets if the user must wait for a marked user to enter before joining a conference\n- \n- \n- Kick the user from the conference when the last marked user leaves\n- \n- \n- Set whether or not notifications of when a user begins and ends talking should be sent out as events over AMI\n- \n- \n- Sets whether or not DTMF should pass through the conference\n- \n- \n- Prompt user for their name when joining a conference and play it to the conference when they enter\n- \n- \n- Prompt user for their name when joining a conference and play it to the conference when they enter.\n-\t\t\t\t\tThe user will be asked to review the recording of their name before entering the conference.\n- \n- \n- Sets a PIN the user must enter before joining the conference\n- \n- \n- The MOH class to use for this user\n- \n- \n- Sound file to play to the user when they join a conference\n- \n- \n- Apply a denoise filter to the audio before mixing\n- \n- \n- Sets whether or not a denoise filter should be applied\n-\t\t\t\t\tto the audio before mixing or not. Off by default. Requires\n- codec_speex\n- to be built and installed. Do not confuse this option\n-\t\t\t\t\twith\n- drop_silence\n- . Denoise is useful if there is a lot of background\n-\t\t\t\t\tnoise for a user as it attempts to remove the noise while preserving\n-\t\t\t\t\tthe speech. This option does NOT remove silence from being mixed into\n-\t\t\t\t\tthe conference and does come at the cost of a slight performance hit.\n- \n- \n- \n- \n- Drop what Asterisk detects as silence from audio sent to the bridge\n- \n- This option drops what Asterisk detects as silence from\n-\t\t\t\t\tentering into the bridge. Enabling this option will drastically\n-\t\t\t\t\timprove performance and help remove the buildup of background\n-\t\t\t\t\tnoise from the conference. Highly recommended for large conferences\n-\t\t\t\t\tdue to its performance enhancements.\n- \n- \n- \n- The number of milliseconds of silence necessary to declare talking stopped.\n- \n- \n- The time in milliseconds of sound falling below the\n- dsp_talking_threshold\n- option when\n-\t\t\t\t\t\ta user is considered to stop talking. This value affects several\n-\t\t\t\t\t\toperations and should not be changed unless the impact on call\n-\t\t\t\t\t\tquality is fully understood.\n- \n- What this value affects internally:\n- 1. When talk detection AMI events are enabled, this value\n-\t\t\t\t\t\tdetermines when the user has stopped talking after a\n-\t\t\t\t\t\tperiod of talking. If this value is set too low\n-\t\t\t\t\t\tAMI events indicating the user has stopped talking\n-\t\t\t\t\t\tmay get falsely sent out when the user briefly pauses\n-\t\t\t\t\t\tduring mid sentence.\n- \n- 2. The\n- drop_silence\n- option\n-\t\t\t\t\t\tdepends on this value to determine when the user's audio should\n-\t\t\t\t\t\tbegin to be dropped from the conference bridge after the user\n-\t\t\t\t\t\tstops talking. If this value is set too low the user's\n-\t\t\t\t\t\taudio stream may sound choppy to the other participants. This\n-\t\t\t\t\t\tis caused by the user transitioning constantly from silence to\n-\t\t\t\t\t\ttalking during mid sentence.\n- \n- The best way to approach this option is to set it slightly\n-\t\t\t\t\t\tabove the maximum amount of milliseconds of silence a user may\n-\t\t\t\t\t\tgenerate during natural speech.\n- Valid values are 1 through 2^31.\n- \n- \n- \n- Average magnitude threshold to determine talking.\n- \n- The minimum average magnitude per sample in a frame\n-\t\t\t\t\t\tfor the DSP to consider talking/noise present. A value below\n-\t\t\t\t\t\tthis level is considered silence. This value affects several\n-\t\t\t\t\t\toperations and should not be changed unless the impact on call\n-\t\t\t\t\t\tquality is fully understood.\n- What this value affects internally:\n- 1. Audio is only mixed out of a user's incoming audio\n-\t\t\t\t\t\tstream if talking is detected. If this value is set too\n-\t\t\t\t\t\thigh the user will hear himself talking.\n- 2. When talk detection AMI events are enabled, this value\n-\t\t\t\t\t\tdetermines when talking has begun which results in\n-\t\t\t\t\t\tan AMI event to fire. If this value is set too low\n-\t\t\t\t\t\tAMI events may be falsely triggered by variants in\n-\t\t\t\t\t\troom noise.\n- \n- 3. The\n- drop_silence\n- option\n-\t\t\t\t\t\tdepends on this value to determine when the user's audio should\n-\t\t\t\t\t\tbe mixed into the bridge after periods of silence. If this value\n-\t\t\t\t\t\tis too high the user's speech will get discarded as they will\n-\t\t\t\t\t\tbe considered silent.\n- \n- Valid values are 1 through 2^15.\n- \n- \n- \n- Place a jitter buffer on the user's audio stream before audio mixing is performed\n- \n- \n- Enabling this option places a jitterbuffer on the user's audio stream\n-\t\t\t\t\t\tbefore audio mixing is performed. This is highly recommended but will\n-\t\t\t\t\t\tadd a slight delay to the audio. This option is using the\n- JITTERBUFFER\n- dialplan function's default adaptive jitterbuffer. For a more fine tuned\n-\t\t\t\t\t\tjitterbuffer, disable this option and use the\n- JITTERBUFFER\n- dialplan function\n-\t\t\t\t\t\ton the user before entering the ConfBridge application.\n- \n- \n- \n- \n- When using the CONFBRIDGE dialplan function, use a user profile as a template for creating a new temporary profile\n- \n- \n- Kick the user out of the conference after this many seconds. 0 means there is no timeout for the user.\n- \n- \n- Sets if text messages are sent to the user.\n- \n- If text messaging is enabled for this user then\n-\t\t\t\t\ttext messages will be sent to it. These may be events or from other\n-\t\t\t\t\tparticipants in the conference bridge. If disabled then no text\n-\t\t\t\t\tmessages are sent to the user.\n- \n- \n- \n- Sets if a user's channel should be answered if currently unanswered.\n- \n- \n- \n- A named profile to apply to specific bridges.\n- \n- \n- ConfBridge bridges have a profile associated with them\n-\t\t\t\tthat determine their options. A configuration section is determined to be a\n- bridge_profile\n- when the\n- type\n- parameter has a value\n-\t\t\t\tof\n- bridge\n- .\n- \n- \n- \n- Define this configuration category as a bridge profile\n- \n- The type parameter determines how a context in the\n-\t\t\t\t\tconfiguration file is interpreted.\n- \n- \n- \n- Configure the context as a\n- user_profile\n- \n- \n- \n- \n- Configure the context as a\n- bridge_profile\n- \n- \n- \n- \n- Configure the context as a\n- menu\n- \n- \n- \n- \n- \n- \n- Place a jitter buffer on the conference's audio stream\n- \n- \n- Set the internal native sample rate for mixing the conference\n- \n- Sets the internal native sample rate the\n-\t\t\t\t\t\tconference is mixed at. This is set to automatically\n-\t\t\t\t\t\tadjust the sample rate to the best quality by default.\n-\t\t\t\t\t\tOther values can be anything from 8000-192000. If a\n-\t\t\t\t\t\tsample rate is set that Asterisk does not support, the\n-\t\t\t\t\t\tclosest sample rate Asterisk does support to the one requested\n-\t\t\t\t\t\twill be used.\n- \n- \n- \n- Set the maximum native sample rate for mixing the conference\n- \n- Sets the maximum native sample rate the\n-\t\t\t\t\t\tconference is mixed at. This is set to not have a\n-\t\t\t\t\t\tmaximum by default. If a sample rate is specified,\n-\t\t\t\t\t\tthough, the native sample rate will never exceed it.\n- \n- \n- \n- The language used for announcements to the conference.\n- \n- By default, announcements to a conference use English. Which means\n-\t\t\t\t\t\tthe prompts played to all users within the conference will be\n-\t\t\t\t\t\tEnglish. By changing the language of a bridge, this will change\n-\t\t\t\t\t\tthe language of the prompts played to all users.\n- \n- \n- \n- Sets the internal mixing interval in milliseconds for the bridge\n- \n- Sets the internal mixing interval in milliseconds for the bridge. This\n-\t\t\t\t\t\tnumber reflects how tight or loose the mixing will be for the conference.\n-\t\t\t\t\t\tIn order to improve performance a larger mixing interval such as 40ms may\n-\t\t\t\t\t\tbe chosen. Using a larger mixing interval comes at the cost of introducing\n-\t\t\t\t\t\tlarger amounts of delay into the bridge. Valid values here are 10, 20, 40,\n-\t\t\t\t\t\tor 80.\n- \n- \n- \n- If true binaural conferencing with stereo audio is active\n- \n- Activates binaural mixing for a conference bridge.\n-\t\t\t\t\t\tBinaural features are disabled by default.\n- \n- \n- \n- Record the conference starting with the first active user's entrance and ending with the last active user's exit\n- \n- \n- Records the conference call starting when the first user\n-\t\t\t\t\t\tenters the room, and ending when the last user exits the room.\n-\t\t\t\t\t\tThe default recorded filename is\n- 'confbridge-${name of conference bridge}-${start time}.wav'\n- and the default format is 8khz slinear. This file will be\n-\t\t\t\t\t\tlocated in the configured monitoring directory in\n- asterisk.conf\n- .\n- \n- \n- \n- \n- The filename of the conference recording\n- \n- \n- When\n- record_conference\n- is set to yes, the specific name of the\n-\t\t\t\t\t\trecord file can be set using this option. Note that since multiple\n-\t\t\t\t\t\tconferences may use the same bridge profile, this may cause issues\n-\t\t\t\t\t\tdepending on the configuration. It is recommended to only use this\n-\t\t\t\t\t\toption dynamically with the\n- CONFBRIDGE()\n- dialplan function. This\n-\t\t\t\t\t\tallows the record name to be specified and a unique name to be chosen.\n-\t\t\t\t\t\tBy default, the record_file is stored in Asterisk's spool/monitor directory\n-\t\t\t\t\t\twith a unique filename starting with the 'confbridge' prefix.\n- \n- \n- \n- \n- Append to record file when starting/stopping on same conference recording\n- \n- \n- When\n- record_file_append\n- is set to yes, stopping and starting recording on a\n-\t\t\t\t\t\tconference adds the new portion to end of current record_file. When this is\n-\t\t\t\t\t\tset to no, a new\n- record_file\n- is generated every time you start then stop recording\n-\t\t\t\t\t\ton a conference.\n- \n- \n- \n- \n- Append the start time to the record_file name so that it is unique.\n- \n- \n- When\n- record_file_timestamp\n- is set to yes, the start time is appended to\n- record_file\n- so that the filename is unique. This allows you to specify\n-\t\t\t\t\t\ta\n- record_file\n- but not overwrite existing recordings.\n- \n- \n- \n- \n- Pass additional options to MixMonitor when recording\n- \n- \n- Pass additional options to MixMonitor when\n- record_conference\n- is set to yes.\n-\t\t\t\t\t\tSee\n- MixMonitor\n- for available options.\n- \n- \n- \n- \n- Execute a command after recording ends\n- \n- \n- Executes the specified command when recording ends. Any strings matching\n- ^{X}\n- will be\n-\t\t\t\t\t\tunescaped to\n- X\n- . All variables will be evaluated at the time ConfBridge is called.\n- \n- \n- \n- \n- The name of the context into which to register the name of the conference bridge as NoOP() at priority 1\n- \n- When set this will cause the name of the created conference to be registered\n-\t\t\t\t\t\tinto the named context at priority 1 with an operation of NoOP(). This can\n-\t\t\t\t\t\tthen be used in other parts of the dialplan to test for the existence of a\n-\t\t\t\t\t\tspecific conference bridge.\n-\t\t\t\t\t\tYou should be aware that there are potential races between testing for the\n-\t\t\t\t\t\texistence of a bridge, and taking action upon that information, consider\n-\t\t\t\t\t\tfor example two callers executing the check simultaneously, and then taking\n-\t\t\t\t\t\tspecial action as "first caller" into the bridge. The same for exiting,\n-\t\t\t\t\t\tdirectly after the check the bridge can be destroyed before the new caller\n-\t\t\t\t\t\tenters (creating a new bridge), for example, and the "first member" actions\n-\t\t\t\t\t\tcould thus be missed.\n- \n- \n- \n- Sets how confbridge handles video distribution to the conference participants\n- \n- \n- Sets how confbridge handles video distribution to the conference participants.\n-\t\t\t\t\t\tNote that participants wanting to view and be the source of a video feed\n- MUST\n- be sharing the same video codec. Also, using video in conjunction with\n-\t\t\t\t\t\twith the jitterbuffer currently results in the audio being slightly out of sync\n-\t\t\t\t\t\twith the video. This is a result of the jitterbuffer only working on the audio\n-\t\t\t\t\t\tstream. It is recommended to disable the jitterbuffer when video is used.\n- \n- \n- \n- No video sources are set by default in the conference. It is still\n-\t\t\t\t\t\t\t\tpossible for a user to be set as a video source via AMI or DTMF action\n-\t\t\t\t\t\t\t\tat any time.\n- \n- \n- The video feed will follow whoever is talking and providing video.\n- \n- \n- The last marked user to join the conference with video capabilities\n-\t\t\t\t\t\t\t\twill be the single source of video distributed to all participants.\n-\t\t\t\t\t\t\t\tIf multiple marked users are capable of video, the last one to join\n-\t\t\t\t\t\t\t\tis always the source, when that user leaves it goes to the one who\n-\t\t\t\t\t\t\t\tjoined before them.\n- \n- \n- The first marked user to join the conference with video capabilities\n-\t\t\t\t\t\t\t\tis the single source of video distribution among all participants. If\n-\t\t\t\t\t\t\t\tthat user leaves, the marked user to join after them becomes the source.\n- \n- \n- Selective Forwarding Unit - Sets multi-stream\n-\t\t\t\t\t\t\t\toperation for a multi-party video conference.\n- \n- \n- \n- \n- \n- Limit the maximum number of participants for a single conference\n- \n- This option limits the number of participants for a single\n-\t\t\t\t\t\tconference to a specific number. By default conferences\n-\t\t\t\t\t\thave no participant limit. After the limit is reached, the\n-\t\t\t\t\t\tconference will be locked until someone leaves. Note however\n-\t\t\t\t\t\tthat an Admin user will always be alowed to join the conference\n-\t\t\t\t\t\tregardless if this limit is reached or not.\n- \n- \n- \n- Override the various conference bridge sound files\n- \n- \n- All sounds in the conference are customizable using the bridge profile options below.\n-\t\t\t\t\t\tSimply state the option followed by the filename or full path of the filename after\n-\t\t\t\t\t\tthe option. Example:\n- sound_had_joined=conf-hasjoin\n- This will play the\n- conf-hasjoin\n- sound file found in the sounds directory when announcing someone's name is joining the\n-\t\t\t\t\t\tconference.\n- \n- \n- \n- The sound played to everyone when someone enters the conference.\n- \n- \n- The sound played to everyone when someone leaves the conference.\n- \n- \n- \n- The sound played before announcing someone's name has\n-\t\t\t\t\t\t\t\t\t\tjoined the conference. This is used for user intros.\n-\t\t\t\t\t\t\t\t\t\tExample\n- "_____ has joined the conference"\n- \n- \n- \n- \n- The sound played when announcing someone's name has\n-\t\t\t\t\t\t\t\t\t\tleft the conference. This is used for user intros.\n-\t\t\t\t\t\t\t\t\t\tExample\n- "_____ has left the conference"\n- \n- \n- \n- The sound played to a user who has been kicked from the conference.\n- \n- \n- The sound played when the mute option it toggled on.\n- \n- \n- The sound played when the mute option it toggled off.\n- \n- \n- The sound played when binaural audio is turned on.\n- \n- \n- The sound played when the binaural audio is turned off.\n- \n- \n- The sound played when the user is the only person in the conference.\n- \n- \n- The sound played to a user when there is only one other\n-\t\t\t\t\t\t\t\t\t\tperson is in the conference.\n- \n- \n- The sound played when announcing how many users there\n-\t\t\t\t\t\t\t\t\t\tare in a conference.\n- \n- \n- \n- This file is used in conjunction with\n- sound_there_are\n- when announcing how many users there are in the conference.\n-\t\t\t\t\t\t\t\t\t\tThe sounds are stringed together like this.\n- "sound_there_are" ${number of participants} "sound_other_in_party"\n- \n- \n- \n- The sound played when someone is placed into the conference\n-\t\t\t\t\t\t\t\t\t\tafter waiting for a marked user.\n- \n- \n- The sound played when a user is placed into a conference that\n-\t\t\t\t\t\t\t\t\t\tcan not start until a marked user enters.\n- \n- \n- The sound played when the last marked user leaves the conference.\n- \n- \n- The sound played when prompting for a conference pin number.\n- \n- \n- The sound played when an invalid pin is entered too many times.\n- \n- \n- The sound played to a user trying to join a locked conference.\n- \n- \n- The sound played to an admin after toggling the conference to locked mode.\n- \n- \n- The sound played to an admin after toggling the conference to unlocked mode.\n- \n- \n- The sound played when an invalid menu option is entered.\n- \n- \n- \n- \n- \n- Sets the amount of time in milliseconds after sending a video update to discard subsequent video updates\n- \n- Sets the amount of time in milliseconds after sending a video update request\n-\t\t\t\t\t\tthat subsequent video updates should be discarded. This means that if we\n-\t\t\t\t\t\tsend a video update we will discard any other video update requests until\n-\t\t\t\t\t\tafter the configured amount of time has elapsed. This prevents flooding of\n-\t\t\t\t\t\tvideo update requests from clients.\n- \n- \n- \n- Sets the interval in milliseconds that a combined REMB frame will be sent to video sources\n- \n- Sets the interval in milliseconds that a combined REMB frame will be sent\n-\t\t\t\t\t\tto video sources. This is done by taking all REMB frames that have been\n-\t\t\t\t\t\treceived since the last REMB frame was sent, making a combined value,\n-\t\t\t\t\t\tand sending it to the source. A REMB frame contains receiver estimated\n-\t\t\t\t\t\tmaximum bitrate information. By creating a combined REMB frame the\n-\t\t\t\t\t\tsender of video can be influenced on the bitrate they choose, allowing\n-\t\t\t\t\t\tbetter quality for all receivers.\n- \n- \n- \n- Sets how REMB reports are generated from multiple sources\n- \n- Sets how REMB reports are combined from multiple sources to form one. A REMB report\n-\t\t\t\t\t\tconsists of information about the receiver estimated maximum bitrate. As a source\n-\t\t\t\t\t\tstream may be forwarded to multiple receivers the reports must be combined into\n-\t\t\t\t\t\ta single one which is sent to the sender.\n- \n- \n- The average of all estimated maximum bitrates is taken and sent\n-\t\t\t\t\t\t\t\tto the sender.\n- \n- \n- The lowest estimated maximum bitrate is forwarded to the sender.\n- \n- \n- The highest estimated maximum bitrate is forwarded to the sender.\n- \n- \n- The average of all estimated maximum bitrates is taken from all\n-\t\t\t\t\t\t\t\treceivers in the bridge and a single value is sent to each sender.\n- \n- \n- The lowest estimated maximum bitrate of all receivers in the bridge\n-\t\t\t\t\t\t\t\tis taken and sent to each sender.\n- \n- \n- The highest estimated maximum bitrate of all receivers in the bridge\n-\t\t\t\t\t\t\t\tis taken and sent to each sender.\n- \n- \n- \n- The bitrate configured in\n- remb_estimated_bitrate\n- is sent to each sender.\n- \n- \n- \n- \n- \n- remb_estimated_bitrate\n- \n- \n- \n- Sets the estimated bitrate sent to each participant in REMB reports\n- \n- \n- When\n- remb_behavior\n- is set to\n- force\n- ,\n-\t\t\t\t\t this options sets the estimated bitrate (in bits per second) sent to each participant\n-\t\t\t\t\t in REMB reports.\n- \n- \n- \n- remb_behavior\n- \n- \n- \n- Enables events for this bridge\n- \n- \n- If enabled, recipients who joined the bridge via a channel driver\n-\t\t\t\t\t\tthat supports Enhanced Messaging (currently only chan_pjsip) will\n-\t\t\t\t\t\treceive in-dialog messages containing a JSON body describing the\n-\t\t\t\t\t\tevent. The Content-Type header will be\n- text/x-ast-confbridge-event\n- .\n-\t\t\t\t\t\tThis feature must also be enabled in user profiles.\n- \n- \n- \n- \n- When using the CONFBRIDGE dialplan function, use a bridge profile as a template for creating a new temporary profile\n- \n- \n- \n- A conference user menu\n- \n- \n- Conference users, as defined by a\n- conf_user\n- ,\n-\t\t\t\t\tcan have a DTMF menu assigned to their profile when they enter the\n- ConfBridge\n- application.\n- \n- \n- \n- Define this configuration category as a menu\n- \n- The type parameter determines how a context in the\n-\t\t\t\t\tconfiguration file is interpreted.\n- \n- \n- \n- Configure the context as a\n- user_profile\n- \n- \n- \n- \n- Configure the context as a\n- bridge_profile\n- \n- \n- \n- \n- Configure the context as a\n- menu\n- \n- \n- \n- \n- \n- \n- When using the CONFBRIDGE dialplan function, use a menu profile as a template for creating a new temporary profile\n- \n- \n- DTMF sequences to assign various confbridge actions to\n- \n- The ConfBridge application also has the ability to apply custom DTMF menus to\n-\t\t\t\t\teach channel using the application. Like the User and Bridge profiles a menu\n-\t\t\t\t\tis passed in to ConfBridge as an argument in the dialplan.\n- Below is a list of menu actions that can be assigned to a DTMF sequence.\n- \n- \n- To have the first DTMF digit in a sequence be the '#' character, you need to\n-\t\t\t\t\t\tescape it. If it is not escaped then normal config file processing will\n-\t\t\t\t\t\tthink it is a directive like #include. For example: The mute setting is\n-\t\t\t\t\t\ttoggled when\n- #1\n- is pressed.\n- \n- \n- \\#1=toggle_mute\n- \n- \n- \n- \n- A single DTMF sequence can have multiple actions associated with it. This is\n-\t\t\t\t\taccomplished by stringing the actions together and using a\n- ,\n- as the\n-\t\t\t\t\tdelimiter. Example: Both listening and talking volume is reset when\n- 5\n- is\n-\t\t\t\t\tpressed.\n- 5=reset_talking_volume, reset_listening_volume\n- \n- \n- \n- \n- \n- playback\n- will play back an audio file to a channel\n-\t\t\t\t\t\t\tand then immediately return to the conference.\n-\t\t\t\t\t\t\tThis file can not be interupted by DTMF.\n-\t\t\t\t\t\t\tMultiple files can be chained together using the\n- &\n- character.\n- \n- \n- \n- \n- playback_and_continue\n- will\n-\t\t\t\t\t\t\tplay back a prompt while continuing to\n-\t\t\t\t\t\t\tcollect the dtmf sequence. This is useful\n-\t\t\t\t\t\t\twhen using a menu prompt that describes all\n-\t\t\t\t\t\t\tthe menu options. Note however that any DTMF\n-\t\t\t\t\t\t\tduring this action will terminate the prompts\n-\t\t\t\t\t\t\tplayback. Prompt files can be chained together\n-\t\t\t\t\t\t\tusing the\n- &\n- character as a delimiter.\n- \n- \n- \n- Toggle turning on and off mute. Mute will make the user silent\n-\t\t\t\t\t\t\tto everyone else, but the user will still be able to listen in.\n- \n- \n- Toggle turning on and off binaural audio processing.\n- \n- \n- This action does nothing (No Operation). Its only real purpose exists for\n-\t\t\t\t\t\t\tbeing able to reserve a sequence in the config as a menu exit sequence.\n- \n- \n- Decreases the channel's listening volume.\n- \n- \n- Increases the channel's listening volume.\n- \n- \n- Reset channel's listening volume to default level.\n- \n- \n- Decreases the channel's talking volume.\n- \n- \n- Increases the channel's talking volume.\n- \n- \n- Reset channel's talking volume to default level.\n- \n- \n- \n- The\n- dialplan_exec\n- action allows a user\n-\t\t\t\t\t\t\tto escape from the conference and execute\n-\t\t\t\t\t\t\tcommands in the dialplan. Once the dialplan\n-\t\t\t\t\t\t\texits the user will be put back into the\n-\t\t\t\t\t\t\tconference. The possibilities are endless!\n- \n- \n- \n- This action allows a user to exit the conference and continue\n-\t\t\t\t\t\t\texecution in the dialplan.\n- \n- \n- This action allows an Admin to kick the last participant from the\n-\t\t\t\t\t\t\tconference. This action will only work for admins which allows\n-\t\t\t\t\t\t\ta single menu to be used for both users and admins.\n- \n- \n- This action allows an Admin to toggle locking and\n-\t\t\t\t\t\t\tunlocking the conference. Non admins can not use\n-\t\t\t\t\t\t\tthis action even if it is in their menu.\n- \n- \n- \n- This action allows any user to set themselves as the\n-\t\t\t\t\t\t\tsingle video source distributed to all participants.\n-\t\t\t\t\t\t\tThis will make the video feed stick to them regardless\n-\t\t\t\t\t\t\tof what the\n- video_mode\n- is set to.\n- \n- \n- \n- \n- This action allows a user to release themselves as\n-\t\t\t\t\t\t\tthe video source. If\n- video_mode\n- is not set to\n- none\n- this action will result in the conference returning to\n-\t\t\t\t\t\t\twhatever video mode the bridge profile is using.\n- \n- \n- Note that this action will have no effect if the user\n-\t\t\t\t\t\t\tis not currently the video source. Also, the user is\n-\t\t\t\t\t\t\tnot guaranteed by using this action that they will not\n-\t\t\t\t\t\t\tbecome the video source again. The bridge will return\n-\t\t\t\t\t\t\tto whatever operation the\n- video_mode\n- option is set to\n-\t\t\t\t\t\t\tupon release of the video src.\n- \n- \n- \n- This action allows an administrator to toggle the mute\n-\t\t\t\t\t\t\tstate for all non-admins within a conference. All\n-\t\t\t\t\t\t\tadmin users are unaffected by this option. Note that all\n-\t\t\t\t\t\t\tusers, regardless of their admin status, are notified\n-\t\t\t\t\t\t\tthat the conference is muted.\n- \n- \n- This action plays back the number of participants currently\n-\t\t\t\t\t\t\tin a conference\n- \n- \n- \n- \n- \n- \n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- app_confbridge\n+ \n core\n \n- \n- Page series of phones\n+ \n+ Originate a call.\n \n- \n- \n- \n- Specification of the device(s) to dial. These must be in the format of\n- Technology/Resource\n- , where\n- Technology\n- represents a particular channel driver, and\n- Resource\n- represents a resource\n-\t\t\t\t\tavailable to that particular channel driver.\n- \n- \n- \n- Optional extra devices to dial in parallel\n- If you need more than one, enter them as Technology2/Resource2&\n-\t\t\t\t\tTechnology3/Resource3&.....\n- \n+ \n+ Channel technology and data for creating the outbound channel.\n+ For example, SIP/1234.\n \n- \n+ \n+ \n+ This should be\n+ app\n+ or\n+ exten\n+ , depending on whether the outbound channel should be connected to an application or extension.\n+ \n+ \n+ \n+ \n+ If the type is\n+ app\n+ , then this is the application name. If the type is\n+ exten\n+ , then this is the context that the channel will be sent to.\n+ \n+ \n+ \n+ \n+ If the type is\n+ app\n+ , then this is the data passed as arguments to the application. If the type is\n+ exten\n+ , then this is the extension that the channel will be sent to.\n+ \n+ \n+ \n+ \n+ If the type is\n+ exten\n+ , then this is the priority that the channel is sent to. If the type is\n+ app\n+ , then this parameter is ignored.\n+ \n+ \n+ \n+ Timeout in seconds. Default is 30 seconds.\n+ \n+ \n \n+ \n \n \n- \n- \n- \n- \n- \n- \n \n+ \n \n \n- \n- Specify the length of time that the system will attempt to connect a call.\n-\t\t\t\tAfter this duration, any page calls that have not been answered will be hung up by the\n-\t\t\t\tsystem.\n- \n- \n- \n- \n- Places outbound calls to the given\n- technology\n- /\n- resource\n- and dumps them into a conference bridge as muted participants. The original\n-\t\t\tcaller is dumped into the conference as a speaker and the room is\n-\t\t\tdestroyed when the original caller leaves.\n- \n- \n- \n- ConfBridge\n- \n- \n- \n- extended\n- \n- \n- Waits for a specified amount of silence.\n- \n- \n- \n- If not specified, defaults to\n- 1000\n- milliseconds.\n- \n- \n- \n- \n- If not specified, defaults to\n- 1\n- .\n- \n- \n- \n- Is specified only to avoid an infinite loop in cases where silence is never achieved.\n- \n \n \n- \n- Waits for up to\n- silencerequired\n- milliseconds of silence,\n- iterations\n- times. An optional\n- timeout\n- specified the number of seconds to return after, even if we do not receive the specified amount of silence.\n-\t\t\tUse\n- timeout\n- with caution, as it may defeat the purpose of this application, which\n-\t\t\tis to wait indefinitely until silence is detected on the line. This is particularly useful for reverse-911-type\n-\t\t\tcall broadcast applications where you need to wait for an answering machine to complete its spiel before\n-\t\t\tplaying a message.\n- \n- Typically you will want to include two or more calls to WaitForSilence when dealing with an answering\n-\t\t\tmachine; first waiting for the spiel to finish, then waiting for the beep, etc.\n- same => n,WaitForSilence(500,2)\n- same => n,WaitForSilence(1000)\n- same => n,WaitForSilence(300,3,10)\n- \n- Sets the channel variable\n- WAITSTATUS\n- to one of these values:\n- \n+ This application originates an outbound call and connects it to a specified extension or application. This application will block until the outgoing call fails or gets answered, unless the async option is used. At that point, this application will exit with the status variable set and dialplan processing will continue.\n+ This application sets the following channel variable before exiting:\n \n- \n- if exited with silence detected.\n- if exited without silence detected after timeout.\n+ \n+ This indicates the result of the call origination.\n+ \n+ \n+ \n+ \n+ \n+ \n+ In practice, you should never see this value. Please report it to the issue tracker if you ever see it.\n \n \n \n- \n- WaitForNoise\n- \n- \n- \n- Waits for a specified amount of noise.\n- \n- \n- \n- If not specified, defaults to\n- 1000\n- milliseconds.\n- \n- \n- \n- \n- If not specified, defaults to\n- 1\n- .\n- \n- \n- \n- Is specified only to avoid an infinite loop in cases where silence is never achieved.\n- \n- \n- \n- \n- Waits for up to\n- noiserequired\n- milliseconds of noise,\n- iterations\n- times. An optional\n- timeout\n- specified the number of seconds to return after, even if we do not receive the specified amount of noise.\n-\t\t\tUse\n- timeout\n- with caution, as it may defeat the purpose of this application, which\n-\t\t\tis to wait indefinitely until noise is detected on the line.\n- \n- \n- \n- WaitForSilence\n- \n \n- \n- res_adsi\n- deprecated\n+ \n+ extended\n \n- \n- Load Asterisk ADSI Scripts into phone\n+ \n+ \n+ 16.20.0\n+ 18.6.0\n+ 19.0.0\n+ \n+ Reloads an Asterisk module, blocking the channel until the reload has completed.\n \n- \n+ \n+ The full name(s) of the target module(s) or resource(s) to reload.\n+\t\t\t\tIf omitted, everything will be reloaded.\n \n- adsi script to use. If not given uses the default script\n- asterisk.adsi\n+ The full names MUST be specified (e.g.\n+ chan_iax2\n+ to reload IAX2 or\n+ pbx_config\n+ to reload the dialplan.\n \n \n \n \n- This application programs an ADSI Phone with the given script\n- \n- \n- GetCPEID\n- adsi.conf\n- \n- \n- \n- extended\n- \n- \n- Attended transfer to the extension provided and TRANSFER_CONTEXT\n- \n- \n- Specify extension.\n- \n- \n- \n- \n- Queue up attended transfer to the specified extension in the\n- TRANSFER_CONTEXT\n- .\n- \n- Note that the attended transfer only work when two channels have answered and are bridged together.\n- \n- Make sure to set Attended Transfer DTMF feature\n- atxfer\n- and attended transfer is permitted.\n- \n+ Reloads the specified (or all) Asterisk modules and reports success or failure.\n+\t\t\tSuccess is determined by each individual module, and if all reloads are successful,\n+\t\t\tthat is considered an aggregate success. If multiple modules are specified and any\n+\t\t\tmodule fails, then FAILURE will be returned. It is still possible that other modules\n+\t\t\tdid successfully reload, however.\n \n- The result of the application will be reported in the\n- ATTENDEDTRANSFERSTATUS\n- channel variable:\n+ Sets\n+ RELOADSTATUS\n+ to one of the following values:\n \n \n- \n- Transfer successfully queued.\n- Transfer failed.\n- Transfer not permitted.\n+ \n+ Specified module(s) reloaded successfully.\n+ Some or all of the specified modules failed to reload.\n \n \n \n \n- \n+ \n core\n \n- \n- Authenticate a user\n- \n- \n- Password the user should know\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- maximum acceptable number of digits. Stops reading after\n-\t\t\t\tmaxdigits have been entered (without requiring the user to press the\n- #\n- key).\n-\t\t\t\tDefaults to 0 - no limit - wait for the user press the\n- #\n- key.\n- \n- \n- \n- Override the agent-pass prompt file.\n- \n+ \n+ Delete a family or keytree from the asterisk database.\n+ \n+ \n+ \n \n \n- This application asks the caller to enter a given password in order to continue dialplan execution.\n \n- If the password begins with the\n- /\n- character,\n-\t\t\tit is interpreted as a file which contains a list of valid passwords, listed 1 password per line in the file.\n+ This application will delete a\n+ family\n+ or\n+ keytree\n+ from the Asterisk database.\n \n- When using a database key, the value associated with the key can be anything.\n- Users have three attempts to authenticate before the channel is hung up.\n \n \n- VMAuthenticate\n- DISA\n+ DB_DELETE\n+ DB\n \n \n- \n- deprecated\n- 16\n- 19\n- \n- \n- Encode and stream using 'ices'.\n- \n- \n- ICES configuration file.\n- \n- \n- \n- Streams to an icecast server using ices (available separately).\n-\t\t\tA configuration file must be supplied for ices (see contrib/asterisk-ices.xml).\n- \n- ICES version 2 client and server required.\n- \n- \n- \n- \n+ \n core\n \n- \n- Transfer caller to remote extension.\n- \n- \n- \n- \n- \n- \n- \n- Requests the remote caller be transferred\n-\t\t\tto a given destination. If TECH (SIP, IAX2, etc) is used, only\n-\t\t\tan incoming call with the same channel technology will be transferred.\n-\t\t\tNote that for SIP, if you transfer before call is setup, a 302 redirect\n-\t\t\tSIP message will be returned to the caller.\n- \n- The result of the application will be reported in the\n- TRANSFERSTATUS\n- channel variable:\n- \n- \n- \n- Transfer succeeded.\n- Transfer failed.\n- Transfer unsupported by channel driver.\n- \n- \n- No error.\n- SIP example - Error result code.\n- \n- \n- \n- \n- \n- extended\n- \n- \n- Say text to the user.\n- \n- \n- \n- \n+ \n+ Tell Asterisk to not maintain a CDR for this channel.\n+ \n \n \n- Connect to Festival, send the argument, get back the waveform, play it to the user,\n-\t\t\tallowing any given interrupt keys to immediately terminate and return the value, or\n- any\n- to allow any number back (useful in dialplan).\n+ This application will tell Asterisk not to maintain a CDR for\n+\t\t\tthe current channel. This does\n+ NOT\n+ mean that\n+\t\t\tinformation is not tracked; rather, if the channel is hung up no\n+\t\t\tCDRs will be created for that channel.\n \n- \n- \n- \n- core\n- \n- \n- Send arbitrary text to verbose output.\n- \n- \n- Must be an integer value. If not specified, defaults to 0.\n- \n- \n- Output text message.\n- \n- \n- \n- Sends an arbitrary text message to verbose output.\n- \n- \n- \n- Send arbitrary text to a selected log level.\n- \n- \n- \n- Level must be one of\n- ERROR\n- ,\n- WARNING\n- ,\n- NOTICE\n- ,\n- DEBUG\n- ,\n- VERBOSE\n- ,\n- DTMF\n- , or\n-\t\t\t\tthe name of a custom dynamic logging level.\n- \n- \n- \n- Output text message.\n- \n- \n- \n- Sends an arbitrary text message to a selected log level.\n- \n- \n- \n- dahdi\n- core\n- \n- \n- Flashes a DAHDI Trunk.\n- \n- \n- Performs a flash on a DAHDI trunk. This can be used to access features\n-\t\t\tprovided on an incoming analogue circuit such as conference and call waiting.\n-\t\t\tUse with SendDTMF() to perform external transfers.\n+ If a subsequent call to ResetCDR occurs, all non-finalized\n+\t\t\tCDRs created for the channel will be enabled.\n+ \n+ This application is deprecated. Please use the CDR_PROP\n+\t\t\tfunction to disable CDRs on a channel.\n+ \n \n \n- SendDTMF\n+ ResetCDR\n+ CDR_PROP\n \n \n- \n- no\n- deprecated\n- app_stack (GoSub)\n- 16\n- 21\n- \n- \n- Macro Implementation.\n+ \n+ Resets the Call Data Record.\n \n- \n- The name of the macro\n- \n- \n- \n- \n+ \n+ \n+ \n+ \n+ \n \n \n \n+ This application causes the Call Data Record to be reset.\n+\t\t\tDepending on the flags passed in, this can have several effects.\n+\t\t\tWith no options, a reset does the following:\n \n- Executes a macro using the context macro-\n- name\n- ,\n-\t\t\tjumping to the\n- s\n- extension of that context and executing each step,\n-\t\t\tthen returning when the steps end.\n- \n- \n- The calling extension, context, and priority are stored in\n- MACRO_EXTEN\n- ,\n- MACRO_CONTEXT\n- and\n- MACRO_PRIORITY\n- respectively. Arguments\n-\t\t\tbecome\n- ARG1\n- ,\n- ARG2\n- , etc in the macro context.\n+ 1. The\n+ start\n+ time is set to the current time.\n \n- If you Goto out of the Macro context, the Macro will terminate and control will be returned\n-\t\t\tat the location of the Goto.\n \n- If\n- MACRO_OFFSET\n- is set at termination, Macro will attempt to continue\n-\t\t\tat priority MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise.\n+ 2. If the channel is answered, the\n+ answer\n+ time is set to the\n+\t\t\tcurrent time.\n \n- \n- Because of the way Macro is implemented (it executes the priorities contained within\n-\t\t\tit via sub-engine), and a fixed per-thread memory stack allowance, macros are limited to 7 levels\n-\t\t\tof nesting (macro calling macro calling macro, etc.); It may be possible that stack-intensive\n-\t\t\tapplications in deeply nested macros could cause asterisk to crash earlier than this limit.\n-\t\t\tIt is advised that if you need to deeply nest macro calls, that you use the Gosub application\n-\t\t\t(now allows arguments like a Macro) with explicit Return() calls instead.\n- \n- \n- \n- Use of the application\n- WaitExten\n- within a macro will not function\n-\t\t\tas expected. Please use the\n- Read\n- application in order to read DTMF from a channel\n-\t\t\tcurrently executing a macro.\n- \n- \n- \n- \n- MacroExit\n- Goto\n- Gosub\n- \n- \n- \n- Conditional Macro implementation.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n \n- Executes macro defined in\n- macroiftrue\n- if\n- expr\n- is true (otherwise\n- macroiffalse\n- if provided)\n+ 3. All variables are wiped from the CDR. Note that this step\n+\t\t\tcan be prevented with the\n+ v\n+ option.\n \n- Arguments and return values as in application Macro()\n- \n- \n- \n- GotoIf\n- GosubIf\n- IF\n- \n- \n- \n- Exclusive Macro Implementation.\n- \n- \n- The name of the macro\n- \n- \n- \n- \n- \n \n- Executes macro defined in the context macro-\n- name\n- .\n-\t\t\tOnly one call at a time may run the macro. (we'll wait if another call is busy\n-\t\t\texecuting in the Macro)\n+ On the other hand, if the\n+ e\n+ option is\n+\t\t\tspecified, the effects of the NoCDR application will be lifted. CDRs\n+\t\t\twill be re-enabled for this channel.\n \n- Arguments and return values as in application Macro()\n- \n- \n- \n- Macro\n- \n- \n- \n- Exit from Macro.\n- \n- \n- Causes the currently running macro to exit as if it had\n-\t\t\tended normally by running out of priorities to execute.\n-\t\t\tIf used outside a macro, will likely cause unexpected behavior.\n+ \n+ \n+ The\n+ e\n+ option is deprecated. Please\n+\t\t\tuse the CDR_PROP function instead.\n+ \n+ \n \n \n- Macro\n+ ForkCDR\n+ NoCDR\n+ CDR_PROP\n \n \n- \n- core\n- \n- \n- Executes dialplan application.\n- \n- \n- Application name and arguments of the dialplan application to execute.\n- \n- \n- \n- \n- Allows an arbitrary application to be invoked even when not\n-\t\t\thard coded into the dialplan. If the underlying application\n-\t\t\tterminates the dialplan, or if the application cannot be found,\n-\t\t\tExec will terminate the dialplan.\n- To invoke external applications, see the application System.\n-\t\t\tIf you would like to catch any error instead, see TryExec.\n- \n- \n- \n- Executes dialplan application, always returning.\n- \n- \n- \n- \n- \n- \n- Allows an arbitrary application to be invoked even when not\n-\t\t\thard coded into the dialplan. To invoke external applications\n-\t\t\tsee the application System. Always returns to the dialplan.\n-\t\t\tThe channel variable TRYSTATUS will be set to one of:\n- \n- \n- If the application returned zero.\n- If the application returned non-zero.\n- If the application was not found or was not specified.\n- \n- \n- \n- \n- \n- Executes dialplan application, conditionally.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- If\n- expr\n- is true, execute and return the\n-\t\t\tresult of\n- appiftrue(args)\n- .\n- \n- \n- If\n- expr\n- is true, but\n- appiftrue\n- is not found,\n-\t\t\tthen the application will return a non-zero value.\n- \n- \n- \n- \n- extended\n- \n- \n- Wait for Ring Application.\n- \n- \n- \n- \n- \n- Returns\n- 0\n- after waiting at least\n- timeout\n- seconds,\n-\t\t\tand only after the next ring has completed. Returns\n- 0\n- on success or\n- -1\n- on hangup.\n- \n- \n- \n \n dahdi\n no\n extended\n app_confbridge\n 19\n 21\n@@ -12909,746 +11995,755 @@\n \n \n \n \n \n \n \n- \n+ \n+ res_adsi\n deprecated\n- 16\n- 19\n \n- \n- Play an NBS local stream.\n+ \n+ Get ADSI CPE ID.\n \n \n- Executes nbscat to listen to the local NBS stream.\n-\t\t\tUser can exit by pressing any key.\n+ \n+ Obtains and displays ADSI CPE ID and other information in order\n+\t\t\tto properly setup\n+ dahdi.conf\n+ for on-hook operations.\n+ \n \n \n- \n- core\n+ \n+ no\n+ extended\n \n- \n- Send a Text Message on a channel.\n+ \n+ Say a noun in declined form in order to count things\n \n- \n+ \n+ The number of things\n+ \n+ \n+ File name stem for the noun that is the name of the things\n+ \n \n \n+ Selects and plays the proper singular or plural form of a noun\n+\t\t\twhen saying things such as "five calls". English has simple rules\n+\t\t\tfor deciding when to say "call" and when to say "calls", but other\n+\t\t\tlanguages have complicated rules which would be extremely difficult\n+\t\t\tto implement in the Asterisk dialplan language.\n \n- Sends\n- text\n- to the current channel.\n+ The correct sound file is selected by examining the\n+ number\n+ and adding the appropriate suffix\n+\t\t\tto\n+ filename\n+ . If the channel language is\n+\t\t\tEnglish, then the suffix will be either empty or "s". If the channel\n+\t\t\tlanguage is Russian or some other Slavic language, then the suffix\n+\t\t\twill be empty for nominative, "x1" for genative singular, and "x2"\n+\t\t\tfor genative plural.\n \n- \n- \n- current channel\n- could be the caller or callee depending\n-\t\t\ton the context in which this application is called.\n- \n- \n- \n- The following variables can be set:\n- \n- \n- \n- If set and this channel supports enhanced messaging, this value will be\n-\t\t\t\t\tused as the\n- From\n- display name.\n- \n- \n- \n- \n- If set and this channel supports enhanced messaging, this value will be\n-\t\t\t\t\tused as the\n- To\n- display name.\n- \n- \n- \n- \n- If set and this channel supports enhanced messaging, this value will be\n-\t\t\t\t\tused as the message\n- Content-Type\n- . If not specified, the\n-\t\t\t\t\tdefault of\n- text/plain\n- will be used.\n- \n- \n- Warning:\n- Messages of types other than\n- text/*\n- cannot be sent via channel drivers that do not\n-\t\t\t\t\tsupport Enhanced Messaging. An attempt to do so will be ignored and will result\n-\t\t\t\t\tin the\n- SENDTEXTSTATUS\n- variable being set to\n- UNSUPPORTED\n- .\n- \n- \n- \n- If set this value will be used as the message body and any text supplied\n-\t\t\t\t\tas a function parameter will be ignored.\n- \n- \n- \n- Result of transmission will be stored in the following variables:\n- \n- \n- No message sent.\n- Message body sent without attributes because the channel driver\n-\t\t\t\t\t\tdoesn't support enhanced messaging.\n- The message was sent using enhanced messaging.\n- \n- \n- Transmission succeeded.\n- Transmission failed.\n- Text transmission not supported by channel.\n- \n- \n- \n- \n- The text encoding and transmission method is completely at the\n-\t\t\tdiscretion of the channel driver. chan_pjsip will use in-dialog SIP MESSAGE\n-\t\t\tmessages always. chan_sip will use T.140 via RTP if a text media type was\n-\t\t\tnegotiated and in-dialog SIP MESSAGE messages otherwise.\n- \n- \n- Examples:\n- same => n,SendText(Your Text Here)\n- If the channel driver supports enhanced messaging (currently only chan_pjsip),\n-\t\t\tyou can set additional variables:\n- same => n,Set(SENDTEXT_FROM_DISPLAYNAME=Really From Bob)\n-\t\t\t same => n,SendText(Your Text Here)\n- same => n,Set(SENDTEXT_CONTENT_TYPE=text/json)\n-\t\t\t same => n,SendText({"foo":a, "bar":23})\n- same => n,Set(SENDTEXT_CONTENT_TYPE=text/json)\n-\t\t\t same => n,Set(SENDTEXT_BODY={"foo":a, "bar":23})\n-\t\t\t same => n,SendText()\n+ \n+ Note that combining\n+ filename\n+ with\n+\t\t\ta suffix will not necessarily produce a correctly spelled plural\n+\t\t\tform. For example, SayCountedNoun(2,man) will play the sound file\n+\t\t\t"mans" rather than "men". This behavior is intentional. Since the\n+\t\t\tfile name is never seen by the end user, there is no need to\n+\t\t\timplement complicated spelling rules. We simply record the word\n+\t\t\t"men" in the sound file named "mans".\n+ \n+ This application does not automatically answer and should be\n+\t\t\tpreceeded by an application such as Answer() or Progress.\n \n \n- SendImage\n- SendURL\n- ReceiveText\n+ SayCountedAdj\n+ SayNumber\n \n \n- \n- \n- 16.24.0\n- 18.10.0\n- 19.2.0\n- \n- Receive a Text Message on a channel.\n+ \n+ Say a adjective in declined form in order to count things\n \n- \n- Time in seconds to wait for text. Default is 0 (forever).\n+ \n+ The number of things\n+ \n+ \n+ File name stem for the adjective\n+ \n+ \n+ The gender of the noun modified, one of 'm', 'f', 'n', or 'c'\n \n \n \n \n- Waits for\n- timeout\n- seconds on the current channel\n-\t\t\tto receive text.\n+ Selects and plays the proper form of an adjective according to\n+\t\t\tthe gender and of the noun which it modifies and the number of\n+\t\t\tobjects named by the noun-verb combination which have been counted.\n+\t\t\tUsed when saying things such as "5 new messages". The various\n+\t\t\tsingular and plural forms of the adjective are selected by adding\n+\t\t\tsuffixes to\n+ filename\n+ .\n \n- Result of transmission will be stored in the following variables:\n- \n- \n- The received text message.\n- \n- \n- Transmission succeeded.\n- Transmission failed or timed out.\n- \n- \n- same => n,ReceiveText()\n-\t\t\t same => n,NoOp(${RECEIVETEXTMESSAGE})\n+ \n+ If the channel language is English, then no suffix will ever\n+\t\t\tbe added (since, in English, adjectives are not declined). If the\n+\t\t\tchannel language is Russian or some other slavic language, then the\n+\t\t\tsuffix will the specified\n+ gender\n+ for\n+\t\t\tnominative, and "x" for genative plural. (The genative singular is\n+\t\t\tnot used when counting things.) For example, SayCountedAdj(1,new,f)\n+\t\t\twill play sound file "newa" (containing the word "novaya"), but\n+\t\t\tSayCountedAdj(5,new,f) will play sound file "newx" (containing the\n+\t\t\tword "novikh").\n+ \n+ This application does not automatically answer and should be\n+\t\t\tpreceeded by an application such as Answer(), Progress(), or\n+\t\t\tProceeding().\n \n \n- SendText\n- SendImage\n- SendURL\n+ SayCountedNoun\n+ SayNumber\n \n \n- \n- extended\n+ \n+ core\n \n- \n- \n- 16.21.0\n- 18.7.0\n- 19.0.0\n- \n- Detects MF digits on a channel and saves them to a variable.\n+ \n+ Forks the current Call Data Record for this channel.\n \n- \n- \n- The input digits will be stored in the given\n- variable\n- name.\n- \n- \n- \n- \n- The number of seconds to wait for all digits, if greater\n-\t\t\t\tthan\n- 0\n- . Can be floating point. Default\n-\t\t\t\tis no timeout.\n- \n- \n \n \n- \n- \n- \n- \n+ \n+ \n+ \n+ \n+ Causes the Call Data Record engine to fork a new CDR starting\n+\t\t\tfrom the time the application is executed. The forked CDR will be\n+\t\t\tlinked to the end of the CDRs associated with the channel.\n+ \n+ \n+ CDR\n+ NoCDR\n+ ResetCDR\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Record to a file.\n+ \n+ \n+ \n+ \n+ Is the format of the file type to be recorded (wav, gsm, etc).\n+ \n+ \n+ \n+ Is the number of seconds of silence to allow before returning.\n+ \n+ \n+ Is the maximum recording duration in seconds. If missing\n+\t\t\t\tor 0 there is no maximum.\n+ \n+ \n+ \n+ \n \n \n \n- \n \n+ \n+ \n+ \n+ \n+ \n \n \n \n \n \n- Reads a ST, STP, ST2P, or ST3P-terminated string of MF digits from\n-\t\t\tthe user in to the given\n- variable\n- .\n- \n- \n- This application does not automatically answer the channel and\n-\t\t\tshould be preceded with\n- Answer\n- or\n- Progress\n- as needed.\n+ If filename contains\n+ %d\n+ , these characters will be replaced with a number\n+\t\t\tincremented by one each time the file is recorded.\n+\t\t\tUse\n+ core show file formats\n+ to see the available formats on your system\n+\t\t\tUser can press\n+ #\n+ to terminate the recording and continue to the next priority.\n+\t\t\tIf the user hangs up during a recording, all data will be lost and the application will terminate.\n \n \n- \n- This is the status of the read operation.\n- \n- \n- \n- \n- \n+ \n+ Will be set to the final filename of the recording, without an extension.\n+ \n+ \n+ This is the final status of the command\n+ A terminating DTMF was received ('#' or '*', depending upon option 't')\n+ The maximum silence occurred in the recording.\n+ The line was not yet answered and the 's' option was specified.\n+ The maximum length was reached.\n+ The channel was hung up.\n+ An unrecoverable error occurred, which resulted in a WARNING to the logs.\n \n \n \n- \n- Read\n- SendMF\n- ReceiveSF\n- \n \n- \n- \n- 16.21.0\n- 18.7.0\n- 19.0.0\n- \n- Sends arbitrary MF digits on the current or specified channel.\n+ \n+ core\n+ \n+ \n+ Send an arbitrary user-defined event to parties interested in a channel (AMI users and relevant res_stasis applications).\n \n- \n- List of digits 0-9,*#ABC to send; w for a half-second pause,\n-\t\t\t\talso f or F for a flash-hook if the channel supports flash-hook,\n-\t\t\t\th or H for 250 ms of 2600 Hz,\n-\t\t\t\tand W for a wink if the channel supports wink.\n- Key pulse and start digits are not included automatically.\n-\t\t\t\t* is used for KP, # for ST, A for STP, B for ST2P, and C for ST3P.\n- \n- \n- Amount of time to wait in ms between tones. (defaults to 50ms).\n- \n- \n- Duration of each numeric digit (defaults to 55ms).\n- \n- \n- Duration of KP digits (defaults to 120ms).\n- \n- \n- Duration of ST, STP, ST2P, and ST3P digits (defaults to 65ms).\n- \n- \n- Channel where digits will be played\n- \n+ \n+ \n \n \n- It will send all digits or terminate if it encounters an error.\n+ \n+ Sends an arbitrary event to interested parties, with an optional\n+ body\n+ representing additional arguments. The\n+ body\n+ may be specified as\n+\t\t\ta\n+ ,\n+ delimited list of key:value pairs.\n+ \n+ For AMI, each additional argument will be placed on a new line in\n+\t\t\tthe event and the format of the event will be:\n+ Event: UserEvent\n+ UserEvent: <specified event name>\n+ [body]\n+ \n+ If no\n+ body\n+ is specified, only Event and\n+\t\t\tUserEvent headers will be present.\n+ \n+ \n+ For res_stasis applications, the event will be provided as a JSON\n+\t\t\tblob with additional arguments appearing as keys in the object and the\n+ eventname\n+ under the\n+ eventname\n+ key.\n+ \n \n \n- ReceiveMF\n- SendSF\n- SendDTMF\n+ UserEvent\n+ UserEvent\n \n \n- \n- \n- 16.21.0\n- 18.7.0\n- 19.0.0\n- \n- Play MF digit on a specific channel.\n- \n- \n- \n- Channel name to send digit to.\n- \n- \n- The MF digit to play.\n- \n- \n- The duration, in milliseconds, of the digit to be played.\n- \n- \n- \n- Plays an MF digit on the specified channel.\n- \n- \n- \n- deprecated\n- 16\n- 19\n+ \n+ extended\n \n- \n- Sends an image file.\n+ \n+ Interfaces with an external IVR application.\n \n- \n- Path of the filename (image) to send.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n- Send an image file on a channel supporting it.\n \n- Result of transmission will be stored in\n- SENDIMAGESTATUS\n+ Either forks a process to run given command or makes a socket to connect\n+\t\t\tto given host and starts a generator on the channel. The generator's play list\n+\t\t\tis controlled by the external application, which can add and clear entries via\n+\t\t\tsimple commands issued over its stdout. The external application will receive\n+\t\t\tall DTMF events received on the channel, and notification if the channel is\n+\t\t\thung up. The received on the channel, and notification if the channel is hung\n+\t\t\tup. The application will not be forcibly terminated when the channel is hung up.\n+\t\t\tFor more information see\n+ doc/AST.pdf\n+ .\n \n- \n- \n- Transmission succeeded.\n- Transmission failed.\n- Image transmission not supported by channel.\n- \n- \n \n- \n- SendText\n- SendURL\n- \n \n- \n+ \n core\n \n- \n- Generates a CEL User Defined Event.\n+ \n+ Says a specified time in a custom format.\n \n- \n- \n- \n- Extra text to be included with the event.\n- \n+ \n+ time, in seconds since Jan 1, 1970. May be negative. Defaults to now.\n+ \n+ \n+ \n+ timezone, see\n+ /usr/share/zoneinfo\n+ for a list. Defaults to machine default.\n+ \n+ \n+ \n+ \n+ a format the time is to be said in. See\n+ voicemail.conf\n+ .\n+\t\t\t\tDefaults to\n+ ABdY "digits/at" IMp\n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n- A CEL event will be immediately generated by this channel, with the supplied name for a type.\n+ \n+ Uses some of the sound files stored in\n+ /var/lib/asterisk/sounds\n+ to construct a phrase\n+\t\t\tsaying the specified date and/or time in the specified format.\n+ \n \n+ \n+ STRFTIME\n+ STRPTIME\n+ IFTIME\n+ \n \n- \n- core\n- \n- \n- Originate a call.\n+ \n+ Says a specified time in a custom format.\n \n- \n- Channel technology and data for creating the outbound channel.\n- For example, SIP/1234.\n+ \n+ time, in seconds since Jan 1, 1970. May be negative. Defaults to now.\n \n- \n+ \n \n- This should be\n- app\n- or\n- exten\n- , depending on whether the outbound channel should be connected to an application or extension.\n+ timezone, see\n+ /usr/share/zoneinfo\n+ for a list. Defaults to machine default.\n \n \n- \n+ \n \n- If the type is\n- app\n- , then this is the application name. If the type is\n- exten\n- , then this is the context that the channel will be sent to.\n+ a format the time is to be said in. See\n+ voicemail.conf\n+ .\n+\t\t\t\tDefaults to\n+ ABdY "digits/at" IMp\n \n \n- \n+ \n+ \n+ Say the date and time in a specified format.\n+ \n+ \n+ \n+ extended\n+ \n+ \n+ \n+ 16.20.0\n+ 18.6.0\n+ 19.0.0\n+ \n+ Wait (sleep) until the given condition is true.\n+ \n+ \n \n- If the type is\n- app\n- , then this is the data passed as arguments to the application. If the type is\n- exten\n- , then this is the extension that the channel will be sent to.\n+ Specifies the character in the expression used to replace the\n+ $\n+ character. This character should not be used anywhere in the expression itself.\n \n \n- \n+ \n \n- If the type is\n- exten\n- , then this is the priority that the channel is sent to. If the type is\n- app\n- , then this parameter is ignored.\n+ A modified logical expression with the\n+ $\n+ characters replaced by\n+ replacementchar\n+ . This is necessary to pass the expression itself\n+\t\t\t\tinto the application, rather than its initial evaluation.\n \n \n- \n- Timeout in seconds. Default is 30 seconds.\n+ \n+ The maximum amount of time, in seconds, this application should wait for a condition\n+\t\t\t\tto become true before dialplan execution continues automatically to the next priority.\n+\t\t\t\tBy default, there is no timeout.\n \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ The frequency, in seconds, of polling the condition, which can be adjusted depending\n+\t\t\t\ton how time-sensitive execution needs to be. By default, this is 0.05.\n \n \n \n- This application originates an outbound call and connects it to a specified extension or application. This application will block until the outgoing call fails or gets answered, unless the async option is used. At that point, this application will exit with the status variable set and dialplan processing will continue.\n- This application sets the following channel variable before exiting:\n+ \n+ Waits until\n+ expression\n+ evaluates to true, checking every\n+ interval\n+ seconds for up to\n+ timeout\n+ . Default\n+\t\t\tis evaluate\n+ expression\n+ every 50 milliseconds with no timeout.\n+ \n+ same => n,WaitForCondition(#,#["#{condition}"="1"],40,0.5)\n+ \n+ Sets\n+ WAITFORCONDITIONSTATUS\n+ to one of the following values:\n+ \n \n- \n- This indicates the result of the call origination.\n- \n- \n- \n- \n- \n- \n- In practice, you should never see this value. Please report it to the issue tracker if you ever see it.\n+ \n+ Condition evaluated to true before timeout expired.\n+ Invalid argument.\n+ Timeout elapsed without condition evaluating to true.\n+ Channel hung up before condition became true.\n \n \n \n \n- \n- res_agi\n+ \n core\n \n- \n- Jump to label, saving return address.\n+ \n+ Start a while loop.\n \n- \n- \n- \n- \n- \n- \n+ \n \n \n- Jumps to the label specified, saving the return address.\n+ \n+ Start a While Loop. Execution will return to this point when\n+ EndWhile()\n+ is called until expr is no longer true.\n+ \n \n \n- GosubIf\n- Macro\n- Goto\n- Return\n- StackPop\n+ EndWhile\n+ ExitWhile\n+ ContinueWhile\n \n \n- \n- Conditionally jump to label, saving return address.\n- \n- \n- \n- \n- \n- Continue at\n- labeliftrue\n- if the condition is true.\n-\t\t\t\t\tTakes the form similar to Goto() of [[context,]extension,]priority.\n- \n- \n- \n- \n- \n- \n- Continue at\n- labeliffalse\n- if the condition is false.\n-\t\t\t\t\tTakes the form similar to Goto() of [[context,]extension,]priority.\n- \n- \n- \n- \n- \n- \n+ \n+ End a while loop.\n+ \n \n- If the condition is true, then jump to labeliftrue. If false, jumps to\n-\t\t\tlabeliffalse, if specified. In either case, a jump saves the return point\n-\t\t\tin the dialplan, to be returned to with a Return.\n+ \n+ Return to the previous called\n+ While()\n+ .\n+ \n \n \n- Gosub\n- Return\n- MacroIf\n- IF\n- GotoIf\n- Goto\n+ While\n+ ExitWhile\n+ ContinueWhile\n \n \n- \n- Return from gosub routine.\n- \n- \n- Return value.\n- \n- \n+ \n+ End a While loop.\n+ \n \n \n- Jumps to the last label on the stack, removing it. The return\n- value\n- , if\n-\t\t\tany, is saved in the channel variable\n- GOSUB_RETVAL\n- .\n+ Exits a\n+ While()\n+ loop, whether or not the conditional has been satisfied.\n \n \n \n- Gosub\n- StackPop\n+ While\n+ EndWhile\n+ ContinueWhile\n \n \n- \n- Remove one address from gosub stack.\n+ \n+ Restart a While loop.\n \n \n- Removes last label on the stack, discarding it.\n+ Returns to the top of the while loop and re-evaluates the conditional.\n \n \n- Return\n- Gosub\n+ While\n+ EndWhile\n+ ExitWhile\n \n \n- \n- Manage variables local to the gosub stack frame.\n+ \n+ core\n+ \n+ \n+ Generates a CEL User Defined Event.\n \n- \n+ \n+ \n+ \n+ Extra text to be included with the event.\n+ \n+ \n \n \n- Read and write a variable local to the gosub stack frame, once we Return() it will be lost\n-\t\t\t(or it will go back to whatever value it had before the Gosub()).\n+ A CEL event will be immediately generated by this channel, with the supplied name for a type.\n \n- \n- Gosub\n- GosubIf\n- Return\n- \n- \n- \n- Retrieve variables hidden by the local gosub stack frame.\n+ \n+ \n+ core\n+ \n+ \n+ Generates a 1004 Hz test tone at 0dbm (mu-law).\n \n- \n- \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n+ Generates a 1004 Hz test tone.\n \n- Read a variable\n- varname\n- hidden by\n- n\n- levels of gosub stack frames. Note that ${LOCAL_PEEK(0,foo)}\n-\t\t\tis the same as\n- foo\n- , since the value of\n- n\n- peeks under 0 levels of stack frames; in other words, 0 is the current level. If\n- n\n- exceeds the available number of stack frames, then an empty\n-\t\t\tstring is returned.\n+ By default, this application does not provide a Milliwatt test tone. It simply\n+\t\t\tplays a 1004 Hz tone, which is not suitable for performing a milliwatt test.\n+\t\t\tThe\n+ m\n+ option should be used so that a real Milliwatt test tone\n+\t\t\tis provided. This will include a 1 second silent interval every 10 seconds.\n+ \n+ \n+ Previous versions of this application generated a constant tone at 1000 Hz. If for\n+\t\t\tsome reason you would prefer that behavior, supply the\n+ o\n+ option to get the\n+\t\t\told behavior.\n \n \n- \n- Gosub\n- GosubIf\n- Return\n- \n- \n- \n- View info about the location which called Gosub\n+ \n+ \n+ core\n+ \n+ \n+ Directed extension call pickup.\n \n- \n- \n- \n+ \n+ \n+ Specification of the pickup target.\n+ \n+ \n+ \n+ \n+ Additional specifications of pickup targets.\n+ \n+ \n+ \n+ \n \n \n+ This application can pickup a specified ringing channel. The channel\n+\t\t\tto pickup can be specified in the following ways.\n \n- Read the calling\n- c\n- ontext,\n- e\n- xtension,\n- p\n- riority, or\n- l\n- abel, as specified by\n- which\n- , by going up\n- n\n- frames\n-\t\t\tin the Gosub stack. If\n- suppress\n- is true, then if the\n-\t\t\tnumber of available stack frames is exceeded, then no error message will be\n-\t\t\tprinted.\n+ 1) If no\n+ extension\n+ targets are specified,\n+\t\t\tthe application will pickup a channel matching the pickup group of the\n+\t\t\trequesting channel.\n \n- \n- \n- \n- Cause the channel to execute the specified dialplan subroutine.\n- \n- \n- \n- \n- \n- \n- \n- Cause the channel to execute the specified dialplan subroutine,\n-\t\t\treturning to the dialplan with execution of a Return().\n- \n- \n- GoSub\n- \n- \n- \n- \n- Raised when a variable local to the gosub stack frame is set due to a subroutine call.\n- \n- \n- \n- The LOCAL variable being set.\n- \n- \n- The variable name will always be enclosed with\n- LOCAL()\n- \n- \n- \n- \n- The new value of the variable.\n- \n- \n- \n- GoSub\n- gosub\n- LOCAL\n- LOCAL_PEEK\n- \n- \n- \n- \n- extended\n- \n- \n- Execute Interface Test Server.\n- \n- \n \n- Perform test server function and write call report. Results stored in\n- /var/log/asterisk/testreports/<testid>-server.txt\n+ 2) If the\n+ extension\n+ is specified with a\n+ context\n+ of the special string\n+ PICKUPMARK\n+ (for example 10@PICKUPMARK), the application\n+\t\t\twill pickup a channel which has defined the channel variable\n+ PICKUPMARK\n+ with the same value as\n+ extension\n+ (in this example,\n+ 10\n+ ).\n+ \n+ \n+ 3) If the\n+ extension\n+ is specified\n+\t\t\twith or without a\n+ context\n+ , the channel with a\n+\t\t\tmatching\n+ extension\n+ and\n+ context\n+ will be picked up. If no\n+ context\n+ is specified,\n+\t\t\tthe current context will be used.\n \n+ \n+ \n+ The\n+ extension\n+ is typically set on\n+\t\t\tmatching channels by the dial application that created the channel. The\n+ context\n+ is set on matching channels by the\n+\t\t\tchannel driver for the device.\n+ \n+ \n \n- \n- TestClient\n- \n \n- \n- Execute Interface Test Client.\n+ \n+ Pickup a ringing channel.\n \n- \n- An ID to identify this test.\n+ \n+ \n+ \n+ \n+ List of channel names or channel uniqueids to pickup if ringing.\n+\t\t\t\t\tFor example, a channel name could be\n+ SIP/bob\n+ or\n+ SIP/bob-00000000\n+ to find\n+ SIP/bob-00000000\n+ .\n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n \n- Executes test client with given\n- testid\n- . Results stored in\n- /var/log/asterisk/testreports/<testid>-client.txt\n+ Pickup a specified\n+ channel\n+ if ringing.\n \n \n- \n- TestServer\n- \n \n \n extended\n \n \n Check channel availability\n \n@@ -13699,207 +12794,554 @@\n \n \n The cause code returned when requesting the channel\n \n \n \n \n- \n+ \n core\n \n- \n- Play a tone list.\n+ \n+ Background a file with talk detect.\n \n- \n+ \n+ \n \n- Arg is either the tone name defined in the\n- indications.conf\n- configuration file, or a directly specified list of frequencies and durations.\n+ If not specified, defaults to\n+ 1000\n+ .\n+ \n+ \n+ \n+ \n+ If not specified, defaults to\n+ 100\n+ .\n+ \n+ \n+ \n+ \n+ If not specified, defaults to\n+ infinity\n+ .\n+ \n+ \n+ \n+ \n+ If not specified, defaults to\n+ infinity\n+ .\n \n \n \n \n- Plays a tone list. Execution will continue with the next step in the dialplan\n-\t\t\timmediately while the tones continue to play.\n \n- See the sample\n- indications.conf\n- for a description of the\n-\t\t\tspecification of a tonelist.\n+ Plays back\n+ filename\n+ , waiting for interruption from a given digit (the digit\n+\t\t\tmust start the beginning of a valid extension, or it will be ignored). During\n+\t\t\tthe playback of the file, audio is monitored in the receive direction, and if\n+\t\t\ta period of non-silence which is greater than\n+ min\n+ ms yet less than\n+ max\n+ ms is followed by silence for at least\n+ sil\n+ ms,\n+\t\t\twhich occurs during the first\n+ analysistime\n+ ms, then the audio playback is\n+\t\t\taborted and processing jumps to the\n+ talk\n+ extension, if available.\n \n \n- \n- StopPlayTones\n- \n- \n- \n- Stop playing a tone list.\n- \n- \n- Stop playing a tone list, initiated by PlayTones().\n- \n- \n- PlayTones\n- \n \n- \n+ \n+ func_periodic_hook\n core\n \n- \n- Read a variable.\n+ \n+ Record a call and mix the audio during the recording. Use of StopMixMonitor is required\n+\t\t\tto guarantee the audio file is available for processing during dialplan execution.\n \n- \n- \n- The input digits will be stored in the given\n- variable\n- name.\n- \n- \n- \n+ \n \n- file(s) to play before reading digits or tone with option i\n+ \n+ If\n+ filename\n+ is an absolute path, uses that path, otherwise\n+\t\t\t\t\tcreates the file in the configured monitoring directory from\n+ asterisk.conf.\n+ \n \n- \n- \n- \n- \n- Maximum acceptable number of digits. Stops reading after\n- maxdigits\n- have been entered (without\n-\t\t\t\trequiring the user to press the\n- #\n- key).\n- \n- \n- Defaults to\n- 0\n- - no limit - wait for the\n-\t\t\t\tuser press the\n- #\n- key. Any value below\n- 0\n- means the same. Max accepted value is\n- 255\n- .\n- \n+ \n \n \n \n- \n- \n+ \n+ \n- \n+ \n+ \n \n+ \n+ \n+ \n+ \n+ \n \n \n- \n+ \n+ Will be executed when the recording is over.\n \n- If greater than\n- 1\n- , that many\n- attempts\n- will be made in the\n-\t\t\t\tevent no data is entered.\n+ Any strings matching\n+ ^{X}\n+ will be unescaped to\n+ X\n+ .\n \n+ All variables will be evaluated at the time MixMonitor is called.\n+ \n+ \n+ Do not use untrusted strings such as\n+ CALLERID(num)\n+ or\n+ CALLERID(name)\n+ as part of the command parameters. You\n+\t\t\t\trisk a command injection attack executing arbitrary commands if the untrusted\n+\t\t\t\tstrings aren't filtered to remove dangerous characters. See function\n+ FILTER()\n+ .\n+ \n+ \n \n- \n+ \n+ \n+ Records the audio on the current channel to the specified file.\n+ This application does not automatically answer and should be preceeded by\n+\t\t\tan application such as Answer or Progress().\n+ \n+ MixMonitor runs as an audiohook.\n+ \n+ \n \n- The number of seconds to wait for a digit response. If greater\n-\t\t\t\tthan\n- 0\n- , that value will override the default timeout.\n-\t\t\t\tCan be floating point.\n+ If a filename passed to MixMonitor ends with\n+ .wav49\n+ , Asterisk will silently convert the extension to\n+ .WAV\n+ for legacy reasons.\n+ MIXMONITOR_FILENAME\n+ will contain the actual filename that Asterisk is writing to, not necessarily the\n+\t\t\tvalue that was passed in.\n+ \n+ \n+ \n+ \n+ Will contain the filename used to record.\n+ \n+ \n+ \n+ \n+ Do not use untrusted strings such as\n+ CALLERID(num)\n+ or\n+ CALLERID(name)\n+ as part of ANY of the application's\n+\t\t\tparameters. You risk a command injection attack executing arbitrary commands\n+\t\t\tif the untrusted strings aren't filtered to remove dangerous characters. See\n+\t\t\tfunction\n+ FILTER()\n+ .\n \n+ \n+ \n+ \n+ Monitor\n+ StopMixMonitor\n+ PauseMonitor\n+ UnpauseMonitor\n+ AUDIOHOOK_INHERIT\n+ \n+ \n+ \n+ Stop recording a call through MixMonitor, and free the recording's file handle.\n+ \n+ \n+ If a valid ID is provided, then this command will stop only that specific\n+\t\t\t\tMixMonitor.\n \n \n \n \n- Reads a #-terminated string of digits a certain number of times from the\n-\t\t\tuser in to the given\n- variable\n- .\n+ Stops the audio recording that was started with a call to\n+ MixMonitor()\n+ on the current channel.\n \n- This application sets the following channel variable upon completion:\n- \n- \n- This is the status of the read operation.\n- \n- \n- \n- \n- \n- \n- \n- \n \n \n- SendDTMF\n+ MixMonitor\n \n \n- \n- extended\n- \n- \n- Provide support for receiving alarm reports from a burglar or fire alarm panel.\n- \n+ \n+ Mute / unMute a Mixmonitor recording.\n+ \n+ \n+ \n+ Used to specify the channel to mute.\n+ \n+ \n+ Which part of the recording to mute: read, write or both (from channel, to channel or both channels).\n+ \n+ \n+ Turn mute on or off : 1 to turn on, 0 to turn off.\n+ \n+ \n+ \n+ This action may be used to mute a MixMonitor recording.\n+ \n+ \n+ \n+ Record a call and mix the audio during the recording. Use of StopMixMonitor is required\n+\t\t\tto guarantee the audio file is available for processing during dialplan execution.\n+ \n+ \n+ \n+ Used to specify the channel to record.\n+ \n+ \n+ Is the name of the file created in the monitor spool directory.\n+\t\t\t\tDefaults to the same name as the channel (with slashes replaced with dashes).\n+\t\t\t\tThis argument is optional if you specify to record unidirectional audio with\n+\t\t\t\teither the r(filename) or t(filename) options in the options field. If\n+\t\t\t\tneither MIXMONITOR_FILENAME or this parameter is set, the mixed stream won't\n+\t\t\t\tbe recorded.\n+ \n+ \n+ Options that apply to the MixMonitor in the same way as they\n+\t\t\t\twould apply if invoked from the MixMonitor application. For a list of\n+\t\t\t\tavailable options, see the documentation for the mixmonitor application.\n+ \n+ \n+ \n+ Will be executed when the recording is over.\n+\t\t\t\tAny strings matching\n+ ^{X}\n+ will be unescaped to\n+ X\n+ .\n+\t\t\t\tAll variables will be evaluated at the time MixMonitor is called.\n+ \n+ \n+ \n+ Do not use untrusted strings such as\n+ CALLERID(num)\n+ or\n+ CALLERID(name)\n+ as part of the command parameters. You\n+\t\t\t\trisk a command injection attack executing arbitrary commands if the untrusted\n+\t\t\t\tstrings aren't filtered to remove dangerous characters. See function\n+ FILTER()\n+ .\n+ \n+ \n+ \n+ \n+ \n+ This action records the audio on the current channel to the specified file.\n+ \n+ \n+ Will contain the filename used to record the mixed stream.\n+ \n+ \n+ \n+ \n+ \n+ Stop recording a call through MixMonitor, and free the recording's file handle.\n+ \n+ \n+ \n+ The name of the channel monitored.\n+ \n+ \n+ If a valid ID is provided, then this command will stop only that specific\n+\t\t\t\tMixMonitor.\n+ \n+ \n \n \n- This application should be called whenever there is an alarm panel calling in to dump its events.\n-\t\t\tThe application will handshake with the alarm panel, and receive events, validate them, handshake them,\n-\t\t\tand store them until the panel hangs up. Once the panel hangs up, the application will run the system\n-\t\t\tcommand specified by the eventcmd setting in\n- alarmreceiver.conf\n- and pipe the\n-\t\t\tevents to the standard input of the application.\n-\t\t\tThe configuration file also contains settings for DTMF timing, and for the loudness of the\n-\t\t\tacknowledgement tones.\n+ This action stops the audio recording that was started with the\n+ MixMonitor\n+ action on the current channel.\n \n- \n- Few Ademco DTMF signalling formats are detected automatically: Contact ID, Express 4+1,\n-\t\t\tExpress 4+2, High Speed and Super Fast.\n- \n- The application is affected by the following variables:\n+ \n+ \n+ \n+ Retrieve data pertaining to specific instances of MixMonitor on a channel.\n+ \n+ \n+ \n+ The unique ID of the MixMonitor instance. The unique ID can be retrieved through the channel\n+\t\t\t\tvariable used as an argument to the\n+ i\n+ option to MixMonitor.\n+ \n+ \n+ \n+ The piece of data to retrieve from the MixMonitor.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when monitoring has started on a channel.\n+ \n+ \n+ \n+ \n+ MixMonitorStop\n+ MixMonitor\n+ MixMonitor\n+ \n+ \n+ \n+ \n+ \n+ Raised when monitoring has stopped on a channel.\n+ \n+ \n+ \n+ \n+ MixMonitorStart\n+ StopMixMonitor\n+ StopMixMonitor\n+ \n+ \n+ \n+ \n+ \n+ Raised when monitoring is muted or unmuted on a channel.\n+ \n+ \n+ \n+ Which part of the recording was muted or unmuted: read, write or both\n+\t\t\t\t(from channel, to channel or both directions).\n+ \n+ \n+ If the monitoring was muted or unmuted: 1 when muted, 0 when unmuted.\n+ \n+ \n+ \n+ MixMonitorMute\n+ \n+ \n+ \n+ \n+ spandsp\n+ res_fax\n+ no\n+ deprecated\n+ res_fax\n+ 16\n+ 19\n+ \n+ \n+ Send a Fax\n+ \n+ \n+ Filename of TIFF file to fax\n+ \n+ \n+ Makes the application behave as the answering machine\n+ (Default behavior is as calling machine)\n+ \n+ \n+ \n+ Send a given TIFF file to the channel as a FAX.\n+ This application sets the following channel variables:\n \n- \n- Maximum call time, in milliseconds.\n- If set, this variable causes application to exit after the specified time.\n+ \n+ To identify itself to the remote end\n \n- \n- Maximum number of retries per call.\n- If set, this variable causes application to exit after the specified number of messages.\n+ \n+ To generate a header line on each page\n+ \n+ \n+ \n+ \n+ \n+ \n+ Cause of failure\n+ \n+ \n+ The CSID of the remote side\n+ \n+ \n+ Number of pages sent\n+ \n+ \n+ Transmission rate\n+ \n+ \n+ Resolution of sent fax\n+ \n+ \n+ \n+ \n+ \n+ Receive a Fax\n+ \n+ \n+ Filename of TIFF file save incoming fax\n+ \n+ \n+ Makes the application behave as the calling machine\n+ (Default behavior is as answering machine)\n+ \n+ \n+ \n+ Receives a FAX from the channel into the given filename\n+\t\t\toverwriting the file if it already exists.\n+ File created will be in TIFF format.\n+ This application sets the following channel variables:\n+ \n+ \n+ To identify itself to the remote end\n+ \n+ \n+ To generate a header line on each page\n+ \n+ \n+ \n+ \n+ \n+ \n+ Cause of failure\n+ \n+ \n+ The CSID of the remote side\n+ \n+ \n+ Number of pages sent\n+ \n+ \n+ Transmission rate\n+ \n+ \n+ Resolution of sent fax\n \n \n \n- \n- alarmreceiver.conf\n- \n \n \n core\n \n \n Provide directory of voicemail extensions.\n \n@@ -14028,14 +13470,446 @@\n User selected a user to call from the directory\n User exited with '#' during selection\n The application failed\n \n \n \n \n+ \n+ core\n+ \n+ \n+ Login an agent.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Login an agent to the system. Any agent authentication is assumed to\n+\t\t\talready be done by dialplan. While logged in, the agent can receive calls\n+\t\t\tand will hear the sound file specified by the config option custom_beep\n+\t\t\twhen a new call comes in for the agent. Login failures will continue in\n+\t\t\tthe dialplan with\n+ AGENT_STATUS\n+ set.\n+ \n+ Before logging in, you can setup on the real agent channel the\n+\t\t\tCHANNEL(dtmf_features) an agent will have when talking to a caller\n+\t\t\tand you can setup on the channel running this application the\n+\t\t\tCONNECTEDLINE() information the agent will see while waiting for a\n+\t\t\tcaller.\n+ \n+ AGENT_STATUS\n+ enumeration values:\n+ \n+ \n+ \n+ The specified agent is invalid.\n+ \n+ \n+ The agent is already logged in.\n+ \n+ \n+ \n+ \n+ The Agent:\n+ AgentId\n+ device state is\n+\t\t\tavailable to monitor the status of the agent.\n+ \n+ \n+ \n+ \n+ Authenticate\n+ Queue\n+ AddQueueMember\n+ RemoveQueueMember\n+ PauseQueueMember\n+ UnpauseQueueMember\n+ AGENT\n+ CHANNEL\n+ CONNECTEDLINE\n+ agents.conf\n+ queues.conf\n+ \n+ \n+ \n+ Request an agent to connect with the channel.\n+ \n+ \n+ \n+ \n+ \n+ Request an agent to connect with the channel. Failure to find,\n+\t\t\talert the agent, or acknowledge the call will continue in the dialplan\n+\t\t\twith\n+ AGENT_STATUS\n+ set.\n+ \n+ \n+ AGENT_STATUS\n+ enumeration values:\n+ \n+ \n+ \n+ The specified agent is invalid.\n+ \n+ \n+ The agent is not available.\n+ \n+ \n+ The agent is on another call.\n+ \n+ \n+ The agent did not connect with the\n+\t\t\t\tcall. The agent most likely did not acknowledge the call.\n+ \n+ \n+ Alerting the agent failed.\n+ \n+ \n+ \n+ \n+ AgentLogin\n+ \n+ \n+ \n+ Gets information about an Agent\n+ \n+ \n+ \n+ The valid items to retrieve are:\n+ \n+ \n+ (default) The status of the agent (LOGGEDIN | LOGGEDOUT)\n+ \n+ \n+ Deprecated. The dialplan handles any agent authentication.\n+ \n+ \n+ The name of the agent\n+ \n+ \n+ MusicOnHold class\n+ \n+ \n+ The name of the active channel for the Agent (AgentLogin)\n+ \n+ \n+ The untruncated name of the active channel for the Agent (AgentLogin)\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Lists agents and their status.\n+ \n+ \n+ \n+ \n+ Will list info about all defined agents.\n+ \n+ \n+ Agents\n+ AgentsComplete\n+ \n+ \n+ \n+ \n+ Response event in a series to the Agents AMI action containing\n+\t\t\t\tinformation about a defined agent.\n+ \n+ \n+ Agent ID of the agent.\n+ \n+ \n+ User friendly name of the agent.\n+ \n+ \n+ Current status of the agent.\n+ The valid values are:\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ BRIDGEPEER\n+ value on agent channel.\n+ \n+ \n+ Present if Status value is\n+ AGENT_ONCALL\n+ .\n+ \n+ \n+ \n+ Epoche time when the agent started talking with the caller.\n+ \n+ Present if Status value is\n+ AGENT_ONCALL\n+ .\n+ \n+ \n+ \n+ Epoche time when the agent logged in.\n+ \n+ Present if Status value is\n+ AGENT_IDLE\n+ or\n+ AGENT_ONCALL\n+ .\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ The channel snapshot is present if the Status value is\n+ AGENT_IDLE\n+ or\n+ AGENT_ONCALL\n+ .\n+ \n+ \n+ \n+ Agents\n+ \n+ \n+ \n+ \n+ \n+ Final response event in a series of events to the Agents AMI action.\n+ \n+ \n+ \n+ \n+ Agents\n+ \n+ \n+ \n+ \n+ Sets an agent as no longer logged in.\n+ \n+ \n+ \n+ Agent ID of the agent to log off.\n+ \n+ \n+ \n+ Set to\n+ true\n+ to not hangup existing calls.\n+ \n+ \n+ \n+ \n+ Sets an agent as no longer logged in.\n+ \n+ \n+ \n+ Agent pool applications\n+ \n+ \n+ Option changes take effect on agent login or after an agent\n+\t\t\tdisconnects from a call.\n+ \n+ \n+ \n+ \n+ Unused, but reserved.\n+ \n+ \n+ Configure an agent for the pool.\n+ \n+ \n+ \n+ \n+ Enable to require the agent to acknowledge a call.\n+ \n+ Enable to require the agent to give a DTMF acknowledgement\n+\t\t\t\t\t\twhen the agent receives a call.\n+ \n+ \n+ The option is overridden by\n+ AGENTACKCALL\n+ on agent login.\n+ \n+ \n+ \n+ \n+ \n+ \n+ DTMF key sequence the agent uses to acknowledge a call.\n+ \n+ \n+ \n+ The option is overridden by\n+ AGENTACCEPTDTMF\n+ on agent login.\n+ \n+ \n+ \n+ The option is ignored unless the ackcall option is enabled.\n+ \n+ \n+ \n+ \n+ \n+ Time the agent has to acknowledge a call before being logged off.\n+ \n+ Set how many seconds a call for the agent has to wait for the\n+\t\t\t\t\t\tagent to acknowledge the call before the agent is automatically\n+\t\t\t\t\t\tlogged off. If set to zero then the call will wait forever for\n+\t\t\t\t\t\tthe agent to acknowledge.\n+ \n+ \n+ The option is overridden by\n+ AGENTAUTOLOGOFF\n+ on agent login.\n+ \n+ \n+ \n+ The option is ignored unless the ackcall option is enabled.\n+ \n+ \n+ \n+ \n+ \n+ Minimum time the agent has between calls.\n+ \n+ Set the minimum amount of time in milliseconds after\n+\t\t\t\t\t\tdisconnecting a call before the agent can receive a new call.\n+ \n+ \n+ The option is overridden by\n+ AGENTWRAPUPTIME\n+ on agent login.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Music on hold class the agent listens to between calls.\n+ \n+ \n+ \n+ \n+ \n+ Enable to automatically record calls the agent takes.\n+ \n+ \n+ Enable recording calls the agent takes automatically by\n+\t\t\t\t\t\tinvoking the automixmon DTMF feature when the agent connects\n+\t\t\t\t\t\tto a caller. See\n+ features.conf.sample\n+ for information about\n+\t\t\t\t\t\tthe automixmon feature.\n+ \n+ \n+ \n+ \n+ \n+ Sound file played to alert the agent when a call is present.\n+ \n+ \n+ \n+ \n+ \n+ A friendly name for the agent used in log messages.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ Transfer caller to remote extension.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Requests the remote caller be transferred\n+\t\t\tto a given destination. If TECH (SIP, IAX2, etc) is used, only\n+\t\t\tan incoming call with the same channel technology will be transferred.\n+\t\t\tNote that for SIP, if you transfer before call is setup, a 302 redirect\n+\t\t\tSIP message will be returned to the caller.\n+ \n+ The result of the application will be reported in the\n+ TRANSFERSTATUS\n+ channel variable:\n+ \n+ \n+ \n+ Transfer succeeded.\n+ Transfer failed.\n+ Transfer unsupported by channel driver.\n+ \n+ \n+ No error.\n+ SIP example - Error result code.\n+ \n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ Echo media, DTMF back to the calling party\n+ \n+ \n+ Echos back any media or DTMF frames read from the calling\n+\t\t\tchannel back to itself. This will not echo CONTROL, MODEM, or NULL\n+\t\t\tframes. Note: If '#' detected application exits.\n+ This application does not automatically answer and should be\n+\t\t\tpreceeded by an application such as Answer() or Progress().\n+ \n+ \n+ \n+ deprecated\n+ 16\n+ 19\n+ \n+ \n+ Encode and stream using 'ices'.\n+ \n+ \n+ ICES configuration file.\n+ \n+ \n+ \n+ Streams to an icecast server using ices (available separately).\n+\t\t\tA configuration file must be supplied for ices (see contrib/asterisk-ices.xml).\n+ \n+ ICES version 2 client and server required.\n+ \n+ \n+ \n \n core\n \n \n Find-Me/Follow-Me application.\n \n \n@@ -14113,1310 +13987,1432 @@\n followme.conf\n , execution will be returned\n \t\t\tto the dialplan and call execution will continue at the next priority.\n \n Returns -1 on hangup.\n \n \n- \n- core\n- \n- \n- Hangs up the requested channel.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Hangs up the requested channel. If there are no channels to\n-\t\t\thangup, the application will report it.\n- \n- \n- \n- bridge_holding\n- core\n+ \n+ extended\n \n- \n- Put a call into the holding bridge.\n+ \n+ Communicates with SMS service centres and SMS capable analogue phones.\n \n- \n+ \n \n- Name of the holding bridge to join. This is a handle for\n- BridgeWait\n- only and does not affect the actual bridges that are created. If not provided,\n-\t\t\t\tthe reserved name\n- default\n- will be used.\n+ The name of the queue used in\n+ /var/spool/asterisk/sms\n \n \n- \n- Defines the channel's purpose for entering the holding bridge. Values are case sensitive.\n- \n- \n- The channel will enter the holding bridge to be placed on hold\n-\t\t\t\t\t\tuntil it is removed from the bridge for some reason. (default)\n- \n- \n- The channel will enter the holding bridge to make announcements\n-\t\t\t\t\t\tto channels that are currently in the holding bridge. While an\n-\t\t\t\t\t\tannouncer is present, holding for the participants will be\n-\t\t\t\t\t\tsuspended.\n- \n- \n- \n \n \n- \n \n+ \n+ \n \n \n- This application places the incoming channel into a holding bridge.\n-\t\t\tThe channel will then wait in the holding bridge until some event occurs\n-\t\t\twhich removes it from the holding bridge.\n+ SMS handles exchange of SMS data with a call to/from SMS capable phone or SMS PSTN service center.\n+\t\t\tCan send and/or receive SMS messages. Works to ETSI ES 201 912; compatible with BT SMS PSTN service in\n+\t\t\tUK and Telecom Italia in Italy.\n+ \n+ Typical usage is to use to handle calls from the SMS service centre CLI, or to set up a call using\n+ outgoing\n+ or manager interface to connect service centre to SMS().\n+ \n+ "Messages are processed as per text file message queues. smsq (a separate software) is a command to\n+\t\t\tgenerate message queues and send messages.\n \n- This application will answer calls which haven't already\n-\t\t\tbeen answered.\n+ The protocol has tight delay bounds. Please use short frames and disable/keep short the\n+\t\t\tjitter buffer on the ATA to make sure that respones (ACK etc.) are received in time.\n \n \n \n- \n+ \n+ deprecated\n+ 16\n+ 19\n+ \n+ \n+ Play an NBS local stream.\n+ \n+ \n+ Executes nbscat to listen to the local NBS stream.\n+\t\t\tUser can exit by pressing any key.\n+ \n+ \n+ \n core\n \n- \n- Play a file.\n+ \n+ Require phone number to be entered, if no CallerID sent\n \n- \n- \n- \n+ \n+ \n+ Total tries caller is allowed to input a callerid. Defaults to\n+ 3\n+ .\n+ \n+ \n+ \n+ \n+ Minimum allowable digits in the input callerid number. Defaults to\n+ 10\n+ .\n+ \n \n \n- Comma separated list of options\n- \n- \n- \n- \n- \n- \n+ Position reserved for options.\n+ \n+ \n+ Context to check the given callerid against patterns.\n \n \n \n- Plays back given filenames (do not put extension of wav/alaw etc).\n-\t\t\tThe Playback application answers the channel if no options are specified.\n-\t\t\tIf the file is non-existent it will fail.\n- This application sets the following channel variable upon completion:\n+ \n+ If no Caller*ID is sent, PrivacyManager answers the channel and asks\n+\t\t\tthe caller to enter their phone number. The caller is given\n+ maxretries\n+ attempts to do so. The application does\n+ nothing\n+ if Caller*ID was received on the channel.\n+ \n+ The application sets the following channel variable upon completion:\n \n- \n- The status of the playback attempt as a text string.\n+ \n+ The status of the privacy manager's attempt to collect a phone number from the user.\n \n \n \n \n- See Also: Background (application) -- for playing sound files that are interruptible\n- WaitExten (application) -- wait for digits from caller, optionally play music on hold\n \n \n- Background\n- WaitExten\n- ControlPlayback\n- stream file\n- control stream file\n- ControlPlayback\n+ Zapateller\n \n \n- \n+ \n+ res_agi\n core\n \n- \n- Echo media, up to 'N' streams of a type, and DTMF back to the calling party\n+ \n+ Jump to label, saving return address.\n \n- \n- The number of streams of a type to echo back. If '0' is specified then\n-\t\t\tall streams of a type are removed.\n- \n- \n- The media type of the stream(s) to add or remove (in the case of "num"\n-\t\t\tbeing '0'). This can be set to either "audio" or "video" (default). If "num"\n-\t\t\tis empty (i.e. not specified) then this parameter is ignored.\n+ \n+ \n+ \n+ \n+ \n \n \n \n- If a "num" (the number of streams) is not given then this simply echos\n-\t\t\tback any media or DTMF frames (note, however if '#' is detected then the\n-\t\t\tapplication exits) read from the calling channel back to itself. This means\n-\t\t\tfor any relevant frame read from a particular stream it is written back out\n-\t\t\tto the associated write stream in a one to one fashion.\n- However if a "num" is specified, and if the calling channel allows it\n-\t\t\t(a new offer is made requesting the allowance of additional streams) then any\n-\t\t\tany media received, like before, is echoed back onto each stream. However, in\n-\t\t\tthis case a relevant frame received on a stream of the given "type" is also\n-\t\t\techoed back out to the other streams of that same type. It should be noted that\n-\t\t\twhen operating in this mode only the first stream found of the given "type" is\n-\t\t\tallowed from the original offer. And this first stream found is also the only\n-\t\t\tstream of that "type" granted read (send/receive) capabilities in the new offer\n-\t\t\twhereas the additional ones are set to receive only.\n- \n- This does not echo CONTROL, MODEM, or NULL frames.\n- \n+ Jumps to the label specified, saving the return address.\n \n+ \n+ GosubIf\n+ Macro\n+ Goto\n+ Return\n+ StackPop\n+ \n \n- \n- core\n- \n- \n- Attempt to connect to another device or endpoint and bridge the call.\n- \n- \n- \n+ \n+ Conditionally jump to label, saving return address.\n+ \n+ \n+ \n+ \n \n- Specification of the device(s) to dial. These must be in the format of\n- Technology/Resource\n- , where\n- Technology\n- represents a particular channel driver, and\n- Resource\n- represents a resource available to that particular channel driver.\n+ Continue at\n+ labeliftrue\n+ if the condition is true.\n+\t\t\t\t\tTakes the form similar to Goto() of [[context,]extension,]priority.\n \n+ \n+ \n \n- \n- Optional extra devices to dial in parallel\n- If you need more than one enter them as\n-\t\t\t\t\tTechnology2/Resource2&Technology3/Resource3&.....\n+ \n+ \n+ Continue at\n+ labeliffalse\n+ if the condition is false.\n+\t\t\t\t\tTakes the form similar to Goto() of [[context,]extension,]priority.\n+ \n+ \n+ \n \n- \n \n- \n- Specifies the number of seconds we attempt to dial the specified devices.\n- If not specified, this defaults to 136 years.\n+ \n+ \n+ If the condition is true, then jump to labeliftrue. If false, jumps to\n+\t\t\tlabeliffalse, if specified. In either case, a jump saves the return point\n+\t\t\tin the dialplan, to be returned to with a Return.\n+ \n+ \n+ Gosub\n+ Return\n+ MacroIf\n+ IF\n+ GotoIf\n+ Goto\n+ \n+ \n+ \n+ Return from gosub routine.\n+ \n+ \n+ Return value.\n \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ Jumps to the last label on the stack, removing it. The return\n+ value\n+ , if\n+\t\t\tany, is saved in the channel variable\n+ GOSUB_RETVAL\n+ .\n+ \n+ \n+ \n+ Gosub\n+ StackPop\n+ \n+ \n+ \n+ Remove one address from gosub stack.\n+ \n+ \n+ Removes last label on the stack, discarding it.\n+ \n+ \n+ Return\n+ Gosub\n+ \n+ \n+ \n+ Manage variables local to the gosub stack frame.\n+ \n+ \n+ \n+ \n+ Read and write a variable local to the gosub stack frame, once we Return() it will be lost\n+\t\t\t(or it will go back to whatever value it had before the Gosub()).\n+ \n+ \n+ Gosub\n+ GosubIf\n+ Return\n+ \n+ \n+ \n+ Retrieve variables hidden by the local gosub stack frame.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Read a variable\n+ varname\n+ hidden by\n+ n\n+ levels of gosub stack frames. Note that ${LOCAL_PEEK(0,foo)}\n+\t\t\tis the same as\n+ foo\n+ , since the value of\n+ n\n+ peeks under 0 levels of stack frames; in other words, 0 is the current level. If\n+ n\n+ exceeds the available number of stack frames, then an empty\n+\t\t\tstring is returned.\n+ \n+ \n+ \n+ Gosub\n+ GosubIf\n+ Return\n+ \n+ \n+ \n+ View info about the location which called Gosub\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Read the calling\n+ c\n+ ontext,\n+ e\n+ xtension,\n+ p\n+ riority, or\n+ l\n+ abel, as specified by\n+ which\n+ , by going up\n+ n\n+ frames\n+\t\t\tin the Gosub stack. If\n+ suppress\n+ is true, then if the\n+\t\t\tnumber of available stack frames is exceeded, then no error message will be\n+\t\t\tprinted.\n+ \n+ \n+ \n+ \n+ Cause the channel to execute the specified dialplan subroutine.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Cause the channel to execute the specified dialplan subroutine,\n+\t\t\treturning to the dialplan with execution of a Return().\n+ \n+ \n+ GoSub\n+ \n+ \n+ \n+ \n+ Raised when a variable local to the gosub stack frame is set due to a subroutine call.\n+ \n+ \n+ \n+ The LOCAL variable being set.\n+ \n \n- If\n- x\n- is not provided, force the CallerID sent on a call-forward or\n-\t\t\t\t\tdeflection to the dialplan extension of this\n- Dial()\n- using a dialplan\n- hint\n- .\n-\t\t\t\t\tFor example, some PSTNs do not allow CallerID to be set to anything\n-\t\t\t\t\tother than the numbers assigned to you.\n-\t\t\t\t\tIf\n- x\n- is provided, force the CallerID sent to\n- x\n- .\n+ The variable name will always be enclosed with\n+ LOCAL()\n \n- \n- \n+ \n+ \n+ The new value of the variable.\n+ \n+ \n+ \n+ GoSub\n+ gosub\n+ LOCAL\n+ LOCAL_PEEK\n+ \n+ \n+ \n+ \n+ extended\n+ \n+ \n+ Virtual Dictation Machine.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Start dictation machine using optional\n+ base_dir\n+ for files.\n+ \n+ \n+ \n+ \n+ extended\n+ \n+ \n+ Wait for Ring Application.\n+ \n+ \n+ \n+ \n+ \n+ Returns\n+ 0\n+ after waiting at least\n+ timeout\n+ seconds,\n+\t\t\tand only after the next ring has completed. Returns\n+ 0\n+ on success or\n+ -1\n+ on hangup.\n+ \n+ \n+ \n+ \n+ extended\n+ \n+ \n+ Blind transfer channel(s) to the extension and context provided\n+ \n+ \n+ Specify extension.\n+ \n+ \n+ Optionally specify a context.\n+\t\t\t\tBy default, Asterisk will use the caller channel context.\n+ \n+ \n+ \n+ Redirect all channels currently bridged to the caller channel to the\n+\t\t\tspecified destination.\n+ \n+ The result of the application will be reported in the\n+ BLINDTRANSFERSTATUS\n+ channel variable:\n+ \n+ \n+ \n+ Transfer succeeded.\n+ Transfer failed.\n+ Transfer invalid.\n+ Transfer not permitted.\n+ \n+ \n+ \n+ \n+ \n+ extended\n+ \n+ \n+ Receive Mini-Voicemail and forward via e-mail.\n+ \n+ \n+ \n+ Voicemail username\n+ \n+ \n+ Voicemail domain\n+ \n+ \n+ \n+ \n+ \n- \n \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ \n+ \n+ This application is part of the Mini-Voicemail system, configured in\n+ minivm.conf\n+ \n+ MiniVM records audio file in configured format and forwards message to e-mail and pager.\n+ If there's no user account for that address, a temporary account will be used with default options.\n+ \n+ The recorded file name and path will be stored in\n+ MVM_FILENAME\n+ and the duration\n+\t\tof the message will be stored in\n+ MVM_DURATION\n+ \n+ \n+ \n+ If the caller hangs up after the recording, the only way to send the message and clean up is to\n+\t\texecute in the\n+ h\n+ extension. The application will exit if any of the following DTMF digits\n+\t\tare received and the requested extension exist in the current context.\n+ \n+ \n+ \n+ \n+ This is the status of the record operation\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Play Mini-Voicemail prompts.\n+ \n+ \n+ \n+ Voicemail username\n+ \n+ \n+ Voicemail domain\n+ \n+ \n+ \n+ \n+ \n- \n- \n+ \n+ \n+ \n+ This application is part of the Mini-Voicemail system, configured in minivm.conf.\n+ MinivmGreet() plays default prompts or user specific prompts for an account.\n+ Busy and unavailable messages can be choosen, but will be overridden if a temporary\n+\t\tmessage exists for the account.\n+ \n+ \n+ This is the status of the greeting playback.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Notify voicemail owner about new messages.\n+ \n+ \n+ \n+ Voicemail username\n+ \n+ \n+ Voicemail domain\n+ \n+ \n+ \n+ \n+ \n- \n+ \n+ \n+ \n+ This application is part of the Mini-Voicemail system, configured in minivm.conf.\n+ \n+ MiniVMnotify forwards messages about new voicemail to e-mail and pager. If there's no user\n+\t\taccount for that address, a temporary account will be used with default options (set in\n+ minivm.conf\n+ ).\n+ \n+ \n+ If the channel variable\n+ MVM_COUNTER\n+ is set, this will be used in the message\n+\t\tfile name and available in the template for the message.\n+ \n+ If no template is given, the default email template will be used to send email and default pager\n+\t\ttemplate to send paging message (if the user account is configured with a paging address.\n+ \n+ \n+ This is the status of the notification attempt\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Delete Mini-Voicemail voicemail messages.\n+ \n+ \n+ File to delete\n+ \n+ \n+ \n+ \n+ This application is part of the Mini-Voicemail system, configured in\n+ minivm.conf\n+ .\n+ \n+ It deletes voicemail file set in MVM_FILENAME or given filename.\n+ \n+ \n+ This is the status of the delete operation.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Record account specific messages.\n+ \n+ \n+ \n+ Voicemail username\n+ \n+ \n+ Voicemail domain\n+ \n+ \n+ \n+ \n+ \n- \n+ \n+ \n+ \n+ \n+ This application is part of the Mini-Voicemail system, configured in\n+ minivm.conf\n+ .\n+ \n+ Use this application to record account specific audio/video messages for busy, unavailable\n+\t\tand temporary messages.\n+ Account specific directories will be created if they do not exist.\n+ \n+ \n+ This is the result of the attempt to record the specified greeting.\n+ \n+ FAILED\n+ is set if the file can't be created.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Send Message Waiting Notification to subscriber(s) of mailbox.\n+ \n+ \n+ \n+ Voicemail username\n+ \n+ \n+ Voicemail domain\n+ \n+ \n+ \n+ Number of urgent messages in mailbox.\n+ \n+ \n+ Number of new messages in mailbox.\n+ \n+ \n+ Number of old messages in mailbox.\n+ \n+ \n+ \n+ \n+ This application is part of the Mini-Voicemail system, configured in\n+ minivm.conf\n+ .\n+ \n+ MinivmMWI is used to send message waiting indication to any devices whose channels have\n+\t\tsubscribed to the mailbox passed in the first parameter.\n+ \n+ \n+ \n+ Reads or sets counters for MiniVoicemail message.\n+ \n+ \n+ If account is given and it exists, the counter is specific for the account.\n+ If account is a domain and the domain directory exists, counters are specific for a domain.\n+ \n+ \n+ The name of the counter is a string, up to 10 characters.\n+ \n+ \n+ The counters never goes below zero. Valid operands for changing the value of a counter when assigning a value are:\n+ \n+ \n+ Increment by value.\n+ \n+ \n+ Decrement by value.\n+ \n+ \n+ Set to value.\n+ \n+ \n+ \n+ \n+ \n+ The operation is atomic and the counter is locked while changing the value. The counters are stored as text files in the minivm account directories. It might be better to use realtime functions if you are using a database to operate your Asterisk.\n+ \n+ \n+ MinivmRecord\n+ MinivmGreet\n+ MinivmNotify\n+ MinivmDelete\n+ MinivmAccMess\n+ MinivmMWI\n+ MINIVMACCOUNT\n+ \n+ \n+ \n+ Gets MiniVoicemail account information.\n+ \n+ \n+ \n+ Valid items are:\n+ \n+ \n+ Path to account mailbox (if account exists, otherwise temporary mailbox).\n+ \n+ \n+ 1 is static Minivm account exists, 0 otherwise.\n+ \n+ \n+ Full name of account owner.\n+ \n+ \n+ Email address used for account.\n+ \n+ \n+ Email template for account (default template if none is configured).\n+ \n+ \n+ Pager template for account (default template if none is configured).\n+ \n+ \n+ Account code for the voicemail account.\n+ \n+ \n+ Pin code for voicemail account.\n+ \n+ \n+ Time zone for voicemail account.\n+ \n+ \n+ Language for voicemail account.\n+ \n+ \n+ Channel variable value (set in configuration for account).\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ MinivmRecord\n+ MinivmGreet\n+ MinivmNotify\n+ MinivmDelete\n+ MinivmAccMess\n+ MinivmMWI\n+ MINIVMCOUNTER\n+ \n+ \n+ \n+ \n+ Raised when a notification is sent out by a MiniVoiceMail application\n+ \n+ \n+ \n+ \n+ What action was taken. Currently, this will always be\n+ SentNotification\n+ \n+ \n+ \n+ \n+ The mailbox that the notification was about, specified as\n+ mailbox\n+ @\n+ context\n+ \n+ \n+ \n+ \n+ A message counter derived from the\n+ MVM_COUNTER\n+ channel variable.\n+ \n+ \n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ Authenticate a user\n+ \n+ \n+ Password the user should know\n+ \n+ \n+ \n+ \n- \n- \n- \n- \n- \n- \n \n \n- \n- The optional URL will be sent to the called party if the channel driver supports it.\n+ \n+ \n+ maximum acceptable number of digits. Stops reading after\n+\t\t\t\tmaxdigits have been entered (without requiring the user to press the\n+ #\n+ key).\n+\t\t\t\tDefaults to 0 - no limit - wait for the user press the\n+ #\n+ key.\n+ \n+ \n+ \n+ Override the agent-pass prompt file.\n \n \n \n- This application will place calls to one or more specified channels. As soon\n-\t\t\tas one of the requested channels answers, the originating channel will be\n-\t\t\tanswered, if it has not already been answered. These two channels will then\n-\t\t\tbe active in a bridged call. All other channels that were requested will then\n-\t\t\tbe hung up.\n- Unless there is a timeout specified, the Dial application will wait\n-\t\t\tindefinitely until one of the called channels answers, the user hangs up, or\n-\t\t\tif all of the called channels are busy or unavailable. Dialplan execution will\n-\t\t\tcontinue if no requested channels can be called, or if the timeout expires.\n-\t\t\tThis application will report normal termination if the originating channel\n-\t\t\thangs up, or if the call is bridged and either of the parties in the bridge\n-\t\t\tends the call.\n+ This application asks the caller to enter a given password in order to continue dialplan execution.\n \n- If the\n- OUTBOUND_GROUP\n- variable is set, all peer channels created by this\n-\t\t\tapplication will be put into that group (as in\n- Set(GROUP()=...\n- ).\n-\t\t\tIf the\n- OUTBOUND_GROUP_ONCE\n- variable is set, all peer channels created by this\n-\t\t\tapplication will be put into that group (as in\n- Set(GROUP()=...\n- ). Unlike\n- OUTBOUND_GROUP\n- ,\n-\t\t\thowever, the variable will be unset after use.\n+ If the password begins with the\n+ /\n+ character,\n+\t\t\tit is interpreted as a file which contains a list of valid passwords, listed 1 password per line in the file.\n \n- same => n,Dial(PJSIP/alice,30)\n- same => n,Dial(PJSIP/alice&PJIP/bob,45)\n- same => n,Dial(PJSIP/alice,,g)\n-\t\t\t same => n,Log(NOTICE, Alice call result: ${DIALSTATUS})\n- same => n,Dial(PJSIP/alice,,TX)\n- same => n,Dial(PJSIP/alice,,L(60000:30000:10000))\n- same => n,Dial(PJSIP/alice&PJSIP/bob,,Q(NO_ANSWER))\n- [default]\n-\t\t\texten => callee_channel,1,NoOp(ARG1=${ARG1} ARG2=${ARG2})\n-\t\t\t same => n,Log(NOTICE, I'm called on channel ${CHANNEL} prior to it starting the dial attempt)\n-\t\t\t same => n,Return()\n-\t\t\texten => called_channel,1,NoOp(ARG1=${ARG1} ARG2=${ARG2})\n-\t\t\t same => n,Log(NOTICE, I'm called on outbound channel ${CHANNEL} prior to it being used to dial someone)\n-\t\t\t same => n,Return()\n-\t\t\texten => _X.,1,NoOp()\n-\t\t\t same => n,Dial(PJSIP/alice,,b(default^called_channel^1(my_gosub_arg1^my_gosub_arg2))B(default^callee_channel^1(my_gosub_arg1^my_gosub_arg2)))\n-\t\t\t same => n,Hangup()\n- [my_gosub_routine]\n-\t\t\texten => s,1,NoOp(ARG1=${ARG1} ARG2=${ARG2})\n-\t\t\t same => n,Playback(hello)\n-\t\t\t same => n,Return()\n-\t\t\t[default]\n-\t\t\texten => _X.,1,NoOp()\n-\t\t\t same => n,Dial(PJSIP/alice,,U(my_gosub_routine^my_gosub_arg1^my_gosub_arg2))\n-\t\t\t same => n,Hangup()\n- same => n,Dial(PJSIP/alice,,G(jump_to_here))\n-\t\t\t same => n(jump_to_here),Goto(confbridge)\n-\t\t\t same => n,Goto(confbridge)\n-\t\t\t same => n(confbridge),ConfBridge(${EXTEN})\n- This application sets the following channel variables:\n+ When using a database key, the value associated with the key can be anything.\n+ Users have three attempts to authenticate before the channel is hung up.\n+ \n+ \n+ VMAuthenticate\n+ DISA\n+ \n+ \n+ \n+ osptk\n+ openssl\n+ extended\n+ 19\n+ 21\n+ \n+ \n+ OSP Authentication.\n+ \n+ \n+ The name of the provider that authenticates the call.\n+ \n+ \n+ Reserverd.\n+ \n+ \n+ \n+ Authenticate a call by OSP.\n+ Input variables:\n \n- \n- This is the time from dialing a channel until when it is disconnected.\n+ \n+ The last hop IP address.\n \n- \n- This is the milliseconds version of the DIALEDTIME variable.\n+ \n+ The inbound OSP token.\n \n- \n- This is the amount of time for actual call.\n+ \n+ Output variables:\n+ \n+ \n+ The inbound call OSP transaction handle.\n \n- \n- This is the milliseconds version of the ANSWEREDTIME variable.\n+ \n+ The inbound call duration limit in seconds.\n \n- \n- This is the time from creating the channel to the first RINGING event received. Empty if there was no ring.\n+ \n+ This application sets the following channel variable upon completion:\n+ \n+ \n+ The status of OSPAuth attempt as a text string, one of\n+ \n+ \n+ \n \n- \n- This is the milliseconds version of the RINGTIME variable.\n+ \n+ \n+ \n+ OSPLookup\n+ OSPNext\n+ OSPFinish\n+ \n+ \n+ \n+ Lookup destination by OSP.\n+ \n+ \n+ The exten of the call.\n+ \n+ \n+ The name of the provider that is used to route the call.\n+ \n+ \n+ \n+ \n+ generate H323 call id for the outbound call\n+ \n+ \n+ generate SIP call id for the outbound call. Have not been implemented\n+ \n+ \n+ generate IAX call id for the outbound call. Have not been implemented\n+ \n+ \n+ \n+ \n+ \n+ Looks up destination via OSP.\n+ Input variables:\n+ \n+ \n+ The actual source device IP address in indirect mode.\n \n- \n- This is the time from creating the channel to the first PROGRESS event received. Empty if there was no such event.\n+ \n+ The last hop IP address.\n \n- \n- This is the milliseconds version of the PROGRESSTIME variable.\n+ \n+ The inbound channel technology for the call.\n \n- \n- The name of the outbound channel that answered the call.\n+ \n+ The inbound call OSP transaction handle.\n \n- \n- The number that was dialed for the answered outbound channel.\n+ \n+ The inbound call duration limit in seconds.\n \n- \n- If a call forward occurred, the name of the forwarded channel.\n+ \n+ The inbound source network ID.\n \n- \n- This is the status of the call\n- Either the dialed peer exists but is not currently reachable, e.g.\n-\t\t\t\t\t\tendpoint is not registered, or an attempt was made to call a\n-\t\t\t\t\t\tnonexistent location, e.g. nonexistent DNS hostname.\n- Channel or switching congestion occured when routing the call.\n-\t\t\t\t\t\tThis can occur if there is a slow or no response from the remote end.\n- Called party did not answer.\n- The called party was busy or indicated a busy status.\n-\t\t\t\t\t\tNote that some SIP devices will respond with 486 Busy if their Do Not Disturb\n-\t\t\t\t\t\tmodes are active. In this case, you can use DEVICE_STATUS to check if the\n-\t\t\t\t\t\tendpoint is actually in use, if needed.\n- The call was answered.\n-\t\t\t\t\t\tAny other result implicitly indicates the call was not answered.\n- Dial was cancelled before call was answered or reached some other terminating event.\n- For the Privacy and Screening Modes.\n-\t\t\t\t\t\tWill be set if the called party chooses to send the calling party to the 'Go Away' script.\n- For the Privacy and Screening Modes.\n-\t\t\t\t\t\tWill be set if the called party chooses to send the calling party to the 'torture' script.\n- Dial failed due to invalid syntax.\n+ \n+ The inbound routing number.\n+ \n+ \n+ The inbound carrier identification code.\n+ \n+ \n+ The inbound number portability database dip indicator.\n+ \n+ \n+ The inbound service provider identity.\n+ \n+ \n+ The inbound operator company number.\n+ \n+ \n+ The inbound service provider name.\n+ \n+ \n+ The inbound alternate service provider name.\n+ \n+ \n+ The inbound mobile country code.\n+ \n+ \n+ The inbound mobile network code.\n+ \n+ \n+ The inbound To header host part.\n+ \n+ \n+ The inbound Remote-Party-ID header user part.\n+ \n+ \n+ The inbound P-Asserted-Identify header user part.\n+ \n+ \n+ The inbound Diversion header user part.\n+ \n+ \n+ The inbound Diversion header host part.\n+ \n+ \n+ The inbound P-Charge-Info header user part.\n+ \n+ \n+ \n+ The inbound custom information, where\n+ n\n+ is the index beginning with\n+ 1\n+ upto\n+ 8\n+ .\n+ \n+ \n+ \n+ Output variables:\n+ \n+ \n+ The outbound call OSP transaction handle.\n+ \n+ \n+ The outbound channel technology for the call.\n+ \n+ \n+ The outbound destination IP address.\n+ \n+ \n+ The outbound calling number.\n+ \n+ \n+ The outbound called number.\n+ \n+ \n+ The outbound destination network ID.\n+ \n+ \n+ The outbound routing number.\n+ \n+ \n+ The outbound carrier identification code.\n+ \n+ \n+ The outbound number portability database dip indicator.\n+ \n+ \n+ The outbound service provider identity.\n+ \n+ \n+ The outbound operator company number.\n+ \n+ \n+ The outbound service provider name.\n+ \n+ \n+ The outbound alternate service provider name.\n+ \n+ \n+ The outbound mobile country code.\n+ \n+ \n+ The outbound mobile network code.\n+ \n+ \n+ The outbound OSP token.\n+ \n+ \n+ The number of remained destinations.\n+ \n+ \n+ The outbound call duration limit in seconds.\n+ \n+ \n+ The outbound Call-ID types.\n+ \n+ \n+ The outbound Call-ID. Only for H.323.\n+ \n+ \n+ The outbound Dial command string.\n+ \n+ \n+ This application sets the following channel variable upon completion:\n+ \n+ \n+ The status of OSPLookup attempt as a text string, one of\n+ \n+ \n+ \n \n \n \n \n- RetryDial\n- SendDTMF\n- Gosub\n- Macro\n+ OSPAuth\n+ OSPNext\n+ OSPFinish\n \n \n- \n- Place a call, retrying on failure allowing an optional exit extension.\n+ \n+ Lookup next destination by OSP.\n+ \n+ Looks up the next destination via OSP.\n+ Input variables:\n+ \n+ \n+ The inbound call OSP transaction handle.\n+ \n+ \n+ The outbound call OSP transaction handle.\n+ \n+ \n+ The inbound call duration limit in seconds.\n+ \n+ \n+ The outbound Call-ID types.\n+ \n+ \n+ The number of remained destinations.\n+ \n+ \n+ Output variables:\n+ \n+ \n+ The outbound channel technology.\n+ \n+ \n+ The destination IP address.\n+ \n+ \n+ The outbound calling number.\n+ \n+ \n+ The outbound called number.\n+ \n+ \n+ The outbound destination network ID.\n+ \n+ \n+ The outbound routing number.\n+ \n+ \n+ The outbound carrier identification code.\n+ \n+ \n+ The outbound number portability database dip indicator.\n+ \n+ \n+ The outbound service provider identity.\n+ \n+ \n+ The outbound operator company number.\n+ \n+ \n+ The outbound service provider name.\n+ \n+ \n+ The outbound alternate service provider name.\n+ \n+ \n+ The outbound mobile country code.\n+ \n+ \n+ The outbound mobile network code.\n+ \n+ \n+ The outbound OSP token.\n+ \n+ \n+ The number of remained destinations.\n+ \n+ \n+ The outbound call duration limit in seconds.\n+ \n+ \n+ The outbound Call-ID. Only for H.323.\n+ \n+ \n+ The outbound Dial command string.\n+ \n+ \n+ This application sets the following channel variable upon completion:\n+ \n+ \n+ The status of the OSPNext attempt as a text string, one of\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ OSPAuth\n+ OSPLookup\n+ OSPFinish\n+ \n+ \n+ \n+ Report OSP entry.\n \n- \n- Filename of sound that will be played when no channel can be reached\n- \n- \n- Number of seconds to wait after a dial attempt failed before a new attempt is made\n- \n- \n- Number of retries\n- When this is reached flow will continue at the next priority in the dialplan\n+ \n+ Hangup cause.\n \n- \n- Same format as arguments provided to the Dial application\n+ \n+ Reserved.\n \n \n \n- \n- This application will attempt to place a call using the normal Dial application.\n-\t\t\tIf no channel can be reached, the\n- announce\n- file will be played.\n-\t\t\tThen, it will wait\n- sleep\n- number of seconds before retrying the call.\n-\t\t\tAfter\n- retries\n- number of attempts, the calling channel will continue at the next priority in the dialplan.\n-\t\t\tIf the\n- retries\n- setting is set to 0, this application will retry endlessly.\n-\t\t\tWhile waiting to retry a call, a 1 digit extension may be dialed. If that\n-\t\t\textension exists in either the context defined in\n- EXITCONTEXT\n- or the current\n-\t\t\tone, The call will jump to that extension immediately.\n-\t\t\tThe\n- dialargs\n- are specified in the same format that arguments are provided\n-\t\t\tto the Dial application.\n- \n+ Report call state.\n+ Input variables:\n+ \n+ \n+ The inbound call OSP transaction handle.\n+ \n+ \n+ The outbound call OSP transaction handle.\n+ \n+ \n+ The OSPAuth status.\n+ \n+ \n+ The OSPLookup status.\n+ \n+ \n+ The OSPNext status.\n+ \n+ \n+ The inbound call leg audio QoS string.\n+ \n+ \n+ The outbound call leg audio QoS string.\n+ \n+ \n+ This application sets the following channel variable upon completion:\n+ \n+ \n+ The status of the OSPFinish attempt as a text string, one of\n+ \n+ \n+ \n+ \n+ \n \n \n- Dial\n+ OSPAuth\n+ OSPLookup\n+ OSPNext\n \n \n- \n- core\n+ \n+ res_adsi\n+ deprecated\n \n- \n- Background a file with talk detect.\n+ \n+ Load Asterisk ADSI Scripts into phone\n \n- \n- \n- \n- If not specified, defaults to\n- 1000\n- .\n- \n- \n- \n- \n- If not specified, defaults to\n- 100\n- .\n- \n- \n- \n- \n- If not specified, defaults to\n- infinity\n- .\n- \n- \n- \n+ \n \n- If not specified, defaults to\n- infinity\n- .\n+ adsi script to use. If not given uses the default script\n+ asterisk.adsi\n \n \n \n \n- \n- Plays back\n- filename\n- , waiting for interruption from a given digit (the digit\n-\t\t\tmust start the beginning of a valid extension, or it will be ignored). During\n-\t\t\tthe playback of the file, audio is monitored in the receive direction, and if\n-\t\t\ta period of non-silence which is greater than\n- min\n- ms yet less than\n- max\n- ms is followed by silence for at least\n- sil\n- ms,\n-\t\t\twhich occurs during the first\n- analysistime\n- ms, then the audio playback is\n-\t\t\taborted and processing jumps to the\n- talk\n- extension, if available.\n- \n+ This application programs an ADSI Phone with the given script\n \n+ \n+ GetCPEID\n+ adsi.conf\n+ \n \n- \n- gsm\n- core\n- \n- \n- codec2\n- core\n- \n- \n- dahdi\n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n \n ilbc\n no\n core\n \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n \n amr_nb\n amr_wb_decoder\n amr_wb_encoder\n \n- \n+ \n+ gsm\n core\n \n- \n+ \n+ core\n+ \n+ \n+ dahdi\n core\n \n \n speex\n speex_preprocess\n speexdsp\n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n- speex\n- ogg\n- extended\n- \n- \n+ \n+ codec2\n core\n \n \n core\n \n \n core\n \n \n core\n \n- \n+ \n+ core\n+ \n+ \n core\n \n \n extended\n \n- \n+ \n core\n \n \n core\n \n- \n- vorbis\n- ogg\n+ \n core\n \n- \n+ \n+ core\n+ \n+ \n core\n \n \n core\n \n+ \n+ core\n+ \n+ \n+ speex\n+ ogg\n+ extended\n+ \n+ \n+ core\n+ \n \n core\n \n- \n+ \n+ vorbis\n+ ogg\n core\n \n- \n- sqlite3\n+ \n+ freetds\n extended\n \n \n radius\n extended\n \n- \n- extended\n- \n- \n- beanstalk\n- extended\n+ \n+ core\n \n \n core\n \n \n \n Raised when a CDR is generated.\n@@ -15566,54 +15562,55 @@\n \n syslog\n no\n deprecated\n 16\n 19\n \n- \n- core\n- \n- \n- res_odbc\n- generic_odbc\n+ \n extended\n \n- \n- freetds\n+ \n+ beanstalk\n extended\n \n \n res_odbc\n generic_odbc\n core\n \n- \n- beanstalk\n+ \n+ res_odbc\n+ generic_odbc\n extended\n \n- \n- radius\n+ \n+ sqlite3\n extended\n \n- \n- sqlite3\n+ \n+ beanstalk\n extended\n \n- \n- pgsql\n+ \n+ freetds\n extended\n \n \n res_odbc\n generic_odbc\n core\n \n- \n- core\n+ \n+ sqlite3\n+ extended\n+ \n+ \n+ pgsql\n+ extended\n \n \n core\n \n \n \n Raised when a Channel Event Log is generated for a channel.\n@@ -15771,786 +15768,1989 @@\n Some events will have event specific data that accompanies the CEL record.\n \t\t\t\t\t\tThis extra data is JSON encoded, and is dependent on the event in\n \t\t\t\t\t\tquestion.\n \n \n \n \n- \n- freetds\n+ \n+ radius\n extended\n \n- \n+ \n+ core\n+ \n+ \n core\n \n \n core\n \n \n res_monitor\n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n \n core\n \n- \n+ \n core\n \n- \n- Check if a value is NULL.\n+ \n+ \n+ 12.4.0\n+ \n+ Raises notifications when Asterisk detects silence or talking on a channel.\n \n- \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n+ The TALK_DETECT function enables events on the channel\n+\t\t\tit is applied to. These events can be emitted over AMI, ARI, and\n+\t\t\tpotentially other Asterisk modules that listen for the internal\n+\t\t\tnotification.\n \n- Returns\n- 1\n- if NULL or\n- 0\n- otherwise.\n+ The function has two parameters that can optionally be passed\n+\t\t\twhen\n+ set\n+ on a channel:\n+ dsp_talking_threshold\n+ and\n+ dsp_silence_threshold\n+ .\n+ \n+ \n+ dsp_talking_threshold\n+ is the time in milliseconds of sound\n+\t\t\tabove what the dsp has established as base line silence for a user\n+\t\t\tbefore a user is considered to be talking. By default, the value of\n+ silencethreshold\n+ from\n+ dsp.conf\n+ is used. If this value is set too tight events may be\n+\t\t\tfalsely triggered by variants in room noise.\n+ \n+ Valid values are 1 through 2^31.\n+ \n+ dsp_silence_threshold\n+ is the time in milliseconds of sound\n+\t\t\tfalling within what the dsp has established as baseline silence before\n+\t\t\ta user is considered be silent. If this value is set too low events\n+\t\t\tindicating the user has stopped talking may get falsely sent out when\n+\t\t\tthe user briefly pauses during mid sentence.\n \n+ The best way to approach this option is to set it slightly above\n+\t\t\tthe maximum amount of ms of silence a user may generate during\n+\t\t\tnatural speech.\n+ By default this value is 2500ms. Valid values are 1\n+\t\t\tthrough 2^31.\n+ same => n,Set(TALK_DETECT(set)=)\n+ same => n,Set(TALK_DETECT(set)=1200)\n+ same => n,Set(TALK_DETECT(remove)=)\n+ same => n,Set(TALK_DETECT(set)=,128)\n+ This function will set the following variables:\n+ \n+ The TALK_DETECT function uses an audiohook to inspect the\n+\t\t\t\tvoice media frames on a channel. Other functions, such as JITTERBUFFER,\n+\t\t\t\tDENOISE, and AGC use a similar mechanism. Audiohooks are processed\n+\t\t\t\tin the order in which they are placed on the channel. As such,\n+\t\t\t\tit typically makes sense to place functions that modify the voice\n+\t\t\t\tmedia data prior to placing the TALK_DETECT function, as this will\n+\t\t\t\tyield better results.\n+ \n+ same => n,Set(DENOISE(rx)=on) ; Denoise received audio\n+\t\t\tsame => n,Set(TALK_DETECT(set)=) ; Perform talk detection on the denoised received audio\n \n \n- \n- SET assigns a value to a channel variable.\n- \n- \n- \n- \n- \n- \n- \n- Test the existence of a value.\n+ \n+ core\n+ \n+ \n+ Add a Jitterbuffer to the Read side of the channel. This dejitters the audio stream before it reaches the Asterisk core. This is a write only function.\n \n- \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n- Returns\n- 1\n- if exists,\n- 0\n- otherwise.\n+ Jitterbuffers are constructed in two different ways.\n+\t\t\tThe first always take four arguments:\n+ max_size\n+ ,\n+ resync_threshold\n+ ,\n+ target_extra\n+ ,\n+\t\t\tand\n+ sync_video\n+ .\n+\t\t\tAlternatively, a single argument of\n+ default\n+ can be provided,\n+\t\t\twhich will construct the default jitterbuffer for the given\n+ jitterbuffer type\n+ .\n+ \n+ The arguments are:\n+ \n+ max_size\n+ : Length in milliseconds of the buffer.\n+\t\t\tDefaults to 200 ms.\n+ \n+ \n+ resync_threshold\n+ : The length in milliseconds over\n+\t\t\twhich a timestamp difference will result in resyncing the jitterbuffer.\n+\t\t\tDefaults to 1000ms.\n \n+ target_extra: This option only affects the adaptive jitterbuffer. It represents\n+\t\t\tthe amount time in milliseconds by which the new jitter buffer will pad its size.\n+\t\t\tDefaults to 40ms.\n+ sync_video: This option enables video synchronization with the audio stream. It can be\n+\t\t\tturned on and off. Defaults to off.\n+ exten => 1,1,Set(JITTERBUFFER(fixed)=default)\n+ exten => 1,1,Set(JITTERBUFFER(fixed)=200)\n+ exten => 1,1,Set(JITTERBUFFER(fixed)=200,,,yes)\n+ exten => 1,1,Set(JITTERBUFFER(fixed)=200,1500)\n+ exten => 1,1,Set(JITTERBUFFER(adaptive)=default)\n+ exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,60)\n+ exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,,yes)\n+ exten => 1,1,Set(JITTERBUFFER(fixed)=default)\n+\t\t\texten => 1,n,Set(JITTERBUFFER(disabled)=)\n+ \n+ If a channel specifies a jitterbuffer due to channel driver configuration and\n+\t\t\tthe JITTERBUFFER function has set a jitterbuffer for that channel, the jitterbuffer set by\n+\t\t\tthe JITTERBUFFER function will take priority and the jitterbuffer set by the channel\n+\t\t\tconfiguration will not be applied.\n+ \n \n \n- \n- Check for an expression.\n- \n- \n- \n- \n- \n- \n+ \n+ res_odbc\n+ generic_odbc\n+ core\n+ \n+ \n+ Fetch a row from a multirow query.\n+ \n+ \n \n \n \n- Returns the data following\n- ?\n- if true, else the data following\n- :\n+ For queries which are marked as mode=multirow, the original\n+\t\t\tquery returns a\n+ result-id\n+ from which results\n+\t\t\tmay be fetched. This function implements the actual fetch of the results.\n+ \n+ \n+ This also sets\n+ ODBC_FETCH_STATUS\n+ .\n \n+ \n+ \n+ If rows are available.\n+ If no rows are available.\n+ \n+ \n \n \n- \n- Temporal Conditional.\n- \n- \n- \n- \n- \n- \n+ \n+ Clear the resultset of a sucessful multirow query.\n+ \n+ \n+ \n+ \n+ For queries which are marked as mode=multirow, this will clear\n+\t\t\tany remaining rows of the specified resultset.\n+ \n+ \n+ \n+ Escapes single ticks for use in SQL statements.\n+ \n+ \n \n \n \n- Returns the data following\n- ?\n- if true, else the data following\n- :\n+ Used in SQL templates to escape data which may contain single ticks\n+ '\n+ which are otherwise used to delimit data.\n \n+ SELECT foo FROM bar WHERE baz='${SQL_ESC(${ARG1})}'\n \n \n- \n- Retrieve the value of a variable from another channel.\n+ \n+ Escapes backslashes for use in SQL statements.\n \n- \n- \n+ \n \n- \n+ \n+ \n+ Used in SQL templates to escape data which may contain backslashes\n+ \\\n+ which are otherwise used to escape data.\n+ \n+ SELECT foo FROM bar WHERE baz='${SQL_ESC(${SQL_ESC_BACKSLASHES(${ARG1})})}'\n+ \n \n- \n- pjproject\n- res_pjsip\n+ \n core\n \n- \n- Get information about a PJSIP endpoint\n+ \n+ Get or Set a presence state.\n \n- \n- The name of the endpoint to query.\n- \n- \n+ \n \n- The configuration option for the endpoint to query for.\n-\t\t\t\tSupported options are those fields on the\n- endpoint\n- object in\n- pjsip.conf\n- .\n+ The provider of the presence, such as\n+ CustomPresence\n \n- \n- \n- \n- \n- \n+ \n+ \n+ Which field of the presence state information is wanted.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n+ \n+ The PRESENCE_STATE function can be used to retrieve the presence from any\n+\t\t\tpresence provider. For example:\n+ NoOp(SIP/mypeer has presence ${PRESENCE_STATE(SIP/mypeer,value)})\n+ NoOp(Conference number 1234 has presence message ${PRESENCE_STATE(MeetMe:1234,message)})\n+ \n+ The PRESENCE_STATE function can also be used to set custom presence state from\n+\t\t\tthe dialplan. The\n+ CustomPresence:\n+ prefix must be used. For example:\n+ \n+ Set(PRESENCE_STATE(CustomPresence:lamp1)=away,temporary,Out to lunch)\n+ Set(PRESENCE_STATE(CustomPresence:lamp2)=dnd,,Trying to get work done)\n+ Set(PRESENCE_STATE(CustomPresence:lamp3)=xa,T24gdmFjYXRpb24=,,e)\n+ Set(BASE64_LAMP3_PRESENCE=${PRESENCE_STATE(CustomPresence:lamp3,subtype,e)})\n+ You can subscribe to the status of a custom presence state using a hint in\n+\t\t\tthe dialplan:\n+ exten => 1234,hint,,CustomPresence:lamp1\n+ The possible values for both uses of this function are:\n+ not_set | unavailable | available | away | xa | chat | dnd\n+ \n \n- \n- extended\n+ \n+ core\n \n- \n- \n- 16.21.0\n- 18.7.0\n- 19.0.0\n- \n- Returns the ampersand-delimited file names that would be played by the Say applications (e.g. SayAlpha, SayDigits).\n+ \n+ Returns system information specified by parameter.\n \n- \n- The value to be translated to filenames.\n- \n- \n- Say application type.\n+ \n \n- \n- Files played by SayAlpha(). Default if none is specified.\n+ \n+ System load average from past minute.\n \n- \n- Files played by SayDigits().\n+ \n+ Number of active calls currently in progress.\n \n- \n- Files played by SayMoney(). Currently supported for English and US dollars only.\n+ \n+ System uptime in hours.\n+ \n+ This parameter is dependant upon operating system.\n+ \n \n- \n- Files played by SayNumber(). Currently supported for English only.\n+ \n+ Total usable main memory size in KiB.\n+ \n+ This parameter is dependant upon operating system.\n+ \n \n- \n- Files played by SayOrdinal(). Currently supported for English only.\n+ \n+ Available memory size in KiB.\n+ \n+ This parameter is dependant upon operating system.\n+ \n \n- \n- Files played by SayPhonetic().\n+ \n+ Memory used by buffers in KiB.\n+ \n+ This parameter is dependant upon operating system.\n+ \n+ \n+ \n+ Total swap space still available in KiB.\n+ \n+ This parameter is dependant upon operating system.\n+ \n+ \n+ \n+ Free swap space still available in KiB.\n+ \n+ This parameter is dependant upon operating system.\n+ \n+ \n+ \n+ Number of current processes.\n+ \n+ This parameter is dependant upon operating system.\n+ \n \n \n \n \n \n- Returns the files that would be played by a Say application. These filenames could then be\n-\t\t\tpassed directly into Playback, BackGround, Read, Queue, or any application which supports\n-\t\t\tplayback of multiple ampersand-delimited files.\n- same => n,Read(response,${SAYFILES(123,number)})\n+ Returns information from a given parameter.\n \n- \n- SayAlpha\n- SayDigits\n- SayMoney\n- SayNumber\n- SayOrdinal\n- SayPhonetic\n- \n \n- \n+ \n core\n \n- \n- Manages a group of users for dialing.\n+ \n+ Count the voicemails in a specified mailbox or mailboxes.\n \n- \n- \n- The operation name, possible values are:\n- \n- add\n- - add a channel name or interface (write-only)\n- \n+ \n+ A mailbox or list of mailboxes\n+ \n+ \n \n- del\n- - remove a channel name or interface (write-only)\n+ If not specified, defaults to\n+ INBOX\n \n \n \n \n- Presents an interface meant to be used in concert with the Dial\n-\t\t\tapplication, by presenting a list of channels which should be dialled when\n-\t\t\treferenced.\n \n- When DIALGROUP is read from, the argument is interpreted as the particular\n- group\n- for which a dial should be attempted. When DIALGROUP is written to\n-\t\t\twith no arguments, the entire list is replaced with the argument specified.\n+ Count the number of voicemails in a specified mailbox, you could also specify\n+\t\t\tthe mailbox\n+ folder\n+ .\n \n- Functionality is similar to a queue, except that when no interfaces are\n-\t\t\tavailable, execution may continue in the dialplan. This is useful when\n-\t\t\tyou want certain people to be the first to answer any calls, with immediate\n-\t\t\tfallback to a queue when the front line people are busy or unavailable, but\n-\t\t\tyou still want front line people to log in and out of that group, just like\n-\t\t\ta queue.\n- exten => 1,1,Set(DIALGROUP(mygroup,add)=SIP/10)\n-\t\t\tsame => n,Set(DIALGROUP(mygroup,add)=SIP/20)\n-\t\t\tsame => n,Dial(${DIALGROUP(mygroup)})\n+ exten => s,1,Set(foo=${VMCOUNT(125@default)})\n+ An ampersand-separated list of mailboxes may be specified to count voicemails in\n+\t\t\tmultiple mailboxes. If a folder is specified, this will apply to all mailboxes specified.\n+ same => n,NoOp(${VMCOUNT(1234@default&1235@default&1236@default,INBOX)})\n \n \n- \n+ \n core\n \n- \n- Executes a command using the system shell and captures its output.\n+ \n+ Computes a SHA1 digest.\n \n- \n- The command that the shell should execute.\n- \n- \n- Do not use untrusted strings such as\n- CALLERID(num)\n- or\n- CALLERID(name)\n- as part of the command parameters. You\n-\t\t\t\trisk a command injection attack executing arbitrary commands if the untrusted\n-\t\t\t\tstrings aren't filtered to remove dangerous characters. See function\n- FILTER()\n- .\n- \n- \n+ \n+ Input string\n \n \n \n- Collects the output generated by a command executed by the system shell\n- exten => s,1,Set(foo=${SHELL(echo bar)})\n- \n- The command supplied to this function will be executed by the\n-\t\t\t\tsystem's shell, typically specified in the SHELL environment variable. There\n-\t\t\t\tare many different system shells available with somewhat different behaviors,\n-\t\t\t\tso the output generated by this function may vary between platforms.\n- \n- If\n- live_dangerously\n- in\n- asterisk.conf\n- is set to\n- no\n- , this function can only be executed from the\n-\t\t\t\tdialplan, and not directly from external protocols.\n- \n- \n+ Generate a SHA1 digest via the SHA1 algorythm.\n+ exten => s,1,Set(sha1hash=${SHA1(junky)})\n+ \n+ The example above sets the asterisk variable sha1hash to the string\n+ 60fa5675b9303eb62f99a9cd47f9f5837d18f9a0\n+ which is known as its hash\n+ \n \n \n- \n+ \n core\n \n- \n- Gets or sets the environment variable specified.\n- \n- \n- Environment variable name\n- \n- \n- \n- \n- Variables starting with\n- AST_\n- are reserved to the system and may not be set.\n+ \n+ Check if the callerid is on the blacklist.\n+ \n+ \n+ \n+ Uses astdb to check if the Caller*ID is in family\n+ blacklist\n+ .\n+\t\t\tReturns\n+ 1\n+ or\n+ 0\n+ .\n \n- Additionally, the following system variables are available as special built-in dialplan variables.\n-\t\t\tThese variables cannot be set or modified and are read-only.\n- \n- \n- Current unix style epoch\n- \n- \n- \n- value of the\n- systemname\n- option from\n- asterisk.conf\n- \n- \n- \n- \n- value of the\n- astcachedir\n- option from\n- asterisk.conf\n- \n- \n- \n- \n- value of the\n- astetcdir\n- option from\n- asterisk.conf\n- \n- \n- \n- \n- value of the\n- astmoddir\n- option from\n- asterisk.conf\n- \n- \n- \n- \n- value of the\n- astvarlib\n- option from\n- asterisk.conf\n- \n- \n- \n- \n- value of the\n- astdbdir\n- option from\n- asterisk.conf\n- \n- \n- \n- \n- value of the\n- astkeydir\n- option from\n- asterisk.conf\n- \n- \n- \n- \n- value of the\n- astdatadir\n- option from\n- asterisk.conf\n- \n- \n- \n- \n- value of the\n- astagidir\n- option from\n- asterisk.conf\n- \n- \n- \n- \n- value of the\n- astspooldir\n- option from\n- asterisk.conf\n- \n- \n- \n- \n- value of the\n- astrundir\n- option from\n- asterisk.conf\n- \n- \n- \n- \n- value of the\n- astlogdir\n- option from\n- asterisk.conf\n- \n- \n- \n- \n- value of the\n- astsbindir\n- option from\n- asterisk.conf\n- \n- \n- \n- \n- Global Entity ID set automatically, or from\n- asterisk.conf\n- \n- \n- \n \n+ \n+ DB\n+ \n \n- \n- Does a check on the specified file.\n+ \n+ iconv\n+ core\n+ \n+ \n+ Converts charsets of strings.\n \n- \n- Flag may be one of the following:\n- d - Checks if the file is a directory.\n- e - Checks if the file exists.\n- f - Checks if the file is a regular file.\n- m - Returns the file mode (in octal)\n- s - Returns the size (in bytes) of the file\n- A - Returns the epoch at which the file was last accessed.\n- C - Returns the epoch at which the inode was last changed.\n- M - Returns the epoch at which the file was last modified.\n+ \n+ Input charset\n \n- \n+ \n+ Output charset\n+ \n+ \n+ \n+ String to convert, from\n+ in-charset\n+ to\n+ out-charset\n+ \n+ \n+ \n+ \n+ \n+ Converts string from\n+ in-charset\n+ into\n+ out-charset\n+ .\n+\t\t\tFor available charsets, use\n+ iconv -l\n+ on your shell command line.\n+ \n+ \n+ Due to limitations within the API, ICONV will not currently work with\n+\t\t\tcharsets with embedded NULLs. If found, the string will terminate.\n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ RealTime Read/Write Functions.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Use\n+ delim1\n+ with\n+ delim2\n+ on\n+\t\t\t\tread and\n+ field\n+ without\n+ delim2\n+ on\n+\t\t\t\twrite\n+ \n+ \n+ If we are reading and\n+ delim1\n+ is not specified, defaults\n+\t\t\t\tto\n+ ,\n+ \n+ \n+ \n+ \n+ Parameter only used when reading, if not specified defaults to\n+ =\n+ \n+ \n+ \n+ \n+ \n+ This function will read or write values from/to a RealTime repository.\n+\t\t\tREALTIME(....) will read names/values from the repository, and\n+\t\t\tREALTIME(....)= will write a new value/field to the repository. On a\n+\t\t\tread, this function returns a delimited text string. The name/value\n+\t\t\tpairs are delimited by\n+ delim1\n+ , and the name and value are delimited\n+\t\t\tbetween each other with delim2.\n+\t\t\tIf there is no match, NULL will be returned by the function.\n+\t\t\tOn a write, this function will always return NULL.\n+ \n+ \n+ \n+ REALTIME_STORE\n+ REALTIME_DESTROY\n+ REALTIME_FIELD\n+ REALTIME_HASH\n+ \n+ \n+ \n+ RealTime Store Function.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ This function will insert a new set of values into the RealTime repository.\n+\t\t\tIf RT engine provides an unique ID of the stored record, REALTIME_STORE(...)=..\n+\t\t\tcreates channel variable named RTSTOREID, which contains value of unique ID.\n+\t\t\tCurrently, a maximum of 30 field/value pairs is supported.\n+ \n+ \n+ REALTIME\n+ REALTIME_DESTROY\n+ REALTIME_FIELD\n+ REALTIME_HASH\n+ \n+ \n+ \n+ RealTime Destroy Function.\n+ \n+ \n+ \n+ \n+ \n+ \n \n \n+ This function acts in the same way as REALTIME(....) does, except that\n+\t\t\tit destroys the matched record in the RT engine.\n \n \n If\n live_dangerously\n in\n asterisk.conf\n is set to\n no\n- , this function can only be executed from the\n-\t\t\t\tdialplan, and not directly from external protocols.\n+ , this function can only be read from the\n+\t\t\t\tdialplan, and not directly from external protocols. It can, however, be\n+\t\t\t\texecuted as a write operation (\n+ REALTIME_DESTROY(family, fieldmatch)=ignored\n+ )\n \n \n \n+ \n+ REALTIME\n+ REALTIME_STORE\n+ REALTIME_FIELD\n+ REALTIME_HASH\n+ \n \n- \n- Read or write text file.\n+ \n+ RealTime query function.\n \n- \n- \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ This function retrieves a single item,\n+ fieldname\n+ from the RT engine, where\n+ fieldmatch\n+ contains the value\n+ matchvalue\n+ . When written to, the REALTIME_FIELD() function\n+\t\t\tperforms identically to the REALTIME() function.\n+ \n+ \n+ \n+ REALTIME\n+ REALTIME_STORE\n+ REALTIME_DESTROY\n+ REALTIME_HASH\n+ \n+ \n+ \n+ RealTime query function.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ This function retrieves a single record from the RT engine, where\n+ fieldmatch\n+ contains the value\n+ matchvalue\n+ and formats the output suitably, such that\n+\t\t\tit can be assigned to the HASH() function. The HASH() function then provides\n+\t\t\ta suitable method for retrieving each field value of the record.\n+ \n+ \n+ \n+ REALTIME\n+ REALTIME_STORE\n+ REALTIME_DESTROY\n+ REALTIME_FIELD\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Sorts a list of key/vals into a list of keys, based upon the vals.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Takes a comma-separated list of keys and values, each separated by a colon, and returns a\n+\t\t\tcomma-separated list of the keys, sorted by their values. Values will be evaluated as\n+\t\t\tfloating-point numbers.\n+ \n+ \n+ \n+ Slices and dices strings, based upon a named delimiter.\n+ \n+ \n+ Variable you want cut\n+ \n+ \n \n- Maybe specified as any number. If negative,\n- offset\n- specifies the number\n-\t\t\t\tof bytes back from the end of the file.\n+ Delimiter, defaults to\n+ -\n \n \n- \n+ \n \n- If specified, will limit the length of the data read to that size. If negative,\n-\t\t\t\ttrims\n- length\n- bytes from the end of the file.\n+ Number of the field you want (1-based offset), may also be specified as a range (with\n+ -\n+ )\n+\t\t\t\tor group of ranges and fields (with\n+ &\n+ )\n \n \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ \n+ Cut out information from a string (\n+ varname\n+ ), based upon a named delimiter.\n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ Retrieve a variable from a configuration file.\n+ \n+ \n+ \n+ \n+ \n+ \n+ If there are multiple variables with the same name, you can specify\n+ 0\n+ for the first item (default),\n+ -1\n+ for the last\n+\t\t\t\titem, or any other number for that specific item.\n+ -1\n+ is useful\n+\t\t\t\twhen the variable is derived from a template and you want the effective value (the last\n+\t\t\t\toccurrence), not the value from the template (the first occurrence).\n+ \n \n- \n+ \n+ \n+ This function reads a variable from an Asterisk configuration file.\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Get a field from a sorcery object\n+ \n+ \n+ The name of the module owning the sorcery instance.\n+ \n+ \n+ The type of object to query.\n+ \n+ \n+ The id of the object to query.\n+ \n+ \n+ The name of the field.\n+ \n+ \n+ Fields that have multiple occurrences may be retrieved in two ways.\n+ \n+ \n+ \n+ Returns all matching fields concatenated\n+\t\t\t\t\tin a single string separated by\n+ separator\n+ which defaults to\n+ ,\n+ .\n+ \n+ \n+ \n+ \n+ Returns the nth occurrence of the field\n+\t\t\t\t\tas specified by\n+ occurrence_number\n+ which defaults to\n+ 1\n+ .\n+ \n+ \n+ \n \n- The\n- format\n- parameter may be\n-\t\t\t\tused to delimit the type of line terminators in line mode.\n+ The default is\n+ concat\n+ with separator\n+ ,\n+ .\n \n+ \n+ \n+ \n+ Specifies either the separator for\n+ concat\n+ or the occurrence number for\n+ single\n+ .\n+ \n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ Gets or sets a CDR variable.\n+ \n+ \n+ CDR field name:\n+ \n+ \n+ Caller ID.\n+ \n+ \n+ Last application arguments.\n+ \n+ \n+ The final state of the CDR.\n+ \n+ \n+ \n+ NO ANSWER\n+ \n+ \n+ \n+ \n+ NO ANSWER\n+ (NULL record)\n+ \n+ \n+ \n+ \n+ FAILED\n+ \n+ \n+ \n+ \n+ BUSY\n+ \n+ \n+ \n+ \n+ ANSWERED\n+ \n+ \n+ \n+ \n+ CONGESTION\n+ \n+ \n+ \n+ \n+ \n+ Source.\n+ \n+ \n+ Time the call started.\n+ \n+ \n+ R/W the Automatic Message Accounting (AMA) flags on the channel.\n+\t\t\t\t\t\tWhen read from a channel, the integer value will always be returned.\n+\t\t\t\t\t\tWhen written to a channel, both the string format or integer value\n+\t\t\t\t\t\tis accepted.\n+ \n+ \n+ \n+ OMIT\n+ \n+ \n+ \n+ \n+ BILLING\n+ \n+ \n+ \n+ \n+ DOCUMENTATION\n+ \n+ \n+ \n+ \n+ Accessing this setting is deprecated in CDR. Please use the CHANNEL function instead.\n+ \n+ \n+ \n+ Destination.\n+ \n+ \n+ Time the call was answered.\n+ \n+ \n+ The channel's account code.\n+ \n+ Accessing this setting is deprecated in CDR. Please use the CHANNEL function instead.\n+ \n+ \n+ \n+ Destination context.\n+ \n+ \n+ Time the call ended.\n+ \n+ \n+ The channel's unique id.\n+ \n+ \n+ Destination channel.\n+ \n+ \n+ Duration of the call.\n+ \n+ \n+ The channel's user specified field.\n+ \n+ \n+ Last application.\n+ \n+ \n+ Duration of the call once it was answered.\n+ \n+ \n+ Channel name.\n+ \n+ \n+ CDR sequence number.\n+ \n+ \n+ \n+ \n \n- \n- \n- \n \n \n \n \n- Read and write text file in character and line mode.\n- Examples:\n- Read mode (byte):\n- same => n,Set(foo=${FILE(/tmp/test.txt)})\n- same => n,Set(foo=${FILE(/tmp/test.txt,10)})\n- same => n,Set(foo=${FILE(/tmp/test.txt,10,10)})\n- Read mode (line):\n- same => n,Set(foo=${FILE(/tmp/test.txt,3,1,l)})\n- same => n,Set(foo=${FILE(/tmp/test.txt,3,2,l)})\n- same => n,Set(foo=${FILE(/tmp/test.txt,3,,l)})\n- same => n,Set(foo=${FILE(/tmp/test.txt,-3,,l)})\n- same => n,Set(foo=${FILE(/tmp/test.txt,3,1,l,d)})\n- Write mode (byte):\n- same => n,Set(FILE(/tmp/test.txt)=bar)\n- same => n,Set(FILE(/tmp/test.txt,,,a)=bar)\n- same => n,Set(FILE(/tmp/test.txt,0,1)=bar)\n- same => n,Set(FILE(/tmp/test.txt,20,10)=bar)\n- same => n,Set(FILE(/tmp/test.txt,20)=bar)\n- same => n,Set(FILE(/tmp/test.txt,4,0)=bar)\n- Write mode (line):\n- same => n,Set(FILE(/tmp/foo.txt,0,1,l)=bar)\n- same => n,Set(FILE(/tmp/foo.txt,-1,,l)=bar)\n- same => n,Set(FILE(/tmp/foo.txt,,,al)=bar)\n+ \n+ All of the CDR field names are read-only, except for\n+ accountcode\n+ ,\n+ userfield\n+ , and\n+ amaflags\n+ . You may, however, supply\n+\t\t\ta name not on the above list, and create your own variable, whose value can be changed\n+\t\t\twith this function, and this variable will be stored on the CDR.\n+ \n \n \n- If\n- live_dangerously\n- in\n- asterisk.conf\n- is set to\n- no\n- , this function can only be executed from the\n-\t\t\t\tdialplan, and not directly from external protocols.\n+ CDRs can only be modified before the bridge between two channels is\n+\t\t\ttorn down. For example, CDRs may not be modified after the\n+ Dial\n+ application has returned.\n \n \n+ exten => 1,1,Set(CDR(userfield)=test)\n \n- \n- FILE_COUNT_LINE\n- FILE_FORMAT\n- \n \n- \n- Obtains the number of lines of a text file.\n+ \n+ Set a property on a channel's CDR.\n \n- \n- \n- Format may be one of the following:\n+ \n+ The property to set on the CDR.\n+ \n+ \n+ Set this channel as the preferred Party A when\n+\t\t\t\t\t\tchannels are associated together.\n+ Write-Only\n+ \n+ \n+ Setting to 1 will disable CDRs for this channel.\n+\t\t\t\t\t\tSetting to 0 will enable CDRs for this channel.\n+ Write-Only\n+ \n+ \n+ \n+ \n+ \n+ This function sets a property on a channel's CDR. Properties\n+\t\t\talter the behavior of how the CDR operates for that channel.\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Set or get the TX or RX volume of a channel.\n+ \n+ \n+ \n+ Must be\n+ TX\n+ or\n+ RX\n+ .\n+ \n+ \n+ \n \n- \n- \n- \n \n- \n- If not specified, an attempt will be made to determine the newline format type.\n- \n \n \n \n \n- Returns the number of lines, or\n- -1\n- on error.\n+ The VOLUME function can be used to increase or decrease the\n+ tx\n+ or\n+ rx\n+ gain of any channel.\n \n- \n+ same => n,Set(VOLUME(TX)=3)\n+ same => n,Set(VOLUME(RX)=2)\n+ same => n,Set(VOLUME(TX,p)=3)\n+ same => n,Set(VOLUME(RX,p)=3)\n+ same => n,Set(VOLUME(RX)=-4)\n+ same => n,Set(VOLUME(RX)=0)\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Gets or sets timeouts on the channel. Timeout values are in seconds.\n+ \n+ \n \n- If\n- live_dangerously\n- in\n- asterisk.conf\n- is set to\n- no\n- , this function can only be executed from the\n-\t\t\t\tdialplan, and not directly from external protocols.\n+ The timeout that will be manipulated. The possible timeout types\n+\t\t\t\tare:\n+ absolute\n+ ,\n+ digit\n+ or\n+ response\n \n- \n+ \n+ \n+ \n+ The timeouts that can be manipulated are:\n+ \n+ absolute\n+ : The absolute maximum amount of time permitted for a call.\n+\t\t\tSetting of 0 disables the timeout.\n+ \n+ \n+ digit\n+ : The maximum amount of time permitted between digits when the\n+\t\t\tuser is typing in an extension. When this timeout expires,\n+\t\t\tafter the user has started to type in an extension, the\n+\t\t\textension will be considered complete, and will be\n+\t\t\tinterpreted. Note that if an extension typed in is valid,\n+\t\t\tit will not have to timeout to be tested, so typically at\n+\t\t\tthe expiry of this timeout, the extension will be considered\n+\t\t\tinvalid (and thus control would be passed to the\n+ i\n+ extension, or if it doesn't exist the call would be\n+\t\t\tterminated). The default timeout is 5 seconds.\n+ \n+ \n+ response\n+ : The maximum amount of time permitted after falling through a\n+\t\t\tseries of priorities for a channel in which the user may\n+\t\t\tbegin typing an extension. If the user does not type an\n+\t\t\textension in this amount of time, control will pass to the\n+ t\n+ extension if it exists, and if not the call would be\n+\t\t\tterminated. The default timeout is 10 seconds.\n+ \n \n- \n- FILE\n- FILE_FORMAT\n- \n \n- \n- Return the newline format of a text file.\n+ \n+ core\n+ \n+ \n+ Gets or sets Caller*ID data on the channel.\n \n- \n+ \n+ The allowable datatypes are:\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Optional Caller*ID to parse instead of using the Caller*ID from the\n+\t\t\t\tchannel. This parameter is only optional when reading the Caller*ID.\n+ \n \n \n- Return the line terminator type:\n- 'u' - Unix "\\n" format\n- 'd' - DOS "\\r\\n" format\n- 'm' - Macintosh "\\r" format\n- 'x' - Cannot be determined\n+ Gets or sets Caller*ID data on the channel. Uses channel callerid by\n+\t\t\tdefault or optional callerid, if specified.\n+ \n+ The\n+ pres\n+ field gets/sets a combined value\n+\t\t\tfor\n+ name-pres\n+ and\n+ num-pres\n+ .\n+ \n+ \n+ The allowable values for the\n+ name-charset\n+ field are the following:\n+ \n+ \n+ \n+ Unknown\n+ \n+ \n+ ISO8859-1\n+ \n+ \n+ Withdrawn\n+ \n+ \n+ ISO8859-2\n+ \n+ \n+ ISO8859-3\n+ \n+ \n+ ISO8859-4\n+ \n+ \n+ ISO8859-5\n+ \n+ \n+ ISO8859-7\n+ \n+ \n+ ISO10646 Bmp String\n+ \n+ \n+ ISO10646 UTF-8 String\n+ \n+ \n+ \n+ \n+ \n+ Gets or sets Caller*ID presentation on the channel.\n+ \n+ \n+ Gets or sets Caller*ID presentation on the channel.\n+\t\t\tThis function is deprecated in favor of CALLERID(num-pres)\n+\t\t\tand CALLERID(name-pres) or CALLERID(pres) to get/set both\n+\t\t\tat once.\n+\t\t\tThe following values are valid:\n+ \n+ \n+ Presentation Allowed, Not Screened.\n+ \n+ \n+ Presentation Allowed, Passed Screen.\n+ \n+ \n+ Presentation Allowed, Failed Screen.\n+ \n+ \n+ Presentation Allowed, Network Number.\n+ \n+ \n+ Presentation Prohibited, Not Screened.\n+ \n+ \n+ Presentation Prohibited, Passed Screen.\n+ \n+ \n+ Presentation Prohibited, Failed Screen.\n+ \n+ \n+ Presentation Prohibited, Network Number.\n+ \n+ \n+ Number Unavailable.\n+ \n+ \n+ \n+ \n+ \n+ Gets or sets Connected Line data on the channel.\n+ \n+ \n+ The allowable datatypes are:\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ If set, this will prevent the channel from sending out protocol\n+\t\t\t\tmessages because of the value being set\n+ \n+ \n+ \n+ Gets or sets Connected Line data on the channel.\n+ \n+ The\n+ pres\n+ field gets/sets a combined value\n+\t\t\tfor\n+ name-pres\n+ and\n+ num-pres\n+ .\n+ \n+ \n+ The allowable values for the\n+ name-charset\n+ field are the following:\n+ \n+ \n+ \n+ Unknown\n+ \n+ \n+ ISO8859-1\n+ \n+ \n+ Withdrawn\n+ \n+ \n+ ISO8859-2\n+ \n+ \n+ ISO8859-3\n+ \n+ \n+ ISO8859-4\n+ \n+ \n+ ISO8859-5\n+ \n+ \n+ ISO8859-7\n+ \n+ \n+ ISO10646 Bmp String\n+ \n+ \n+ ISO10646 UTF-8 String\n+ \n+ \n+ \n+ \n+ \n+ Gets or sets Redirecting data on the channel.\n+ \n+ \n+ The allowable datatypes are:\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ If set, this will prevent the channel from sending out protocol\n+\t\t\t\tmessages because of the value being set\n+ \n+ \n+ \n+ Gets or sets Redirecting data on the channel.\n+ \n+ The\n+ orig-pres\n+ ,\n+ from-pres\n+ and\n+ to-pres\n+ fields get/set a combined value for the corresponding\n+ ...-name-pres\n+ and\n+ ...-num-pres\n+ fields.\n+ \n+ \n+ The recognized values for the\n+ reason\n+ and\n+ orig-reason\n+ fields are the following:\n+ \n+ \n+ \n+ Callee is Away\n+ \n+ \n+ Call Forwarding By The Called DTE\n+ \n+ \n+ Call Forwarding Busy\n+ \n+ \n+ Call Forwarding No Reply\n+ \n+ \n+ Call Forwarding Unconditional\n+ \n+ \n+ Call Deflection\n+ \n+ \n+ Do Not Disturb\n+ \n+ \n+ Follow Me\n+ \n+ \n+ Called DTE Out-Of-Order\n+ \n+ \n+ Send the call to voicemail\n+ \n+ \n+ Time of Day\n+ \n+ \n+ Callee is Unavailable\n+ \n+ \n+ Unknown\n+ \n+ \n \n- \n- If\n- live_dangerously\n- in\n- asterisk.conf\n- is set to\n- no\n- , this function can only be executed from the\n-\t\t\t\tdialplan, and not directly from external protocols.\n- \n+ You can set a user defined reason string that SIP can\n+\t\t\tsend/receive instead. The user defined reason string my need to be\n+\t\t\tquoted depending upon SIP or the peer's requirements. These strings\n+\t\t\tare treated as unknown by the non-SIP channel drivers.\n \n+ \n+ The allowable values for the\n+ xxx-name-charset\n+ field are the following:\n+ \n+ \n+ \n+ Unknown\n+ \n+ \n+ ISO8859-1\n+ \n+ \n+ Withdrawn\n+ \n+ \n+ ISO8859-2\n+ \n+ \n+ ISO8859-3\n+ \n+ \n+ ISO8859-4\n+ \n+ \n+ ISO8859-5\n+ \n+ \n+ ISO8859-7\n+ \n+ \n+ ISO10646 Bmp String\n+ \n+ \n+ ISO10646 UTF-8 String\n+ \n+ \n \n- \n- FILE\n- FILE_COUNT_LINE\n- \n \n- \n- \n- 16.21.0\n- 18.7.0\n- 19.0.0\n- \n- Return the name of a file.\n+ \n+ core\n+ \n+ \n+ Checks if an Asterisk module is loaded in memory.\n \n- \n+ \n+ \n+ Module name complete with\n+ .so\n+ \n+ \n \n \n- Return the base file name, given a full file path.\n- same => n,Set(basename=${BASENAME(/etc/asterisk/extensions.conf)})\n-\t\t\tsame => n,NoOp(${basename}) ; outputs extensions.conf\n+ \n+ Checks if a module is loaded. Use the full module name\n+\t\t\tas shown by the list in\n+ module list\n+ .\n+\t\t\tReturns\n+ 1\n+ if module exists in memory, otherwise\n+ 0\n+ \n \n- \n- DIRNAME\n- \n \n- \n- \n- 16.21.0\n- 18.7.0\n- 19.0.0\n- \n- Return the directory of a file.\n+ \n+ extended\n+ \n+ \n+ Evaluates the contents of a dialplan extension and returns it as a string.\n \n- \n+ \n+ \n+ \n \n \n- Return the directory of a file, given a full file path.\n- same => n,Set(dirname=${DIRNAME(/etc/asterisk/extensions.conf)})\n-\t\t\tsame => n,NoOp(${dirname}) ; outputs /etc/asterisk\n+ The EVAL_EXTEN function looks up a dialplan entry by context,extension,priority,\n+\t\t\tevaluates the contents of a Return statement to resolve any variable or function\n+\t\t\treferences, and returns the result as a string.\n+ You can use this function to create simple user-defined lookup tables or\n+\t\t\tuser-defined functions.\n+ [call-types]\n+\t\t\texten => _1NNN,1,Return(internal)\n+\t\t\texten => _NXXNXXXXXX,1,Return(external)\n+\n+\t\t\t[udf]\n+\t\t\texten => calleridlen,1,Return(${LEN(${CALLERID(num)})})\n+\n+\t\t\t[default]\n+\t\t\texten => _X!,1,Verbose(Call type ${EVAL_EXTEN(call-types,${EXTEN},1)} - ${EVAL_EXTEN(udf,calleridlen,1)})\n+ \n+ Any variables in the evaluated data will be resolved in the context of\n+\t\t\tthat extension. For example,\n+ ${EXTEN}\n+ would refer to the\n+\t\t\tEVAL_EXTEN extension, not the extension in the context invoking the function.\n+\t\t\tThis behavior is similar to other applications, e.g.\n+ Gosub\n+ .\n+ \n+ same => n,Read(input,${EVAL_EXTEN(prompts,${CALLERID(num)},1)})\n+\n+\t\t\t[prompts]\n+\t\t\texten => _X!,1,Return(default)\n+\t\t\texten => _20X,1,Return(welcome)\n+\t\t\texten => _2XX,1,Return(${DB(promptsettings/${EXTEN})})\n+\t\t\texten => _3XX,1,Return(${ODBC_MYFUNC(${EXTEN})})\n+ Extensions on which EVAL_EXTEN is invoked are not different from other\n+\t\t\textensions. However, the application at that extension is not executed.\n+\t\t\tOnly the application data is parsed and evaluated.\n+ A limitation of this function is that the application at the specified\n+\t\t\textension isn't actually executed, and thus unlike a Gosub, you can't pass\n+\t\t\targuments in the EVAL_EXTEN function.\n \n \n- BASENAME\n+ EVAL\n \n \n- \n+ \n+ speex\n+ speex_preprocess\n+ speexdsp\n core\n \n- \n- Count the voicemails in a specified mailbox or mailboxes.\n+ \n+ Apply automatic gain control to audio on a channel.\n \n- \n- A mailbox or list of mailboxes\n+ \n+ \n+ This can be either\n+ rx\n+ or\n+ tx\n+ \n \n- \n+ \n+ \n+ \n+ The AGC function will apply automatic gain control to the audio on the\n+\t\t\tchannel that it is executed on. Using\n+ rx\n+ for audio received\n+\t\t\tand\n+ tx\n+ for audio transmitted to the channel. When using this\n+\t\t\tfunction you set a target audio level. It is primarily intended for use with\n+\t\t\tanalog lines, but could be useful for other channels as well. The target volume\n+\t\t\tis set with a number between\n+ 1-32768\n+ . The larger the number\n+\t\t\tthe louder (more gain) the channel will receive.\n+ \n+ exten => 1,1,Set(AGC(rx)=8000)\n+\t\t\texten => 1,2,Set(AGC(tx)=off)\n+ \n+ \n+ \n+ Apply noise reduction to audio on a channel.\n+ \n+ \n \n- If not specified, defaults to\n- INBOX\n+ This can be either\n+ rx\n+ or\n+ tx\n+ the values that can be set to this are either\n+ on\n+ and\n+ off\n \n \n \n \n \n- Count the number of voicemails in a specified mailbox, you could also specify\n-\t\t\tthe mailbox\n- folder\n- .\n+ The DENOISE function will apply noise reduction to audio on the channel\n+\t\t\tthat it is executed on. It is very useful for noisy analog lines, especially\n+\t\t\twhen adjusting gains or using AGC. Use\n+ rx\n+ for audio received from the channel\n+\t\t\tand\n+ tx\n+ to apply the filter to the audio being sent to the channel.\n \n- exten => s,1,Set(foo=${VMCOUNT(125@default)})\n- An ampersand-separated list of mailboxes may be specified to count voicemails in\n-\t\t\tmultiple mailboxes. If a folder is specified, this will apply to all mailboxes specified.\n- same => n,NoOp(${VMCOUNT(1234@default&1235@default&1236@default,INBOX)})\n+ exten => 1,1,Set(DENOISE(rx)=on)\n+\t\t\texten => 1,2,Set(DENOISE(tx)=off)\n \n \n- \n- app_chanspy\n- func_cut\n- func_groupcount\n- func_uri\n+ \n core\n \n- \n- Execute a periodic dialplan hook into the audio of a call.\n+ \n+ Intercepts hold frames on a channel and raises an event instead of passing the frame on\n \n- \n- (On Read Only) Context for the hook extension.\n+ \n+ \n+ \n+ \n+ \n \n- \n- (On Read Only) The hook extension.\n+ \n+ \n+ \n+ extended\n+ \n+ \n+ View internal ast_frames as they are read and written on a channel.\n+ \n+ \n+ \n+ A filter can be applied to the trace to limit what frames are viewed. This\n+\t\t\t\tfilter can either be a\n+ white\n+ or\n+ black\n+ list\n+\t\t\t\tof frame types. When no filter type is present,\n+ white\n+ is\n+\t\t\t\tused. If no arguments are provided at all, all frames will be output.\n+ \n+ Below are the different types of frames that can be filtered.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n- \n- (On Read Only) Number of seconds in between hook runs.\n-\t\t\t\tWhole seconds only.\n+ \n+ \n+ Examples:\n+ exten => 1,1,Set(FRAME_TRACE(white)=DTMF_BEGIN,DTMF_END)\n+ exten => 1,1,Set(FRAME_TRACE()=DTMF_BEGIN,DTMF_END)\n+ exten => 1,1,Set(FRAME_TRACE(black)=DTMF_BEGIN,DTMF_END)\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Return the Version info for this Asterisk.\n+ \n+ \n+ The possible values are:\n+ \n+ \n+ A string of digits is returned, e.g. 10602 for 1.6.2 or 100300 for 10.3.0,\n+\t\t\t\t\t\tor 999999 when using a Git build.\n+ \n+ \n+ The string representing the user's name whose account\n+\t\t\t\t\t\twas used to configure Asterisk, is returned.\n+ \n+ \n+ The string representing the name of the host on which Asterisk was configured, is returned.\n+ \n+ \n+ The string representing the type of machine on which Asterisk was configured, is returned.\n+ \n+ \n+ The string representing the OS of the machine on which Asterisk was configured, is returned.\n+ \n+ \n+ The string representing the date on which Asterisk was configured, is returned.\n+ \n+ \n+ The string representing the kernel version of the machine on which Asterisk\n+\t\t\t\t\t\twas configured, is returned.\n+ \n+ \n \n- \n- (On Write Only) The hook ID.\n+ \n+ \n+ If there are no arguments, return the version of Asterisk in this format: 18.12.0\n+ same => n,Set(junky=${VERSION()} ; sets junky to 18.12.0, or possibly GITMasterxxxxxx\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Get or set a call completion configuration parameter for a channel.\n+ \n+ \n+ The allowable options are:\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n \n- For example, you could use this function to enable playing\n-\t\t\ta periodic\n- beep\n- sound in a call.\n- \n- \n- same => n,Set(BEEPID=${PERIODIC_HOOK(hooks,beep,180)})\n- same => n,Set(PERIODIC_HOOK(${BEEPID})=off)\n- same => n,Set(PERIODIC_HOOK(${BEEPID})=on)\n- It is important to note that the hook does not actually\n-\t\t\trun on the channel itself. It runs asynchronously on a new channel.\n-\t\t\tAny audio generated by the hook gets injected into the call for\n-\t\t\tthe channel PERIODIC_HOOK() was set on.\n- \n- \n- The hook dialplan will have two variables available.\n- HOOK_CHANNEL\n- is the channel the hook is\n-\t\t\tenabled on.\n- HOOK_ID\n- is the hook ID for\n-\t\t\tenabling or disabling the hook.\n+ The CALLCOMPLETION function can be used to get or set a call\n+\t\t\tcompletion configuration parameter for a channel. Note that setting\n+\t\t\ta configuration parameter will only change the parameter for the\n+\t\t\tduration of the call.\n+\n+\t\t\tFor more information see\n+ doc/AST.pdf\n+ .\n+\t\t\tFor more information on call completion parameters, see\n+ configs/ccss.conf.sample\n+ .\n \n \n \n- \n- iconv\n+ \n core\n \n- \n- Converts charsets of strings.\n+ \n+ Checks the existence of a dialplan target.\n \n- \n- Input charset\n- \n- \n- Output charset\n+ \n+ \n+ \n+ \n+ \n+ \n+ This function returns\n+ 1\n+ if the target exits. Otherwise, it returns\n+ 0\n+ .\n+ \n+ \n+ \n+ \n+ Determine whether an extension exists or not.\n+ \n+ \n+ Defaults to the current context\n \n- \n+ \n+ \n \n- String to convert, from\n- in-charset\n- to\n- out-charset\n+ Priority defaults to\n+ 1\n+ .\n \n \n \n \n \n- Converts string from\n- in-charset\n- into\n- out-charset\n+ Returns a true value if the indicated\n+ context\n+ ,\n+ extension\n+ , and\n+ priority\n+ exist.\n+ \n+ \n+ \n+ This function has been deprecated in favor of the\n+ DIALPLAN_EXISTS()\n+ function\n+ \n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ Choose a random number in a range.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Choose a random number between\n+ min\n+ and\n+ max\n .\n-\t\t\tFor available charsets, use\n- iconv -l\n- on your shell command line.\n+ min\n+ defaults to\n+ 0\n+ , if not specified, while\n+ max\n+ defaults\n+\t\t\tto\n+ RAND_MAX\n+ (2147483647 on many systems).\n \n- \n- Due to limitations within the API, ICONV will not currently work with\n-\t\t\tcharsets with embedded NULLs. If found, the string will terminate.\n- \n+ exten => s,1,Set(junky=${RAND(1,8)})\n+ \n+ \n+ \n+ core\n+ \n+ \n+ Computes an MD5 digest.\n+ \n+ \n+ \n+ \n+ Computes an MD5 digest.\n \n \n+ \n+ pjproject\n+ res_pjsip\n+ core\n+ \n+ \n+ Get information about a PJSIP AOR\n+ \n+ \n+ The name of the AOR to query.\n+ \n+ \n+ \n+ The configuration option for the AOR to query for.\n+\t\t\t\tSupported options are those fields on the\n+ aor\n+ object in\n+ pjsip.conf\n+ .\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n extended\n \n \n \n 16.24.0\n 18.10.0\n@@ -17079,289 +18279,130 @@\n \n exten => s,1,Set(UNSHIFT(array)=one,two,three)\n This would insert one,\n \t\t\t\ttwo, and three before the values stored in the variable\n \t\t\t\t"array".\n \n \n- \n- core\n- \n- \n- Retrieve a variable from a configuration file.\n- \n- \n- \n- \n- \n- \n- If there are multiple variables with the same name, you can specify\n- 0\n- for the first item (default),\n- -1\n- for the last\n-\t\t\t\titem, or any other number for that specific item.\n- -1\n- is useful\n-\t\t\t\twhen the variable is derived from a template and you want the effective value (the last\n-\t\t\t\toccurrence), not the value from the template (the first occurrence).\n- \n- \n- \n- \n- This function reads a variable from an Asterisk configuration file.\n- \n- \n- \n+ \n core\n \n- \n- Get a field from a sorcery object\n+ \n+ Gets per-channel hangupcause information from the channel.\n \n- \n- The name of the module owning the sorcery instance.\n- \n- \n- The type of object to query.\n- \n- \n- The id of the object to query.\n- \n- \n- The name of the field.\n+ \n+ The name of the channel for which to retrieve cause information.\n \n- \n- Fields that have multiple occurrences may be retrieved in two ways.\n+ \n+ Parameter describing which type of information is requested. Types are:\n \n- \n- \n- Returns all matching fields concatenated\n-\t\t\t\t\tin a single string separated by\n- separator\n- which defaults to\n- ,\n- .\n- \n+ \n+ Technology-specific cause information\n \n- \n- \n- Returns the nth occurrence of the field\n-\t\t\t\t\tas specified by\n- occurrence_number\n- which defaults to\n- 1\n- .\n- \n+ \n+ Translated Asterisk cause code\n \n \n- \n- The default is\n- concat\n- with separator\n- ,\n- .\n- \n- \n- \n- \n- Specifies either the separator for\n- concat\n- or the occurrence number for\n- single\n- .\n- \n \n \n+ \n+ Gets technology-specific or translated Asterisk cause code information\n+\t\t\tfrom the channel for the specified channel that resulted from a dial.\n+ \n+ \n+ HANGUPCAUSE_KEYS\n+ HangupCauseClear\n+ \n \n- \n- core\n- \n- \n- Computes a SHA1 digest.\n- \n- \n- Input string\n- \n- \n+ \n+ Gets the list of channels for which hangup causes are available.\n \n- Generate a SHA1 digest via the SHA1 algorythm.\n- exten => s,1,Set(sha1hash=${SHA1(junky)})\n- \n- The example above sets the asterisk variable sha1hash to the string\n- 60fa5675b9303eb62f99a9cd47f9f5837d18f9a0\n- which is known as its hash\n- \n+ Returns a comma-separated list of channel names to be used with the HANGUPCAUSE function.\n \n+ \n+ HANGUPCAUSE\n+ HangupCauseClear\n+ \n \n- \n+ \n+ Clears hangup cause information from the channel that is available through HANGUPCAUSE.\n+ \n+ Clears all channel-specific hangup cause information from the channel.\n+\t\t\tThis is never done automatically (i.e. for new Dial()s).\n+ \n+ \n+ HANGUPCAUSE\n+ HANGUPCAUSE_KEYS\n+ \n+ \n+ \n core\n \n- \n- Get or Set a presence state.\n- \n- \n+ \n+ Get an extension's state.\n+ \n+ \n+ \n \n- The provider of the presence, such as\n- CustomPresence\n+ If it is not specified defaults to\n+ default\n+ .\n \n \n- \n- Which field of the presence state information is wanted.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n \n \n- The PRESENCE_STATE function can be used to retrieve the presence from any\n-\t\t\tpresence provider. For example:\n- NoOp(SIP/mypeer has presence ${PRESENCE_STATE(SIP/mypeer,value)})\n- NoOp(Conference number 1234 has presence message ${PRESENCE_STATE(MeetMe:1234,message)})\n- \n- The PRESENCE_STATE function can also be used to set custom presence state from\n-\t\t\tthe dialplan. The\n- CustomPresence:\n- prefix must be used. For example:\n- \n- Set(PRESENCE_STATE(CustomPresence:lamp1)=away,temporary,Out to lunch)\n- Set(PRESENCE_STATE(CustomPresence:lamp2)=dnd,,Trying to get work done)\n- Set(PRESENCE_STATE(CustomPresence:lamp3)=xa,T24gdmFjYXRpb24=,,e)\n- Set(BASE64_LAMP3_PRESENCE=${PRESENCE_STATE(CustomPresence:lamp3,subtype,e)})\n- You can subscribe to the status of a custom presence state using a hint in\n-\t\t\tthe dialplan:\n- exten => 1234,hint,,CustomPresence:lamp1\n- The possible values for both uses of this function are:\n- not_set | unavailable | available | away | xa | chat | dnd\n+ The EXTENSION_STATE function can be used to retrieve the state from any\n+\t\t\thinted extension. For example:\n+ NoOp(1234@default has state ${EXTENSION_STATE(1234)})\n+ NoOp(4567@home has state ${EXTENSION_STATE(4567@home)})\n+ The possible values returned by this function are:\n+ UNKNOWN | NOT_INUSE | INUSE | BUSY | INVALID | UNAVAILABLE | RINGING |\n+\t\t\tRINGINUSE | HOLDINUSE | ONHOLD\n \n \n- \n- core\n+ \n+ extended\n \n- \n- \n- 12.4.0\n- \n- Raises notifications when Asterisk detects silence or talking on a channel.\n+ \n+ Pitch shift both tx and rx audio streams on a channel.\n \n- \n- \n- \n- \n- \n+ \n+ \n+ Direction can be either\n+ rx\n+ ,\n+ tx\n+ , or\n+ both\n+ . The direction can either be set to a valid floating\n+\t\t\t\tpoint number between 0.1 and 4.0 or one of the enum values listed below. A value\n+\t\t\t\tof 1.0 has no effect. Greater than 1 raises the pitch. Lower than 1 lowers\n+\t\t\t\tthe pitch.\n+ \n+ The pitch amount can also be set by the following values\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n- The TALK_DETECT function enables events on the channel\n-\t\t\tit is applied to. These events can be emitted over AMI, ARI, and\n-\t\t\tpotentially other Asterisk modules that listen for the internal\n-\t\t\tnotification.\n- \n- The function has two parameters that can optionally be passed\n-\t\t\twhen\n- set\n- on a channel:\n- dsp_talking_threshold\n- and\n- dsp_silence_threshold\n- .\n- \n- \n- dsp_talking_threshold\n- is the time in milliseconds of sound\n-\t\t\tabove what the dsp has established as base line silence for a user\n-\t\t\tbefore a user is considered to be talking. By default, the value of\n- silencethreshold\n- from\n- dsp.conf\n- is used. If this value is set too tight events may be\n-\t\t\tfalsely triggered by variants in room noise.\n- \n- Valid values are 1 through 2^31.\n- \n- dsp_silence_threshold\n- is the time in milliseconds of sound\n-\t\t\tfalling within what the dsp has established as baseline silence before\n-\t\t\ta user is considered be silent. If this value is set too low events\n-\t\t\tindicating the user has stopped talking may get falsely sent out when\n-\t\t\tthe user briefly pauses during mid sentence.\n- \n- The best way to approach this option is to set it slightly above\n-\t\t\tthe maximum amount of ms of silence a user may generate during\n-\t\t\tnatural speech.\n- By default this value is 2500ms. Valid values are 1\n-\t\t\tthrough 2^31.\n- same => n,Set(TALK_DETECT(set)=)\n- same => n,Set(TALK_DETECT(set)=1200)\n- same => n,Set(TALK_DETECT(remove)=)\n- same => n,Set(TALK_DETECT(set)=,128)\n- This function will set the following variables:\n- \n- The TALK_DETECT function uses an audiohook to inspect the\n-\t\t\t\tvoice media frames on a channel. Other functions, such as JITTERBUFFER,\n-\t\t\t\tDENOISE, and AGC use a similar mechanism. Audiohooks are processed\n-\t\t\t\tin the order in which they are placed on the channel. As such,\n-\t\t\t\tit typically makes sense to place functions that modify the voice\n-\t\t\t\tmedia data prior to placing the TALK_DETECT function, as this will\n-\t\t\t\tyield better results.\n- \n- same => n,Set(DENOISE(rx)=on) ; Denoise received audio\n-\t\t\tsame => n,Set(TALK_DETECT(set)=) ; Perform talk detection on the denoised received audio\n+ Examples:\n+ exten => 1,1,Set(PITCH_SHIFT(tx)=highest)\n+ exten => 1,1,Set(PITCH_SHIFT(rx)=higher)\n+ exten => 1,1,Set(PITCH_SHIFT(both)=high)\n+ exten => 1,1,Set(PITCH_SHIFT(rx)=low)\n+ exten => 1,1,Set(PITCH_SHIFT(tx)=lower)\n+ exten => 1,1,Set(PITCH_SHIFT(both)=lowest)\n+ exten => 1,1,Set(PITCH_SHIFT(rx)=0.8)\n+ exten => 1,1,Set(PITCH_SHIFT(tx)=1.5)\n \n \n \n res_curl\n curl\n core\n \n@@ -17551,483 +18592,86 @@\n \t\t\tsettings will override global settings. Only HTTP headers are added instead of overriding\n \n \n CURL\n HASH\n \n \n- \n+ \n core\n \n- \n- Add a Jitterbuffer to the Read side of the channel. This dejitters the audio stream before it reaches the Asterisk core. This is a write only function.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Jitterbuffers are constructed in two different ways.\n-\t\t\tThe first always take four arguments:\n- max_size\n- ,\n- resync_threshold\n- ,\n- target_extra\n- ,\n-\t\t\tand\n- sync_video\n- .\n-\t\t\tAlternatively, a single argument of\n- default\n- can be provided,\n-\t\t\twhich will construct the default jitterbuffer for the given\n- jitterbuffer type\n- .\n- \n- The arguments are:\n- \n- max_size\n- : Length in milliseconds of the buffer.\n-\t\t\tDefaults to 200 ms.\n- \n- \n- resync_threshold\n- : The length in milliseconds over\n-\t\t\twhich a timestamp difference will result in resyncing the jitterbuffer.\n-\t\t\tDefaults to 1000ms.\n- \n- target_extra: This option only affects the adaptive jitterbuffer. It represents\n-\t\t\tthe amount time in milliseconds by which the new jitter buffer will pad its size.\n-\t\t\tDefaults to 40ms.\n- sync_video: This option enables video synchronization with the audio stream. It can be\n-\t\t\tturned on and off. Defaults to off.\n- exten => 1,1,Set(JITTERBUFFER(fixed)=default)\n- exten => 1,1,Set(JITTERBUFFER(fixed)=200)\n- exten => 1,1,Set(JITTERBUFFER(fixed)=200,,,yes)\n- exten => 1,1,Set(JITTERBUFFER(fixed)=200,1500)\n- exten => 1,1,Set(JITTERBUFFER(adaptive)=default)\n- exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,60)\n- exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,,yes)\n- exten => 1,1,Set(JITTERBUFFER(fixed)=default)\n-\t\t\texten => 1,n,Set(JITTERBUFFER(disabled)=)\n- \n- If a channel specifies a jitterbuffer due to channel driver configuration and\n-\t\t\tthe JITTERBUFFER function has set a jitterbuffer for that channel, the jitterbuffer set by\n-\t\t\tthe JITTERBUFFER function will take priority and the jitterbuffer set by the channel\n-\t\t\tconfiguration will not be applied.\n- \n- \n- \n- \n- extended\n- \n- \n- \n- 16.21.0\n- 18.7.0\n- 19.0.0\n- \n- Scrambles audio on a channel.\n+ \n+ Manages a group of users for dialing.\n \n- \n+ \n+ \n+ The operation name, possible values are:\n \n- Must be\n- TX\n- or\n- RX\n- to limit to a specific direction, or\n- both\n- for both directions.\n- remove\n- will remove an existing scrambler.\n+ add\n+ - add a channel name or interface (write-only)\n \n- \n- \n- \n- Scrambles audio on a channel using whole spectrum inversion.\n-\t\t\tThis is not intended to be used for securely scrambling\n-\t\t\taudio. It merely renders obfuscates audio on a channel\n-\t\t\tto render it unintelligible, as a privacy enhancement.\n- \n- \n- ChanSpy\n- \n- \n- \n- extended\n- \n- \n- View internal ast_frames as they are read and written on a channel.\n- \n- \n \n- A filter can be applied to the trace to limit what frames are viewed. This\n-\t\t\t\tfilter can either be a\n- white\n- or\n- black\n- list\n-\t\t\t\tof frame types. When no filter type is present,\n- white\n- is\n-\t\t\t\tused. If no arguments are provided at all, all frames will be output.\n+ del\n+ - remove a channel name or interface (write-only)\n \n- Below are the different types of frames that can be filtered.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n \n \n \n- Examples:\n- exten => 1,1,Set(FRAME_TRACE(white)=DTMF_BEGIN,DTMF_END)\n- exten => 1,1,Set(FRAME_TRACE()=DTMF_BEGIN,DTMF_END)\n- exten => 1,1,Set(FRAME_TRACE(black)=DTMF_BEGIN,DTMF_END)\n- \n- \n- \n- extended\n- \n- \n- Evaluates the contents of a dialplan extension and returns it as a string.\n- \n- \n- \n- \n- \n- \n- The EVAL_EXTEN function looks up a dialplan entry by context,extension,priority,\n-\t\t\tevaluates the contents of a Return statement to resolve any variable or function\n-\t\t\treferences, and returns the result as a string.\n- You can use this function to create simple user-defined lookup tables or\n-\t\t\tuser-defined functions.\n- [call-types]\n-\t\t\texten => _1NNN,1,Return(internal)\n-\t\t\texten => _NXXNXXXXXX,1,Return(external)\n-\n-\t\t\t[udf]\n-\t\t\texten => calleridlen,1,Return(${LEN(${CALLERID(num)})})\n-\n-\t\t\t[default]\n-\t\t\texten => _X!,1,Verbose(Call type ${EVAL_EXTEN(call-types,${EXTEN},1)} - ${EVAL_EXTEN(udf,calleridlen,1)})\n- \n- Any variables in the evaluated data will be resolved in the context of\n-\t\t\tthat extension. For example,\n- ${EXTEN}\n- would refer to the\n-\t\t\tEVAL_EXTEN extension, not the extension in the context invoking the function.\n-\t\t\tThis behavior is similar to other applications, e.g.\n- Gosub\n- .\n- \n- same => n,Read(input,${EVAL_EXTEN(prompts,${CALLERID(num)},1)})\n-\n-\t\t\t[prompts]\n-\t\t\texten => _X!,1,Return(default)\n-\t\t\texten => _20X,1,Return(welcome)\n-\t\t\texten => _2XX,1,Return(${DB(promptsettings/${EXTEN})})\n-\t\t\texten => _3XX,1,Return(${ODBC_MYFUNC(${EXTEN})})\n- Extensions on which EVAL_EXTEN is invoked are not different from other\n-\t\t\textensions. However, the application at that extension is not executed.\n-\t\t\tOnly the application data is parsed and evaluated.\n- A limitation of this function is that the application at the specified\n-\t\t\textension isn't actually executed, and thus unlike a Gosub, you can't pass\n-\t\t\targuments in the EVAL_EXTEN function.\n- \n- \n- EVAL\n- \n- \n- \n- core\n- \n- \n- Attempt to obtain a named mutex.\n- \n- \n- \n- \n- \n- Attempts to grab a named lock exclusively, and prevents other channels from\n-\t\t\tobtaining the same lock. LOCK will wait for the lock to become available.\n-\t\t\tReturns\n- 1\n- if the lock was obtained or\n- 0\n- on error.\n- \n- \n- To avoid the possibility of a deadlock, LOCK will only attempt to\n-\t\t\tobtain the lock for 3 seconds if the channel already has another lock.\n- \n- \n- \n- If\n- live_dangerously\n- in\n- asterisk.conf\n- is set to\n- no\n- , this function can only be executed from the\n-\t\t\t\tdialplan, and not directly from external protocols.\n- \n- \n- \n- \n- \n- Attempt to obtain a named mutex.\n- \n- \n- \n- \n- \n- Attempts to grab a named lock exclusively, and prevents other channels\n-\t\t\tfrom obtaining the same lock. Returns\n- 1\n- if the lock was\n-\t\t\tavailable or\n- 0\n- otherwise.\n- \n- \n- \n- If\n- live_dangerously\n- in\n- asterisk.conf\n- is set to\n- no\n- , this function can only be executed from the\n-\t\t\t\tdialplan, and not directly from external protocols.\n- \n- \n- \n- \n- \n- Unlocks a named mutex.\n- \n- \n- \n- \n+ Presents an interface meant to be used in concert with the Dial\n+\t\t\tapplication, by presenting a list of channels which should be dialled when\n+\t\t\treferenced.\n \n- Unlocks a previously locked mutex. Returns\n- 1\n- if the channel\n-\t\t\thad a lock or\n- 0\n- otherwise.\n+ When DIALGROUP is read from, the argument is interpreted as the particular\n+ group\n+ for which a dial should be attempted. When DIALGROUP is written to\n+\t\t\twith no arguments, the entire list is replaced with the argument specified.\n \n- \n- It is generally unnecessary to unlock in a hangup routine, as any locks\n-\t\t\theld are automatically freed when the channel is destroyed.\n- \n- \n- \n- If\n- live_dangerously\n- in\n- asterisk.conf\n- is set to\n- no\n- , this function can only be executed from the\n-\t\t\t\tdialplan, and not directly from external protocols.\n- \n- \n+ Functionality is similar to a queue, except that when no interfaces are\n+\t\t\tavailable, execution may continue in the dialplan. This is useful when\n+\t\t\tyou want certain people to be the first to answer any calls, with immediate\n+\t\t\tfallback to a queue when the front line people are busy or unavailable, but\n+\t\t\tyou still want front line people to log in and out of that group, just like\n+\t\t\ta queue.\n+ exten => 1,1,Set(DIALGROUP(mygroup,add)=SIP/10)\n+\t\t\tsame => n,Set(DIALGROUP(mygroup,add)=SIP/20)\n+\t\t\tsame => n,Dial(${DIALGROUP(mygroup)})\n \n \n- \n+ \n core\n \n- \n- RealTime Read/Write Functions.\n+ \n+ Encodes a string to URI-safe encoding according to RFC 2396.\n \n- \n- \n- \n- \n- \n- Use\n- delim1\n- with\n- delim2\n- on\n-\t\t\t\tread and\n- field\n- without\n- delim2\n- on\n-\t\t\t\twrite\n- \n- \n- If we are reading and\n- delim1\n- is not specified, defaults\n-\t\t\t\tto\n- ,\n- \n- \n- \n- \n- Parameter only used when reading, if not specified defaults to\n- =\n- \n+ \n+ Input string to be encoded.\n \n \n \n \n- This function will read or write values from/to a RealTime repository.\n-\t\t\tREALTIME(....) will read names/values from the repository, and\n-\t\t\tREALTIME(....)= will write a new value/field to the repository. On a\n-\t\t\tread, this function returns a delimited text string. The name/value\n-\t\t\tpairs are delimited by\n- delim1\n- , and the name and value are delimited\n-\t\t\tbetween each other with delim2.\n-\t\t\tIf there is no match, NULL will be returned by the function.\n-\t\t\tOn a write, this function will always return NULL.\n- \n- \n- \n- REALTIME_STORE\n- REALTIME_DESTROY\n- REALTIME_FIELD\n- REALTIME_HASH\n- \n- \n- \n- RealTime Store Function.\n- \n- \n- \n- \n- \n- \n- \n- This function will insert a new set of values into the RealTime repository.\n-\t\t\tIf RT engine provides an unique ID of the stored record, REALTIME_STORE(...)=..\n-\t\t\tcreates channel variable named RTSTOREID, which contains value of unique ID.\n-\t\t\tCurrently, a maximum of 30 field/value pairs is supported.\n- \n- \n- REALTIME\n- REALTIME_DESTROY\n- REALTIME_FIELD\n- REALTIME_HASH\n- \n- \n- \n- RealTime Destroy Function.\n- \n- \n- \n- \n- \n- \n- \n- \n- This function acts in the same way as REALTIME(....) does, except that\n-\t\t\tit destroys the matched record in the RT engine.\n- \n- \n- If\n- live_dangerously\n- in\n- asterisk.conf\n- is set to\n- no\n- , this function can only be read from the\n-\t\t\t\tdialplan, and not directly from external protocols. It can, however, be\n-\t\t\t\texecuted as a write operation (\n- REALTIME_DESTROY(family, fieldmatch)=ignored\n- )\n- \n- \n- \n- \n- REALTIME\n- REALTIME_STORE\n- REALTIME_FIELD\n- REALTIME_HASH\n- \n- \n- \n- RealTime query function.\n- \n- \n- \n- \n- \n- \n- \n- \n- This function retrieves a single item,\n- fieldname\n- from the RT engine, where\n- fieldmatch\n- contains the value\n- matchvalue\n- . When written to, the REALTIME_FIELD() function\n-\t\t\tperforms identically to the REALTIME() function.\n+ Returns the encoded string defined in\n+ data\n+ .\n \n \n- \n- REALTIME\n- REALTIME_STORE\n- REALTIME_DESTROY\n- REALTIME_HASH\n- \n \n- \n- RealTime query function.\n+ \n+ Decodes a URI-encoded string according to RFC 2396.\n \n- \n- \n- \n+ \n+ Input string to be decoded.\n+ \n \n \n \n- This function retrieves a single record from the RT engine, where\n- fieldmatch\n- contains the value\n- matchvalue\n- and formats the output suitably, such that\n-\t\t\tit can be assigned to the HASH() function. The HASH() function then provides\n-\t\t\ta suitable method for retrieving each field value of the record.\n+ Returns the decoded URI-encoded\n+ data\n+ string.\n \n \n- \n- REALTIME\n- REALTIME_STORE\n- REALTIME_DESTROY\n- REALTIME_FIELD\n- \n \n \n res_crypto\n crypto\n core\n \n \n@@ -18064,65 +18708,14 @@\n \n \n AES_ENCRYPT\n BASE64_ENCODE\n BASE64_DECODE\n \n \n- \n- core\n- \n- \n- Gets or sets timeouts on the channel. Timeout values are in seconds.\n- \n- \n- \n- The timeout that will be manipulated. The possible timeout types\n-\t\t\t\tare:\n- absolute\n- ,\n- digit\n- or\n- response\n- \n- \n- \n- \n- The timeouts that can be manipulated are:\n- \n- absolute\n- : The absolute maximum amount of time permitted for a call.\n-\t\t\tSetting of 0 disables the timeout.\n- \n- \n- digit\n- : The maximum amount of time permitted between digits when the\n-\t\t\tuser is typing in an extension. When this timeout expires,\n-\t\t\tafter the user has started to type in an extension, the\n-\t\t\textension will be considered complete, and will be\n-\t\t\tinterpreted. Note that if an extension typed in is valid,\n-\t\t\tit will not have to timeout to be tested, so typically at\n-\t\t\tthe expiry of this timeout, the extension will be considered\n-\t\t\tinvalid (and thus control would be passed to the\n- i\n- extension, or if it doesn't exist the call would be\n-\t\t\tterminated). The default timeout is 5 seconds.\n- \n- \n- response\n- : The maximum amount of time permitted after falling through a\n-\t\t\tseries of priorities for a channel in which the user may\n-\t\t\tbegin typing an extension. If the user does not type an\n-\t\t\textension in this amount of time, control will pass to the\n- t\n- extension if it exists, and if not the call would be\n-\t\t\tterminated. The default timeout is 10 seconds.\n- \n- \n- \n \n core\n \n \n Counts the number of channels in the specified group.\n \n \n@@ -18173,640 +18766,317 @@\n \n Gets a list of the groups set on a channel.\n \n \n Gets a list of the groups set on a channel.\n \n \n- \n+ \n core\n \n- \n- Gets or sets Caller*ID data on the channel.\n+ \n+ Get or Set a device state.\n \n- \n- The allowable datatypes are:\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Optional Caller*ID to parse instead of using the Caller*ID from the\n-\t\t\t\tchannel. This parameter is only optional when reading the Caller*ID.\n- \n+ \n \n \n- Gets or sets Caller*ID data on the channel. Uses channel callerid by\n-\t\t\tdefault or optional callerid, if specified.\n- \n- The\n- pres\n- field gets/sets a combined value\n-\t\t\tfor\n- name-pres\n- and\n- num-pres\n- .\n- \n+ The DEVICE_STATE function can be used to retrieve the device state from any\n+\t\t\tdevice state provider. For example:\n+ NoOp(SIP/mypeer has state ${DEVICE_STATE(SIP/mypeer)})\n+ NoOp(Conference number 1234 has state ${DEVICE_STATE(MeetMe:1234)})\n \n- The allowable values for the\n- name-charset\n- field are the following:\n+ The DEVICE_STATE function can also be used to set custom device state from\n+\t\t\tthe dialplan. The\n+ Custom:\n+ prefix must be used. For example:\n \n- \n- \n- Unknown\n- \n- \n- ISO8859-1\n- \n- \n- Withdrawn\n- \n- \n- ISO8859-2\n- \n- \n- ISO8859-3\n- \n- \n- ISO8859-4\n- \n- \n- ISO8859-5\n- \n- \n- ISO8859-7\n- \n- \n- ISO10646 Bmp String\n- \n- \n- ISO10646 UTF-8 String\n- \n- \n- \n- \n- \n- Gets or sets Caller*ID presentation on the channel.\n- \n- \n- Gets or sets Caller*ID presentation on the channel.\n-\t\t\tThis function is deprecated in favor of CALLERID(num-pres)\n-\t\t\tand CALLERID(name-pres) or CALLERID(pres) to get/set both\n-\t\t\tat once.\n-\t\t\tThe following values are valid:\n- \n- \n- Presentation Allowed, Not Screened.\n- \n- \n- Presentation Allowed, Passed Screen.\n- \n- \n- Presentation Allowed, Failed Screen.\n- \n- \n- Presentation Allowed, Network Number.\n- \n- \n- Presentation Prohibited, Not Screened.\n- \n- \n- Presentation Prohibited, Passed Screen.\n- \n- \n- Presentation Prohibited, Failed Screen.\n- \n- \n- Presentation Prohibited, Network Number.\n- \n- \n- Number Unavailable.\n- \n- \n+ Set(DEVICE_STATE(Custom:lamp1)=BUSY)\n+ Set(DEVICE_STATE(Custom:lamp2)=NOT_INUSE)\n+ You can subscribe to the status of a custom device state using a hint in\n+\t\t\tthe dialplan:\n+ exten => 1234,hint,Custom:lamp1\n+ The possible values for both uses of this function are:\n+ UNKNOWN | NOT_INUSE | INUSE | BUSY | INVALID | UNAVAILABLE | RINGING |\n+\t\t\tRINGINUSE | ONHOLD\n \n \n- \n- Gets or sets Connected Line data on the channel.\n+ \n+ Get the devices set for a dialplan hint.\n \n- \n- The allowable datatypes are:\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ \n \n- \n- If set, this will prevent the channel from sending out protocol\n-\t\t\t\tmessages because of the value being set\n+ \n+ \n+ \n+ \n \n \n \n- Gets or sets Connected Line data on the channel.\n- \n- The\n- pres\n- field gets/sets a combined value\n-\t\t\tfor\n- name-pres\n- and\n- num-pres\n- .\n- \n- \n- The allowable values for the\n- name-charset\n- field are the following:\n- \n- \n- \n- Unknown\n- \n- \n- ISO8859-1\n- \n- \n- Withdrawn\n- \n- \n- ISO8859-2\n- \n- \n- ISO8859-3\n- \n- \n- ISO8859-4\n- \n- \n- ISO8859-5\n- \n- \n- ISO8859-7\n- \n- \n- ISO10646 Bmp String\n- \n- \n- ISO10646 UTF-8 String\n- \n- \n+ The HINT function can be used to retrieve the list of devices that are\n+\t\t\tmapped to a dialplan hint.\n+ same => n,NoOp(Hint for Extension 1234 is ${HINT(1234)})\n \n \n- \n- Gets or sets Redirecting data on the channel.\n+ \n+ core\n+ \n+ \n+ Performs Mathematical Functions.\n \n- \n- The allowable datatypes are:\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ Is of the form:\n+ number1\n+ op\n+ number2\n+ where the possible values for\n+ op\n+ are:\n+ \n+ +,-,/,*,%,<<,>>,^,AND,OR,XOR,<,>,<=,>=,== (and behave as their C equivalents)\n \n- \n- If set, this will prevent the channel from sending out protocol\n-\t\t\t\tmessages because of the value being set\n+ \n+ Wanted type of result:\n+ f, float - float(default)\n+ i, int - integer\n+ h, hex - hex\n+ c, char - char\n \n \n \n- Gets or sets Redirecting data on the channel.\n- \n- The\n- orig-pres\n- ,\n- from-pres\n- and\n- to-pres\n- fields get/set a combined value for the corresponding\n- ...-name-pres\n- and\n- ...-num-pres\n- fields.\n- \n- \n- The recognized values for the\n- reason\n- and\n- orig-reason\n- fields are the following:\n- \n- \n- \n- Callee is Away\n- \n- \n- Call Forwarding By The Called DTE\n- \n- \n- Call Forwarding Busy\n- \n- \n- Call Forwarding No Reply\n- \n- \n- Call Forwarding Unconditional\n- \n- \n- Call Deflection\n- \n- \n- Do Not Disturb\n- \n- \n- Follow Me\n- \n- \n- Called DTE Out-Of-Order\n- \n- \n- Send the call to voicemail\n- \n- \n- Time of Day\n- \n- \n- Callee is Unavailable\n- \n- \n- Unknown\n- \n- \n- \n- You can set a user defined reason string that SIP can\n-\t\t\tsend/receive instead. The user defined reason string my need to be\n-\t\t\tquoted depending upon SIP or the peer's requirements. These strings\n-\t\t\tare treated as unknown by the non-SIP channel drivers.\n- \n \n- The allowable values for the\n- xxx-name-charset\n- field are the following:\n+ Performs mathematical functions based on two parameters and an operator. The returned\n+\t\t\tvalue type is\n+ type\n \n- \n- \n- Unknown\n- \n- \n- ISO8859-1\n- \n- \n- Withdrawn\n- \n- \n- ISO8859-2\n- \n- \n- ISO8859-3\n- \n- \n- ISO8859-4\n- \n- \n- ISO8859-5\n- \n- \n- ISO8859-7\n- \n- \n- ISO10646 Bmp String\n- \n- \n- ISO10646 UTF-8 String\n- \n- \n+ same => n,Set(i=${MATH(123%16,int)})\n \n \n- \n- core\n- \n- \n- Encode a string in base64.\n+ \n+ Increments the value of a variable, while returning the updated value to the dialplan\n \n- \n- Input string\n+ \n+ The variable name to be manipulated, without the braces.\n \n \n \n- Returns the base64 string.\n+ Increments the value of a variable, while returning the updated value to the dialplan\n+ Example: INC(MyVAR) - Increments MyVar\n+ Note: INC(${MyVAR}) - Is wrong, as INC expects the variable name, not its value\n \n- \n- BASE64_DECODE\n- AES_DECRYPT\n- AES_ENCRYPT\n- \n \n- \n- Decode a base64 string.\n+ \n+ Decrements the value of a variable, while returning the updated value to the dialplan\n \n- \n- Input string.\n+ \n+ The variable name to be manipulated, without the braces.\n \n \n \n- Returns the plain text string.\n+ Decrements the value of a variable, while returning the updated value to the dialplan\n+ same => n,NoOp(${DEC(MyVAR)})\n+ \n+ DEC(${MyVAR}) is wrong, as DEC expects the variable name, not its value\n+ \n \n- \n- BASE64_ENCODE\n- AES_DECRYPT\n- AES_ENCRYPT\n- \n \n- \n- core\n- \n- \n- Checks if an Asterisk module is loaded in memory.\n+ \n+ \n+ 16.19.0\n+ 18.5.0\n+ 19.0.0\n+ \n+ Returns the minimum of two numbers.\n \n- \n- \n- Module name complete with\n- .so\n- \n- \n+ \n+ \n \n \n \n- Checks if a module is loaded. Use the full module name\n-\t\t\tas shown by the list in\n- module list\n+ Returns the minimum of two numbers\n+ num1\n+ and\n+ num2\n .\n-\t\t\tReturns\n- 1\n- if module exists in memory, otherwise\n- 0\n \n+ same => n,Set(min=${MIN(7,4)})\n \n \n- \n- core\n- \n- \n- Read from or write to the Asterisk database.\n- \n- \n- \n+ \n+ \n+ 16.19.0\n+ 18.5.0\n+ 19.0.0\n+ \n+ Returns the maximum of two numbers.\n+ \n+ \n+ \n \n \n- This function will read from or write a value to the Asterisk database. On a\n-\t\t\tread, this function returns the corresponding value from the database, or blank\n-\t\t\tif it does not exist. Reading a database value will also set the variable\n-\t\t\tDB_RESULT. If you wish to find out if an entry exists, use the DB_EXISTS\n-\t\t\tfunction.\n+ \n+ Returns the maximum of two numbers\n+ num1\n+ and\n+ num2\n+ .\n+ \n+ same => n,Set(max=${MAX(4,7)})\n \n- \n- DBdel\n- DB_DELETE\n- DBdeltree\n- DB_EXISTS\n- \n \n- \n- Check to see if a key exists in the Asterisk database.\n- \n- \n- \n+ \n+ \n+ 16.19.0\n+ 18.5.0\n+ 19.0.0\n+ \n+ Returns absolute value of a number.\n+ \n+ \n \n \n \n- This function will check to see if a key exists in the Asterisk\n-\t\t\tdatabase. If it exists, the function will return\n- 1\n- . If not,\n-\t\t\tit will return\n- 0\n- . Checking for existence of a database key will\n-\t\t\talso set the variable DB_RESULT to the key's value if it exists.\n+ Returns the absolute value of a number\n+ num\n+ .\n \n+ same => n,Set(absval=${ABS(-13)})\n \n- \n- DB\n- \n \n- \n- Obtain a list of keys within the Asterisk database.\n+ \n+ extended\n+ \n+ \n+ \n+ 16.21.0\n+ 18.7.0\n+ 19.0.0\n+ \n+ Returns the ampersand-delimited file names that would be played by the Say applications (e.g. SayAlpha, SayDigits).\n \n- \n+ \n+ The value to be translated to filenames.\n+ \n+ \n+ Say application type.\n+ \n+ \n+ Files played by SayAlpha(). Default if none is specified.\n+ \n+ \n+ Files played by SayDigits().\n+ \n+ \n+ Files played by SayMoney(). Currently supported for English and US dollars only.\n+ \n+ \n+ Files played by SayNumber(). Currently supported for English only.\n+ \n+ \n+ Files played by SayOrdinal(). Currently supported for English only.\n+ \n+ \n+ Files played by SayPhonetic().\n+ \n+ \n+ \n \n \n- This function will return a comma-separated list of keys existing\n-\t\t\tat the prefix specified within the Asterisk database. If no argument is\n-\t\t\tprovided, then a list of key families will be returned.\n+ Returns the files that would be played by a Say application. These filenames could then be\n+\t\t\tpassed directly into Playback, BackGround, Read, Queue, or any application which supports\n+\t\t\tplayback of multiple ampersand-delimited files.\n+ same => n,Read(response,${SAYFILES(123,number)})\n \n \n- DB_KEYCOUNT\n+ SayAlpha\n+ SayDigits\n+ SayMoney\n+ SayNumber\n+ SayOrdinal\n+ SayPhonetic\n \n \n- \n- Obtain the number of keys at a prefix within the Asterisk database.\n+ \n+ core\n+ \n+ \n+ Format a variable according to a format string.\n \n- \n+ \n+ \n+ \n+ \n \n \n- This function will return the number of keys that exist\n-\t\t\tat the prefix specified within the Asterisk database. If no argument is\n-\t\t\tprovided, then the number of all key families will be returned.\n+ \n+ Parses the format string specified and returns a string matching\n+\t\t\tthat format. Supports most options found in\n+ sprintf(3)\n+ .\n+\t\t\tReturns a shortened string if a format specifier is not recognized.\n+ \n \n \n- DB_KEYS\n+ sprintf(3)\n \n \n- \n- Return a value from the database and delete it.\n- \n- \n- \n+ \n+ app_chanspy\n+ func_cut\n+ func_groupcount\n+ func_uri\n+ core\n+ \n+ \n+ Execute a periodic dialplan hook into the audio of a call.\n+ \n+ \n+ (On Read Only) Context for the hook extension.\n+ \n+ \n+ (On Read Only) The hook extension.\n+ \n+ \n+ (On Read Only) Number of seconds in between hook runs.\n+\t\t\t\tWhole seconds only.\n+ \n+ \n+ (On Write Only) The hook ID.\n+ \n \n \n \n- This function will retrieve a value from the Asterisk database\n-\t\t\tand then remove that key from the database.\n- DB_RESULT\n- will be set to the key's value if it exists.\n+ For example, you could use this function to enable playing\n+\t\t\ta periodic\n+ beep\n+ sound in a call.\n+ \n+ \n+ same => n,Set(BEEPID=${PERIODIC_HOOK(hooks,beep,180)})\n+ same => n,Set(PERIODIC_HOOK(${BEEPID})=off)\n+ same => n,Set(PERIODIC_HOOK(${BEEPID})=on)\n+ It is important to note that the hook does not actually\n+\t\t\trun on the channel itself. It runs asynchronously on a new channel.\n+\t\t\tAny audio generated by the hook gets injected into the call for\n+\t\t\tthe channel PERIODIC_HOOK() was set on.\n+ \n+ \n+ The hook dialplan will have two variables available.\n+ HOOK_CHANNEL\n+ is the channel the hook is\n+\t\t\tenabled on.\n+ HOOK_ID\n+ is the hook ID for\n+\t\t\tenabling or disabling the hook.\n \n- \n- \n- If\n- live_dangerously\n- in\n- asterisk.conf\n- is set to\n- no\n- , this function can only be read from the\n-\t\t\t\tdialplan, and not directly from external protocols. It can, however, be\n-\t\t\t\texecuted as a write operation (\n- DB_DELETE(family, key)=ignored\n- )\n- \n- \n \n- \n- DBdel\n- DB\n- DBdeltree\n- \n \n \n core\n \n \n Gets or sets the global variable specified.\n \n@@ -18877,14 +19147,42 @@\n \n \n \n SHARED\n \n \n \n+ \n+ pjproject\n+ res_pjsip\n+ core\n+ \n+ \n+ Get information about a PJSIP endpoint\n+ \n+ \n+ The name of the endpoint to query.\n+ \n+ \n+ \n+ The configuration option for the endpoint to query for.\n+\t\t\t\tSupported options are those fields on the\n+ endpoint\n+ object in\n+ pjsip.conf\n+ .\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n pjproject\n res_pjsip\n core\n \n \n Get information about a PJSIP contact\n@@ -18909,303 +19207,347 @@\n \n Status of the contact\n \n \n \n \n \n- \n- core\n+ \n+ extended\n \n- \n- Intercepts hold frames on a channel and raises an event instead of passing the frame on\n+ \n+ \n+ 16.21.0\n+ 18.7.0\n+ 19.0.0\n+ \n+ Scrambles audio on a channel.\n \n- \n- \n- \n- \n- \n+ \n+ \n+ Must be\n+ TX\n+ or\n+ RX\n+ to limit to a specific direction, or\n+ both\n+ for both directions.\n+ remove\n+ will remove an existing scrambler.\n+ \n \n \n- \n- \n- core\n- \n- \n- Format a variable according to a format string.\n- \n- \n- \n- \n- \n- \n \n- \n- Parses the format string specified and returns a string matching\n-\t\t\tthat format. Supports most options found in\n- sprintf(3)\n- .\n-\t\t\tReturns a shortened string if a format specifier is not recognized.\n- \n+ Scrambles audio on a channel using whole spectrum inversion.\n+\t\t\tThis is not intended to be used for securely scrambling\n+\t\t\taudio. It merely renders obfuscates audio on a channel\n+\t\t\tto render it unintelligible, as a privacy enhancement.\n \n \n- sprintf(3)\n+ ChanSpy\n \n \n- \n- core\n+ \n+ extended\n \n- \n- Initiate an SRV query.\n+ \n+ \n+ 16.21.0\n+ 18.7.0\n+ 19.0.0\n+ \n+ Drops specific frame types in the TX or RX direction on a channel.\n \n- \n+ \n \n- The service for which to look up SRV records. An example would be something\n-\t\t\t\tlike\n- _sip._udp.example.com\n+ List of frame types to be dropped for the specified direction. Direction can be\n+ TX\n+ or\n+ RX\n+ . The\n+ TX\n+ direction will prevent Asterisk from sending frames to a channel, and the\n+ RX\n+ direction will prevent Asterisk from receiving frames from a channel.\n \n- \n- \n- \n- This will do an SRV lookup of the given service.\n- \n- \n- \n- Retrieve results from an SRVQUERY.\n- \n- \n- The identifier returned by the SRVQUERY function.\n- \n- \n- The number of the result that you want to retrieve.\n+ Subsequent calls to this function will replace previous settings, allowing certain frames to be dropped only temporarily, for instance.\n \n- Results start at\n- 1\n- . If this argument is specified\n-\t\t\t\tas\n- getnum\n- , then it will return the total number of results\n-\t\t\t\tthat are available.\n+ Below are the different types of frames that can be dropped. Other actions may need to be taken in conjunction with use of this function:\n+\t\t\t\tfor instance, if you drop ANSWER control frames, you should explicitly use\n+ Progress()\n+ for your call or undesired behavior\n+\t\t\t\tmay occur.\n \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ The following CONTROL frames can also be dropped:\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n- This function will retrieve results from a previous use\n-\t\t\tof the SRVQUERY function.\n+ Examples:\n+ exten => 1,1,Set(FRAME_DROP(TX)=DTMF_BEGIN,DTMF_END)\n+ exten => 1,1,Set(FRAME_DROP(TX)=ANSWER)\n+ exten => 1,1,Set(FRAME_DROP(RX)=DTMF_BEGIN,DTMF_END)\n \n \n- \n- speex\n- speex_preprocess\n- speexdsp\n+ \n core\n \n- \n- Apply automatic gain control to audio on a channel.\n+ \n+ Attempt to obtain a named mutex.\n \n- \n- \n- This can be either\n- rx\n- or\n- tx\n- \n- \n+ \n \n \n \n- The AGC function will apply automatic gain control to the audio on the\n-\t\t\tchannel that it is executed on. Using\n- rx\n- for audio received\n-\t\t\tand\n- tx\n- for audio transmitted to the channel. When using this\n-\t\t\tfunction you set a target audio level. It is primarily intended for use with\n-\t\t\tanalog lines, but could be useful for other channels as well. The target volume\n-\t\t\tis set with a number between\n- 1-32768\n- . The larger the number\n-\t\t\tthe louder (more gain) the channel will receive.\n+ Attempts to grab a named lock exclusively, and prevents other channels from\n+\t\t\tobtaining the same lock. LOCK will wait for the lock to become available.\n+\t\t\tReturns\n+ 1\n+ if the lock was obtained or\n+ 0\n+ on error.\n \n- exten => 1,1,Set(AGC(rx)=8000)\n-\t\t\texten => 1,2,Set(AGC(tx)=off)\n+ \n+ To avoid the possibility of a deadlock, LOCK will only attempt to\n+\t\t\tobtain the lock for 3 seconds if the channel already has another lock.\n+ \n+ \n+ \n+ If\n+ live_dangerously\n+ in\n+ asterisk.conf\n+ is set to\n+ no\n+ , this function can only be executed from the\n+\t\t\t\tdialplan, and not directly from external protocols.\n+ \n+ \n \n \n- \n- Apply noise reduction to audio on a channel.\n+ \n+ Attempt to obtain a named mutex.\n \n- \n+ \n+ \n+ \n+ \n+ Attempts to grab a named lock exclusively, and prevents other channels\n+\t\t\tfrom obtaining the same lock. Returns\n+ 1\n+ if the lock was\n+\t\t\tavailable or\n+ 0\n+ otherwise.\n+ \n+ \n \n- This can be either\n- rx\n- or\n- tx\n- the values that can be set to this are either\n- on\n- and\n- off\n+ If\n+ live_dangerously\n+ in\n+ asterisk.conf\n+ is set to\n+ no\n+ , this function can only be executed from the\n+\t\t\t\tdialplan, and not directly from external protocols.\n \n- \n+ \n+ \n+ \n+ \n+ Unlocks a named mutex.\n+ \n+ \n \n \n \n- The DENOISE function will apply noise reduction to audio on the channel\n-\t\t\tthat it is executed on. It is very useful for noisy analog lines, especially\n-\t\t\twhen adjusting gains or using AGC. Use\n- rx\n- for audio received from the channel\n-\t\t\tand\n- tx\n- to apply the filter to the audio being sent to the channel.\n+ Unlocks a previously locked mutex. Returns\n+ 1\n+ if the channel\n+\t\t\thad a lock or\n+ 0\n+ otherwise.\n \n- exten => 1,1,Set(DENOISE(rx)=on)\n-\t\t\texten => 1,2,Set(DENOISE(tx)=off)\n+ \n+ It is generally unnecessary to unlock in a hangup routine, as any locks\n+\t\t\theld are automatically freed when the channel is destroyed.\n+ \n+ \n+ \n+ If\n+ live_dangerously\n+ in\n+ asterisk.conf\n+ is set to\n+ no\n+ , this function can only be executed from the\n+\t\t\t\tdialplan, and not directly from external protocols.\n+ \n+ \n \n \n- \n+ \n core\n \n- \n- Get or Set a device state.\n+ \n+ Check if a value is NULL.\n \n- \n+ \n \n \n- The DEVICE_STATE function can be used to retrieve the device state from any\n-\t\t\tdevice state provider. For example:\n- NoOp(SIP/mypeer has state ${DEVICE_STATE(SIP/mypeer)})\n- NoOp(Conference number 1234 has state ${DEVICE_STATE(MeetMe:1234)})\n \n- The DEVICE_STATE function can also be used to set custom device state from\n-\t\t\tthe dialplan. The\n- Custom:\n- prefix must be used. For example:\n+ Returns\n+ 1\n+ if NULL or\n+ 0\n+ otherwise.\n \n- Set(DEVICE_STATE(Custom:lamp1)=BUSY)\n- Set(DEVICE_STATE(Custom:lamp2)=NOT_INUSE)\n- You can subscribe to the status of a custom device state using a hint in\n-\t\t\tthe dialplan:\n- exten => 1234,hint,Custom:lamp1\n- The possible values for both uses of this function are:\n- UNKNOWN | NOT_INUSE | INUSE | BUSY | INVALID | UNAVAILABLE | RINGING |\n-\t\t\tRINGINUSE | ONHOLD\n \n \n- \n- Get the devices set for a dialplan hint.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ SET assigns a value to a channel variable.\n+ \n+ \n+ \n \n- \n- The HINT function can be used to retrieve the list of devices that are\n-\t\t\tmapped to a dialplan hint.\n- same => n,NoOp(Hint for Extension 1234 is ${HINT(1234)})\n- \n+ \n \n- \n- core\n- \n- \n- Encodes a string to URI-safe encoding according to RFC 2396.\n+ \n+ Test the existence of a value.\n \n- \n- Input string to be encoded.\n- \n+ \n \n \n \n- Returns the encoded string defined in\n- data\n- .\n+ Returns\n+ 1\n+ if exists,\n+ 0\n+ otherwise.\n \n \n \n- \n- Decodes a URI-encoded string according to RFC 2396.\n- \n- \n- Input string to be decoded.\n+ \n+ Check for an expression.\n+ \n+ \n+ \n+ \n+ \n \n \n \n \n- Returns the decoded URI-encoded\n- data\n- string.\n+ Returns the data following\n+ ?\n+ if true, else the data following\n+ :\n \n \n \n- \n- core\n- \n- \n- Set or get the TX or RX volume of a channel.\n- \n- \n- \n- Must be\n- TX\n- or\n- RX\n- .\n- \n- \n- \n- \n- \n- \n+ \n+ Temporal Conditional.\n+ \n+ \n+ \n+ \n+ \n \n \n \n \n- The VOLUME function can be used to increase or decrease the\n- tx\n- or\n- rx\n- gain of any channel.\n+ Returns the data following\n+ ?\n+ if true, else the data following\n+ :\n \n- same => n,Set(VOLUME(TX)=3)\n- same => n,Set(VOLUME(RX)=2)\n- same => n,Set(VOLUME(TX,p)=3)\n- same => n,Set(VOLUME(RX,p)=3)\n- same => n,Set(VOLUME(RX)=-4)\n- same => n,Set(VOLUME(RX)=0)\n \n \n- \n+ \n+ Retrieve the value of a variable from another channel.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n core\n \n- \n- Computes an MD5 digest.\n+ \n+ Executes a command using the system shell and captures its output.\n \n- \n+ \n+ The command that the shell should execute.\n+ \n+ \n+ Do not use untrusted strings such as\n+ CALLERID(num)\n+ or\n+ CALLERID(name)\n+ as part of the command parameters. You\n+\t\t\t\trisk a command injection attack executing arbitrary commands if the untrusted\n+\t\t\t\tstrings aren't filtered to remove dangerous characters. See function\n+ FILTER()\n+ .\n+ \n+ \n+ \n \n \n- Computes an MD5 digest.\n+ Collects the output generated by a command executed by the system shell\n+ exten => s,1,Set(foo=${SHELL(echo bar)})\n+ \n+ The command supplied to this function will be executed by the\n+\t\t\t\tsystem's shell, typically specified in the SHELL environment variable. There\n+\t\t\t\tare many different system shells available with somewhat different behaviors,\n+\t\t\t\tso the output generated by this function may vary between platforms.\n+ \n+ If\n+ live_dangerously\n+ in\n+ asterisk.conf\n+ is set to\n+ no\n+ , this function can only be executed from the\n+\t\t\t\tdialplan, and not directly from external protocols.\n+ \n+ \n \n \n \n core\n \n \n Initiate an ENUM query.\n@@ -19339,730 +19681,536 @@\n \n \n This function looks up the given phone number in DNS to retrieve\n \t\t\tthe caller id name. The result will either be blank or be the value\n \t\t\tfound in the TXT record in DNS.\n \n \n- \n+ \n core\n \n- \n- Gets or sets a CDR variable.\n- \n- \n- CDR field name:\n- \n- \n- Caller ID.\n- \n- \n- Last application arguments.\n- \n- \n- The final state of the CDR.\n- \n- \n- \n- NO ANSWER\n- \n- \n- \n- \n- NO ANSWER\n- (NULL record)\n- \n- \n- \n- \n- FAILED\n- \n- \n- \n- \n- BUSY\n- \n- \n- \n- \n- ANSWERED\n- \n- \n- \n- \n- CONGESTION\n- \n- \n- \n- \n- \n- Source.\n- \n- \n- Time the call started.\n- \n- \n- R/W the Automatic Message Accounting (AMA) flags on the channel.\n-\t\t\t\t\t\tWhen read from a channel, the integer value will always be returned.\n-\t\t\t\t\t\tWhen written to a channel, both the string format or integer value\n-\t\t\t\t\t\tis accepted.\n- \n- \n- \n- OMIT\n- \n- \n- \n- \n- BILLING\n- \n- \n- \n- \n- DOCUMENTATION\n- \n- \n- \n- \n- Accessing this setting is deprecated in CDR. Please use the CHANNEL function instead.\n- \n- \n- \n- Destination.\n- \n- \n- Time the call was answered.\n- \n- \n- The channel's account code.\n- \n- Accessing this setting is deprecated in CDR. Please use the CHANNEL function instead.\n- \n- \n- \n- Destination context.\n- \n- \n- Time the call ended.\n- \n- \n- The channel's unique id.\n- \n- \n- Destination channel.\n- \n- \n- Duration of the call.\n- \n- \n- The channel's user specified field.\n- \n- \n- Last application.\n- \n- \n- Duration of the call once it was answered.\n- \n- \n- Channel name.\n- \n- \n- CDR sequence number.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ Read from or write to the Asterisk database.\n+ \n+ \n+ \n \n \n- \n- All of the CDR field names are read-only, except for\n- accountcode\n- ,\n- userfield\n- , and\n- amaflags\n- . You may, however, supply\n-\t\t\ta name not on the above list, and create your own variable, whose value can be changed\n-\t\t\twith this function, and this variable will be stored on the CDR.\n- \n- \n- \n- CDRs can only be modified before the bridge between two channels is\n-\t\t\ttorn down. For example, CDRs may not be modified after the\n- Dial\n- application has returned.\n- \n- \n- exten => 1,1,Set(CDR(userfield)=test)\n+ This function will read from or write a value to the Asterisk database. On a\n+\t\t\tread, this function returns the corresponding value from the database, or blank\n+\t\t\tif it does not exist. Reading a database value will also set the variable\n+\t\t\tDB_RESULT. If you wish to find out if an entry exists, use the DB_EXISTS\n+\t\t\tfunction.\n \n+ \n+ DBdel\n+ DB_DELETE\n+ DBdeltree\n+ DB_EXISTS\n+ \n \n- \n- Set a property on a channel's CDR.\n- \n- \n- The property to set on the CDR.\n- \n- \n- Set this channel as the preferred Party A when\n-\t\t\t\t\t\tchannels are associated together.\n- Write-Only\n- \n- \n- Setting to 1 will disable CDRs for this channel.\n-\t\t\t\t\t\tSetting to 0 will enable CDRs for this channel.\n- Write-Only\n- \n- \n- \n+ \n+ Check to see if a key exists in the Asterisk database.\n+ \n+ \n+ \n \n \n- This function sets a property on a channel's CDR. Properties\n-\t\t\talter the behavior of how the CDR operates for that channel.\n+ \n+ This function will check to see if a key exists in the Asterisk\n+\t\t\tdatabase. If it exists, the function will return\n+ 1\n+ . If not,\n+\t\t\tit will return\n+ 0\n+ . Checking for existence of a database key will\n+\t\t\talso set the variable DB_RESULT to the key's value if it exists.\n+ \n \n+ \n+ DB\n+ \n \n- \n- pjproject\n- res_pjsip\n- core\n- \n- \n- Get information about a PJSIP AOR\n- \n- \n- The name of the AOR to query.\n- \n- \n- \n- The configuration option for the AOR to query for.\n-\t\t\t\tSupported options are those fields on the\n- aor\n- object in\n- pjsip.conf\n- .\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- core\n- \n- \n- Return the Version info for this Asterisk.\n+ \n+ Obtain a list of keys within the Asterisk database.\n \n- \n- The possible values are:\n- \n- \n- A string of digits is returned, e.g. 10602 for 1.6.2 or 100300 for 10.3.0,\n-\t\t\t\t\t\tor 999999 when using a Git build.\n- \n- \n- The string representing the user's name whose account\n-\t\t\t\t\t\twas used to configure Asterisk, is returned.\n- \n- \n- The string representing the name of the host on which Asterisk was configured, is returned.\n- \n- \n- The string representing the type of machine on which Asterisk was configured, is returned.\n- \n- \n- The string representing the OS of the machine on which Asterisk was configured, is returned.\n- \n- \n- The string representing the date on which Asterisk was configured, is returned.\n- \n- \n- The string representing the kernel version of the machine on which Asterisk\n-\t\t\t\t\t\twas configured, is returned.\n- \n- \n- \n+ \n \n \n- If there are no arguments, return the version of Asterisk in this format: 18.12.0\n- same => n,Set(junky=${VERSION()} ; sets junky to 18.12.0, or possibly GITMasterxxxxxx\n+ This function will return a comma-separated list of keys existing\n+\t\t\tat the prefix specified within the Asterisk database. If no argument is\n+\t\t\tprovided, then a list of key families will be returned.\n \n+ \n+ DB_KEYCOUNT\n+ \n \n- \n- core\n- \n- \n- Checks the existence of a dialplan target.\n+ \n+ Obtain the number of keys at a prefix within the Asterisk database.\n \n- \n- \n- \n+ \n \n \n- \n- This function returns\n- 1\n- if the target exits. Otherwise, it returns\n- 0\n- .\n- \n+ This function will return the number of keys that exist\n+\t\t\tat the prefix specified within the Asterisk database. If no argument is\n+\t\t\tprovided, then the number of all key families will be returned.\n \n+ \n+ DB_KEYS\n+ \n \n- \n- Determine whether an extension exists or not.\n- \n- \n- Defaults to the current context\n- \n- \n- \n- \n- Priority defaults to\n- 1\n- .\n- \n- \n+ \n+ Return a value from the database and delete it.\n+ \n+ \n+ \n \n \n \n- Returns a true value if the indicated\n- context\n- ,\n- extension\n- , and\n- priority\n- exist.\n+ This function will retrieve a value from the Asterisk database\n+\t\t\tand then remove that key from the database.\n+ DB_RESULT\n+ will be set to the key's value if it exists.\n \n- \n+ \n \n- This function has been deprecated in favor of the\n- DIALPLAN_EXISTS()\n- function\n+ If\n+ live_dangerously\n+ in\n+ asterisk.conf\n+ is set to\n+ no\n+ , this function can only be read from the\n+\t\t\t\tdialplan, and not directly from external protocols. It can, however, be\n+\t\t\t\texecuted as a write operation (\n+ DB_DELETE(family, key)=ignored\n+ )\n \n- \n+ \n \n+ \n+ DBdel\n+ DB\n+ DBdeltree\n+ \n \n- \n- res_odbc\n- generic_odbc\n+ \n core\n \n- \n- Fetch a row from a multirow query.\n+ \n+ Gets or sets the environment variable specified.\n \n- \n+ \n+ Environment variable name\n+ \n \n \n \n- For queries which are marked as mode=multirow, the original\n-\t\t\tquery returns a\n- result-id\n- from which results\n-\t\t\tmay be fetched. This function implements the actual fetch of the results.\n- \n- \n- This also sets\n- ODBC_FETCH_STATUS\n- .\n+ Variables starting with\n+ AST_\n+ are reserved to the system and may not be set.\n \n+ Additionally, the following system variables are available as special built-in dialplan variables.\n+\t\t\tThese variables cannot be set or modified and are read-only.\n \n- \n- If rows are available.\n- If no rows are available.\n+ \n+ Current unix style epoch\n+ \n+ \n+ \n+ value of the\n+ systemname\n+ option from\n+ asterisk.conf\n+ \n+ \n+ \n+ \n+ value of the\n+ astcachedir\n+ option from\n+ asterisk.conf\n+ \n+ \n+ \n+ \n+ value of the\n+ astetcdir\n+ option from\n+ asterisk.conf\n+ \n+ \n+ \n+ \n+ value of the\n+ astmoddir\n+ option from\n+ asterisk.conf\n+ \n+ \n+ \n+ \n+ value of the\n+ astvarlib\n+ option from\n+ asterisk.conf\n+ \n+ \n+ \n+ \n+ value of the\n+ astdbdir\n+ option from\n+ asterisk.conf\n+ \n+ \n+ \n+ \n+ value of the\n+ astkeydir\n+ option from\n+ asterisk.conf\n+ \n+ \n+ \n+ \n+ value of the\n+ astdatadir\n+ option from\n+ asterisk.conf\n+ \n+ \n+ \n+ \n+ value of the\n+ astagidir\n+ option from\n+ asterisk.conf\n+ \n+ \n+ \n+ \n+ value of the\n+ astspooldir\n+ option from\n+ asterisk.conf\n+ \n+ \n+ \n+ \n+ value of the\n+ astrundir\n+ option from\n+ asterisk.conf\n+ \n+ \n+ \n+ \n+ value of the\n+ astlogdir\n+ option from\n+ asterisk.conf\n+ \n+ \n+ \n+ \n+ value of the\n+ astsbindir\n+ option from\n+ asterisk.conf\n+ \n+ \n+ \n+ \n+ Global Entity ID set automatically, or from\n+ asterisk.conf\n+ \n \n \n \n \n- \n- Clear the resultset of a sucessful multirow query.\n- \n- \n- \n- \n- For queries which are marked as mode=multirow, this will clear\n-\t\t\tany remaining rows of the specified resultset.\n- \n- \n- \n- Escapes single ticks for use in SQL statements.\n+ \n+ Does a check on the specified file.\n \n- \n+ \n+ Flag may be one of the following:\n+ d - Checks if the file is a directory.\n+ e - Checks if the file exists.\n+ f - Checks if the file is a regular file.\n+ m - Returns the file mode (in octal)\n+ s - Returns the size (in bytes) of the file\n+ A - Returns the epoch at which the file was last accessed.\n+ C - Returns the epoch at which the inode was last changed.\n+ M - Returns the epoch at which the file was last modified.\n+ \n+ \n \n \n- \n- Used in SQL templates to escape data which may contain single ticks\n- '\n- which are otherwise used to delimit data.\n- \n- SELECT foo FROM bar WHERE baz='${SQL_ESC(${ARG1})}'\n+ \n+ \n+ If\n+ live_dangerously\n+ in\n+ asterisk.conf\n+ is set to\n+ no\n+ , this function can only be executed from the\n+\t\t\t\tdialplan, and not directly from external protocols.\n+ \n+ \n \n \n- \n- Escapes backslashes for use in SQL statements.\n+ \n+ Read or write text file.\n \n- \n- \n- \n- \n- Used in SQL templates to escape data which may contain backslashes\n- \\\n- which are otherwise used to escape data.\n- \n- SELECT foo FROM bar WHERE baz='${SQL_ESC(${SQL_ESC_BACKSLASHES(${ARG1})})}'\n- \n- \n- \n- core\n- \n- \n- Get an extension's state.\n- \n- \n- \n+ \n+ \n \n- If it is not specified defaults to\n- default\n- .\n+ Maybe specified as any number. If negative,\n+ offset\n+ specifies the number\n+\t\t\t\tof bytes back from the end of the file.\n \n \n- \n- \n- The EXTENSION_STATE function can be used to retrieve the state from any\n-\t\t\thinted extension. For example:\n- NoOp(1234@default has state ${EXTENSION_STATE(1234)})\n- NoOp(4567@home has state ${EXTENSION_STATE(4567@home)})\n- The possible values returned by this function are:\n- UNKNOWN | NOT_INUSE | INUSE | BUSY | INVALID | UNAVAILABLE | RINGING |\n-\t\t\tRINGINUSE | HOLDINUSE | ONHOLD\n- \n- \n- \n- core\n- \n- \n- Get or set a call completion configuration parameter for a channel.\n- \n- \n- The allowable options are:\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ If specified, will limit the length of the data read to that size. If negative,\n+\t\t\t\ttrims\n+ length\n+ bytes from the end of the file.\n+ \n \n- \n- \n- \n- The CALLCOMPLETION function can be used to get or set a call\n-\t\t\tcompletion configuration parameter for a channel. Note that setting\n-\t\t\ta configuration parameter will only change the parameter for the\n-\t\t\tduration of the call.\n-\n-\t\t\tFor more information see\n- doc/AST.pdf\n- .\n-\t\t\tFor more information on call completion parameters, see\n- configs/ccss.conf.sample\n- .\n- \n- \n- \n- \n- core\n- \n- \n- Gets per-channel hangupcause information from the channel.\n- \n- \n- The name of the channel for which to retrieve cause information.\n+ \n+ \n+ \n+ \n+ \n+ \n \n- \n- Parameter describing which type of information is requested. Types are:\n- \n- \n- Technology-specific cause information\n- \n- \n- Translated Asterisk cause code\n- \n- \n+ \n+ \n+ The\n+ format\n+ parameter may be\n+\t\t\t\tused to delimit the type of line terminators in line mode.\n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n- Gets technology-specific or translated Asterisk cause code information\n-\t\t\tfrom the channel for the specified channel that resulted from a dial.\n- \n- \n- HANGUPCAUSE_KEYS\n- HangupCauseClear\n- \n- \n- \n- Gets the list of channels for which hangup causes are available.\n- \n- Returns a comma-separated list of channel names to be used with the HANGUPCAUSE function.\n+ Read and write text file in character and line mode.\n+ Examples:\n+ Read mode (byte):\n+ same => n,Set(foo=${FILE(/tmp/test.txt)})\n+ same => n,Set(foo=${FILE(/tmp/test.txt,10)})\n+ same => n,Set(foo=${FILE(/tmp/test.txt,10,10)})\n+ Read mode (line):\n+ same => n,Set(foo=${FILE(/tmp/test.txt,3,1,l)})\n+ same => n,Set(foo=${FILE(/tmp/test.txt,3,2,l)})\n+ same => n,Set(foo=${FILE(/tmp/test.txt,3,,l)})\n+ same => n,Set(foo=${FILE(/tmp/test.txt,-3,,l)})\n+ same => n,Set(foo=${FILE(/tmp/test.txt,3,1,l,d)})\n+ Write mode (byte):\n+ same => n,Set(FILE(/tmp/test.txt)=bar)\n+ same => n,Set(FILE(/tmp/test.txt,,,a)=bar)\n+ same => n,Set(FILE(/tmp/test.txt,0,1)=bar)\n+ same => n,Set(FILE(/tmp/test.txt,20,10)=bar)\n+ same => n,Set(FILE(/tmp/test.txt,20)=bar)\n+ same => n,Set(FILE(/tmp/test.txt,4,0)=bar)\n+ Write mode (line):\n+ same => n,Set(FILE(/tmp/foo.txt,0,1,l)=bar)\n+ same => n,Set(FILE(/tmp/foo.txt,-1,,l)=bar)\n+ same => n,Set(FILE(/tmp/foo.txt,,,al)=bar)\n+ \n+ \n+ If\n+ live_dangerously\n+ in\n+ asterisk.conf\n+ is set to\n+ no\n+ , this function can only be executed from the\n+\t\t\t\tdialplan, and not directly from external protocols.\n+ \n+ \n \n \n- HANGUPCAUSE\n- HangupCauseClear\n+ FILE_COUNT_LINE\n+ FILE_FORMAT\n \n \n- \n- Clears hangup cause information from the channel that is available through HANGUPCAUSE.\n- \n- Clears all channel-specific hangup cause information from the channel.\n-\t\t\tThis is never done automatically (i.e. for new Dial()s).\n- \n- \n- HANGUPCAUSE\n- HANGUPCAUSE_KEYS\n- \n- \n- \n- core\n- \n- \n- Performs Mathematical Functions.\n+ \n+ Obtains the number of lines of a text file.\n \n- \n- \n- Is of the form:\n- number1\n- op\n- number2\n- where the possible values for\n- op\n- are:\n- \n- +,-,/,*,%,<<,>>,^,AND,OR,XOR,<,>,<=,>=,== (and behave as their C equivalents)\n- \n- \n- Wanted type of result:\n- f, float - float(default)\n- i, int - integer\n- h, hex - hex\n- c, char - char\n+ \n+ \n+ Format may be one of the following:\n+ \n+ \n+ \n+ \n+ \n+ \n+ If not specified, an attempt will be made to determine the newline format type.\n+ \n \n \n \n \n- Performs mathematical functions based on two parameters and an operator. The returned\n-\t\t\tvalue type is\n- type\n+ Returns the number of lines, or\n+ -1\n+ on error.\n \n- same => n,Set(i=${MATH(123%16,int)})\n- \n- \n- \n- Increments the value of a variable, while returning the updated value to the dialplan\n- \n- \n- The variable name to be manipulated, without the braces.\n- \n- \n- \n- Increments the value of a variable, while returning the updated value to the dialplan\n- Example: INC(MyVAR) - Increments MyVar\n- Note: INC(${MyVAR}) - Is wrong, as INC expects the variable name, not its value\n- \n- \n- \n- Decrements the value of a variable, while returning the updated value to the dialplan\n- \n- \n- The variable name to be manipulated, without the braces.\n- \n- \n- \n- Decrements the value of a variable, while returning the updated value to the dialplan\n- same => n,NoOp(${DEC(MyVAR)})\n \n- DEC(${MyVAR}) is wrong, as DEC expects the variable name, not its value\n+ \n+ If\n+ live_dangerously\n+ in\n+ asterisk.conf\n+ is set to\n+ no\n+ , this function can only be executed from the\n+\t\t\t\tdialplan, and not directly from external protocols.\n+ \n \n \n+ \n+ FILE\n+ FILE_FORMAT\n+ \n \n- \n- \n- 16.19.0\n- 18.5.0\n- 19.0.0\n- \n- Returns the minimum of two numbers.\n+ \n+ Return the newline format of a text file.\n \n- \n- \n+ \n \n \n- \n- Returns the minimum of two numbers\n- num1\n- and\n- num2\n- .\n- \n- same => n,Set(min=${MIN(7,4)})\n+ Return the line terminator type:\n+ 'u' - Unix "\\n" format\n+ 'd' - DOS "\\r\\n" format\n+ 'm' - Macintosh "\\r" format\n+ 'x' - Cannot be determined\n+ \n+ \n+ If\n+ live_dangerously\n+ in\n+ asterisk.conf\n+ is set to\n+ no\n+ , this function can only be executed from the\n+\t\t\t\tdialplan, and not directly from external protocols.\n+ \n+ \n \n+ \n+ FILE\n+ FILE_COUNT_LINE\n+ \n \n- \n+ \n \n- 16.19.0\n- 18.5.0\n+ 16.21.0\n+ 18.7.0\n 19.0.0\n \n- Returns the maximum of two numbers.\n+ Return the name of a file.\n \n- \n- \n+ \n \n \n- \n- Returns the maximum of two numbers\n- num1\n- and\n- num2\n- .\n- \n- same => n,Set(max=${MAX(4,7)})\n+ Return the base file name, given a full file path.\n+ same => n,Set(basename=${BASENAME(/etc/asterisk/extensions.conf)})\n+\t\t\tsame => n,NoOp(${basename}) ; outputs extensions.conf\n \n+ \n+ DIRNAME\n+ \n \n- \n+ \n \n- 16.19.0\n- 18.5.0\n+ 16.21.0\n+ 18.7.0\n 19.0.0\n \n- Returns absolute value of a number.\n+ Return the directory of a file.\n \n- \n+ \n \n \n- \n- Returns the absolute value of a number\n- num\n- .\n- \n- same => n,Set(absval=${ABS(-13)})\n+ Return the directory of a file, given a full file path.\n+ same => n,Set(dirname=${DIRNAME(/etc/asterisk/extensions.conf)})\n+\t\t\tsame => n,NoOp(${dirname}) ; outputs /etc/asterisk\n \n+ \n+ BASENAME\n+ \n \n- \n+ \n core\n \n- \n- Choose a random number in a range.\n+ \n+ Encode a string in base64.\n \n- \n- \n+ \n+ Input string\n+ \n \n \n- \n- Choose a random number between\n- min\n- and\n- max\n- .\n- min\n- defaults to\n- 0\n- , if not specified, while\n- max\n- defaults\n-\t\t\tto\n- RAND_MAX\n- (2147483647 on many systems).\n- \n- exten => s,1,Set(junky=${RAND(1,8)})\n+ Returns the base64 string.\n \n+ \n+ BASE64_DECODE\n+ AES_DECRYPT\n+ AES_ENCRYPT\n+ \n \n- \n- core\n- \n- \n- Returns system information specified by parameter.\n+ \n+ Decode a base64 string.\n \n- \n- \n- \n- System load average from past minute.\n- \n- \n- Number of active calls currently in progress.\n- \n- \n- System uptime in hours.\n- \n- This parameter is dependant upon operating system.\n- \n- \n- \n- Total usable main memory size in KiB.\n- \n- This parameter is dependant upon operating system.\n- \n- \n- \n- Available memory size in KiB.\n- \n- This parameter is dependant upon operating system.\n- \n- \n- \n- Memory used by buffers in KiB.\n- \n- This parameter is dependant upon operating system.\n- \n- \n- \n- Total swap space still available in KiB.\n- \n- This parameter is dependant upon operating system.\n- \n- \n- \n- Free swap space still available in KiB.\n- \n- This parameter is dependant upon operating system.\n- \n- \n- \n- Number of current processes.\n- \n- This parameter is dependant upon operating system.\n- \n- \n- \n+ \n+ Input string.\n \n \n \n- Returns information from a given parameter.\n+ Returns the plain text string.\n \n+ \n+ BASE64_ENCODE\n+ AES_DECRYPT\n+ AES_ENCRYPT\n+ \n \n \n core\n \n \n Gets the list of channels, optionally filtering by a regular expression.\n \n@@ -20367,1839 +20515,3306 @@\n \n \n Asterisk cause of hangup (inbound/outbound)\n \n \n \n \n- \n- extended\n+ \n+ core\n \n- \n- Pitch shift both tx and rx audio streams on a channel.\n+ \n+ Initiate an SRV query.\n \n- \n+ \n \n- Direction can be either\n- rx\n- ,\n- tx\n- , or\n- both\n- . The direction can either be set to a valid floating\n-\t\t\t\tpoint number between 0.1 and 4.0 or one of the enum values listed below. A value\n-\t\t\t\tof 1.0 has no effect. Greater than 1 raises the pitch. Lower than 1 lowers\n-\t\t\t\tthe pitch.\n+ The service for which to look up SRV records. An example would be something\n+\t\t\t\tlike\n+ _sip._udp.example.com\n \n- The pitch amount can also be set by the following values\n- \n- \n- \n- \n- \n- \n- \n- \n \n \n \n- Examples:\n- exten => 1,1,Set(PITCH_SHIFT(tx)=highest)\n- exten => 1,1,Set(PITCH_SHIFT(rx)=higher)\n- exten => 1,1,Set(PITCH_SHIFT(both)=high)\n- exten => 1,1,Set(PITCH_SHIFT(rx)=low)\n- exten => 1,1,Set(PITCH_SHIFT(tx)=lower)\n- exten => 1,1,Set(PITCH_SHIFT(both)=lowest)\n- exten => 1,1,Set(PITCH_SHIFT(rx)=0.8)\n- exten => 1,1,Set(PITCH_SHIFT(tx)=1.5)\n+ This will do an SRV lookup of the given service.\n \n \n- \n- extended\n- \n- \n- \n- 16.21.0\n- 18.7.0\n- 19.0.0\n- \n- Drops specific frame types in the TX or RX direction on a channel.\n+ \n+ Retrieve results from an SRVQUERY.\n \n- \n- \n- List of frame types to be dropped for the specified direction. Direction can be\n- TX\n- or\n- RX\n- . The\n- TX\n- direction will prevent Asterisk from sending frames to a channel, and the\n- RX\n- direction will prevent Asterisk from receiving frames from a channel.\n- \n- Subsequent calls to this function will replace previous settings, allowing certain frames to be dropped only temporarily, for instance.\n+ \n+ The identifier returned by the SRVQUERY function.\n+ \n+ \n+ The number of the result that you want to retrieve.\n \n- Below are the different types of frames that can be dropped. Other actions may need to be taken in conjunction with use of this function:\n-\t\t\t\tfor instance, if you drop ANSWER control frames, you should explicitly use\n- Progress()\n- for your call or undesired behavior\n-\t\t\t\tmay occur.\n+ Results start at\n+ 1\n+ . If this argument is specified\n+\t\t\t\tas\n+ getnum\n+ , then it will return the total number of results\n+\t\t\t\tthat are available.\n \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- The following CONTROL frames can also be dropped:\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n \n \n \n- Examples:\n- exten => 1,1,Set(FRAME_DROP(TX)=DTMF_BEGIN,DTMF_END)\n- exten => 1,1,Set(FRAME_DROP(TX)=ANSWER)\n- exten => 1,1,Set(FRAME_DROP(RX)=DTMF_BEGIN,DTMF_END)\n+ This function will retrieve results from a previous use\n+\t\t\tof the SRVQUERY function.\n \n \n- \n+ \n+ TEST_FRAMEWORK\n+ curl\n+ res_http_media_cache\n core\n \n- \n- Check if the callerid is on the blacklist.\n- \n- \n- \n- Uses astdb to check if the Caller*ID is in family\n- blacklist\n- .\n-\t\t\tReturns\n- 1\n- or\n- 0\n- .\n- \n- \n- \n- DB\n- \n- \n- \n+ \n+ TEST_FRAMEWORK\n core\n \n- \n- Sorts a list of key/vals into a list of keys, based upon the vals.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Takes a comma-separated list of keys and values, each separated by a colon, and returns a\n-\t\t\tcomma-separated list of the keys, sorted by their values. Values will be evaluated as\n-\t\t\tfloating-point numbers.\n- \n- \n- \n- Slices and dices strings, based upon a named delimiter.\n- \n- \n- Variable you want cut\n- \n- \n- \n- Delimiter, defaults to\n- -\n- \n- \n- \n- \n- Number of the field you want (1-based offset), may also be specified as a range (with\n- -\n- )\n-\t\t\t\tor group of ranges and fields (with\n- &\n- )\n- \n- \n- \n- \n- \n- Cut out information from a string (\n- varname\n- ), based upon a named delimiter.\n- \n- \n- \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n+ func_sorcery\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n- curl\n- res_http_media_cache\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n \n TEST_FRAMEWORK\n res_agi\n res_crypto\n crypto\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n- OPTIONAL_API\n core\n \n- \n+ \n TEST_FRAMEWORK\n- res_stasis_test\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n- format_g723\n- format_g726\n- format_g729\n- format_gsm\n- format_ogg_vorbis\n- format_pcm\n- format_siren14\n- format_siren7\n- format_sln\n- format_wav\n- format_wav_gsm\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n- res_http_websocket\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n+ TEST_FRAMEWORK\n+ core\n+ \n+ \n TEST_FRAMEWORK\n core\n \n+ \n+ TEST_FRAMEWORK\n+ core\n+ \n+ \n+ TEST_FRAMEWORK\n+ res_stasis\n+ core\n+ \n \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n+ res_stasis_test\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n+ res_ari\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n+ res_ari_model\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n+ TEST_FRAMEWORK\n+ core\n+ \n+ \n TEST_FRAMEWORK\n core\n \n \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n+ format_g723\n+ format_g726\n+ format_g729\n+ format_gsm\n+ format_ogg_vorbis\n+ format_pcm\n+ format_siren14\n+ format_siren7\n+ format_sln\n+ format_wav\n+ format_wav_gsm\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n- res_ari_model\n core\n \n- \n+ \n TEST_FRAMEWORK\n- res_ari\n core\n \n- \n+ \n TEST_FRAMEWORK\n+ res_http_websocket\n core\n \n- \n+ \n TEST_FRAMEWORK\n+ func_curl\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n- res_stasis\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n \n TEST_FRAMEWORK\n pjproject\n res_pjsip\n core\n \n- \n+ \n TEST_FRAMEWORK\n+ OPTIONAL_API\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n- func_curl\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n+ \n TEST_FRAMEWORK\n- func_sorcery\n core\n \n- \n+ \n TEST_FRAMEWORK\n core\n \n- \n- TEST_FRAMEWORK\n+ \n core\n \n- \n- TEST_FRAMEWORK\n+ \n core\n \n- \n- TEST_FRAMEWORK\n+ \n core\n \n- \n- TEST_FRAMEWORK\n+ \n core\n \n- \n- TEST_FRAMEWORK\n+ \n core\n \n- \n- TEST_FRAMEWORK\n+ \n core\n \n- \n+ \n core\n \n- \n- Answer a channel if ringing.\n- \n- \n- Asterisk will wait this number of milliseconds before returning to\n-\t\t\t\tthe dialplan after answering the call.\n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ \n+ Raised when all Asterisk initialization procedures have finished.\n+ \n+ \n+ Informational message\n+ \n+ \n+ Seconds since start\n+ \n+ \n+ Seconds since last reload\n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when Asterisk is shutdown or restarted.\n+ \n+ \n+ Whether the shutdown is proceeding cleanly (all channels\n+\t\t\t\t\twere hungup successfully) or uncleanly (channels will be\n+\t\t\t\t\tterminated)\n+ \n+ \n+ \n+ \n+ \n+ \n+ Whether or not a restart will occur.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ \n+ Raised when a request violates an ACL check.\n+ \n+ \n+ The time the event was detected.\n+ \n+ \n+ A relative severity of the security event.\n+ \n+ \n+ \n+ \n+ \n+ \n+ The Asterisk service that raised the security event.\n+ \n+ \n+ The version of this event.\n+ \n+ \n+ The Service account associated with the security event\n+\t\t\t\t\tnotification.\n+ \n+ \n+ A unique identifier for the session in the service\n+\t\t\t\t\tthat raised the event.\n+ \n+ \n+ The address of the Asterisk service that raised the\n+\t\t\t\t\tsecurity event.\n+ \n+ \n+ The remote address of the entity that caused the\n+\t\t\t\t\tsecurity event to be raised.\n+ \n+ \n+ If available, the name of the module that raised the event.\n+ \n+ \n+ If available, the name of the ACL that failed.\n+ \n+ \n+ The timestamp reported by the session.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a request fails an authentication check due to an invalid account ID.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a request fails due to exceeding the number of allowed concurrent sessions for that service.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a request fails due to an internal memory allocation failure.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a request fails because a configured load average limit has been reached.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a request fails due to some aspect of the requested item not being supported by the service.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ The type of request attempted.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a request is not allowed by the service.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Parameters provided to the rejected request.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a request used an authentication method not allowed by the service.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ The authentication method attempted.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a request is received with bad formatting.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ The account ID associated with the rejected request.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a request successfully authenticates with a service.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Whether or not the authentication attempt included a password.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a request has a different source address then what is expected for a session already in progress with a service.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ The address that the request was expected to use.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a request's attempt to authenticate has been challenged, and the request failed the authentication challenge.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ The challenge that was sent.\n+ \n+ \n+ The response that was received.\n+ \n+ \n+ The expected response to the challenge.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a request provides an invalid password during an authentication attempt.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ The challenge that was sent.\n+ \n+ \n+ The challenge that was received.\n+ \n+ \n+ The hash that was received.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when an Asterisk service sends an authentication challenge to a request.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a request attempts to use a transport not allowed by the Asterisk service.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ The transport type that the request attempted to use.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ jansson\n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ Create a message or read fields from a message.\n+ \n+ \n+ Field of the message to get or set.\n+ \n+ \n+ When processing an\n+\t\t\t\t\tincoming message, this will be set to the destination listed as\n+\t\t\t\t\tthe recipient of the message that was received by Asterisk.\n+ \n+ For an outgoing message, this will set the To header in the\n+\t\t\t\t\toutgoing SIP message. This may be overridden by the "to" parameter\n+\t\t\t\t\tof MessageSend.\n+ \n+ \n+ When processing an\n+\t\t\t\t\tincoming message, this will be set to the source of the message.\n+ \n+ For an outgoing message, this will set the From header in the\n+\t\t\t\t\toutgoing SIP message. This may be overridden by the "from" parameter\n+\t\t\t\t\tof MessageSend.\n+ \n+ \n+ Write-only. Mark or unmark all message headers for an outgoing\n+\t\t\t\t\tmessage. The following values can be set:\n+ \n+ \n+ Mark all headers for an outgoing message.\n+ \n+ \n+ Unmark all headers for an outgoing message.\n+ \n+ \n+ \n+ \n+ Read/Write. The message body. When processing an incoming\n+\t\t\t\t\tmessage, this includes the body of the message that Asterisk\n+\t\t\t\t\treceived. When MessageSend() is executed, the contents of this\n+\t\t\t\t\tfield are used as the body of the outgoing message. The body\n+\t\t\t\t\twill always be UTF-8.\n+ \n+ \n \n \n \n- If the call has not been answered, this application will\n-\t\t\tanswer it. Otherwise, it has no effect on the call.\n+ This function will read from or write a value to a text message.\n+\t\t\tIt is used both to read the data out of an incoming message, as well as\n+\t\t\tmodify or create a message that will be sent outbound.\n \n \n- Hangup\n+ MessageSend\n \n- \n- \n- Play an audio file while waiting for digits of an extension to go to.\n- \n- \n- \n- \n+ \n+ \n+ Read or write custom data attached to a message.\n+ \n+ \n+ Field of the message to get or set.\n \n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ This function will read from or write a value to a text message.\n+\t\t\tIt is used both to read the data out of an incoming message, as well as\n+\t\t\tmodify a message that will be sent outbound.\n+ \n+ \n+ If you want to set an outbound message to carry data in the\n+\t\t\t\tcurrent message, do\n+\t\t\t\tSet(MESSAGE_DATA(\n+ key\n+ )=${MESSAGE_DATA(\n+ key\n+ )}).\n+ \n+ \n+ \n+ \n+ MessageSend\n+ \n+ \n+ \n+ Send a text message.\n+ \n+ \n+ A To URI for the message.\n+ \n \n- \n- Explicitly specifies which language to attempt to use for the requested sound files.\n+ \n+ \n+ A From URI for the message if needed for the\n+\t\t\t\tmessage technology being used to send this message. This can be a\n+\t\t\t\tSIP(S) URI, such as\n+ Alice <sip:alice@atlanta.com>\n+ ,\n+\t\t\t\tor a string in the format\n+ alice@atlanta.com\n+ .\n+\t\t\t\tThis will override a\n+ from\n+ specified using the MESSAGE dialplan function or the\n+ from\n+ that may have been on an incoming message.\n+ \n+ \n \n- \n- This is the dialplan context that this application will use when exiting\n-\t\t\t\tto a dialed extension.\n+ \n+ \n+ A To URI for the message if needed for the\n+\t\t\t\tmessage technology being used to send this message. This can be a\n+\t\t\t\tSIP(S) URI, such as\n+ Alice <sip:alice@atlanta.com>\n+ ,\n+\t\t\t\tor a string in the format\n+ alice@atlanta.com\n+ .\n+\t\t\t\tThis will override a\n+ to\n+ specified using the MESSAGE dialplan function or the\n+ to\n+ that may have been on an incoming message.\n+ \n+ \n \n \n \n \n- This application will play the given list of files\n- (do not put extension)\n- while waiting for an extension to be dialed by the calling channel. To continue waiting\n-\t\t\tfor digits after this application has finished playing files, the\n- WaitExten\n- application should be used.\n+ Send a text message. The body of the message that will be\n+\t\t\tsent is what is currently set to\n+ MESSAGE(body)\n+ .\n+\t\t\tThis may he come from an incoming message.\n+\t\t\tThe technology chosen for sending the message is determined\n+\t\t\tbased on a prefix to the\n+ destination\n+ parameter.\n \n- If one of the requested sound files does not exist, call processing will be terminated.\n- This application sets the following channel variable upon completion:\n+ This application sets the following channel variables:\n \n- \n- The status of the background attempt as a text string.\n- \n- \n+ \n+ This is the message delivery status returned by this application.\n+ No handler for the technology part of the URI was found.\n+ The protocol handler reported that the URI was not valid.\n+ Successfully passed on to the protocol handler, but delivery has not necessarily been guaranteed.\n+ The protocol handler reported that it was unabled to deliver the message for some reason.\n \n \n \n- \n- ControlPlayback\n- WaitExten\n- BackgroundDetect\n- TIMEOUT\n- \n \n- \n- Indicate the Busy condition.\n+ \n+ Send an out of call message to an endpoint.\n \n- \n- If specified, the calling channel will be hung up after the specified number of seconds.\n-\t\t\t\tOtherwise, this application will wait until the calling channel hangs up.\n+ \n+ \n+ A To URI for the message. If Destination is provided, the To\n+\t\t\t\tparameter can also be supplied and may alter the message based on\n+\t\t\t\tthe specified message technology.\n+ For backwards compatibility, if Destination is not provided,\n+\t\t\t\tthe To parameter must be provided and will be used as the message\n+\t\t\t\tdestination.\n+ \n+ \n+ \n+ \n+ A To URI for the message if needed for the\n+\t\t\t\tmessage technology being used to send this message. This can be a\n+\t\t\t\tSIP(S) URI, such as\n+ Alice <sip:alice@atlanta.com>\n+ ,\n+\t\t\t\tor a string in the format\n+ alice@atlanta.com\n+ .\n+ \n+ This parameter is required if the Destination parameter is not\n+\t\t\t\tprovided.\n+ \n+ \n+ \n+ A From URI for the message if needed for the\n+\t\t\t\tmessage technology being used to send this message.\n+ \n+ \n+ \n+ The message body text. This must not contain any newlines as that\n+\t\t\t\tconflicts with the AMI protocol.\n+ \n+ \n+ Text bodies requiring the use of newlines have to be base64 encoded\n+\t\t\t\tin this field. Base64Body will be decoded before being sent out.\n+\t\t\t\tBase64Body takes precedence over Body.\n+ \n+ \n+ Message variable to set, multiple Variable: headers are\n+\t\t\t\tallowed. The header value is a comma separated list of\n+\t\t\t\tname=value pairs.\n \n \n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ \n+ Raised when an outbound registration completes.\n+ \n+ \n+ The type of channel that was registered (or not).\n+ \n+ \n+ The username portion of the registration.\n+ \n+ \n+ The address portion of the registration.\n+ \n+ \n+ The status of the registration request.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ What caused the rejection of the request, if available.\n+ \n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ \n+ A user defined event raised from the dialplan.\n+ \n+ \n+ \n+ The event name, as specified in the dialplan.\n+ \n+ \n+ \n+ Event may contain additional arbitrary parameters in addition to optional bridge and endpoint snapshots. Multiple snapshots of the same type are prefixed with a numeric value.\n+ \n+ \n+ UserEvent\n+ UserEvent\n+ \n+ \n+ \n+ \n+ \n+ \n+ Settings that configure the threadpool Stasis uses to deliver some messages.\n+ \n+ Initial number of threads in the message bus threadpool.\n+ \n+ \n+ Number of seconds before an idle thread is disposed of.\n+ \n+ \n+ Maximum number of threads in the threadpool.\n+ \n+ \n+ \n+ Stasis message types for which to decline creation.\n+ \n+ The message type to decline.\n+ \n+ This configuration option defines the name of the Stasis\n+\t\t\t\t\t\tmessage type that Asterisk is forbidden from creating and can be\n+\t\t\t\t\t\tspecified as many times as necessary to achieve the desired result.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ Keepalive command.\n+ \n+ \n+ \n \n- This application will indicate the busy condition to the calling channel.\n+ A 'Ping' action will elicit a 'Pong' response. Used to keep the\n+\t\t\tmanager connection open.\n \n- \n- Congestion\n- Progress\n- Playtones\n- Hangup\n- \n- \n- \n- Indicate the Congestion condition.\n+ \n+ \n+ Control Event Flow.\n \n- \n- If specified, the calling channel will be hung up after the specified number of seconds.\n-\t\t\t\tOtherwise, this application will wait until the calling channel hangs up.\n+ \n+ \n+ \n+ \n+ If all events should be sent.\n+ \n+ \n+ If no events should be sent.\n+ \n+ \n+ To select which flags events should have to be sent.\n+ \n+ \n \n \n \n- This application will indicate the congestion condition to the calling channel.\n+ Enable/Disable sending of events to this manager client.\n+ \n+ \n+ \n+ Logoff Manager.\n+ \n+ \n+ \n+ \n+ Logoff the current manager session.\n \n \n- Busy\n- Progress\n- Playtones\n- Hangup\n+ Login\n \n- \n- \n- Conditional application execution based on the current time.\n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ Login Manager.\n+ \n+ \n+ ActionID for this transaction. Will be returned.\n \n- \n- \n+ \n+ Username to login with as specified in manager.conf.\n+ \n+ \n+ Secret to login with as specified in manager.conf.\n \n \n \n- This application will execute the specified dialplan application, with optional\n-\t\t\targuments, if the current time matches the given time specification.\n+ Login Manager.\n \n \n- Exec\n- ExecIf\n- TryExec\n- GotoIfTime\n+ Logoff\n \n- \n- \n- Jump to a particular priority, extension, or context.\n+ \n+ \n+ Generate Challenge for MD5 Auth.\n \n- \n- \n- \n+ \n+ \n+ Digest algorithm to use in the challenge. Valid values are:\n+ \n+ \n+ \n+ \n \n \n- \n- This application will set the current context, extension, and priority in the channel structure.\n-\t\t\tAfter it completes, the pbx engine will continue dialplan execution at the specified location.\n-\t\t\tIf no specific\n- extension\n- , or\n- extension\n- and\n- context\n- , are specified, then this application will\n-\t\t\tjust set the specified\n- priority\n- of the current extension.\n- \n- \n- At least a\n- priority\n- is required as an argument, or the goto will\n-\t\t\treturn a\n- -1\n- ,\tand the channel and call will be terminated.\n- \n- \n- If the location that is put into the channel information is bogus, and asterisk cannot\n-\t\t\tfind that location in the dialplan, then the execution engine will try to find and execute the code in\n-\t\t\tthe\n- i\n- (invalid) extension in the current context. If that does not exist, it will try to execute the\n- h\n- extension. If neither the\n- h\n- nor\n- i\n- extensions\n-\t\t\thave been defined, the channel is hung up, and the execution of instructions on the channel is terminated.\n-\t\t\tWhat this means is that, for example, you specify a context that does not exist, then\n-\t\t\tit will not be possible to find the\n- h\n- or\n- i\n- extensions,\n-\t\t\tand the call will terminate!\n- \n+ Generate a challenge for MD5 authentication.\n \n- \n- GotoIf\n- GotoIfTime\n- Gosub\n- Macro\n- \n- \n- \n- Conditional goto.\n- \n- \n- \n- \n- \n- Continue at\n- labeliftrue\n- if the condition is true.\n-\t\t\t\t\tTakes the form similar to Goto() of [[context,]extension,]priority.\n- \n- \n- \n- \n- Continue at\n- labeliffalse\n- if the condition is false.\n-\t\t\t\t\tTakes the form similar to Goto() of [[context,]extension,]priority.\n- \n- \n+ \n+ \n+ Hangup channel.\n+ \n+ \n+ \n+ The exact channel name to be hungup, or to use a regular expression, set this parameter to: /regex/\n+ Example exact channel: SIP/provider-0000012a\n+ Example regular expression: /^SIP/provider-.*$/\n+ \n+ \n+ Numeric hangup cause.\n \n \n \n- \n- This application will set the current context, extension, and priority in the channel structure\n-\t\t\tbased on the evaluation of the given condition. After this application completes, the\n-\t\t\tpbx engine will continue dialplan execution at the specified location in the dialplan.\n-\t\t\tThe labels are specified with the same syntax as used within the Goto application.\n-\t\t\tIf the label chosen by the condition is omitted, no jump is performed, and the execution passes to the\n-\t\t\tnext instruction. If the target location is bogus, and does not exist, the execution engine will try\n-\t\t\tto find and execute the code in the\n- i\n- (invalid) extension in the current context.\n-\t\t\tIf that does not exist, it will try to execute the\n- h\n- extension.\n-\t\t\tIf neither the\n- h\n- nor\n- i\n- extensions have been defined,\n-\t\t\tthe channel is hung up, and the execution of instructions on the channel is terminated.\n-\t\t\tRemember that this command can set the current context, and if the context specified\n-\t\t\tdoes not exist, then it will not be able to find any 'h' or 'i' extensions there, and\n-\t\t\tthe channel and call will both be terminated!.\n- \n+ Hangup a channel.\n+ \n+ \n+ \n+ List channel status.\n+ \n+ \n+ \n+ The name of the channel to query for status.\n+ \n+ \n+ \n+ Comma\n+ ,\n+ separated list of variable to include.\n+ \n+ \n+ \n+ If set to "true", the Status event will include all channel variables for\n+\t\t\t\tthe requested channel(s).\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Will return the status information of each channel along with the\n+\t\t\tvalue for the specified channel variables.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised in response to a Status command.\n+ \n+ \n+ \n+ \n+ Type of channel\n+ \n+ \n+ Dialed number identifier\n+ \n+ \n+ \n+ \n+ Absolute lifetime of the channel\n+ \n+ \n+ Identifier of the bridge the channel is in, may be empty if not in one\n+ \n+ \n+ Application currently executing on the channel\n+ \n+ \n+ Data given to the currently executing channel\n+ \n+ \n+ Media formats the connected party is willing to send or receive\n+ \n+ \n+ Media formats that frames from the channel are received in\n+ \n+ \n+ Translation path for media received in native formats\n+ \n+ \n+ Media formats that frames to the channel are accepted in\n+ \n+ \n+ Translation path for media sent to the connected party\n+ \n+ \n+ Configured call group on the channel\n+ \n+ \n+ Configured pickup group on the channel\n+ \n+ \n+ Number of seconds the channel has been active\n+ \n+ \n+ \n+ Status\n+ \n+ \n+ \n+ \n+ \n+ Raised in response to a Status command.\n+ \n+ \n+ Number of Status events returned\n+ \n+ \n+ \n+ Status\n+ \n+ \n+ \n+ \n+ Sets a channel variable or function value.\n+ \n+ \n+ \n+ Channel to set variable for.\n+ \n+ \n+ Variable name, function or expression.\n+ \n+ \n+ Variable or function value.\n+ \n+ \n+ \n+ This command can be used to set the value of channel variables or dialplan\n+\t\t\tfunctions.\n+ \n+ If a channel name is not provided then the variable is considered global.\n+ \n \n \n- Goto\n- GotoIfTime\n- GosubIf\n- MacroIf\n+ Getvar\n \n- \n- \n- Conditional Goto based on the current time.\n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ Gets a channel variable or function value.\n+ \n+ \n+ \n+ Channel to read variable from.\n \n- \n- \n- \n- Continue at\n- labeliftrue\n- if the condition is true.\n-\t\t\t\t\tTakes the form similar to Goto() of [[context,]extension,]priority.\n- \n- \n- \n- \n- Continue at\n- labeliffalse\n- if the condition is false.\n-\t\t\t\t\tTakes the form similar to Goto() of [[context,]extension,]priority.\n- \n- \n+ \n+ Variable name, function or expression.\n \n \n \n- \n- This application will set the context, extension, and priority in the channel structure\n-\t\t\tbased on the evaluation of the given time specification. After this application completes,\n-\t\t\tthe pbx engine will continue dialplan execution at the specified location in the dialplan.\n-\t\t\tIf the current time is within the given time specification, the channel will continue at\n- labeliftrue\n- . Otherwise the channel will continue at\n- labeliffalse\n- .\n-\t\t\tIf the label chosen by the condition is omitted, no jump is performed, and execution passes to the next\n-\t\t\tinstruction. If the target jump location is bogus, the same actions would be taken as for\n- Goto\n- .\n-\t\t\tFurther information on the time specification can be found in examples\n-\t\t\tillustrating how to do time-based context includes in the dialplan.\n- \n+ Get the value of a channel variable or function return.\n+ \n+ If a channel name is not provided then the variable is considered global.\n+ \n \n \n- GotoIf\n- Goto\n- IFTIME\n- TESTTIME\n+ Setvar\n \n- \n- \n- Import a variable from a channel into a new variable.\n- \n- \n- \n- \n- \n+ \n+ \n+ Retrieve configuration.\n+ \n+ \n+ \n+ \n+ Configuration filename (e.g.\n+ foo.conf\n+ ).\n+ \n+ \n+ \n+ Category in configuration file.\n+ \n+ \n+ \n+ A comma separated list of\n+ name_regex\n+ =\n+ value_regex\n+ expressions which will cause only categories whose variables match all expressions\n+\t\t\t\tto be considered. The special variable name\n+ TEMPLATES\n+ can be used to control whether templates are included. Passing\n+ include\n+ as the value will include templates\n+\t\t\t\talong with normal categories. Passing\n+ restrict\n+ as the value will restrict the operation to\n+\t\t\t\tONLY templates. Not specifying a\n+ TEMPLATES\n+ expression\n+\t\t\t\tresults in the default behavior which is to not include templates.\n+ \n \n \n \n- \n- This application imports a\n- variable\n- from the specified\n- channel\n- (as opposed to the current one) and stores it as a variable\n-\t\t\t(\n- newvar\n- ) in the current channel (the channel that is calling this\n-\t\t\tapplication). Variables created by this application have the same inheritance properties as those\n-\t\t\tcreated with the\n- Set\n- application.\n- \n+ This action will dump the contents of a configuration\n+\t\t\tfile by category and contents or optionally by specified category only.\n+\t\t\tIn the case where a category name is non-unique, a filter may be specified\n+\t\t\tto match only categories with matching variable values.\n \n \n- Set\n+ GetConfigJSON\n+ UpdateConfig\n+ CreateConfig\n+ ListCategories\n \n- \n- \n- Hang up the calling channel.\n+ \n+ \n+ Retrieve configuration (JSON format).\n \n- \n+ \n+ \n \n- If a\n- causecode\n- is given the channel's\n-\t\t\t\thangup cause will be set to the given value.\n+ Configuration filename (e.g.\n+ foo.conf\n+ ).\n \n \n+ \n+ Category in configuration file.\n+ \n+ \n+ \n+ \n \n \n- This application will hang up the calling channel.\n+ This action will dump the contents of a configuration file by category\n+\t\t\tand contents in JSON format or optionally by specified category only.\n+\t\t\tThis only makes sense to be used using rawman over the HTTP interface.\n+\t\t\tIn the case where a category name is non-unique, a filter may be specified\n+\t\t\tto match only categories with matching variable values.\n \n \n- Answer\n- Busy\n- Congestion\n+ GetConfig\n+ UpdateConfig\n+ CreateConfig\n+ ListCategories\n \n- \n- \n- Returns AST_PBX_INCOMPLETE value.\n+ \n+ \n+ Update basic configuration.\n \n- \n- If specified, then Incomplete will not attempt to answer the channel first.\n- \n- Most channel types need to be in Answer state in order to receive DTMF.\n- \n+ \n+ \n+ \n+ Configuration filename to read (e.g.\n+ foo.conf\n+ ).\n+ \n+ \n+ \n+ \n+ Configuration filename to write (e.g.\n+ foo.conf\n+ )\n+ \n+ \n+ \n+ Whether or not a reload should take place (or name of specific module).\n+ \n+ \n+ Whether the effective category contents should be preserved on template change. Default is true (pre 13.2 behavior).\n+ \n+ \n+ Action to take.\n+ 0's represent 6 digit number beginning with 000000.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Category to operate on.\n+ \n+ \n+ \n+ Variable to work on.\n+ \n+ \n+ \n+ Value to work on.\n+ \n+ \n+ \n+ Extra match required to match line.\n+ \n+ \n+ \n+ Line in category to operate on (used with delete and insert actions).\n+ \n+ \n+ \n+ A comma separated list of action-specific options.\n+ \n+ \n+ One or more of the following...\n+ \n+ \n+ Allow duplicate category names.\n+ \n+ \n+ This category is a template.\n+ \n+ \n+ Templates from which to inherit.\n+ \n+ \n+ \n+ \n+ \n+ The following actions share the same options...\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ catfilter\n+ is most useful when a file\n+\t\t\t\t\t\t\t\t\tcontains multiple categories with the same name and you wish to\n+\t\t\t\t\t\t\t\t\toperate on specific ones instead of all of them.\n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n- Signals the PBX routines that the previous matched extension is incomplete\n-\t\t\tand that further input should be allowed before matching can be considered\n-\t\t\tto be complete. Can be used within a pattern match when certain criteria warrants\n-\t\t\ta longer match.\n+ This action will modify, create, or delete configuration elements\n+\t\t\tin Asterisk configuration files.\n \n- \n- \n- Do Nothing (No Operation).\n+ \n+ GetConfig\n+ GetConfigJSON\n+ CreateConfig\n+ ListCategories\n+ \n+ \n+ \n+ Creates an empty file in the configuration directory.\n \n- \n- Any text provided can be viewed at the Asterisk CLI.\n+ \n+ \n+ \n+ The configuration filename to create (e.g.\n+ foo.conf\n+ ).\n+ \n \n \n \n- This application does nothing. However, it is useful for debugging purposes.\n- This method can be used to see the evaluations of variables or functions without having any effect.\n+ This action will create an empty file in the configuration\n+\t\t\tdirectory. This action is intended to be used before an UpdateConfig\n+\t\t\taction.\n \n \n- Verbose\n- Log\n+ GetConfig\n+ GetConfigJSON\n+ UpdateConfig\n+ ListCategories\n \n- \n- \n- Indicate proceeding.\n- \n+ \n+ \n+ List categories in configuration file.\n+ \n+ \n+ \n+ \n+ Configuration filename (e.g.\n+ foo.conf\n+ ).\n+ \n+ \n+ \n \n- This application will request that a proceeding message be provided to the calling channel.\n+ This action will dump the categories in a given file.\n \n- \n- \n- Indicate progress.\n- \n+ \n+ GetConfig\n+ GetConfigJSON\n+ UpdateConfig\n+ CreateConfig\n+ \n+ \n+ \n+ Redirect (transfer) a call.\n+ \n+ \n+ \n+ Channel to redirect.\n+ \n+ \n+ Second call leg to transfer (optional).\n+ \n+ \n+ Extension to transfer to.\n+ \n+ \n+ Extension to transfer extrachannel to (optional).\n+ \n+ \n+ Context to transfer to.\n+ \n+ \n+ Context to transfer extrachannel to (optional).\n+ \n+ \n+ Priority to transfer to.\n+ \n+ \n+ Priority to transfer extrachannel to (optional).\n+ \n+ \n \n- This application will request that in-band progress information be provided to the calling channel.\n+ Redirect (transfer) a call.\n \n \n- Busy\n- Congestion\n- Ringing\n- Playtones\n+ BlindTransfer\n \n- \n- \n- Handle an exceptional condition.\n+ \n+ \n+ Attended transfer.\n \n- \n+ \n+ \n+ Transferer's channel.\n+ \n+ \n+ Extension to transfer to.\n+ \n+ \n+ Context to transfer to.\n+ \n \n \n- \n- This application will jump to the\n- e\n- extension in the current context, setting the\n-\t\t\tdialplan function EXCEPTION(). If the\n- e\n- extension does not exist, the call will hangup.\n- \n+ Attended transfer.\n \n \n- Exception\n+ AttendedTransfer\n \n- \n- \n- Indicate ringing tone.\n- \n+ \n+ \n+ \n+ 13.18.0\n+ 14.7.0\n+ 15.1.0\n+ 16.0.0\n+ \n+ Cancel an attended transfer.\n+ \n+ \n+ \n+ The transferer channel.\n+ \n+ \n \n- This application will request that the channel indicate a ringing tone to the user.\n+ Cancel an attended transfer. Note, this uses the configured cancel attended transfer\n+\t\t\tfeature option (atxferabort) to cancel the transfer. If not available this action will fail.\n \n \n- Busy\n- Congestion\n- Progress\n- Playtones\n+ AttendedTransfer\n \n- \n- \n- Say Alpha.\n+ \n+ \n+ Originate a call.\n \n- \n+ \n+ \n+ Channel name to call.\n+ \n+ \n+ \n+ Extension to use (requires\n+ Context\n+ and\n+ Priority\n+ )\n+ \n+ \n+ \n+ \n+ Context to use (requires\n+ Exten\n+ and\n+ Priority\n+ )\n+ \n+ \n+ \n+ \n+ Priority to use (requires\n+ Exten\n+ and\n+ Context\n+ )\n+ \n+ \n+ \n+ Application to execute.\n+ \n+ \n+ \n+ Data to use (requires\n+ Application\n+ ).\n+ \n+ \n+ \n+ How long to wait for call to be answered (in ms.).\n+ \n+ \n+ Caller ID to be set on the outgoing channel.\n+ \n+ \n+ Channel variable to set, multiple Variable: headers are allowed.\n+ \n+ \n+ Account code.\n+ \n+ \n+ \n+ Set to\n+ true\n+ to force call bridge on early media..\n+ \n+ \n+ \n+ \n+ Set to\n+ true\n+ for fast origination.\n+ \n+ \n+ \n+ Comma-separated list of codecs to use for this call.\n+ \n+ \n+ Channel UniqueId to be set on the channel.\n+ \n+ \n+ Channel UniqueId to be set on the second local channel.\n+ \n \n \n \n- This application will play the sounds that correspond to the letters\n-\t\t\tof the given\n- string\n- . If the channel variable\n- SAY_DTMF_INTERRUPT\n- is set to 'true' (case insensitive),\n-\t\t\tthen this application will react to DTMF in the\tsame way as\n- Background\n- .\n+ Generates an outgoing call to a\n+ Extension\n+ /\n+ Context\n+ /\n+ Priority\n+ or\n+ Application\n+ /\n+ Data\n \n \n \n- SayDigits\n- SayMoney\n- SayNumber\n- SayOrdinal\n- SayPhonetic\n- CHANNEL\n- SAYFILES\n+ OriginateResponse\n \n- \n- \n- Say Alpha.\n+ \n+ \n+ \n+ Raised in response to an Originate command.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Originate\n+ \n+ \n+ \n+ \n+ Execute Asterisk CLI Command.\n \n- \n- \n- \n- Case sensitive (all) pronunciation.\n-\t\t\t\t\t\t(Ex: SayAlphaCase(a,aBc); - lowercase a uppercase b lowercase c).\n- \n- \n- Case sensitive (lower) pronunciation.\n-\t\t\t\t\t\t(Ex: SayAlphaCase(l,aBc); - lowercase a b lowercase c).\n- \n- \n- Case insensitive pronunciation. Equivalent to SayAlpha.\n-\t\t\t\t\t\t(Ex: SayAlphaCase(n,aBc) - a b c).\n- \n- \n- Case sensitive (upper) pronunciation.\n-\t\t\t\t\t\t(Ex: SayAlphaCase(u,aBc); - a uppercase b c).\n- \n- \n+ \n+ \n+ Asterisk CLI command to run.\n+ \n+ \n+ \n+ Run a CLI command.\n+ \n+ \n+ \n+ Check Extension Status.\n+ \n+ \n+ \n+ Extension to check state on.\n+ \n+ \n+ Context for extension.\n \n- \n \n \n+ Report the extension state for given extension. If the extension has a hint,\n+\t\t\twill use devicestate to check the status of the device connected to the extension.\n \n- This application will play the sounds that correspond to the letters of the\n-\t\t\tgiven\n- string\n- . Optionally, a\n- casetype\n- may be\n-\t\t\tspecified. This will be used for case-insensitive or case-sensitive pronunciations. If the channel\n-\t\t\tvariable\n- SAY_DTMF_INTERRUPT\n- is set to 'true' (case insensitive), then this\n-\t\t\tapplication will react to DTMF in the same way as\n- Background\n- .\n+ Will return an\n+ Extension Status\n+ message. The response will include\n+\t\t\tthe hint for the extension and the status.\n \n \n \n- SayDigits\n- SayMoney\n- SayNumber\n- SayOrdinal\n- SayPhonetic\n- SayAlpha\n- CHANNEL\n+ ExtensionStatus\n \n- \n- \n- Say Digits.\n+ \n+ \n+ Check Presence State\n \n- \n+ \n+ \n+ Presence Provider to check the state of\n+ \n \n \n+ Report the presence state for the given presence provider.\n \n- This application will play the sounds that correspond to the digits of\n-\t\t\tthe given number. This will use the language that is currently set for the channel.\n-\t\t\tIf the channel variable\n- SAY_DTMF_INTERRUPT\n- is set to 'true'\n-\t\t\t(case insensitive), then this application will react to DTMF in the same way as\n- Background\n- .\n+ Will return a\n+ Presence State\n+ message. The response will include the\n+\t\t\tpresence state and, if set, a presence subtype and custom message.\n \n \n \n- SayAlpha\n- SayMoney\n- SayNumber\n- SayOrdinal\n- SayPhonetic\n- CHANNEL\n- SAYFILES\n+ PresenceStatus\n \n- \n- \n- Say Money.\n+ \n+ \n+ Set absolute timeout.\n \n- \n+ \n+ \n+ Channel name to hangup.\n+ \n+ \n+ Maximum duration of the call (sec).\n+ \n \n \n \n- This application will play the currency sounds for the given floating point number\n-\t\t\tin the current language. Currently only English and US Dollars is supported.\n-\t\t\tIf the channel variable\n- SAY_DTMF_INTERRUPT\n- is set to 'true'\n-\t\t\t(case insensitive), then this application will react to DTMF in the same way as\n- Background\n- .\n+ Hangup a channel after a certain time. Acknowledges set time with\n+ Timeout Set\n+ message.\n \n \n- \n- SayAlpha\n- SayNumber\n- SayOrdinal\n- SayPhonetic\n- CHANNEL\n- SAYFILES\n- \n- \n- \n- Say Number.\n+ \n+ \n+ Check mailbox.\n \n- \n- \n+ \n+ \n+ \n+ Full mailbox ID\n+ mailbox\n+ @\n+ vm-context\n+ .\n+ \n+ \n \n \n+ Checks a voicemail account for status.\n+ Returns whether there are messages waiting.\n+ Message: Mailbox Status.\n \n- This application will play the sounds that correspond to the given\n- digits\n- . Optionally, a\n- gender\n- may be\n-\t\t\tspecified. This will use the language that is currently set for the channel. See the CHANNEL()\n-\t\t\tfunction for more information on setting the language for the channel. If the channel variable\n- SAY_DTMF_INTERRUPT\n- is set to 'true' (case insensitive), then this\n-\t\t\tapplication will react to DTMF in the same way as\n- Background\n+ Mailbox:\n+ mailboxid\n .\n \n+ \n+ Waiting:\n+ 0\n+ if messages waiting,\n+ 1\n+ if no messages waiting.\n+ \n \n \n- SayAlpha\n- SayDigits\n- SayMoney\n- SayPhonetic\n- CHANNEL\n- SAYFILES\n+ MailboxCount\n \n- \n- \n- Say Ordinal Number.\n+ \n+ \n+ Check Mailbox Message Count.\n \n- \n- \n+ \n+ \n+ \n+ Full mailbox ID\n+ mailbox\n+ @\n+ vm-context\n+ .\n+ \n+ \n \n \n+ Checks a voicemail account for new messages.\n+ Returns number of urgent, new and old messages.\n+ Message: Mailbox Message Count\n \n- This application will play the ordinal sounds that correspond to the given\n- digits\n- (e.g. 1st, 42nd). Currently only English is supported.\n+ Mailbox:\n+ mailboxid\n \n \n- Optionally, a\n- gender\n- may be\n-\t\t\tspecified. This will use the language that is currently set for the channel. See the CHANNEL()\n-\t\t\tfunction for more information on setting the language for the channel. If the channel variable\n- SAY_DTMF_INTERRUPT\n- is set to 'true' (case insensitive), then this\n-\t\t\tapplication will react to DTMF in the same way as\n- Background\n- .\n+ UrgentMessages:\n+ count\n+ \n+ \n+ NewMessages:\n+ count\n+ \n+ \n+ OldMessages:\n+ count\n \n \n \n- SayAlpha\n- SayDigits\n- SayMoney\n- SayNumber\n- SayPhonetic\n- CHANNEL\n- SAYFILES\n+ MailboxStatus\n \n- \n- \n- Say Phonetic.\n+ \n+ \n+ List available manager commands.\n \n- \n+ \n \n \n- \n- This application will play the sounds from the phonetic alphabet that correspond to the\n-\t\t\tletters in the given\n- string\n- . If the channel variable\n- SAY_DTMF_INTERRUPT\n- is set to 'true' (case insensitive), then this\n-\t\t\tapplication will react to DTMF in the same way as\n- Background\n- .\n- \n+ Returns the action name and synopsis for every action that\n+\t\t\tis available to the user.\n+ \n+ \n+ \n+ Sends a text message to channel. A content type\tcan be optionally specified. If not set\n+\t\t\tit is set to an empty string allowing a custom handler to default it as it sees fit.\n+ \n+ \n+ \n+ Channel to send message to.\n+ \n+ \n+ Message to send.\n+ \n+ \n+ The type of content in the message\n+ \n+ \n+ \n+ Sends A Text Message to a channel while in a call.\n \n \n- SayAlpha\n- SayDigits\n- SayMoney\n- SayNumber\n- SayOrdinal\n- SAYFILES\n+ SendText\n \n- \n- \n- Set the AMA Flags.\n+ \n+ \n+ Send an arbitrary event.\n \n- \n+ \n+ \n+ Event string to send.\n+ \n+ \n+ Content1.\n+ \n+ \n+ ContentN.\n+ \n \n \n- This application will set the channel's AMA Flags for billing purposes.\n- \n- This application is deprecated. Please use the CHANNEL function instead.\n- \n+ Send an event to manager sessions.\n \n \n- CDR\n- CHANNEL\n+ UserEvent\n+ UserEvent\n \n- \n- \n- Waits for some time.\n+ \n+ \n+ Wait for an event to occur.\n \n- \n+ \n+ \n \n- Can be passed with fractions of a second. For example,\n- 1.5\n- will ask the\n-\t\t\t\tapplication to wait for 1.5 seconds.\n+ Maximum time (in seconds) to wait for events,\n+ -1\n+ means forever.\n \n \n \n \n \n- This application waits for a specified number of\n- seconds\n- .\n+ This action will elicit a\n+ Success\n+ response. Whenever\n+\t\t\ta manager event is queued. Once WaitEvent has been called on an HTTP manager\n+\t\t\tsession, events will be generated and queued.\n \n \n- \n- \n- Waits for a digit to be entered.\n+ \n+ \n+ Show PBX core settings (version etc).\n \n- \n- \n- Can be passed with fractions of a second. For example,\n- 1.5\n- will ask the\n-\t\t\t\tapplication to wait for 1.5 seconds.\n- \n- \n- \n- Digits to accept, all others are ignored.\n+ \n+ \n+ \n+ Query for Core PBX settings.\n+ \n+ \n+ \n+ Show PBX core status variables.\n+ \n+ \n+ \n+ \n+ Query for Core PBX status.\n+ \n+ \n+ \n+ Send a reload event.\n+ \n+ \n+ \n+ Name of the module to reload.\n \n \n \n- \n- This application waits for the user to press one of the accepted\n- digits\n- for a specified number of\n- seconds\n- .\n- \n- \n- \n- This is the final status of the command\n- Parameters are invalid.\n- An accepted digit was received.\n- The timeout passed before any acceptable digits were received.\n- The channel has hungup or was redirected.\n- \n- \n- \n- The digit that was received, only set if\n- WAITDIGITSTATUS\n- is\n- DTMF\n- .\n- \n- \n- \n+ Send a reload event.\n \n \n- Wait\n- WaitExten\n+ ModuleLoad\n \n- \n- \n- Waits for an extension to be entered.\n+ \n+ \n+ \n+ Raised in response to a CoreShowChannels command.\n+ \n+ \n+ \n+ \n+ Identifier of the bridge the channel is in, may be empty if not in one\n+ \n+ \n+ Application currently executing on the channel\n+ \n+ \n+ Data given to the currently executing application\n+ \n+ \n+ The amount of time the channel has existed\n+ \n+ \n+ \n+ CoreShowChannels\n+ CoreShowChannelsComplete\n+ \n+ \n+ \n+ \n+ \n+ Raised at the end of the CoreShowChannel list produced by the CoreShowChannels command.\n+ \n+ \n+ \n+ Conveys the status of the command reponse list\n+ \n+ \n+ The total number of list items produced\n+ \n+ \n+ \n+ CoreShowChannels\n+ CoreShowChannel\n+ \n+ \n+ \n+ \n+ List currently active channels.\n \n- \n+ \n+ \n+ \n+ List currently defined channels and some information about them.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Reload and rotate the Asterisk logger.\n+ \n+ \n+ \n+ \n+ Reload and rotate the logger. Analogous to the CLI command 'logger rotate'.\n+ \n+ \n+ \n+ Module management.\n+ \n+ \n+ \n+ Asterisk module name (including .so extension) or subsystem identifier:\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ The operation to be done on module. Subsystem identifiers may only\n+\t\t\t\tbe reloaded.\n+ \n+ \n+ \n+ \n+ \n \n- Can be passed with fractions of a second. For example,\n- 1.5\n- will ask the\n-\t\t\t\tapplication to wait for 1.5 seconds.\n+ If no module is specified for a\n+ reload\n+ loadtype,\n+\t\t\t\tall modules are reloaded.\n \n \n- \n- \n- \n- \n- \n- \n \n \n- \n- This application waits for the user to enter a new extension for a specified number\n-\t\t\tof\n- seconds\n- .\n- \n- \n+ Loads, unloads or reloads an Asterisk module in a running system.\n \n \n- Background\n- TIMEOUT\n+ Reload\n+ ModuleCheck\n \n- \n- \n- core\n- \n- \n- Bridge two channels.\n+ \n+ \n+ Check if module is loaded.\n \n- \n- The current channel is bridged to the channel\n-\t\t\t\tidentified by the channel name, channel name prefix, or channel\n-\t\t\t\tuniqueid.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ Asterisk module name (not including extension).\n \n \n \n- Allows the ability to bridge two channels via the dialplan.\n- This application sets the following channel variable upon completion:\n- \n- \n- The result of the bridge attempt as a text string.\n- \n- \n- \n- \n- \n- \n+ Checks if Asterisk module is loaded. Will return Success/Failure.\n+\t\t\tFor success returns, the module revision number is included.\n \n \n- Bridge\n- BridgeCreate\n- BridgeEnter\n+ ModuleLoad\n \n- \n- \n- Bridge two channels already in the PBX.\n+ \n+ \n+ Generate an Advice of Charge message on a channel.\n \n \n- \n- Channel to Bridge to Channel2.\n+ \n+ Channel name to generate the AOC message on.\n \n- \n- Channel to Bridge to Channel1.\n+ \n+ Partial channel prefix. By using this option one can match the beginning part\n+\t\t\t\tof a channel name without having to put the entire name in. For example\n+\t\t\t\tif a channel name is SIP/snom-00000001 and this value is set to SIP/snom, then\n+\t\t\t\tthat channel matches and the message will be sent. Note however that only\n+\t\t\t\tthe first matched channel has the message sent on it.\n \n- \n- Play courtesy tone to Channel 2.\n+ \n+ Defines what type of AOC message to create, AOC-D or AOC-E\n \n- \n- \n- \n- \n+ \n+ \n+ \n+ \n+ \n+ Defines what kind of charge this message represents.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ This represents the amount of units charged. The ETSI AOC standard specifies that\n+\t\t\t\tthis value along with the optional UnitType value are entries in a list. To accommodate this\n+\t\t\t\tthese values take an index value starting at 0 which can be used to generate this list of\n+\t\t\t\tunit entries. For Example, If two unit entires were required this could be achieved by setting the\n+\t\t\t\tparamter UnitAmount(0)=1234 and UnitAmount(1)=5678. Note that UnitAmount at index 0 is\n+\t\t\t\trequired when ChargeType=Unit, all other entries in the list are optional.\n+ \n+ \n+ Defines the type of unit. ETSI AOC standard specifies this as an integer\n+\t\t\t\tvalue between 1 and 16, but this value is left open to accept any positive\n+\t\t\t\tinteger. Like the UnitAmount parameter, this value represents a list entry\n+\t\t\t\tand has an index parameter that starts at 0.\n+ \n+ \n+ Specifies the currency's name. Note that this value is truncated after 10 characters.\n+ \n+ \n+ Specifies the charge unit amount as a positive integer. This value is required\n+\t\t\t\twhen ChargeType==Currency.\n+ \n+ \n+ Specifies the currency multiplier. This value is required when ChargeType==Currency.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Defines what kind of AOC-D total is represented.\n+ \n+ \n+ \n \n \n+ \n+ Represents a billing ID associated with an AOC-D or AOC-E message. Note\n+\t\t\t\tthat only the first 3 items of the enum are valid AOC-D billing IDs\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Charging association identifier. This is optional for AOC-E and can be\n+\t\t\t\tset to any value between -32768 and 32767\n+ \n+ \n+ Represents the charging association party number. This value is optional\n+\t\t\t\tfor AOC-E.\n+ \n+ \n+ Integer representing the charging plan associated with the ChargingAssociationNumber.\n+\t\t\t\tThe value is bits 7 through 1 of the Q.931 octet containing the type-of-number and\n+\t\t\t\tnumbering-plan-identification fields.\n+ \n \n \n- Bridge together two channels already in the PBX.\n+ Generates an AOC-D or AOC-E message on a channel.\n \n \n- Bridge\n- BridgeCreate\n- BridgeEnter\n- BridgeDestroy\n- BridgeInfo\n- BridgeKick\n- BridgeList\n+ AOC-D\n+ AOC-E\n \n \n- \n- core\n- \n- \n- List available bridging technologies and their statuses.\n+ \n+ Checks attributes of manager accounts\n \n- \n+ \n+ Login name, specified in manager.conf\n+ \n+ \n+ The manager account attribute to return\n+ \n+ \n+ The number of sessions for this AMI account\n+ \n+ \n+ \n \n \n- Returns detailed information about the available bridging technologies.\n+ Currently, the only supported parameter is "sessions" which will return the current number of\n+\t\t\t\tactive sessions for this AMI account.\n \n- \n- BridgeTechnologySuspend\n- BridgeTechnologyUnsuspend\n- \n- \n- \n- Suspend a bridging technology.\n+ \n+ \n+ Dynamically add filters for the current manager session.\n \n \n- \n- The name of the bridging technology to suspend.\n+ \n+ \n+ \n+ Add a filter.\n+ \n+ \n+ \n+ \n+ Filters can be whitelist or blacklist\n+ Example whitelist filter: "Event: Newchannel"\n+ Example blacklist filter: "!Channel: DAHDI.*"\n+ This filter option is used to whitelist or blacklist events per user to be\n+\t\t\t\treported with regular expressions and are allowed if both the regex matches\n+\t\t\t\tand the user has read access as defined in manager.conf. Filters are assumed to be for whitelisting\n+\t\t\t\tunless preceeded by an exclamation point, which marks it as being black.\n+\t\t\t\tEvaluation of the filters is as follows:\n+ - If no filters are configured all events are reported as normal.\n+ - If there are white filters only: implied black all filter processed first, then white filters.\n+ - If there are black filters only: implied white all filter processed first, then black filters.\n+ - If there are both white and black filters: implied black all filter processed first, then white\n+\t\t\t\tfilters, and lastly black filters.\n \n \n \n- Marks a bridging technology as suspended, which prevents subsequently created bridges from using it.\n+ The filters added are only used for the current session.\n+\t\t\tOnce the connection is closed the filters are removed.\n+ This comand requires the system permission because\n+\t\t\tthis command can be used to create filters that may bypass\n+\t\t\tfilters defined in manager.conf\n \n \n- BridgeTechnologySuspend\n- BridgeTechnologyUnsuspend\n+ FilterList\n \n \n- \n- Unsuspend a bridging technology.\n+ \n+ Show current event filters for this session\n+ \n+ The filters displayed are for the current session. Only those filters defined in\n+ manager.conf will be present upon starting a new session.\n+ \n+ \n+ Filter\n+ \n+ \n+ \n+ Blind transfer channel(s) to the given destination\n \n- \n- \n- The name of the bridging technology to unsuspend.\n- \n+ \n+ \n+ \n \n \n- Clears a previously suspended bridging technology, which allows subsequently created bridges to use it.\n+ Redirect all channels currently bridged to the specified channel to the specified destination.\n \n \n- BridgeTechnologyList\n- BridgeTechnologySuspend\n+ Redirect\n+ BlindTransfer\n \n \n- \n+ \n+ \n+ Raised when a hint changes due to a device state change.\n+ \n+ \n+ Name of the extension.\n+ \n+ \n+ Context that owns the extension.\n+ \n+ \n+ Hint set for the extension\n+ \n+ \n+ Numerical value of the extension status. Extension\n+\t\t\t\t\tstatus is determined by the combined device state of all items\n+\t\t\t\t\tcontained in the hint.\n+ \n+ \n+ The extension was removed from the dialplan.\n+ \n+ \n+ The extension's hint was removed from the dialplan.\n+ \n+ \n+ \n+ Idle\n+ - Related device(s) are in an idle\n+\t\t\t\t\t\t\tstate.\n+ \n+ \n+ \n+ \n+ InUse\n+ - Related device(s) are in active\n+\t\t\t\t\t\t\tcalls but may take more calls.\n+ \n+ \n+ \n+ \n+ Busy\n+ - Related device(s) are in active\n+\t\t\t\t\t\t\tcalls and may not take any more calls.\n+ \n+ \n+ \n+ \n+ Unavailable\n+ - Related device(s) are\n+\t\t\t\t\t\t\tnot reachable.\n+ \n+ \n+ \n+ \n+ Ringing\n+ - Related device(s) are\n+\t\t\t\t\t\t\tcurrently ringing.\n+ \n+ \n+ \n+ \n+ InUse&Ringing\n+ - Related device(s)\n+\t\t\t\t\t\t\tare currently ringing and in active calls.\n+ \n+ \n+ \n+ \n+ Hold\n+ - Related device(s) are\n+\t\t\t\t\t\t\tcurrently on hold.\n+ \n+ \n+ \n+ \n+ InUse&Hold\n+ - Related device(s)\n+\t\t\t\t\t\t\tare currently on hold and in active calls.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Text representation of\n+ Status\n+ .\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Status does not match any of the above values.\n+ \n+ \n+ \n+ \n+ \n+ ExtensionState\n+ \n+ \n+ \n+ \n+ \n+ Raised when a hint changes due to a presence state change.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ PresenceState\n+ \n+ \n+ \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n- \n- A user defined event raised from the dialplan.\n+ \n+ \n+ Raised when an Advice of Charge message is sent at the beginning of a call.\n \n \n- \n- The event name, as specified in the dialplan.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n+ \n \n- \n- Event may contain additional arbitrary parameters in addition to optional bridge and endpoint snapshots. Multiple snapshots of the same type are prefixed with a numeric value.\n- \n \n- UserEvent\n- UserEvent\n+ AOC-D\n+ AOC-E\n \n \n \n- \n- \n- \n- Settings that configure the threadpool Stasis uses to deliver some messages.\n- \n- Initial number of threads in the message bus threadpool.\n- \n- \n- Number of seconds before an idle thread is disposed of.\n- \n- \n- Maximum number of threads in the threadpool.\n- \n- \n- \n- Stasis message types for which to decline creation.\n- \n- The message type to decline.\n- \n- This configuration option defines the name of the Stasis\n-\t\t\t\t\t\tmessage type that Asterisk is forbidden from creating and can be\n-\t\t\t\t\t\tspecified as many times as necessary to achieve the desired result.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ \n+ Raised when an Advice of Charge message is sent during a call.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ AOCMessage\n+ AOC-S\n+ AOC-E\n+ \n+ \n+ \n+ \n+ \n+ Raised when an Advice of Charge message is sent at the end of a call.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ AOCMessage\n+ AOC-S\n+ AOC-D\n+ \n+ \n+ \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n+ \n+ \n+ Raised when a device state changes\n+ \n+ \n+ The device whose state has changed\n+ \n+ \n+ The new state of the device\n+ \n+ \n+ \n+ \n+ This differs from the\n+ ExtensionStatus\n+ event because this event is raised for all device state changes,\n+\t\t\t\tnot only for changes that affect dialplan hints.\n+ \n+ \n+ \n+ ExtensionStatus\n+ \n+ \n+ \n+ \n+ \n+ Raised when a new channel is created.\n+ \n+ \n+ \n+ \n+ Newstate\n+ Hangup\n+ \n+ \n+ \n+ \n+ \n+ Raised when a channel's state changes.\n+ \n+ \n+ \n+ \n+ Newchannel\n+ Hangup\n+ \n+ \n+ \n+ \n+ \n+ Raised when a channel is hung up.\n+ \n+ \n+ \n+ A numeric cause code for why the channel was hung up.\n+ \n+ \n+ A description of why the channel was hung up.\n+ \n+ \n+ \n+ Newchannel\n+ SoftHangupRequest\n+ HangupRequest\n+ Newstate\n+ \n+ \n+ \n+ \n+ \n+ Raised when a hangup is requested.\n+ \n+ \n+ \n+ \n+ \n+ SoftHangupRequest\n+ Hangup\n+ \n+ \n+ \n+ \n+ \n+ Raised when a soft hangup is requested with a specific cause code.\n+ \n+ \n+ \n+ \n+ \n+ HangupRequest\n+ Hangup\n+ \n+ \n+ \n+ \n+ \n+ Raised when a channel enters a new context, extension, priority.\n+ \n+ \n+ \n+ Deprecated in 12, but kept for\n+\t\t\t\t\tbackward compatability. Please use\n+\t\t\t\t\t'Exten' instead.\n+ \n+ \n+ The application about to be executed.\n+ \n+ \n+ The data to be passed to the application.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a channel receives new Caller ID information.\n+ \n+ \n+ \n+ A description of the Caller ID presentation.\n+ \n+ \n+ \n+ CALLERID\n+ \n+ \n+ \n+ \n+ \n+ Raised when a channel's connected line information is changed.\n+ \n+ \n+ \n+ \n+ CONNECTEDLINE\n+ \n+ \n+ \n+ \n+ \n+ Raised when a Channel's AccountCode is changed.\n+ \n+ \n+ \n+ The channel's previous account code\n+ \n+ \n+ \n+ CHANNEL\n+ \n+ \n+ \n+ \n+ \n+ Raised when a dial action has started.\n+ \n+ \n+ \n+ \n+ The non-technology specific device being dialed.\n+ \n+ \n+ \n+ Dial\n+ Originate\n+ Originate\n+ DialEnd\n+ \n+ \n+ \n+ \n+ \n+ Raised when dial status has changed.\n+ \n+ \n+ \n+ \n+ The new state of the outbound dial attempt.\n+ \n+ \n+ The outbound channel is ringing.\n+ \n+ \n+ The call to the outbound channel is proceeding.\n+ \n+ \n+ Progress has been received on the outbound channel.\n+ \n+ \n+ \n+ \n+ If the call was forwarded, where the call was\n+\t\t\t\t\tforwarded to.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a dial action has completed.\n+ \n+ \n+ \n+ \n+ The result of the dial operation.\n+ \n+ \n+ The call was aborted.\n+ \n+ \n+ The caller answered.\n+ \n+ \n+ The caller was busy.\n+ \n+ \n+ The caller cancelled the call.\n+ \n+ \n+ The requested channel is unavailable.\n+ \n+ \n+ The called party is congested.\n+ \n+ \n+ The dial completed, but the caller elected\n+\t\t\t\t\t\t\tto continue in the dialplan.\n+ \n+ \n+ The dial completed, but the caller jumped to\n+\t\t\t\t\t\t\ta dialplan location.\n+ If known, the location the caller is jumping\n+\t\t\t\t\t\t\tto will be appended to the result following a\n+\t\t\t\t\t\t\t":".\n+ \n+ \n+ The called party failed to answer.\n+ \n+ \n+ \n+ \n+ If the call was forwarded, where the call was\n+\t\t\t\t\tforwarded to.\n+ \n+ \n+ \n+ Dial\n+ Originate\n+ Originate\n+ DialBegin\n+ \n+ \n+ \n+ \n+ \n+ Raised when a channel goes on hold.\n+ \n+ \n+ \n+ The suggested MusicClass, if provided.\n+ \n+ \n+ \n+ Unhold\n+ \n+ \n+ \n+ \n+ \n+ Raised when a channel goes off hold.\n+ \n+ \n+ \n+ \n+ Hold\n+ \n+ \n+ \n+ \n+ \n+ Raised when one channel begins spying on another channel.\n+ \n+ \n+ \n+ \n+ \n+ ChanSpyStop\n+ ChanSpy\n+ \n+ \n+ \n+ \n+ \n+ Raised when a channel has stopped spying.\n+ \n+ \n+ \n+ \n+ \n+ ChanSpyStart\n+ ChanSpy\n+ \n+ \n+ \n+ \n+ \n+ Raised when a hangup handler is about to be called.\n+ \n+ \n+ \n+ Hangup handler parameter string passed to the Gosub application.\n+ \n+ \n+ \n+ CHANNEL\n+ \n+ \n+ \n+ \n+ \n+ Raised when a hangup handler is removed from the handler stack\n+\t\t\t\tby the CHANNEL() function.\n+ \n+ \n+ \n+ \n+ \n+ HangupHandlerPush\n+ CHANNEL\n+ \n+ \n+ \n+ \n+ \n+ Raised when a hangup handler is added to the handler stack by\n+\t\t\t\tthe CHANNEL() function.\n+ \n+ \n+ \n+ \n+ \n+ HangupHandlerPop\n+ CHANNEL\n+ \n+ \n+ \n+ \n+ \n+ Raised periodically during a fax transmission.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ A text message describing the current status of the fax\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a receive fax operation has completed.\n+ \n+ \n+ \n+ \n+ The value of the\n+ LOCALSTATIONID\n+ channel variable\n+ \n+ \n+ \n+ \n+ The value of the\n+ REMOTESTATIONID\n+ channel variable\n+ \n+ \n+ \n+ The number of pages that have been transferred\n+ \n+ \n+ The negotiated resolution\n+ \n+ \n+ The negotiated transfer rate\n+ \n+ \n+ The files being affected by the fax operation\n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when a send fax operation has completed.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when music on hold has started on a channel.\n+ \n+ \n+ \n+ The class of music being played on the channel\n+ \n+ \n+ \n+ MusicOnHoldStop\n+ StartMusicOnHold\n+ MusicOnHold\n+ \n+ \n+ \n+ \n+ \n+ Raised when music on hold has stopped on a channel.\n+ \n+ \n+ \n+ \n+ MusicOnHoldStart\n+ StopMusicOnHold\n+ \n+ \n+ \n+ \n+ \n+ Raised when monitoring has started on a channel.\n+ \n+ \n+ \n+ \n+ MonitorStop\n+ Monitor\n+ Monitor\n+ \n+ \n+ \n+ \n+ \n+ Raised when monitoring has stopped on a channel.\n+ \n+ \n+ \n+ \n+ MonitorStart\n+ StopMonitor\n+ StopMonitor\n+ \n+ \n+ \n \n core\n \n \n Request call completion service for previous call\n \n \n@@ -22239,93 +23854,304 @@\n \n \n \n \n \n \n \n- \n+ \n+ core\n+ \n+ \n+ Set channel variable or function value.\n+ \n+ \n+ \n+ \n+ \n+ \n+ This function can be used to set the value of channel variables or dialplan functions.\n+\t\t\tWhen setting variables, if the variable name is prefixed with\n+ _\n+ ,\n+\t\t\tthe variable will be inherited into channels created from the current channel.\n+\t\t\tIf the variable name is prefixed with\n+ __\n+ , the variable will be\n+\t\t\tinherited into channels created from the current channel and all children channels.\n+ \n+ \n+ \n+ If (and only if), in\n+ /etc/asterisk/asterisk.conf\n+ , you have\n+\t\t\ta\n+ [compat]\n+ category, and you have\n+ app_set = 1.4\n+ under that, then\n+\t\t\tthe behavior of this app changes, and strips surrounding quotes from the right hand side as\n+\t\t\tit did previously in 1.4.\n+\t\t\tThe advantages of not stripping out quoting, and not caring about the separator characters (comma and vertical bar)\n+\t\t\twere sufficient to make these changes in 1.6. Confusion about how many backslashes would be needed to properly\n+\t\t\tprotect separators and quotes in various database access strings has been greatly\n+\t\t\treduced by these changes.\n+ \n+ \n+ \n+ \n+ MSet\n+ GLOBAL\n+ SET\n+ ENV\n+ \n+ \n+ \n+ Set channel variable(s) or function value(s).\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ This function can be used to set the value of channel variables or dialplan functions.\n+\t\t\tWhen setting variables, if the variable name is prefixed with\n+ _\n+ ,\n+\t\t\tthe variable will be inherited into channels created from the current channel\n+\t\t\tIf the variable name is prefixed with\n+ __\n+ , the variable will be\n+\t\t\tinherited into channels created from the current channel and all children channels.\n+\t\t\tMSet behaves in a similar fashion to the way Set worked in 1.2/1.4 and is thus\n+\t\t\tprone to doing things that you may not expect. For example, it strips surrounding\n+\t\t\tdouble-quotes from the right-hand side (value). If you need to put a separator\n+\t\t\tcharacter (comma or vert-bar), you will need to escape them by inserting a backslash\n+\t\t\tbefore them. Avoid its use if possible.\n+ \n+ This application allows up to 99 variables to be set at once.\n+ \n+ \n+ Set\n+ \n+ \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n+ Get DB Entry.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Get DB entries, optionally at a particular family/key\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Put DB entry.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Delete DB entry.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Delete DB Tree.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n+ Retrieve the details of the current dialplan exception.\n+ \n+ \n+ The following fields are available for retrieval:\n+ \n+ \n+ INVALID, ERROR, RESPONSETIMEOUT, ABSOLUTETIMEOUT, or custom\n+\t\t\t\t\t\tvalue set by the RaiseException() application\n+ \n+ \n+ The context executing when the exception occurred.\n+ \n+ \n+ The extension executing when the exception occurred.\n+ \n+ \n+ The numeric priority executing when the exception occurred.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Retrieve the details (specified\n+ field\n+ ) of the current dialplan exception.\n+ \n+ \n+ \n+ RaiseException\n+ \n+ \n+ \n+ Sets a time to be used with the channel to test logical conditions.\n+ \n+ \n+ Date in ISO 8601 format\n+ \n+ \n+ Time in HH:MM:SS format (24-hour time)\n+ \n+ \n+ Timezone name\n+ \n+ \n+ \n+ To test dialplan timing conditions at times other than the current time, use\n+\t\t\tthis function to set an alternate date and time. For example, you may wish to evaluate\n+\t\t\twhether a location will correctly identify to callers that the area is closed on Christmas\n+\t\t\tDay, when Christmas would otherwise fall on a day when the office is normally open.\n+ \n+ \n+ GotoIfTime\n+ \n+ \n+ \n+ Show dialplan contexts and extensions\n+ \n+ \n+ \n+ Show a specific extension.\n+ \n+ \n+ Show a specific context.\n+ \n+ \n+ \n+ Show dialplan contexts and extensions. Be aware that showing the full dialplan\n+\t\t\tmay take a lot of capacity.\n+ \n+ \n+ \n+ List the current known extension states.\n+ \n+ \n+ \n+ \n+ \n+ This will list out all known extension states in a\n+\t\t\tsequence of\n+ ExtensionStatus\n+ events.\n+\t\t\tWhen finished, a\n+ ExtensionStateListComplete\n+ event\n+\t\t\twill be emitted.\n+ \n+ \n+ \n+ ExtensionState\n+ HINT\n+ EXTENSION_STATE\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Indicates the end of the list the current known extension states.\n+ \n+ \n+ Conveys the status of the event list.\n+ \n+ \n+ Conveys the number of statuses reported.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n core\n \n- \n+ \n core\n \n- \n- \n- Raised when a presence state changes\n- \n- \n- The entity whose presence state has changed\n- \n- \n- The new status of the presentity\n- \n- \n- The new subtype of the presentity\n- \n- \n- The new message of the presentity\n- \n- \n- \n- \n- This differs from the\n- PresenceStatus\n- event because this event is raised for all presence state changes,\n-\t\t\t\tnot only for changes that affect dialplan hints.\n- \n- \n- \n- PresenceStatus\n- \n- \n- \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n \n \n Raised when a bridge is created.\n \n \n@@ -22491,524 +24317,178 @@\n Bridge\n BridgeDestroy\n BridgeInfo\n BridgeList\n BridgeLeave\n \n \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n+ \n core\n \n- \n+ \n core\n \n- \n- uriparser\n+ \n core\n \n- \n- Bucket file API\n- \n- \n- \n- Scheme in use for bucket\n- \n- \n- Time at which the bucket was created\n- \n- \n- Time at which the bucket was last modified\n- \n- \n- \n- \n- Scheme in use for file\n- \n- \n- Time at which the file was created\n- \n- \n- Time at which the file was last modified\n- \n- \n- \n- \n- \n+ \n core\n \n \n core\n \n- \n+ \n core\n \n- \n- \n- Raised when all Asterisk initialization procedures have finished.\n+ \n+ \n+ Raised when a variable is set to a particular value.\n \n- \n- Informational message\n+ \n+ \n+ The variable being set.\n \n- \n- Seconds since start\n+ \n+ The new value of the variable.\n \n- \n- Seconds since last reload\n+ \n+ \n+ \n+ \n+ \n+ Raised when an Agent has logged in.\n+ \n+ \n+ \n+ Agent ID of the agent.\n \n \n+ \n+ AgentLogin\n+ AgentLogoff\n+ \n \n \n- \n- \n- Raised when Asterisk is shutdown or restarted.\n+ \n+ \n+ Raised when an Agent has logged off.\n \n- \n- Whether the shutdown is proceeding cleanly (all channels\n-\t\t\t\t\twere hungup successfully) or uncleanly (channels will be\n-\t\t\t\t\tterminated)\n- \n- \n- \n- \n+ \n+ \n+ The number of seconds the agent was logged in.\n \n- \n- Whether or not a restart will occur.\n- \n- \n- \n- \n+ \n+ \n+ AgentLogin\n+ \n+ \n+ \n+ \n+ \n+ Raised when talking is detected on a channel.\n+ \n+ \n+ \n+ \n+ TALK_DETECT\n+ ChannelTalkingStop\n+ \n+ \n+ \n+ \n+ \n+ Raised when talking is no longer detected on a channel.\n+ \n+ \n+ \n+ The length in time, in milliseconds, that talking was\n+\t\t\t\t\tdetected on the channel.\n \n \n+ \n+ TALK_DETECT\n+ ChannelTalkingStart\n+ \n \n \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- jansson\n- core\n- \n- \n- core\n- \n- \n+ \n core\n \n- \n+ \n core\n \n- \n- \n- \n- Options that apply globally to Channel Event Logging (CEL)\n- \n- Determines whether CEL is enabled\n+ \n+ \n+ \n+ Global options for configuring UDPTL\n+ \n+ The start of the UDPTL port range\n \n- \n- The format to be used for dates when logging\n+ \n+ The end of the UDPTL port range\n \n- \n- List of apps for CEL to track\n- \n- A case-insensitive, comma-separated list of applications\n-\t\t\t\t\tto track when one or both of APP_START and APP_END events are flagged for\n-\t\t\t\t\ttracking\n- \n+ \n+ Whether to enable or disable UDP checksums on UDPTL traffic\n \n- \n- List of events for CEL to track\n- \n- \n- A case-sensitive, comma-separated list of event names\n-\t\t\t\t\tto track. These event names do not include the leading\n- AST_CEL\n- .\n- \n- \n- \n- Special value which tracks all events.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ The number of error correction entries in a UDPTL packet\n+ \n+ \n+ The span over which parity is calculated for FEC in a UDPTL packet\n+ \n+ \n+ Whether to only use even-numbered UDPTL ports\n+ \n+ \n+ Removed\n+ \n+ \n+ Removed\n \n \n \n \n- \n- core\n- \n- \n- core\n- \n- \n- Set channel variable or function value.\n- \n- \n- \n- \n- \n- \n- This function can be used to set the value of channel variables or dialplan functions.\n-\t\t\tWhen setting variables, if the variable name is prefixed with\n- _\n- ,\n-\t\t\tthe variable will be inherited into channels created from the current channel.\n-\t\t\tIf the variable name is prefixed with\n- __\n- , the variable will be\n-\t\t\tinherited into channels created from the current channel and all children channels.\n- \n- \n- \n- If (and only if), in\n- /etc/asterisk/asterisk.conf\n- , you have\n-\t\t\ta\n- [compat]\n- category, and you have\n- app_set = 1.4\n- under that, then\n-\t\t\tthe behavior of this app changes, and strips surrounding quotes from the right hand side as\n-\t\t\tit did previously in 1.4.\n-\t\t\tThe advantages of not stripping out quoting, and not caring about the separator characters (comma and vertical bar)\n-\t\t\twere sufficient to make these changes in 1.6. Confusion about how many backslashes would be needed to properly\n-\t\t\tprotect separators and quotes in various database access strings has been greatly\n-\t\t\treduced by these changes.\n- \n- \n- \n- \n- MSet\n- GLOBAL\n- SET\n- ENV\n- \n- \n- \n- Set channel variable(s) or function value(s).\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- This function can be used to set the value of channel variables or dialplan functions.\n-\t\t\tWhen setting variables, if the variable name is prefixed with\n- _\n- ,\n-\t\t\tthe variable will be inherited into channels created from the current channel\n-\t\t\tIf the variable name is prefixed with\n- __\n- , the variable will be\n-\t\t\tinherited into channels created from the current channel and all children channels.\n-\t\t\tMSet behaves in a similar fashion to the way Set worked in 1.2/1.4 and is thus\n-\t\t\tprone to doing things that you may not expect. For example, it strips surrounding\n-\t\t\tdouble-quotes from the right-hand side (value). If you need to put a separator\n-\t\t\tcharacter (comma or vert-bar), you will need to escape them by inserting a backslash\n-\t\t\tbefore them. Avoid its use if possible.\n- \n- This application allows up to 99 variables to be set at once.\n- \n- \n- Set\n- \n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n+ \n core\n \n- \n+ \n+ uriparser\n core\n \n- \n- Call Detail Record configuration\n- \n- CDR is Call Detail Record, which provides logging services via a variety of\n-\t\t\tpluggable backend modules. Detailed call information can be recorded to\n-\t\t\tdatabases, files, etc. Useful for billing, fraud prevention, compliance with\n-\t\t\tSarbanes-Oxley aka The Enron Act, QOS evaluations, and more.\n- \n- \n- \n- Global settings applied to the CDR engine.\n- \n- Enable/disable verbose CDR debugging.\n- \n- \n- When set to\n- True\n- , verbose updates\n-\t\t\t\t\tof changes in CDR information will be logged. Note that this is only\n-\t\t\t\t\tof use when debugging CDR behavior.\n- \n- \n- \n- \n- Enable/disable CDR logging.\n- \n- Define whether or not to use CDR logging. Setting this to "no" will override\n-\t\t\t\t\tany loading of backend CDR modules.\n- \n- \n- \n- Whether CDR is enabled on a channel by default\n- \n- Define whether or not CDR should be enabled on a channel by default.\n-\t\t\t\t\tSetting this to "yes" will enable CDR on every channel unless it is explicitly disabled.\n-\t\t\t\t\tSetting this to "no" will disable CDR on every channel unless it is explicitly enabled.\n- \n- Note that CDR must still be globally enabled (\n- enable = yes\n- ) for this\n-\t\t\t\t\toption to have any effect. This only applies to whether CDR is enabled or disabled on\n-\t\t\t\t\tnewly created channels, which can be changed in the dialplan during a call.\n- \n- \n- If this is set to "yes", you should use\n- Set(CDR_PROP(disable)=1)\n- to disable CDR for a call.\n- \n- \n- If this is set to "no", you should use\n- Set(CDR_PROP(disable)=0)\n- to undisable (enable) CDR for a call.\n- \n- \n- \n- \n- Log calls that are never answered and don't set an outgoing party.\n- \n- Define whether or not to log unanswered calls that don't involve an outgoing party. Setting\n-\t\t\t\t\tthis to "yes" will make calls to extensions that don't answer and don't set a side B channel\n-\t\t\t\t\t(such as by using the Dial application) receive CDR log entries. If this option is set to\n-\t\t\t\t\t"no", then those log entries will not be created. Unanswered calls which get offered to an\n-\t\t\t\t\toutgoing line will always receive log entries regardless of this option, and that is the\n-\t\t\t\t\tintended behavior.\n- \n- \n- \n- Log congested calls.\n- \n- Define whether or not to log congested calls. Setting this to "yes" will\n-\t\t\t\t\treport each call that fails to complete due to congestion conditions.\n- \n- \n- \n- Don't produce CDRs while executing hangup logic\n- \n- \n- As each CDR for a channel is finished, its end time is updated\n-\t\t\t\t\t\tand the CDR is finalized. When a channel is hung up and hangup\n-\t\t\t\t\t\tlogic is present (in the form of a hangup handler or the\n- h\n- extension), a new CDR is generated for the\n-\t\t\t\t\t\tchannel. Any statistics are gathered from this new CDR. By enabling\n-\t\t\t\t\t\tthis option, no new CDR is created for the dialplan logic that is\n-\t\t\t\t\t\texecuted in\n- h\n- extensions or attached hangup handler\n-\t\t\t\t\t\tsubroutines. The default value is\n- yes\n- , indicating\n-\t\t\t\t\t\tthat a CDR will be generated during hangup logic.\n- \n- \n- \n- \n- Count microseconds for billsec purposes\n- \n- \n- Normally, the\n- billsec\n- field logged to the CDR backends\n-\t\t\t\t\tis simply the end time (hangup time) minus the answer time in seconds. Internally,\n-\t\t\t\t\tasterisk stores the time in terms of microseconds and seconds. By setting\n-\t\t\t\t\tinitiatedseconds to\n- yes\n- , you can force asterisk to report any seconds\n-\t\t\t\t\tthat were initiated (a sort of round up method). Technically, this is\n-\t\t\t\t\twhen the microsecond part of the end time is greater than the microsecond\n-\t\t\t\t\tpart of the answer time, then the billsec time is incremented one second.\n- \n- \n+ \n+ Bucket file API\n+ \n+ \n+ \n+ Scheme in use for bucket\n \n- \n- Submit CDRs to the backends for processing in batches\n- \n- Define the CDR batch mode, where instead of posting the CDR at the end of\n-\t\t\t\t\tevery call, the data will be stored in a buffer to help alleviate load on the\n-\t\t\t\t\tasterisk server.\n- \n- Use of batch mode may result in data loss after unsafe asterisk termination,\n-\t\t\t\t\ti.e., software crash, power failure, kill -9, etc.\n- \n- \n+ \n+ Time at which the bucket was created\n \n- \n- The maximum number of CDRs to accumulate before triggering a batch\n- \n- \n- Define the maximum number of CDRs to accumulate in the buffer before posting\n-\t\t\t\t\tthem to the backend engines. batch must be set to\n- yes\n- .\n- \n- \n+ \n+ Time at which the bucket was last modified\n \n- \n- The maximum time to accumulate CDRs before triggering a batch\n- \n- \n- Define the maximum time to accumulate CDRs before posting them in a batch to the\n-\t\t\t\t\tbackend engines. If this time limit is reached, then it will post the records, regardless of the value\n-\t\t\t\t\tdefined for size. batch must be set to\n- yes\n- .\n- \n- \n- Time is expressed in seconds.\n- \n- \n+ \n+ \n+ \n+ Scheme in use for file\n \n- \n- Post batched CDRs on their own thread instead of the scheduler\n- \n- \n- The CDR engine uses the internal asterisk scheduler to determine when to post\n-\t\t\t\t\trecords. Posting can either occur inside the scheduler thread, or a new\n-\t\t\t\t\tthread can be spawned for the submission of every batch. For small batches,\n-\t\t\t\t\tit might be acceptable to just use the scheduler thread, so set this to\n- yes\n- .\n-\t\t\t\t\tFor large batches, say anything over size=10, a new thread is recommended, so\n-\t\t\t\t\tset this to\n- no\n- .\n- \n- \n+ \n+ Time at which the file was created\n \n- \n- Block shutdown of Asterisk until CDRs are submitted\n- \n- \n- When shutting down asterisk, you can block until the CDRs are submitted. If\n-\t\t\t\t\tyou don't, then data will likely be lost. You can always check the size of\n-\t\t\t\t\tthe CDR batch buffer with the CLI\n- cdr status\n- command. To enable blocking on\n-\t\t\t\t\tsubmission of CDR data during asterisk shutdown, set this to\n- yes\n- .\n- \n- \n+ \n+ Time at which the file was last modified\n \n \n \n \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n+ \n core\n \n- \n+ \n core\n \n \n Features Configuration\n \n \n \n@@ -23527,991 +25007,119 @@\n \t\t\tvalue has not been set. This function can also be used to set a channel\n \t\t\tspecific value for a feature mapping.\n \n \n FEATURE\n \n \n- \n- core\n- \n- \n- \n- Raised when a call pickup occurs.\n- \n- \n- \n- \n- \n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- Create a message or read fields from a message.\n- \n- \n- Field of the message to get or set.\n- \n- \n- When processing an\n-\t\t\t\t\tincoming message, this will be set to the destination listed as\n-\t\t\t\t\tthe recipient of the message that was received by Asterisk.\n- \n- For an outgoing message, this will set the To header in the\n-\t\t\t\t\toutgoing SIP message. This may be overridden by the "to" parameter\n-\t\t\t\t\tof MessageSend.\n- \n- \n- When processing an\n-\t\t\t\t\tincoming message, this will be set to the source of the message.\n- \n- For an outgoing message, this will set the From header in the\n-\t\t\t\t\toutgoing SIP message. This may be overridden by the "from" parameter\n-\t\t\t\t\tof MessageSend.\n- \n- \n- Write-only. Mark or unmark all message headers for an outgoing\n-\t\t\t\t\tmessage. The following values can be set:\n- \n- \n- Mark all headers for an outgoing message.\n- \n- \n- Unmark all headers for an outgoing message.\n- \n- \n- \n- \n- Read/Write. The message body. When processing an incoming\n-\t\t\t\t\tmessage, this includes the body of the message that Asterisk\n-\t\t\t\t\treceived. When MessageSend() is executed, the contents of this\n-\t\t\t\t\tfield are used as the body of the outgoing message. The body\n-\t\t\t\t\twill always be UTF-8.\n- \n- \n- \n- \n- \n- This function will read from or write a value to a text message.\n-\t\t\tIt is used both to read the data out of an incoming message, as well as\n-\t\t\tmodify or create a message that will be sent outbound.\n- \n- \n- MessageSend\n- \n- \n- \n- Read or write custom data attached to a message.\n- \n- \n- Field of the message to get or set.\n- \n- \n- \n- This function will read from or write a value to a text message.\n-\t\t\tIt is used both to read the data out of an incoming message, as well as\n-\t\t\tmodify a message that will be sent outbound.\n- \n- \n- If you want to set an outbound message to carry data in the\n-\t\t\t\tcurrent message, do\n-\t\t\t\tSet(MESSAGE_DATA(\n- key\n- )=${MESSAGE_DATA(\n- key\n- )}).\n- \n- \n- \n- \n- MessageSend\n- \n- \n- \n- Send a text message.\n- \n- \n- A To URI for the message.\n- \n- \n- \n- \n- A From URI for the message if needed for the\n-\t\t\t\tmessage technology being used to send this message. This can be a\n-\t\t\t\tSIP(S) URI, such as\n- Alice <sip:alice@atlanta.com>\n- ,\n-\t\t\t\tor a string in the format\n- alice@atlanta.com\n- .\n-\t\t\t\tThis will override a\n- from\n- specified using the MESSAGE dialplan function or the\n- from\n- that may have been on an incoming message.\n- \n- \n- \n- \n- \n- A To URI for the message if needed for the\n-\t\t\t\tmessage technology being used to send this message. This can be a\n-\t\t\t\tSIP(S) URI, such as\n- Alice <sip:alice@atlanta.com>\n- ,\n-\t\t\t\tor a string in the format\n- alice@atlanta.com\n- .\n-\t\t\t\tThis will override a\n- to\n- specified using the MESSAGE dialplan function or the\n- to\n- that may have been on an incoming message.\n- \n- \n- \n- \n- \n- \n- Send a text message. The body of the message that will be\n-\t\t\tsent is what is currently set to\n- MESSAGE(body)\n- .\n-\t\t\tThis may he come from an incoming message.\n-\t\t\tThe technology chosen for sending the message is determined\n-\t\t\tbased on a prefix to the\n- destination\n- parameter.\n- \n- This application sets the following channel variables:\n- \n- \n- This is the message delivery status returned by this application.\n- No handler for the technology part of the URI was found.\n- The protocol handler reported that the URI was not valid.\n- Successfully passed on to the protocol handler, but delivery has not necessarily been guaranteed.\n- The protocol handler reported that it was unabled to deliver the message for some reason.\n- \n- \n- \n- \n- \n- Send an out of call message to an endpoint.\n- \n- \n- \n- A To URI for the message. If Destination is provided, the To\n-\t\t\t\tparameter can also be supplied and may alter the message based on\n-\t\t\t\tthe specified message technology.\n- For backwards compatibility, if Destination is not provided,\n-\t\t\t\tthe To parameter must be provided and will be used as the message\n-\t\t\t\tdestination.\n- \n- \n- \n- \n- A To URI for the message if needed for the\n-\t\t\t\tmessage technology being used to send this message. This can be a\n-\t\t\t\tSIP(S) URI, such as\n- Alice <sip:alice@atlanta.com>\n- ,\n-\t\t\t\tor a string in the format\n- alice@atlanta.com\n- .\n- \n- This parameter is required if the Destination parameter is not\n-\t\t\t\tprovided.\n- \n- \n- \n- A From URI for the message if needed for the\n-\t\t\t\tmessage technology being used to send this message.\n- \n- \n- \n- The message body text. This must not contain any newlines as that\n-\t\t\t\tconflicts with the AMI protocol.\n- \n- \n- Text bodies requiring the use of newlines have to be base64 encoded\n-\t\t\t\tin this field. Base64Body will be decoded before being sent out.\n-\t\t\t\tBase64Body takes precedence over Body.\n- \n- \n- Message variable to set, multiple Variable: headers are\n-\t\t\t\tallowed. The header value is a comma separated list of\n-\t\t\t\tname=value pairs.\n- \n- \n- \n- \n- core\n- \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n+ \n+ \n+ Options for configuring a named ACL\n+ \n+ An address/subnet from which to allow access\n+ \n+ \n+ An address/subnet from which to disallow access\n+ \n+ \n+ \n+ \n+ \n core\n \n- \n+ \n core\n \n- \n- \n- Raised when a blind transfer is complete.\n+ \n+ \n+ Raised when the state of a peer changes.\n \n- \n- Indicates if the transfer was successful or if it failed.\n- \n- \n- An internal error occurred.\n- \n- \n- Invalid configuration for transfer (e.g. Not bridged)\n- \n- \n- Bridge does not permit transfers\n- \n- \n- Transfer completed successfully\n- \n- \n- \n- \n- A result of\n- Success\n- does not necessarily mean that a target was succesfully\n-\t\t\t\t\tcontacted. It means that a party was succesfully placed into the dialplan at the expected location.\n- \n- \n- \n- \n- \n- \n- \n- Indicates if the transfer was performed outside of Asterisk. For instance,\n-\t\t\t\t\ta channel protocol native transfer is external. A DTMF transfer is internal.\n- \n- \n- \n- \n- \n- \n- Destination context for the blind transfer.\n+ \n+ The channel technology of the peer.\n \n- \n- Destination extension for the blind transfer.\n+ \n+ The name of the peer (including channel technology).\n \n- \n- \n- BlindTransfer\n- \n- \n- \n- \n- \n- Raised when an attended transfer is complete.\n- \n- \n- \n- \n- \n- \n- \n- Indicates the method by which the attended transfer completed.\n+ \n+ New status of the peer.\n \n- \n- The transfer was accomplished by merging two bridges into one.\n- \n- \n- The transfer was accomplished by having a channel or bridge run a dialplan application.\n- \n- \n- The transfer was accomplished by linking two bridges together using a local channel pair.\n- \n- \n- The transfer was accomplished by placing all parties into a threeway call.\n- \n- \n- The transfer failed.\n- \n+ \n+ \n+ \n+ \n+ \n \n \n- \n- Indicates the surviving bridge when bridges were merged to complete the transfer\n- \n- \n- This header is only present when\n- DestType\n- is\n- Bridge\n- or\n- Threeway\n- \n- \n- \n- \n- Indicates the application that is running when the transfer completes\n- \n- \n- This header is only present when\n- DestType\n- is\n- App\n- \n- \n- \n- \n- \n- \n- The name of the surviving transferer channel when a transfer results in a threeway call\n- \n- \n- This header is only present when\n- DestType\n- is\n- Threeway\n- \n- \n- \n- \n- \n- \n- The headers in this event attempt to describe all the major details of the attended transfer. The two transferer channels\n-\t\t\t\tand the two bridges are determined based on their chronological establishment. So consider that Alice calls Bob, and then Alice\n-\t\t\t\ttransfers the call to Voicemail. The transferer and bridge headers would be arranged as follows:\n- \n- OrigTransfererChannel\n- : Alice's channel in the bridge with Bob.\n- \n- \n- OrigBridgeUniqueid\n- : The bridge between Alice and Bob.\n- \n- \n- SecondTransfererChannel\n- : Alice's channel that called Voicemail.\n- \n- \n- SecondBridgeUniqueid\n- : Not present, since a call to Voicemail has no bridge.\n- \n- Now consider if the order were reversed; instead of having Alice call Bob and transfer him to Voicemail, Alice instead\n-\t\t\t\tcalls her Voicemail and transfers that to Bob. The transferer and bridge headers would be arranged as follows:\n- \n- OrigTransfererChannel\n- : Alice's channel that called Voicemail.\n- \n- \n- OrigBridgeUniqueid\n- : Not present, since a call to Voicemail has no bridge.\n- \n- \n- SecondTransfererChannel\n- : Alice's channel in the bridge with Bob.\n- \n- \n- SecondBridgeUniqueid\n- : The bridge between Alice and Bob.\n- \n- \n- \n- AtxFer\n- \n- \n- \n- \n- core\n- \n- \n- Retrieve the details of the current dialplan exception.\n- \n- \n- The following fields are available for retrieval:\n- \n- \n- INVALID, ERROR, RESPONSETIMEOUT, ABSOLUTETIMEOUT, or custom\n-\t\t\t\t\t\tvalue set by the RaiseException() application\n- \n- \n- The context executing when the exception occurred.\n- \n- \n- The extension executing when the exception occurred.\n- \n- \n- The numeric priority executing when the exception occurred.\n- \n- \n- \n- \n- \n- \n- Retrieve the details (specified\n- field\n- ) of the current dialplan exception.\n- \n- \n- \n- RaiseException\n- \n- \n- \n- Sets a time to be used with the channel to test logical conditions.\n- \n- \n- Date in ISO 8601 format\n- \n- \n- Time in HH:MM:SS format (24-hour time)\n- \n- \n- Timezone name\n- \n- \n- \n- To test dialplan timing conditions at times other than the current time, use\n-\t\t\tthis function to set an alternate date and time. For example, you may wish to evaluate\n-\t\t\twhether a location will correctly identify to callers that the area is closed on Christmas\n-\t\t\tDay, when Christmas would otherwise fall on a day when the office is normally open.\n- \n- \n- GotoIfTime\n- \n- \n- \n- Show dialplan contexts and extensions\n- \n- \n- \n- Show a specific extension.\n- \n- \n- Show a specific context.\n- \n- \n- \n- Show dialplan contexts and extensions. Be aware that showing the full dialplan\n-\t\t\tmay take a lot of capacity.\n- \n- \n- \n- List the current known extension states.\n- \n- \n- \n- \n- \n- This will list out all known extension states in a\n-\t\t\tsequence of\n- ExtensionStatus\n- events.\n-\t\t\tWhen finished, a\n- ExtensionStateListComplete\n- event\n-\t\t\twill be emitted.\n- \n- \n- \n- ExtensionState\n- HINT\n- EXTENSION_STATE\n- \n- \n- \n- \n- \n- \n- \n- Indicates the end of the list the current known extension states.\n- \n- \n- Conveys the status of the event list.\n- \n- \n- Conveys the number of statuses reported.\n- \n- \n- \n- \n- \n- \n- \n- core\n- \n- \n- \n- Raised when a new channel is created.\n- \n- \n- \n- \n- Newstate\n- Hangup\n- \n- \n- \n- \n- \n- Raised when a channel's state changes.\n- \n- \n- \n- \n- Newchannel\n- Hangup\n- \n- \n- \n- \n- \n- Raised when a channel is hung up.\n- \n- \n \n- A numeric cause code for why the channel was hung up.\n- \n- \n- A description of why the channel was hung up.\n- \n- \n- \n- Newchannel\n- SoftHangupRequest\n- HangupRequest\n- Newstate\n- \n- \n- \n- \n- \n- Raised when a hangup is requested.\n- \n- \n- \n- \n- \n- SoftHangupRequest\n- Hangup\n- \n- \n- \n- \n- \n- Raised when a soft hangup is requested with a specific cause code.\n- \n- \n- \n- \n- \n- HangupRequest\n- Hangup\n- \n- \n- \n- \n- \n- Raised when a channel enters a new context, extension, priority.\n- \n- \n- \n- Deprecated in 12, but kept for\n-\t\t\t\t\tbackward compatability. Please use\n-\t\t\t\t\t'Exten' instead.\n- \n- \n- The application about to be executed.\n- \n- \n- The data to be passed to the application.\n- \n- \n- \n- \n- \n- \n- Raised when a channel receives new Caller ID information.\n- \n- \n- \n- A description of the Caller ID presentation.\n- \n- \n- \n- CALLERID\n- \n- \n- \n- \n- \n- Raised when a channel's connected line information is changed.\n- \n- \n- \n- \n- CONNECTEDLINE\n- \n- \n- \n- \n- \n- Raised when a Channel's AccountCode is changed.\n- \n- \n- \n- The channel's previous account code\n- \n- \n- \n- CHANNEL\n- \n- \n- \n- \n- \n- Raised when a dial action has started.\n- \n- \n- \n- \n- The non-technology specific device being dialed.\n- \n- \n- \n- Dial\n- Originate\n- Originate\n- DialEnd\n- \n- \n- \n- \n- \n- Raised when dial status has changed.\n- \n- \n- \n- \n- The new state of the outbound dial attempt.\n- \n- \n- The outbound channel is ringing.\n- \n- \n- The call to the outbound channel is proceeding.\n- \n- \n- Progress has been received on the outbound channel.\n- \n- \n- \n- \n- If the call was forwarded, where the call was\n-\t\t\t\t\tforwarded to.\n+ The reason the status has changed.\n \n- \n- \n- \n- \n- \n- Raised when a dial action has completed.\n- \n- \n- \n- \n- The result of the dial operation.\n- \n- \n- The call was aborted.\n- \n- \n- The caller answered.\n- \n- \n- The caller was busy.\n- \n- \n- The caller cancelled the call.\n- \n- \n- The requested channel is unavailable.\n- \n- \n- The called party is congested.\n- \n- \n- The dial completed, but the caller elected\n-\t\t\t\t\t\t\tto continue in the dialplan.\n- \n- \n- The dial completed, but the caller jumped to\n-\t\t\t\t\t\t\ta dialplan location.\n- If known, the location the caller is jumping\n-\t\t\t\t\t\t\tto will be appended to the result following a\n-\t\t\t\t\t\t\t":".\n- \n- \n- The called party failed to answer.\n- \n- \n+ \n+ New address of the peer.\n \n- \n- If the call was forwarded, where the call was\n-\t\t\t\t\tforwarded to.\n+ \n+ New port for the peer.\n \n- \n- \n- Dial\n- Originate\n- Originate\n- DialBegin\n- \n- \n- \n- \n- \n- Raised when a channel goes on hold.\n- \n- \n- \n- The suggested MusicClass, if provided.\n+ \n+ Time it takes to reach the peer and receive a response.\n \n \n- \n- Unhold\n- \n- \n- \n- \n- \n- Raised when a channel goes off hold.\n- \n- \n- \n- \n- Hold\n- \n- \n- \n- \n- \n- Raised when one channel begins spying on another channel.\n- \n- \n- \n- \n- \n- ChanSpyStop\n- ChanSpy\n- \n- \n- \n- \n- \n- Raised when a channel has stopped spying.\n- \n- \n- \n- \n- \n- ChanSpyStart\n- ChanSpy\n- \n \n \n- \n- \n- Raised when a hangup handler is about to be called.\n+ \n+ \n+ Raised when the state of a contact changes.\n \n- \n- \n- Hangup handler parameter string passed to the Gosub application.\n+ \n+ This contact's URI.\n \n- \n- \n- CHANNEL\n- \n- \n- \n- \n- \n- Raised when a hangup handler is removed from the handler stack\n-\t\t\t\tby the CHANNEL() function.\n- \n- \n- \n- \n- \n- HangupHandlerPush\n- CHANNEL\n- \n- \n- \n- \n- \n- Raised when a hangup handler is added to the handler stack by\n-\t\t\t\tthe CHANNEL() function.\n- \n- \n- \n- \n- \n- HangupHandlerPop\n- CHANNEL\n- \n- \n- \n- \n- \n- Raised periodically during a fax transmission.\n- \n- \n- \n+ \n+ New status of the contact.\n \n- \n- \n- \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n- \n- A text message describing the current status of the fax\n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when a receive fax operation has completed.\n- \n- \n- \n- \n- The value of the\n- LOCALSTATIONID\n- channel variable\n- \n- \n- \n- \n- The value of the\n- REMOTESTATIONID\n- channel variable\n- \n- \n- \n- The number of pages that have been transferred\n- \n- \n- The negotiated resolution\n- \n- \n- The negotiated transfer rate\n+ \n+ The name of the associated aor.\n \n- \n- The files being affected by the fax operation\n+ \n+ The name of the associated endpoint.\n \n- \n- \n- \n- \n- \n- Raised when a send fax operation has completed.\n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when music on hold has started on a channel.\n- \n- \n- \n- The class of music being played on the channel\n+ \n+ The RTT measured during the last qualify.\n \n \n- \n- MusicOnHoldStop\n- StartMusicOnHold\n- MusicOnHold\n- \n- \n- \n- \n- \n- Raised when music on hold has stopped on a channel.\n- \n- \n- \n- \n- MusicOnHoldStart\n- StopMusicOnHold\n- \n- \n- \n- \n- \n- Raised when monitoring has started on a channel.\n- \n- \n- \n- \n- MonitorStop\n- Monitor\n- Monitor\n- \n- \n- \n- \n- \n- Raised when monitoring has stopped on a channel.\n- \n- \n- \n- \n- MonitorStart\n- StopMonitor\n- StopMonitor\n- \n \n \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n \n core\n \n \n \n Raised when an RTCP packet is sent.\n \n@@ -24660,210 +25268,275 @@\n \n \n \n RTCPSent\n \n \n \n- \n+ \n core\n \n- \n- \n- \n- Options for configuring a named ACL\n- \n- An address/subnet from which to allow access\n+ \n+ core\n+ \n+ \n+ Call Detail Record configuration\n+ \n+ CDR is Call Detail Record, which provides logging services via a variety of\n+\t\t\tpluggable backend modules. Detailed call information can be recorded to\n+\t\t\tdatabases, files, etc. Useful for billing, fraud prevention, compliance with\n+\t\t\tSarbanes-Oxley aka The Enron Act, QOS evaluations, and more.\n+ \n+ \n+ \n+ Global settings applied to the CDR engine.\n+ \n+ Enable/disable verbose CDR debugging.\n+ \n+ \n+ When set to\n+ True\n+ , verbose updates\n+\t\t\t\t\tof changes in CDR information will be logged. Note that this is only\n+\t\t\t\t\tof use when debugging CDR behavior.\n+ \n+ \n \n- \n- An address/subnet from which to disallow access\n+ \n+ Enable/disable CDR logging.\n+ \n+ Define whether or not to use CDR logging. Setting this to "no" will override\n+\t\t\t\t\tany loading of backend CDR modules.\n+ \n+ \n+ \n+ Whether CDR is enabled on a channel by default\n+ \n+ Define whether or not CDR should be enabled on a channel by default.\n+\t\t\t\t\tSetting this to "yes" will enable CDR on every channel unless it is explicitly disabled.\n+\t\t\t\t\tSetting this to "no" will disable CDR on every channel unless it is explicitly enabled.\n+ \n+ Note that CDR must still be globally enabled (\n+ enable = yes\n+ ) for this\n+\t\t\t\t\toption to have any effect. This only applies to whether CDR is enabled or disabled on\n+\t\t\t\t\tnewly created channels, which can be changed in the dialplan during a call.\n+ \n+ \n+ If this is set to "yes", you should use\n+ Set(CDR_PROP(disable)=1)\n+ to disable CDR for a call.\n+ \n+ \n+ If this is set to "no", you should use\n+ Set(CDR_PROP(disable)=0)\n+ to undisable (enable) CDR for a call.\n+ \n+ \n+ \n+ \n+ Log calls that are never answered and don't set an outgoing party.\n+ \n+ Define whether or not to log unanswered calls that don't involve an outgoing party. Setting\n+\t\t\t\t\tthis to "yes" will make calls to extensions that don't answer and don't set a side B channel\n+\t\t\t\t\t(such as by using the Dial application) receive CDR log entries. If this option is set to\n+\t\t\t\t\t"no", then those log entries will not be created. Unanswered calls which get offered to an\n+\t\t\t\t\toutgoing line will always receive log entries regardless of this option, and that is the\n+\t\t\t\t\tintended behavior.\n+ \n+ \n+ \n+ Log congested calls.\n+ \n+ Define whether or not to log congested calls. Setting this to "yes" will\n+\t\t\t\t\treport each call that fails to complete due to congestion conditions.\n+ \n+ \n+ \n+ Don't produce CDRs while executing hangup logic\n+ \n+ \n+ As each CDR for a channel is finished, its end time is updated\n+\t\t\t\t\t\tand the CDR is finalized. When a channel is hung up and hangup\n+\t\t\t\t\t\tlogic is present (in the form of a hangup handler or the\n+ h\n+ extension), a new CDR is generated for the\n+\t\t\t\t\t\tchannel. Any statistics are gathered from this new CDR. By enabling\n+\t\t\t\t\t\tthis option, no new CDR is created for the dialplan logic that is\n+\t\t\t\t\t\texecuted in\n+ h\n+ extensions or attached hangup handler\n+\t\t\t\t\t\tsubroutines. The default value is\n+ yes\n+ , indicating\n+\t\t\t\t\t\tthat a CDR will be generated during hangup logic.\n+ \n+ \n+ \n+ \n+ Count microseconds for billsec purposes\n+ \n+ \n+ Normally, the\n+ billsec\n+ field logged to the CDR backends\n+\t\t\t\t\tis simply the end time (hangup time) minus the answer time in seconds. Internally,\n+\t\t\t\t\tasterisk stores the time in terms of microseconds and seconds. By setting\n+\t\t\t\t\tinitiatedseconds to\n+ yes\n+ , you can force asterisk to report any seconds\n+\t\t\t\t\tthat were initiated (a sort of round up method). Technically, this is\n+\t\t\t\t\twhen the microsecond part of the end time is greater than the microsecond\n+\t\t\t\t\tpart of the answer time, then the billsec time is incremented one second.\n+ \n+ \n+ \n+ \n+ Submit CDRs to the backends for processing in batches\n+ \n+ Define the CDR batch mode, where instead of posting the CDR at the end of\n+\t\t\t\t\tevery call, the data will be stored in a buffer to help alleviate load on the\n+\t\t\t\t\tasterisk server.\n+ \n+ Use of batch mode may result in data loss after unsafe asterisk termination,\n+\t\t\t\t\ti.e., software crash, power failure, kill -9, etc.\n+ \n+ \n+ \n+ \n+ The maximum number of CDRs to accumulate before triggering a batch\n+ \n+ \n+ Define the maximum number of CDRs to accumulate in the buffer before posting\n+\t\t\t\t\tthem to the backend engines. batch must be set to\n+ yes\n+ .\n+ \n+ \n+ \n+ \n+ The maximum time to accumulate CDRs before triggering a batch\n+ \n+ \n+ Define the maximum time to accumulate CDRs before posting them in a batch to the\n+\t\t\t\t\tbackend engines. If this time limit is reached, then it will post the records, regardless of the value\n+\t\t\t\t\tdefined for size. batch must be set to\n+ yes\n+ .\n+ \n+ \n+ Time is expressed in seconds.\n+ \n+ \n+ \n+ \n+ Post batched CDRs on their own thread instead of the scheduler\n+ \n+ \n+ The CDR engine uses the internal asterisk scheduler to determine when to post\n+\t\t\t\t\trecords. Posting can either occur inside the scheduler thread, or a new\n+\t\t\t\t\tthread can be spawned for the submission of every batch. For small batches,\n+\t\t\t\t\tit might be acceptable to just use the scheduler thread, so set this to\n+ yes\n+ .\n+\t\t\t\t\tFor large batches, say anything over size=10, a new thread is recommended, so\n+\t\t\t\t\tset this to\n+ no\n+ .\n+ \n+ \n+ \n+ \n+ Block shutdown of Asterisk until CDRs are submitted\n+ \n+ \n+ When shutting down asterisk, you can block until the CDRs are submitted. If\n+\t\t\t\t\tyou don't, then data will likely be lost. You can always check the size of\n+\t\t\t\t\tthe CDR batch buffer with the CLI\n+ cdr status\n+ command. To enable blocking on\n+\t\t\t\t\tsubmission of CDR data during asterisk shutdown, set this to\n+ yes\n+ .\n+ \n+ \n \n \n \n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n- \n- Raised when an Advice of Charge message is sent at the beginning of a call.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- AOC-D\n- AOC-E\n- \n- \n- \n- \n- \n- Raised when an Advice of Charge message is sent during a call.\n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ \n+ Raised when a presence state changes\n \n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ The entity whose presence state has changed\n \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ The new status of the presentity\n \n- \n- \n- \n- \n- \n+ \n+ The new subtype of the presentity\n \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ The new message of the presentity\n \n- \n- \n- \n- \n- \n- AOCMessage\n- AOC-S\n- AOC-E\n- \n- \n- \n- \n- \n- Raised when an Advice of Charge message is sent at the end of a call.\n- \n- \n- \n- \n- \n- \n- \n \n+ \n+ \n+ This differs from the\n+ PresenceStatus\n+ event because this event is raised for all presence state changes,\n+\t\t\t\tnot only for changes that affect dialplan hints.\n+ \n+ \n \n- AOCMessage\n- AOC-S\n- AOC-D\n+ PresenceStatus\n \n \n \n- \n+ \n core\n \n- \n- \n- \n- Global options for configuring UDPTL\n- \n- The start of the UDPTL port range\n- \n- \n- The end of the UDPTL port range\n- \n- \n- Whether to enable or disable UDP checksums on UDPTL traffic\n- \n- \n- The number of error correction entries in a UDPTL packet\n- \n- \n- The span over which parity is calculated for FEC in a UDPTL packet\n- \n- \n- Whether to only use even-numbered UDPTL ports\n- \n- \n- Removed\n- \n- \n- Removed\n- \n- \n- \n- \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n core\n \n \n core\n \n \n Optimize away a local channel when possible.\n@@ -24942,2176 +25615,1942 @@\n \n \n LocalOptimizationBegin\n LocalOptimizeAway\n \n \n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ \n+ Raised when a call pickup occurs.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n core\n \n \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n- \n- Raised when a request violates an ACL check.\n+ \n+ \n+ Raised when a blind transfer is complete.\n \n- \n- The time the event was detected.\n- \n- \n- A relative severity of the security event.\n+ \n+ Indicates if the transfer was successful or if it failed.\n \n- \n- \n+ \n+ An internal error occurred.\n+ \n+ \n+ Invalid configuration for transfer (e.g. Not bridged)\n+ \n+ \n+ Bridge does not permit transfers\n+ \n+ \n+ Transfer completed successfully\n+ \n \n+ \n+ \n+ A result of\n+ Success\n+ does not necessarily mean that a target was succesfully\n+\t\t\t\t\tcontacted. It means that a party was succesfully placed into the dialplan at the expected location.\n+ \n+ \n \n- \n- The Asterisk service that raised the security event.\n- \n- \n- The version of this event.\n- \n- \n- The Service account associated with the security event\n-\t\t\t\t\tnotification.\n- \n- \n- A unique identifier for the session in the service\n-\t\t\t\t\tthat raised the event.\n- \n- \n- The address of the Asterisk service that raised the\n-\t\t\t\t\tsecurity event.\n- \n- \n- The remote address of the entity that caused the\n-\t\t\t\t\tsecurity event to be raised.\n- \n- \n- If available, the name of the module that raised the event.\n- \n- \n- If available, the name of the ACL that failed.\n- \n- \n- The timestamp reported by the session.\n- \n- \n- \n- \n- \n- \n- Raised when a request fails an authentication check due to an invalid account ID.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when a request fails due to exceeding the number of allowed concurrent sessions for that service.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when a request fails due to an internal memory allocation failure.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when a request fails because a configured load average limit has been reached.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when a request fails due to some aspect of the requested item not being supported by the service.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- The type of request attempted.\n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when a request is not allowed by the service.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Parameters provided to the rejected request.\n- \n- \n- \n- \n- \n- \n- Raised when a request used an authentication method not allowed by the service.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- The authentication method attempted.\n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when a request is received with bad formatting.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- The account ID associated with the rejected request.\n- \n- \n- \n- \n- \n- \n- \n- Raised when a request successfully authenticates with a service.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Whether or not the authentication attempt included a password.\n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when a request has a different source address then what is expected for a session already in progress with a service.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- The address that the request was expected to use.\n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when a request's attempt to authenticate has been challenged, and the request failed the authentication challenge.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- The challenge that was sent.\n+ \n+ \n+ \n+ \n+ Indicates if the transfer was performed outside of Asterisk. For instance,\n+\t\t\t\t\ta channel protocol native transfer is external. A DTMF transfer is internal.\n+ \n+ \n+ \n+ \n \n- \n- The response that was received.\n+ \n+ Destination context for the blind transfer.\n \n- \n- The expected response to the challenge.\n+ \n+ Destination extension for the blind transfer.\n \n- \n- \n \n+ \n+ BlindTransfer\n+ \n \n \n- \n- \n- Raised when a request provides an invalid password during an authentication attempt.\n+ \n+ \n+ Raised when an attended transfer is complete.\n \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- The challenge that was sent.\n- \n- \n- The challenge that was received.\n- \n- \n- The hash that was received.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Indicates the method by which the attended transfer completed.\n+ \n+ \n+ The transfer was accomplished by merging two bridges into one.\n+ \n+ \n+ The transfer was accomplished by having a channel or bridge run a dialplan application.\n+ \n+ \n+ The transfer was accomplished by linking two bridges together using a local channel pair.\n+ \n+ \n+ The transfer was accomplished by placing all parties into a threeway call.\n+ \n+ \n+ The transfer failed.\n+ \n+ \n \n- \n- \n- \n- \n- \n- Raised when an Asterisk service sends an authentication challenge to a request.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when a request attempts to use a transport not allowed by the Asterisk service.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- The transport type that the request attempted to use.\n+ \n+ Indicates the surviving bridge when bridges were merged to complete the transfer\n+ \n+ \n+ This header is only present when\n+ DestType\n+ is\n+ Bridge\n+ or\n+ Threeway\n+ \n+ \n \n- \n- \n- \n- \n- \n- \n- core\n- \n- \n- \n- Raised when a device state changes\n- \n- \n- The device whose state has changed\n+ \n+ Indicates the application that is running when the transfer completes\n+ \n+ \n+ This header is only present when\n+ DestType\n+ is\n+ App\n+ \n+ \n \n- \n- The new state of the device\n+ \n+ \n+ \n+ The name of the surviving transferer channel when a transfer results in a threeway call\n+ \n+ \n+ This header is only present when\n+ DestType\n+ is\n+ Threeway\n+ \n+ \n \n+ \n \n \n+ The headers in this event attempt to describe all the major details of the attended transfer. The two transferer channels\n+\t\t\t\tand the two bridges are determined based on their chronological establishment. So consider that Alice calls Bob, and then Alice\n+\t\t\t\ttransfers the call to Voicemail. The transferer and bridge headers would be arranged as follows:\n \n- This differs from the\n- ExtensionStatus\n- event because this event is raised for all device state changes,\n-\t\t\t\tnot only for changes that affect dialplan hints.\n+ OrigTransfererChannel\n+ : Alice's channel in the bridge with Bob.\n+ \n+ \n+ OrigBridgeUniqueid\n+ : The bridge between Alice and Bob.\n+ \n+ \n+ SecondTransfererChannel\n+ : Alice's channel that called Voicemail.\n+ \n+ \n+ SecondBridgeUniqueid\n+ : Not present, since a call to Voicemail has no bridge.\n+ \n+ Now consider if the order were reversed; instead of having Alice call Bob and transfer him to Voicemail, Alice instead\n+\t\t\t\tcalls her Voicemail and transfers that to Bob. The transferer and bridge headers would be arranged as follows:\n+ \n+ OrigTransfererChannel\n+ : Alice's channel that called Voicemail.\n+ \n+ \n+ OrigBridgeUniqueid\n+ : Not present, since a call to Voicemail has no bridge.\n+ \n+ \n+ SecondTransfererChannel\n+ : Alice's channel in the bridge with Bob.\n+ \n+ \n+ SecondBridgeUniqueid\n+ : The bridge between Alice and Bob.\n \n \n \n- ExtensionStatus\n+ AtxFer\n \n \n \n- \n+ \n core\n \n- \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ \n+ \n+ Options that apply globally to Channel Event Logging (CEL)\n+ \n+ Determines whether CEL is enabled\n+ \n+ \n+ The format to be used for dates when logging\n+ \n+ \n+ List of apps for CEL to track\n+ \n+ A case-insensitive, comma-separated list of applications\n+\t\t\t\t\tto track when one or both of APP_START and APP_END events are flagged for\n+\t\t\t\t\ttracking\n+ \n+ \n+ \n+ List of events for CEL to track\n+ \n+ \n+ A case-sensitive, comma-separated list of event names\n+\t\t\t\t\tto track. These event names do not include the leading\n+ AST_CEL\n+ .\n+ \n+ \n+ \n+ Special value which tracks all events.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n \n- Raised when the state of a peer changes.\n+ Raised when a module has been reloaded in Asterisk.\n \n- \n- The channel technology of the peer.\n- \n- \n- The name of the peer (including channel technology).\n+ \n+ \n+ The name of the module that was reloaded, or\n+ All\n+ if all modules were reloaded\n+ \n \n- \n- New status of the peer.\n+ \n+ The numeric status code denoting the success or failure\n+\t\t\t\t\tof the reload request.\n \n- \n- \n- \n- \n- \n+ \n+ Success\n+ \n+ \n+ Request queued\n+ \n+ \n+ Module not found\n+ \n+ \n+ Error\n+ \n+ \n+ Reload already in progress\n+ \n+ \n+ Module uninitialized\n+ \n+ \n+ Reload not supported\n+ \n \n \n- \n- The reason the status has changed.\n- \n- \n- New address of the peer.\n- \n- \n- New port for the peer.\n- \n- \n- Time it takes to reach the peer and receive a response.\n- \n \n \n \n- \n+ \n \n- Raised when the state of a contact changes.\n+ Raised when a module has been loaded in Asterisk.\n \n- \n- This contact's URI.\n+ \n+ The name of the module that was loaded\n \n- \n- New status of the contact.\n+ \n+ The result of the load request.\n \n- \n- \n- \n- \n- \n- \n+ \n+ Module could not be loaded properly\n+ \n+ \n+ Module loaded and configured\n+ \n+ \n+ Module is not configured\n+ \n \n \n- \n- The name of the associated aor.\n- \n- \n- The name of the associated endpoint.\n- \n- \n- The RTT measured during the last qualify.\n- \n \n \n \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n+ \n \n- Raised when an outbound registration completes.\n+ Raised when a module has been unloaded in Asterisk.\n \n- \n- The type of channel that was registered (or not).\n- \n- \n- The username portion of the registration.\n- \n- \n- The address portion of the registration.\n+ \n+ The name of the module that was unloaded\n \n \n- The status of the registration request.\n+ The result of the unload request.\n \n- \n- \n- \n- \n+ \n+ Module unloaded successfully\n+ \n \n \n- \n- What caused the rejection of the request, if available.\n- \n \n \n \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n- \n+ \n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n- Keepalive command.\n- \n- \n- \n- \n- A 'Ping' action will elicit a 'Pong' response. Used to keep the\n-\t\t\tmanager connection open.\n- \n- \n- \n- Control Event Flow.\n- \n- \n- \n- \n- \n- If all events should be sent.\n- \n- \n- If no events should be sent.\n- \n- \n- To select which flags events should have to be sent.\n- \n- \n- \n- \n- \n- Enable/Disable sending of events to this manager client.\n- \n- \n- \n- Logoff Manager.\n- \n- \n- \n- \n- Logoff the current manager session.\n- \n- \n- Login\n- \n- \n- \n- Login Manager.\n+ \n+ Bridge two channels.\n \n- \n- ActionID for this transaction. Will be returned.\n- \n- \n- Username to login with as specified in manager.conf.\n+ \n+ The current channel is bridged to the channel\n+\t\t\t\tidentified by the channel name, channel name prefix, or channel\n+\t\t\t\tuniqueid.\n \n- \n- Secret to login with as specified in manager.conf.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n- Login Manager.\n+ Allows the ability to bridge two channels via the dialplan.\n+ This application sets the following channel variable upon completion:\n+ \n+ \n+ The result of the bridge attempt as a text string.\n+ \n+ \n+ \n+ \n+ \n+ \n \n \n- Logoff\n+ Bridge\n+ BridgeCreate\n+ BridgeEnter\n \n- \n- \n- Generate Challenge for MD5 Auth.\n- \n- \n- \n- Digest algorithm to use in the challenge. Valid values are:\n- \n- \n- \n- \n- \n- \n- Generate a challenge for MD5 authentication.\n- \n- \n- \n- Hangup channel.\n- \n- \n- \n- The exact channel name to be hungup, or to use a regular expression, set this parameter to: /regex/\n- Example exact channel: SIP/provider-0000012a\n- Example regular expression: /^SIP/provider-.*$/\n- \n- \n- Numeric hangup cause.\n- \n- \n- \n- Hangup a channel.\n- \n- \n- \n- List channel status.\n+ \n+ \n+ Bridge two channels already in the PBX.\n \n \n- \n- The name of the channel to query for status.\n+ \n+ Channel to Bridge to Channel2.\n \n- \n- \n- Comma\n- ,\n- separated list of variable to include.\n- \n+ \n+ Channel to Bridge to Channel1.\n \n- \n- If set to "true", the Status event will include all channel variables for\n-\t\t\t\tthe requested channel(s).\n+ \n+ Play courtesy tone to Channel 2.\n \n- \n- \n+ \n+ \n+ \n+ \n \n \n \n \n- Will return the status information of each channel along with the\n-\t\t\tvalue for the specified channel variables.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Raised in response to a Status command.\n- \n- \n- \n- \n- Type of channel\n- \n- \n- Dialed number identifier\n- \n- \n- \n- \n- Absolute lifetime of the channel\n- \n- \n- Identifier of the bridge the channel is in, may be empty if not in one\n- \n- \n- Application currently executing on the channel\n- \n- \n- Data given to the currently executing channel\n- \n- \n- Media formats the connected party is willing to send or receive\n- \n- \n- Media formats that frames from the channel are received in\n- \n- \n- Translation path for media received in native formats\n- \n- \n- Media formats that frames to the channel are accepted in\n- \n- \n- Translation path for media sent to the connected party\n- \n- \n- Configured call group on the channel\n- \n- \n- Configured pickup group on the channel\n- \n- \n- Number of seconds the channel has been active\n- \n- \n- \n- Status\n- \n- \n- \n- \n- \n- Raised in response to a Status command.\n- \n- \n- Number of Status events returned\n- \n- \n- \n- Status\n- \n- \n- \n- \n- Sets a channel variable or function value.\n- \n- \n- \n- Channel to set variable for.\n- \n- \n- Variable name, function or expression.\n- \n- \n- Variable or function value.\n- \n- \n- \n- This command can be used to set the value of channel variables or dialplan\n-\t\t\tfunctions.\n- \n- If a channel name is not provided then the variable is considered global.\n- \n- \n- \n- Getvar\n- \n- \n- \n- Gets a channel variable or function value.\n- \n- \n- \n- Channel to read variable from.\n- \n- \n- Variable name, function or expression.\n- \n- \n- \n- Get the value of a channel variable or function return.\n- \n- If a channel name is not provided then the variable is considered global.\n- \n- \n- \n- Setvar\n- \n- \n- \n- Retrieve configuration.\n- \n- \n- \n- \n- Configuration filename (e.g.\n- foo.conf\n- ).\n- \n- \n- \n- Category in configuration file.\n- \n- \n- \n- A comma separated list of\n- name_regex\n- =\n- value_regex\n- expressions which will cause only categories whose variables match all expressions\n-\t\t\t\tto be considered. The special variable name\n- TEMPLATES\n- can be used to control whether templates are included. Passing\n- include\n- as the value will include templates\n-\t\t\t\talong with normal categories. Passing\n- restrict\n- as the value will restrict the operation to\n-\t\t\t\tONLY templates. Not specifying a\n- TEMPLATES\n- expression\n-\t\t\t\tresults in the default behavior which is to not include templates.\n- \n- \n- \n- \n- This action will dump the contents of a configuration\n-\t\t\tfile by category and contents or optionally by specified category only.\n-\t\t\tIn the case where a category name is non-unique, a filter may be specified\n-\t\t\tto match only categories with matching variable values.\n+ Bridge together two channels already in the PBX.\n \n \n- GetConfigJSON\n- UpdateConfig\n- CreateConfig\n- ListCategories\n+ Bridge\n+ BridgeCreate\n+ BridgeEnter\n+ BridgeDestroy\n+ BridgeInfo\n+ BridgeKick\n+ BridgeList\n \n \n- \n- Retrieve configuration (JSON format).\n+ \n+ core\n+ \n+ \n+ List available bridging technologies and their statuses.\n \n \n- \n- \n- Configuration filename (e.g.\n- foo.conf\n- ).\n- \n- \n- \n- Category in configuration file.\n- \n- \n- \n- \n \n \n- This action will dump the contents of a configuration file by category\n-\t\t\tand contents in JSON format or optionally by specified category only.\n-\t\t\tThis only makes sense to be used using rawman over the HTTP interface.\n-\t\t\tIn the case where a category name is non-unique, a filter may be specified\n-\t\t\tto match only categories with matching variable values.\n+ Returns detailed information about the available bridging technologies.\n \n \n- GetConfig\n- UpdateConfig\n- CreateConfig\n- ListCategories\n+ BridgeTechnologySuspend\n+ BridgeTechnologyUnsuspend\n \n \n- \n- Update basic configuration.\n+ \n+ Suspend a bridging technology.\n \n \n- \n- \n- Configuration filename to read (e.g.\n- foo.conf\n- ).\n- \n- \n- \n- \n- Configuration filename to write (e.g.\n- foo.conf\n- )\n- \n- \n- \n- Whether or not a reload should take place (or name of specific module).\n- \n- \n- Whether the effective category contents should be preserved on template change. Default is true (pre 13.2 behavior).\n- \n- \n- Action to take.\n- 0's represent 6 digit number beginning with 000000.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Category to operate on.\n- \n- \n- \n- Variable to work on.\n- \n- \n- \n- Value to work on.\n- \n- \n- \n- Extra match required to match line.\n- \n- \n- \n- Line in category to operate on (used with delete and insert actions).\n- \n- \n- \n- A comma separated list of action-specific options.\n- \n- \n- One or more of the following...\n- \n- \n- Allow duplicate category names.\n- \n- \n- This category is a template.\n- \n- \n- Templates from which to inherit.\n- \n- \n- \n- \n- \n- The following actions share the same options...\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- catfilter\n- is most useful when a file\n-\t\t\t\t\t\t\t\t\tcontains multiple categories with the same name and you wish to\n-\t\t\t\t\t\t\t\t\toperate on specific ones instead of all of them.\n- \n- \n- \n- \n- \n- \n+ \n+ The name of the bridging technology to suspend.\n \n \n \n- This action will modify, create, or delete configuration elements\n-\t\t\tin Asterisk configuration files.\n+ Marks a bridging technology as suspended, which prevents subsequently created bridges from using it.\n \n \n- GetConfig\n- GetConfigJSON\n- CreateConfig\n- ListCategories\n+ BridgeTechnologySuspend\n+ BridgeTechnologyUnsuspend\n \n \n- \n- Creates an empty file in the configuration directory.\n+ \n+ Unsuspend a bridging technology.\n \n \n- \n- \n- The configuration filename to create (e.g.\n- foo.conf\n- ).\n- \n+ \n+ The name of the bridging technology to unsuspend.\n \n \n \n- This action will create an empty file in the configuration\n-\t\t\tdirectory. This action is intended to be used before an UpdateConfig\n-\t\t\taction.\n+ Clears a previously suspended bridging technology, which allows subsequently created bridges to use it.\n \n \n- GetConfig\n- GetConfigJSON\n- UpdateConfig\n- ListCategories\n+ BridgeTechnologyList\n+ BridgeTechnologySuspend\n \n \n- \n- List categories in configuration file.\n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ Answer a channel if ringing.\n \n- \n- \n- \n- Configuration filename (e.g.\n- foo.conf\n- ).\n- \n+ \n+ Asterisk will wait this number of milliseconds before returning to\n+\t\t\t\tthe dialplan after answering the call.\n \n \n \n- This action will dump the categories in a given file.\n+ If the call has not been answered, this application will\n+\t\t\tanswer it. Otherwise, it has no effect on the call.\n \n \n- GetConfig\n- GetConfigJSON\n- UpdateConfig\n- CreateConfig\n+ Hangup\n \n- \n- \n- Redirect (transfer) a call.\n+ \n+ \n+ Play an audio file while waiting for digits of an extension to go to.\n \n- \n- \n- Channel to redirect.\n- \n- \n- Second call leg to transfer (optional).\n- \n- \n- Extension to transfer to.\n- \n- \n- Extension to transfer extrachannel to (optional).\n- \n- \n- Context to transfer to.\n+ \n+ \n+ \n \n- \n- Context to transfer extrachannel to (optional).\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n- \n- Priority to transfer to.\n+ \n+ Explicitly specifies which language to attempt to use for the requested sound files.\n \n- \n- Priority to transfer extrachannel to (optional).\n+ \n+ This is the dialplan context that this application will use when exiting\n+\t\t\t\tto a dialed extension.\n \n \n \n- Redirect (transfer) a call.\n+ \n+ This application will play the given list of files\n+ (do not put extension)\n+ while waiting for an extension to be dialed by the calling channel. To continue waiting\n+\t\t\tfor digits after this application has finished playing files, the\n+ WaitExten\n+ application should be used.\n+ \n+ If one of the requested sound files does not exist, call processing will be terminated.\n+ This application sets the following channel variable upon completion:\n+ \n+ \n+ The status of the background attempt as a text string.\n+ \n+ \n+ \n+ \n \n \n- BlindTransfer\n+ ControlPlayback\n+ WaitExten\n+ BackgroundDetect\n+ TIMEOUT\n \n- \n- \n- Attended transfer.\n+ \n+ \n+ Indicate the Busy condition.\n \n- \n- \n- Transferer's channel.\n- \n- \n- Extension to transfer to.\n- \n- \n- Context to transfer to.\n+ \n+ If specified, the calling channel will be hung up after the specified number of seconds.\n+\t\t\t\tOtherwise, this application will wait until the calling channel hangs up.\n \n \n \n- Attended transfer.\n+ This application will indicate the busy condition to the calling channel.\n \n \n- AttendedTransfer\n+ Congestion\n+ Progress\n+ Playtones\n+ Hangup\n \n- \n- \n- \n- 13.18.0\n- 14.7.0\n- 15.1.0\n- 16.0.0\n- \n- Cancel an attended transfer.\n+ \n+ \n+ Indicate the Congestion condition.\n \n- \n- \n- The transferer channel.\n+ \n+ If specified, the calling channel will be hung up after the specified number of seconds.\n+\t\t\t\tOtherwise, this application will wait until the calling channel hangs up.\n \n \n \n- Cancel an attended transfer. Note, this uses the configured cancel attended transfer\n-\t\t\tfeature option (atxferabort) to cancel the transfer. If not available this action will fail.\n+ This application will indicate the congestion condition to the calling channel.\n \n \n- AttendedTransfer\n+ Busy\n+ Progress\n+ Playtones\n+ Hangup\n \n- \n- \n- Originate a call.\n- \n- \n- \n- Channel name to call.\n- \n- \n- \n- Extension to use (requires\n- Context\n- and\n- Priority\n- )\n- \n- \n- \n- \n- Context to use (requires\n- Exten\n- and\n- Priority\n- )\n- \n- \n- \n- \n- Priority to use (requires\n- Exten\n- and\n- Context\n- )\n- \n- \n- \n- Application to execute.\n- \n- \n- \n- Data to use (requires\n- Application\n- ).\n- \n- \n- \n- How long to wait for call to be answered (in ms.).\n- \n- \n- Caller ID to be set on the outgoing channel.\n- \n- \n- Channel variable to set, multiple Variable: headers are allowed.\n- \n- \n- Account code.\n- \n- \n- \n- Set to\n- true\n- to force call bridge on early media..\n- \n- \n- \n- \n- Set to\n- true\n- for fast origination.\n- \n- \n- \n- Comma-separated list of codecs to use for this call.\n- \n- \n- Channel UniqueId to be set on the channel.\n+ \n+ \n+ Conditional application execution based on the current time.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n- \n- Channel UniqueId to be set on the second local channel.\n+ \n+ \n \n \n \n- \n- Generates an outgoing call to a\n- Extension\n- /\n- Context\n- /\n- Priority\n- or\n- Application\n- /\n- Data\n- \n+ This application will execute the specified dialplan application, with optional\n+\t\t\targuments, if the current time matches the given time specification.\n \n \n- OriginateResponse\n+ Exec\n+ ExecIf\n+ TryExec\n+ GotoIfTime\n \n- \n- \n- \n- Raised in response to an Originate command.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Originate\n- \n- \n- \n- \n- Execute Asterisk CLI Command.\n- \n- \n- \n- Asterisk CLI command to run.\n- \n- \n- \n- Run a CLI command.\n- \n- \n- \n- Check Extension Status.\n+ \n+ \n+ Jump to a particular priority, extension, or context.\n \n- \n- \n- Extension to check state on.\n- \n- \n- Context for extension.\n- \n+ \n+ \n+ \n \n \n- Report the extension state for given extension. If the extension has a hint,\n-\t\t\twill use devicestate to check the status of the device connected to the extension.\n \n- Will return an\n- Extension Status\n- message. The response will include\n-\t\t\tthe hint for the extension and the status.\n+ This application will set the current context, extension, and priority in the channel structure.\n+\t\t\tAfter it completes, the pbx engine will continue dialplan execution at the specified location.\n+\t\t\tIf no specific\n+ extension\n+ , or\n+ extension\n+ and\n+ context\n+ , are specified, then this application will\n+\t\t\tjust set the specified\n+ priority\n+ of the current extension.\n+ \n+ \n+ At least a\n+ priority\n+ is required as an argument, or the goto will\n+\t\t\treturn a\n+ -1\n+ ,\tand the channel and call will be terminated.\n+ \n+ \n+ If the location that is put into the channel information is bogus, and asterisk cannot\n+\t\t\tfind that location in the dialplan, then the execution engine will try to find and execute the code in\n+\t\t\tthe\n+ i\n+ (invalid) extension in the current context. If that does not exist, it will try to execute the\n+ h\n+ extension. If neither the\n+ h\n+ nor\n+ i\n+ extensions\n+\t\t\thave been defined, the channel is hung up, and the execution of instructions on the channel is terminated.\n+\t\t\tWhat this means is that, for example, you specify a context that does not exist, then\n+\t\t\tit will not be possible to find the\n+ h\n+ or\n+ i\n+ extensions,\n+\t\t\tand the call will terminate!\n \n \n \n- ExtensionStatus\n+ GotoIf\n+ GotoIfTime\n+ Gosub\n+ Macro\n \n- \n- \n- Check Presence State\n- \n- \n- \n- Presence Provider to check the state of\n+ \n+ \n+ Conditional goto.\n+ \n+ \n+ \n+ \n+ \n+ Continue at\n+ labeliftrue\n+ if the condition is true.\n+\t\t\t\t\tTakes the form similar to Goto() of [[context,]extension,]priority.\n+ \n+ \n+ \n+ \n+ Continue at\n+ labeliffalse\n+ if the condition is false.\n+\t\t\t\t\tTakes the form similar to Goto() of [[context,]extension,]priority.\n+ \n+ \n \n \n \n- Report the presence state for the given presence provider.\n \n- Will return a\n- Presence State\n- message. The response will include the\n-\t\t\tpresence state and, if set, a presence subtype and custom message.\n+ This application will set the current context, extension, and priority in the channel structure\n+\t\t\tbased on the evaluation of the given condition. After this application completes, the\n+\t\t\tpbx engine will continue dialplan execution at the specified location in the dialplan.\n+\t\t\tThe labels are specified with the same syntax as used within the Goto application.\n+\t\t\tIf the label chosen by the condition is omitted, no jump is performed, and the execution passes to the\n+\t\t\tnext instruction. If the target location is bogus, and does not exist, the execution engine will try\n+\t\t\tto find and execute the code in the\n+ i\n+ (invalid) extension in the current context.\n+\t\t\tIf that does not exist, it will try to execute the\n+ h\n+ extension.\n+\t\t\tIf neither the\n+ h\n+ nor\n+ i\n+ extensions have been defined,\n+\t\t\tthe channel is hung up, and the execution of instructions on the channel is terminated.\n+\t\t\tRemember that this command can set the current context, and if the context specified\n+\t\t\tdoes not exist, then it will not be able to find any 'h' or 'i' extensions there, and\n+\t\t\tthe channel and call will both be terminated!.\n \n \n \n- PresenceStatus\n+ Goto\n+ GotoIfTime\n+ GosubIf\n+ MacroIf\n \n- \n- \n- Set absolute timeout.\n- \n- \n- \n- Channel name to hangup.\n+ \n+ \n+ Conditional Goto based on the current time.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n- \n- Maximum duration of the call (sec).\n+ \n+ \n+ \n+ Continue at\n+ labeliftrue\n+ if the condition is true.\n+\t\t\t\t\tTakes the form similar to Goto() of [[context,]extension,]priority.\n+ \n+ \n+ \n+ \n+ Continue at\n+ labeliffalse\n+ if the condition is false.\n+\t\t\t\t\tTakes the form similar to Goto() of [[context,]extension,]priority.\n+ \n+ \n \n \n \n \n- Hangup a channel after a certain time. Acknowledges set time with\n- Timeout Set\n- message.\n+ This application will set the context, extension, and priority in the channel structure\n+\t\t\tbased on the evaluation of the given time specification. After this application completes,\n+\t\t\tthe pbx engine will continue dialplan execution at the specified location in the dialplan.\n+\t\t\tIf the current time is within the given time specification, the channel will continue at\n+ labeliftrue\n+ . Otherwise the channel will continue at\n+ labeliffalse\n+ .\n+\t\t\tIf the label chosen by the condition is omitted, no jump is performed, and execution passes to the next\n+\t\t\tinstruction. If the target jump location is bogus, the same actions would be taken as for\n+ Goto\n+ .\n+\t\t\tFurther information on the time specification can be found in examples\n+\t\t\tillustrating how to do time-based context includes in the dialplan.\n \n \n- \n- \n- Check mailbox.\n- \n- \n- \n- \n- Full mailbox ID\n- mailbox\n- @\n- vm-context\n- .\n- \n+ \n+ GotoIf\n+ Goto\n+ IFTIME\n+ TESTTIME\n+ \n+ \n+ \n+ Import a variable from a channel into a new variable.\n+ \n+ \n+ \n+ \n+ \n \n \n \n- Checks a voicemail account for status.\n- Returns whether there are messages waiting.\n- Message: Mailbox Status.\n- \n- Mailbox:\n- mailboxid\n- .\n- \n \n- Waiting:\n- 0\n- if messages waiting,\n- 1\n- if no messages waiting.\n+ This application imports a\n+ variable\n+ from the specified\n+ channel\n+ (as opposed to the current one) and stores it as a variable\n+\t\t\t(\n+ newvar\n+ ) in the current channel (the channel that is calling this\n+\t\t\tapplication). Variables created by this application have the same inheritance properties as those\n+\t\t\tcreated with the\n+ Set\n+ application.\n \n \n \n- MailboxCount\n+ Set\n \n- \n- \n- Check Mailbox Message Count.\n+ \n+ \n+ Hang up the calling channel.\n \n- \n- \n+ \n \n- Full mailbox ID\n- mailbox\n- @\n- vm-context\n- .\n+ If a\n+ causecode\n+ is given the channel's\n+\t\t\t\thangup cause will be set to the given value.\n \n \n \n \n- Checks a voicemail account for new messages.\n- Returns number of urgent, new and old messages.\n- Message: Mailbox Message Count\n- \n- Mailbox:\n- mailboxid\n- \n- \n- UrgentMessages:\n- count\n- \n- \n- NewMessages:\n- count\n- \n- \n- OldMessages:\n- count\n- \n+ This application will hang up the calling channel.\n \n \n- MailboxStatus\n+ Answer\n+ Busy\n+ Congestion\n \n- \n- \n- List available manager commands.\n+ \n+ \n+ Returns AST_PBX_INCOMPLETE value.\n \n- \n+ \n+ If specified, then Incomplete will not attempt to answer the channel first.\n+ \n+ Most channel types need to be in Answer state in order to receive DTMF.\n+ \n+ \n \n \n- Returns the action name and synopsis for every action that\n-\t\t\tis available to the user.\n+ Signals the PBX routines that the previous matched extension is incomplete\n+\t\t\tand that further input should be allowed before matching can be considered\n+\t\t\tto be complete. Can be used within a pattern match when certain criteria warrants\n+\t\t\ta longer match.\n \n- \n- \n- Sends a text message to channel. A content type\tcan be optionally specified. If not set\n-\t\t\tit is set to an empty string allowing a custom handler to default it as it sees fit.\n+ \n+ \n+ Do Nothing (No Operation).\n \n- \n- \n- Channel to send message to.\n- \n- \n- Message to send.\n- \n- \n- The type of content in the message\n+ \n+ Any text provided can be viewed at the Asterisk CLI.\n \n \n \n- Sends A Text Message to a channel while in a call.\n+ This application does nothing. However, it is useful for debugging purposes.\n+ This method can be used to see the evaluations of variables or functions without having any effect.\n \n \n- SendText\n+ Verbose\n+ Log\n \n- \n- \n- Send an arbitrary event.\n- \n- \n- \n- Event string to send.\n- \n- \n- Content1.\n- \n- \n- ContentN.\n- \n- \n+ \n+ \n+ Indicate proceeding.\n+ \n \n- Send an event to manager sessions.\n+ This application will request that a proceeding message be provided to the calling channel.\n+ \n+ \n+ \n+ Indicate progress.\n+ \n+ \n+ This application will request that in-band progress information be provided to the calling channel.\n \n \n- UserEvent\n- UserEvent\n+ Busy\n+ Congestion\n+ Ringing\n+ Playtones\n \n- \n- \n- Wait for an event to occur.\n+ \n+ \n+ Handle an exceptional condition.\n \n- \n- \n- \n- Maximum time (in seconds) to wait for events,\n- -1\n- means forever.\n- \n- \n+ \n \n \n \n- This action will elicit a\n- Success\n- response. Whenever\n-\t\t\ta manager event is queued. Once WaitEvent has been called on an HTTP manager\n-\t\t\tsession, events will be generated and queued.\n+ This application will jump to the\n+ e\n+ extension in the current context, setting the\n+\t\t\tdialplan function EXCEPTION(). If the\n+ e\n+ extension does not exist, the call will hangup.\n \n \n- \n- \n- Show PBX core settings (version etc).\n+ \n+ Exception\n+ \n+ \n+ \n+ Indicate ringing tone.\n+ \n+ \n+ This application will request that the channel indicate a ringing tone to the user.\n+ \n+ \n+ Busy\n+ Congestion\n+ Progress\n+ Playtones\n+ \n+ \n+ \n+ Say Alpha.\n \n- \n+ \n \n \n- Query for Core PBX settings.\n+ \n+ This application will play the sounds that correspond to the letters\n+\t\t\tof the given\n+ string\n+ . If the channel variable\n+ SAY_DTMF_INTERRUPT\n+ is set to 'true' (case insensitive),\n+\t\t\tthen this application will react to DTMF in the\tsame way as\n+ Background\n+ .\n+ \n \n- \n- \n- Show PBX core status variables.\n+ \n+ SayDigits\n+ SayMoney\n+ SayNumber\n+ SayOrdinal\n+ SayPhonetic\n+ CHANNEL\n+ SAYFILES\n+ \n+ \n+ \n+ Say Alpha.\n \n- \n+ \n+ \n+ \n+ Case sensitive (all) pronunciation.\n+\t\t\t\t\t\t(Ex: SayAlphaCase(a,aBc); - lowercase a uppercase b lowercase c).\n+ \n+ \n+ Case sensitive (lower) pronunciation.\n+\t\t\t\t\t\t(Ex: SayAlphaCase(l,aBc); - lowercase a b lowercase c).\n+ \n+ \n+ Case insensitive pronunciation. Equivalent to SayAlpha.\n+\t\t\t\t\t\t(Ex: SayAlphaCase(n,aBc) - a b c).\n+ \n+ \n+ Case sensitive (upper) pronunciation.\n+\t\t\t\t\t\t(Ex: SayAlphaCase(u,aBc); - a uppercase b c).\n+ \n+ \n+ \n+ \n \n \n- Query for Core PBX status.\n+ \n+ This application will play the sounds that correspond to the letters of the\n+\t\t\tgiven\n+ string\n+ . Optionally, a\n+ casetype\n+ may be\n+\t\t\tspecified. This will be used for case-insensitive or case-sensitive pronunciations. If the channel\n+\t\t\tvariable\n+ SAY_DTMF_INTERRUPT\n+ is set to 'true' (case insensitive), then this\n+\t\t\tapplication will react to DTMF in the same way as\n+ Background\n+ .\n+ \n \n- \n- \n- Send a reload event.\n+ \n+ SayDigits\n+ SayMoney\n+ SayNumber\n+ SayOrdinal\n+ SayPhonetic\n+ SayAlpha\n+ CHANNEL\n+ \n+ \n+ \n+ Say Digits.\n \n- \n- \n- Name of the module to reload.\n- \n+ \n \n \n- Send a reload event.\n+ \n+ This application will play the sounds that correspond to the digits of\n+\t\t\tthe given number. This will use the language that is currently set for the channel.\n+\t\t\tIf the channel variable\n+ SAY_DTMF_INTERRUPT\n+ is set to 'true'\n+\t\t\t(case insensitive), then this application will react to DTMF in the same way as\n+ Background\n+ .\n+ \n \n \n- ModuleLoad\n+ SayAlpha\n+ SayMoney\n+ SayNumber\n+ SayOrdinal\n+ SayPhonetic\n+ CHANNEL\n+ SAYFILES\n \n- \n- \n- \n- Raised in response to a CoreShowChannels command.\n- \n- \n- \n- \n- Identifier of the bridge the channel is in, may be empty if not in one\n- \n- \n- Application currently executing on the channel\n- \n- \n- Data given to the currently executing application\n- \n- \n- The amount of time the channel has existed\n- \n- \n- \n- CoreShowChannels\n- CoreShowChannelsComplete\n- \n- \n- \n- \n- \n- Raised at the end of the CoreShowChannel list produced by the CoreShowChannels command.\n- \n- \n- \n- Conveys the status of the command reponse list\n- \n- \n- The total number of list items produced\n- \n- \n- \n- CoreShowChannels\n- CoreShowChannel\n- \n- \n- \n- \n- List currently active channels.\n+ \n+ \n+ Say Money.\n \n- \n+ \n \n \n- List currently defined channels and some information about them.\n+ \n+ This application will play the currency sounds for the given floating point number\n+\t\t\tin the current language. Currently only English and US Dollars is supported.\n+\t\t\tIf the channel variable\n+ SAY_DTMF_INTERRUPT\n+ is set to 'true'\n+\t\t\t(case insensitive), then this application will react to DTMF in the same way as\n+ Background\n+ .\n+ \n \n- \n- \n- \n- \n- \n- \n- \n- \n- Reload and rotate the Asterisk logger.\n+ \n+ SayAlpha\n+ SayNumber\n+ SayOrdinal\n+ SayPhonetic\n+ CHANNEL\n+ SAYFILES\n+ \n+ \n+ \n+ Say Number.\n \n- \n+ \n+ \n \n \n- Reload and rotate the logger. Analogous to the CLI command 'logger rotate'.\n+ \n+ This application will play the sounds that correspond to the given\n+ digits\n+ . Optionally, a\n+ gender\n+ may be\n+\t\t\tspecified. This will use the language that is currently set for the channel. See the CHANNEL()\n+\t\t\tfunction for more information on setting the language for the channel. If the channel variable\n+ SAY_DTMF_INTERRUPT\n+ is set to 'true' (case insensitive), then this\n+\t\t\tapplication will react to DTMF in the same way as\n+ Background\n+ .\n+ \n \n- \n- \n- Module management.\n+ \n+ SayAlpha\n+ SayDigits\n+ SayMoney\n+ SayPhonetic\n+ CHANNEL\n+ SAYFILES\n+ \n+ \n+ \n+ Say Ordinal Number.\n \n- \n- \n- Asterisk module name (including .so extension) or subsystem identifier:\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- The operation to be done on module. Subsystem identifiers may only\n-\t\t\t\tbe reloaded.\n- \n- \n- \n- \n- \n- \n- If no module is specified for a\n- reload\n- loadtype,\n-\t\t\t\tall modules are reloaded.\n- \n- \n+ \n+ \n \n \n- Loads, unloads or reloads an Asterisk module in a running system.\n+ \n+ This application will play the ordinal sounds that correspond to the given\n+ digits\n+ (e.g. 1st, 42nd). Currently only English is supported.\n+ \n+ \n+ Optionally, a\n+ gender\n+ may be\n+\t\t\tspecified. This will use the language that is currently set for the channel. See the CHANNEL()\n+\t\t\tfunction for more information on setting the language for the channel. If the channel variable\n+ SAY_DTMF_INTERRUPT\n+ is set to 'true' (case insensitive), then this\n+\t\t\tapplication will react to DTMF in the same way as\n+ Background\n+ .\n+ \n \n \n- Reload\n- ModuleCheck\n+ SayAlpha\n+ SayDigits\n+ SayMoney\n+ SayNumber\n+ SayPhonetic\n+ CHANNEL\n+ SAYFILES\n \n- \n- \n- Check if module is loaded.\n+ \n+ \n+ Say Phonetic.\n \n- \n- \n- Asterisk module name (not including extension).\n- \n+ \n \n \n- Checks if Asterisk module is loaded. Will return Success/Failure.\n-\t\t\tFor success returns, the module revision number is included.\n+ \n+ This application will play the sounds from the phonetic alphabet that correspond to the\n+\t\t\tletters in the given\n+ string\n+ . If the channel variable\n+ SAY_DTMF_INTERRUPT\n+ is set to 'true' (case insensitive), then this\n+\t\t\tapplication will react to DTMF in the same way as\n+ Background\n+ .\n+ \n \n \n- ModuleLoad\n+ SayAlpha\n+ SayDigits\n+ SayMoney\n+ SayNumber\n+ SayOrdinal\n+ SAYFILES\n \n- \n- \n- Generate an Advice of Charge message on a channel.\n+ \n+ \n+ Set the AMA Flags.\n \n- \n- \n- Channel name to generate the AOC message on.\n- \n- \n- Partial channel prefix. By using this option one can match the beginning part\n-\t\t\t\tof a channel name without having to put the entire name in. For example\n-\t\t\t\tif a channel name is SIP/snom-00000001 and this value is set to SIP/snom, then\n-\t\t\t\tthat channel matches and the message will be sent. Note however that only\n-\t\t\t\tthe first matched channel has the message sent on it.\n- \n- \n- Defines what type of AOC message to create, AOC-D or AOC-E\n- \n- \n- \n- \n- \n- \n- Defines what kind of charge this message represents.\n- \n- \n- \n- \n- \n- \n- \n- \n- This represents the amount of units charged. The ETSI AOC standard specifies that\n-\t\t\t\tthis value along with the optional UnitType value are entries in a list. To accommodate this\n-\t\t\t\tthese values take an index value starting at 0 which can be used to generate this list of\n-\t\t\t\tunit entries. For Example, If two unit entires were required this could be achieved by setting the\n-\t\t\t\tparamter UnitAmount(0)=1234 and UnitAmount(1)=5678. Note that UnitAmount at index 0 is\n-\t\t\t\trequired when ChargeType=Unit, all other entries in the list are optional.\n- \n- \n- Defines the type of unit. ETSI AOC standard specifies this as an integer\n-\t\t\t\tvalue between 1 and 16, but this value is left open to accept any positive\n-\t\t\t\tinteger. Like the UnitAmount parameter, this value represents a list entry\n-\t\t\t\tand has an index parameter that starts at 0.\n- \n- \n- Specifies the currency's name. Note that this value is truncated after 10 characters.\n- \n- \n- Specifies the charge unit amount as a positive integer. This value is required\n-\t\t\t\twhen ChargeType==Currency.\n- \n- \n- Specifies the currency multiplier. This value is required when ChargeType==Currency.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Defines what kind of AOC-D total is represented.\n- \n- \n- \n- \n- \n- \n- Represents a billing ID associated with an AOC-D or AOC-E message. Note\n-\t\t\t\tthat only the first 3 items of the enum are valid AOC-D billing IDs\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Charging association identifier. This is optional for AOC-E and can be\n-\t\t\t\tset to any value between -32768 and 32767\n- \n- \n- Represents the charging association party number. This value is optional\n-\t\t\t\tfor AOC-E.\n- \n- \n- Integer representing the charging plan associated with the ChargingAssociationNumber.\n-\t\t\t\tThe value is bits 7 through 1 of the Q.931 octet containing the type-of-number and\n-\t\t\t\tnumbering-plan-identification fields.\n- \n+ \n \n \n- Generates an AOC-D or AOC-E message on a channel.\n+ This application will set the channel's AMA Flags for billing purposes.\n+ \n+ This application is deprecated. Please use the CHANNEL function instead.\n+ \n \n \n- AOC-D\n- AOC-E\n+ CDR\n+ CHANNEL\n \n- \n- \n- Checks attributes of manager accounts\n+ \n+ \n+ Waits for some time.\n \n- \n- Login name, specified in manager.conf\n- \n- \n- The manager account attribute to return\n- \n- \n- The number of sessions for this AMI account\n- \n- \n+ \n+ \n+ Can be passed with fractions of a second. For example,\n+ 1.5\n+ will ask the\n+\t\t\t\tapplication to wait for 1.5 seconds.\n+ \n \n \n \n- Currently, the only supported parameter is "sessions" which will return the current number of\n-\t\t\t\tactive sessions for this AMI account.\n+ \n+ This application waits for a specified number of\n+ seconds\n+ .\n+ \n \n- \n- \n- Dynamically add filters for the current manager session.\n+ \n+ \n+ Waits for a digit to be entered.\n \n- \n- \n- \n- \n- Add a filter.\n- \n- \n+ \n+ \n+ Can be passed with fractions of a second. For example,\n+ 1.5\n+ will ask the\n+\t\t\t\tapplication to wait for 1.5 seconds.\n+ \n \n- \n- Filters can be whitelist or blacklist\n- Example whitelist filter: "Event: Newchannel"\n- Example blacklist filter: "!Channel: DAHDI.*"\n- This filter option is used to whitelist or blacklist events per user to be\n-\t\t\t\treported with regular expressions and are allowed if both the regex matches\n-\t\t\t\tand the user has read access as defined in manager.conf. Filters are assumed to be for whitelisting\n-\t\t\t\tunless preceeded by an exclamation point, which marks it as being black.\n-\t\t\t\tEvaluation of the filters is as follows:\n- - If no filters are configured all events are reported as normal.\n- - If there are white filters only: implied black all filter processed first, then white filters.\n- - If there are black filters only: implied white all filter processed first, then black filters.\n- - If there are both white and black filters: implied black all filter processed first, then white\n-\t\t\t\tfilters, and lastly black filters.\n+ \n+ Digits to accept, all others are ignored.\n \n \n \n- The filters added are only used for the current session.\n-\t\t\tOnce the connection is closed the filters are removed.\n- This comand requires the system permission because\n-\t\t\tthis command can be used to create filters that may bypass\n-\t\t\tfilters defined in manager.conf\n- \n- \n- FilterList\n- \n- \n- \n- Show current event filters for this session\n- \n- The filters displayed are for the current session. Only those filters defined in\n- manager.conf will be present upon starting a new session.\n+ \n+ This application waits for the user to press one of the accepted\n+ digits\n+ for a specified number of\n+ seconds\n+ .\n+ \n+ \n+ \n+ This is the final status of the command\n+ Parameters are invalid.\n+ An accepted digit was received.\n+ The timeout passed before any acceptable digits were received.\n+ The channel has hungup or was redirected.\n+ \n+ \n+ \n+ The digit that was received, only set if\n+ WAITDIGITSTATUS\n+ is\n+ DTMF\n+ .\n+ \n+ \n+ \n \n \n- Filter\n+ Wait\n+ WaitExten\n \n- \n- \n- Blind transfer channel(s) to the given destination\n+ \n+ \n+ Waits for an extension to be entered.\n \n- \n- \n- \n+ \n+ \n+ Can be passed with fractions of a second. For example,\n+ 1.5\n+ will ask the\n+\t\t\t\tapplication to wait for 1.5 seconds.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n- Redirect all channels currently bridged to the specified channel to the specified destination.\n+ \n+ This application waits for the user to enter a new extension for a specified number\n+\t\t\tof\n+ seconds\n+ .\n+ \n+ \n \n \n- Redirect\n- BlindTransfer\n+ Background\n+ TIMEOUT\n \n- \n- \n- \n- Raised when a hint changes due to a device state change.\n- \n- \n- Name of the extension.\n- \n- \n- Context that owns the extension.\n- \n- \n- Hint set for the extension\n- \n- \n- Numerical value of the extension status. Extension\n-\t\t\t\t\tstatus is determined by the combined device state of all items\n-\t\t\t\t\tcontained in the hint.\n- \n- \n- The extension was removed from the dialplan.\n- \n- \n- The extension's hint was removed from the dialplan.\n- \n- \n- \n- Idle\n- - Related device(s) are in an idle\n-\t\t\t\t\t\t\tstate.\n- \n- \n- \n- \n- InUse\n- - Related device(s) are in active\n-\t\t\t\t\t\t\tcalls but may take more calls.\n- \n- \n- \n- \n- Busy\n- - Related device(s) are in active\n-\t\t\t\t\t\t\tcalls and may not take any more calls.\n- \n- \n- \n- \n- Unavailable\n- - Related device(s) are\n-\t\t\t\t\t\t\tnot reachable.\n- \n- \n- \n- \n- Ringing\n- - Related device(s) are\n-\t\t\t\t\t\t\tcurrently ringing.\n- \n- \n- \n- \n- InUse&Ringing\n- - Related device(s)\n-\t\t\t\t\t\t\tare currently ringing and in active calls.\n- \n- \n- \n- \n- Hold\n- - Related device(s) are\n-\t\t\t\t\t\t\tcurrently on hold.\n- \n- \n- \n- \n- InUse&Hold\n- - Related device(s)\n-\t\t\t\t\t\t\tare currently on hold and in active calls.\n- \n- \n- \n- \n- \n- \n- Text representation of\n- Status\n- .\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Status does not match any of the above values.\n- \n- \n- \n- \n- \n- ExtensionState\n- \n- \n- \n- \n- \n- Raised when a hint changes due to a presence state change.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- PresenceState\n- \n- \n- \n- \n- core\n- \n- \n- core\n- \n- \n+ \n+ \n core\n \n- \n- \n- Raised when a variable is set to a particular value.\n- \n- \n- \n- The variable being set.\n- \n- \n- The new value of the variable.\n- \n- \n- \n- \n- \n- \n- Raised when an Agent has logged in.\n- \n- \n- \n- Agent ID of the agent.\n- \n- \n- \n- AgentLogin\n- AgentLogoff\n- \n- \n- \n- \n- \n- Raised when an Agent has logged off.\n- \n- \n- \n- The number of seconds the agent was logged in.\n- \n- \n- \n- AgentLogin\n- \n- \n- \n- \n- \n- Raised when talking is detected on a channel.\n- \n- \n- \n- \n- TALK_DETECT\n- ChannelTalkingStop\n- \n- \n- \n- \n- \n- Raised when talking is no longer detected on a channel.\n- \n- \n- \n- The length in time, in milliseconds, that talking was\n-\t\t\t\t\tdetected on the channel.\n- \n- \n- \n- TALK_DETECT\n- ChannelTalkingStart\n- \n- \n- \n- \n- core\n+ \n+ res_hep\n+ extended\n \n- \n+ \n+ bridge_holding\n core\n \n- \n+ \n+ \n+ \n+ Options that apply to every parking lot\n+ \n+ Enables dynamically created parkinglots.\n+ \n+ If the option is enabled then the following variables can\n+\t\t\t\t\t\t\tbe used to dynamically create new parking lots.\n+ \n+ The\n+ PARKINGDYNAMIC\n+ variable specifies the\n+\t\t\t\t\t\t\tparking lot to use as a template to create a dynamic parking lot. It\n+\t\t\t\t\t\t\tis an error to specify a non-existent parking lot for the template.\n+\t\t\t\t\t\t\tIf not set then the default parking lot is used as the template.\n+ \n+ \n+ The\n+ PARKINGDYNCONTEXT\n+ variable specifies the\n+\t\t\t\t\t\t\tdialplan context to use for the newly created dynamic parking lot. If\n+\t\t\t\t\t\t\tnot set then the context from the parking lot template is used. The\n+\t\t\t\t\t\t\tcontext is created if it does not already exist and the new parking lot\n+\t\t\t\t\t\t\tneeds to create extensions.\n+ \n+ \n+ The\n+ PARKINGDYNEXTEN\n+ variable specifies the\n+ parkext\n+ to use for the newly created dynamic\n+\t\t\t\t\t\t\tparking lot. If not set then the\n+ parkext\n+ is used from\n+\t\t\t\t\t\t\tthe parking lot template. If the template does not specify a\n+ parkext\n+ then no extensions are created for the newly\n+\t\t\t\t\t\t\tcreated parking lot. The dynamic parking lot cannot be created if it\n+\t\t\t\t\t\t\tneeds to create extensions that overlap existing parking lot extensions.\n+\t\t\t\t\t\t\tThe only exception to this is for the\n+ parkext\n+ extension and only if neither of the overlaping parking lot's\n+ parkext\n+ is exclusive.\n+ \n+ \n+ The\n+ PARKINGDYNPOS\n+ variable specifies the\n+\t\t\t\t\t\t\tparking positions to use for the newly created dynamic parking lot. If\n+\t\t\t\t\t\t\tnot set then the\n+ parkpos\n+ from the parking lot template\n+\t\t\t\t\t\t\tis used.\n+ \n+ \n+ \n+ \n+ \n+ Defined parking lots for res_parking to use to park calls on\n+ \n+ The name of the context where calls are parked and picked up from.\n+ \n+ This option is only used if parkext is set.\n+ \n+ \n+ \n+ Extension to park calls to this parking lot.\n+ \n+ \n+ If this option is used, this extension will automatically\n+\t\t\t\t\t\t\tbe created to place calls into parking lots. In addition, if\n+ parkext_exclusive\n+ is set for this parking\n+\t\t\t\t\t\t\tlot, the name of the parking lot will be included in the\n+\t\t\t\t\t\t\tapplication's arguments so that it only parks to this parking\n+\t\t\t\t\t\t\tlot. The extension will be created in\n+ context\n+ .\n+\t\t\t\t\t\t\tUsing this option also creates extensions for retrieving\n+\t\t\t\t\t\t\tparked calls from the parking spaces in the same context.\n+ \n+ \n+ \n+ Generated parking extensions cannot overlap.\n+\t\t\t\t\t\t\t\tThe only exception is if neither overlapping\n+ parkext\n+ is exclusive.\n+ \n+ \n+ \n+ \n+ \n+ If yes, the extension registered as parkext will park exclusively to this parking lot.\n+ \n+ \n+ Numerical range of parking spaces which can be used to retrieve parked calls.\n+ \n+ \n+ If\n+ parkext\n+ is set, these extensions\n+\t\t\t\t\t\t\twill automatically be mapped in\n+ context\n+ in order to pick up calls parked to these parking spaces.\n+ \n+ \n+ \n+ \n+ If yes, this parking lot will add hints automatically for parking spaces.\n+ \n+ \n+ Amount of time a call will remain parked before giving up (in seconds).\n+ \n+ \n+ Which music class to use for parked calls. They will use the default if unspecified.\n+ \n+ \n+ Determines what should be done with the parked channel if no one picks it up before it times out.\n+ \n+ Valid Options:\n+ \n+ \n+ \n+ Automatically have the parked channel dial the device that parked the call with dial\n+\t\t\t\t\t\t\t\t\ttimeout set by the\n+ parkingtime\n+ option. When the call times out an extension\n+\t\t\t\t\t\t\t\t\tto dial the PARKER will automatically be created in the\n+ park-dial\n+ context with\n+\t\t\t\t\t\t\t\t\tan extension of the flattened parker device name. If the call is not answered, the parked channel\n+\t\t\t\t\t\t\t\t\tthat is timing out will continue in the dial plan at that point if there are more priorities in\n+\t\t\t\t\t\t\t\t\tthe extension (which won't be the case unless the dialplan deliberately includes such priorities\n+\t\t\t\t\t\t\t\t\tin the\n+ park-dial\n+ context through pattern matching or deliberately written\n+\t\t\t\t\t\t\t\t\tflattened peer extensions).\n+ \n+ \n+ \n+ \n+ Place the call into the PBX at\n+ comebackcontext\n+ instead. The extension will\n+\t\t\t\t\t\t\t\t\tstill be set as the flattened peer name. If an extension the flattened peer name isn't available\n+\t\t\t\t\t\t\t\t\tthen it will fall back to the\n+ s\n+ extension. If that also is unavailable it will\n+\t\t\t\t\t\t\t\t\tattempt to fall back to\n+ s@default\n+ . The normal dial extension will still be\n+\t\t\t\t\t\t\t\t\tcreated in the\n+ park-dial\n+ context with the extension also being the flattened\n+\t\t\t\t\t\t\t\t\tpeer name.\n+ \n+ \n+ \n+ \n+ \n+ Flattened Peer Names - Extensions can not include slash characters since those are used for pattern\n+\t\t\t\t\t\t\tmatching. When a peer name is flattened, slashes become underscores. For example if the parker of a call\n+\t\t\t\t\t\t\tis called\n+ SIP/0004F2040001\n+ then flattened peer name and therefor the extensions created\n+\t\t\t\t\t\t\tand used on timeouts will be\n+ SIP_0004F204001\n+ .\n+ \n+ \n+ \n+ When parking times out and the channel returns to the dial plan, the following variables are set:\n+ \n+ \n+ \n+ extension that the call was parked in prior to timing out.\n+ \n+ \n+ \n+ Deprecated. Use\n+ PARKING_SPACE\n+ instead.\n+ \n+ \n+ \n+ name of the lot that the call was parked in prior to timing out.\n+ \n+ \n+ The device that parked the call\n+ \n+ \n+ \n+ The flat version of\n+ PARKER\n+ \n+ \n+ \n+ \n+ \n+ \n+ Timeout for the Dial extension created to call back the parker when a parked call times out.\n+ \n+ \n+ Context where parked calls will enter the PBX on timeout when comebacktoorigin=no\n+ \n+ The extension the call enters will prioritize the flattened peer name in this context.\n+\t\t\t\t\t\tIf the flattened peer name extension is unavailable, then the 's' extension in this context will be\n+\t\t\t\t\t\tused. If that also is unavailable, the 's' extension in the 'default' context will be used.\n+ \n+ \n+ \n+ If the name of a sound file is provided, use this as the courtesy tone\n+ \n+ \n+ By default, this tone is only played to the caller of a parked call. Who receives the tone\n+\t\t\t\t\t\tcan be changed using the\n+ parkedplay\n+ option.\n+ \n+ \n+ \n+ \n+ Who we should play the courtesytone to on the pickup of a parked call from this lot\n+ \n+ \n+ \n+ Apply to neither side.\n+ \n+ \n+ Apply only to the call connecting with the call coming out of the parking lot.\n+ \n+ \n+ Apply only to the call coming out of the parking lot.\n+ \n+ \n+ Apply to both sides.\n+ \n+ \n+ \n+ If courtesy tone is not specified then this option will be ignored.\n+ \n+ \n+ \n+ \n+ Who to apply the DTMF transfer features to when parked calls are picked up or timeout.\n+ \n+ \n+ \n+ \n+ \n+ Who to apply the DTMF parking feature to when parked calls are picked up or timeout.\n+ \n+ \n+ \n+ \n+ \n+ Who to apply the DTMF hangup feature to when parked calls are picked up or timeout.\n+ \n+ \n+ \n+ \n+ \n+ Who to apply the DTMF MixMonitor recording feature to when parked calls are picked up or timeout.\n+ \n+ \n+ \n+ \n+ \n+ Rule to use when trying to figure out which parking space a call should be parked with.\n+ \n+ \n+ \n+ Always try to place in the lowest available space in the parking lot\n+ \n+ \n+ Track the last parking space used and always attempt to use the one immediately after.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_pubsub\n core\n \n- \n- core\n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_session\n+ res_hep\n+ extended\n \n- \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_pubsub\n core\n \n- \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_session\n core\n \n- \n- Get DB Entry.\n- \n- \n- \n- \n- \n- \n- \n- \n- Get DB entries, optionally at a particular family/key\n- \n- \n- \n- \n- \n- \n- \n- \n- Put DB entry.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Delete DB entry.\n- \n- \n- \n- \n- \n- \n- \n- \n- Delete DB Tree.\n- \n- \n- \n- \n- \n- \n- \n- \n+ \n core\n \n- \n+ \n+ no\n core\n \n- \n+ \n+ Core external MWI support\n+ \n+ \n+ Persistent cache of external MWI Mailboxs.\n+ \n+ Allows the alteration of sorcery backend mapping for\n+\t\t\t\t\tthe persistent cache of external MWI mailboxes.\n+ \n+ \n+ \n+ \n+ \n+ res_ari\n+ res_ari_model\n+ res_stasis\n core\n \n- \n+ \n core\n \n- \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_session\n core\n \n- \n+ \n core\n \n- \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_session\n core\n \n- \n+ \n+ pjproject\n+ res_sorcery_config\n core\n \n- \n- \n- Raised when a module has been reloaded in Asterisk.\n- \n- \n- \n- The name of the module that was reloaded, or\n- All\n- if all modules were reloaded\n- \n- \n- \n- The numeric status code denoting the success or failure\n-\t\t\t\t\tof the reload request.\n- \n- \n- Success\n- \n- \n- Request queued\n- \n- \n- Module not found\n- \n- \n- Error\n- \n- \n- Reload already in progress\n- \n- \n- Module uninitialized\n- \n- \n- Reload not supported\n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when a module has been loaded in Asterisk.\n- \n- \n- The name of the module that was loaded\n- \n- \n- The result of the load request.\n- \n- \n- Module could not be loaded properly\n- \n- \n- Module loaded and configured\n- \n- \n- Module is not configured\n- \n- \n- \n- \n- \n- \n- \n- \n- Raised when a module has been unloaded in Asterisk.\n- \n- \n- The name of the module that was unloaded\n- \n- \n- The result of the unload request.\n- \n- \n- Module unloaded successfully\n- \n- \n- \n- \n- \n- \n+ \n+ pjproject common configuration\n+ \n+ \n+ Asterisk startup time options for PJPROJECT\n+ \n+ \n+ The id of this object, as well as its type, must be\n+\t\t\t\t\t'startup' or it won't be found.\n+ \n+ \n+ \n+ Must be of type 'startup'.\n+ \n+ \n+ Initial maximum pjproject logging level to log.\n+ \n+ Valid values are: 0-6, and default\n+ \n+ This option is needed very early in the startup process\n+\t\t\t\t\t\tso it can only be read from config files because the\n+\t\t\t\t\t\tmodules for other methods have not been loaded yet.\n+ \n+ \n+ \n+ \n+ \n+ PJPROJECT to Asterisk Log Level Mapping\n+ \n+ Warnings and errors in the pjproject libraries are generally handled\n+\t\t\t\t\tby Asterisk. In many cases, Asterisk wouldn't even consider them to\n+\t\t\t\t\tbe warnings or errors so the messages emitted by pjproject directly\n+\t\t\t\t\tare either superfluous or misleading. The 'log_mappings'\n+\t\t\t\t\tobject allows mapping the pjproject levels to Asterisk levels, or nothing.\n+ \n+ The id of this object, as well as its type, must be\n+\t\t\t\t\t'log_mappings' or it won't be found.\n+ \n+ \n+ \n+ Must be of type 'log_mappings'.\n+ \n+ \n+ A comma separated list of pjproject log levels to map to Asterisk LOG_ERROR.\n+ \n+ \n+ A comma separated list of pjproject log levels to map to Asterisk LOG_WARNING.\n+ \n+ \n+ A comma separated list of pjproject log levels to map to Asterisk LOG_NOTICE.\n+ \n+ \n+ A comma separated list of pjproject log levels to map to Asterisk LOG_VERBOSE.\n+ \n+ \n+ A comma separated list of pjproject log levels to map to Asterisk LOG_DEBUG.\n+ \n+ \n+ A comma separated list of pjproject log levels to map to Asterisk LOG_TRACE.\n+ \n+ \n+ \n+ \n \n res_ari\n res_ari_model\n res_stasis\n core\n \n- \n+ \n+ core\n+ \n+ \n pjproject\n res_pjsip\n- res_pjsip_pubsub\n+ res_pjsip_session\n+ core\n+ \n+ \n core\n \n+ \n+ no\n+ extended\n+ \n \n generic_odbc\n core\n \n \n Controls ODBC transaction properties.\n \n@@ -27188,78 +27627,298 @@\n \n Rolls back the database transaction specified by\n transaction ID\n or the current active transaction, if not specified.\n \n \n \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n+ \n core\n \n- \n- pjproject\n- res_pjsip\n- res_pjsip_pubsub\n+ \n+ Expire (remove) an object from a sorcery memory cache.\n+ \n+ \n+ \n+ The name of the cache to expire the object from.\n+ \n+ \n+ The name of the object to expire.\n+ \n+ \n+ \n+ Expires (removes) an object from a sorcery memory cache. If full backend caching is enabled\n+\t\t\tthis action is not available and will fail. In this case the SorceryMemoryCachePopulate or\n+\t\t\tSorceryMemoryCacheExpire AMI actions must be used instead.\n+ \n+ \n+ \n+ Expire (remove) ALL objects from a sorcery memory cache.\n+ \n+ \n+ \n+ The name of the cache to expire all objects from.\n+ \n+ \n+ \n+ Expires (removes) ALL objects from a sorcery memory cache.\n+ \n+ \n+ \n+ Mark an object in a sorcery memory cache as stale.\n+ \n+ \n+ \n+ The name of the cache to mark the object as stale in.\n+ \n+ \n+ The name of the object to mark as stale.\n+ \n+ \n+ If true, then immediately reload the object from the backend cache instead of waiting for the next retrieval\n+ \n+ \n+ \n+ Marks an object as stale within a sorcery memory cache.\n+ \n+ \n+ \n+ Marks ALL objects in a sorcery memory cache as stale.\n+ \n+ \n+ \n+ The name of the cache to mark all object as stale in.\n+ \n+ \n+ \n+ Marks ALL objects in a sorcery memory cache as stale.\n+ \n+ \n+ \n+ Expire all objects from a memory cache and populate it with all objects from the backend.\n+ \n+ \n+ \n+ The name of the cache to populate.\n+ \n+ \n+ \n+ Expires all objects from a memory cache and populate it with all objects from the backend.\n+ \n+ \n+ \n+ res_odbc\n+ generic_odbc\n core\n \n \n res_ari\n res_ari_model\n res_stasis\n res_stasis_mailbox\n core\n \n- \n+ \n pjproject\n res_pjsip\n- res_pjsip_session\n- core\n+ res_phoneprov\n+ extended\n \n- \n+ \n+ Module that integrates res_pjsip with res_phoneprov.\n+ \n+ \n+ PJSIP Phoneprov Provider\n+ \n+ \n+ This module creates the integration between\n+ res_pjsip\n+ and\n+ res_phoneprov\n+ .\n+ \n+ \n+ Each user to be integrated requires a\n+ phoneprov\n+ section defined in\n+ pjsip.conf\n+ . Each section identifies\n+\t\t\tthe endpoint associated with the user and any other name/value pairs to be passed\n+\t\t\ton to res_phoneprov's template substitution. Only\n+ MAC\n+ and\n+ PROFILE\n+ variables are required. Any other variables\n+\t\t\tsupplied will be passed through.\n+ \n+ \n+ Example:\n+ [1000]\n+ type = phoneprovr\n+ endpoint = ep1000\n+ MAC = deadbeef4dad\n+ PROFILE = grandstream2\n+ LINEKEYS = 2\n+ LINE = 1\n+ OTHERVAR = othervalue\n+ \n+ The following variables are automatically defined if an endpoint\n+\t\t\tis defined for the user:\n+ \n+ \n+ Source: The user_name defined in the first auth reference\n+\t\t\t\tin the endpoint.\n+ \n+ \n+ Source: The user_pass defined in the first auth reference\n+\t\t\t\tin the endpoint.\n+ \n+ \n+ Source: The number part of the callerid defined in\n+\t\t\t\tthe endpoint.\n+ \n+ \n+ Source: The name part of the callerid defined in\n+\t\t\t\tthe endpoint.\n+ \n+ \n+ Source: The id of the phoneprov section.\n+ \n+ \n+ \n+ In addition to the standard variables, the following are also automatically defined:\n+ \n+ \n+ Source: The id of the endpoint.\n+ \n+ \n+ Source: The id of the transport used by the endpoint.\n+ \n+ \n+ Source: The id of the auth used by the endpoint.\n+ \n+ \n+ \n+ All other template substitution variables must be explicitly defined in the\n+\t\t\tphoneprov_default or phoneprov sections.\n+ \n+ \n+ \n+ Provides variables for each user.\n+ \n+ Must be of type 'phoneprov'.\n+ \n+ \n+ The endpoint from which variables will be retrieved.\n+ \n+ \n+ The mac address for this user. (required)\n+ \n+ \n+ The phoneprov profile to use for this user. (required)\n+ \n+ \n+ Other name/value pairs to be passed through for use in templates.\n+ \n+ \n+ \n+ \n+ \n pjproject\n res_pjsip\n- res_pjsip_session\n+ res_pjsip_pubsub\n core\n \n- \n- pjproject\n- res_pjsip\n- core\n+ \n+ extended\n \n- \n+ \n+ Execute specified template for each extension.\n+ \n+ \n+ \n+ \n+ \n+ Output the specified template for each extension associated with the specified MAC address.\n+ \n+ \n+ \n+ Generate a string for each phoneprov user.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Pass in a string, with phoneprov variables you want substituted in the format of\n+\t\t\t%{VARNAME}, and you will get the string rendered for each user in phoneprov\n+\t\t\texcluding ones with MAC address\n+ exclude_mac\n+ . Probably not\n+\t\t\tuseful outside of res_phoneprov.\n+ \n+ Example: ${PP_EACH_USER(<item><fn>%{DISPLAY_NAME}</fn></item>|${MAC})\n+ \n+ \n+ \n+ openssl\n core\n \n- \n- res_hep\n- extended\n- \n- \n- no\n- extended\n+ \n+ pjproject\n+ res_pjproject\n+ res_pjsip\n+ core\n \n+ \n+ Lists PJSIP inbound registrations.\n+ \n+ \n+ \n+ In response,\n+ InboundRegistrationDetail\n+ events showing configuration\n+\t\t\tand status information are raised for all contacts, static or dynamic. Once all events\n+\t\t\tare completed an\n+ InboundRegistrationDetailComplete\n+ is issued.\n+ \n+ \n+ \n+ This command just dumps all coonfigured AORs with contacts, even if the contact\n+\t\t\t\tis a permanent one. To really get just inbound registrations, use\n+ PJSIPShowRegistrationInboundContactStatuses\n+ .\n+ \n+ \n+ \n+ \n+ PJSIPShowRegistrationInboundContactStatuses\n+ \n+ \n+ \n+ Lists ContactStatuses for PJSIP inbound registrations.\n+ \n+ \n+ \n+ In response,\n+ ContactStatusDetail\n+ events showing status information\n+\t\t\tare raised for each inbound registration (dynamic contact) object. Once all events\n+\t\t\tare completed a\n+ ContactStatusDetailComplete\n+ event is issued.\n+ \n+ \n+ \n \n openssl\n pjproject\n core\n \n- \n- netsnmp\n- extended\n- \n- \n- core\n- \n- \n- res_stasis\n- res_mwi_external\n- core\n- \n \n pjproject\n res_pjsip\n res_pjsip_session\n core\n \n \n@@ -27515,777 +28174,730 @@\n \n \n \n PJSIP_RESPONSE_HEADER\n PJSIP_HEADERS\n \n \n- \n- res_stasis\n+ \n+ pjproject\n+ res_pjsip\n core\n \n- \n+ \n pjproject\n res_pjsip\n- res_pjsip_outbound_publish\n- res_pjsip_pubsub\n core\n \n- \n- SIP resource for inbound and outbound Asterisk event publications\n- \n- \n- Inbound and outbound Asterisk event publication\n- \n- \n- This module allows\n- res_pjsip\n- to send and receive Asterisk event publications.\n- \n- \n- \n- \n- The configuration for inbound Asterisk event publication\n- \n- \n- Publish is\n- COMPLETELY\n- separate from the rest of\n- pjsip.conf\n- .\n- \n- \n- \n- Optional name of a publish item that can be used to publish a request for full device state information.\n- \n- \n- Optional name of a publish item that can be used to publish a request for full mailbox state information.\n- \n- \n- Whether we should permit incoming device state events.\n- \n- \n- Optional regular expression used to filter what devices we accept events for.\n- \n- \n- Whether we should permit incoming mailbox state events.\n- \n- \n- Optional regular expression used to filter what mailboxes we accept events for.\n- \n- \n- Must be of type 'asterisk-publication'.\n- \n- \n- \n- \n- \n+ \n+ res_ari\n+ res_ari_model\n+ res_stasis\n core\n \n- \n+ \n res_ari\n res_ari_model\n res_stasis\n- res_stasis_answer\n- res_stasis_playback\n res_stasis_recording\n- res_stasis_snoop\n- core\n- \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n- core\n- \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n+ res_stasis_playback\n core\n \n- \n- res_stasis\n+ \n+ app_fax\n core\n \n- \n- func_periodic_hook\n- deprecated\n- app_mixmonitor\n- 16\n- 21\n- \n- \n- Monitor a channel.\n+ \n+ Receive a FAX and save as a TIFF/F file.\n \n- \n- \n- \n- Optional. If not set, defaults to\n- wav\n- \n- \n- \n- \n- \n- If set, changes the filename used to the one specified.\n- \n+ \n \n \n- \n- \n- \n- \n- \n \n \n \n \n- Used to start monitoring a channel. The channel's input and output\n-\t\t\tvoice packets are logged to files until the channel hangs up or\n-\t\t\tmonitoring is stopped by the StopMonitor application.\n- \n- By default, files are stored to\n- /var/spool/asterisk/monitor/\n- .\n-\t\t\tReturns\n- -1\n- if monitor files can't be opened or if the channel is\n-\t\t\talready monitored, otherwise\n- 0\n- .\n- \n+ This application is provided by res_fax, which is a FAX technology agnostic module\n+ \t\t\tthat utilizes FAX technology resource modules to complete a FAX transmission.\n+ Session arguments can be set by the FAXOPT function and to check results of the ReceiveFax() application.\n \n \n- StopMonitor\n+ FAXOPT\n \n \n- \n- Stop monitoring a channel.\n- \n- \n- Stops monitoring a channel. Has no effect if the channel is not monitored.\n- \n- \n- \n- Change monitoring filename of a channel.\n+ \n+ Sends a specified TIFF/F file as a FAX.\n \n- \n- The new filename base to use for monitoring this channel.\n+ \n+ \n+ TIFF file to send as a FAX.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n- Changes monitoring filename of a channel. Has no effect if the\n-\t\t\tchannel is not monitored.\n- \n- \n- \n- Pause monitoring of a channel.\n- \n- \n- Pauses monitoring of a channel until it is re-enabled by a call to UnpauseMonitor.\n- \n- \n- UnpauseMonitor\n- \n- \n- \n- Unpause monitoring of a channel.\n- \n- \n- Unpauses monitoring of a channel on which monitoring had\n-\t\t\tpreviously been paused with PauseMonitor.\n+ This application is provided by res_fax, which is a FAX technology agnostic module\n+ \t\t\tthat utilizes FAX technology resource modules to complete a FAX transmission.\n+ Session arguments can be set by the FAXOPT function and to check results of the SendFax() application.\n \n \n- PauseMonitor\n+ FAXOPT\n \n \n- \n- Monitor a channel.\n+ \n+ Gets/sets various pieces of information about a fax session.\n \n- \n- \n- Used to specify the channel to record.\n- \n- \n- Is the name of the file created in the monitor spool directory.\n-\t\t\t\tDefaults to the same name as the channel (with slashes replaced with dashes).\n- \n- \n- \n- Is the audio recording format. Defaults to\n- wav\n- .\n- \n- \n- \n- Boolean parameter as to whether to mix the input and output channels\n-\t\t\t\ttogether after the recording is finished.\n+ \n+ \n+ \n+ R/W Error Correction Mode (ECM) enable with 'yes', disable with 'no'.\n+ \n+ \n+ R/O FAX transmission error code upon failure.\n+ \n+ \n+ R/O Filename of the first file of the FAX transmission.\n+ \n+ \n+ R/O Filenames of all of the files in the FAX transmission (comma separated).\n+ \n+ \n+ R/W FAX header information.\n+ \n+ \n+ R/W Local Station Identification.\n+ \n+ \n+ R/W Minimum transfer rate set before transmission.\n+ \n+ \n+ R/W Maximum transfer rate set before transmission.\n+ \n+ \n+ R/W Modem type (v17/v27/v29).\n+ \n+ \n+ R/W T38 fax gateway, with optional fax activity timeout in seconds (yes[,timeout]/no)\n+ \n+ \n+ R/W Enable FAX detect with optional timeout in seconds (yes,t38,cng[,timeout]/no)\n+ \n+ \n+ R/O Number of pages transferred.\n+ \n+ \n+ R/O Negotiated transmission rate.\n+ \n+ \n+ R/O Remote Station Identification after transmission.\n+ \n+ \n+ R/O Negotiated image resolution after transmission.\n+ \n+ \n+ R/O Session ID of the FAX transmission.\n+ \n+ \n+ R/O Result Status of the FAX transmission.\n+ \n+ \n+ R/O Verbose Result Status of the FAX transmission.\n+ \n+ \n+ R/W The timeout used for T.38 negotiation.\n+ \n+ \n+ R/W Upon v21 detection allow gateway to send negotiation requests to both T.38 endpoints, and do not wait on the "other" side to initiate (yes|no)\n+ \n+ \n \n \n \n- This action may be used to record the audio on a\n-\t\t\tspecified channel.\n+ \n+ FAXOPT can be used to override the settings for a FAX session listed in\n+ res_fax.conf\n+ ,\n+\t\t \tit can also be used to retrieve information about a FAX session that has finished eg. pages/status.\n+ \n \n- \n- \n- Stop monitoring a channel.\n+ \n+ ReceiveFax\n+ SendFax\n+ \n+ \n+ \n+ Lists active FAX sessions\n \n \n- \n- The name of the channel monitored.\n- \n \n \n- This action may be used to end a previously started 'Monitor' action.\n+ Will generate a series of FAXSession events with information about each FAXSession. Closes with\n+\t\t\ta FAXSessionsComplete event which includes a count of the included FAX sessions. This action works in\n+\t\t\tthe same manner as the CLI command 'fax show sessions'\n \n \n- \n- Change monitoring filename of a channel.\n+ \n+ \n+ A single list item for the FAXSessions AMI command\n+ \n+ \n+ \n+ Name of the channel responsible for the FAX session\n+ \n+ \n+ The FAX technology that the FAX session is using\n+ \n+ \n+ The numerical identifier for this particular session\n+ \n+ \n+ FAX session passthru/relay type\n+ \n+ \n+ \n+ \n+ \n+ \n+ FAX session operation type\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Current state of the FAX session\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ File or list of files associated with this FAX session\n+ \n+ \n+ \n+ \n+ \n+ \n+ Raised when all FAXSession events are completed for a FAXSessions command\n+ \n+ \n+ \n+ Count of FAXSession events sent in response to FAXSessions action\n+ \n+ \n+ \n+ \n+ \n+ Responds with a detailed description of a single FAX session\n \n \n- \n- Used to specify the channel to record.\n- \n- \n- Is the new name of the file created in the\n-\t\t\t\tmonitor spool directory.\n+ \n+ The session ID of the fax the user is interested in.\n \n \n \n- This action may be used to change the file\n-\t\t\tstarted by a previous 'Monitor' action.\n+ Provides details about a specific FAX session. The response will include a common subset of\n+\t\t\tthe output from the CLI command 'fax show session <session_number>' for each technology. If the\n+\t\t\tFAX technolgy used by this session does not include a handler for FAXSession, then this action\n+\t\t\twill fail.\n \n \n- \n- Pause monitoring of a channel.\n+ \n+ \n+ Raised in response to FAXSession manager command\n+ \n+ \n+ \n+ The numerical identifier for this particular session\n+ \n+ \n+ \n+ \n+ Whether error correcting mode is enabled for the FAX session. This field is not\n+\t\t\t\t\tincluded when operation is 'V.21 Detect' or if operation is 'gateway' and state is\n+\t\t\t\t\t'Uninitialized'\n+ \n+ \n+ \n+ \n+ \n+ \n+ Bit rate of the FAX. This field is not included when operation is 'V.21 Detect' or\n+\t\t\t\t\tif operation is 'gateway' and state is 'Uninitialized'.\n+ \n+ \n+ Resolution of each page of the FAX. Will be in the format of X_RESxY_RES. This field\n+\t\t\t\t\tis not included if the operation is anything other than Receive/Transmit.\n+ \n+ \n+ Current number of pages transferred during this FAX session. May change as the FAX\n+\t\t\t\t\tprogresses. This field is not included when operation is 'V.21 Detect' or if operation is\n+\t\t\t\t\t'gateway' and state is 'Uninitialized'.\n+ \n+ \n+ Filename of the image being sent/received for this FAX session. This field is not\n+\t\t\t\t\tincluded if Operation isn't 'send' or 'receive'.\n+ \n+ \n+ Total number of pages sent during this session. This field is not included if\n+\t\t\t\t\tOperation isn't 'send' or 'receive'. Will always be 0 for 'receive'.\n+ \n+ \n+ Total number of pages received during this session. This field is not included if\n+\t\t\t\t\tOperation is not 'send' or 'receive'. Will be 0 for 'send'.\n+ \n+ \n+ Total number of bad lines sent/received during this session. This field is not\n+\t\t\t\t\tincluded if Operation is not 'send' or 'received'.\n+ \n+ \n+ \n+ \n+ \n+ Responds with fax statistics\n \n \n- \n- Used to specify the channel to record.\n- \n \n \n- This action may be used to temporarily stop the\n-\t\t\trecording of a channel.\n+ Provides FAX statistics including the number of active sessions, reserved sessions, completed\n+\t\t\tsessions, failed sessions, and the number of receive/transmit attempts. This command provides all\n+\t\t\tof the non-technology specific information provided by the CLI command 'fax show stats'\n \n \n- \n- Unpause monitoring of a channel.\n+ \n+ \n+ Raised in response to FAXStats manager command\n+ \n+ \n+ \n+ Number of active FAX sessions\n+ \n+ \n+ Number of reserved FAX sessions\n+ \n+ \n+ Total FAX sessions for which Asterisk is/was the transmitter\n+ \n+ \n+ Total FAX sessions for which Asterisk is/was the recipient\n+ \n+ \n+ Total FAX sessions which have been completed successfully\n+ \n+ \n+ Total FAX sessions which failed to complete successfully\n+ \n+ \n+ \n+ \n+ \n+ extended\n+ \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_pubsub\n+ core\n+ \n+ \n+ core\n+ \n+ \n+ List the current known presence states.\n \n \n- \n- Used to specify the channel to record.\n- \n \n \n- This action may be used to re-enable recording\n-\t\t\tof a channel after calling PauseMonitor.\n+ \n+ This will list out all known presence states in a\n+\t\t\tsequence of\n+ PresenceStateChange\n+ events.\n+\t\t\tWhen finished, a\n+ PresenceStateListComplete\n+ event\n+\t\t\twill be emitted.\n+ \n \n+ \n+ PresenceState\n+ PresenceStatus\n+ PRESENCE_STATE\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Indicates the end of the list the current known extension states.\n+ \n+ \n+ Conveys the status of the event list.\n+ \n+ \n+ Conveys the number of statuses reported.\n+ \n+ \n+ \n+ \n+ \n \n \n core\n \n- \n- res_ari\n- res_ari_model\n- res_stasis\n- core\n- \n- \n+ \n pjproject\n res_pjsip\n- yes\n+ res_pjsip_session\n core\n \n- \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ netsnmp\n+ extended\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ unbound\n+ core\n+ \n+ \n+ \n+ \n+ General options for res_resolver_unbound\n+ \n+ Full path to an optional hosts file\n+ \n+ Hosts specified in a hosts file will be resolved within the resolver itself. If a value\n+\t\t\t\t\tof system is provided the system-specific file will be used.\n+ \n+ \n+ \n+ Full path to an optional resolv.conf file\n+ \n+ The resolv.conf file specifies the nameservers to contact when resolving queries. If a\n+\t\t\t\t\tvalue of system is provided the system-specific file will be used. If provided alongside explicit nameservers the\n+\t\t\t\t\tnameservers contained within the resolv.conf file will be used after all others.\n+ \n+ \n+ \n+ Nameserver to use for queries\n+ \n+ An explicit nameserver can be specified which is used for resolving queries. If multiple\n+\t\t\t\t\tnameserver lines are specified the first will be the primary with failover occurring, in order, to the other\n+\t\t\t\t\tnameservers as backups. If provided alongside a resolv.conf file the nameservers explicitly specified will be\n+\t\t\t\t\tused before all others.\n+ \n+ \n+ \n+ Unbound debug level\n+ \n+ The debugging level for the unbound resolver. While there is no explicit range generally\n+\t\t\t\t\tthe higher the number the more debug is output.\n+ \n+ \n+ \n+ Trust anchor file\n+ \n+ Full path to a file with DS and DNSKEY records in zone file format. This file is provided\n+\t\t\t\t\tto unbound and is used as a source for trust anchors.\n+ \n+ \n+ \n+ \n+ \n+ \n pjproject\n res_pjsip\n res_pjsip_pubsub\n+ res_pjsip_outbound_publish\n core\n \n- \n- iksemel\n- openssl\n- core\n+ \n+ extended\n \n- \n- Sends an XMPP message to a buddy.\n+ \n+ Determine if the calendar is marked busy at this time.\n \n- \n- The local named account to listen on (specified in\n-\t\t\t\txmpp.conf)\n- \n- \n- Jabber ID of the buddy to send the message to. It can be a\n-\t\t\t\tbare JID (username@domain) or a full JID (username@domain/resource).\n- \n- \n- The message to send.\n- \n+ \n \n \n- \n- Sends the content of\n- message\n- as text message\n-\t\t\tfrom the given\n- account\n- to the buddy identified by\n- jid\n- \n- \n- The example below sends "Hello world" to\n- bob@domain.com\n- as an XMPP message from the account\n- asterisk\n- , configured in xmpp.conf.\n- \n- same => n,JabberSend(asterisk,bob@domain.com,Hello world)\n+ Check the specified calendar's current busy status.\n \n \n- JABBER_STATUS\n- JABBER_RECEIVE\n+ CALENDAR_EVENT\n+ CALENDAR_QUERY\n+ CALENDAR_QUERY_RESULT\n+ CALENDAR_WRITE\n \n- \n- \n- Reads XMPP messages.\n+ \n+ \n+ Get calendar event notification data from a notification call.\n \n- \n- The local named account to listen on (specified in\n-\t\t\t\txmpp.conf)\n- \n- \n- Jabber ID of the buddy to receive message from. It can be a\n-\t\t\t\tbare JID (username@domain) or a full JID (username@domain/resource).\n- \n- \n- \n- In seconds, defaults to\n- 20\n- .\n- \n+ \n+ \n+ \n+ The VEVENT SUMMARY property or Exchange event 'subject'\n+ \n+ \n+ The text description of the event\n+ \n+ \n+ The organizer of the event\n+ \n+ \n+ The location of the event\n+ \n+ \n+ The categories of the event\n+ \n+ \n+ The priority of the event\n+ \n+ \n+ The name of the calendar associated with the event\n+ \n+ \n+ The unique identifier for this event\n+ \n+ \n+ The start time of the event\n+ \n+ \n+ The end time of the event\n+ \n+ \n+ The busy state of the event 0=FREE, 1=TENTATIVE, 2=BUSY\n+ \n+ \n \n \n \n- \n- Receives a text message on the given\n- account\n- from the buddy identified by\n- jid\n- and returns the contents.\n- \n- \n- The example below returns an XMPP message sent from\n- bob@domain.com\n- (or nothing in case of a time out), to\n-\t\t\tthe\n- asterisk\n- XMPP account configured in xmpp.conf.\n- \n- same => n,Set(msg=${JABBER_RECEIVE(asterisk,bob@domain.com)})\n+ Whenever a calendar event notification call is made, the event data\n+\t\t\tmay be accessed with this function.\n \n \n- JABBER_STATUS\n- JabberSend\n+ CALENDAR_BUSY\n+ CALENDAR_QUERY\n+ CALENDAR_QUERY_RESULT\n+ CALENDAR_WRITE\n \n \n- \n- Retrieves a buddy's status.\n+ \n+ Query a calendar server and store the data on a channel\n \n- \n- The local named account to listen on (specified in\n-\t\t\t\txmpp.conf)\n+ \n+ The calendar that should be queried\n \n- \n- Jabber ID of the buddy to receive message from. It can be a\n-\t\t\t\tbare JID (username@domain) or a full JID (username@domain/resource).\n+ \n+ The start time of the query (in seconds since epoch)\n+ \n+ \n+ The end time of the query (in seconds since epoch)\n \n \n \n \n- Retrieves the numeric status associated with the buddy identified\n-\t\t\tby\n- jid\n- .\n-\t\t\tIf the buddy does not exist in the buddylist, returns 7.\n- \n- Status will be 1-7.\n- 1=Online, 2=Chatty, 3=Away, 4=XAway, 5=DND, 6=Offline\n- If not in roster variable will be set to 7.\n- \n- Example: ${JABBER_STATUS(asterisk,bob@domain.com)} returns 1 if\n- bob@domain.com\n- is online.\n- asterisk\n- is\n-\t\t\tthe associated XMPP account configured in xmpp.conf.\n+ Get a list of events in the currently accessible timeframe of the\n+ calendar\n+ The function returns the id for accessing the result with CALENDAR_QUERY_RESULT()\n \n \n \n- JABBER_RECEIVE\n- JabberSend\n+ CALENDAR_BUSY\n+ CALENDAR_EVENT\n+ CALENDAR_QUERY_RESULT\n+ CALENDAR_WRITE\n \n \n- \n- Send a Jabber Message to a specified chat room\n+ \n+ Retrieve data from a previously run CALENDAR_QUERY() call\n \n- \n- Client or transport Asterisk uses to connect to Jabber.\n- \n- \n- XMPP/Jabber JID (Name) of chat room.\n- \n- \n- Message to be sent to the chat room.\n- \n- \n- The nickname Asterisk uses in the chat room.\n- \n- \n- \n- Allows user to send a message to a chat room via XMPP.\n- \n+ \n \n- To be able to send messages to a chat room, a user must have previously joined it. Use the\n- JabberJoin\n- function to do so.\n+ The query ID returned by\n+ CALENDAR_QUERY\n \n- \n- \n- \n- \n- Join a chat room\n- \n- \n- Client or transport Asterisk uses to connect to Jabber.\n- \n- \n- XMPP/Jabber JID (Name) of chat room.\n- \n- \n- The nickname Asterisk will use in the chat room.\n- \n- If a different nickname is supplied to an already joined room, the old nick will be changed to the new one.\n- \n- \n- \n- \n- Allows Asterisk to join a chat room.\n- \n- \n- \n- Leave a chat room\n- \n- \n- Client or transport Asterisk uses to connect to Jabber.\n- \n- \n- XMPP/Jabber JID (Name) of chat room.\n- \n- \n- The nickname Asterisk uses in the chat room.\n- \n- \n- \n- Allows Asterisk to leave a chat room.\n- \n- \n- \n- Retrieve the status of a jabber list member\n- \n- \n- Client or transport Asterisk users to connect to Jabber.\n \n- \n- XMPP/Jabber JID (Name) of recipient.\n+ \n+ \n+ \n+ number of events occurring during time range\n+ \n+ \n+ A summary of the event\n+ \n+ \n+ The full event description\n+ \n+ \n+ The event organizer\n+ \n+ \n+ The event location\n+ \n+ \n+ The categories of the event\n+ \n+ \n+ The priority of the event\n+ \n+ \n+ The name of the calendar associted with the event\n+ \n+ \n+ The unique identifier for the event\n+ \n+ \n+ The start time of the event (in seconds since epoch)\n+ \n+ \n+ The end time of the event (in seconds since epoch)\n+ \n+ \n+ The busy status of the event 0=FREE, 1=TENTATIVE, 2=BUSY\n+ \n+ \n \n- \n- Variable to store the status of requested user.\n+ \n+ Return data from a specific event returned by the query\n \n \n \n- This application is deprecated. Please use the JABBER_STATUS() function instead.\n \n- Retrieves the numeric status associated with the specified buddy\n- JID\n- .\n-\t\t\tThe return value in the\n- Variable\n- will be one of the following.\n+ After running CALENDAR_QUERY and getting a result\n+ id\n+ , calling\n+ CALENDAR_QUERY\n+ with that\n+ id\n+ and a\n+ field\n+ will return the data for that field. If multiple events matched the query, and\n+ entry\n+ is provided, information from that event will be returned.\n \n- \n- \n- Online.\n- \n- \n- Chatty.\n- \n- \n- Away.\n- \n- \n- Extended Away.\n- \n- \n- Do Not Disturb.\n- \n- \n- Offline.\n- \n- \n- Not In Roster.\n- \n- \n \n- \n- \n- Sends a message to a Jabber Client.\n+ \n+ CALENDAR_BUSY\n+ CALENDAR_EVENT\n+ CALENDAR_QUERY\n+ CALENDAR_WRITE\n+ \n+ \n+ \n+ Write an event to a calendar\n \n- \n- \n- Client or transport Asterisk uses to connect to JABBER.\n- \n- \n- XMPP/Jabber JID (Name) of recipient.\n+ \n+ The calendar to write to\n \n- \n- Message to be sent to the buddy.\n+ \n+ \n+ \n+ A summary of the event\n+ \n+ \n+ The full event description\n+ \n+ \n+ The event organizer\n+ \n+ \n+ The event location\n+ \n+ \n+ The categories of the event\n+ \n+ \n+ The priority of the event\n+ \n+ \n+ The unique identifier for the event\n+ \n+ \n+ The start time of the event (in seconds since epoch)\n+ \n+ \n+ The end time of the event (in seconds since epoch)\n+ \n+ \n+ The busy status of the event 0=FREE, 1=TENTATIVE, 2=BUSY\n+ \n+ \n \n \n \n- Sends a message to a Jabber Client.\n+ same => n,Set(CALENDAR_WRITE(calendar,field1,field2,field3)=val1,val2,val3)\n+ The field and value arguments can easily be set/passed using the HASHKEYS() and HASH() functions\n+ \n+ \n+ The status of the write operation to the calendar\n+ The event was successfully written to the calendar.\n+ The event was not written to the calendar due to network issues, permissions, etc.\n+ \n+ \n \n- \n- \n- \n- Specifying a prefix of\n- xmpp:\n- will send the\n-\t\tmessage as an XMPP chat message.\n- \n- \n- \n- \n- Specifying a prefix of\n- xmpp:\n- will specify the\n-\t\taccount defined in\n- xmpp.conf\n- to send the message from.\n-\t\tNote that this field is required for XMPP messages.\n- \n- \n- \n- Ignored\n- \n- \n- XMPP Messaging\n- \n- \n- Global configuration settings\n- \n- Enable/disable XMPP message debugging\n- \n- \n- Auto-remove users from buddy list.\n- \n- Auto-remove users from buddy list. Depending on the setup\n-\t\t\t\t\t(e.g., using your personal Gtalk account for a test) this could cause loss of\n-\t\t\t\t\tthe contact list.\n- \n- \n- \n- Auto-register users from buddy list\n- \n- \n- Enable support for XEP-0248 for use with distributed device state\n- \n- \n- Whether or not the PubSub server supports/is using auto-create for nodes\n- \n- \n- Whether to automatically accept or deny users' subscription requests\n- \n- \n- \n- Configuration options for an XMPP client\n- \n- XMPP username with optional resource\n- \n- \n- XMPP password\n- \n- \n- Google OAuth 2.0 refresh token\n- \n- \n- Google OAuth 2.0 application's client id\n- \n- \n- Google OAuth 2.0 application's secret\n- \n- \n- Route to server, e.g. talk.google.com\n- \n- \n- Custom status message\n- \n- \n- Node for publishing events via PubSub\n- \n- \n- Dialplan context to send incoming messages to\n- \n- \n- XMPP resource priority\n- \n- \n- XMPP server port\n- \n- \n- Timeout in seconds to hold incoming messages\n- \n- \n- Timeout (in seconds) on the message stack. Messages stored longer\n-\t\t\t\t\tthan this value will be deleted by Asterisk. This option applies to incoming messages only\n-\t\t\t\t\twhich are intended to be processed by the\n- JABBER_RECEIVE\n- dialplan function.\n- \n- \n- \n- \n- Enable debugging\n- \n- \n- Connection is either a client or a component\n- \n- \n- Whether or not to distribute events using this connection\n- \n- \n- Whether to use TLS for the connection or not\n- \n- \n- Whether to use SASL for the connection or not\n- \n- \n- Force the use of old-style SSL for the connection\n- \n- \n- If enabled, periodically send an XMPP message from this client with an empty message\n- \n- \n- Auto-remove users from buddy list.\n- \n- Auto-remove users from buddy list. Depending on the setup\n-\t\t\t\t\t(e.g., using your personal Gtalk account for a test) this could cause loss of\n-\t\t\t\t\tthe contact list.\n- \n- \n- \n- Auto-register users bfrom buddy list\n- \n- \n- Whether to automatically accept or deny users' subscription requests\n- \n- \n- Send incoming messages into the dialplan\n- \n- \n- Default XMPP status for the client\n- \n- Can be one of the following XMPP statuses:\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Manual addition of buddy to list\n- \n- Manual addition of buddy to the buddy list. For distributed events, these buddies are\n-\t\t\t\t\tautomatically added in the whitelist as 'owners' of the node(s).\n- \n- \n- \n- \n- \n- \n- pjproject\n- res_pjsip\n- res_pjsip_pubsub\n- core\n- \n+ \n+ CALENDAR_BUSY\n+ CALENDAR_EVENT\n+ CALENDAR_QUERY\n+ CALENDAR_QUERY_RESULT\n+ \n+ \n \n res_mwi_external\n core\n \n \n Get selected mailboxes with message counts.\n \n@@ -28365,503 +28977,18 @@\n \t\t\t\tto zero if missing.\n \n \n \n Update the mailbox message counts.\n \n \n- \n- pjproject\n- res_pjsip\n- core\n- \n- \n- Send a NOTIFY to either an endpoint, an arbitrary URI, or inside a SIP dialog.\n- \n- \n- \n- The endpoint to which to send the NOTIFY.\n- \n- \n- Abritrary URI to which to send the NOTIFY.\n- \n- \n- Channel name to send the NOTIFY. Must be a PJSIP channel.\n- \n- \n- \n- Appends variables as headers/content to the NOTIFY. If the variable is\n-\t\t\t\tnamed\n- Content\n- , then the value will compose the body\n-\t\t\t\tof the message if another variable sets\n- Content-Type\n- .\n- name\n- =\n- value\n- \n- \n- \n- \n- Sends a NOTIFY to an endpoint, an arbitrary URI, or inside a SIP dialog.\n- \n- All parameters for this event must be specified in the body of this\n-\t\t\trequest\tvia multiple\n- Variable: name=value\n- sequences.\n- \n- \n- \n- One (and only one) of\n- Endpoint\n- ,\n- URI\n- , or\n- Channel\n- must be specified.\n-\t\t\tIf\n- URI\n- is used, the default outbound endpoint will be used\n-\t\t\tto send the message. If the default outbound endpoint isn't configured, this command\n-\t\t\tcan not send to an arbitrary URI.\n- \n- \n- \n- \n- \n- Module that supports sending NOTIFY requests to endpoints from external sources\n- \n- \n- Unused, but reserved.\n- \n- \n- Configuration of a NOTIFY request.\n- \n- \n- Each key-value pair in a\n- notify\n- configuration section defines either a SIP header to send\n-\t\t\t\t\tin the request or a line of content in the request message\n-\t\t\t\t\tbody. A key of\n- Content\n- is treated\n-\t\t\t\t\tas part of the message body and is appended in sequential\n-\t\t\t\t\torder; any other header is treated as part of the SIP\n-\t\t\t\t\trequest.\n- \n- \n- \n- A key/value pair to add to a NOTIFY request.\n- \n- \n- If the key is\n- Content\n- ,\n-\t\t\t\t\t\tit will be treated as part of the message body. Otherwise,\n-\t\t\t\t\t\tit will be added as a header in the NOTIFY request.\n- \n- The following headers are reserved and cannot be\n-\t\t\t\t\t\tspecified:\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- core\n- \n- \n- libxml2\n- libxslt\n- core\n- \n- \n- pjproject\n- res_pjsip\n- core\n- \n- \n- Module that identifies endpoints\n- \n- \n- Identifies endpoints via some criteria.\n- \n- This module provides alternatives to matching inbound requests to\n-\t\t\t\t\ta configured endpoint. At least one of the matching mechanisms\n-\t\t\t\t\tmust be provided, or the object configuration is invalid.\n- The matching mechanisms are provided by the following\n-\t\t\t\t\tconfiguration options:\n- \n- \n- Match by source IP address.\n- \n- \n- Match by SIP header.\n- \n- \n- \n- \n- If multiple matching criteria are provided then an inbound\n-\t\t\t\t\trequest will be matched to the endpoint if it matches\n- any\n- of the criteria.\n- \n- \n- \n- \n- Name of endpoint identified\n- \n- \n- IP addresses or networks to match against.\n- \n- The value is a comma-delimited list of IP addresses or\n-\t\t\t\t\t\thostnames.\n- IP addresses may have a subnet mask appended. The subnet\n-\t\t\t\t\t\tmask may be written in either CIDR or dotted-decimal\n-\t\t\t\t\t\tnotation. Separate the IP address and subnet mask with a slash\n-\t\t\t\t\t\t('/'). A source port can also be specified by adding a colon (':')\n-\t\t\t\t\t\tafter the address but before the subnet mask, e.g.\n-\t\t\t\t\t\t3.2.1.0:5061/24. To specify a source port for an IPv6 address, the\n-\t\t\t\t\t\taddress itself must be enclosed in square brackets\n-\t\t\t\t\t\t('[2001:db8:0::1]:5060')\n- \n- When a hostname is used, the behavior depends on whether\n- srv_lookups\n- is enabled and/or a source\n-\t\t\t\t\t\tport is provided. If\n- srv_lookups\n- is\n-\t\t\t\t\t\tenabled and a source port is not provided, Asterisk will perform\n-\t\t\t\t\t\tan SRV lookup on the provided hostname, adding all of the A and\n-\t\t\t\t\t\tAAAA records that are resolved.\n- \n- \n- If the SRV lookup fails,\n- srv_lookups\n- is disabled, or a source\n-\t\t\t\t\t\tport is specified when the hostname is configured, Asterisk will\n-\t\t\t\t\t\tresolve the hostname and add all A and AAAA records that are\n-\t\t\t\t\t\tresolved.\n- \n- \n- \n- \n- Perform SRV lookups for provided hostnames.\n- \n- \n- When enabled,\n- srv_lookups\n- will\n-\t\t\t\t\t\tperform SRV lookups for _sip._udp, _sip._tcp, and _sips._tcp of\n-\t\t\t\t\t\tthe given hostnames to determine additional addresses that traffic\n-\t\t\t\t\t\tmay originate from.\n- \n- \n- \n- \n- Header/value pair to match against.\n- \n- \n- A SIP header whose value is used to match against. SIP\n-\t\t\t\t\t\trequests containing the header, along with the specified value,\n-\t\t\t\t\t\twill be mapped to the specified endpoint. The header must be\n-\t\t\t\t\t\tspecified with a\n- :\n- , as in\n- match_header = SIPHeader: value\n- .\n- \n- \n- The specified SIP header value can be a regular\n-\t\t\t\t\t\texpression if the value is of the form\n-\t\t\t\t\t\t/\n- regex\n- /.\n- \n- \n- Use of a regex is expensive so be sure you need\n-\t\t\t\t\t\tto use a regex to match your endpoint.\n- \n- \n- \n- \n- Must be of type 'identify'.\n- \n- \n- \n- \n- \n- generic_odbc\n- res_odbc_transaction\n- core\n- \n- \n- pjproject\n- res_pjsip\n- res_statsd\n- core\n- \n- \n- SIP resource for outbound registrations\n- \n- \n- Outbound Registration\n- \n- \n- This module allows\n- res_pjsip\n- to register to other SIP servers.\n- \n- \n- \n- \n- The configuration for outbound registration\n- \n- \n- Registration is\n- COMPLETELY\n- separate from the rest of\n- pjsip.conf\n- . A minimal configuration consists of\n-\t\t\t\t\tsetting a\n- server_uri\n- and a\n- client_uri\n- .\n- \n- \n- \n- Determines whether failed authentication challenges are treated\n-\t\t\t\t\tas permanent failures.\n- \n- If this option is enabled and an authentication challenge fails,\n-\t\t\t\t\tregistration will not be attempted again until the configuration is reloaded.\n- \n- \n- \n- Client SIP URI used when attemping outbound registration\n- \n- This is the address-of-record for the outbound registration (i.e. the URI in\n-\t\t\t\t\t\tthe To header of the REGISTER).\n- For registration with an ITSP, the client SIP URI may need to consist of\n-\t\t\t\t\t\tan account name or number and the provider's hostname for their registrar, e.g.\n-\t\t\t\t\t\tclient_uri=1234567890@example.com. This may differ between providers.\n- For registration to generic registrars, the client SIP URI will depend\n-\t\t\t\t\t\ton networking specifics and configuration of the registrar.\n- \n- \n- \n- Contact User to use in request\n- \n- \n- Expiration time for registrations in seconds\n- \n- \n- Maximum number of registration attempts.\n- \n- This sets the maximum number of registration attempts that are made before\n-\t\t\t\t\t\tstopping any further attempts. If set to 0 then upon failure no further attempts\n-\t\t\t\t\t\tare made.\n- \n- \n- \n- Authentication object(s) to be used for outbound registrations.\n- \n- \n- This is a comma-delimited list of\n- auth\n- sections defined in\n- pjsip.conf\n- used to respond\n-\t\t\t\t\t\tto outbound authentication challenges.\n- \n- \n- Using the same auth section for inbound and outbound\n-\t\t\t\t\t\tauthentication is not recommended. There is a difference in\n-\t\t\t\t\t\tmeaning for an empty realm setting between inbound and outbound\n-\t\t\t\t\t\tauthentication uses. See the auth realm description for details.\n- \n- \n- \n- \n- Full SIP URI of the outbound proxy used to send registrations\n- \n- \n- Maximum interval in seconds for which an initial registration may be randomly delayed\n- \n- By default, registrations are randomly delayed by a small amount to prevent\n-\t\t\t\t\t\ttoo many registrations from being made simultaneously.\n- Depending on your system usage, it may be desirable to set this to a smaller\n-\t\t\t\t\t\tor larger value to have fine grained control over the size of this random delay.\n- \n- \n- \n- Interval in seconds between retries if outbound registration is unsuccessful\n- \n- \n- Interval used when receiving a 403 Forbidden response.\n- \n- \n- If a 403 Forbidden is received, chan_pjsip will wait\n- forbidden_retry_interval\n- seconds before\n-\t\t\t\t\t\tattempting registration again. If 0 is specified, chan_pjsip will not\n-\t\t\t\t\t\tretry after receiving a 403 Forbidden response. Setting this to a non-zero\n-\t\t\t\t\t\tvalue goes against a "SHOULD NOT" in RFC3261, but can be used to work around\n-\t\t\t\t\t\tbuggy registrars.\n- \n- \n- \n- \n- Interval used when receiving a Fatal response.\n- \n- \n- If a fatal response is received, chan_pjsip will wait\n- fatal_retry_interval\n- seconds before\n-\t\t\t\t\t\tattempting registration again. If 0 is specified, chan_pjsip will not\n-\t\t\t\t\t\tretry after receiving a fatal (non-temporary 4xx, 5xx, 6xx) response.\n-\t\t\t\t\t\tSetting this to a non-zero value may go against a "SHOULD NOT" in RFC3261,\n-\t\t\t\t\t\tbut can be used to work around buggy registrars.\n- \n- \n- \n- if also set the\n- forbidden_retry_interval\n- takes precedence over this one when a 403 is received.\n-\t\t\t\t\t\tAlso, if\n- auth_rejection_permanent\n- equals 'yes' then\n-\t\t\t\t\t\ta 401 and 407 become subject to this retry interval.\n- \n- \n- \n- \n- \n- SIP URI of the server to register against\n- \n- This is the URI at which to find the registrar to send the outbound REGISTER. This URI\n-\t\t\t\t\t\tis used as the request URI of the outbound REGISTER request from Asterisk.\n- For registration with an ITSP, the setting may often be just the domain of\n-\t\t\t\t\t\tthe registrar, e.g. sip:sip.example.com.\n- \n- \n- \n- Transport used for outbound authentication\n- \n- \n- \n- A\n- transport\n- configured in\n- pjsip.conf\n- . As with other\n- res_pjsip\n- modules, this will use the first available transport of the appropriate type if unconfigured.\n- \n- \n- \n- \n- \n- Whether to add a 'line' parameter to the Contact for inbound call matching\n- \n- When enabled this option will cause a 'line' parameter to be added to the Contact\n-\t\t\t\t\t\theader placed into the outgoing registration request. If the remote server sends a call\n-\t\t\t\t\t\tthis line parameter will be used to establish a relationship to the outbound registration,\n-\t\t\t\t\t\tultimately causing the configured endpoint to be used.\n- \n- \n- \n- Endpoint to use for incoming related calls\n- \n- When line support is enabled this configured endpoint name is used for incoming calls\n-\t\t\t\t\t\tthat are related to the outbound registration.\n- \n- \n- \n- Must be of type 'registration'.\n- \n- \n- Enables Path support for outbound REGISTER requests.\n- \n- When this option is enabled, outbound REGISTER requests will advertise\n-\t\t\t\t\t\tsupport for Path headers so that intervening proxies can add to the Path\n-\t\t\t\t\t\theader as necessary.\n- \n- \n- \n- \n- \n- \n- Unregister an outbound registration.\n- \n- \n- \n- The outbound registration to unregister or '*all' to unregister them all.\n- \n- \n- \n- Unregisters the specified (or all) outbound registration(s) and stops future registration attempts.\n-\t\t\tCall PJSIPRegister to start registration and schedule re-registrations according to configuration.\n- \n- \n- \n- Register an outbound registration.\n- \n- \n- \n- The outbound registration to register or '*all' to register them all.\n- \n- \n- \n- Unregisters the specified (or all) outbound registration(s) then starts registration and schedules re-registrations\n-\t\t\taccording to configuration.\n- \n- \n- \n- Lists PJSIP outbound registrations.\n- \n- \n- \n- In response\n- OutboundRegistrationDetail\n- events showing configuration and status\n-\t\t\tinformation are raised for each outbound registration object.\n- AuthDetail\n- events are raised for each associated auth object as well. Once all events are completed an\n- OutboundRegistrationDetailComplete\n- is issued.\n- \n- \n- \n- \n+ \n+ res_stasis\n core\n \n- \n- Get the channel name of an occupied parking space in a parking lot.\n- \n- \n- \n- \n- \n- This function returns the channel of the specified parking space\n-\t\t\t\tif the parking lot space is occupied.\n- \n- \n \n Park yourself.\n \n \n Specify in which parking lot to park a call.\n The parking lot used is selected in the following order:\n 1) parking_lot_name option to this application\n@@ -29103,14 +29230,25 @@\n \n \n \n Park\n ParkedCall\n \n \n+ \n+ Get the channel name of an occupied parking space in a parking lot.\n+ \n+ \n+ \n+ \n+ \n+ This function returns the channel of the specified parking space\n+\t\t\t\tif the parking lot space is occupied.\n+ \n+ \n \n Get a list of parking lots\n \n \n \n \n List all parking lots as a series of AMI events\n@@ -29242,748 +29380,420 @@\n This event is raised when a channel initially parked in the parking lot\n \t\t\t\tis swapped out with a different channel. The most common case for this is when\n \t\t\t\tan attended transfer to a parking lot occurs. The Parkee information in the event\n \t\t\t\twill indicate the party that was swapped into the parking lot.\n \n \n \n- \n- pgsql\n- extended\n- \n- \n- srtp\n- openssl\n- core\n- \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n- core\n- \n- \n- pjproject\n- res_pjproject\n- res_pjsip\n- core\n- \n- \n- Lists PJSIP inbound registrations.\n- \n- \n- \n- In response,\n- InboundRegistrationDetail\n- events showing configuration\n-\t\t\tand status information are raised for all contacts, static or dynamic. Once all events\n-\t\t\tare completed an\n- InboundRegistrationDetailComplete\n- is issued.\n- \n- \n- \n- This command just dumps all coonfigured AORs with contacts, even if the contact\n-\t\t\t\tis a permanent one. To really get just inbound registrations, use\n- PJSIPShowRegistrationInboundContactStatuses\n- .\n- \n- \n- \n- \n- PJSIPShowRegistrationInboundContactStatuses\n- \n- \n- \n- Lists ContactStatuses for PJSIP inbound registrations.\n- \n- \n- \n- In response,\n- ContactStatusDetail\n- events showing status information\n-\t\t\tare raised for each inbound registration (dynamic contact) object. Once all events\n-\t\t\tare completed a\n- ContactStatusDetailComplete\n- event is issued.\n- \n- \n- \n- \n- core\n- \n- \n- Muting audio streams in the channel\n- \n- \n- Must be one of\n- \n- \n- Inbound stream (to the PBX)\n- \n- \n- Outbound stream (from the PBX)\n- \n- \n- Both streams\n- \n- \n- \n- \n- \n- The MUTEAUDIO function can be used to mute inbound (to the PBX) or outbound audio in a call.\n- exten => s,1,Set(MUTEAUDIO(in)=on)\n- exten => s,1,Set(MUTEAUDIO(in)=off)\n- \n- \n- \n- Mute an audio stream.\n- \n- \n- \n- The channel you want to mute.\n- \n- \n- \n- \n- Set muting on inbound audio stream. (to the PBX)\n- \n- \n- Set muting on outbound audio stream. (from the PBX)\n- \n- \n- Set muting on inbound and outbound audio streams.\n- \n- \n- \n- \n- \n- \n- Turn muting on.\n- \n- \n- Turn muting off.\n- \n- \n- \n- \n- \n- Mute an incoming or outgoing audio stream on a channel.\n- \n- \n- \n- res_geolocation\n+ \n pjproject\n res_pjsip\n res_pjsip_session\n- chan_pjsip\n- libxml2\n- core\n- \n- \n- extended\n- \n- \n- \n- 16.21.0\n- 18.7.0\n- 19.0.0\n- \n- Wait for tone\n- \n- \n- Frequency of the tone to wait for.\n- \n- \n- Minimum duration of tone, in ms. Default is 500ms.\n-\t\t\t\tUsing a minimum duration under 50ms is unlikely to produce\n-\t\t\t\taccurate results.\n- \n- \n- Maximum amount of time, in seconds, to wait for specified tone.\n-\t\t\t\tDefault is forever.\n- \n- \n- Number of times the tone should be detected (subject to the\n-\t\t\t\tprovided timeout) before returning. Default is 1.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Waits for a single-frequency tone to be detected before dialplan execution continues.\n- \n- \n- This indicates the result of the wait.\n- \n- \n- \n- \n- \n- \n- \n- \n- PlayTones\n- \n- \n- \n- \n- 16.23.0\n- 18.9.0\n- 19.1.0\n- \n- Wait for period of time while scanning for call progress tones\n- \n- \n- Call progress zone. Default is the system default.\n- \n- \n- Maximum amount of time, in seconds, to wait for call progress\n-\t\t\t\tor signal tones. Default is forever.\n- \n- \n- DSP threshold required for a match. A higher number will\n-\t\t\t\trequire a longer match and may reduce false positives, at the\n-\t\t\t\texpense of false negatives. Default is 1.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Waits for a a distinguishable call progress tone and then exits.\n-\t\t\tUnlike a conventional scanner, this is not currently capable of\n-\t\t\tscanning for modem carriers.\n- \n- \n- This indicates the result of the scan.\n- Audible ringback tone\n- Busy tone\n- Special Information Tones\n- Human voice detected\n- DTMF digit\n- Fax (answering)\n- Modem (answering)\n- Dial tone\n- UK Number Unobtainable tone\n- Timeout reached before any positive detection\n- Caller hung up before any positive detection\n- \n- \n- \n- \n- WaitForTone\n- \n- \n- \n- \n- 16.21.0\n- 18.7.0\n- 19.0.0\n- \n- Asynchronously detects a tone\n- \n- \n- Frequency of the tone to detect. To disable frequency\n-\t\t\t\tdetection completely (e.g. for signal detection only),\n-\t\t\t\tspecify 0 for the frequency.\n- \n- \n- Minimum duration of tone, in ms. Default is 500ms.\n-\t\t\t\tUsing a minimum duration under 50ms is unlikely to produce\n-\t\t\t\taccurate results.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- The TONE_DETECT function detects a single-frequency tone and keeps\n-\t\t\ttrack of how many times the tone has been detected.\n- \n- When reading this function (instead of writing), supply\n- tx\n- to get the number of times a tone has been detected in the TX direction and\n- rx\n- to get the number of times a tone has been detected in the\n-\t\t\tRX direction.\n- \n- same => n,Set(TONE_DETECT(2600,1000,g(got-2600,s,1))=) ; detect 2600 Hz\n-\t\t\tsame => n,Wait(15)\n-\t\t\tsame => n,NoOp(${TONE_DETECT(rx)})\n- same => n,Set(TONE_DETECT(0,,bg(my-hangup,s,1))=) ; disconnect a call if we hear a busy signal\n-\t\t\tsame => n,Goto(somewhere-else)\n-\t\t\tsame => n(myhangup),Hangup()\n- same => n,Set(TONE_DETECT(0,,x)=) ; remove the detector from the channel\n- \n- \n- \n- openssl\n- core\n- \n- \n core\n \n- \n+ \n+ \n+ The\n+ destination\n+ parameter is used to construct\n+\t\tthe Request URI for an outgoing message. It can be in one of the following\n+\t\tformats, all prefixed with the\n+ pjsip:\n+ message tech.\n+ \n+ \n+ \n+ \n+ Request URI comes from the endpoint's default aor and contact.\n+ \n+ \n+ Request URI comes from the specific aor/contact.\n+ \n+ \n+ Request URI from the endpoint's default aor and contact. The domain is discarded.\n+ \n+ \n+ \n+ These all use the endpoint to send the message with the specified URI:\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ These all use the default endpoint to send the message with the specified URI:\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ These use the default endpoint to send the message with the specified host:\n+ \n+ \n+ \n+ \n+ \n+ \n+ This form is similar to a dialstring:\n+ \n+ \n+ \n+ \n+ \n+ \n+ You still need to prefix the destination with\n+\t\tthe\n+ pjsip:\n+ message technology prefix. For example:\n+ pjsip:PJSIP/8005551212@myprovider\n+ .\n+\t\tThe endpoint contact's URI will have the\n+ user\n+ inserted\n+\t\tinto it and will become the Request URI. If the contact URI already has\n+\t\ta user specified, it will be replaced.\n+ \n+ \n+ \n+ \n+ \n+ The\n+ from\n+ parameter is used to specity the\n+ From:\n+ header in the outgoing SIP MESSAGE. It will override the value specified in\n+\t\tMESSAGE(from) which itself will override any\n+ from\n+ value from\n+\t\tan incoming SIP MESSAGE.\n+ \n+ \n+ \n+ \n+ \n+ The\n+ to\n+ parameter is used to specity the\n+ To:\n+ header in the outgoing SIP MESSAGE. It will override the value specified in\n+\t\tMESSAGE(to) which itself will override any\n+ to\n+ value from\n+\t\tan incoming SIP MESSAGE.\n+ \n+ \n+ \n+ \n+ dahdi\n core\n \n- \n- res_ari\n- res_ari_model\n+ \n res_stasis\n- res_stasis_playback\n- core\n- \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n+ res_stasis_recording\n core\n \n- \n- crypto\n- curl\n- res_curl\n- core\n+ \n+ extended\n \n- \n- STIR/SHAKEN module for Asterisk\n- \n+ \n+ Resource for integration with Homer using HEPv3\n+ \n \n- STIR/SHAKEN general options\n- \n- Must be of type 'general'.\n- \n- \n- File path to the certificate authority certificate\n+ General settings.\n+ \n+ \n+ The\n+ general\n+ settings section contains information\n+\t\t\t\t\tto configure Asterisk as a Homer capture agent.\n+ \n+ \n+ \n+ Enable or disable packet capturing.\n+ \n+ \n+ \n+ \n+ \n+ \n \n- \n- File path to a chain of trust\n+ \n+ The preferred type of UUID to pass to Homer.\n+ \n+ \n+ \n+ Use the PJSIP Call-Id\n+ \n+ \n+ Use the Asterisk channel name\n+ \n+ \n+ \n \n- \n- Maximum size to use for caching public keys\n+ \n+ The address and port of the Homer server to send packets to.\n \n- \n- Maximum time to wait to CURL certificates\n+ \n+ If set, the authentication password to send to Homer.\n \n- \n- Amount of time a signature is valid for\n+ \n+ The ID for this capture agent.\n \n \n- \n- STIR/SHAKEN certificate store options\n- \n- Must be of type 'store'.\n- \n- \n- Path to a directory containing certificates\n+ \n+ \n+ \n+ corosync\n+ no\n+ extended\n+ \n+ \n+ pjproject\n+ res_pjproject\n+ res_pjsip\n+ core\n+ \n+ \n+ SIP resource for outbound publish\n+ \n+ \n+ Outbound Publish\n+ \n+ \n+ This module allows\n+ res_pjsip\n+ to publish to other SIP servers.\n+ \n+ \n+ \n+ \n+ The configuration for outbound publish\n+ \n+ \n+ Publish is\n+ COMPLETELY\n+ separate from the rest of\n+ pjsip.conf\n+ . A minimal configuration consists of\n+\t\t\t\t\tsetting a\n+ server_uri\n+ and\n+ event\n+ .\n+ \n+ \n+ \n+ Expiration time for publications in seconds\n \n- \n- URL to the public certificate(s)\n+ \n+ Authentication object(s) to be used for outbound publishes.\n \n- Must be a valid http, or https, URL. The URL must also contain the ${CERTIFICATE} variable, which is used for public key name substitution.\n-\t\t\t\t\t For example: http://mycompany.com/${CERTIFICATE}.pub\n+ \n+ This is a comma-delimited list of\n+ auth\n+ sections defined in\n+ pjsip.conf\n+ used to respond\n+\t\t\t\t\t\tto outbound authentication challenges.\n+ \n+ \n+ Using the same auth section for inbound and outbound\n+\t\t\t\t\t\tauthentication is not recommended. There is a difference in\n+\t\t\t\t\t\tmeaning for an empty realm setting between inbound and outbound\n+\t\t\t\t\t\tauthentication uses. See the auth realm description for details.\n+ \n \n \n- \n- \n- STIR/SHAKEN certificate options\n- \n- Must be of type 'certificate'.\n+ \n+ Full SIP URI of the outbound proxy used to send publishes\n \n- \n- File path to a certificate\n+ \n+ SIP URI of the server and entity to publish to\n+ \n+ This is the URI at which to find the entity and server to send the outbound PUBLISH to.\n+\t\t\t\t\t\tThis URI is used as the request URI of the outbound PUBLISH request from Asterisk.\n+ \n \n- \n- URL to the public certificate\n+ \n+ SIP URI to use in the From header\n \n- Must be a valid http, or https, URL.\n+ \n+ This is the URI that will be placed into the From header of outgoing PUBLISH\n+\t\t\t\t\t\tmessages. If no URI is specified then the URI provided in\n+ server_uri\n+ will be used.\n+ \n \n \n- \n- Attestation level\n+ \n+ SIP URI to use in the To header\n+ \n+ \n+ This is the URI that will be placed into the To header of outgoing PUBLISH\n+\t\t\t\t\t\tmessages. If no URI is specified then the URI provided in\n+ server_uri\n+ will be used.\n+ \n+ \n \n- \n- The caller ID number to match on.\n+ \n+ Event type of the PUBLISH.\n \n- \n- \n- STIR/SHAKEN profile configuration options\n- \n- Must be of type 'profile'.\n+ \n+ Maximum number of authentication attempts before stopping the publication.\n \n- \n- STIR/SHAKEN configuration settings\n+ \n+ Transport used for outbound publish\n \n- Attest, verify, or do both STIR/SHAKEN operations. On incoming\n-\t\t\t\t\t\tINVITEs, the Identity header will be checked for validity. On\n-\t\t\t\t\t\toutgoing INVITEs, an Identity header will be added.\n+ \n+ \n+ A\n+ transport\n+ configured in\n+ pjsip.conf\n+ . As with other\n+ res_pjsip\n+ modules, this will use the first available transport of the appropriate type if unconfigured.\n+ \n+ \n \n \n- \n- An existing ACL from acl.conf to use\n- \n- \n- An IP or subnet to permit\n+ \n+ Enable multi-user support\n+ \n+ When enabled the user portion of the server uri is replaced by a dynamically created user\n+ \n \n- \n- An IP or subnet to deny\n+ \n+ Must be of type 'outbound-publish'.\n \n \n \n \n- \n- Gets the number of STIR/SHAKEN results or a specific STIR/SHAKEN value from a result on the channel.\n- \n- \n- The index of the STIR/SHAKEN result to get. If only 'count' is passed in, gets the number of STIR/SHAKEN results instead.\n- \n- \n- The value to get from the STIR/SHAKEN result. Only used when an index is passed in (instead of 'count'). Allowable values:\n- \n- \n- \n- \n- \n- \n- \n- \n- This function will either return the number of STIR/SHAKEN identities, or return information on the specified identity.\n-\t\t\tTo get the number of identities, just pass 'count' as the only parameter to the function. If you want to get information on a\n-\t\t\tspecific STIR/SHAKEN identity, you can get the number of identities and then pass an index as the first parameter and one of\n-\t\t\tthe values you would like to retrieve as the second parameter.\n- same => n,NoOp(Number of STIR/SHAKEN identities: ${STIR_SHAKEN(count)})\n-\t\t\tsame => n,NoOp(Identity ${STIR_SHAKEN(0, identity)} has attestation level ${STIR_SHAKEN(0, attestation)})\n- \n- \n- \n+ \n+ core\n+ \n+ \n+ res_calendar\n+ neon\n+ ical\n+ iksemel\n extended\n \n- \n- Determine if the calendar is marked busy at this time.\n- \n- \n- \n- \n- Check the specified calendar's current busy status.\n- \n- \n- CALENDAR_EVENT\n- CALENDAR_QUERY\n- CALENDAR_QUERY_RESULT\n- CALENDAR_WRITE\n- \n- \n- \n- Get calendar event notification data from a notification call.\n- \n- \n- \n- \n- The VEVENT SUMMARY property or Exchange event 'subject'\n- \n- \n- The text description of the event\n- \n- \n- The organizer of the event\n- \n- \n- The location of the event\n- \n- \n- The categories of the event\n- \n- \n- The priority of the event\n- \n- \n- The name of the calendar associated with the event\n- \n- \n- The unique identifier for this event\n- \n- \n- The start time of the event\n- \n- \n- The end time of the event\n- \n- \n- The busy state of the event 0=FREE, 1=TENTATIVE, 2=BUSY\n- \n- \n- \n- \n- \n- Whenever a calendar event notification call is made, the event data\n-\t\t\tmay be accessed with this function.\n- \n- \n- CALENDAR_BUSY\n- CALENDAR_QUERY\n- CALENDAR_QUERY_RESULT\n- CALENDAR_WRITE\n- \n- \n- \n- Query a calendar server and store the data on a channel\n- \n- \n- The calendar that should be queried\n- \n- \n- The start time of the query (in seconds since epoch)\n- \n- \n- The end time of the query (in seconds since epoch)\n- \n- \n- \n- \n- Get a list of events in the currently accessible timeframe of the\n- calendar\n- The function returns the id for accessing the result with CALENDAR_QUERY_RESULT()\n- \n- \n- \n- CALENDAR_BUSY\n- CALENDAR_EVENT\n- CALENDAR_QUERY_RESULT\n- CALENDAR_WRITE\n- \n- \n- \n- Retrieve data from a previously run CALENDAR_QUERY() call\n- \n- \n- \n- The query ID returned by\n- CALENDAR_QUERY\n- \n- \n- \n- \n- \n- number of events occurring during time range\n- \n- \n- A summary of the event\n- \n- \n- The full event description\n- \n- \n- The event organizer\n- \n- \n- The event location\n- \n- \n- The categories of the event\n- \n- \n- The priority of the event\n- \n- \n- The name of the calendar associted with the event\n- \n- \n- The unique identifier for the event\n- \n- \n- The start time of the event (in seconds since epoch)\n- \n- \n- The end time of the event (in seconds since epoch)\n- \n- \n- The busy status of the event 0=FREE, 1=TENTATIVE, 2=BUSY\n- \n- \n- \n- \n- Return data from a specific event returned by the query\n- \n- \n- \n- \n- After running CALENDAR_QUERY and getting a result\n- id\n- , calling\n- CALENDAR_QUERY\n- with that\n- id\n- and a\n- field\n- will return the data for that field. If multiple events matched the query, and\n- entry\n- is provided, information from that event will be returned.\n- \n- \n- \n- CALENDAR_BUSY\n- CALENDAR_EVENT\n- CALENDAR_QUERY\n- CALENDAR_WRITE\n- \n- \n- \n- Write an event to a calendar\n- \n- \n- The calendar to write to\n- \n- \n- \n- \n- A summary of the event\n- \n- \n- The full event description\n- \n- \n- The event organizer\n- \n- \n- The event location\n- \n- \n- The categories of the event\n- \n- \n- The priority of the event\n- \n- \n- The unique identifier for the event\n- \n- \n- The start time of the event (in seconds since epoch)\n- \n- \n- The end time of the event (in seconds since epoch)\n- \n- \n- The busy status of the event 0=FREE, 1=TENTATIVE, 2=BUSY\n- \n- \n- \n- \n- \n- same => n,Set(CALENDAR_WRITE(calendar,field1,field2,field3)=val1,val2,val3)\n- The field and value arguments can easily be set/passed using the HASHKEYS() and HASH() functions\n- \n- \n- The status of the write operation to the calendar\n- The event was successfully written to the calendar.\n- The event was not written to the calendar due to network issues, permissions, etc.\n- \n- \n- \n- \n- CALENDAR_BUSY\n- CALENDAR_EVENT\n- CALENDAR_QUERY\n- CALENDAR_QUERY_RESULT\n- \n- \n- \n+ \n+ generic_odbc\n+ res_odbc_transaction\n+ core\n+ \n+ \n+ res_ari\n+ res_ari_model\n+ res_stasis\n+ res_stasis_recording\n+ core\n+ \n+ \n+ ldap\n extended\n \n- \n+ \n+ srtp\n+ openssl\n+ core\n+ \n+ \n+ core\n+ \n+ \n+ no\n+ extended\n+ 19\n+ 21\n+ \n+ \n pjproject\n res_pjsip\n- extended\n+ res_pjsip_session\n+ core\n \n- \n- res_calendar\n- neon\n- ical\n- libxml2\n- extended\n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n \n \n sqlite\n deprecated\n 16\n 19\n \n- \n- pjproject\n- res_pjsip\n- res_pjsip_pubsub\n+ \n core\n \n- \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n pjproject\n res_pjsip\n- res_pjsip_pubsub\n+ res_pjsip_session\n+ res_stir_shaken\n+ core\n+ \n+ \n+ res_stasis\n+ res_mwi_external\n core\n \n+ \n+ res_calendar\n+ neon\n+ ical\n+ libxml2\n+ extended\n+ \n+ \n+ res_calendar\n+ neon\n+ ical\n+ extended\n+ \n \n pjproject\n res_pjsip\n core\n \n \n Lists subscriptions.\n@@ -30180,506 +29990,840 @@\n \n \n Must be of type 'inbound-publication'.\n \n \n \n \n- \n- corosync\n- no\n- extended\n+ \n+ deprecated\n \n- \n+ \n core\n \n- \n+ \n pjproject\n res_pjsip\n core\n \n- \n+ \n+ gmime\n core\n \n- \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_outbound_publish\n+ res_pjsip_pubsub\n core\n \n- \n- Expire (remove) an object from a sorcery memory cache.\n+ \n+ SIP resource for inbound and outbound Asterisk event publications\n+ \n+ \n+ Inbound and outbound Asterisk event publication\n+ \n+ \n+ This module allows\n+ res_pjsip\n+ to send and receive Asterisk event publications.\n+ \n+ \n+ \n+ \n+ The configuration for inbound Asterisk event publication\n+ \n+ \n+ Publish is\n+ COMPLETELY\n+ separate from the rest of\n+ pjsip.conf\n+ .\n+ \n+ \n+ \n+ Optional name of a publish item that can be used to publish a request for full device state information.\n+ \n+ \n+ Optional name of a publish item that can be used to publish a request for full mailbox state information.\n+ \n+ \n+ Whether we should permit incoming device state events.\n+ \n+ \n+ Optional regular expression used to filter what devices we accept events for.\n+ \n+ \n+ Whether we should permit incoming mailbox state events.\n+ \n+ \n+ Optional regular expression used to filter what mailboxes we accept events for.\n+ \n+ \n+ Must be of type 'asterisk-publication'.\n+ \n+ \n+ \n+ \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_pubsub\n+ core\n+ \n+ \n+ extended\n+ \n+ \n+ Retrieve an SMDI message.\n \n- \n- \n- The name of the cache to expire the object from.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Instead of searching on the forwarding station, search on the message desk terminal.\n+ \n+ \n+ Instead of searching on the forwarding station, search on the message desk number.\n+ \n+ \n \n- \n- The name of the object to expire.\n+ \n+ \n+ This function is used to retrieve an incoming SMDI message. It returns\n+\t\t\tan ID which can be used with the SMDI_MSG() function to access details of\n+\t\t\tthe message. Note that this is a destructive function in the sense that\n+\t\t\tonce an SMDI message is retrieved using this function, it is no longer in\n+\t\t\tthe global SMDI message queue, and can not be accessed by any other Asterisk\n+\t\t\tchannels. The timeout for this function is optional, and the default is\n+\t\t\t3 seconds. When providing a timeout, it should be in milliseconds.\n+ The default search is done on the forwarding station ID. However, if\n+\t\t\tyou set one of the search key options in the options field, you can change\n+\t\t\tthis behavior.\n+ \n+ \n+ SMDI_MSG\n+ \n+ \n+ \n+ Retrieve details about an SMDI message.\n+ \n+ \n+ \n+ Valid message components are:\n+ \n+ \n+ The message desk number\n+ \n+ \n+ The message desk terminal\n+ \n+ \n+ The forwarding station\n+ \n+ \n+ The callerID of the calling party that was forwarded\n+ \n+ \n+ The call type. The value here is the exact character\n+\t\t\t\t\t\tthat came in on the SMDI link. Typically, example values\n+\t\t\t\t\t\tare:\n+ Options:\n+ \n+ \n+ Direct Calls\n+ \n+ \n+ Forward All Calls\n+ \n+ \n+ Forward Busy Calls\n+ \n+ \n+ Forward No Answer Calls\n+ \n+ \n+ \n+ \n \n \n \n- Expires (removes) an object from a sorcery memory cache. If full backend caching is enabled\n-\t\t\tthis action is not available and will fail. In this case the SorceryMemoryCachePopulate or\n-\t\t\tSorceryMemoryCacheExpire AMI actions must be used instead.\n+ This function is used to access details of an SMDI message that was\n+\t\t\tpulled from the incoming SMDI message queue using the SMDI_MSG_RETRIEVE()\n+\t\t\tfunction.\n \n- \n- \n- Expire (remove) ALL objects from a sorcery memory cache.\n+ \n+ SMDI_MSG_RETRIEVE\n+ \n+ \n+ \n+ res_ari\n+ res_ari_model\n+ res_stasis\n+ res_stasis_answer\n+ res_stasis_playback\n+ res_stasis_recording\n+ res_stasis_snoop\n+ core\n+ \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_pubsub\n+ core\n+ \n+ \n+ func_periodic_hook\n+ deprecated\n+ app_mixmonitor\n+ 16\n+ 21\n+ \n+ \n+ Monitor a channel.\n \n- \n- \n- The name of the cache to expire all objects from.\n+ \n+ \n+ \n+ Optional. If not set, defaults to\n+ wav\n+ \n+ \n+ \n+ \n+ \n+ If set, changes the filename used to the one specified.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n \n \n- Expires (removes) ALL objects from a sorcery memory cache.\n+ Used to start monitoring a channel. The channel's input and output\n+\t\t\tvoice packets are logged to files until the channel hangs up or\n+\t\t\tmonitoring is stopped by the StopMonitor application.\n+ \n+ By default, files are stored to\n+ /var/spool/asterisk/monitor/\n+ .\n+\t\t\tReturns\n+ -1\n+ if monitor files can't be opened or if the channel is\n+\t\t\talready monitored, otherwise\n+ 0\n+ .\n+ \n \n- \n- \n- Mark an object in a sorcery memory cache as stale.\n+ \n+ StopMonitor\n+ \n+ \n+ \n+ Stop monitoring a channel.\n+ \n+ \n+ Stops monitoring a channel. Has no effect if the channel is not monitored.\n+ \n+ \n+ \n+ Change monitoring filename of a channel.\n+ \n+ \n+ The new filename base to use for monitoring this channel.\n+ \n+ \n+ \n+ Changes monitoring filename of a channel. Has no effect if the\n+\t\t\tchannel is not monitored.\n+ \n+ \n+ \n+ Pause monitoring of a channel.\n+ \n+ \n+ Pauses monitoring of a channel until it is re-enabled by a call to UnpauseMonitor.\n+ \n+ \n+ UnpauseMonitor\n+ \n+ \n+ \n+ Unpause monitoring of a channel.\n+ \n+ \n+ Unpauses monitoring of a channel on which monitoring had\n+\t\t\tpreviously been paused with PauseMonitor.\n+ \n+ \n+ PauseMonitor\n+ \n+ \n+ \n+ Monitor a channel.\n \n \n- \n- The name of the cache to mark the object as stale in.\n+ \n+ Used to specify the channel to record.\n \n- \n- The name of the object to mark as stale.\n+ \n+ Is the name of the file created in the monitor spool directory.\n+\t\t\t\tDefaults to the same name as the channel (with slashes replaced with dashes).\n \n- \n- If true, then immediately reload the object from the backend cache instead of waiting for the next retrieval\n+ \n+ \n+ Is the audio recording format. Defaults to\n+ wav\n+ .\n+ \n+ \n+ \n+ Boolean parameter as to whether to mix the input and output channels\n+\t\t\t\ttogether after the recording is finished.\n \n \n \n- Marks an object as stale within a sorcery memory cache.\n+ This action may be used to record the audio on a\n+\t\t\tspecified channel.\n \n \n- \n- Marks ALL objects in a sorcery memory cache as stale.\n+ \n+ Stop monitoring a channel.\n \n \n- \n- The name of the cache to mark all object as stale in.\n+ \n+ The name of the channel monitored.\n \n \n \n- Marks ALL objects in a sorcery memory cache as stale.\n+ This action may be used to end a previously started 'Monitor' action.\n \n \n- \n- Expire all objects from a memory cache and populate it with all objects from the backend.\n+ \n+ Change monitoring filename of a channel.\n \n \n- \n- The name of the cache to populate.\n+ \n+ Used to specify the channel to record.\n+ \n+ \n+ Is the new name of the file created in the\n+\t\t\t\tmonitor spool directory.\n \n \n \n- Expires all objects from a memory cache and populate it with all objects from the backend.\n+ This action may be used to change the file\n+\t\t\tstarted by a previous 'Monitor' action.\n \n \n- \n- no\n- core\n- \n- \n- Core external MWI support\n- \n- \n- Persistent cache of external MWI Mailboxs.\n- \n- Allows the alteration of sorcery backend mapping for\n-\t\t\t\t\tthe persistent cache of external MWI mailboxes.\n- \n- \n- \n- \n- \n- win32\n- core\n- \n- \n- Play Music On Hold indefinitely.\n+ \n+ Pause monitoring of a channel.\n \n- \n- \n+ \n+ \n+ Used to specify the channel to record.\n+ \n \n \n- \n- Plays hold music specified by class. If omitted, the default music\n-\t\t\tsource for the channel will be used. Change the default class with\n-\t\t\tSet(CHANNEL(musicclass)=...). If duration is given, hold music will be played\n-\t\t\tspecified number of seconds. If duration is omitted, music plays indefinitely.\n-\t\t\tReturns\n- 0\n- when done,\n- -1\n- on hangup.\n- \n- This application does not automatically answer and should be preceeded by\n-\t\t\tan application such as Answer() or Progress().\n+ This action may be used to temporarily stop the\n+\t\t\trecording of a channel.\n \n- \n- \n- Play Music On Hold.\n+ \n+ \n+ Unpause monitoring of a channel.\n \n- \n+ \n+ \n+ Used to specify the channel to record.\n+ \n \n \n- \n- Starts playing music on hold, uses default music class for channel.\n-\t\t\tStarts playing music specified by class. If omitted, the default music\n-\t\t\tsource for the channel will be used. Always returns\n- 0\n- .\n- \n- \n- \n- \n- Stop playing Music On Hold.\n- \n- \n- Stops playing music on hold.\n+ This action may be used to re-enable recording\n+\t\t\tof a channel after calling PauseMonitor.\n \n- \n- \n- res_odbc\n- generic_odbc\n+ \n+ \n+ core\n+ \n+ \n+ res_ari\n+ res_ari_model\n+ res_stasis\n core\n \n \n curl\n core\n \n- \n- extended\n+ \n+ pjproject\n+ res_pjsip\n+ core\n+ \n+ \n+ core\n \n+ \n+ List the current known device states.\n+ \n+ \n+ \n+ \n+ \n+ This will list out all known device states in a\n+\t\t\tsequence of\n+ DeviceStateChange\n+ events.\n+\t\t\tWhen finished, a\n+ DeviceStateListComplete\n+ event\n+\t\t\twill be emitted.\n+ \n+ \n+ \n+ DeviceStateChange\n+ DEVICE_STATE\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Indicates the end of the list the current known extension states.\n+ \n+ \n+ Conveys the status of the event list.\n+ \n+ \n+ Conveys the number of statuses reported.\n+ \n+ \n+ \n+ \n+ \n+ \n \n res_ari\n res_ari_model\n res_stasis\n res_http_websocket\n core\n \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n+ \n+ spandsp\n+ res_fax\n+ extended\n+ \n+ \n+ pgsql\n+ extended\n+ \n+ \n+ res_calendar\n+ neon29\n+ extended\n+ \n+ \n+ curl\n+ res_curl\n core\n \n- \n+ \n extended\n \n- \n- StatsD client\n+ \n+ \n+ 16.21.0\n+ 18.7.0\n+ 19.0.0\n+ \n+ Wait for tone\n+ \n+ \n+ Frequency of the tone to wait for.\n+ \n+ \n+ Minimum duration of tone, in ms. Default is 500ms.\n+\t\t\t\tUsing a minimum duration under 50ms is unlikely to produce\n+\t\t\t\taccurate results.\n+ \n+ \n+ Maximum amount of time, in seconds, to wait for specified tone.\n+\t\t\t\tDefault is forever.\n+ \n+ \n+ Number of times the tone should be detected (subject to the\n+\t\t\t\tprovided timeout) before returning. Default is 1.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n \n+ Waits for a single-frequency tone to be detected before dialplan execution continues.\n+ \n+ \n+ This indicates the result of the wait.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ PlayTones\n+ \n+ \n+ \n+ \n+ 16.23.0\n+ 18.9.0\n+ 19.1.0\n+ \n+ Wait for period of time while scanning for call progress tones\n+ \n+ \n+ Call progress zone. Default is the system default.\n+ \n+ \n+ Maximum amount of time, in seconds, to wait for call progress\n+\t\t\t\tor signal tones. Default is forever.\n+ \n+ \n+ DSP threshold required for a match. A higher number will\n+\t\t\t\trequire a longer match and may reduce false positives, at the\n+\t\t\t\texpense of false negatives. Default is 1.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Waits for a a distinguishable call progress tone and then exits.\n+\t\t\tUnlike a conventional scanner, this is not currently capable of\n+\t\t\tscanning for modem carriers.\n+ \n+ \n+ This indicates the result of the scan.\n+ Audible ringback tone\n+ Busy tone\n+ Special Information Tones\n+ Human voice detected\n+ DTMF digit\n+ Fax (answering)\n+ Modem (answering)\n+ Dial tone\n+ UK Number Unobtainable tone\n+ Timeout reached before any positive detection\n+ Caller hung up before any positive detection\n+ \n+ \n+ \n+ \n+ WaitForTone\n+ \n+ \n+ \n+ \n+ 16.21.0\n+ 18.7.0\n+ 19.0.0\n+ \n+ Asynchronously detects a tone\n+ \n+ \n+ Frequency of the tone to detect. To disable frequency\n+\t\t\t\tdetection completely (e.g. for signal detection only),\n+\t\t\t\tspecify 0 for the frequency.\n+ \n+ \n+ Minimum duration of tone, in ms. Default is 500ms.\n+\t\t\t\tUsing a minimum duration under 50ms is unlikely to produce\n+\t\t\t\taccurate results.\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ The TONE_DETECT function detects a single-frequency tone and keeps\n+\t\t\ttrack of how many times the tone has been detected.\n \n- The\n- res_statsd\n- module provides an API that\n-\t\t\tallows Asterisk and its modules to send statistics to a StatsD\n-\t\t\tserver. It only provides a means to communicate with a StatsD server\n-\t\t\tand does not send any metrics of its own.\n- \n- \n- An example module,\n- res_chan_stats\n- , is\n-\t\t\tprovided which uses the API exposed by this module to send channel\n-\t\t\tstatistics to the configured StatsD server.\n+ When reading this function (instead of writing), supply\n+ tx\n+ to get the number of times a tone has been detected in the TX direction and\n+ rx\n+ to get the number of times a tone has been detected in the\n+\t\t\tRX direction.\n \n- More information about StatsD can be found at\n-\t\t\thttps://github.com/statsd/statsd\n+ same => n,Set(TONE_DETECT(2600,1000,g(got-2600,s,1))=) ; detect 2600 Hz\n+\t\t\tsame => n,Wait(15)\n+\t\t\tsame => n,NoOp(${TONE_DETECT(rx)})\n+ same => n,Set(TONE_DETECT(0,,bg(my-hangup,s,1))=) ; disconnect a call if we hear a busy signal\n+\t\t\tsame => n,Goto(somewhere-else)\n+\t\t\tsame => n(myhangup),Hangup()\n+ same => n,Set(TONE_DETECT(0,,x)=) ; remove the detector from the channel\n \n- \n- \n- Global configuration settings\n- \n- Enable/disable the StatsD module\n- \n- \n- Address of the StatsD server\n- \n- \n- Prefix to prepend to every metric\n- \n- \n- Append a newline to every event. This is useful if\n-\t\t\t\t\tyou want to fake out a server using netcat\n-\t\t\t\t\t(nc -lu 8125)\n- \n- \n- Enable/disable the non-standard StatsD Meter type,\n-\t\t\t\t\tif disabled falls back to counter and will append a "_meter" suffix to the metric name\n- \n- \n- \n- \n- \n+ \n+ \n pjproject\n- res_pjproject\n res_pjsip\n core\n \n- \n- SIP resource for outbound publish\n+ \n+ SIP ACL module\n \n \n- Outbound Publish\n+ ACL\n \n \n- This module allows\n+ The ACL module used by\n res_pjsip\n- to publish to other SIP servers.\n+ . This module is\n+\t\t\tindependent of\n+ endpoints\n+ and operates on all inbound\n+\t\t\tSIP communication using res_pjsip.\n+ \n+ \n+ There are two main ways of defining your ACL with the options\n+\t\t\tprovided. You can use the\n+ permit\n+ and\n+ deny\n+ options\n+\t\t\twhich act on\n+ IP\n+ addresses, or the\n+ contactpermit\n+ and\n+ contactdeny\n+ options which act on\n+ Contact header\n+ addresses in incoming REGISTER requests. You can combine the various options to\n+\t\t\tcreate a mixed ACL.\n+ \n+ \n+ Additionally, instead of defining an ACL with options, you can reference IP or\n+\t\t\tContact header ACLs from the file\n+ acl.conf\n+ by using the\n+ acl\n+ or\n+ contactacl\n+ options.\n \n \n \n- \n- The configuration for outbound publish\n- \n- \n- Publish is\n- COMPLETELY\n- separate from the rest of\n- pjsip.conf\n- . A minimal configuration consists of\n-\t\t\t\t\tsetting a\n- server_uri\n- and\n- event\n- .\n- \n- \n- \n- Expiration time for publications in seconds\n- \n- \n- Authentication object(s) to be used for outbound publishes.\n+ \n+ Access Control List\n+ \n+ List of IP ACL section names in acl.conf\n \n \n- This is a comma-delimited list of\n- auth\n- sections defined in\n- pjsip.conf\n- used to respond\n-\t\t\t\t\t\tto outbound authentication challenges.\n+ This matches sections configured in\n+ acl.conf\n+ . The value is\n+\t\t\t\t\t\tdefined as a list of comma-delimited section names.\n \n- \n- Using the same auth section for inbound and outbound\n-\t\t\t\t\t\tauthentication is not recommended. There is a difference in\n-\t\t\t\t\t\tmeaning for an empty realm setting between inbound and outbound\n-\t\t\t\t\t\tauthentication uses. See the auth realm description for details.\n- \n- \n- \n- \n- Full SIP URI of the outbound proxy used to send publishes\n- \n- \n- SIP URI of the server and entity to publish to\n- \n- This is the URI at which to find the entity and server to send the outbound PUBLISH to.\n-\t\t\t\t\t\tThis URI is used as the request URI of the outbound PUBLISH request from Asterisk.\n \n \n- \n- SIP URI to use in the From header\n+ \n+ List of Contact ACL section names in acl.conf\n \n \n- This is the URI that will be placed into the From header of outgoing PUBLISH\n-\t\t\t\t\t\tmessages. If no URI is specified then the URI provided in\n- server_uri\n- will be used.\n+ This matches sections configured in\n+ acl.conf\n+ . The value is\n+\t\t\t\t\t\tdefined as a list of comma-delimited section names.\n \n \n \n- \n- SIP URI to use in the To header\n+ \n+ List of Contact header addresses to deny\n \n- \n- This is the URI that will be placed into the To header of outgoing PUBLISH\n-\t\t\t\t\t\tmessages. If no URI is specified then the URI provided in\n- server_uri\n- will be used.\n- \n+ The value is a comma-delimited list of IP addresses. IP addresses may\n+\t\t\t\t\t\thave a subnet mask appended. The subnet mask may be written in either\n+\t\t\t\t\t\tCIDR or dotted-decimal notation. Separate the IP address and subnet\n+\t\t\t\t\t\tmask with a slash ('/')\n \n \n- \n- Event type of the PUBLISH.\n- \n- \n- Maximum number of authentication attempts before stopping the publication.\n- \n- \n- Transport used for outbound publish\n+ \n+ List of Contact header addresses to permit\n \n- \n- \n- A\n- transport\n- configured in\n- pjsip.conf\n- . As with other\n- res_pjsip\n- modules, this will use the first available transport of the appropriate type if unconfigured.\n- \n- \n+ The value is a comma-delimited list of IP addresses. IP addresses may\n+\t\t\t\t\t\thave a subnet mask appended. The subnet mask may be written in either\n+\t\t\t\t\t\tCIDR or dotted-decimal notation. Separate the IP address and subnet\n+\t\t\t\t\t\tmask with a slash ('/')\n \n \n- \n- Enable multi-user support\n+ \n+ List of IP addresses to deny access from\n \n- When enabled the user portion of the server uri is replaced by a dynamically created user\n+ The value is a comma-delimited list of IP addresses. IP addresses may\n+\t\t\t\t\t\thave a subnet mask appended. The subnet mask may be written in either\n+\t\t\t\t\t\tCIDR or dotted-decimal notation. Separate the IP address and subnet\n+\t\t\t\t\t\tmask with a slash ('/')\n \n \n- \n- Must be of type 'outbound-publish'.\n+ \n+ List of IP addresses to permit access from\n+ \n+ The value is a comma-delimited list of IP addresses. IP addresses may\n+\t\t\t\t\t\thave a subnet mask appended. The subnet mask may be written in either\n+\t\t\t\t\t\tCIDR or dotted-decimal notation. Separate the IP address and subnet\n+\t\t\t\t\t\tmask with a slash ('/')\n+ \n \n- \n- \n- \n- \n- pjproject\n- res_pjsip\n- res_phoneprov\n- extended\n- \n- \n- Module that integrates res_pjsip with res_phoneprov.\n- \n- \n- PJSIP Phoneprov Provider\n- \n- \n- This module creates the integration between\n- res_pjsip\n- and\n- res_phoneprov\n- .\n- \n- \n- Each user to be integrated requires a\n- phoneprov\n- section defined in\n- pjsip.conf\n- . Each section identifies\n-\t\t\tthe endpoint associated with the user and any other name/value pairs to be passed\n-\t\t\ton to res_phoneprov's template substitution. Only\n- MAC\n- and\n- PROFILE\n- variables are required. Any other variables\n-\t\t\tsupplied will be passed through.\n- \n- \n- Example:\n- [1000]\n- type = phoneprovr\n- endpoint = ep1000\n- MAC = deadbeef4dad\n- PROFILE = grandstream2\n- LINEKEYS = 2\n- LINE = 1\n- OTHERVAR = othervalue\n- \n- The following variables are automatically defined if an endpoint\n-\t\t\tis defined for the user:\n- \n- \n- Source: The user_name defined in the first auth reference\n-\t\t\t\tin the endpoint.\n- \n- \n- Source: The user_pass defined in the first auth reference\n-\t\t\t\tin the endpoint.\n- \n- \n- Source: The number part of the callerid defined in\n-\t\t\t\tthe endpoint.\n- \n- \n- Source: The name part of the callerid defined in\n-\t\t\t\tthe endpoint.\n- \n- \n- Source: The id of the phoneprov section.\n- \n- \n- \n- In addition to the standard variables, the following are also automatically defined:\n- \n- \n- Source: The id of the endpoint.\n- \n- \n- Source: The id of the transport used by the endpoint.\n- \n- \n- Source: The id of the auth used by the endpoint.\n- \n- \n- \n- All other template substitution variables must be explicitly defined in the\n-\t\t\tphoneprov_default or phoneprov sections.\n- \n- \n- \n- Provides variables for each user.\n \n- Must be of type 'phoneprov'.\n- \n- \n- The endpoint from which variables will be retrieved.\n- \n- \n- The mac address for this user. (required)\n- \n- \n- The phoneprov profile to use for this user. (required)\n- \n- \n- Other name/value pairs to be passed through for use in templates.\n+ Must be of type 'acl'.\n \n \n \n \n- \n- deprecated\n- \n- \n- res_ari\n- res_ari_model\n- res_stasis\n- res_stasis_device_state\n- core\n- \n- \n- sqlite3\n- core\n- \n- \n- res_calendar\n- neon\n- ical\n+ \n+ res_statsd\n+ no\n extended\n \n- \n- core\n- \n- \n- res_calendar\n- neon29\n+ \n+ res_statsd\n+ no\n extended\n \n- \n- core\n- \n- \n- core\n- \n- \n- core\n- \n \n pjproject\n res_pjsip\n core\n \n \n Module that provides simple configuration wizard capabilities.\n@@ -30962,254 +31106,462 @@\n \n To activate phoneprov, at least phoneprov/MAC must be set.\n \n \n \n \n \n- \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_session\n core\n \n- \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_session\n core\n \n- \n- extended\n+ \n+ core\n \n- \n- Execute specified template for each extension.\n+ \n+ TEST_FRAMEWORK\n+ core\n+ \n+ \n+ win32\n+ core\n+ \n+ \n+ Play Music On Hold indefinitely.\n \n- \n- \n+ \n+ \n \n \n- Output the specified template for each extension associated with the specified MAC address.\n+ \n+ Plays hold music specified by class. If omitted, the default music\n+\t\t\tsource for the channel will be used. Change the default class with\n+\t\t\tSet(CHANNEL(musicclass)=...). If duration is given, hold music will be played\n+\t\t\tspecified number of seconds. If duration is omitted, music plays indefinitely.\n+\t\t\tReturns\n+ 0\n+ when done,\n+ -1\n+ on hangup.\n+ \n+ This application does not automatically answer and should be preceeded by\n+\t\t\tan application such as Answer() or Progress().\n \n- \n- \n- Generate a string for each phoneprov user.\n+ \n+ \n+ Play Music On Hold.\n \n- \n- \n+ \n \n \n \n- Pass in a string, with phoneprov variables you want substituted in the format of\n-\t\t\t%{VARNAME}, and you will get the string rendered for each user in phoneprov\n-\t\t\texcluding ones with MAC address\n- exclude_mac\n- . Probably not\n-\t\t\tuseful outside of res_phoneprov.\n+ Starts playing music on hold, uses default music class for channel.\n+\t\t\tStarts playing music specified by class. If omitted, the default music\n+\t\t\tsource for the channel will be used. Always returns\n+ 0\n+ .\n \n- Example: ${PP_EACH_USER(<item><fn>%{DISPLAY_NAME}</fn></item>|${MAC})\n \n- \n- \n+ \n+ \n+ Stop playing Music On Hold.\n+ \n+ \n+ Stops playing music on hold.\n+ \n+ \n+ \n pjproject\n res_pjsip\n core\n \n- \n- SIP ACL module\n+ \n+ Send a NOTIFY to either an endpoint, an arbitrary URI, or inside a SIP dialog.\n+ \n+ \n+ \n+ The endpoint to which to send the NOTIFY.\n+ \n+ \n+ Abritrary URI to which to send the NOTIFY.\n+ \n+ \n+ Channel name to send the NOTIFY. Must be a PJSIP channel.\n+ \n+ \n+ \n+ Appends variables as headers/content to the NOTIFY. If the variable is\n+\t\t\t\tnamed\n+ Content\n+ , then the value will compose the body\n+\t\t\t\tof the message if another variable sets\n+ Content-Type\n+ .\n+ name\n+ =\n+ value\n+ \n+ \n+ \n \n+ Sends a NOTIFY to an endpoint, an arbitrary URI, or inside a SIP dialog.\n \n- ACL\n- \n- \n- The ACL module used by\n- res_pjsip\n- . This module is\n-\t\t\tindependent of\n- endpoints\n- and operates on all inbound\n-\t\t\tSIP communication using res_pjsip.\n+ All parameters for this event must be specified in the body of this\n+\t\t\trequest\tvia multiple\n+ Variable: name=value\n+ sequences.\n \n+ \n+ \n+ One (and only one) of\n+ Endpoint\n+ ,\n+ URI\n+ , or\n+ Channel\n+ must be specified.\n+\t\t\tIf\n+ URI\n+ is used, the default outbound endpoint will be used\n+\t\t\tto send the message. If the default outbound endpoint isn't configured, this command\n+\t\t\tcan not send to an arbitrary URI.\n+ \n+ \n+ \n+ \n+ \n+ Module that supports sending NOTIFY requests to endpoints from external sources\n+ \n+ \n+ Unused, but reserved.\n+ \n+ \n+ Configuration of a NOTIFY request.\n+ \n+ \n+ Each key-value pair in a\n+ notify\n+ configuration section defines either a SIP header to send\n+\t\t\t\t\tin the request or a line of content in the request message\n+\t\t\t\t\tbody. A key of\n+ Content\n+ is treated\n+\t\t\t\t\tas part of the message body and is appended in sequential\n+\t\t\t\t\torder; any other header is treated as part of the SIP\n+\t\t\t\t\trequest.\n+ \n+ \n+ \n+ A key/value pair to add to a NOTIFY request.\n+ \n+ \n+ If the key is\n+ Content\n+ ,\n+\t\t\t\t\t\tit will be treated as part of the message body. Otherwise,\n+\t\t\t\t\t\tit will be added as a header in the NOTIFY request.\n+ \n+ The following headers are reserved and cannot be\n+\t\t\t\t\t\tspecified:\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ core\n+ \n+ \n+ timerfd\n+ core\n+ \n+ \n+ extended\n+ \n+ \n+ res_ari\n+ res_ari_model\n+ res_stasis\n+ res_stasis_playback\n+ core\n+ \n+ \n+ pjproject\n+ res_pjsip\n+ core\n+ \n+ \n+ pjproject\n+ res_pjsip\n+ res_http_websocket\n+ core\n+ \n+ \n+ pjproject\n+ res_pjsip\n+ res_statsd\n+ core\n+ \n+ \n+ SIP resource for outbound registrations\n+ \n \n- There are two main ways of defining your ACL with the options\n-\t\t\tprovided. You can use the\n- permit\n- and\n- deny\n- options\n-\t\t\twhich act on\n- IP\n- addresses, or the\n- contactpermit\n- and\n- contactdeny\n- options which act on\n- Contact header\n- addresses in incoming REGISTER requests. You can combine the various options to\n-\t\t\tcreate a mixed ACL.\n+ Outbound Registration\n \n \n- Additionally, instead of defining an ACL with options, you can reference IP or\n-\t\t\tContact header ACLs from the file\n- acl.conf\n- by using the\n- acl\n- or\n- contactacl\n- options.\n+ This module allows\n+ res_pjsip\n+ to register to other SIP servers.\n \n \n \n- \n- Access Control List\n- \n- List of IP ACL section names in acl.conf\n+ \n+ The configuration for outbound registration\n+ \n+ \n+ Registration is\n+ COMPLETELY\n+ separate from the rest of\n+ pjsip.conf\n+ . A minimal configuration consists of\n+\t\t\t\t\tsetting a\n+ server_uri\n+ and a\n+ client_uri\n+ .\n+ \n+ \n+ \n+ Determines whether failed authentication challenges are treated\n+\t\t\t\t\tas permanent failures.\n+ \n+ If this option is enabled and an authentication challenge fails,\n+\t\t\t\t\tregistration will not be attempted again until the configuration is reloaded.\n+ \n+ \n+ \n+ Client SIP URI used when attemping outbound registration\n+ \n+ This is the address-of-record for the outbound registration (i.e. the URI in\n+\t\t\t\t\t\tthe To header of the REGISTER).\n+ For registration with an ITSP, the client SIP URI may need to consist of\n+\t\t\t\t\t\tan account name or number and the provider's hostname for their registrar, e.g.\n+\t\t\t\t\t\tclient_uri=1234567890@example.com. This may differ between providers.\n+ For registration to generic registrars, the client SIP URI will depend\n+\t\t\t\t\t\ton networking specifics and configuration of the registrar.\n+ \n+ \n+ \n+ Contact User to use in request\n+ \n+ \n+ Expiration time for registrations in seconds\n+ \n+ \n+ Maximum number of registration attempts.\n+ \n+ This sets the maximum number of registration attempts that are made before\n+\t\t\t\t\t\tstopping any further attempts. If set to 0 then upon failure no further attempts\n+\t\t\t\t\t\tare made.\n+ \n+ \n+ \n+ Authentication object(s) to be used for outbound registrations.\n \n \n- This matches sections configured in\n- acl.conf\n- . The value is\n-\t\t\t\t\t\tdefined as a list of comma-delimited section names.\n+ This is a comma-delimited list of\n+ auth\n+ sections defined in\n+ pjsip.conf\n+ used to respond\n+\t\t\t\t\t\tto outbound authentication challenges.\n \n+ \n+ Using the same auth section for inbound and outbound\n+\t\t\t\t\t\tauthentication is not recommended. There is a difference in\n+\t\t\t\t\t\tmeaning for an empty realm setting between inbound and outbound\n+\t\t\t\t\t\tauthentication uses. See the auth realm description for details.\n+ \n \n \n- \n- List of Contact ACL section names in acl.conf\n+ \n+ Full SIP URI of the outbound proxy used to send registrations\n+ \n+ \n+ Maximum interval in seconds for which an initial registration may be randomly delayed\n+ \n+ By default, registrations are randomly delayed by a small amount to prevent\n+\t\t\t\t\t\ttoo many registrations from being made simultaneously.\n+ Depending on your system usage, it may be desirable to set this to a smaller\n+\t\t\t\t\t\tor larger value to have fine grained control over the size of this random delay.\n+ \n+ \n+ \n+ Interval in seconds between retries if outbound registration is unsuccessful\n+ \n+ \n+ Interval used when receiving a 403 Forbidden response.\n \n \n- This matches sections configured in\n- acl.conf\n- . The value is\n-\t\t\t\t\t\tdefined as a list of comma-delimited section names.\n+ If a 403 Forbidden is received, chan_pjsip will wait\n+ forbidden_retry_interval\n+ seconds before\n+\t\t\t\t\t\tattempting registration again. If 0 is specified, chan_pjsip will not\n+\t\t\t\t\t\tretry after receiving a 403 Forbidden response. Setting this to a non-zero\n+\t\t\t\t\t\tvalue goes against a "SHOULD NOT" in RFC3261, but can be used to work around\n+\t\t\t\t\t\tbuggy registrars.\n \n \n \n- \n- List of Contact header addresses to deny\n+ \n+ Interval used when receiving a Fatal response.\n \n- The value is a comma-delimited list of IP addresses. IP addresses may\n-\t\t\t\t\t\thave a subnet mask appended. The subnet mask may be written in either\n-\t\t\t\t\t\tCIDR or dotted-decimal notation. Separate the IP address and subnet\n-\t\t\t\t\t\tmask with a slash ('/')\n+ \n+ If a fatal response is received, chan_pjsip will wait\n+ fatal_retry_interval\n+ seconds before\n+\t\t\t\t\t\tattempting registration again. If 0 is specified, chan_pjsip will not\n+\t\t\t\t\t\tretry after receiving a fatal (non-temporary 4xx, 5xx, 6xx) response.\n+\t\t\t\t\t\tSetting this to a non-zero value may go against a "SHOULD NOT" in RFC3261,\n+\t\t\t\t\t\tbut can be used to work around buggy registrars.\n+ \n+ \n+ \n+ if also set the\n+ forbidden_retry_interval\n+ takes precedence over this one when a 403 is received.\n+\t\t\t\t\t\tAlso, if\n+ auth_rejection_permanent\n+ equals 'yes' then\n+\t\t\t\t\t\ta 401 and 407 become subject to this retry interval.\n+ \n+ \n \n \n- \n- List of Contact header addresses to permit\n+ \n+ SIP URI of the server to register against\n \n- The value is a comma-delimited list of IP addresses. IP addresses may\n-\t\t\t\t\t\thave a subnet mask appended. The subnet mask may be written in either\n-\t\t\t\t\t\tCIDR or dotted-decimal notation. Separate the IP address and subnet\n-\t\t\t\t\t\tmask with a slash ('/')\n+ This is the URI at which to find the registrar to send the outbound REGISTER. This URI\n+\t\t\t\t\t\tis used as the request URI of the outbound REGISTER request from Asterisk.\n+ For registration with an ITSP, the setting may often be just the domain of\n+\t\t\t\t\t\tthe registrar, e.g. sip:sip.example.com.\n \n \n- \n- List of IP addresses to deny access from\n+ \n+ Transport used for outbound authentication\n \n- The value is a comma-delimited list of IP addresses. IP addresses may\n-\t\t\t\t\t\thave a subnet mask appended. The subnet mask may be written in either\n-\t\t\t\t\t\tCIDR or dotted-decimal notation. Separate the IP address and subnet\n-\t\t\t\t\t\tmask with a slash ('/')\n+ \n+ \n+ A\n+ transport\n+ configured in\n+ pjsip.conf\n+ . As with other\n+ res_pjsip\n+ modules, this will use the first available transport of the appropriate type if unconfigured.\n+ \n+ \n \n \n- \n- List of IP addresses to permit access from\n+ \n+ Whether to add a 'line' parameter to the Contact for inbound call matching\n \n- The value is a comma-delimited list of IP addresses. IP addresses may\n-\t\t\t\t\t\thave a subnet mask appended. The subnet mask may be written in either\n-\t\t\t\t\t\tCIDR or dotted-decimal notation. Separate the IP address and subnet\n-\t\t\t\t\t\tmask with a slash ('/')\n+ When enabled this option will cause a 'line' parameter to be added to the Contact\n+\t\t\t\t\t\theader placed into the outgoing registration request. If the remote server sends a call\n+\t\t\t\t\t\tthis line parameter will be used to establish a relationship to the outbound registration,\n+\t\t\t\t\t\tultimately causing the configured endpoint to be used.\n+ \n+ \n+ \n+ Endpoint to use for incoming related calls\n+ \n+ When line support is enabled this configured endpoint name is used for incoming calls\n+\t\t\t\t\t\tthat are related to the outbound registration.\n \n \n \n- Must be of type 'acl'.\n+ Must be of type 'registration'.\n+ \n+ \n+ Enables Path support for outbound REGISTER requests.\n+ \n+ When this option is enabled, outbound REGISTER requests will advertise\n+\t\t\t\t\t\tsupport for Path headers so that intervening proxies can add to the Path\n+\t\t\t\t\t\theader as necessary.\n+ \n \n \n \n \n- \n- extended\n- \n- \n- Retrieve an SMDI message.\n+ \n+ Unregister an outbound registration.\n \n- \n- \n- \n- \n- \n- \n- Instead of searching on the forwarding station, search on the message desk terminal.\n- \n- \n- Instead of searching on the forwarding station, search on the message desk number.\n- \n- \n+ \n+ \n+ The outbound registration to unregister or '*all' to unregister them all.\n \n \n \n- This function is used to retrieve an incoming SMDI message. It returns\n-\t\t\tan ID which can be used with the SMDI_MSG() function to access details of\n-\t\t\tthe message. Note that this is a destructive function in the sense that\n-\t\t\tonce an SMDI message is retrieved using this function, it is no longer in\n-\t\t\tthe global SMDI message queue, and can not be accessed by any other Asterisk\n-\t\t\tchannels. The timeout for this function is optional, and the default is\n-\t\t\t3 seconds. When providing a timeout, it should be in milliseconds.\n- The default search is done on the forwarding station ID. However, if\n-\t\t\tyou set one of the search key options in the options field, you can change\n-\t\t\tthis behavior.\n+ Unregisters the specified (or all) outbound registration(s) and stops future registration attempts.\n+\t\t\tCall PJSIPRegister to start registration and schedule re-registrations according to configuration.\n \n- \n- SMDI_MSG\n- \n- \n- \n- Retrieve details about an SMDI message.\n+ \n+ \n+ Register an outbound registration.\n \n- \n- \n- Valid message components are:\n- \n- \n- The message desk number\n- \n- \n- The message desk terminal\n- \n- \n- The forwarding station\n- \n- \n- The callerID of the calling party that was forwarded\n- \n- \n- The call type. The value here is the exact character\n-\t\t\t\t\t\tthat came in on the SMDI link. Typically, example values\n-\t\t\t\t\t\tare:\n- Options:\n- \n- \n- Direct Calls\n- \n- \n- Forward All Calls\n- \n- \n- Forward Busy Calls\n- \n- \n- Forward No Answer Calls\n- \n- \n- \n- \n+ \n+ \n+ The outbound registration to register or '*all' to register them all.\n \n \n \n- This function is used to access details of an SMDI message that was\n-\t\t\tpulled from the incoming SMDI message queue using the SMDI_MSG_RETRIEVE()\n-\t\t\tfunction.\n+ Unregisters the specified (or all) outbound registration(s) then starts registration and schedules re-registrations\n+\t\t\taccording to configuration.\n \n- \n- SMDI_MSG_RETRIEVE\n- \n- \n+ \n+ \n+ Lists PJSIP outbound registrations.\n+ \n+ \n+ \n+ In response\n+ OutboundRegistrationDetail\n+ events showing configuration and status\n+\t\t\tinformation are raised for each outbound registration object.\n+ AuthDetail\n+ events are raised for each associated auth object as well. Once all events are completed an\n+ OutboundRegistrationDetailComplete\n+ is issued.\n+ \n+ \n+ \n+ \n+ func_curl\n+ res_curl\n+ curl\n+ core\n+ \n \n res_speech\n core\n \n \n Answer channel\n \n@@ -32755,143 +33107,674 @@\n \n \n AGIExecStart\n AGI\n \n \n \n- \n- curl\n- res_curl\n+ \n+ res_ari\n+ res_ari_model\n+ res_stasis\n+ res_stasis_device_state\n core\n \n- \n- extended\n- \n- \n- res_stasis\n+ \n core\n \n- \n+ \n pjproject\n res_pjsip\n- res_pjsip_pubsub\n- core\n+ extended\n \n- \n- TEST_FRAMEWORK\n+ \n+ iksemel\n+ openssl\n core\n \n+ \n+ Sends an XMPP message to a buddy.\n+ \n+ \n+ The local named account to listen on (specified in\n+\t\t\t\txmpp.conf)\n+ \n+ \n+ Jabber ID of the buddy to send the message to. It can be a\n+\t\t\t\tbare JID (username@domain) or a full JID (username@domain/resource).\n+ \n+ \n+ The message to send.\n+ \n+ \n+ \n+ \n+ Sends the content of\n+ message\n+ as text message\n+\t\t\tfrom the given\n+ account\n+ to the buddy identified by\n+ jid\n+ \n+ \n+ The example below sends "Hello world" to\n+ bob@domain.com\n+ as an XMPP message from the account\n+ asterisk\n+ , configured in xmpp.conf.\n+ \n+ same => n,JabberSend(asterisk,bob@domain.com,Hello world)\n+ \n+ \n+ JABBER_STATUS\n+ JABBER_RECEIVE\n+ \n+ \n+ \n+ Reads XMPP messages.\n+ \n+ \n+ The local named account to listen on (specified in\n+\t\t\t\txmpp.conf)\n+ \n+ \n+ Jabber ID of the buddy to receive message from. It can be a\n+\t\t\t\tbare JID (username@domain) or a full JID (username@domain/resource).\n+ \n+ \n+ \n+ In seconds, defaults to\n+ 20\n+ .\n+ \n+ \n+ \n+ \n+ \n+ Receives a text message on the given\n+ account\n+ from the buddy identified by\n+ jid\n+ and returns the contents.\n+ \n+ \n+ The example below returns an XMPP message sent from\n+ bob@domain.com\n+ (or nothing in case of a time out), to\n+\t\t\tthe\n+ asterisk\n+ XMPP account configured in xmpp.conf.\n+ \n+ same => n,Set(msg=${JABBER_RECEIVE(asterisk,bob@domain.com)})\n+ \n+ \n+ JABBER_STATUS\n+ JabberSend\n+ \n+ \n+ \n+ Retrieves a buddy's status.\n+ \n+ \n+ The local named account to listen on (specified in\n+\t\t\t\txmpp.conf)\n+ \n+ \n+ Jabber ID of the buddy to receive message from. It can be a\n+\t\t\t\tbare JID (username@domain) or a full JID (username@domain/resource).\n+ \n+ \n+ \n+ \n+ Retrieves the numeric status associated with the buddy identified\n+\t\t\tby\n+ jid\n+ .\n+\t\t\tIf the buddy does not exist in the buddylist, returns 7.\n+ \n+ Status will be 1-7.\n+ 1=Online, 2=Chatty, 3=Away, 4=XAway, 5=DND, 6=Offline\n+ If not in roster variable will be set to 7.\n+ \n+ Example: ${JABBER_STATUS(asterisk,bob@domain.com)} returns 1 if\n+ bob@domain.com\n+ is online.\n+ asterisk\n+ is\n+\t\t\tthe associated XMPP account configured in xmpp.conf.\n+ \n+ \n+ \n+ JABBER_RECEIVE\n+ JabberSend\n+ \n+ \n+ \n+ Send a Jabber Message to a specified chat room\n+ \n+ \n+ Client or transport Asterisk uses to connect to Jabber.\n+ \n+ \n+ XMPP/Jabber JID (Name) of chat room.\n+ \n+ \n+ Message to be sent to the chat room.\n+ \n+ \n+ The nickname Asterisk uses in the chat room.\n+ \n+ \n+ \n+ Allows user to send a message to a chat room via XMPP.\n+ \n+ \n+ To be able to send messages to a chat room, a user must have previously joined it. Use the\n+ JabberJoin\n+ function to do so.\n+ \n+ \n+ \n+ \n+ \n+ Join a chat room\n+ \n+ \n+ Client or transport Asterisk uses to connect to Jabber.\n+ \n+ \n+ XMPP/Jabber JID (Name) of chat room.\n+ \n+ \n+ The nickname Asterisk will use in the chat room.\n+ \n+ If a different nickname is supplied to an already joined room, the old nick will be changed to the new one.\n+ \n+ \n+ \n+ \n+ Allows Asterisk to join a chat room.\n+ \n+ \n+ \n+ Leave a chat room\n+ \n+ \n+ Client or transport Asterisk uses to connect to Jabber.\n+ \n+ \n+ XMPP/Jabber JID (Name) of chat room.\n+ \n+ \n+ The nickname Asterisk uses in the chat room.\n+ \n+ \n+ \n+ Allows Asterisk to leave a chat room.\n+ \n+ \n+ \n+ Retrieve the status of a jabber list member\n+ \n+ \n+ Client or transport Asterisk users to connect to Jabber.\n+ \n+ \n+ XMPP/Jabber JID (Name) of recipient.\n+ \n+ \n+ Variable to store the status of requested user.\n+ \n+ \n+ \n+ This application is deprecated. Please use the JABBER_STATUS() function instead.\n+ \n+ Retrieves the numeric status associated with the specified buddy\n+ JID\n+ .\n+\t\t\tThe return value in the\n+ Variable\n+ will be one of the following.\n+ \n+ \n+ \n+ Online.\n+ \n+ \n+ Chatty.\n+ \n+ \n+ Away.\n+ \n+ \n+ Extended Away.\n+ \n+ \n+ Do Not Disturb.\n+ \n+ \n+ Offline.\n+ \n+ \n+ Not In Roster.\n+ \n+ \n+ \n+ \n+ \n+ Sends a message to a Jabber Client.\n+ \n+ \n+ \n+ Client or transport Asterisk uses to connect to JABBER.\n+ \n+ \n+ XMPP/Jabber JID (Name) of recipient.\n+ \n+ \n+ Message to be sent to the buddy.\n+ \n+ \n+ \n+ Sends a message to a Jabber Client.\n+ \n+ \n+ \n+ \n+ Specifying a prefix of\n+ xmpp:\n+ will send the\n+\t\tmessage as an XMPP chat message.\n+ \n+ \n+ \n+ \n+ Specifying a prefix of\n+ xmpp:\n+ will specify the\n+\t\taccount defined in\n+ xmpp.conf\n+ to send the message from.\n+\t\tNote that this field is required for XMPP messages.\n+ \n+ \n+ \n+ Ignored\n+ \n+ \n+ XMPP Messaging\n+ \n+ \n+ Global configuration settings\n+ \n+ Enable/disable XMPP message debugging\n+ \n+ \n+ Auto-remove users from buddy list.\n+ \n+ Auto-remove users from buddy list. Depending on the setup\n+\t\t\t\t\t(e.g., using your personal Gtalk account for a test) this could cause loss of\n+\t\t\t\t\tthe contact list.\n+ \n+ \n+ \n+ Auto-register users from buddy list\n+ \n+ \n+ Enable support for XEP-0248 for use with distributed device state\n+ \n+ \n+ Whether or not the PubSub server supports/is using auto-create for nodes\n+ \n+ \n+ Whether to automatically accept or deny users' subscription requests\n+ \n+ \n+ \n+ Configuration options for an XMPP client\n+ \n+ XMPP username with optional resource\n+ \n+ \n+ XMPP password\n+ \n+ \n+ Google OAuth 2.0 refresh token\n+ \n+ \n+ Google OAuth 2.0 application's client id\n+ \n+ \n+ Google OAuth 2.0 application's secret\n+ \n+ \n+ Route to server, e.g. talk.google.com\n+ \n+ \n+ Custom status message\n+ \n+ \n+ Node for publishing events via PubSub\n+ \n+ \n+ Dialplan context to send incoming messages to\n+ \n+ \n+ XMPP resource priority\n+ \n+ \n+ XMPP server port\n+ \n+ \n+ Timeout in seconds to hold incoming messages\n+ \n+ \n+ Timeout (in seconds) on the message stack. Messages stored longer\n+\t\t\t\t\tthan this value will be deleted by Asterisk. This option applies to incoming messages only\n+\t\t\t\t\twhich are intended to be processed by the\n+ JABBER_RECEIVE\n+ dialplan function.\n+ \n+ \n+ \n+ \n+ Enable debugging\n+ \n+ \n+ Connection is either a client or a component\n+ \n+ \n+ Whether or not to distribute events using this connection\n+ \n+ \n+ Whether to use TLS for the connection or not\n+ \n+ \n+ Whether to use SASL for the connection or not\n+ \n+ \n+ Force the use of old-style SSL for the connection\n+ \n+ \n+ If enabled, periodically send an XMPP message from this client with an empty message\n+ \n+ \n+ Auto-remove users from buddy list.\n+ \n+ Auto-remove users from buddy list. Depending on the setup\n+\t\t\t\t\t(e.g., using your personal Gtalk account for a test) this could cause loss of\n+\t\t\t\t\tthe contact list.\n+ \n+ \n+ \n+ Auto-register users bfrom buddy list\n+ \n+ \n+ Whether to automatically accept or deny users' subscription requests\n+ \n+ \n+ Send incoming messages into the dialplan\n+ \n+ \n+ Default XMPP status for the client\n+ \n+ Can be one of the following XMPP statuses:\n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ \n+ Manual addition of buddy to list\n+ \n+ Manual addition of buddy to the buddy list. For distributed events, these buddies are\n+\t\t\t\t\tautomatically added in the whitelist as 'owners' of the node(s).\n+ \n+ \n+ \n+ \n+ \n \n core\n \n- \n- extended\n- \n- \n- core\n- \n- \n- res_ari\n- res_ari_model\n+ \n res_stasis\n core\n \n- \n- core\n- \n- \n- core\n- \n- \n+ \n+ pjproject\n+ res_pjproject\n+ res_sorcery_config\n+ res_sorcery_memory\n+ res_sorcery_astdb\n+ res_statsd\n+ res_geolocation\n core\n \n- \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_session\n core\n \n- \n+ \n+ pjproject\n+ res_pjsip\n+ yes\n core\n \n- \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_pubsub\n core\n \n- \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_session\n core\n \n- \n- core\n+ \n+ kqueue\n+ launchd\n+ extended\n \n- \n+ \n pjproject\n res_pjsip\n- res_http_websocket\n core\n \n- \n+ \n+ Module that identifies endpoints\n+ \n+ \n+ Identifies endpoints via some criteria.\n+ \n+ This module provides alternatives to matching inbound requests to\n+\t\t\t\t\ta configured endpoint. At least one of the matching mechanisms\n+\t\t\t\t\tmust be provided, or the object configuration is invalid.\n+ The matching mechanisms are provided by the following\n+\t\t\t\t\tconfiguration options:\n+ \n+ \n+ Match by source IP address.\n+ \n+ \n+ Match by SIP header.\n+ \n+ \n+ \n+ \n+ If multiple matching criteria are provided then an inbound\n+\t\t\t\t\trequest will be matched to the endpoint if it matches\n+ any\n+ of the criteria.\n+ \n+ \n+ \n+ \n+ Name of endpoint identified\n+ \n+ \n+ IP addresses or networks to match against.\n+ \n+ The value is a comma-delimited list of IP addresses or\n+\t\t\t\t\t\thostnames.\n+ IP addresses may have a subnet mask appended. The subnet\n+\t\t\t\t\t\tmask may be written in either CIDR or dotted-decimal\n+\t\t\t\t\t\tnotation. Separate the IP address and subnet mask with a slash\n+\t\t\t\t\t\t('/'). A source port can also be specified by adding a colon (':')\n+\t\t\t\t\t\tafter the address but before the subnet mask, e.g.\n+\t\t\t\t\t\t3.2.1.0:5061/24. To specify a source port for an IPv6 address, the\n+\t\t\t\t\t\taddress itself must be enclosed in square brackets\n+\t\t\t\t\t\t('[2001:db8:0::1]:5060')\n+ \n+ When a hostname is used, the behavior depends on whether\n+ srv_lookups\n+ is enabled and/or a source\n+\t\t\t\t\t\tport is provided. If\n+ srv_lookups\n+ is\n+\t\t\t\t\t\tenabled and a source port is not provided, Asterisk will perform\n+\t\t\t\t\t\tan SRV lookup on the provided hostname, adding all of the A and\n+\t\t\t\t\t\tAAAA records that are resolved.\n+ \n+ \n+ If the SRV lookup fails,\n+ srv_lookups\n+ is disabled, or a source\n+\t\t\t\t\t\tport is specified when the hostname is configured, Asterisk will\n+\t\t\t\t\t\tresolve the hostname and add all A and AAAA records that are\n+\t\t\t\t\t\tresolved.\n+ \n+ \n+ \n+ \n+ Perform SRV lookups for provided hostnames.\n+ \n+ \n+ When enabled,\n+ srv_lookups\n+ will\n+\t\t\t\t\t\tperform SRV lookups for _sip._udp, _sip._tcp, and _sips._tcp of\n+\t\t\t\t\t\tthe given hostnames to determine additional addresses that traffic\n+\t\t\t\t\t\tmay originate from.\n+ \n+ \n+ \n+ \n+ Header/value pair to match against.\n+ \n+ \n+ A SIP header whose value is used to match against. SIP\n+\t\t\t\t\t\trequests containing the header, along with the specified value,\n+\t\t\t\t\t\twill be mapped to the specified endpoint. The header must be\n+\t\t\t\t\t\tspecified with a\n+ :\n+ , as in\n+ match_header = SIPHeader: value\n+ .\n+ \n+ \n+ The specified SIP header value can be a regular\n+\t\t\t\t\t\texpression if the value is of the form\n+\t\t\t\t\t\t/\n+ regex\n+ /.\n+ \n+ \n+ Use of a regex is expensive so be sure you need\n+\t\t\t\t\t\tto use a regex to match your endpoint.\n+ \n+ \n+ \n+ \n+ Must be of type 'identify'.\n+ \n+ \n+ \n+ \n+ \n+ res_geolocation\n pjproject\n res_pjsip\n- res_pjsip_pubsub\n- res_pjsip_outbound_publish\n+ res_pjsip_session\n+ chan_pjsip\n+ libxml2\n core\n \n- \n- func_curl\n- res_curl\n- curl\n+ \n+ extended\n+ \n+ \n+ StatsD client\n+ \n+ \n+ The\n+ res_statsd\n+ module provides an API that\n+\t\t\tallows Asterisk and its modules to send statistics to a StatsD\n+\t\t\tserver. It only provides a means to communicate with a StatsD server\n+\t\t\tand does not send any metrics of its own.\n+ \n+ \n+ An example module,\n+ res_chan_stats\n+ , is\n+\t\t\tprovided which uses the API exposed by this module to send channel\n+\t\t\tstatistics to the configured StatsD server.\n+ \n+ More information about StatsD can be found at\n+\t\t\thttps://github.com/statsd/statsd\n+ \n+ \n+ \n+ Global configuration settings\n+ \n+ Enable/disable the StatsD module\n+ \n+ \n+ Address of the StatsD server\n+ \n+ \n+ Prefix to prepend to every metric\n+ \n+ \n+ Append a newline to every event. This is useful if\n+\t\t\t\t\tyou want to fake out a server using netcat\n+\t\t\t\t\t(nc -lu 8125)\n+ \n+ \n+ Enable/disable the non-standard StatsD Meter type,\n+\t\t\t\t\tif disabled falls back to counter and will append a "_meter" suffix to the metric name\n+ \n+ \n+ \n+ \n+ \n+ res_stasis\n core\n \n- \n+ \n core\n \n- \n+ \n core\n \n- \n- List the current known device states.\n- \n- \n- \n- \n- \n- This will list out all known device states in a\n-\t\t\tsequence of\n- DeviceStateChange\n- events.\n-\t\t\tWhen finished, a\n- DeviceStateListComplete\n- event\n-\t\t\twill be emitted.\n- \n- \n- \n- DeviceStateChange\n- DEVICE_STATE\n- \n- \n- \n- \n- \n- \n- \n- Indicates the end of the list the current known extension states.\n- \n- \n- Conveys the status of the event list.\n- \n- \n- Conveys the number of statuses reported.\n- \n- \n- \n- \n- \n- \n- \n- ldap\n- extended\n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_session\n+ core\n \n \n res_http_websocket\n res_stasis\n core\n \n \n@@ -32960,1127 +33843,244 @@\n \n \n password_format may be set to plain (the default) or crypt. When set to crypt, crypt(3) is used to validate the password. A crypted password can be generated using mkpasswd -m sha-512. When set to plain, the password is in plaintext\n \n \n \n \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n- core\n- \n- \n- timerfd\n- core\n- \n- \n- res_stasis\n- res_stasis_recording\n- core\n- \n- \n- no\n- extended\n- 19\n- 21\n- \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n- core\n- \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n- res_stir_shaken\n- core\n- \n- \n- spandsp\n- res_fax\n- extended\n- \n- \n- core\n- \n- \n- pjproject\n- res_pjproject\n- res_sorcery_config\n- res_sorcery_memory\n- res_sorcery_astdb\n- res_statsd\n- res_geolocation\n- core\n- \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n- core\n- \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n- core\n- \n- \n- no\n- extended\n- \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n- res_hep\n- extended\n- \n- \n- res_statsd\n- no\n- extended\n- \n- \n- core\n- \n- \n- core\n- \n- \n- res_ari\n- res_ari_model\n- res_stasis\n- res_stasis_recording\n- res_stasis_playback\n- core\n- \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n- res_pjsip_pubsub\n- core\n- \n- \n- res_statsd\n- no\n- extended\n- \n- \n- pjproject\n- res_pjsip\n- res_pjsip_session\n+ \n+ crypto\n+ curl\n+ res_curl\n core\n \n- \n- \n- The\n- destination\n- parameter is used to construct\n-\t\tthe Request URI for an outgoing message. It can be in one of the following\n-\t\tformats, all prefixed with the\n- pjsip:\n- message tech.\n- \n- \n- \n- \n- Request URI comes from the endpoint's default aor and contact.\n- \n- \n- Request URI comes from the specific aor/contact.\n- \n- \n- Request URI from the endpoint's default aor and contact. The domain is discarded.\n- \n- \n- \n- These all use the endpoint to send the message with the specified URI:\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- These all use the default endpoint to send the message with the specified URI:\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- These use the default endpoint to send the message with the specified host:\n- \n- \n- \n- \n- \n- \n- This form is similar to a dialstring:\n- \n- \n- \n- \n- \n- \n- You still need to prefix the destination with\n-\t\tthe\n- pjsip:\n- message technology prefix. For example:\n- pjsip:PJSIP/8005551212@myprovider\n- .\n-\t\tThe endpoint contact's URI will have the\n- user\n- inserted\n-\t\tinto it and will become the Request URI. If the contact URI already has\n-\t\ta user specified, it will be replaced.\n- \n- \n- \n- \n- \n- The\n- from\n- parameter is used to specity the\n- From:\n- header in the outgoing SIP MESSAGE. It will override the value specified in\n-\t\tMESSAGE(from) which itself will override any\n- from\n- value from\n-\t\tan incoming SIP MESSAGE.\n- \n- \n- \n- \n- \n- The\n- to\n- parameter is used to specity the\n- To:\n- header in the outgoing SIP MESSAGE. It will override the value specified in\n-\t\tMESSAGE(to) which itself will override any\n- to\n- value from\n-\t\tan incoming SIP MESSAGE.\n- \n- \n- \n- \n- extended\n- \n- \n- Resource for integration with Homer using HEPv3\n- \n+ \n+ STIR/SHAKEN module for Asterisk\n+ \n \n- General settings.\n- \n- \n- The\n- general\n- settings section contains information\n-\t\t\t\t\tto configure Asterisk as a Homer capture agent.\n- \n- \n- \n- Enable or disable packet capturing.\n- \n- \n- \n- \n- \n- \n+ STIR/SHAKEN general options\n+ \n+ Must be of type 'general'.\n \n- \n- The preferred type of UUID to pass to Homer.\n- \n- \n- \n- Use the PJSIP Call-Id\n- \n- \n- Use the Asterisk channel name\n- \n- \n- \n+ \n+ File path to the certificate authority certificate\n \n- \n- The address and port of the Homer server to send packets to.\n+ \n+ File path to a chain of trust\n \n- \n- If set, the authentication password to send to Homer.\n+ \n+ Maximum size to use for caching public keys\n \n- \n- The ID for this capture agent.\n+ \n+ Maximum time to wait to CURL certificates\n \n- \n- \n- \n- \n- res_ari\n- res_ari_model\n- res_stasis\n- core\n- \n- \n- core\n- \n- \n- res_ari\n- res_ari_model\n- res_stasis\n- res_stasis_recording\n- core\n- \n- \n- res_calendar\n- neon\n- ical\n- iksemel\n- extended\n- \n- \n- pjproject\n- res_pjsip\n- core\n- \n- \n- bridge_holding\n- core\n- \n- \n- \n- \n- Options that apply to every parking lot\n- \n- Enables dynamically created parkinglots.\n- \n- If the option is enabled then the following variables can\n-\t\t\t\t\t\t\tbe used to dynamically create new parking lots.\n- \n- The\n- PARKINGDYNAMIC\n- variable specifies the\n-\t\t\t\t\t\t\tparking lot to use as a template to create a dynamic parking lot. It\n-\t\t\t\t\t\t\tis an error to specify a non-existent parking lot for the template.\n-\t\t\t\t\t\t\tIf not set then the default parking lot is used as the template.\n- \n- \n- The\n- PARKINGDYNCONTEXT\n- variable specifies the\n-\t\t\t\t\t\t\tdialplan context to use for the newly created dynamic parking lot. If\n-\t\t\t\t\t\t\tnot set then the context from the parking lot template is used. The\n-\t\t\t\t\t\t\tcontext is created if it does not already exist and the new parking lot\n-\t\t\t\t\t\t\tneeds to create extensions.\n- \n- \n- The\n- PARKINGDYNEXTEN\n- variable specifies the\n- parkext\n- to use for the newly created dynamic\n-\t\t\t\t\t\t\tparking lot. If not set then the\n- parkext\n- is used from\n-\t\t\t\t\t\t\tthe parking lot template. If the template does not specify a\n- parkext\n- then no extensions are created for the newly\n-\t\t\t\t\t\t\tcreated parking lot. The dynamic parking lot cannot be created if it\n-\t\t\t\t\t\t\tneeds to create extensions that overlap existing parking lot extensions.\n-\t\t\t\t\t\t\tThe only exception to this is for the\n- parkext\n- extension and only if neither of the overlaping parking lot's\n- parkext\n- is exclusive.\n- \n- \n- The\n- PARKINGDYNPOS\n- variable specifies the\n-\t\t\t\t\t\t\tparking positions to use for the newly created dynamic parking lot. If\n-\t\t\t\t\t\t\tnot set then the\n- parkpos\n- from the parking lot template\n-\t\t\t\t\t\t\tis used.\n- \n- \n+ \n+ Amount of time a signature is valid for\n \n \n- \n- Defined parking lots for res_parking to use to park calls on\n- \n- The name of the context where calls are parked and picked up from.\n- \n- This option is only used if parkext is set.\n- \n- \n- \n- Extension to park calls to this parking lot.\n- \n- \n- If this option is used, this extension will automatically\n-\t\t\t\t\t\t\tbe created to place calls into parking lots. In addition, if\n- parkext_exclusive\n- is set for this parking\n-\t\t\t\t\t\t\tlot, the name of the parking lot will be included in the\n-\t\t\t\t\t\t\tapplication's arguments so that it only parks to this parking\n-\t\t\t\t\t\t\tlot. The extension will be created in\n- context\n- .\n-\t\t\t\t\t\t\tUsing this option also creates extensions for retrieving\n-\t\t\t\t\t\t\tparked calls from the parking spaces in the same context.\n- \n- \n- \n- Generated parking extensions cannot overlap.\n-\t\t\t\t\t\t\t\tThe only exception is if neither overlapping\n- parkext\n- is exclusive.\n- \n- \n- \n+ \n+ STIR/SHAKEN certificate store options\n+ \n+ Must be of type 'store'.\n \n- \n- If yes, the extension registered as parkext will park exclusively to this parking lot.\n+ \n+ Path to a directory containing certificates\n \n- \n- Numerical range of parking spaces which can be used to retrieve parked calls.\n+ \n+ URL to the public certificate(s)\n \n- \n- If\n- parkext\n- is set, these extensions\n-\t\t\t\t\t\t\twill automatically be mapped in\n- context\n- in order to pick up calls parked to these parking spaces.\n- \n+ Must be a valid http, or https, URL. The URL must also contain the ${CERTIFICATE} variable, which is used for public key name substitution.\n+\t\t\t\t\t For example: http://mycompany.com/${CERTIFICATE}.pub\n \n \n- \n- If yes, this parking lot will add hints automatically for parking spaces.\n- \n- \n- Amount of time a call will remain parked before giving up (in seconds).\n- \n- \n- Which music class to use for parked calls. They will use the default if unspecified.\n- \n- \n- Determines what should be done with the parked channel if no one picks it up before it times out.\n- \n- Valid Options:\n- \n- \n- \n- Automatically have the parked channel dial the device that parked the call with dial\n-\t\t\t\t\t\t\t\t\ttimeout set by the\n- parkingtime\n- option. When the call times out an extension\n-\t\t\t\t\t\t\t\t\tto dial the PARKER will automatically be created in the\n- park-dial\n- context with\n-\t\t\t\t\t\t\t\t\tan extension of the flattened parker device name. If the call is not answered, the parked channel\n-\t\t\t\t\t\t\t\t\tthat is timing out will continue in the dial plan at that point if there are more priorities in\n-\t\t\t\t\t\t\t\t\tthe extension (which won't be the case unless the dialplan deliberately includes such priorities\n-\t\t\t\t\t\t\t\t\tin the\n- park-dial\n- context through pattern matching or deliberately written\n-\t\t\t\t\t\t\t\t\tflattened peer extensions).\n- \n- \n- \n- \n- Place the call into the PBX at\n- comebackcontext\n- instead. The extension will\n-\t\t\t\t\t\t\t\t\tstill be set as the flattened peer name. If an extension the flattened peer name isn't available\n-\t\t\t\t\t\t\t\t\tthen it will fall back to the\n- s\n- extension. If that also is unavailable it will\n-\t\t\t\t\t\t\t\t\tattempt to fall back to\n- s@default\n- . The normal dial extension will still be\n-\t\t\t\t\t\t\t\t\tcreated in the\n- park-dial\n- context with the extension also being the flattened\n-\t\t\t\t\t\t\t\t\tpeer name.\n- \n- \n- \n- \n- \n- Flattened Peer Names - Extensions can not include slash characters since those are used for pattern\n-\t\t\t\t\t\t\tmatching. When a peer name is flattened, slashes become underscores. For example if the parker of a call\n-\t\t\t\t\t\t\tis called\n- SIP/0004F2040001\n- then flattened peer name and therefor the extensions created\n-\t\t\t\t\t\t\tand used on timeouts will be\n- SIP_0004F204001\n- .\n- \n- \n- \n- When parking times out and the channel returns to the dial plan, the following variables are set:\n- \n- \n- \n- extension that the call was parked in prior to timing out.\n- \n- \n- \n- Deprecated. Use\n- PARKING_SPACE\n- instead.\n- \n- \n- \n- name of the lot that the call was parked in prior to timing out.\n- \n- \n- The device that parked the call\n- \n- \n- \n- The flat version of\n- PARKER\n- \n- \n- \n- \n+ \n+ \n+ STIR/SHAKEN certificate options\n+ \n+ Must be of type 'certificate'.\n \n- \n- Timeout for the Dial extension created to call back the parker when a parked call times out.\n+ \n+ File path to a certificate\n \n- \n- Context where parked calls will enter the PBX on timeout when comebacktoorigin=no\n+ \n+ URL to the public certificate\n \n- The extension the call enters will prioritize the flattened peer name in this context.\n-\t\t\t\t\t\tIf the flattened peer name extension is unavailable, then the 's' extension in this context will be\n-\t\t\t\t\t\tused. If that also is unavailable, the 's' extension in the 'default' context will be used.\n+ Must be a valid http, or https, URL.\n \n \n- \n- If the name of a sound file is provided, use this as the courtesy tone\n- \n- \n- By default, this tone is only played to the caller of a parked call. Who receives the tone\n-\t\t\t\t\t\tcan be changed using the\n- parkedplay\n- option.\n- \n- \n+ \n+ Attestation level\n \n- \n- Who we should play the courtesytone to on the pickup of a parked call from this lot\n- \n- \n- \n- Apply to neither side.\n- \n- \n- Apply only to the call connecting with the call coming out of the parking lot.\n- \n- \n- Apply only to the call coming out of the parking lot.\n- \n- \n- Apply to both sides.\n- \n- \n- \n- If courtesy tone is not specified then this option will be ignored.\n- \n- \n+ \n+ The caller ID number to match on.\n \n- \n- Who to apply the DTMF transfer features to when parked calls are picked up or timeout.\n- \n- \n- \n+ \n+ \n+ STIR/SHAKEN profile configuration options\n+ \n+ Must be of type 'profile'.\n \n- \n- Who to apply the DTMF parking feature to when parked calls are picked up or timeout.\n+ \n+ STIR/SHAKEN configuration settings\n \n- \n+ Attest, verify, or do both STIR/SHAKEN operations. On incoming\n+\t\t\t\t\t\tINVITEs, the Identity header will be checked for validity. On\n+\t\t\t\t\t\toutgoing INVITEs, an Identity header will be added.\n \n \n- \n- Who to apply the DTMF hangup feature to when parked calls are picked up or timeout.\n- \n- \n- \n+ \n+ An existing ACL from acl.conf to use\n \n- \n- Who to apply the DTMF MixMonitor recording feature to when parked calls are picked up or timeout.\n- \n- \n- \n+ \n+ An IP or subnet to permit\n \n- \n- Rule to use when trying to figure out which parking space a call should be parked with.\n- \n- \n- \n- Always try to place in the lowest available space in the parking lot\n- \n- \n- Track the last parking space used and always attempt to use the one immediately after.\n- \n- \n- \n+ \n+ An IP or subnet to deny\n \n \n \n \n- \n- app_fax\n- core\n- \n- \n- Receive a FAX and save as a TIFF/F file.\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- This application is provided by res_fax, which is a FAX technology agnostic module\n- \t\t\tthat utilizes FAX technology resource modules to complete a FAX transmission.\n- Session arguments can be set by the FAXOPT function and to check results of the ReceiveFax() application.\n- \n- \n- FAXOPT\n- \n- \n- \n- Sends a specified TIFF/F file as a FAX.\n+ \n+ Gets the number of STIR/SHAKEN results or a specific STIR/SHAKEN value from a result on the channel.\n \n- \n- \n- TIFF file to send as a FAX.\n- \n+ \n+ The index of the STIR/SHAKEN result to get. If only 'count' is passed in, gets the number of STIR/SHAKEN results instead.\n \n- \n- \n- \n- \n- \n- \n- \n- \n+ \n+ The value to get from the STIR/SHAKEN result. Only used when an index is passed in (instead of 'count'). Allowable values:\n+ \n+ \n+ \n+ \n+ \n \n \n \n- This application is provided by res_fax, which is a FAX technology agnostic module\n- \t\t\tthat utilizes FAX technology resource modules to complete a FAX transmission.\n- Session arguments can be set by the FAXOPT function and to check results of the SendFax() application.\n+ This function will either return the number of STIR/SHAKEN identities, or return information on the specified identity.\n+\t\t\tTo get the number of identities, just pass 'count' as the only parameter to the function. If you want to get information on a\n+\t\t\tspecific STIR/SHAKEN identity, you can get the number of identities and then pass an index as the first parameter and one of\n+\t\t\tthe values you would like to retrieve as the second parameter.\n+ same => n,NoOp(Number of STIR/SHAKEN identities: ${STIR_SHAKEN(count)})\n+\t\t\tsame => n,NoOp(Identity ${STIR_SHAKEN(0, identity)} has attestation level ${STIR_SHAKEN(0, attestation)})\n \n- \n- FAXOPT\n- \n- \n- \n- Gets/sets various pieces of information about a fax session.\n+ \n+ \n+ core\n+ \n+ \n+ core\n+ \n+ \n+ Muting audio streams in the channel\n \n- \n+ \n+ Must be one of\n \n- \n- R/W Error Correction Mode (ECM) enable with 'yes', disable with 'no'.\n- \n- \n- R/O FAX transmission error code upon failure.\n- \n- \n- R/O Filename of the first file of the FAX transmission.\n- \n- \n- R/O Filenames of all of the files in the FAX transmission (comma separated).\n- \n- \n- R/W FAX header information.\n- \n- \n- R/W Local Station Identification.\n- \n- \n- R/W Minimum transfer rate set before transmission.\n- \n- \n- R/W Maximum transfer rate set before transmission.\n- \n- \n- R/W Modem type (v17/v27/v29).\n- \n- \n- R/W T38 fax gateway, with optional fax activity timeout in seconds (yes[,timeout]/no)\n- \n- \n- R/W Enable FAX detect with optional timeout in seconds (yes,t38,cng[,timeout]/no)\n- \n- \n- R/O Number of pages transferred.\n- \n- \n- R/O Negotiated transmission rate.\n- \n- \n- R/O Remote Station Identification after transmission.\n- \n- \n- R/O Negotiated image resolution after transmission.\n- \n- \n- R/O Session ID of the FAX transmission.\n- \n- \n- R/O Result Status of the FAX transmission.\n- \n- \n- R/O Verbose Result Status of the FAX transmission.\n+ \n+ Inbound stream (to the PBX)\n \n- \n- R/W The timeout used for T.38 negotiation.\n+ \n+ Outbound stream (from the PBX)\n \n- \n- R/W Upon v21 detection allow gateway to send negotiation requests to both T.38 endpoints, and do not wait on the "other" side to initiate (yes|no)\n+ \n+ Both streams\n \n \n \n \n \n- \n- FAXOPT can be used to override the settings for a FAX session listed in\n- res_fax.conf\n- ,\n-\t\t \tit can also be used to retrieve information about a FAX session that has finished eg. pages/status.\n- \n+ The MUTEAUDIO function can be used to mute inbound (to the PBX) or outbound audio in a call.\n+ exten => s,1,Set(MUTEAUDIO(in)=on)\n+ exten => s,1,Set(MUTEAUDIO(in)=off)\n \n- \n- ReceiveFax\n- SendFax\n- \n \n- \n- Lists active FAX sessions\n- \n- \n- \n- \n- Will generate a series of FAXSession events with information about each FAXSession. Closes with\n-\t\t\ta FAXSessionsComplete event which includes a count of the included FAX sessions. This action works in\n-\t\t\tthe same manner as the CLI command 'fax show sessions'\n- \n- \n- \n- \n- A single list item for the FAXSessions AMI command\n- \n- \n- \n- Name of the channel responsible for the FAX session\n- \n- \n- The FAX technology that the FAX session is using\n- \n- \n- The numerical identifier for this particular session\n- \n- \n- FAX session passthru/relay type\n- \n- \n- \n- \n- \n- \n- FAX session operation type\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- Current state of the FAX session\n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- \n- File or list of files associated with this FAX session\n- \n- \n- \n- \n- \n- \n- Raised when all FAXSession events are completed for a FAXSessions command\n- \n- \n- \n- Count of FAXSession events sent in response to FAXSessions action\n- \n- \n- \n- \n- \n- Responds with a detailed description of a single FAX session\n+ \n+ Mute an audio stream.\n \n \n- \n- The session ID of the fax the user is interested in.\n+ \n+ The channel you want to mute.\n+ \n+ \n+ \n+ \n+ Set muting on inbound audio stream. (to the PBX)\n+ \n+ \n+ Set muting on outbound audio stream. (from the PBX)\n+ \n+ \n+ Set muting on inbound and outbound audio streams.\n+ \n+ \n+ \n+ \n+ \n+ \n+ Turn muting on.\n+ \n+ \n+ Turn muting off.\n+ \n+ \n \n \n \n- Provides details about a specific FAX session. The response will include a common subset of\n-\t\t\tthe output from the CLI command 'fax show session <session_number>' for each technology. If the\n-\t\t\tFAX technolgy used by this session does not include a handler for FAXSession, then this action\n-\t\t\twill fail.\n- \n- \n- \n- \n- Raised in response to FAXSession manager command\n- \n- \n- \n- The numerical identifier for this particular session\n- \n- \n- \n- \n- Whether error correcting mode is enabled for the FAX session. This field is not\n-\t\t\t\t\tincluded when operation is 'V.21 Detect' or if operation is 'gateway' and state is\n-\t\t\t\t\t'Uninitialized'\n- \n- \n- \n- \n- \n- \n- Bit rate of the FAX. This field is not included when operation is 'V.21 Detect' or\n-\t\t\t\t\tif operation is 'gateway' and state is 'Uninitialized'.\n- \n- \n- Resolution of each page of the FAX. Will be in the format of X_RESxY_RES. This field\n-\t\t\t\t\tis not included if the operation is anything other than Receive/Transmit.\n- \n- \n- Current number of pages transferred during this FAX session. May change as the FAX\n-\t\t\t\t\tprogresses. This field is not included when operation is 'V.21 Detect' or if operation is\n-\t\t\t\t\t'gateway' and state is 'Uninitialized'.\n- \n- \n- Filename of the image being sent/received for this FAX session. This field is not\n-\t\t\t\t\tincluded if Operation isn't 'send' or 'receive'.\n- \n- \n- Total number of pages sent during this session. This field is not included if\n-\t\t\t\t\tOperation isn't 'send' or 'receive'. Will always be 0 for 'receive'.\n- \n- \n- Total number of pages received during this session. This field is not included if\n-\t\t\t\t\tOperation is not 'send' or 'receive'. Will be 0 for 'send'.\n- \n- \n- Total number of bad lines sent/received during this session. This field is not\n-\t\t\t\t\tincluded if Operation is not 'send' or 'received'.\n- \n- \n- \n- \n- \n- Responds with fax statistics\n- \n- \n- \n- \n- Provides FAX statistics including the number of active sessions, reserved sessions, completed\n-\t\t\tsessions, failed sessions, and the number of receive/transmit attempts. This command provides all\n-\t\t\tof the non-technology specific information provided by the CLI command 'fax show stats'\n+ Mute an incoming or outgoing audio stream on a channel.\n \n \n- \n- \n- Raised in response to FAXStats manager command\n- \n- \n- \n- Number of active FAX sessions\n- \n- \n- Number of reserved FAX sessions\n- \n- \n- Total FAX sessions for which Asterisk is/was the transmitter\n- \n- \n- Total FAX sessions for which Asterisk is/was the recipient\n- \n- \n- Total FAX sessions which have been completed successfully\n- \n- \n- Total FAX sessions which failed to complete successfully\n- \n- \n- \n- \n- \n- unbound\n- core\n- \n- \n- \n- \n- General options for res_resolver_unbound\n- \n- Full path to an optional hosts file\n- \n- Hosts specified in a hosts file will be resolved within the resolver itself. If a value\n-\t\t\t\t\tof system is provided the system-specific file will be used.\n- \n- \n- \n- Full path to an optional resolv.conf file\n- \n- The resolv.conf file specifies the nameservers to contact when resolving queries. If a\n-\t\t\t\t\tvalue of system is provided the system-specific file will be used. If provided alongside explicit nameservers the\n-\t\t\t\t\tnameservers contained within the resolv.conf file will be used after all others.\n- \n- \n- \n- Nameserver to use for queries\n- \n- An explicit nameserver can be specified which is used for resolving queries. If multiple\n-\t\t\t\t\tnameserver lines are specified the first will be the primary with failover occurring, in order, to the other\n-\t\t\t\t\tnameservers as backups. If provided alongside a resolv.conf file the nameservers explicitly specified will be\n-\t\t\t\t\tused before all others.\n- \n- \n- \n- Unbound debug level\n- \n- The debugging level for the unbound resolver. While there is no explicit range generally\n-\t\t\t\t\tthe higher the number the more debug is output.\n- \n- \n- \n- Trust anchor file\n- \n- Full path to a file with DS and DNSKEY records in zone file format. This file is provided\n-\t\t\t\t\tto unbound and is used as a source for trust anchors.\n- \n- \n- \n- \n- \n- \n+ \n+ res_stasis\n core\n \n- \n- List the current known presence states.\n- \n- \n- \n- \n- \n- This will list out all known presence states in a\n-\t\t\tsequence of\n- PresenceStateChange\n- events.\n-\t\t\tWhen finished, a\n- PresenceStateListComplete\n- event\n-\t\t\twill be emitted.\n- \n- \n- \n- PresenceState\n- PresenceStatus\n- PRESENCE_STATE\n- \n- \n- \n- \n- \n- \n- \n- Indicates the end of the list the current known extension states.\n- \n- \n- Conveys the status of the event list.\n- \n- \n- Conveys the number of statuses reported.\n- \n- \n- \n- \n- \n- \n- \n+ \n pjproject\n res_pjsip\n+ res_pjsip_session\n+ res_pjsip_pubsub\n core\n \n- \n- pjproject\n- res_pjsip\n- core\n+ \n+ extended\n \n- \n- pjproject\n- res_pjsip\n+ \n core\n \n- \n- gmime\n- core\n+ \n+ no\n+ extended\n \n- \n- dahdi\n+ \n+ libxml2\n+ libxslt\n core\n \n- \n+ \n pjproject\n- res_sorcery_config\n+ res_pjsip\n core\n \n- \n- pjproject common configuration\n- \n- \n- Asterisk startup time options for PJPROJECT\n- \n- \n- The id of this object, as well as its type, must be\n-\t\t\t\t\t'startup' or it won't be found.\n- \n- \n- \n- Must be of type 'startup'.\n- \n- \n- Initial maximum pjproject logging level to log.\n- \n- Valid values are: 0-6, and default\n- \n- This option is needed very early in the startup process\n-\t\t\t\t\t\tso it can only be read from config files because the\n-\t\t\t\t\t\tmodules for other methods have not been loaded yet.\n- \n- \n- \n- \n- \n- PJPROJECT to Asterisk Log Level Mapping\n- \n- Warnings and errors in the pjproject libraries are generally handled\n-\t\t\t\t\tby Asterisk. In many cases, Asterisk wouldn't even consider them to\n-\t\t\t\t\tbe warnings or errors so the messages emitted by pjproject directly\n-\t\t\t\t\tare either superfluous or misleading. The 'log_mappings'\n-\t\t\t\t\tobject allows mapping the pjproject levels to Asterisk levels, or nothing.\n- \n- The id of this object, as well as its type, must be\n-\t\t\t\t\t'log_mappings' or it won't be found.\n- \n- \n- \n- Must be of type 'log_mappings'.\n- \n- \n- A comma separated list of pjproject log levels to map to Asterisk LOG_ERROR.\n- \n- \n- A comma separated list of pjproject log levels to map to Asterisk LOG_WARNING.\n- \n- \n- A comma separated list of pjproject log levels to map to Asterisk LOG_NOTICE.\n- \n- \n- A comma separated list of pjproject log levels to map to Asterisk LOG_VERBOSE.\n- \n- \n- A comma separated list of pjproject log levels to map to Asterisk LOG_DEBUG.\n- \n- \n- A comma separated list of pjproject log levels to map to Asterisk LOG_TRACE.\n- \n- \n- \n- \n- \n- res_stasis\n+ \n core\n \n- \n+ \n core\n \n- \n+ \n+ sqlite3\n core\n \n- \n- kqueue\n- launchd\n- extended\n- \n- \n+ \n+ pjproject\n+ res_pjsip\n+ res_pjsip_session\n core\n \n- \n- core\n+ \n+ extended\n \n \n SIP Resource using PJProject\n \n \n Endpoint\n \n@@ -38031,28 +38031,14 @@\n \n There was an issue specific to the field specified\n \t\t\t(value not valid or field name not found)\n \n \n \n \n- \n- extended\n- \n- \n- mysqlclient\n- deprecated\n- func_odbc\n- 1.8\n- 19\n- \n- \n- mysqlclient\n- extended\n- \n \n extended\n \n \n \n \n R/W Fax Detect\n@@ -38092,19 +38078,33 @@\n \t\t\tbefore the call fails. "Forwards" in this case refers to redirects by phones as well\n \t\t\tas calls to local channels.\n \n \t\t\tNote that this has no relation to the SIP Max-Forwards header.\n \n \n \n+ \n+ bluetooth\n+ extended\n+ \n+ \n+ extended\n+ \n \n mysqlclient\n deprecated\n cdr_adaptive_odbc\n 1.8\n 19\n \n- \n- bluetooth\n+ \n+ mysqlclient\n extended\n \n+ \n+ mysqlclient\n+ deprecated\n+ func_odbc\n+ 1.8\n+ 19\n+ \n \n"}]}]}]}]}]}