--- /srv/reproducible-results/rbuild-debian/r-b-build.5GIkmXcI/b1/asterisk_16.28.0~dfsg-0+deb11u3_armhf.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.5GIkmXcI/b2/asterisk_16.28.0~dfsg-0+deb11u3_armhf.changes ├── Files │ @@ -21,8 +21,8 @@ │ 97e2a20c6cc5974c55153c759a523a4b 320604 debug optional asterisk-voicemail-imapstorage-dbgsym_16.28.0~dfsg-0+deb11u3_armhf.deb │ a64646ad2cbec11c4fa0055da005e941 1454428 comm optional asterisk-voicemail-imapstorage_16.28.0~dfsg-0+deb11u3_armhf.deb │ 6840d38be771a0a4ff95e6e673e59270 285424 debug optional asterisk-voicemail-odbcstorage-dbgsym_16.28.0~dfsg-0+deb11u3_armhf.deb │ 0348c564a80b1665a628cf896780eb3a 1441744 comm optional asterisk-voicemail-odbcstorage_16.28.0~dfsg-0+deb11u3_armhf.deb │ 0c218542bafb5096ec0ecf37278006f1 1435868 comm optional asterisk-voicemail_16.28.0~dfsg-0+deb11u3_armhf.deb │ 1748696e5f8eaf9be81cd7ba7db880a1 69972 debug optional asterisk-vpb-dbgsym_16.28.0~dfsg-0+deb11u3_armhf.deb │ 2974dbb0fabb42dcadeb773264615a60 1362604 comm optional asterisk-vpb_16.28.0~dfsg-0+deb11u3_armhf.deb │ - 211c1edadd570bceac48695870387382 2221504 comm optional asterisk_16.28.0~dfsg-0+deb11u3_armhf.deb │ + d5eae40fc4bb70c7103d2f8277bdcf03 2221376 comm optional asterisk_16.28.0~dfsg-0+deb11u3_armhf.deb ├── asterisk_16.28.0~dfsg-0+deb11u3_armhf.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2023-06-22 12:47:22.000000 debian-binary │ │ --rw-r--r-- 0 0 0 8236 2023-06-22 12:47:22.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 2213076 2023-06-22 12:47:22.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 8232 2023-06-22 12:47:22.000000 control.tar.xz │ │ +-rw-r--r-- 0 0 0 2212952 2023-06-22 12:47:22.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── ./usr/share/asterisk/documentation/core-en_US.xml │ │ │ │ ├── ./usr/share/asterisk/documentation/core-en_US.xml │ │ │ │ │┄ Ordering differences only │ │ │ │ │ @@ -1,508 +1,22 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Get the IP address of the peer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Get the source IP address of the peer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Get the source port of the peer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Get the URI from the From: header. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Get the URI from the Contact: header. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Get the Request-URI from the INVITE header. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Get the useragent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Get the name of the peer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O │ │ │ │ │ - 1 │ │ │ │ │ - if T38 is offered or enabled in this channel, │ │ │ │ │ - otherwise │ │ │ │ │ - 0 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Get QOS information about the RTP stream │ │ │ │ │ - This option takes two additional arguments: │ │ │ │ │ - Argument 1: │ │ │ │ │ - │ │ │ │ │ - audio │ │ │ │ │ - Get data about the audio stream │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - video │ │ │ │ │ - Get data about the video stream │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - text │ │ │ │ │ - Get data about the text stream │ │ │ │ │ - │ │ │ │ │ - Argument 2: │ │ │ │ │ - │ │ │ │ │ - local_ssrc │ │ │ │ │ - Local SSRC (stream ID) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - local_lostpackets │ │ │ │ │ - Local lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - local_jitter │ │ │ │ │ - Local calculated jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - local_maxjitter │ │ │ │ │ - Local calculated jitter (maximum) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - local_minjitter │ │ │ │ │ - Local calculated jitter (minimum) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - local_normdevjitter │ │ │ │ │ - Local calculated jitter (normal deviation) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - local_stdevjitter │ │ │ │ │ - Local calculated jitter (standard deviation) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - local_count │ │ │ │ │ - Number of received packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - remote_ssrc │ │ │ │ │ - Remote SSRC (stream ID) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - remote_lostpackets │ │ │ │ │ - Remote lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - remote_jitter │ │ │ │ │ - Remote reported jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - remote_maxjitter │ │ │ │ │ - Remote calculated jitter (maximum) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - remote_minjitter │ │ │ │ │ - Remote calculated jitter (minimum) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - remote_normdevjitter │ │ │ │ │ - Remote calculated jitter (normal deviation) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - remote_stdevjitter │ │ │ │ │ - Remote calculated jitter (standard deviation) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - remote_count │ │ │ │ │ - Number of transmitted packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - rtt │ │ │ │ │ - Round trip time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - maxrtt │ │ │ │ │ - Round trip time (maximum) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - minrtt │ │ │ │ │ - Round trip time (minimum) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - normdevrtt │ │ │ │ │ - Round trip time (normal deviation) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - stdevrtt │ │ │ │ │ - Round trip time (standard deviation) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - all │ │ │ │ │ - All statistics (in a form suited to logging, │ │ │ │ │ - but not for parsing) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Get remote RTP destination information. │ │ │ │ │ - This option takes one additional argument: │ │ │ │ │ - Argument 1: │ │ │ │ │ - │ │ │ │ │ - audio │ │ │ │ │ - Get audio destination │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - video │ │ │ │ │ - Get video destination │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - text │ │ │ │ │ - Get text destination │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Defaults to │ │ │ │ │ - audio │ │ │ │ │ - if unspecified. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Get source RTP destination information. │ │ │ │ │ - This option takes one additional argument: │ │ │ │ │ - Argument 1: │ │ │ │ │ - │ │ │ │ │ - audio │ │ │ │ │ - Get audio destination │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - video │ │ │ │ │ - Get video destination │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - text │ │ │ │ │ - Get text destination │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Defaults to │ │ │ │ │ - audio │ │ │ │ │ - if unspecified. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Published when a malicious call ID request arrives. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - iksemel │ │ │ │ │ - res_xmpp │ │ │ │ │ - openssl │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jingle Channel Driver │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transports │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - There are three different transports and protocol derivatives │ │ │ │ │ - supported by │ │ │ │ │ - chan_motif │ │ │ │ │ - . They are in order of │ │ │ │ │ - preference: Jingle using ICE-UDP, Google Jingle, and Google-V1. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jingle as defined in XEP-0166 supports the widest range of │ │ │ │ │ - features. It is referred to as │ │ │ │ │ - ice-udp │ │ │ │ │ - . This is │ │ │ │ │ - the specification that Jingle clients implement. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Google Jingle follows the Jingle specification for signaling │ │ │ │ │ - but uses a custom transport for media. It is supported by the │ │ │ │ │ - Google Talk Plug-in in Gmail and by some other Jingle clients. It │ │ │ │ │ - is referred to as │ │ │ │ │ - google │ │ │ │ │ - in this file. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Google-V1 is the original Google Talk signaling protocol │ │ │ │ │ - which uses an initial preliminary version of Jingle. It also uses │ │ │ │ │ - the same custom transport as Google Jingle for media. It is │ │ │ │ │ - supported by Google Voice, some other Jingle clients, and the │ │ │ │ │ - Windows Google Talk client. It is referred to as │ │ │ │ │ - google-v1 │ │ │ │ │ - in this file. │ │ │ │ │ - │ │ │ │ │ - Incoming sessions will automatically switch to the correct │ │ │ │ │ - transport once it has been determined. │ │ │ │ │ - Outgoing sessions are capable of determining if the target │ │ │ │ │ - is capable of Jingle or a Google transport if the target is in the │ │ │ │ │ - roster. Unfortunately it is not possible to differentiate between │ │ │ │ │ - a Google Jingle or Google-V1 capable resource until a session │ │ │ │ │ - initiate attempt occurs. If a resource is determined to use a │ │ │ │ │ - Google transport it will initially use Google Jingle but will fall │ │ │ │ │ - back to Google-V1 if required. │ │ │ │ │ - │ │ │ │ │ - If an outgoing session attempt fails due to failure to │ │ │ │ │ - support the given transport │ │ │ │ │ - chan_motif │ │ │ │ │ - will │ │ │ │ │ - fall back in preference order listed previously until all │ │ │ │ │ - transports have been exhausted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dialing and Resource Selection Strategy │ │ │ │ │ - │ │ │ │ │ - Placing a call through an endpoint can be accomplished using the │ │ │ │ │ - following dial string: │ │ │ │ │ - │ │ │ │ │ - Motif/[endpoint name]/[target] │ │ │ │ │ - │ │ │ │ │ - When placing an outgoing call through an endpoint the requested │ │ │ │ │ - target is searched for in the roster list. If present the first Jingle │ │ │ │ │ - or Google Jingle capable resource is specifically targeted. Since the │ │ │ │ │ - capabilities of the resource are known the outgoing session initiation │ │ │ │ │ - will disregard the configured transport and use the determined one. │ │ │ │ │ - │ │ │ │ │ - If the target is not found in the roster the target will be used │ │ │ │ │ - as-is and a session will be initiated using the transport specified │ │ │ │ │ - in this configuration file. If no transport has been specified the │ │ │ │ │ - endpoint defaults to │ │ │ │ │ - ice-udp │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Video Support │ │ │ │ │ - │ │ │ │ │ - Support for video does not need to be explicitly enabled. │ │ │ │ │ - Configuring any video codec on your endpoint will automatically enable │ │ │ │ │ - it. │ │ │ │ │ - │ │ │ │ │ - DTMF │ │ │ │ │ - │ │ │ │ │ - The only supported method for DTMF is RFC2833. This is always │ │ │ │ │ - enabled on audio streams and negotiated if possible. │ │ │ │ │ - │ │ │ │ │ - Incoming Calls │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Incoming calls will first look for the extension matching the │ │ │ │ │ - name of the endpoint in the configured context. If no such extension │ │ │ │ │ - exists the call will automatically fall back to the │ │ │ │ │ - s │ │ │ │ │ - extension. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CallerID │ │ │ │ │ - │ │ │ │ │ - The incoming caller id number is populated with the username of │ │ │ │ │ - the caller and the name is populated with the full identity of the │ │ │ │ │ - caller. If you would like to perform authentication or filtering │ │ │ │ │ - of incoming calls it is recommended that you use these fields to do so. │ │ │ │ │ - │ │ │ │ │ - Outgoing caller id can │ │ │ │ │ - not │ │ │ │ │ - be set. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Multiple endpoints using the │ │ │ │ │ - same connection is │ │ │ │ │ - NOT │ │ │ │ │ - supported. Doing so │ │ │ │ │ - may result in broken calls. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The configuration for an endpoint. │ │ │ │ │ - │ │ │ │ │ - Default dialplan context that incoming sessions will be routed to │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A callgroup to assign to this endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A pickup group to assign to this endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The default language for this endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Default music on hold class for this endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Default parking lot for this endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Accout code for CDR purposes │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Codecs to allow │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Codecs to disallow │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Connection to accept traffic on and on which to send traffic out │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The transport to use for the endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The default outbound transport for this endpoint. Inbound │ │ │ │ │ - messages are inferred. Allowed transports are │ │ │ │ │ - ice-udp │ │ │ │ │ - , │ │ │ │ │ - google │ │ │ │ │ - , or │ │ │ │ │ - google-v1 │ │ │ │ │ - . Note │ │ │ │ │ - that │ │ │ │ │ - chan_motif │ │ │ │ │ - will fall back to transport │ │ │ │ │ - preference order if the transport value chosen here fails. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The Jingle protocol, as defined in XEP 0166. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The Google Jingle protocol, which follows the Jingle │ │ │ │ │ - specification for signaling but uses a custom transport for │ │ │ │ │ - media. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Google-V1 is the original Google Talk signaling │ │ │ │ │ - protocol which uses an initial preliminary version of Jingle. │ │ │ │ │ - It also uses the same custom transport as │ │ │ │ │ - google │ │ │ │ │ - for media. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum number of ICE candidates to offer │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum number of payloads to offer │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - isdnnet │ │ │ │ │ - misdn │ │ │ │ │ - suppserv │ │ │ │ │ - deprecated │ │ │ │ │ - chan_dahdi │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_rtp_multicast │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + alsa │ │ │ │ │ extended │ │ │ │ │ + 19 │ │ │ │ │ + 21 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - vpb │ │ │ │ │ - yes │ │ │ │ │ - deprecated │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - portaudio │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Return a dial string for dialing all contacts on an AOR. │ │ │ │ │ @@ -1147,501 +661,21 @@ │ │ │ │ │ ; Log the destination address of the audio stream │ │ │ │ │ same => n,Log(NOTICE, ${CHANNEL(rtp,dest)}) │ │ │ │ │ │ │ │ │ │ ; Store the round-trip time associated with a │ │ │ │ │ ; video stream in the CDR field video-rtt │ │ │ │ │ same => n,Set(CDR(video-rtt)=${CHANNEL(rtcp,rtt,video)}) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - dahdi │ │ │ │ │ - tonezone │ │ │ │ │ - res_smdi │ │ │ │ │ - pri │ │ │ │ │ - ss7 │ │ │ │ │ - openr2 │ │ │ │ │ + │ │ │ │ │ + res_rtp_multicast │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Send digits out of band over a PRI. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will send the given string of digits in a Keypad │ │ │ │ │ - Facility IE over the current channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send an ISDN call rerouting/deflection facility message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Destination number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Original called number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Diversion reason, if not specified defaults to │ │ │ │ │ - unknown │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will send an ISDN switch specific call │ │ │ │ │ - rerouting/deflection facility message over the current channel. │ │ │ │ │ - Supported switches depend upon the version of libpri in use. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Accept an R2 call if its not already accepted (you still need to answer it) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Yes or No. │ │ │ │ │ - Whether you want to accept the call with charge or without charge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will Accept the R2 call either with charge or no charge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set or get the polarity of a DAHDI channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The POLARITY function can be used to set the polarity of a DAHDI channel. │ │ │ │ │ - Applies only to FXS channels (using FXO signalling) with supporting hardware. │ │ │ │ │ - The polarity can be set to the following numeric or named values: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - However, when read, the function will always return 0 or 1. │ │ │ │ │ - same => n,Set(POLARITY()=0) │ │ │ │ │ - same => n,NoOp(Current Polarity: ${POLARITY()}) │ │ │ │ │ - same => n,Set(POLARITY()=reverse) │ │ │ │ │ - same => n,NoOp(New Polarity: ${POLARITY()}) │ │ │ │ │ - same => n,Set(POLARITY()=${IF($[ "${POLARITY()}" = "1" ]?0:1)}) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O DAHDI channel related to this channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O DAHDI span related to this channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O DAHDI logical group related to this channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O DAHDI channel type, one of: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O PRI Keypad digits that came in with the SETUP message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O PRI Reverse Charging Indication, one of: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - None │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reverse Charging Requested │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O PRI Nonzero if the channel has no B channel. │ │ │ │ │ - The channel is either on hold or a call waiting call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - W/O Change the channel's buffer policy (for the current call only) │ │ │ │ │ - This option takes two arguments: │ │ │ │ │ - Number of buffers, │ │ │ │ │ - Buffer policy being one of: │ │ │ │ │ - │ │ │ │ │ - full │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - immediate │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - half │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - W/O Change the configuration of the active echo │ │ │ │ │ - canceller on the channel (if any), for the current call │ │ │ │ │ - only. │ │ │ │ │ - Possible values are: │ │ │ │ │ - │ │ │ │ │ - on │ │ │ │ │ - Normal mode (the echo canceller is actually reinitialized) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - off │ │ │ │ │ - Disabled │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - fax │ │ │ │ │ - FAX/data mode (NLP disabled if possible, otherwise │ │ │ │ │ - completely disabled) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - voice │ │ │ │ │ - Voice mode (returns from FAX mode, reverting the changes that were made) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - DAHDI allows several modifiers to be specified as part of the resource. │ │ │ │ │ - The general syntax is : │ │ │ │ │ - │ │ │ │ │ - Dial(DAHDI/pseudo[/extension]) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dial(DAHDI/<channel#>[c|r<cadence#>|d][/extension]) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dial(DAHDI/(g|G|r|R)<group#(0-63)>[c|r<cadence#>|d][/extension]) │ │ │ │ │ - │ │ │ │ │ - The following modifiers may be used before the channel number: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Search forward, dialing on first available channel in group (lowest to highest). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Search backward, dialing on first available channel in group (highest to lowest). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Round robin search forward, picking up from where last left off (lowest to highest). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Round robin search backward, picking up from where last left off (highest to lowest). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The following modifiers may be used after the channel number: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Wait for DTMF digit │ │ │ │ │ - # │ │ │ │ │ - before providing answer supervision. │ │ │ │ │ - │ │ │ │ │ - This can be useful on outbound calls via FXO ports, as otherwise │ │ │ │ │ - they would indicate answer immediately. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Force bearer capability for ISDN/SS7 call to digital. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISDN span channel restriction. │ │ │ │ │ - Used by CC to ensure that the CC recall goes out the same span. │ │ │ │ │ - Also to make ISDN channel names dialable when the sequence number │ │ │ │ │ - is stripped off. (Used by DTMF attended transfer feature.) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specifies the distinctive ring cadence number to use immediately after │ │ │ │ │ - specifying this option. There are 4 default built-in cadences, and up to 24 │ │ │ │ │ - total cadences may be configured. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - same => n,Dial(DAHDI/g1/5551212) │ │ │ │ │ - same => n,Dial(DAHDI/4r2) │ │ │ │ │ - same => n,Dial(DAHDI/3c/5551212) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transfer DAHDI Channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - DAHDI channel number to transfer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Simulate a flash hook event by the user connected to the channel. │ │ │ │ │ - │ │ │ │ │ - Valid only for analog channels. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hangup DAHDI Channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - DAHDI channel number to hangup. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Simulate an on-hook event by the user connected to the channel. │ │ │ │ │ - │ │ │ │ │ - Valid only for analog channels. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dial over DAHDI channel while offhook. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - DAHDI channel number to dial digits. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Digits to dial. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Generate DTMF control frames to the bridged peer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Toggle DAHDI channel Do Not Disturb status ON. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - DAHDI channel number to set DND on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Equivalent to the CLI command "dahdi set dnd │ │ │ │ │ - channel │ │ │ │ │ - on". │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Feature only supported by analog channels. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Toggle DAHDI channel Do Not Disturb status OFF. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - DAHDI channel number to set DND off. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Equivalent to the CLI command "dahdi set dnd │ │ │ │ │ - channel │ │ │ │ │ - off". │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Feature only supported by analog channels. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show status of DAHDI channels. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specify the specific channel number to show. Show all channels if zero or not present. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Similar to the CLI command "dahdi show channels". │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Fully Restart DAHDI channels (terminates calls). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Equivalent to the CLI command "dahdi restart". │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show status of PRI spans. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specify the specific span to show. Show all spans if zero or not present. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Similar to the CLI command "pri show spans". │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set PRI debug levels for a span │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Which span to affect. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - What debug level to set. May be a numerical value or a text value from the list below │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Equivalent to the CLI command "pri set debug <level> span <span>". │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set the file used for PRI debug message output │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Path of file to write debug output. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Equivalent to the CLI command "pri set debug file <output-file>" │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Disables file output for PRI debug messages │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an alarm is cleared on a DAHDI channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The DAHDI channel on which the alarm was cleared. │ │ │ │ │ - │ │ │ │ │ - This is not an Asterisk channel identifier. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an alarm is cleared on a DAHDI span. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The span on which the alarm was cleared. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when the Do Not Disturb state is changed on a DAHDI channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The DAHDI channel on which DND status changed. │ │ │ │ │ - │ │ │ │ │ - This is not an Asterisk channel identifier. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an alarm is set on a DAHDI channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel on which the alarm occurred. │ │ │ │ │ - │ │ │ │ │ - This is not an Asterisk channel identifier. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A textual description of the alarm that occurred. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an alarm is set on a DAHDI span. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The span on which the alarm occurred. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A textual description of the alarm that occurred. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a DAHDI channel is created or an underlying technology is associated with a DAHDI channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The DAHDI logical group associated with this channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The DAHDI span associated with this channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The DAHDI channel associated with this channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - alsa │ │ │ │ │ - extended │ │ │ │ │ - 19 │ │ │ │ │ - 21 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ res_crypto │ │ │ │ │ res_http_websocket │ │ │ │ │ extended │ │ │ │ │ 17 │ │ │ │ │ 21 │ │ │ │ │ │ │ │ │ │ @@ -2056,18 +1090,446 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + iksemel │ │ │ │ │ + res_xmpp │ │ │ │ │ + openssl │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jingle Channel Driver │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transports │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + There are three different transports and protocol derivatives │ │ │ │ │ + supported by │ │ │ │ │ + chan_motif │ │ │ │ │ + . They are in order of │ │ │ │ │ + preference: Jingle using ICE-UDP, Google Jingle, and Google-V1. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jingle as defined in XEP-0166 supports the widest range of │ │ │ │ │ + features. It is referred to as │ │ │ │ │ + ice-udp │ │ │ │ │ + . This is │ │ │ │ │ + the specification that Jingle clients implement. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Google Jingle follows the Jingle specification for signaling │ │ │ │ │ + but uses a custom transport for media. It is supported by the │ │ │ │ │ + Google Talk Plug-in in Gmail and by some other Jingle clients. It │ │ │ │ │ + is referred to as │ │ │ │ │ + google │ │ │ │ │ + in this file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Google-V1 is the original Google Talk signaling protocol │ │ │ │ │ + which uses an initial preliminary version of Jingle. It also uses │ │ │ │ │ + the same custom transport as Google Jingle for media. It is │ │ │ │ │ + supported by Google Voice, some other Jingle clients, and the │ │ │ │ │ + Windows Google Talk client. It is referred to as │ │ │ │ │ + google-v1 │ │ │ │ │ + in this file. │ │ │ │ │ + │ │ │ │ │ + Incoming sessions will automatically switch to the correct │ │ │ │ │ + transport once it has been determined. │ │ │ │ │ + Outgoing sessions are capable of determining if the target │ │ │ │ │ + is capable of Jingle or a Google transport if the target is in the │ │ │ │ │ + roster. Unfortunately it is not possible to differentiate between │ │ │ │ │ + a Google Jingle or Google-V1 capable resource until a session │ │ │ │ │ + initiate attempt occurs. If a resource is determined to use a │ │ │ │ │ + Google transport it will initially use Google Jingle but will fall │ │ │ │ │ + back to Google-V1 if required. │ │ │ │ │ + │ │ │ │ │ + If an outgoing session attempt fails due to failure to │ │ │ │ │ + support the given transport │ │ │ │ │ + chan_motif │ │ │ │ │ + will │ │ │ │ │ + fall back in preference order listed previously until all │ │ │ │ │ + transports have been exhausted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Dialing and Resource Selection Strategy │ │ │ │ │ + │ │ │ │ │ + Placing a call through an endpoint can be accomplished using the │ │ │ │ │ + following dial string: │ │ │ │ │ + │ │ │ │ │ + Motif/[endpoint name]/[target] │ │ │ │ │ + │ │ │ │ │ + When placing an outgoing call through an endpoint the requested │ │ │ │ │ + target is searched for in the roster list. If present the first Jingle │ │ │ │ │ + or Google Jingle capable resource is specifically targeted. Since the │ │ │ │ │ + capabilities of the resource are known the outgoing session initiation │ │ │ │ │ + will disregard the configured transport and use the determined one. │ │ │ │ │ + │ │ │ │ │ + If the target is not found in the roster the target will be used │ │ │ │ │ + as-is and a session will be initiated using the transport specified │ │ │ │ │ + in this configuration file. If no transport has been specified the │ │ │ │ │ + endpoint defaults to │ │ │ │ │ + ice-udp │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Video Support │ │ │ │ │ + │ │ │ │ │ + Support for video does not need to be explicitly enabled. │ │ │ │ │ + Configuring any video codec on your endpoint will automatically enable │ │ │ │ │ + it. │ │ │ │ │ + │ │ │ │ │ + DTMF │ │ │ │ │ + │ │ │ │ │ + The only supported method for DTMF is RFC2833. This is always │ │ │ │ │ + enabled on audio streams and negotiated if possible. │ │ │ │ │ + │ │ │ │ │ + Incoming Calls │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Incoming calls will first look for the extension matching the │ │ │ │ │ + name of the endpoint in the configured context. If no such extension │ │ │ │ │ + exists the call will automatically fall back to the │ │ │ │ │ + s │ │ │ │ │ + extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CallerID │ │ │ │ │ + │ │ │ │ │ + The incoming caller id number is populated with the username of │ │ │ │ │ + the caller and the name is populated with the full identity of the │ │ │ │ │ + caller. If you would like to perform authentication or filtering │ │ │ │ │ + of incoming calls it is recommended that you use these fields to do so. │ │ │ │ │ + │ │ │ │ │ + Outgoing caller id can │ │ │ │ │ + not │ │ │ │ │ + be set. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Multiple endpoints using the │ │ │ │ │ + same connection is │ │ │ │ │ + NOT │ │ │ │ │ + supported. Doing so │ │ │ │ │ + may result in broken calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The configuration for an endpoint. │ │ │ │ │ + │ │ │ │ │ + Default dialplan context that incoming sessions will be routed to │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A callgroup to assign to this endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A pickup group to assign to this endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The default language for this endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Default music on hold class for this endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Default parking lot for this endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Accout code for CDR purposes │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Codecs to allow │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Codecs to disallow │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Connection to accept traffic on and on which to send traffic out │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The transport to use for the endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The default outbound transport for this endpoint. Inbound │ │ │ │ │ + messages are inferred. Allowed transports are │ │ │ │ │ + ice-udp │ │ │ │ │ + , │ │ │ │ │ + google │ │ │ │ │ + , or │ │ │ │ │ + google-v1 │ │ │ │ │ + . Note │ │ │ │ │ + that │ │ │ │ │ + chan_motif │ │ │ │ │ + will fall back to transport │ │ │ │ │ + preference order if the transport value chosen here fails. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The Jingle protocol, as defined in XEP 0166. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The Google Jingle protocol, which follows the Jingle │ │ │ │ │ + specification for signaling but uses a custom transport for │ │ │ │ │ + media. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Google-V1 is the original Google Talk signaling │ │ │ │ │ + protocol which uses an initial preliminary version of Jingle. │ │ │ │ │ + It also uses the same custom transport as │ │ │ │ │ + google │ │ │ │ │ + for media. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum number of ICE candidates to offer │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum number of payloads to offer │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Get the IP address of the peer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Get the source IP address of the peer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Get the source port of the peer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Get the URI from the From: header. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Get the URI from the Contact: header. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Get the Request-URI from the INVITE header. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Get the useragent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Get the name of the peer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O │ │ │ │ │ + 1 │ │ │ │ │ + if T38 is offered or enabled in this channel, │ │ │ │ │ + otherwise │ │ │ │ │ + 0 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Get QOS information about the RTP stream │ │ │ │ │ + This option takes two additional arguments: │ │ │ │ │ + Argument 1: │ │ │ │ │ + │ │ │ │ │ + audio │ │ │ │ │ + Get data about the audio stream │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + video │ │ │ │ │ + Get data about the video stream │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + text │ │ │ │ │ + Get data about the text stream │ │ │ │ │ + │ │ │ │ │ + Argument 2: │ │ │ │ │ + │ │ │ │ │ + local_ssrc │ │ │ │ │ + Local SSRC (stream ID) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + local_lostpackets │ │ │ │ │ + Local lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + local_jitter │ │ │ │ │ + Local calculated jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + local_maxjitter │ │ │ │ │ + Local calculated jitter (maximum) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + local_minjitter │ │ │ │ │ + Local calculated jitter (minimum) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + local_normdevjitter │ │ │ │ │ + Local calculated jitter (normal deviation) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + local_stdevjitter │ │ │ │ │ + Local calculated jitter (standard deviation) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + local_count │ │ │ │ │ + Number of received packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + remote_ssrc │ │ │ │ │ + Remote SSRC (stream ID) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + remote_lostpackets │ │ │ │ │ + Remote lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + remote_jitter │ │ │ │ │ + Remote reported jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + remote_maxjitter │ │ │ │ │ + Remote calculated jitter (maximum) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + remote_minjitter │ │ │ │ │ + Remote calculated jitter (minimum) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + remote_normdevjitter │ │ │ │ │ + Remote calculated jitter (normal deviation) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + remote_stdevjitter │ │ │ │ │ + Remote calculated jitter (standard deviation) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + remote_count │ │ │ │ │ + Number of transmitted packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + rtt │ │ │ │ │ + Round trip time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + maxrtt │ │ │ │ │ + Round trip time (maximum) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + minrtt │ │ │ │ │ + Round trip time (minimum) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + normdevrtt │ │ │ │ │ + Round trip time (normal deviation) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + stdevrtt │ │ │ │ │ + Round trip time (standard deviation) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + all │ │ │ │ │ + All statistics (in a form suited to logging, │ │ │ │ │ + but not for parsing) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Get remote RTP destination information. │ │ │ │ │ + This option takes one additional argument: │ │ │ │ │ + Argument 1: │ │ │ │ │ + │ │ │ │ │ + audio │ │ │ │ │ + Get audio destination │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + video │ │ │ │ │ + Get video destination │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + text │ │ │ │ │ + Get text destination │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Defaults to │ │ │ │ │ + audio │ │ │ │ │ + if unspecified. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Get source RTP destination information. │ │ │ │ │ + This option takes one additional argument: │ │ │ │ │ + Argument 1: │ │ │ │ │ + │ │ │ │ │ + audio │ │ │ │ │ + Get audio destination │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + video │ │ │ │ │ + Get video destination │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + text │ │ │ │ │ + Get text destination │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Defaults to │ │ │ │ │ + audio │ │ │ │ │ + if unspecified. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ res_crypto │ │ │ │ │ crypto │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ @@ -2225,29 +1687,93 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Show IAX registrations. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - nbs │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Published when a malicious call ID request arrives. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + oss │ │ │ │ │ deprecated │ │ │ │ │ 16 │ │ │ │ │ 19 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ ixjuser │ │ │ │ │ deprecated │ │ │ │ │ 16 │ │ │ │ │ 19 │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + nbs │ │ │ │ │ + deprecated │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ 19 │ │ │ │ │ 21 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ List SKINNY devices (text format). │ │ │ │ │ @@ -2291,35 +1817,512 @@ │ │ │ │ │ The line name you want to check. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Show one SKINNY line with details on current status. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - oss │ │ │ │ │ - deprecated │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ + │ │ │ │ │ + dahdi │ │ │ │ │ + tonezone │ │ │ │ │ + res_smdi │ │ │ │ │ + pri │ │ │ │ │ + ss7 │ │ │ │ │ + openr2 │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Send digits out of band over a PRI. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application will send the given string of digits in a Keypad │ │ │ │ │ + Facility IE over the current channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send an ISDN call rerouting/deflection facility message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Destination number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Original called number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Diversion reason, if not specified defaults to │ │ │ │ │ + unknown │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application will send an ISDN switch specific call │ │ │ │ │ + rerouting/deflection facility message over the current channel. │ │ │ │ │ + Supported switches depend upon the version of libpri in use. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Accept an R2 call if its not already accepted (you still need to answer it) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Yes or No. │ │ │ │ │ + Whether you want to accept the call with charge or without charge. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application will Accept the R2 call either with charge or no charge. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set or get the polarity of a DAHDI channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The POLARITY function can be used to set the polarity of a DAHDI channel. │ │ │ │ │ + Applies only to FXS channels (using FXO signalling) with supporting hardware. │ │ │ │ │ + The polarity can be set to the following numeric or named values: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + However, when read, the function will always return 0 or 1. │ │ │ │ │ + same => n,Set(POLARITY()=0) │ │ │ │ │ + same => n,NoOp(Current Polarity: ${POLARITY()}) │ │ │ │ │ + same => n,Set(POLARITY()=reverse) │ │ │ │ │ + same => n,NoOp(New Polarity: ${POLARITY()}) │ │ │ │ │ + same => n,Set(POLARITY()=${IF($[ "${POLARITY()}" = "1" ]?0:1)}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O DAHDI channel related to this channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O DAHDI span related to this channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O DAHDI logical group related to this channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O DAHDI channel type, one of: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O PRI Keypad digits that came in with the SETUP message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O PRI Reverse Charging Indication, one of: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + None │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reverse Charging Requested │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O PRI Nonzero if the channel has no B channel. │ │ │ │ │ + The channel is either on hold or a call waiting call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + W/O Change the channel's buffer policy (for the current call only) │ │ │ │ │ + This option takes two arguments: │ │ │ │ │ + Number of buffers, │ │ │ │ │ + Buffer policy being one of: │ │ │ │ │ + │ │ │ │ │ + full │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + immediate │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + half │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + W/O Change the configuration of the active echo │ │ │ │ │ + canceller on the channel (if any), for the current call │ │ │ │ │ + only. │ │ │ │ │ + Possible values are: │ │ │ │ │ + │ │ │ │ │ + on │ │ │ │ │ + Normal mode (the echo canceller is actually reinitialized) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + off │ │ │ │ │ + Disabled │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + fax │ │ │ │ │ + FAX/data mode (NLP disabled if possible, otherwise │ │ │ │ │ + completely disabled) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + voice │ │ │ │ │ + Voice mode (returns from FAX mode, reverting the changes that were made) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + DAHDI allows several modifiers to be specified as part of the resource. │ │ │ │ │ + The general syntax is : │ │ │ │ │ + │ │ │ │ │ + Dial(DAHDI/pseudo[/extension]) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Dial(DAHDI/<channel#>[c|r<cadence#>|d][/extension]) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Dial(DAHDI/(g|G|r|R)<group#(0-63)>[c|r<cadence#>|d][/extension]) │ │ │ │ │ + │ │ │ │ │ + The following modifiers may be used before the channel number: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Search forward, dialing on first available channel in group (lowest to highest). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Search backward, dialing on first available channel in group (highest to lowest). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Round robin search forward, picking up from where last left off (lowest to highest). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Round robin search backward, picking up from where last left off (highest to lowest). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The following modifiers may be used after the channel number: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Wait for DTMF digit │ │ │ │ │ + # │ │ │ │ │ + before providing answer supervision. │ │ │ │ │ + │ │ │ │ │ + This can be useful on outbound calls via FXO ports, as otherwise │ │ │ │ │ + they would indicate answer immediately. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Force bearer capability for ISDN/SS7 call to digital. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISDN span channel restriction. │ │ │ │ │ + Used by CC to ensure that the CC recall goes out the same span. │ │ │ │ │ + Also to make ISDN channel names dialable when the sequence number │ │ │ │ │ + is stripped off. (Used by DTMF attended transfer feature.) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specifies the distinctive ring cadence number to use immediately after │ │ │ │ │ + specifying this option. There are 4 default built-in cadences, and up to 24 │ │ │ │ │ + total cadences may be configured. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + same => n,Dial(DAHDI/g1/5551212) │ │ │ │ │ + same => n,Dial(DAHDI/4r2) │ │ │ │ │ + same => n,Dial(DAHDI/3c/5551212) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transfer DAHDI Channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + DAHDI channel number to transfer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Simulate a flash hook event by the user connected to the channel. │ │ │ │ │ + │ │ │ │ │ + Valid only for analog channels. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Hangup DAHDI Channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + DAHDI channel number to hangup. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Simulate an on-hook event by the user connected to the channel. │ │ │ │ │ + │ │ │ │ │ + Valid only for analog channels. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Dial over DAHDI channel while offhook. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + DAHDI channel number to dial digits. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Digits to dial. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Generate DTMF control frames to the bridged peer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Toggle DAHDI channel Do Not Disturb status ON. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + DAHDI channel number to set DND on. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Equivalent to the CLI command "dahdi set dnd │ │ │ │ │ + channel │ │ │ │ │ + on". │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Feature only supported by analog channels. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Toggle DAHDI channel Do Not Disturb status OFF. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + DAHDI channel number to set DND off. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Equivalent to the CLI command "dahdi set dnd │ │ │ │ │ + channel │ │ │ │ │ + off". │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Feature only supported by analog channels. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show status of DAHDI channels. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specify the specific channel number to show. Show all channels if zero or not present. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Similar to the CLI command "dahdi show channels". │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Fully Restart DAHDI channels (terminates calls). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Equivalent to the CLI command "dahdi restart". │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show status of PRI spans. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specify the specific span to show. Show all spans if zero or not present. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Similar to the CLI command "pri show spans". │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set PRI debug levels for a span │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Which span to affect. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + What debug level to set. May be a numerical value or a text value from the list below │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Equivalent to the CLI command "pri set debug <level> span <span>". │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set the file used for PRI debug message output │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Path of file to write debug output. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Equivalent to the CLI command "pri set debug file <output-file>" │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Disables file output for PRI debug messages │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an alarm is cleared on a DAHDI channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The DAHDI channel on which the alarm was cleared. │ │ │ │ │ + │ │ │ │ │ + This is not an Asterisk channel identifier. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an alarm is cleared on a DAHDI span. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The span on which the alarm was cleared. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when the Do Not Disturb state is changed on a DAHDI channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The DAHDI channel on which DND status changed. │ │ │ │ │ + │ │ │ │ │ + This is not an Asterisk channel identifier. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an alarm is set on a DAHDI channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The channel on which the alarm occurred. │ │ │ │ │ + │ │ │ │ │ + This is not an Asterisk channel identifier. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A textual description of the alarm that occurred. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an alarm is set on a DAHDI span. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The span on which the alarm occurred. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A textual description of the alarm that occurred. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a DAHDI channel is created or an underlying technology is associated with a DAHDI channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The DAHDI logical group associated with this channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The DAHDI span associated with this channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The DAHDI channel associated with this channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ 19 │ │ │ │ │ 21 │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + vpb │ │ │ │ │ + yes │ │ │ │ │ + deprecated │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + isdnnet │ │ │ │ │ + misdn │ │ │ │ │ + suppserv │ │ │ │ │ + deprecated │ │ │ │ │ + chan_dahdi │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + portaudio │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ lua │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Add an extension to the dialplan │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -2364,22 +2367,22 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ If provided, only remove this priority from the extension instead of all │ │ │ │ │ priorities in the extension. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ zlib │ │ │ │ │ res_crypto │ │ │ │ │ crypto │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ @@ -2485,924 +2488,4278 @@ │ │ │ │ │ │ │ │ │ │ Execute the named subroutine, defined in AEL, from another dialplan │ │ │ │ │ language, such as extensions.conf, Realtime extensions, or Lua. │ │ │ │ │ The purpose of this application is to provide a sane entry point into │ │ │ │ │ AEL subroutines, the implementation of which may change from time to time. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - no │ │ │ │ │ + │ │ │ │ │ + Join a bridge that contains the specified channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Name of the channel in an existing bridge │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application places the incoming channel into │ │ │ │ │ + the bridge containing the specified channel. The specified │ │ │ │ │ + channel only needs to be the prefix of a full channel name │ │ │ │ │ + IE. 'SIP/cisco0001'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Execute Interface Test Server. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Perform test server function and write call report. Results stored in │ │ │ │ │ + /var/log/asterisk/testreports/<testid>-server.txt │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + TestClient │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Execute Interface Test Client. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + An ID to identify this test. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes test client with given │ │ │ │ │ + testid │ │ │ │ │ + . Results stored in │ │ │ │ │ + /var/log/asterisk/testreports/<testid>-client.txt │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + TestServer │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - An example number guessing game │ │ │ │ │ + │ │ │ │ │ + Echo media, up to 'N' streams of a type, and DTMF back to the calling party │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The number of streams of a type to echo back. If '0' is specified then │ │ │ │ │ + all streams of a type are removed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The media type of the stream(s) to add or remove (in the case of "num" │ │ │ │ │ + being '0'). This can be set to either "audio" or "video" (default). If "num" │ │ │ │ │ + is empty (i.e. not specified) then this parameter is ignored. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This simple number guessing application is a template to build other applications │ │ │ │ │ - from. It shows you the basic structure to create your own Asterisk applications. │ │ │ │ │ + If a "num" (the number of streams) is not given then this simply echos │ │ │ │ │ + back any media or DTMF frames (note, however if '#' is detected then the │ │ │ │ │ + application exits) read from the calling channel back to itself. This means │ │ │ │ │ + for any relevant frame read from a particular stream it is written back out │ │ │ │ │ + to the associated write stream in a one to one fashion. │ │ │ │ │ + However if a "num" is specified, and if the calling channel allows it │ │ │ │ │ + (a new offer is made requesting the allowance of additional streams) then any │ │ │ │ │ + any media received, like before, is echoed back onto each stream. However, in │ │ │ │ │ + this case a relevant frame received on a stream of the given "type" is also │ │ │ │ │ + echoed back out to the other streams of that same type. It should be noted that │ │ │ │ │ + when operating in this mode only the first stream found of the given "type" is │ │ │ │ │ + allowed from the original offer. And this first stream found is also the only │ │ │ │ │ + stream of that "type" granted read (send/receive) capabilities in the new offer │ │ │ │ │ + whereas the additional ones are set to receive only. │ │ │ │ │ + │ │ │ │ │ + This does not echo CONTROL, MODEM, or NULL frames. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Options that apply globally to app_skel │ │ │ │ │ - │ │ │ │ │ - The number of games a single execution of SkelGuessNumber will play │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Should the computer cheat? │ │ │ │ │ - │ │ │ │ │ - If enabled, the computer will ignore winning guesses. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Prompts for SkelGuessNumber to play │ │ │ │ │ - │ │ │ │ │ - A prompt directing the user to enter a number less than the max number │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound file to play when a wrong guess is made │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound file to play when a correct guess is made │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound file to play when a guess is too low │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound file to play when a guess is too high │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound file to play when a player loses │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Defined levels for the SkelGuessNumber game │ │ │ │ │ - │ │ │ │ │ - The maximum in the range of numbers to guess (1 is the implied minimum) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The maximum number of guesses before a game is considered lost │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - openssl │ │ │ │ │ - imap_tk │ │ │ │ │ - res_adsi │ │ │ │ │ - res_smdi │ │ │ │ │ - yes │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Leave a Voicemail message. │ │ │ │ │ + │ │ │ │ │ + Attempt to connect to another device or endpoint and bridge the call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specification of the device(s) to dial. These must be in the format of │ │ │ │ │ + Technology/Resource │ │ │ │ │ + , where │ │ │ │ │ + Technology │ │ │ │ │ + represents a particular channel driver, and │ │ │ │ │ + Resource │ │ │ │ │ + represents a resource available to that particular channel driver. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Optional extra devices to dial in parallel │ │ │ │ │ + If you need more than one enter them as │ │ │ │ │ + Technology2/Resource2&Technology3/Resource3&..... │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Specifies the number of seconds we attempt to dial the specified devices. │ │ │ │ │ + If not specified, this defaults to 136 years. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application allows the calling party to leave a message for the specified │ │ │ │ │ - list of mailboxes. When multiple mailboxes are specified, the greeting will be taken from │ │ │ │ │ - the first mailbox specified. Dialplan execution will stop if the specified mailbox does not │ │ │ │ │ - exist. │ │ │ │ │ - The Voicemail application will exit if any of the following DTMF digits are received: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jump to the │ │ │ │ │ - o │ │ │ │ │ - extension in the current dialplan context. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jump to the │ │ │ │ │ - a │ │ │ │ │ - extension in the current dialplan context. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will set the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This indicates the status of the execution of the VoiceMail application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - VoiceMailMain │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check Voicemail messages. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + The optional URL will be sent to the called party if the channel driver supports it. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + This application will place calls to one or more specified channels. As soon │ │ │ │ │ + as one of the requested channels answers, the originating channel will be │ │ │ │ │ + answered, if it has not already been answered. These two channels will then │ │ │ │ │ + be active in a bridged call. All other channels that were requested will then │ │ │ │ │ + be hung up. │ │ │ │ │ + Unless there is a timeout specified, the Dial application will wait │ │ │ │ │ + indefinitely until one of the called channels answers, the user hangs up, or │ │ │ │ │ + if all of the called channels are busy or unavailable. Dialplan execution will │ │ │ │ │ + continue if no requested channels can be called, or if the timeout expires. │ │ │ │ │ + This application will report normal termination if the originating channel │ │ │ │ │ + hangs up, or if the call is bridged and either of the parties in the bridge │ │ │ │ │ + ends the call. │ │ │ │ │ │ │ │ │ │ - This application allows the calling party to check voicemail messages. A specific │ │ │ │ │ - mailbox │ │ │ │ │ - , and optional corresponding │ │ │ │ │ - context │ │ │ │ │ + If the │ │ │ │ │ + OUTBOUND_GROUP │ │ │ │ │ + variable is set, all peer channels created by this │ │ │ │ │ + application will be put into that group (as in │ │ │ │ │ + Set(GROUP()=... │ │ │ │ │ + ). │ │ │ │ │ + If the │ │ │ │ │ + OUTBOUND_GROUP_ONCE │ │ │ │ │ + variable is set, all peer channels created by this │ │ │ │ │ + application will be put into that group (as in │ │ │ │ │ + Set(GROUP()=... │ │ │ │ │ + ). Unlike │ │ │ │ │ + OUTBOUND_GROUP │ │ │ │ │ , │ │ │ │ │ - may be specified. If a │ │ │ │ │ - mailbox │ │ │ │ │ - is not provided, the calling party will │ │ │ │ │ - be prompted to enter one. If a │ │ │ │ │ - context │ │ │ │ │ - is not specified, the │ │ │ │ │ - default │ │ │ │ │ - context will be used. │ │ │ │ │ + however, the variable will be unset after use. │ │ │ │ │ │ │ │ │ │ - The VoiceMailMain application will exit if the following DTMF digit is entered as Mailbox │ │ │ │ │ - or Password, and the extension exists: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jump to the │ │ │ │ │ - a │ │ │ │ │ - extension in the current dialplan context. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + same => n,Dial(PJSIP/alice,30) │ │ │ │ │ + same => n,Dial(PJSIP/alice&PJIP/bob,45) │ │ │ │ │ + same => n,Dial(PJSIP/alice,,g) │ │ │ │ │ + same => n,Log(NOTICE, Alice call result: ${DIALSTATUS}) │ │ │ │ │ + same => n,Dial(PJSIP/alice,,TX) │ │ │ │ │ + same => n,Dial(PJSIP/alice,,L(60000:30000:10000)) │ │ │ │ │ + same => n,Dial(PJSIP/alice&PJSIP/bob,,Q(NO_ANSWER)) │ │ │ │ │ + [default] │ │ │ │ │ + exten => callee_channel,1,NoOp(ARG1=${ARG1} ARG2=${ARG2}) │ │ │ │ │ + same => n,Log(NOTICE, I'm called on channel ${CHANNEL} prior to it starting the dial attempt) │ │ │ │ │ + same => n,Return() │ │ │ │ │ + exten => called_channel,1,NoOp(ARG1=${ARG1} ARG2=${ARG2}) │ │ │ │ │ + same => n,Log(NOTICE, I'm called on outbound channel ${CHANNEL} prior to it being used to dial someone) │ │ │ │ │ + same => n,Return() │ │ │ │ │ + exten => _X.,1,NoOp() │ │ │ │ │ + same => n,Dial(PJSIP/alice,,b(default^called_channel^1(my_gosub_arg1^my_gosub_arg2))B(default^callee_channel^1(my_gosub_arg1^my_gosub_arg2))) │ │ │ │ │ + same => n,Hangup() │ │ │ │ │ + [my_gosub_routine] │ │ │ │ │ + exten => s,1,NoOp(ARG1=${ARG1} ARG2=${ARG2}) │ │ │ │ │ + same => n,Playback(hello) │ │ │ │ │ + same => n,Return() │ │ │ │ │ + [default] │ │ │ │ │ + exten => _X.,1,NoOp() │ │ │ │ │ + same => n,Dial(PJSIP/alice,,U(my_gosub_routine^my_gosub_arg1^my_gosub_arg2)) │ │ │ │ │ + same => n,Hangup() │ │ │ │ │ + same => n,Dial(PJSIP/alice,,G(jump_to_here)) │ │ │ │ │ + same => n(jump_to_here),Goto(confbridge) │ │ │ │ │ + same => n,Goto(confbridge) │ │ │ │ │ + same => n(confbridge),ConfBridge(${EXTEN}) │ │ │ │ │ + This application sets the following channel variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the time from dialing a channel until when it is disconnected. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the milliseconds version of the DIALEDTIME variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the amount of time for actual call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the milliseconds version of the ANSWEREDTIME variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the time from creating the channel to the first RINGING event received. Empty if there was no ring. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the milliseconds version of the RINGTIME variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the time from creating the channel to the first PROGRESS event received. Empty if there was no such event. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the milliseconds version of the PROGRESSTIME variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the outbound channel that answered the call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number that was dialed for the answered outbound channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If a call forward occurred, the name of the forwarded channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the status of the call │ │ │ │ │ + Either the dialed peer exists but is not currently reachable, e.g. │ │ │ │ │ + endpoint is not registered, or an attempt was made to call a │ │ │ │ │ + nonexistent location, e.g. nonexistent DNS hostname. │ │ │ │ │ + Channel or switching congestion occured when routing the call. │ │ │ │ │ + This can occur if there is a slow or no response from the remote end. │ │ │ │ │ + Called party did not answer. │ │ │ │ │ + The called party was busy or indicated a busy status. │ │ │ │ │ + Note that some SIP devices will respond with 486 Busy if their Do Not Disturb │ │ │ │ │ + modes are active. In this case, you can use DEVICE_STATUS to check if the │ │ │ │ │ + endpoint is actually in use, if needed. │ │ │ │ │ + The call was answered. │ │ │ │ │ + Any other result implicitly indicates the call was not answered. │ │ │ │ │ + Dial was cancelled before call was answered or reached some other terminating event. │ │ │ │ │ + For the Privacy and Screening Modes. │ │ │ │ │ + Will be set if the called party chooses to send the calling party to the 'Go Away' script. │ │ │ │ │ + For the Privacy and Screening Modes. │ │ │ │ │ + Will be set if the called party chooses to send the calling party to the 'torture' script. │ │ │ │ │ + Dial failed due to invalid syntax. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - VoiceMail │ │ │ │ │ + RetryDial │ │ │ │ │ + SendDTMF │ │ │ │ │ + Gosub │ │ │ │ │ + Macro │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Check to see if Voicemail mailbox exists. │ │ │ │ │ + │ │ │ │ │ + Place a call, retrying on failure allowing an optional exit extension. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Filename of sound that will be played when no channel can be reached │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - None options. │ │ │ │ │ + │ │ │ │ │ + Number of seconds to wait after a dial attempt failed before a new attempt is made │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of retries │ │ │ │ │ + When this is reached flow will continue at the next priority in the dialplan │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Same format as arguments provided to the Dial application │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - DEPRECATED. Use VM_INFO(mailbox[@context],exists) instead. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - Check to see if the specified │ │ │ │ │ - mailbox │ │ │ │ │ - exists. If no voicemail │ │ │ │ │ - context │ │ │ │ │ - is specified, the │ │ │ │ │ - default │ │ │ │ │ - context │ │ │ │ │ - will be used. │ │ │ │ │ + This application will attempt to place a call using the normal Dial application. │ │ │ │ │ + If no channel can be reached, the │ │ │ │ │ + announce │ │ │ │ │ + file will be played. │ │ │ │ │ + Then, it will wait │ │ │ │ │ + sleep │ │ │ │ │ + number of seconds before retrying the call. │ │ │ │ │ + After │ │ │ │ │ + retries │ │ │ │ │ + number of attempts, the calling channel will continue at the next priority in the dialplan. │ │ │ │ │ + If the │ │ │ │ │ + retries │ │ │ │ │ + setting is set to 0, this application will retry endlessly. │ │ │ │ │ + While waiting to retry a call, a 1 digit extension may be dialed. If that │ │ │ │ │ + extension exists in either the context defined in │ │ │ │ │ + EXITCONTEXT │ │ │ │ │ + or the current │ │ │ │ │ + one, The call will jump to that extension immediately. │ │ │ │ │ + The │ │ │ │ │ + dialargs │ │ │ │ │ + are specified in the same format that arguments are provided │ │ │ │ │ + to the Dial application. │ │ │ │ │ │ │ │ │ │ - This application will set the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This will contain the status of the execution of the MailboxExists application. │ │ │ │ │ - Possible values include: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - VM_INFO │ │ │ │ │ + Dial │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Authenticate with Voicemail passwords. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send arbitrary text to verbose output. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Must be an integer value. If not specified, defaults to 0. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Output text message. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This application behaves the same way as the Authenticate application, but the passwords │ │ │ │ │ - are taken from │ │ │ │ │ - voicemail.conf │ │ │ │ │ - . If the │ │ │ │ │ - mailbox │ │ │ │ │ - is │ │ │ │ │ - specified, only that mailbox's password will be considered valid. If the │ │ │ │ │ - mailbox │ │ │ │ │ - is not specified, the channel variable │ │ │ │ │ - AUTH_MAILBOX │ │ │ │ │ - will be set with the authenticated │ │ │ │ │ - mailbox. │ │ │ │ │ - │ │ │ │ │ - The VMAuthenticate application will exit if the following DTMF digit is entered as Mailbox │ │ │ │ │ - or Password, and the extension exists: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jump to the │ │ │ │ │ - a │ │ │ │ │ - extension in the current dialplan context. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Sends an arbitrary text message to verbose output. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Play a single voice mail msg from a mailbox by msg id. │ │ │ │ │ + │ │ │ │ │ + Send arbitrary text to a selected log level. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Level must be one of │ │ │ │ │ + ERROR │ │ │ │ │ + , │ │ │ │ │ + WARNING │ │ │ │ │ + , │ │ │ │ │ + NOTICE │ │ │ │ │ + , │ │ │ │ │ + DEBUG │ │ │ │ │ + , │ │ │ │ │ + VERBOSE │ │ │ │ │ + , │ │ │ │ │ + DTMF │ │ │ │ │ + , or │ │ │ │ │ + the name of a custom dynamic logging level. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The msg id of the msg to play back. │ │ │ │ │ + │ │ │ │ │ + Output text message. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The status of the playback attempt as a text string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Sends an arbitrary text message to a selected log level. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Play the name of a voicemail user │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.21.0 │ │ │ │ │ + 18.7.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Detects MF digits on a channel and saves them to a variable. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The input digits will be stored in the given │ │ │ │ │ + variable │ │ │ │ │ + name. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will say the recorded name of the voicemail user specified as the │ │ │ │ │ - argument to this application. If no context is provided, │ │ │ │ │ - default │ │ │ │ │ - is assumed. │ │ │ │ │ - │ │ │ │ │ - Similar to the Background() application, playback of the recorded │ │ │ │ │ - name can be interrupted by entering an extension, which will be searched │ │ │ │ │ - for in the current context. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Tell if a mailbox is configured. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - DEPRECATED. Use VM_INFO(mailbox[@context],exists) instead. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns a boolean of whether the corresponding │ │ │ │ │ - mailbox │ │ │ │ │ - exists. │ │ │ │ │ - If │ │ │ │ │ - context │ │ │ │ │ - is not specified, defaults to the │ │ │ │ │ - default │ │ │ │ │ - context. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - VM_INFO │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns the selected attribute from a mailbox. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of seconds to wait for all digits, if greater │ │ │ │ │ + than │ │ │ │ │ + 0 │ │ │ │ │ + . Can be floating point. Default │ │ │ │ │ + is no timeout. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If not specified, │ │ │ │ │ - INBOX │ │ │ │ │ - is assumed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns the selected attribute from the specified │ │ │ │ │ - mailbox │ │ │ │ │ - . │ │ │ │ │ - If │ │ │ │ │ - context │ │ │ │ │ - is not specified, defaults to the │ │ │ │ │ - default │ │ │ │ │ - context. Where the │ │ │ │ │ - folder │ │ │ │ │ - can be specified, common folders │ │ │ │ │ - include │ │ │ │ │ - INBOX │ │ │ │ │ - , │ │ │ │ │ - Old │ │ │ │ │ - , │ │ │ │ │ - Work │ │ │ │ │ - , │ │ │ │ │ - Family │ │ │ │ │ - and │ │ │ │ │ - Friends │ │ │ │ │ + Reads a ST, STP, ST2P, or ST3P-terminated string of MF digits from │ │ │ │ │ + the user in to the given │ │ │ │ │ + variable │ │ │ │ │ . │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + This application does not automatically answer the channel and │ │ │ │ │ + should be preceded with │ │ │ │ │ + Answer │ │ │ │ │ + or │ │ │ │ │ + Progress │ │ │ │ │ + as needed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the status of the read operation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List All Voicemail User Information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show the status of given voicemail user's info. │ │ │ │ │ + │ │ │ │ │ + Read │ │ │ │ │ + SendMF │ │ │ │ │ + ReceiveSF │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.21.0 │ │ │ │ │ + 18.7.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Sends arbitrary MF digits on the current or specified channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The context you want to check. │ │ │ │ │ + │ │ │ │ │ + List of digits 0-9,*#ABC to send; w for a half-second pause, │ │ │ │ │ + also f or F for a flash-hook if the channel supports flash-hook, │ │ │ │ │ + h or H for 250 ms of 2600 Hz, │ │ │ │ │ + and W for a wink if the channel supports wink. │ │ │ │ │ + Key pulse and start digits are not included automatically. │ │ │ │ │ + * is used for KP, # for ST, A for STP, B for ST2P, and C for ST3P. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The mailbox you want to check. │ │ │ │ │ + │ │ │ │ │ + Amount of time to wait in ms between tones. (defaults to 50ms). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Duration of each numeric digit (defaults to 55ms). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Duration of KP digits (defaults to 120ms). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Duration of ST, STP, ST2P, and ST3P digits (defaults to 65ms). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel where digits will be played │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Retrieves the status of the given voicemail user. │ │ │ │ │ + It will send all digits or terminate if it encounters an error. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Tell Asterisk to poll mailboxes for a change │ │ │ │ │ + │ │ │ │ │ + ReceiveMF │ │ │ │ │ + SendSF │ │ │ │ │ + SendDTMF │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.21.0 │ │ │ │ │ + 18.7.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Play MF digit on a specific channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Channel name to send digit to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The MF digit to play. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The duration, in milliseconds, of the digit to be played. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Normally, MWI indicators are only sent when Asterisk itself │ │ │ │ │ - changes a mailbox. With external programs that modify the content │ │ │ │ │ - of a mailbox from outside the application, an option exists called │ │ │ │ │ - pollmailboxes │ │ │ │ │ - that will cause voicemail to │ │ │ │ │ - continually scan all mailboxes on a system for changes. This can │ │ │ │ │ - cause a large amount of load on a system. This command allows │ │ │ │ │ - external applications to signal when a particular mailbox has │ │ │ │ │ - changed, thus permitting external applications to modify mailboxes │ │ │ │ │ - and MWI to work without introducing considerable CPU load. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - Context │ │ │ │ │ - is not specified, all │ │ │ │ │ - mailboxes on the system will be polled for changes. If │ │ │ │ │ - Context │ │ │ │ │ - is specified, but │ │ │ │ │ - Mailbox │ │ │ │ │ - is omitted, then all mailboxes │ │ │ │ │ - within │ │ │ │ │ - Context │ │ │ │ │ - will be polled. │ │ │ │ │ - Otherwise, only a single mailbox will be polled for changes. │ │ │ │ │ - │ │ │ │ │ + Plays an MF digit on the specified channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_speech │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Says a specified time in a custom format. │ │ │ │ │ + │ │ │ │ │ + Create a Speech Structure. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - time, in seconds since Jan 1, 1970. May be negative. Defaults to now. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - timezone, see │ │ │ │ │ - /usr/share/zoneinfo │ │ │ │ │ - for a list. Defaults to machine default. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - a format the time is to be said in. See │ │ │ │ │ - voicemail.conf │ │ │ │ │ - . │ │ │ │ │ - Defaults to │ │ │ │ │ - ABdY "digits/at" IMp │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application creates information to be used by all the other applications. │ │ │ │ │ + It must be called before doing any speech recognition activities such as activating a grammar. │ │ │ │ │ + It takes the engine name to use as the argument, if not specified the default engine will be used. │ │ │ │ │ + Sets the ERROR channel variable to 1 if the engine cannot be used. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Activate a grammar. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This activates the specified grammar to be recognized by the engine. │ │ │ │ │ + A grammar tells the speech recognition engine what to recognize, and how to portray it back to you │ │ │ │ │ + in the dialplan. The grammar name is the only argument to this application. │ │ │ │ │ + Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Start recognizing voice in the audio stream. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Tell the speech recognition engine that it should start trying to get results from audio being │ │ │ │ │ + fed to it. │ │ │ │ │ + Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play a sound file and wait for speech to be recognized. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Timeout integer in seconds. Note the timeout will only start │ │ │ │ │ + once the sound file has stopped playing. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Uses some of the sound files stored in │ │ │ │ │ - /var/lib/asterisk/sounds │ │ │ │ │ - to construct a phrase │ │ │ │ │ - saying the specified date and/or time in the specified format. │ │ │ │ │ - │ │ │ │ │ + This application plays a sound file and waits for the person to speak. Once they start speaking playback │ │ │ │ │ + of the file stops, and silence is heard. Once they stop talking the processing sound is played to indicate │ │ │ │ │ + the speech recognition engine is working. Once results are available the application returns and results │ │ │ │ │ + (score and text) are available using dialplan functions. │ │ │ │ │ + The first text and score are ${SPEECH_TEXT(0)} AND ${SPEECH_SCORE(0)} while the second are ${SPEECH_TEXT(1)} │ │ │ │ │ + and ${SPEECH_SCORE(1)}. │ │ │ │ │ + The first argument is the sound file and the second is the timeout integer in seconds. │ │ │ │ │ + Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - STRFTIME │ │ │ │ │ - STRPTIME │ │ │ │ │ - IFTIME │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Says a specified time in a custom format. │ │ │ │ │ + │ │ │ │ │ + Deactivate a grammar. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - time, in seconds since Jan 1, 1970. May be negative. Defaults to now. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - timezone, see │ │ │ │ │ - /usr/share/zoneinfo │ │ │ │ │ - for a list. Defaults to machine default. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - a format the time is to be said in. See │ │ │ │ │ - voicemail.conf │ │ │ │ │ - . │ │ │ │ │ - Defaults to │ │ │ │ │ - ABdY "digits/at" IMp │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The grammar name to deactivate │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Say the date and time in a specified format. │ │ │ │ │ + This deactivates the specified grammar so that it is no longer recognized. │ │ │ │ │ + Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + Change background processing sound. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This changes the processing sound that SpeechBackground plays back when the speech recognition engine is │ │ │ │ │ + processing and working to get results. │ │ │ │ │ + Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + End speech recognition. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This destroys the information used by all the other speech recognition applications. │ │ │ │ │ + If you call this application but end up wanting to recognize more speech, you must call SpeechCreate() │ │ │ │ │ + again before calling any other application. │ │ │ │ │ + Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Load a grammar. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Load a grammar only on the channel, not globally. │ │ │ │ │ + Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unload a grammar. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unload a grammar. │ │ │ │ │ + Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets the confidence score of a result. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets the confidence score of a result. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets the recognized text of a result. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets the recognized text of a result. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets the matched grammar of a result if available. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets the matched grammar of a result if available. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get or change a speech engine specific attribute. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Changes a speech engine specific attribute. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets the type of results that will be returned. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets the type of results that will be returned. Valid options are normal or nbest. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets information about speech recognition results. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns │ │ │ │ │ + 1 │ │ │ │ │ + upon speech object existing, │ │ │ │ │ + or │ │ │ │ │ + 0 │ │ │ │ │ + if not │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns │ │ │ │ │ + 1 │ │ │ │ │ + if spoker spoke, │ │ │ │ │ + or │ │ │ │ │ + 0 │ │ │ │ │ + if not │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns number of results that were recognized. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets information about speech recognition results. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Plays morse code. │ │ │ │ │ + │ │ │ │ │ + Conference bridge application. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - String to playback as morse code to channel │ │ │ │ │ + │ │ │ │ │ + Name of the conference bridge. You are not limited to just │ │ │ │ │ + numbers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The bridge profile name from confbridge.conf. When left blank, │ │ │ │ │ + a dynamically built bridge profile created by the CONFBRIDGE dialplan │ │ │ │ │ + function is searched for on the channel and used. If no dynamic │ │ │ │ │ + profile is present, the 'default_bridge' profile found in │ │ │ │ │ + confbridge.conf is used. │ │ │ │ │ + It is important to note that while user profiles may be unique │ │ │ │ │ + for each participant, mixing bridge profiles on a single conference │ │ │ │ │ + is _NOT_ recommended and will produce undefined results. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The user profile name from confbridge.conf. When left blank, │ │ │ │ │ + a dynamically built user profile created by the CONFBRIDGE dialplan │ │ │ │ │ + function is searched for on the channel and used. If no dynamic │ │ │ │ │ + profile is present, the 'default_user' profile found in │ │ │ │ │ + confbridge.conf is used. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the DTMF menu in confbridge.conf to be applied to │ │ │ │ │ + this channel. When left blank, a dynamically built menu profile │ │ │ │ │ + created by the CONFBRIDGE dialplan function is searched for on │ │ │ │ │ + the channel and used. If no dynamic profile is present, the │ │ │ │ │ + 'default_menu' profile found in confbridge.conf is used. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Plays the Morse code equivalent of the passed string. │ │ │ │ │ - This application does not automatically answer and should be preceeded by │ │ │ │ │ - an application such as Answer() or Progress(). │ │ │ │ │ - This application uses the following variables: │ │ │ │ │ + Enters the user into a specified conference bridge. The user can │ │ │ │ │ + exit the conference by hangup or DTMF menu option. │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Use this value in (ms) for length of dit │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The pitch of the tone in (Hz), default is 800 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The pitch of the spaces in (Hz), default is 0 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The code type to use (AMERICAN for standard American Morse │ │ │ │ │ - or INTERNATIONAL for international code. │ │ │ │ │ - Default is INTERNATIONAL). │ │ │ │ │ + │ │ │ │ │ + The channel encountered an error and could not enter the conference. │ │ │ │ │ + The channel exited the conference by hanging up. │ │ │ │ │ + The channel was kicked from the conference. │ │ │ │ │ + The channel left the conference as a result of the last marked user leaving. │ │ │ │ │ + The channel pressed a DTMF sequence to exit the conference. │ │ │ │ │ + The channel reached its configured timeout. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SayAlpha │ │ │ │ │ - SayPhonetic │ │ │ │ │ + ConfKick │ │ │ │ │ + CONFBRIDGE │ │ │ │ │ + CONFBRIDGE_INFO │ │ │ │ │ + CONFBRIDGE_CHANNELS │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 16.20.0 │ │ │ │ │ - 18.6.0 │ │ │ │ │ + 16.19.0 │ │ │ │ │ + 18.5.0 │ │ │ │ │ 19.0.0 │ │ │ │ │ │ │ │ │ │ - Wait (sleep) until the given condition is true. │ │ │ │ │ + Kicks channel(s) from the requested ConfBridge. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specifies the character in the expression used to replace the │ │ │ │ │ - $ │ │ │ │ │ - character. This character should not be used anywhere in the expression itself. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - A modified logical expression with the │ │ │ │ │ - $ │ │ │ │ │ - characters replaced by │ │ │ │ │ - replacementchar │ │ │ │ │ - . This is necessary to pass the expression itself │ │ │ │ │ - into the application, rather than its initial evaluation. │ │ │ │ │ + The channel to kick, │ │ │ │ │ + all │ │ │ │ │ + to kick all users, or │ │ │ │ │ + participants │ │ │ │ │ + to kick all non-admin participants. Default is all. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The maximum amount of time, in seconds, this application should wait for a condition │ │ │ │ │ - to become true before dialplan execution continues automatically to the next priority. │ │ │ │ │ - By default, there is no timeout. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The frequency, in seconds, of polling the condition, which can be adjusted depending │ │ │ │ │ - on how time-sensitive execution needs to be. By default, this is 0.05. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Waits until │ │ │ │ │ - expression │ │ │ │ │ - evaluates to true, checking every │ │ │ │ │ - interval │ │ │ │ │ - seconds for up to │ │ │ │ │ - timeout │ │ │ │ │ - . Default │ │ │ │ │ - is evaluate │ │ │ │ │ - expression │ │ │ │ │ - every 50 milliseconds with no timeout. │ │ │ │ │ - │ │ │ │ │ - same => n,WaitForCondition(#,#["#{condition}"="1"],40,0.5) │ │ │ │ │ - │ │ │ │ │ - Sets │ │ │ │ │ - WAITFORCONDITIONSTATUS │ │ │ │ │ - to one of the following values: │ │ │ │ │ - │ │ │ │ │ + Kicks the requested channel(s) from a conference bridge. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Condition evaluated to true before timeout expired. │ │ │ │ │ - Invalid argument. │ │ │ │ │ - Timeout elapsed without condition evaluating to true. │ │ │ │ │ - Channel hung up before condition became true. │ │ │ │ │ + │ │ │ │ │ + Could not kick any users with the provided arguments. │ │ │ │ │ + Successfully kicked users from specified conference bridge. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + ConfBridge │ │ │ │ │ + CONFBRIDGE │ │ │ │ │ + CONFBRIDGE_INFO │ │ │ │ │ + CONFBRIDGE_CHANNELS │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Directed extension call pickup. │ │ │ │ │ + │ │ │ │ │ + Set a custom dynamic bridge, user, or menu profile on a channel for the │ │ │ │ │ + ConfBridge application using the same options available in confbridge.conf. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specification of the pickup target. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Additional specifications of pickup targets. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + To what type of conference profile the option applies. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Option refers to a │ │ │ │ │ + confbridge.conf │ │ │ │ │ + option │ │ │ │ │ + that is being set dynamically on this channel, or │ │ │ │ │ + clear │ │ │ │ │ + to remove already applied profile options from the channel. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application can pickup a specified ringing channel. The channel │ │ │ │ │ - to pickup can be specified in the following ways. │ │ │ │ │ │ │ │ │ │ - 1) If no │ │ │ │ │ - extension │ │ │ │ │ - targets are specified, │ │ │ │ │ - the application will pickup a channel matching the pickup group of the │ │ │ │ │ - requesting channel. │ │ │ │ │ + A custom profile uses the default profile type settings defined in │ │ │ │ │ + confbridge.conf │ │ │ │ │ + as defaults if the profile template │ │ │ │ │ + is not explicitly specified first. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 2) If the │ │ │ │ │ - extension │ │ │ │ │ - is specified with a │ │ │ │ │ - context │ │ │ │ │ - of the special string │ │ │ │ │ - PICKUPMARK │ │ │ │ │ - (for example 10@PICKUPMARK), the application │ │ │ │ │ - will pickup a channel which has defined the channel variable │ │ │ │ │ - PICKUPMARK │ │ │ │ │ - with the same value as │ │ │ │ │ - extension │ │ │ │ │ - (in this example, │ │ │ │ │ - 10 │ │ │ │ │ - ). │ │ │ │ │ + For │ │ │ │ │ + bridge │ │ │ │ │ + profiles the default template is │ │ │ │ │ + default_bridge │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 3) If the │ │ │ │ │ - extension │ │ │ │ │ - is specified │ │ │ │ │ - with or without a │ │ │ │ │ - context │ │ │ │ │ - , the channel with a │ │ │ │ │ - matching │ │ │ │ │ - extension │ │ │ │ │ - and │ │ │ │ │ - context │ │ │ │ │ - will be picked up. If no │ │ │ │ │ - context │ │ │ │ │ - is specified, │ │ │ │ │ - the current context will be used. │ │ │ │ │ + For │ │ │ │ │ + menu │ │ │ │ │ + profiles the default template is │ │ │ │ │ + default_menu │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - extension │ │ │ │ │ - is typically set on │ │ │ │ │ - matching channels by the dial application that created the channel. The │ │ │ │ │ - context │ │ │ │ │ - is set on matching channels by the │ │ │ │ │ - channel driver for the device. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Pickup a ringing channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List of channel names or channel uniqueids to pickup if ringing. │ │ │ │ │ - For example, a channel name could be │ │ │ │ │ - SIP/bob │ │ │ │ │ - or │ │ │ │ │ - SIP/bob-00000000 │ │ │ │ │ - to find │ │ │ │ │ - SIP/bob-00000000 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - Pickup a specified │ │ │ │ │ - channel │ │ │ │ │ - if ringing. │ │ │ │ │ + For │ │ │ │ │ + user │ │ │ │ │ + profiles the default template is │ │ │ │ │ + default_user │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - unixodbc │ │ │ │ │ - res_adsi │ │ │ │ │ - res_smdi │ │ │ │ │ - yes │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Leave a Voicemail message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + ---- Example 1 ---- │ │ │ │ │ + In this example the custom user profile set on the channel will │ │ │ │ │ + automatically be used by the ConfBridge application. │ │ │ │ │ + exten => 1,1,Answer() │ │ │ │ │ + ; In this example the effect of the following line is │ │ │ │ │ + ; implied: │ │ │ │ │ + same => n,Set(CONFBRIDGE(user,template)=default_user) │ │ │ │ │ + same => n,Set(CONFBRIDGE(user,announce_join_leave)=yes) │ │ │ │ │ + same => n,Set(CONFBRIDGE(user,startmuted)=yes) │ │ │ │ │ + same => n,ConfBridge(1) │ │ │ │ │ + ---- Example 2 ---- │ │ │ │ │ + │ │ │ │ │ + This example shows how to use a predefined user profile in │ │ │ │ │ + confbridge.conf │ │ │ │ │ + as a template for a dynamic profile. │ │ │ │ │ + Here we make an admin/marked user out of the │ │ │ │ │ + my_user │ │ │ │ │ + profile that you define in │ │ │ │ │ + confbridge.conf │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + exten => 1,1,Answer() │ │ │ │ │ + same => n,Set(CONFBRIDGE(user,template)=my_user) │ │ │ │ │ + same => n,Set(CONFBRIDGE(user,admin)=yes) │ │ │ │ │ + same => n,Set(CONFBRIDGE(user,marked)=yes) │ │ │ │ │ + same => n,ConfBridge(1) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get information about a ConfBridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + What conference information is requested. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get the number of admin users in the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Determine if the conference is locked. (0 or 1) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get the number of marked users in the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Determine if the conference is muted. (0 or 1) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get the number of users in the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the conference being referenced. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function returns a non-negative integer for valid conference │ │ │ │ │ + names and an empty string for invalid conference names. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CONFBRIDGE_CHANNELS │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.26.0 │ │ │ │ │ + 18.12.0 │ │ │ │ │ + 19.4.0 │ │ │ │ │ + │ │ │ │ │ + Get a list of channels in a ConfBridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + What conference information is requested. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get the number of admin users in the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get the number of marked users in the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get the number of total users in the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get the number of active users in the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get the number of waiting users in the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the conference being referenced. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function returns a comma-separated list of channels in a ConfBridge conference, optionally filtered by a type of participant. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CONFBRIDGE_INFO │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List participants in a conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conference number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Lists all users in a particular ConfBridge conference. │ │ │ │ │ + ConfbridgeList will follow as separate events, followed by a final event called │ │ │ │ │ + ConfbridgeListComplete. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised as part of the ConfbridgeList action response list. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Identifies this user as an admin user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Identifies this user as a marked user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Must this user wait for a marked user to join? │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Does this user get kicked after the last marked user leaves? │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is this user waiting for a marked user to join? │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The current mute status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is this user talking? │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of seconds the channel has been up. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List active conferences. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Lists data about all active conferences. │ │ │ │ │ + ConfbridgeListRooms will follow as separate events, followed by a final event called │ │ │ │ │ + ConfbridgeListRoomsComplete. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Mute a Confbridge user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If this parameter is not a complete channel name, the first channel with this prefix will be used. │ │ │ │ │ + If this parameter is "all", all channels will be muted. │ │ │ │ │ + If this parameter is "participants", all non-admin channels will be muted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unmute a Confbridge user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If this parameter is not a complete channel name, the first channel with this prefix will be used. │ │ │ │ │ + If this parameter is "all", all channels will be unmuted. │ │ │ │ │ + If this parameter is "participants", all non-admin channels will be unmuted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Kick a Confbridge user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If this parameter is "all", all channels will be kicked from the conference. │ │ │ │ │ + If this parameter is "participants", all non-admin channels will be kicked from the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Lock a Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unlock a Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Start recording a Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stop recording a Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set a conference user as the single video source distributed to all other participants. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If this parameter is not a complete channel name, the first channel with this prefix will be used. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Dump Info About The Calling Channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Minimum verbose level │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Displays information on channel and listing of all channel │ │ │ │ │ + variables. If │ │ │ │ │ + level │ │ │ │ │ + is specified, output is only │ │ │ │ │ + displayed when the verbose level is currently set to that number │ │ │ │ │ + or greater. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + NoOp │ │ │ │ │ + Verbose │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sends arbitrary DTMF digits │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List of digits 0-9,*#,a-d,A-D to send also w for a half second pause, │ │ │ │ │ + W for a one second pause, and f or F for a flash-hook if the channel supports │ │ │ │ │ + flash-hook. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Amount of time to wait in ms between tones. (defaults to .25s) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Duration of each digit │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel where digits will be played │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + It will send all digits or terminate if it encounters an error. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Read │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play DTMF signal on a specific channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel name to send digit to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The DTMF digit to play. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The duration, in milliseconds, of the digit to be played. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Emulate receiving DTMF on this channel instead of sending it out. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Plays a dtmf digit on the specified channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Hangs up the requested channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Hangs up the requested channel. If there are no channels to │ │ │ │ │ + hangup, the application will report it. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_stasis │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Invoke an external Stasis application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Name of the application to invoke. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Optional comma-delimited arguments for the │ │ │ │ │ + application invocation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Invoke a Stasis application. │ │ │ │ │ + This application will set the following channel variable upon │ │ │ │ │ + completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This indicates the status of the execution of the │ │ │ │ │ + Stasis application. │ │ │ │ │ + The channel has exited Stasis without any failures in │ │ │ │ │ + Stasis. │ │ │ │ │ + A failure occurred when executing the Stasis │ │ │ │ │ + The app registry is not instantiated; The app │ │ │ │ │ + application. Some (not all) possible reasons for this: │ │ │ │ │ + requested is not registered; The app requested is not │ │ │ │ │ + active; Stasis couldn't send a start message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Block telemarketers with SIT. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Comma delimited list of options. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Generates special information tone to block telemarketers from calling you. │ │ │ │ │ + This application will set the following channel variable upon completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This will contain the last action accomplished by the │ │ │ │ │ + Zapateller application. Possible values include: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.20.0 │ │ │ │ │ + 18.6.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Stores DTMF digits transmitted or received on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Must be │ │ │ │ │ + TX │ │ │ │ │ + or │ │ │ │ │ + RX │ │ │ │ │ + to │ │ │ │ │ + store digits, or │ │ │ │ │ + remove │ │ │ │ │ + to disable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The StoreDTMF function can be used to obtain digits sent in the │ │ │ │ │ + TX │ │ │ │ │ + or │ │ │ │ │ + RX │ │ │ │ │ + direction of any channel. │ │ │ │ │ + │ │ │ │ │ + The arguments are: │ │ │ │ │ + │ │ │ │ │ + var_name │ │ │ │ │ + : Name of variable to which to append │ │ │ │ │ + digits. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + max_digits │ │ │ │ │ + : The maximum number of digits to │ │ │ │ │ + store in the variable. Defaults to 0 (no maximum). After reading │ │ │ │ │ + maximum │ │ │ │ │ + digits, no more digits will be stored. │ │ │ │ │ + │ │ │ │ │ + same => n,StoreDTMF(TX,CDR(digits)) │ │ │ │ │ + same => n,StoreDTMF(RX,testvar,24) │ │ │ │ │ + same => n,StoreDTMF(remove) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Waits for a specified amount of silence. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + 1000 │ │ │ │ │ + milliseconds. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + 1 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is specified only to avoid an infinite loop in cases where silence is never achieved. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Waits for up to │ │ │ │ │ + silencerequired │ │ │ │ │ + milliseconds of silence, │ │ │ │ │ + iterations │ │ │ │ │ + times. An optional │ │ │ │ │ + timeout │ │ │ │ │ + specified the number of seconds to return after, even if we do not receive the specified amount of silence. │ │ │ │ │ + Use │ │ │ │ │ + timeout │ │ │ │ │ + with caution, as it may defeat the purpose of this application, which │ │ │ │ │ + is to wait indefinitely until silence is detected on the line. This is particularly useful for reverse-911-type │ │ │ │ │ + call broadcast applications where you need to wait for an answering machine to complete its spiel before │ │ │ │ │ + playing a message. │ │ │ │ │ + │ │ │ │ │ + Typically you will want to include two or more calls to WaitForSilence when dealing with an answering │ │ │ │ │ + machine; first waiting for the spiel to finish, then waiting for the beep, etc. │ │ │ │ │ + same => n,WaitForSilence(500,2) │ │ │ │ │ + same => n,WaitForSilence(1000) │ │ │ │ │ + same => n,WaitForSilence(300,3,10) │ │ │ │ │ + │ │ │ │ │ + Sets the channel variable │ │ │ │ │ + WAITSTATUS │ │ │ │ │ + to one of these values: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + if exited with silence detected. │ │ │ │ │ + if exited without silence detected after timeout. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + WaitForNoise │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Waits for a specified amount of noise. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + 1000 │ │ │ │ │ + milliseconds. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + 1 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is specified only to avoid an infinite loop in cases where silence is never achieved. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Waits for up to │ │ │ │ │ + noiserequired │ │ │ │ │ + milliseconds of noise, │ │ │ │ │ + iterations │ │ │ │ │ + times. An optional │ │ │ │ │ + timeout │ │ │ │ │ + specified the number of seconds to return after, even if we do not receive the specified amount of noise. │ │ │ │ │ + Use │ │ │ │ │ + timeout │ │ │ │ │ + with caution, as it may defeat the purpose of this application, which │ │ │ │ │ + is to wait indefinitely until noise is detected on the line. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + WaitForSilence │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Execute a system command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Command to execute │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Do not use untrusted strings such as │ │ │ │ │ + CALLERID(num) │ │ │ │ │ + or │ │ │ │ │ + CALLERID(name) │ │ │ │ │ + as part of the command parameters. You │ │ │ │ │ + risk a command injection attack executing arbitrary commands if the untrusted │ │ │ │ │ + strings aren't filtered to remove dangerous characters. See function │ │ │ │ │ + FILTER() │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes a command by using system(). If the command │ │ │ │ │ + fails, the console should report a fallthrough. │ │ │ │ │ + │ │ │ │ │ + Result of execution is returned in the │ │ │ │ │ + SYSTEMSTATUS │ │ │ │ │ + channel variable: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Could not execute the specified command. │ │ │ │ │ + Specified command successfully executed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Try executing a system command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Command to execute │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Do not use untrusted strings such as │ │ │ │ │ + CALLERID(num) │ │ │ │ │ + or │ │ │ │ │ + CALLERID(name) │ │ │ │ │ + as part of the command parameters. You │ │ │ │ │ + risk a command injection attack executing arbitrary commands if the untrusted │ │ │ │ │ + strings aren't filtered to remove dangerous characters. See function │ │ │ │ │ + FILTER() │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes a command by using system(). │ │ │ │ │ + │ │ │ │ │ + Result of execution is returned in the │ │ │ │ │ + SYSTEMSTATUS │ │ │ │ │ + channel variable: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Could not execute the specified command. │ │ │ │ │ + Specified command successfully executed. │ │ │ │ │ + Specified command successfully executed, but returned error code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a conference starts. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ConfbridgeEnd │ │ │ │ │ + ConfBridge │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a conference ends. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ConfbridgeStart │ │ │ │ │ + ConfBridge │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel joins a Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Identifies this user as an admin user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The joining mute status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ConfbridgeLeave │ │ │ │ │ + ConfBridge │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel leaves a Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Identifies this user as an admin user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ConfbridgeJoin │ │ │ │ │ + ConfBridge │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a conference starts recording. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ConfbridgeStopRecord │ │ │ │ │ + ConfBridge │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a conference that was recording stops recording. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ConfbridgeRecord │ │ │ │ │ + ConfBridge │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a Confbridge participant mutes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Identifies this user as an admin user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ConfbridgeUnmute │ │ │ │ │ + ConfBridge │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a confbridge participant unmutes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Identifies this user as an admin user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ConfbridgeMute │ │ │ │ │ + ConfBridge │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a confbridge participant begins or ends talking. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the Confbridge conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Identifies this user as an admin user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ConfBridge │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conference Bridge Application │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unused, but reserved. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A named profile to apply to specific callers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Callers in a ConfBridge have a profile associated with them │ │ │ │ │ + that determine their options. A configuration section is determined to be a │ │ │ │ │ + user_profile when the │ │ │ │ │ + type │ │ │ │ │ + parameter has a value │ │ │ │ │ + of │ │ │ │ │ + user │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Define this configuration category as a user profile. │ │ │ │ │ + │ │ │ │ │ + The type parameter determines how a context in the │ │ │ │ │ + configuration file is interpreted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configure the context as a │ │ │ │ │ + user_profile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configure the context as a │ │ │ │ │ + bridge_profile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configure the context as a │ │ │ │ │ + menu │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets if the user is an admin or not │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets if events are send to the user │ │ │ │ │ + │ │ │ │ │ + If events are enabled for this bridge and this option is │ │ │ │ │ + set, users will receive events like join, leave, talking, etc. via text │ │ │ │ │ + messages. For users accessing the bridge via chan_pjsip, this means │ │ │ │ │ + in-dialog MESSAGE messages. This is most useful for WebRTC participants │ │ │ │ │ + where the browser application can use the messages to alter the user │ │ │ │ │ + interface. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets if events are echoed back to the user that │ │ │ │ │ + triggered them │ │ │ │ │ + │ │ │ │ │ + If events are enabled for this user and this option │ │ │ │ │ + is set, the user will receive events they trigger, talking, mute, etc. │ │ │ │ │ + If not set, they will not receive their own events. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets if this is a marked user or not │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets if all users should start out muted │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play MOH when user is alone or waiting on a marked user │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Silence enter/leave prompts and user intros for this user │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Determines if the user also hears the join sound when they enter a conference │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets if the number of users should be announced to the user │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Announce user count to all the other users when this user joins │ │ │ │ │ + │ │ │ │ │ + Sets if the number of users should be announced to all the other users │ │ │ │ │ + in the conference when this user joins. This option can be either set to 'yes' or │ │ │ │ │ + a number. When set to a number, the announcement will only occur once the user │ │ │ │ │ + count is above the specified number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Announce to a user when they join an empty conference │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets if the user must wait for a marked user to enter before joining a conference │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Kick the user from the conference when the last marked user leaves │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set whether or not notifications of when a user begins and ends talking should be sent out as events over AMI │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets whether or not DTMF should pass through the conference │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Prompt user for their name when joining a conference and play it to the conference when they enter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Prompt user for their name when joining a conference and play it to the conference when they enter. │ │ │ │ │ + The user will be asked to review the recording of their name before entering the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets a PIN the user must enter before joining the conference │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The MOH class to use for this user │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sound file to play to the user when they join a conference │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Apply a denoise filter to the audio before mixing │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets whether or not a denoise filter should be applied │ │ │ │ │ + to the audio before mixing or not. Off by default. Requires │ │ │ │ │ + codec_speex │ │ │ │ │ + to be built and installed. Do not confuse this option │ │ │ │ │ + with │ │ │ │ │ + drop_silence │ │ │ │ │ + . Denoise is useful if there is a lot of background │ │ │ │ │ + noise for a user as it attempts to remove the noise while preserving │ │ │ │ │ + the speech. This option does NOT remove silence from being mixed into │ │ │ │ │ + the conference and does come at the cost of a slight performance hit. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Drop what Asterisk detects as silence from audio sent to the bridge │ │ │ │ │ + │ │ │ │ │ + This option drops what Asterisk detects as silence from │ │ │ │ │ + entering into the bridge. Enabling this option will drastically │ │ │ │ │ + improve performance and help remove the buildup of background │ │ │ │ │ + noise from the conference. Highly recommended for large conferences │ │ │ │ │ + due to its performance enhancements. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of milliseconds of silence necessary to declare talking stopped. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The time in milliseconds of sound falling below the │ │ │ │ │ + dsp_talking_threshold │ │ │ │ │ + option when │ │ │ │ │ + a user is considered to stop talking. This value affects several │ │ │ │ │ + operations and should not be changed unless the impact on call │ │ │ │ │ + quality is fully understood. │ │ │ │ │ + │ │ │ │ │ + What this value affects internally: │ │ │ │ │ + 1. When talk detection AMI events are enabled, this value │ │ │ │ │ + determines when the user has stopped talking after a │ │ │ │ │ + period of talking. If this value is set too low │ │ │ │ │ + AMI events indicating the user has stopped talking │ │ │ │ │ + may get falsely sent out when the user briefly pauses │ │ │ │ │ + during mid sentence. │ │ │ │ │ + │ │ │ │ │ + 2. The │ │ │ │ │ + drop_silence │ │ │ │ │ + option │ │ │ │ │ + depends on this value to determine when the user's audio should │ │ │ │ │ + begin to be dropped from the conference bridge after the user │ │ │ │ │ + stops talking. If this value is set too low the user's │ │ │ │ │ + audio stream may sound choppy to the other participants. This │ │ │ │ │ + is caused by the user transitioning constantly from silence to │ │ │ │ │ + talking during mid sentence. │ │ │ │ │ + │ │ │ │ │ + The best way to approach this option is to set it slightly │ │ │ │ │ + above the maximum amount of milliseconds of silence a user may │ │ │ │ │ + generate during natural speech. │ │ │ │ │ + Valid values are 1 through 2^31. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Average magnitude threshold to determine talking. │ │ │ │ │ + │ │ │ │ │ + The minimum average magnitude per sample in a frame │ │ │ │ │ + for the DSP to consider talking/noise present. A value below │ │ │ │ │ + this level is considered silence. This value affects several │ │ │ │ │ + operations and should not be changed unless the impact on call │ │ │ │ │ + quality is fully understood. │ │ │ │ │ + What this value affects internally: │ │ │ │ │ + 1. Audio is only mixed out of a user's incoming audio │ │ │ │ │ + stream if talking is detected. If this value is set too │ │ │ │ │ + high the user will hear himself talking. │ │ │ │ │ + 2. When talk detection AMI events are enabled, this value │ │ │ │ │ + determines when talking has begun which results in │ │ │ │ │ + an AMI event to fire. If this value is set too low │ │ │ │ │ + AMI events may be falsely triggered by variants in │ │ │ │ │ + room noise. │ │ │ │ │ + │ │ │ │ │ + 3. The │ │ │ │ │ + drop_silence │ │ │ │ │ + option │ │ │ │ │ + depends on this value to determine when the user's audio should │ │ │ │ │ + be mixed into the bridge after periods of silence. If this value │ │ │ │ │ + is too high the user's speech will get discarded as they will │ │ │ │ │ + be considered silent. │ │ │ │ │ + │ │ │ │ │ + Valid values are 1 through 2^15. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Place a jitter buffer on the user's audio stream before audio mixing is performed │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Enabling this option places a jitterbuffer on the user's audio stream │ │ │ │ │ + before audio mixing is performed. This is highly recommended but will │ │ │ │ │ + add a slight delay to the audio. This option is using the │ │ │ │ │ + JITTERBUFFER │ │ │ │ │ + dialplan function's default adaptive jitterbuffer. For a more fine tuned │ │ │ │ │ + jitterbuffer, disable this option and use the │ │ │ │ │ + JITTERBUFFER │ │ │ │ │ + dialplan function │ │ │ │ │ + on the user before entering the ConfBridge application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When using the CONFBRIDGE dialplan function, use a user profile as a template for creating a new temporary profile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Kick the user out of the conference after this many seconds. 0 means there is no timeout for the user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets if text messages are sent to the user. │ │ │ │ │ + │ │ │ │ │ + If text messaging is enabled for this user then │ │ │ │ │ + text messages will be sent to it. These may be events or from other │ │ │ │ │ + participants in the conference bridge. If disabled then no text │ │ │ │ │ + messages are sent to the user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets if a user's channel should be answered if currently unanswered. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A named profile to apply to specific bridges. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ConfBridge bridges have a profile associated with them │ │ │ │ │ + that determine their options. A configuration section is determined to be a │ │ │ │ │ + bridge_profile │ │ │ │ │ + when the │ │ │ │ │ + type │ │ │ │ │ + parameter has a value │ │ │ │ │ + of │ │ │ │ │ + bridge │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Define this configuration category as a bridge profile │ │ │ │ │ + │ │ │ │ │ + The type parameter determines how a context in the │ │ │ │ │ + configuration file is interpreted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configure the context as a │ │ │ │ │ + user_profile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configure the context as a │ │ │ │ │ + bridge_profile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configure the context as a │ │ │ │ │ + menu │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Place a jitter buffer on the conference's audio stream │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set the internal native sample rate for mixing the conference │ │ │ │ │ + │ │ │ │ │ + Sets the internal native sample rate the │ │ │ │ │ + conference is mixed at. This is set to automatically │ │ │ │ │ + adjust the sample rate to the best quality by default. │ │ │ │ │ + Other values can be anything from 8000-192000. If a │ │ │ │ │ + sample rate is set that Asterisk does not support, the │ │ │ │ │ + closest sample rate Asterisk does support to the one requested │ │ │ │ │ + will be used. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set the maximum native sample rate for mixing the conference │ │ │ │ │ + │ │ │ │ │ + Sets the maximum native sample rate the │ │ │ │ │ + conference is mixed at. This is set to not have a │ │ │ │ │ + maximum by default. If a sample rate is specified, │ │ │ │ │ + though, the native sample rate will never exceed it. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The language used for announcements to the conference. │ │ │ │ │ + │ │ │ │ │ + By default, announcements to a conference use English. Which means │ │ │ │ │ + the prompts played to all users within the conference will be │ │ │ │ │ + English. By changing the language of a bridge, this will change │ │ │ │ │ + the language of the prompts played to all users. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets the internal mixing interval in milliseconds for the bridge │ │ │ │ │ + │ │ │ │ │ + Sets the internal mixing interval in milliseconds for the bridge. This │ │ │ │ │ + number reflects how tight or loose the mixing will be for the conference. │ │ │ │ │ + In order to improve performance a larger mixing interval such as 40ms may │ │ │ │ │ + be chosen. Using a larger mixing interval comes at the cost of introducing │ │ │ │ │ + larger amounts of delay into the bridge. Valid values here are 10, 20, 40, │ │ │ │ │ + or 80. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If true binaural conferencing with stereo audio is active │ │ │ │ │ + │ │ │ │ │ + Activates binaural mixing for a conference bridge. │ │ │ │ │ + Binaural features are disabled by default. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Record the conference starting with the first active user's entrance and ending with the last active user's exit │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Records the conference call starting when the first user │ │ │ │ │ + enters the room, and ending when the last user exits the room. │ │ │ │ │ + The default recorded filename is │ │ │ │ │ + 'confbridge-${name of conference bridge}-${start time}.wav' │ │ │ │ │ + and the default format is 8khz slinear. This file will be │ │ │ │ │ + located in the configured monitoring directory in │ │ │ │ │ + asterisk.conf │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The filename of the conference recording │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When │ │ │ │ │ + record_conference │ │ │ │ │ + is set to yes, the specific name of the │ │ │ │ │ + record file can be set using this option. Note that since multiple │ │ │ │ │ + conferences may use the same bridge profile, this may cause issues │ │ │ │ │ + depending on the configuration. It is recommended to only use this │ │ │ │ │ + option dynamically with the │ │ │ │ │ + CONFBRIDGE() │ │ │ │ │ + dialplan function. This │ │ │ │ │ + allows the record name to be specified and a unique name to be chosen. │ │ │ │ │ + By default, the record_file is stored in Asterisk's spool/monitor directory │ │ │ │ │ + with a unique filename starting with the 'confbridge' prefix. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Append to record file when starting/stopping on same conference recording │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When │ │ │ │ │ + record_file_append │ │ │ │ │ + is set to yes, stopping and starting recording on a │ │ │ │ │ + conference adds the new portion to end of current record_file. When this is │ │ │ │ │ + set to no, a new │ │ │ │ │ + record_file │ │ │ │ │ + is generated every time you start then stop recording │ │ │ │ │ + on a conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Append the start time to the record_file name so that it is unique. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When │ │ │ │ │ + record_file_timestamp │ │ │ │ │ + is set to yes, the start time is appended to │ │ │ │ │ + record_file │ │ │ │ │ + so that the filename is unique. This allows you to specify │ │ │ │ │ + a │ │ │ │ │ + record_file │ │ │ │ │ + but not overwrite existing recordings. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Pass additional options to MixMonitor when recording │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Pass additional options to MixMonitor when │ │ │ │ │ + record_conference │ │ │ │ │ + is set to yes. │ │ │ │ │ + See │ │ │ │ │ + MixMonitor │ │ │ │ │ + for available options. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Execute a command after recording ends │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes the specified command when recording ends. Any strings matching │ │ │ │ │ + ^{X} │ │ │ │ │ + will be │ │ │ │ │ + unescaped to │ │ │ │ │ + X │ │ │ │ │ + . All variables will be evaluated at the time ConfBridge is called. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the context into which to register the name of the conference bridge as NoOP() at priority 1 │ │ │ │ │ + │ │ │ │ │ + When set this will cause the name of the created conference to be registered │ │ │ │ │ + into the named context at priority 1 with an operation of NoOP(). This can │ │ │ │ │ + then be used in other parts of the dialplan to test for the existence of a │ │ │ │ │ + specific conference bridge. │ │ │ │ │ + You should be aware that there are potential races between testing for the │ │ │ │ │ + existence of a bridge, and taking action upon that information, consider │ │ │ │ │ + for example two callers executing the check simultaneously, and then taking │ │ │ │ │ + special action as "first caller" into the bridge. The same for exiting, │ │ │ │ │ + directly after the check the bridge can be destroyed before the new caller │ │ │ │ │ + enters (creating a new bridge), for example, and the "first member" actions │ │ │ │ │ + could thus be missed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets how confbridge handles video distribution to the conference participants │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets how confbridge handles video distribution to the conference participants. │ │ │ │ │ + Note that participants wanting to view and be the source of a video feed │ │ │ │ │ + MUST │ │ │ │ │ + be sharing the same video codec. Also, using video in conjunction with │ │ │ │ │ + with the jitterbuffer currently results in the audio being slightly out of sync │ │ │ │ │ + with the video. This is a result of the jitterbuffer only working on the audio │ │ │ │ │ + stream. It is recommended to disable the jitterbuffer when video is used. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + No video sources are set by default in the conference. It is still │ │ │ │ │ + possible for a user to be set as a video source via AMI or DTMF action │ │ │ │ │ + at any time. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The video feed will follow whoever is talking and providing video. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The last marked user to join the conference with video capabilities │ │ │ │ │ + will be the single source of video distributed to all participants. │ │ │ │ │ + If multiple marked users are capable of video, the last one to join │ │ │ │ │ + is always the source, when that user leaves it goes to the one who │ │ │ │ │ + joined before them. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The first marked user to join the conference with video capabilities │ │ │ │ │ + is the single source of video distribution among all participants. If │ │ │ │ │ + that user leaves, the marked user to join after them becomes the source. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Selective Forwarding Unit - Sets multi-stream │ │ │ │ │ + operation for a multi-party video conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Limit the maximum number of participants for a single conference │ │ │ │ │ + │ │ │ │ │ + This option limits the number of participants for a single │ │ │ │ │ + conference to a specific number. By default conferences │ │ │ │ │ + have no participant limit. After the limit is reached, the │ │ │ │ │ + conference will be locked until someone leaves. Note however │ │ │ │ │ + that an Admin user will always be alowed to join the conference │ │ │ │ │ + regardless if this limit is reached or not. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Override the various conference bridge sound files │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + All sounds in the conference are customizable using the bridge profile options below. │ │ │ │ │ + Simply state the option followed by the filename or full path of the filename after │ │ │ │ │ + the option. Example: │ │ │ │ │ + sound_had_joined=conf-hasjoin │ │ │ │ │ + This will play the │ │ │ │ │ + conf-hasjoin │ │ │ │ │ + sound file found in the sounds directory when announcing someone's name is joining the │ │ │ │ │ + conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played to everyone when someone enters the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played to everyone when someone leaves the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played before announcing someone's name has │ │ │ │ │ + joined the conference. This is used for user intros. │ │ │ │ │ + Example │ │ │ │ │ + "_____ has joined the conference" │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played when announcing someone's name has │ │ │ │ │ + left the conference. This is used for user intros. │ │ │ │ │ + Example │ │ │ │ │ + "_____ has left the conference" │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played to a user who has been kicked from the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played when the mute option it toggled on. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played when the mute option it toggled off. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played when binaural audio is turned on. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played when the binaural audio is turned off. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played when the user is the only person in the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played to a user when there is only one other │ │ │ │ │ + person is in the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played when announcing how many users there │ │ │ │ │ + are in a conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This file is used in conjunction with │ │ │ │ │ + sound_there_are │ │ │ │ │ + when announcing how many users there are in the conference. │ │ │ │ │ + The sounds are stringed together like this. │ │ │ │ │ + "sound_there_are" ${number of participants} "sound_other_in_party" │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played when someone is placed into the conference │ │ │ │ │ + after waiting for a marked user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played when a user is placed into a conference that │ │ │ │ │ + can not start until a marked user enters. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played when the last marked user leaves the conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played when prompting for a conference pin number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played when an invalid pin is entered too many times. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played to a user trying to join a locked conference. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played to an admin after toggling the conference to locked mode. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played to an admin after toggling the conference to unlocked mode. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound played when an invalid menu option is entered. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets the amount of time in milliseconds after sending a video update to discard subsequent video updates │ │ │ │ │ + │ │ │ │ │ + Sets the amount of time in milliseconds after sending a video update request │ │ │ │ │ + that subsequent video updates should be discarded. This means that if we │ │ │ │ │ + send a video update we will discard any other video update requests until │ │ │ │ │ + after the configured amount of time has elapsed. This prevents flooding of │ │ │ │ │ + video update requests from clients. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets the interval in milliseconds that a combined REMB frame will be sent to video sources │ │ │ │ │ + │ │ │ │ │ + Sets the interval in milliseconds that a combined REMB frame will be sent │ │ │ │ │ + to video sources. This is done by taking all REMB frames that have been │ │ │ │ │ + received since the last REMB frame was sent, making a combined value, │ │ │ │ │ + and sending it to the source. A REMB frame contains receiver estimated │ │ │ │ │ + maximum bitrate information. By creating a combined REMB frame the │ │ │ │ │ + sender of video can be influenced on the bitrate they choose, allowing │ │ │ │ │ + better quality for all receivers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets how REMB reports are generated from multiple sources │ │ │ │ │ + │ │ │ │ │ + Sets how REMB reports are combined from multiple sources to form one. A REMB report │ │ │ │ │ + consists of information about the receiver estimated maximum bitrate. As a source │ │ │ │ │ + stream may be forwarded to multiple receivers the reports must be combined into │ │ │ │ │ + a single one which is sent to the sender. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The average of all estimated maximum bitrates is taken and sent │ │ │ │ │ + to the sender. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The lowest estimated maximum bitrate is forwarded to the sender. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The highest estimated maximum bitrate is forwarded to the sender. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The average of all estimated maximum bitrates is taken from all │ │ │ │ │ + receivers in the bridge and a single value is sent to each sender. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The lowest estimated maximum bitrate of all receivers in the bridge │ │ │ │ │ + is taken and sent to each sender. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The highest estimated maximum bitrate of all receivers in the bridge │ │ │ │ │ + is taken and sent to each sender. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The bitrate configured in │ │ │ │ │ + remb_estimated_bitrate │ │ │ │ │ + is sent to each sender. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + remb_estimated_bitrate │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets the estimated bitrate sent to each participant in REMB reports │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When │ │ │ │ │ + remb_behavior │ │ │ │ │ + is set to │ │ │ │ │ + force │ │ │ │ │ + , │ │ │ │ │ + this options sets the estimated bitrate (in bits per second) sent to each participant │ │ │ │ │ + in REMB reports. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + remb_behavior │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Enables events for this bridge │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If enabled, recipients who joined the bridge via a channel driver │ │ │ │ │ + that supports Enhanced Messaging (currently only chan_pjsip) will │ │ │ │ │ + receive in-dialog messages containing a JSON body describing the │ │ │ │ │ + event. The Content-Type header will be │ │ │ │ │ + text/x-ast-confbridge-event │ │ │ │ │ + . │ │ │ │ │ + This feature must also be enabled in user profiles. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When using the CONFBRIDGE dialplan function, use a bridge profile as a template for creating a new temporary profile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A conference user menu │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conference users, as defined by a │ │ │ │ │ + conf_user │ │ │ │ │ + , │ │ │ │ │ + can have a DTMF menu assigned to their profile when they enter the │ │ │ │ │ + ConfBridge │ │ │ │ │ + application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Define this configuration category as a menu │ │ │ │ │ + │ │ │ │ │ + The type parameter determines how a context in the │ │ │ │ │ + configuration file is interpreted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configure the context as a │ │ │ │ │ + user_profile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configure the context as a │ │ │ │ │ + bridge_profile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configure the context as a │ │ │ │ │ + menu │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When using the CONFBRIDGE dialplan function, use a menu profile as a template for creating a new temporary profile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + DTMF sequences to assign various confbridge actions to │ │ │ │ │ + │ │ │ │ │ + The ConfBridge application also has the ability to apply custom DTMF menus to │ │ │ │ │ + each channel using the application. Like the User and Bridge profiles a menu │ │ │ │ │ + is passed in to ConfBridge as an argument in the dialplan. │ │ │ │ │ + Below is a list of menu actions that can be assigned to a DTMF sequence. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + To have the first DTMF digit in a sequence be the '#' character, you need to │ │ │ │ │ + escape it. If it is not escaped then normal config file processing will │ │ │ │ │ + think it is a directive like #include. For example: The mute setting is │ │ │ │ │ + toggled when │ │ │ │ │ + #1 │ │ │ │ │ + is pressed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + \#1=toggle_mute │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A single DTMF sequence can have multiple actions associated with it. This is │ │ │ │ │ + accomplished by stringing the actions together and using a │ │ │ │ │ + , │ │ │ │ │ + as the │ │ │ │ │ + delimiter. Example: Both listening and talking volume is reset when │ │ │ │ │ + 5 │ │ │ │ │ + is │ │ │ │ │ + pressed. │ │ │ │ │ + 5=reset_talking_volume, reset_listening_volume │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + playback │ │ │ │ │ + will play back an audio file to a channel │ │ │ │ │ + and then immediately return to the conference. │ │ │ │ │ + This file can not be interupted by DTMF. │ │ │ │ │ + Multiple files can be chained together using the │ │ │ │ │ + & │ │ │ │ │ + character. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + playback_and_continue │ │ │ │ │ + will │ │ │ │ │ + play back a prompt while continuing to │ │ │ │ │ + collect the dtmf sequence. This is useful │ │ │ │ │ + when using a menu prompt that describes all │ │ │ │ │ + the menu options. Note however that any DTMF │ │ │ │ │ + during this action will terminate the prompts │ │ │ │ │ + playback. Prompt files can be chained together │ │ │ │ │ + using the │ │ │ │ │ + & │ │ │ │ │ + character as a delimiter. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Toggle turning on and off mute. Mute will make the user silent │ │ │ │ │ + to everyone else, but the user will still be able to listen in. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Toggle turning on and off binaural audio processing. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action does nothing (No Operation). Its only real purpose exists for │ │ │ │ │ + being able to reserve a sequence in the config as a menu exit sequence. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Decreases the channel's listening volume. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Increases the channel's listening volume. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reset channel's listening volume to default level. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Decreases the channel's talking volume. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Increases the channel's talking volume. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reset channel's talking volume to default level. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + dialplan_exec │ │ │ │ │ + action allows a user │ │ │ │ │ + to escape from the conference and execute │ │ │ │ │ + commands in the dialplan. Once the dialplan │ │ │ │ │ + exits the user will be put back into the │ │ │ │ │ + conference. The possibilities are endless! │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action allows a user to exit the conference and continue │ │ │ │ │ + execution in the dialplan. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action allows an Admin to kick the last participant from the │ │ │ │ │ + conference. This action will only work for admins which allows │ │ │ │ │ + a single menu to be used for both users and admins. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action allows an Admin to toggle locking and │ │ │ │ │ + unlocking the conference. Non admins can not use │ │ │ │ │ + this action even if it is in their menu. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action allows any user to set themselves as the │ │ │ │ │ + single video source distributed to all participants. │ │ │ │ │ + This will make the video feed stick to them regardless │ │ │ │ │ + of what the │ │ │ │ │ + video_mode │ │ │ │ │ + is set to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action allows a user to release themselves as │ │ │ │ │ + the video source. If │ │ │ │ │ + video_mode │ │ │ │ │ + is not set to │ │ │ │ │ + none │ │ │ │ │ + this action will result in the conference returning to │ │ │ │ │ + whatever video mode the bridge profile is using. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Note that this action will have no effect if the user │ │ │ │ │ + is not currently the video source. Also, the user is │ │ │ │ │ + not guaranteed by using this action that they will not │ │ │ │ │ + become the video source again. The bridge will return │ │ │ │ │ + to whatever operation the │ │ │ │ │ + video_mode │ │ │ │ │ + option is set to │ │ │ │ │ + upon release of the video src. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action allows an administrator to toggle the mute │ │ │ │ │ + state for all non-admins within a conference. All │ │ │ │ │ + admin users are unaffected by this option. Note that all │ │ │ │ │ + users, regardless of their admin status, are notified │ │ │ │ │ + that the conference is muted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action plays back the number of participants currently │ │ │ │ │ + in a conference │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ + deprecated │ │ │ │ │ + app_stack (GoSub) │ │ │ │ │ + 16 │ │ │ │ │ + 21 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Macro Implementation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the macro │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes a macro using the context macro- │ │ │ │ │ + name │ │ │ │ │ + , │ │ │ │ │ + jumping to the │ │ │ │ │ + s │ │ │ │ │ + extension of that context and executing each step, │ │ │ │ │ + then returning when the steps end. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The calling extension, context, and priority are stored in │ │ │ │ │ + MACRO_EXTEN │ │ │ │ │ + , │ │ │ │ │ + MACRO_CONTEXT │ │ │ │ │ + and │ │ │ │ │ + MACRO_PRIORITY │ │ │ │ │ + respectively. Arguments │ │ │ │ │ + become │ │ │ │ │ + ARG1 │ │ │ │ │ + , │ │ │ │ │ + ARG2 │ │ │ │ │ + , etc in the macro context. │ │ │ │ │ + │ │ │ │ │ + If you Goto out of the Macro context, the Macro will terminate and control will be returned │ │ │ │ │ + at the location of the Goto. │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + MACRO_OFFSET │ │ │ │ │ + is set at termination, Macro will attempt to continue │ │ │ │ │ + at priority MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Because of the way Macro is implemented (it executes the priorities contained within │ │ │ │ │ + it via sub-engine), and a fixed per-thread memory stack allowance, macros are limited to 7 levels │ │ │ │ │ + of nesting (macro calling macro calling macro, etc.); It may be possible that stack-intensive │ │ │ │ │ + applications in deeply nested macros could cause asterisk to crash earlier than this limit. │ │ │ │ │ + It is advised that if you need to deeply nest macro calls, that you use the Gosub application │ │ │ │ │ + (now allows arguments like a Macro) with explicit Return() calls instead. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Use of the application │ │ │ │ │ + WaitExten │ │ │ │ │ + within a macro will not function │ │ │ │ │ + as expected. Please use the │ │ │ │ │ + Read │ │ │ │ │ + application in order to read DTMF from a channel │ │ │ │ │ + currently executing a macro. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MacroExit │ │ │ │ │ + Goto │ │ │ │ │ + Gosub │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conditional Macro implementation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes macro defined in │ │ │ │ │ + macroiftrue │ │ │ │ │ + if │ │ │ │ │ + expr │ │ │ │ │ + is true (otherwise │ │ │ │ │ + macroiffalse │ │ │ │ │ + if provided) │ │ │ │ │ + │ │ │ │ │ + Arguments and return values as in application Macro() │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + GotoIf │ │ │ │ │ + GosubIf │ │ │ │ │ + IF │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Exclusive Macro Implementation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the macro │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes macro defined in the context macro- │ │ │ │ │ + name │ │ │ │ │ + . │ │ │ │ │ + Only one call at a time may run the macro. (we'll wait if another call is busy │ │ │ │ │ + executing in the Macro) │ │ │ │ │ + │ │ │ │ │ + Arguments and return values as in application Macro() │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Macro │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Exit from Macro. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Causes the currently running macro to exit as if it had │ │ │ │ │ + ended normally by running out of priorities to execute. │ │ │ │ │ + If used outside a macro, will likely cause unexpected behavior. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Macro │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send a Text Message on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sends │ │ │ │ │ + text │ │ │ │ │ + to the current channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + current channel │ │ │ │ │ + could be the caller or callee depending │ │ │ │ │ + on the context in which this application is called. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The following variables can be set: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set and this channel supports enhanced messaging, this value will be │ │ │ │ │ + used as the │ │ │ │ │ + From │ │ │ │ │ + display name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set and this channel supports enhanced messaging, this value will be │ │ │ │ │ + used as the │ │ │ │ │ + To │ │ │ │ │ + display name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set and this channel supports enhanced messaging, this value will be │ │ │ │ │ + used as the message │ │ │ │ │ + Content-Type │ │ │ │ │ + . If not specified, the │ │ │ │ │ + default of │ │ │ │ │ + text/plain │ │ │ │ │ + will be used. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Warning: │ │ │ │ │ + Messages of types other than │ │ │ │ │ + text/* │ │ │ │ │ + cannot be sent via channel drivers that do not │ │ │ │ │ + support Enhanced Messaging. An attempt to do so will be ignored and will result │ │ │ │ │ + in the │ │ │ │ │ + SENDTEXTSTATUS │ │ │ │ │ + variable being set to │ │ │ │ │ + UNSUPPORTED │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set this value will be used as the message body and any text supplied │ │ │ │ │ + as a function parameter will be ignored. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Result of transmission will be stored in the following variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + No message sent. │ │ │ │ │ + Message body sent without attributes because the channel driver │ │ │ │ │ + doesn't support enhanced messaging. │ │ │ │ │ + The message was sent using enhanced messaging. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transmission succeeded. │ │ │ │ │ + Transmission failed. │ │ │ │ │ + Text transmission not supported by channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The text encoding and transmission method is completely at the │ │ │ │ │ + discretion of the channel driver. chan_pjsip will use in-dialog SIP MESSAGE │ │ │ │ │ + messages always. chan_sip will use T.140 via RTP if a text media type was │ │ │ │ │ + negotiated and in-dialog SIP MESSAGE messages otherwise. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Examples: │ │ │ │ │ + same => n,SendText(Your Text Here) │ │ │ │ │ + If the channel driver supports enhanced messaging (currently only chan_pjsip), │ │ │ │ │ + you can set additional variables: │ │ │ │ │ + same => n,Set(SENDTEXT_FROM_DISPLAYNAME=Really From Bob) │ │ │ │ │ + same => n,SendText(Your Text Here) │ │ │ │ │ + same => n,Set(SENDTEXT_CONTENT_TYPE=text/json) │ │ │ │ │ + same => n,SendText({"foo":a, "bar":23}) │ │ │ │ │ + same => n,Set(SENDTEXT_CONTENT_TYPE=text/json) │ │ │ │ │ + same => n,Set(SENDTEXT_BODY={"foo":a, "bar":23}) │ │ │ │ │ + same => n,SendText() │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SendImage │ │ │ │ │ + SendURL │ │ │ │ │ + ReceiveText │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.24.0 │ │ │ │ │ + 18.10.0 │ │ │ │ │ + 19.2.0 │ │ │ │ │ + │ │ │ │ │ + Receive a Text Message on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Time in seconds to wait for text. Default is 0 (forever). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Waits for │ │ │ │ │ + timeout │ │ │ │ │ + seconds on the current channel │ │ │ │ │ + to receive text. │ │ │ │ │ + │ │ │ │ │ + Result of transmission will be stored in the following variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The received text message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transmission succeeded. │ │ │ │ │ + Transmission failed or timed out. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + same => n,ReceiveText() │ │ │ │ │ + same => n,NoOp(${RECEIVETEXTMESSAGE}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SendText │ │ │ │ │ + SendImage │ │ │ │ │ + SendURL │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + app_confbridge │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Page series of phones │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specification of the device(s) to dial. These must be in the format of │ │ │ │ │ + Technology/Resource │ │ │ │ │ + , where │ │ │ │ │ + Technology │ │ │ │ │ + represents a particular channel driver, and │ │ │ │ │ + Resource │ │ │ │ │ + represents a resource │ │ │ │ │ + available to that particular channel driver. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Optional extra devices to dial in parallel │ │ │ │ │ + If you need more than one, enter them as Technology2/Resource2& │ │ │ │ │ + Technology3/Resource3&..... │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specify the length of time that the system will attempt to connect a call. │ │ │ │ │ + After this duration, any page calls that have not been answered will be hung up by the │ │ │ │ │ + system. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Places outbound calls to the given │ │ │ │ │ + technology │ │ │ │ │ + / │ │ │ │ │ + resource │ │ │ │ │ + and dumps them into a conference bridge as muted participants. The original │ │ │ │ │ + caller is dumped into the conference as a speaker and the room is │ │ │ │ │ + destroyed when the original caller leaves. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ConfBridge │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + IVR Demo Application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is a skeleton application that shows you the basic structure to create your │ │ │ │ │ + own asterisk applications and demonstrates the IVR demo. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes dialplan application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Application name and arguments of the dialplan application to execute. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Allows an arbitrary application to be invoked even when not │ │ │ │ │ + hard coded into the dialplan. If the underlying application │ │ │ │ │ + terminates the dialplan, or if the application cannot be found, │ │ │ │ │ + Exec will terminate the dialplan. │ │ │ │ │ + To invoke external applications, see the application System. │ │ │ │ │ + If you would like to catch any error instead, see TryExec. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes dialplan application, always returning. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Allows an arbitrary application to be invoked even when not │ │ │ │ │ + hard coded into the dialplan. To invoke external applications │ │ │ │ │ + see the application System. Always returns to the dialplan. │ │ │ │ │ + The channel variable TRYSTATUS will be set to one of: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the application returned zero. │ │ │ │ │ + If the application returned non-zero. │ │ │ │ │ + If the application was not found or was not specified. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes dialplan application, conditionally. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + expr │ │ │ │ │ + is true, execute and return the │ │ │ │ │ + result of │ │ │ │ │ + appiftrue(args) │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + expr │ │ │ │ │ + is true, but │ │ │ │ │ + appiftrue │ │ │ │ │ + is not found, │ │ │ │ │ + then the application will return a non-zero value. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + bridge_holding │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Put a call into the holding bridge. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Name of the holding bridge to join. This is a handle for │ │ │ │ │ + BridgeWait │ │ │ │ │ + only and does not affect the actual bridges that are created. If not provided, │ │ │ │ │ + the reserved name │ │ │ │ │ + default │ │ │ │ │ + will be used. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Defines the channel's purpose for entering the holding bridge. Values are case sensitive. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The channel will enter the holding bridge to be placed on hold │ │ │ │ │ + until it is removed from the bridge for some reason. (default) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The channel will enter the holding bridge to make announcements │ │ │ │ │ + to channels that are currently in the holding bridge. While an │ │ │ │ │ + announcer is present, holding for the participants will be │ │ │ │ │ + suspended. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application places the incoming channel into a holding bridge. │ │ │ │ │ + The channel will then wait in the holding bridge until some event occurs │ │ │ │ │ + which removes it from the holding bridge. │ │ │ │ │ + │ │ │ │ │ + This application will answer calls which haven't already │ │ │ │ │ + been answered. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Provide support for receiving alarm reports from a burglar or fire alarm panel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application should be called whenever there is an alarm panel calling in to dump its events. │ │ │ │ │ + The application will handshake with the alarm panel, and receive events, validate them, handshake them, │ │ │ │ │ + and store them until the panel hangs up. Once the panel hangs up, the application will run the system │ │ │ │ │ + command specified by the eventcmd setting in │ │ │ │ │ + alarmreceiver.conf │ │ │ │ │ + and pipe the │ │ │ │ │ + events to the standard input of the application. │ │ │ │ │ + The configuration file also contains settings for DTMF timing, and for the loudness of the │ │ │ │ │ + acknowledgement tones. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Few Ademco DTMF signalling formats are detected automatically: Contact ID, Express 4+1, │ │ │ │ │ + Express 4+2, High Speed and Super Fast. │ │ │ │ │ + │ │ │ │ │ + The application is affected by the following variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum call time, in milliseconds. │ │ │ │ │ + If set, this variable causes application to exit after the specified time. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum number of retries per call. │ │ │ │ │ + If set, this variable causes application to exit after the specified number of messages. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + alarmreceiver.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play a file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Comma separated list of options │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Plays back given filenames (do not put extension of wav/alaw etc). │ │ │ │ │ + The Playback application answers the channel if no options are specified. │ │ │ │ │ + If the file is non-existent it will fail. │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The status of the playback attempt as a text string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + See Also: Background (application) -- for playing sound files that are interruptible │ │ │ │ │ + WaitExten (application) -- wait for digits from caller, optionally play music on hold │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Background │ │ │ │ │ + WaitExten │ │ │ │ │ + ControlPlayback │ │ │ │ │ + stream file │ │ │ │ │ + control stream file │ │ │ │ │ + ControlPlayback │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play a file with fast forward and rewind. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is number of milliseconds to skip when rewinding or │ │ │ │ │ + fast-forwarding. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Fast-forward when this DTMF digit is received. (defaults to │ │ │ │ │ + # │ │ │ │ │ + ) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Rewind when this DTMF digit is received. (defaults to │ │ │ │ │ + * │ │ │ │ │ + ) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stop playback when this DTMF digit is received. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Pause playback when this DTMF digit is received. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Restart playback when this DTMF digit is received. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application will play back the given │ │ │ │ │ + filename │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + It sets the following channel variables upon completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Contains the status of the attempt as a text string │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Contains the offset in ms into the file where playback │ │ │ │ │ + was at when it stopped. │ │ │ │ │ + -1 │ │ │ │ │ + is end of file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the playback is stopped by the user this variable contains │ │ │ │ │ + the key that was pressed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Control the playback of a file being played to a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the channel that currently has a file being played back to it. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stop the playback operation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Move the current position in the media forward. The amount │ │ │ │ │ + of time that the stream moves forward is determined by the │ │ │ │ │ + skipms │ │ │ │ │ + value passed to the application │ │ │ │ │ + that initiated the playback. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The default skipms value is │ │ │ │ │ + 3000 │ │ │ │ │ + ms. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Move the current position in the media backward. The amount │ │ │ │ │ + of time that the stream moves backward is determined by the │ │ │ │ │ + skipms │ │ │ │ │ + value passed to the application │ │ │ │ │ + that initiated the playback. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The default skipms value is │ │ │ │ │ + 3000 │ │ │ │ │ + ms. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Pause/unpause the playback operation, if supported. │ │ │ │ │ + If not supported, stop the playback. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Restart the playback operation, if supported. │ │ │ │ │ + If not supported, stop the playback. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Control the operation of a media file being played back to a channel. │ │ │ │ │ + Note that this AMI action does not initiate playback of media to channel, but │ │ │ │ │ + rather controls the operation of a media operation that was already initiated │ │ │ │ │ + on the channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + pause │ │ │ │ │ + and │ │ │ │ │ + restart │ │ │ │ │ + Control │ │ │ │ │ + options will stop a playback │ │ │ │ │ + operation if that operation was not initiated from the │ │ │ │ │ + ControlPlayback │ │ │ │ │ + application or the │ │ │ │ │ + control stream file │ │ │ │ │ + AGI command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Playback │ │ │ │ │ + ControlPlayback │ │ │ │ │ + stream file │ │ │ │ │ + control stream file │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say text to the user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Connect to Festival, send the argument, get back the waveform, play it to the user, │ │ │ │ │ + allowing any given interrupt keys to immediately terminate and return the value, or │ │ │ │ │ + any │ │ │ │ │ + to allow any number back (useful in dialplan). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + An example number guessing game │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This simple number guessing application is a template to build other applications │ │ │ │ │ + from. It shows you the basic structure to create your own Asterisk applications. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Options that apply globally to app_skel │ │ │ │ │ + │ │ │ │ │ + The number of games a single execution of SkelGuessNumber will play │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Should the computer cheat? │ │ │ │ │ + │ │ │ │ │ + If enabled, the computer will ignore winning guesses. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Prompts for SkelGuessNumber to play │ │ │ │ │ + │ │ │ │ │ + A prompt directing the user to enter a number less than the max number │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound file to play when a wrong guess is made │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound file to play when a correct guess is made │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound file to play when a guess is too low │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound file to play when a guess is too high │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sound file to play when a player loses │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Defined levels for the SkelGuessNumber game │ │ │ │ │ + │ │ │ │ │ + The maximum in the range of numbers to guess (1 is the implied minimum) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The maximum number of guesses before a game is considered lost │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_adsi │ │ │ │ │ + res_smdi │ │ │ │ │ + yes │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Leave a Voicemail message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -3904,250 +7261,89 @@ │ │ │ │ │ within │ │ │ │ │ Context │ │ │ │ │ will be polled. │ │ │ │ │ Otherwise, only a single mailbox will be polled for changes. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_speech │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Create a Speech Structure. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application creates information to be used by all the other applications. │ │ │ │ │ - It must be called before doing any speech recognition activities such as activating a grammar. │ │ │ │ │ - It takes the engine name to use as the argument, if not specified the default engine will be used. │ │ │ │ │ - Sets the ERROR channel variable to 1 if the engine cannot be used. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Activate a grammar. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This activates the specified grammar to be recognized by the engine. │ │ │ │ │ - A grammar tells the speech recognition engine what to recognize, and how to portray it back to you │ │ │ │ │ - in the dialplan. The grammar name is the only argument to this application. │ │ │ │ │ - Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Start recognizing voice in the audio stream. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Tell the speech recognition engine that it should start trying to get results from audio being │ │ │ │ │ - fed to it. │ │ │ │ │ - Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play a sound file and wait for speech to be recognized. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Timeout integer in seconds. Note the timeout will only start │ │ │ │ │ - once the sound file has stopped playing. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application plays a sound file and waits for the person to speak. Once they start speaking playback │ │ │ │ │ - of the file stops, and silence is heard. Once they stop talking the processing sound is played to indicate │ │ │ │ │ - the speech recognition engine is working. Once results are available the application returns and results │ │ │ │ │ - (score and text) are available using dialplan functions. │ │ │ │ │ - The first text and score are ${SPEECH_TEXT(0)} AND ${SPEECH_SCORE(0)} while the second are ${SPEECH_TEXT(1)} │ │ │ │ │ - and ${SPEECH_SCORE(1)}. │ │ │ │ │ - The first argument is the sound file and the second is the timeout integer in seconds. │ │ │ │ │ - Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Deactivate a grammar. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The grammar name to deactivate │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This deactivates the specified grammar so that it is no longer recognized. │ │ │ │ │ - Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Change background processing sound. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This changes the processing sound that SpeechBackground plays back when the speech recognition engine is │ │ │ │ │ - processing and working to get results. │ │ │ │ │ - Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - End speech recognition. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This destroys the information used by all the other speech recognition applications. │ │ │ │ │ - If you call this application but end up wanting to recognize more speech, you must call SpeechCreate() │ │ │ │ │ - again before calling any other application. │ │ │ │ │ - Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Load a grammar. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Load a grammar only on the channel, not globally. │ │ │ │ │ - Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unload a grammar. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unload a grammar. │ │ │ │ │ - Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets the confidence score of a result. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets the confidence score of a result. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets the recognized text of a result. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets the recognized text of a result. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets the matched grammar of a result if available. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets the matched grammar of a result if available. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get or change a speech engine specific attribute. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Changes a speech engine specific attribute. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets the type of results that will be returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets the type of results that will be returned. Valid options are normal or nbest. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets information about speech recognition results. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns │ │ │ │ │ - 1 │ │ │ │ │ - upon speech object existing, │ │ │ │ │ - or │ │ │ │ │ - 0 │ │ │ │ │ - if not │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns │ │ │ │ │ - 1 │ │ │ │ │ - if spoker spoke, │ │ │ │ │ - or │ │ │ │ │ - 0 │ │ │ │ │ - if not │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns number of results that were recognized. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets information about speech recognition results. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Join a bridge that contains the specified channel. │ │ │ │ │ + │ │ │ │ │ + Plays morse code. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Name of the channel in an existing bridge │ │ │ │ │ + │ │ │ │ │ + String to playback as morse code to channel │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application places the incoming channel into │ │ │ │ │ - the bridge containing the specified channel. The specified │ │ │ │ │ - channel only needs to be the prefix of a full channel name │ │ │ │ │ - IE. 'SIP/cisco0001'. │ │ │ │ │ + Plays the Morse code equivalent of the passed string. │ │ │ │ │ + This application does not automatically answer and should be preceeded by │ │ │ │ │ + an application such as Answer() or Progress(). │ │ │ │ │ + This application uses the following variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Use this value in (ms) for length of dit │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The pitch of the tone in (Hz), default is 800 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The pitch of the spaces in (Hz), default is 0 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The code type to use (AMERICAN for standard American Morse │ │ │ │ │ + or INTERNATIONAL for international code. │ │ │ │ │ + Default is INTERNATIONAL). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + SayAlpha │ │ │ │ │ + SayPhonetic │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + jack │ │ │ │ │ + resample │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Play an MP3 file or M3U playlist file or stream. │ │ │ │ │ + │ │ │ │ │ + Jack Audio Connection Kit │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Location of the file to be played. │ │ │ │ │ - (argument passed to mpg123) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Executes mpg123 to play the given location, which typically would be a mp3 filename │ │ │ │ │ - or m3u playlist filename or a URL. Please read https://en.wikipedia.org/wiki/M3U │ │ │ │ │ - to see what the M3U playlist file format is like. │ │ │ │ │ - Note that mpg123 does not support HTTPS, so use HTTP for web streams. │ │ │ │ │ - User can exit by pressing any key on the dialpad, or by hanging up. │ │ │ │ │ - exten => 1234,1,MP3Player(/var/lib/asterisk/playlist.m3u) │ │ │ │ │ - This application does not automatically answer and should be preceeded by an │ │ │ │ │ - application such as Answer() or Progress(). │ │ │ │ │ + When executing this application, two jack ports will be created; │ │ │ │ │ + one input and one output. Other applications can be hooked up to │ │ │ │ │ + these ports to access audio coming from, or being send to the channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Wait (sleep) until the current time is the given epoch. │ │ │ │ │ @@ -4171,2063 +7367,732 @@ │ │ │ │ │ Invalid argument. │ │ │ │ │ Channel hungup before time elapsed. │ │ │ │ │ Time specified had already past. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_statsd │ │ │ │ │ - no │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Allow statistics to be passed to the StatsD server from the dialplan. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The metric type to be sent to StatsD. Valid metric types │ │ │ │ │ - are 'g' for gauge, 'c' for counter, 'ms' for timer, and 's' for │ │ │ │ │ - sets. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the variable to be sent to StatsD. Statistic │ │ │ │ │ - names cannot contain the pipe (|) character. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The value of the variable to be sent to StatsD. Values │ │ │ │ │ - must be numeric. Values for gauge and counter metrics can be │ │ │ │ │ - sent with a '+' or '-' to update a value after the value has │ │ │ │ │ - been initialized. Only counters can be initialized as negative. │ │ │ │ │ - Sets can send a string as the value parameter, but the string │ │ │ │ │ - cannot contain the pipe character. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The value of the sample rate to be sent to StatsD. Sample │ │ │ │ │ - rates less than or equal to 0 will never be sent and sample rates │ │ │ │ │ - greater than or equal to 1 will always be sent. Any rate │ │ │ │ │ - between 1 and 0 will be compared to a randomly generated value, │ │ │ │ │ - and if it is greater than the random value, it will be sent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This dialplan application sends statistics to the StatsD │ │ │ │ │ - server specified inside of │ │ │ │ │ - statsd.conf │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_monitor │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Forks the current Call Data Record for this channel. │ │ │ │ │ + │ │ │ │ │ + Queue a call for a call queue. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Causes the Call Data Record engine to fork a new CDR starting │ │ │ │ │ - from the time the application is executed. The forked CDR will be │ │ │ │ │ - linked to the end of the CDRs associated with the channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CDR │ │ │ │ │ - NoCDR │ │ │ │ │ - ResetCDR │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Receive Mini-Voicemail and forward via e-mail. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Voicemail username │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Voicemail domain │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application is part of the Mini-Voicemail system, configured in │ │ │ │ │ - minivm.conf │ │ │ │ │ - │ │ │ │ │ - MiniVM records audio file in configured format and forwards message to e-mail and pager. │ │ │ │ │ - If there's no user account for that address, a temporary account will be used with default options. │ │ │ │ │ - │ │ │ │ │ - The recorded file name and path will be stored in │ │ │ │ │ - MVM_FILENAME │ │ │ │ │ - and the duration │ │ │ │ │ - of the message will be stored in │ │ │ │ │ - MVM_DURATION │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If the caller hangs up after the recording, the only way to send the message and clean up is to │ │ │ │ │ - execute in the │ │ │ │ │ - h │ │ │ │ │ - extension. The application will exit if any of the following DTMF digits │ │ │ │ │ - are received and the requested extension exist in the current context. │ │ │ │ │ + URL │ │ │ │ │ + will be sent to the called party if the channel supports it. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Announcement file(s) to play to agent before bridging call, overriding the announcement(s) │ │ │ │ │ + configured in │ │ │ │ │ + queues.conf │ │ │ │ │ + , if any. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Will cause the queue to fail out after a specified number of │ │ │ │ │ + seconds, checked between each │ │ │ │ │ + queues.conf │ │ │ │ │ + timeout │ │ │ │ │ + and │ │ │ │ │ + retry │ │ │ │ │ + cycle. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Will setup an AGI script to be executed on the calling party's channel once they are │ │ │ │ │ + connected to a queue member. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Will run a macro on the called party's channel (the queue member) once the parties are connected. │ │ │ │ │ + NOTE: Macros are deprecated, GoSub should be used instead. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Will run a gosub on the called party's channel (the queue member) │ │ │ │ │ + once the parties are connected. The subroutine execution starts in the │ │ │ │ │ + named context at the s exten and priority 1. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Will cause the queue's defaultrule to be overridden by the rule specified. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Attempt to enter the caller into the queue at the numerical position specified. │ │ │ │ │ + 1 │ │ │ │ │ + would attempt to enter the caller at the head of the queue, and │ │ │ │ │ + 3 │ │ │ │ │ + would attempt to place │ │ │ │ │ + the caller third in the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + In addition to transferring the call, a call may be parked and then picked │ │ │ │ │ + up by another user. │ │ │ │ │ + This application will return to the dialplan if the queue does not exist, or │ │ │ │ │ + any of the join options cause the caller to not enter the queue. │ │ │ │ │ + This application does not automatically answer and should be preceeded │ │ │ │ │ + by an application such as Answer(), Progress(), or Ringing(). │ │ │ │ │ + This application sets the following channel variables upon completion: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the status of the record operation │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The status of the call as a text string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the call was not answered by an agent this variable will be TRUE. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Resource of the agent that was dialed set on the outbound channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Queue │ │ │ │ │ + QueueLog │ │ │ │ │ + AddQueueMember │ │ │ │ │ + RemoveQueueMember │ │ │ │ │ + PauseQueueMember │ │ │ │ │ + UnpauseQueueMember │ │ │ │ │ + QUEUE_VARIABLES │ │ │ │ │ + QUEUE_MEMBER │ │ │ │ │ + QUEUE_MEMBER_COUNT │ │ │ │ │ + QUEUE_EXISTS │ │ │ │ │ + QUEUE_GET_CHANNEL │ │ │ │ │ + QUEUE_WAITING_COUNT │ │ │ │ │ + QUEUE_MEMBER_LIST │ │ │ │ │ + QUEUE_MEMBER_PENALTY │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Play Mini-Voicemail prompts. │ │ │ │ │ + │ │ │ │ │ + Dynamically adds queue members. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Voicemail username │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Voicemail domain │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application is part of the Mini-Voicemail system, configured in minivm.conf. │ │ │ │ │ - MinivmGreet() plays default prompts or user specific prompts for an account. │ │ │ │ │ - Busy and unavailable messages can be choosen, but will be overridden if a temporary │ │ │ │ │ - message exists for the account. │ │ │ │ │ + Dynamically adds interface to an existing queue. If the interface is │ │ │ │ │ + already in the queue it will return an error. │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the status of the greeting playback. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The status of the attempt to add a queue member as a text string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Queue │ │ │ │ │ + QueueLog │ │ │ │ │ + AddQueueMember │ │ │ │ │ + RemoveQueueMember │ │ │ │ │ + PauseQueueMember │ │ │ │ │ + UnpauseQueueMember │ │ │ │ │ + QUEUE_VARIABLES │ │ │ │ │ + QUEUE_MEMBER │ │ │ │ │ + QUEUE_MEMBER_COUNT │ │ │ │ │ + QUEUE_EXISTS │ │ │ │ │ + QUEUE_GET_CHANNEL │ │ │ │ │ + QUEUE_WAITING_COUNT │ │ │ │ │ + QUEUE_MEMBER_LIST │ │ │ │ │ + QUEUE_MEMBER_PENALTY │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Notify voicemail owner about new messages. │ │ │ │ │ + │ │ │ │ │ + Dynamically removes queue members. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Voicemail username │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Voicemail domain │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application is part of the Mini-Voicemail system, configured in minivm.conf. │ │ │ │ │ │ │ │ │ │ - MiniVMnotify forwards messages about new voicemail to e-mail and pager. If there's no user │ │ │ │ │ - account for that address, a temporary account will be used with default options (set in │ │ │ │ │ - minivm.conf │ │ │ │ │ - ). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If the channel variable │ │ │ │ │ - MVM_COUNTER │ │ │ │ │ - is set, this will be used in the message │ │ │ │ │ - file name and available in the template for the message. │ │ │ │ │ + If the interface is │ │ │ │ │ + NOT │ │ │ │ │ + in the queue it will return an error. │ │ │ │ │ │ │ │ │ │ - If no template is given, the default email template will be used to send email and default pager │ │ │ │ │ - template to send paging message (if the user account is configured with a paging address. │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the status of the notification attempt │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + same => n,RemoveQueueMember(techsupport,SIP/3000) │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Queue │ │ │ │ │ + QueueLog │ │ │ │ │ + AddQueueMember │ │ │ │ │ + RemoveQueueMember │ │ │ │ │ + PauseQueueMember │ │ │ │ │ + UnpauseQueueMember │ │ │ │ │ + QUEUE_VARIABLES │ │ │ │ │ + QUEUE_MEMBER │ │ │ │ │ + QUEUE_MEMBER_COUNT │ │ │ │ │ + QUEUE_EXISTS │ │ │ │ │ + QUEUE_GET_CHANNEL │ │ │ │ │ + QUEUE_WAITING_COUNT │ │ │ │ │ + QUEUE_MEMBER_LIST │ │ │ │ │ + QUEUE_MEMBER_PENALTY │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Delete Mini-Voicemail voicemail messages. │ │ │ │ │ + │ │ │ │ │ + Pauses a queue member. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - File to delete │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is used to add extra information to the appropriate queue_log entries and manager events. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This application is part of the Mini-Voicemail system, configured in │ │ │ │ │ - minivm.conf │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - It deletes voicemail file set in MVM_FILENAME or given filename. │ │ │ │ │ + Pauses (blocks calls for) a queue member. The given interface will be paused in the given queue. │ │ │ │ │ + This prevents any calls from being sent from the queue to the interface until it is │ │ │ │ │ + unpaused with UnpauseQueueMember or the manager interface. If no queuename is given, │ │ │ │ │ + the interface is paused in every queue it is a member of. The application will fail if the │ │ │ │ │ + interface is not found. │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the status of the delete operation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The status of the attempt to pause a queue member as a text string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + same => n,PauseQueueMember(,SIP/3000) │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Queue │ │ │ │ │ + QueueLog │ │ │ │ │ + AddQueueMember │ │ │ │ │ + RemoveQueueMember │ │ │ │ │ + PauseQueueMember │ │ │ │ │ + UnpauseQueueMember │ │ │ │ │ + QUEUE_VARIABLES │ │ │ │ │ + QUEUE_MEMBER │ │ │ │ │ + QUEUE_MEMBER_COUNT │ │ │ │ │ + QUEUE_EXISTS │ │ │ │ │ + QUEUE_GET_CHANNEL │ │ │ │ │ + QUEUE_WAITING_COUNT │ │ │ │ │ + QUEUE_MEMBER_LIST │ │ │ │ │ + QUEUE_MEMBER_PENALTY │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Record account specific messages. │ │ │ │ │ + │ │ │ │ │ + Unpauses a queue member. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Voicemail username │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Voicemail domain │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is used to add extra information to the appropriate queue_log entries and manager events. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application is part of the Mini-Voicemail system, configured in │ │ │ │ │ - minivm.conf │ │ │ │ │ - . │ │ │ │ │ + Unpauses (resumes calls to) a queue member. This is the counterpart to │ │ │ │ │ + PauseQueueMember() │ │ │ │ │ + and operates exactly the same way, except it unpauses instead of pausing the given interface. │ │ │ │ │ │ │ │ │ │ - Use this application to record account specific audio/video messages for busy, unavailable │ │ │ │ │ - and temporary messages. │ │ │ │ │ - Account specific directories will be created if they do not exist. │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the result of the attempt to record the specified greeting. │ │ │ │ │ - │ │ │ │ │ - FAILED │ │ │ │ │ - is set if the file can't be created. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The status of the attempt to unpause a queue member as a text string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + same => n,UnpauseQueueMember(,SIP/3000) │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Queue │ │ │ │ │ + QueueLog │ │ │ │ │ + AddQueueMember │ │ │ │ │ + RemoveQueueMember │ │ │ │ │ + PauseQueueMember │ │ │ │ │ + UnpauseQueueMember │ │ │ │ │ + QUEUE_VARIABLES │ │ │ │ │ + QUEUE_MEMBER │ │ │ │ │ + QUEUE_MEMBER_COUNT │ │ │ │ │ + QUEUE_EXISTS │ │ │ │ │ + QUEUE_GET_CHANNEL │ │ │ │ │ + QUEUE_WAITING_COUNT │ │ │ │ │ + QUEUE_MEMBER_LIST │ │ │ │ │ + QUEUE_MEMBER_PENALTY │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Send Message Waiting Notification to subscriber(s) of mailbox. │ │ │ │ │ + │ │ │ │ │ + Writes to the queue_log file. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Voicemail username │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Voicemail domain │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of urgent messages in mailbox. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of new messages in mailbox. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of old messages in mailbox. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This application is part of the Mini-Voicemail system, configured in │ │ │ │ │ - minivm.conf │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - MinivmMWI is used to send message waiting indication to any devices whose channels have │ │ │ │ │ - subscribed to the mailbox passed in the first parameter. │ │ │ │ │ + Allows you to write your own events into the queue log. │ │ │ │ │ + same => n,QueueLog(101,${UNIQUEID},${AGENT},WENTONBREAK,600) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Queue │ │ │ │ │ + QueueLog │ │ │ │ │ + AddQueueMember │ │ │ │ │ + RemoveQueueMember │ │ │ │ │ + PauseQueueMember │ │ │ │ │ + UnpauseQueueMember │ │ │ │ │ + QUEUE_VARIABLES │ │ │ │ │ + QUEUE_MEMBER │ │ │ │ │ + QUEUE_MEMBER_COUNT │ │ │ │ │ + QUEUE_EXISTS │ │ │ │ │ + QUEUE_GET_CHANNEL │ │ │ │ │ + QUEUE_WAITING_COUNT │ │ │ │ │ + QUEUE_MEMBER_LIST │ │ │ │ │ + QUEUE_MEMBER_PENALTY │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Writes to the queue_log file for outbound calls and updates Realtime Data. │ │ │ │ │ + Is used at h extension to be able to have all the parameters. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Allows you to write Outbound events into the queue log. │ │ │ │ │ + exten => h,1,QueueUpdate(${QUEUE}, ${UNIQUEID}, ${AGENT}, ${DIALSTATUS}, ${ANSWEREDTIME}, ${DIALEDTIME} | ${DIALEDNUMBER}) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Reads or sets counters for MiniVoicemail message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If account is given and it exists, the counter is specific for the account. │ │ │ │ │ - If account is a domain and the domain directory exists, counters are specific for a domain. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the counter is a string, up to 10 characters. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The counters never goes below zero. Valid operands for changing the value of a counter when assigning a value are: │ │ │ │ │ + │ │ │ │ │ + Return Queue information in variables. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Increment by value. │ │ │ │ │ + │ │ │ │ │ + Maxmimum number of calls allowed. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Decrement by value. │ │ │ │ │ + │ │ │ │ │ + The strategy of the queue. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Set to value. │ │ │ │ │ + │ │ │ │ │ + Number of calls currently in the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Current average hold time. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of completed calls for the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of abandoned calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Queue service level. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Current service level performance. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + Makes the following queue variables available. │ │ │ │ │ + │ │ │ │ │ + Returns │ │ │ │ │ + 0 │ │ │ │ │ + if queue is found and setqueuevar is defined, │ │ │ │ │ + -1 │ │ │ │ │ + otherwise. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - MinivmRecord │ │ │ │ │ - MinivmGreet │ │ │ │ │ - MinivmNotify │ │ │ │ │ - MinivmDelete │ │ │ │ │ - MinivmAccMess │ │ │ │ │ - MinivmMWI │ │ │ │ │ - MINIVMACCOUNT │ │ │ │ │ + Queue │ │ │ │ │ + QueueLog │ │ │ │ │ + AddQueueMember │ │ │ │ │ + RemoveQueueMember │ │ │ │ │ + PauseQueueMember │ │ │ │ │ + UnpauseQueueMember │ │ │ │ │ + QUEUE_VARIABLES │ │ │ │ │ + QUEUE_MEMBER │ │ │ │ │ + QUEUE_MEMBER_COUNT │ │ │ │ │ + QUEUE_EXISTS │ │ │ │ │ + QUEUE_GET_CHANNEL │ │ │ │ │ + QUEUE_WAITING_COUNT │ │ │ │ │ + QUEUE_MEMBER_LIST │ │ │ │ │ + QUEUE_MEMBER_PENALTY │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gets MiniVoicemail account information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Valid items are: │ │ │ │ │ + │ │ │ │ │ + Provides a count of queue members based on the provided criteria, or updates a │ │ │ │ │ + queue member's settings. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Path to account mailbox (if account exists, otherwise temporary mailbox). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 1 is static Minivm account exists, 0 otherwise. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Full name of account owner. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Email address used for account. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Email template for account (default template if none is configured). │ │ │ │ │ + │ │ │ │ │ + Returns the number of logged-in members for the specified queue. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Pager template for account (default template if none is configured). │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Account code for the voicemail account. │ │ │ │ │ + │ │ │ │ │ + Returns the number of logged-in members for the specified queue that are immediately available to answer a call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Pin code for voicemail account. │ │ │ │ │ + │ │ │ │ │ + Returns the total number of members for the specified queue. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Time zone for voicemail account. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets queue member penalty. If │ │ │ │ │ + queuename │ │ │ │ │ + is not specified │ │ │ │ │ + when setting the penalty then the penalty is set in all queues │ │ │ │ │ + the interface is a member. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Language for voicemail account. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets queue member paused status. If │ │ │ │ │ + queuename │ │ │ │ │ + is not specified │ │ │ │ │ + when setting the paused status then the paused status is set │ │ │ │ │ + in all queues the interface is a member. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Channel variable value (set in configuration for account). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets queue member ringinuse. If │ │ │ │ │ + queuename │ │ │ │ │ + is not specified │ │ │ │ │ + when setting ringinuse then ringinuse is set │ │ │ │ │ + in all queues the interface is a member. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + Allows access to queue counts [R] and member information [R/W]. │ │ │ │ │ + │ │ │ │ │ + queuename │ │ │ │ │ + is required for all read operations. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + interface │ │ │ │ │ + is required for all member operations. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - MinivmRecord │ │ │ │ │ - MinivmGreet │ │ │ │ │ - MinivmNotify │ │ │ │ │ - MinivmDelete │ │ │ │ │ - MinivmAccMess │ │ │ │ │ - MinivmMWI │ │ │ │ │ - MINIVMCOUNTER │ │ │ │ │ + Queue │ │ │ │ │ + QueueLog │ │ │ │ │ + AddQueueMember │ │ │ │ │ + RemoveQueueMember │ │ │ │ │ + PauseQueueMember │ │ │ │ │ + UnpauseQueueMember │ │ │ │ │ + QUEUE_VARIABLES │ │ │ │ │ + QUEUE_MEMBER │ │ │ │ │ + QUEUE_MEMBER_COUNT │ │ │ │ │ + QUEUE_EXISTS │ │ │ │ │ + QUEUE_GET_CHANNEL │ │ │ │ │ + QUEUE_WAITING_COUNT │ │ │ │ │ + QUEUE_MEMBER_LIST │ │ │ │ │ + QUEUE_MEMBER_PENALTY │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a notification is sent out by a MiniVoiceMail application │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - What action was taken. Currently, this will always be │ │ │ │ │ - SentNotification │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The mailbox that the notification was about, specified as │ │ │ │ │ - mailbox │ │ │ │ │ - @ │ │ │ │ │ - context │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A message counter derived from the │ │ │ │ │ - MVM_COUNTER │ │ │ │ │ - channel variable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Redirects given channel to a dialplan target │ │ │ │ │ + │ │ │ │ │ + Count number of members answering a queue. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Sends the specified channel to the specified extension priority │ │ │ │ │ - This application sets the following channel variables upon completion │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Are set to the result of the redirection │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Returns the number of members currently associated with the specified │ │ │ │ │ + queuename │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function has been deprecated in favor of the │ │ │ │ │ + QUEUE_MEMBER() │ │ │ │ │ + function │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Delete a family or keytree from the asterisk database. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Queue │ │ │ │ │ + QueueLog │ │ │ │ │ + AddQueueMember │ │ │ │ │ + RemoveQueueMember │ │ │ │ │ + PauseQueueMember │ │ │ │ │ + UnpauseQueueMember │ │ │ │ │ + QUEUE_VARIABLES │ │ │ │ │ + QUEUE_MEMBER │ │ │ │ │ + QUEUE_MEMBER_COUNT │ │ │ │ │ + QUEUE_EXISTS │ │ │ │ │ + QUEUE_GET_CHANNEL │ │ │ │ │ + QUEUE_WAITING_COUNT │ │ │ │ │ + QUEUE_MEMBER_LIST │ │ │ │ │ + QUEUE_MEMBER_PENALTY │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Check if a named queue exists on this server │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This application will delete a │ │ │ │ │ - family │ │ │ │ │ - or │ │ │ │ │ - keytree │ │ │ │ │ - from the Asterisk database. │ │ │ │ │ - │ │ │ │ │ + Returns 1 if the specified queue exists, 0 if it does not │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - DB_DELETE │ │ │ │ │ - DB │ │ │ │ │ + Queue │ │ │ │ │ + QueueLog │ │ │ │ │ + AddQueueMember │ │ │ │ │ + RemoveQueueMember │ │ │ │ │ + PauseQueueMember │ │ │ │ │ + UnpauseQueueMember │ │ │ │ │ + QUEUE_VARIABLES │ │ │ │ │ + QUEUE_MEMBER │ │ │ │ │ + QUEUE_MEMBER_COUNT │ │ │ │ │ + QUEUE_EXISTS │ │ │ │ │ + QUEUE_GET_CHANNEL │ │ │ │ │ + QUEUE_WAITING_COUNT │ │ │ │ │ + QUEUE_MEMBER_LIST │ │ │ │ │ + QUEUE_MEMBER_PENALTY │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Read an extension into a variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Return caller at the specified position in a queue. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - File to play before reading digits or tone with option │ │ │ │ │ - i │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Context in which to match extensions. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - An integer number of seconds to wait for a digit response. If │ │ │ │ │ - greater than │ │ │ │ │ - 0 │ │ │ │ │ - , that value will override the default timeout. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Reads a │ │ │ │ │ - # │ │ │ │ │ - terminated string of digits from the user into the given variable. │ │ │ │ │ - │ │ │ │ │ - Will set READEXTENSTATUS on exit with one of the following statuses: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A valid extension exists in ${variable}. │ │ │ │ │ - No extension was entered in the specified time. Also sets ${variable} to "t". │ │ │ │ │ - An invalid extension, ${INVALID_EXTEN}, was entered. Also sets ${variable} to "i". │ │ │ │ │ - Line was not up and the option 's' was specified. │ │ │ │ │ - Invalid arguments were passed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Listen to a channel, and optionally whisper into it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application is used to listen to the audio from an Asterisk channel. This includes the audio │ │ │ │ │ - coming in and out of the channel being spied on. If the │ │ │ │ │ - chanprefix │ │ │ │ │ - parameter is specified, │ │ │ │ │ - only channels beginning with this string will be spied upon. │ │ │ │ │ - │ │ │ │ │ - While spying, the following actions may be performed: │ │ │ │ │ - │ │ │ │ │ - - Dialing │ │ │ │ │ - # │ │ │ │ │ - cycles the volume level. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - - Dialing │ │ │ │ │ - * │ │ │ │ │ - will stop spying and look for another channel to spy on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - - Dialing a series of digits followed by │ │ │ │ │ - # │ │ │ │ │ - builds a channel name to append │ │ │ │ │ - to │ │ │ │ │ - chanprefix │ │ │ │ │ - . For example, executing ChanSpy(Agent) and then dialing the digits '1234#' │ │ │ │ │ - while spying will begin spying on the channel 'Agent/1234'. Note that this feature will be overridden │ │ │ │ │ - if the 'd' or 'u' options are used. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - X │ │ │ │ │ - option supersedes the three features above in that if a valid │ │ │ │ │ - single digit extension exists in the correct context ChanSpy will exit to it. │ │ │ │ │ - This also disables choosing a channel based on │ │ │ │ │ - chanprefix │ │ │ │ │ - and a digit sequence. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ExtenSpy │ │ │ │ │ - ChanSpyStart │ │ │ │ │ - ChanSpyStop │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Listen to a channel, and optionally whisper into it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specify extension. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optionally specify a context, defaults to │ │ │ │ │ - default │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application is used to listen to the audio from an Asterisk channel. This includes │ │ │ │ │ - the audio coming in and out of the channel being spied on. Only channels created by outgoing calls for the │ │ │ │ │ - specified extension will be selected for spying. If the optional context is not supplied, │ │ │ │ │ - the current channel's context will be used. │ │ │ │ │ - While spying, the following actions may be performed: │ │ │ │ │ - │ │ │ │ │ - - Dialing │ │ │ │ │ - # │ │ │ │ │ - cycles the volume level. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - - Dialing │ │ │ │ │ - * │ │ │ │ │ - will stop spying and look for another channel to spy on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - X │ │ │ │ │ - option supersedes the three features above in that if a valid │ │ │ │ │ - single digit extension exists in the correct context ChanSpy will exit to it. │ │ │ │ │ - This also disables choosing a channel based on │ │ │ │ │ - chanprefix │ │ │ │ │ - and a digit sequence. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ChanSpy │ │ │ │ │ - ChanSpyStart │ │ │ │ │ - ChanSpyStop │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Scan DAHDI channels to monitor calls. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Limit scanning to a channel │ │ │ │ │ - group │ │ │ │ │ - by setting this option. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Allows a call center manager to monitor DAHDI channels in a │ │ │ │ │ - convenient way. Use │ │ │ │ │ - # │ │ │ │ │ - to select the next channel and use │ │ │ │ │ - * │ │ │ │ │ - to exit. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ChanSpyStart │ │ │ │ │ - ChanSpyStop │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_stasis │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Invoke an external Stasis application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Name of the application to invoke. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optional comma-delimited arguments for the │ │ │ │ │ - application invocation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Invoke a Stasis application. │ │ │ │ │ - This application will set the following channel variable upon │ │ │ │ │ - completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This indicates the status of the execution of the │ │ │ │ │ - Stasis application. │ │ │ │ │ - The channel has exited Stasis without any failures in │ │ │ │ │ - Stasis. │ │ │ │ │ - A failure occurred when executing the Stasis │ │ │ │ │ - The app registry is not instantiated; The app │ │ │ │ │ - application. Some (not all) possible reasons for this: │ │ │ │ │ - requested is not registered; The app requested is not │ │ │ │ │ - active; Stasis couldn't send a start message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Tell Asterisk to not maintain a CDR for this channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will tell Asterisk not to maintain a CDR for │ │ │ │ │ - the current channel. This does │ │ │ │ │ - NOT │ │ │ │ │ - mean that │ │ │ │ │ - information is not tracked; rather, if the channel is hung up no │ │ │ │ │ - CDRs will be created for that channel. │ │ │ │ │ - │ │ │ │ │ - If a subsequent call to ResetCDR occurs, all non-finalized │ │ │ │ │ - CDRs created for the channel will be enabled. │ │ │ │ │ - │ │ │ │ │ - This application is deprecated. Please use the CDR_PROP │ │ │ │ │ - function to disable CDRs on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ResetCDR │ │ │ │ │ - CDR_PROP │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Resets the Call Data Record. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application causes the Call Data Record to be reset. │ │ │ │ │ - Depending on the flags passed in, this can have several effects. │ │ │ │ │ - With no options, a reset does the following: │ │ │ │ │ - │ │ │ │ │ - 1. The │ │ │ │ │ - start │ │ │ │ │ - time is set to the current time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 2. If the channel is answered, the │ │ │ │ │ - answer │ │ │ │ │ - time is set to the │ │ │ │ │ - current time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 3. All variables are wiped from the CDR. Note that this step │ │ │ │ │ - can be prevented with the │ │ │ │ │ - v │ │ │ │ │ - option. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - On the other hand, if the │ │ │ │ │ - e │ │ │ │ │ - option is │ │ │ │ │ - specified, the effects of the NoCDR application will be lifted. CDRs │ │ │ │ │ - will be re-enabled for this channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - e │ │ │ │ │ - option is deprecated. Please │ │ │ │ │ - use the CDR_PROP function instead. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ForkCDR │ │ │ │ │ - NoCDR │ │ │ │ │ - CDR_PROP │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Record to a file. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is the format of the file type to be recorded (wav, gsm, etc). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is the number of seconds of silence to allow before returning. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is the maximum recording duration in seconds. If missing │ │ │ │ │ - or 0 there is no maximum. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If filename contains │ │ │ │ │ - %d │ │ │ │ │ - , these characters will be replaced with a number │ │ │ │ │ - incremented by one each time the file is recorded. │ │ │ │ │ - Use │ │ │ │ │ - core show file formats │ │ │ │ │ - to see the available formats on your system │ │ │ │ │ - User can press │ │ │ │ │ - # │ │ │ │ │ - to terminate the recording and continue to the next priority. │ │ │ │ │ - If the user hangs up during a recording, all data will be lost and the application will terminate. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Will be set to the final filename of the recording, without an extension. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is the final status of the command │ │ │ │ │ - A terminating DTMF was received ('#' or '*', depending upon option 't') │ │ │ │ │ - The maximum silence occurred in the recording. │ │ │ │ │ - The line was not yet answered and the 's' option was specified. │ │ │ │ │ - The maximum length was reached. │ │ │ │ │ - The channel was hung up. │ │ │ │ │ - An unrecoverable error occurred, which resulted in a WARNING to the logs. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.20.0 │ │ │ │ │ - 18.6.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Reloads an Asterisk module, blocking the channel until the reload has completed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The full name(s) of the target module(s) or resource(s) to reload. │ │ │ │ │ - If omitted, everything will be reloaded. │ │ │ │ │ - │ │ │ │ │ - The full names MUST be specified (e.g. │ │ │ │ │ - chan_iax2 │ │ │ │ │ - to reload IAX2 or │ │ │ │ │ - pbx_config │ │ │ │ │ - to reload the dialplan. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reloads the specified (or all) Asterisk modules and reports success or failure. │ │ │ │ │ - Success is determined by each individual module, and if all reloads are successful, │ │ │ │ │ - that is considered an aggregate success. If multiple modules are specified and any │ │ │ │ │ - module fails, then FAILURE will be returned. It is still possible that other modules │ │ │ │ │ - did successfully reload, however. │ │ │ │ │ - │ │ │ │ │ - Sets │ │ │ │ │ - RELOADSTATUS │ │ │ │ │ - to one of the following values: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specified module(s) reloaded successfully. │ │ │ │ │ - Some or all of the specified modules failed to reload. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_monitor │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue a call for a call queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - URL │ │ │ │ │ - will be sent to the called party if the channel supports it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Announcement file(s) to play to agent before bridging call, overriding the announcement(s) │ │ │ │ │ - configured in │ │ │ │ │ - queues.conf │ │ │ │ │ - , if any. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Will cause the queue to fail out after a specified number of │ │ │ │ │ - seconds, checked between each │ │ │ │ │ - queues.conf │ │ │ │ │ - timeout │ │ │ │ │ - and │ │ │ │ │ - retry │ │ │ │ │ - cycle. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Will setup an AGI script to be executed on the calling party's channel once they are │ │ │ │ │ - connected to a queue member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Will run a macro on the called party's channel (the queue member) once the parties are connected. │ │ │ │ │ - NOTE: Macros are deprecated, GoSub should be used instead. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Will run a gosub on the called party's channel (the queue member) │ │ │ │ │ - once the parties are connected. The subroutine execution starts in the │ │ │ │ │ - named context at the s exten and priority 1. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Will cause the queue's defaultrule to be overridden by the rule specified. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Attempt to enter the caller into the queue at the numerical position specified. │ │ │ │ │ - 1 │ │ │ │ │ - would attempt to enter the caller at the head of the queue, and │ │ │ │ │ - 3 │ │ │ │ │ - would attempt to place │ │ │ │ │ - the caller third in the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - In addition to transferring the call, a call may be parked and then picked │ │ │ │ │ - up by another user. │ │ │ │ │ - This application will return to the dialplan if the queue does not exist, or │ │ │ │ │ - any of the join options cause the caller to not enter the queue. │ │ │ │ │ - This application does not automatically answer and should be preceeded │ │ │ │ │ - by an application such as Answer(), Progress(), or Ringing(). │ │ │ │ │ - This application sets the following channel variables upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The status of the call as a text string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If the call was not answered by an agent this variable will be TRUE. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Resource of the agent that was dialed set on the outbound channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue │ │ │ │ │ - QueueLog │ │ │ │ │ - AddQueueMember │ │ │ │ │ - RemoveQueueMember │ │ │ │ │ - PauseQueueMember │ │ │ │ │ - UnpauseQueueMember │ │ │ │ │ - QUEUE_VARIABLES │ │ │ │ │ - QUEUE_MEMBER │ │ │ │ │ - QUEUE_MEMBER_COUNT │ │ │ │ │ - QUEUE_EXISTS │ │ │ │ │ - QUEUE_GET_CHANNEL │ │ │ │ │ - QUEUE_WAITING_COUNT │ │ │ │ │ - QUEUE_MEMBER_LIST │ │ │ │ │ - QUEUE_MEMBER_PENALTY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dynamically adds queue members. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dynamically adds interface to an existing queue. If the interface is │ │ │ │ │ - already in the queue it will return an error. │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The status of the attempt to add a queue member as a text string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue │ │ │ │ │ - QueueLog │ │ │ │ │ - AddQueueMember │ │ │ │ │ - RemoveQueueMember │ │ │ │ │ - PauseQueueMember │ │ │ │ │ - UnpauseQueueMember │ │ │ │ │ - QUEUE_VARIABLES │ │ │ │ │ - QUEUE_MEMBER │ │ │ │ │ - QUEUE_MEMBER_COUNT │ │ │ │ │ - QUEUE_EXISTS │ │ │ │ │ - QUEUE_GET_CHANNEL │ │ │ │ │ - QUEUE_WAITING_COUNT │ │ │ │ │ - QUEUE_MEMBER_LIST │ │ │ │ │ - QUEUE_MEMBER_PENALTY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dynamically removes queue members. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If the interface is │ │ │ │ │ - NOT │ │ │ │ │ - in the queue it will return an error. │ │ │ │ │ - │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - same => n,RemoveQueueMember(techsupport,SIP/3000) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue │ │ │ │ │ - QueueLog │ │ │ │ │ - AddQueueMember │ │ │ │ │ - RemoveQueueMember │ │ │ │ │ - PauseQueueMember │ │ │ │ │ - UnpauseQueueMember │ │ │ │ │ - QUEUE_VARIABLES │ │ │ │ │ - QUEUE_MEMBER │ │ │ │ │ - QUEUE_MEMBER_COUNT │ │ │ │ │ - QUEUE_EXISTS │ │ │ │ │ - QUEUE_GET_CHANNEL │ │ │ │ │ - QUEUE_WAITING_COUNT │ │ │ │ │ - QUEUE_MEMBER_LIST │ │ │ │ │ - QUEUE_MEMBER_PENALTY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Pauses a queue member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is used to add extra information to the appropriate queue_log entries and manager events. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Pauses (blocks calls for) a queue member. The given interface will be paused in the given queue. │ │ │ │ │ - This prevents any calls from being sent from the queue to the interface until it is │ │ │ │ │ - unpaused with UnpauseQueueMember or the manager interface. If no queuename is given, │ │ │ │ │ - the interface is paused in every queue it is a member of. The application will fail if the │ │ │ │ │ - interface is not found. │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The status of the attempt to pause a queue member as a text string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - same => n,PauseQueueMember(,SIP/3000) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue │ │ │ │ │ - QueueLog │ │ │ │ │ - AddQueueMember │ │ │ │ │ - RemoveQueueMember │ │ │ │ │ - PauseQueueMember │ │ │ │ │ - UnpauseQueueMember │ │ │ │ │ - QUEUE_VARIABLES │ │ │ │ │ - QUEUE_MEMBER │ │ │ │ │ - QUEUE_MEMBER_COUNT │ │ │ │ │ - QUEUE_EXISTS │ │ │ │ │ - QUEUE_GET_CHANNEL │ │ │ │ │ - QUEUE_WAITING_COUNT │ │ │ │ │ - QUEUE_MEMBER_LIST │ │ │ │ │ - QUEUE_MEMBER_PENALTY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unpauses a queue member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is used to add extra information to the appropriate queue_log entries and manager events. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unpauses (resumes calls to) a queue member. This is the counterpart to │ │ │ │ │ - PauseQueueMember() │ │ │ │ │ - and operates exactly the same way, except it unpauses instead of pausing the given interface. │ │ │ │ │ - │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The status of the attempt to unpause a queue member as a text string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - same => n,UnpauseQueueMember(,SIP/3000) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue │ │ │ │ │ - QueueLog │ │ │ │ │ - AddQueueMember │ │ │ │ │ - RemoveQueueMember │ │ │ │ │ - PauseQueueMember │ │ │ │ │ - UnpauseQueueMember │ │ │ │ │ - QUEUE_VARIABLES │ │ │ │ │ - QUEUE_MEMBER │ │ │ │ │ - QUEUE_MEMBER_COUNT │ │ │ │ │ - QUEUE_EXISTS │ │ │ │ │ - QUEUE_GET_CHANNEL │ │ │ │ │ - QUEUE_WAITING_COUNT │ │ │ │ │ - QUEUE_MEMBER_LIST │ │ │ │ │ - QUEUE_MEMBER_PENALTY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Writes to the queue_log file. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Allows you to write your own events into the queue log. │ │ │ │ │ - same => n,QueueLog(101,${UNIQUEID},${AGENT},WENTONBREAK,600) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue │ │ │ │ │ - QueueLog │ │ │ │ │ - AddQueueMember │ │ │ │ │ - RemoveQueueMember │ │ │ │ │ - PauseQueueMember │ │ │ │ │ - UnpauseQueueMember │ │ │ │ │ - QUEUE_VARIABLES │ │ │ │ │ - QUEUE_MEMBER │ │ │ │ │ - QUEUE_MEMBER_COUNT │ │ │ │ │ - QUEUE_EXISTS │ │ │ │ │ - QUEUE_GET_CHANNEL │ │ │ │ │ - QUEUE_WAITING_COUNT │ │ │ │ │ - QUEUE_MEMBER_LIST │ │ │ │ │ - QUEUE_MEMBER_PENALTY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Writes to the queue_log file for outbound calls and updates Realtime Data. │ │ │ │ │ - Is used at h extension to be able to have all the parameters. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Allows you to write Outbound events into the queue log. │ │ │ │ │ - exten => h,1,QueueUpdate(${QUEUE}, ${UNIQUEID}, ${AGENT}, ${DIALSTATUS}, ${ANSWEREDTIME}, ${DIALEDTIME} | ${DIALEDNUMBER}) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Return Queue information in variables. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maxmimum number of calls allowed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The strategy of the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of calls currently in the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Current average hold time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of completed calls for the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of abandoned calls. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue service level. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Current service level performance. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Makes the following queue variables available. │ │ │ │ │ - │ │ │ │ │ - Returns │ │ │ │ │ - 0 │ │ │ │ │ - if queue is found and setqueuevar is defined, │ │ │ │ │ - -1 │ │ │ │ │ - otherwise. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue │ │ │ │ │ - QueueLog │ │ │ │ │ - AddQueueMember │ │ │ │ │ - RemoveQueueMember │ │ │ │ │ - PauseQueueMember │ │ │ │ │ - UnpauseQueueMember │ │ │ │ │ - QUEUE_VARIABLES │ │ │ │ │ - QUEUE_MEMBER │ │ │ │ │ - QUEUE_MEMBER_COUNT │ │ │ │ │ - QUEUE_EXISTS │ │ │ │ │ - QUEUE_GET_CHANNEL │ │ │ │ │ - QUEUE_WAITING_COUNT │ │ │ │ │ - QUEUE_MEMBER_LIST │ │ │ │ │ - QUEUE_MEMBER_PENALTY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Provides a count of queue members based on the provided criteria, or updates a │ │ │ │ │ - queue member's settings. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns the number of logged-in members for the specified queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns the number of logged-in members for the specified queue that are immediately available to answer a call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns the total number of members for the specified queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets queue member penalty. If │ │ │ │ │ - queuename │ │ │ │ │ - is not specified │ │ │ │ │ - when setting the penalty then the penalty is set in all queues │ │ │ │ │ - the interface is a member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets queue member paused status. If │ │ │ │ │ - queuename │ │ │ │ │ - is not specified │ │ │ │ │ - when setting the paused status then the paused status is set │ │ │ │ │ - in all queues the interface is a member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets queue member ringinuse. If │ │ │ │ │ - queuename │ │ │ │ │ - is not specified │ │ │ │ │ - when setting ringinuse then ringinuse is set │ │ │ │ │ - in all queues the interface is a member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Allows access to queue counts [R] and member information [R/W]. │ │ │ │ │ - │ │ │ │ │ - queuename │ │ │ │ │ - is required for all read operations. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - interface │ │ │ │ │ - is required for all member operations. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue │ │ │ │ │ - QueueLog │ │ │ │ │ - AddQueueMember │ │ │ │ │ - RemoveQueueMember │ │ │ │ │ - PauseQueueMember │ │ │ │ │ - UnpauseQueueMember │ │ │ │ │ - QUEUE_VARIABLES │ │ │ │ │ - QUEUE_MEMBER │ │ │ │ │ - QUEUE_MEMBER_COUNT │ │ │ │ │ - QUEUE_EXISTS │ │ │ │ │ - QUEUE_GET_CHANNEL │ │ │ │ │ - QUEUE_WAITING_COUNT │ │ │ │ │ - QUEUE_MEMBER_LIST │ │ │ │ │ - QUEUE_MEMBER_PENALTY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Count number of members answering a queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns the number of members currently associated with the specified │ │ │ │ │ - queuename │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function has been deprecated in favor of the │ │ │ │ │ - QUEUE_MEMBER() │ │ │ │ │ - function │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue │ │ │ │ │ - QueueLog │ │ │ │ │ - AddQueueMember │ │ │ │ │ - RemoveQueueMember │ │ │ │ │ - PauseQueueMember │ │ │ │ │ - UnpauseQueueMember │ │ │ │ │ - QUEUE_VARIABLES │ │ │ │ │ - QUEUE_MEMBER │ │ │ │ │ - QUEUE_MEMBER_COUNT │ │ │ │ │ - QUEUE_EXISTS │ │ │ │ │ - QUEUE_GET_CHANNEL │ │ │ │ │ - QUEUE_WAITING_COUNT │ │ │ │ │ - QUEUE_MEMBER_LIST │ │ │ │ │ - QUEUE_MEMBER_PENALTY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check if a named queue exists on this server │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns 1 if the specified queue exists, 0 if it does not │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue │ │ │ │ │ - QueueLog │ │ │ │ │ - AddQueueMember │ │ │ │ │ - RemoveQueueMember │ │ │ │ │ - PauseQueueMember │ │ │ │ │ - UnpauseQueueMember │ │ │ │ │ - QUEUE_VARIABLES │ │ │ │ │ - QUEUE_MEMBER │ │ │ │ │ - QUEUE_MEMBER_COUNT │ │ │ │ │ - QUEUE_EXISTS │ │ │ │ │ - QUEUE_GET_CHANNEL │ │ │ │ │ - QUEUE_WAITING_COUNT │ │ │ │ │ - QUEUE_MEMBER_LIST │ │ │ │ │ - QUEUE_MEMBER_PENALTY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Return caller at the specified position in a queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns the caller channel at │ │ │ │ │ - position │ │ │ │ │ - in the specified │ │ │ │ │ - queuename │ │ │ │ │ - . │ │ │ │ │ + Returns the caller channel at │ │ │ │ │ + position │ │ │ │ │ + in the specified │ │ │ │ │ + queuename │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ If │ │ │ │ │ position │ │ │ │ │ is unspecified the first channel is returned. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -6933,15 +8798,147 @@ │ │ │ │ │ │ │ │ │ │ AgentCalled │ │ │ │ │ AgentComplete │ │ │ │ │ AgentDump │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play a tone list. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Arg is either the tone name defined in the │ │ │ │ │ + indications.conf │ │ │ │ │ + configuration file, or a directly specified list of frequencies and durations. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Plays a tone list. Execution will continue with the next step in the dialplan │ │ │ │ │ + immediately while the tones continue to play. │ │ │ │ │ + │ │ │ │ │ + See the sample │ │ │ │ │ + indications.conf │ │ │ │ │ + for a description of the │ │ │ │ │ + specification of a tonelist. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + StopPlayTones │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stop playing a tone list. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stop playing a tone list, initiated by PlayTones(). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PlayTones │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + dahdi │ │ │ │ │ + deprecated │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes DAHDI ISDN RAS application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A list of parameters to pass to the pppd daemon, │ │ │ │ │ + separated by │ │ │ │ │ + , │ │ │ │ │ + characters. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes a RAS server using pppd on the given channel. │ │ │ │ │ + The channel must be a clear channel (i.e. PRI source) and a DAHDI │ │ │ │ │ + channel to be able to use this function (No modem emulation is included). │ │ │ │ │ + Your pppd must be patched to be DAHDI aware. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Attended transfer to the extension provided and TRANSFER_CONTEXT │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specify extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Queue up attended transfer to the specified extension in the │ │ │ │ │ + TRANSFER_CONTEXT │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + Note that the attended transfer only work when two channels have answered and are bridged together. │ │ │ │ │ + │ │ │ │ │ + Make sure to set Attended Transfer DTMF feature │ │ │ │ │ + atxfer │ │ │ │ │ + and attended transfer is permitted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The result of the application will be reported in the │ │ │ │ │ + ATTENDEDTRANSFERSTATUS │ │ │ │ │ + channel variable: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transfer successfully queued. │ │ │ │ │ + Transfer failed. │ │ │ │ │ + Transfer not permitted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + deprecated │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sends an image file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Path of the filename (image) to send. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send an image file on a channel supporting it. │ │ │ │ │ + │ │ │ │ │ + Result of transmission will be stored in │ │ │ │ │ + SENDIMAGESTATUS │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transmission succeeded. │ │ │ │ │ + Transmission failed. │ │ │ │ │ + Image transmission not supported by channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SendText │ │ │ │ │ + SendURL │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + openssl │ │ │ │ │ + imap_tk │ │ │ │ │ res_adsi │ │ │ │ │ res_smdi │ │ │ │ │ yes │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Leave a Voicemail message. │ │ │ │ │ @@ -7455,715 +9452,669 @@ │ │ │ │ │ within │ │ │ │ │ Context │ │ │ │ │ will be polled. │ │ │ │ │ Otherwise, only a single mailbox will be polled for changes. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Echo media, DTMF back to the calling party │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Echos back any media or DTMF frames read from the calling │ │ │ │ │ - channel back to itself. This will not echo CONTROL, MODEM, or NULL │ │ │ │ │ - frames. Note: If '#' detected application exits. │ │ │ │ │ - This application does not automatically answer and should be │ │ │ │ │ - preceeded by an application such as Answer() or Progress(). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - app_cdr │ │ │ │ │ + │ │ │ │ │ + unixodbc │ │ │ │ │ + res_adsi │ │ │ │ │ + res_smdi │ │ │ │ │ + yes │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Direct Inward System Access. │ │ │ │ │ + │ │ │ │ │ + Leave a Voicemail message. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If you need to present a DISA dialtone without entering a password, │ │ │ │ │ - simply set │ │ │ │ │ - passcode │ │ │ │ │ - to │ │ │ │ │ - no-password │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - You may specified a │ │ │ │ │ - filename │ │ │ │ │ - instead of a │ │ │ │ │ - passcode │ │ │ │ │ - , this filename must contain individual passcodes │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specifies the dialplan context in which the user-entered extension │ │ │ │ │ - will be matched. If no context is specified, the DISA application defaults │ │ │ │ │ - to the │ │ │ │ │ - disa │ │ │ │ │ - context. Presumably a normal system will have a special │ │ │ │ │ - context set up for DISA use with some or a lot of restrictions. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specifies a new (different) callerid to be used for this call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Will cause a stutter-dialtone (indication │ │ │ │ │ - dialrecall │ │ │ │ │ - ) │ │ │ │ │ - to be used, if the specified mailbox contains any new messages. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The DISA, Direct Inward System Access, application allows someone from │ │ │ │ │ - outside the telephone switch (PBX) to obtain an │ │ │ │ │ - internal │ │ │ │ │ - system │ │ │ │ │ - dialtone and to place calls from it as if they were placing a call from │ │ │ │ │ - within the switch. │ │ │ │ │ - DISA plays a dialtone. The user enters their numeric passcode, followed by │ │ │ │ │ - the pound sign │ │ │ │ │ - # │ │ │ │ │ - . If the passcode is correct, the user is then given │ │ │ │ │ - system dialtone within │ │ │ │ │ - context │ │ │ │ │ - on which a call may be placed. │ │ │ │ │ - If the user enters an invalid extension and extension │ │ │ │ │ - i │ │ │ │ │ - exists in the specified │ │ │ │ │ - context │ │ │ │ │ - , it will be used. │ │ │ │ │ - │ │ │ │ │ - Be aware that using this may compromise the security of your PBX. │ │ │ │ │ - │ │ │ │ │ - The arguments to this application (in │ │ │ │ │ - extensions.conf │ │ │ │ │ - ) allow either │ │ │ │ │ - specification of a single global │ │ │ │ │ - passcode │ │ │ │ │ - (that everyone uses), or │ │ │ │ │ - individual passcodes contained in a file ( │ │ │ │ │ - filename │ │ │ │ │ - ). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The file that contains the passcodes (if used) allows a complete │ │ │ │ │ - specification of all of the same arguments available on the command │ │ │ │ │ - line, with the sole exception of the options. The file may contain blank │ │ │ │ │ - lines, or comments starting with │ │ │ │ │ - # │ │ │ │ │ - or │ │ │ │ │ - ; │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + This application allows the calling party to leave a message for the specified │ │ │ │ │ + list of mailboxes. When multiple mailboxes are specified, the greeting will be taken from │ │ │ │ │ + the first mailbox specified. Dialplan execution will stop if the specified mailbox does not │ │ │ │ │ + exist. │ │ │ │ │ + The Voicemail application will exit if any of the following DTMF digits are received: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jump to the │ │ │ │ │ + o │ │ │ │ │ + extension in the current dialplan context. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jump to the │ │ │ │ │ + a │ │ │ │ │ + extension in the current dialplan context. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application will set the following channel variable upon completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This indicates the status of the execution of the VoiceMail application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Authenticate │ │ │ │ │ - VMAuthenticate │ │ │ │ │ + VoiceMailMain │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Login an agent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Check Voicemail messages. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Login an agent to the system. Any agent authentication is assumed to │ │ │ │ │ - already be done by dialplan. While logged in, the agent can receive calls │ │ │ │ │ - and will hear the sound file specified by the config option custom_beep │ │ │ │ │ - when a new call comes in for the agent. Login failures will continue in │ │ │ │ │ - the dialplan with │ │ │ │ │ - AGENT_STATUS │ │ │ │ │ - set. │ │ │ │ │ - │ │ │ │ │ - Before logging in, you can setup on the real agent channel the │ │ │ │ │ - CHANNEL(dtmf_features) an agent will have when talking to a caller │ │ │ │ │ - and you can setup on the channel running this application the │ │ │ │ │ - CONNECTEDLINE() information the agent will see while waiting for a │ │ │ │ │ - caller. │ │ │ │ │ - │ │ │ │ │ - AGENT_STATUS │ │ │ │ │ - enumeration values: │ │ │ │ │ + This application allows the calling party to check voicemail messages. A specific │ │ │ │ │ + mailbox │ │ │ │ │ + , and optional corresponding │ │ │ │ │ + context │ │ │ │ │ + , │ │ │ │ │ + may be specified. If a │ │ │ │ │ + mailbox │ │ │ │ │ + is not provided, the calling party will │ │ │ │ │ + be prompted to enter one. If a │ │ │ │ │ + context │ │ │ │ │ + is not specified, the │ │ │ │ │ + default │ │ │ │ │ + context will be used. │ │ │ │ │ │ │ │ │ │ + The VoiceMailMain application will exit if the following DTMF digit is entered as Mailbox │ │ │ │ │ + or Password, and the extension exists: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The specified agent is invalid. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The agent is already logged in. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jump to the │ │ │ │ │ + a │ │ │ │ │ + extension in the current dialplan context. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The Agent: │ │ │ │ │ - AgentId │ │ │ │ │ - device state is │ │ │ │ │ - available to monitor the status of the agent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Authenticate │ │ │ │ │ - Queue │ │ │ │ │ - AddQueueMember │ │ │ │ │ - RemoveQueueMember │ │ │ │ │ - PauseQueueMember │ │ │ │ │ - UnpauseQueueMember │ │ │ │ │ - AGENT │ │ │ │ │ - CHANNEL │ │ │ │ │ - CONNECTEDLINE │ │ │ │ │ - agents.conf │ │ │ │ │ - queues.conf │ │ │ │ │ + VoiceMail │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Request an agent to connect with the channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Check to see if Voicemail mailbox exists. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + None options. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + DEPRECATED. Use VM_INFO(mailbox[@context],exists) instead. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Request an agent to connect with the channel. Failure to find, │ │ │ │ │ - alert the agent, or acknowledge the call will continue in the dialplan │ │ │ │ │ - with │ │ │ │ │ - AGENT_STATUS │ │ │ │ │ - set. │ │ │ │ │ + Check to see if the specified │ │ │ │ │ + mailbox │ │ │ │ │ + exists. If no voicemail │ │ │ │ │ + context │ │ │ │ │ + is specified, the │ │ │ │ │ + default │ │ │ │ │ + context │ │ │ │ │ + will be used. │ │ │ │ │ │ │ │ │ │ + This application will set the following channel variable upon completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This will contain the status of the execution of the MailboxExists application. │ │ │ │ │ + Possible values include: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + VM_INFO │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Authenticate with Voicemail passwords. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - AGENT_STATUS │ │ │ │ │ - enumeration values: │ │ │ │ │ + This application behaves the same way as the Authenticate application, but the passwords │ │ │ │ │ + are taken from │ │ │ │ │ + voicemail.conf │ │ │ │ │ + . If the │ │ │ │ │ + mailbox │ │ │ │ │ + is │ │ │ │ │ + specified, only that mailbox's password will be considered valid. If the │ │ │ │ │ + mailbox │ │ │ │ │ + is not specified, the channel variable │ │ │ │ │ + AUTH_MAILBOX │ │ │ │ │ + will be set with the authenticated │ │ │ │ │ + mailbox. │ │ │ │ │ │ │ │ │ │ + The VMAuthenticate application will exit if the following DTMF digit is entered as Mailbox │ │ │ │ │ + or Password, and the extension exists: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The specified agent is invalid. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The agent is not available. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The agent is on another call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The agent did not connect with the │ │ │ │ │ - call. The agent most likely did not acknowledge the call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Alerting the agent failed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jump to the │ │ │ │ │ + a │ │ │ │ │ + extension in the current dialplan context. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - AgentLogin │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gets information about an Agent │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The valid items to retrieve are: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - (default) The status of the agent (LOGGEDIN | LOGGEDOUT) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Deprecated. The dialplan handles any agent authentication. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the agent │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - MusicOnHold class │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the active channel for the Agent (AgentLogin) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The untruncated name of the active channel for the Agent (AgentLogin) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Lists agents and their status. │ │ │ │ │ + │ │ │ │ │ + Play a single voice mail msg from a mailbox by msg id. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The msg id of the msg to play back. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Will list info about all defined agents. │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The status of the playback attempt as a text string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Agents │ │ │ │ │ - AgentsComplete │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Response event in a series to the Agents AMI action containing │ │ │ │ │ - information about a defined agent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Agent ID of the agent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - User friendly name of the agent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Current status of the agent. │ │ │ │ │ - The valid values are: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - BRIDGEPEER │ │ │ │ │ - value on agent channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Present if Status value is │ │ │ │ │ - AGENT_ONCALL │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Epoche time when the agent started talking with the caller. │ │ │ │ │ - │ │ │ │ │ - Present if Status value is │ │ │ │ │ - AGENT_ONCALL │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Epoche time when the agent logged in. │ │ │ │ │ - │ │ │ │ │ - Present if Status value is │ │ │ │ │ - AGENT_IDLE │ │ │ │ │ - or │ │ │ │ │ - AGENT_ONCALL │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel snapshot is present if the Status value is │ │ │ │ │ - AGENT_IDLE │ │ │ │ │ - or │ │ │ │ │ - AGENT_ONCALL │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Agents │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Final response event in a series of events to the Agents AMI action. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Agents │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets an agent as no longer logged in. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play the name of a voicemail user │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Agent ID of the agent to log off. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set to │ │ │ │ │ - true │ │ │ │ │ - to not hangup existing calls. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Sets an agent as no longer logged in. │ │ │ │ │ + │ │ │ │ │ + This application will say the recorded name of the voicemail user specified as the │ │ │ │ │ + argument to this application. If no context is provided, │ │ │ │ │ + default │ │ │ │ │ + is assumed. │ │ │ │ │ + │ │ │ │ │ + Similar to the Background() application, playback of the recorded │ │ │ │ │ + name can be interrupted by entering an extension, which will be searched │ │ │ │ │ + for in the current context. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Agent pool applications │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Tell if a mailbox is configured. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Option changes take effect on agent login or after an agent │ │ │ │ │ - disconnects from a call. │ │ │ │ │ + DEPRECATED. Use VM_INFO(mailbox[@context],exists) instead. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Returns a boolean of whether the corresponding │ │ │ │ │ + mailbox │ │ │ │ │ + exists. │ │ │ │ │ + If │ │ │ │ │ + context │ │ │ │ │ + is not specified, defaults to the │ │ │ │ │ + default │ │ │ │ │ + context. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unused, but reserved. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configure an agent for the pool. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enable to require the agent to acknowledge a call. │ │ │ │ │ - │ │ │ │ │ - Enable to require the agent to give a DTMF acknowledgement │ │ │ │ │ - when the agent receives a call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The option is overridden by │ │ │ │ │ - AGENTACKCALL │ │ │ │ │ - on agent login. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - DTMF key sequence the agent uses to acknowledge a call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The option is overridden by │ │ │ │ │ - AGENTACCEPTDTMF │ │ │ │ │ - on agent login. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The option is ignored unless the ackcall option is enabled. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Time the agent has to acknowledge a call before being logged off. │ │ │ │ │ - │ │ │ │ │ - Set how many seconds a call for the agent has to wait for the │ │ │ │ │ - agent to acknowledge the call before the agent is automatically │ │ │ │ │ - logged off. If set to zero then the call will wait forever for │ │ │ │ │ - the agent to acknowledge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The option is overridden by │ │ │ │ │ - AGENTAUTOLOGOFF │ │ │ │ │ - on agent login. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The option is ignored unless the ackcall option is enabled. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Minimum time the agent has between calls. │ │ │ │ │ - │ │ │ │ │ - Set the minimum amount of time in milliseconds after │ │ │ │ │ - disconnecting a call before the agent can receive a new call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The option is overridden by │ │ │ │ │ - AGENTWRAPUPTIME │ │ │ │ │ - on agent login. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Music on hold class the agent listens to between calls. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enable to automatically record calls the agent takes. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + VM_INFO │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns the selected attribute from a mailbox. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List All Voicemail User Information. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Filename of TIFF file to fax │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show the status of given voicemail user's info. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The context you want to check. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Makes the application behave as the answering machine │ │ │ │ │ - (Default behavior is as calling machine) │ │ │ │ │ + │ │ │ │ │ + The mailbox you want to check. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Send a given TIFF file to the channel as a FAX. │ │ │ │ │ - This application sets the following channel variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - To identify itself to the remote end │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - To generate a header line on each page │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Cause of failure │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The CSID of the remote side │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of pages sent │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transmission rate │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Resolution of sent fax │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Retrieves the status of the given voicemail user. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Receive a Fax │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Tell Asterisk to poll mailboxes for a change │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Filename of TIFF file save incoming fax │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Makes the application behave as the calling machine │ │ │ │ │ - (Default behavior is as answering machine) │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Receives a FAX from the channel into the given filename │ │ │ │ │ - overwriting the file if it already exists. │ │ │ │ │ - File created will be in TIFF format. │ │ │ │ │ - This application sets the following channel variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - To identify itself to the remote end │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - To generate a header line on each page │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Cause of failure │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The CSID of the remote side │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of pages sent │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transmission rate │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Resolution of sent fax │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Normally, MWI indicators are only sent when Asterisk itself │ │ │ │ │ + changes a mailbox. With external programs that modify the content │ │ │ │ │ + of a mailbox from outside the application, an option exists called │ │ │ │ │ + pollmailboxes │ │ │ │ │ + that will cause voicemail to │ │ │ │ │ + continually scan all mailboxes on a system for changes. This can │ │ │ │ │ + cause a large amount of load on a system. This command allows │ │ │ │ │ + external applications to signal when a particular mailbox has │ │ │ │ │ + changed, thus permitting external applications to modify mailboxes │ │ │ │ │ + and MWI to work without introducing considerable CPU load. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + Context │ │ │ │ │ + is not specified, all │ │ │ │ │ + mailboxes on the system will be polled for changes. If │ │ │ │ │ + Context │ │ │ │ │ + is specified, but │ │ │ │ │ + Mailbox │ │ │ │ │ + is omitted, then all mailboxes │ │ │ │ │ + within │ │ │ │ │ + Context │ │ │ │ │ + will be polled. │ │ │ │ │ + Otherwise, only a single mailbox will be polled for changes. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + dahdi │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Block telemarketers with SIT. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Comma delimited list of options. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Flashes a DAHDI Trunk. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Generates special information tone to block telemarketers from calling you. │ │ │ │ │ - This application will set the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This will contain the last action accomplished by the │ │ │ │ │ - Zapateller application. Possible values include: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Performs a flash on a DAHDI trunk. This can be used to access features │ │ │ │ │ + provided on an incoming analogue circuit such as conference and call waiting. │ │ │ │ │ + Use with SendDTMF() to perform external transfers. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + SendDTMF │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - deprecated │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Send a URL. │ │ │ │ │ + │ │ │ │ │ + Read a variable. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The input digits will be stored in the given │ │ │ │ │ + variable │ │ │ │ │ + name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + file(s) to play before reading digits or tone with option i │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum acceptable number of digits. Stops reading after │ │ │ │ │ + maxdigits │ │ │ │ │ + have been entered (without │ │ │ │ │ + requiring the user to press the │ │ │ │ │ + # │ │ │ │ │ + key). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Defaults to │ │ │ │ │ + 0 │ │ │ │ │ + - no limit - wait for the │ │ │ │ │ + user press the │ │ │ │ │ + # │ │ │ │ │ + key. Any value below │ │ │ │ │ + 0 │ │ │ │ │ + means the same. Max accepted value is │ │ │ │ │ + 255 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If greater than │ │ │ │ │ + 1 │ │ │ │ │ + , that many │ │ │ │ │ + attempts │ │ │ │ │ + will be made in the │ │ │ │ │ + event no data is entered. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of seconds to wait for a digit response. If greater │ │ │ │ │ + than │ │ │ │ │ + 0 │ │ │ │ │ + , that value will override the default timeout. │ │ │ │ │ + Can be floating point. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Requests client go to │ │ │ │ │ - URL │ │ │ │ │ - (IAX2) or sends the │ │ │ │ │ - URL to the client (other channels). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Result is returned in the │ │ │ │ │ - SENDURLSTATUS │ │ │ │ │ - channel variable: │ │ │ │ │ + Reads a #-terminated string of digits a certain number of times from the │ │ │ │ │ + user in to the given │ │ │ │ │ + variable │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - URL successfully sent to client. │ │ │ │ │ - Failed to send URL. │ │ │ │ │ - Client failed to load URL (wait enabled). │ │ │ │ │ - Channel does not support URL transport. │ │ │ │ │ + │ │ │ │ │ + This is the status of the read operation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SendURL continues normally if the URL was sent correctly or if the channel │ │ │ │ │ - does not support HTML transport. Otherwise, the channel is hung up. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SendImage │ │ │ │ │ - SendText │ │ │ │ │ + SendDTMF │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Attempt to detect answering machines. │ │ │ │ │ @@ -8231,1118 +10182,56 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ WaitForSilence │ │ │ │ │ WaitForNoise │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_adsi │ │ │ │ │ - deprecated │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get ADSI CPE ID. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Obtains and displays ADSI CPE ID and other information in order │ │ │ │ │ - to properly setup │ │ │ │ │ - dahdi.conf │ │ │ │ │ - for on-hook operations. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dump Info About The Calling Channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Minimum verbose level │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Displays information on channel and listing of all channel │ │ │ │ │ - variables. If │ │ │ │ │ - level │ │ │ │ │ - is specified, output is only │ │ │ │ │ - displayed when the verbose level is currently set to that number │ │ │ │ │ - or greater. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - NoOp │ │ │ │ │ - Verbose │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_statsd │ │ │ │ │ no │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Say a noun in declined form in order to count things │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of things │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - File name stem for the noun that is the name of the things │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Selects and plays the proper singular or plural form of a noun │ │ │ │ │ - when saying things such as "five calls". English has simple rules │ │ │ │ │ - for deciding when to say "call" and when to say "calls", but other │ │ │ │ │ - languages have complicated rules which would be extremely difficult │ │ │ │ │ - to implement in the Asterisk dialplan language. │ │ │ │ │ - │ │ │ │ │ - The correct sound file is selected by examining the │ │ │ │ │ - number │ │ │ │ │ - and adding the appropriate suffix │ │ │ │ │ - to │ │ │ │ │ - filename │ │ │ │ │ - . If the channel language is │ │ │ │ │ - English, then the suffix will be either empty or "s". If the channel │ │ │ │ │ - language is Russian or some other Slavic language, then the suffix │ │ │ │ │ - will be empty for nominative, "x1" for genative singular, and "x2" │ │ │ │ │ - for genative plural. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Note that combining │ │ │ │ │ - filename │ │ │ │ │ - with │ │ │ │ │ - a suffix will not necessarily produce a correctly spelled plural │ │ │ │ │ - form. For example, SayCountedNoun(2,man) will play the sound file │ │ │ │ │ - "mans" rather than "men". This behavior is intentional. Since the │ │ │ │ │ - file name is never seen by the end user, there is no need to │ │ │ │ │ - implement complicated spelling rules. We simply record the word │ │ │ │ │ - "men" in the sound file named "mans". │ │ │ │ │ - │ │ │ │ │ - This application does not automatically answer and should be │ │ │ │ │ - preceeded by an application such as Answer() or Progress. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SayCountedAdj │ │ │ │ │ - SayNumber │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say a adjective in declined form in order to count things │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of things │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - File name stem for the adjective │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The gender of the noun modified, one of 'm', 'f', 'n', or 'c' │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Selects and plays the proper form of an adjective according to │ │ │ │ │ - the gender and of the noun which it modifies and the number of │ │ │ │ │ - objects named by the noun-verb combination which have been counted. │ │ │ │ │ - Used when saying things such as "5 new messages". The various │ │ │ │ │ - singular and plural forms of the adjective are selected by adding │ │ │ │ │ - suffixes to │ │ │ │ │ - filename │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If the channel language is English, then no suffix will ever │ │ │ │ │ - be added (since, in English, adjectives are not declined). If the │ │ │ │ │ - channel language is Russian or some other slavic language, then the │ │ │ │ │ - suffix will the specified │ │ │ │ │ - gender │ │ │ │ │ - for │ │ │ │ │ - nominative, and "x" for genative plural. (The genative singular is │ │ │ │ │ - not used when counting things.) For example, SayCountedAdj(1,new,f) │ │ │ │ │ - will play sound file "newa" (containing the word "novaya"), but │ │ │ │ │ - SayCountedAdj(5,new,f) will play sound file "newx" (containing the │ │ │ │ │ - word "novikh"). │ │ │ │ │ - │ │ │ │ │ - This application does not automatically answer and should be │ │ │ │ │ - preceeded by an application such as Answer(), Progress(), or │ │ │ │ │ - Proceeding(). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SayCountedNoun │ │ │ │ │ - SayNumber │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - osptk │ │ │ │ │ - openssl │ │ │ │ │ - extended │ │ │ │ │ - 19 │ │ │ │ │ - 21 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - OSP Authentication. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the provider that authenticates the call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reserverd. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Authenticate a call by OSP. │ │ │ │ │ - Input variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The last hop IP address. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound OSP token. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Output variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound call OSP transaction handle. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound call duration limit in seconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The status of OSPAuth attempt as a text string, one of │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - OSPLookup │ │ │ │ │ - OSPNext │ │ │ │ │ - OSPFinish │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Lookup destination by OSP. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The exten of the call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the provider that is used to route the call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - generate H323 call id for the outbound call │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - generate SIP call id for the outbound call. Have not been implemented │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - generate IAX call id for the outbound call. Have not been implemented │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Looks up destination via OSP. │ │ │ │ │ - Input variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The actual source device IP address in indirect mode. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The last hop IP address. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound channel technology for the call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound call OSP transaction handle. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound call duration limit in seconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound source network ID. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound routing number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound carrier identification code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound number portability database dip indicator. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound service provider identity. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound operator company number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound service provider name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound alternate service provider name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound mobile country code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound mobile network code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound To header host part. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound Remote-Party-ID header user part. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound P-Asserted-Identify header user part. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound Diversion header user part. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound Diversion header host part. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound P-Charge-Info header user part. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound custom information, where │ │ │ │ │ - n │ │ │ │ │ - is the index beginning with │ │ │ │ │ - 1 │ │ │ │ │ - upto │ │ │ │ │ - 8 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Output variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound call OSP transaction handle. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound channel technology for the call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound destination IP address. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound calling number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound called number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound destination network ID. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound routing number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound carrier identification code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound number portability database dip indicator. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound service provider identity. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound operator company number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound service provider name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound alternate service provider name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound mobile country code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound mobile network code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound OSP token. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of remained destinations. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound call duration limit in seconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound Call-ID types. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound Call-ID. Only for H.323. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound Dial command string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The status of OSPLookup attempt as a text string, one of │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - OSPAuth │ │ │ │ │ - OSPNext │ │ │ │ │ - OSPFinish │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Lookup next destination by OSP. │ │ │ │ │ - │ │ │ │ │ - Looks up the next destination via OSP. │ │ │ │ │ - Input variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound call OSP transaction handle. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound call OSP transaction handle. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound call duration limit in seconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound Call-ID types. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of remained destinations. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Output variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound channel technology. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The destination IP address. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound calling number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound called number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound destination network ID. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound routing number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound carrier identification code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound number portability database dip indicator. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound service provider identity. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound operator company number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound service provider name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound alternate service provider name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound mobile country code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound mobile network code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound OSP token. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of remained destinations. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound call duration limit in seconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound Call-ID. Only for H.323. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound Dial command string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The status of the OSPNext attempt as a text string, one of │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - OSPAuth │ │ │ │ │ - OSPLookup │ │ │ │ │ - OSPFinish │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Report OSP entry. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hangup cause. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reserved. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Report call state. │ │ │ │ │ - Input variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound call OSP transaction handle. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound call OSP transaction handle. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The OSPAuth status. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The OSPLookup status. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The OSPNext status. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The inbound call leg audio QoS string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound call leg audio QoS string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The status of the OSPFinish attempt as a text string, one of │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - OSPAuth │ │ │ │ │ - OSPLookup │ │ │ │ │ - OSPNext │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play a file with fast forward and rewind. │ │ │ │ │ + │ │ │ │ │ + Allow statistics to be passed to the StatsD server from the dialplan. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is number of milliseconds to skip when rewinding or │ │ │ │ │ - fast-forwarding. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Fast-forward when this DTMF digit is received. (defaults to │ │ │ │ │ - # │ │ │ │ │ - ) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Rewind when this DTMF digit is received. (defaults to │ │ │ │ │ - * │ │ │ │ │ - ) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stop playback when this DTMF digit is received. │ │ │ │ │ + │ │ │ │ │ + The metric type to be sent to StatsD. Valid metric types │ │ │ │ │ + are 'g' for gauge, 'c' for counter, 'ms' for timer, and 's' for │ │ │ │ │ + sets. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Pause playback when this DTMF digit is received. │ │ │ │ │ + │ │ │ │ │ + The name of the variable to be sent to StatsD. Statistic │ │ │ │ │ + names cannot contain the pipe (|) character. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Restart playback when this DTMF digit is received. │ │ │ │ │ + │ │ │ │ │ + The value of the variable to be sent to StatsD. Values │ │ │ │ │ + must be numeric. Values for gauge and counter metrics can be │ │ │ │ │ + sent with a '+' or '-' to update a value after the value has │ │ │ │ │ + been initialized. Only counters can be initialized as negative. │ │ │ │ │ + Sets can send a string as the value parameter, but the string │ │ │ │ │ + cannot contain the pipe character. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The value of the sample rate to be sent to StatsD. Sample │ │ │ │ │ + rates less than or equal to 0 will never be sent and sample rates │ │ │ │ │ + greater than or equal to 1 will always be sent. Any rate │ │ │ │ │ + between 1 and 0 will be compared to a randomly generated value, │ │ │ │ │ + and if it is greater than the random value, it will be sent. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application will play back the given │ │ │ │ │ - filename │ │ │ │ │ + This dialplan application sends statistics to the StatsD │ │ │ │ │ + server specified inside of │ │ │ │ │ + statsd.conf │ │ │ │ │ . │ │ │ │ │ │ │ │ │ │ - It sets the following channel variables upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Contains the status of the attempt as a text string │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Contains the offset in ms into the file where playback │ │ │ │ │ - was at when it stopped. │ │ │ │ │ - -1 │ │ │ │ │ - is end of file. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If the playback is stopped by the user this variable contains │ │ │ │ │ - the key that was pressed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Control the playback of a file being played to a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the channel that currently has a file being played back to it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stop the playback operation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Move the current position in the media forward. The amount │ │ │ │ │ - of time that the stream moves forward is determined by the │ │ │ │ │ - skipms │ │ │ │ │ - value passed to the application │ │ │ │ │ - that initiated the playback. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The default skipms value is │ │ │ │ │ - 3000 │ │ │ │ │ - ms. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Move the current position in the media backward. The amount │ │ │ │ │ - of time that the stream moves backward is determined by the │ │ │ │ │ - skipms │ │ │ │ │ - value passed to the application │ │ │ │ │ - that initiated the playback. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The default skipms value is │ │ │ │ │ - 3000 │ │ │ │ │ - ms. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Pause/unpause the playback operation, if supported. │ │ │ │ │ - If not supported, stop the playback. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Restart the playback operation, if supported. │ │ │ │ │ - If not supported, stop the playback. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Control the operation of a media file being played back to a channel. │ │ │ │ │ - Note that this AMI action does not initiate playback of media to channel, but │ │ │ │ │ - rather controls the operation of a media operation that was already initiated │ │ │ │ │ - on the channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - pause │ │ │ │ │ - and │ │ │ │ │ - restart │ │ │ │ │ - Control │ │ │ │ │ - options will stop a playback │ │ │ │ │ - operation if that operation was not initiated from the │ │ │ │ │ - ControlPlayback │ │ │ │ │ - application or the │ │ │ │ │ - control stream file │ │ │ │ │ - AGI command. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Playback │ │ │ │ │ - ControlPlayback │ │ │ │ │ - stream file │ │ │ │ │ - control stream file │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conference bridge application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Name of the conference bridge. You are not limited to just │ │ │ │ │ - numbers. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The bridge profile name from confbridge.conf. When left blank, │ │ │ │ │ - a dynamically built bridge profile created by the CONFBRIDGE dialplan │ │ │ │ │ - function is searched for on the channel and used. If no dynamic │ │ │ │ │ - profile is present, the 'default_bridge' profile found in │ │ │ │ │ - confbridge.conf is used. │ │ │ │ │ - It is important to note that while user profiles may be unique │ │ │ │ │ - for each participant, mixing bridge profiles on a single conference │ │ │ │ │ - is _NOT_ recommended and will produce undefined results. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The user profile name from confbridge.conf. When left blank, │ │ │ │ │ - a dynamically built user profile created by the CONFBRIDGE dialplan │ │ │ │ │ - function is searched for on the channel and used. If no dynamic │ │ │ │ │ - profile is present, the 'default_user' profile found in │ │ │ │ │ - confbridge.conf is used. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the DTMF menu in confbridge.conf to be applied to │ │ │ │ │ - this channel. When left blank, a dynamically built menu profile │ │ │ │ │ - created by the CONFBRIDGE dialplan function is searched for on │ │ │ │ │ - the channel and used. If no dynamic profile is present, the │ │ │ │ │ - 'default_menu' profile found in confbridge.conf is used. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enters the user into a specified conference bridge. The user can │ │ │ │ │ - exit the conference by hangup or DTMF menu option. │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel encountered an error and could not enter the conference. │ │ │ │ │ - The channel exited the conference by hanging up. │ │ │ │ │ - The channel was kicked from the conference. │ │ │ │ │ - The channel left the conference as a result of the last marked user leaving. │ │ │ │ │ - The channel pressed a DTMF sequence to exit the conference. │ │ │ │ │ - The channel reached its configured timeout. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ConfKick │ │ │ │ │ - CONFBRIDGE │ │ │ │ │ - CONFBRIDGE_INFO │ │ │ │ │ - CONFBRIDGE_CHANNELS │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.19.0 │ │ │ │ │ - 18.5.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Kicks channel(s) from the requested ConfBridge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel to kick, │ │ │ │ │ - all │ │ │ │ │ - to kick all users, or │ │ │ │ │ - participants │ │ │ │ │ - to kick all non-admin participants. Default is all. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Kicks the requested channel(s) from a conference bridge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Could not kick any users with the provided arguments. │ │ │ │ │ - Successfully kicked users from specified conference bridge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - ConfBridge │ │ │ │ │ - CONFBRIDGE │ │ │ │ │ - CONFBRIDGE_INFO │ │ │ │ │ - CONFBRIDGE_CHANNELS │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Set a custom dynamic bridge, user, or menu profile on a channel for the │ │ │ │ │ - ConfBridge application using the same options available in confbridge.conf. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - To what type of conference profile the option applies. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Option refers to a │ │ │ │ │ - confbridge.conf │ │ │ │ │ - option │ │ │ │ │ - that is being set dynamically on this channel, or │ │ │ │ │ - clear │ │ │ │ │ - to remove already applied profile options from the channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A custom profile uses the default profile type settings defined in │ │ │ │ │ - confbridge.conf │ │ │ │ │ - as defaults if the profile template │ │ │ │ │ - is not explicitly specified first. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - For │ │ │ │ │ - bridge │ │ │ │ │ - profiles the default template is │ │ │ │ │ - default_bridge │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - For │ │ │ │ │ - menu │ │ │ │ │ - profiles the default template is │ │ │ │ │ - default_menu │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - For │ │ │ │ │ - user │ │ │ │ │ - profiles the default template is │ │ │ │ │ - default_user │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - ---- Example 1 ---- │ │ │ │ │ - In this example the custom user profile set on the channel will │ │ │ │ │ - automatically be used by the ConfBridge application. │ │ │ │ │ - exten => 1,1,Answer() │ │ │ │ │ - ; In this example the effect of the following line is │ │ │ │ │ - ; implied: │ │ │ │ │ - same => n,Set(CONFBRIDGE(user,template)=default_user) │ │ │ │ │ - same => n,Set(CONFBRIDGE(user,announce_join_leave)=yes) │ │ │ │ │ - same => n,Set(CONFBRIDGE(user,startmuted)=yes) │ │ │ │ │ - same => n,ConfBridge(1) │ │ │ │ │ - ---- Example 2 ---- │ │ │ │ │ - │ │ │ │ │ - This example shows how to use a predefined user profile in │ │ │ │ │ - confbridge.conf │ │ │ │ │ - as a template for a dynamic profile. │ │ │ │ │ - Here we make an admin/marked user out of the │ │ │ │ │ - my_user │ │ │ │ │ - profile that you define in │ │ │ │ │ - confbridge.conf │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - exten => 1,1,Answer() │ │ │ │ │ - same => n,Set(CONFBRIDGE(user,template)=my_user) │ │ │ │ │ - same => n,Set(CONFBRIDGE(user,admin)=yes) │ │ │ │ │ - same => n,Set(CONFBRIDGE(user,marked)=yes) │ │ │ │ │ - same => n,ConfBridge(1) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get information about a ConfBridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - What conference information is requested. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get the number of admin users in the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Determine if the conference is locked. (0 or 1) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get the number of marked users in the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Determine if the conference is muted. (0 or 1) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get the number of users in the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the conference being referenced. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function returns a non-negative integer for valid conference │ │ │ │ │ - names and an empty string for invalid conference names. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CONFBRIDGE_CHANNELS │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.26.0 │ │ │ │ │ - 18.12.0 │ │ │ │ │ - 19.4.0 │ │ │ │ │ - │ │ │ │ │ - Get a list of channels in a ConfBridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - What conference information is requested. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get the number of admin users in the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get the number of marked users in the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get the number of total users in the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get the number of active users in the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get the number of waiting users in the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the conference being referenced. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function returns a comma-separated list of channels in a ConfBridge conference, optionally filtered by a type of participant. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CONFBRIDGE_INFO │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List participants in a conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conference number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Lists all users in a particular ConfBridge conference. │ │ │ │ │ - ConfbridgeList will follow as separate events, followed by a final event called │ │ │ │ │ - ConfbridgeListComplete. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised as part of the ConfbridgeList action response list. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Identifies this user as an admin user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Identifies this user as a marked user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must this user wait for a marked user to join? │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Does this user get kicked after the last marked user leaves? │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is this user waiting for a marked user to join? │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The current mute status. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is this user talking? │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of seconds the channel has been up. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List active conferences. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Lists data about all active conferences. │ │ │ │ │ - ConfbridgeListRooms will follow as separate events, followed by a final event called │ │ │ │ │ - ConfbridgeListRoomsComplete. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Mute a Confbridge user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If this parameter is not a complete channel name, the first channel with this prefix will be used. │ │ │ │ │ - If this parameter is "all", all channels will be muted. │ │ │ │ │ - If this parameter is "participants", all non-admin channels will be muted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unmute a Confbridge user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If this parameter is not a complete channel name, the first channel with this prefix will be used. │ │ │ │ │ - If this parameter is "all", all channels will be unmuted. │ │ │ │ │ - If this parameter is "participants", all non-admin channels will be unmuted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Kick a Confbridge user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If this parameter is "all", all channels will be kicked from the conference. │ │ │ │ │ - If this parameter is "participants", all non-admin channels will be kicked from the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Lock a Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unlock a Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Start recording a Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stop recording a Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set a conference user as the single video source distributed to all other participants. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If this parameter is not a complete channel name, the first channel with this prefix will be used. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 16.24.0 │ │ │ │ │ 18.10.0 │ │ │ │ │ @@ -9452,2819 +10341,1016 @@ │ │ │ │ │ │ │ │ │ │ SendDTMF │ │ │ │ │ SendMF │ │ │ │ │ ReceiveMF │ │ │ │ │ ReceiveSF │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sends arbitrary DTMF digits │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List of digits 0-9,*#,a-d,A-D to send also w for a half second pause, │ │ │ │ │ - W for a one second pause, and f or F for a flash-hook if the channel supports │ │ │ │ │ - flash-hook. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Amount of time to wait in ms between tones. (defaults to .25s) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Duration of each digit │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel where digits will be played │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - It will send all digits or terminate if it encounters an error. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Read │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play DTMF signal on a specific channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel name to send digit to. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The DTMF digit to play. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The duration, in milliseconds, of the digit to be played. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Emulate receiving DTMF on this channel instead of sending it out. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Plays a dtmf digit on the specified channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Generates a 1004 Hz test tone at 0dbm (mu-law). │ │ │ │ │ + │ │ │ │ │ + Listen to a channel, and optionally whisper into it. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Generates a 1004 Hz test tone. │ │ │ │ │ - │ │ │ │ │ - By default, this application does not provide a Milliwatt test tone. It simply │ │ │ │ │ - plays a 1004 Hz tone, which is not suitable for performing a milliwatt test. │ │ │ │ │ - The │ │ │ │ │ - m │ │ │ │ │ - option should be used so that a real Milliwatt test tone │ │ │ │ │ - is provided. This will include a 1 second silent interval every 10 seconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Previous versions of this application generated a constant tone at 1000 Hz. If for │ │ │ │ │ - some reason you would prefer that behavior, supply the │ │ │ │ │ - o │ │ │ │ │ - option to get the │ │ │ │ │ - old behavior. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.20.0 │ │ │ │ │ - 18.6.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Stores DTMF digits transmitted or received on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must be │ │ │ │ │ - TX │ │ │ │ │ - or │ │ │ │ │ - RX │ │ │ │ │ - to │ │ │ │ │ - store digits, or │ │ │ │ │ - remove │ │ │ │ │ - to disable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The StoreDTMF function can be used to obtain digits sent in the │ │ │ │ │ - TX │ │ │ │ │ - or │ │ │ │ │ - RX │ │ │ │ │ - direction of any channel. │ │ │ │ │ - │ │ │ │ │ - The arguments are: │ │ │ │ │ - │ │ │ │ │ - var_name │ │ │ │ │ - : Name of variable to which to append │ │ │ │ │ - digits. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - max_digits │ │ │ │ │ - : The maximum number of digits to │ │ │ │ │ - store in the variable. Defaults to 0 (no maximum). After reading │ │ │ │ │ - maximum │ │ │ │ │ - digits, no more digits will be stored. │ │ │ │ │ - │ │ │ │ │ - same => n,StoreDTMF(TX,CDR(digits)) │ │ │ │ │ - same => n,StoreDTMF(RX,testvar,24) │ │ │ │ │ - same => n,StoreDTMF(remove) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Communicates with SMS service centres and SMS capable analogue phones. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the queue used in │ │ │ │ │ - /var/spool/asterisk/sms │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SMS handles exchange of SMS data with a call to/from SMS capable phone or SMS PSTN service center. │ │ │ │ │ - Can send and/or receive SMS messages. Works to ETSI ES 201 912; compatible with BT SMS PSTN service in │ │ │ │ │ - UK and Telecom Italia in Italy. │ │ │ │ │ │ │ │ │ │ - Typical usage is to use to handle calls from the SMS service centre CLI, or to set up a call using │ │ │ │ │ - outgoing │ │ │ │ │ - or manager interface to connect service centre to SMS(). │ │ │ │ │ + This application is used to listen to the audio from an Asterisk channel. This includes the audio │ │ │ │ │ + coming in and out of the channel being spied on. If the │ │ │ │ │ + chanprefix │ │ │ │ │ + parameter is specified, │ │ │ │ │ + only channels beginning with this string will be spied upon. │ │ │ │ │ │ │ │ │ │ - "Messages are processed as per text file message queues. smsq (a separate software) is a command to │ │ │ │ │ - generate message queues and send messages. │ │ │ │ │ - │ │ │ │ │ - The protocol has tight delay bounds. Please use short frames and disable/keep short the │ │ │ │ │ - jitter buffer on the ATA to make sure that respones (ACK etc.) are received in time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Start a while loop. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + While spying, the following actions may be performed: │ │ │ │ │ │ │ │ │ │ - Start a While Loop. Execution will return to this point when │ │ │ │ │ - EndWhile() │ │ │ │ │ - is called until expr is no longer true. │ │ │ │ │ + - Dialing │ │ │ │ │ + # │ │ │ │ │ + cycles the volume level. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - EndWhile │ │ │ │ │ - ExitWhile │ │ │ │ │ - ContinueWhile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - End a while loop. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - Return to the previous called │ │ │ │ │ - While() │ │ │ │ │ - . │ │ │ │ │ + - Dialing │ │ │ │ │ + * │ │ │ │ │ + will stop spying and look for another channel to spy on. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - While │ │ │ │ │ - ExitWhile │ │ │ │ │ - ContinueWhile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - End a While loop. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - Exits a │ │ │ │ │ - While() │ │ │ │ │ - loop, whether or not the conditional has been satisfied. │ │ │ │ │ + - Dialing a series of digits followed by │ │ │ │ │ + # │ │ │ │ │ + builds a channel name to append │ │ │ │ │ + to │ │ │ │ │ + chanprefix │ │ │ │ │ + . For example, executing ChanSpy(Agent) and then dialing the digits '1234#' │ │ │ │ │ + while spying will begin spying on the channel 'Agent/1234'. Note that this feature will be overridden │ │ │ │ │ + if the 'd' or 'u' options are used. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - While │ │ │ │ │ - EndWhile │ │ │ │ │ - ContinueWhile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Restart a While loop. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns to the top of the while loop and re-evaluates the conditional. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - While │ │ │ │ │ - EndWhile │ │ │ │ │ - ExitWhile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Require phone number to be entered, if no CallerID sent │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Total tries caller is allowed to input a callerid. Defaults to │ │ │ │ │ - 3 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Minimum allowable digits in the input callerid number. Defaults to │ │ │ │ │ - 10 │ │ │ │ │ - . │ │ │ │ │ + The │ │ │ │ │ + X │ │ │ │ │ + option supersedes the three features above in that if a valid │ │ │ │ │ + single digit extension exists in the correct context ChanSpy will exit to it. │ │ │ │ │ + This also disables choosing a channel based on │ │ │ │ │ + chanprefix │ │ │ │ │ + and a digit sequence. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Position reserved for options. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Context to check the given callerid against patterns. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If no Caller*ID is sent, PrivacyManager answers the channel and asks │ │ │ │ │ - the caller to enter their phone number. The caller is given │ │ │ │ │ - maxretries │ │ │ │ │ - attempts to do so. The application does │ │ │ │ │ - nothing │ │ │ │ │ - if Caller*ID was received on the channel. │ │ │ │ │ - │ │ │ │ │ - The application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The status of the privacy manager's attempt to collect a phone number from the user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Zapateller │ │ │ │ │ + ExtenSpy │ │ │ │ │ + ChanSpyStart │ │ │ │ │ + ChanSpyStop │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Execute a system command. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Command to execute │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Do not use untrusted strings such as │ │ │ │ │ - CALLERID(num) │ │ │ │ │ - or │ │ │ │ │ - CALLERID(name) │ │ │ │ │ - as part of the command parameters. You │ │ │ │ │ - risk a command injection attack executing arbitrary commands if the untrusted │ │ │ │ │ - strings aren't filtered to remove dangerous characters. See function │ │ │ │ │ - FILTER() │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Executes a command by using system(). If the command │ │ │ │ │ - fails, the console should report a fallthrough. │ │ │ │ │ - │ │ │ │ │ - Result of execution is returned in the │ │ │ │ │ - SYSTEMSTATUS │ │ │ │ │ - channel variable: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Could not execute the specified command. │ │ │ │ │ - Specified command successfully executed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Try executing a system command. │ │ │ │ │ + │ │ │ │ │ + Listen to a channel, and optionally whisper into it. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Command to execute │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specify extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Do not use untrusted strings such as │ │ │ │ │ - CALLERID(num) │ │ │ │ │ - or │ │ │ │ │ - CALLERID(name) │ │ │ │ │ - as part of the command parameters. You │ │ │ │ │ - risk a command injection attack executing arbitrary commands if the untrusted │ │ │ │ │ - strings aren't filtered to remove dangerous characters. See function │ │ │ │ │ - FILTER() │ │ │ │ │ + Optionally specify a context, defaults to │ │ │ │ │ + default │ │ │ │ │ . │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Executes a command by using system(). │ │ │ │ │ - │ │ │ │ │ - Result of execution is returned in the │ │ │ │ │ - SYSTEMSTATUS │ │ │ │ │ - channel variable: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Could not execute the specified command. │ │ │ │ │ - Specified command successfully executed. │ │ │ │ │ - Specified command successfully executed, but returned error code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - func_periodic_hook │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Record a call and mix the audio during the recording. Use of StopMixMonitor is required │ │ │ │ │ - to guarantee the audio file is available for processing during dialplan execution. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - filename │ │ │ │ │ - is an absolute path, uses that path, otherwise │ │ │ │ │ - creates the file in the configured monitoring directory from │ │ │ │ │ - asterisk.conf. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Will be executed when the recording is over. │ │ │ │ │ - │ │ │ │ │ - Any strings matching │ │ │ │ │ - ^{X} │ │ │ │ │ - will be unescaped to │ │ │ │ │ - X │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - All variables will be evaluated at the time MixMonitor is called. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Do not use untrusted strings such as │ │ │ │ │ - CALLERID(num) │ │ │ │ │ - or │ │ │ │ │ - CALLERID(name) │ │ │ │ │ - as part of the command parameters. You │ │ │ │ │ - risk a command injection attack executing arbitrary commands if the untrusted │ │ │ │ │ - strings aren't filtered to remove dangerous characters. See function │ │ │ │ │ - FILTER() │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Records the audio on the current channel to the specified file. │ │ │ │ │ - This application does not automatically answer and should be preceeded by │ │ │ │ │ - an application such as Answer or Progress(). │ │ │ │ │ - │ │ │ │ │ - MixMonitor runs as an audiohook. │ │ │ │ │ - │ │ │ │ │ + This application is used to listen to the audio from an Asterisk channel. This includes │ │ │ │ │ + the audio coming in and out of the channel being spied on. Only channels created by outgoing calls for the │ │ │ │ │ + specified extension will be selected for spying. If the optional context is not supplied, │ │ │ │ │ + the current channel's context will be used. │ │ │ │ │ + While spying, the following actions may be performed: │ │ │ │ │ + │ │ │ │ │ + - Dialing │ │ │ │ │ + # │ │ │ │ │ + cycles the volume level. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + - Dialing │ │ │ │ │ + * │ │ │ │ │ + will stop spying and look for another channel to spy on. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - If a filename passed to MixMonitor ends with │ │ │ │ │ - .wav49 │ │ │ │ │ - , Asterisk will silently convert the extension to │ │ │ │ │ - .WAV │ │ │ │ │ - for legacy reasons. │ │ │ │ │ - MIXMONITOR_FILENAME │ │ │ │ │ - will contain the actual filename that Asterisk is writing to, not necessarily the │ │ │ │ │ - value that was passed in. │ │ │ │ │ + The │ │ │ │ │ + X │ │ │ │ │ + option supersedes the three features above in that if a valid │ │ │ │ │ + single digit extension exists in the correct context ChanSpy will exit to it. │ │ │ │ │ + This also disables choosing a channel based on │ │ │ │ │ + chanprefix │ │ │ │ │ + and a digit sequence. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Will contain the filename used to record. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Do not use untrusted strings such as │ │ │ │ │ - CALLERID(num) │ │ │ │ │ - or │ │ │ │ │ - CALLERID(name) │ │ │ │ │ - as part of ANY of the application's │ │ │ │ │ - parameters. You risk a command injection attack executing arbitrary commands │ │ │ │ │ - if the untrusted strings aren't filtered to remove dangerous characters. See │ │ │ │ │ - function │ │ │ │ │ - FILTER() │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Monitor │ │ │ │ │ - StopMixMonitor │ │ │ │ │ - PauseMonitor │ │ │ │ │ - UnpauseMonitor │ │ │ │ │ - AUDIOHOOK_INHERIT │ │ │ │ │ + ChanSpy │ │ │ │ │ + ChanSpyStart │ │ │ │ │ + ChanSpyStop │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Stop recording a call through MixMonitor, and free the recording's file handle. │ │ │ │ │ + │ │ │ │ │ + Scan DAHDI channels to monitor calls. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If a valid ID is provided, then this command will stop only that specific │ │ │ │ │ - MixMonitor. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Limit scanning to a channel │ │ │ │ │ + group │ │ │ │ │ + by setting this option. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Stops the audio recording that was started with a call to │ │ │ │ │ - MixMonitor() │ │ │ │ │ - on the current channel. │ │ │ │ │ + Allows a call center manager to monitor DAHDI channels in a │ │ │ │ │ + convenient way. Use │ │ │ │ │ + # │ │ │ │ │ + to select the next channel and use │ │ │ │ │ + * │ │ │ │ │ + to exit. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - MixMonitor │ │ │ │ │ + ChanSpyStart │ │ │ │ │ + ChanSpyStop │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Mute / unMute a Mixmonitor recording. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Used to specify the channel to mute. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Which part of the recording to mute: read, write or both (from channel, to channel or both channels). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Turn mute on or off : 1 to turn on, 0 to turn off. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This action may be used to mute a MixMonitor recording. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Record a call and mix the audio during the recording. Use of StopMixMonitor is required │ │ │ │ │ - to guarantee the audio file is available for processing during dialplan execution. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Read an extension into a variable. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Used to specify the channel to record. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + File to play before reading digits or tone with option │ │ │ │ │ + i │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Is the name of the file created in the monitor spool directory. │ │ │ │ │ - Defaults to the same name as the channel (with slashes replaced with dashes). │ │ │ │ │ - This argument is optional if you specify to record unidirectional audio with │ │ │ │ │ - either the r(filename) or t(filename) options in the options field. If │ │ │ │ │ - neither MIXMONITOR_FILENAME or this parameter is set, the mixed stream won't │ │ │ │ │ - be recorded. │ │ │ │ │ + │ │ │ │ │ + Context in which to match extensions. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Options that apply to the MixMonitor in the same way as they │ │ │ │ │ - would apply if invoked from the MixMonitor application. For a list of │ │ │ │ │ - available options, see the documentation for the mixmonitor application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Will be executed when the recording is over. │ │ │ │ │ - Any strings matching │ │ │ │ │ - ^{X} │ │ │ │ │ - will be unescaped to │ │ │ │ │ - X │ │ │ │ │ - . │ │ │ │ │ - All variables will be evaluated at the time MixMonitor is called. │ │ │ │ │ + An integer number of seconds to wait for a digit response. If │ │ │ │ │ + greater than │ │ │ │ │ + 0 │ │ │ │ │ + , that value will override the default timeout. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Do not use untrusted strings such as │ │ │ │ │ - CALLERID(num) │ │ │ │ │ - or │ │ │ │ │ - CALLERID(name) │ │ │ │ │ - as part of the command parameters. You │ │ │ │ │ - risk a command injection attack executing arbitrary commands if the untrusted │ │ │ │ │ - strings aren't filtered to remove dangerous characters. See function │ │ │ │ │ - FILTER() │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action records the audio on the current channel to the specified file. │ │ │ │ │ + │ │ │ │ │ + Reads a │ │ │ │ │ + # │ │ │ │ │ + terminated string of digits from the user into the given variable. │ │ │ │ │ + │ │ │ │ │ + Will set READEXTENSTATUS on exit with one of the following statuses: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Will contain the filename used to record the mixed stream. │ │ │ │ │ + │ │ │ │ │ + A valid extension exists in ${variable}. │ │ │ │ │ + No extension was entered in the specified time. Also sets ${variable} to "t". │ │ │ │ │ + An invalid extension, ${INVALID_EXTEN}, was entered. Also sets ${variable} to "i". │ │ │ │ │ + Line was not up and the option 's' was specified. │ │ │ │ │ + Invalid arguments were passed. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stop recording a call through MixMonitor, and free the recording's file handle. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Redirects given channel to a dialplan target │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the channel monitored. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If a valid ID is provided, then this command will stop only that specific │ │ │ │ │ - MixMonitor. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This action stops the audio recording that was started with the │ │ │ │ │ - MixMonitor │ │ │ │ │ - action on the current channel. │ │ │ │ │ - │ │ │ │ │ + Sends the specified channel to the specified extension priority │ │ │ │ │ + This application sets the following channel variables upon completion │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Are set to the result of the redirection │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve data pertaining to specific instances of MixMonitor on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + app_cdr │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Direct Inward System Access. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - The unique ID of the MixMonitor instance. The unique ID can be retrieved through the channel │ │ │ │ │ - variable used as an argument to the │ │ │ │ │ - i │ │ │ │ │ - option to MixMonitor. │ │ │ │ │ + If you need to present a DISA dialtone without entering a password, │ │ │ │ │ + simply set │ │ │ │ │ + passcode │ │ │ │ │ + to │ │ │ │ │ + no-password │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + You may specified a │ │ │ │ │ + filename │ │ │ │ │ + instead of a │ │ │ │ │ + passcode │ │ │ │ │ + , this filename must contain individual passcodes │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The piece of data to retrieve from the MixMonitor. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when monitoring has started on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - MixMonitorStop │ │ │ │ │ - MixMonitor │ │ │ │ │ - MixMonitor │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when monitoring has stopped on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - MixMonitorStart │ │ │ │ │ - StopMixMonitor │ │ │ │ │ - StopMixMonitor │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when monitoring is muted or unmuted on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Which part of the recording was muted or unmuted: read, write or both │ │ │ │ │ - (from channel, to channel or both directions). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If the monitoring was muted or unmuted: 1 when muted, 0 when unmuted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - MixMonitorMute │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - dahdi │ │ │ │ │ - deprecated │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Executes DAHDI ISDN RAS application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - A list of parameters to pass to the pppd daemon, │ │ │ │ │ - separated by │ │ │ │ │ - , │ │ │ │ │ - characters. │ │ │ │ │ + Specifies the dialplan context in which the user-entered extension │ │ │ │ │ + will be matched. If no context is specified, the DISA application defaults │ │ │ │ │ + to the │ │ │ │ │ + disa │ │ │ │ │ + context. Presumably a normal system will have a special │ │ │ │ │ + context set up for DISA use with some or a lot of restrictions. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Executes a RAS server using pppd on the given channel. │ │ │ │ │ - The channel must be a clear channel (i.e. PRI source) and a DAHDI │ │ │ │ │ - channel to be able to use this function (No modem emulation is included). │ │ │ │ │ - Your pppd must be patched to be DAHDI aware. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - no │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - IVR Demo Application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is a skeleton application that shows you the basic structure to create your │ │ │ │ │ - own asterisk applications and demonstrates the IVR demo. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Interfaces with an external IVR application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Specifies a new (different) callerid to be used for this call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Will cause a stutter-dialtone (indication │ │ │ │ │ + dialrecall │ │ │ │ │ + ) │ │ │ │ │ + to be used, if the specified mailbox contains any new messages. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Either forks a process to run given command or makes a socket to connect │ │ │ │ │ - to given host and starts a generator on the channel. The generator's play list │ │ │ │ │ - is controlled by the external application, which can add and clear entries via │ │ │ │ │ - simple commands issued over its stdout. The external application will receive │ │ │ │ │ - all DTMF events received on the channel, and notification if the channel is │ │ │ │ │ - hung up. The received on the channel, and notification if the channel is hung │ │ │ │ │ - up. The application will not be forcibly terminated when the channel is hung up. │ │ │ │ │ - For more information see │ │ │ │ │ - doc/AST.pdf │ │ │ │ │ - . │ │ │ │ │ + The DISA, Direct Inward System Access, application allows someone from │ │ │ │ │ + outside the telephone switch (PBX) to obtain an │ │ │ │ │ + internal │ │ │ │ │ + system │ │ │ │ │ + dialtone and to place calls from it as if they were placing a call from │ │ │ │ │ + within the switch. │ │ │ │ │ + DISA plays a dialtone. The user enters their numeric passcode, followed by │ │ │ │ │ + the pound sign │ │ │ │ │ + # │ │ │ │ │ + . If the passcode is correct, the user is then given │ │ │ │ │ + system dialtone within │ │ │ │ │ + context │ │ │ │ │ + on which a call may be placed. │ │ │ │ │ + If the user enters an invalid extension and extension │ │ │ │ │ + i │ │ │ │ │ + exists in the specified │ │ │ │ │ + context │ │ │ │ │ + , it will be used. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Virtual Dictation Machine. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Be aware that using this may compromise the security of your PBX. │ │ │ │ │ │ │ │ │ │ - Start dictation machine using optional │ │ │ │ │ - base_dir │ │ │ │ │ - for files. │ │ │ │ │ + The arguments to this application (in │ │ │ │ │ + extensions.conf │ │ │ │ │ + ) allow either │ │ │ │ │ + specification of a single global │ │ │ │ │ + passcode │ │ │ │ │ + (that everyone uses), or │ │ │ │ │ + individual passcodes contained in a file ( │ │ │ │ │ + filename │ │ │ │ │ + ). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The file that contains the passcodes (if used) allows a complete │ │ │ │ │ + specification of all of the same arguments available on the command │ │ │ │ │ + line, with the sole exception of the options. The file may contain blank │ │ │ │ │ + lines, or comments starting with │ │ │ │ │ + # │ │ │ │ │ + or │ │ │ │ │ + ; │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Authenticate │ │ │ │ │ + VMAuthenticate │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + deprecated │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Send an arbitrary user-defined event to parties interested in a channel (AMI users and relevant res_stasis applications). │ │ │ │ │ + │ │ │ │ │ + Send a URL. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Sends an arbitrary event to interested parties, with an optional │ │ │ │ │ - body │ │ │ │ │ - representing additional arguments. The │ │ │ │ │ - body │ │ │ │ │ - may be specified as │ │ │ │ │ - a │ │ │ │ │ - , │ │ │ │ │ - delimited list of key:value pairs. │ │ │ │ │ - │ │ │ │ │ - For AMI, each additional argument will be placed on a new line in │ │ │ │ │ - the event and the format of the event will be: │ │ │ │ │ - Event: UserEvent │ │ │ │ │ - UserEvent: <specified event name> │ │ │ │ │ - [body] │ │ │ │ │ - │ │ │ │ │ - If no │ │ │ │ │ - body │ │ │ │ │ - is specified, only Event and │ │ │ │ │ - UserEvent headers will be present. │ │ │ │ │ + Requests client go to │ │ │ │ │ + URL │ │ │ │ │ + (IAX2) or sends the │ │ │ │ │ + URL to the client (other channels). │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - For res_stasis applications, the event will be provided as a JSON │ │ │ │ │ - blob with additional arguments appearing as keys in the object and the │ │ │ │ │ - eventname │ │ │ │ │ - under the │ │ │ │ │ - eventname │ │ │ │ │ - key. │ │ │ │ │ + Result is returned in the │ │ │ │ │ + SENDURLSTATUS │ │ │ │ │ + channel variable: │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + URL successfully sent to client. │ │ │ │ │ + Failed to send URL. │ │ │ │ │ + Client failed to load URL (wait enabled). │ │ │ │ │ + Channel does not support URL transport. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SendURL continues normally if the URL was sent correctly or if the channel │ │ │ │ │ + does not support HTML transport. Otherwise, the channel is hung up. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - UserEvent │ │ │ │ │ - UserEvent │ │ │ │ │ + SendImage │ │ │ │ │ + SendText │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Blind transfer channel(s) to the extension and context provided │ │ │ │ │ + │ │ │ │ │ + Play an MP3 file or M3U playlist file or stream. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Specify extension. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optionally specify a context. │ │ │ │ │ - By default, Asterisk will use the caller channel context. │ │ │ │ │ + │ │ │ │ │ + Location of the file to be played. │ │ │ │ │ + (argument passed to mpg123) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Redirect all channels currently bridged to the caller channel to the │ │ │ │ │ - specified destination. │ │ │ │ │ - │ │ │ │ │ - The result of the application will be reported in the │ │ │ │ │ - BLINDTRANSFERSTATUS │ │ │ │ │ - channel variable: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transfer succeeded. │ │ │ │ │ - Transfer failed. │ │ │ │ │ - Transfer invalid. │ │ │ │ │ - Transfer not permitted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Executes mpg123 to play the given location, which typically would be a mp3 filename │ │ │ │ │ + or m3u playlist filename or a URL. Please read https://en.wikipedia.org/wiki/M3U │ │ │ │ │ + to see what the M3U playlist file format is like. │ │ │ │ │ + Note that mpg123 does not support HTTPS, so use HTTP for web streams. │ │ │ │ │ + User can exit by pressing any key on the dialpad, or by hanging up. │ │ │ │ │ + exten => 1234,1,MP3Player(/var/lib/asterisk/playlist.m3u) │ │ │ │ │ + This application does not automatically answer and should be preceeded by an │ │ │ │ │ + application such as Answer() or Progress(). │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a conference starts. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ConfbridgeEnd │ │ │ │ │ - ConfBridge │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a conference ends. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ConfbridgeStart │ │ │ │ │ - ConfBridge │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel joins a Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Identifies this user as an admin user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The joining mute status. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ConfbridgeLeave │ │ │ │ │ - ConfBridge │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel leaves a Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Identifies this user as an admin user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ConfbridgeJoin │ │ │ │ │ - ConfBridge │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a conference starts recording. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ConfbridgeStopRecord │ │ │ │ │ - ConfBridge │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a conference that was recording stops recording. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ConfbridgeRecord │ │ │ │ │ - ConfBridge │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a Confbridge participant mutes. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Identifies this user as an admin user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ConfbridgeUnmute │ │ │ │ │ - ConfBridge │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a confbridge participant unmutes. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Identifies this user as an admin user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ConfbridgeMute │ │ │ │ │ - ConfBridge │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a confbridge participant begins or ends talking. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the Confbridge conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Identifies this user as an admin user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ConfBridge │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conference Bridge Application │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unused, but reserved. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A named profile to apply to specific callers. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Callers in a ConfBridge have a profile associated with them │ │ │ │ │ - that determine their options. A configuration section is determined to be a │ │ │ │ │ - user_profile when the │ │ │ │ │ - type │ │ │ │ │ - parameter has a value │ │ │ │ │ - of │ │ │ │ │ - user │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Define this configuration category as a user profile. │ │ │ │ │ - │ │ │ │ │ - The type parameter determines how a context in the │ │ │ │ │ - configuration file is interpreted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configure the context as a │ │ │ │ │ - user_profile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configure the context as a │ │ │ │ │ - bridge_profile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configure the context as a │ │ │ │ │ - menu │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets if the user is an admin or not │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets if events are send to the user │ │ │ │ │ - │ │ │ │ │ - If events are enabled for this bridge and this option is │ │ │ │ │ - set, users will receive events like join, leave, talking, etc. via text │ │ │ │ │ - messages. For users accessing the bridge via chan_pjsip, this means │ │ │ │ │ - in-dialog MESSAGE messages. This is most useful for WebRTC participants │ │ │ │ │ - where the browser application can use the messages to alter the user │ │ │ │ │ - interface. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets if events are echoed back to the user that │ │ │ │ │ - triggered them │ │ │ │ │ - │ │ │ │ │ - If events are enabled for this user and this option │ │ │ │ │ - is set, the user will receive events they trigger, talking, mute, etc. │ │ │ │ │ - If not set, they will not receive their own events. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets if this is a marked user or not │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets if all users should start out muted │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play MOH when user is alone or waiting on a marked user │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Silence enter/leave prompts and user intros for this user │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Determines if the user also hears the join sound when they enter a conference │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets if the number of users should be announced to the user │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Announce user count to all the other users when this user joins │ │ │ │ │ - │ │ │ │ │ - Sets if the number of users should be announced to all the other users │ │ │ │ │ - in the conference when this user joins. This option can be either set to 'yes' or │ │ │ │ │ - a number. When set to a number, the announcement will only occur once the user │ │ │ │ │ - count is above the specified number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Announce to a user when they join an empty conference │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets if the user must wait for a marked user to enter before joining a conference │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Kick the user from the conference when the last marked user leaves │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set whether or not notifications of when a user begins and ends talking should be sent out as events over AMI │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets whether or not DTMF should pass through the conference │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Prompt user for their name when joining a conference and play it to the conference when they enter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Prompt user for their name when joining a conference and play it to the conference when they enter. │ │ │ │ │ - The user will be asked to review the recording of their name before entering the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets a PIN the user must enter before joining the conference │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The MOH class to use for this user │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sound file to play to the user when they join a conference │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Apply a denoise filter to the audio before mixing │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets whether or not a denoise filter should be applied │ │ │ │ │ - to the audio before mixing or not. Off by default. Requires │ │ │ │ │ - codec_speex │ │ │ │ │ - to be built and installed. Do not confuse this option │ │ │ │ │ - with │ │ │ │ │ - drop_silence │ │ │ │ │ - . Denoise is useful if there is a lot of background │ │ │ │ │ - noise for a user as it attempts to remove the noise while preserving │ │ │ │ │ - the speech. This option does NOT remove silence from being mixed into │ │ │ │ │ - the conference and does come at the cost of a slight performance hit. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Drop what Asterisk detects as silence from audio sent to the bridge │ │ │ │ │ - │ │ │ │ │ - This option drops what Asterisk detects as silence from │ │ │ │ │ - entering into the bridge. Enabling this option will drastically │ │ │ │ │ - improve performance and help remove the buildup of background │ │ │ │ │ - noise from the conference. Highly recommended for large conferences │ │ │ │ │ - due to its performance enhancements. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of milliseconds of silence necessary to declare talking stopped. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The time in milliseconds of sound falling below the │ │ │ │ │ - dsp_talking_threshold │ │ │ │ │ - option when │ │ │ │ │ - a user is considered to stop talking. This value affects several │ │ │ │ │ - operations and should not be changed unless the impact on call │ │ │ │ │ - quality is fully understood. │ │ │ │ │ - │ │ │ │ │ - What this value affects internally: │ │ │ │ │ - 1. When talk detection AMI events are enabled, this value │ │ │ │ │ - determines when the user has stopped talking after a │ │ │ │ │ - period of talking. If this value is set too low │ │ │ │ │ - AMI events indicating the user has stopped talking │ │ │ │ │ - may get falsely sent out when the user briefly pauses │ │ │ │ │ - during mid sentence. │ │ │ │ │ - │ │ │ │ │ - 2. The │ │ │ │ │ - drop_silence │ │ │ │ │ - option │ │ │ │ │ - depends on this value to determine when the user's audio should │ │ │ │ │ - begin to be dropped from the conference bridge after the user │ │ │ │ │ - stops talking. If this value is set too low the user's │ │ │ │ │ - audio stream may sound choppy to the other participants. This │ │ │ │ │ - is caused by the user transitioning constantly from silence to │ │ │ │ │ - talking during mid sentence. │ │ │ │ │ - │ │ │ │ │ - The best way to approach this option is to set it slightly │ │ │ │ │ - above the maximum amount of milliseconds of silence a user may │ │ │ │ │ - generate during natural speech. │ │ │ │ │ - Valid values are 1 through 2^31. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Average magnitude threshold to determine talking. │ │ │ │ │ - │ │ │ │ │ - The minimum average magnitude per sample in a frame │ │ │ │ │ - for the DSP to consider talking/noise present. A value below │ │ │ │ │ - this level is considered silence. This value affects several │ │ │ │ │ - operations and should not be changed unless the impact on call │ │ │ │ │ - quality is fully understood. │ │ │ │ │ - What this value affects internally: │ │ │ │ │ - 1. Audio is only mixed out of a user's incoming audio │ │ │ │ │ - stream if talking is detected. If this value is set too │ │ │ │ │ - high the user will hear himself talking. │ │ │ │ │ - 2. When talk detection AMI events are enabled, this value │ │ │ │ │ - determines when talking has begun which results in │ │ │ │ │ - an AMI event to fire. If this value is set too low │ │ │ │ │ - AMI events may be falsely triggered by variants in │ │ │ │ │ - room noise. │ │ │ │ │ - │ │ │ │ │ - 3. The │ │ │ │ │ - drop_silence │ │ │ │ │ - option │ │ │ │ │ - depends on this value to determine when the user's audio should │ │ │ │ │ - be mixed into the bridge after periods of silence. If this value │ │ │ │ │ - is too high the user's speech will get discarded as they will │ │ │ │ │ - be considered silent. │ │ │ │ │ - │ │ │ │ │ - Valid values are 1 through 2^15. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Place a jitter buffer on the user's audio stream before audio mixing is performed │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enabling this option places a jitterbuffer on the user's audio stream │ │ │ │ │ - before audio mixing is performed. This is highly recommended but will │ │ │ │ │ - add a slight delay to the audio. This option is using the │ │ │ │ │ - JITTERBUFFER │ │ │ │ │ - dialplan function's default adaptive jitterbuffer. For a more fine tuned │ │ │ │ │ - jitterbuffer, disable this option and use the │ │ │ │ │ - JITTERBUFFER │ │ │ │ │ - dialplan function │ │ │ │ │ - on the user before entering the ConfBridge application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When using the CONFBRIDGE dialplan function, use a user profile as a template for creating a new temporary profile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Kick the user out of the conference after this many seconds. 0 means there is no timeout for the user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets if text messages are sent to the user. │ │ │ │ │ - │ │ │ │ │ - If text messaging is enabled for this user then │ │ │ │ │ - text messages will be sent to it. These may be events or from other │ │ │ │ │ - participants in the conference bridge. If disabled then no text │ │ │ │ │ - messages are sent to the user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets if a user's channel should be answered if currently unanswered. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A named profile to apply to specific bridges. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ConfBridge bridges have a profile associated with them │ │ │ │ │ - that determine their options. A configuration section is determined to be a │ │ │ │ │ - bridge_profile │ │ │ │ │ - when the │ │ │ │ │ - type │ │ │ │ │ - parameter has a value │ │ │ │ │ - of │ │ │ │ │ - bridge │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Define this configuration category as a bridge profile │ │ │ │ │ - │ │ │ │ │ - The type parameter determines how a context in the │ │ │ │ │ - configuration file is interpreted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configure the context as a │ │ │ │ │ - user_profile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configure the context as a │ │ │ │ │ - bridge_profile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configure the context as a │ │ │ │ │ - menu │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Place a jitter buffer on the conference's audio stream │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set the internal native sample rate for mixing the conference │ │ │ │ │ - │ │ │ │ │ - Sets the internal native sample rate the │ │ │ │ │ - conference is mixed at. This is set to automatically │ │ │ │ │ - adjust the sample rate to the best quality by default. │ │ │ │ │ - Other values can be anything from 8000-192000. If a │ │ │ │ │ - sample rate is set that Asterisk does not support, the │ │ │ │ │ - closest sample rate Asterisk does support to the one requested │ │ │ │ │ - will be used. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set the maximum native sample rate for mixing the conference │ │ │ │ │ - │ │ │ │ │ - Sets the maximum native sample rate the │ │ │ │ │ - conference is mixed at. This is set to not have a │ │ │ │ │ - maximum by default. If a sample rate is specified, │ │ │ │ │ - though, the native sample rate will never exceed it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The language used for announcements to the conference. │ │ │ │ │ - │ │ │ │ │ - By default, announcements to a conference use English. Which means │ │ │ │ │ - the prompts played to all users within the conference will be │ │ │ │ │ - English. By changing the language of a bridge, this will change │ │ │ │ │ - the language of the prompts played to all users. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets the internal mixing interval in milliseconds for the bridge │ │ │ │ │ - │ │ │ │ │ - Sets the internal mixing interval in milliseconds for the bridge. This │ │ │ │ │ - number reflects how tight or loose the mixing will be for the conference. │ │ │ │ │ - In order to improve performance a larger mixing interval such as 40ms may │ │ │ │ │ - be chosen. Using a larger mixing interval comes at the cost of introducing │ │ │ │ │ - larger amounts of delay into the bridge. Valid values here are 10, 20, 40, │ │ │ │ │ - or 80. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If true binaural conferencing with stereo audio is active │ │ │ │ │ - │ │ │ │ │ - Activates binaural mixing for a conference bridge. │ │ │ │ │ - Binaural features are disabled by default. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Record the conference starting with the first active user's entrance and ending with the last active user's exit │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Records the conference call starting when the first user │ │ │ │ │ - enters the room, and ending when the last user exits the room. │ │ │ │ │ - The default recorded filename is │ │ │ │ │ - 'confbridge-${name of conference bridge}-${start time}.wav' │ │ │ │ │ - and the default format is 8khz slinear. This file will be │ │ │ │ │ - located in the configured monitoring directory in │ │ │ │ │ - asterisk.conf │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The filename of the conference recording │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When │ │ │ │ │ - record_conference │ │ │ │ │ - is set to yes, the specific name of the │ │ │ │ │ - record file can be set using this option. Note that since multiple │ │ │ │ │ - conferences may use the same bridge profile, this may cause issues │ │ │ │ │ - depending on the configuration. It is recommended to only use this │ │ │ │ │ - option dynamically with the │ │ │ │ │ - CONFBRIDGE() │ │ │ │ │ - dialplan function. This │ │ │ │ │ - allows the record name to be specified and a unique name to be chosen. │ │ │ │ │ - By default, the record_file is stored in Asterisk's spool/monitor directory │ │ │ │ │ - with a unique filename starting with the 'confbridge' prefix. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Append to record file when starting/stopping on same conference recording │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When │ │ │ │ │ - record_file_append │ │ │ │ │ - is set to yes, stopping and starting recording on a │ │ │ │ │ - conference adds the new portion to end of current record_file. When this is │ │ │ │ │ - set to no, a new │ │ │ │ │ - record_file │ │ │ │ │ - is generated every time you start then stop recording │ │ │ │ │ - on a conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Append the start time to the record_file name so that it is unique. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When │ │ │ │ │ - record_file_timestamp │ │ │ │ │ - is set to yes, the start time is appended to │ │ │ │ │ - record_file │ │ │ │ │ - so that the filename is unique. This allows you to specify │ │ │ │ │ - a │ │ │ │ │ - record_file │ │ │ │ │ - but not overwrite existing recordings. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Pass additional options to MixMonitor when recording │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Pass additional options to MixMonitor when │ │ │ │ │ - record_conference │ │ │ │ │ - is set to yes. │ │ │ │ │ - See │ │ │ │ │ - MixMonitor │ │ │ │ │ - for available options. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Execute a command after recording ends │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Executes the specified command when recording ends. Any strings matching │ │ │ │ │ - ^{X} │ │ │ │ │ - will be │ │ │ │ │ - unescaped to │ │ │ │ │ - X │ │ │ │ │ - . All variables will be evaluated at the time ConfBridge is called. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the context into which to register the name of the conference bridge as NoOP() at priority 1 │ │ │ │ │ - │ │ │ │ │ - When set this will cause the name of the created conference to be registered │ │ │ │ │ - into the named context at priority 1 with an operation of NoOP(). This can │ │ │ │ │ - then be used in other parts of the dialplan to test for the existence of a │ │ │ │ │ - specific conference bridge. │ │ │ │ │ - You should be aware that there are potential races between testing for the │ │ │ │ │ - existence of a bridge, and taking action upon that information, consider │ │ │ │ │ - for example two callers executing the check simultaneously, and then taking │ │ │ │ │ - special action as "first caller" into the bridge. The same for exiting, │ │ │ │ │ - directly after the check the bridge can be destroyed before the new caller │ │ │ │ │ - enters (creating a new bridge), for example, and the "first member" actions │ │ │ │ │ - could thus be missed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets how confbridge handles video distribution to the conference participants │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets how confbridge handles video distribution to the conference participants. │ │ │ │ │ - Note that participants wanting to view and be the source of a video feed │ │ │ │ │ - MUST │ │ │ │ │ - be sharing the same video codec. Also, using video in conjunction with │ │ │ │ │ - with the jitterbuffer currently results in the audio being slightly out of sync │ │ │ │ │ - with the video. This is a result of the jitterbuffer only working on the audio │ │ │ │ │ - stream. It is recommended to disable the jitterbuffer when video is used. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - No video sources are set by default in the conference. It is still │ │ │ │ │ - possible for a user to be set as a video source via AMI or DTMF action │ │ │ │ │ - at any time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The video feed will follow whoever is talking and providing video. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The last marked user to join the conference with video capabilities │ │ │ │ │ - will be the single source of video distributed to all participants. │ │ │ │ │ - If multiple marked users are capable of video, the last one to join │ │ │ │ │ - is always the source, when that user leaves it goes to the one who │ │ │ │ │ - joined before them. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The first marked user to join the conference with video capabilities │ │ │ │ │ - is the single source of video distribution among all participants. If │ │ │ │ │ - that user leaves, the marked user to join after them becomes the source. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Selective Forwarding Unit - Sets multi-stream │ │ │ │ │ - operation for a multi-party video conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Limit the maximum number of participants for a single conference │ │ │ │ │ - │ │ │ │ │ - This option limits the number of participants for a single │ │ │ │ │ - conference to a specific number. By default conferences │ │ │ │ │ - have no participant limit. After the limit is reached, the │ │ │ │ │ - conference will be locked until someone leaves. Note however │ │ │ │ │ - that an Admin user will always be alowed to join the conference │ │ │ │ │ - regardless if this limit is reached or not. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Override the various conference bridge sound files │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - All sounds in the conference are customizable using the bridge profile options below. │ │ │ │ │ - Simply state the option followed by the filename or full path of the filename after │ │ │ │ │ - the option. Example: │ │ │ │ │ - sound_had_joined=conf-hasjoin │ │ │ │ │ - This will play the │ │ │ │ │ - conf-hasjoin │ │ │ │ │ - sound file found in the sounds directory when announcing someone's name is joining the │ │ │ │ │ - conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played to everyone when someone enters the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played to everyone when someone leaves the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played before announcing someone's name has │ │ │ │ │ - joined the conference. This is used for user intros. │ │ │ │ │ - Example │ │ │ │ │ - "_____ has joined the conference" │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played when announcing someone's name has │ │ │ │ │ - left the conference. This is used for user intros. │ │ │ │ │ - Example │ │ │ │ │ - "_____ has left the conference" │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played to a user who has been kicked from the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played when the mute option it toggled on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played when the mute option it toggled off. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played when binaural audio is turned on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played when the binaural audio is turned off. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played when the user is the only person in the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played to a user when there is only one other │ │ │ │ │ - person is in the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played when announcing how many users there │ │ │ │ │ - are in a conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This file is used in conjunction with │ │ │ │ │ - sound_there_are │ │ │ │ │ - when announcing how many users there are in the conference. │ │ │ │ │ - The sounds are stringed together like this. │ │ │ │ │ - "sound_there_are" ${number of participants} "sound_other_in_party" │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played when someone is placed into the conference │ │ │ │ │ - after waiting for a marked user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played when a user is placed into a conference that │ │ │ │ │ - can not start until a marked user enters. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played when the last marked user leaves the conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played when prompting for a conference pin number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played when an invalid pin is entered too many times. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played to a user trying to join a locked conference. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played to an admin after toggling the conference to locked mode. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played to an admin after toggling the conference to unlocked mode. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sound played when an invalid menu option is entered. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets the amount of time in milliseconds after sending a video update to discard subsequent video updates │ │ │ │ │ - │ │ │ │ │ - Sets the amount of time in milliseconds after sending a video update request │ │ │ │ │ - that subsequent video updates should be discarded. This means that if we │ │ │ │ │ - send a video update we will discard any other video update requests until │ │ │ │ │ - after the configured amount of time has elapsed. This prevents flooding of │ │ │ │ │ - video update requests from clients. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets the interval in milliseconds that a combined REMB frame will be sent to video sources │ │ │ │ │ - │ │ │ │ │ - Sets the interval in milliseconds that a combined REMB frame will be sent │ │ │ │ │ - to video sources. This is done by taking all REMB frames that have been │ │ │ │ │ - received since the last REMB frame was sent, making a combined value, │ │ │ │ │ - and sending it to the source. A REMB frame contains receiver estimated │ │ │ │ │ - maximum bitrate information. By creating a combined REMB frame the │ │ │ │ │ - sender of video can be influenced on the bitrate they choose, allowing │ │ │ │ │ - better quality for all receivers. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets how REMB reports are generated from multiple sources │ │ │ │ │ - │ │ │ │ │ - Sets how REMB reports are combined from multiple sources to form one. A REMB report │ │ │ │ │ - consists of information about the receiver estimated maximum bitrate. As a source │ │ │ │ │ - stream may be forwarded to multiple receivers the reports must be combined into │ │ │ │ │ - a single one which is sent to the sender. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The average of all estimated maximum bitrates is taken and sent │ │ │ │ │ - to the sender. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The lowest estimated maximum bitrate is forwarded to the sender. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The highest estimated maximum bitrate is forwarded to the sender. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The average of all estimated maximum bitrates is taken from all │ │ │ │ │ - receivers in the bridge and a single value is sent to each sender. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The lowest estimated maximum bitrate of all receivers in the bridge │ │ │ │ │ - is taken and sent to each sender. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The highest estimated maximum bitrate of all receivers in the bridge │ │ │ │ │ - is taken and sent to each sender. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The bitrate configured in │ │ │ │ │ - remb_estimated_bitrate │ │ │ │ │ - is sent to each sender. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - remb_estimated_bitrate │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets the estimated bitrate sent to each participant in REMB reports │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When │ │ │ │ │ - remb_behavior │ │ │ │ │ - is set to │ │ │ │ │ - force │ │ │ │ │ - , │ │ │ │ │ - this options sets the estimated bitrate (in bits per second) sent to each participant │ │ │ │ │ - in REMB reports. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - remb_behavior │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enables events for this bridge │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If enabled, recipients who joined the bridge via a channel driver │ │ │ │ │ - that supports Enhanced Messaging (currently only chan_pjsip) will │ │ │ │ │ - receive in-dialog messages containing a JSON body describing the │ │ │ │ │ - event. The Content-Type header will be │ │ │ │ │ - text/x-ast-confbridge-event │ │ │ │ │ - . │ │ │ │ │ - This feature must also be enabled in user profiles. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When using the CONFBRIDGE dialplan function, use a bridge profile as a template for creating a new temporary profile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A conference user menu │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conference users, as defined by a │ │ │ │ │ - conf_user │ │ │ │ │ - , │ │ │ │ │ - can have a DTMF menu assigned to their profile when they enter the │ │ │ │ │ - ConfBridge │ │ │ │ │ - application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Define this configuration category as a menu │ │ │ │ │ - │ │ │ │ │ - The type parameter determines how a context in the │ │ │ │ │ - configuration file is interpreted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configure the context as a │ │ │ │ │ - user_profile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configure the context as a │ │ │ │ │ - bridge_profile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configure the context as a │ │ │ │ │ - menu │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When using the CONFBRIDGE dialplan function, use a menu profile as a template for creating a new temporary profile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - DTMF sequences to assign various confbridge actions to │ │ │ │ │ - │ │ │ │ │ - The ConfBridge application also has the ability to apply custom DTMF menus to │ │ │ │ │ - each channel using the application. Like the User and Bridge profiles a menu │ │ │ │ │ - is passed in to ConfBridge as an argument in the dialplan. │ │ │ │ │ - Below is a list of menu actions that can be assigned to a DTMF sequence. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - To have the first DTMF digit in a sequence be the '#' character, you need to │ │ │ │ │ - escape it. If it is not escaped then normal config file processing will │ │ │ │ │ - think it is a directive like #include. For example: The mute setting is │ │ │ │ │ - toggled when │ │ │ │ │ - #1 │ │ │ │ │ - is pressed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - \#1=toggle_mute │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A single DTMF sequence can have multiple actions associated with it. This is │ │ │ │ │ - accomplished by stringing the actions together and using a │ │ │ │ │ - , │ │ │ │ │ - as the │ │ │ │ │ - delimiter. Example: Both listening and talking volume is reset when │ │ │ │ │ - 5 │ │ │ │ │ - is │ │ │ │ │ - pressed. │ │ │ │ │ - 5=reset_talking_volume, reset_listening_volume │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - playback │ │ │ │ │ - will play back an audio file to a channel │ │ │ │ │ - and then immediately return to the conference. │ │ │ │ │ - This file can not be interupted by DTMF. │ │ │ │ │ - Multiple files can be chained together using the │ │ │ │ │ - & │ │ │ │ │ - character. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - playback_and_continue │ │ │ │ │ - will │ │ │ │ │ - play back a prompt while continuing to │ │ │ │ │ - collect the dtmf sequence. This is useful │ │ │ │ │ - when using a menu prompt that describes all │ │ │ │ │ - the menu options. Note however that any DTMF │ │ │ │ │ - during this action will terminate the prompts │ │ │ │ │ - playback. Prompt files can be chained together │ │ │ │ │ - using the │ │ │ │ │ - & │ │ │ │ │ - character as a delimiter. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Toggle turning on and off mute. Mute will make the user silent │ │ │ │ │ - to everyone else, but the user will still be able to listen in. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Toggle turning on and off binaural audio processing. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This action does nothing (No Operation). Its only real purpose exists for │ │ │ │ │ - being able to reserve a sequence in the config as a menu exit sequence. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Decreases the channel's listening volume. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Increases the channel's listening volume. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reset channel's listening volume to default level. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Decreases the channel's talking volume. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Increases the channel's talking volume. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reset channel's talking volume to default level. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - dialplan_exec │ │ │ │ │ - action allows a user │ │ │ │ │ - to escape from the conference and execute │ │ │ │ │ - commands in the dialplan. Once the dialplan │ │ │ │ │ - exits the user will be put back into the │ │ │ │ │ - conference. The possibilities are endless! │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This action allows a user to exit the conference and continue │ │ │ │ │ - execution in the dialplan. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This action allows an Admin to kick the last participant from the │ │ │ │ │ - conference. This action will only work for admins which allows │ │ │ │ │ - a single menu to be used for both users and admins. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This action allows an Admin to toggle locking and │ │ │ │ │ - unlocking the conference. Non admins can not use │ │ │ │ │ - this action even if it is in their menu. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This action allows any user to set themselves as the │ │ │ │ │ - single video source distributed to all participants. │ │ │ │ │ - This will make the video feed stick to them regardless │ │ │ │ │ - of what the │ │ │ │ │ - video_mode │ │ │ │ │ - is set to. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This action allows a user to release themselves as │ │ │ │ │ - the video source. If │ │ │ │ │ - video_mode │ │ │ │ │ - is not set to │ │ │ │ │ - none │ │ │ │ │ - this action will result in the conference returning to │ │ │ │ │ - whatever video mode the bridge profile is using. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Note that this action will have no effect if the user │ │ │ │ │ - is not currently the video source. Also, the user is │ │ │ │ │ - not guaranteed by using this action that they will not │ │ │ │ │ - become the video source again. The bridge will return │ │ │ │ │ - to whatever operation the │ │ │ │ │ - video_mode │ │ │ │ │ - option is set to │ │ │ │ │ - upon release of the video src. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This action allows an administrator to toggle the mute │ │ │ │ │ - state for all non-admins within a conference. All │ │ │ │ │ - admin users are unaffected by this option. Note that all │ │ │ │ │ - users, regardless of their admin status, are notified │ │ │ │ │ - that the conference is muted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This action plays back the number of participants currently │ │ │ │ │ - in a conference │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - app_confbridge │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Page series of phones │ │ │ │ │ + │ │ │ │ │ + Originate a call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specification of the device(s) to dial. These must be in the format of │ │ │ │ │ - Technology/Resource │ │ │ │ │ - , where │ │ │ │ │ - Technology │ │ │ │ │ - represents a particular channel driver, and │ │ │ │ │ - Resource │ │ │ │ │ - represents a resource │ │ │ │ │ - available to that particular channel driver. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optional extra devices to dial in parallel │ │ │ │ │ - If you need more than one, enter them as Technology2/Resource2& │ │ │ │ │ - Technology3/Resource3&..... │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Channel technology and data for creating the outbound channel. │ │ │ │ │ + For example, SIP/1234. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This should be │ │ │ │ │ + app │ │ │ │ │ + or │ │ │ │ │ + exten │ │ │ │ │ + , depending on whether the outbound channel should be connected to an application or extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the type is │ │ │ │ │ + app │ │ │ │ │ + , then this is the application name. If the type is │ │ │ │ │ + exten │ │ │ │ │ + , then this is the context that the channel will be sent to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the type is │ │ │ │ │ + app │ │ │ │ │ + , then this is the data passed as arguments to the application. If the type is │ │ │ │ │ + exten │ │ │ │ │ + , then this is the extension that the channel will be sent to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the type is │ │ │ │ │ + exten │ │ │ │ │ + , then this is the priority that the channel is sent to. If the type is │ │ │ │ │ + app │ │ │ │ │ + , then this parameter is ignored. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Timeout in seconds. Default is 30 seconds. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Specify the length of time that the system will attempt to connect a call. │ │ │ │ │ - After this duration, any page calls that have not been answered will be hung up by the │ │ │ │ │ - system. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Places outbound calls to the given │ │ │ │ │ - technology │ │ │ │ │ - / │ │ │ │ │ - resource │ │ │ │ │ - and dumps them into a conference bridge as muted participants. The original │ │ │ │ │ - caller is dumped into the conference as a speaker and the room is │ │ │ │ │ - destroyed when the original caller leaves. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ConfBridge │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Waits for a specified amount of silence. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If not specified, defaults to │ │ │ │ │ - 1000 │ │ │ │ │ - milliseconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If not specified, defaults to │ │ │ │ │ - 1 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is specified only to avoid an infinite loop in cases where silence is never achieved. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Waits for up to │ │ │ │ │ - silencerequired │ │ │ │ │ - milliseconds of silence, │ │ │ │ │ - iterations │ │ │ │ │ - times. An optional │ │ │ │ │ - timeout │ │ │ │ │ - specified the number of seconds to return after, even if we do not receive the specified amount of silence. │ │ │ │ │ - Use │ │ │ │ │ - timeout │ │ │ │ │ - with caution, as it may defeat the purpose of this application, which │ │ │ │ │ - is to wait indefinitely until silence is detected on the line. This is particularly useful for reverse-911-type │ │ │ │ │ - call broadcast applications where you need to wait for an answering machine to complete its spiel before │ │ │ │ │ - playing a message. │ │ │ │ │ - │ │ │ │ │ - Typically you will want to include two or more calls to WaitForSilence when dealing with an answering │ │ │ │ │ - machine; first waiting for the spiel to finish, then waiting for the beep, etc. │ │ │ │ │ - same => n,WaitForSilence(500,2) │ │ │ │ │ - same => n,WaitForSilence(1000) │ │ │ │ │ - same => n,WaitForSilence(300,3,10) │ │ │ │ │ - │ │ │ │ │ - Sets the channel variable │ │ │ │ │ - WAITSTATUS │ │ │ │ │ - to one of these values: │ │ │ │ │ - │ │ │ │ │ + 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. │ │ │ │ │ + This application sets the following channel variable before exiting: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - if exited with silence detected. │ │ │ │ │ - if exited without silence detected after timeout. │ │ │ │ │ + │ │ │ │ │ + This indicates the result of the call origination. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + In practice, you should never see this value. Please report it to the issue tracker if you ever see it. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - WaitForNoise │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Waits for a specified amount of noise. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If not specified, defaults to │ │ │ │ │ - 1000 │ │ │ │ │ - milliseconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If not specified, defaults to │ │ │ │ │ - 1 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is specified only to avoid an infinite loop in cases where silence is never achieved. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Waits for up to │ │ │ │ │ - noiserequired │ │ │ │ │ - milliseconds of noise, │ │ │ │ │ - iterations │ │ │ │ │ - times. An optional │ │ │ │ │ - timeout │ │ │ │ │ - specified the number of seconds to return after, even if we do not receive the specified amount of noise. │ │ │ │ │ - Use │ │ │ │ │ - timeout │ │ │ │ │ - with caution, as it may defeat the purpose of this application, which │ │ │ │ │ - is to wait indefinitely until noise is detected on the line. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - WaitForSilence │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_adsi │ │ │ │ │ - deprecated │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Load Asterisk ADSI Scripts into phone │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.20.0 │ │ │ │ │ + 18.6.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Reloads an Asterisk module, blocking the channel until the reload has completed. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The full name(s) of the target module(s) or resource(s) to reload. │ │ │ │ │ + If omitted, everything will be reloaded. │ │ │ │ │ │ │ │ │ │ - adsi script to use. If not given uses the default script │ │ │ │ │ - asterisk.adsi │ │ │ │ │ + The full names MUST be specified (e.g. │ │ │ │ │ + chan_iax2 │ │ │ │ │ + to reload IAX2 or │ │ │ │ │ + pbx_config │ │ │ │ │ + to reload the dialplan. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application programs an ADSI Phone with the given script │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - GetCPEID │ │ │ │ │ - adsi.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Attended transfer to the extension provided and TRANSFER_CONTEXT │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specify extension. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue up attended transfer to the specified extension in the │ │ │ │ │ - TRANSFER_CONTEXT │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - Note that the attended transfer only work when two channels have answered and are bridged together. │ │ │ │ │ - │ │ │ │ │ - Make sure to set Attended Transfer DTMF feature │ │ │ │ │ - atxfer │ │ │ │ │ - and attended transfer is permitted. │ │ │ │ │ - │ │ │ │ │ + Reloads the specified (or all) Asterisk modules and reports success or failure. │ │ │ │ │ + Success is determined by each individual module, and if all reloads are successful, │ │ │ │ │ + that is considered an aggregate success. If multiple modules are specified and any │ │ │ │ │ + module fails, then FAILURE will be returned. It is still possible that other modules │ │ │ │ │ + did successfully reload, however. │ │ │ │ │ │ │ │ │ │ - The result of the application will be reported in the │ │ │ │ │ - ATTENDEDTRANSFERSTATUS │ │ │ │ │ - channel variable: │ │ │ │ │ + Sets │ │ │ │ │ + RELOADSTATUS │ │ │ │ │ + to one of the following values: │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Transfer successfully queued. │ │ │ │ │ - Transfer failed. │ │ │ │ │ - Transfer not permitted. │ │ │ │ │ + │ │ │ │ │ + Specified module(s) reloaded successfully. │ │ │ │ │ + Some or all of the specified modules failed to reload. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Authenticate a user │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Password the user should know │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - maximum acceptable number of digits. Stops reading after │ │ │ │ │ - maxdigits have been entered (without requiring the user to press the │ │ │ │ │ - # │ │ │ │ │ - key). │ │ │ │ │ - Defaults to 0 - no limit - wait for the user press the │ │ │ │ │ - # │ │ │ │ │ - key. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Override the agent-pass prompt file. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Delete a family or keytree from the asterisk database. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application asks the caller to enter a given password in order to continue dialplan execution. │ │ │ │ │ │ │ │ │ │ - If the password begins with the │ │ │ │ │ - / │ │ │ │ │ - character, │ │ │ │ │ - it is interpreted as a file which contains a list of valid passwords, listed 1 password per line in the file. │ │ │ │ │ + This application will delete a │ │ │ │ │ + family │ │ │ │ │ + or │ │ │ │ │ + keytree │ │ │ │ │ + from the Asterisk database. │ │ │ │ │ │ │ │ │ │ - When using a database key, the value associated with the key can be anything. │ │ │ │ │ - Users have three attempts to authenticate before the channel is hung up. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - VMAuthenticate │ │ │ │ │ - DISA │ │ │ │ │ + DB_DELETE │ │ │ │ │ + DB │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - deprecated │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Encode and stream using 'ices'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ICES configuration file. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Streams to an icecast server using ices (available separately). │ │ │ │ │ - A configuration file must be supplied for ices (see contrib/asterisk-ices.xml). │ │ │ │ │ - │ │ │ │ │ - ICES version 2 client and server required. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Transfer caller to remote extension. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Requests the remote caller be transferred │ │ │ │ │ - to a given destination. If TECH (SIP, IAX2, etc) is used, only │ │ │ │ │ - an incoming call with the same channel technology will be transferred. │ │ │ │ │ - Note that for SIP, if you transfer before call is setup, a 302 redirect │ │ │ │ │ - SIP message will be returned to the caller. │ │ │ │ │ - │ │ │ │ │ - The result of the application will be reported in the │ │ │ │ │ - TRANSFERSTATUS │ │ │ │ │ - channel variable: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transfer succeeded. │ │ │ │ │ - Transfer failed. │ │ │ │ │ - Transfer unsupported by channel driver. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - No error. │ │ │ │ │ - SIP example - Error result code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say text to the user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Tell Asterisk to not maintain a CDR for this channel. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Connect to Festival, send the argument, get back the waveform, play it to the user, │ │ │ │ │ - allowing any given interrupt keys to immediately terminate and return the value, or │ │ │ │ │ - any │ │ │ │ │ - to allow any number back (useful in dialplan). │ │ │ │ │ + This application will tell Asterisk not to maintain a CDR for │ │ │ │ │ + the current channel. This does │ │ │ │ │ + NOT │ │ │ │ │ + mean that │ │ │ │ │ + information is not tracked; rather, if the channel is hung up no │ │ │ │ │ + CDRs will be created for that channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send arbitrary text to verbose output. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must be an integer value. If not specified, defaults to 0. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Output text message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sends an arbitrary text message to verbose output. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send arbitrary text to a selected log level. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Level must be one of │ │ │ │ │ - ERROR │ │ │ │ │ - , │ │ │ │ │ - WARNING │ │ │ │ │ - , │ │ │ │ │ - NOTICE │ │ │ │ │ - , │ │ │ │ │ - DEBUG │ │ │ │ │ - , │ │ │ │ │ - VERBOSE │ │ │ │ │ - , │ │ │ │ │ - DTMF │ │ │ │ │ - , or │ │ │ │ │ - the name of a custom dynamic logging level. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Output text message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sends an arbitrary text message to a selected log level. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - dahdi │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Flashes a DAHDI Trunk. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Performs a flash on a DAHDI trunk. This can be used to access features │ │ │ │ │ - provided on an incoming analogue circuit such as conference and call waiting. │ │ │ │ │ - Use with SendDTMF() to perform external transfers. │ │ │ │ │ + If a subsequent call to ResetCDR occurs, all non-finalized │ │ │ │ │ + CDRs created for the channel will be enabled. │ │ │ │ │ + │ │ │ │ │ + This application is deprecated. Please use the CDR_PROP │ │ │ │ │ + function to disable CDRs on a channel. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SendDTMF │ │ │ │ │ + ResetCDR │ │ │ │ │ + CDR_PROP │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - no │ │ │ │ │ - deprecated │ │ │ │ │ - app_stack (GoSub) │ │ │ │ │ - 16 │ │ │ │ │ - 21 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Macro Implementation. │ │ │ │ │ + │ │ │ │ │ + Resets the Call Data Record. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the macro │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + This application causes the Call Data Record to be reset. │ │ │ │ │ + Depending on the flags passed in, this can have several effects. │ │ │ │ │ + With no options, a reset does the following: │ │ │ │ │ │ │ │ │ │ - Executes a macro using the context macro- │ │ │ │ │ - name │ │ │ │ │ - , │ │ │ │ │ - jumping to the │ │ │ │ │ - s │ │ │ │ │ - extension of that context and executing each step, │ │ │ │ │ - then returning when the steps end. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The calling extension, context, and priority are stored in │ │ │ │ │ - MACRO_EXTEN │ │ │ │ │ - , │ │ │ │ │ - MACRO_CONTEXT │ │ │ │ │ - and │ │ │ │ │ - MACRO_PRIORITY │ │ │ │ │ - respectively. Arguments │ │ │ │ │ - become │ │ │ │ │ - ARG1 │ │ │ │ │ - , │ │ │ │ │ - ARG2 │ │ │ │ │ - , etc in the macro context. │ │ │ │ │ + 1. The │ │ │ │ │ + start │ │ │ │ │ + time is set to the current time. │ │ │ │ │ │ │ │ │ │ - If you Goto out of the Macro context, the Macro will terminate and control will be returned │ │ │ │ │ - at the location of the Goto. │ │ │ │ │ │ │ │ │ │ - If │ │ │ │ │ - MACRO_OFFSET │ │ │ │ │ - is set at termination, Macro will attempt to continue │ │ │ │ │ - at priority MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise. │ │ │ │ │ + 2. If the channel is answered, the │ │ │ │ │ + answer │ │ │ │ │ + time is set to the │ │ │ │ │ + current time. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Because of the way Macro is implemented (it executes the priorities contained within │ │ │ │ │ - it via sub-engine), and a fixed per-thread memory stack allowance, macros are limited to 7 levels │ │ │ │ │ - of nesting (macro calling macro calling macro, etc.); It may be possible that stack-intensive │ │ │ │ │ - applications in deeply nested macros could cause asterisk to crash earlier than this limit. │ │ │ │ │ - It is advised that if you need to deeply nest macro calls, that you use the Gosub application │ │ │ │ │ - (now allows arguments like a Macro) with explicit Return() calls instead. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Use of the application │ │ │ │ │ - WaitExten │ │ │ │ │ - within a macro will not function │ │ │ │ │ - as expected. Please use the │ │ │ │ │ - Read │ │ │ │ │ - application in order to read DTMF from a channel │ │ │ │ │ - currently executing a macro. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - MacroExit │ │ │ │ │ - Goto │ │ │ │ │ - Gosub │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conditional Macro implementation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - Executes macro defined in │ │ │ │ │ - macroiftrue │ │ │ │ │ - if │ │ │ │ │ - expr │ │ │ │ │ - is true (otherwise │ │ │ │ │ - macroiffalse │ │ │ │ │ - if provided) │ │ │ │ │ + 3. All variables are wiped from the CDR. Note that this step │ │ │ │ │ + can be prevented with the │ │ │ │ │ + v │ │ │ │ │ + option. │ │ │ │ │ │ │ │ │ │ - Arguments and return values as in application Macro() │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - GotoIf │ │ │ │ │ - GosubIf │ │ │ │ │ - IF │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Exclusive Macro Implementation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the macro │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - Executes macro defined in the context macro- │ │ │ │ │ - name │ │ │ │ │ - . │ │ │ │ │ - Only one call at a time may run the macro. (we'll wait if another call is busy │ │ │ │ │ - executing in the Macro) │ │ │ │ │ + On the other hand, if the │ │ │ │ │ + e │ │ │ │ │ + option is │ │ │ │ │ + specified, the effects of the NoCDR application will be lifted. CDRs │ │ │ │ │ + will be re-enabled for this channel. │ │ │ │ │ │ │ │ │ │ - Arguments and return values as in application Macro() │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Macro │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Exit from Macro. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Causes the currently running macro to exit as if it had │ │ │ │ │ - ended normally by running out of priorities to execute. │ │ │ │ │ - If used outside a macro, will likely cause unexpected behavior. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + e │ │ │ │ │ + option is deprecated. Please │ │ │ │ │ + use the CDR_PROP function instead. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Macro │ │ │ │ │ + ForkCDR │ │ │ │ │ + NoCDR │ │ │ │ │ + CDR_PROP │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Executes dialplan application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Application name and arguments of the dialplan application to execute. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Allows an arbitrary application to be invoked even when not │ │ │ │ │ - hard coded into the dialplan. If the underlying application │ │ │ │ │ - terminates the dialplan, or if the application cannot be found, │ │ │ │ │ - Exec will terminate the dialplan. │ │ │ │ │ - To invoke external applications, see the application System. │ │ │ │ │ - If you would like to catch any error instead, see TryExec. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Executes dialplan application, always returning. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Allows an arbitrary application to be invoked even when not │ │ │ │ │ - hard coded into the dialplan. To invoke external applications │ │ │ │ │ - see the application System. Always returns to the dialplan. │ │ │ │ │ - The channel variable TRYSTATUS will be set to one of: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If the application returned zero. │ │ │ │ │ - If the application returned non-zero. │ │ │ │ │ - If the application was not found or was not specified. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Executes dialplan application, conditionally. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - expr │ │ │ │ │ - is true, execute and return the │ │ │ │ │ - result of │ │ │ │ │ - appiftrue(args) │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - expr │ │ │ │ │ - is true, but │ │ │ │ │ - appiftrue │ │ │ │ │ - is not found, │ │ │ │ │ - then the application will return a non-zero value. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Wait for Ring Application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns │ │ │ │ │ - 0 │ │ │ │ │ - after waiting at least │ │ │ │ │ - timeout │ │ │ │ │ - seconds, │ │ │ │ │ - and only after the next ring has completed. Returns │ │ │ │ │ - 0 │ │ │ │ │ - on success or │ │ │ │ │ - -1 │ │ │ │ │ - on hangup. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ dahdi │ │ │ │ │ no │ │ │ │ │ extended │ │ │ │ │ app_confbridge │ │ │ │ │ 19 │ │ │ │ │ 21 │ │ │ │ │ @@ -12909,746 +11995,755 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_adsi │ │ │ │ │ deprecated │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Play an NBS local stream. │ │ │ │ │ + │ │ │ │ │ + Get ADSI CPE ID. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Executes nbscat to listen to the local NBS stream. │ │ │ │ │ - User can exit by pressing any key. │ │ │ │ │ + │ │ │ │ │ + Obtains and displays ADSI CPE ID and other information in order │ │ │ │ │ + to properly setup │ │ │ │ │ + dahdi.conf │ │ │ │ │ + for on-hook operations. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Send a Text Message on a channel. │ │ │ │ │ + │ │ │ │ │ + Say a noun in declined form in order to count things │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The number of things │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + File name stem for the noun that is the name of the things │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + Selects and plays the proper singular or plural form of a noun │ │ │ │ │ + when saying things such as "five calls". English has simple rules │ │ │ │ │ + for deciding when to say "call" and when to say "calls", but other │ │ │ │ │ + languages have complicated rules which would be extremely difficult │ │ │ │ │ + to implement in the Asterisk dialplan language. │ │ │ │ │ │ │ │ │ │ - Sends │ │ │ │ │ - text │ │ │ │ │ - to the current channel. │ │ │ │ │ + The correct sound file is selected by examining the │ │ │ │ │ + number │ │ │ │ │ + and adding the appropriate suffix │ │ │ │ │ + to │ │ │ │ │ + filename │ │ │ │ │ + . If the channel language is │ │ │ │ │ + English, then the suffix will be either empty or "s". If the channel │ │ │ │ │ + language is Russian or some other Slavic language, then the suffix │ │ │ │ │ + will be empty for nominative, "x1" for genative singular, and "x2" │ │ │ │ │ + for genative plural. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - current channel │ │ │ │ │ - could be the caller or callee depending │ │ │ │ │ - on the context in which this application is called. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The following variables can be set: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set and this channel supports enhanced messaging, this value will be │ │ │ │ │ - used as the │ │ │ │ │ - From │ │ │ │ │ - display name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set and this channel supports enhanced messaging, this value will be │ │ │ │ │ - used as the │ │ │ │ │ - To │ │ │ │ │ - display name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set and this channel supports enhanced messaging, this value will be │ │ │ │ │ - used as the message │ │ │ │ │ - Content-Type │ │ │ │ │ - . If not specified, the │ │ │ │ │ - default of │ │ │ │ │ - text/plain │ │ │ │ │ - will be used. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Warning: │ │ │ │ │ - Messages of types other than │ │ │ │ │ - text/* │ │ │ │ │ - cannot be sent via channel drivers that do not │ │ │ │ │ - support Enhanced Messaging. An attempt to do so will be ignored and will result │ │ │ │ │ - in the │ │ │ │ │ - SENDTEXTSTATUS │ │ │ │ │ - variable being set to │ │ │ │ │ - UNSUPPORTED │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set this value will be used as the message body and any text supplied │ │ │ │ │ - as a function parameter will be ignored. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Result of transmission will be stored in the following variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - No message sent. │ │ │ │ │ - Message body sent without attributes because the channel driver │ │ │ │ │ - doesn't support enhanced messaging. │ │ │ │ │ - The message was sent using enhanced messaging. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transmission succeeded. │ │ │ │ │ - Transmission failed. │ │ │ │ │ - Text transmission not supported by channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The text encoding and transmission method is completely at the │ │ │ │ │ - discretion of the channel driver. chan_pjsip will use in-dialog SIP MESSAGE │ │ │ │ │ - messages always. chan_sip will use T.140 via RTP if a text media type was │ │ │ │ │ - negotiated and in-dialog SIP MESSAGE messages otherwise. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Examples: │ │ │ │ │ - same => n,SendText(Your Text Here) │ │ │ │ │ - If the channel driver supports enhanced messaging (currently only chan_pjsip), │ │ │ │ │ - you can set additional variables: │ │ │ │ │ - same => n,Set(SENDTEXT_FROM_DISPLAYNAME=Really From Bob) │ │ │ │ │ - same => n,SendText(Your Text Here) │ │ │ │ │ - same => n,Set(SENDTEXT_CONTENT_TYPE=text/json) │ │ │ │ │ - same => n,SendText({"foo":a, "bar":23}) │ │ │ │ │ - same => n,Set(SENDTEXT_CONTENT_TYPE=text/json) │ │ │ │ │ - same => n,Set(SENDTEXT_BODY={"foo":a, "bar":23}) │ │ │ │ │ - same => n,SendText() │ │ │ │ │ + │ │ │ │ │ + Note that combining │ │ │ │ │ + filename │ │ │ │ │ + with │ │ │ │ │ + a suffix will not necessarily produce a correctly spelled plural │ │ │ │ │ + form. For example, SayCountedNoun(2,man) will play the sound file │ │ │ │ │ + "mans" rather than "men". This behavior is intentional. Since the │ │ │ │ │ + file name is never seen by the end user, there is no need to │ │ │ │ │ + implement complicated spelling rules. We simply record the word │ │ │ │ │ + "men" in the sound file named "mans". │ │ │ │ │ + │ │ │ │ │ + This application does not automatically answer and should be │ │ │ │ │ + preceeded by an application such as Answer() or Progress. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SendImage │ │ │ │ │ - SendURL │ │ │ │ │ - ReceiveText │ │ │ │ │ + SayCountedAdj │ │ │ │ │ + SayNumber │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.24.0 │ │ │ │ │ - 18.10.0 │ │ │ │ │ - 19.2.0 │ │ │ │ │ - │ │ │ │ │ - Receive a Text Message on a channel. │ │ │ │ │ + │ │ │ │ │ + Say a adjective in declined form in order to count things │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Time in seconds to wait for text. Default is 0 (forever). │ │ │ │ │ + │ │ │ │ │ + The number of things │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + File name stem for the adjective │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The gender of the noun modified, one of 'm', 'f', 'n', or 'c' │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Waits for │ │ │ │ │ - timeout │ │ │ │ │ - seconds on the current channel │ │ │ │ │ - to receive text. │ │ │ │ │ + Selects and plays the proper form of an adjective according to │ │ │ │ │ + the gender and of the noun which it modifies and the number of │ │ │ │ │ + objects named by the noun-verb combination which have been counted. │ │ │ │ │ + Used when saying things such as "5 new messages". The various │ │ │ │ │ + singular and plural forms of the adjective are selected by adding │ │ │ │ │ + suffixes to │ │ │ │ │ + filename │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - Result of transmission will be stored in the following variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The received text message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transmission succeeded. │ │ │ │ │ - Transmission failed or timed out. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - same => n,ReceiveText() │ │ │ │ │ - same => n,NoOp(${RECEIVETEXTMESSAGE}) │ │ │ │ │ + │ │ │ │ │ + If the channel language is English, then no suffix will ever │ │ │ │ │ + be added (since, in English, adjectives are not declined). If the │ │ │ │ │ + channel language is Russian or some other slavic language, then the │ │ │ │ │ + suffix will the specified │ │ │ │ │ + gender │ │ │ │ │ + for │ │ │ │ │ + nominative, and "x" for genative plural. (The genative singular is │ │ │ │ │ + not used when counting things.) For example, SayCountedAdj(1,new,f) │ │ │ │ │ + will play sound file "newa" (containing the word "novaya"), but │ │ │ │ │ + SayCountedAdj(5,new,f) will play sound file "newx" (containing the │ │ │ │ │ + word "novikh"). │ │ │ │ │ + │ │ │ │ │ + This application does not automatically answer and should be │ │ │ │ │ + preceeded by an application such as Answer(), Progress(), or │ │ │ │ │ + Proceeding(). │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SendText │ │ │ │ │ - SendImage │ │ │ │ │ - SendURL │ │ │ │ │ + SayCountedNoun │ │ │ │ │ + SayNumber │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Detects MF digits on a channel and saves them to a variable. │ │ │ │ │ + │ │ │ │ │ + Forks the current Call Data Record for this channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The input digits will be stored in the given │ │ │ │ │ - variable │ │ │ │ │ - name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of seconds to wait for all digits, if greater │ │ │ │ │ - than │ │ │ │ │ - 0 │ │ │ │ │ - . Can be floating point. Default │ │ │ │ │ - is no timeout. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Causes the Call Data Record engine to fork a new CDR starting │ │ │ │ │ + from the time the application is executed. The forked CDR will be │ │ │ │ │ + linked to the end of the CDRs associated with the channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CDR │ │ │ │ │ + NoCDR │ │ │ │ │ + ResetCDR │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Record to a file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is the format of the file type to be recorded (wav, gsm, etc). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is the number of seconds of silence to allow before returning. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is the maximum recording duration in seconds. If missing │ │ │ │ │ + or 0 there is no maximum. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Reads a ST, STP, ST2P, or ST3P-terminated string of MF digits from │ │ │ │ │ - the user in to the given │ │ │ │ │ - variable │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application does not automatically answer the channel and │ │ │ │ │ - should be preceded with │ │ │ │ │ - Answer │ │ │ │ │ - or │ │ │ │ │ - Progress │ │ │ │ │ - as needed. │ │ │ │ │ + If filename contains │ │ │ │ │ + %d │ │ │ │ │ + , these characters will be replaced with a number │ │ │ │ │ + incremented by one each time the file is recorded. │ │ │ │ │ + Use │ │ │ │ │ + core show file formats │ │ │ │ │ + to see the available formats on your system │ │ │ │ │ + User can press │ │ │ │ │ + # │ │ │ │ │ + to terminate the recording and continue to the next priority. │ │ │ │ │ + If the user hangs up during a recording, all data will be lost and the application will terminate. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the status of the read operation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Will be set to the final filename of the recording, without an extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the final status of the command │ │ │ │ │ + A terminating DTMF was received ('#' or '*', depending upon option 't') │ │ │ │ │ + The maximum silence occurred in the recording. │ │ │ │ │ + The line was not yet answered and the 's' option was specified. │ │ │ │ │ + The maximum length was reached. │ │ │ │ │ + The channel was hung up. │ │ │ │ │ + An unrecoverable error occurred, which resulted in a WARNING to the logs. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Read │ │ │ │ │ - SendMF │ │ │ │ │ - ReceiveSF │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Sends arbitrary MF digits on the current or specified channel. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send an arbitrary user-defined event to parties interested in a channel (AMI users and relevant res_stasis applications). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List of digits 0-9,*#ABC to send; w for a half-second pause, │ │ │ │ │ - also f or F for a flash-hook if the channel supports flash-hook, │ │ │ │ │ - h or H for 250 ms of 2600 Hz, │ │ │ │ │ - and W for a wink if the channel supports wink. │ │ │ │ │ - Key pulse and start digits are not included automatically. │ │ │ │ │ - * is used for KP, # for ST, A for STP, B for ST2P, and C for ST3P. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Amount of time to wait in ms between tones. (defaults to 50ms). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Duration of each numeric digit (defaults to 55ms). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Duration of KP digits (defaults to 120ms). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Duration of ST, STP, ST2P, and ST3P digits (defaults to 65ms). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel where digits will be played │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - It will send all digits or terminate if it encounters an error. │ │ │ │ │ + │ │ │ │ │ + Sends an arbitrary event to interested parties, with an optional │ │ │ │ │ + body │ │ │ │ │ + representing additional arguments. The │ │ │ │ │ + body │ │ │ │ │ + may be specified as │ │ │ │ │ + a │ │ │ │ │ + , │ │ │ │ │ + delimited list of key:value pairs. │ │ │ │ │ + │ │ │ │ │ + For AMI, each additional argument will be placed on a new line in │ │ │ │ │ + the event and the format of the event will be: │ │ │ │ │ + Event: UserEvent │ │ │ │ │ + UserEvent: <specified event name> │ │ │ │ │ + [body] │ │ │ │ │ + │ │ │ │ │ + If no │ │ │ │ │ + body │ │ │ │ │ + is specified, only Event and │ │ │ │ │ + UserEvent headers will be present. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + For res_stasis applications, the event will be provided as a JSON │ │ │ │ │ + blob with additional arguments appearing as keys in the object and the │ │ │ │ │ + eventname │ │ │ │ │ + under the │ │ │ │ │ + eventname │ │ │ │ │ + key. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ReceiveMF │ │ │ │ │ - SendSF │ │ │ │ │ - SendDTMF │ │ │ │ │ + UserEvent │ │ │ │ │ + UserEvent │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Play MF digit on a specific channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel name to send digit to. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The MF digit to play. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The duration, in milliseconds, of the digit to be played. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Plays an MF digit on the specified channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - deprecated │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Sends an image file. │ │ │ │ │ + │ │ │ │ │ + Interfaces with an external IVR application. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Path of the filename (image) to send. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Send an image file on a channel supporting it. │ │ │ │ │ │ │ │ │ │ - Result of transmission will be stored in │ │ │ │ │ - SENDIMAGESTATUS │ │ │ │ │ + Either forks a process to run given command or makes a socket to connect │ │ │ │ │ + to given host and starts a generator on the channel. The generator's play list │ │ │ │ │ + is controlled by the external application, which can add and clear entries via │ │ │ │ │ + simple commands issued over its stdout. The external application will receive │ │ │ │ │ + all DTMF events received on the channel, and notification if the channel is │ │ │ │ │ + hung up. The received on the channel, and notification if the channel is hung │ │ │ │ │ + up. The application will not be forcibly terminated when the channel is hung up. │ │ │ │ │ + For more information see │ │ │ │ │ + doc/AST.pdf │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transmission succeeded. │ │ │ │ │ - Transmission failed. │ │ │ │ │ - Image transmission not supported by channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - SendText │ │ │ │ │ - SendURL │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Generates a CEL User Defined Event. │ │ │ │ │ + │ │ │ │ │ + Says a specified time in a custom format. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Extra text to be included with the event. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + time, in seconds since Jan 1, 1970. May be negative. Defaults to now. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + timezone, see │ │ │ │ │ + /usr/share/zoneinfo │ │ │ │ │ + for a list. Defaults to machine default. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + a format the time is to be said in. See │ │ │ │ │ + voicemail.conf │ │ │ │ │ + . │ │ │ │ │ + Defaults to │ │ │ │ │ + ABdY "digits/at" IMp │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - A CEL event will be immediately generated by this channel, with the supplied name for a type. │ │ │ │ │ + │ │ │ │ │ + Uses some of the sound files stored in │ │ │ │ │ + /var/lib/asterisk/sounds │ │ │ │ │ + to construct a phrase │ │ │ │ │ + saying the specified date and/or time in the specified format. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + STRFTIME │ │ │ │ │ + STRPTIME │ │ │ │ │ + IFTIME │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Originate a call. │ │ │ │ │ + │ │ │ │ │ + Says a specified time in a custom format. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Channel technology and data for creating the outbound channel. │ │ │ │ │ - For example, SIP/1234. │ │ │ │ │ + │ │ │ │ │ + time, in seconds since Jan 1, 1970. May be negative. Defaults to now. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - This should be │ │ │ │ │ - app │ │ │ │ │ - or │ │ │ │ │ - exten │ │ │ │ │ - , depending on whether the outbound channel should be connected to an application or extension. │ │ │ │ │ + timezone, see │ │ │ │ │ + /usr/share/zoneinfo │ │ │ │ │ + for a list. Defaults to machine default. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If the type is │ │ │ │ │ - app │ │ │ │ │ - , then this is the application name. If the type is │ │ │ │ │ - exten │ │ │ │ │ - , then this is the context that the channel will be sent to. │ │ │ │ │ + a format the time is to be said in. See │ │ │ │ │ + voicemail.conf │ │ │ │ │ + . │ │ │ │ │ + Defaults to │ │ │ │ │ + ABdY "digits/at" IMp │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say the date and time in a specified format. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.20.0 │ │ │ │ │ + 18.6.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Wait (sleep) until the given condition is true. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If the type is │ │ │ │ │ - app │ │ │ │ │ - , then this is the data passed as arguments to the application. If the type is │ │ │ │ │ - exten │ │ │ │ │ - , then this is the extension that the channel will be sent to. │ │ │ │ │ + Specifies the character in the expression used to replace the │ │ │ │ │ + $ │ │ │ │ │ + character. This character should not be used anywhere in the expression itself. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If the type is │ │ │ │ │ - exten │ │ │ │ │ - , then this is the priority that the channel is sent to. If the type is │ │ │ │ │ - app │ │ │ │ │ - , then this parameter is ignored. │ │ │ │ │ + A modified logical expression with the │ │ │ │ │ + $ │ │ │ │ │ + characters replaced by │ │ │ │ │ + replacementchar │ │ │ │ │ + . This is necessary to pass the expression itself │ │ │ │ │ + into the application, rather than its initial evaluation. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Timeout in seconds. Default is 30 seconds. │ │ │ │ │ + │ │ │ │ │ + The maximum amount of time, in seconds, this application should wait for a condition │ │ │ │ │ + to become true before dialplan execution continues automatically to the next priority. │ │ │ │ │ + By default, there is no timeout. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The frequency, in seconds, of polling the condition, which can be adjusted depending │ │ │ │ │ + on how time-sensitive execution needs to be. By default, this is 0.05. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ - This application sets the following channel variable before exiting: │ │ │ │ │ + │ │ │ │ │ + Waits until │ │ │ │ │ + expression │ │ │ │ │ + evaluates to true, checking every │ │ │ │ │ + interval │ │ │ │ │ + seconds for up to │ │ │ │ │ + timeout │ │ │ │ │ + . Default │ │ │ │ │ + is evaluate │ │ │ │ │ + expression │ │ │ │ │ + every 50 milliseconds with no timeout. │ │ │ │ │ + │ │ │ │ │ + same => n,WaitForCondition(#,#["#{condition}"="1"],40,0.5) │ │ │ │ │ + │ │ │ │ │ + Sets │ │ │ │ │ + WAITFORCONDITIONSTATUS │ │ │ │ │ + to one of the following values: │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This indicates the result of the call origination. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - In practice, you should never see this value. Please report it to the issue tracker if you ever see it. │ │ │ │ │ + │ │ │ │ │ + Condition evaluated to true before timeout expired. │ │ │ │ │ + Invalid argument. │ │ │ │ │ + Timeout elapsed without condition evaluating to true. │ │ │ │ │ + Channel hung up before condition became true. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_agi │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Jump to label, saving return address. │ │ │ │ │ + │ │ │ │ │ + Start a while loop. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Jumps to the label specified, saving the return address. │ │ │ │ │ + │ │ │ │ │ + Start a While Loop. Execution will return to this point when │ │ │ │ │ + EndWhile() │ │ │ │ │ + is called until expr is no longer true. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - GosubIf │ │ │ │ │ - Macro │ │ │ │ │ - Goto │ │ │ │ │ - Return │ │ │ │ │ - StackPop │ │ │ │ │ + EndWhile │ │ │ │ │ + ExitWhile │ │ │ │ │ + ContinueWhile │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Conditionally jump to label, saving return address. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Continue at │ │ │ │ │ - labeliftrue │ │ │ │ │ - if the condition is true. │ │ │ │ │ - Takes the form similar to Goto() of [[context,]extension,]priority. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Continue at │ │ │ │ │ - labeliffalse │ │ │ │ │ - if the condition is false. │ │ │ │ │ - Takes the form similar to Goto() of [[context,]extension,]priority. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + End a while loop. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If the condition is true, then jump to labeliftrue. If false, jumps to │ │ │ │ │ - labeliffalse, if specified. In either case, a jump saves the return point │ │ │ │ │ - in the dialplan, to be returned to with a Return. │ │ │ │ │ + │ │ │ │ │ + Return to the previous called │ │ │ │ │ + While() │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Gosub │ │ │ │ │ - Return │ │ │ │ │ - MacroIf │ │ │ │ │ - IF │ │ │ │ │ - GotoIf │ │ │ │ │ - Goto │ │ │ │ │ + While │ │ │ │ │ + ExitWhile │ │ │ │ │ + ContinueWhile │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Return from gosub routine. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Return value. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + End a While loop. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Jumps to the last label on the stack, removing it. The return │ │ │ │ │ - value │ │ │ │ │ - , if │ │ │ │ │ - any, is saved in the channel variable │ │ │ │ │ - GOSUB_RETVAL │ │ │ │ │ - . │ │ │ │ │ + Exits a │ │ │ │ │ + While() │ │ │ │ │ + loop, whether or not the conditional has been satisfied. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Gosub │ │ │ │ │ - StackPop │ │ │ │ │ + While │ │ │ │ │ + EndWhile │ │ │ │ │ + ContinueWhile │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Remove one address from gosub stack. │ │ │ │ │ + │ │ │ │ │ + Restart a While loop. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Removes last label on the stack, discarding it. │ │ │ │ │ + Returns to the top of the while loop and re-evaluates the conditional. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Return │ │ │ │ │ - Gosub │ │ │ │ │ + While │ │ │ │ │ + EndWhile │ │ │ │ │ + ExitWhile │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Manage variables local to the gosub stack frame. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Generates a CEL User Defined Event. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Extra text to be included with the event. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Read and write a variable local to the gosub stack frame, once we Return() it will be lost │ │ │ │ │ - (or it will go back to whatever value it had before the Gosub()). │ │ │ │ │ + A CEL event will be immediately generated by this channel, with the supplied name for a type. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gosub │ │ │ │ │ - GosubIf │ │ │ │ │ - Return │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve variables hidden by the local gosub stack frame. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Generates a 1004 Hz test tone at 0dbm (mu-law). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + Generates a 1004 Hz test tone. │ │ │ │ │ │ │ │ │ │ - Read a variable │ │ │ │ │ - varname │ │ │ │ │ - hidden by │ │ │ │ │ - n │ │ │ │ │ - levels of gosub stack frames. Note that ${LOCAL_PEEK(0,foo)} │ │ │ │ │ - is the same as │ │ │ │ │ - foo │ │ │ │ │ - , since the value of │ │ │ │ │ - n │ │ │ │ │ - peeks under 0 levels of stack frames; in other words, 0 is the current level. If │ │ │ │ │ - n │ │ │ │ │ - exceeds the available number of stack frames, then an empty │ │ │ │ │ - string is returned. │ │ │ │ │ + By default, this application does not provide a Milliwatt test tone. It simply │ │ │ │ │ + plays a 1004 Hz tone, which is not suitable for performing a milliwatt test. │ │ │ │ │ + The │ │ │ │ │ + m │ │ │ │ │ + option should be used so that a real Milliwatt test tone │ │ │ │ │ + is provided. This will include a 1 second silent interval every 10 seconds. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Previous versions of this application generated a constant tone at 1000 Hz. If for │ │ │ │ │ + some reason you would prefer that behavior, supply the │ │ │ │ │ + o │ │ │ │ │ + option to get the │ │ │ │ │ + old behavior. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gosub │ │ │ │ │ - GosubIf │ │ │ │ │ - Return │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - View info about the location which called Gosub │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Directed extension call pickup. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specification of the pickup target. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Additional specifications of pickup targets. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + This application can pickup a specified ringing channel. The channel │ │ │ │ │ + to pickup can be specified in the following ways. │ │ │ │ │ │ │ │ │ │ - Read the calling │ │ │ │ │ - c │ │ │ │ │ - ontext, │ │ │ │ │ - e │ │ │ │ │ - xtension, │ │ │ │ │ - p │ │ │ │ │ - riority, or │ │ │ │ │ - l │ │ │ │ │ - abel, as specified by │ │ │ │ │ - which │ │ │ │ │ - , by going up │ │ │ │ │ - n │ │ │ │ │ - frames │ │ │ │ │ - in the Gosub stack. If │ │ │ │ │ - suppress │ │ │ │ │ - is true, then if the │ │ │ │ │ - number of available stack frames is exceeded, then no error message will be │ │ │ │ │ - printed. │ │ │ │ │ + 1) If no │ │ │ │ │ + extension │ │ │ │ │ + targets are specified, │ │ │ │ │ + the application will pickup a channel matching the pickup group of the │ │ │ │ │ + requesting channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Cause the channel to execute the specified dialplan subroutine. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Cause the channel to execute the specified dialplan subroutine, │ │ │ │ │ - returning to the dialplan with execution of a Return(). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - GoSub │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a variable local to the gosub stack frame is set due to a subroutine call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The LOCAL variable being set. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The variable name will always be enclosed with │ │ │ │ │ - LOCAL() │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The new value of the variable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - GoSub │ │ │ │ │ - gosub │ │ │ │ │ - LOCAL │ │ │ │ │ - LOCAL_PEEK │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Execute Interface Test Server. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - Perform test server function and write call report. Results stored in │ │ │ │ │ - /var/log/asterisk/testreports/<testid>-server.txt │ │ │ │ │ + 2) If the │ │ │ │ │ + extension │ │ │ │ │ + is specified with a │ │ │ │ │ + context │ │ │ │ │ + of the special string │ │ │ │ │ + PICKUPMARK │ │ │ │ │ + (for example 10@PICKUPMARK), the application │ │ │ │ │ + will pickup a channel which has defined the channel variable │ │ │ │ │ + PICKUPMARK │ │ │ │ │ + with the same value as │ │ │ │ │ + extension │ │ │ │ │ + (in this example, │ │ │ │ │ + 10 │ │ │ │ │ + ). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 3) If the │ │ │ │ │ + extension │ │ │ │ │ + is specified │ │ │ │ │ + with or without a │ │ │ │ │ + context │ │ │ │ │ + , the channel with a │ │ │ │ │ + matching │ │ │ │ │ + extension │ │ │ │ │ + and │ │ │ │ │ + context │ │ │ │ │ + will be picked up. If no │ │ │ │ │ + context │ │ │ │ │ + is specified, │ │ │ │ │ + the current context will be used. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + extension │ │ │ │ │ + is typically set on │ │ │ │ │ + matching channels by the dial application that created the channel. The │ │ │ │ │ + context │ │ │ │ │ + is set on matching channels by the │ │ │ │ │ + channel driver for the device. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - TestClient │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Execute Interface Test Client. │ │ │ │ │ + │ │ │ │ │ + Pickup a ringing channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - An ID to identify this test. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List of channel names or channel uniqueids to pickup if ringing. │ │ │ │ │ + For example, a channel name could be │ │ │ │ │ + SIP/bob │ │ │ │ │ + or │ │ │ │ │ + SIP/bob-00000000 │ │ │ │ │ + to find │ │ │ │ │ + SIP/bob-00000000 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Executes test client with given │ │ │ │ │ - testid │ │ │ │ │ - . Results stored in │ │ │ │ │ - /var/log/asterisk/testreports/<testid>-client.txt │ │ │ │ │ + Pickup a specified │ │ │ │ │ + channel │ │ │ │ │ + if ringing. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - TestServer │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Check channel availability │ │ │ │ │ │ │ │ │ │ @@ -13699,207 +12794,554 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ The cause code returned when requesting the channel │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Play a tone list. │ │ │ │ │ + │ │ │ │ │ + Background a file with talk detect. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Arg is either the tone name defined in the │ │ │ │ │ - indications.conf │ │ │ │ │ - configuration file, or a directly specified list of frequencies and durations. │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + 1000 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + 100 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + infinity │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + infinity │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Plays a tone list. Execution will continue with the next step in the dialplan │ │ │ │ │ - immediately while the tones continue to play. │ │ │ │ │ │ │ │ │ │ - See the sample │ │ │ │ │ - indications.conf │ │ │ │ │ - for a description of the │ │ │ │ │ - specification of a tonelist. │ │ │ │ │ + Plays back │ │ │ │ │ + filename │ │ │ │ │ + , waiting for interruption from a given digit (the digit │ │ │ │ │ + must start the beginning of a valid extension, or it will be ignored). During │ │ │ │ │ + the playback of the file, audio is monitored in the receive direction, and if │ │ │ │ │ + a period of non-silence which is greater than │ │ │ │ │ + min │ │ │ │ │ + ms yet less than │ │ │ │ │ + max │ │ │ │ │ + ms is followed by silence for at least │ │ │ │ │ + sil │ │ │ │ │ + ms, │ │ │ │ │ + which occurs during the first │ │ │ │ │ + analysistime │ │ │ │ │ + ms, then the audio playback is │ │ │ │ │ + aborted and processing jumps to the │ │ │ │ │ + talk │ │ │ │ │ + extension, if available. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - StopPlayTones │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stop playing a tone list. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stop playing a tone list, initiated by PlayTones(). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PlayTones │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + func_periodic_hook │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Read a variable. │ │ │ │ │ + │ │ │ │ │ + Record a call and mix the audio during the recording. Use of StopMixMonitor is required │ │ │ │ │ + to guarantee the audio file is available for processing during dialplan execution. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The input digits will be stored in the given │ │ │ │ │ - variable │ │ │ │ │ - name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - file(s) to play before reading digits or tone with option i │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + filename │ │ │ │ │ + is an absolute path, uses that path, otherwise │ │ │ │ │ + creates the file in the configured monitoring directory from │ │ │ │ │ + asterisk.conf. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum acceptable number of digits. Stops reading after │ │ │ │ │ - maxdigits │ │ │ │ │ - have been entered (without │ │ │ │ │ - requiring the user to press the │ │ │ │ │ - # │ │ │ │ │ - key). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Defaults to │ │ │ │ │ - 0 │ │ │ │ │ - - no limit - wait for the │ │ │ │ │ - user press the │ │ │ │ │ - # │ │ │ │ │ - key. Any value below │ │ │ │ │ - 0 │ │ │ │ │ - means the same. Max accepted value is │ │ │ │ │ - 255 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Will be executed when the recording is over. │ │ │ │ │ │ │ │ │ │ - If greater than │ │ │ │ │ - 1 │ │ │ │ │ - , that many │ │ │ │ │ - attempts │ │ │ │ │ - will be made in the │ │ │ │ │ - event no data is entered. │ │ │ │ │ + Any strings matching │ │ │ │ │ + ^{X} │ │ │ │ │ + will be unescaped to │ │ │ │ │ + X │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ + All variables will be evaluated at the time MixMonitor is called. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Do not use untrusted strings such as │ │ │ │ │ + CALLERID(num) │ │ │ │ │ + or │ │ │ │ │ + CALLERID(name) │ │ │ │ │ + as part of the command parameters. You │ │ │ │ │ + risk a command injection attack executing arbitrary commands if the untrusted │ │ │ │ │ + strings aren't filtered to remove dangerous characters. See function │ │ │ │ │ + FILTER() │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Records the audio on the current channel to the specified file. │ │ │ │ │ + This application does not automatically answer and should be preceeded by │ │ │ │ │ + an application such as Answer or Progress(). │ │ │ │ │ + │ │ │ │ │ + MixMonitor runs as an audiohook. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - The number of seconds to wait for a digit response. If greater │ │ │ │ │ - than │ │ │ │ │ - 0 │ │ │ │ │ - , that value will override the default timeout. │ │ │ │ │ - Can be floating point. │ │ │ │ │ + If a filename passed to MixMonitor ends with │ │ │ │ │ + .wav49 │ │ │ │ │ + , Asterisk will silently convert the extension to │ │ │ │ │ + .WAV │ │ │ │ │ + for legacy reasons. │ │ │ │ │ + MIXMONITOR_FILENAME │ │ │ │ │ + will contain the actual filename that Asterisk is writing to, not necessarily the │ │ │ │ │ + value that was passed in. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Will contain the filename used to record. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Do not use untrusted strings such as │ │ │ │ │ + CALLERID(num) │ │ │ │ │ + or │ │ │ │ │ + CALLERID(name) │ │ │ │ │ + as part of ANY of the application's │ │ │ │ │ + parameters. You risk a command injection attack executing arbitrary commands │ │ │ │ │ + if the untrusted strings aren't filtered to remove dangerous characters. See │ │ │ │ │ + function │ │ │ │ │ + FILTER() │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Monitor │ │ │ │ │ + StopMixMonitor │ │ │ │ │ + PauseMonitor │ │ │ │ │ + UnpauseMonitor │ │ │ │ │ + AUDIOHOOK_INHERIT │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stop recording a call through MixMonitor, and free the recording's file handle. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If a valid ID is provided, then this command will stop only that specific │ │ │ │ │ + MixMonitor. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Reads a #-terminated string of digits a certain number of times from the │ │ │ │ │ - user in to the given │ │ │ │ │ - variable │ │ │ │ │ - . │ │ │ │ │ + Stops the audio recording that was started with a call to │ │ │ │ │ + MixMonitor() │ │ │ │ │ + on the current channel. │ │ │ │ │ │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is the status of the read operation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SendDTMF │ │ │ │ │ + MixMonitor │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Provide support for receiving alarm reports from a burglar or fire alarm panel. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Mute / unMute a Mixmonitor recording. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Used to specify the channel to mute. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Which part of the recording to mute: read, write or both (from channel, to channel or both channels). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Turn mute on or off : 1 to turn on, 0 to turn off. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action may be used to mute a MixMonitor recording. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Record a call and mix the audio during the recording. Use of StopMixMonitor is required │ │ │ │ │ + to guarantee the audio file is available for processing during dialplan execution. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Used to specify the channel to record. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is the name of the file created in the monitor spool directory. │ │ │ │ │ + Defaults to the same name as the channel (with slashes replaced with dashes). │ │ │ │ │ + This argument is optional if you specify to record unidirectional audio with │ │ │ │ │ + either the r(filename) or t(filename) options in the options field. If │ │ │ │ │ + neither MIXMONITOR_FILENAME or this parameter is set, the mixed stream won't │ │ │ │ │ + be recorded. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Options that apply to the MixMonitor in the same way as they │ │ │ │ │ + would apply if invoked from the MixMonitor application. For a list of │ │ │ │ │ + available options, see the documentation for the mixmonitor application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Will be executed when the recording is over. │ │ │ │ │ + Any strings matching │ │ │ │ │ + ^{X} │ │ │ │ │ + will be unescaped to │ │ │ │ │ + X │ │ │ │ │ + . │ │ │ │ │ + All variables will be evaluated at the time MixMonitor is called. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Do not use untrusted strings such as │ │ │ │ │ + CALLERID(num) │ │ │ │ │ + or │ │ │ │ │ + CALLERID(name) │ │ │ │ │ + as part of the command parameters. You │ │ │ │ │ + risk a command injection attack executing arbitrary commands if the untrusted │ │ │ │ │ + strings aren't filtered to remove dangerous characters. See function │ │ │ │ │ + FILTER() │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action records the audio on the current channel to the specified file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Will contain the filename used to record the mixed stream. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stop recording a call through MixMonitor, and free the recording's file handle. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the channel monitored. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If a valid ID is provided, then this command will stop only that specific │ │ │ │ │ + MixMonitor. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application should be called whenever there is an alarm panel calling in to dump its events. │ │ │ │ │ - The application will handshake with the alarm panel, and receive events, validate them, handshake them, │ │ │ │ │ - and store them until the panel hangs up. Once the panel hangs up, the application will run the system │ │ │ │ │ - command specified by the eventcmd setting in │ │ │ │ │ - alarmreceiver.conf │ │ │ │ │ - and pipe the │ │ │ │ │ - events to the standard input of the application. │ │ │ │ │ - The configuration file also contains settings for DTMF timing, and for the loudness of the │ │ │ │ │ - acknowledgement tones. │ │ │ │ │ + This action stops the audio recording that was started with the │ │ │ │ │ + MixMonitor │ │ │ │ │ + action on the current channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Few Ademco DTMF signalling formats are detected automatically: Contact ID, Express 4+1, │ │ │ │ │ - Express 4+2, High Speed and Super Fast. │ │ │ │ │ - │ │ │ │ │ - The application is affected by the following variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve data pertaining to specific instances of MixMonitor on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The unique ID of the MixMonitor instance. The unique ID can be retrieved through the channel │ │ │ │ │ + variable used as an argument to the │ │ │ │ │ + i │ │ │ │ │ + option to MixMonitor. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The piece of data to retrieve from the MixMonitor. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when monitoring has started on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MixMonitorStop │ │ │ │ │ + MixMonitor │ │ │ │ │ + MixMonitor │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when monitoring has stopped on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MixMonitorStart │ │ │ │ │ + StopMixMonitor │ │ │ │ │ + StopMixMonitor │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when monitoring is muted or unmuted on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Which part of the recording was muted or unmuted: read, write or both │ │ │ │ │ + (from channel, to channel or both directions). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the monitoring was muted or unmuted: 1 when muted, 0 when unmuted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MixMonitorMute │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + spandsp │ │ │ │ │ + res_fax │ │ │ │ │ + no │ │ │ │ │ + deprecated │ │ │ │ │ + res_fax │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send a Fax │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Filename of TIFF file to fax │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Makes the application behave as the answering machine │ │ │ │ │ + (Default behavior is as calling machine) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send a given TIFF file to the channel as a FAX. │ │ │ │ │ + This application sets the following channel variables: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Maximum call time, in milliseconds. │ │ │ │ │ - If set, this variable causes application to exit after the specified time. │ │ │ │ │ + │ │ │ │ │ + To identify itself to the remote end │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Maximum number of retries per call. │ │ │ │ │ - If set, this variable causes application to exit after the specified number of messages. │ │ │ │ │ + │ │ │ │ │ + To generate a header line on each page │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Cause of failure │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The CSID of the remote side │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of pages sent │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transmission rate │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Resolution of sent fax │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Receive a Fax │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Filename of TIFF file save incoming fax │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Makes the application behave as the calling machine │ │ │ │ │ + (Default behavior is as answering machine) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Receives a FAX from the channel into the given filename │ │ │ │ │ + overwriting the file if it already exists. │ │ │ │ │ + File created will be in TIFF format. │ │ │ │ │ + This application sets the following channel variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + To identify itself to the remote end │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + To generate a header line on each page │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Cause of failure │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The CSID of the remote side │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of pages sent │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transmission rate │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Resolution of sent fax │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - alarmreceiver.conf │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Provide directory of voicemail extensions. │ │ │ │ │ │ │ │ │ │ @@ -14028,14 +13470,446 @@ │ │ │ │ │ User selected a user to call from the directory │ │ │ │ │ User exited with '#' during selection │ │ │ │ │ The application failed │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Login an agent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Login an agent to the system. Any agent authentication is assumed to │ │ │ │ │ + already be done by dialplan. While logged in, the agent can receive calls │ │ │ │ │ + and will hear the sound file specified by the config option custom_beep │ │ │ │ │ + when a new call comes in for the agent. Login failures will continue in │ │ │ │ │ + the dialplan with │ │ │ │ │ + AGENT_STATUS │ │ │ │ │ + set. │ │ │ │ │ + │ │ │ │ │ + Before logging in, you can setup on the real agent channel the │ │ │ │ │ + CHANNEL(dtmf_features) an agent will have when talking to a caller │ │ │ │ │ + and you can setup on the channel running this application the │ │ │ │ │ + CONNECTEDLINE() information the agent will see while waiting for a │ │ │ │ │ + caller. │ │ │ │ │ + │ │ │ │ │ + AGENT_STATUS │ │ │ │ │ + enumeration values: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The specified agent is invalid. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The agent is already logged in. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The Agent: │ │ │ │ │ + AgentId │ │ │ │ │ + device state is │ │ │ │ │ + available to monitor the status of the agent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Authenticate │ │ │ │ │ + Queue │ │ │ │ │ + AddQueueMember │ │ │ │ │ + RemoveQueueMember │ │ │ │ │ + PauseQueueMember │ │ │ │ │ + UnpauseQueueMember │ │ │ │ │ + AGENT │ │ │ │ │ + CHANNEL │ │ │ │ │ + CONNECTEDLINE │ │ │ │ │ + agents.conf │ │ │ │ │ + queues.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Request an agent to connect with the channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Request an agent to connect with the channel. Failure to find, │ │ │ │ │ + alert the agent, or acknowledge the call will continue in the dialplan │ │ │ │ │ + with │ │ │ │ │ + AGENT_STATUS │ │ │ │ │ + set. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AGENT_STATUS │ │ │ │ │ + enumeration values: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The specified agent is invalid. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The agent is not available. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The agent is on another call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The agent did not connect with the │ │ │ │ │ + call. The agent most likely did not acknowledge the call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Alerting the agent failed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AgentLogin │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets information about an Agent │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The valid items to retrieve are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + (default) The status of the agent (LOGGEDIN | LOGGEDOUT) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Deprecated. The dialplan handles any agent authentication. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the agent │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MusicOnHold class │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the active channel for the Agent (AgentLogin) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The untruncated name of the active channel for the Agent (AgentLogin) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Lists agents and their status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Will list info about all defined agents. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Agents │ │ │ │ │ + AgentsComplete │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Response event in a series to the Agents AMI action containing │ │ │ │ │ + information about a defined agent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Agent ID of the agent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + User friendly name of the agent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Current status of the agent. │ │ │ │ │ + The valid values are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + BRIDGEPEER │ │ │ │ │ + value on agent channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Present if Status value is │ │ │ │ │ + AGENT_ONCALL │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Epoche time when the agent started talking with the caller. │ │ │ │ │ + │ │ │ │ │ + Present if Status value is │ │ │ │ │ + AGENT_ONCALL │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Epoche time when the agent logged in. │ │ │ │ │ + │ │ │ │ │ + Present if Status value is │ │ │ │ │ + AGENT_IDLE │ │ │ │ │ + or │ │ │ │ │ + AGENT_ONCALL │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The channel snapshot is present if the Status value is │ │ │ │ │ + AGENT_IDLE │ │ │ │ │ + or │ │ │ │ │ + AGENT_ONCALL │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Agents │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Final response event in a series of events to the Agents AMI action. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Agents │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets an agent as no longer logged in. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Agent ID of the agent to log off. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set to │ │ │ │ │ + true │ │ │ │ │ + to not hangup existing calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets an agent as no longer logged in. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Agent pool applications │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Option changes take effect on agent login or after an agent │ │ │ │ │ + disconnects from a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unused, but reserved. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configure an agent for the pool. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Enable to require the agent to acknowledge a call. │ │ │ │ │ + │ │ │ │ │ + Enable to require the agent to give a DTMF acknowledgement │ │ │ │ │ + when the agent receives a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The option is overridden by │ │ │ │ │ + AGENTACKCALL │ │ │ │ │ + on agent login. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + DTMF key sequence the agent uses to acknowledge a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The option is overridden by │ │ │ │ │ + AGENTACCEPTDTMF │ │ │ │ │ + on agent login. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The option is ignored unless the ackcall option is enabled. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Time the agent has to acknowledge a call before being logged off. │ │ │ │ │ + │ │ │ │ │ + Set how many seconds a call for the agent has to wait for the │ │ │ │ │ + agent to acknowledge the call before the agent is automatically │ │ │ │ │ + logged off. If set to zero then the call will wait forever for │ │ │ │ │ + the agent to acknowledge. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The option is overridden by │ │ │ │ │ + AGENTAUTOLOGOFF │ │ │ │ │ + on agent login. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The option is ignored unless the ackcall option is enabled. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Minimum time the agent has between calls. │ │ │ │ │ + │ │ │ │ │ + Set the minimum amount of time in milliseconds after │ │ │ │ │ + disconnecting a call before the agent can receive a new call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The option is overridden by │ │ │ │ │ + AGENTWRAPUPTIME │ │ │ │ │ + on agent login. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Music on hold class the agent listens to between calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Enable to automatically record calls the agent takes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Enable recording calls the agent takes automatically by │ │ │ │ │ + invoking the automixmon DTMF feature when the agent connects │ │ │ │ │ + to a caller. See │ │ │ │ │ + features.conf.sample │ │ │ │ │ + for information about │ │ │ │ │ + the automixmon feature. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sound file played to alert the agent when a call is present. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A friendly name for the agent used in log messages. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transfer caller to remote extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Requests the remote caller be transferred │ │ │ │ │ + to a given destination. If TECH (SIP, IAX2, etc) is used, only │ │ │ │ │ + an incoming call with the same channel technology will be transferred. │ │ │ │ │ + Note that for SIP, if you transfer before call is setup, a 302 redirect │ │ │ │ │ + SIP message will be returned to the caller. │ │ │ │ │ + │ │ │ │ │ + The result of the application will be reported in the │ │ │ │ │ + TRANSFERSTATUS │ │ │ │ │ + channel variable: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transfer succeeded. │ │ │ │ │ + Transfer failed. │ │ │ │ │ + Transfer unsupported by channel driver. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + No error. │ │ │ │ │ + SIP example - Error result code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Echo media, DTMF back to the calling party │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Echos back any media or DTMF frames read from the calling │ │ │ │ │ + channel back to itself. This will not echo CONTROL, MODEM, or NULL │ │ │ │ │ + frames. Note: If '#' detected application exits. │ │ │ │ │ + This application does not automatically answer and should be │ │ │ │ │ + preceeded by an application such as Answer() or Progress(). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + deprecated │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Encode and stream using 'ices'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ICES configuration file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Streams to an icecast server using ices (available separately). │ │ │ │ │ + A configuration file must be supplied for ices (see contrib/asterisk-ices.xml). │ │ │ │ │ + │ │ │ │ │ + ICES version 2 client and server required. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Find-Me/Follow-Me application. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -14113,1310 +13987,1432 @@ │ │ │ │ │ followme.conf │ │ │ │ │ , execution will be returned │ │ │ │ │ to the dialplan and call execution will continue at the next priority. │ │ │ │ │ │ │ │ │ │ Returns -1 on hangup. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hangs up the requested channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hangs up the requested channel. If there are no channels to │ │ │ │ │ - hangup, the application will report it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - bridge_holding │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Put a call into the holding bridge. │ │ │ │ │ + │ │ │ │ │ + Communicates with SMS service centres and SMS capable analogue phones. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Name of the holding bridge to join. This is a handle for │ │ │ │ │ - BridgeWait │ │ │ │ │ - only and does not affect the actual bridges that are created. If not provided, │ │ │ │ │ - the reserved name │ │ │ │ │ - default │ │ │ │ │ - will be used. │ │ │ │ │ + The name of the queue used in │ │ │ │ │ + /var/spool/asterisk/sms │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Defines the channel's purpose for entering the holding bridge. Values are case sensitive. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel will enter the holding bridge to be placed on hold │ │ │ │ │ - until it is removed from the bridge for some reason. (default) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel will enter the holding bridge to make announcements │ │ │ │ │ - to channels that are currently in the holding bridge. While an │ │ │ │ │ - announcer is present, holding for the participants will be │ │ │ │ │ - suspended. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application places the incoming channel into a holding bridge. │ │ │ │ │ - The channel will then wait in the holding bridge until some event occurs │ │ │ │ │ - which removes it from the holding bridge. │ │ │ │ │ + SMS handles exchange of SMS data with a call to/from SMS capable phone or SMS PSTN service center. │ │ │ │ │ + Can send and/or receive SMS messages. Works to ETSI ES 201 912; compatible with BT SMS PSTN service in │ │ │ │ │ + UK and Telecom Italia in Italy. │ │ │ │ │ + │ │ │ │ │ + Typical usage is to use to handle calls from the SMS service centre CLI, or to set up a call using │ │ │ │ │ + outgoing │ │ │ │ │ + or manager interface to connect service centre to SMS(). │ │ │ │ │ + │ │ │ │ │ + "Messages are processed as per text file message queues. smsq (a separate software) is a command to │ │ │ │ │ + generate message queues and send messages. │ │ │ │ │ │ │ │ │ │ - This application will answer calls which haven't already │ │ │ │ │ - been answered. │ │ │ │ │ + The protocol has tight delay bounds. Please use short frames and disable/keep short the │ │ │ │ │ + jitter buffer on the ATA to make sure that respones (ACK etc.) are received in time. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + deprecated │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play an NBS local stream. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes nbscat to listen to the local NBS stream. │ │ │ │ │ + User can exit by pressing any key. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Play a file. │ │ │ │ │ + │ │ │ │ │ + Require phone number to be entered, if no CallerID sent │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Total tries caller is allowed to input a callerid. Defaults to │ │ │ │ │ + 3 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Minimum allowable digits in the input callerid number. Defaults to │ │ │ │ │ + 10 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Comma separated list of options │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Position reserved for options. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Context to check the given callerid against patterns. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Plays back given filenames (do not put extension of wav/alaw etc). │ │ │ │ │ - The Playback application answers the channel if no options are specified. │ │ │ │ │ - If the file is non-existent it will fail. │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ + │ │ │ │ │ + If no Caller*ID is sent, PrivacyManager answers the channel and asks │ │ │ │ │ + the caller to enter their phone number. The caller is given │ │ │ │ │ + maxretries │ │ │ │ │ + attempts to do so. The application does │ │ │ │ │ + nothing │ │ │ │ │ + if Caller*ID was received on the channel. │ │ │ │ │ + │ │ │ │ │ + The application sets the following channel variable upon completion: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The status of the playback attempt as a text string. │ │ │ │ │ + │ │ │ │ │ + The status of the privacy manager's attempt to collect a phone number from the user. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - See Also: Background (application) -- for playing sound files that are interruptible │ │ │ │ │ - WaitExten (application) -- wait for digits from caller, optionally play music on hold │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Background │ │ │ │ │ - WaitExten │ │ │ │ │ - ControlPlayback │ │ │ │ │ - stream file │ │ │ │ │ - control stream file │ │ │ │ │ - ControlPlayback │ │ │ │ │ + Zapateller │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_agi │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Echo media, up to 'N' streams of a type, and DTMF back to the calling party │ │ │ │ │ + │ │ │ │ │ + Jump to label, saving return address. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The number of streams of a type to echo back. If '0' is specified then │ │ │ │ │ - all streams of a type are removed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The media type of the stream(s) to add or remove (in the case of "num" │ │ │ │ │ - being '0'). This can be set to either "audio" or "video" (default). If "num" │ │ │ │ │ - is empty (i.e. not specified) then this parameter is ignored. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - If a "num" (the number of streams) is not given then this simply echos │ │ │ │ │ - back any media or DTMF frames (note, however if '#' is detected then the │ │ │ │ │ - application exits) read from the calling channel back to itself. This means │ │ │ │ │ - for any relevant frame read from a particular stream it is written back out │ │ │ │ │ - to the associated write stream in a one to one fashion. │ │ │ │ │ - However if a "num" is specified, and if the calling channel allows it │ │ │ │ │ - (a new offer is made requesting the allowance of additional streams) then any │ │ │ │ │ - any media received, like before, is echoed back onto each stream. However, in │ │ │ │ │ - this case a relevant frame received on a stream of the given "type" is also │ │ │ │ │ - echoed back out to the other streams of that same type. It should be noted that │ │ │ │ │ - when operating in this mode only the first stream found of the given "type" is │ │ │ │ │ - allowed from the original offer. And this first stream found is also the only │ │ │ │ │ - stream of that "type" granted read (send/receive) capabilities in the new offer │ │ │ │ │ - whereas the additional ones are set to receive only. │ │ │ │ │ - │ │ │ │ │ - This does not echo CONTROL, MODEM, or NULL frames. │ │ │ │ │ - │ │ │ │ │ + Jumps to the label specified, saving the return address. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + GosubIf │ │ │ │ │ + Macro │ │ │ │ │ + Goto │ │ │ │ │ + Return │ │ │ │ │ + StackPop │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Attempt to connect to another device or endpoint and bridge the call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Conditionally jump to label, saving return address. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Specification of the device(s) to dial. These must be in the format of │ │ │ │ │ - Technology/Resource │ │ │ │ │ - , where │ │ │ │ │ - Technology │ │ │ │ │ - represents a particular channel driver, and │ │ │ │ │ - Resource │ │ │ │ │ - represents a resource available to that particular channel driver. │ │ │ │ │ + Continue at │ │ │ │ │ + labeliftrue │ │ │ │ │ + if the condition is true. │ │ │ │ │ + Takes the form similar to Goto() of [[context,]extension,]priority. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Optional extra devices to dial in parallel │ │ │ │ │ - If you need more than one enter them as │ │ │ │ │ - Technology2/Resource2&Technology3/Resource3&..... │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Continue at │ │ │ │ │ + labeliffalse │ │ │ │ │ + if the condition is false. │ │ │ │ │ + Takes the form similar to Goto() of [[context,]extension,]priority. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Specifies the number of seconds we attempt to dial the specified devices. │ │ │ │ │ - If not specified, this defaults to 136 years. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the condition is true, then jump to labeliftrue. If false, jumps to │ │ │ │ │ + labeliffalse, if specified. In either case, a jump saves the return point │ │ │ │ │ + in the dialplan, to be returned to with a Return. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gosub │ │ │ │ │ + Return │ │ │ │ │ + MacroIf │ │ │ │ │ + IF │ │ │ │ │ + GotoIf │ │ │ │ │ + Goto │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Return from gosub routine. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Return value. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jumps to the last label on the stack, removing it. The return │ │ │ │ │ + value │ │ │ │ │ + , if │ │ │ │ │ + any, is saved in the channel variable │ │ │ │ │ + GOSUB_RETVAL │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gosub │ │ │ │ │ + StackPop │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Remove one address from gosub stack. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Removes last label on the stack, discarding it. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Return │ │ │ │ │ + Gosub │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Manage variables local to the gosub stack frame. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Read and write a variable local to the gosub stack frame, once we Return() it will be lost │ │ │ │ │ + (or it will go back to whatever value it had before the Gosub()). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gosub │ │ │ │ │ + GosubIf │ │ │ │ │ + Return │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve variables hidden by the local gosub stack frame. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Read a variable │ │ │ │ │ + varname │ │ │ │ │ + hidden by │ │ │ │ │ + n │ │ │ │ │ + levels of gosub stack frames. Note that ${LOCAL_PEEK(0,foo)} │ │ │ │ │ + is the same as │ │ │ │ │ + foo │ │ │ │ │ + , since the value of │ │ │ │ │ + n │ │ │ │ │ + peeks under 0 levels of stack frames; in other words, 0 is the current level. If │ │ │ │ │ + n │ │ │ │ │ + exceeds the available number of stack frames, then an empty │ │ │ │ │ + string is returned. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gosub │ │ │ │ │ + GosubIf │ │ │ │ │ + Return │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + View info about the location which called Gosub │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Read the calling │ │ │ │ │ + c │ │ │ │ │ + ontext, │ │ │ │ │ + e │ │ │ │ │ + xtension, │ │ │ │ │ + p │ │ │ │ │ + riority, or │ │ │ │ │ + l │ │ │ │ │ + abel, as specified by │ │ │ │ │ + which │ │ │ │ │ + , by going up │ │ │ │ │ + n │ │ │ │ │ + frames │ │ │ │ │ + in the Gosub stack. If │ │ │ │ │ + suppress │ │ │ │ │ + is true, then if the │ │ │ │ │ + number of available stack frames is exceeded, then no error message will be │ │ │ │ │ + printed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Cause the channel to execute the specified dialplan subroutine. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Cause the channel to execute the specified dialplan subroutine, │ │ │ │ │ + returning to the dialplan with execution of a Return(). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + GoSub │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a variable local to the gosub stack frame is set due to a subroutine call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The LOCAL variable being set. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If │ │ │ │ │ - x │ │ │ │ │ - is not provided, force the CallerID sent on a call-forward or │ │ │ │ │ - deflection to the dialplan extension of this │ │ │ │ │ - Dial() │ │ │ │ │ - using a dialplan │ │ │ │ │ - hint │ │ │ │ │ - . │ │ │ │ │ - For example, some PSTNs do not allow CallerID to be set to anything │ │ │ │ │ - other than the numbers assigned to you. │ │ │ │ │ - If │ │ │ │ │ - x │ │ │ │ │ - is provided, force the CallerID sent to │ │ │ │ │ - x │ │ │ │ │ - . │ │ │ │ │ + The variable name will always be enclosed with │ │ │ │ │ + LOCAL() │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The new value of the variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + GoSub │ │ │ │ │ + gosub │ │ │ │ │ + LOCAL │ │ │ │ │ + LOCAL_PEEK │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Virtual Dictation Machine. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Start dictation machine using optional │ │ │ │ │ + base_dir │ │ │ │ │ + for files. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Wait for Ring Application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns │ │ │ │ │ + 0 │ │ │ │ │ + after waiting at least │ │ │ │ │ + timeout │ │ │ │ │ + seconds, │ │ │ │ │ + and only after the next ring has completed. Returns │ │ │ │ │ + 0 │ │ │ │ │ + on success or │ │ │ │ │ + -1 │ │ │ │ │ + on hangup. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Blind transfer channel(s) to the extension and context provided │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specify extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Optionally specify a context. │ │ │ │ │ + By default, Asterisk will use the caller channel context. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Redirect all channels currently bridged to the caller channel to the │ │ │ │ │ + specified destination. │ │ │ │ │ + │ │ │ │ │ + The result of the application will be reported in the │ │ │ │ │ + BLINDTRANSFERSTATUS │ │ │ │ │ + channel variable: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transfer succeeded. │ │ │ │ │ + Transfer failed. │ │ │ │ │ + Transfer invalid. │ │ │ │ │ + Transfer not permitted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Receive Mini-Voicemail and forward via e-mail. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Voicemail username │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Voicemail domain │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application is part of the Mini-Voicemail system, configured in │ │ │ │ │ + minivm.conf │ │ │ │ │ + │ │ │ │ │ + MiniVM records audio file in configured format and forwards message to e-mail and pager. │ │ │ │ │ + If there's no user account for that address, a temporary account will be used with default options. │ │ │ │ │ + │ │ │ │ │ + The recorded file name and path will be stored in │ │ │ │ │ + MVM_FILENAME │ │ │ │ │ + and the duration │ │ │ │ │ + of the message will be stored in │ │ │ │ │ + MVM_DURATION │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the caller hangs up after the recording, the only way to send the message and clean up is to │ │ │ │ │ + execute in the │ │ │ │ │ + h │ │ │ │ │ + extension. The application will exit if any of the following DTMF digits │ │ │ │ │ + are received and the requested extension exist in the current context. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the status of the record operation │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play Mini-Voicemail prompts. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Voicemail username │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Voicemail domain │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application is part of the Mini-Voicemail system, configured in minivm.conf. │ │ │ │ │ + MinivmGreet() plays default prompts or user specific prompts for an account. │ │ │ │ │ + Busy and unavailable messages can be choosen, but will be overridden if a temporary │ │ │ │ │ + message exists for the account. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the status of the greeting playback. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Notify voicemail owner about new messages. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Voicemail username │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Voicemail domain │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application is part of the Mini-Voicemail system, configured in minivm.conf. │ │ │ │ │ + │ │ │ │ │ + MiniVMnotify forwards messages about new voicemail to e-mail and pager. If there's no user │ │ │ │ │ + account for that address, a temporary account will be used with default options (set in │ │ │ │ │ + minivm.conf │ │ │ │ │ + ). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the channel variable │ │ │ │ │ + MVM_COUNTER │ │ │ │ │ + is set, this will be used in the message │ │ │ │ │ + file name and available in the template for the message. │ │ │ │ │ + │ │ │ │ │ + If no template is given, the default email template will be used to send email and default pager │ │ │ │ │ + template to send paging message (if the user account is configured with a paging address. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the status of the notification attempt │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Delete Mini-Voicemail voicemail messages. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + File to delete │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application is part of the Mini-Voicemail system, configured in │ │ │ │ │ + minivm.conf │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + It deletes voicemail file set in MVM_FILENAME or given filename. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the status of the delete operation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Record account specific messages. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Voicemail username │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Voicemail domain │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application is part of the Mini-Voicemail system, configured in │ │ │ │ │ + minivm.conf │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + Use this application to record account specific audio/video messages for busy, unavailable │ │ │ │ │ + and temporary messages. │ │ │ │ │ + Account specific directories will be created if they do not exist. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the result of the attempt to record the specified greeting. │ │ │ │ │ + │ │ │ │ │ + FAILED │ │ │ │ │ + is set if the file can't be created. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send Message Waiting Notification to subscriber(s) of mailbox. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Voicemail username │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Voicemail domain │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of urgent messages in mailbox. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of new messages in mailbox. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of old messages in mailbox. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application is part of the Mini-Voicemail system, configured in │ │ │ │ │ + minivm.conf │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + MinivmMWI is used to send message waiting indication to any devices whose channels have │ │ │ │ │ + subscribed to the mailbox passed in the first parameter. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reads or sets counters for MiniVoicemail message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If account is given and it exists, the counter is specific for the account. │ │ │ │ │ + If account is a domain and the domain directory exists, counters are specific for a domain. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the counter is a string, up to 10 characters. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The counters never goes below zero. Valid operands for changing the value of a counter when assigning a value are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Increment by value. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Decrement by value. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set to value. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MinivmRecord │ │ │ │ │ + MinivmGreet │ │ │ │ │ + MinivmNotify │ │ │ │ │ + MinivmDelete │ │ │ │ │ + MinivmAccMess │ │ │ │ │ + MinivmMWI │ │ │ │ │ + MINIVMACCOUNT │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets MiniVoicemail account information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Valid items are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Path to account mailbox (if account exists, otherwise temporary mailbox). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 1 is static Minivm account exists, 0 otherwise. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Full name of account owner. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Email address used for account. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Email template for account (default template if none is configured). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Pager template for account (default template if none is configured). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Account code for the voicemail account. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Pin code for voicemail account. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Time zone for voicemail account. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Language for voicemail account. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel variable value (set in configuration for account). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MinivmRecord │ │ │ │ │ + MinivmGreet │ │ │ │ │ + MinivmNotify │ │ │ │ │ + MinivmDelete │ │ │ │ │ + MinivmAccMess │ │ │ │ │ + MinivmMWI │ │ │ │ │ + MINIVMCOUNTER │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a notification is sent out by a MiniVoiceMail application │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + What action was taken. Currently, this will always be │ │ │ │ │ + SentNotification │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The mailbox that the notification was about, specified as │ │ │ │ │ + mailbox │ │ │ │ │ + @ │ │ │ │ │ + context │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A message counter derived from the │ │ │ │ │ + MVM_COUNTER │ │ │ │ │ + channel variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Authenticate a user │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Password the user should know │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The optional URL will be sent to the called party if the channel driver supports it. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + maximum acceptable number of digits. Stops reading after │ │ │ │ │ + maxdigits have been entered (without requiring the user to press the │ │ │ │ │ + # │ │ │ │ │ + key). │ │ │ │ │ + Defaults to 0 - no limit - wait for the user press the │ │ │ │ │ + # │ │ │ │ │ + key. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Override the agent-pass prompt file. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application will place calls to one or more specified channels. As soon │ │ │ │ │ - as one of the requested channels answers, the originating channel will be │ │ │ │ │ - answered, if it has not already been answered. These two channels will then │ │ │ │ │ - be active in a bridged call. All other channels that were requested will then │ │ │ │ │ - be hung up. │ │ │ │ │ - Unless there is a timeout specified, the Dial application will wait │ │ │ │ │ - indefinitely until one of the called channels answers, the user hangs up, or │ │ │ │ │ - if all of the called channels are busy or unavailable. Dialplan execution will │ │ │ │ │ - continue if no requested channels can be called, or if the timeout expires. │ │ │ │ │ - This application will report normal termination if the originating channel │ │ │ │ │ - hangs up, or if the call is bridged and either of the parties in the bridge │ │ │ │ │ - ends the call. │ │ │ │ │ + This application asks the caller to enter a given password in order to continue dialplan execution. │ │ │ │ │ │ │ │ │ │ - If the │ │ │ │ │ - OUTBOUND_GROUP │ │ │ │ │ - variable is set, all peer channels created by this │ │ │ │ │ - application will be put into that group (as in │ │ │ │ │ - Set(GROUP()=... │ │ │ │ │ - ). │ │ │ │ │ - If the │ │ │ │ │ - OUTBOUND_GROUP_ONCE │ │ │ │ │ - variable is set, all peer channels created by this │ │ │ │ │ - application will be put into that group (as in │ │ │ │ │ - Set(GROUP()=... │ │ │ │ │ - ). Unlike │ │ │ │ │ - OUTBOUND_GROUP │ │ │ │ │ - , │ │ │ │ │ - however, the variable will be unset after use. │ │ │ │ │ + If the password begins with the │ │ │ │ │ + / │ │ │ │ │ + character, │ │ │ │ │ + it is interpreted as a file which contains a list of valid passwords, listed 1 password per line in the file. │ │ │ │ │ │ │ │ │ │ - same => n,Dial(PJSIP/alice,30) │ │ │ │ │ - same => n,Dial(PJSIP/alice&PJIP/bob,45) │ │ │ │ │ - same => n,Dial(PJSIP/alice,,g) │ │ │ │ │ - same => n,Log(NOTICE, Alice call result: ${DIALSTATUS}) │ │ │ │ │ - same => n,Dial(PJSIP/alice,,TX) │ │ │ │ │ - same => n,Dial(PJSIP/alice,,L(60000:30000:10000)) │ │ │ │ │ - same => n,Dial(PJSIP/alice&PJSIP/bob,,Q(NO_ANSWER)) │ │ │ │ │ - [default] │ │ │ │ │ - exten => callee_channel,1,NoOp(ARG1=${ARG1} ARG2=${ARG2}) │ │ │ │ │ - same => n,Log(NOTICE, I'm called on channel ${CHANNEL} prior to it starting the dial attempt) │ │ │ │ │ - same => n,Return() │ │ │ │ │ - exten => called_channel,1,NoOp(ARG1=${ARG1} ARG2=${ARG2}) │ │ │ │ │ - same => n,Log(NOTICE, I'm called on outbound channel ${CHANNEL} prior to it being used to dial someone) │ │ │ │ │ - same => n,Return() │ │ │ │ │ - exten => _X.,1,NoOp() │ │ │ │ │ - same => n,Dial(PJSIP/alice,,b(default^called_channel^1(my_gosub_arg1^my_gosub_arg2))B(default^callee_channel^1(my_gosub_arg1^my_gosub_arg2))) │ │ │ │ │ - same => n,Hangup() │ │ │ │ │ - [my_gosub_routine] │ │ │ │ │ - exten => s,1,NoOp(ARG1=${ARG1} ARG2=${ARG2}) │ │ │ │ │ - same => n,Playback(hello) │ │ │ │ │ - same => n,Return() │ │ │ │ │ - [default] │ │ │ │ │ - exten => _X.,1,NoOp() │ │ │ │ │ - same => n,Dial(PJSIP/alice,,U(my_gosub_routine^my_gosub_arg1^my_gosub_arg2)) │ │ │ │ │ - same => n,Hangup() │ │ │ │ │ - same => n,Dial(PJSIP/alice,,G(jump_to_here)) │ │ │ │ │ - same => n(jump_to_here),Goto(confbridge) │ │ │ │ │ - same => n,Goto(confbridge) │ │ │ │ │ - same => n(confbridge),ConfBridge(${EXTEN}) │ │ │ │ │ - This application sets the following channel variables: │ │ │ │ │ + When using a database key, the value associated with the key can be anything. │ │ │ │ │ + Users have three attempts to authenticate before the channel is hung up. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + VMAuthenticate │ │ │ │ │ + DISA │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + osptk │ │ │ │ │ + openssl │ │ │ │ │ + extended │ │ │ │ │ + 19 │ │ │ │ │ + 21 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + OSP Authentication. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the provider that authenticates the call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reserverd. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Authenticate a call by OSP. │ │ │ │ │ + Input variables: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the time from dialing a channel until when it is disconnected. │ │ │ │ │ + │ │ │ │ │ + The last hop IP address. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the milliseconds version of the DIALEDTIME variable. │ │ │ │ │ + │ │ │ │ │ + The inbound OSP token. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the amount of time for actual call. │ │ │ │ │ + │ │ │ │ │ + Output variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound call OSP transaction handle. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the milliseconds version of the ANSWEREDTIME variable. │ │ │ │ │ + │ │ │ │ │ + The inbound call duration limit in seconds. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the time from creating the channel to the first RINGING event received. Empty if there was no ring. │ │ │ │ │ + │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The status of OSPAuth attempt as a text string, one of │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the milliseconds version of the RINGTIME variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + OSPLookup │ │ │ │ │ + OSPNext │ │ │ │ │ + OSPFinish │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Lookup destination by OSP. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The exten of the call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the provider that is used to route the call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + generate H323 call id for the outbound call │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + generate SIP call id for the outbound call. Have not been implemented │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + generate IAX call id for the outbound call. Have not been implemented │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Looks up destination via OSP. │ │ │ │ │ + Input variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The actual source device IP address in indirect mode. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the time from creating the channel to the first PROGRESS event received. Empty if there was no such event. │ │ │ │ │ + │ │ │ │ │ + The last hop IP address. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the milliseconds version of the PROGRESSTIME variable. │ │ │ │ │ + │ │ │ │ │ + The inbound channel technology for the call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the outbound channel that answered the call. │ │ │ │ │ + │ │ │ │ │ + The inbound call OSP transaction handle. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The number that was dialed for the answered outbound channel. │ │ │ │ │ + │ │ │ │ │ + The inbound call duration limit in seconds. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If a call forward occurred, the name of the forwarded channel. │ │ │ │ │ + │ │ │ │ │ + The inbound source network ID. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the status of the call │ │ │ │ │ - Either the dialed peer exists but is not currently reachable, e.g. │ │ │ │ │ - endpoint is not registered, or an attempt was made to call a │ │ │ │ │ - nonexistent location, e.g. nonexistent DNS hostname. │ │ │ │ │ - Channel or switching congestion occured when routing the call. │ │ │ │ │ - This can occur if there is a slow or no response from the remote end. │ │ │ │ │ - Called party did not answer. │ │ │ │ │ - The called party was busy or indicated a busy status. │ │ │ │ │ - Note that some SIP devices will respond with 486 Busy if their Do Not Disturb │ │ │ │ │ - modes are active. In this case, you can use DEVICE_STATUS to check if the │ │ │ │ │ - endpoint is actually in use, if needed. │ │ │ │ │ - The call was answered. │ │ │ │ │ - Any other result implicitly indicates the call was not answered. │ │ │ │ │ - Dial was cancelled before call was answered or reached some other terminating event. │ │ │ │ │ - For the Privacy and Screening Modes. │ │ │ │ │ - Will be set if the called party chooses to send the calling party to the 'Go Away' script. │ │ │ │ │ - For the Privacy and Screening Modes. │ │ │ │ │ - Will be set if the called party chooses to send the calling party to the 'torture' script. │ │ │ │ │ - Dial failed due to invalid syntax. │ │ │ │ │ + │ │ │ │ │ + The inbound routing number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound carrier identification code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound number portability database dip indicator. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound service provider identity. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound operator company number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound service provider name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound alternate service provider name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound mobile country code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound mobile network code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound To header host part. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound Remote-Party-ID header user part. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound P-Asserted-Identify header user part. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound Diversion header user part. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound Diversion header host part. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound P-Charge-Info header user part. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound custom information, where │ │ │ │ │ + n │ │ │ │ │ + is the index beginning with │ │ │ │ │ + 1 │ │ │ │ │ + upto │ │ │ │ │ + 8 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Output variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound call OSP transaction handle. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound channel technology for the call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound destination IP address. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound calling number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound called number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound destination network ID. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound routing number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound carrier identification code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound number portability database dip indicator. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound service provider identity. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound operator company number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound service provider name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound alternate service provider name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound mobile country code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound mobile network code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound OSP token. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of remained destinations. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound call duration limit in seconds. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound Call-ID types. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound Call-ID. Only for H.323. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound Dial command string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The status of OSPLookup attempt as a text string, one of │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - RetryDial │ │ │ │ │ - SendDTMF │ │ │ │ │ - Gosub │ │ │ │ │ - Macro │ │ │ │ │ + OSPAuth │ │ │ │ │ + OSPNext │ │ │ │ │ + OSPFinish │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Place a call, retrying on failure allowing an optional exit extension. │ │ │ │ │ + │ │ │ │ │ + Lookup next destination by OSP. │ │ │ │ │ + │ │ │ │ │ + Looks up the next destination via OSP. │ │ │ │ │ + Input variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound call OSP transaction handle. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound call OSP transaction handle. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound call duration limit in seconds. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound Call-ID types. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of remained destinations. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Output variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound channel technology. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The destination IP address. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound calling number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound called number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound destination network ID. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound routing number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound carrier identification code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound number portability database dip indicator. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound service provider identity. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound operator company number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound service provider name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound alternate service provider name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound mobile country code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound mobile network code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound OSP token. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of remained destinations. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound call duration limit in seconds. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound Call-ID. Only for H.323. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound Dial command string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The status of the OSPNext attempt as a text string, one of │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + OSPAuth │ │ │ │ │ + OSPLookup │ │ │ │ │ + OSPFinish │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Report OSP entry. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Filename of sound that will be played when no channel can be reached │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of seconds to wait after a dial attempt failed before a new attempt is made │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of retries │ │ │ │ │ - When this is reached flow will continue at the next priority in the dialplan │ │ │ │ │ + │ │ │ │ │ + Hangup cause. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Same format as arguments provided to the Dial application │ │ │ │ │ + │ │ │ │ │ + Reserved. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This application will attempt to place a call using the normal Dial application. │ │ │ │ │ - If no channel can be reached, the │ │ │ │ │ - announce │ │ │ │ │ - file will be played. │ │ │ │ │ - Then, it will wait │ │ │ │ │ - sleep │ │ │ │ │ - number of seconds before retrying the call. │ │ │ │ │ - After │ │ │ │ │ - retries │ │ │ │ │ - number of attempts, the calling channel will continue at the next priority in the dialplan. │ │ │ │ │ - If the │ │ │ │ │ - retries │ │ │ │ │ - setting is set to 0, this application will retry endlessly. │ │ │ │ │ - While waiting to retry a call, a 1 digit extension may be dialed. If that │ │ │ │ │ - extension exists in either the context defined in │ │ │ │ │ - EXITCONTEXT │ │ │ │ │ - or the current │ │ │ │ │ - one, The call will jump to that extension immediately. │ │ │ │ │ - The │ │ │ │ │ - dialargs │ │ │ │ │ - are specified in the same format that arguments are provided │ │ │ │ │ - to the Dial application. │ │ │ │ │ - │ │ │ │ │ + Report call state. │ │ │ │ │ + Input variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound call OSP transaction handle. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound call OSP transaction handle. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The OSPAuth status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The OSPLookup status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The OSPNext status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The inbound call leg audio QoS string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound call leg audio QoS string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The status of the OSPFinish attempt as a text string, one of │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Dial │ │ │ │ │ + OSPAuth │ │ │ │ │ + OSPLookup │ │ │ │ │ + OSPNext │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + res_adsi │ │ │ │ │ + deprecated │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Background a file with talk detect. │ │ │ │ │ + │ │ │ │ │ + Load Asterisk ADSI Scripts into phone │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If not specified, defaults to │ │ │ │ │ - 1000 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If not specified, defaults to │ │ │ │ │ - 100 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If not specified, defaults to │ │ │ │ │ - infinity │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If not specified, defaults to │ │ │ │ │ - infinity │ │ │ │ │ - . │ │ │ │ │ + adsi script to use. If not given uses the default script │ │ │ │ │ + asterisk.adsi │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Plays back │ │ │ │ │ - filename │ │ │ │ │ - , waiting for interruption from a given digit (the digit │ │ │ │ │ - must start the beginning of a valid extension, or it will be ignored). During │ │ │ │ │ - the playback of the file, audio is monitored in the receive direction, and if │ │ │ │ │ - a period of non-silence which is greater than │ │ │ │ │ - min │ │ │ │ │ - ms yet less than │ │ │ │ │ - max │ │ │ │ │ - ms is followed by silence for at least │ │ │ │ │ - sil │ │ │ │ │ - ms, │ │ │ │ │ - which occurs during the first │ │ │ │ │ - analysistime │ │ │ │ │ - ms, then the audio playback is │ │ │ │ │ - aborted and processing jumps to the │ │ │ │ │ - talk │ │ │ │ │ - extension, if available. │ │ │ │ │ - │ │ │ │ │ + This application programs an ADSI Phone with the given script │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + GetCPEID │ │ │ │ │ + adsi.conf │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - gsm │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - codec2 │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - dahdi │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ilbc │ │ │ │ │ no │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ amr_nb │ │ │ │ │ amr_wb_decoder │ │ │ │ │ amr_wb_encoder │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + gsm │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + dahdi │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ speex │ │ │ │ │ speex_preprocess │ │ │ │ │ speexdsp │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - speex │ │ │ │ │ - ogg │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + codec2 │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - vorbis │ │ │ │ │ - ogg │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + speex │ │ │ │ │ + ogg │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + vorbis │ │ │ │ │ + ogg │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - sqlite3 │ │ │ │ │ + │ │ │ │ │ + freetds │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ radius │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - beanstalk │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Raised when a CDR is generated. │ │ │ │ │ @@ -15566,54 +15562,55 @@ │ │ │ │ │ │ │ │ │ │ syslog │ │ │ │ │ no │ │ │ │ │ deprecated │ │ │ │ │ 16 │ │ │ │ │ 19 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_odbc │ │ │ │ │ - generic_odbc │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - freetds │ │ │ │ │ + │ │ │ │ │ + beanstalk │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ res_odbc │ │ │ │ │ generic_odbc │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - beanstalk │ │ │ │ │ + │ │ │ │ │ + res_odbc │ │ │ │ │ + generic_odbc │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - radius │ │ │ │ │ + │ │ │ │ │ + sqlite3 │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - sqlite3 │ │ │ │ │ + │ │ │ │ │ + beanstalk │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pgsql │ │ │ │ │ + │ │ │ │ │ + freetds │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ res_odbc │ │ │ │ │ generic_odbc │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + sqlite3 │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pgsql │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Raised when a Channel Event Log is generated for a channel. │ │ │ │ │ @@ -15771,786 +15768,1989 @@ │ │ │ │ │ Some events will have event specific data that accompanies the CEL record. │ │ │ │ │ This extra data is JSON encoded, and is dependent on the event in │ │ │ │ │ question. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - freetds │ │ │ │ │ + │ │ │ │ │ + radius │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ res_monitor │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Check if a value is NULL. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 12.4.0 │ │ │ │ │ + │ │ │ │ │ + Raises notifications when Asterisk detects silence or talking on a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + The TALK_DETECT function enables events on the channel │ │ │ │ │ + it is applied to. These events can be emitted over AMI, ARI, and │ │ │ │ │ + potentially other Asterisk modules that listen for the internal │ │ │ │ │ + notification. │ │ │ │ │ │ │ │ │ │ - Returns │ │ │ │ │ - 1 │ │ │ │ │ - if NULL or │ │ │ │ │ - 0 │ │ │ │ │ - otherwise. │ │ │ │ │ + The function has two parameters that can optionally be passed │ │ │ │ │ + when │ │ │ │ │ + set │ │ │ │ │ + on a channel: │ │ │ │ │ + dsp_talking_threshold │ │ │ │ │ + and │ │ │ │ │ + dsp_silence_threshold │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + dsp_talking_threshold │ │ │ │ │ + is the time in milliseconds of sound │ │ │ │ │ + above what the dsp has established as base line silence for a user │ │ │ │ │ + before a user is considered to be talking. By default, the value of │ │ │ │ │ + silencethreshold │ │ │ │ │ + from │ │ │ │ │ + dsp.conf │ │ │ │ │ + is used. If this value is set too tight events may be │ │ │ │ │ + falsely triggered by variants in room noise. │ │ │ │ │ + │ │ │ │ │ + Valid values are 1 through 2^31. │ │ │ │ │ + │ │ │ │ │ + dsp_silence_threshold │ │ │ │ │ + is the time in milliseconds of sound │ │ │ │ │ + falling within what the dsp has established as baseline silence before │ │ │ │ │ + a user is considered be silent. If this value is set too low events │ │ │ │ │ + indicating the user has stopped talking may get falsely sent out when │ │ │ │ │ + the user briefly pauses during mid sentence. │ │ │ │ │ │ │ │ │ │ + The best way to approach this option is to set it slightly above │ │ │ │ │ + the maximum amount of ms of silence a user may generate during │ │ │ │ │ + natural speech. │ │ │ │ │ + By default this value is 2500ms. Valid values are 1 │ │ │ │ │ + through 2^31. │ │ │ │ │ + same => n,Set(TALK_DETECT(set)=) │ │ │ │ │ + same => n,Set(TALK_DETECT(set)=1200) │ │ │ │ │ + same => n,Set(TALK_DETECT(remove)=) │ │ │ │ │ + same => n,Set(TALK_DETECT(set)=,128) │ │ │ │ │ + This function will set the following variables: │ │ │ │ │ + │ │ │ │ │ + The TALK_DETECT function uses an audiohook to inspect the │ │ │ │ │ + voice media frames on a channel. Other functions, such as JITTERBUFFER, │ │ │ │ │ + DENOISE, and AGC use a similar mechanism. Audiohooks are processed │ │ │ │ │ + in the order in which they are placed on the channel. As such, │ │ │ │ │ + it typically makes sense to place functions that modify the voice │ │ │ │ │ + media data prior to placing the TALK_DETECT function, as this will │ │ │ │ │ + yield better results. │ │ │ │ │ + │ │ │ │ │ + same => n,Set(DENOISE(rx)=on) ; Denoise received audio │ │ │ │ │ + same => n,Set(TALK_DETECT(set)=) ; Perform talk detection on the denoised received audio │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - SET assigns a value to a channel variable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Test the existence of a value. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns │ │ │ │ │ - 1 │ │ │ │ │ - if exists, │ │ │ │ │ - 0 │ │ │ │ │ - otherwise. │ │ │ │ │ + Jitterbuffers are constructed in two different ways. │ │ │ │ │ + The first always take four arguments: │ │ │ │ │ + max_size │ │ │ │ │ + , │ │ │ │ │ + resync_threshold │ │ │ │ │ + , │ │ │ │ │ + target_extra │ │ │ │ │ + , │ │ │ │ │ + and │ │ │ │ │ + sync_video │ │ │ │ │ + . │ │ │ │ │ + Alternatively, a single argument of │ │ │ │ │ + default │ │ │ │ │ + can be provided, │ │ │ │ │ + which will construct the default jitterbuffer for the given │ │ │ │ │ + jitterbuffer type │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + The arguments are: │ │ │ │ │ + │ │ │ │ │ + max_size │ │ │ │ │ + : Length in milliseconds of the buffer. │ │ │ │ │ + Defaults to 200 ms. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + resync_threshold │ │ │ │ │ + : The length in milliseconds over │ │ │ │ │ + which a timestamp difference will result in resyncing the jitterbuffer. │ │ │ │ │ + Defaults to 1000ms. │ │ │ │ │ │ │ │ │ │ + target_extra: This option only affects the adaptive jitterbuffer. It represents │ │ │ │ │ + the amount time in milliseconds by which the new jitter buffer will pad its size. │ │ │ │ │ + Defaults to 40ms. │ │ │ │ │ + sync_video: This option enables video synchronization with the audio stream. It can be │ │ │ │ │ + turned on and off. Defaults to off. │ │ │ │ │ + exten => 1,1,Set(JITTERBUFFER(fixed)=default) │ │ │ │ │ + exten => 1,1,Set(JITTERBUFFER(fixed)=200) │ │ │ │ │ + exten => 1,1,Set(JITTERBUFFER(fixed)=200,,,yes) │ │ │ │ │ + exten => 1,1,Set(JITTERBUFFER(fixed)=200,1500) │ │ │ │ │ + exten => 1,1,Set(JITTERBUFFER(adaptive)=default) │ │ │ │ │ + exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,60) │ │ │ │ │ + exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,,yes) │ │ │ │ │ + exten => 1,1,Set(JITTERBUFFER(fixed)=default) │ │ │ │ │ + exten => 1,n,Set(JITTERBUFFER(disabled)=) │ │ │ │ │ + │ │ │ │ │ + If a channel specifies a jitterbuffer due to channel driver configuration and │ │ │ │ │ + the JITTERBUFFER function has set a jitterbuffer for that channel, the jitterbuffer set by │ │ │ │ │ + the JITTERBUFFER function will take priority and the jitterbuffer set by the channel │ │ │ │ │ + configuration will not be applied. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Check for an expression. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_odbc │ │ │ │ │ + generic_odbc │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Fetch a row from a multirow query. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns the data following │ │ │ │ │ - ? │ │ │ │ │ - if true, else the data following │ │ │ │ │ - : │ │ │ │ │ + For queries which are marked as mode=multirow, the original │ │ │ │ │ + query returns a │ │ │ │ │ + result-id │ │ │ │ │ + from which results │ │ │ │ │ + may be fetched. This function implements the actual fetch of the results. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This also sets │ │ │ │ │ + ODBC_FETCH_STATUS │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If rows are available. │ │ │ │ │ + If no rows are available. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Temporal Conditional. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Clear the resultset of a sucessful multirow query. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + For queries which are marked as mode=multirow, this will clear │ │ │ │ │ + any remaining rows of the specified resultset. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Escapes single ticks for use in SQL statements. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns the data following │ │ │ │ │ - ? │ │ │ │ │ - if true, else the data following │ │ │ │ │ - : │ │ │ │ │ + Used in SQL templates to escape data which may contain single ticks │ │ │ │ │ + ' │ │ │ │ │ + which are otherwise used to delimit data. │ │ │ │ │ │ │ │ │ │ + SELECT foo FROM bar WHERE baz='${SQL_ESC(${ARG1})}' │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Retrieve the value of a variable from another channel. │ │ │ │ │ + │ │ │ │ │ + Escapes backslashes for use in SQL statements. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Used in SQL templates to escape data which may contain backslashes │ │ │ │ │ + \ │ │ │ │ │ + which are otherwise used to escape data. │ │ │ │ │ + │ │ │ │ │ + SELECT foo FROM bar WHERE baz='${SQL_ESC(${SQL_ESC_BACKSLASHES(${ARG1})})}' │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get information about a PJSIP endpoint │ │ │ │ │ + │ │ │ │ │ + Get or Set a presence state. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the endpoint to query. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - The configuration option for the endpoint to query for. │ │ │ │ │ - Supported options are those fields on the │ │ │ │ │ - endpoint │ │ │ │ │ - object in │ │ │ │ │ - pjsip.conf │ │ │ │ │ - . │ │ │ │ │ + The provider of the presence, such as │ │ │ │ │ + CustomPresence │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Which field of the presence state information is wanted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + The PRESENCE_STATE function can be used to retrieve the presence from any │ │ │ │ │ + presence provider. For example: │ │ │ │ │ + NoOp(SIP/mypeer has presence ${PRESENCE_STATE(SIP/mypeer,value)}) │ │ │ │ │ + NoOp(Conference number 1234 has presence message ${PRESENCE_STATE(MeetMe:1234,message)}) │ │ │ │ │ + │ │ │ │ │ + The PRESENCE_STATE function can also be used to set custom presence state from │ │ │ │ │ + the dialplan. The │ │ │ │ │ + CustomPresence: │ │ │ │ │ + prefix must be used. For example: │ │ │ │ │ + │ │ │ │ │ + Set(PRESENCE_STATE(CustomPresence:lamp1)=away,temporary,Out to lunch) │ │ │ │ │ + Set(PRESENCE_STATE(CustomPresence:lamp2)=dnd,,Trying to get work done) │ │ │ │ │ + Set(PRESENCE_STATE(CustomPresence:lamp3)=xa,T24gdmFjYXRpb24=,,e) │ │ │ │ │ + Set(BASE64_LAMP3_PRESENCE=${PRESENCE_STATE(CustomPresence:lamp3,subtype,e)}) │ │ │ │ │ + You can subscribe to the status of a custom presence state using a hint in │ │ │ │ │ + the dialplan: │ │ │ │ │ + exten => 1234,hint,,CustomPresence:lamp1 │ │ │ │ │ + The possible values for both uses of this function are: │ │ │ │ │ + not_set | unavailable | available | away | xa | chat | dnd │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Returns the ampersand-delimited file names that would be played by the Say applications (e.g. SayAlpha, SayDigits). │ │ │ │ │ + │ │ │ │ │ + Returns system information specified by parameter. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The value to be translated to filenames. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say application type. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Files played by SayAlpha(). Default if none is specified. │ │ │ │ │ + │ │ │ │ │ + System load average from past minute. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Files played by SayDigits(). │ │ │ │ │ + │ │ │ │ │ + Number of active calls currently in progress. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Files played by SayMoney(). Currently supported for English and US dollars only. │ │ │ │ │ + │ │ │ │ │ + System uptime in hours. │ │ │ │ │ + │ │ │ │ │ + This parameter is dependant upon operating system. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Files played by SayNumber(). Currently supported for English only. │ │ │ │ │ + │ │ │ │ │ + Total usable main memory size in KiB. │ │ │ │ │ + │ │ │ │ │ + This parameter is dependant upon operating system. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Files played by SayOrdinal(). Currently supported for English only. │ │ │ │ │ + │ │ │ │ │ + Available memory size in KiB. │ │ │ │ │ + │ │ │ │ │ + This parameter is dependant upon operating system. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Files played by SayPhonetic(). │ │ │ │ │ + │ │ │ │ │ + Memory used by buffers in KiB. │ │ │ │ │ + │ │ │ │ │ + This parameter is dependant upon operating system. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Total swap space still available in KiB. │ │ │ │ │ + │ │ │ │ │ + This parameter is dependant upon operating system. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Free swap space still available in KiB. │ │ │ │ │ + │ │ │ │ │ + This parameter is dependant upon operating system. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of current processes. │ │ │ │ │ + │ │ │ │ │ + This parameter is dependant upon operating system. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns the files that would be played by a Say application. These filenames could then be │ │ │ │ │ - passed directly into Playback, BackGround, Read, Queue, or any application which supports │ │ │ │ │ - playback of multiple ampersand-delimited files. │ │ │ │ │ - same => n,Read(response,${SAYFILES(123,number)}) │ │ │ │ │ + Returns information from a given parameter. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - SayAlpha │ │ │ │ │ - SayDigits │ │ │ │ │ - SayMoney │ │ │ │ │ - SayNumber │ │ │ │ │ - SayOrdinal │ │ │ │ │ - SayPhonetic │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Manages a group of users for dialing. │ │ │ │ │ + │ │ │ │ │ + Count the voicemails in a specified mailbox or mailboxes. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The operation name, possible values are: │ │ │ │ │ - │ │ │ │ │ - add │ │ │ │ │ - - add a channel name or interface (write-only) │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + A mailbox or list of mailboxes │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - del │ │ │ │ │ - - remove a channel name or interface (write-only) │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + INBOX │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Presents an interface meant to be used in concert with the Dial │ │ │ │ │ - application, by presenting a list of channels which should be dialled when │ │ │ │ │ - referenced. │ │ │ │ │ │ │ │ │ │ - When DIALGROUP is read from, the argument is interpreted as the particular │ │ │ │ │ - group │ │ │ │ │ - for which a dial should be attempted. When DIALGROUP is written to │ │ │ │ │ - with no arguments, the entire list is replaced with the argument specified. │ │ │ │ │ + Count the number of voicemails in a specified mailbox, you could also specify │ │ │ │ │ + the mailbox │ │ │ │ │ + folder │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - Functionality is similar to a queue, except that when no interfaces are │ │ │ │ │ - available, execution may continue in the dialplan. This is useful when │ │ │ │ │ - you want certain people to be the first to answer any calls, with immediate │ │ │ │ │ - fallback to a queue when the front line people are busy or unavailable, but │ │ │ │ │ - you still want front line people to log in and out of that group, just like │ │ │ │ │ - a queue. │ │ │ │ │ - exten => 1,1,Set(DIALGROUP(mygroup,add)=SIP/10) │ │ │ │ │ - same => n,Set(DIALGROUP(mygroup,add)=SIP/20) │ │ │ │ │ - same => n,Dial(${DIALGROUP(mygroup)}) │ │ │ │ │ + exten => s,1,Set(foo=${VMCOUNT(125@default)}) │ │ │ │ │ + An ampersand-separated list of mailboxes may be specified to count voicemails in │ │ │ │ │ + multiple mailboxes. If a folder is specified, this will apply to all mailboxes specified. │ │ │ │ │ + same => n,NoOp(${VMCOUNT(1234@default&1235@default&1236@default,INBOX)}) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Executes a command using the system shell and captures its output. │ │ │ │ │ + │ │ │ │ │ + Computes a SHA1 digest. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The command that the shell should execute. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Do not use untrusted strings such as │ │ │ │ │ - CALLERID(num) │ │ │ │ │ - or │ │ │ │ │ - CALLERID(name) │ │ │ │ │ - as part of the command parameters. You │ │ │ │ │ - risk a command injection attack executing arbitrary commands if the untrusted │ │ │ │ │ - strings aren't filtered to remove dangerous characters. See function │ │ │ │ │ - FILTER() │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Input string │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Collects the output generated by a command executed by the system shell │ │ │ │ │ - exten => s,1,Set(foo=${SHELL(echo bar)}) │ │ │ │ │ - │ │ │ │ │ - The command supplied to this function will be executed by the │ │ │ │ │ - system's shell, typically specified in the SHELL environment variable. There │ │ │ │ │ - are many different system shells available with somewhat different behaviors, │ │ │ │ │ - so the output generated by this function may vary between platforms. │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - live_dangerously │ │ │ │ │ - in │ │ │ │ │ - asterisk.conf │ │ │ │ │ - is set to │ │ │ │ │ - no │ │ │ │ │ - , this function can only be executed from the │ │ │ │ │ - dialplan, and not directly from external protocols. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Generate a SHA1 digest via the SHA1 algorythm. │ │ │ │ │ + exten => s,1,Set(sha1hash=${SHA1(junky)}) │ │ │ │ │ + │ │ │ │ │ + The example above sets the asterisk variable sha1hash to the string │ │ │ │ │ + 60fa5675b9303eb62f99a9cd47f9f5837d18f9a0 │ │ │ │ │ + which is known as its hash │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gets or sets the environment variable specified. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Environment variable name │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variables starting with │ │ │ │ │ - AST_ │ │ │ │ │ - are reserved to the system and may not be set. │ │ │ │ │ + │ │ │ │ │ + Check if the callerid is on the blacklist. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Uses astdb to check if the Caller*ID is in family │ │ │ │ │ + blacklist │ │ │ │ │ + . │ │ │ │ │ + Returns │ │ │ │ │ + 1 │ │ │ │ │ + or │ │ │ │ │ + 0 │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - Additionally, the following system variables are available as special built-in dialplan variables. │ │ │ │ │ - These variables cannot be set or modified and are read-only. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Current unix style epoch │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - value of the │ │ │ │ │ - systemname │ │ │ │ │ - option from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - value of the │ │ │ │ │ - astcachedir │ │ │ │ │ - option from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - value of the │ │ │ │ │ - astetcdir │ │ │ │ │ - option from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - value of the │ │ │ │ │ - astmoddir │ │ │ │ │ - option from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - value of the │ │ │ │ │ - astvarlib │ │ │ │ │ - option from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - value of the │ │ │ │ │ - astdbdir │ │ │ │ │ - option from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - value of the │ │ │ │ │ - astkeydir │ │ │ │ │ - option from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - value of the │ │ │ │ │ - astdatadir │ │ │ │ │ - option from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - value of the │ │ │ │ │ - astagidir │ │ │ │ │ - option from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - value of the │ │ │ │ │ - astspooldir │ │ │ │ │ - option from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - value of the │ │ │ │ │ - astrundir │ │ │ │ │ - option from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - value of the │ │ │ │ │ - astlogdir │ │ │ │ │ - option from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - value of the │ │ │ │ │ - astsbindir │ │ │ │ │ - option from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Global Entity ID set automatically, or from │ │ │ │ │ - asterisk.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + DB │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Does a check on the specified file. │ │ │ │ │ + │ │ │ │ │ + iconv │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Converts charsets of strings. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Flag may be one of the following: │ │ │ │ │ - d - Checks if the file is a directory. │ │ │ │ │ - e - Checks if the file exists. │ │ │ │ │ - f - Checks if the file is a regular file. │ │ │ │ │ - m - Returns the file mode (in octal) │ │ │ │ │ - s - Returns the size (in bytes) of the file │ │ │ │ │ - A - Returns the epoch at which the file was last accessed. │ │ │ │ │ - C - Returns the epoch at which the inode was last changed. │ │ │ │ │ - M - Returns the epoch at which the file was last modified. │ │ │ │ │ + │ │ │ │ │ + Input charset │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Output charset │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + String to convert, from │ │ │ │ │ + in-charset │ │ │ │ │ + to │ │ │ │ │ + out-charset │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Converts string from │ │ │ │ │ + in-charset │ │ │ │ │ + into │ │ │ │ │ + out-charset │ │ │ │ │ + . │ │ │ │ │ + For available charsets, use │ │ │ │ │ + iconv -l │ │ │ │ │ + on your shell command line. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Due to limitations within the API, ICONV will not currently work with │ │ │ │ │ + charsets with embedded NULLs. If found, the string will terminate. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + RealTime Read/Write Functions. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Use │ │ │ │ │ + delim1 │ │ │ │ │ + with │ │ │ │ │ + delim2 │ │ │ │ │ + on │ │ │ │ │ + read and │ │ │ │ │ + field │ │ │ │ │ + without │ │ │ │ │ + delim2 │ │ │ │ │ + on │ │ │ │ │ + write │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If we are reading and │ │ │ │ │ + delim1 │ │ │ │ │ + is not specified, defaults │ │ │ │ │ + to │ │ │ │ │ + , │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Parameter only used when reading, if not specified defaults to │ │ │ │ │ + = │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function will read or write values from/to a RealTime repository. │ │ │ │ │ + REALTIME(....) will read names/values from the repository, and │ │ │ │ │ + REALTIME(....)= will write a new value/field to the repository. On a │ │ │ │ │ + read, this function returns a delimited text string. The name/value │ │ │ │ │ + pairs are delimited by │ │ │ │ │ + delim1 │ │ │ │ │ + , and the name and value are delimited │ │ │ │ │ + between each other with delim2. │ │ │ │ │ + If there is no match, NULL will be returned by the function. │ │ │ │ │ + On a write, this function will always return NULL. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + REALTIME_STORE │ │ │ │ │ + REALTIME_DESTROY │ │ │ │ │ + REALTIME_FIELD │ │ │ │ │ + REALTIME_HASH │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + RealTime Store Function. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function will insert a new set of values into the RealTime repository. │ │ │ │ │ + If RT engine provides an unique ID of the stored record, REALTIME_STORE(...)=.. │ │ │ │ │ + creates channel variable named RTSTOREID, which contains value of unique ID. │ │ │ │ │ + Currently, a maximum of 30 field/value pairs is supported. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + REALTIME │ │ │ │ │ + REALTIME_DESTROY │ │ │ │ │ + REALTIME_FIELD │ │ │ │ │ + REALTIME_HASH │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + RealTime Destroy Function. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + This function acts in the same way as REALTIME(....) does, except that │ │ │ │ │ + it destroys the matched record in the RT engine. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ If │ │ │ │ │ live_dangerously │ │ │ │ │ in │ │ │ │ │ asterisk.conf │ │ │ │ │ is set to │ │ │ │ │ no │ │ │ │ │ - , this function can only be executed from the │ │ │ │ │ - dialplan, and not directly from external protocols. │ │ │ │ │ + , this function can only be read from the │ │ │ │ │ + dialplan, and not directly from external protocols. It can, however, be │ │ │ │ │ + executed as a write operation ( │ │ │ │ │ + REALTIME_DESTROY(family, fieldmatch)=ignored │ │ │ │ │ + ) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + REALTIME │ │ │ │ │ + REALTIME_STORE │ │ │ │ │ + REALTIME_FIELD │ │ │ │ │ + REALTIME_HASH │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Read or write text file. │ │ │ │ │ + │ │ │ │ │ + RealTime query function. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function retrieves a single item, │ │ │ │ │ + fieldname │ │ │ │ │ + from the RT engine, where │ │ │ │ │ + fieldmatch │ │ │ │ │ + contains the value │ │ │ │ │ + matchvalue │ │ │ │ │ + . When written to, the REALTIME_FIELD() function │ │ │ │ │ + performs identically to the REALTIME() function. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + REALTIME │ │ │ │ │ + REALTIME_STORE │ │ │ │ │ + REALTIME_DESTROY │ │ │ │ │ + REALTIME_HASH │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + RealTime query function. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function retrieves a single record from the RT engine, where │ │ │ │ │ + fieldmatch │ │ │ │ │ + contains the value │ │ │ │ │ + matchvalue │ │ │ │ │ + and formats the output suitably, such that │ │ │ │ │ + it can be assigned to the HASH() function. The HASH() function then provides │ │ │ │ │ + a suitable method for retrieving each field value of the record. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + REALTIME │ │ │ │ │ + REALTIME_STORE │ │ │ │ │ + REALTIME_DESTROY │ │ │ │ │ + REALTIME_FIELD │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sorts a list of key/vals into a list of keys, based upon the vals. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Takes a comma-separated list of keys and values, each separated by a colon, and returns a │ │ │ │ │ + comma-separated list of the keys, sorted by their values. Values will be evaluated as │ │ │ │ │ + floating-point numbers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Slices and dices strings, based upon a named delimiter. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Variable you want cut │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Maybe specified as any number. If negative, │ │ │ │ │ - offset │ │ │ │ │ - specifies the number │ │ │ │ │ - of bytes back from the end of the file. │ │ │ │ │ + Delimiter, defaults to │ │ │ │ │ + - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If specified, will limit the length of the data read to that size. If negative, │ │ │ │ │ - trims │ │ │ │ │ - length │ │ │ │ │ - bytes from the end of the file. │ │ │ │ │ + Number of the field you want (1-based offset), may also be specified as a range (with │ │ │ │ │ + - │ │ │ │ │ + ) │ │ │ │ │ + or group of ranges and fields (with │ │ │ │ │ + & │ │ │ │ │ + ) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Cut out information from a string ( │ │ │ │ │ + varname │ │ │ │ │ + ), based upon a named delimiter. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve a variable from a configuration file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If there are multiple variables with the same name, you can specify │ │ │ │ │ + 0 │ │ │ │ │ + for the first item (default), │ │ │ │ │ + -1 │ │ │ │ │ + for the last │ │ │ │ │ + item, or any other number for that specific item. │ │ │ │ │ + -1 │ │ │ │ │ + is useful │ │ │ │ │ + when the variable is derived from a template and you want the effective value (the last │ │ │ │ │ + occurrence), not the value from the template (the first occurrence). │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function reads a variable from an Asterisk configuration file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get a field from a sorcery object │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the module owning the sorcery instance. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The type of object to query. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The id of the object to query. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the field. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Fields that have multiple occurrences may be retrieved in two ways. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns all matching fields concatenated │ │ │ │ │ + in a single string separated by │ │ │ │ │ + separator │ │ │ │ │ + which defaults to │ │ │ │ │ + , │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns the nth occurrence of the field │ │ │ │ │ + as specified by │ │ │ │ │ + occurrence_number │ │ │ │ │ + which defaults to │ │ │ │ │ + 1 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - The │ │ │ │ │ - format │ │ │ │ │ - parameter may be │ │ │ │ │ - used to delimit the type of line terminators in line mode. │ │ │ │ │ + The default is │ │ │ │ │ + concat │ │ │ │ │ + with separator │ │ │ │ │ + , │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specifies either the separator for │ │ │ │ │ + concat │ │ │ │ │ + or the occurrence number for │ │ │ │ │ + single │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets a CDR variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CDR field name: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Caller ID. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Last application arguments. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The final state of the CDR. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + NO ANSWER │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + NO ANSWER │ │ │ │ │ + (NULL record) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + FAILED │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + BUSY │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ANSWERED │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CONGESTION │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Source. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Time the call started. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W the Automatic Message Accounting (AMA) flags on the channel. │ │ │ │ │ + When read from a channel, the integer value will always be returned. │ │ │ │ │ + When written to a channel, both the string format or integer value │ │ │ │ │ + is accepted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + OMIT │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + BILLING │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + DOCUMENTATION │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Accessing this setting is deprecated in CDR. Please use the CHANNEL function instead. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Destination. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Time the call was answered. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The channel's account code. │ │ │ │ │ + │ │ │ │ │ + Accessing this setting is deprecated in CDR. Please use the CHANNEL function instead. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Destination context. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Time the call ended. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The channel's unique id. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Destination channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Duration of the call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The channel's user specified field. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Last application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Duration of the call once it was answered. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CDR sequence number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Read and write text file in character and line mode. │ │ │ │ │ - Examples: │ │ │ │ │ - Read mode (byte): │ │ │ │ │ - same => n,Set(foo=${FILE(/tmp/test.txt)}) │ │ │ │ │ - same => n,Set(foo=${FILE(/tmp/test.txt,10)}) │ │ │ │ │ - same => n,Set(foo=${FILE(/tmp/test.txt,10,10)}) │ │ │ │ │ - Read mode (line): │ │ │ │ │ - same => n,Set(foo=${FILE(/tmp/test.txt,3,1,l)}) │ │ │ │ │ - same => n,Set(foo=${FILE(/tmp/test.txt,3,2,l)}) │ │ │ │ │ - same => n,Set(foo=${FILE(/tmp/test.txt,3,,l)}) │ │ │ │ │ - same => n,Set(foo=${FILE(/tmp/test.txt,-3,,l)}) │ │ │ │ │ - same => n,Set(foo=${FILE(/tmp/test.txt,3,1,l,d)}) │ │ │ │ │ - Write mode (byte): │ │ │ │ │ - same => n,Set(FILE(/tmp/test.txt)=bar) │ │ │ │ │ - same => n,Set(FILE(/tmp/test.txt,,,a)=bar) │ │ │ │ │ - same => n,Set(FILE(/tmp/test.txt,0,1)=bar) │ │ │ │ │ - same => n,Set(FILE(/tmp/test.txt,20,10)=bar) │ │ │ │ │ - same => n,Set(FILE(/tmp/test.txt,20)=bar) │ │ │ │ │ - same => n,Set(FILE(/tmp/test.txt,4,0)=bar) │ │ │ │ │ - Write mode (line): │ │ │ │ │ - same => n,Set(FILE(/tmp/foo.txt,0,1,l)=bar) │ │ │ │ │ - same => n,Set(FILE(/tmp/foo.txt,-1,,l)=bar) │ │ │ │ │ - same => n,Set(FILE(/tmp/foo.txt,,,al)=bar) │ │ │ │ │ + │ │ │ │ │ + All of the CDR field names are read-only, except for │ │ │ │ │ + accountcode │ │ │ │ │ + , │ │ │ │ │ + userfield │ │ │ │ │ + , and │ │ │ │ │ + amaflags │ │ │ │ │ + . You may, however, supply │ │ │ │ │ + a name not on the above list, and create your own variable, whose value can be changed │ │ │ │ │ + with this function, and this variable will be stored on the CDR. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - If │ │ │ │ │ - live_dangerously │ │ │ │ │ - in │ │ │ │ │ - asterisk.conf │ │ │ │ │ - is set to │ │ │ │ │ - no │ │ │ │ │ - , this function can only be executed from the │ │ │ │ │ - dialplan, and not directly from external protocols. │ │ │ │ │ + CDRs can only be modified before the bridge between two channels is │ │ │ │ │ + torn down. For example, CDRs may not be modified after the │ │ │ │ │ + Dial │ │ │ │ │ + application has returned. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + exten => 1,1,Set(CDR(userfield)=test) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - FILE_COUNT_LINE │ │ │ │ │ - FILE_FORMAT │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Obtains the number of lines of a text file. │ │ │ │ │ + │ │ │ │ │ + Set a property on a channel's CDR. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Format may be one of the following: │ │ │ │ │ + │ │ │ │ │ + The property to set on the CDR. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set this channel as the preferred Party A when │ │ │ │ │ + channels are associated together. │ │ │ │ │ + Write-Only │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Setting to 1 will disable CDRs for this channel. │ │ │ │ │ + Setting to 0 will enable CDRs for this channel. │ │ │ │ │ + Write-Only │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function sets a property on a channel's CDR. Properties │ │ │ │ │ + alter the behavior of how the CDR operates for that channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set or get the TX or RX volume of a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Must be │ │ │ │ │ + TX │ │ │ │ │ + or │ │ │ │ │ + RX │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If not specified, an attempt will be made to determine the newline format type. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns the number of lines, or │ │ │ │ │ - -1 │ │ │ │ │ - on error. │ │ │ │ │ + The VOLUME function can be used to increase or decrease the │ │ │ │ │ + tx │ │ │ │ │ + or │ │ │ │ │ + rx │ │ │ │ │ + gain of any channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + same => n,Set(VOLUME(TX)=3) │ │ │ │ │ + same => n,Set(VOLUME(RX)=2) │ │ │ │ │ + same => n,Set(VOLUME(TX,p)=3) │ │ │ │ │ + same => n,Set(VOLUME(RX,p)=3) │ │ │ │ │ + same => n,Set(VOLUME(RX)=-4) │ │ │ │ │ + same => n,Set(VOLUME(RX)=0) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets timeouts on the channel. Timeout values are in seconds. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If │ │ │ │ │ - live_dangerously │ │ │ │ │ - in │ │ │ │ │ - asterisk.conf │ │ │ │ │ - is set to │ │ │ │ │ - no │ │ │ │ │ - , this function can only be executed from the │ │ │ │ │ - dialplan, and not directly from external protocols. │ │ │ │ │ + The timeout that will be manipulated. The possible timeout types │ │ │ │ │ + are: │ │ │ │ │ + absolute │ │ │ │ │ + , │ │ │ │ │ + digit │ │ │ │ │ + or │ │ │ │ │ + response │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The timeouts that can be manipulated are: │ │ │ │ │ + │ │ │ │ │ + absolute │ │ │ │ │ + : The absolute maximum amount of time permitted for a call. │ │ │ │ │ + Setting of 0 disables the timeout. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + digit │ │ │ │ │ + : The maximum amount of time permitted between digits when the │ │ │ │ │ + user is typing in an extension. When this timeout expires, │ │ │ │ │ + after the user has started to type in an extension, the │ │ │ │ │ + extension will be considered complete, and will be │ │ │ │ │ + interpreted. Note that if an extension typed in is valid, │ │ │ │ │ + it will not have to timeout to be tested, so typically at │ │ │ │ │ + the expiry of this timeout, the extension will be considered │ │ │ │ │ + invalid (and thus control would be passed to the │ │ │ │ │ + i │ │ │ │ │ + extension, or if it doesn't exist the call would be │ │ │ │ │ + terminated). The default timeout is 5 seconds. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + response │ │ │ │ │ + : The maximum amount of time permitted after falling through a │ │ │ │ │ + series of priorities for a channel in which the user may │ │ │ │ │ + begin typing an extension. If the user does not type an │ │ │ │ │ + extension in this amount of time, control will pass to the │ │ │ │ │ + t │ │ │ │ │ + extension if it exists, and if not the call would be │ │ │ │ │ + terminated. The default timeout is 10 seconds. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - FILE │ │ │ │ │ - FILE_FORMAT │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Return the newline format of a text file. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets Caller*ID data on the channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The allowable datatypes are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Optional Caller*ID to parse instead of using the Caller*ID from the │ │ │ │ │ + channel. This parameter is only optional when reading the Caller*ID. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Return the line terminator type: │ │ │ │ │ - 'u' - Unix "\n" format │ │ │ │ │ - 'd' - DOS "\r\n" format │ │ │ │ │ - 'm' - Macintosh "\r" format │ │ │ │ │ - 'x' - Cannot be determined │ │ │ │ │ + Gets or sets Caller*ID data on the channel. Uses channel callerid by │ │ │ │ │ + default or optional callerid, if specified. │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + pres │ │ │ │ │ + field gets/sets a combined value │ │ │ │ │ + for │ │ │ │ │ + name-pres │ │ │ │ │ + and │ │ │ │ │ + num-pres │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The allowable values for the │ │ │ │ │ + name-charset │ │ │ │ │ + field are the following: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unknown │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-1 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Withdrawn │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-2 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-3 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-4 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-5 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-7 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO10646 Bmp String │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO10646 UTF-8 String │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets Caller*ID presentation on the channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets Caller*ID presentation on the channel. │ │ │ │ │ + This function is deprecated in favor of CALLERID(num-pres) │ │ │ │ │ + and CALLERID(name-pres) or CALLERID(pres) to get/set both │ │ │ │ │ + at once. │ │ │ │ │ + The following values are valid: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Presentation Allowed, Not Screened. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Presentation Allowed, Passed Screen. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Presentation Allowed, Failed Screen. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Presentation Allowed, Network Number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Presentation Prohibited, Not Screened. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Presentation Prohibited, Passed Screen. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Presentation Prohibited, Failed Screen. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Presentation Prohibited, Network Number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number Unavailable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets Connected Line data on the channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The allowable datatypes are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set, this will prevent the channel from sending out protocol │ │ │ │ │ + messages because of the value being set │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets Connected Line data on the channel. │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + pres │ │ │ │ │ + field gets/sets a combined value │ │ │ │ │ + for │ │ │ │ │ + name-pres │ │ │ │ │ + and │ │ │ │ │ + num-pres │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The allowable values for the │ │ │ │ │ + name-charset │ │ │ │ │ + field are the following: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unknown │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-1 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Withdrawn │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-2 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-3 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-4 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-5 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-7 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO10646 Bmp String │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO10646 UTF-8 String │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets Redirecting data on the channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The allowable datatypes are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set, this will prevent the channel from sending out protocol │ │ │ │ │ + messages because of the value being set │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets Redirecting data on the channel. │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + orig-pres │ │ │ │ │ + , │ │ │ │ │ + from-pres │ │ │ │ │ + and │ │ │ │ │ + to-pres │ │ │ │ │ + fields get/set a combined value for the corresponding │ │ │ │ │ + ...-name-pres │ │ │ │ │ + and │ │ │ │ │ + ...-num-pres │ │ │ │ │ + fields. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The recognized values for the │ │ │ │ │ + reason │ │ │ │ │ + and │ │ │ │ │ + orig-reason │ │ │ │ │ + fields are the following: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Callee is Away │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Call Forwarding By The Called DTE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Call Forwarding Busy │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Call Forwarding No Reply │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Call Forwarding Unconditional │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Call Deflection │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Do Not Disturb │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Follow Me │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Called DTE Out-Of-Order │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send the call to voicemail │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Time of Day │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Callee is Unavailable │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unknown │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - live_dangerously │ │ │ │ │ - in │ │ │ │ │ - asterisk.conf │ │ │ │ │ - is set to │ │ │ │ │ - no │ │ │ │ │ - , this function can only be executed from the │ │ │ │ │ - dialplan, and not directly from external protocols. │ │ │ │ │ - │ │ │ │ │ + You can set a user defined reason string that SIP can │ │ │ │ │ + send/receive instead. The user defined reason string my need to be │ │ │ │ │ + quoted depending upon SIP or the peer's requirements. These strings │ │ │ │ │ + are treated as unknown by the non-SIP channel drivers. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + The allowable values for the │ │ │ │ │ + xxx-name-charset │ │ │ │ │ + field are the following: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unknown │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-1 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Withdrawn │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-2 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-3 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-4 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-5 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO8859-7 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO10646 Bmp String │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ISO10646 UTF-8 String │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - FILE │ │ │ │ │ - FILE_COUNT_LINE │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Return the name of a file. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Checks if an Asterisk module is loaded in memory. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Module name complete with │ │ │ │ │ + .so │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Return the base file name, given a full file path. │ │ │ │ │ - same => n,Set(basename=${BASENAME(/etc/asterisk/extensions.conf)}) │ │ │ │ │ - same => n,NoOp(${basename}) ; outputs extensions.conf │ │ │ │ │ + │ │ │ │ │ + Checks if a module is loaded. Use the full module name │ │ │ │ │ + as shown by the list in │ │ │ │ │ + module list │ │ │ │ │ + . │ │ │ │ │ + Returns │ │ │ │ │ + 1 │ │ │ │ │ + if module exists in memory, otherwise │ │ │ │ │ + 0 │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - DIRNAME │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Return the directory of a file. │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Evaluates the contents of a dialplan extension and returns it as a string. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Return the directory of a file, given a full file path. │ │ │ │ │ - same => n,Set(dirname=${DIRNAME(/etc/asterisk/extensions.conf)}) │ │ │ │ │ - same => n,NoOp(${dirname}) ; outputs /etc/asterisk │ │ │ │ │ + The EVAL_EXTEN function looks up a dialplan entry by context,extension,priority, │ │ │ │ │ + evaluates the contents of a Return statement to resolve any variable or function │ │ │ │ │ + references, and returns the result as a string. │ │ │ │ │ + You can use this function to create simple user-defined lookup tables or │ │ │ │ │ + user-defined functions. │ │ │ │ │ + [call-types] │ │ │ │ │ + exten => _1NNN,1,Return(internal) │ │ │ │ │ + exten => _NXXNXXXXXX,1,Return(external) │ │ │ │ │ + │ │ │ │ │ + [udf] │ │ │ │ │ + exten => calleridlen,1,Return(${LEN(${CALLERID(num)})}) │ │ │ │ │ + │ │ │ │ │ + [default] │ │ │ │ │ + exten => _X!,1,Verbose(Call type ${EVAL_EXTEN(call-types,${EXTEN},1)} - ${EVAL_EXTEN(udf,calleridlen,1)}) │ │ │ │ │ + │ │ │ │ │ + Any variables in the evaluated data will be resolved in the context of │ │ │ │ │ + that extension. For example, │ │ │ │ │ + ${EXTEN} │ │ │ │ │ + would refer to the │ │ │ │ │ + EVAL_EXTEN extension, not the extension in the context invoking the function. │ │ │ │ │ + This behavior is similar to other applications, e.g. │ │ │ │ │ + Gosub │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + same => n,Read(input,${EVAL_EXTEN(prompts,${CALLERID(num)},1)}) │ │ │ │ │ + │ │ │ │ │ + [prompts] │ │ │ │ │ + exten => _X!,1,Return(default) │ │ │ │ │ + exten => _20X,1,Return(welcome) │ │ │ │ │ + exten => _2XX,1,Return(${DB(promptsettings/${EXTEN})}) │ │ │ │ │ + exten => _3XX,1,Return(${ODBC_MYFUNC(${EXTEN})}) │ │ │ │ │ + Extensions on which EVAL_EXTEN is invoked are not different from other │ │ │ │ │ + extensions. However, the application at that extension is not executed. │ │ │ │ │ + Only the application data is parsed and evaluated. │ │ │ │ │ + A limitation of this function is that the application at the specified │ │ │ │ │ + extension isn't actually executed, and thus unlike a Gosub, you can't pass │ │ │ │ │ + arguments in the EVAL_EXTEN function. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - BASENAME │ │ │ │ │ + EVAL │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + speex │ │ │ │ │ + speex_preprocess │ │ │ │ │ + speexdsp │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Count the voicemails in a specified mailbox or mailboxes. │ │ │ │ │ + │ │ │ │ │ + Apply automatic gain control to audio on a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - A mailbox or list of mailboxes │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This can be either │ │ │ │ │ + rx │ │ │ │ │ + or │ │ │ │ │ + tx │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The AGC function will apply automatic gain control to the audio on the │ │ │ │ │ + channel that it is executed on. Using │ │ │ │ │ + rx │ │ │ │ │ + for audio received │ │ │ │ │ + and │ │ │ │ │ + tx │ │ │ │ │ + for audio transmitted to the channel. When using this │ │ │ │ │ + function you set a target audio level. It is primarily intended for use with │ │ │ │ │ + analog lines, but could be useful for other channels as well. The target volume │ │ │ │ │ + is set with a number between │ │ │ │ │ + 1-32768 │ │ │ │ │ + . The larger the number │ │ │ │ │ + the louder (more gain) the channel will receive. │ │ │ │ │ + │ │ │ │ │ + exten => 1,1,Set(AGC(rx)=8000) │ │ │ │ │ + exten => 1,2,Set(AGC(tx)=off) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Apply noise reduction to audio on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If not specified, defaults to │ │ │ │ │ - INBOX │ │ │ │ │ + This can be either │ │ │ │ │ + rx │ │ │ │ │ + or │ │ │ │ │ + tx │ │ │ │ │ + the values that can be set to this are either │ │ │ │ │ + on │ │ │ │ │ + and │ │ │ │ │ + off │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Count the number of voicemails in a specified mailbox, you could also specify │ │ │ │ │ - the mailbox │ │ │ │ │ - folder │ │ │ │ │ - . │ │ │ │ │ + The DENOISE function will apply noise reduction to audio on the channel │ │ │ │ │ + that it is executed on. It is very useful for noisy analog lines, especially │ │ │ │ │ + when adjusting gains or using AGC. Use │ │ │ │ │ + rx │ │ │ │ │ + for audio received from the channel │ │ │ │ │ + and │ │ │ │ │ + tx │ │ │ │ │ + to apply the filter to the audio being sent to the channel. │ │ │ │ │ │ │ │ │ │ - exten => s,1,Set(foo=${VMCOUNT(125@default)}) │ │ │ │ │ - An ampersand-separated list of mailboxes may be specified to count voicemails in │ │ │ │ │ - multiple mailboxes. If a folder is specified, this will apply to all mailboxes specified. │ │ │ │ │ - same => n,NoOp(${VMCOUNT(1234@default&1235@default&1236@default,INBOX)}) │ │ │ │ │ + exten => 1,1,Set(DENOISE(rx)=on) │ │ │ │ │ + exten => 1,2,Set(DENOISE(tx)=off) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - app_chanspy │ │ │ │ │ - func_cut │ │ │ │ │ - func_groupcount │ │ │ │ │ - func_uri │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Execute a periodic dialplan hook into the audio of a call. │ │ │ │ │ + │ │ │ │ │ + Intercepts hold frames on a channel and raises an event instead of passing the frame on │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - (On Read Only) Context for the hook extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - (On Read Only) The hook extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + View internal ast_frames as they are read and written on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A filter can be applied to the trace to limit what frames are viewed. This │ │ │ │ │ + filter can either be a │ │ │ │ │ + white │ │ │ │ │ + or │ │ │ │ │ + black │ │ │ │ │ + list │ │ │ │ │ + of frame types. When no filter type is present, │ │ │ │ │ + white │ │ │ │ │ + is │ │ │ │ │ + used. If no arguments are provided at all, all frames will be output. │ │ │ │ │ + │ │ │ │ │ + Below are the different types of frames that can be filtered. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - (On Read Only) Number of seconds in between hook runs. │ │ │ │ │ - Whole seconds only. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Examples: │ │ │ │ │ + exten => 1,1,Set(FRAME_TRACE(white)=DTMF_BEGIN,DTMF_END) │ │ │ │ │ + exten => 1,1,Set(FRAME_TRACE()=DTMF_BEGIN,DTMF_END) │ │ │ │ │ + exten => 1,1,Set(FRAME_TRACE(black)=DTMF_BEGIN,DTMF_END) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Return the Version info for this Asterisk. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The possible values are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A string of digits is returned, e.g. 10602 for 1.6.2 or 100300 for 10.3.0, │ │ │ │ │ + or 999999 when using a Git build. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The string representing the user's name whose account │ │ │ │ │ + was used to configure Asterisk, is returned. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The string representing the name of the host on which Asterisk was configured, is returned. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The string representing the type of machine on which Asterisk was configured, is returned. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The string representing the OS of the machine on which Asterisk was configured, is returned. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The string representing the date on which Asterisk was configured, is returned. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The string representing the kernel version of the machine on which Asterisk │ │ │ │ │ + was configured, is returned. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - (On Write Only) The hook ID. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If there are no arguments, return the version of Asterisk in this format: 18.12.0 │ │ │ │ │ + same => n,Set(junky=${VERSION()} ; sets junky to 18.12.0, or possibly GITMasterxxxxxx │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get or set a call completion configuration parameter for a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The allowable options are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - For example, you could use this function to enable playing │ │ │ │ │ - a periodic │ │ │ │ │ - beep │ │ │ │ │ - sound in a call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - same => n,Set(BEEPID=${PERIODIC_HOOK(hooks,beep,180)}) │ │ │ │ │ - same => n,Set(PERIODIC_HOOK(${BEEPID})=off) │ │ │ │ │ - same => n,Set(PERIODIC_HOOK(${BEEPID})=on) │ │ │ │ │ - It is important to note that the hook does not actually │ │ │ │ │ - run on the channel itself. It runs asynchronously on a new channel. │ │ │ │ │ - Any audio generated by the hook gets injected into the call for │ │ │ │ │ - the channel PERIODIC_HOOK() was set on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The hook dialplan will have two variables available. │ │ │ │ │ - HOOK_CHANNEL │ │ │ │ │ - is the channel the hook is │ │ │ │ │ - enabled on. │ │ │ │ │ - HOOK_ID │ │ │ │ │ - is the hook ID for │ │ │ │ │ - enabling or disabling the hook. │ │ │ │ │ + The CALLCOMPLETION function can be used to get or set a call │ │ │ │ │ + completion configuration parameter for a channel. Note that setting │ │ │ │ │ + a configuration parameter will only change the parameter for the │ │ │ │ │ + duration of the call. │ │ │ │ │ + │ │ │ │ │ + For more information see │ │ │ │ │ + doc/AST.pdf │ │ │ │ │ + . │ │ │ │ │ + For more information on call completion parameters, see │ │ │ │ │ + configs/ccss.conf.sample │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - iconv │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Converts charsets of strings. │ │ │ │ │ + │ │ │ │ │ + Checks the existence of a dialplan target. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Input charset │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Output charset │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function returns │ │ │ │ │ + 1 │ │ │ │ │ + if the target exits. Otherwise, it returns │ │ │ │ │ + 0 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Determine whether an extension exists or not. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Defaults to the current context │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - String to convert, from │ │ │ │ │ - in-charset │ │ │ │ │ - to │ │ │ │ │ - out-charset │ │ │ │ │ + Priority defaults to │ │ │ │ │ + 1 │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Converts string from │ │ │ │ │ - in-charset │ │ │ │ │ - into │ │ │ │ │ - out-charset │ │ │ │ │ + Returns a true value if the indicated │ │ │ │ │ + context │ │ │ │ │ + , │ │ │ │ │ + extension │ │ │ │ │ + , and │ │ │ │ │ + priority │ │ │ │ │ + exist. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function has been deprecated in favor of the │ │ │ │ │ + DIALPLAN_EXISTS() │ │ │ │ │ + function │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Choose a random number in a range. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Choose a random number between │ │ │ │ │ + min │ │ │ │ │ + and │ │ │ │ │ + max │ │ │ │ │ . │ │ │ │ │ - For available charsets, use │ │ │ │ │ - iconv -l │ │ │ │ │ - on your shell command line. │ │ │ │ │ + min │ │ │ │ │ + defaults to │ │ │ │ │ + 0 │ │ │ │ │ + , if not specified, while │ │ │ │ │ + max │ │ │ │ │ + defaults │ │ │ │ │ + to │ │ │ │ │ + RAND_MAX │ │ │ │ │ + (2147483647 on many systems). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Due to limitations within the API, ICONV will not currently work with │ │ │ │ │ - charsets with embedded NULLs. If found, the string will terminate. │ │ │ │ │ - │ │ │ │ │ + exten => s,1,Set(junky=${RAND(1,8)}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Computes an MD5 digest. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Computes an MD5 digest. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get information about a PJSIP AOR │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the AOR to query. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The configuration option for the AOR to query for. │ │ │ │ │ + Supported options are those fields on the │ │ │ │ │ + aor │ │ │ │ │ + object in │ │ │ │ │ + pjsip.conf │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 16.24.0 │ │ │ │ │ 18.10.0 │ │ │ │ │ @@ -17079,289 +18279,130 @@ │ │ │ │ │ │ │ │ │ │ exten => s,1,Set(UNSHIFT(array)=one,two,three) │ │ │ │ │ This would insert one, │ │ │ │ │ two, and three before the values stored in the variable │ │ │ │ │ "array". │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve a variable from a configuration file. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If there are multiple variables with the same name, you can specify │ │ │ │ │ - 0 │ │ │ │ │ - for the first item (default), │ │ │ │ │ - -1 │ │ │ │ │ - for the last │ │ │ │ │ - item, or any other number for that specific item. │ │ │ │ │ - -1 │ │ │ │ │ - is useful │ │ │ │ │ - when the variable is derived from a template and you want the effective value (the last │ │ │ │ │ - occurrence), not the value from the template (the first occurrence). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function reads a variable from an Asterisk configuration file. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get a field from a sorcery object │ │ │ │ │ + │ │ │ │ │ + Gets per-channel hangupcause information from the channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the module owning the sorcery instance. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The type of object to query. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The id of the object to query. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the field. │ │ │ │ │ + │ │ │ │ │ + The name of the channel for which to retrieve cause information. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Fields that have multiple occurrences may be retrieved in two ways. │ │ │ │ │ + │ │ │ │ │ + Parameter describing which type of information is requested. Types are: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns all matching fields concatenated │ │ │ │ │ - in a single string separated by │ │ │ │ │ - separator │ │ │ │ │ - which defaults to │ │ │ │ │ - , │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Technology-specific cause information │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns the nth occurrence of the field │ │ │ │ │ - as specified by │ │ │ │ │ - occurrence_number │ │ │ │ │ - which defaults to │ │ │ │ │ - 1 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Translated Asterisk cause code │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The default is │ │ │ │ │ - concat │ │ │ │ │ - with separator │ │ │ │ │ - , │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specifies either the separator for │ │ │ │ │ - concat │ │ │ │ │ - or the occurrence number for │ │ │ │ │ - single │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Gets technology-specific or translated Asterisk cause code information │ │ │ │ │ + from the channel for the specified channel that resulted from a dial. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + HANGUPCAUSE_KEYS │ │ │ │ │ + HangupCauseClear │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Computes a SHA1 digest. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Input string │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Gets the list of channels for which hangup causes are available. │ │ │ │ │ │ │ │ │ │ - Generate a SHA1 digest via the SHA1 algorythm. │ │ │ │ │ - exten => s,1,Set(sha1hash=${SHA1(junky)}) │ │ │ │ │ - │ │ │ │ │ - The example above sets the asterisk variable sha1hash to the string │ │ │ │ │ - 60fa5675b9303eb62f99a9cd47f9f5837d18f9a0 │ │ │ │ │ - which is known as its hash │ │ │ │ │ - │ │ │ │ │ + Returns a comma-separated list of channel names to be used with the HANGUPCAUSE function. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + HANGUPCAUSE │ │ │ │ │ + HangupCauseClear │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Clears hangup cause information from the channel that is available through HANGUPCAUSE. │ │ │ │ │ + │ │ │ │ │ + Clears all channel-specific hangup cause information from the channel. │ │ │ │ │ + This is never done automatically (i.e. for new Dial()s). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + HANGUPCAUSE │ │ │ │ │ + HANGUPCAUSE_KEYS │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get or Set a presence state. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Get an extension's state. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - The provider of the presence, such as │ │ │ │ │ - CustomPresence │ │ │ │ │ + If it is not specified defaults to │ │ │ │ │ + default │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Which field of the presence state information is wanted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - The PRESENCE_STATE function can be used to retrieve the presence from any │ │ │ │ │ - presence provider. For example: │ │ │ │ │ - NoOp(SIP/mypeer has presence ${PRESENCE_STATE(SIP/mypeer,value)}) │ │ │ │ │ - NoOp(Conference number 1234 has presence message ${PRESENCE_STATE(MeetMe:1234,message)}) │ │ │ │ │ - │ │ │ │ │ - The PRESENCE_STATE function can also be used to set custom presence state from │ │ │ │ │ - the dialplan. The │ │ │ │ │ - CustomPresence: │ │ │ │ │ - prefix must be used. For example: │ │ │ │ │ - │ │ │ │ │ - Set(PRESENCE_STATE(CustomPresence:lamp1)=away,temporary,Out to lunch) │ │ │ │ │ - Set(PRESENCE_STATE(CustomPresence:lamp2)=dnd,,Trying to get work done) │ │ │ │ │ - Set(PRESENCE_STATE(CustomPresence:lamp3)=xa,T24gdmFjYXRpb24=,,e) │ │ │ │ │ - Set(BASE64_LAMP3_PRESENCE=${PRESENCE_STATE(CustomPresence:lamp3,subtype,e)}) │ │ │ │ │ - You can subscribe to the status of a custom presence state using a hint in │ │ │ │ │ - the dialplan: │ │ │ │ │ - exten => 1234,hint,,CustomPresence:lamp1 │ │ │ │ │ - The possible values for both uses of this function are: │ │ │ │ │ - not_set | unavailable | available | away | xa | chat | dnd │ │ │ │ │ + The EXTENSION_STATE function can be used to retrieve the state from any │ │ │ │ │ + hinted extension. For example: │ │ │ │ │ + NoOp(1234@default has state ${EXTENSION_STATE(1234)}) │ │ │ │ │ + NoOp(4567@home has state ${EXTENSION_STATE(4567@home)}) │ │ │ │ │ + The possible values returned by this function are: │ │ │ │ │ + UNKNOWN | NOT_INUSE | INUSE | BUSY | INVALID | UNAVAILABLE | RINGING | │ │ │ │ │ + RINGINUSE | HOLDINUSE | ONHOLD │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 12.4.0 │ │ │ │ │ - │ │ │ │ │ - Raises notifications when Asterisk detects silence or talking on a channel. │ │ │ │ │ + │ │ │ │ │ + Pitch shift both tx and rx audio streams on a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Direction can be either │ │ │ │ │ + rx │ │ │ │ │ + , │ │ │ │ │ + tx │ │ │ │ │ + , or │ │ │ │ │ + both │ │ │ │ │ + . The direction can either be set to a valid floating │ │ │ │ │ + point number between 0.1 and 4.0 or one of the enum values listed below. A value │ │ │ │ │ + of 1.0 has no effect. Greater than 1 raises the pitch. Lower than 1 lowers │ │ │ │ │ + the pitch. │ │ │ │ │ + │ │ │ │ │ + The pitch amount can also be set by the following values │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - The TALK_DETECT function enables events on the channel │ │ │ │ │ - it is applied to. These events can be emitted over AMI, ARI, and │ │ │ │ │ - potentially other Asterisk modules that listen for the internal │ │ │ │ │ - notification. │ │ │ │ │ - │ │ │ │ │ - The function has two parameters that can optionally be passed │ │ │ │ │ - when │ │ │ │ │ - set │ │ │ │ │ - on a channel: │ │ │ │ │ - dsp_talking_threshold │ │ │ │ │ - and │ │ │ │ │ - dsp_silence_threshold │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - dsp_talking_threshold │ │ │ │ │ - is the time in milliseconds of sound │ │ │ │ │ - above what the dsp has established as base line silence for a user │ │ │ │ │ - before a user is considered to be talking. By default, the value of │ │ │ │ │ - silencethreshold │ │ │ │ │ - from │ │ │ │ │ - dsp.conf │ │ │ │ │ - is used. If this value is set too tight events may be │ │ │ │ │ - falsely triggered by variants in room noise. │ │ │ │ │ - │ │ │ │ │ - Valid values are 1 through 2^31. │ │ │ │ │ - │ │ │ │ │ - dsp_silence_threshold │ │ │ │ │ - is the time in milliseconds of sound │ │ │ │ │ - falling within what the dsp has established as baseline silence before │ │ │ │ │ - a user is considered be silent. If this value is set too low events │ │ │ │ │ - indicating the user has stopped talking may get falsely sent out when │ │ │ │ │ - the user briefly pauses during mid sentence. │ │ │ │ │ - │ │ │ │ │ - The best way to approach this option is to set it slightly above │ │ │ │ │ - the maximum amount of ms of silence a user may generate during │ │ │ │ │ - natural speech. │ │ │ │ │ - By default this value is 2500ms. Valid values are 1 │ │ │ │ │ - through 2^31. │ │ │ │ │ - same => n,Set(TALK_DETECT(set)=) │ │ │ │ │ - same => n,Set(TALK_DETECT(set)=1200) │ │ │ │ │ - same => n,Set(TALK_DETECT(remove)=) │ │ │ │ │ - same => n,Set(TALK_DETECT(set)=,128) │ │ │ │ │ - This function will set the following variables: │ │ │ │ │ - │ │ │ │ │ - The TALK_DETECT function uses an audiohook to inspect the │ │ │ │ │ - voice media frames on a channel. Other functions, such as JITTERBUFFER, │ │ │ │ │ - DENOISE, and AGC use a similar mechanism. Audiohooks are processed │ │ │ │ │ - in the order in which they are placed on the channel. As such, │ │ │ │ │ - it typically makes sense to place functions that modify the voice │ │ │ │ │ - media data prior to placing the TALK_DETECT function, as this will │ │ │ │ │ - yield better results. │ │ │ │ │ - │ │ │ │ │ - same => n,Set(DENOISE(rx)=on) ; Denoise received audio │ │ │ │ │ - same => n,Set(TALK_DETECT(set)=) ; Perform talk detection on the denoised received audio │ │ │ │ │ + Examples: │ │ │ │ │ + exten => 1,1,Set(PITCH_SHIFT(tx)=highest) │ │ │ │ │ + exten => 1,1,Set(PITCH_SHIFT(rx)=higher) │ │ │ │ │ + exten => 1,1,Set(PITCH_SHIFT(both)=high) │ │ │ │ │ + exten => 1,1,Set(PITCH_SHIFT(rx)=low) │ │ │ │ │ + exten => 1,1,Set(PITCH_SHIFT(tx)=lower) │ │ │ │ │ + exten => 1,1,Set(PITCH_SHIFT(both)=lowest) │ │ │ │ │ + exten => 1,1,Set(PITCH_SHIFT(rx)=0.8) │ │ │ │ │ + exten => 1,1,Set(PITCH_SHIFT(tx)=1.5) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ res_curl │ │ │ │ │ curl │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ @@ -17551,483 +18592,86 @@ │ │ │ │ │ settings will override global settings. Only HTTP headers are added instead of overriding │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ CURL │ │ │ │ │ HASH │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jitterbuffers are constructed in two different ways. │ │ │ │ │ - The first always take four arguments: │ │ │ │ │ - max_size │ │ │ │ │ - , │ │ │ │ │ - resync_threshold │ │ │ │ │ - , │ │ │ │ │ - target_extra │ │ │ │ │ - , │ │ │ │ │ - and │ │ │ │ │ - sync_video │ │ │ │ │ - . │ │ │ │ │ - Alternatively, a single argument of │ │ │ │ │ - default │ │ │ │ │ - can be provided, │ │ │ │ │ - which will construct the default jitterbuffer for the given │ │ │ │ │ - jitterbuffer type │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - The arguments are: │ │ │ │ │ - │ │ │ │ │ - max_size │ │ │ │ │ - : Length in milliseconds of the buffer. │ │ │ │ │ - Defaults to 200 ms. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - resync_threshold │ │ │ │ │ - : The length in milliseconds over │ │ │ │ │ - which a timestamp difference will result in resyncing the jitterbuffer. │ │ │ │ │ - Defaults to 1000ms. │ │ │ │ │ - │ │ │ │ │ - target_extra: This option only affects the adaptive jitterbuffer. It represents │ │ │ │ │ - the amount time in milliseconds by which the new jitter buffer will pad its size. │ │ │ │ │ - Defaults to 40ms. │ │ │ │ │ - sync_video: This option enables video synchronization with the audio stream. It can be │ │ │ │ │ - turned on and off. Defaults to off. │ │ │ │ │ - exten => 1,1,Set(JITTERBUFFER(fixed)=default) │ │ │ │ │ - exten => 1,1,Set(JITTERBUFFER(fixed)=200) │ │ │ │ │ - exten => 1,1,Set(JITTERBUFFER(fixed)=200,,,yes) │ │ │ │ │ - exten => 1,1,Set(JITTERBUFFER(fixed)=200,1500) │ │ │ │ │ - exten => 1,1,Set(JITTERBUFFER(adaptive)=default) │ │ │ │ │ - exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,60) │ │ │ │ │ - exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,,yes) │ │ │ │ │ - exten => 1,1,Set(JITTERBUFFER(fixed)=default) │ │ │ │ │ - exten => 1,n,Set(JITTERBUFFER(disabled)=) │ │ │ │ │ - │ │ │ │ │ - If a channel specifies a jitterbuffer due to channel driver configuration and │ │ │ │ │ - the JITTERBUFFER function has set a jitterbuffer for that channel, the jitterbuffer set by │ │ │ │ │ - the JITTERBUFFER function will take priority and the jitterbuffer set by the channel │ │ │ │ │ - configuration will not be applied. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Scrambles audio on a channel. │ │ │ │ │ + │ │ │ │ │ + Manages a group of users for dialing. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The operation name, possible values are: │ │ │ │ │ │ │ │ │ │ - Must be │ │ │ │ │ - TX │ │ │ │ │ - or │ │ │ │ │ - RX │ │ │ │ │ - to limit to a specific direction, or │ │ │ │ │ - both │ │ │ │ │ - for both directions. │ │ │ │ │ - remove │ │ │ │ │ - will remove an existing scrambler. │ │ │ │ │ + add │ │ │ │ │ + - add a channel name or interface (write-only) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Scrambles audio on a channel using whole spectrum inversion. │ │ │ │ │ - This is not intended to be used for securely scrambling │ │ │ │ │ - audio. It merely renders obfuscates audio on a channel │ │ │ │ │ - to render it unintelligible, as a privacy enhancement. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ChanSpy │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - View internal ast_frames as they are read and written on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - A filter can be applied to the trace to limit what frames are viewed. This │ │ │ │ │ - filter can either be a │ │ │ │ │ - white │ │ │ │ │ - or │ │ │ │ │ - black │ │ │ │ │ - list │ │ │ │ │ - of frame types. When no filter type is present, │ │ │ │ │ - white │ │ │ │ │ - is │ │ │ │ │ - used. If no arguments are provided at all, all frames will be output. │ │ │ │ │ + del │ │ │ │ │ + - remove a channel name or interface (write-only) │ │ │ │ │ │ │ │ │ │ - Below are the different types of frames that can be filtered. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Examples: │ │ │ │ │ - exten => 1,1,Set(FRAME_TRACE(white)=DTMF_BEGIN,DTMF_END) │ │ │ │ │ - exten => 1,1,Set(FRAME_TRACE()=DTMF_BEGIN,DTMF_END) │ │ │ │ │ - exten => 1,1,Set(FRAME_TRACE(black)=DTMF_BEGIN,DTMF_END) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Evaluates the contents of a dialplan extension and returns it as a string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The EVAL_EXTEN function looks up a dialplan entry by context,extension,priority, │ │ │ │ │ - evaluates the contents of a Return statement to resolve any variable or function │ │ │ │ │ - references, and returns the result as a string. │ │ │ │ │ - You can use this function to create simple user-defined lookup tables or │ │ │ │ │ - user-defined functions. │ │ │ │ │ - [call-types] │ │ │ │ │ - exten => _1NNN,1,Return(internal) │ │ │ │ │ - exten => _NXXNXXXXXX,1,Return(external) │ │ │ │ │ - │ │ │ │ │ - [udf] │ │ │ │ │ - exten => calleridlen,1,Return(${LEN(${CALLERID(num)})}) │ │ │ │ │ - │ │ │ │ │ - [default] │ │ │ │ │ - exten => _X!,1,Verbose(Call type ${EVAL_EXTEN(call-types,${EXTEN},1)} - ${EVAL_EXTEN(udf,calleridlen,1)}) │ │ │ │ │ - │ │ │ │ │ - Any variables in the evaluated data will be resolved in the context of │ │ │ │ │ - that extension. For example, │ │ │ │ │ - ${EXTEN} │ │ │ │ │ - would refer to the │ │ │ │ │ - EVAL_EXTEN extension, not the extension in the context invoking the function. │ │ │ │ │ - This behavior is similar to other applications, e.g. │ │ │ │ │ - Gosub │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - same => n,Read(input,${EVAL_EXTEN(prompts,${CALLERID(num)},1)}) │ │ │ │ │ - │ │ │ │ │ - [prompts] │ │ │ │ │ - exten => _X!,1,Return(default) │ │ │ │ │ - exten => _20X,1,Return(welcome) │ │ │ │ │ - exten => _2XX,1,Return(${DB(promptsettings/${EXTEN})}) │ │ │ │ │ - exten => _3XX,1,Return(${ODBC_MYFUNC(${EXTEN})}) │ │ │ │ │ - Extensions on which EVAL_EXTEN is invoked are not different from other │ │ │ │ │ - extensions. However, the application at that extension is not executed. │ │ │ │ │ - Only the application data is parsed and evaluated. │ │ │ │ │ - A limitation of this function is that the application at the specified │ │ │ │ │ - extension isn't actually executed, and thus unlike a Gosub, you can't pass │ │ │ │ │ - arguments in the EVAL_EXTEN function. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - EVAL │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Attempt to obtain a named mutex. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Attempts to grab a named lock exclusively, and prevents other channels from │ │ │ │ │ - obtaining the same lock. LOCK will wait for the lock to become available. │ │ │ │ │ - Returns │ │ │ │ │ - 1 │ │ │ │ │ - if the lock was obtained or │ │ │ │ │ - 0 │ │ │ │ │ - on error. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - To avoid the possibility of a deadlock, LOCK will only attempt to │ │ │ │ │ - obtain the lock for 3 seconds if the channel already has another lock. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - live_dangerously │ │ │ │ │ - in │ │ │ │ │ - asterisk.conf │ │ │ │ │ - is set to │ │ │ │ │ - no │ │ │ │ │ - , this function can only be executed from the │ │ │ │ │ - dialplan, and not directly from external protocols. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Attempt to obtain a named mutex. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Attempts to grab a named lock exclusively, and prevents other channels │ │ │ │ │ - from obtaining the same lock. Returns │ │ │ │ │ - 1 │ │ │ │ │ - if the lock was │ │ │ │ │ - available or │ │ │ │ │ - 0 │ │ │ │ │ - otherwise. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - live_dangerously │ │ │ │ │ - in │ │ │ │ │ - asterisk.conf │ │ │ │ │ - is set to │ │ │ │ │ - no │ │ │ │ │ - , this function can only be executed from the │ │ │ │ │ - dialplan, and not directly from external protocols. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unlocks a named mutex. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Presents an interface meant to be used in concert with the Dial │ │ │ │ │ + application, by presenting a list of channels which should be dialled when │ │ │ │ │ + referenced. │ │ │ │ │ │ │ │ │ │ - Unlocks a previously locked mutex. Returns │ │ │ │ │ - 1 │ │ │ │ │ - if the channel │ │ │ │ │ - had a lock or │ │ │ │ │ - 0 │ │ │ │ │ - otherwise. │ │ │ │ │ + When DIALGROUP is read from, the argument is interpreted as the particular │ │ │ │ │ + group │ │ │ │ │ + for which a dial should be attempted. When DIALGROUP is written to │ │ │ │ │ + with no arguments, the entire list is replaced with the argument specified. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - It is generally unnecessary to unlock in a hangup routine, as any locks │ │ │ │ │ - held are automatically freed when the channel is destroyed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - live_dangerously │ │ │ │ │ - in │ │ │ │ │ - asterisk.conf │ │ │ │ │ - is set to │ │ │ │ │ - no │ │ │ │ │ - , this function can only be executed from the │ │ │ │ │ - dialplan, and not directly from external protocols. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Functionality is similar to a queue, except that when no interfaces are │ │ │ │ │ + available, execution may continue in the dialplan. This is useful when │ │ │ │ │ + you want certain people to be the first to answer any calls, with immediate │ │ │ │ │ + fallback to a queue when the front line people are busy or unavailable, but │ │ │ │ │ + you still want front line people to log in and out of that group, just like │ │ │ │ │ + a queue. │ │ │ │ │ + exten => 1,1,Set(DIALGROUP(mygroup,add)=SIP/10) │ │ │ │ │ + same => n,Set(DIALGROUP(mygroup,add)=SIP/20) │ │ │ │ │ + same => n,Dial(${DIALGROUP(mygroup)}) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - RealTime Read/Write Functions. │ │ │ │ │ + │ │ │ │ │ + Encodes a string to URI-safe encoding according to RFC 2396. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Use │ │ │ │ │ - delim1 │ │ │ │ │ - with │ │ │ │ │ - delim2 │ │ │ │ │ - on │ │ │ │ │ - read and │ │ │ │ │ - field │ │ │ │ │ - without │ │ │ │ │ - delim2 │ │ │ │ │ - on │ │ │ │ │ - write │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If we are reading and │ │ │ │ │ - delim1 │ │ │ │ │ - is not specified, defaults │ │ │ │ │ - to │ │ │ │ │ - , │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Parameter only used when reading, if not specified defaults to │ │ │ │ │ - = │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Input string to be encoded. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function will read or write values from/to a RealTime repository. │ │ │ │ │ - REALTIME(....) will read names/values from the repository, and │ │ │ │ │ - REALTIME(....)= will write a new value/field to the repository. On a │ │ │ │ │ - read, this function returns a delimited text string. The name/value │ │ │ │ │ - pairs are delimited by │ │ │ │ │ - delim1 │ │ │ │ │ - , and the name and value are delimited │ │ │ │ │ - between each other with delim2. │ │ │ │ │ - If there is no match, NULL will be returned by the function. │ │ │ │ │ - On a write, this function will always return NULL. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - REALTIME_STORE │ │ │ │ │ - REALTIME_DESTROY │ │ │ │ │ - REALTIME_FIELD │ │ │ │ │ - REALTIME_HASH │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - RealTime Store Function. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function will insert a new set of values into the RealTime repository. │ │ │ │ │ - If RT engine provides an unique ID of the stored record, REALTIME_STORE(...)=.. │ │ │ │ │ - creates channel variable named RTSTOREID, which contains value of unique ID. │ │ │ │ │ - Currently, a maximum of 30 field/value pairs is supported. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - REALTIME │ │ │ │ │ - REALTIME_DESTROY │ │ │ │ │ - REALTIME_FIELD │ │ │ │ │ - REALTIME_HASH │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - RealTime Destroy Function. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function acts in the same way as REALTIME(....) does, except that │ │ │ │ │ - it destroys the matched record in the RT engine. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - live_dangerously │ │ │ │ │ - in │ │ │ │ │ - asterisk.conf │ │ │ │ │ - is set to │ │ │ │ │ - no │ │ │ │ │ - , this function can only be read from the │ │ │ │ │ - dialplan, and not directly from external protocols. It can, however, be │ │ │ │ │ - executed as a write operation ( │ │ │ │ │ - REALTIME_DESTROY(family, fieldmatch)=ignored │ │ │ │ │ - ) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - REALTIME │ │ │ │ │ - REALTIME_STORE │ │ │ │ │ - REALTIME_FIELD │ │ │ │ │ - REALTIME_HASH │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - RealTime query function. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function retrieves a single item, │ │ │ │ │ - fieldname │ │ │ │ │ - from the RT engine, where │ │ │ │ │ - fieldmatch │ │ │ │ │ - contains the value │ │ │ │ │ - matchvalue │ │ │ │ │ - . When written to, the REALTIME_FIELD() function │ │ │ │ │ - performs identically to the REALTIME() function. │ │ │ │ │ + Returns the encoded string defined in │ │ │ │ │ + data │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - REALTIME │ │ │ │ │ - REALTIME_STORE │ │ │ │ │ - REALTIME_DESTROY │ │ │ │ │ - REALTIME_HASH │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - RealTime query function. │ │ │ │ │ + │ │ │ │ │ + Decodes a URI-encoded string according to RFC 2396. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Input string to be decoded. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function retrieves a single record from the RT engine, where │ │ │ │ │ - fieldmatch │ │ │ │ │ - contains the value │ │ │ │ │ - matchvalue │ │ │ │ │ - and formats the output suitably, such that │ │ │ │ │ - it can be assigned to the HASH() function. The HASH() function then provides │ │ │ │ │ - a suitable method for retrieving each field value of the record. │ │ │ │ │ + Returns the decoded URI-encoded │ │ │ │ │ + data │ │ │ │ │ + string. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - REALTIME │ │ │ │ │ - REALTIME_STORE │ │ │ │ │ - REALTIME_DESTROY │ │ │ │ │ - REALTIME_FIELD │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ res_crypto │ │ │ │ │ crypto │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -18064,65 +18708,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ AES_ENCRYPT │ │ │ │ │ BASE64_ENCODE │ │ │ │ │ BASE64_DECODE │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets timeouts on the channel. Timeout values are in seconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The timeout that will be manipulated. The possible timeout types │ │ │ │ │ - are: │ │ │ │ │ - absolute │ │ │ │ │ - , │ │ │ │ │ - digit │ │ │ │ │ - or │ │ │ │ │ - response │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The timeouts that can be manipulated are: │ │ │ │ │ - │ │ │ │ │ - absolute │ │ │ │ │ - : The absolute maximum amount of time permitted for a call. │ │ │ │ │ - Setting of 0 disables the timeout. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - digit │ │ │ │ │ - : The maximum amount of time permitted between digits when the │ │ │ │ │ - user is typing in an extension. When this timeout expires, │ │ │ │ │ - after the user has started to type in an extension, the │ │ │ │ │ - extension will be considered complete, and will be │ │ │ │ │ - interpreted. Note that if an extension typed in is valid, │ │ │ │ │ - it will not have to timeout to be tested, so typically at │ │ │ │ │ - the expiry of this timeout, the extension will be considered │ │ │ │ │ - invalid (and thus control would be passed to the │ │ │ │ │ - i │ │ │ │ │ - extension, or if it doesn't exist the call would be │ │ │ │ │ - terminated). The default timeout is 5 seconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - response │ │ │ │ │ - : The maximum amount of time permitted after falling through a │ │ │ │ │ - series of priorities for a channel in which the user may │ │ │ │ │ - begin typing an extension. If the user does not type an │ │ │ │ │ - extension in this amount of time, control will pass to the │ │ │ │ │ - t │ │ │ │ │ - extension if it exists, and if not the call would be │ │ │ │ │ - terminated. The default timeout is 10 seconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Counts the number of channels in the specified group. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -18173,640 +18766,317 @@ │ │ │ │ │ │ │ │ │ │ Gets a list of the groups set on a channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Gets a list of the groups set on a channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gets or sets Caller*ID data on the channel. │ │ │ │ │ + │ │ │ │ │ + Get or Set a device state. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The allowable datatypes are: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optional Caller*ID to parse instead of using the Caller*ID from the │ │ │ │ │ - channel. This parameter is only optional when reading the Caller*ID. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Gets or sets Caller*ID data on the channel. Uses channel callerid by │ │ │ │ │ - default or optional callerid, if specified. │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - pres │ │ │ │ │ - field gets/sets a combined value │ │ │ │ │ - for │ │ │ │ │ - name-pres │ │ │ │ │ - and │ │ │ │ │ - num-pres │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + The DEVICE_STATE function can be used to retrieve the device state from any │ │ │ │ │ + device state provider. For example: │ │ │ │ │ + NoOp(SIP/mypeer has state ${DEVICE_STATE(SIP/mypeer)}) │ │ │ │ │ + NoOp(Conference number 1234 has state ${DEVICE_STATE(MeetMe:1234)}) │ │ │ │ │ │ │ │ │ │ - The allowable values for the │ │ │ │ │ - name-charset │ │ │ │ │ - field are the following: │ │ │ │ │ + The DEVICE_STATE function can also be used to set custom device state from │ │ │ │ │ + the dialplan. The │ │ │ │ │ + Custom: │ │ │ │ │ + prefix must be used. For example: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unknown │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-1 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Withdrawn │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-2 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-3 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-4 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-5 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-7 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO10646 Bmp String │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO10646 UTF-8 String │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets Caller*ID presentation on the channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets Caller*ID presentation on the channel. │ │ │ │ │ - This function is deprecated in favor of CALLERID(num-pres) │ │ │ │ │ - and CALLERID(name-pres) or CALLERID(pres) to get/set both │ │ │ │ │ - at once. │ │ │ │ │ - The following values are valid: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Presentation Allowed, Not Screened. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Presentation Allowed, Passed Screen. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Presentation Allowed, Failed Screen. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Presentation Allowed, Network Number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Presentation Prohibited, Not Screened. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Presentation Prohibited, Passed Screen. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Presentation Prohibited, Failed Screen. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Presentation Prohibited, Network Number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number Unavailable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Set(DEVICE_STATE(Custom:lamp1)=BUSY) │ │ │ │ │ + Set(DEVICE_STATE(Custom:lamp2)=NOT_INUSE) │ │ │ │ │ + You can subscribe to the status of a custom device state using a hint in │ │ │ │ │ + the dialplan: │ │ │ │ │ + exten => 1234,hint,Custom:lamp1 │ │ │ │ │ + The possible values for both uses of this function are: │ │ │ │ │ + UNKNOWN | NOT_INUSE | INUSE | BUSY | INVALID | UNAVAILABLE | RINGING | │ │ │ │ │ + RINGINUSE | ONHOLD │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gets or sets Connected Line data on the channel. │ │ │ │ │ + │ │ │ │ │ + Get the devices set for a dialplan hint. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The allowable datatypes are: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If set, this will prevent the channel from sending out protocol │ │ │ │ │ - messages because of the value being set │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Gets or sets Connected Line data on the channel. │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - pres │ │ │ │ │ - field gets/sets a combined value │ │ │ │ │ - for │ │ │ │ │ - name-pres │ │ │ │ │ - and │ │ │ │ │ - num-pres │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The allowable values for the │ │ │ │ │ - name-charset │ │ │ │ │ - field are the following: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unknown │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-1 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Withdrawn │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-2 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-3 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-4 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-5 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-7 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO10646 Bmp String │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO10646 UTF-8 String │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + The HINT function can be used to retrieve the list of devices that are │ │ │ │ │ + mapped to a dialplan hint. │ │ │ │ │ + same => n,NoOp(Hint for Extension 1234 is ${HINT(1234)}) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gets or sets Redirecting data on the channel. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Performs Mathematical Functions. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The allowable datatypes are: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is of the form: │ │ │ │ │ + number1 │ │ │ │ │ + op │ │ │ │ │ + number2 │ │ │ │ │ + where the possible values for │ │ │ │ │ + op │ │ │ │ │ + are: │ │ │ │ │ + │ │ │ │ │ + +,-,/,*,%,<<,>>,^,AND,OR,XOR,<,>,<=,>=,== (and behave as their C equivalents) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If set, this will prevent the channel from sending out protocol │ │ │ │ │ - messages because of the value being set │ │ │ │ │ + │ │ │ │ │ + Wanted type of result: │ │ │ │ │ + f, float - float(default) │ │ │ │ │ + i, int - integer │ │ │ │ │ + h, hex - hex │ │ │ │ │ + c, char - char │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Gets or sets Redirecting data on the channel. │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - orig-pres │ │ │ │ │ - , │ │ │ │ │ - from-pres │ │ │ │ │ - and │ │ │ │ │ - to-pres │ │ │ │ │ - fields get/set a combined value for the corresponding │ │ │ │ │ - ...-name-pres │ │ │ │ │ - and │ │ │ │ │ - ...-num-pres │ │ │ │ │ - fields. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The recognized values for the │ │ │ │ │ - reason │ │ │ │ │ - and │ │ │ │ │ - orig-reason │ │ │ │ │ - fields are the following: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Callee is Away │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Call Forwarding By The Called DTE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Call Forwarding Busy │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Call Forwarding No Reply │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Call Forwarding Unconditional │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Call Deflection │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Do Not Disturb │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Follow Me │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Called DTE Out-Of-Order │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send the call to voicemail │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Time of Day │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Callee is Unavailable │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unknown │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - You can set a user defined reason string that SIP can │ │ │ │ │ - send/receive instead. The user defined reason string my need to be │ │ │ │ │ - quoted depending upon SIP or the peer's requirements. These strings │ │ │ │ │ - are treated as unknown by the non-SIP channel drivers. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - The allowable values for the │ │ │ │ │ - xxx-name-charset │ │ │ │ │ - field are the following: │ │ │ │ │ + Performs mathematical functions based on two parameters and an operator. The returned │ │ │ │ │ + value type is │ │ │ │ │ + type │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unknown │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-1 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Withdrawn │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-2 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-3 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-4 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-5 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO8859-7 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO10646 Bmp String │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ISO10646 UTF-8 String │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + same => n,Set(i=${MATH(123%16,int)}) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Encode a string in base64. │ │ │ │ │ + │ │ │ │ │ + Increments the value of a variable, while returning the updated value to the dialplan │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Input string │ │ │ │ │ + │ │ │ │ │ + The variable name to be manipulated, without the braces. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns the base64 string. │ │ │ │ │ + Increments the value of a variable, while returning the updated value to the dialplan │ │ │ │ │ + Example: INC(MyVAR) - Increments MyVar │ │ │ │ │ + Note: INC(${MyVAR}) - Is wrong, as INC expects the variable name, not its value │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - BASE64_DECODE │ │ │ │ │ - AES_DECRYPT │ │ │ │ │ - AES_ENCRYPT │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Decode a base64 string. │ │ │ │ │ + │ │ │ │ │ + Decrements the value of a variable, while returning the updated value to the dialplan │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Input string. │ │ │ │ │ + │ │ │ │ │ + The variable name to be manipulated, without the braces. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns the plain text string. │ │ │ │ │ + Decrements the value of a variable, while returning the updated value to the dialplan │ │ │ │ │ + same => n,NoOp(${DEC(MyVAR)}) │ │ │ │ │ + │ │ │ │ │ + DEC(${MyVAR}) is wrong, as DEC expects the variable name, not its value │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - BASE64_ENCODE │ │ │ │ │ - AES_DECRYPT │ │ │ │ │ - AES_ENCRYPT │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Checks if an Asterisk module is loaded in memory. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.19.0 │ │ │ │ │ + 18.5.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Returns the minimum of two numbers. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Module name complete with │ │ │ │ │ - .so │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Checks if a module is loaded. Use the full module name │ │ │ │ │ - as shown by the list in │ │ │ │ │ - module list │ │ │ │ │ + Returns the minimum of two numbers │ │ │ │ │ + num1 │ │ │ │ │ + and │ │ │ │ │ + num2 │ │ │ │ │ . │ │ │ │ │ - Returns │ │ │ │ │ - 1 │ │ │ │ │ - if module exists in memory, otherwise │ │ │ │ │ - 0 │ │ │ │ │ │ │ │ │ │ + same => n,Set(min=${MIN(7,4)}) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Read from or write to the Asterisk database. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.19.0 │ │ │ │ │ + 18.5.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Returns the maximum of two numbers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function will read from or write a value to the Asterisk database. On a │ │ │ │ │ - read, this function returns the corresponding value from the database, or blank │ │ │ │ │ - if it does not exist. Reading a database value will also set the variable │ │ │ │ │ - DB_RESULT. If you wish to find out if an entry exists, use the DB_EXISTS │ │ │ │ │ - function. │ │ │ │ │ + │ │ │ │ │ + Returns the maximum of two numbers │ │ │ │ │ + num1 │ │ │ │ │ + and │ │ │ │ │ + num2 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + same => n,Set(max=${MAX(4,7)}) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - DBdel │ │ │ │ │ - DB_DELETE │ │ │ │ │ - DBdeltree │ │ │ │ │ - DB_EXISTS │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Check to see if a key exists in the Asterisk database. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.19.0 │ │ │ │ │ + 18.5.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Returns absolute value of a number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function will check to see if a key exists in the Asterisk │ │ │ │ │ - database. If it exists, the function will return │ │ │ │ │ - 1 │ │ │ │ │ - . If not, │ │ │ │ │ - it will return │ │ │ │ │ - 0 │ │ │ │ │ - . Checking for existence of a database key will │ │ │ │ │ - also set the variable DB_RESULT to the key's value if it exists. │ │ │ │ │ + Returns the absolute value of a number │ │ │ │ │ + num │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ + same => n,Set(absval=${ABS(-13)}) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - DB │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Obtain a list of keys within the Asterisk database. │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.21.0 │ │ │ │ │ + 18.7.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Returns the ampersand-delimited file names that would be played by the Say applications (e.g. SayAlpha, SayDigits). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The value to be translated to filenames. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say application type. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Files played by SayAlpha(). Default if none is specified. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Files played by SayDigits(). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Files played by SayMoney(). Currently supported for English and US dollars only. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Files played by SayNumber(). Currently supported for English only. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Files played by SayOrdinal(). Currently supported for English only. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Files played by SayPhonetic(). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function will return a comma-separated list of keys existing │ │ │ │ │ - at the prefix specified within the Asterisk database. If no argument is │ │ │ │ │ - provided, then a list of key families will be returned. │ │ │ │ │ + Returns the files that would be played by a Say application. These filenames could then be │ │ │ │ │ + passed directly into Playback, BackGround, Read, Queue, or any application which supports │ │ │ │ │ + playback of multiple ampersand-delimited files. │ │ │ │ │ + same => n,Read(response,${SAYFILES(123,number)}) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - DB_KEYCOUNT │ │ │ │ │ + SayAlpha │ │ │ │ │ + SayDigits │ │ │ │ │ + SayMoney │ │ │ │ │ + SayNumber │ │ │ │ │ + SayOrdinal │ │ │ │ │ + SayPhonetic │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Obtain the number of keys at a prefix within the Asterisk database. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Format a variable according to a format string. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function will return the number of keys that exist │ │ │ │ │ - at the prefix specified within the Asterisk database. If no argument is │ │ │ │ │ - provided, then the number of all key families will be returned. │ │ │ │ │ + │ │ │ │ │ + Parses the format string specified and returns a string matching │ │ │ │ │ + that format. Supports most options found in │ │ │ │ │ + sprintf(3) │ │ │ │ │ + . │ │ │ │ │ + Returns a shortened string if a format specifier is not recognized. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - DB_KEYS │ │ │ │ │ + sprintf(3) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Return a value from the database and delete it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + app_chanspy │ │ │ │ │ + func_cut │ │ │ │ │ + func_groupcount │ │ │ │ │ + func_uri │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Execute a periodic dialplan hook into the audio of a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + (On Read Only) Context for the hook extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + (On Read Only) The hook extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + (On Read Only) Number of seconds in between hook runs. │ │ │ │ │ + Whole seconds only. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + (On Write Only) The hook ID. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function will retrieve a value from the Asterisk database │ │ │ │ │ - and then remove that key from the database. │ │ │ │ │ - DB_RESULT │ │ │ │ │ - will be set to the key's value if it exists. │ │ │ │ │ + For example, you could use this function to enable playing │ │ │ │ │ + a periodic │ │ │ │ │ + beep │ │ │ │ │ + sound in a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + same => n,Set(BEEPID=${PERIODIC_HOOK(hooks,beep,180)}) │ │ │ │ │ + same => n,Set(PERIODIC_HOOK(${BEEPID})=off) │ │ │ │ │ + same => n,Set(PERIODIC_HOOK(${BEEPID})=on) │ │ │ │ │ + It is important to note that the hook does not actually │ │ │ │ │ + run on the channel itself. It runs asynchronously on a new channel. │ │ │ │ │ + Any audio generated by the hook gets injected into the call for │ │ │ │ │ + the channel PERIODIC_HOOK() was set on. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The hook dialplan will have two variables available. │ │ │ │ │ + HOOK_CHANNEL │ │ │ │ │ + is the channel the hook is │ │ │ │ │ + enabled on. │ │ │ │ │ + HOOK_ID │ │ │ │ │ + is the hook ID for │ │ │ │ │ + enabling or disabling the hook. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - live_dangerously │ │ │ │ │ - in │ │ │ │ │ - asterisk.conf │ │ │ │ │ - is set to │ │ │ │ │ - no │ │ │ │ │ - , this function can only be read from the │ │ │ │ │ - dialplan, and not directly from external protocols. It can, however, be │ │ │ │ │ - executed as a write operation ( │ │ │ │ │ - DB_DELETE(family, key)=ignored │ │ │ │ │ - ) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - DBdel │ │ │ │ │ - DB │ │ │ │ │ - DBdeltree │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Gets or sets the global variable specified. │ │ │ │ │ │ │ │ │ │ @@ -18877,14 +19147,42 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ SHARED │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get information about a PJSIP endpoint │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the endpoint to query. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The configuration option for the endpoint to query for. │ │ │ │ │ + Supported options are those fields on the │ │ │ │ │ + endpoint │ │ │ │ │ + object in │ │ │ │ │ + pjsip.conf │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Get information about a PJSIP contact │ │ │ │ │ @@ -18909,303 +19207,347 @@ │ │ │ │ │ │ │ │ │ │ Status of the contact │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Intercepts hold frames on a channel and raises an event instead of passing the frame on │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.21.0 │ │ │ │ │ + 18.7.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Scrambles audio on a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Must be │ │ │ │ │ + TX │ │ │ │ │ + or │ │ │ │ │ + RX │ │ │ │ │ + to limit to a specific direction, or │ │ │ │ │ + both │ │ │ │ │ + for both directions. │ │ │ │ │ + remove │ │ │ │ │ + will remove an existing scrambler. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Format a variable according to a format string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Parses the format string specified and returns a string matching │ │ │ │ │ - that format. Supports most options found in │ │ │ │ │ - sprintf(3) │ │ │ │ │ - . │ │ │ │ │ - Returns a shortened string if a format specifier is not recognized. │ │ │ │ │ - │ │ │ │ │ + Scrambles audio on a channel using whole spectrum inversion. │ │ │ │ │ + This is not intended to be used for securely scrambling │ │ │ │ │ + audio. It merely renders obfuscates audio on a channel │ │ │ │ │ + to render it unintelligible, as a privacy enhancement. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - sprintf(3) │ │ │ │ │ + ChanSpy │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Initiate an SRV query. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.21.0 │ │ │ │ │ + 18.7.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Drops specific frame types in the TX or RX direction on a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - The service for which to look up SRV records. An example would be something │ │ │ │ │ - like │ │ │ │ │ - _sip._udp.example.com │ │ │ │ │ + List of frame types to be dropped for the specified direction. Direction can be │ │ │ │ │ + TX │ │ │ │ │ + or │ │ │ │ │ + RX │ │ │ │ │ + . The │ │ │ │ │ + TX │ │ │ │ │ + direction will prevent Asterisk from sending frames to a channel, and the │ │ │ │ │ + RX │ │ │ │ │ + direction will prevent Asterisk from receiving frames from a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This will do an SRV lookup of the given service. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve results from an SRVQUERY. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The identifier returned by the SRVQUERY function. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of the result that you want to retrieve. │ │ │ │ │ + Subsequent calls to this function will replace previous settings, allowing certain frames to be dropped only temporarily, for instance. │ │ │ │ │ │ │ │ │ │ - Results start at │ │ │ │ │ - 1 │ │ │ │ │ - . If this argument is specified │ │ │ │ │ - as │ │ │ │ │ - getnum │ │ │ │ │ - , then it will return the total number of results │ │ │ │ │ - that are available. │ │ │ │ │ + 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: │ │ │ │ │ + for instance, if you drop ANSWER control frames, you should explicitly use │ │ │ │ │ + Progress() │ │ │ │ │ + for your call or undesired behavior │ │ │ │ │ + may occur. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The following CONTROL frames can also be dropped: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function will retrieve results from a previous use │ │ │ │ │ - of the SRVQUERY function. │ │ │ │ │ + Examples: │ │ │ │ │ + exten => 1,1,Set(FRAME_DROP(TX)=DTMF_BEGIN,DTMF_END) │ │ │ │ │ + exten => 1,1,Set(FRAME_DROP(TX)=ANSWER) │ │ │ │ │ + exten => 1,1,Set(FRAME_DROP(RX)=DTMF_BEGIN,DTMF_END) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - speex │ │ │ │ │ - speex_preprocess │ │ │ │ │ - speexdsp │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Apply automatic gain control to audio on a channel. │ │ │ │ │ + │ │ │ │ │ + Attempt to obtain a named mutex. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This can be either │ │ │ │ │ - rx │ │ │ │ │ - or │ │ │ │ │ - tx │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - The AGC function will apply automatic gain control to the audio on the │ │ │ │ │ - channel that it is executed on. Using │ │ │ │ │ - rx │ │ │ │ │ - for audio received │ │ │ │ │ - and │ │ │ │ │ - tx │ │ │ │ │ - for audio transmitted to the channel. When using this │ │ │ │ │ - function you set a target audio level. It is primarily intended for use with │ │ │ │ │ - analog lines, but could be useful for other channels as well. The target volume │ │ │ │ │ - is set with a number between │ │ │ │ │ - 1-32768 │ │ │ │ │ - . The larger the number │ │ │ │ │ - the louder (more gain) the channel will receive. │ │ │ │ │ + Attempts to grab a named lock exclusively, and prevents other channels from │ │ │ │ │ + obtaining the same lock. LOCK will wait for the lock to become available. │ │ │ │ │ + Returns │ │ │ │ │ + 1 │ │ │ │ │ + if the lock was obtained or │ │ │ │ │ + 0 │ │ │ │ │ + on error. │ │ │ │ │ │ │ │ │ │ - exten => 1,1,Set(AGC(rx)=8000) │ │ │ │ │ - exten => 1,2,Set(AGC(tx)=off) │ │ │ │ │ + │ │ │ │ │ + To avoid the possibility of a deadlock, LOCK will only attempt to │ │ │ │ │ + obtain the lock for 3 seconds if the channel already has another lock. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + live_dangerously │ │ │ │ │ + in │ │ │ │ │ + asterisk.conf │ │ │ │ │ + is set to │ │ │ │ │ + no │ │ │ │ │ + , this function can only be executed from the │ │ │ │ │ + dialplan, and not directly from external protocols. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Apply noise reduction to audio on a channel. │ │ │ │ │ + │ │ │ │ │ + Attempt to obtain a named mutex. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Attempts to grab a named lock exclusively, and prevents other channels │ │ │ │ │ + from obtaining the same lock. Returns │ │ │ │ │ + 1 │ │ │ │ │ + if the lock was │ │ │ │ │ + available or │ │ │ │ │ + 0 │ │ │ │ │ + otherwise. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - This can be either │ │ │ │ │ - rx │ │ │ │ │ - or │ │ │ │ │ - tx │ │ │ │ │ - the values that can be set to this are either │ │ │ │ │ - on │ │ │ │ │ - and │ │ │ │ │ - off │ │ │ │ │ + If │ │ │ │ │ + live_dangerously │ │ │ │ │ + in │ │ │ │ │ + asterisk.conf │ │ │ │ │ + is set to │ │ │ │ │ + no │ │ │ │ │ + , this function can only be executed from the │ │ │ │ │ + dialplan, and not directly from external protocols. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unlocks a named mutex. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - The DENOISE function will apply noise reduction to audio on the channel │ │ │ │ │ - that it is executed on. It is very useful for noisy analog lines, especially │ │ │ │ │ - when adjusting gains or using AGC. Use │ │ │ │ │ - rx │ │ │ │ │ - for audio received from the channel │ │ │ │ │ - and │ │ │ │ │ - tx │ │ │ │ │ - to apply the filter to the audio being sent to the channel. │ │ │ │ │ + Unlocks a previously locked mutex. Returns │ │ │ │ │ + 1 │ │ │ │ │ + if the channel │ │ │ │ │ + had a lock or │ │ │ │ │ + 0 │ │ │ │ │ + otherwise. │ │ │ │ │ │ │ │ │ │ - exten => 1,1,Set(DENOISE(rx)=on) │ │ │ │ │ - exten => 1,2,Set(DENOISE(tx)=off) │ │ │ │ │ + │ │ │ │ │ + It is generally unnecessary to unlock in a hangup routine, as any locks │ │ │ │ │ + held are automatically freed when the channel is destroyed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + live_dangerously │ │ │ │ │ + in │ │ │ │ │ + asterisk.conf │ │ │ │ │ + is set to │ │ │ │ │ + no │ │ │ │ │ + , this function can only be executed from the │ │ │ │ │ + dialplan, and not directly from external protocols. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get or Set a device state. │ │ │ │ │ + │ │ │ │ │ + Check if a value is NULL. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - The DEVICE_STATE function can be used to retrieve the device state from any │ │ │ │ │ - device state provider. For example: │ │ │ │ │ - NoOp(SIP/mypeer has state ${DEVICE_STATE(SIP/mypeer)}) │ │ │ │ │ - NoOp(Conference number 1234 has state ${DEVICE_STATE(MeetMe:1234)}) │ │ │ │ │ │ │ │ │ │ - The DEVICE_STATE function can also be used to set custom device state from │ │ │ │ │ - the dialplan. The │ │ │ │ │ - Custom: │ │ │ │ │ - prefix must be used. For example: │ │ │ │ │ + Returns │ │ │ │ │ + 1 │ │ │ │ │ + if NULL or │ │ │ │ │ + 0 │ │ │ │ │ + otherwise. │ │ │ │ │ │ │ │ │ │ - Set(DEVICE_STATE(Custom:lamp1)=BUSY) │ │ │ │ │ - Set(DEVICE_STATE(Custom:lamp2)=NOT_INUSE) │ │ │ │ │ - You can subscribe to the status of a custom device state using a hint in │ │ │ │ │ - the dialplan: │ │ │ │ │ - exten => 1234,hint,Custom:lamp1 │ │ │ │ │ - The possible values for both uses of this function are: │ │ │ │ │ - UNKNOWN | NOT_INUSE | INUSE | BUSY | INVALID | UNAVAILABLE | RINGING | │ │ │ │ │ - RINGINUSE | ONHOLD │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get the devices set for a dialplan hint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + SET assigns a value to a channel variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The HINT function can be used to retrieve the list of devices that are │ │ │ │ │ - mapped to a dialplan hint. │ │ │ │ │ - same => n,NoOp(Hint for Extension 1234 is ${HINT(1234)}) │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Encodes a string to URI-safe encoding according to RFC 2396. │ │ │ │ │ + │ │ │ │ │ + Test the existence of a value. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Input string to be encoded. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns the encoded string defined in │ │ │ │ │ - data │ │ │ │ │ - . │ │ │ │ │ + Returns │ │ │ │ │ + 1 │ │ │ │ │ + if exists, │ │ │ │ │ + 0 │ │ │ │ │ + otherwise. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Decodes a URI-encoded string according to RFC 2396. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Input string to be decoded. │ │ │ │ │ + │ │ │ │ │ + Check for an expression. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns the decoded URI-encoded │ │ │ │ │ - data │ │ │ │ │ - string. │ │ │ │ │ + Returns the data following │ │ │ │ │ + ? │ │ │ │ │ + if true, else the data following │ │ │ │ │ + : │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set or get the TX or RX volume of a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must be │ │ │ │ │ - TX │ │ │ │ │ - or │ │ │ │ │ - RX │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Temporal Conditional. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - The VOLUME function can be used to increase or decrease the │ │ │ │ │ - tx │ │ │ │ │ - or │ │ │ │ │ - rx │ │ │ │ │ - gain of any channel. │ │ │ │ │ + Returns the data following │ │ │ │ │ + ? │ │ │ │ │ + if true, else the data following │ │ │ │ │ + : │ │ │ │ │ │ │ │ │ │ - same => n,Set(VOLUME(TX)=3) │ │ │ │ │ - same => n,Set(VOLUME(RX)=2) │ │ │ │ │ - same => n,Set(VOLUME(TX,p)=3) │ │ │ │ │ - same => n,Set(VOLUME(RX,p)=3) │ │ │ │ │ - same => n,Set(VOLUME(RX)=-4) │ │ │ │ │ - same => n,Set(VOLUME(RX)=0) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Retrieve the value of a variable from another channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Computes an MD5 digest. │ │ │ │ │ + │ │ │ │ │ + Executes a command using the system shell and captures its output. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The command that the shell should execute. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Do not use untrusted strings such as │ │ │ │ │ + CALLERID(num) │ │ │ │ │ + or │ │ │ │ │ + CALLERID(name) │ │ │ │ │ + as part of the command parameters. You │ │ │ │ │ + risk a command injection attack executing arbitrary commands if the untrusted │ │ │ │ │ + strings aren't filtered to remove dangerous characters. See function │ │ │ │ │ + FILTER() │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Computes an MD5 digest. │ │ │ │ │ + Collects the output generated by a command executed by the system shell │ │ │ │ │ + exten => s,1,Set(foo=${SHELL(echo bar)}) │ │ │ │ │ + │ │ │ │ │ + The command supplied to this function will be executed by the │ │ │ │ │ + system's shell, typically specified in the SHELL environment variable. There │ │ │ │ │ + are many different system shells available with somewhat different behaviors, │ │ │ │ │ + so the output generated by this function may vary between platforms. │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + live_dangerously │ │ │ │ │ + in │ │ │ │ │ + asterisk.conf │ │ │ │ │ + is set to │ │ │ │ │ + no │ │ │ │ │ + , this function can only be executed from the │ │ │ │ │ + dialplan, and not directly from external protocols. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Initiate an ENUM query. │ │ │ │ │ @@ -19339,730 +19681,536 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ This function looks up the given phone number in DNS to retrieve │ │ │ │ │ the caller id name. The result will either be blank or be the value │ │ │ │ │ found in the TXT record in DNS. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gets or sets a CDR variable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CDR field name: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Caller ID. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Last application arguments. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The final state of the CDR. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - NO ANSWER │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - NO ANSWER │ │ │ │ │ - (NULL record) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - FAILED │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - BUSY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ANSWERED │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CONGESTION │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Source. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Time the call started. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W the Automatic Message Accounting (AMA) flags on the channel. │ │ │ │ │ - When read from a channel, the integer value will always be returned. │ │ │ │ │ - When written to a channel, both the string format or integer value │ │ │ │ │ - is accepted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - OMIT │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - BILLING │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - DOCUMENTATION │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Accessing this setting is deprecated in CDR. Please use the CHANNEL function instead. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Destination. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Time the call was answered. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel's account code. │ │ │ │ │ - │ │ │ │ │ - Accessing this setting is deprecated in CDR. Please use the CHANNEL function instead. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Destination context. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Time the call ended. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel's unique id. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Destination channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Duration of the call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel's user specified field. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Last application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Duration of the call once it was answered. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CDR sequence number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Read from or write to the Asterisk database. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - All of the CDR field names are read-only, except for │ │ │ │ │ - accountcode │ │ │ │ │ - , │ │ │ │ │ - userfield │ │ │ │ │ - , and │ │ │ │ │ - amaflags │ │ │ │ │ - . You may, however, supply │ │ │ │ │ - a name not on the above list, and create your own variable, whose value can be changed │ │ │ │ │ - with this function, and this variable will be stored on the CDR. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CDRs can only be modified before the bridge between two channels is │ │ │ │ │ - torn down. For example, CDRs may not be modified after the │ │ │ │ │ - Dial │ │ │ │ │ - application has returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - exten => 1,1,Set(CDR(userfield)=test) │ │ │ │ │ + This function will read from or write a value to the Asterisk database. On a │ │ │ │ │ + read, this function returns the corresponding value from the database, or blank │ │ │ │ │ + if it does not exist. Reading a database value will also set the variable │ │ │ │ │ + DB_RESULT. If you wish to find out if an entry exists, use the DB_EXISTS │ │ │ │ │ + function. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + DBdel │ │ │ │ │ + DB_DELETE │ │ │ │ │ + DBdeltree │ │ │ │ │ + DB_EXISTS │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Set a property on a channel's CDR. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The property to set on the CDR. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set this channel as the preferred Party A when │ │ │ │ │ - channels are associated together. │ │ │ │ │ - Write-Only │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Setting to 1 will disable CDRs for this channel. │ │ │ │ │ - Setting to 0 will enable CDRs for this channel. │ │ │ │ │ - Write-Only │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Check to see if a key exists in the Asterisk database. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function sets a property on a channel's CDR. Properties │ │ │ │ │ - alter the behavior of how the CDR operates for that channel. │ │ │ │ │ + │ │ │ │ │ + This function will check to see if a key exists in the Asterisk │ │ │ │ │ + database. If it exists, the function will return │ │ │ │ │ + 1 │ │ │ │ │ + . If not, │ │ │ │ │ + it will return │ │ │ │ │ + 0 │ │ │ │ │ + . Checking for existence of a database key will │ │ │ │ │ + also set the variable DB_RESULT to the key's value if it exists. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + DB │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get information about a PJSIP AOR │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the AOR to query. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The configuration option for the AOR to query for. │ │ │ │ │ - Supported options are those fields on the │ │ │ │ │ - aor │ │ │ │ │ - object in │ │ │ │ │ - pjsip.conf │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Return the Version info for this Asterisk. │ │ │ │ │ + │ │ │ │ │ + Obtain a list of keys within the Asterisk database. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The possible values are: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A string of digits is returned, e.g. 10602 for 1.6.2 or 100300 for 10.3.0, │ │ │ │ │ - or 999999 when using a Git build. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The string representing the user's name whose account │ │ │ │ │ - was used to configure Asterisk, is returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The string representing the name of the host on which Asterisk was configured, is returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The string representing the type of machine on which Asterisk was configured, is returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The string representing the OS of the machine on which Asterisk was configured, is returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The string representing the date on which Asterisk was configured, is returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The string representing the kernel version of the machine on which Asterisk │ │ │ │ │ - was configured, is returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - If there are no arguments, return the version of Asterisk in this format: 18.12.0 │ │ │ │ │ - same => n,Set(junky=${VERSION()} ; sets junky to 18.12.0, or possibly GITMasterxxxxxx │ │ │ │ │ + This function will return a comma-separated list of keys existing │ │ │ │ │ + at the prefix specified within the Asterisk database. If no argument is │ │ │ │ │ + provided, then a list of key families will be returned. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + DB_KEYCOUNT │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Checks the existence of a dialplan target. │ │ │ │ │ + │ │ │ │ │ + Obtain the number of keys at a prefix within the Asterisk database. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This function returns │ │ │ │ │ - 1 │ │ │ │ │ - if the target exits. Otherwise, it returns │ │ │ │ │ - 0 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + This function will return the number of keys that exist │ │ │ │ │ + at the prefix specified within the Asterisk database. If no argument is │ │ │ │ │ + provided, then the number of all key families will be returned. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + DB_KEYS │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Determine whether an extension exists or not. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Defaults to the current context │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Priority defaults to │ │ │ │ │ - 1 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Return a value from the database and delete it. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns a true value if the indicated │ │ │ │ │ - context │ │ │ │ │ - , │ │ │ │ │ - extension │ │ │ │ │ - , and │ │ │ │ │ - priority │ │ │ │ │ - exist. │ │ │ │ │ + This function will retrieve a value from the Asterisk database │ │ │ │ │ + and then remove that key from the database. │ │ │ │ │ + DB_RESULT │ │ │ │ │ + will be set to the key's value if it exists. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - This function has been deprecated in favor of the │ │ │ │ │ - DIALPLAN_EXISTS() │ │ │ │ │ - function │ │ │ │ │ + If │ │ │ │ │ + live_dangerously │ │ │ │ │ + in │ │ │ │ │ + asterisk.conf │ │ │ │ │ + is set to │ │ │ │ │ + no │ │ │ │ │ + , this function can only be read from the │ │ │ │ │ + dialplan, and not directly from external protocols. It can, however, be │ │ │ │ │ + executed as a write operation ( │ │ │ │ │ + DB_DELETE(family, key)=ignored │ │ │ │ │ + ) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + DBdel │ │ │ │ │ + DB │ │ │ │ │ + DBdeltree │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_odbc │ │ │ │ │ - generic_odbc │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Fetch a row from a multirow query. │ │ │ │ │ + │ │ │ │ │ + Gets or sets the environment variable specified. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Environment variable name │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - For queries which are marked as mode=multirow, the original │ │ │ │ │ - query returns a │ │ │ │ │ - result-id │ │ │ │ │ - from which results │ │ │ │ │ - may be fetched. This function implements the actual fetch of the results. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This also sets │ │ │ │ │ - ODBC_FETCH_STATUS │ │ │ │ │ - . │ │ │ │ │ + Variables starting with │ │ │ │ │ + AST_ │ │ │ │ │ + are reserved to the system and may not be set. │ │ │ │ │ │ │ │ │ │ + Additionally, the following system variables are available as special built-in dialplan variables. │ │ │ │ │ + These variables cannot be set or modified and are read-only. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If rows are available. │ │ │ │ │ - If no rows are available. │ │ │ │ │ + │ │ │ │ │ + Current unix style epoch │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + value of the │ │ │ │ │ + systemname │ │ │ │ │ + option from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + value of the │ │ │ │ │ + astcachedir │ │ │ │ │ + option from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + value of the │ │ │ │ │ + astetcdir │ │ │ │ │ + option from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + value of the │ │ │ │ │ + astmoddir │ │ │ │ │ + option from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + value of the │ │ │ │ │ + astvarlib │ │ │ │ │ + option from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + value of the │ │ │ │ │ + astdbdir │ │ │ │ │ + option from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + value of the │ │ │ │ │ + astkeydir │ │ │ │ │ + option from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + value of the │ │ │ │ │ + astdatadir │ │ │ │ │ + option from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + value of the │ │ │ │ │ + astagidir │ │ │ │ │ + option from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + value of the │ │ │ │ │ + astspooldir │ │ │ │ │ + option from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + value of the │ │ │ │ │ + astrundir │ │ │ │ │ + option from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + value of the │ │ │ │ │ + astlogdir │ │ │ │ │ + option from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + value of the │ │ │ │ │ + astsbindir │ │ │ │ │ + option from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Global Entity ID set automatically, or from │ │ │ │ │ + asterisk.conf │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Clear the resultset of a sucessful multirow query. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - For queries which are marked as mode=multirow, this will clear │ │ │ │ │ - any remaining rows of the specified resultset. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Escapes single ticks for use in SQL statements. │ │ │ │ │ + │ │ │ │ │ + Does a check on the specified file. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Flag may be one of the following: │ │ │ │ │ + d - Checks if the file is a directory. │ │ │ │ │ + e - Checks if the file exists. │ │ │ │ │ + f - Checks if the file is a regular file. │ │ │ │ │ + m - Returns the file mode (in octal) │ │ │ │ │ + s - Returns the size (in bytes) of the file │ │ │ │ │ + A - Returns the epoch at which the file was last accessed. │ │ │ │ │ + C - Returns the epoch at which the inode was last changed. │ │ │ │ │ + M - Returns the epoch at which the file was last modified. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Used in SQL templates to escape data which may contain single ticks │ │ │ │ │ - ' │ │ │ │ │ - which are otherwise used to delimit data. │ │ │ │ │ - │ │ │ │ │ - SELECT foo FROM bar WHERE baz='${SQL_ESC(${ARG1})}' │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + live_dangerously │ │ │ │ │ + in │ │ │ │ │ + asterisk.conf │ │ │ │ │ + is set to │ │ │ │ │ + no │ │ │ │ │ + , this function can only be executed from the │ │ │ │ │ + dialplan, and not directly from external protocols. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Escapes backslashes for use in SQL statements. │ │ │ │ │ + │ │ │ │ │ + Read or write text file. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Used in SQL templates to escape data which may contain backslashes │ │ │ │ │ - \ │ │ │ │ │ - which are otherwise used to escape data. │ │ │ │ │ - │ │ │ │ │ - SELECT foo FROM bar WHERE baz='${SQL_ESC(${SQL_ESC_BACKSLASHES(${ARG1})})}' │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get an extension's state. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If it is not specified defaults to │ │ │ │ │ - default │ │ │ │ │ - . │ │ │ │ │ + Maybe specified as any number. If negative, │ │ │ │ │ + offset │ │ │ │ │ + specifies the number │ │ │ │ │ + of bytes back from the end of the file. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The EXTENSION_STATE function can be used to retrieve the state from any │ │ │ │ │ - hinted extension. For example: │ │ │ │ │ - NoOp(1234@default has state ${EXTENSION_STATE(1234)}) │ │ │ │ │ - NoOp(4567@home has state ${EXTENSION_STATE(4567@home)}) │ │ │ │ │ - The possible values returned by this function are: │ │ │ │ │ - UNKNOWN | NOT_INUSE | INUSE | BUSY | INVALID | UNAVAILABLE | RINGING | │ │ │ │ │ - RINGINUSE | HOLDINUSE | ONHOLD │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get or set a call completion configuration parameter for a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The allowable options are: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If specified, will limit the length of the data read to that size. If negative, │ │ │ │ │ + trims │ │ │ │ │ + length │ │ │ │ │ + bytes from the end of the file. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The CALLCOMPLETION function can be used to get or set a call │ │ │ │ │ - completion configuration parameter for a channel. Note that setting │ │ │ │ │ - a configuration parameter will only change the parameter for the │ │ │ │ │ - duration of the call. │ │ │ │ │ - │ │ │ │ │ - For more information see │ │ │ │ │ - doc/AST.pdf │ │ │ │ │ - . │ │ │ │ │ - For more information on call completion parameters, see │ │ │ │ │ - configs/ccss.conf.sample │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets per-channel hangupcause information from the channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the channel for which to retrieve cause information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Parameter describing which type of information is requested. Types are: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Technology-specific cause information │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Translated Asterisk cause code │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + format │ │ │ │ │ + parameter may be │ │ │ │ │ + used to delimit the type of line terminators in line mode. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Gets technology-specific or translated Asterisk cause code information │ │ │ │ │ - from the channel for the specified channel that resulted from a dial. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - HANGUPCAUSE_KEYS │ │ │ │ │ - HangupCauseClear │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets the list of channels for which hangup causes are available. │ │ │ │ │ - │ │ │ │ │ - Returns a comma-separated list of channel names to be used with the HANGUPCAUSE function. │ │ │ │ │ + Read and write text file in character and line mode. │ │ │ │ │ + Examples: │ │ │ │ │ + Read mode (byte): │ │ │ │ │ + same => n,Set(foo=${FILE(/tmp/test.txt)}) │ │ │ │ │ + same => n,Set(foo=${FILE(/tmp/test.txt,10)}) │ │ │ │ │ + same => n,Set(foo=${FILE(/tmp/test.txt,10,10)}) │ │ │ │ │ + Read mode (line): │ │ │ │ │ + same => n,Set(foo=${FILE(/tmp/test.txt,3,1,l)}) │ │ │ │ │ + same => n,Set(foo=${FILE(/tmp/test.txt,3,2,l)}) │ │ │ │ │ + same => n,Set(foo=${FILE(/tmp/test.txt,3,,l)}) │ │ │ │ │ + same => n,Set(foo=${FILE(/tmp/test.txt,-3,,l)}) │ │ │ │ │ + same => n,Set(foo=${FILE(/tmp/test.txt,3,1,l,d)}) │ │ │ │ │ + Write mode (byte): │ │ │ │ │ + same => n,Set(FILE(/tmp/test.txt)=bar) │ │ │ │ │ + same => n,Set(FILE(/tmp/test.txt,,,a)=bar) │ │ │ │ │ + same => n,Set(FILE(/tmp/test.txt,0,1)=bar) │ │ │ │ │ + same => n,Set(FILE(/tmp/test.txt,20,10)=bar) │ │ │ │ │ + same => n,Set(FILE(/tmp/test.txt,20)=bar) │ │ │ │ │ + same => n,Set(FILE(/tmp/test.txt,4,0)=bar) │ │ │ │ │ + Write mode (line): │ │ │ │ │ + same => n,Set(FILE(/tmp/foo.txt,0,1,l)=bar) │ │ │ │ │ + same => n,Set(FILE(/tmp/foo.txt,-1,,l)=bar) │ │ │ │ │ + same => n,Set(FILE(/tmp/foo.txt,,,al)=bar) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + live_dangerously │ │ │ │ │ + in │ │ │ │ │ + asterisk.conf │ │ │ │ │ + is set to │ │ │ │ │ + no │ │ │ │ │ + , this function can only be executed from the │ │ │ │ │ + dialplan, and not directly from external protocols. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - HANGUPCAUSE │ │ │ │ │ - HangupCauseClear │ │ │ │ │ + FILE_COUNT_LINE │ │ │ │ │ + FILE_FORMAT │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Clears hangup cause information from the channel that is available through HANGUPCAUSE. │ │ │ │ │ - │ │ │ │ │ - Clears all channel-specific hangup cause information from the channel. │ │ │ │ │ - This is never done automatically (i.e. for new Dial()s). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - HANGUPCAUSE │ │ │ │ │ - HANGUPCAUSE_KEYS │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Performs Mathematical Functions. │ │ │ │ │ + │ │ │ │ │ + Obtains the number of lines of a text file. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is of the form: │ │ │ │ │ - number1 │ │ │ │ │ - op │ │ │ │ │ - number2 │ │ │ │ │ - where the possible values for │ │ │ │ │ - op │ │ │ │ │ - are: │ │ │ │ │ - │ │ │ │ │ - +,-,/,*,%,<<,>>,^,AND,OR,XOR,<,>,<=,>=,== (and behave as their C equivalents) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Wanted type of result: │ │ │ │ │ - f, float - float(default) │ │ │ │ │ - i, int - integer │ │ │ │ │ - h, hex - hex │ │ │ │ │ - c, char - char │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Format may be one of the following: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, an attempt will be made to determine the newline format type. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Performs mathematical functions based on two parameters and an operator. The returned │ │ │ │ │ - value type is │ │ │ │ │ - type │ │ │ │ │ + Returns the number of lines, or │ │ │ │ │ + -1 │ │ │ │ │ + on error. │ │ │ │ │ │ │ │ │ │ - same => n,Set(i=${MATH(123%16,int)}) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Increments the value of a variable, while returning the updated value to the dialplan │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The variable name to be manipulated, without the braces. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Increments the value of a variable, while returning the updated value to the dialplan │ │ │ │ │ - Example: INC(MyVAR) - Increments MyVar │ │ │ │ │ - Note: INC(${MyVAR}) - Is wrong, as INC expects the variable name, not its value │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Decrements the value of a variable, while returning the updated value to the dialplan │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The variable name to be manipulated, without the braces. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Decrements the value of a variable, while returning the updated value to the dialplan │ │ │ │ │ - same => n,NoOp(${DEC(MyVAR)}) │ │ │ │ │ │ │ │ │ │ - DEC(${MyVAR}) is wrong, as DEC expects the variable name, not its value │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + live_dangerously │ │ │ │ │ + in │ │ │ │ │ + asterisk.conf │ │ │ │ │ + is set to │ │ │ │ │ + no │ │ │ │ │ + , this function can only be executed from the │ │ │ │ │ + dialplan, and not directly from external protocols. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + FILE │ │ │ │ │ + FILE_FORMAT │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.19.0 │ │ │ │ │ - 18.5.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Returns the minimum of two numbers. │ │ │ │ │ + │ │ │ │ │ + Return the newline format of a text file. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Returns the minimum of two numbers │ │ │ │ │ - num1 │ │ │ │ │ - and │ │ │ │ │ - num2 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - same => n,Set(min=${MIN(7,4)}) │ │ │ │ │ + Return the line terminator type: │ │ │ │ │ + 'u' - Unix "\n" format │ │ │ │ │ + 'd' - DOS "\r\n" format │ │ │ │ │ + 'm' - Macintosh "\r" format │ │ │ │ │ + 'x' - Cannot be determined │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + live_dangerously │ │ │ │ │ + in │ │ │ │ │ + asterisk.conf │ │ │ │ │ + is set to │ │ │ │ │ + no │ │ │ │ │ + , this function can only be executed from the │ │ │ │ │ + dialplan, and not directly from external protocols. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + FILE │ │ │ │ │ + FILE_COUNT_LINE │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 16.19.0 │ │ │ │ │ - 18.5.0 │ │ │ │ │ + 16.21.0 │ │ │ │ │ + 18.7.0 │ │ │ │ │ 19.0.0 │ │ │ │ │ │ │ │ │ │ - Returns the maximum of two numbers. │ │ │ │ │ + Return the name of a file. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Returns the maximum of two numbers │ │ │ │ │ - num1 │ │ │ │ │ - and │ │ │ │ │ - num2 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - same => n,Set(max=${MAX(4,7)}) │ │ │ │ │ + Return the base file name, given a full file path. │ │ │ │ │ + same => n,Set(basename=${BASENAME(/etc/asterisk/extensions.conf)}) │ │ │ │ │ + same => n,NoOp(${basename}) ; outputs extensions.conf │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + DIRNAME │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 16.19.0 │ │ │ │ │ - 18.5.0 │ │ │ │ │ + 16.21.0 │ │ │ │ │ + 18.7.0 │ │ │ │ │ 19.0.0 │ │ │ │ │ │ │ │ │ │ - Returns absolute value of a number. │ │ │ │ │ + Return the directory of a file. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Returns the absolute value of a number │ │ │ │ │ - num │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - same => n,Set(absval=${ABS(-13)}) │ │ │ │ │ + Return the directory of a file, given a full file path. │ │ │ │ │ + same => n,Set(dirname=${DIRNAME(/etc/asterisk/extensions.conf)}) │ │ │ │ │ + same => n,NoOp(${dirname}) ; outputs /etc/asterisk │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + BASENAME │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Choose a random number in a range. │ │ │ │ │ + │ │ │ │ │ + Encode a string in base64. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Input string │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Choose a random number between │ │ │ │ │ - min │ │ │ │ │ - and │ │ │ │ │ - max │ │ │ │ │ - . │ │ │ │ │ - min │ │ │ │ │ - defaults to │ │ │ │ │ - 0 │ │ │ │ │ - , if not specified, while │ │ │ │ │ - max │ │ │ │ │ - defaults │ │ │ │ │ - to │ │ │ │ │ - RAND_MAX │ │ │ │ │ - (2147483647 on many systems). │ │ │ │ │ - │ │ │ │ │ - exten => s,1,Set(junky=${RAND(1,8)}) │ │ │ │ │ + Returns the base64 string. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + BASE64_DECODE │ │ │ │ │ + AES_DECRYPT │ │ │ │ │ + AES_ENCRYPT │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns system information specified by parameter. │ │ │ │ │ + │ │ │ │ │ + Decode a base64 string. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - System load average from past minute. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of active calls currently in progress. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - System uptime in hours. │ │ │ │ │ - │ │ │ │ │ - This parameter is dependant upon operating system. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Total usable main memory size in KiB. │ │ │ │ │ - │ │ │ │ │ - This parameter is dependant upon operating system. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Available memory size in KiB. │ │ │ │ │ - │ │ │ │ │ - This parameter is dependant upon operating system. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Memory used by buffers in KiB. │ │ │ │ │ - │ │ │ │ │ - This parameter is dependant upon operating system. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Total swap space still available in KiB. │ │ │ │ │ - │ │ │ │ │ - This parameter is dependant upon operating system. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Free swap space still available in KiB. │ │ │ │ │ - │ │ │ │ │ - This parameter is dependant upon operating system. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of current processes. │ │ │ │ │ - │ │ │ │ │ - This parameter is dependant upon operating system. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Input string. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns information from a given parameter. │ │ │ │ │ + Returns the plain text string. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + BASE64_ENCODE │ │ │ │ │ + AES_DECRYPT │ │ │ │ │ + AES_ENCRYPT │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Gets the list of channels, optionally filtering by a regular expression. │ │ │ │ │ │ │ │ │ │ @@ -20367,1839 +20515,3306 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Asterisk cause of hangup (inbound/outbound) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Pitch shift both tx and rx audio streams on a channel. │ │ │ │ │ + │ │ │ │ │ + Initiate an SRV query. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Direction can be either │ │ │ │ │ - rx │ │ │ │ │ - , │ │ │ │ │ - tx │ │ │ │ │ - , or │ │ │ │ │ - both │ │ │ │ │ - . The direction can either be set to a valid floating │ │ │ │ │ - point number between 0.1 and 4.0 or one of the enum values listed below. A value │ │ │ │ │ - of 1.0 has no effect. Greater than 1 raises the pitch. Lower than 1 lowers │ │ │ │ │ - the pitch. │ │ │ │ │ + The service for which to look up SRV records. An example would be something │ │ │ │ │ + like │ │ │ │ │ + _sip._udp.example.com │ │ │ │ │ │ │ │ │ │ - The pitch amount can also be set by the following values │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Examples: │ │ │ │ │ - exten => 1,1,Set(PITCH_SHIFT(tx)=highest) │ │ │ │ │ - exten => 1,1,Set(PITCH_SHIFT(rx)=higher) │ │ │ │ │ - exten => 1,1,Set(PITCH_SHIFT(both)=high) │ │ │ │ │ - exten => 1,1,Set(PITCH_SHIFT(rx)=low) │ │ │ │ │ - exten => 1,1,Set(PITCH_SHIFT(tx)=lower) │ │ │ │ │ - exten => 1,1,Set(PITCH_SHIFT(both)=lowest) │ │ │ │ │ - exten => 1,1,Set(PITCH_SHIFT(rx)=0.8) │ │ │ │ │ - exten => 1,1,Set(PITCH_SHIFT(tx)=1.5) │ │ │ │ │ + This will do an SRV lookup of the given service. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Drops specific frame types in the TX or RX direction on a channel. │ │ │ │ │ + │ │ │ │ │ + Retrieve results from an SRVQUERY. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List of frame types to be dropped for the specified direction. Direction can be │ │ │ │ │ - TX │ │ │ │ │ - or │ │ │ │ │ - RX │ │ │ │ │ - . The │ │ │ │ │ - TX │ │ │ │ │ - direction will prevent Asterisk from sending frames to a channel, and the │ │ │ │ │ - RX │ │ │ │ │ - direction will prevent Asterisk from receiving frames from a channel. │ │ │ │ │ - │ │ │ │ │ - Subsequent calls to this function will replace previous settings, allowing certain frames to be dropped only temporarily, for instance. │ │ │ │ │ + │ │ │ │ │ + The identifier returned by the SRVQUERY function. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of the result that you want to retrieve. │ │ │ │ │ │ │ │ │ │ - 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: │ │ │ │ │ - for instance, if you drop ANSWER control frames, you should explicitly use │ │ │ │ │ - Progress() │ │ │ │ │ - for your call or undesired behavior │ │ │ │ │ - may occur. │ │ │ │ │ + Results start at │ │ │ │ │ + 1 │ │ │ │ │ + . If this argument is specified │ │ │ │ │ + as │ │ │ │ │ + getnum │ │ │ │ │ + , then it will return the total number of results │ │ │ │ │ + that are available. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The following CONTROL frames can also be dropped: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Examples: │ │ │ │ │ - exten => 1,1,Set(FRAME_DROP(TX)=DTMF_BEGIN,DTMF_END) │ │ │ │ │ - exten => 1,1,Set(FRAME_DROP(TX)=ANSWER) │ │ │ │ │ - exten => 1,1,Set(FRAME_DROP(RX)=DTMF_BEGIN,DTMF_END) │ │ │ │ │ + This function will retrieve results from a previous use │ │ │ │ │ + of the SRVQUERY function. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + TEST_FRAMEWORK │ │ │ │ │ + curl │ │ │ │ │ + res_http_media_cache │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Check if the callerid is on the blacklist. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Uses astdb to check if the Caller*ID is in family │ │ │ │ │ - blacklist │ │ │ │ │ - . │ │ │ │ │ - Returns │ │ │ │ │ - 1 │ │ │ │ │ - or │ │ │ │ │ - 0 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - DB │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Sorts a list of key/vals into a list of keys, based upon the vals. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Takes a comma-separated list of keys and values, each separated by a colon, and returns a │ │ │ │ │ - comma-separated list of the keys, sorted by their values. Values will be evaluated as │ │ │ │ │ - floating-point numbers. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Slices and dices strings, based upon a named delimiter. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variable you want cut │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Delimiter, defaults to │ │ │ │ │ - - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of the field you want (1-based offset), may also be specified as a range (with │ │ │ │ │ - - │ │ │ │ │ - ) │ │ │ │ │ - or group of ranges and fields (with │ │ │ │ │ - & │ │ │ │ │ - ) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Cut out information from a string ( │ │ │ │ │ - varname │ │ │ │ │ - ), based upon a named delimiter. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ + func_sorcery │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - curl │ │ │ │ │ - res_http_media_cache │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ res_agi │ │ │ │ │ res_crypto │ │ │ │ │ crypto │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - OPTIONAL_API │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - res_stasis_test │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - format_g723 │ │ │ │ │ - format_g726 │ │ │ │ │ - format_g729 │ │ │ │ │ - format_gsm │ │ │ │ │ - format_ogg_vorbis │ │ │ │ │ - format_pcm │ │ │ │ │ - format_siren14 │ │ │ │ │ - format_siren7 │ │ │ │ │ - format_sln │ │ │ │ │ - format_wav │ │ │ │ │ - format_wav_gsm │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - res_http_websocket │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + TEST_FRAMEWORK │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + TEST_FRAMEWORK │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + TEST_FRAMEWORK │ │ │ │ │ + res_stasis │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ + res_stasis_test │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ + res_ari │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ + res_ari_model │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + TEST_FRAMEWORK │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ + format_g723 │ │ │ │ │ + format_g726 │ │ │ │ │ + format_g729 │ │ │ │ │ + format_gsm │ │ │ │ │ + format_ogg_vorbis │ │ │ │ │ + format_pcm │ │ │ │ │ + format_siren14 │ │ │ │ │ + format_siren7 │ │ │ │ │ + format_sln │ │ │ │ │ + format_wav │ │ │ │ │ + format_wav_gsm │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - res_ari_model │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - res_ari │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ + res_http_websocket │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ + func_curl │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ + OPTIONAL_API │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - func_curl │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - func_sorcery │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - TEST_FRAMEWORK │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - TEST_FRAMEWORK │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - TEST_FRAMEWORK │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - TEST_FRAMEWORK │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - TEST_FRAMEWORK │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - TEST_FRAMEWORK │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Answer a channel if ringing. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Asterisk will wait this number of milliseconds before returning to │ │ │ │ │ - the dialplan after answering the call. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when all Asterisk initialization procedures have finished. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Informational message │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Seconds since start │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Seconds since last reload │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when Asterisk is shutdown or restarted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether the shutdown is proceeding cleanly (all channels │ │ │ │ │ + were hungup successfully) or uncleanly (channels will be │ │ │ │ │ + terminated) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether or not a restart will occur. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request violates an ACL check. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The time the event was detected. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A relative severity of the security event. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The Asterisk service that raised the security event. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The version of this event. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The Service account associated with the security event │ │ │ │ │ + notification. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A unique identifier for the session in the service │ │ │ │ │ + that raised the event. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The address of the Asterisk service that raised the │ │ │ │ │ + security event. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The remote address of the entity that caused the │ │ │ │ │ + security event to be raised. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If available, the name of the module that raised the event. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If available, the name of the ACL that failed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The timestamp reported by the session. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request fails an authentication check due to an invalid account ID. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request fails due to exceeding the number of allowed concurrent sessions for that service. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request fails due to an internal memory allocation failure. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request fails because a configured load average limit has been reached. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request fails due to some aspect of the requested item not being supported by the service. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The type of request attempted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request is not allowed by the service. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Parameters provided to the rejected request. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request used an authentication method not allowed by the service. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The authentication method attempted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request is received with bad formatting. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The account ID associated with the rejected request. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request successfully authenticates with a service. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether or not the authentication attempt included a password. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request has a different source address then what is expected for a session already in progress with a service. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The address that the request was expected to use. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request's attempt to authenticate has been challenged, and the request failed the authentication challenge. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The challenge that was sent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The response that was received. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The expected response to the challenge. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request provides an invalid password during an authentication attempt. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The challenge that was sent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The challenge that was received. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The hash that was received. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an Asterisk service sends an authentication challenge to a request. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a request attempts to use a transport not allowed by the Asterisk service. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The transport type that the request attempted to use. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + jansson │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Create a message or read fields from a message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Field of the message to get or set. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When processing an │ │ │ │ │ + incoming message, this will be set to the destination listed as │ │ │ │ │ + the recipient of the message that was received by Asterisk. │ │ │ │ │ + │ │ │ │ │ + For an outgoing message, this will set the To header in the │ │ │ │ │ + outgoing SIP message. This may be overridden by the "to" parameter │ │ │ │ │ + of MessageSend. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When processing an │ │ │ │ │ + incoming message, this will be set to the source of the message. │ │ │ │ │ + │ │ │ │ │ + For an outgoing message, this will set the From header in the │ │ │ │ │ + outgoing SIP message. This may be overridden by the "from" parameter │ │ │ │ │ + of MessageSend. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Write-only. Mark or unmark all message headers for an outgoing │ │ │ │ │ + message. The following values can be set: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Mark all headers for an outgoing message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unmark all headers for an outgoing message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Read/Write. The message body. When processing an incoming │ │ │ │ │ + message, this includes the body of the message that Asterisk │ │ │ │ │ + received. When MessageSend() is executed, the contents of this │ │ │ │ │ + field are used as the body of the outgoing message. The body │ │ │ │ │ + will always be UTF-8. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - If the call has not been answered, this application will │ │ │ │ │ - answer it. Otherwise, it has no effect on the call. │ │ │ │ │ + This function will read from or write a value to a text message. │ │ │ │ │ + It is used both to read the data out of an incoming message, as well as │ │ │ │ │ + modify or create a message that will be sent outbound. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Hangup │ │ │ │ │ + MessageSend │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play an audio file while waiting for digits of an extension to go to. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Read or write custom data attached to a message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Field of the message to get or set. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function will read from or write a value to a text message. │ │ │ │ │ + It is used both to read the data out of an incoming message, as well as │ │ │ │ │ + modify a message that will be sent outbound. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If you want to set an outbound message to carry data in the │ │ │ │ │ + current message, do │ │ │ │ │ + Set(MESSAGE_DATA( │ │ │ │ │ + key │ │ │ │ │ + )=${MESSAGE_DATA( │ │ │ │ │ + key │ │ │ │ │ + )}). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MessageSend │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send a text message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A To URI for the message. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Explicitly specifies which language to attempt to use for the requested sound files. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A From URI for the message if needed for the │ │ │ │ │ + message technology being used to send this message. This can be a │ │ │ │ │ + SIP(S) URI, such as │ │ │ │ │ + Alice <sip:alice@atlanta.com> │ │ │ │ │ + , │ │ │ │ │ + or a string in the format │ │ │ │ │ + alice@atlanta.com │ │ │ │ │ + . │ │ │ │ │ + This will override a │ │ │ │ │ + from │ │ │ │ │ + specified using the MESSAGE dialplan function or the │ │ │ │ │ + from │ │ │ │ │ + that may have been on an incoming message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the dialplan context that this application will use when exiting │ │ │ │ │ - to a dialed extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A To URI for the message if needed for the │ │ │ │ │ + message technology being used to send this message. This can be a │ │ │ │ │ + SIP(S) URI, such as │ │ │ │ │ + Alice <sip:alice@atlanta.com> │ │ │ │ │ + , │ │ │ │ │ + or a string in the format │ │ │ │ │ + alice@atlanta.com │ │ │ │ │ + . │ │ │ │ │ + This will override a │ │ │ │ │ + to │ │ │ │ │ + specified using the MESSAGE dialplan function or the │ │ │ │ │ + to │ │ │ │ │ + that may have been on an incoming message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application will play the given list of files │ │ │ │ │ - (do not put extension) │ │ │ │ │ - while waiting for an extension to be dialed by the calling channel. To continue waiting │ │ │ │ │ - for digits after this application has finished playing files, the │ │ │ │ │ - WaitExten │ │ │ │ │ - application should be used. │ │ │ │ │ + Send a text message. The body of the message that will be │ │ │ │ │ + sent is what is currently set to │ │ │ │ │ + MESSAGE(body) │ │ │ │ │ + . │ │ │ │ │ + This may he come from an incoming message. │ │ │ │ │ + The technology chosen for sending the message is determined │ │ │ │ │ + based on a prefix to the │ │ │ │ │ + destination │ │ │ │ │ + parameter. │ │ │ │ │ │ │ │ │ │ - If one of the requested sound files does not exist, call processing will be terminated. │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ + This application sets the following channel variables: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The status of the background attempt as a text string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + This is the message delivery status returned by this application. │ │ │ │ │ + No handler for the technology part of the URI was found. │ │ │ │ │ + The protocol handler reported that the URI was not valid. │ │ │ │ │ + Successfully passed on to the protocol handler, but delivery has not necessarily been guaranteed. │ │ │ │ │ + The protocol handler reported that it was unabled to deliver the message for some reason. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - ControlPlayback │ │ │ │ │ - WaitExten │ │ │ │ │ - BackgroundDetect │ │ │ │ │ - TIMEOUT │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Indicate the Busy condition. │ │ │ │ │ + │ │ │ │ │ + Send an out of call message to an endpoint. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If specified, the calling channel will be hung up after the specified number of seconds. │ │ │ │ │ - Otherwise, this application will wait until the calling channel hangs up. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A To URI for the message. If Destination is provided, the To │ │ │ │ │ + parameter can also be supplied and may alter the message based on │ │ │ │ │ + the specified message technology. │ │ │ │ │ + For backwards compatibility, if Destination is not provided, │ │ │ │ │ + the To parameter must be provided and will be used as the message │ │ │ │ │ + destination. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A To URI for the message if needed for the │ │ │ │ │ + message technology being used to send this message. This can be a │ │ │ │ │ + SIP(S) URI, such as │ │ │ │ │ + Alice <sip:alice@atlanta.com> │ │ │ │ │ + , │ │ │ │ │ + or a string in the format │ │ │ │ │ + alice@atlanta.com │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + This parameter is required if the Destination parameter is not │ │ │ │ │ + provided. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A From URI for the message if needed for the │ │ │ │ │ + message technology being used to send this message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The message body text. This must not contain any newlines as that │ │ │ │ │ + conflicts with the AMI protocol. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Text bodies requiring the use of newlines have to be base64 encoded │ │ │ │ │ + in this field. Base64Body will be decoded before being sent out. │ │ │ │ │ + Base64Body takes precedence over Body. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Message variable to set, multiple Variable: headers are │ │ │ │ │ + allowed. The header value is a comma separated list of │ │ │ │ │ + name=value pairs. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an outbound registration completes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The type of channel that was registered (or not). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The username portion of the registration. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The address portion of the registration. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The status of the registration request. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + What caused the rejection of the request, if available. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A user defined event raised from the dialplan. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The event name, as specified in the dialplan. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + UserEvent │ │ │ │ │ + UserEvent │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Settings that configure the threadpool Stasis uses to deliver some messages. │ │ │ │ │ + │ │ │ │ │ + Initial number of threads in the message bus threadpool. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of seconds before an idle thread is disposed of. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum number of threads in the threadpool. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stasis message types for which to decline creation. │ │ │ │ │ + │ │ │ │ │ + The message type to decline. │ │ │ │ │ + │ │ │ │ │ + This configuration option defines the name of the Stasis │ │ │ │ │ + message type that Asterisk is forbidden from creating and can be │ │ │ │ │ + specified as many times as necessary to achieve the desired result. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Keepalive command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - This application will indicate the busy condition to the calling channel. │ │ │ │ │ + A 'Ping' action will elicit a 'Pong' response. Used to keep the │ │ │ │ │ + manager connection open. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Congestion │ │ │ │ │ - Progress │ │ │ │ │ - Playtones │ │ │ │ │ - Hangup │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicate the Congestion condition. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Control Event Flow. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If specified, the calling channel will be hung up after the specified number of seconds. │ │ │ │ │ - Otherwise, this application will wait until the calling channel hangs up. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If all events should be sent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If no events should be sent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + To select which flags events should have to be sent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application will indicate the congestion condition to the calling channel. │ │ │ │ │ + Enable/Disable sending of events to this manager client. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Logoff Manager. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Logoff the current manager session. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Busy │ │ │ │ │ - Progress │ │ │ │ │ - Playtones │ │ │ │ │ - Hangup │ │ │ │ │ + Login │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conditional application execution based on the current time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Login Manager. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ActionID for this transaction. Will be returned. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Username to login with as specified in manager.conf. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Secret to login with as specified in manager.conf. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application will execute the specified dialplan application, with optional │ │ │ │ │ - arguments, if the current time matches the given time specification. │ │ │ │ │ + Login Manager. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Exec │ │ │ │ │ - ExecIf │ │ │ │ │ - TryExec │ │ │ │ │ - GotoIfTime │ │ │ │ │ + Logoff │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jump to a particular priority, extension, or context. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Generate Challenge for MD5 Auth. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Digest algorithm to use in the challenge. Valid values are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This application will set the current context, extension, and priority in the channel structure. │ │ │ │ │ - After it completes, the pbx engine will continue dialplan execution at the specified location. │ │ │ │ │ - If no specific │ │ │ │ │ - extension │ │ │ │ │ - , or │ │ │ │ │ - extension │ │ │ │ │ - and │ │ │ │ │ - context │ │ │ │ │ - , are specified, then this application will │ │ │ │ │ - just set the specified │ │ │ │ │ - priority │ │ │ │ │ - of the current extension. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - At least a │ │ │ │ │ - priority │ │ │ │ │ - is required as an argument, or the goto will │ │ │ │ │ - return a │ │ │ │ │ - -1 │ │ │ │ │ - , and the channel and call will be terminated. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If the location that is put into the channel information is bogus, and asterisk cannot │ │ │ │ │ - find that location in the dialplan, then the execution engine will try to find and execute the code in │ │ │ │ │ - the │ │ │ │ │ - i │ │ │ │ │ - (invalid) extension in the current context. If that does not exist, it will try to execute the │ │ │ │ │ - h │ │ │ │ │ - extension. If neither the │ │ │ │ │ - h │ │ │ │ │ - nor │ │ │ │ │ - i │ │ │ │ │ - extensions │ │ │ │ │ - have been defined, the channel is hung up, and the execution of instructions on the channel is terminated. │ │ │ │ │ - What this means is that, for example, you specify a context that does not exist, then │ │ │ │ │ - it will not be possible to find the │ │ │ │ │ - h │ │ │ │ │ - or │ │ │ │ │ - i │ │ │ │ │ - extensions, │ │ │ │ │ - and the call will terminate! │ │ │ │ │ - │ │ │ │ │ + Generate a challenge for MD5 authentication. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - GotoIf │ │ │ │ │ - GotoIfTime │ │ │ │ │ - Gosub │ │ │ │ │ - Macro │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conditional goto. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Continue at │ │ │ │ │ - labeliftrue │ │ │ │ │ - if the condition is true. │ │ │ │ │ - Takes the form similar to Goto() of [[context,]extension,]priority. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Continue at │ │ │ │ │ - labeliffalse │ │ │ │ │ - if the condition is false. │ │ │ │ │ - Takes the form similar to Goto() of [[context,]extension,]priority. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Hangup channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The exact channel name to be hungup, or to use a regular expression, set this parameter to: /regex/ │ │ │ │ │ + Example exact channel: SIP/provider-0000012a │ │ │ │ │ + Example regular expression: /^SIP/provider-.*$/ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Numeric hangup cause. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This application will set the current context, extension, and priority in the channel structure │ │ │ │ │ - based on the evaluation of the given condition. After this application completes, the │ │ │ │ │ - pbx engine will continue dialplan execution at the specified location in the dialplan. │ │ │ │ │ - The labels are specified with the same syntax as used within the Goto application. │ │ │ │ │ - If the label chosen by the condition is omitted, no jump is performed, and the execution passes to the │ │ │ │ │ - next instruction. If the target location is bogus, and does not exist, the execution engine will try │ │ │ │ │ - to find and execute the code in the │ │ │ │ │ - i │ │ │ │ │ - (invalid) extension in the current context. │ │ │ │ │ - If that does not exist, it will try to execute the │ │ │ │ │ - h │ │ │ │ │ - extension. │ │ │ │ │ - If neither the │ │ │ │ │ - h │ │ │ │ │ - nor │ │ │ │ │ - i │ │ │ │ │ - extensions have been defined, │ │ │ │ │ - the channel is hung up, and the execution of instructions on the channel is terminated. │ │ │ │ │ - Remember that this command can set the current context, and if the context specified │ │ │ │ │ - does not exist, then it will not be able to find any 'h' or 'i' extensions there, and │ │ │ │ │ - the channel and call will both be terminated!. │ │ │ │ │ - │ │ │ │ │ + Hangup a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List channel status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the channel to query for status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Comma │ │ │ │ │ + , │ │ │ │ │ + separated list of variable to include. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set to "true", the Status event will include all channel variables for │ │ │ │ │ + the requested channel(s). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Will return the status information of each channel along with the │ │ │ │ │ + value for the specified channel variables. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised in response to a Status command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Type of channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Dialed number identifier │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Absolute lifetime of the channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Identifier of the bridge the channel is in, may be empty if not in one │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Application currently executing on the channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Data given to the currently executing channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Media formats the connected party is willing to send or receive │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Media formats that frames from the channel are received in │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Translation path for media received in native formats │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Media formats that frames to the channel are accepted in │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Translation path for media sent to the connected party │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configured call group on the channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configured pickup group on the channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of seconds the channel has been active │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Status │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised in response to a Status command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of Status events returned │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Status │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets a channel variable or function value. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel to set variable for. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Variable name, function or expression. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Variable or function value. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This command can be used to set the value of channel variables or dialplan │ │ │ │ │ + functions. │ │ │ │ │ + │ │ │ │ │ + If a channel name is not provided then the variable is considered global. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Goto │ │ │ │ │ - GotoIfTime │ │ │ │ │ - GosubIf │ │ │ │ │ - MacroIf │ │ │ │ │ + Getvar │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conditional Goto based on the current time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets a channel variable or function value. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel to read variable from. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Continue at │ │ │ │ │ - labeliftrue │ │ │ │ │ - if the condition is true. │ │ │ │ │ - Takes the form similar to Goto() of [[context,]extension,]priority. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Continue at │ │ │ │ │ - labeliffalse │ │ │ │ │ - if the condition is false. │ │ │ │ │ - Takes the form similar to Goto() of [[context,]extension,]priority. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Variable name, function or expression. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This application will set the context, extension, and priority in the channel structure │ │ │ │ │ - based on the evaluation of the given time specification. After this application completes, │ │ │ │ │ - the pbx engine will continue dialplan execution at the specified location in the dialplan. │ │ │ │ │ - If the current time is within the given time specification, the channel will continue at │ │ │ │ │ - labeliftrue │ │ │ │ │ - . Otherwise the channel will continue at │ │ │ │ │ - labeliffalse │ │ │ │ │ - . │ │ │ │ │ - If the label chosen by the condition is omitted, no jump is performed, and execution passes to the next │ │ │ │ │ - instruction. If the target jump location is bogus, the same actions would be taken as for │ │ │ │ │ - Goto │ │ │ │ │ - . │ │ │ │ │ - Further information on the time specification can be found in examples │ │ │ │ │ - illustrating how to do time-based context includes in the dialplan. │ │ │ │ │ - │ │ │ │ │ + Get the value of a channel variable or function return. │ │ │ │ │ + │ │ │ │ │ + If a channel name is not provided then the variable is considered global. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - GotoIf │ │ │ │ │ - Goto │ │ │ │ │ - IFTIME │ │ │ │ │ - TESTTIME │ │ │ │ │ + Setvar │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Import a variable from a channel into a new variable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve configuration. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configuration filename (e.g. │ │ │ │ │ + foo.conf │ │ │ │ │ + ). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Category in configuration file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A comma separated list of │ │ │ │ │ + name_regex │ │ │ │ │ + = │ │ │ │ │ + value_regex │ │ │ │ │ + expressions which will cause only categories whose variables match all expressions │ │ │ │ │ + to be considered. The special variable name │ │ │ │ │ + TEMPLATES │ │ │ │ │ + can be used to control whether templates are included. Passing │ │ │ │ │ + include │ │ │ │ │ + as the value will include templates │ │ │ │ │ + along with normal categories. Passing │ │ │ │ │ + restrict │ │ │ │ │ + as the value will restrict the operation to │ │ │ │ │ + ONLY templates. Not specifying a │ │ │ │ │ + TEMPLATES │ │ │ │ │ + expression │ │ │ │ │ + results in the default behavior which is to not include templates. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This application imports a │ │ │ │ │ - variable │ │ │ │ │ - from the specified │ │ │ │ │ - channel │ │ │ │ │ - (as opposed to the current one) and stores it as a variable │ │ │ │ │ - ( │ │ │ │ │ - newvar │ │ │ │ │ - ) in the current channel (the channel that is calling this │ │ │ │ │ - application). Variables created by this application have the same inheritance properties as those │ │ │ │ │ - created with the │ │ │ │ │ - Set │ │ │ │ │ - application. │ │ │ │ │ - │ │ │ │ │ + This action will dump the contents of a configuration │ │ │ │ │ + file by category and contents or optionally by specified category only. │ │ │ │ │ + In the case where a category name is non-unique, a filter may be specified │ │ │ │ │ + to match only categories with matching variable values. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Set │ │ │ │ │ + GetConfigJSON │ │ │ │ │ + UpdateConfig │ │ │ │ │ + CreateConfig │ │ │ │ │ + ListCategories │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hang up the calling channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve configuration (JSON format). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If a │ │ │ │ │ - causecode │ │ │ │ │ - is given the channel's │ │ │ │ │ - hangup cause will be set to the given value. │ │ │ │ │ + Configuration filename (e.g. │ │ │ │ │ + foo.conf │ │ │ │ │ + ). │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Category in configuration file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application will hang up the calling channel. │ │ │ │ │ + This action will dump the contents of a configuration file by category │ │ │ │ │ + and contents in JSON format or optionally by specified category only. │ │ │ │ │ + This only makes sense to be used using rawman over the HTTP interface. │ │ │ │ │ + In the case where a category name is non-unique, a filter may be specified │ │ │ │ │ + to match only categories with matching variable values. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Answer │ │ │ │ │ - Busy │ │ │ │ │ - Congestion │ │ │ │ │ + GetConfig │ │ │ │ │ + UpdateConfig │ │ │ │ │ + CreateConfig │ │ │ │ │ + ListCategories │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns AST_PBX_INCOMPLETE value. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Update basic configuration. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If specified, then Incomplete will not attempt to answer the channel first. │ │ │ │ │ - │ │ │ │ │ - Most channel types need to be in Answer state in order to receive DTMF. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configuration filename to read (e.g. │ │ │ │ │ + foo.conf │ │ │ │ │ + ). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configuration filename to write (e.g. │ │ │ │ │ + foo.conf │ │ │ │ │ + ) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether or not a reload should take place (or name of specific module). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether the effective category contents should be preserved on template change. Default is true (pre 13.2 behavior). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Action to take. │ │ │ │ │ + 0's represent 6 digit number beginning with 000000. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Category to operate on. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Variable to work on. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Value to work on. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Extra match required to match line. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Line in category to operate on (used with delete and insert actions). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A comma separated list of action-specific options. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + One or more of the following... │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Allow duplicate category names. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This category is a template. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Templates from which to inherit. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The following actions share the same options... │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + catfilter │ │ │ │ │ + is most useful when a file │ │ │ │ │ + contains multiple categories with the same name and you wish to │ │ │ │ │ + operate on specific ones instead of all of them. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Signals the PBX routines that the previous matched extension is incomplete │ │ │ │ │ - and that further input should be allowed before matching can be considered │ │ │ │ │ - to be complete. Can be used within a pattern match when certain criteria warrants │ │ │ │ │ - a longer match. │ │ │ │ │ + This action will modify, create, or delete configuration elements │ │ │ │ │ + in Asterisk configuration files. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Do Nothing (No Operation). │ │ │ │ │ + │ │ │ │ │ + GetConfig │ │ │ │ │ + GetConfigJSON │ │ │ │ │ + CreateConfig │ │ │ │ │ + ListCategories │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Creates an empty file in the configuration directory. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Any text provided can be viewed at the Asterisk CLI. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The configuration filename to create (e.g. │ │ │ │ │ + foo.conf │ │ │ │ │ + ). │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application does nothing. However, it is useful for debugging purposes. │ │ │ │ │ - This method can be used to see the evaluations of variables or functions without having any effect. │ │ │ │ │ + This action will create an empty file in the configuration │ │ │ │ │ + directory. This action is intended to be used before an UpdateConfig │ │ │ │ │ + action. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Verbose │ │ │ │ │ - Log │ │ │ │ │ + GetConfig │ │ │ │ │ + GetConfigJSON │ │ │ │ │ + UpdateConfig │ │ │ │ │ + ListCategories │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicate proceeding. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List categories in configuration file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configuration filename (e.g. │ │ │ │ │ + foo.conf │ │ │ │ │ + ). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - This application will request that a proceeding message be provided to the calling channel. │ │ │ │ │ + This action will dump the categories in a given file. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicate progress. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + GetConfig │ │ │ │ │ + GetConfigJSON │ │ │ │ │ + UpdateConfig │ │ │ │ │ + CreateConfig │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Redirect (transfer) a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel to redirect. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Second call leg to transfer (optional). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Extension to transfer to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Extension to transfer extrachannel to (optional). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Context to transfer to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Context to transfer extrachannel to (optional). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Priority to transfer to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Priority to transfer extrachannel to (optional). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - This application will request that in-band progress information be provided to the calling channel. │ │ │ │ │ + Redirect (transfer) a call. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Busy │ │ │ │ │ - Congestion │ │ │ │ │ - Ringing │ │ │ │ │ - Playtones │ │ │ │ │ + BlindTransfer │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Handle an exceptional condition. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Attended transfer. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transferer's channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Extension to transfer to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Context to transfer to. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This application will jump to the │ │ │ │ │ - e │ │ │ │ │ - extension in the current context, setting the │ │ │ │ │ - dialplan function EXCEPTION(). If the │ │ │ │ │ - e │ │ │ │ │ - extension does not exist, the call will hangup. │ │ │ │ │ - │ │ │ │ │ + Attended transfer. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Exception │ │ │ │ │ + AttendedTransfer │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicate ringing tone. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 13.18.0 │ │ │ │ │ + 14.7.0 │ │ │ │ │ + 15.1.0 │ │ │ │ │ + 16.0.0 │ │ │ │ │ + │ │ │ │ │ + Cancel an attended transfer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The transferer channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - This application will request that the channel indicate a ringing tone to the user. │ │ │ │ │ + Cancel an attended transfer. Note, this uses the configured cancel attended transfer │ │ │ │ │ + feature option (atxferabort) to cancel the transfer. If not available this action will fail. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Busy │ │ │ │ │ - Congestion │ │ │ │ │ - Progress │ │ │ │ │ - Playtones │ │ │ │ │ + AttendedTransfer │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Alpha. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Originate a call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel name to call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Extension to use (requires │ │ │ │ │ + Context │ │ │ │ │ + and │ │ │ │ │ + Priority │ │ │ │ │ + ) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Context to use (requires │ │ │ │ │ + Exten │ │ │ │ │ + and │ │ │ │ │ + Priority │ │ │ │ │ + ) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Priority to use (requires │ │ │ │ │ + Exten │ │ │ │ │ + and │ │ │ │ │ + Context │ │ │ │ │ + ) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Application to execute. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Data to use (requires │ │ │ │ │ + Application │ │ │ │ │ + ). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + How long to wait for call to be answered (in ms.). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Caller ID to be set on the outgoing channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel variable to set, multiple Variable: headers are allowed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Account code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set to │ │ │ │ │ + true │ │ │ │ │ + to force call bridge on early media.. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set to │ │ │ │ │ + true │ │ │ │ │ + for fast origination. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Comma-separated list of codecs to use for this call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel UniqueId to be set on the channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel UniqueId to be set on the second local channel. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application will play the sounds that correspond to the letters │ │ │ │ │ - of the given │ │ │ │ │ - string │ │ │ │ │ - . If the channel variable │ │ │ │ │ - SAY_DTMF_INTERRUPT │ │ │ │ │ - is set to 'true' (case insensitive), │ │ │ │ │ - then this application will react to DTMF in the same way as │ │ │ │ │ - Background │ │ │ │ │ - . │ │ │ │ │ + Generates an outgoing call to a │ │ │ │ │ + Extension │ │ │ │ │ + / │ │ │ │ │ + Context │ │ │ │ │ + / │ │ │ │ │ + Priority │ │ │ │ │ + or │ │ │ │ │ + Application │ │ │ │ │ + / │ │ │ │ │ + Data │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SayDigits │ │ │ │ │ - SayMoney │ │ │ │ │ - SayNumber │ │ │ │ │ - SayOrdinal │ │ │ │ │ - SayPhonetic │ │ │ │ │ - CHANNEL │ │ │ │ │ - SAYFILES │ │ │ │ │ + OriginateResponse │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Alpha. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised in response to an Originate command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Originate │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Execute Asterisk CLI Command. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Case sensitive (all) pronunciation. │ │ │ │ │ - (Ex: SayAlphaCase(a,aBc); - lowercase a uppercase b lowercase c). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Case sensitive (lower) pronunciation. │ │ │ │ │ - (Ex: SayAlphaCase(l,aBc); - lowercase a b lowercase c). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Case insensitive pronunciation. Equivalent to SayAlpha. │ │ │ │ │ - (Ex: SayAlphaCase(n,aBc) - a b c). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Case sensitive (upper) pronunciation. │ │ │ │ │ - (Ex: SayAlphaCase(u,aBc); - a uppercase b c). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Asterisk CLI command to run. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Run a CLI command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Check Extension Status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Extension to check state on. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Context for extension. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + Report the extension state for given extension. If the extension has a hint, │ │ │ │ │ + will use devicestate to check the status of the device connected to the extension. │ │ │ │ │ │ │ │ │ │ - This application will play the sounds that correspond to the letters of the │ │ │ │ │ - given │ │ │ │ │ - string │ │ │ │ │ - . Optionally, a │ │ │ │ │ - casetype │ │ │ │ │ - may be │ │ │ │ │ - specified. This will be used for case-insensitive or case-sensitive pronunciations. If the channel │ │ │ │ │ - variable │ │ │ │ │ - SAY_DTMF_INTERRUPT │ │ │ │ │ - is set to 'true' (case insensitive), then this │ │ │ │ │ - application will react to DTMF in the same way as │ │ │ │ │ - Background │ │ │ │ │ - . │ │ │ │ │ + Will return an │ │ │ │ │ + Extension Status │ │ │ │ │ + message. The response will include │ │ │ │ │ + the hint for the extension and the status. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SayDigits │ │ │ │ │ - SayMoney │ │ │ │ │ - SayNumber │ │ │ │ │ - SayOrdinal │ │ │ │ │ - SayPhonetic │ │ │ │ │ - SayAlpha │ │ │ │ │ - CHANNEL │ │ │ │ │ + ExtensionStatus │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Digits. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Check Presence State │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Presence Provider to check the state of │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + Report the presence state for the given presence provider. │ │ │ │ │ │ │ │ │ │ - This application will play the sounds that correspond to the digits of │ │ │ │ │ - the given number. This will use the language that is currently set for the channel. │ │ │ │ │ - If the channel variable │ │ │ │ │ - SAY_DTMF_INTERRUPT │ │ │ │ │ - is set to 'true' │ │ │ │ │ - (case insensitive), then this application will react to DTMF in the same way as │ │ │ │ │ - Background │ │ │ │ │ - . │ │ │ │ │ + Will return a │ │ │ │ │ + Presence State │ │ │ │ │ + message. The response will include the │ │ │ │ │ + presence state and, if set, a presence subtype and custom message. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SayAlpha │ │ │ │ │ - SayMoney │ │ │ │ │ - SayNumber │ │ │ │ │ - SayOrdinal │ │ │ │ │ - SayPhonetic │ │ │ │ │ - CHANNEL │ │ │ │ │ - SAYFILES │ │ │ │ │ + PresenceStatus │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Money. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set absolute timeout. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel name to hangup. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum duration of the call (sec). │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application will play the currency sounds for the given floating point number │ │ │ │ │ - in the current language. Currently only English and US Dollars is supported. │ │ │ │ │ - If the channel variable │ │ │ │ │ - SAY_DTMF_INTERRUPT │ │ │ │ │ - is set to 'true' │ │ │ │ │ - (case insensitive), then this application will react to DTMF in the same way as │ │ │ │ │ - Background │ │ │ │ │ - . │ │ │ │ │ + Hangup a channel after a certain time. Acknowledges set time with │ │ │ │ │ + Timeout Set │ │ │ │ │ + message. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - SayAlpha │ │ │ │ │ - SayNumber │ │ │ │ │ - SayOrdinal │ │ │ │ │ - SayPhonetic │ │ │ │ │ - CHANNEL │ │ │ │ │ - SAYFILES │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Check mailbox. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Full mailbox ID │ │ │ │ │ + mailbox │ │ │ │ │ + @ │ │ │ │ │ + vm-context │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + Checks a voicemail account for status. │ │ │ │ │ + Returns whether there are messages waiting. │ │ │ │ │ + Message: Mailbox Status. │ │ │ │ │ │ │ │ │ │ - This application will play the sounds that correspond to the given │ │ │ │ │ - digits │ │ │ │ │ - . Optionally, a │ │ │ │ │ - gender │ │ │ │ │ - may be │ │ │ │ │ - specified. This will use the language that is currently set for the channel. See the CHANNEL() │ │ │ │ │ - function for more information on setting the language for the channel. If the channel variable │ │ │ │ │ - SAY_DTMF_INTERRUPT │ │ │ │ │ - is set to 'true' (case insensitive), then this │ │ │ │ │ - application will react to DTMF in the same way as │ │ │ │ │ - Background │ │ │ │ │ + Mailbox: │ │ │ │ │ + mailboxid │ │ │ │ │ . │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Waiting: │ │ │ │ │ + 0 │ │ │ │ │ + if messages waiting, │ │ │ │ │ + 1 │ │ │ │ │ + if no messages waiting. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SayAlpha │ │ │ │ │ - SayDigits │ │ │ │ │ - SayMoney │ │ │ │ │ - SayPhonetic │ │ │ │ │ - CHANNEL │ │ │ │ │ - SAYFILES │ │ │ │ │ + MailboxCount │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Ordinal Number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Check Mailbox Message Count. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Full mailbox ID │ │ │ │ │ + mailbox │ │ │ │ │ + @ │ │ │ │ │ + vm-context │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + Checks a voicemail account for new messages. │ │ │ │ │ + Returns number of urgent, new and old messages. │ │ │ │ │ + Message: Mailbox Message Count │ │ │ │ │ │ │ │ │ │ - This application will play the ordinal sounds that correspond to the given │ │ │ │ │ - digits │ │ │ │ │ - (e.g. 1st, 42nd). Currently only English is supported. │ │ │ │ │ + Mailbox: │ │ │ │ │ + mailboxid │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Optionally, a │ │ │ │ │ - gender │ │ │ │ │ - may be │ │ │ │ │ - specified. This will use the language that is currently set for the channel. See the CHANNEL() │ │ │ │ │ - function for more information on setting the language for the channel. If the channel variable │ │ │ │ │ - SAY_DTMF_INTERRUPT │ │ │ │ │ - is set to 'true' (case insensitive), then this │ │ │ │ │ - application will react to DTMF in the same way as │ │ │ │ │ - Background │ │ │ │ │ - . │ │ │ │ │ + UrgentMessages: │ │ │ │ │ + count │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + NewMessages: │ │ │ │ │ + count │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + OldMessages: │ │ │ │ │ + count │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SayAlpha │ │ │ │ │ - SayDigits │ │ │ │ │ - SayMoney │ │ │ │ │ - SayNumber │ │ │ │ │ - SayPhonetic │ │ │ │ │ - CHANNEL │ │ │ │ │ - SAYFILES │ │ │ │ │ + MailboxStatus │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Phonetic. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List available manager commands. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This application will play the sounds from the phonetic alphabet that correspond to the │ │ │ │ │ - letters in the given │ │ │ │ │ - string │ │ │ │ │ - . If the channel variable │ │ │ │ │ - SAY_DTMF_INTERRUPT │ │ │ │ │ - is set to 'true' (case insensitive), then this │ │ │ │ │ - application will react to DTMF in the same way as │ │ │ │ │ - Background │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + Returns the action name and synopsis for every action that │ │ │ │ │ + is available to the user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sends a text message to channel. A content type can be optionally specified. If not set │ │ │ │ │ + it is set to an empty string allowing a custom handler to default it as it sees fit. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel to send message to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Message to send. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The type of content in the message │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sends A Text Message to a channel while in a call. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SayAlpha │ │ │ │ │ - SayDigits │ │ │ │ │ - SayMoney │ │ │ │ │ - SayNumber │ │ │ │ │ - SayOrdinal │ │ │ │ │ - SAYFILES │ │ │ │ │ + SendText │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set the AMA Flags. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send an arbitrary event. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Event string to send. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Content1. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ContentN. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application will set the channel's AMA Flags for billing purposes. │ │ │ │ │ - │ │ │ │ │ - This application is deprecated. Please use the CHANNEL function instead. │ │ │ │ │ - │ │ │ │ │ + Send an event to manager sessions. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - CDR │ │ │ │ │ - CHANNEL │ │ │ │ │ + UserEvent │ │ │ │ │ + UserEvent │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Waits for some time. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Wait for an event to occur. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Can be passed with fractions of a second. For example, │ │ │ │ │ - 1.5 │ │ │ │ │ - will ask the │ │ │ │ │ - application to wait for 1.5 seconds. │ │ │ │ │ + Maximum time (in seconds) to wait for events, │ │ │ │ │ + -1 │ │ │ │ │ + means forever. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application waits for a specified number of │ │ │ │ │ - seconds │ │ │ │ │ - . │ │ │ │ │ + This action will elicit a │ │ │ │ │ + Success │ │ │ │ │ + response. Whenever │ │ │ │ │ + a manager event is queued. Once WaitEvent has been called on an HTTP manager │ │ │ │ │ + session, events will be generated and queued. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Waits for a digit to be entered. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show PBX core settings (version etc). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Can be passed with fractions of a second. For example, │ │ │ │ │ - 1.5 │ │ │ │ │ - will ask the │ │ │ │ │ - application to wait for 1.5 seconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Digits to accept, all others are ignored. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Query for Core PBX settings. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show PBX core status variables. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Query for Core PBX status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send a reload event. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Name of the module to reload. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This application waits for the user to press one of the accepted │ │ │ │ │ - digits │ │ │ │ │ - for a specified number of │ │ │ │ │ - seconds │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is the final status of the command │ │ │ │ │ - Parameters are invalid. │ │ │ │ │ - An accepted digit was received. │ │ │ │ │ - The timeout passed before any acceptable digits were received. │ │ │ │ │ - The channel has hungup or was redirected. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The digit that was received, only set if │ │ │ │ │ - WAITDIGITSTATUS │ │ │ │ │ - is │ │ │ │ │ - DTMF │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Send a reload event. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Wait │ │ │ │ │ - WaitExten │ │ │ │ │ + ModuleLoad │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Waits for an extension to be entered. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised in response to a CoreShowChannels command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Identifier of the bridge the channel is in, may be empty if not in one │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Application currently executing on the channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Data given to the currently executing application │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The amount of time the channel has existed │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CoreShowChannels │ │ │ │ │ + CoreShowChannelsComplete │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised at the end of the CoreShowChannel list produced by the CoreShowChannels command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conveys the status of the command reponse list │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The total number of list items produced │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CoreShowChannels │ │ │ │ │ + CoreShowChannel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List currently active channels. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List currently defined channels and some information about them. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reload and rotate the Asterisk logger. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reload and rotate the logger. Analogous to the CLI command 'logger rotate'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Module management. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Asterisk module name (including .so extension) or subsystem identifier: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The operation to be done on module. Subsystem identifiers may only │ │ │ │ │ + be reloaded. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Can be passed with fractions of a second. For example, │ │ │ │ │ - 1.5 │ │ │ │ │ - will ask the │ │ │ │ │ - application to wait for 1.5 seconds. │ │ │ │ │ + If no module is specified for a │ │ │ │ │ + reload │ │ │ │ │ + loadtype, │ │ │ │ │ + all modules are reloaded. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This application waits for the user to enter a new extension for a specified number │ │ │ │ │ - of │ │ │ │ │ - seconds │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Loads, unloads or reloads an Asterisk module in a running system. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Background │ │ │ │ │ - TIMEOUT │ │ │ │ │ + Reload │ │ │ │ │ + ModuleCheck │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Bridge two channels. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Check if module is loaded. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The current channel is bridged to the channel │ │ │ │ │ - identified by the channel name, channel name prefix, or channel │ │ │ │ │ - uniqueid. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Asterisk module name (not including extension). │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Allows the ability to bridge two channels via the dialplan. │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The result of the bridge attempt as a text string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Checks if Asterisk module is loaded. Will return Success/Failure. │ │ │ │ │ + For success returns, the module revision number is included. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Bridge │ │ │ │ │ - BridgeCreate │ │ │ │ │ - BridgeEnter │ │ │ │ │ + ModuleLoad │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Bridge two channels already in the PBX. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Generate an Advice of Charge message on a channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Channel to Bridge to Channel2. │ │ │ │ │ + │ │ │ │ │ + Channel name to generate the AOC message on. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Channel to Bridge to Channel1. │ │ │ │ │ + │ │ │ │ │ + Partial channel prefix. By using this option one can match the beginning part │ │ │ │ │ + of a channel name without having to put the entire name in. For example │ │ │ │ │ + if a channel name is SIP/snom-00000001 and this value is set to SIP/snom, then │ │ │ │ │ + that channel matches and the message will be sent. Note however that only │ │ │ │ │ + the first matched channel has the message sent on it. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Play courtesy tone to Channel 2. │ │ │ │ │ + │ │ │ │ │ + Defines what type of AOC message to create, AOC-D or AOC-E │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Defines what kind of charge this message represents. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This represents the amount of units charged. The ETSI AOC standard specifies that │ │ │ │ │ + this value along with the optional UnitType value are entries in a list. To accommodate this │ │ │ │ │ + these values take an index value starting at 0 which can be used to generate this list of │ │ │ │ │ + unit entries. For Example, If two unit entires were required this could be achieved by setting the │ │ │ │ │ + paramter UnitAmount(0)=1234 and UnitAmount(1)=5678. Note that UnitAmount at index 0 is │ │ │ │ │ + required when ChargeType=Unit, all other entries in the list are optional. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Defines the type of unit. ETSI AOC standard specifies this as an integer │ │ │ │ │ + value between 1 and 16, but this value is left open to accept any positive │ │ │ │ │ + integer. Like the UnitAmount parameter, this value represents a list entry │ │ │ │ │ + and has an index parameter that starts at 0. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specifies the currency's name. Note that this value is truncated after 10 characters. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specifies the charge unit amount as a positive integer. This value is required │ │ │ │ │ + when ChargeType==Currency. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specifies the currency multiplier. This value is required when ChargeType==Currency. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Defines what kind of AOC-D total is represented. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Represents a billing ID associated with an AOC-D or AOC-E message. Note │ │ │ │ │ + that only the first 3 items of the enum are valid AOC-D billing IDs │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Charging association identifier. This is optional for AOC-E and can be │ │ │ │ │ + set to any value between -32768 and 32767 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Represents the charging association party number. This value is optional │ │ │ │ │ + for AOC-E. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Integer representing the charging plan associated with the ChargingAssociationNumber. │ │ │ │ │ + The value is bits 7 through 1 of the Q.931 octet containing the type-of-number and │ │ │ │ │ + numbering-plan-identification fields. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Bridge together two channels already in the PBX. │ │ │ │ │ + Generates an AOC-D or AOC-E message on a channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Bridge │ │ │ │ │ - BridgeCreate │ │ │ │ │ - BridgeEnter │ │ │ │ │ - BridgeDestroy │ │ │ │ │ - BridgeInfo │ │ │ │ │ - BridgeKick │ │ │ │ │ - BridgeList │ │ │ │ │ + AOC-D │ │ │ │ │ + AOC-E │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List available bridging technologies and their statuses. │ │ │ │ │ + │ │ │ │ │ + Checks attributes of manager accounts │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Login name, specified in manager.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The manager account attribute to return │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of sessions for this AMI account │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns detailed information about the available bridging technologies. │ │ │ │ │ + Currently, the only supported parameter is "sessions" which will return the current number of │ │ │ │ │ + active sessions for this AMI account. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - BridgeTechnologySuspend │ │ │ │ │ - BridgeTechnologyUnsuspend │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Suspend a bridging technology. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Dynamically add filters for the current manager session. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the bridging technology to suspend. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Add a filter. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Filters can be whitelist or blacklist │ │ │ │ │ + Example whitelist filter: "Event: Newchannel" │ │ │ │ │ + Example blacklist filter: "!Channel: DAHDI.*" │ │ │ │ │ + This filter option is used to whitelist or blacklist events per user to be │ │ │ │ │ + reported with regular expressions and are allowed if both the regex matches │ │ │ │ │ + and the user has read access as defined in manager.conf. Filters are assumed to be for whitelisting │ │ │ │ │ + unless preceeded by an exclamation point, which marks it as being black. │ │ │ │ │ + Evaluation of the filters is as follows: │ │ │ │ │ + - If no filters are configured all events are reported as normal. │ │ │ │ │ + - If there are white filters only: implied black all filter processed first, then white filters. │ │ │ │ │ + - If there are black filters only: implied white all filter processed first, then black filters. │ │ │ │ │ + - If there are both white and black filters: implied black all filter processed first, then white │ │ │ │ │ + filters, and lastly black filters. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Marks a bridging technology as suspended, which prevents subsequently created bridges from using it. │ │ │ │ │ + The filters added are only used for the current session. │ │ │ │ │ + Once the connection is closed the filters are removed. │ │ │ │ │ + This comand requires the system permission because │ │ │ │ │ + this command can be used to create filters that may bypass │ │ │ │ │ + filters defined in manager.conf │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - BridgeTechnologySuspend │ │ │ │ │ - BridgeTechnologyUnsuspend │ │ │ │ │ + FilterList │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Unsuspend a bridging technology. │ │ │ │ │ + │ │ │ │ │ + Show current event filters for this session │ │ │ │ │ + │ │ │ │ │ + The filters displayed are for the current session. Only those filters defined in │ │ │ │ │ + manager.conf will be present upon starting a new session. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Filter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Blind transfer channel(s) to the given destination │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the bridging technology to unsuspend. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Clears a previously suspended bridging technology, which allows subsequently created bridges to use it. │ │ │ │ │ + Redirect all channels currently bridged to the specified channel to the specified destination. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - BridgeTechnologyList │ │ │ │ │ - BridgeTechnologySuspend │ │ │ │ │ + Redirect │ │ │ │ │ + BlindTransfer │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a hint changes due to a device state change. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Name of the extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Context that owns the extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Hint set for the extension │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Numerical value of the extension status. Extension │ │ │ │ │ + status is determined by the combined device state of all items │ │ │ │ │ + contained in the hint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The extension was removed from the dialplan. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The extension's hint was removed from the dialplan. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Idle │ │ │ │ │ + - Related device(s) are in an idle │ │ │ │ │ + state. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + InUse │ │ │ │ │ + - Related device(s) are in active │ │ │ │ │ + calls but may take more calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Busy │ │ │ │ │ + - Related device(s) are in active │ │ │ │ │ + calls and may not take any more calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unavailable │ │ │ │ │ + - Related device(s) are │ │ │ │ │ + not reachable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Ringing │ │ │ │ │ + - Related device(s) are │ │ │ │ │ + currently ringing. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + InUse&Ringing │ │ │ │ │ + - Related device(s) │ │ │ │ │ + are currently ringing and in active calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Hold │ │ │ │ │ + - Related device(s) are │ │ │ │ │ + currently on hold. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + InUse&Hold │ │ │ │ │ + - Related device(s) │ │ │ │ │ + are currently on hold and in active calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Text representation of │ │ │ │ │ + Status │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Status does not match any of the above values. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ExtensionState │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a hint changes due to a presence state change. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PresenceState │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A user defined event raised from the dialplan. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an Advice of Charge message is sent at the beginning of a call. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The event name, as specified in the dialplan. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - UserEvent │ │ │ │ │ - UserEvent │ │ │ │ │ + AOC-D │ │ │ │ │ + AOC-E │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Settings that configure the threadpool Stasis uses to deliver some messages. │ │ │ │ │ - │ │ │ │ │ - Initial number of threads in the message bus threadpool. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of seconds before an idle thread is disposed of. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum number of threads in the threadpool. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stasis message types for which to decline creation. │ │ │ │ │ - │ │ │ │ │ - The message type to decline. │ │ │ │ │ - │ │ │ │ │ - This configuration option defines the name of the Stasis │ │ │ │ │ - message type that Asterisk is forbidden from creating and can be │ │ │ │ │ - specified as many times as necessary to achieve the desired result. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an Advice of Charge message is sent during a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AOCMessage │ │ │ │ │ + AOC-S │ │ │ │ │ + AOC-E │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an Advice of Charge message is sent at the end of a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AOCMessage │ │ │ │ │ + AOC-S │ │ │ │ │ + AOC-D │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a device state changes │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The device whose state has changed │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The new state of the device │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This differs from the │ │ │ │ │ + ExtensionStatus │ │ │ │ │ + event because this event is raised for all device state changes, │ │ │ │ │ + not only for changes that affect dialplan hints. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ExtensionStatus │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a new channel is created. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Newstate │ │ │ │ │ + Hangup │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel's state changes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Newchannel │ │ │ │ │ + Hangup │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel is hung up. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A numeric cause code for why the channel was hung up. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A description of why the channel was hung up. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Newchannel │ │ │ │ │ + SoftHangupRequest │ │ │ │ │ + HangupRequest │ │ │ │ │ + Newstate │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a hangup is requested. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SoftHangupRequest │ │ │ │ │ + Hangup │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a soft hangup is requested with a specific cause code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + HangupRequest │ │ │ │ │ + Hangup │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel enters a new context, extension, priority. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Deprecated in 12, but kept for │ │ │ │ │ + backward compatability. Please use │ │ │ │ │ + 'Exten' instead. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The application about to be executed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The data to be passed to the application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel receives new Caller ID information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A description of the Caller ID presentation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CALLERID │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel's connected line information is changed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CONNECTEDLINE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a Channel's AccountCode is changed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The channel's previous account code │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CHANNEL │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a dial action has started. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The non-technology specific device being dialed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Dial │ │ │ │ │ + Originate │ │ │ │ │ + Originate │ │ │ │ │ + DialEnd │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when dial status has changed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The new state of the outbound dial attempt. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound channel is ringing. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The call to the outbound channel is proceeding. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Progress has been received on the outbound channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the call was forwarded, where the call was │ │ │ │ │ + forwarded to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a dial action has completed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The result of the dial operation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The call was aborted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The caller answered. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The caller was busy. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The caller cancelled the call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The requested channel is unavailable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The called party is congested. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The dial completed, but the caller elected │ │ │ │ │ + to continue in the dialplan. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The dial completed, but the caller jumped to │ │ │ │ │ + a dialplan location. │ │ │ │ │ + If known, the location the caller is jumping │ │ │ │ │ + to will be appended to the result following a │ │ │ │ │ + ":". │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The called party failed to answer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the call was forwarded, where the call was │ │ │ │ │ + forwarded to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Dial │ │ │ │ │ + Originate │ │ │ │ │ + Originate │ │ │ │ │ + DialBegin │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel goes on hold. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The suggested MusicClass, if provided. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unhold │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel goes off hold. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Hold │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when one channel begins spying on another channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ChanSpyStop │ │ │ │ │ + ChanSpy │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel has stopped spying. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ChanSpyStart │ │ │ │ │ + ChanSpy │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a hangup handler is about to be called. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Hangup handler parameter string passed to the Gosub application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CHANNEL │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a hangup handler is removed from the handler stack │ │ │ │ │ + by the CHANNEL() function. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + HangupHandlerPush │ │ │ │ │ + CHANNEL │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a hangup handler is added to the handler stack by │ │ │ │ │ + the CHANNEL() function. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + HangupHandlerPop │ │ │ │ │ + CHANNEL │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised periodically during a fax transmission. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A text message describing the current status of the fax │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a receive fax operation has completed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The value of the │ │ │ │ │ + LOCALSTATIONID │ │ │ │ │ + channel variable │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The value of the │ │ │ │ │ + REMOTESTATIONID │ │ │ │ │ + channel variable │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of pages that have been transferred │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The negotiated resolution │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The negotiated transfer rate │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The files being affected by the fax operation │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a send fax operation has completed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when music on hold has started on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The class of music being played on the channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MusicOnHoldStop │ │ │ │ │ + StartMusicOnHold │ │ │ │ │ + MusicOnHold │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when music on hold has stopped on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MusicOnHoldStart │ │ │ │ │ + StopMusicOnHold │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when monitoring has started on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MonitorStop │ │ │ │ │ + Monitor │ │ │ │ │ + Monitor │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when monitoring has stopped on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MonitorStart │ │ │ │ │ + StopMonitor │ │ │ │ │ + StopMonitor │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Request call completion service for previous call │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -22239,93 +23854,304 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set channel variable or function value. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function can be used to set the value of channel variables or dialplan functions. │ │ │ │ │ + When setting variables, if the variable name is prefixed with │ │ │ │ │ + _ │ │ │ │ │ + , │ │ │ │ │ + the variable will be inherited into channels created from the current channel. │ │ │ │ │ + If the variable name is prefixed with │ │ │ │ │ + __ │ │ │ │ │ + , the variable will be │ │ │ │ │ + inherited into channels created from the current channel and all children channels. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If (and only if), in │ │ │ │ │ + /etc/asterisk/asterisk.conf │ │ │ │ │ + , you have │ │ │ │ │ + a │ │ │ │ │ + [compat] │ │ │ │ │ + category, and you have │ │ │ │ │ + app_set = 1.4 │ │ │ │ │ + under that, then │ │ │ │ │ + the behavior of this app changes, and strips surrounding quotes from the right hand side as │ │ │ │ │ + it did previously in 1.4. │ │ │ │ │ + The advantages of not stripping out quoting, and not caring about the separator characters (comma and vertical bar) │ │ │ │ │ + were sufficient to make these changes in 1.6. Confusion about how many backslashes would be needed to properly │ │ │ │ │ + protect separators and quotes in various database access strings has been greatly │ │ │ │ │ + reduced by these changes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MSet │ │ │ │ │ + GLOBAL │ │ │ │ │ + SET │ │ │ │ │ + ENV │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set channel variable(s) or function value(s). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function can be used to set the value of channel variables or dialplan functions. │ │ │ │ │ + When setting variables, if the variable name is prefixed with │ │ │ │ │ + _ │ │ │ │ │ + , │ │ │ │ │ + the variable will be inherited into channels created from the current channel │ │ │ │ │ + If the variable name is prefixed with │ │ │ │ │ + __ │ │ │ │ │ + , the variable will be │ │ │ │ │ + inherited into channels created from the current channel and all children channels. │ │ │ │ │ + MSet behaves in a similar fashion to the way Set worked in 1.2/1.4 and is thus │ │ │ │ │ + prone to doing things that you may not expect. For example, it strips surrounding │ │ │ │ │ + double-quotes from the right-hand side (value). If you need to put a separator │ │ │ │ │ + character (comma or vert-bar), you will need to escape them by inserting a backslash │ │ │ │ │ + before them. Avoid its use if possible. │ │ │ │ │ + │ │ │ │ │ + This application allows up to 99 variables to be set at once. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Get DB Entry. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get DB entries, optionally at a particular family/key │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Put DB entry. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Delete DB entry. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Delete DB Tree. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Retrieve the details of the current dialplan exception. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The following fields are available for retrieval: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + INVALID, ERROR, RESPONSETIMEOUT, ABSOLUTETIMEOUT, or custom │ │ │ │ │ + value set by the RaiseException() application │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The context executing when the exception occurred. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The extension executing when the exception occurred. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The numeric priority executing when the exception occurred. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve the details (specified │ │ │ │ │ + field │ │ │ │ │ + ) of the current dialplan exception. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + RaiseException │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets a time to be used with the channel to test logical conditions. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Date in ISO 8601 format │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Time in HH:MM:SS format (24-hour time) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Timezone name │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + To test dialplan timing conditions at times other than the current time, use │ │ │ │ │ + this function to set an alternate date and time. For example, you may wish to evaluate │ │ │ │ │ + whether a location will correctly identify to callers that the area is closed on Christmas │ │ │ │ │ + Day, when Christmas would otherwise fall on a day when the office is normally open. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + GotoIfTime │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show dialplan contexts and extensions │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show a specific extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show a specific context. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show dialplan contexts and extensions. Be aware that showing the full dialplan │ │ │ │ │ + may take a lot of capacity. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List the current known extension states. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This will list out all known extension states in a │ │ │ │ │ + sequence of │ │ │ │ │ + ExtensionStatus │ │ │ │ │ + events. │ │ │ │ │ + When finished, a │ │ │ │ │ + ExtensionStateListComplete │ │ │ │ │ + event │ │ │ │ │ + will be emitted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ExtensionState │ │ │ │ │ + HINT │ │ │ │ │ + EXTENSION_STATE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicates the end of the list the current known extension states. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conveys the status of the event list. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conveys the number of statuses reported. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a presence state changes │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The entity whose presence state has changed │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The new status of the presentity │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The new subtype of the presentity │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The new message of the presentity │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This differs from the │ │ │ │ │ - PresenceStatus │ │ │ │ │ - event because this event is raised for all presence state changes, │ │ │ │ │ - not only for changes that affect dialplan hints. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PresenceStatus │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Raised when a bridge is created. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -22491,524 +24317,178 @@ │ │ │ │ │ Bridge │ │ │ │ │ BridgeDestroy │ │ │ │ │ BridgeInfo │ │ │ │ │ BridgeList │ │ │ │ │ BridgeLeave │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - uriparser │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Bucket file API │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Scheme in use for bucket │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Time at which the bucket was created │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Time at which the bucket was last modified │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Scheme in use for file │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Time at which the file was created │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Time at which the file was last modified │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when all Asterisk initialization procedures have finished. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a variable is set to a particular value. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Informational message │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The variable being set. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Seconds since start │ │ │ │ │ + │ │ │ │ │ + The new value of the variable. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Seconds since last reload │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an Agent has logged in. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Agent ID of the agent. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + AgentLogin │ │ │ │ │ + AgentLogoff │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when Asterisk is shutdown or restarted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an Agent has logged off. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Whether the shutdown is proceeding cleanly (all channels │ │ │ │ │ - were hungup successfully) or uncleanly (channels will be │ │ │ │ │ - terminated) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of seconds the agent was logged in. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Whether or not a restart will occur. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AgentLogin │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when talking is detected on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + TALK_DETECT │ │ │ │ │ + ChannelTalkingStop │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when talking is no longer detected on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The length in time, in milliseconds, that talking was │ │ │ │ │ + detected on the channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + TALK_DETECT │ │ │ │ │ + ChannelTalkingStart │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - jansson │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Options that apply globally to Channel Event Logging (CEL) │ │ │ │ │ - │ │ │ │ │ - Determines whether CEL is enabled │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Global options for configuring UDPTL │ │ │ │ │ + │ │ │ │ │ + The start of the UDPTL port range │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The format to be used for dates when logging │ │ │ │ │ + │ │ │ │ │ + The end of the UDPTL port range │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List of apps for CEL to track │ │ │ │ │ - │ │ │ │ │ - A case-insensitive, comma-separated list of applications │ │ │ │ │ - to track when one or both of APP_START and APP_END events are flagged for │ │ │ │ │ - tracking │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Whether to enable or disable UDP checksums on UDPTL traffic │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List of events for CEL to track │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A case-sensitive, comma-separated list of event names │ │ │ │ │ - to track. These event names do not include the leading │ │ │ │ │ - AST_CEL │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Special value which tracks all events. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The number of error correction entries in a UDPTL packet │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The span over which parity is calculated for FEC in a UDPTL packet │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether to only use even-numbered UDPTL ports │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Removed │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Removed │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set channel variable or function value. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function can be used to set the value of channel variables or dialplan functions. │ │ │ │ │ - When setting variables, if the variable name is prefixed with │ │ │ │ │ - _ │ │ │ │ │ - , │ │ │ │ │ - the variable will be inherited into channels created from the current channel. │ │ │ │ │ - If the variable name is prefixed with │ │ │ │ │ - __ │ │ │ │ │ - , the variable will be │ │ │ │ │ - inherited into channels created from the current channel and all children channels. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If (and only if), in │ │ │ │ │ - /etc/asterisk/asterisk.conf │ │ │ │ │ - , you have │ │ │ │ │ - a │ │ │ │ │ - [compat] │ │ │ │ │ - category, and you have │ │ │ │ │ - app_set = 1.4 │ │ │ │ │ - under that, then │ │ │ │ │ - the behavior of this app changes, and strips surrounding quotes from the right hand side as │ │ │ │ │ - it did previously in 1.4. │ │ │ │ │ - The advantages of not stripping out quoting, and not caring about the separator characters (comma and vertical bar) │ │ │ │ │ - were sufficient to make these changes in 1.6. Confusion about how many backslashes would be needed to properly │ │ │ │ │ - protect separators and quotes in various database access strings has been greatly │ │ │ │ │ - reduced by these changes. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - MSet │ │ │ │ │ - GLOBAL │ │ │ │ │ - SET │ │ │ │ │ - ENV │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set channel variable(s) or function value(s). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function can be used to set the value of channel variables or dialplan functions. │ │ │ │ │ - When setting variables, if the variable name is prefixed with │ │ │ │ │ - _ │ │ │ │ │ - , │ │ │ │ │ - the variable will be inherited into channels created from the current channel │ │ │ │ │ - If the variable name is prefixed with │ │ │ │ │ - __ │ │ │ │ │ - , the variable will be │ │ │ │ │ - inherited into channels created from the current channel and all children channels. │ │ │ │ │ - MSet behaves in a similar fashion to the way Set worked in 1.2/1.4 and is thus │ │ │ │ │ - prone to doing things that you may not expect. For example, it strips surrounding │ │ │ │ │ - double-quotes from the right-hand side (value). If you need to put a separator │ │ │ │ │ - character (comma or vert-bar), you will need to escape them by inserting a backslash │ │ │ │ │ - before them. Avoid its use if possible. │ │ │ │ │ - │ │ │ │ │ - This application allows up to 99 variables to be set at once. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + uriparser │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Call Detail Record configuration │ │ │ │ │ - │ │ │ │ │ - CDR is Call Detail Record, which provides logging services via a variety of │ │ │ │ │ - pluggable backend modules. Detailed call information can be recorded to │ │ │ │ │ - databases, files, etc. Useful for billing, fraud prevention, compliance with │ │ │ │ │ - Sarbanes-Oxley aka The Enron Act, QOS evaluations, and more. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Global settings applied to the CDR engine. │ │ │ │ │ - │ │ │ │ │ - Enable/disable verbose CDR debugging. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When set to │ │ │ │ │ - True │ │ │ │ │ - , verbose updates │ │ │ │ │ - of changes in CDR information will be logged. Note that this is only │ │ │ │ │ - of use when debugging CDR behavior. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enable/disable CDR logging. │ │ │ │ │ - │ │ │ │ │ - Define whether or not to use CDR logging. Setting this to "no" will override │ │ │ │ │ - any loading of backend CDR modules. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether CDR is enabled on a channel by default │ │ │ │ │ - │ │ │ │ │ - Define whether or not CDR should be enabled on a channel by default. │ │ │ │ │ - Setting this to "yes" will enable CDR on every channel unless it is explicitly disabled. │ │ │ │ │ - Setting this to "no" will disable CDR on every channel unless it is explicitly enabled. │ │ │ │ │ - │ │ │ │ │ - Note that CDR must still be globally enabled ( │ │ │ │ │ - enable = yes │ │ │ │ │ - ) for this │ │ │ │ │ - option to have any effect. This only applies to whether CDR is enabled or disabled on │ │ │ │ │ - newly created channels, which can be changed in the dialplan during a call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If this is set to "yes", you should use │ │ │ │ │ - Set(CDR_PROP(disable)=1) │ │ │ │ │ - to disable CDR for a call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If this is set to "no", you should use │ │ │ │ │ - Set(CDR_PROP(disable)=0) │ │ │ │ │ - to undisable (enable) CDR for a call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Log calls that are never answered and don't set an outgoing party. │ │ │ │ │ - │ │ │ │ │ - Define whether or not to log unanswered calls that don't involve an outgoing party. Setting │ │ │ │ │ - this to "yes" will make calls to extensions that don't answer and don't set a side B channel │ │ │ │ │ - (such as by using the Dial application) receive CDR log entries. If this option is set to │ │ │ │ │ - "no", then those log entries will not be created. Unanswered calls which get offered to an │ │ │ │ │ - outgoing line will always receive log entries regardless of this option, and that is the │ │ │ │ │ - intended behavior. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Log congested calls. │ │ │ │ │ - │ │ │ │ │ - Define whether or not to log congested calls. Setting this to "yes" will │ │ │ │ │ - report each call that fails to complete due to congestion conditions. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Don't produce CDRs while executing hangup logic │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - As each CDR for a channel is finished, its end time is updated │ │ │ │ │ - and the CDR is finalized. When a channel is hung up and hangup │ │ │ │ │ - logic is present (in the form of a hangup handler or the │ │ │ │ │ - h │ │ │ │ │ - extension), a new CDR is generated for the │ │ │ │ │ - channel. Any statistics are gathered from this new CDR. By enabling │ │ │ │ │ - this option, no new CDR is created for the dialplan logic that is │ │ │ │ │ - executed in │ │ │ │ │ - h │ │ │ │ │ - extensions or attached hangup handler │ │ │ │ │ - subroutines. The default value is │ │ │ │ │ - yes │ │ │ │ │ - , indicating │ │ │ │ │ - that a CDR will be generated during hangup logic. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Count microseconds for billsec purposes │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Normally, the │ │ │ │ │ - billsec │ │ │ │ │ - field logged to the CDR backends │ │ │ │ │ - is simply the end time (hangup time) minus the answer time in seconds. Internally, │ │ │ │ │ - asterisk stores the time in terms of microseconds and seconds. By setting │ │ │ │ │ - initiatedseconds to │ │ │ │ │ - yes │ │ │ │ │ - , you can force asterisk to report any seconds │ │ │ │ │ - that were initiated (a sort of round up method). Technically, this is │ │ │ │ │ - when the microsecond part of the end time is greater than the microsecond │ │ │ │ │ - part of the answer time, then the billsec time is incremented one second. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Bucket file API │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Scheme in use for bucket │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Submit CDRs to the backends for processing in batches │ │ │ │ │ - │ │ │ │ │ - Define the CDR batch mode, where instead of posting the CDR at the end of │ │ │ │ │ - every call, the data will be stored in a buffer to help alleviate load on the │ │ │ │ │ - asterisk server. │ │ │ │ │ - │ │ │ │ │ - Use of batch mode may result in data loss after unsafe asterisk termination, │ │ │ │ │ - i.e., software crash, power failure, kill -9, etc. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Time at which the bucket was created │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The maximum number of CDRs to accumulate before triggering a batch │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Define the maximum number of CDRs to accumulate in the buffer before posting │ │ │ │ │ - them to the backend engines. batch must be set to │ │ │ │ │ - yes │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Time at which the bucket was last modified │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The maximum time to accumulate CDRs before triggering a batch │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Define the maximum time to accumulate CDRs before posting them in a batch to the │ │ │ │ │ - backend engines. If this time limit is reached, then it will post the records, regardless of the value │ │ │ │ │ - defined for size. batch must be set to │ │ │ │ │ - yes │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Time is expressed in seconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Scheme in use for file │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Post batched CDRs on their own thread instead of the scheduler │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The CDR engine uses the internal asterisk scheduler to determine when to post │ │ │ │ │ - records. Posting can either occur inside the scheduler thread, or a new │ │ │ │ │ - thread can be spawned for the submission of every batch. For small batches, │ │ │ │ │ - it might be acceptable to just use the scheduler thread, so set this to │ │ │ │ │ - yes │ │ │ │ │ - . │ │ │ │ │ - For large batches, say anything over size=10, a new thread is recommended, so │ │ │ │ │ - set this to │ │ │ │ │ - no │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Time at which the file was created │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Block shutdown of Asterisk until CDRs are submitted │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When shutting down asterisk, you can block until the CDRs are submitted. If │ │ │ │ │ - you don't, then data will likely be lost. You can always check the size of │ │ │ │ │ - the CDR batch buffer with the CLI │ │ │ │ │ - cdr status │ │ │ │ │ - command. To enable blocking on │ │ │ │ │ - submission of CDR data during asterisk shutdown, set this to │ │ │ │ │ - yes │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Time at which the file was last modified │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Features Configuration │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -23527,991 +25007,119 @@ │ │ │ │ │ value has not been set. This function can also be used to set a channel │ │ │ │ │ specific value for a feature mapping. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ FEATURE │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a call pickup occurs. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Create a message or read fields from a message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Field of the message to get or set. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When processing an │ │ │ │ │ - incoming message, this will be set to the destination listed as │ │ │ │ │ - the recipient of the message that was received by Asterisk. │ │ │ │ │ - │ │ │ │ │ - For an outgoing message, this will set the To header in the │ │ │ │ │ - outgoing SIP message. This may be overridden by the "to" parameter │ │ │ │ │ - of MessageSend. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When processing an │ │ │ │ │ - incoming message, this will be set to the source of the message. │ │ │ │ │ - │ │ │ │ │ - For an outgoing message, this will set the From header in the │ │ │ │ │ - outgoing SIP message. This may be overridden by the "from" parameter │ │ │ │ │ - of MessageSend. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Write-only. Mark or unmark all message headers for an outgoing │ │ │ │ │ - message. The following values can be set: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Mark all headers for an outgoing message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unmark all headers for an outgoing message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Read/Write. The message body. When processing an incoming │ │ │ │ │ - message, this includes the body of the message that Asterisk │ │ │ │ │ - received. When MessageSend() is executed, the contents of this │ │ │ │ │ - field are used as the body of the outgoing message. The body │ │ │ │ │ - will always be UTF-8. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function will read from or write a value to a text message. │ │ │ │ │ - It is used both to read the data out of an incoming message, as well as │ │ │ │ │ - modify or create a message that will be sent outbound. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - MessageSend │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Read or write custom data attached to a message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Field of the message to get or set. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function will read from or write a value to a text message. │ │ │ │ │ - It is used both to read the data out of an incoming message, as well as │ │ │ │ │ - modify a message that will be sent outbound. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If you want to set an outbound message to carry data in the │ │ │ │ │ - current message, do │ │ │ │ │ - Set(MESSAGE_DATA( │ │ │ │ │ - key │ │ │ │ │ - )=${MESSAGE_DATA( │ │ │ │ │ - key │ │ │ │ │ - )}). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - MessageSend │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send a text message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A To URI for the message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A From URI for the message if needed for the │ │ │ │ │ - message technology being used to send this message. This can be a │ │ │ │ │ - SIP(S) URI, such as │ │ │ │ │ - Alice <sip:alice@atlanta.com> │ │ │ │ │ - , │ │ │ │ │ - or a string in the format │ │ │ │ │ - alice@atlanta.com │ │ │ │ │ - . │ │ │ │ │ - This will override a │ │ │ │ │ - from │ │ │ │ │ - specified using the MESSAGE dialplan function or the │ │ │ │ │ - from │ │ │ │ │ - that may have been on an incoming message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A To URI for the message if needed for the │ │ │ │ │ - message technology being used to send this message. This can be a │ │ │ │ │ - SIP(S) URI, such as │ │ │ │ │ - Alice <sip:alice@atlanta.com> │ │ │ │ │ - , │ │ │ │ │ - or a string in the format │ │ │ │ │ - alice@atlanta.com │ │ │ │ │ - . │ │ │ │ │ - This will override a │ │ │ │ │ - to │ │ │ │ │ - specified using the MESSAGE dialplan function or the │ │ │ │ │ - to │ │ │ │ │ - that may have been on an incoming message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send a text message. The body of the message that will be │ │ │ │ │ - sent is what is currently set to │ │ │ │ │ - MESSAGE(body) │ │ │ │ │ - . │ │ │ │ │ - This may he come from an incoming message. │ │ │ │ │ - The technology chosen for sending the message is determined │ │ │ │ │ - based on a prefix to the │ │ │ │ │ - destination │ │ │ │ │ - parameter. │ │ │ │ │ - │ │ │ │ │ - This application sets the following channel variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is the message delivery status returned by this application. │ │ │ │ │ - No handler for the technology part of the URI was found. │ │ │ │ │ - The protocol handler reported that the URI was not valid. │ │ │ │ │ - Successfully passed on to the protocol handler, but delivery has not necessarily been guaranteed. │ │ │ │ │ - The protocol handler reported that it was unabled to deliver the message for some reason. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send an out of call message to an endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A To URI for the message. If Destination is provided, the To │ │ │ │ │ - parameter can also be supplied and may alter the message based on │ │ │ │ │ - the specified message technology. │ │ │ │ │ - For backwards compatibility, if Destination is not provided, │ │ │ │ │ - the To parameter must be provided and will be used as the message │ │ │ │ │ - destination. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A To URI for the message if needed for the │ │ │ │ │ - message technology being used to send this message. This can be a │ │ │ │ │ - SIP(S) URI, such as │ │ │ │ │ - Alice <sip:alice@atlanta.com> │ │ │ │ │ - , │ │ │ │ │ - or a string in the format │ │ │ │ │ - alice@atlanta.com │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - This parameter is required if the Destination parameter is not │ │ │ │ │ - provided. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A From URI for the message if needed for the │ │ │ │ │ - message technology being used to send this message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The message body text. This must not contain any newlines as that │ │ │ │ │ - conflicts with the AMI protocol. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Text bodies requiring the use of newlines have to be base64 encoded │ │ │ │ │ - in this field. Base64Body will be decoded before being sent out. │ │ │ │ │ - Base64Body takes precedence over Body. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Message variable to set, multiple Variable: headers are │ │ │ │ │ - allowed. The header value is a comma separated list of │ │ │ │ │ - name=value pairs. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Options for configuring a named ACL │ │ │ │ │ + │ │ │ │ │ + An address/subnet from which to allow access │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + An address/subnet from which to disallow access │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a blind transfer is complete. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when the state of a peer changes. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Indicates if the transfer was successful or if it failed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - An internal error occurred. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Invalid configuration for transfer (e.g. Not bridged) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Bridge does not permit transfers │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transfer completed successfully │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A result of │ │ │ │ │ - Success │ │ │ │ │ - does not necessarily mean that a target was succesfully │ │ │ │ │ - contacted. It means that a party was succesfully placed into the dialplan at the expected location. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicates if the transfer was performed outside of Asterisk. For instance, │ │ │ │ │ - a channel protocol native transfer is external. A DTMF transfer is internal. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Destination context for the blind transfer. │ │ │ │ │ + │ │ │ │ │ + The channel technology of the peer. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Destination extension for the blind transfer. │ │ │ │ │ + │ │ │ │ │ + The name of the peer (including channel technology). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - BlindTransfer │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an attended transfer is complete. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicates the method by which the attended transfer completed. │ │ │ │ │ + │ │ │ │ │ + New status of the peer. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The transfer was accomplished by merging two bridges into one. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The transfer was accomplished by having a channel or bridge run a dialplan application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The transfer was accomplished by linking two bridges together using a local channel pair. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The transfer was accomplished by placing all parties into a threeway call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The transfer failed. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Indicates the surviving bridge when bridges were merged to complete the transfer │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This header is only present when │ │ │ │ │ - DestType │ │ │ │ │ - is │ │ │ │ │ - Bridge │ │ │ │ │ - or │ │ │ │ │ - Threeway │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicates the application that is running when the transfer completes │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This header is only present when │ │ │ │ │ - DestType │ │ │ │ │ - is │ │ │ │ │ - App │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the surviving transferer channel when a transfer results in a threeway call │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This header is only present when │ │ │ │ │ - DestType │ │ │ │ │ - is │ │ │ │ │ - Threeway │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The headers in this event attempt to describe all the major details of the attended transfer. The two transferer channels │ │ │ │ │ - and the two bridges are determined based on their chronological establishment. So consider that Alice calls Bob, and then Alice │ │ │ │ │ - transfers the call to Voicemail. The transferer and bridge headers would be arranged as follows: │ │ │ │ │ - │ │ │ │ │ - OrigTransfererChannel │ │ │ │ │ - : Alice's channel in the bridge with Bob. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - OrigBridgeUniqueid │ │ │ │ │ - : The bridge between Alice and Bob. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SecondTransfererChannel │ │ │ │ │ - : Alice's channel that called Voicemail. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SecondBridgeUniqueid │ │ │ │ │ - : Not present, since a call to Voicemail has no bridge. │ │ │ │ │ - │ │ │ │ │ - Now consider if the order were reversed; instead of having Alice call Bob and transfer him to Voicemail, Alice instead │ │ │ │ │ - calls her Voicemail and transfers that to Bob. The transferer and bridge headers would be arranged as follows: │ │ │ │ │ - │ │ │ │ │ - OrigTransfererChannel │ │ │ │ │ - : Alice's channel that called Voicemail. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - OrigBridgeUniqueid │ │ │ │ │ - : Not present, since a call to Voicemail has no bridge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SecondTransfererChannel │ │ │ │ │ - : Alice's channel in the bridge with Bob. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SecondBridgeUniqueid │ │ │ │ │ - : The bridge between Alice and Bob. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AtxFer │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve the details of the current dialplan exception. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The following fields are available for retrieval: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - INVALID, ERROR, RESPONSETIMEOUT, ABSOLUTETIMEOUT, or custom │ │ │ │ │ - value set by the RaiseException() application │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The context executing when the exception occurred. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The extension executing when the exception occurred. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The numeric priority executing when the exception occurred. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve the details (specified │ │ │ │ │ - field │ │ │ │ │ - ) of the current dialplan exception. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - RaiseException │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets a time to be used with the channel to test logical conditions. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Date in ISO 8601 format │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Time in HH:MM:SS format (24-hour time) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Timezone name │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - To test dialplan timing conditions at times other than the current time, use │ │ │ │ │ - this function to set an alternate date and time. For example, you may wish to evaluate │ │ │ │ │ - whether a location will correctly identify to callers that the area is closed on Christmas │ │ │ │ │ - Day, when Christmas would otherwise fall on a day when the office is normally open. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - GotoIfTime │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show dialplan contexts and extensions │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show a specific extension. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show a specific context. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show dialplan contexts and extensions. Be aware that showing the full dialplan │ │ │ │ │ - may take a lot of capacity. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List the current known extension states. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This will list out all known extension states in a │ │ │ │ │ - sequence of │ │ │ │ │ - ExtensionStatus │ │ │ │ │ - events. │ │ │ │ │ - When finished, a │ │ │ │ │ - ExtensionStateListComplete │ │ │ │ │ - event │ │ │ │ │ - will be emitted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ExtensionState │ │ │ │ │ - HINT │ │ │ │ │ - EXTENSION_STATE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicates the end of the list the current known extension states. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conveys the status of the event list. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conveys the number of statuses reported. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a new channel is created. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Newstate │ │ │ │ │ - Hangup │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel's state changes. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Newchannel │ │ │ │ │ - Hangup │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel is hung up. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - A numeric cause code for why the channel was hung up. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A description of why the channel was hung up. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Newchannel │ │ │ │ │ - SoftHangupRequest │ │ │ │ │ - HangupRequest │ │ │ │ │ - Newstate │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a hangup is requested. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SoftHangupRequest │ │ │ │ │ - Hangup │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a soft hangup is requested with a specific cause code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - HangupRequest │ │ │ │ │ - Hangup │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel enters a new context, extension, priority. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Deprecated in 12, but kept for │ │ │ │ │ - backward compatability. Please use │ │ │ │ │ - 'Exten' instead. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The application about to be executed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The data to be passed to the application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel receives new Caller ID information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A description of the Caller ID presentation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CALLERID │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel's connected line information is changed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CONNECTEDLINE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a Channel's AccountCode is changed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel's previous account code │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CHANNEL │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a dial action has started. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The non-technology specific device being dialed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dial │ │ │ │ │ - Originate │ │ │ │ │ - Originate │ │ │ │ │ - DialEnd │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when dial status has changed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The new state of the outbound dial attempt. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound channel is ringing. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The call to the outbound channel is proceeding. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Progress has been received on the outbound channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If the call was forwarded, where the call was │ │ │ │ │ - forwarded to. │ │ │ │ │ + The reason the status has changed. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a dial action has completed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The result of the dial operation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The call was aborted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The caller answered. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The caller was busy. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The caller cancelled the call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The requested channel is unavailable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The called party is congested. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The dial completed, but the caller elected │ │ │ │ │ - to continue in the dialplan. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The dial completed, but the caller jumped to │ │ │ │ │ - a dialplan location. │ │ │ │ │ - If known, the location the caller is jumping │ │ │ │ │ - to will be appended to the result following a │ │ │ │ │ - ":". │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The called party failed to answer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + New address of the peer. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If the call was forwarded, where the call was │ │ │ │ │ - forwarded to. │ │ │ │ │ + │ │ │ │ │ + New port for the peer. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dial │ │ │ │ │ - Originate │ │ │ │ │ - Originate │ │ │ │ │ - DialBegin │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel goes on hold. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The suggested MusicClass, if provided. │ │ │ │ │ + │ │ │ │ │ + Time it takes to reach the peer and receive a response. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Unhold │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel goes off hold. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hold │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when one channel begins spying on another channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ChanSpyStop │ │ │ │ │ - ChanSpy │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel has stopped spying. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ChanSpyStart │ │ │ │ │ - ChanSpy │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a hangup handler is about to be called. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when the state of a contact changes. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hangup handler parameter string passed to the Gosub application. │ │ │ │ │ + │ │ │ │ │ + This contact's URI. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CHANNEL │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a hangup handler is removed from the handler stack │ │ │ │ │ - by the CHANNEL() function. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - HangupHandlerPush │ │ │ │ │ - CHANNEL │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a hangup handler is added to the handler stack by │ │ │ │ │ - the CHANNEL() function. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - HangupHandlerPop │ │ │ │ │ - CHANNEL │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised periodically during a fax transmission. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + New status of the contact. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - A text message describing the current status of the fax │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a receive fax operation has completed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The value of the │ │ │ │ │ - LOCALSTATIONID │ │ │ │ │ - channel variable │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The value of the │ │ │ │ │ - REMOTESTATIONID │ │ │ │ │ - channel variable │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of pages that have been transferred │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The negotiated resolution │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The negotiated transfer rate │ │ │ │ │ + │ │ │ │ │ + The name of the associated aor. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The files being affected by the fax operation │ │ │ │ │ + │ │ │ │ │ + The name of the associated endpoint. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a send fax operation has completed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when music on hold has started on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The class of music being played on the channel │ │ │ │ │ + │ │ │ │ │ + The RTT measured during the last qualify. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - MusicOnHoldStop │ │ │ │ │ - StartMusicOnHold │ │ │ │ │ - MusicOnHold │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when music on hold has stopped on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - MusicOnHoldStart │ │ │ │ │ - StopMusicOnHold │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when monitoring has started on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - MonitorStop │ │ │ │ │ - Monitor │ │ │ │ │ - Monitor │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when monitoring has stopped on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - MonitorStart │ │ │ │ │ - StopMonitor │ │ │ │ │ - StopMonitor │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Raised when an RTCP packet is sent. │ │ │ │ │ │ │ │ │ │ @@ -24660,210 +25268,275 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ RTCPSent │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Options for configuring a named ACL │ │ │ │ │ - │ │ │ │ │ - An address/subnet from which to allow access │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Call Detail Record configuration │ │ │ │ │ + │ │ │ │ │ + CDR is Call Detail Record, which provides logging services via a variety of │ │ │ │ │ + pluggable backend modules. Detailed call information can be recorded to │ │ │ │ │ + databases, files, etc. Useful for billing, fraud prevention, compliance with │ │ │ │ │ + Sarbanes-Oxley aka The Enron Act, QOS evaluations, and more. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Global settings applied to the CDR engine. │ │ │ │ │ + │ │ │ │ │ + Enable/disable verbose CDR debugging. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When set to │ │ │ │ │ + True │ │ │ │ │ + , verbose updates │ │ │ │ │ + of changes in CDR information will be logged. Note that this is only │ │ │ │ │ + of use when debugging CDR behavior. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - An address/subnet from which to disallow access │ │ │ │ │ + │ │ │ │ │ + Enable/disable CDR logging. │ │ │ │ │ + │ │ │ │ │ + Define whether or not to use CDR logging. Setting this to "no" will override │ │ │ │ │ + any loading of backend CDR modules. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether CDR is enabled on a channel by default │ │ │ │ │ + │ │ │ │ │ + Define whether or not CDR should be enabled on a channel by default. │ │ │ │ │ + Setting this to "yes" will enable CDR on every channel unless it is explicitly disabled. │ │ │ │ │ + Setting this to "no" will disable CDR on every channel unless it is explicitly enabled. │ │ │ │ │ + │ │ │ │ │ + Note that CDR must still be globally enabled ( │ │ │ │ │ + enable = yes │ │ │ │ │ + ) for this │ │ │ │ │ + option to have any effect. This only applies to whether CDR is enabled or disabled on │ │ │ │ │ + newly created channels, which can be changed in the dialplan during a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If this is set to "yes", you should use │ │ │ │ │ + Set(CDR_PROP(disable)=1) │ │ │ │ │ + to disable CDR for a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If this is set to "no", you should use │ │ │ │ │ + Set(CDR_PROP(disable)=0) │ │ │ │ │ + to undisable (enable) CDR for a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Log calls that are never answered and don't set an outgoing party. │ │ │ │ │ + │ │ │ │ │ + Define whether or not to log unanswered calls that don't involve an outgoing party. Setting │ │ │ │ │ + this to "yes" will make calls to extensions that don't answer and don't set a side B channel │ │ │ │ │ + (such as by using the Dial application) receive CDR log entries. If this option is set to │ │ │ │ │ + "no", then those log entries will not be created. Unanswered calls which get offered to an │ │ │ │ │ + outgoing line will always receive log entries regardless of this option, and that is the │ │ │ │ │ + intended behavior. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Log congested calls. │ │ │ │ │ + │ │ │ │ │ + Define whether or not to log congested calls. Setting this to "yes" will │ │ │ │ │ + report each call that fails to complete due to congestion conditions. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Don't produce CDRs while executing hangup logic │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + As each CDR for a channel is finished, its end time is updated │ │ │ │ │ + and the CDR is finalized. When a channel is hung up and hangup │ │ │ │ │ + logic is present (in the form of a hangup handler or the │ │ │ │ │ + h │ │ │ │ │ + extension), a new CDR is generated for the │ │ │ │ │ + channel. Any statistics are gathered from this new CDR. By enabling │ │ │ │ │ + this option, no new CDR is created for the dialplan logic that is │ │ │ │ │ + executed in │ │ │ │ │ + h │ │ │ │ │ + extensions or attached hangup handler │ │ │ │ │ + subroutines. The default value is │ │ │ │ │ + yes │ │ │ │ │ + , indicating │ │ │ │ │ + that a CDR will be generated during hangup logic. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Count microseconds for billsec purposes │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Normally, the │ │ │ │ │ + billsec │ │ │ │ │ + field logged to the CDR backends │ │ │ │ │ + is simply the end time (hangup time) minus the answer time in seconds. Internally, │ │ │ │ │ + asterisk stores the time in terms of microseconds and seconds. By setting │ │ │ │ │ + initiatedseconds to │ │ │ │ │ + yes │ │ │ │ │ + , you can force asterisk to report any seconds │ │ │ │ │ + that were initiated (a sort of round up method). Technically, this is │ │ │ │ │ + when the microsecond part of the end time is greater than the microsecond │ │ │ │ │ + part of the answer time, then the billsec time is incremented one second. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Submit CDRs to the backends for processing in batches │ │ │ │ │ + │ │ │ │ │ + Define the CDR batch mode, where instead of posting the CDR at the end of │ │ │ │ │ + every call, the data will be stored in a buffer to help alleviate load on the │ │ │ │ │ + asterisk server. │ │ │ │ │ + │ │ │ │ │ + Use of batch mode may result in data loss after unsafe asterisk termination, │ │ │ │ │ + i.e., software crash, power failure, kill -9, etc. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The maximum number of CDRs to accumulate before triggering a batch │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Define the maximum number of CDRs to accumulate in the buffer before posting │ │ │ │ │ + them to the backend engines. batch must be set to │ │ │ │ │ + yes │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The maximum time to accumulate CDRs before triggering a batch │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Define the maximum time to accumulate CDRs before posting them in a batch to the │ │ │ │ │ + backend engines. If this time limit is reached, then it will post the records, regardless of the value │ │ │ │ │ + defined for size. batch must be set to │ │ │ │ │ + yes │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Time is expressed in seconds. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Post batched CDRs on their own thread instead of the scheduler │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The CDR engine uses the internal asterisk scheduler to determine when to post │ │ │ │ │ + records. Posting can either occur inside the scheduler thread, or a new │ │ │ │ │ + thread can be spawned for the submission of every batch. For small batches, │ │ │ │ │ + it might be acceptable to just use the scheduler thread, so set this to │ │ │ │ │ + yes │ │ │ │ │ + . │ │ │ │ │ + For large batches, say anything over size=10, a new thread is recommended, so │ │ │ │ │ + set this to │ │ │ │ │ + no │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Block shutdown of Asterisk until CDRs are submitted │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When shutting down asterisk, you can block until the CDRs are submitted. If │ │ │ │ │ + you don't, then data will likely be lost. You can always check the size of │ │ │ │ │ + the CDR batch buffer with the CLI │ │ │ │ │ + cdr status │ │ │ │ │ + command. To enable blocking on │ │ │ │ │ + submission of CDR data during asterisk shutdown, set this to │ │ │ │ │ + yes │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an Advice of Charge message is sent at the beginning of a call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AOC-D │ │ │ │ │ - AOC-E │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an Advice of Charge message is sent during a call. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a presence state changes │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The entity whose presence state has changed │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The new status of the presentity │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The new subtype of the presentity │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The new message of the presentity │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AOCMessage │ │ │ │ │ - AOC-S │ │ │ │ │ - AOC-E │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an Advice of Charge message is sent at the end of a call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This differs from the │ │ │ │ │ + PresenceStatus │ │ │ │ │ + event because this event is raised for all presence state changes, │ │ │ │ │ + not only for changes that affect dialplan hints. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - AOCMessage │ │ │ │ │ - AOC-S │ │ │ │ │ - AOC-D │ │ │ │ │ + PresenceStatus │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Global options for configuring UDPTL │ │ │ │ │ - │ │ │ │ │ - The start of the UDPTL port range │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The end of the UDPTL port range │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether to enable or disable UDP checksums on UDPTL traffic │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of error correction entries in a UDPTL packet │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The span over which parity is calculated for FEC in a UDPTL packet │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether to only use even-numbered UDPTL ports │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Removed │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Removed │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Optimize away a local channel when possible. │ │ │ │ │ @@ -24942,2176 +25615,1942 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ LocalOptimizationBegin │ │ │ │ │ LocalOptimizeAway │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a call pickup occurs. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request violates an ACL check. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a blind transfer is complete. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The time the event was detected. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A relative severity of the security event. │ │ │ │ │ + │ │ │ │ │ + Indicates if the transfer was successful or if it failed. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + An internal error occurred. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Invalid configuration for transfer (e.g. Not bridged) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Bridge does not permit transfers │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transfer completed successfully │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A result of │ │ │ │ │ + Success │ │ │ │ │ + does not necessarily mean that a target was succesfully │ │ │ │ │ + contacted. It means that a party was succesfully placed into the dialplan at the expected location. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The Asterisk service that raised the security event. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The version of this event. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The Service account associated with the security event │ │ │ │ │ - notification. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A unique identifier for the session in the service │ │ │ │ │ - that raised the event. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The address of the Asterisk service that raised the │ │ │ │ │ - security event. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The remote address of the entity that caused the │ │ │ │ │ - security event to be raised. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If available, the name of the module that raised the event. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If available, the name of the ACL that failed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The timestamp reported by the session. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request fails an authentication check due to an invalid account ID. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request fails due to exceeding the number of allowed concurrent sessions for that service. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request fails due to an internal memory allocation failure. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request fails because a configured load average limit has been reached. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request fails due to some aspect of the requested item not being supported by the service. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The type of request attempted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request is not allowed by the service. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Parameters provided to the rejected request. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request used an authentication method not allowed by the service. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The authentication method attempted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request is received with bad formatting. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The account ID associated with the rejected request. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request successfully authenticates with a service. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether or not the authentication attempt included a password. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request has a different source address then what is expected for a session already in progress with a service. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The address that the request was expected to use. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request's attempt to authenticate has been challenged, and the request failed the authentication challenge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The challenge that was sent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicates if the transfer was performed outside of Asterisk. For instance, │ │ │ │ │ + a channel protocol native transfer is external. A DTMF transfer is internal. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The response that was received. │ │ │ │ │ + │ │ │ │ │ + Destination context for the blind transfer. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The expected response to the challenge. │ │ │ │ │ + │ │ │ │ │ + Destination extension for the blind transfer. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + BlindTransfer │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request provides an invalid password during an authentication attempt. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an attended transfer is complete. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The challenge that was sent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The challenge that was received. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The hash that was received. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicates the method by which the attended transfer completed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The transfer was accomplished by merging two bridges into one. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The transfer was accomplished by having a channel or bridge run a dialplan application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The transfer was accomplished by linking two bridges together using a local channel pair. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The transfer was accomplished by placing all parties into a threeway call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The transfer failed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an Asterisk service sends an authentication challenge to a request. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a request attempts to use a transport not allowed by the Asterisk service. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The transport type that the request attempted to use. │ │ │ │ │ + │ │ │ │ │ + Indicates the surviving bridge when bridges were merged to complete the transfer │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This header is only present when │ │ │ │ │ + DestType │ │ │ │ │ + is │ │ │ │ │ + Bridge │ │ │ │ │ + or │ │ │ │ │ + Threeway │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a device state changes │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The device whose state has changed │ │ │ │ │ + │ │ │ │ │ + Indicates the application that is running when the transfer completes │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This header is only present when │ │ │ │ │ + DestType │ │ │ │ │ + is │ │ │ │ │ + App │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The new state of the device │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the surviving transferer channel when a transfer results in a threeway call │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This header is only present when │ │ │ │ │ + DestType │ │ │ │ │ + is │ │ │ │ │ + Threeway │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + The headers in this event attempt to describe all the major details of the attended transfer. The two transferer channels │ │ │ │ │ + and the two bridges are determined based on their chronological establishment. So consider that Alice calls Bob, and then Alice │ │ │ │ │ + transfers the call to Voicemail. The transferer and bridge headers would be arranged as follows: │ │ │ │ │ │ │ │ │ │ - This differs from the │ │ │ │ │ - ExtensionStatus │ │ │ │ │ - event because this event is raised for all device state changes, │ │ │ │ │ - not only for changes that affect dialplan hints. │ │ │ │ │ + OrigTransfererChannel │ │ │ │ │ + : Alice's channel in the bridge with Bob. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + OrigBridgeUniqueid │ │ │ │ │ + : The bridge between Alice and Bob. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SecondTransfererChannel │ │ │ │ │ + : Alice's channel that called Voicemail. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SecondBridgeUniqueid │ │ │ │ │ + : Not present, since a call to Voicemail has no bridge. │ │ │ │ │ + │ │ │ │ │ + Now consider if the order were reversed; instead of having Alice call Bob and transfer him to Voicemail, Alice instead │ │ │ │ │ + calls her Voicemail and transfers that to Bob. The transferer and bridge headers would be arranged as follows: │ │ │ │ │ + │ │ │ │ │ + OrigTransfererChannel │ │ │ │ │ + : Alice's channel that called Voicemail. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + OrigBridgeUniqueid │ │ │ │ │ + : Not present, since a call to Voicemail has no bridge. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SecondTransfererChannel │ │ │ │ │ + : Alice's channel in the bridge with Bob. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SecondBridgeUniqueid │ │ │ │ │ + : The bridge between Alice and Bob. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ExtensionStatus │ │ │ │ │ + AtxFer │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Options that apply globally to Channel Event Logging (CEL) │ │ │ │ │ + │ │ │ │ │ + Determines whether CEL is enabled │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The format to be used for dates when logging │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List of apps for CEL to track │ │ │ │ │ + │ │ │ │ │ + A case-insensitive, comma-separated list of applications │ │ │ │ │ + to track when one or both of APP_START and APP_END events are flagged for │ │ │ │ │ + tracking │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List of events for CEL to track │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A case-sensitive, comma-separated list of event names │ │ │ │ │ + to track. These event names do not include the leading │ │ │ │ │ + AST_CEL │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Special value which tracks all events. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Raised when the state of a peer changes. │ │ │ │ │ + Raised when a module has been reloaded in Asterisk. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The channel technology of the peer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the peer (including channel technology). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the module that was reloaded, or │ │ │ │ │ + All │ │ │ │ │ + if all modules were reloaded │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - New status of the peer. │ │ │ │ │ + │ │ │ │ │ + The numeric status code denoting the success or failure │ │ │ │ │ + of the reload request. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Success │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Request queued │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Module not found │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Error │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reload already in progress │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Module uninitialized │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reload not supported │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The reason the status has changed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - New address of the peer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - New port for the peer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Time it takes to reach the peer and receive a response. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Raised when the state of a contact changes. │ │ │ │ │ + Raised when a module has been loaded in Asterisk. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This contact's URI. │ │ │ │ │ + │ │ │ │ │ + The name of the module that was loaded │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - New status of the contact. │ │ │ │ │ + │ │ │ │ │ + The result of the load request. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Module could not be loaded properly │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Module loaded and configured │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Module is not configured │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the associated aor. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the associated endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The RTT measured during the last qualify. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Raised when an outbound registration completes. │ │ │ │ │ + Raised when a module has been unloaded in Asterisk. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The type of channel that was registered (or not). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The username portion of the registration. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The address portion of the registration. │ │ │ │ │ + │ │ │ │ │ + The name of the module that was unloaded │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - The status of the registration request. │ │ │ │ │ + The result of the unload request. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Module unloaded successfully │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - What caused the rejection of the request, if available. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Keepalive command. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A 'Ping' action will elicit a 'Pong' response. Used to keep the │ │ │ │ │ - manager connection open. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Control Event Flow. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If all events should be sent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If no events should be sent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - To select which flags events should have to be sent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enable/Disable sending of events to this manager client. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Logoff Manager. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Logoff the current manager session. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Login │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Login Manager. │ │ │ │ │ + │ │ │ │ │ + Bridge two channels. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - ActionID for this transaction. Will be returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Username to login with as specified in manager.conf. │ │ │ │ │ + │ │ │ │ │ + The current channel is bridged to the channel │ │ │ │ │ + identified by the channel name, channel name prefix, or channel │ │ │ │ │ + uniqueid. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Secret to login with as specified in manager.conf. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Login Manager. │ │ │ │ │ + Allows the ability to bridge two channels via the dialplan. │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The result of the bridge attempt as a text string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Logoff │ │ │ │ │ + Bridge │ │ │ │ │ + BridgeCreate │ │ │ │ │ + BridgeEnter │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Generate Challenge for MD5 Auth. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Digest algorithm to use in the challenge. Valid values are: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Generate a challenge for MD5 authentication. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hangup channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The exact channel name to be hungup, or to use a regular expression, set this parameter to: /regex/ │ │ │ │ │ - Example exact channel: SIP/provider-0000012a │ │ │ │ │ - Example regular expression: /^SIP/provider-.*$/ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Numeric hangup cause. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hangup a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List channel status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Bridge two channels already in the PBX. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the channel to query for status. │ │ │ │ │ + │ │ │ │ │ + Channel to Bridge to Channel2. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Comma │ │ │ │ │ - , │ │ │ │ │ - separated list of variable to include. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Channel to Bridge to Channel1. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If set to "true", the Status event will include all channel variables for │ │ │ │ │ - the requested channel(s). │ │ │ │ │ + │ │ │ │ │ + Play courtesy tone to Channel 2. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Will return the status information of each channel along with the │ │ │ │ │ - value for the specified channel variables. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised in response to a Status command. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Type of channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dialed number identifier │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Absolute lifetime of the channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Identifier of the bridge the channel is in, may be empty if not in one │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Application currently executing on the channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Data given to the currently executing channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Media formats the connected party is willing to send or receive │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Media formats that frames from the channel are received in │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Translation path for media received in native formats │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Media formats that frames to the channel are accepted in │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Translation path for media sent to the connected party │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configured call group on the channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configured pickup group on the channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of seconds the channel has been active │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Status │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised in response to a Status command. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of Status events returned │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Status │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets a channel variable or function value. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel to set variable for. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variable name, function or expression. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variable or function value. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This command can be used to set the value of channel variables or dialplan │ │ │ │ │ - functions. │ │ │ │ │ - │ │ │ │ │ - If a channel name is not provided then the variable is considered global. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Getvar │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets a channel variable or function value. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel to read variable from. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variable name, function or expression. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get the value of a channel variable or function return. │ │ │ │ │ - │ │ │ │ │ - If a channel name is not provided then the variable is considered global. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Setvar │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve configuration. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configuration filename (e.g. │ │ │ │ │ - foo.conf │ │ │ │ │ - ). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Category in configuration file. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A comma separated list of │ │ │ │ │ - name_regex │ │ │ │ │ - = │ │ │ │ │ - value_regex │ │ │ │ │ - expressions which will cause only categories whose variables match all expressions │ │ │ │ │ - to be considered. The special variable name │ │ │ │ │ - TEMPLATES │ │ │ │ │ - can be used to control whether templates are included. Passing │ │ │ │ │ - include │ │ │ │ │ - as the value will include templates │ │ │ │ │ - along with normal categories. Passing │ │ │ │ │ - restrict │ │ │ │ │ - as the value will restrict the operation to │ │ │ │ │ - ONLY templates. Not specifying a │ │ │ │ │ - TEMPLATES │ │ │ │ │ - expression │ │ │ │ │ - results in the default behavior which is to not include templates. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This action will dump the contents of a configuration │ │ │ │ │ - file by category and contents or optionally by specified category only. │ │ │ │ │ - In the case where a category name is non-unique, a filter may be specified │ │ │ │ │ - to match only categories with matching variable values. │ │ │ │ │ + Bridge together two channels already in the PBX. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - GetConfigJSON │ │ │ │ │ - UpdateConfig │ │ │ │ │ - CreateConfig │ │ │ │ │ - ListCategories │ │ │ │ │ + Bridge │ │ │ │ │ + BridgeCreate │ │ │ │ │ + BridgeEnter │ │ │ │ │ + BridgeDestroy │ │ │ │ │ + BridgeInfo │ │ │ │ │ + BridgeKick │ │ │ │ │ + BridgeList │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Retrieve configuration (JSON format). │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List available bridging technologies and their statuses. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configuration filename (e.g. │ │ │ │ │ - foo.conf │ │ │ │ │ - ). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Category in configuration file. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action will dump the contents of a configuration file by category │ │ │ │ │ - and contents in JSON format or optionally by specified category only. │ │ │ │ │ - This only makes sense to be used using rawman over the HTTP interface. │ │ │ │ │ - In the case where a category name is non-unique, a filter may be specified │ │ │ │ │ - to match only categories with matching variable values. │ │ │ │ │ + Returns detailed information about the available bridging technologies. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - GetConfig │ │ │ │ │ - UpdateConfig │ │ │ │ │ - CreateConfig │ │ │ │ │ - ListCategories │ │ │ │ │ + BridgeTechnologySuspend │ │ │ │ │ + BridgeTechnologyUnsuspend │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Update basic configuration. │ │ │ │ │ + │ │ │ │ │ + Suspend a bridging technology. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configuration filename to read (e.g. │ │ │ │ │ - foo.conf │ │ │ │ │ - ). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configuration filename to write (e.g. │ │ │ │ │ - foo.conf │ │ │ │ │ - ) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether or not a reload should take place (or name of specific module). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether the effective category contents should be preserved on template change. Default is true (pre 13.2 behavior). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Action to take. │ │ │ │ │ - 0's represent 6 digit number beginning with 000000. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Category to operate on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variable to work on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Value to work on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Extra match required to match line. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Line in category to operate on (used with delete and insert actions). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A comma separated list of action-specific options. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - One or more of the following... │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Allow duplicate category names. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This category is a template. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Templates from which to inherit. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The following actions share the same options... │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - catfilter │ │ │ │ │ - is most useful when a file │ │ │ │ │ - contains multiple categories with the same name and you wish to │ │ │ │ │ - operate on specific ones instead of all of them. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The name of the bridging technology to suspend. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action will modify, create, or delete configuration elements │ │ │ │ │ - in Asterisk configuration files. │ │ │ │ │ + Marks a bridging technology as suspended, which prevents subsequently created bridges from using it. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - GetConfig │ │ │ │ │ - GetConfigJSON │ │ │ │ │ - CreateConfig │ │ │ │ │ - ListCategories │ │ │ │ │ + BridgeTechnologySuspend │ │ │ │ │ + BridgeTechnologyUnsuspend │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Creates an empty file in the configuration directory. │ │ │ │ │ + │ │ │ │ │ + Unsuspend a bridging technology. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The configuration filename to create (e.g. │ │ │ │ │ - foo.conf │ │ │ │ │ - ). │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The name of the bridging technology to unsuspend. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action will create an empty file in the configuration │ │ │ │ │ - directory. This action is intended to be used before an UpdateConfig │ │ │ │ │ - action. │ │ │ │ │ + Clears a previously suspended bridging technology, which allows subsequently created bridges to use it. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - GetConfig │ │ │ │ │ - GetConfigJSON │ │ │ │ │ - UpdateConfig │ │ │ │ │ - ListCategories │ │ │ │ │ + BridgeTechnologyList │ │ │ │ │ + BridgeTechnologySuspend │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List categories in configuration file. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Answer a channel if ringing. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configuration filename (e.g. │ │ │ │ │ - foo.conf │ │ │ │ │ - ). │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Asterisk will wait this number of milliseconds before returning to │ │ │ │ │ + the dialplan after answering the call. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action will dump the categories in a given file. │ │ │ │ │ + If the call has not been answered, this application will │ │ │ │ │ + answer it. Otherwise, it has no effect on the call. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - GetConfig │ │ │ │ │ - GetConfigJSON │ │ │ │ │ - UpdateConfig │ │ │ │ │ - CreateConfig │ │ │ │ │ + Hangup │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Redirect (transfer) a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play an audio file while waiting for digits of an extension to go to. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel to redirect. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Second call leg to transfer (optional). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Extension to transfer to. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Extension to transfer extrachannel to (optional). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Context to transfer to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Context to transfer extrachannel to (optional). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Priority to transfer to. │ │ │ │ │ + │ │ │ │ │ + Explicitly specifies which language to attempt to use for the requested sound files. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Priority to transfer extrachannel to (optional). │ │ │ │ │ + │ │ │ │ │ + This is the dialplan context that this application will use when exiting │ │ │ │ │ + to a dialed extension. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Redirect (transfer) a call. │ │ │ │ │ + │ │ │ │ │ + This application will play the given list of files │ │ │ │ │ + (do not put extension) │ │ │ │ │ + while waiting for an extension to be dialed by the calling channel. To continue waiting │ │ │ │ │ + for digits after this application has finished playing files, the │ │ │ │ │ + WaitExten │ │ │ │ │ + application should be used. │ │ │ │ │ + │ │ │ │ │ + If one of the requested sound files does not exist, call processing will be terminated. │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The status of the background attempt as a text string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - BlindTransfer │ │ │ │ │ + ControlPlayback │ │ │ │ │ + WaitExten │ │ │ │ │ + BackgroundDetect │ │ │ │ │ + TIMEOUT │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Attended transfer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicate the Busy condition. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transferer's channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Extension to transfer to. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Context to transfer to. │ │ │ │ │ + │ │ │ │ │ + If specified, the calling channel will be hung up after the specified number of seconds. │ │ │ │ │ + Otherwise, this application will wait until the calling channel hangs up. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Attended transfer. │ │ │ │ │ + This application will indicate the busy condition to the calling channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - AttendedTransfer │ │ │ │ │ + Congestion │ │ │ │ │ + Progress │ │ │ │ │ + Playtones │ │ │ │ │ + Hangup │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 13.18.0 │ │ │ │ │ - 14.7.0 │ │ │ │ │ - 15.1.0 │ │ │ │ │ - 16.0.0 │ │ │ │ │ - │ │ │ │ │ - Cancel an attended transfer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicate the Congestion condition. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The transferer channel. │ │ │ │ │ + │ │ │ │ │ + If specified, the calling channel will be hung up after the specified number of seconds. │ │ │ │ │ + Otherwise, this application will wait until the calling channel hangs up. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Cancel an attended transfer. Note, this uses the configured cancel attended transfer │ │ │ │ │ - feature option (atxferabort) to cancel the transfer. If not available this action will fail. │ │ │ │ │ + This application will indicate the congestion condition to the calling channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - AttendedTransfer │ │ │ │ │ + Busy │ │ │ │ │ + Progress │ │ │ │ │ + Playtones │ │ │ │ │ + Hangup │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Originate a call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel name to call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Extension to use (requires │ │ │ │ │ - Context │ │ │ │ │ - and │ │ │ │ │ - Priority │ │ │ │ │ - ) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Context to use (requires │ │ │ │ │ - Exten │ │ │ │ │ - and │ │ │ │ │ - Priority │ │ │ │ │ - ) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Priority to use (requires │ │ │ │ │ - Exten │ │ │ │ │ - and │ │ │ │ │ - Context │ │ │ │ │ - ) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Application to execute. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Data to use (requires │ │ │ │ │ - Application │ │ │ │ │ - ). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - How long to wait for call to be answered (in ms.). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Caller ID to be set on the outgoing channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel variable to set, multiple Variable: headers are allowed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Account code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set to │ │ │ │ │ - true │ │ │ │ │ - to force call bridge on early media.. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set to │ │ │ │ │ - true │ │ │ │ │ - for fast origination. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Comma-separated list of codecs to use for this call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel UniqueId to be set on the channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conditional application execution based on the current time. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Channel UniqueId to be set on the second local channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Generates an outgoing call to a │ │ │ │ │ - Extension │ │ │ │ │ - / │ │ │ │ │ - Context │ │ │ │ │ - / │ │ │ │ │ - Priority │ │ │ │ │ - or │ │ │ │ │ - Application │ │ │ │ │ - / │ │ │ │ │ - Data │ │ │ │ │ - │ │ │ │ │ + This application will execute the specified dialplan application, with optional │ │ │ │ │ + arguments, if the current time matches the given time specification. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - OriginateResponse │ │ │ │ │ + Exec │ │ │ │ │ + ExecIf │ │ │ │ │ + TryExec │ │ │ │ │ + GotoIfTime │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised in response to an Originate command. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Originate │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Execute Asterisk CLI Command. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Asterisk CLI command to run. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Run a CLI command. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check Extension Status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jump to a particular priority, extension, or context. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Extension to check state on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Context for extension. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Report the extension state for given extension. If the extension has a hint, │ │ │ │ │ - will use devicestate to check the status of the device connected to the extension. │ │ │ │ │ │ │ │ │ │ - Will return an │ │ │ │ │ - Extension Status │ │ │ │ │ - message. The response will include │ │ │ │ │ - the hint for the extension and the status. │ │ │ │ │ + This application will set the current context, extension, and priority in the channel structure. │ │ │ │ │ + After it completes, the pbx engine will continue dialplan execution at the specified location. │ │ │ │ │ + If no specific │ │ │ │ │ + extension │ │ │ │ │ + , or │ │ │ │ │ + extension │ │ │ │ │ + and │ │ │ │ │ + context │ │ │ │ │ + , are specified, then this application will │ │ │ │ │ + just set the specified │ │ │ │ │ + priority │ │ │ │ │ + of the current extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + At least a │ │ │ │ │ + priority │ │ │ │ │ + is required as an argument, or the goto will │ │ │ │ │ + return a │ │ │ │ │ + -1 │ │ │ │ │ + , and the channel and call will be terminated. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the location that is put into the channel information is bogus, and asterisk cannot │ │ │ │ │ + find that location in the dialplan, then the execution engine will try to find and execute the code in │ │ │ │ │ + the │ │ │ │ │ + i │ │ │ │ │ + (invalid) extension in the current context. If that does not exist, it will try to execute the │ │ │ │ │ + h │ │ │ │ │ + extension. If neither the │ │ │ │ │ + h │ │ │ │ │ + nor │ │ │ │ │ + i │ │ │ │ │ + extensions │ │ │ │ │ + have been defined, the channel is hung up, and the execution of instructions on the channel is terminated. │ │ │ │ │ + What this means is that, for example, you specify a context that does not exist, then │ │ │ │ │ + it will not be possible to find the │ │ │ │ │ + h │ │ │ │ │ + or │ │ │ │ │ + i │ │ │ │ │ + extensions, │ │ │ │ │ + and the call will terminate! │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ExtensionStatus │ │ │ │ │ + GotoIf │ │ │ │ │ + GotoIfTime │ │ │ │ │ + Gosub │ │ │ │ │ + Macro │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check Presence State │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Presence Provider to check the state of │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conditional goto. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Continue at │ │ │ │ │ + labeliftrue │ │ │ │ │ + if the condition is true. │ │ │ │ │ + Takes the form similar to Goto() of [[context,]extension,]priority. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Continue at │ │ │ │ │ + labeliffalse │ │ │ │ │ + if the condition is false. │ │ │ │ │ + Takes the form similar to Goto() of [[context,]extension,]priority. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Report the presence state for the given presence provider. │ │ │ │ │ │ │ │ │ │ - Will return a │ │ │ │ │ - Presence State │ │ │ │ │ - message. The response will include the │ │ │ │ │ - presence state and, if set, a presence subtype and custom message. │ │ │ │ │ + This application will set the current context, extension, and priority in the channel structure │ │ │ │ │ + based on the evaluation of the given condition. After this application completes, the │ │ │ │ │ + pbx engine will continue dialplan execution at the specified location in the dialplan. │ │ │ │ │ + The labels are specified with the same syntax as used within the Goto application. │ │ │ │ │ + If the label chosen by the condition is omitted, no jump is performed, and the execution passes to the │ │ │ │ │ + next instruction. If the target location is bogus, and does not exist, the execution engine will try │ │ │ │ │ + to find and execute the code in the │ │ │ │ │ + i │ │ │ │ │ + (invalid) extension in the current context. │ │ │ │ │ + If that does not exist, it will try to execute the │ │ │ │ │ + h │ │ │ │ │ + extension. │ │ │ │ │ + If neither the │ │ │ │ │ + h │ │ │ │ │ + nor │ │ │ │ │ + i │ │ │ │ │ + extensions have been defined, │ │ │ │ │ + the channel is hung up, and the execution of instructions on the channel is terminated. │ │ │ │ │ + Remember that this command can set the current context, and if the context specified │ │ │ │ │ + does not exist, then it will not be able to find any 'h' or 'i' extensions there, and │ │ │ │ │ + the channel and call will both be terminated!. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - PresenceStatus │ │ │ │ │ + Goto │ │ │ │ │ + GotoIfTime │ │ │ │ │ + GosubIf │ │ │ │ │ + MacroIf │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set absolute timeout. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel name to hangup. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conditional Goto based on the current time. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Maximum duration of the call (sec). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Continue at │ │ │ │ │ + labeliftrue │ │ │ │ │ + if the condition is true. │ │ │ │ │ + Takes the form similar to Goto() of [[context,]extension,]priority. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Continue at │ │ │ │ │ + labeliffalse │ │ │ │ │ + if the condition is false. │ │ │ │ │ + Takes the form similar to Goto() of [[context,]extension,]priority. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Hangup a channel after a certain time. Acknowledges set time with │ │ │ │ │ - Timeout Set │ │ │ │ │ - message. │ │ │ │ │ + This application will set the context, extension, and priority in the channel structure │ │ │ │ │ + based on the evaluation of the given time specification. After this application completes, │ │ │ │ │ + the pbx engine will continue dialplan execution at the specified location in the dialplan. │ │ │ │ │ + If the current time is within the given time specification, the channel will continue at │ │ │ │ │ + labeliftrue │ │ │ │ │ + . Otherwise the channel will continue at │ │ │ │ │ + labeliffalse │ │ │ │ │ + . │ │ │ │ │ + If the label chosen by the condition is omitted, no jump is performed, and execution passes to the next │ │ │ │ │ + instruction. If the target jump location is bogus, the same actions would be taken as for │ │ │ │ │ + Goto │ │ │ │ │ + . │ │ │ │ │ + Further information on the time specification can be found in examples │ │ │ │ │ + illustrating how to do time-based context includes in the dialplan. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check mailbox. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Full mailbox ID │ │ │ │ │ - mailbox │ │ │ │ │ - @ │ │ │ │ │ - vm-context │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + GotoIf │ │ │ │ │ + Goto │ │ │ │ │ + IFTIME │ │ │ │ │ + TESTTIME │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Import a variable from a channel into a new variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Checks a voicemail account for status. │ │ │ │ │ - Returns whether there are messages waiting. │ │ │ │ │ - Message: Mailbox Status. │ │ │ │ │ - │ │ │ │ │ - Mailbox: │ │ │ │ │ - mailboxid │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - Waiting: │ │ │ │ │ - 0 │ │ │ │ │ - if messages waiting, │ │ │ │ │ - 1 │ │ │ │ │ - if no messages waiting. │ │ │ │ │ + This application imports a │ │ │ │ │ + variable │ │ │ │ │ + from the specified │ │ │ │ │ + channel │ │ │ │ │ + (as opposed to the current one) and stores it as a variable │ │ │ │ │ + ( │ │ │ │ │ + newvar │ │ │ │ │ + ) in the current channel (the channel that is calling this │ │ │ │ │ + application). Variables created by this application have the same inheritance properties as those │ │ │ │ │ + created with the │ │ │ │ │ + Set │ │ │ │ │ + application. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - MailboxCount │ │ │ │ │ + Set │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check Mailbox Message Count. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Hang up the calling channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Full mailbox ID │ │ │ │ │ - mailbox │ │ │ │ │ - @ │ │ │ │ │ - vm-context │ │ │ │ │ - . │ │ │ │ │ + If a │ │ │ │ │ + causecode │ │ │ │ │ + is given the channel's │ │ │ │ │ + hangup cause will be set to the given value. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Checks a voicemail account for new messages. │ │ │ │ │ - Returns number of urgent, new and old messages. │ │ │ │ │ - Message: Mailbox Message Count │ │ │ │ │ - │ │ │ │ │ - Mailbox: │ │ │ │ │ - mailboxid │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - UrgentMessages: │ │ │ │ │ - count │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - NewMessages: │ │ │ │ │ - count │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - OldMessages: │ │ │ │ │ - count │ │ │ │ │ - │ │ │ │ │ + This application will hang up the calling channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - MailboxStatus │ │ │ │ │ + Answer │ │ │ │ │ + Busy │ │ │ │ │ + Congestion │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List available manager commands. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns AST_PBX_INCOMPLETE value. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + If specified, then Incomplete will not attempt to answer the channel first. │ │ │ │ │ + │ │ │ │ │ + Most channel types need to be in Answer state in order to receive DTMF. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns the action name and synopsis for every action that │ │ │ │ │ - is available to the user. │ │ │ │ │ + Signals the PBX routines that the previous matched extension is incomplete │ │ │ │ │ + and that further input should be allowed before matching can be considered │ │ │ │ │ + to be complete. Can be used within a pattern match when certain criteria warrants │ │ │ │ │ + a longer match. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sends a text message to channel. A content type can be optionally specified. If not set │ │ │ │ │ - it is set to an empty string allowing a custom handler to default it as it sees fit. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Do Nothing (No Operation). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel to send message to. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Message to send. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The type of content in the message │ │ │ │ │ + │ │ │ │ │ + Any text provided can be viewed at the Asterisk CLI. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Sends A Text Message to a channel while in a call. │ │ │ │ │ + This application does nothing. However, it is useful for debugging purposes. │ │ │ │ │ + This method can be used to see the evaluations of variables or functions without having any effect. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SendText │ │ │ │ │ + Verbose │ │ │ │ │ + Log │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send an arbitrary event. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Event string to send. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Content1. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ContentN. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicate proceeding. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Send an event to manager sessions. │ │ │ │ │ + This application will request that a proceeding message be provided to the calling channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicate progress. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application will request that in-band progress information be provided to the calling channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - UserEvent │ │ │ │ │ - UserEvent │ │ │ │ │ + Busy │ │ │ │ │ + Congestion │ │ │ │ │ + Ringing │ │ │ │ │ + Playtones │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Wait for an event to occur. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Handle an exceptional condition. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum time (in seconds) to wait for events, │ │ │ │ │ - -1 │ │ │ │ │ - means forever. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action will elicit a │ │ │ │ │ - Success │ │ │ │ │ - response. Whenever │ │ │ │ │ - a manager event is queued. Once WaitEvent has been called on an HTTP manager │ │ │ │ │ - session, events will be generated and queued. │ │ │ │ │ + This application will jump to the │ │ │ │ │ + e │ │ │ │ │ + extension in the current context, setting the │ │ │ │ │ + dialplan function EXCEPTION(). If the │ │ │ │ │ + e │ │ │ │ │ + extension does not exist, the call will hangup. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show PBX core settings (version etc). │ │ │ │ │ + │ │ │ │ │ + Exception │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicate ringing tone. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application will request that the channel indicate a ringing tone to the user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Busy │ │ │ │ │ + Congestion │ │ │ │ │ + Progress │ │ │ │ │ + Playtones │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say Alpha. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Query for Core PBX settings. │ │ │ │ │ + │ │ │ │ │ + This application will play the sounds that correspond to the letters │ │ │ │ │ + of the given │ │ │ │ │ + string │ │ │ │ │ + . If the channel variable │ │ │ │ │ + SAY_DTMF_INTERRUPT │ │ │ │ │ + is set to 'true' (case insensitive), │ │ │ │ │ + then this application will react to DTMF in the same way as │ │ │ │ │ + Background │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show PBX core status variables. │ │ │ │ │ + │ │ │ │ │ + SayDigits │ │ │ │ │ + SayMoney │ │ │ │ │ + SayNumber │ │ │ │ │ + SayOrdinal │ │ │ │ │ + SayPhonetic │ │ │ │ │ + CHANNEL │ │ │ │ │ + SAYFILES │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say Alpha. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Case sensitive (all) pronunciation. │ │ │ │ │ + (Ex: SayAlphaCase(a,aBc); - lowercase a uppercase b lowercase c). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Case sensitive (lower) pronunciation. │ │ │ │ │ + (Ex: SayAlphaCase(l,aBc); - lowercase a b lowercase c). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Case insensitive pronunciation. Equivalent to SayAlpha. │ │ │ │ │ + (Ex: SayAlphaCase(n,aBc) - a b c). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Case sensitive (upper) pronunciation. │ │ │ │ │ + (Ex: SayAlphaCase(u,aBc); - a uppercase b c). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Query for Core PBX status. │ │ │ │ │ + │ │ │ │ │ + This application will play the sounds that correspond to the letters of the │ │ │ │ │ + given │ │ │ │ │ + string │ │ │ │ │ + . Optionally, a │ │ │ │ │ + casetype │ │ │ │ │ + may be │ │ │ │ │ + specified. This will be used for case-insensitive or case-sensitive pronunciations. If the channel │ │ │ │ │ + variable │ │ │ │ │ + SAY_DTMF_INTERRUPT │ │ │ │ │ + is set to 'true' (case insensitive), then this │ │ │ │ │ + application will react to DTMF in the same way as │ │ │ │ │ + Background │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send a reload event. │ │ │ │ │ + │ │ │ │ │ + SayDigits │ │ │ │ │ + SayMoney │ │ │ │ │ + SayNumber │ │ │ │ │ + SayOrdinal │ │ │ │ │ + SayPhonetic │ │ │ │ │ + SayAlpha │ │ │ │ │ + CHANNEL │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say Digits. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Name of the module to reload. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Send a reload event. │ │ │ │ │ + │ │ │ │ │ + This application will play the sounds that correspond to the digits of │ │ │ │ │ + the given number. This will use the language that is currently set for the channel. │ │ │ │ │ + If the channel variable │ │ │ │ │ + SAY_DTMF_INTERRUPT │ │ │ │ │ + is set to 'true' │ │ │ │ │ + (case insensitive), then this application will react to DTMF in the same way as │ │ │ │ │ + Background │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ModuleLoad │ │ │ │ │ + SayAlpha │ │ │ │ │ + SayMoney │ │ │ │ │ + SayNumber │ │ │ │ │ + SayOrdinal │ │ │ │ │ + SayPhonetic │ │ │ │ │ + CHANNEL │ │ │ │ │ + SAYFILES │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised in response to a CoreShowChannels command. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Identifier of the bridge the channel is in, may be empty if not in one │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Application currently executing on the channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Data given to the currently executing application │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The amount of time the channel has existed │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CoreShowChannels │ │ │ │ │ - CoreShowChannelsComplete │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised at the end of the CoreShowChannel list produced by the CoreShowChannels command. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conveys the status of the command reponse list │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The total number of list items produced │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CoreShowChannels │ │ │ │ │ - CoreShowChannel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List currently active channels. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say Money. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - List currently defined channels and some information about them. │ │ │ │ │ + │ │ │ │ │ + This application will play the currency sounds for the given floating point number │ │ │ │ │ + in the current language. Currently only English and US Dollars is supported. │ │ │ │ │ + If the channel variable │ │ │ │ │ + SAY_DTMF_INTERRUPT │ │ │ │ │ + is set to 'true' │ │ │ │ │ + (case insensitive), then this application will react to DTMF in the same way as │ │ │ │ │ + Background │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reload and rotate the Asterisk logger. │ │ │ │ │ + │ │ │ │ │ + SayAlpha │ │ │ │ │ + SayNumber │ │ │ │ │ + SayOrdinal │ │ │ │ │ + SayPhonetic │ │ │ │ │ + CHANNEL │ │ │ │ │ + SAYFILES │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say Number. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Reload and rotate the logger. Analogous to the CLI command 'logger rotate'. │ │ │ │ │ + │ │ │ │ │ + This application will play the sounds that correspond to the given │ │ │ │ │ + digits │ │ │ │ │ + . Optionally, a │ │ │ │ │ + gender │ │ │ │ │ + may be │ │ │ │ │ + specified. This will use the language that is currently set for the channel. See the CHANNEL() │ │ │ │ │ + function for more information on setting the language for the channel. If the channel variable │ │ │ │ │ + SAY_DTMF_INTERRUPT │ │ │ │ │ + is set to 'true' (case insensitive), then this │ │ │ │ │ + application will react to DTMF in the same way as │ │ │ │ │ + Background │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Module management. │ │ │ │ │ + │ │ │ │ │ + SayAlpha │ │ │ │ │ + SayDigits │ │ │ │ │ + SayMoney │ │ │ │ │ + SayPhonetic │ │ │ │ │ + CHANNEL │ │ │ │ │ + SAYFILES │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say Ordinal Number. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Asterisk module name (including .so extension) or subsystem identifier: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The operation to be done on module. Subsystem identifiers may only │ │ │ │ │ - be reloaded. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If no module is specified for a │ │ │ │ │ - reload │ │ │ │ │ - loadtype, │ │ │ │ │ - all modules are reloaded. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Loads, unloads or reloads an Asterisk module in a running system. │ │ │ │ │ + │ │ │ │ │ + This application will play the ordinal sounds that correspond to the given │ │ │ │ │ + digits │ │ │ │ │ + (e.g. 1st, 42nd). Currently only English is supported. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Optionally, a │ │ │ │ │ + gender │ │ │ │ │ + may be │ │ │ │ │ + specified. This will use the language that is currently set for the channel. See the CHANNEL() │ │ │ │ │ + function for more information on setting the language for the channel. If the channel variable │ │ │ │ │ + SAY_DTMF_INTERRUPT │ │ │ │ │ + is set to 'true' (case insensitive), then this │ │ │ │ │ + application will react to DTMF in the same way as │ │ │ │ │ + Background │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Reload │ │ │ │ │ - ModuleCheck │ │ │ │ │ + SayAlpha │ │ │ │ │ + SayDigits │ │ │ │ │ + SayMoney │ │ │ │ │ + SayNumber │ │ │ │ │ + SayPhonetic │ │ │ │ │ + CHANNEL │ │ │ │ │ + SAYFILES │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check if module is loaded. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say Phonetic. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Asterisk module name (not including extension). │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Checks if Asterisk module is loaded. Will return Success/Failure. │ │ │ │ │ - For success returns, the module revision number is included. │ │ │ │ │ + │ │ │ │ │ + This application will play the sounds from the phonetic alphabet that correspond to the │ │ │ │ │ + letters in the given │ │ │ │ │ + string │ │ │ │ │ + . If the channel variable │ │ │ │ │ + SAY_DTMF_INTERRUPT │ │ │ │ │ + is set to 'true' (case insensitive), then this │ │ │ │ │ + application will react to DTMF in the same way as │ │ │ │ │ + Background │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ModuleLoad │ │ │ │ │ + SayAlpha │ │ │ │ │ + SayDigits │ │ │ │ │ + SayMoney │ │ │ │ │ + SayNumber │ │ │ │ │ + SayOrdinal │ │ │ │ │ + SAYFILES │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Generate an Advice of Charge message on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set the AMA Flags. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel name to generate the AOC message on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Partial channel prefix. By using this option one can match the beginning part │ │ │ │ │ - of a channel name without having to put the entire name in. For example │ │ │ │ │ - if a channel name is SIP/snom-00000001 and this value is set to SIP/snom, then │ │ │ │ │ - that channel matches and the message will be sent. Note however that only │ │ │ │ │ - the first matched channel has the message sent on it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Defines what type of AOC message to create, AOC-D or AOC-E │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Defines what kind of charge this message represents. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This represents the amount of units charged. The ETSI AOC standard specifies that │ │ │ │ │ - this value along with the optional UnitType value are entries in a list. To accommodate this │ │ │ │ │ - these values take an index value starting at 0 which can be used to generate this list of │ │ │ │ │ - unit entries. For Example, If two unit entires were required this could be achieved by setting the │ │ │ │ │ - paramter UnitAmount(0)=1234 and UnitAmount(1)=5678. Note that UnitAmount at index 0 is │ │ │ │ │ - required when ChargeType=Unit, all other entries in the list are optional. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Defines the type of unit. ETSI AOC standard specifies this as an integer │ │ │ │ │ - value between 1 and 16, but this value is left open to accept any positive │ │ │ │ │ - integer. Like the UnitAmount parameter, this value represents a list entry │ │ │ │ │ - and has an index parameter that starts at 0. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specifies the currency's name. Note that this value is truncated after 10 characters. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specifies the charge unit amount as a positive integer. This value is required │ │ │ │ │ - when ChargeType==Currency. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specifies the currency multiplier. This value is required when ChargeType==Currency. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Defines what kind of AOC-D total is represented. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Represents a billing ID associated with an AOC-D or AOC-E message. Note │ │ │ │ │ - that only the first 3 items of the enum are valid AOC-D billing IDs │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Charging association identifier. This is optional for AOC-E and can be │ │ │ │ │ - set to any value between -32768 and 32767 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Represents the charging association party number. This value is optional │ │ │ │ │ - for AOC-E. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Integer representing the charging plan associated with the ChargingAssociationNumber. │ │ │ │ │ - The value is bits 7 through 1 of the Q.931 octet containing the type-of-number and │ │ │ │ │ - numbering-plan-identification fields. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Generates an AOC-D or AOC-E message on a channel. │ │ │ │ │ + This application will set the channel's AMA Flags for billing purposes. │ │ │ │ │ + │ │ │ │ │ + This application is deprecated. Please use the CHANNEL function instead. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - AOC-D │ │ │ │ │ - AOC-E │ │ │ │ │ + CDR │ │ │ │ │ + CHANNEL │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Checks attributes of manager accounts │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Waits for some time. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Login name, specified in manager.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The manager account attribute to return │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of sessions for this AMI account │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Can be passed with fractions of a second. For example, │ │ │ │ │ + 1.5 │ │ │ │ │ + will ask the │ │ │ │ │ + application to wait for 1.5 seconds. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Currently, the only supported parameter is "sessions" which will return the current number of │ │ │ │ │ - active sessions for this AMI account. │ │ │ │ │ + │ │ │ │ │ + This application waits for a specified number of │ │ │ │ │ + seconds │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dynamically add filters for the current manager session. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Waits for a digit to be entered. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Add a filter. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Can be passed with fractions of a second. For example, │ │ │ │ │ + 1.5 │ │ │ │ │ + will ask the │ │ │ │ │ + application to wait for 1.5 seconds. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Filters can be whitelist or blacklist │ │ │ │ │ - Example whitelist filter: "Event: Newchannel" │ │ │ │ │ - Example blacklist filter: "!Channel: DAHDI.*" │ │ │ │ │ - This filter option is used to whitelist or blacklist events per user to be │ │ │ │ │ - reported with regular expressions and are allowed if both the regex matches │ │ │ │ │ - and the user has read access as defined in manager.conf. Filters are assumed to be for whitelisting │ │ │ │ │ - unless preceeded by an exclamation point, which marks it as being black. │ │ │ │ │ - Evaluation of the filters is as follows: │ │ │ │ │ - - If no filters are configured all events are reported as normal. │ │ │ │ │ - - If there are white filters only: implied black all filter processed first, then white filters. │ │ │ │ │ - - If there are black filters only: implied white all filter processed first, then black filters. │ │ │ │ │ - - If there are both white and black filters: implied black all filter processed first, then white │ │ │ │ │ - filters, and lastly black filters. │ │ │ │ │ + │ │ │ │ │ + Digits to accept, all others are ignored. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - The filters added are only used for the current session. │ │ │ │ │ - Once the connection is closed the filters are removed. │ │ │ │ │ - This comand requires the system permission because │ │ │ │ │ - this command can be used to create filters that may bypass │ │ │ │ │ - filters defined in manager.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - FilterList │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show current event filters for this session │ │ │ │ │ - │ │ │ │ │ - The filters displayed are for the current session. Only those filters defined in │ │ │ │ │ - manager.conf will be present upon starting a new session. │ │ │ │ │ + │ │ │ │ │ + This application waits for the user to press one of the accepted │ │ │ │ │ + digits │ │ │ │ │ + for a specified number of │ │ │ │ │ + seconds │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the final status of the command │ │ │ │ │ + Parameters are invalid. │ │ │ │ │ + An accepted digit was received. │ │ │ │ │ + The timeout passed before any acceptable digits were received. │ │ │ │ │ + The channel has hungup or was redirected. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The digit that was received, only set if │ │ │ │ │ + WAITDIGITSTATUS │ │ │ │ │ + is │ │ │ │ │ + DTMF │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Filter │ │ │ │ │ + Wait │ │ │ │ │ + WaitExten │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Blind transfer channel(s) to the given destination │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Waits for an extension to be entered. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Can be passed with fractions of a second. For example, │ │ │ │ │ + 1.5 │ │ │ │ │ + will ask the │ │ │ │ │ + application to wait for 1.5 seconds. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Redirect all channels currently bridged to the specified channel to the specified destination. │ │ │ │ │ + │ │ │ │ │ + This application waits for the user to enter a new extension for a specified number │ │ │ │ │ + of │ │ │ │ │ + seconds │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Redirect │ │ │ │ │ - BlindTransfer │ │ │ │ │ + Background │ │ │ │ │ + TIMEOUT │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a hint changes due to a device state change. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Name of the extension. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Context that owns the extension. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hint set for the extension │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Numerical value of the extension status. Extension │ │ │ │ │ - status is determined by the combined device state of all items │ │ │ │ │ - contained in the hint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The extension was removed from the dialplan. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The extension's hint was removed from the dialplan. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Idle │ │ │ │ │ - - Related device(s) are in an idle │ │ │ │ │ - state. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - InUse │ │ │ │ │ - - Related device(s) are in active │ │ │ │ │ - calls but may take more calls. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Busy │ │ │ │ │ - - Related device(s) are in active │ │ │ │ │ - calls and may not take any more calls. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unavailable │ │ │ │ │ - - Related device(s) are │ │ │ │ │ - not reachable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Ringing │ │ │ │ │ - - Related device(s) are │ │ │ │ │ - currently ringing. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - InUse&Ringing │ │ │ │ │ - - Related device(s) │ │ │ │ │ - are currently ringing and in active calls. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hold │ │ │ │ │ - - Related device(s) are │ │ │ │ │ - currently on hold. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - InUse&Hold │ │ │ │ │ - - Related device(s) │ │ │ │ │ - are currently on hold and in active calls. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Text representation of │ │ │ │ │ - Status │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Status does not match any of the above values. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ExtensionState │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a hint changes due to a presence state change. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PresenceState │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a variable is set to a particular value. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The variable being set. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The new value of the variable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an Agent has logged in. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Agent ID of the agent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AgentLogin │ │ │ │ │ - AgentLogoff │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an Agent has logged off. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of seconds the agent was logged in. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AgentLogin │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when talking is detected on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - TALK_DETECT │ │ │ │ │ - ChannelTalkingStop │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when talking is no longer detected on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The length in time, in milliseconds, that talking was │ │ │ │ │ - detected on the channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - TALK_DETECT │ │ │ │ │ - ChannelTalkingStart │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + res_hep │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + bridge_holding │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Options that apply to every parking lot │ │ │ │ │ + │ │ │ │ │ + Enables dynamically created parkinglots. │ │ │ │ │ + │ │ │ │ │ + If the option is enabled then the following variables can │ │ │ │ │ + be used to dynamically create new parking lots. │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + PARKINGDYNAMIC │ │ │ │ │ + variable specifies the │ │ │ │ │ + parking lot to use as a template to create a dynamic parking lot. It │ │ │ │ │ + is an error to specify a non-existent parking lot for the template. │ │ │ │ │ + If not set then the default parking lot is used as the template. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + PARKINGDYNCONTEXT │ │ │ │ │ + variable specifies the │ │ │ │ │ + dialplan context to use for the newly created dynamic parking lot. If │ │ │ │ │ + not set then the context from the parking lot template is used. The │ │ │ │ │ + context is created if it does not already exist and the new parking lot │ │ │ │ │ + needs to create extensions. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + PARKINGDYNEXTEN │ │ │ │ │ + variable specifies the │ │ │ │ │ + parkext │ │ │ │ │ + to use for the newly created dynamic │ │ │ │ │ + parking lot. If not set then the │ │ │ │ │ + parkext │ │ │ │ │ + is used from │ │ │ │ │ + the parking lot template. If the template does not specify a │ │ │ │ │ + parkext │ │ │ │ │ + then no extensions are created for the newly │ │ │ │ │ + created parking lot. The dynamic parking lot cannot be created if it │ │ │ │ │ + needs to create extensions that overlap existing parking lot extensions. │ │ │ │ │ + The only exception to this is for the │ │ │ │ │ + parkext │ │ │ │ │ + extension and only if neither of the overlaping parking lot's │ │ │ │ │ + parkext │ │ │ │ │ + is exclusive. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + PARKINGDYNPOS │ │ │ │ │ + variable specifies the │ │ │ │ │ + parking positions to use for the newly created dynamic parking lot. If │ │ │ │ │ + not set then the │ │ │ │ │ + parkpos │ │ │ │ │ + from the parking lot template │ │ │ │ │ + is used. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Defined parking lots for res_parking to use to park calls on │ │ │ │ │ + │ │ │ │ │ + The name of the context where calls are parked and picked up from. │ │ │ │ │ + │ │ │ │ │ + This option is only used if parkext is set. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Extension to park calls to this parking lot. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If this option is used, this extension will automatically │ │ │ │ │ + be created to place calls into parking lots. In addition, if │ │ │ │ │ + parkext_exclusive │ │ │ │ │ + is set for this parking │ │ │ │ │ + lot, the name of the parking lot will be included in the │ │ │ │ │ + application's arguments so that it only parks to this parking │ │ │ │ │ + lot. The extension will be created in │ │ │ │ │ + context │ │ │ │ │ + . │ │ │ │ │ + Using this option also creates extensions for retrieving │ │ │ │ │ + parked calls from the parking spaces in the same context. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Generated parking extensions cannot overlap. │ │ │ │ │ + The only exception is if neither overlapping │ │ │ │ │ + parkext │ │ │ │ │ + is exclusive. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If yes, the extension registered as parkext will park exclusively to this parking lot. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Numerical range of parking spaces which can be used to retrieve parked calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + parkext │ │ │ │ │ + is set, these extensions │ │ │ │ │ + will automatically be mapped in │ │ │ │ │ + context │ │ │ │ │ + in order to pick up calls parked to these parking spaces. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If yes, this parking lot will add hints automatically for parking spaces. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Amount of time a call will remain parked before giving up (in seconds). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Which music class to use for parked calls. They will use the default if unspecified. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Determines what should be done with the parked channel if no one picks it up before it times out. │ │ │ │ │ + │ │ │ │ │ + Valid Options: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Automatically have the parked channel dial the device that parked the call with dial │ │ │ │ │ + timeout set by the │ │ │ │ │ + parkingtime │ │ │ │ │ + option. When the call times out an extension │ │ │ │ │ + to dial the PARKER will automatically be created in the │ │ │ │ │ + park-dial │ │ │ │ │ + context with │ │ │ │ │ + an extension of the flattened parker device name. If the call is not answered, the parked channel │ │ │ │ │ + that is timing out will continue in the dial plan at that point if there are more priorities in │ │ │ │ │ + the extension (which won't be the case unless the dialplan deliberately includes such priorities │ │ │ │ │ + in the │ │ │ │ │ + park-dial │ │ │ │ │ + context through pattern matching or deliberately written │ │ │ │ │ + flattened peer extensions). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Place the call into the PBX at │ │ │ │ │ + comebackcontext │ │ │ │ │ + instead. The extension will │ │ │ │ │ + still be set as the flattened peer name. If an extension the flattened peer name isn't available │ │ │ │ │ + then it will fall back to the │ │ │ │ │ + s │ │ │ │ │ + extension. If that also is unavailable it will │ │ │ │ │ + attempt to fall back to │ │ │ │ │ + s@default │ │ │ │ │ + . The normal dial extension will still be │ │ │ │ │ + created in the │ │ │ │ │ + park-dial │ │ │ │ │ + context with the extension also being the flattened │ │ │ │ │ + peer name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Flattened Peer Names - Extensions can not include slash characters since those are used for pattern │ │ │ │ │ + matching. When a peer name is flattened, slashes become underscores. For example if the parker of a call │ │ │ │ │ + is called │ │ │ │ │ + SIP/0004F2040001 │ │ │ │ │ + then flattened peer name and therefor the extensions created │ │ │ │ │ + and used on timeouts will be │ │ │ │ │ + SIP_0004F204001 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When parking times out and the channel returns to the dial plan, the following variables are set: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extension that the call was parked in prior to timing out. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Deprecated. Use │ │ │ │ │ + PARKING_SPACE │ │ │ │ │ + instead. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + name of the lot that the call was parked in prior to timing out. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The device that parked the call │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The flat version of │ │ │ │ │ + PARKER │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Timeout for the Dial extension created to call back the parker when a parked call times out. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Context where parked calls will enter the PBX on timeout when comebacktoorigin=no │ │ │ │ │ + │ │ │ │ │ + The extension the call enters will prioritize the flattened peer name in this context. │ │ │ │ │ + If the flattened peer name extension is unavailable, then the 's' extension in this context will be │ │ │ │ │ + used. If that also is unavailable, the 's' extension in the 'default' context will be used. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the name of a sound file is provided, use this as the courtesy tone │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + By default, this tone is only played to the caller of a parked call. Who receives the tone │ │ │ │ │ + can be changed using the │ │ │ │ │ + parkedplay │ │ │ │ │ + option. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Who we should play the courtesytone to on the pickup of a parked call from this lot │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Apply to neither side. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Apply only to the call connecting with the call coming out of the parking lot. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Apply only to the call coming out of the parking lot. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Apply to both sides. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If courtesy tone is not specified then this option will be ignored. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Who to apply the DTMF transfer features to when parked calls are picked up or timeout. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Who to apply the DTMF parking feature to when parked calls are picked up or timeout. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Who to apply the DTMF hangup feature to when parked calls are picked up or timeout. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Who to apply the DTMF MixMonitor recording feature to when parked calls are picked up or timeout. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Rule to use when trying to figure out which parking space a call should be parked with. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Always try to place in the lowest available space in the parking lot │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Track the last parking space used and always attempt to use the one immediately after. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + res_hep │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get DB Entry. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get DB entries, optionally at a particular family/key │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Put DB entry. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Delete DB entry. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Delete DB Tree. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Core external MWI support │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Persistent cache of external MWI Mailboxs. │ │ │ │ │ + │ │ │ │ │ + Allows the alteration of sorcery backend mapping for │ │ │ │ │ + the persistent cache of external MWI mailboxes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_sorcery_config │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a module has been reloaded in Asterisk. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the module that was reloaded, or │ │ │ │ │ - All │ │ │ │ │ - if all modules were reloaded │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The numeric status code denoting the success or failure │ │ │ │ │ - of the reload request. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Success │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Request queued │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Module not found │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Error │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reload already in progress │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Module uninitialized │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reload not supported │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a module has been loaded in Asterisk. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the module that was loaded │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The result of the load request. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Module could not be loaded properly │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Module loaded and configured │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Module is not configured │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a module has been unloaded in Asterisk. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the module that was unloaded │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The result of the unload request. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Module unloaded successfully │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject common configuration │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Asterisk startup time options for PJPROJECT │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The id of this object, as well as its type, must be │ │ │ │ │ + 'startup' or it won't be found. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Must be of type 'startup'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Initial maximum pjproject logging level to log. │ │ │ │ │ + │ │ │ │ │ + Valid values are: 0-6, and default │ │ │ │ │ + │ │ │ │ │ + This option is needed very early in the startup process │ │ │ │ │ + so it can only be read from config files because the │ │ │ │ │ + modules for other methods have not been loaded yet. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PJPROJECT to Asterisk Log Level Mapping │ │ │ │ │ + │ │ │ │ │ + Warnings and errors in the pjproject libraries are generally handled │ │ │ │ │ + by Asterisk. In many cases, Asterisk wouldn't even consider them to │ │ │ │ │ + be warnings or errors so the messages emitted by pjproject directly │ │ │ │ │ + are either superfluous or misleading. The 'log_mappings' │ │ │ │ │ + object allows mapping the pjproject levels to Asterisk levels, or nothing. │ │ │ │ │ + │ │ │ │ │ + The id of this object, as well as its type, must be │ │ │ │ │ + 'log_mappings' or it won't be found. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Must be of type 'log_mappings'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A comma separated list of pjproject log levels to map to Asterisk LOG_ERROR. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A comma separated list of pjproject log levels to map to Asterisk LOG_WARNING. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A comma separated list of pjproject log levels to map to Asterisk LOG_NOTICE. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A comma separated list of pjproject log levels to map to Asterisk LOG_VERBOSE. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A comma separated list of pjproject log levels to map to Asterisk LOG_DEBUG. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A comma separated list of pjproject log levels to map to Asterisk LOG_TRACE. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ res_ari │ │ │ │ │ res_ari_model │ │ │ │ │ res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ generic_odbc │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Controls ODBC transaction properties. │ │ │ │ │ │ │ │ │ │ @@ -27188,78 +27627,298 @@ │ │ │ │ │ │ │ │ │ │ Rolls back the database transaction specified by │ │ │ │ │ transaction ID │ │ │ │ │ or the current active transaction, if not specified. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ + │ │ │ │ │ + Expire (remove) an object from a sorcery memory cache. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the cache to expire the object from. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the object to expire. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Expires (removes) an object from a sorcery memory cache. If full backend caching is enabled │ │ │ │ │ + this action is not available and will fail. In this case the SorceryMemoryCachePopulate or │ │ │ │ │ + SorceryMemoryCacheExpire AMI actions must be used instead. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Expire (remove) ALL objects from a sorcery memory cache. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the cache to expire all objects from. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Expires (removes) ALL objects from a sorcery memory cache. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Mark an object in a sorcery memory cache as stale. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the cache to mark the object as stale in. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the object to mark as stale. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If true, then immediately reload the object from the backend cache instead of waiting for the next retrieval │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Marks an object as stale within a sorcery memory cache. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Marks ALL objects in a sorcery memory cache as stale. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the cache to mark all object as stale in. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Marks ALL objects in a sorcery memory cache as stale. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Expire all objects from a memory cache and populate it with all objects from the backend. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the cache to populate. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Expires all objects from a memory cache and populate it with all objects from the backend. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_odbc │ │ │ │ │ + generic_odbc │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ res_ari │ │ │ │ │ res_ari_model │ │ │ │ │ res_stasis │ │ │ │ │ res_stasis_mailbox │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ + res_phoneprov │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Module that integrates res_pjsip with res_phoneprov. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PJSIP Phoneprov Provider │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This module creates the integration between │ │ │ │ │ + res_pjsip │ │ │ │ │ + and │ │ │ │ │ + res_phoneprov │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Each user to be integrated requires a │ │ │ │ │ + phoneprov │ │ │ │ │ + section defined in │ │ │ │ │ + pjsip.conf │ │ │ │ │ + . Each section identifies │ │ │ │ │ + the endpoint associated with the user and any other name/value pairs to be passed │ │ │ │ │ + on to res_phoneprov's template substitution. Only │ │ │ │ │ + MAC │ │ │ │ │ + and │ │ │ │ │ + PROFILE │ │ │ │ │ + variables are required. Any other variables │ │ │ │ │ + supplied will be passed through. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Example: │ │ │ │ │ + [1000] │ │ │ │ │ + type = phoneprovr │ │ │ │ │ + endpoint = ep1000 │ │ │ │ │ + MAC = deadbeef4dad │ │ │ │ │ + PROFILE = grandstream2 │ │ │ │ │ + LINEKEYS = 2 │ │ │ │ │ + LINE = 1 │ │ │ │ │ + OTHERVAR = othervalue │ │ │ │ │ + │ │ │ │ │ + The following variables are automatically defined if an endpoint │ │ │ │ │ + is defined for the user: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Source: The user_name defined in the first auth reference │ │ │ │ │ + in the endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Source: The user_pass defined in the first auth reference │ │ │ │ │ + in the endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Source: The number part of the callerid defined in │ │ │ │ │ + the endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Source: The name part of the callerid defined in │ │ │ │ │ + the endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Source: The id of the phoneprov section. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + In addition to the standard variables, the following are also automatically defined: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Source: The id of the endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Source: The id of the transport used by the endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Source: The id of the auth used by the endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + All other template substitution variables must be explicitly defined in the │ │ │ │ │ + phoneprov_default or phoneprov sections. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Provides variables for each user. │ │ │ │ │ + │ │ │ │ │ + Must be of type 'phoneprov'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The endpoint from which variables will be retrieved. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The mac address for this user. (required) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The phoneprov profile to use for this user. (required) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Other name/value pairs to be passed through for use in templates. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Execute specified template for each extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Output the specified template for each extension associated with the specified MAC address. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Generate a string for each phoneprov user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Pass in a string, with phoneprov variables you want substituted in the format of │ │ │ │ │ + %{VARNAME}, and you will get the string rendered for each user in phoneprov │ │ │ │ │ + excluding ones with MAC address │ │ │ │ │ + exclude_mac │ │ │ │ │ + . Probably not │ │ │ │ │ + useful outside of res_phoneprov. │ │ │ │ │ + │ │ │ │ │ + Example: ${PP_EACH_USER(<item><fn>%{DISPLAY_NAME}</fn></item>|${MAC}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + openssl │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_hep │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - no │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Lists PJSIP inbound registrations. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + In response, │ │ │ │ │ + InboundRegistrationDetail │ │ │ │ │ + events showing configuration │ │ │ │ │ + and status information are raised for all contacts, static or dynamic. Once all events │ │ │ │ │ + are completed an │ │ │ │ │ + InboundRegistrationDetailComplete │ │ │ │ │ + is issued. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This command just dumps all coonfigured AORs with contacts, even if the contact │ │ │ │ │ + is a permanent one. To really get just inbound registrations, use │ │ │ │ │ + PJSIPShowRegistrationInboundContactStatuses │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PJSIPShowRegistrationInboundContactStatuses │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Lists ContactStatuses for PJSIP inbound registrations. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + In response, │ │ │ │ │ + ContactStatusDetail │ │ │ │ │ + events showing status information │ │ │ │ │ + are raised for each inbound registration (dynamic contact) object. Once all events │ │ │ │ │ + are completed a │ │ │ │ │ + ContactStatusDetailComplete │ │ │ │ │ + event is issued. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ openssl │ │ │ │ │ pjproject │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - netsnmp │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_stasis │ │ │ │ │ - res_mwi_external │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -27515,777 +28174,730 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ PJSIP_RESPONSE_HEADER │ │ │ │ │ PJSIP_HEADERS │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_stasis │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_pjsip_outbound_publish │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - SIP resource for inbound and outbound Asterisk event publications │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Inbound and outbound Asterisk event publication │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This module allows │ │ │ │ │ - res_pjsip │ │ │ │ │ - to send and receive Asterisk event publications. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The configuration for inbound Asterisk event publication │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Publish is │ │ │ │ │ - COMPLETELY │ │ │ │ │ - separate from the rest of │ │ │ │ │ - pjsip.conf │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optional name of a publish item that can be used to publish a request for full device state information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optional name of a publish item that can be used to publish a request for full mailbox state information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether we should permit incoming device state events. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optional regular expression used to filter what devices we accept events for. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether we should permit incoming mailbox state events. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optional regular expression used to filter what mailboxes we accept events for. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must be of type 'asterisk-publication'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ res_ari │ │ │ │ │ res_ari_model │ │ │ │ │ res_stasis │ │ │ │ │ - res_stasis_answer │ │ │ │ │ - res_stasis_playback │ │ │ │ │ res_stasis_recording │ │ │ │ │ - res_stasis_snoop │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ + res_stasis_playback │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_stasis │ │ │ │ │ + │ │ │ │ │ + app_fax │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - func_periodic_hook │ │ │ │ │ - deprecated │ │ │ │ │ - app_mixmonitor │ │ │ │ │ - 16 │ │ │ │ │ - 21 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Monitor a channel. │ │ │ │ │ + │ │ │ │ │ + Receive a FAX and save as a TIFF/F file. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optional. If not set, defaults to │ │ │ │ │ - wav │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set, changes the filename used to the one specified. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Used to start monitoring a channel. The channel's input and output │ │ │ │ │ - voice packets are logged to files until the channel hangs up or │ │ │ │ │ - monitoring is stopped by the StopMonitor application. │ │ │ │ │ - │ │ │ │ │ - By default, files are stored to │ │ │ │ │ - /var/spool/asterisk/monitor/ │ │ │ │ │ - . │ │ │ │ │ - Returns │ │ │ │ │ - -1 │ │ │ │ │ - if monitor files can't be opened or if the channel is │ │ │ │ │ - already monitored, otherwise │ │ │ │ │ - 0 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + This application is provided by res_fax, which is a FAX technology agnostic module │ │ │ │ │ + that utilizes FAX technology resource modules to complete a FAX transmission. │ │ │ │ │ + Session arguments can be set by the FAXOPT function and to check results of the ReceiveFax() application. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - StopMonitor │ │ │ │ │ + FAXOPT │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Stop monitoring a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stops monitoring a channel. Has no effect if the channel is not monitored. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Change monitoring filename of a channel. │ │ │ │ │ + │ │ │ │ │ + Sends a specified TIFF/F file as a FAX. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The new filename base to use for monitoring this channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + TIFF file to send as a FAX. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Changes monitoring filename of a channel. Has no effect if the │ │ │ │ │ - channel is not monitored. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Pause monitoring of a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Pauses monitoring of a channel until it is re-enabled by a call to UnpauseMonitor. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - UnpauseMonitor │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unpause monitoring of a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unpauses monitoring of a channel on which monitoring had │ │ │ │ │ - previously been paused with PauseMonitor. │ │ │ │ │ + This application is provided by res_fax, which is a FAX technology agnostic module │ │ │ │ │ + that utilizes FAX technology resource modules to complete a FAX transmission. │ │ │ │ │ + Session arguments can be set by the FAXOPT function and to check results of the SendFax() application. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - PauseMonitor │ │ │ │ │ + FAXOPT │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Monitor a channel. │ │ │ │ │ + │ │ │ │ │ + Gets/sets various pieces of information about a fax session. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Used to specify the channel to record. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is the name of the file created in the monitor spool directory. │ │ │ │ │ - Defaults to the same name as the channel (with slashes replaced with dashes). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is the audio recording format. Defaults to │ │ │ │ │ - wav │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Boolean parameter as to whether to mix the input and output channels │ │ │ │ │ - together after the recording is finished. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W Error Correction Mode (ECM) enable with 'yes', disable with 'no'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O FAX transmission error code upon failure. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Filename of the first file of the FAX transmission. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Filenames of all of the files in the FAX transmission (comma separated). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W FAX header information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W Local Station Identification. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W Minimum transfer rate set before transmission. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W Maximum transfer rate set before transmission. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W Modem type (v17/v27/v29). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W T38 fax gateway, with optional fax activity timeout in seconds (yes[,timeout]/no) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W Enable FAX detect with optional timeout in seconds (yes,t38,cng[,timeout]/no) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Number of pages transferred. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Negotiated transmission rate. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Remote Station Identification after transmission. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Negotiated image resolution after transmission. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Session ID of the FAX transmission. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Result Status of the FAX transmission. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Verbose Result Status of the FAX transmission. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W The timeout used for T.38 negotiation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action may be used to record the audio on a │ │ │ │ │ - specified channel. │ │ │ │ │ + │ │ │ │ │ + FAXOPT can be used to override the settings for a FAX session listed in │ │ │ │ │ + res_fax.conf │ │ │ │ │ + , │ │ │ │ │ + it can also be used to retrieve information about a FAX session that has finished eg. pages/status. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stop monitoring a channel. │ │ │ │ │ + │ │ │ │ │ + ReceiveFax │ │ │ │ │ + SendFax │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Lists active FAX sessions │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the channel monitored. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action may be used to end a previously started 'Monitor' action. │ │ │ │ │ + Will generate a series of FAXSession events with information about each FAXSession. Closes with │ │ │ │ │ + a FAXSessionsComplete event which includes a count of the included FAX sessions. This action works in │ │ │ │ │ + the same manner as the CLI command 'fax show sessions' │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Change monitoring filename of a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A single list item for the FAXSessions AMI command │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Name of the channel responsible for the FAX session │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The FAX technology that the FAX session is using │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The numerical identifier for this particular session │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + FAX session passthru/relay type │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + FAX session operation type │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Current state of the FAX session │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + File or list of files associated with this FAX session │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when all FAXSession events are completed for a FAXSessions command │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Count of FAXSession events sent in response to FAXSessions action │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Responds with a detailed description of a single FAX session │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Used to specify the channel to record. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is the new name of the file created in the │ │ │ │ │ - monitor spool directory. │ │ │ │ │ + │ │ │ │ │ + The session ID of the fax the user is interested in. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action may be used to change the file │ │ │ │ │ - started by a previous 'Monitor' action. │ │ │ │ │ + Provides details about a specific FAX session. The response will include a common subset of │ │ │ │ │ + the output from the CLI command 'fax show session <session_number>' for each technology. If the │ │ │ │ │ + FAX technolgy used by this session does not include a handler for FAXSession, then this action │ │ │ │ │ + will fail. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Pause monitoring of a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised in response to FAXSession manager command │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The numerical identifier for this particular session │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether error correcting mode is enabled for the FAX session. This field is not │ │ │ │ │ + included when operation is 'V.21 Detect' or if operation is 'gateway' and state is │ │ │ │ │ + 'Uninitialized' │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Bit rate of the FAX. This field is not included when operation is 'V.21 Detect' or │ │ │ │ │ + if operation is 'gateway' and state is 'Uninitialized'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Resolution of each page of the FAX. Will be in the format of X_RESxY_RES. This field │ │ │ │ │ + is not included if the operation is anything other than Receive/Transmit. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Current number of pages transferred during this FAX session. May change as the FAX │ │ │ │ │ + progresses. This field is not included when operation is 'V.21 Detect' or if operation is │ │ │ │ │ + 'gateway' and state is 'Uninitialized'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Filename of the image being sent/received for this FAX session. This field is not │ │ │ │ │ + included if Operation isn't 'send' or 'receive'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Total number of pages sent during this session. This field is not included if │ │ │ │ │ + Operation isn't 'send' or 'receive'. Will always be 0 for 'receive'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Total number of pages received during this session. This field is not included if │ │ │ │ │ + Operation is not 'send' or 'receive'. Will be 0 for 'send'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Total number of bad lines sent/received during this session. This field is not │ │ │ │ │ + included if Operation is not 'send' or 'received'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Responds with fax statistics │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Used to specify the channel to record. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action may be used to temporarily stop the │ │ │ │ │ - recording of a channel. │ │ │ │ │ + Provides FAX statistics including the number of active sessions, reserved sessions, completed │ │ │ │ │ + sessions, failed sessions, and the number of receive/transmit attempts. This command provides all │ │ │ │ │ + of the non-technology specific information provided by the CLI command 'fax show stats' │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Unpause monitoring of a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised in response to FAXStats manager command │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of active FAX sessions │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of reserved FAX sessions │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Total FAX sessions for which Asterisk is/was the transmitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Total FAX sessions for which Asterisk is/was the recipient │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Total FAX sessions which have been completed successfully │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Total FAX sessions which failed to complete successfully │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List the current known presence states. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Used to specify the channel to record. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action may be used to re-enable recording │ │ │ │ │ - of a channel after calling PauseMonitor. │ │ │ │ │ + │ │ │ │ │ + This will list out all known presence states in a │ │ │ │ │ + sequence of │ │ │ │ │ + PresenceStateChange │ │ │ │ │ + events. │ │ │ │ │ + When finished, a │ │ │ │ │ + PresenceStateListComplete │ │ │ │ │ + event │ │ │ │ │ + will be emitted. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + PresenceState │ │ │ │ │ + PresenceStatus │ │ │ │ │ + PRESENCE_STATE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicates the end of the list the current known extension states. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conveys the status of the event list. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conveys the number of statuses reported. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - yes │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + netsnmp │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + unbound │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + General options for res_resolver_unbound │ │ │ │ │ + │ │ │ │ │ + Full path to an optional hosts file │ │ │ │ │ + │ │ │ │ │ + Hosts specified in a hosts file will be resolved within the resolver itself. If a value │ │ │ │ │ + of system is provided the system-specific file will be used. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Full path to an optional resolv.conf file │ │ │ │ │ + │ │ │ │ │ + The resolv.conf file specifies the nameservers to contact when resolving queries. If a │ │ │ │ │ + value of system is provided the system-specific file will be used. If provided alongside explicit nameservers the │ │ │ │ │ + nameservers contained within the resolv.conf file will be used after all others. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Nameserver to use for queries │ │ │ │ │ + │ │ │ │ │ + An explicit nameserver can be specified which is used for resolving queries. If multiple │ │ │ │ │ + nameserver lines are specified the first will be the primary with failover occurring, in order, to the other │ │ │ │ │ + nameservers as backups. If provided alongside a resolv.conf file the nameservers explicitly specified will be │ │ │ │ │ + used before all others. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unbound debug level │ │ │ │ │ + │ │ │ │ │ + The debugging level for the unbound resolver. While there is no explicit range generally │ │ │ │ │ + the higher the number the more debug is output. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Trust anchor file │ │ │ │ │ + │ │ │ │ │ + Full path to a file with DS and DNSKEY records in zone file format. This file is provided │ │ │ │ │ + to unbound and is used as a source for trust anchors. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ res_pjsip_pubsub │ │ │ │ │ + res_pjsip_outbound_publish │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - iksemel │ │ │ │ │ - openssl │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Sends an XMPP message to a buddy. │ │ │ │ │ + │ │ │ │ │ + Determine if the calendar is marked busy at this time. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The local named account to listen on (specified in │ │ │ │ │ - xmpp.conf) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jabber ID of the buddy to send the message to. It can be a │ │ │ │ │ - bare JID (username@domain) or a full JID (username@domain/resource). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The message to send. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Sends the content of │ │ │ │ │ - message │ │ │ │ │ - as text message │ │ │ │ │ - from the given │ │ │ │ │ - account │ │ │ │ │ - to the buddy identified by │ │ │ │ │ - jid │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The example below sends "Hello world" to │ │ │ │ │ - bob@domain.com │ │ │ │ │ - as an XMPP message from the account │ │ │ │ │ - asterisk │ │ │ │ │ - , configured in xmpp.conf. │ │ │ │ │ - │ │ │ │ │ - same => n,JabberSend(asterisk,bob@domain.com,Hello world) │ │ │ │ │ + Check the specified calendar's current busy status. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - JABBER_STATUS │ │ │ │ │ - JABBER_RECEIVE │ │ │ │ │ + CALENDAR_EVENT │ │ │ │ │ + CALENDAR_QUERY │ │ │ │ │ + CALENDAR_QUERY_RESULT │ │ │ │ │ + CALENDAR_WRITE │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reads XMPP messages. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get calendar event notification data from a notification call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The local named account to listen on (specified in │ │ │ │ │ - xmpp.conf) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jabber ID of the buddy to receive message from. It can be a │ │ │ │ │ - bare JID (username@domain) or a full JID (username@domain/resource). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - In seconds, defaults to │ │ │ │ │ - 20 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The VEVENT SUMMARY property or Exchange event 'subject' │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The text description of the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The organizer of the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The location of the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The categories of the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The priority of the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the calendar associated with the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The unique identifier for this event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The start time of the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The end time of the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The busy state of the event 0=FREE, 1=TENTATIVE, 2=BUSY │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Receives a text message on the given │ │ │ │ │ - account │ │ │ │ │ - from the buddy identified by │ │ │ │ │ - jid │ │ │ │ │ - and returns the contents. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The example below returns an XMPP message sent from │ │ │ │ │ - bob@domain.com │ │ │ │ │ - (or nothing in case of a time out), to │ │ │ │ │ - the │ │ │ │ │ - asterisk │ │ │ │ │ - XMPP account configured in xmpp.conf. │ │ │ │ │ - │ │ │ │ │ - same => n,Set(msg=${JABBER_RECEIVE(asterisk,bob@domain.com)}) │ │ │ │ │ + Whenever a calendar event notification call is made, the event data │ │ │ │ │ + may be accessed with this function. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - JABBER_STATUS │ │ │ │ │ - JabberSend │ │ │ │ │ + CALENDAR_BUSY │ │ │ │ │ + CALENDAR_QUERY │ │ │ │ │ + CALENDAR_QUERY_RESULT │ │ │ │ │ + CALENDAR_WRITE │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Retrieves a buddy's status. │ │ │ │ │ + │ │ │ │ │ + Query a calendar server and store the data on a channel │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The local named account to listen on (specified in │ │ │ │ │ - xmpp.conf) │ │ │ │ │ + │ │ │ │ │ + The calendar that should be queried │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Jabber ID of the buddy to receive message from. It can be a │ │ │ │ │ - bare JID (username@domain) or a full JID (username@domain/resource). │ │ │ │ │ + │ │ │ │ │ + The start time of the query (in seconds since epoch) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The end time of the query (in seconds since epoch) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Retrieves the numeric status associated with the buddy identified │ │ │ │ │ - by │ │ │ │ │ - jid │ │ │ │ │ - . │ │ │ │ │ - If the buddy does not exist in the buddylist, returns 7. │ │ │ │ │ - │ │ │ │ │ - Status will be 1-7. │ │ │ │ │ - 1=Online, 2=Chatty, 3=Away, 4=XAway, 5=DND, 6=Offline │ │ │ │ │ - If not in roster variable will be set to 7. │ │ │ │ │ - │ │ │ │ │ - Example: ${JABBER_STATUS(asterisk,bob@domain.com)} returns 1 if │ │ │ │ │ - bob@domain.com │ │ │ │ │ - is online. │ │ │ │ │ - asterisk │ │ │ │ │ - is │ │ │ │ │ - the associated XMPP account configured in xmpp.conf. │ │ │ │ │ + Get a list of events in the currently accessible timeframe of the │ │ │ │ │ + calendar │ │ │ │ │ + The function returns the id for accessing the result with CALENDAR_QUERY_RESULT() │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - JABBER_RECEIVE │ │ │ │ │ - JabberSend │ │ │ │ │ + CALENDAR_BUSY │ │ │ │ │ + CALENDAR_EVENT │ │ │ │ │ + CALENDAR_QUERY_RESULT │ │ │ │ │ + CALENDAR_WRITE │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Send a Jabber Message to a specified chat room │ │ │ │ │ + │ │ │ │ │ + Retrieve data from a previously run CALENDAR_QUERY() call │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Client or transport Asterisk uses to connect to Jabber. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - XMPP/Jabber JID (Name) of chat room. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Message to be sent to the chat room. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The nickname Asterisk uses in the chat room. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Allows user to send a message to a chat room via XMPP. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - To be able to send messages to a chat room, a user must have previously joined it. Use the │ │ │ │ │ - JabberJoin │ │ │ │ │ - function to do so. │ │ │ │ │ + The query ID returned by │ │ │ │ │ + CALENDAR_QUERY │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Join a chat room │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Client or transport Asterisk uses to connect to Jabber. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - XMPP/Jabber JID (Name) of chat room. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The nickname Asterisk will use in the chat room. │ │ │ │ │ - │ │ │ │ │ - If a different nickname is supplied to an already joined room, the old nick will be changed to the new one. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Allows Asterisk to join a chat room. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Leave a chat room │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Client or transport Asterisk uses to connect to Jabber. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - XMPP/Jabber JID (Name) of chat room. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The nickname Asterisk uses in the chat room. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Allows Asterisk to leave a chat room. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve the status of a jabber list member │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Client or transport Asterisk users to connect to Jabber. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - XMPP/Jabber JID (Name) of recipient. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + number of events occurring during time range │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A summary of the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The full event description │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The event organizer │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The event location │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The categories of the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The priority of the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the calendar associted with the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The unique identifier for the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The start time of the event (in seconds since epoch) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The end time of the event (in seconds since epoch) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The busy status of the event 0=FREE, 1=TENTATIVE, 2=BUSY │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Variable to store the status of requested user. │ │ │ │ │ + │ │ │ │ │ + Return data from a specific event returned by the query │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application is deprecated. Please use the JABBER_STATUS() function instead. │ │ │ │ │ │ │ │ │ │ - Retrieves the numeric status associated with the specified buddy │ │ │ │ │ - JID │ │ │ │ │ - . │ │ │ │ │ - The return value in the │ │ │ │ │ - Variable │ │ │ │ │ - will be one of the following. │ │ │ │ │ + After running CALENDAR_QUERY and getting a result │ │ │ │ │ + id │ │ │ │ │ + , calling │ │ │ │ │ + CALENDAR_QUERY │ │ │ │ │ + with that │ │ │ │ │ + id │ │ │ │ │ + and a │ │ │ │ │ + field │ │ │ │ │ + will return the data for that field. If multiple events matched the query, and │ │ │ │ │ + entry │ │ │ │ │ + is provided, information from that event will be returned. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Online. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Chatty. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Away. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Extended Away. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Do Not Disturb. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Offline. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Not In Roster. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sends a message to a Jabber Client. │ │ │ │ │ + │ │ │ │ │ + CALENDAR_BUSY │ │ │ │ │ + CALENDAR_EVENT │ │ │ │ │ + CALENDAR_QUERY │ │ │ │ │ + CALENDAR_WRITE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Write an event to a calendar │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Client or transport Asterisk uses to connect to JABBER. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - XMPP/Jabber JID (Name) of recipient. │ │ │ │ │ + │ │ │ │ │ + The calendar to write to │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Message to be sent to the buddy. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A summary of the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The full event description │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The event organizer │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The event location │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The categories of the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The priority of the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The unique identifier for the event │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The start time of the event (in seconds since epoch) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The end time of the event (in seconds since epoch) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The busy status of the event 0=FREE, 1=TENTATIVE, 2=BUSY │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Sends a message to a Jabber Client. │ │ │ │ │ + same => n,Set(CALENDAR_WRITE(calendar,field1,field2,field3)=val1,val2,val3) │ │ │ │ │ + The field and value arguments can easily be set/passed using the HASHKEYS() and HASH() functions │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The status of the write operation to the calendar │ │ │ │ │ + The event was successfully written to the calendar. │ │ │ │ │ + The event was not written to the calendar due to network issues, permissions, etc. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specifying a prefix of │ │ │ │ │ - xmpp: │ │ │ │ │ - will send the │ │ │ │ │ - message as an XMPP chat message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specifying a prefix of │ │ │ │ │ - xmpp: │ │ │ │ │ - will specify the │ │ │ │ │ - account defined in │ │ │ │ │ - xmpp.conf │ │ │ │ │ - to send the message from. │ │ │ │ │ - Note that this field is required for XMPP messages. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Ignored │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - XMPP Messaging │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Global configuration settings │ │ │ │ │ - │ │ │ │ │ - Enable/disable XMPP message debugging │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Auto-remove users from buddy list. │ │ │ │ │ - │ │ │ │ │ - Auto-remove users from buddy list. Depending on the setup │ │ │ │ │ - (e.g., using your personal Gtalk account for a test) this could cause loss of │ │ │ │ │ - the contact list. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Auto-register users from buddy list │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enable support for XEP-0248 for use with distributed device state │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether or not the PubSub server supports/is using auto-create for nodes │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether to automatically accept or deny users' subscription requests │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configuration options for an XMPP client │ │ │ │ │ - │ │ │ │ │ - XMPP username with optional resource │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - XMPP password │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Google OAuth 2.0 refresh token │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Google OAuth 2.0 application's client id │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Google OAuth 2.0 application's secret │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Route to server, e.g. talk.google.com │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Custom status message │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Node for publishing events via PubSub │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dialplan context to send incoming messages to │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - XMPP resource priority │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - XMPP server port │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Timeout in seconds to hold incoming messages │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Timeout (in seconds) on the message stack. Messages stored longer │ │ │ │ │ - than this value will be deleted by Asterisk. This option applies to incoming messages only │ │ │ │ │ - which are intended to be processed by the │ │ │ │ │ - JABBER_RECEIVE │ │ │ │ │ - dialplan function. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enable debugging │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Connection is either a client or a component │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether or not to distribute events using this connection │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether to use TLS for the connection or not │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether to use SASL for the connection or not │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Force the use of old-style SSL for the connection │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If enabled, periodically send an XMPP message from this client with an empty message │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Auto-remove users from buddy list. │ │ │ │ │ - │ │ │ │ │ - Auto-remove users from buddy list. Depending on the setup │ │ │ │ │ - (e.g., using your personal Gtalk account for a test) this could cause loss of │ │ │ │ │ - the contact list. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Auto-register users bfrom buddy list │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether to automatically accept or deny users' subscription requests │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send incoming messages into the dialplan │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Default XMPP status for the client │ │ │ │ │ - │ │ │ │ │ - Can be one of the following XMPP statuses: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Manual addition of buddy to list │ │ │ │ │ - │ │ │ │ │ - Manual addition of buddy to the buddy list. For distributed events, these buddies are │ │ │ │ │ - automatically added in the whitelist as 'owners' of the node(s). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + CALENDAR_BUSY │ │ │ │ │ + CALENDAR_EVENT │ │ │ │ │ + CALENDAR_QUERY │ │ │ │ │ + CALENDAR_QUERY_RESULT │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ res_mwi_external │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Get selected mailboxes with message counts. │ │ │ │ │ │ │ │ │ │ @@ -28365,503 +28977,18 @@ │ │ │ │ │ to zero if missing. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Update the mailbox message counts. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send a NOTIFY to either an endpoint, an arbitrary URI, or inside a SIP dialog. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The endpoint to which to send the NOTIFY. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Abritrary URI to which to send the NOTIFY. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel name to send the NOTIFY. Must be a PJSIP channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Appends variables as headers/content to the NOTIFY. If the variable is │ │ │ │ │ - named │ │ │ │ │ - Content │ │ │ │ │ - , then the value will compose the body │ │ │ │ │ - of the message if another variable sets │ │ │ │ │ - Content-Type │ │ │ │ │ - . │ │ │ │ │ - name │ │ │ │ │ - = │ │ │ │ │ - value │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sends a NOTIFY to an endpoint, an arbitrary URI, or inside a SIP dialog. │ │ │ │ │ - │ │ │ │ │ - All parameters for this event must be specified in the body of this │ │ │ │ │ - request via multiple │ │ │ │ │ - Variable: name=value │ │ │ │ │ - sequences. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - One (and only one) of │ │ │ │ │ - Endpoint │ │ │ │ │ - , │ │ │ │ │ - URI │ │ │ │ │ - , or │ │ │ │ │ - Channel │ │ │ │ │ - must be specified. │ │ │ │ │ - If │ │ │ │ │ - URI │ │ │ │ │ - is used, the default outbound endpoint will be used │ │ │ │ │ - to send the message. If the default outbound endpoint isn't configured, this command │ │ │ │ │ - can not send to an arbitrary URI. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Module that supports sending NOTIFY requests to endpoints from external sources │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unused, but reserved. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configuration of a NOTIFY request. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Each key-value pair in a │ │ │ │ │ - notify │ │ │ │ │ - configuration section defines either a SIP header to send │ │ │ │ │ - in the request or a line of content in the request message │ │ │ │ │ - body. A key of │ │ │ │ │ - Content │ │ │ │ │ - is treated │ │ │ │ │ - as part of the message body and is appended in sequential │ │ │ │ │ - order; any other header is treated as part of the SIP │ │ │ │ │ - request. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A key/value pair to add to a NOTIFY request. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If the key is │ │ │ │ │ - Content │ │ │ │ │ - , │ │ │ │ │ - it will be treated as part of the message body. Otherwise, │ │ │ │ │ - it will be added as a header in the NOTIFY request. │ │ │ │ │ - │ │ │ │ │ - The following headers are reserved and cannot be │ │ │ │ │ - specified: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - libxml2 │ │ │ │ │ - libxslt │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Module that identifies endpoints │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Identifies endpoints via some criteria. │ │ │ │ │ - │ │ │ │ │ - This module provides alternatives to matching inbound requests to │ │ │ │ │ - a configured endpoint. At least one of the matching mechanisms │ │ │ │ │ - must be provided, or the object configuration is invalid. │ │ │ │ │ - The matching mechanisms are provided by the following │ │ │ │ │ - configuration options: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Match by source IP address. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Match by SIP header. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If multiple matching criteria are provided then an inbound │ │ │ │ │ - request will be matched to the endpoint if it matches │ │ │ │ │ - any │ │ │ │ │ - of the criteria. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Name of endpoint identified │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - IP addresses or networks to match against. │ │ │ │ │ - │ │ │ │ │ - The value is a comma-delimited list of IP addresses or │ │ │ │ │ - hostnames. │ │ │ │ │ - IP addresses may have a subnet mask appended. The subnet │ │ │ │ │ - mask may be written in either CIDR or dotted-decimal │ │ │ │ │ - notation. Separate the IP address and subnet mask with a slash │ │ │ │ │ - ('/'). A source port can also be specified by adding a colon (':') │ │ │ │ │ - after the address but before the subnet mask, e.g. │ │ │ │ │ - 3.2.1.0:5061/24. To specify a source port for an IPv6 address, the │ │ │ │ │ - address itself must be enclosed in square brackets │ │ │ │ │ - ('[2001:db8:0::1]:5060') │ │ │ │ │ - │ │ │ │ │ - When a hostname is used, the behavior depends on whether │ │ │ │ │ - srv_lookups │ │ │ │ │ - is enabled and/or a source │ │ │ │ │ - port is provided. If │ │ │ │ │ - srv_lookups │ │ │ │ │ - is │ │ │ │ │ - enabled and a source port is not provided, Asterisk will perform │ │ │ │ │ - an SRV lookup on the provided hostname, adding all of the A and │ │ │ │ │ - AAAA records that are resolved. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If the SRV lookup fails, │ │ │ │ │ - srv_lookups │ │ │ │ │ - is disabled, or a source │ │ │ │ │ - port is specified when the hostname is configured, Asterisk will │ │ │ │ │ - resolve the hostname and add all A and AAAA records that are │ │ │ │ │ - resolved. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Perform SRV lookups for provided hostnames. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When enabled, │ │ │ │ │ - srv_lookups │ │ │ │ │ - will │ │ │ │ │ - perform SRV lookups for _sip._udp, _sip._tcp, and _sips._tcp of │ │ │ │ │ - the given hostnames to determine additional addresses that traffic │ │ │ │ │ - may originate from. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Header/value pair to match against. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A SIP header whose value is used to match against. SIP │ │ │ │ │ - requests containing the header, along with the specified value, │ │ │ │ │ - will be mapped to the specified endpoint. The header must be │ │ │ │ │ - specified with a │ │ │ │ │ - : │ │ │ │ │ - , as in │ │ │ │ │ - match_header = SIPHeader: value │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The specified SIP header value can be a regular │ │ │ │ │ - expression if the value is of the form │ │ │ │ │ - / │ │ │ │ │ - regex │ │ │ │ │ - /. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Use of a regex is expensive so be sure you need │ │ │ │ │ - to use a regex to match your endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must be of type 'identify'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - generic_odbc │ │ │ │ │ - res_odbc_transaction │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_statsd │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SIP resource for outbound registrations │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Outbound Registration │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This module allows │ │ │ │ │ - res_pjsip │ │ │ │ │ - to register to other SIP servers. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The configuration for outbound registration │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Registration is │ │ │ │ │ - COMPLETELY │ │ │ │ │ - separate from the rest of │ │ │ │ │ - pjsip.conf │ │ │ │ │ - . A minimal configuration consists of │ │ │ │ │ - setting a │ │ │ │ │ - server_uri │ │ │ │ │ - and a │ │ │ │ │ - client_uri │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Determines whether failed authentication challenges are treated │ │ │ │ │ - as permanent failures. │ │ │ │ │ - │ │ │ │ │ - If this option is enabled and an authentication challenge fails, │ │ │ │ │ - registration will not be attempted again until the configuration is reloaded. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Client SIP URI used when attemping outbound registration │ │ │ │ │ - │ │ │ │ │ - This is the address-of-record for the outbound registration (i.e. the URI in │ │ │ │ │ - the To header of the REGISTER). │ │ │ │ │ - For registration with an ITSP, the client SIP URI may need to consist of │ │ │ │ │ - an account name or number and the provider's hostname for their registrar, e.g. │ │ │ │ │ - client_uri=1234567890@example.com. This may differ between providers. │ │ │ │ │ - For registration to generic registrars, the client SIP URI will depend │ │ │ │ │ - on networking specifics and configuration of the registrar. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Contact User to use in request │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Expiration time for registrations in seconds │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum number of registration attempts. │ │ │ │ │ - │ │ │ │ │ - This sets the maximum number of registration attempts that are made before │ │ │ │ │ - stopping any further attempts. If set to 0 then upon failure no further attempts │ │ │ │ │ - are made. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Authentication object(s) to be used for outbound registrations. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is a comma-delimited list of │ │ │ │ │ - auth │ │ │ │ │ - sections defined in │ │ │ │ │ - pjsip.conf │ │ │ │ │ - used to respond │ │ │ │ │ - to outbound authentication challenges. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Using the same auth section for inbound and outbound │ │ │ │ │ - authentication is not recommended. There is a difference in │ │ │ │ │ - meaning for an empty realm setting between inbound and outbound │ │ │ │ │ - authentication uses. See the auth realm description for details. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Full SIP URI of the outbound proxy used to send registrations │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum interval in seconds for which an initial registration may be randomly delayed │ │ │ │ │ - │ │ │ │ │ - By default, registrations are randomly delayed by a small amount to prevent │ │ │ │ │ - too many registrations from being made simultaneously. │ │ │ │ │ - Depending on your system usage, it may be desirable to set this to a smaller │ │ │ │ │ - or larger value to have fine grained control over the size of this random delay. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Interval in seconds between retries if outbound registration is unsuccessful │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Interval used when receiving a 403 Forbidden response. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If a 403 Forbidden is received, chan_pjsip will wait │ │ │ │ │ - forbidden_retry_interval │ │ │ │ │ - seconds before │ │ │ │ │ - attempting registration again. If 0 is specified, chan_pjsip will not │ │ │ │ │ - retry after receiving a 403 Forbidden response. Setting this to a non-zero │ │ │ │ │ - value goes against a "SHOULD NOT" in RFC3261, but can be used to work around │ │ │ │ │ - buggy registrars. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Interval used when receiving a Fatal response. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If a fatal response is received, chan_pjsip will wait │ │ │ │ │ - fatal_retry_interval │ │ │ │ │ - seconds before │ │ │ │ │ - attempting registration again. If 0 is specified, chan_pjsip will not │ │ │ │ │ - retry after receiving a fatal (non-temporary 4xx, 5xx, 6xx) response. │ │ │ │ │ - Setting this to a non-zero value may go against a "SHOULD NOT" in RFC3261, │ │ │ │ │ - but can be used to work around buggy registrars. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - if also set the │ │ │ │ │ - forbidden_retry_interval │ │ │ │ │ - takes precedence over this one when a 403 is received. │ │ │ │ │ - Also, if │ │ │ │ │ - auth_rejection_permanent │ │ │ │ │ - equals 'yes' then │ │ │ │ │ - a 401 and 407 become subject to this retry interval. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SIP URI of the server to register against │ │ │ │ │ - │ │ │ │ │ - This is the URI at which to find the registrar to send the outbound REGISTER. This URI │ │ │ │ │ - is used as the request URI of the outbound REGISTER request from Asterisk. │ │ │ │ │ - For registration with an ITSP, the setting may often be just the domain of │ │ │ │ │ - the registrar, e.g. sip:sip.example.com. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transport used for outbound authentication │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A │ │ │ │ │ - transport │ │ │ │ │ - configured in │ │ │ │ │ - pjsip.conf │ │ │ │ │ - . As with other │ │ │ │ │ - res_pjsip │ │ │ │ │ - modules, this will use the first available transport of the appropriate type if unconfigured. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether to add a 'line' parameter to the Contact for inbound call matching │ │ │ │ │ - │ │ │ │ │ - When enabled this option will cause a 'line' parameter to be added to the Contact │ │ │ │ │ - header placed into the outgoing registration request. If the remote server sends a call │ │ │ │ │ - this line parameter will be used to establish a relationship to the outbound registration, │ │ │ │ │ - ultimately causing the configured endpoint to be used. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Endpoint to use for incoming related calls │ │ │ │ │ - │ │ │ │ │ - When line support is enabled this configured endpoint name is used for incoming calls │ │ │ │ │ - that are related to the outbound registration. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must be of type 'registration'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enables Path support for outbound REGISTER requests. │ │ │ │ │ - │ │ │ │ │ - When this option is enabled, outbound REGISTER requests will advertise │ │ │ │ │ - support for Path headers so that intervening proxies can add to the Path │ │ │ │ │ - header as necessary. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unregister an outbound registration. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound registration to unregister or '*all' to unregister them all. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unregisters the specified (or all) outbound registration(s) and stops future registration attempts. │ │ │ │ │ - Call PJSIPRegister to start registration and schedule re-registrations according to configuration. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Register an outbound registration. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The outbound registration to register or '*all' to register them all. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unregisters the specified (or all) outbound registration(s) then starts registration and schedules re-registrations │ │ │ │ │ - according to configuration. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Lists PJSIP outbound registrations. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - In response │ │ │ │ │ - OutboundRegistrationDetail │ │ │ │ │ - events showing configuration and status │ │ │ │ │ - information are raised for each outbound registration object. │ │ │ │ │ - AuthDetail │ │ │ │ │ - events are raised for each associated auth object as well. Once all events are completed an │ │ │ │ │ - OutboundRegistrationDetailComplete │ │ │ │ │ - is issued. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get the channel name of an occupied parking space in a parking lot. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function returns the channel of the specified parking space │ │ │ │ │ - if the parking lot space is occupied. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ Park yourself. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Specify in which parking lot to park a call. │ │ │ │ │ The parking lot used is selected in the following order: │ │ │ │ │ 1) parking_lot_name option to this application │ │ │ │ │ @@ -29103,14 +29230,25 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Park │ │ │ │ │ ParkedCall │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Get the channel name of an occupied parking space in a parking lot. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function returns the channel of the specified parking space │ │ │ │ │ + if the parking lot space is occupied. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ Get a list of parking lots │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ List all parking lots as a series of AMI events │ │ │ │ │ @@ -29242,748 +29380,420 @@ │ │ │ │ │ This event is raised when a channel initially parked in the parking lot │ │ │ │ │ is swapped out with a different channel. The most common case for this is when │ │ │ │ │ an attended transfer to a parking lot occurs. The Parkee information in the event │ │ │ │ │ will indicate the party that was swapped into the parking lot. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pgsql │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - srtp │ │ │ │ │ - openssl │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Lists PJSIP inbound registrations. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - In response, │ │ │ │ │ - InboundRegistrationDetail │ │ │ │ │ - events showing configuration │ │ │ │ │ - and status information are raised for all contacts, static or dynamic. Once all events │ │ │ │ │ - are completed an │ │ │ │ │ - InboundRegistrationDetailComplete │ │ │ │ │ - is issued. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This command just dumps all coonfigured AORs with contacts, even if the contact │ │ │ │ │ - is a permanent one. To really get just inbound registrations, use │ │ │ │ │ - PJSIPShowRegistrationInboundContactStatuses │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PJSIPShowRegistrationInboundContactStatuses │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Lists ContactStatuses for PJSIP inbound registrations. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - In response, │ │ │ │ │ - ContactStatusDetail │ │ │ │ │ - events showing status information │ │ │ │ │ - are raised for each inbound registration (dynamic contact) object. Once all events │ │ │ │ │ - are completed a │ │ │ │ │ - ContactStatusDetailComplete │ │ │ │ │ - event is issued. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Muting audio streams in the channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must be one of │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Inbound stream (to the PBX) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Outbound stream (from the PBX) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Both streams │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The MUTEAUDIO function can be used to mute inbound (to the PBX) or outbound audio in a call. │ │ │ │ │ - exten => s,1,Set(MUTEAUDIO(in)=on) │ │ │ │ │ - exten => s,1,Set(MUTEAUDIO(in)=off) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Mute an audio stream. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel you want to mute. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set muting on inbound audio stream. (to the PBX) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set muting on outbound audio stream. (from the PBX) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set muting on inbound and outbound audio streams. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Turn muting on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Turn muting off. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Mute an incoming or outgoing audio stream on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_geolocation │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ res_pjsip_session │ │ │ │ │ - chan_pjsip │ │ │ │ │ - libxml2 │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Wait for tone │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Frequency of the tone to wait for. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Minimum duration of tone, in ms. Default is 500ms. │ │ │ │ │ - Using a minimum duration under 50ms is unlikely to produce │ │ │ │ │ - accurate results. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum amount of time, in seconds, to wait for specified tone. │ │ │ │ │ - Default is forever. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of times the tone should be detected (subject to the │ │ │ │ │ - provided timeout) before returning. Default is 1. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Waits for a single-frequency tone to be detected before dialplan execution continues. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This indicates the result of the wait. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PlayTones │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.23.0 │ │ │ │ │ - 18.9.0 │ │ │ │ │ - 19.1.0 │ │ │ │ │ - │ │ │ │ │ - Wait for period of time while scanning for call progress tones │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Call progress zone. Default is the system default. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum amount of time, in seconds, to wait for call progress │ │ │ │ │ - or signal tones. Default is forever. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - DSP threshold required for a match. A higher number will │ │ │ │ │ - require a longer match and may reduce false positives, at the │ │ │ │ │ - expense of false negatives. Default is 1. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Waits for a a distinguishable call progress tone and then exits. │ │ │ │ │ - Unlike a conventional scanner, this is not currently capable of │ │ │ │ │ - scanning for modem carriers. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This indicates the result of the scan. │ │ │ │ │ - Audible ringback tone │ │ │ │ │ - Busy tone │ │ │ │ │ - Special Information Tones │ │ │ │ │ - Human voice detected │ │ │ │ │ - DTMF digit │ │ │ │ │ - Fax (answering) │ │ │ │ │ - Modem (answering) │ │ │ │ │ - Dial tone │ │ │ │ │ - UK Number Unobtainable tone │ │ │ │ │ - Timeout reached before any positive detection │ │ │ │ │ - Caller hung up before any positive detection │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - WaitForTone │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Asynchronously detects a tone │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Frequency of the tone to detect. To disable frequency │ │ │ │ │ - detection completely (e.g. for signal detection only), │ │ │ │ │ - specify 0 for the frequency. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Minimum duration of tone, in ms. Default is 500ms. │ │ │ │ │ - Using a minimum duration under 50ms is unlikely to produce │ │ │ │ │ - accurate results. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The TONE_DETECT function detects a single-frequency tone and keeps │ │ │ │ │ - track of how many times the tone has been detected. │ │ │ │ │ - │ │ │ │ │ - When reading this function (instead of writing), supply │ │ │ │ │ - tx │ │ │ │ │ - to get the number of times a tone has been detected in the TX direction and │ │ │ │ │ - rx │ │ │ │ │ - to get the number of times a tone has been detected in the │ │ │ │ │ - RX direction. │ │ │ │ │ - │ │ │ │ │ - same => n,Set(TONE_DETECT(2600,1000,g(got-2600,s,1))=) ; detect 2600 Hz │ │ │ │ │ - same => n,Wait(15) │ │ │ │ │ - same => n,NoOp(${TONE_DETECT(rx)}) │ │ │ │ │ - same => n,Set(TONE_DETECT(0,,bg(my-hangup,s,1))=) ; disconnect a call if we hear a busy signal │ │ │ │ │ - same => n,Goto(somewhere-else) │ │ │ │ │ - same => n(myhangup),Hangup() │ │ │ │ │ - same => n,Set(TONE_DETECT(0,,x)=) ; remove the detector from the channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - openssl │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + destination │ │ │ │ │ + parameter is used to construct │ │ │ │ │ + the Request URI for an outgoing message. It can be in one of the following │ │ │ │ │ + formats, all prefixed with the │ │ │ │ │ + pjsip: │ │ │ │ │ + message tech. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Request URI comes from the endpoint's default aor and contact. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Request URI comes from the specific aor/contact. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Request URI from the endpoint's default aor and contact. The domain is discarded. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + These all use the endpoint to send the message with the specified URI: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + These all use the default endpoint to send the message with the specified URI: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + These use the default endpoint to send the message with the specified host: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This form is similar to a dialstring: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + You still need to prefix the destination with │ │ │ │ │ + the │ │ │ │ │ + pjsip: │ │ │ │ │ + message technology prefix. For example: │ │ │ │ │ + pjsip:PJSIP/8005551212@myprovider │ │ │ │ │ + . │ │ │ │ │ + The endpoint contact's URI will have the │ │ │ │ │ + user │ │ │ │ │ + inserted │ │ │ │ │ + into it and will become the Request URI. If the contact URI already has │ │ │ │ │ + a user specified, it will be replaced. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + from │ │ │ │ │ + parameter is used to specity the │ │ │ │ │ + From: │ │ │ │ │ + header in the outgoing SIP MESSAGE. It will override the value specified in │ │ │ │ │ + MESSAGE(from) which itself will override any │ │ │ │ │ + from │ │ │ │ │ + value from │ │ │ │ │ + an incoming SIP MESSAGE. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + to │ │ │ │ │ + parameter is used to specity the │ │ │ │ │ + To: │ │ │ │ │ + header in the outgoing SIP MESSAGE. It will override the value specified in │ │ │ │ │ + MESSAGE(to) which itself will override any │ │ │ │ │ + to │ │ │ │ │ + value from │ │ │ │ │ + an incoming SIP MESSAGE. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + dahdi │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ + │ │ │ │ │ res_stasis │ │ │ │ │ - res_stasis_playback │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ + res_stasis_recording │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - crypto │ │ │ │ │ - curl │ │ │ │ │ - res_curl │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - STIR/SHAKEN module for Asterisk │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Resource for integration with Homer using HEPv3 │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - STIR/SHAKEN general options │ │ │ │ │ - │ │ │ │ │ - Must be of type 'general'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - File path to the certificate authority certificate │ │ │ │ │ + General settings. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + general │ │ │ │ │ + settings section contains information │ │ │ │ │ + to configure Asterisk as a Homer capture agent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Enable or disable packet capturing. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - File path to a chain of trust │ │ │ │ │ + │ │ │ │ │ + The preferred type of UUID to pass to Homer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Use the PJSIP Call-Id │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Use the Asterisk channel name │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Maximum size to use for caching public keys │ │ │ │ │ + │ │ │ │ │ + The address and port of the Homer server to send packets to. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Maximum time to wait to CURL certificates │ │ │ │ │ + │ │ │ │ │ + If set, the authentication password to send to Homer. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Amount of time a signature is valid for │ │ │ │ │ + │ │ │ │ │ + The ID for this capture agent. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - STIR/SHAKEN certificate store options │ │ │ │ │ - │ │ │ │ │ - Must be of type 'store'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Path to a directory containing certificates │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + corosync │ │ │ │ │ + no │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SIP resource for outbound publish │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Outbound Publish │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This module allows │ │ │ │ │ + res_pjsip │ │ │ │ │ + to publish to other SIP servers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The configuration for outbound publish │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Publish is │ │ │ │ │ + COMPLETELY │ │ │ │ │ + separate from the rest of │ │ │ │ │ + pjsip.conf │ │ │ │ │ + . A minimal configuration consists of │ │ │ │ │ + setting a │ │ │ │ │ + server_uri │ │ │ │ │ + and │ │ │ │ │ + event │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Expiration time for publications in seconds │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - URL to the public certificate(s) │ │ │ │ │ + │ │ │ │ │ + Authentication object(s) to be used for outbound publishes. │ │ │ │ │ │ │ │ │ │ - Must be a valid http, or https, URL. The URL must also contain the ${CERTIFICATE} variable, which is used for public key name substitution. │ │ │ │ │ - For example: http://mycompany.com/${CERTIFICATE}.pub │ │ │ │ │ + │ │ │ │ │ + This is a comma-delimited list of │ │ │ │ │ + auth │ │ │ │ │ + sections defined in │ │ │ │ │ + pjsip.conf │ │ │ │ │ + used to respond │ │ │ │ │ + to outbound authentication challenges. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Using the same auth section for inbound and outbound │ │ │ │ │ + authentication is not recommended. There is a difference in │ │ │ │ │ + meaning for an empty realm setting between inbound and outbound │ │ │ │ │ + authentication uses. See the auth realm description for details. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - STIR/SHAKEN certificate options │ │ │ │ │ - │ │ │ │ │ - Must be of type 'certificate'. │ │ │ │ │ + │ │ │ │ │ + Full SIP URI of the outbound proxy used to send publishes │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - File path to a certificate │ │ │ │ │ + │ │ │ │ │ + SIP URI of the server and entity to publish to │ │ │ │ │ + │ │ │ │ │ + This is the URI at which to find the entity and server to send the outbound PUBLISH to. │ │ │ │ │ + This URI is used as the request URI of the outbound PUBLISH request from Asterisk. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - URL to the public certificate │ │ │ │ │ + │ │ │ │ │ + SIP URI to use in the From header │ │ │ │ │ │ │ │ │ │ - Must be a valid http, or https, URL. │ │ │ │ │ + │ │ │ │ │ + This is the URI that will be placed into the From header of outgoing PUBLISH │ │ │ │ │ + messages. If no URI is specified then the URI provided in │ │ │ │ │ + server_uri │ │ │ │ │ + will be used. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Attestation level │ │ │ │ │ + │ │ │ │ │ + SIP URI to use in the To header │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the URI that will be placed into the To header of outgoing PUBLISH │ │ │ │ │ + messages. If no URI is specified then the URI provided in │ │ │ │ │ + server_uri │ │ │ │ │ + will be used. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The caller ID number to match on. │ │ │ │ │ + │ │ │ │ │ + Event type of the PUBLISH. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - STIR/SHAKEN profile configuration options │ │ │ │ │ - │ │ │ │ │ - Must be of type 'profile'. │ │ │ │ │ + │ │ │ │ │ + Maximum number of authentication attempts before stopping the publication. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - STIR/SHAKEN configuration settings │ │ │ │ │ + │ │ │ │ │ + Transport used for outbound publish │ │ │ │ │ │ │ │ │ │ - Attest, verify, or do both STIR/SHAKEN operations. On incoming │ │ │ │ │ - INVITEs, the Identity header will be checked for validity. On │ │ │ │ │ - outgoing INVITEs, an Identity header will be added. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A │ │ │ │ │ + transport │ │ │ │ │ + configured in │ │ │ │ │ + pjsip.conf │ │ │ │ │ + . As with other │ │ │ │ │ + res_pjsip │ │ │ │ │ + modules, this will use the first available transport of the appropriate type if unconfigured. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - An existing ACL from acl.conf to use │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - An IP or subnet to permit │ │ │ │ │ + │ │ │ │ │ + Enable multi-user support │ │ │ │ │ + │ │ │ │ │ + When enabled the user portion of the server uri is replaced by a dynamically created user │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - An IP or subnet to deny │ │ │ │ │ + │ │ │ │ │ + Must be of type 'outbound-publish'. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gets the number of STIR/SHAKEN results or a specific STIR/SHAKEN value from a result on the channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The index of the STIR/SHAKEN result to get. If only 'count' is passed in, gets the number of STIR/SHAKEN results instead. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The value to get from the STIR/SHAKEN result. Only used when an index is passed in (instead of 'count'). Allowable values: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function will either return the number of STIR/SHAKEN identities, or return information on the specified identity. │ │ │ │ │ - To get the number of identities, just pass 'count' as the only parameter to the function. If you want to get information on a │ │ │ │ │ - specific STIR/SHAKEN identity, you can get the number of identities and then pass an index as the first parameter and one of │ │ │ │ │ - the values you would like to retrieve as the second parameter. │ │ │ │ │ - same => n,NoOp(Number of STIR/SHAKEN identities: ${STIR_SHAKEN(count)}) │ │ │ │ │ - same => n,NoOp(Identity ${STIR_SHAKEN(0, identity)} has attestation level ${STIR_SHAKEN(0, attestation)}) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_calendar │ │ │ │ │ + neon │ │ │ │ │ + ical │ │ │ │ │ + iksemel │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Determine if the calendar is marked busy at this time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check the specified calendar's current busy status. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CALENDAR_EVENT │ │ │ │ │ - CALENDAR_QUERY │ │ │ │ │ - CALENDAR_QUERY_RESULT │ │ │ │ │ - CALENDAR_WRITE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get calendar event notification data from a notification call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The VEVENT SUMMARY property or Exchange event 'subject' │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The text description of the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The organizer of the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The location of the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The categories of the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The priority of the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the calendar associated with the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The unique identifier for this event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The start time of the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The end time of the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The busy state of the event 0=FREE, 1=TENTATIVE, 2=BUSY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whenever a calendar event notification call is made, the event data │ │ │ │ │ - may be accessed with this function. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CALENDAR_BUSY │ │ │ │ │ - CALENDAR_QUERY │ │ │ │ │ - CALENDAR_QUERY_RESULT │ │ │ │ │ - CALENDAR_WRITE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Query a calendar server and store the data on a channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The calendar that should be queried │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The start time of the query (in seconds since epoch) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The end time of the query (in seconds since epoch) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get a list of events in the currently accessible timeframe of the │ │ │ │ │ - calendar │ │ │ │ │ - The function returns the id for accessing the result with CALENDAR_QUERY_RESULT() │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CALENDAR_BUSY │ │ │ │ │ - CALENDAR_EVENT │ │ │ │ │ - CALENDAR_QUERY_RESULT │ │ │ │ │ - CALENDAR_WRITE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve data from a previously run CALENDAR_QUERY() call │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The query ID returned by │ │ │ │ │ - CALENDAR_QUERY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - number of events occurring during time range │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A summary of the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The full event description │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The event organizer │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The event location │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The categories of the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The priority of the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the calendar associted with the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The unique identifier for the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The start time of the event (in seconds since epoch) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The end time of the event (in seconds since epoch) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The busy status of the event 0=FREE, 1=TENTATIVE, 2=BUSY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Return data from a specific event returned by the query │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - After running CALENDAR_QUERY and getting a result │ │ │ │ │ - id │ │ │ │ │ - , calling │ │ │ │ │ - CALENDAR_QUERY │ │ │ │ │ - with that │ │ │ │ │ - id │ │ │ │ │ - and a │ │ │ │ │ - field │ │ │ │ │ - will return the data for that field. If multiple events matched the query, and │ │ │ │ │ - entry │ │ │ │ │ - is provided, information from that event will be returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CALENDAR_BUSY │ │ │ │ │ - CALENDAR_EVENT │ │ │ │ │ - CALENDAR_QUERY │ │ │ │ │ - CALENDAR_WRITE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Write an event to a calendar │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The calendar to write to │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A summary of the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The full event description │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The event organizer │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The event location │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The categories of the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The priority of the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The unique identifier for the event │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The start time of the event (in seconds since epoch) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The end time of the event (in seconds since epoch) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The busy status of the event 0=FREE, 1=TENTATIVE, 2=BUSY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - same => n,Set(CALENDAR_WRITE(calendar,field1,field2,field3)=val1,val2,val3) │ │ │ │ │ - The field and value arguments can easily be set/passed using the HASHKEYS() and HASH() functions │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The status of the write operation to the calendar │ │ │ │ │ - The event was successfully written to the calendar. │ │ │ │ │ - The event was not written to the calendar due to network issues, permissions, etc. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CALENDAR_BUSY │ │ │ │ │ - CALENDAR_EVENT │ │ │ │ │ - CALENDAR_QUERY │ │ │ │ │ - CALENDAR_QUERY_RESULT │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + generic_odbc │ │ │ │ │ + res_odbc_transaction │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ + res_stasis_recording │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ldap │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + srtp │ │ │ │ │ + openssl │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ + extended │ │ │ │ │ + 19 │ │ │ │ │ + 21 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - extended │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_calendar │ │ │ │ │ - neon │ │ │ │ │ - ical │ │ │ │ │ - libxml2 │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ sqlite │ │ │ │ │ deprecated │ │ │ │ │ 16 │ │ │ │ │ 19 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + res_stir_shaken │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_stasis │ │ │ │ │ + res_mwi_external │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + res_calendar │ │ │ │ │ + neon │ │ │ │ │ + ical │ │ │ │ │ + libxml2 │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_calendar │ │ │ │ │ + neon │ │ │ │ │ + ical │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Lists subscriptions. │ │ │ │ │ @@ -30180,506 +29990,840 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Must be of type 'inbound-publication'. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - corosync │ │ │ │ │ - no │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + deprecated │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + gmime │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_outbound_publish │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Expire (remove) an object from a sorcery memory cache. │ │ │ │ │ + │ │ │ │ │ + SIP resource for inbound and outbound Asterisk event publications │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Inbound and outbound Asterisk event publication │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This module allows │ │ │ │ │ + res_pjsip │ │ │ │ │ + to send and receive Asterisk event publications. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The configuration for inbound Asterisk event publication │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Publish is │ │ │ │ │ + COMPLETELY │ │ │ │ │ + separate from the rest of │ │ │ │ │ + pjsip.conf │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Optional name of a publish item that can be used to publish a request for full device state information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Optional name of a publish item that can be used to publish a request for full mailbox state information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether we should permit incoming device state events. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Optional regular expression used to filter what devices we accept events for. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether we should permit incoming mailbox state events. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Optional regular expression used to filter what mailboxes we accept events for. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Must be of type 'asterisk-publication'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve an SMDI message. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the cache to expire the object from. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Instead of searching on the forwarding station, search on the message desk terminal. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Instead of searching on the forwarding station, search on the message desk number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the object to expire. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function is used to retrieve an incoming SMDI message. It returns │ │ │ │ │ + an ID which can be used with the SMDI_MSG() function to access details of │ │ │ │ │ + the message. Note that this is a destructive function in the sense that │ │ │ │ │ + once an SMDI message is retrieved using this function, it is no longer in │ │ │ │ │ + the global SMDI message queue, and can not be accessed by any other Asterisk │ │ │ │ │ + channels. The timeout for this function is optional, and the default is │ │ │ │ │ + 3 seconds. When providing a timeout, it should be in milliseconds. │ │ │ │ │ + The default search is done on the forwarding station ID. However, if │ │ │ │ │ + you set one of the search key options in the options field, you can change │ │ │ │ │ + this behavior. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SMDI_MSG │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve details about an SMDI message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Valid message components are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The message desk number │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The message desk terminal │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The forwarding station │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The callerID of the calling party that was forwarded │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The call type. The value here is the exact character │ │ │ │ │ + that came in on the SMDI link. Typically, example values │ │ │ │ │ + are: │ │ │ │ │ + Options: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Direct Calls │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Forward All Calls │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Forward Busy Calls │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Forward No Answer Calls │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Expires (removes) an object from a sorcery memory cache. If full backend caching is enabled │ │ │ │ │ - this action is not available and will fail. In this case the SorceryMemoryCachePopulate or │ │ │ │ │ - SorceryMemoryCacheExpire AMI actions must be used instead. │ │ │ │ │ + This function is used to access details of an SMDI message that was │ │ │ │ │ + pulled from the incoming SMDI message queue using the SMDI_MSG_RETRIEVE() │ │ │ │ │ + function. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Expire (remove) ALL objects from a sorcery memory cache. │ │ │ │ │ + │ │ │ │ │ + SMDI_MSG_RETRIEVE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ + res_stasis_answer │ │ │ │ │ + res_stasis_playback │ │ │ │ │ + res_stasis_recording │ │ │ │ │ + res_stasis_snoop │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + func_periodic_hook │ │ │ │ │ + deprecated │ │ │ │ │ + app_mixmonitor │ │ │ │ │ + 16 │ │ │ │ │ + 21 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Monitor a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the cache to expire all objects from. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Optional. If not set, defaults to │ │ │ │ │ + wav │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set, changes the filename used to the one specified. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Expires (removes) ALL objects from a sorcery memory cache. │ │ │ │ │ + Used to start monitoring a channel. The channel's input and output │ │ │ │ │ + voice packets are logged to files until the channel hangs up or │ │ │ │ │ + monitoring is stopped by the StopMonitor application. │ │ │ │ │ + │ │ │ │ │ + By default, files are stored to │ │ │ │ │ + /var/spool/asterisk/monitor/ │ │ │ │ │ + . │ │ │ │ │ + Returns │ │ │ │ │ + -1 │ │ │ │ │ + if monitor files can't be opened or if the channel is │ │ │ │ │ + already monitored, otherwise │ │ │ │ │ + 0 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Mark an object in a sorcery memory cache as stale. │ │ │ │ │ + │ │ │ │ │ + StopMonitor │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stop monitoring a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stops monitoring a channel. Has no effect if the channel is not monitored. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Change monitoring filename of a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The new filename base to use for monitoring this channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Changes monitoring filename of a channel. Has no effect if the │ │ │ │ │ + channel is not monitored. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Pause monitoring of a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Pauses monitoring of a channel until it is re-enabled by a call to UnpauseMonitor. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + UnpauseMonitor │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unpause monitoring of a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unpauses monitoring of a channel on which monitoring had │ │ │ │ │ + previously been paused with PauseMonitor. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PauseMonitor │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Monitor a channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the cache to mark the object as stale in. │ │ │ │ │ + │ │ │ │ │ + Used to specify the channel to record. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the object to mark as stale. │ │ │ │ │ + │ │ │ │ │ + Is the name of the file created in the monitor spool directory. │ │ │ │ │ + Defaults to the same name as the channel (with slashes replaced with dashes). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If true, then immediately reload the object from the backend cache instead of waiting for the next retrieval │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is the audio recording format. Defaults to │ │ │ │ │ + wav │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Boolean parameter as to whether to mix the input and output channels │ │ │ │ │ + together after the recording is finished. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Marks an object as stale within a sorcery memory cache. │ │ │ │ │ + This action may be used to record the audio on a │ │ │ │ │ + specified channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Marks ALL objects in a sorcery memory cache as stale. │ │ │ │ │ + │ │ │ │ │ + Stop monitoring a channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the cache to mark all object as stale in. │ │ │ │ │ + │ │ │ │ │ + The name of the channel monitored. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Marks ALL objects in a sorcery memory cache as stale. │ │ │ │ │ + This action may be used to end a previously started 'Monitor' action. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Expire all objects from a memory cache and populate it with all objects from the backend. │ │ │ │ │ + │ │ │ │ │ + Change monitoring filename of a channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the cache to populate. │ │ │ │ │ + │ │ │ │ │ + Used to specify the channel to record. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is the new name of the file created in the │ │ │ │ │ + monitor spool directory. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Expires all objects from a memory cache and populate it with all objects from the backend. │ │ │ │ │ + This action may be used to change the file │ │ │ │ │ + started by a previous 'Monitor' action. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - no │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Core external MWI support │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Persistent cache of external MWI Mailboxs. │ │ │ │ │ - │ │ │ │ │ - Allows the alteration of sorcery backend mapping for │ │ │ │ │ - the persistent cache of external MWI mailboxes. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - win32 │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play Music On Hold indefinitely. │ │ │ │ │ + │ │ │ │ │ + Pause monitoring of a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Used to specify the channel to record. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Plays hold music specified by class. If omitted, the default music │ │ │ │ │ - source for the channel will be used. Change the default class with │ │ │ │ │ - Set(CHANNEL(musicclass)=...). If duration is given, hold music will be played │ │ │ │ │ - specified number of seconds. If duration is omitted, music plays indefinitely. │ │ │ │ │ - Returns │ │ │ │ │ - 0 │ │ │ │ │ - when done, │ │ │ │ │ - -1 │ │ │ │ │ - on hangup. │ │ │ │ │ - │ │ │ │ │ - This application does not automatically answer and should be preceeded by │ │ │ │ │ - an application such as Answer() or Progress(). │ │ │ │ │ + This action may be used to temporarily stop the │ │ │ │ │ + recording of a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play Music On Hold. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unpause monitoring of a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Used to specify the channel to record. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Starts playing music on hold, uses default music class for channel. │ │ │ │ │ - Starts playing music specified by class. If omitted, the default music │ │ │ │ │ - source for the channel will be used. Always returns │ │ │ │ │ - 0 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stop playing Music On Hold. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stops playing music on hold. │ │ │ │ │ + This action may be used to re-enable recording │ │ │ │ │ + of a channel after calling PauseMonitor. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_odbc │ │ │ │ │ - generic_odbc │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ curl │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + List the current known device states. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This will list out all known device states in a │ │ │ │ │ + sequence of │ │ │ │ │ + DeviceStateChange │ │ │ │ │ + events. │ │ │ │ │ + When finished, a │ │ │ │ │ + DeviceStateListComplete │ │ │ │ │ + event │ │ │ │ │ + will be emitted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + DeviceStateChange │ │ │ │ │ + DEVICE_STATE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicates the end of the list the current known extension states. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conveys the status of the event list. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conveys the number of statuses reported. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ res_ari │ │ │ │ │ res_ari_model │ │ │ │ │ res_stasis │ │ │ │ │ res_http_websocket │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ + │ │ │ │ │ + spandsp │ │ │ │ │ + res_fax │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pgsql │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_calendar │ │ │ │ │ + neon29 │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + curl │ │ │ │ │ + res_curl │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - StatsD client │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.21.0 │ │ │ │ │ + 18.7.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Wait for tone │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Frequency of the tone to wait for. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Minimum duration of tone, in ms. Default is 500ms. │ │ │ │ │ + Using a minimum duration under 50ms is unlikely to produce │ │ │ │ │ + accurate results. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum amount of time, in seconds, to wait for specified tone. │ │ │ │ │ + Default is forever. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of times the tone should be detected (subject to the │ │ │ │ │ + provided timeout) before returning. Default is 1. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + Waits for a single-frequency tone to be detected before dialplan execution continues. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This indicates the result of the wait. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PlayTones │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.23.0 │ │ │ │ │ + 18.9.0 │ │ │ │ │ + 19.1.0 │ │ │ │ │ + │ │ │ │ │ + Wait for period of time while scanning for call progress tones │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Call progress zone. Default is the system default. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum amount of time, in seconds, to wait for call progress │ │ │ │ │ + or signal tones. Default is forever. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + DSP threshold required for a match. A higher number will │ │ │ │ │ + require a longer match and may reduce false positives, at the │ │ │ │ │ + expense of false negatives. Default is 1. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Waits for a a distinguishable call progress tone and then exits. │ │ │ │ │ + Unlike a conventional scanner, this is not currently capable of │ │ │ │ │ + scanning for modem carriers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This indicates the result of the scan. │ │ │ │ │ + Audible ringback tone │ │ │ │ │ + Busy tone │ │ │ │ │ + Special Information Tones │ │ │ │ │ + Human voice detected │ │ │ │ │ + DTMF digit │ │ │ │ │ + Fax (answering) │ │ │ │ │ + Modem (answering) │ │ │ │ │ + Dial tone │ │ │ │ │ + UK Number Unobtainable tone │ │ │ │ │ + Timeout reached before any positive detection │ │ │ │ │ + Caller hung up before any positive detection │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + WaitForTone │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.21.0 │ │ │ │ │ + 18.7.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Asynchronously detects a tone │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Frequency of the tone to detect. To disable frequency │ │ │ │ │ + detection completely (e.g. for signal detection only), │ │ │ │ │ + specify 0 for the frequency. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Minimum duration of tone, in ms. Default is 500ms. │ │ │ │ │ + Using a minimum duration under 50ms is unlikely to produce │ │ │ │ │ + accurate results. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The TONE_DETECT function detects a single-frequency tone and keeps │ │ │ │ │ + track of how many times the tone has been detected. │ │ │ │ │ │ │ │ │ │ - The │ │ │ │ │ - res_statsd │ │ │ │ │ - module provides an API that │ │ │ │ │ - allows Asterisk and its modules to send statistics to a StatsD │ │ │ │ │ - server. It only provides a means to communicate with a StatsD server │ │ │ │ │ - and does not send any metrics of its own. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - An example module, │ │ │ │ │ - res_chan_stats │ │ │ │ │ - , is │ │ │ │ │ - provided which uses the API exposed by this module to send channel │ │ │ │ │ - statistics to the configured StatsD server. │ │ │ │ │ + When reading this function (instead of writing), supply │ │ │ │ │ + tx │ │ │ │ │ + to get the number of times a tone has been detected in the TX direction and │ │ │ │ │ + rx │ │ │ │ │ + to get the number of times a tone has been detected in the │ │ │ │ │ + RX direction. │ │ │ │ │ │ │ │ │ │ - More information about StatsD can be found at │ │ │ │ │ - https://github.com/statsd/statsd │ │ │ │ │ + same => n,Set(TONE_DETECT(2600,1000,g(got-2600,s,1))=) ; detect 2600 Hz │ │ │ │ │ + same => n,Wait(15) │ │ │ │ │ + same => n,NoOp(${TONE_DETECT(rx)}) │ │ │ │ │ + same => n,Set(TONE_DETECT(0,,bg(my-hangup,s,1))=) ; disconnect a call if we hear a busy signal │ │ │ │ │ + same => n,Goto(somewhere-else) │ │ │ │ │ + same => n(myhangup),Hangup() │ │ │ │ │ + same => n,Set(TONE_DETECT(0,,x)=) ; remove the detector from the channel │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Global configuration settings │ │ │ │ │ - │ │ │ │ │ - Enable/disable the StatsD module │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Address of the StatsD server │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Prefix to prepend to every metric │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Append a newline to every event. This is useful if │ │ │ │ │ - you want to fake out a server using netcat │ │ │ │ │ - (nc -lu 8125) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enable/disable the non-standard StatsD Meter type, │ │ │ │ │ - if disabled falls back to counter and will append a "_meter" suffix to the metric name │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ - res_pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - SIP resource for outbound publish │ │ │ │ │ + │ │ │ │ │ + SIP ACL module │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Outbound Publish │ │ │ │ │ + ACL │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This module allows │ │ │ │ │ + The ACL module used by │ │ │ │ │ res_pjsip │ │ │ │ │ - to publish to other SIP servers. │ │ │ │ │ + . This module is │ │ │ │ │ + independent of │ │ │ │ │ + endpoints │ │ │ │ │ + and operates on all inbound │ │ │ │ │ + SIP communication using res_pjsip. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + There are two main ways of defining your ACL with the options │ │ │ │ │ + provided. You can use the │ │ │ │ │ + permit │ │ │ │ │ + and │ │ │ │ │ + deny │ │ │ │ │ + options │ │ │ │ │ + which act on │ │ │ │ │ + IP │ │ │ │ │ + addresses, or the │ │ │ │ │ + contactpermit │ │ │ │ │ + and │ │ │ │ │ + contactdeny │ │ │ │ │ + options which act on │ │ │ │ │ + Contact header │ │ │ │ │ + addresses in incoming REGISTER requests. You can combine the various options to │ │ │ │ │ + create a mixed ACL. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Additionally, instead of defining an ACL with options, you can reference IP or │ │ │ │ │ + Contact header ACLs from the file │ │ │ │ │ + acl.conf │ │ │ │ │ + by using the │ │ │ │ │ + acl │ │ │ │ │ + or │ │ │ │ │ + contactacl │ │ │ │ │ + options. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The configuration for outbound publish │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Publish is │ │ │ │ │ - COMPLETELY │ │ │ │ │ - separate from the rest of │ │ │ │ │ - pjsip.conf │ │ │ │ │ - . A minimal configuration consists of │ │ │ │ │ - setting a │ │ │ │ │ - server_uri │ │ │ │ │ - and │ │ │ │ │ - event │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Expiration time for publications in seconds │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Authentication object(s) to be used for outbound publishes. │ │ │ │ │ + │ │ │ │ │ + Access Control List │ │ │ │ │ + │ │ │ │ │ + List of IP ACL section names in acl.conf │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This is a comma-delimited list of │ │ │ │ │ - auth │ │ │ │ │ - sections defined in │ │ │ │ │ - pjsip.conf │ │ │ │ │ - used to respond │ │ │ │ │ - to outbound authentication challenges. │ │ │ │ │ + This matches sections configured in │ │ │ │ │ + acl.conf │ │ │ │ │ + . The value is │ │ │ │ │ + defined as a list of comma-delimited section names. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Using the same auth section for inbound and outbound │ │ │ │ │ - authentication is not recommended. There is a difference in │ │ │ │ │ - meaning for an empty realm setting between inbound and outbound │ │ │ │ │ - authentication uses. See the auth realm description for details. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Full SIP URI of the outbound proxy used to send publishes │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SIP URI of the server and entity to publish to │ │ │ │ │ - │ │ │ │ │ - This is the URI at which to find the entity and server to send the outbound PUBLISH to. │ │ │ │ │ - This URI is used as the request URI of the outbound PUBLISH request from Asterisk. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - SIP URI to use in the From header │ │ │ │ │ + │ │ │ │ │ + List of Contact ACL section names in acl.conf │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This is the URI that will be placed into the From header of outgoing PUBLISH │ │ │ │ │ - messages. If no URI is specified then the URI provided in │ │ │ │ │ - server_uri │ │ │ │ │ - will be used. │ │ │ │ │ + This matches sections configured in │ │ │ │ │ + acl.conf │ │ │ │ │ + . The value is │ │ │ │ │ + defined as a list of comma-delimited section names. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - SIP URI to use in the To header │ │ │ │ │ + │ │ │ │ │ + List of Contact header addresses to deny │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the URI that will be placed into the To header of outgoing PUBLISH │ │ │ │ │ - messages. If no URI is specified then the URI provided in │ │ │ │ │ - server_uri │ │ │ │ │ - will be used. │ │ │ │ │ - │ │ │ │ │ + The value is a comma-delimited list of IP addresses. IP addresses may │ │ │ │ │ + have a subnet mask appended. The subnet mask may be written in either │ │ │ │ │ + CIDR or dotted-decimal notation. Separate the IP address and subnet │ │ │ │ │ + mask with a slash ('/') │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Event type of the PUBLISH. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum number of authentication attempts before stopping the publication. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transport used for outbound publish │ │ │ │ │ + │ │ │ │ │ + List of Contact header addresses to permit │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A │ │ │ │ │ - transport │ │ │ │ │ - configured in │ │ │ │ │ - pjsip.conf │ │ │ │ │ - . As with other │ │ │ │ │ - res_pjsip │ │ │ │ │ - modules, this will use the first available transport of the appropriate type if unconfigured. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + The value is a comma-delimited list of IP addresses. IP addresses may │ │ │ │ │ + have a subnet mask appended. The subnet mask may be written in either │ │ │ │ │ + CIDR or dotted-decimal notation. Separate the IP address and subnet │ │ │ │ │ + mask with a slash ('/') │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Enable multi-user support │ │ │ │ │ + │ │ │ │ │ + List of IP addresses to deny access from │ │ │ │ │ │ │ │ │ │ - When enabled the user portion of the server uri is replaced by a dynamically created user │ │ │ │ │ + The value is a comma-delimited list of IP addresses. IP addresses may │ │ │ │ │ + have a subnet mask appended. The subnet mask may be written in either │ │ │ │ │ + CIDR or dotted-decimal notation. Separate the IP address and subnet │ │ │ │ │ + mask with a slash ('/') │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Must be of type 'outbound-publish'. │ │ │ │ │ + │ │ │ │ │ + List of IP addresses to permit access from │ │ │ │ │ + │ │ │ │ │ + The value is a comma-delimited list of IP addresses. IP addresses may │ │ │ │ │ + have a subnet mask appended. The subnet mask may be written in either │ │ │ │ │ + CIDR or dotted-decimal notation. Separate the IP address and subnet │ │ │ │ │ + mask with a slash ('/') │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_phoneprov │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Module that integrates res_pjsip with res_phoneprov. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PJSIP Phoneprov Provider │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This module creates the integration between │ │ │ │ │ - res_pjsip │ │ │ │ │ - and │ │ │ │ │ - res_phoneprov │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Each user to be integrated requires a │ │ │ │ │ - phoneprov │ │ │ │ │ - section defined in │ │ │ │ │ - pjsip.conf │ │ │ │ │ - . Each section identifies │ │ │ │ │ - the endpoint associated with the user and any other name/value pairs to be passed │ │ │ │ │ - on to res_phoneprov's template substitution. Only │ │ │ │ │ - MAC │ │ │ │ │ - and │ │ │ │ │ - PROFILE │ │ │ │ │ - variables are required. Any other variables │ │ │ │ │ - supplied will be passed through. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Example: │ │ │ │ │ - [1000] │ │ │ │ │ - type = phoneprovr │ │ │ │ │ - endpoint = ep1000 │ │ │ │ │ - MAC = deadbeef4dad │ │ │ │ │ - PROFILE = grandstream2 │ │ │ │ │ - LINEKEYS = 2 │ │ │ │ │ - LINE = 1 │ │ │ │ │ - OTHERVAR = othervalue │ │ │ │ │ - │ │ │ │ │ - The following variables are automatically defined if an endpoint │ │ │ │ │ - is defined for the user: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Source: The user_name defined in the first auth reference │ │ │ │ │ - in the endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Source: The user_pass defined in the first auth reference │ │ │ │ │ - in the endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Source: The number part of the callerid defined in │ │ │ │ │ - the endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Source: The name part of the callerid defined in │ │ │ │ │ - the endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Source: The id of the phoneprov section. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - In addition to the standard variables, the following are also automatically defined: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Source: The id of the endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Source: The id of the transport used by the endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Source: The id of the auth used by the endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - All other template substitution variables must be explicitly defined in the │ │ │ │ │ - phoneprov_default or phoneprov sections. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Provides variables for each user. │ │ │ │ │ │ │ │ │ │ - Must be of type 'phoneprov'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The endpoint from which variables will be retrieved. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The mac address for this user. (required) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The phoneprov profile to use for this user. (required) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Other name/value pairs to be passed through for use in templates. │ │ │ │ │ + Must be of type 'acl'. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - deprecated │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ - res_stasis_device_state │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - sqlite3 │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_calendar │ │ │ │ │ - neon │ │ │ │ │ - ical │ │ │ │ │ + │ │ │ │ │ + res_statsd │ │ │ │ │ + no │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_calendar │ │ │ │ │ - neon29 │ │ │ │ │ + │ │ │ │ │ + res_statsd │ │ │ │ │ + no │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Module that provides simple configuration wizard capabilities. │ │ │ │ │ @@ -30962,254 +31106,462 @@ │ │ │ │ │ │ │ │ │ │ To activate phoneprov, at least phoneprov/MAC must be set. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Execute specified template for each extension. │ │ │ │ │ + │ │ │ │ │ + TEST_FRAMEWORK │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + win32 │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play Music On Hold indefinitely. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Output the specified template for each extension associated with the specified MAC address. │ │ │ │ │ + │ │ │ │ │ + Plays hold music specified by class. If omitted, the default music │ │ │ │ │ + source for the channel will be used. Change the default class with │ │ │ │ │ + Set(CHANNEL(musicclass)=...). If duration is given, hold music will be played │ │ │ │ │ + specified number of seconds. If duration is omitted, music plays indefinitely. │ │ │ │ │ + Returns │ │ │ │ │ + 0 │ │ │ │ │ + when done, │ │ │ │ │ + -1 │ │ │ │ │ + on hangup. │ │ │ │ │ + │ │ │ │ │ + This application does not automatically answer and should be preceeded by │ │ │ │ │ + an application such as Answer() or Progress(). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Generate a string for each phoneprov user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play Music On Hold. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Pass in a string, with phoneprov variables you want substituted in the format of │ │ │ │ │ - %{VARNAME}, and you will get the string rendered for each user in phoneprov │ │ │ │ │ - excluding ones with MAC address │ │ │ │ │ - exclude_mac │ │ │ │ │ - . Probably not │ │ │ │ │ - useful outside of res_phoneprov. │ │ │ │ │ + Starts playing music on hold, uses default music class for channel. │ │ │ │ │ + Starts playing music specified by class. If omitted, the default music │ │ │ │ │ + source for the channel will be used. Always returns │ │ │ │ │ + 0 │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - Example: ${PP_EACH_USER(<item><fn>%{DISPLAY_NAME}</fn></item>|${MAC}) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stop playing Music On Hold. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stops playing music on hold. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - SIP ACL module │ │ │ │ │ + │ │ │ │ │ + Send a NOTIFY to either an endpoint, an arbitrary URI, or inside a SIP dialog. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The endpoint to which to send the NOTIFY. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Abritrary URI to which to send the NOTIFY. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel name to send the NOTIFY. Must be a PJSIP channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Appends variables as headers/content to the NOTIFY. If the variable is │ │ │ │ │ + named │ │ │ │ │ + Content │ │ │ │ │ + , then the value will compose the body │ │ │ │ │ + of the message if another variable sets │ │ │ │ │ + Content-Type │ │ │ │ │ + . │ │ │ │ │ + name │ │ │ │ │ + = │ │ │ │ │ + value │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + Sends a NOTIFY to an endpoint, an arbitrary URI, or inside a SIP dialog. │ │ │ │ │ │ │ │ │ │ - ACL │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The ACL module used by │ │ │ │ │ - res_pjsip │ │ │ │ │ - . This module is │ │ │ │ │ - independent of │ │ │ │ │ - endpoints │ │ │ │ │ - and operates on all inbound │ │ │ │ │ - SIP communication using res_pjsip. │ │ │ │ │ + All parameters for this event must be specified in the body of this │ │ │ │ │ + request via multiple │ │ │ │ │ + Variable: name=value │ │ │ │ │ + sequences. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + One (and only one) of │ │ │ │ │ + Endpoint │ │ │ │ │ + , │ │ │ │ │ + URI │ │ │ │ │ + , or │ │ │ │ │ + Channel │ │ │ │ │ + must be specified. │ │ │ │ │ + If │ │ │ │ │ + URI │ │ │ │ │ + is used, the default outbound endpoint will be used │ │ │ │ │ + to send the message. If the default outbound endpoint isn't configured, this command │ │ │ │ │ + can not send to an arbitrary URI. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Module that supports sending NOTIFY requests to endpoints from external sources │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unused, but reserved. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configuration of a NOTIFY request. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Each key-value pair in a │ │ │ │ │ + notify │ │ │ │ │ + configuration section defines either a SIP header to send │ │ │ │ │ + in the request or a line of content in the request message │ │ │ │ │ + body. A key of │ │ │ │ │ + Content │ │ │ │ │ + is treated │ │ │ │ │ + as part of the message body and is appended in sequential │ │ │ │ │ + order; any other header is treated as part of the SIP │ │ │ │ │ + request. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A key/value pair to add to a NOTIFY request. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the key is │ │ │ │ │ + Content │ │ │ │ │ + , │ │ │ │ │ + it will be treated as part of the message body. Otherwise, │ │ │ │ │ + it will be added as a header in the NOTIFY request. │ │ │ │ │ + │ │ │ │ │ + The following headers are reserved and cannot be │ │ │ │ │ + specified: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + timerfd │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ + res_stasis_playback │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_http_websocket │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_statsd │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SIP resource for outbound registrations │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - There are two main ways of defining your ACL with the options │ │ │ │ │ - provided. You can use the │ │ │ │ │ - permit │ │ │ │ │ - and │ │ │ │ │ - deny │ │ │ │ │ - options │ │ │ │ │ - which act on │ │ │ │ │ - IP │ │ │ │ │ - addresses, or the │ │ │ │ │ - contactpermit │ │ │ │ │ - and │ │ │ │ │ - contactdeny │ │ │ │ │ - options which act on │ │ │ │ │ - Contact header │ │ │ │ │ - addresses in incoming REGISTER requests. You can combine the various options to │ │ │ │ │ - create a mixed ACL. │ │ │ │ │ + Outbound Registration │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Additionally, instead of defining an ACL with options, you can reference IP or │ │ │ │ │ - Contact header ACLs from the file │ │ │ │ │ - acl.conf │ │ │ │ │ - by using the │ │ │ │ │ - acl │ │ │ │ │ - or │ │ │ │ │ - contactacl │ │ │ │ │ - options. │ │ │ │ │ + This module allows │ │ │ │ │ + res_pjsip │ │ │ │ │ + to register to other SIP servers. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Access Control List │ │ │ │ │ - │ │ │ │ │ - List of IP ACL section names in acl.conf │ │ │ │ │ + │ │ │ │ │ + The configuration for outbound registration │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Registration is │ │ │ │ │ + COMPLETELY │ │ │ │ │ + separate from the rest of │ │ │ │ │ + pjsip.conf │ │ │ │ │ + . A minimal configuration consists of │ │ │ │ │ + setting a │ │ │ │ │ + server_uri │ │ │ │ │ + and a │ │ │ │ │ + client_uri │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Determines whether failed authentication challenges are treated │ │ │ │ │ + as permanent failures. │ │ │ │ │ + │ │ │ │ │ + If this option is enabled and an authentication challenge fails, │ │ │ │ │ + registration will not be attempted again until the configuration is reloaded. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Client SIP URI used when attemping outbound registration │ │ │ │ │ + │ │ │ │ │ + This is the address-of-record for the outbound registration (i.e. the URI in │ │ │ │ │ + the To header of the REGISTER). │ │ │ │ │ + For registration with an ITSP, the client SIP URI may need to consist of │ │ │ │ │ + an account name or number and the provider's hostname for their registrar, e.g. │ │ │ │ │ + client_uri=1234567890@example.com. This may differ between providers. │ │ │ │ │ + For registration to generic registrars, the client SIP URI will depend │ │ │ │ │ + on networking specifics and configuration of the registrar. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Contact User to use in request │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Expiration time for registrations in seconds │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum number of registration attempts. │ │ │ │ │ + │ │ │ │ │ + This sets the maximum number of registration attempts that are made before │ │ │ │ │ + stopping any further attempts. If set to 0 then upon failure no further attempts │ │ │ │ │ + are made. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Authentication object(s) to be used for outbound registrations. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This matches sections configured in │ │ │ │ │ - acl.conf │ │ │ │ │ - . The value is │ │ │ │ │ - defined as a list of comma-delimited section names. │ │ │ │ │ + This is a comma-delimited list of │ │ │ │ │ + auth │ │ │ │ │ + sections defined in │ │ │ │ │ + pjsip.conf │ │ │ │ │ + used to respond │ │ │ │ │ + to outbound authentication challenges. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Using the same auth section for inbound and outbound │ │ │ │ │ + authentication is not recommended. There is a difference in │ │ │ │ │ + meaning for an empty realm setting between inbound and outbound │ │ │ │ │ + authentication uses. See the auth realm description for details. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List of Contact ACL section names in acl.conf │ │ │ │ │ + │ │ │ │ │ + Full SIP URI of the outbound proxy used to send registrations │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum interval in seconds for which an initial registration may be randomly delayed │ │ │ │ │ + │ │ │ │ │ + By default, registrations are randomly delayed by a small amount to prevent │ │ │ │ │ + too many registrations from being made simultaneously. │ │ │ │ │ + Depending on your system usage, it may be desirable to set this to a smaller │ │ │ │ │ + or larger value to have fine grained control over the size of this random delay. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Interval in seconds between retries if outbound registration is unsuccessful │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Interval used when receiving a 403 Forbidden response. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This matches sections configured in │ │ │ │ │ - acl.conf │ │ │ │ │ - . The value is │ │ │ │ │ - defined as a list of comma-delimited section names. │ │ │ │ │ + If a 403 Forbidden is received, chan_pjsip will wait │ │ │ │ │ + forbidden_retry_interval │ │ │ │ │ + seconds before │ │ │ │ │ + attempting registration again. If 0 is specified, chan_pjsip will not │ │ │ │ │ + retry after receiving a 403 Forbidden response. Setting this to a non-zero │ │ │ │ │ + value goes against a "SHOULD NOT" in RFC3261, but can be used to work around │ │ │ │ │ + buggy registrars. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List of Contact header addresses to deny │ │ │ │ │ + │ │ │ │ │ + Interval used when receiving a Fatal response. │ │ │ │ │ │ │ │ │ │ - The value is a comma-delimited list of IP addresses. IP addresses may │ │ │ │ │ - have a subnet mask appended. The subnet mask may be written in either │ │ │ │ │ - CIDR or dotted-decimal notation. Separate the IP address and subnet │ │ │ │ │ - mask with a slash ('/') │ │ │ │ │ + │ │ │ │ │ + If a fatal response is received, chan_pjsip will wait │ │ │ │ │ + fatal_retry_interval │ │ │ │ │ + seconds before │ │ │ │ │ + attempting registration again. If 0 is specified, chan_pjsip will not │ │ │ │ │ + retry after receiving a fatal (non-temporary 4xx, 5xx, 6xx) response. │ │ │ │ │ + Setting this to a non-zero value may go against a "SHOULD NOT" in RFC3261, │ │ │ │ │ + but can be used to work around buggy registrars. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + if also set the │ │ │ │ │ + forbidden_retry_interval │ │ │ │ │ + takes precedence over this one when a 403 is received. │ │ │ │ │ + Also, if │ │ │ │ │ + auth_rejection_permanent │ │ │ │ │ + equals 'yes' then │ │ │ │ │ + a 401 and 407 become subject to this retry interval. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List of Contact header addresses to permit │ │ │ │ │ + │ │ │ │ │ + SIP URI of the server to register against │ │ │ │ │ │ │ │ │ │ - The value is a comma-delimited list of IP addresses. IP addresses may │ │ │ │ │ - have a subnet mask appended. The subnet mask may be written in either │ │ │ │ │ - CIDR or dotted-decimal notation. Separate the IP address and subnet │ │ │ │ │ - mask with a slash ('/') │ │ │ │ │ + This is the URI at which to find the registrar to send the outbound REGISTER. This URI │ │ │ │ │ + is used as the request URI of the outbound REGISTER request from Asterisk. │ │ │ │ │ + For registration with an ITSP, the setting may often be just the domain of │ │ │ │ │ + the registrar, e.g. sip:sip.example.com. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List of IP addresses to deny access from │ │ │ │ │ + │ │ │ │ │ + Transport used for outbound authentication │ │ │ │ │ │ │ │ │ │ - The value is a comma-delimited list of IP addresses. IP addresses may │ │ │ │ │ - have a subnet mask appended. The subnet mask may be written in either │ │ │ │ │ - CIDR or dotted-decimal notation. Separate the IP address and subnet │ │ │ │ │ - mask with a slash ('/') │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A │ │ │ │ │ + transport │ │ │ │ │ + configured in │ │ │ │ │ + pjsip.conf │ │ │ │ │ + . As with other │ │ │ │ │ + res_pjsip │ │ │ │ │ + modules, this will use the first available transport of the appropriate type if unconfigured. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List of IP addresses to permit access from │ │ │ │ │ + │ │ │ │ │ + Whether to add a 'line' parameter to the Contact for inbound call matching │ │ │ │ │ │ │ │ │ │ - The value is a comma-delimited list of IP addresses. IP addresses may │ │ │ │ │ - have a subnet mask appended. The subnet mask may be written in either │ │ │ │ │ - CIDR or dotted-decimal notation. Separate the IP address and subnet │ │ │ │ │ - mask with a slash ('/') │ │ │ │ │ + When enabled this option will cause a 'line' parameter to be added to the Contact │ │ │ │ │ + header placed into the outgoing registration request. If the remote server sends a call │ │ │ │ │ + this line parameter will be used to establish a relationship to the outbound registration, │ │ │ │ │ + ultimately causing the configured endpoint to be used. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Endpoint to use for incoming related calls │ │ │ │ │ + │ │ │ │ │ + When line support is enabled this configured endpoint name is used for incoming calls │ │ │ │ │ + that are related to the outbound registration. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Must be of type 'acl'. │ │ │ │ │ + Must be of type 'registration'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Enables Path support for outbound REGISTER requests. │ │ │ │ │ + │ │ │ │ │ + When this option is enabled, outbound REGISTER requests will advertise │ │ │ │ │ + support for Path headers so that intervening proxies can add to the Path │ │ │ │ │ + header as necessary. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve an SMDI message. │ │ │ │ │ + │ │ │ │ │ + Unregister an outbound registration. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Instead of searching on the forwarding station, search on the message desk terminal. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Instead of searching on the forwarding station, search on the message desk number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound registration to unregister or '*all' to unregister them all. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function is used to retrieve an incoming SMDI message. It returns │ │ │ │ │ - an ID which can be used with the SMDI_MSG() function to access details of │ │ │ │ │ - the message. Note that this is a destructive function in the sense that │ │ │ │ │ - once an SMDI message is retrieved using this function, it is no longer in │ │ │ │ │ - the global SMDI message queue, and can not be accessed by any other Asterisk │ │ │ │ │ - channels. The timeout for this function is optional, and the default is │ │ │ │ │ - 3 seconds. When providing a timeout, it should be in milliseconds. │ │ │ │ │ - The default search is done on the forwarding station ID. However, if │ │ │ │ │ - you set one of the search key options in the options field, you can change │ │ │ │ │ - this behavior. │ │ │ │ │ + Unregisters the specified (or all) outbound registration(s) and stops future registration attempts. │ │ │ │ │ + Call PJSIPRegister to start registration and schedule re-registrations according to configuration. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - SMDI_MSG │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve details about an SMDI message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Register an outbound registration. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Valid message components are: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The message desk number │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The message desk terminal │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The forwarding station │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The callerID of the calling party that was forwarded │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The call type. The value here is the exact character │ │ │ │ │ - that came in on the SMDI link. Typically, example values │ │ │ │ │ - are: │ │ │ │ │ - Options: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Direct Calls │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Forward All Calls │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Forward Busy Calls │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Forward No Answer Calls │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The outbound registration to register or '*all' to register them all. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function is used to access details of an SMDI message that was │ │ │ │ │ - pulled from the incoming SMDI message queue using the SMDI_MSG_RETRIEVE() │ │ │ │ │ - function. │ │ │ │ │ + Unregisters the specified (or all) outbound registration(s) then starts registration and schedules re-registrations │ │ │ │ │ + according to configuration. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - SMDI_MSG_RETRIEVE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Lists PJSIP outbound registrations. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + In response │ │ │ │ │ + OutboundRegistrationDetail │ │ │ │ │ + events showing configuration and status │ │ │ │ │ + information are raised for each outbound registration object. │ │ │ │ │ + AuthDetail │ │ │ │ │ + events are raised for each associated auth object as well. Once all events are completed an │ │ │ │ │ + OutboundRegistrationDetailComplete │ │ │ │ │ + is issued. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + func_curl │ │ │ │ │ + res_curl │ │ │ │ │ + curl │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ res_speech │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Answer channel │ │ │ │ │ │ │ │ │ │ @@ -32755,143 +33107,674 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ AGIExecStart │ │ │ │ │ AGI │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - curl │ │ │ │ │ - res_curl │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ + res_stasis_device_state │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_stasis │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ - core │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - TEST_FRAMEWORK │ │ │ │ │ + │ │ │ │ │ + iksemel │ │ │ │ │ + openssl │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Sends an XMPP message to a buddy. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The local named account to listen on (specified in │ │ │ │ │ + xmpp.conf) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jabber ID of the buddy to send the message to. It can be a │ │ │ │ │ + bare JID (username@domain) or a full JID (username@domain/resource). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The message to send. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sends the content of │ │ │ │ │ + message │ │ │ │ │ + as text message │ │ │ │ │ + from the given │ │ │ │ │ + account │ │ │ │ │ + to the buddy identified by │ │ │ │ │ + jid │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The example below sends "Hello world" to │ │ │ │ │ + bob@domain.com │ │ │ │ │ + as an XMPP message from the account │ │ │ │ │ + asterisk │ │ │ │ │ + , configured in xmpp.conf. │ │ │ │ │ + │ │ │ │ │ + same => n,JabberSend(asterisk,bob@domain.com,Hello world) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + JABBER_STATUS │ │ │ │ │ + JABBER_RECEIVE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reads XMPP messages. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The local named account to listen on (specified in │ │ │ │ │ + xmpp.conf) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jabber ID of the buddy to receive message from. It can be a │ │ │ │ │ + bare JID (username@domain) or a full JID (username@domain/resource). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + In seconds, defaults to │ │ │ │ │ + 20 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Receives a text message on the given │ │ │ │ │ + account │ │ │ │ │ + from the buddy identified by │ │ │ │ │ + jid │ │ │ │ │ + and returns the contents. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The example below returns an XMPP message sent from │ │ │ │ │ + bob@domain.com │ │ │ │ │ + (or nothing in case of a time out), to │ │ │ │ │ + the │ │ │ │ │ + asterisk │ │ │ │ │ + XMPP account configured in xmpp.conf. │ │ │ │ │ + │ │ │ │ │ + same => n,Set(msg=${JABBER_RECEIVE(asterisk,bob@domain.com)}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + JABBER_STATUS │ │ │ │ │ + JabberSend │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieves a buddy's status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The local named account to listen on (specified in │ │ │ │ │ + xmpp.conf) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jabber ID of the buddy to receive message from. It can be a │ │ │ │ │ + bare JID (username@domain) or a full JID (username@domain/resource). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieves the numeric status associated with the buddy identified │ │ │ │ │ + by │ │ │ │ │ + jid │ │ │ │ │ + . │ │ │ │ │ + If the buddy does not exist in the buddylist, returns 7. │ │ │ │ │ + │ │ │ │ │ + Status will be 1-7. │ │ │ │ │ + 1=Online, 2=Chatty, 3=Away, 4=XAway, 5=DND, 6=Offline │ │ │ │ │ + If not in roster variable will be set to 7. │ │ │ │ │ + │ │ │ │ │ + Example: ${JABBER_STATUS(asterisk,bob@domain.com)} returns 1 if │ │ │ │ │ + bob@domain.com │ │ │ │ │ + is online. │ │ │ │ │ + asterisk │ │ │ │ │ + is │ │ │ │ │ + the associated XMPP account configured in xmpp.conf. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + JABBER_RECEIVE │ │ │ │ │ + JabberSend │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send a Jabber Message to a specified chat room │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Client or transport Asterisk uses to connect to Jabber. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + XMPP/Jabber JID (Name) of chat room. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Message to be sent to the chat room. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The nickname Asterisk uses in the chat room. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Allows user to send a message to a chat room via XMPP. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + To be able to send messages to a chat room, a user must have previously joined it. Use the │ │ │ │ │ + JabberJoin │ │ │ │ │ + function to do so. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Join a chat room │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Client or transport Asterisk uses to connect to Jabber. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + XMPP/Jabber JID (Name) of chat room. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The nickname Asterisk will use in the chat room. │ │ │ │ │ + │ │ │ │ │ + If a different nickname is supplied to an already joined room, the old nick will be changed to the new one. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Allows Asterisk to join a chat room. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Leave a chat room │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Client or transport Asterisk uses to connect to Jabber. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + XMPP/Jabber JID (Name) of chat room. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The nickname Asterisk uses in the chat room. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Allows Asterisk to leave a chat room. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve the status of a jabber list member │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Client or transport Asterisk users to connect to Jabber. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + XMPP/Jabber JID (Name) of recipient. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Variable to store the status of requested user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application is deprecated. Please use the JABBER_STATUS() function instead. │ │ │ │ │ + │ │ │ │ │ + Retrieves the numeric status associated with the specified buddy │ │ │ │ │ + JID │ │ │ │ │ + . │ │ │ │ │ + The return value in the │ │ │ │ │ + Variable │ │ │ │ │ + will be one of the following. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Online. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Chatty. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Away. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Extended Away. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Do Not Disturb. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Offline. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Not In Roster. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sends a message to a Jabber Client. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Client or transport Asterisk uses to connect to JABBER. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + XMPP/Jabber JID (Name) of recipient. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Message to be sent to the buddy. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sends a message to a Jabber Client. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specifying a prefix of │ │ │ │ │ + xmpp: │ │ │ │ │ + will send the │ │ │ │ │ + message as an XMPP chat message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specifying a prefix of │ │ │ │ │ + xmpp: │ │ │ │ │ + will specify the │ │ │ │ │ + account defined in │ │ │ │ │ + xmpp.conf │ │ │ │ │ + to send the message from. │ │ │ │ │ + Note that this field is required for XMPP messages. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Ignored │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + XMPP Messaging │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Global configuration settings │ │ │ │ │ + │ │ │ │ │ + Enable/disable XMPP message debugging │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Auto-remove users from buddy list. │ │ │ │ │ + │ │ │ │ │ + Auto-remove users from buddy list. Depending on the setup │ │ │ │ │ + (e.g., using your personal Gtalk account for a test) this could cause loss of │ │ │ │ │ + the contact list. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Auto-register users from buddy list │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Enable support for XEP-0248 for use with distributed device state │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether or not the PubSub server supports/is using auto-create for nodes │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether to automatically accept or deny users' subscription requests │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configuration options for an XMPP client │ │ │ │ │ + │ │ │ │ │ + XMPP username with optional resource │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + XMPP password │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Google OAuth 2.0 refresh token │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Google OAuth 2.0 application's client id │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Google OAuth 2.0 application's secret │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Route to server, e.g. talk.google.com │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Custom status message │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Node for publishing events via PubSub │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Dialplan context to send incoming messages to │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + XMPP resource priority │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + XMPP server port │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Timeout in seconds to hold incoming messages │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Timeout (in seconds) on the message stack. Messages stored longer │ │ │ │ │ + than this value will be deleted by Asterisk. This option applies to incoming messages only │ │ │ │ │ + which are intended to be processed by the │ │ │ │ │ + JABBER_RECEIVE │ │ │ │ │ + dialplan function. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Enable debugging │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Connection is either a client or a component │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether or not to distribute events using this connection │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether to use TLS for the connection or not │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether to use SASL for the connection or not │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Force the use of old-style SSL for the connection │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If enabled, periodically send an XMPP message from this client with an empty message │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Auto-remove users from buddy list. │ │ │ │ │ + │ │ │ │ │ + Auto-remove users from buddy list. Depending on the setup │ │ │ │ │ + (e.g., using your personal Gtalk account for a test) this could cause loss of │ │ │ │ │ + the contact list. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Auto-register users bfrom buddy list │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether to automatically accept or deny users' subscription requests │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send incoming messages into the dialplan │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Default XMPP status for the client │ │ │ │ │ + │ │ │ │ │ + Can be one of the following XMPP statuses: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Manual addition of buddy to list │ │ │ │ │ + │ │ │ │ │ + Manual addition of buddy to the buddy list. For distributed events, these buddies are │ │ │ │ │ + automatically added in the whitelist as 'owners' of the node(s). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ + │ │ │ │ │ res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjproject │ │ │ │ │ + res_sorcery_config │ │ │ │ │ + res_sorcery_memory │ │ │ │ │ + res_sorcery_astdb │ │ │ │ │ + res_statsd │ │ │ │ │ + res_geolocation │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + yes │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + kqueue │ │ │ │ │ + launchd │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_http_websocket │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Module that identifies endpoints │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Identifies endpoints via some criteria. │ │ │ │ │ + │ │ │ │ │ + This module provides alternatives to matching inbound requests to │ │ │ │ │ + a configured endpoint. At least one of the matching mechanisms │ │ │ │ │ + must be provided, or the object configuration is invalid. │ │ │ │ │ + The matching mechanisms are provided by the following │ │ │ │ │ + configuration options: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Match by source IP address. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Match by SIP header. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If multiple matching criteria are provided then an inbound │ │ │ │ │ + request will be matched to the endpoint if it matches │ │ │ │ │ + any │ │ │ │ │ + of the criteria. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Name of endpoint identified │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + IP addresses or networks to match against. │ │ │ │ │ + │ │ │ │ │ + The value is a comma-delimited list of IP addresses or │ │ │ │ │ + hostnames. │ │ │ │ │ + IP addresses may have a subnet mask appended. The subnet │ │ │ │ │ + mask may be written in either CIDR or dotted-decimal │ │ │ │ │ + notation. Separate the IP address and subnet mask with a slash │ │ │ │ │ + ('/'). A source port can also be specified by adding a colon (':') │ │ │ │ │ + after the address but before the subnet mask, e.g. │ │ │ │ │ + 3.2.1.0:5061/24. To specify a source port for an IPv6 address, the │ │ │ │ │ + address itself must be enclosed in square brackets │ │ │ │ │ + ('[2001:db8:0::1]:5060') │ │ │ │ │ + │ │ │ │ │ + When a hostname is used, the behavior depends on whether │ │ │ │ │ + srv_lookups │ │ │ │ │ + is enabled and/or a source │ │ │ │ │ + port is provided. If │ │ │ │ │ + srv_lookups │ │ │ │ │ + is │ │ │ │ │ + enabled and a source port is not provided, Asterisk will perform │ │ │ │ │ + an SRV lookup on the provided hostname, adding all of the A and │ │ │ │ │ + AAAA records that are resolved. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the SRV lookup fails, │ │ │ │ │ + srv_lookups │ │ │ │ │ + is disabled, or a source │ │ │ │ │ + port is specified when the hostname is configured, Asterisk will │ │ │ │ │ + resolve the hostname and add all A and AAAA records that are │ │ │ │ │ + resolved. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Perform SRV lookups for provided hostnames. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When enabled, │ │ │ │ │ + srv_lookups │ │ │ │ │ + will │ │ │ │ │ + perform SRV lookups for _sip._udp, _sip._tcp, and _sips._tcp of │ │ │ │ │ + the given hostnames to determine additional addresses that traffic │ │ │ │ │ + may originate from. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Header/value pair to match against. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A SIP header whose value is used to match against. SIP │ │ │ │ │ + requests containing the header, along with the specified value, │ │ │ │ │ + will be mapped to the specified endpoint. The header must be │ │ │ │ │ + specified with a │ │ │ │ │ + : │ │ │ │ │ + , as in │ │ │ │ │ + match_header = SIPHeader: value │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The specified SIP header value can be a regular │ │ │ │ │ + expression if the value is of the form │ │ │ │ │ + / │ │ │ │ │ + regex │ │ │ │ │ + /. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Use of a regex is expensive so be sure you need │ │ │ │ │ + to use a regex to match your endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Must be of type 'identify'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_geolocation │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ - res_pjsip_outbound_publish │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + chan_pjsip │ │ │ │ │ + libxml2 │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - func_curl │ │ │ │ │ - res_curl │ │ │ │ │ - curl │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + StatsD client │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + res_statsd │ │ │ │ │ + module provides an API that │ │ │ │ │ + allows Asterisk and its modules to send statistics to a StatsD │ │ │ │ │ + server. It only provides a means to communicate with a StatsD server │ │ │ │ │ + and does not send any metrics of its own. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + An example module, │ │ │ │ │ + res_chan_stats │ │ │ │ │ + , is │ │ │ │ │ + provided which uses the API exposed by this module to send channel │ │ │ │ │ + statistics to the configured StatsD server. │ │ │ │ │ + │ │ │ │ │ + More information about StatsD can be found at │ │ │ │ │ + https://github.com/statsd/statsd │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Global configuration settings │ │ │ │ │ + │ │ │ │ │ + Enable/disable the StatsD module │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Address of the StatsD server │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Prefix to prepend to every metric │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Append a newline to every event. This is useful if │ │ │ │ │ + you want to fake out a server using netcat │ │ │ │ │ + (nc -lu 8125) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Enable/disable the non-standard StatsD Meter type, │ │ │ │ │ + if disabled falls back to counter and will append a "_meter" suffix to the metric name │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List the current known device states. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This will list out all known device states in a │ │ │ │ │ - sequence of │ │ │ │ │ - DeviceStateChange │ │ │ │ │ - events. │ │ │ │ │ - When finished, a │ │ │ │ │ - DeviceStateListComplete │ │ │ │ │ - event │ │ │ │ │ - will be emitted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - DeviceStateChange │ │ │ │ │ - DEVICE_STATE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicates the end of the list the current known extension states. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conveys the status of the event list. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conveys the number of statuses reported. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ldap │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ res_http_websocket │ │ │ │ │ res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -32960,1127 +33843,244 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - timerfd │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_stasis │ │ │ │ │ - res_stasis_recording │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - no │ │ │ │ │ - extended │ │ │ │ │ - 19 │ │ │ │ │ - 21 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - res_stir_shaken │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - spandsp │ │ │ │ │ - res_fax │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjproject │ │ │ │ │ - res_sorcery_config │ │ │ │ │ - res_sorcery_memory │ │ │ │ │ - res_sorcery_astdb │ │ │ │ │ - res_statsd │ │ │ │ │ - res_geolocation │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - no │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - res_hep │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_statsd │ │ │ │ │ - no │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ - res_stasis_recording │ │ │ │ │ - res_stasis_playback │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_statsd │ │ │ │ │ - no │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ + │ │ │ │ │ + crypto │ │ │ │ │ + curl │ │ │ │ │ + res_curl │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - destination │ │ │ │ │ - parameter is used to construct │ │ │ │ │ - the Request URI for an outgoing message. It can be in one of the following │ │ │ │ │ - formats, all prefixed with the │ │ │ │ │ - pjsip: │ │ │ │ │ - message tech. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Request URI comes from the endpoint's default aor and contact. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Request URI comes from the specific aor/contact. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Request URI from the endpoint's default aor and contact. The domain is discarded. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - These all use the endpoint to send the message with the specified URI: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - These all use the default endpoint to send the message with the specified URI: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - These use the default endpoint to send the message with the specified host: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This form is similar to a dialstring: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - You still need to prefix the destination with │ │ │ │ │ - the │ │ │ │ │ - pjsip: │ │ │ │ │ - message technology prefix. For example: │ │ │ │ │ - pjsip:PJSIP/8005551212@myprovider │ │ │ │ │ - . │ │ │ │ │ - The endpoint contact's URI will have the │ │ │ │ │ - user │ │ │ │ │ - inserted │ │ │ │ │ - into it and will become the Request URI. If the contact URI already has │ │ │ │ │ - a user specified, it will be replaced. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - from │ │ │ │ │ - parameter is used to specity the │ │ │ │ │ - From: │ │ │ │ │ - header in the outgoing SIP MESSAGE. It will override the value specified in │ │ │ │ │ - MESSAGE(from) which itself will override any │ │ │ │ │ - from │ │ │ │ │ - value from │ │ │ │ │ - an incoming SIP MESSAGE. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - to │ │ │ │ │ - parameter is used to specity the │ │ │ │ │ - To: │ │ │ │ │ - header in the outgoing SIP MESSAGE. It will override the value specified in │ │ │ │ │ - MESSAGE(to) which itself will override any │ │ │ │ │ - to │ │ │ │ │ - value from │ │ │ │ │ - an incoming SIP MESSAGE. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Resource for integration with Homer using HEPv3 │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + STIR/SHAKEN module for Asterisk │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - General settings. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - general │ │ │ │ │ - settings section contains information │ │ │ │ │ - to configure Asterisk as a Homer capture agent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enable or disable packet capturing. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + STIR/SHAKEN general options │ │ │ │ │ + │ │ │ │ │ + Must be of type 'general'. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The preferred type of UUID to pass to Homer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Use the PJSIP Call-Id │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Use the Asterisk channel name │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + File path to the certificate authority certificate │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The address and port of the Homer server to send packets to. │ │ │ │ │ + │ │ │ │ │ + File path to a chain of trust │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If set, the authentication password to send to Homer. │ │ │ │ │ + │ │ │ │ │ + Maximum size to use for caching public keys │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The ID for this capture agent. │ │ │ │ │ + │ │ │ │ │ + Maximum time to wait to CURL certificates │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ - res_stasis_recording │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_calendar │ │ │ │ │ - neon │ │ │ │ │ - ical │ │ │ │ │ - iksemel │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - bridge_holding │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Options that apply to every parking lot │ │ │ │ │ - │ │ │ │ │ - Enables dynamically created parkinglots. │ │ │ │ │ - │ │ │ │ │ - If the option is enabled then the following variables can │ │ │ │ │ - be used to dynamically create new parking lots. │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - PARKINGDYNAMIC │ │ │ │ │ - variable specifies the │ │ │ │ │ - parking lot to use as a template to create a dynamic parking lot. It │ │ │ │ │ - is an error to specify a non-existent parking lot for the template. │ │ │ │ │ - If not set then the default parking lot is used as the template. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - PARKINGDYNCONTEXT │ │ │ │ │ - variable specifies the │ │ │ │ │ - dialplan context to use for the newly created dynamic parking lot. If │ │ │ │ │ - not set then the context from the parking lot template is used. The │ │ │ │ │ - context is created if it does not already exist and the new parking lot │ │ │ │ │ - needs to create extensions. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - PARKINGDYNEXTEN │ │ │ │ │ - variable specifies the │ │ │ │ │ - parkext │ │ │ │ │ - to use for the newly created dynamic │ │ │ │ │ - parking lot. If not set then the │ │ │ │ │ - parkext │ │ │ │ │ - is used from │ │ │ │ │ - the parking lot template. If the template does not specify a │ │ │ │ │ - parkext │ │ │ │ │ - then no extensions are created for the newly │ │ │ │ │ - created parking lot. The dynamic parking lot cannot be created if it │ │ │ │ │ - needs to create extensions that overlap existing parking lot extensions. │ │ │ │ │ - The only exception to this is for the │ │ │ │ │ - parkext │ │ │ │ │ - extension and only if neither of the overlaping parking lot's │ │ │ │ │ - parkext │ │ │ │ │ - is exclusive. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - PARKINGDYNPOS │ │ │ │ │ - variable specifies the │ │ │ │ │ - parking positions to use for the newly created dynamic parking lot. If │ │ │ │ │ - not set then the │ │ │ │ │ - parkpos │ │ │ │ │ - from the parking lot template │ │ │ │ │ - is used. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Amount of time a signature is valid for │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Defined parking lots for res_parking to use to park calls on │ │ │ │ │ - │ │ │ │ │ - The name of the context where calls are parked and picked up from. │ │ │ │ │ - │ │ │ │ │ - This option is only used if parkext is set. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Extension to park calls to this parking lot. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If this option is used, this extension will automatically │ │ │ │ │ - be created to place calls into parking lots. In addition, if │ │ │ │ │ - parkext_exclusive │ │ │ │ │ - is set for this parking │ │ │ │ │ - lot, the name of the parking lot will be included in the │ │ │ │ │ - application's arguments so that it only parks to this parking │ │ │ │ │ - lot. The extension will be created in │ │ │ │ │ - context │ │ │ │ │ - . │ │ │ │ │ - Using this option also creates extensions for retrieving │ │ │ │ │ - parked calls from the parking spaces in the same context. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Generated parking extensions cannot overlap. │ │ │ │ │ - The only exception is if neither overlapping │ │ │ │ │ - parkext │ │ │ │ │ - is exclusive. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + STIR/SHAKEN certificate store options │ │ │ │ │ + │ │ │ │ │ + Must be of type 'store'. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If yes, the extension registered as parkext will park exclusively to this parking lot. │ │ │ │ │ + │ │ │ │ │ + Path to a directory containing certificates │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Numerical range of parking spaces which can be used to retrieve parked calls. │ │ │ │ │ + │ │ │ │ │ + URL to the public certificate(s) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - parkext │ │ │ │ │ - is set, these extensions │ │ │ │ │ - will automatically be mapped in │ │ │ │ │ - context │ │ │ │ │ - in order to pick up calls parked to these parking spaces. │ │ │ │ │ - │ │ │ │ │ + Must be a valid http, or https, URL. The URL must also contain the ${CERTIFICATE} variable, which is used for public key name substitution. │ │ │ │ │ + For example: http://mycompany.com/${CERTIFICATE}.pub │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If yes, this parking lot will add hints automatically for parking spaces. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Amount of time a call will remain parked before giving up (in seconds). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Which music class to use for parked calls. They will use the default if unspecified. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Determines what should be done with the parked channel if no one picks it up before it times out. │ │ │ │ │ - │ │ │ │ │ - Valid Options: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Automatically have the parked channel dial the device that parked the call with dial │ │ │ │ │ - timeout set by the │ │ │ │ │ - parkingtime │ │ │ │ │ - option. When the call times out an extension │ │ │ │ │ - to dial the PARKER will automatically be created in the │ │ │ │ │ - park-dial │ │ │ │ │ - context with │ │ │ │ │ - an extension of the flattened parker device name. If the call is not answered, the parked channel │ │ │ │ │ - that is timing out will continue in the dial plan at that point if there are more priorities in │ │ │ │ │ - the extension (which won't be the case unless the dialplan deliberately includes such priorities │ │ │ │ │ - in the │ │ │ │ │ - park-dial │ │ │ │ │ - context through pattern matching or deliberately written │ │ │ │ │ - flattened peer extensions). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Place the call into the PBX at │ │ │ │ │ - comebackcontext │ │ │ │ │ - instead. The extension will │ │ │ │ │ - still be set as the flattened peer name. If an extension the flattened peer name isn't available │ │ │ │ │ - then it will fall back to the │ │ │ │ │ - s │ │ │ │ │ - extension. If that also is unavailable it will │ │ │ │ │ - attempt to fall back to │ │ │ │ │ - s@default │ │ │ │ │ - . The normal dial extension will still be │ │ │ │ │ - created in the │ │ │ │ │ - park-dial │ │ │ │ │ - context with the extension also being the flattened │ │ │ │ │ - peer name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Flattened Peer Names - Extensions can not include slash characters since those are used for pattern │ │ │ │ │ - matching. When a peer name is flattened, slashes become underscores. For example if the parker of a call │ │ │ │ │ - is called │ │ │ │ │ - SIP/0004F2040001 │ │ │ │ │ - then flattened peer name and therefor the extensions created │ │ │ │ │ - and used on timeouts will be │ │ │ │ │ - SIP_0004F204001 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When parking times out and the channel returns to the dial plan, the following variables are set: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extension that the call was parked in prior to timing out. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Deprecated. Use │ │ │ │ │ - PARKING_SPACE │ │ │ │ │ - instead. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - name of the lot that the call was parked in prior to timing out. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The device that parked the call │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The flat version of │ │ │ │ │ - PARKER │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + STIR/SHAKEN certificate options │ │ │ │ │ + │ │ │ │ │ + Must be of type 'certificate'. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Timeout for the Dial extension created to call back the parker when a parked call times out. │ │ │ │ │ + │ │ │ │ │ + File path to a certificate │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Context where parked calls will enter the PBX on timeout when comebacktoorigin=no │ │ │ │ │ + │ │ │ │ │ + URL to the public certificate │ │ │ │ │ │ │ │ │ │ - The extension the call enters will prioritize the flattened peer name in this context. │ │ │ │ │ - If the flattened peer name extension is unavailable, then the 's' extension in this context will be │ │ │ │ │ - used. If that also is unavailable, the 's' extension in the 'default' context will be used. │ │ │ │ │ + Must be a valid http, or https, URL. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If the name of a sound file is provided, use this as the courtesy tone │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - By default, this tone is only played to the caller of a parked call. Who receives the tone │ │ │ │ │ - can be changed using the │ │ │ │ │ - parkedplay │ │ │ │ │ - option. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Attestation level │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Who we should play the courtesytone to on the pickup of a parked call from this lot │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Apply to neither side. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Apply only to the call connecting with the call coming out of the parking lot. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Apply only to the call coming out of the parking lot. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Apply to both sides. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If courtesy tone is not specified then this option will be ignored. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The caller ID number to match on. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Who to apply the DTMF transfer features to when parked calls are picked up or timeout. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + STIR/SHAKEN profile configuration options │ │ │ │ │ + │ │ │ │ │ + Must be of type 'profile'. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Who to apply the DTMF parking feature to when parked calls are picked up or timeout. │ │ │ │ │ + │ │ │ │ │ + STIR/SHAKEN configuration settings │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + Attest, verify, or do both STIR/SHAKEN operations. On incoming │ │ │ │ │ + INVITEs, the Identity header will be checked for validity. On │ │ │ │ │ + outgoing INVITEs, an Identity header will be added. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Who to apply the DTMF hangup feature to when parked calls are picked up or timeout. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + An existing ACL from acl.conf to use │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Who to apply the DTMF MixMonitor recording feature to when parked calls are picked up or timeout. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + An IP or subnet to permit │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Rule to use when trying to figure out which parking space a call should be parked with. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Always try to place in the lowest available space in the parking lot │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Track the last parking space used and always attempt to use the one immediately after. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + An IP or subnet to deny │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - app_fax │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Receive a FAX and save as a TIFF/F file. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application is provided by res_fax, which is a FAX technology agnostic module │ │ │ │ │ - that utilizes FAX technology resource modules to complete a FAX transmission. │ │ │ │ │ - Session arguments can be set by the FAXOPT function and to check results of the ReceiveFax() application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - FAXOPT │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sends a specified TIFF/F file as a FAX. │ │ │ │ │ + │ │ │ │ │ + Gets the number of STIR/SHAKEN results or a specific STIR/SHAKEN value from a result on the channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - TIFF file to send as a FAX. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The index of the STIR/SHAKEN result to get. If only 'count' is passed in, gets the number of STIR/SHAKEN results instead. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The value to get from the STIR/SHAKEN result. Only used when an index is passed in (instead of 'count'). Allowable values: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application is provided by res_fax, which is a FAX technology agnostic module │ │ │ │ │ - that utilizes FAX technology resource modules to complete a FAX transmission. │ │ │ │ │ - Session arguments can be set by the FAXOPT function and to check results of the SendFax() application. │ │ │ │ │ + This function will either return the number of STIR/SHAKEN identities, or return information on the specified identity. │ │ │ │ │ + To get the number of identities, just pass 'count' as the only parameter to the function. If you want to get information on a │ │ │ │ │ + specific STIR/SHAKEN identity, you can get the number of identities and then pass an index as the first parameter and one of │ │ │ │ │ + the values you would like to retrieve as the second parameter. │ │ │ │ │ + same => n,NoOp(Number of STIR/SHAKEN identities: ${STIR_SHAKEN(count)}) │ │ │ │ │ + same => n,NoOp(Identity ${STIR_SHAKEN(0, identity)} has attestation level ${STIR_SHAKEN(0, attestation)}) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - FAXOPT │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets/sets various pieces of information about a fax session. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Muting audio streams in the channel │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Must be one of │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - R/W Error Correction Mode (ECM) enable with 'yes', disable with 'no'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O FAX transmission error code upon failure. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Filename of the first file of the FAX transmission. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Filenames of all of the files in the FAX transmission (comma separated). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W FAX header information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W Local Station Identification. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W Minimum transfer rate set before transmission. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W Maximum transfer rate set before transmission. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W Modem type (v17/v27/v29). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W T38 fax gateway, with optional fax activity timeout in seconds (yes[,timeout]/no) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W Enable FAX detect with optional timeout in seconds (yes,t38,cng[,timeout]/no) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Number of pages transferred. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Negotiated transmission rate. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Remote Station Identification after transmission. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Negotiated image resolution after transmission. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Session ID of the FAX transmission. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Result Status of the FAX transmission. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Verbose Result Status of the FAX transmission. │ │ │ │ │ + │ │ │ │ │ + Inbound stream (to the PBX) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - R/W The timeout used for T.38 negotiation. │ │ │ │ │ + │ │ │ │ │ + Outbound stream (from the PBX) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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) │ │ │ │ │ + │ │ │ │ │ + Both streams │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - FAXOPT can be used to override the settings for a FAX session listed in │ │ │ │ │ - res_fax.conf │ │ │ │ │ - , │ │ │ │ │ - it can also be used to retrieve information about a FAX session that has finished eg. pages/status. │ │ │ │ │ - │ │ │ │ │ + The MUTEAUDIO function can be used to mute inbound (to the PBX) or outbound audio in a call. │ │ │ │ │ + exten => s,1,Set(MUTEAUDIO(in)=on) │ │ │ │ │ + exten => s,1,Set(MUTEAUDIO(in)=off) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - ReceiveFax │ │ │ │ │ - SendFax │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Lists active FAX sessions │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Will generate a series of FAXSession events with information about each FAXSession. Closes with │ │ │ │ │ - a FAXSessionsComplete event which includes a count of the included FAX sessions. This action works in │ │ │ │ │ - the same manner as the CLI command 'fax show sessions' │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A single list item for the FAXSessions AMI command │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Name of the channel responsible for the FAX session │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The FAX technology that the FAX session is using │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The numerical identifier for this particular session │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - FAX session passthru/relay type │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - FAX session operation type │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Current state of the FAX session │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - File or list of files associated with this FAX session │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when all FAXSession events are completed for a FAXSessions command │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Count of FAXSession events sent in response to FAXSessions action │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Responds with a detailed description of a single FAX session │ │ │ │ │ + │ │ │ │ │ + Mute an audio stream. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The session ID of the fax the user is interested in. │ │ │ │ │ + │ │ │ │ │ + The channel you want to mute. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set muting on inbound audio stream. (to the PBX) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set muting on outbound audio stream. (from the PBX) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set muting on inbound and outbound audio streams. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Turn muting on. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Turn muting off. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Provides details about a specific FAX session. The response will include a common subset of │ │ │ │ │ - the output from the CLI command 'fax show session <session_number>' for each technology. If the │ │ │ │ │ - FAX technolgy used by this session does not include a handler for FAXSession, then this action │ │ │ │ │ - will fail. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised in response to FAXSession manager command │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The numerical identifier for this particular session │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether error correcting mode is enabled for the FAX session. This field is not │ │ │ │ │ - included when operation is 'V.21 Detect' or if operation is 'gateway' and state is │ │ │ │ │ - 'Uninitialized' │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Bit rate of the FAX. This field is not included when operation is 'V.21 Detect' or │ │ │ │ │ - if operation is 'gateway' and state is 'Uninitialized'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Resolution of each page of the FAX. Will be in the format of X_RESxY_RES. This field │ │ │ │ │ - is not included if the operation is anything other than Receive/Transmit. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Current number of pages transferred during this FAX session. May change as the FAX │ │ │ │ │ - progresses. This field is not included when operation is 'V.21 Detect' or if operation is │ │ │ │ │ - 'gateway' and state is 'Uninitialized'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Filename of the image being sent/received for this FAX session. This field is not │ │ │ │ │ - included if Operation isn't 'send' or 'receive'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Total number of pages sent during this session. This field is not included if │ │ │ │ │ - Operation isn't 'send' or 'receive'. Will always be 0 for 'receive'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Total number of pages received during this session. This field is not included if │ │ │ │ │ - Operation is not 'send' or 'receive'. Will be 0 for 'send'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Total number of bad lines sent/received during this session. This field is not │ │ │ │ │ - included if Operation is not 'send' or 'received'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Responds with fax statistics │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Provides FAX statistics including the number of active sessions, reserved sessions, completed │ │ │ │ │ - sessions, failed sessions, and the number of receive/transmit attempts. This command provides all │ │ │ │ │ - of the non-technology specific information provided by the CLI command 'fax show stats' │ │ │ │ │ + Mute an incoming or outgoing audio stream on a channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised in response to FAXStats manager command │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of active FAX sessions │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of reserved FAX sessions │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Total FAX sessions for which Asterisk is/was the transmitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Total FAX sessions for which Asterisk is/was the recipient │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Total FAX sessions which have been completed successfully │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Total FAX sessions which failed to complete successfully │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - unbound │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - General options for res_resolver_unbound │ │ │ │ │ - │ │ │ │ │ - Full path to an optional hosts file │ │ │ │ │ - │ │ │ │ │ - Hosts specified in a hosts file will be resolved within the resolver itself. If a value │ │ │ │ │ - of system is provided the system-specific file will be used. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Full path to an optional resolv.conf file │ │ │ │ │ - │ │ │ │ │ - The resolv.conf file specifies the nameservers to contact when resolving queries. If a │ │ │ │ │ - value of system is provided the system-specific file will be used. If provided alongside explicit nameservers the │ │ │ │ │ - nameservers contained within the resolv.conf file will be used after all others. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Nameserver to use for queries │ │ │ │ │ - │ │ │ │ │ - An explicit nameserver can be specified which is used for resolving queries. If multiple │ │ │ │ │ - nameserver lines are specified the first will be the primary with failover occurring, in order, to the other │ │ │ │ │ - nameservers as backups. If provided alongside a resolv.conf file the nameservers explicitly specified will be │ │ │ │ │ - used before all others. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unbound debug level │ │ │ │ │ - │ │ │ │ │ - The debugging level for the unbound resolver. While there is no explicit range generally │ │ │ │ │ - the higher the number the more debug is output. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Trust anchor file │ │ │ │ │ - │ │ │ │ │ - Full path to a file with DS and DNSKEY records in zone file format. This file is provided │ │ │ │ │ - to unbound and is used as a source for trust anchors. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List the current known presence states. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This will list out all known presence states in a │ │ │ │ │ - sequence of │ │ │ │ │ - PresenceStateChange │ │ │ │ │ - events. │ │ │ │ │ - When finished, a │ │ │ │ │ - PresenceStateListComplete │ │ │ │ │ - event │ │ │ │ │ - will be emitted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PresenceState │ │ │ │ │ - PresenceStatus │ │ │ │ │ - PRESENCE_STATE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicates the end of the list the current known extension states. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conveys the status of the event list. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conveys the number of statuses reported. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - gmime │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - dahdi │ │ │ │ │ + │ │ │ │ │ + libxml2 │ │ │ │ │ + libxslt │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ - res_sorcery_config │ │ │ │ │ + res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject common configuration │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Asterisk startup time options for PJPROJECT │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The id of this object, as well as its type, must be │ │ │ │ │ - 'startup' or it won't be found. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must be of type 'startup'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Initial maximum pjproject logging level to log. │ │ │ │ │ - │ │ │ │ │ - Valid values are: 0-6, and default │ │ │ │ │ - │ │ │ │ │ - This option is needed very early in the startup process │ │ │ │ │ - so it can only be read from config files because the │ │ │ │ │ - modules for other methods have not been loaded yet. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PJPROJECT to Asterisk Log Level Mapping │ │ │ │ │ - │ │ │ │ │ - Warnings and errors in the pjproject libraries are generally handled │ │ │ │ │ - by Asterisk. In many cases, Asterisk wouldn't even consider them to │ │ │ │ │ - be warnings or errors so the messages emitted by pjproject directly │ │ │ │ │ - are either superfluous or misleading. The 'log_mappings' │ │ │ │ │ - object allows mapping the pjproject levels to Asterisk levels, or nothing. │ │ │ │ │ - │ │ │ │ │ - The id of this object, as well as its type, must be │ │ │ │ │ - 'log_mappings' or it won't be found. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must be of type 'log_mappings'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A comma separated list of pjproject log levels to map to Asterisk LOG_ERROR. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A comma separated list of pjproject log levels to map to Asterisk LOG_WARNING. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A comma separated list of pjproject log levels to map to Asterisk LOG_NOTICE. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A comma separated list of pjproject log levels to map to Asterisk LOG_VERBOSE. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A comma separated list of pjproject log levels to map to Asterisk LOG_DEBUG. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A comma separated list of pjproject log levels to map to Asterisk LOG_TRACE. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_stasis │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + sqlite3 │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - kqueue │ │ │ │ │ - launchd │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ SIP Resource using PJProject │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Endpoint │ │ │ │ │ │ │ │ │ │ @@ -38031,28 +38031,14 @@ │ │ │ │ │ │ │ │ │ │ There was an issue specific to the field specified │ │ │ │ │ (value not valid or field name not found) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - mysqlclient │ │ │ │ │ - deprecated │ │ │ │ │ - func_odbc │ │ │ │ │ - 1.8 │ │ │ │ │ - 19 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - mysqlclient │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ R/W Fax Detect │ │ │ │ │ @@ -38092,19 +38078,33 @@ │ │ │ │ │ before the call fails. "Forwards" in this case refers to redirects by phones as well │ │ │ │ │ as calls to local channels. │ │ │ │ │ │ │ │ │ │ Note that this has no relation to the SIP Max-Forwards header. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + bluetooth │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ mysqlclient │ │ │ │ │ deprecated │ │ │ │ │ cdr_adaptive_odbc │ │ │ │ │ 1.8 │ │ │ │ │ 19 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - bluetooth │ │ │ │ │ + │ │ │ │ │ + mysqlclient │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + mysqlclient │ │ │ │ │ + deprecated │ │ │ │ │ + func_odbc │ │ │ │ │ + 1.8 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │