--- /srv/reproducible-results/rbuild-debian/r-b-build.xBl5mrac/b1/asterisk_16.28.0~dfsg-0+deb11u3_i386.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.xBl5mrac/b2/asterisk_16.28.0~dfsg-0+deb11u3_i386.changes ├── Files │ @@ -21,8 +21,8 @@ │ 698264761600e51f5cdefef7d4f2a92c 282212 debug optional asterisk-voicemail-imapstorage-dbgsym_16.28.0~dfsg-0+deb11u3_i386.deb │ 81484863410d215f13b6533b13b7819d 1454080 comm optional asterisk-voicemail-imapstorage_16.28.0~dfsg-0+deb11u3_i386.deb │ 345e3d1c6386f7a445d694baa66e0f5d 249572 debug optional asterisk-voicemail-odbcstorage-dbgsym_16.28.0~dfsg-0+deb11u3_i386.deb │ b9d42aa24d323338621d759e1ffe582c 1442324 comm optional asterisk-voicemail-odbcstorage_16.28.0~dfsg-0+deb11u3_i386.deb │ 52d878902e801ede2c2b3c780e3648c7 1436412 comm optional asterisk-voicemail_16.28.0~dfsg-0+deb11u3_i386.deb │ 44ffddb1609a92f890c5eba94fd1804b 65172 debug optional asterisk-vpb-dbgsym_16.28.0~dfsg-0+deb11u3_i386.deb │ 83305af82131a36372dc660db6b0e7f6 1364976 comm optional asterisk-vpb_16.28.0~dfsg-0+deb11u3_i386.deb │ - 2f609ac28b5fc500fcc0c07673440a9f 2478368 comm optional asterisk_16.28.0~dfsg-0+deb11u3_i386.deb │ + 5fad06b76d54ba09cbae117d285c6938 2478272 comm optional asterisk_16.28.0~dfsg-0+deb11u3_i386.deb ├── asterisk_16.28.0~dfsg-0+deb11u3_i386.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 2469940 2023-06-22 12:47:22.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 2469844 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,77 +1,675 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - 19 │ │ │ │ │ - 21 │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List SKINNY devices (text format). │ │ │ │ │ + │ │ │ │ │ + Return a dial string for dialing all contacts on an AOR. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Name of the endpoint │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Name of an AOR to use, if not specified the configured AORs on the endpoint are used │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Optional request user to use in the request URI │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Lists Skinny devices in text format with details on current status. │ │ │ │ │ - Devicelist will follow as separate events, followed by a final event called │ │ │ │ │ - DevicelistComplete. │ │ │ │ │ + Returns a properly formatted dial string for dialing all contacts on an AOR. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show SKINNY device (text format). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Media and codec offerings to be set on an outbound SIP channel prior to dialing. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The device name you want to check. │ │ │ │ │ + │ │ │ │ │ + types of media offered │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Show one SKINNY device with details on current status. │ │ │ │ │ + When read, returns the codecs offered based upon the media choice. │ │ │ │ │ + │ │ │ │ │ + When written, sets the codecs to offer when an outbound dial attempt is made, │ │ │ │ │ + or when a session refresh is sent using │ │ │ │ │ + PJSIP_SEND_SESSION_REFRESH │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List SKINNY lines (text format). │ │ │ │ │ + │ │ │ │ │ + PJSIP_SEND_SESSION_REFRESH │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 13.18.0 │ │ │ │ │ + 14.7.0 │ │ │ │ │ + 15.1.0 │ │ │ │ │ + 16.0.0 │ │ │ │ │ + │ │ │ │ │ + Get or change the DTMF mode for a SIP call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When read, returns the current DTMF mode │ │ │ │ │ + When written, sets the current DTMF mode │ │ │ │ │ + This function uses the same DTMF mode naming as the dtmf_mode configuration option │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get or change the on-hold behavior for a SIP call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When read, returns the current moh passthrough mode │ │ │ │ │ + When written, sets the current moh passthrough mode │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + yes │ │ │ │ │ + , on-hold re-INVITEs are sent. If │ │ │ │ │ + no │ │ │ │ │ + , music on hold is generated. │ │ │ │ │ + │ │ │ │ │ + This function can be used to override the moh_passthrough configuration option │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 13.12.0 │ │ │ │ │ + 14.1.0 │ │ │ │ │ + 15.0.0 │ │ │ │ │ + │ │ │ │ │ + W/O: Initiate a session refresh via an UPDATE or re-INVITE on an established media session │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The type of update to send. Default is │ │ │ │ │ + invite │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send the session refresh as a re-INVITE. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send the session refresh as an UPDATE. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Lists Skinny lines in text format with details on current status. │ │ │ │ │ - Linelist will follow as separate events, followed by a final event called │ │ │ │ │ - LinelistComplete. │ │ │ │ │ + This function will cause the PJSIP stack to immediately refresh │ │ │ │ │ + the media session for the channel. This will be done using either a │ │ │ │ │ + re-INVITE (default) or an UPDATE request. │ │ │ │ │ + │ │ │ │ │ + This is most useful when combined with the │ │ │ │ │ + PJSIP_MEDIA_OFFER │ │ │ │ │ + dialplan function, as it allows the formats in use on a channel to be │ │ │ │ │ + re-negotiated after call setup. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The formats the endpoint supports are │ │ │ │ │ + not │ │ │ │ │ + checked or enforced by this function. Using this function to offer │ │ │ │ │ + formats not supported by the endpoint │ │ │ │ │ + may │ │ │ │ │ + result │ │ │ │ │ + in a loss of media. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ; Within some existing extension on an answered channel │ │ │ │ │ + same => n,Set(PJSIP_MEDIA_OFFER(audio)=!all,g722) │ │ │ │ │ + same => n,Set(PJSIP_SEND_SESSION_REFRESH()=invite) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show SKINNY line (text format). │ │ │ │ │ + │ │ │ │ │ + PJSIP_MEDIA_OFFER │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 13.24.0 │ │ │ │ │ + 16.1.0 │ │ │ │ │ + 17.0.0 │ │ │ │ │ + │ │ │ │ │ + Parse an uri and return a type part of the URI. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The line name you want to check. │ │ │ │ │ + │ │ │ │ │ + URI to parse │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + type │ │ │ │ │ + parameter specifies which URI part to read │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Display name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + URI scheme. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + User part. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Password part. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Host part. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Port number, or zero. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + User parameter. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Method parameter. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transport parameter. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + TTL param, or -1. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Loose routing param, or zero. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maddr param. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Show one SKINNY line with details on current status. │ │ │ │ │ + Parse an URI and return a specified part of the URI. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Retrieve media related information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When │ │ │ │ │ + rtp │ │ │ │ │ + is specified, the │ │ │ │ │ + type │ │ │ │ │ + parameter must be provided. It specifies │ │ │ │ │ + which RTP parameter to read. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve the local address for RTP. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve the remote address for RTP. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If direct media is enabled, this address is the remote address │ │ │ │ │ + used for RTP. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether or not the media stream is encrypted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The media stream is not encrypted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The media stream is encrypted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether or not the media stream is currently restricted │ │ │ │ │ + due to a call hold. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The media stream is not held. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The media stream is held. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When │ │ │ │ │ + rtp │ │ │ │ │ + is specified, the │ │ │ │ │ + media_type │ │ │ │ │ + parameter may be provided. It specifies │ │ │ │ │ + which media stream the chosen RTP parameter should be retrieved │ │ │ │ │ + from. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve information from the audio media stream. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, │ │ │ │ │ + audio │ │ │ │ │ + is used │ │ │ │ │ + by default. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve information from the video media stream. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Retrieve RTCP statistics. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When │ │ │ │ │ + rtcp │ │ │ │ │ + is specified, the │ │ │ │ │ + statistic │ │ │ │ │ + parameter must be provided. It specifies │ │ │ │ │ + which RTCP statistic parameter to read. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve a summary of all RTCP statistics. │ │ │ │ │ + The following data items are returned in a semi-colon │ │ │ │ │ + delineated list: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our Synchronization Source identifier │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their Synchronization Source identifier │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our lost packet count │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Received packet jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Received packet count │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transmitted packet jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transmitted packet count │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Remote lost packet count │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Round trip time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve a summary of all RTCP Jitter statistics. │ │ │ │ │ + The following data items are returned in a semi-colon │ │ │ │ │ + delineated list: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our minimum jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our max jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our average jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our jitter standard deviation │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their minimum jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their max jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their average jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their jitter standard deviation │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve a summary of all RTCP packet loss statistics. │ │ │ │ │ + The following data items are returned in a semi-colon │ │ │ │ │ + delineated list: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our minimum lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our max lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our average lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our lost packets standard deviation │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their minimum lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their max lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their average lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their lost packets standard deviation │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve a summary of all RTCP round trip time information. │ │ │ │ │ + The following data items are returned in a semi-colon │ │ │ │ │ + delineated list: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Minimum round trip time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum round trip time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Average round trip time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Standard deviation round trip time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transmitted packet count │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Received packet count │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transmitted packet jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Received packet jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their max jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their minimum jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their average jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their jitter standard deviation │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our max jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our minimum jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our average jitter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our jitter standard deviation │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transmitted packet loss │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Received packet loss │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their max lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their minimum lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their average lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their lost packets standard deviation │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our max lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our minimum lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our average lost packets │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our lost packets standard deviation │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Round trip time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum round trip time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Minimum round trip time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Average round trip time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Standard deviation round trip time │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Our Synchronization Source identifier │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Their Synchronization Source identifier │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When │ │ │ │ │ + rtcp │ │ │ │ │ + is specified, the │ │ │ │ │ + media_type │ │ │ │ │ + parameter may be provided. It specifies │ │ │ │ │ + which media stream the chosen RTCP parameter should be retrieved │ │ │ │ │ + from. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve information from the audio media stream. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, │ │ │ │ │ + audio │ │ │ │ │ + is used │ │ │ │ │ + by default. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve information from the video media stream. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O The name of the endpoint associated with this channel. │ │ │ │ │ + Use the │ │ │ │ │ + PJSIP_ENDPOINT │ │ │ │ │ + function to obtain │ │ │ │ │ + further endpoint related information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O The name of the contact associated with this channel. │ │ │ │ │ + Use the │ │ │ │ │ + PJSIP_CONTACT │ │ │ │ │ + function to obtain │ │ │ │ │ + further contact related information. Note this may not be present and if so │ │ │ │ │ + is only available on outgoing legs. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O The name of the AOR associated with this channel. │ │ │ │ │ + Use the │ │ │ │ │ + PJSIP_AOR │ │ │ │ │ + function to obtain │ │ │ │ │ + further AOR related information. Note this may not be present and if so │ │ │ │ │ + is only available on outgoing legs. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Obtain information about the current PJSIP channel and its │ │ │ │ │ + session. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + When │ │ │ │ │ + pjsip │ │ │ │ │ + is specified, the │ │ │ │ │ + type │ │ │ │ │ + parameter must be provided. It specifies │ │ │ │ │ + which signalling parameter to read. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The SIP call-id. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether or not the signalling uses a secure transport. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The signalling uses a non-secure transport. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The signalling uses a secure transport. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The contact URI where requests are sent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The local URI. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Tag in From header │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The remote URI. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Tag in To header │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The request URI of the incoming │ │ │ │ │ + INVITE │ │ │ │ │ + associated with the creation of this channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The current state of any T.38 fax on this channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + T.38 faxing is disabled on this channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Asterisk has sent a │ │ │ │ │ + re-INVITE │ │ │ │ │ + to the remote end to initiate a T.38 fax. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The remote end has sent a │ │ │ │ │ + re-INVITE │ │ │ │ │ + to Asterisk to initiate a T.38 fax. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A T.38 fax session has been enabled. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A T.38 fax session was attempted but was rejected. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + On inbound calls, the full IP address and port number that │ │ │ │ │ + the │ │ │ │ │ + INVITE │ │ │ │ │ + request was received on. On outbound │ │ │ │ │ + calls, the full IP address and port number that the │ │ │ │ │ + INVITE │ │ │ │ │ + request was transmitted from. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + On inbound calls, the full IP address and port number that │ │ │ │ │ + the │ │ │ │ │ + INVITE │ │ │ │ │ + request was received from. On outbound │ │ │ │ │ + calls, the full IP address and port number that the │ │ │ │ │ + INVITE │ │ │ │ │ + request was transmitted to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ; Log the current Call-ID │ │ │ │ │ + same => n,Log(NOTICE, ${CHANNEL(pjsip,call-id)}) │ │ │ │ │ + │ │ │ │ │ + ; Log the destination address of the audio stream │ │ │ │ │ + same => n,Log(NOTICE, ${CHANNEL(rtp,dest)}) │ │ │ │ │ + │ │ │ │ │ + ; Store the round-trip time associated with a │ │ │ │ │ + ; video stream in the CDR field video-rtt │ │ │ │ │ + same => n,Set(CDR(video-rtt)=${CHANNEL(rtcp,rtt,video)}) │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ ixjuser │ │ │ │ │ deprecated │ │ │ │ │ 16 │ │ │ │ │ 19 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - isdnnet │ │ │ │ │ - misdn │ │ │ │ │ - suppserv │ │ │ │ │ - deprecated │ │ │ │ │ - chan_dahdi │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + 19 │ │ │ │ │ + 21 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ res_crypto │ │ │ │ │ res_http_websocket │ │ │ │ │ extended │ │ │ │ │ 17 │ │ │ │ │ 21 │ │ │ │ │ @@ -487,196 +1085,523 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + portaudio │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_crypto │ │ │ │ │ - crypto │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Provision a calling IAXy with a given template. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If not specified, defaults to │ │ │ │ │ - default │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Provisions the calling IAXy (assuming the calling entity is in fact an IAXy) with the │ │ │ │ │ - given │ │ │ │ │ - template │ │ │ │ │ - . Returns │ │ │ │ │ - -1 │ │ │ │ │ - on error │ │ │ │ │ - or │ │ │ │ │ - 0 │ │ │ │ │ - on success. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets IAX peer information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - peername │ │ │ │ │ - is specified to this value, return the IP address of the │ │ │ │ │ - endpoint of the current channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - peername │ │ │ │ │ - is specified, valid items are: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - (default) The IP address. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The peer's status (if │ │ │ │ │ - qualify=yes │ │ │ │ │ - ) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The configured mailbox. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The configured context. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The epoch time of the next expire. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is it dynamic? (yes/no). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The configured Caller ID name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The configured Caller ID number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The configured codecs. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Preferred codec index number │ │ │ │ │ - x │ │ │ │ │ - (beginning │ │ │ │ │ - with │ │ │ │ │ - 0 │ │ │ │ │ - ) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets information associated with the specified IAX2 peer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SIPPEER │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets or retrieves a remote variable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets a variable that is sent to a remote IAX2 peer during call setup. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Published when a malicious call ID request arrives. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + oss │ │ │ │ │ + deprecated │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - R/O Get the peer's osptoken. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - R/O Get the peer's ip address. │ │ │ │ │ + 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 peer's username. │ │ │ │ │ + R/O Get the name of the peer. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - R/O Get the if the IAX channel is secured. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O │ │ │ │ │ + 1 │ │ │ │ │ + if T38 is offered or enabled in this channel, │ │ │ │ │ + otherwise │ │ │ │ │ + 0 │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - R/O Get the if the IAX channel is secured. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List IAX peers. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List IAX Peers. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List all the IAX peers. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show IAX Netstats. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show IAX channels network statistics. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show IAX registrations. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show IAX registrations. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - portaudio │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + iksemel │ │ │ │ │ + res_xmpp │ │ │ │ │ + openssl │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - oss │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + alsa │ │ │ │ │ + extended │ │ │ │ │ + 19 │ │ │ │ │ + 21 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ dahdi │ │ │ │ │ tonezone │ │ │ │ │ res_smdi │ │ │ │ │ pri │ │ │ │ │ ss7 │ │ │ │ │ openr2 │ │ │ │ │ @@ -1122,1229 +2047,343 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ The DAHDI channel associated with this channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Published when a malicious call ID request arrives. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - alsa │ │ │ │ │ - extended │ │ │ │ │ - 19 │ │ │ │ │ - 21 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - vpb │ │ │ │ │ - yes │ │ │ │ │ + │ │ │ │ │ + nbs │ │ │ │ │ deprecated │ │ │ │ │ 16 │ │ │ │ │ 19 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_crypto │ │ │ │ │ + crypto │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Return a dial string for dialing all contacts on an AOR. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Name of the endpoint │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Name of an AOR to use, if not specified the configured AORs on the endpoint are used │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optional request user to use in the request URI │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns a properly formatted dial string for dialing all contacts on an AOR. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Media and codec offerings to be set on an outbound SIP channel prior to dialing. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - types of media offered │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When read, returns the codecs offered based upon the media choice. │ │ │ │ │ - │ │ │ │ │ - When written, sets the codecs to offer when an outbound dial attempt is made, │ │ │ │ │ - or when a session refresh is sent using │ │ │ │ │ - PJSIP_SEND_SESSION_REFRESH │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PJSIP_SEND_SESSION_REFRESH │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 13.18.0 │ │ │ │ │ - 14.7.0 │ │ │ │ │ - 15.1.0 │ │ │ │ │ - 16.0.0 │ │ │ │ │ - │ │ │ │ │ - Get or change the DTMF mode for a SIP call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When read, returns the current DTMF mode │ │ │ │ │ - When written, sets the current DTMF mode │ │ │ │ │ - This function uses the same DTMF mode naming as the dtmf_mode configuration option │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get or change the on-hold behavior for a SIP call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When read, returns the current moh passthrough mode │ │ │ │ │ - When written, sets the current moh passthrough mode │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - yes │ │ │ │ │ - , on-hold re-INVITEs are sent. If │ │ │ │ │ - no │ │ │ │ │ - , music on hold is generated. │ │ │ │ │ - │ │ │ │ │ - This function can be used to override the moh_passthrough configuration option │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 13.12.0 │ │ │ │ │ - 14.1.0 │ │ │ │ │ - 15.0.0 │ │ │ │ │ - │ │ │ │ │ - W/O: Initiate a session refresh via an UPDATE or re-INVITE on an established media session │ │ │ │ │ + │ │ │ │ │ + Provision a calling IAXy with a given template. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - The type of update to send. Default is │ │ │ │ │ - invite │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + default │ │ │ │ │ . │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send the session refresh as a re-INVITE. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send the session refresh as an UPDATE. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function will cause the PJSIP stack to immediately refresh │ │ │ │ │ - the media session for the channel. This will be done using either a │ │ │ │ │ - re-INVITE (default) or an UPDATE request. │ │ │ │ │ │ │ │ │ │ - This is most useful when combined with the │ │ │ │ │ - PJSIP_MEDIA_OFFER │ │ │ │ │ - dialplan function, as it allows the formats in use on a channel to be │ │ │ │ │ - re-negotiated after call setup. │ │ │ │ │ + Provisions the calling IAXy (assuming the calling entity is in fact an IAXy) with the │ │ │ │ │ + given │ │ │ │ │ + template │ │ │ │ │ + . Returns │ │ │ │ │ + -1 │ │ │ │ │ + on error │ │ │ │ │ + or │ │ │ │ │ + 0 │ │ │ │ │ + on success. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The formats the endpoint supports are │ │ │ │ │ - not │ │ │ │ │ - checked or enforced by this function. Using this function to offer │ │ │ │ │ - formats not supported by the endpoint │ │ │ │ │ - may │ │ │ │ │ - result │ │ │ │ │ - in a loss of media. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ; Within some existing extension on an answered channel │ │ │ │ │ - same => n,Set(PJSIP_MEDIA_OFFER(audio)=!all,g722) │ │ │ │ │ - same => n,Set(PJSIP_SEND_SESSION_REFRESH()=invite) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - PJSIP_MEDIA_OFFER │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 13.24.0 │ │ │ │ │ - 16.1.0 │ │ │ │ │ - 17.0.0 │ │ │ │ │ - │ │ │ │ │ - Parse an uri and return a type part of the URI. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets IAX peer information. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - URI to parse │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + peername │ │ │ │ │ + is specified to this value, return the IP address of the │ │ │ │ │ + endpoint of the current channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - The │ │ │ │ │ - type │ │ │ │ │ - parameter specifies which URI part to read │ │ │ │ │ + If │ │ │ │ │ + peername │ │ │ │ │ + is specified, valid items are: │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Display name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - URI scheme. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - User part. │ │ │ │ │ + │ │ │ │ │ + (default) The IP address. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Password part. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The peer's status (if │ │ │ │ │ + qualify=yes │ │ │ │ │ + ) │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Host part. │ │ │ │ │ + │ │ │ │ │ + The configured mailbox. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Port number, or zero. │ │ │ │ │ + │ │ │ │ │ + The configured context. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - User parameter. │ │ │ │ │ + │ │ │ │ │ + The epoch time of the next expire. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Method parameter. │ │ │ │ │ + │ │ │ │ │ + Is it dynamic? (yes/no). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Transport parameter. │ │ │ │ │ + │ │ │ │ │ + The configured Caller ID name. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - TTL param, or -1. │ │ │ │ │ + │ │ │ │ │ + The configured Caller ID number. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Loose routing param, or zero. │ │ │ │ │ + │ │ │ │ │ + The configured codecs. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Maddr param. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Preferred codec index number │ │ │ │ │ + x │ │ │ │ │ + (beginning │ │ │ │ │ + with │ │ │ │ │ + 0 │ │ │ │ │ + ) │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Parse an URI and return a specified part of the URI. │ │ │ │ │ + Gets information associated with the specified IAX2 peer. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + SIPPEER │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Sets or retrieves a remote variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets a variable that is sent to a remote IAX2 peer during call setup. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - R/O Retrieve media related information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When │ │ │ │ │ - rtp │ │ │ │ │ - is specified, the │ │ │ │ │ - type │ │ │ │ │ - parameter must be provided. It specifies │ │ │ │ │ - which RTP parameter to read. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve the local address for RTP. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve the remote address for RTP. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If direct media is enabled, this address is the remote address │ │ │ │ │ - used for RTP. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether or not the media stream is encrypted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The media stream is not encrypted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The media stream is encrypted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether or not the media stream is currently restricted │ │ │ │ │ - due to a call hold. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The media stream is not held. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The media stream is held. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When │ │ │ │ │ - rtp │ │ │ │ │ - is specified, the │ │ │ │ │ - media_type │ │ │ │ │ - parameter may be provided. It specifies │ │ │ │ │ - which media stream the chosen RTP parameter should be retrieved │ │ │ │ │ - from. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve information from the audio media stream. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If not specified, │ │ │ │ │ - audio │ │ │ │ │ - is used │ │ │ │ │ - by default. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve information from the video media stream. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Retrieve RTCP statistics. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When │ │ │ │ │ - rtcp │ │ │ │ │ - is specified, the │ │ │ │ │ - statistic │ │ │ │ │ - parameter must be provided. It specifies │ │ │ │ │ - which RTCP statistic parameter to read. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve a summary of all RTCP statistics. │ │ │ │ │ - The following data items are returned in a semi-colon │ │ │ │ │ - delineated list: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our Synchronization Source identifier │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their Synchronization Source identifier │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our lost packet count │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Received packet jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Received packet count │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transmitted packet jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transmitted packet count │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Remote lost packet count │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Round trip time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve a summary of all RTCP Jitter statistics. │ │ │ │ │ - The following data items are returned in a semi-colon │ │ │ │ │ - delineated list: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our minimum jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our max jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our average jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our jitter standard deviation │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their minimum jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their max jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their average jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their jitter standard deviation │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve a summary of all RTCP packet loss statistics. │ │ │ │ │ - The following data items are returned in a semi-colon │ │ │ │ │ - delineated list: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our minimum lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our max lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our average lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our lost packets standard deviation │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their minimum lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their max lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their average lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their lost packets standard deviation │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve a summary of all RTCP round trip time information. │ │ │ │ │ - The following data items are returned in a semi-colon │ │ │ │ │ - delineated list: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Minimum round trip time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum round trip time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Average round trip time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Standard deviation round trip time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transmitted packet count │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Received packet count │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transmitted packet jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Received packet jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their max jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their minimum jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their average jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their jitter standard deviation │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our max jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our minimum jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our average jitter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our jitter standard deviation │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transmitted packet loss │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Received packet loss │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their max lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their minimum lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their average lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their lost packets standard deviation │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our max lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our minimum lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our average lost packets │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our lost packets standard deviation │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Round trip time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum round trip time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Minimum round trip time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Average round trip time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Standard deviation round trip time │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Our Synchronization Source identifier │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Their Synchronization Source identifier │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When │ │ │ │ │ - rtcp │ │ │ │ │ - is specified, the │ │ │ │ │ - media_type │ │ │ │ │ - parameter may be provided. It specifies │ │ │ │ │ - which media stream the chosen RTCP parameter should be retrieved │ │ │ │ │ - from. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve information from the audio media stream. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If not specified, │ │ │ │ │ - audio │ │ │ │ │ - is used │ │ │ │ │ - by default. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve information from the video media stream. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + R/O Get the peer's osptoken. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O The name of the endpoint associated with this channel. │ │ │ │ │ - Use the │ │ │ │ │ - PJSIP_ENDPOINT │ │ │ │ │ - function to obtain │ │ │ │ │ - further endpoint related information. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + R/O Get the peer's ip address. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O The name of the contact associated with this channel. │ │ │ │ │ - Use the │ │ │ │ │ - PJSIP_CONTACT │ │ │ │ │ - function to obtain │ │ │ │ │ - further contact related information. Note this may not be present and if so │ │ │ │ │ - is only available on outgoing legs. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + R/O Get the peer's username. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O The name of the AOR associated with this channel. │ │ │ │ │ - Use the │ │ │ │ │ - PJSIP_AOR │ │ │ │ │ - function to obtain │ │ │ │ │ - further AOR related information. Note this may not be present and if so │ │ │ │ │ - is only available on outgoing legs. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + R/O Get the if the IAX channel is secured. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - R/O Obtain information about the current PJSIP channel and its │ │ │ │ │ - session. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When │ │ │ │ │ - pjsip │ │ │ │ │ - is specified, the │ │ │ │ │ - type │ │ │ │ │ - parameter must be provided. It specifies │ │ │ │ │ - which signalling parameter to read. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The SIP call-id. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether or not the signalling uses a secure transport. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The signalling uses a non-secure transport. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The signalling uses a secure transport. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The contact URI where requests are sent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The local URI. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Tag in From header │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The remote URI. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Tag in To header │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The request URI of the incoming │ │ │ │ │ - INVITE │ │ │ │ │ - associated with the creation of this channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The current state of any T.38 fax on this channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - T.38 faxing is disabled on this channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Asterisk has sent a │ │ │ │ │ - re-INVITE │ │ │ │ │ - to the remote end to initiate a T.38 fax. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The remote end has sent a │ │ │ │ │ - re-INVITE │ │ │ │ │ - to Asterisk to initiate a T.38 fax. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A T.38 fax session has been enabled. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A T.38 fax session was attempted but was rejected. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - On inbound calls, the full IP address and port number that │ │ │ │ │ - the │ │ │ │ │ - INVITE │ │ │ │ │ - request was received on. On outbound │ │ │ │ │ - calls, the full IP address and port number that the │ │ │ │ │ - INVITE │ │ │ │ │ - request was transmitted from. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - On inbound calls, the full IP address and port number that │ │ │ │ │ - the │ │ │ │ │ - INVITE │ │ │ │ │ - request was received from. On outbound │ │ │ │ │ - calls, the full IP address and port number that the │ │ │ │ │ - INVITE │ │ │ │ │ - request was transmitted to. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + R/O Get the if the IAX channel is secured. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - ; Log the current Call-ID │ │ │ │ │ - same => n,Log(NOTICE, ${CHANNEL(pjsip,call-id)}) │ │ │ │ │ - │ │ │ │ │ - ; Log the destination address of the audio stream │ │ │ │ │ - same => n,Log(NOTICE, ${CHANNEL(rtp,dest)}) │ │ │ │ │ - │ │ │ │ │ - ; Store the round-trip time associated with a │ │ │ │ │ - ; video stream in the CDR field video-rtt │ │ │ │ │ - same => n,Set(CDR(video-rtt)=${CHANNEL(rtcp,rtt,video)}) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - iksemel │ │ │ │ │ - res_xmpp │ │ │ │ │ - openssl │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jingle Channel Driver │ │ │ │ │ + │ │ │ │ │ + List IAX peers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List IAX Peers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + List all the IAX peers. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show IAX Netstats. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show IAX channels network statistics. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show IAX registrations. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show IAX registrations. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - 19 │ │ │ │ │ - 21 │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - nbs │ │ │ │ │ + │ │ │ │ │ + vpb │ │ │ │ │ + yes │ │ │ │ │ deprecated │ │ │ │ │ 16 │ │ │ │ │ 19 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ res_rtp_multicast │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + 19 │ │ │ │ │ + 21 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + List SKINNY devices (text format). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Lists Skinny devices in text format with details on current status. │ │ │ │ │ + Devicelist will follow as separate events, followed by a final event called │ │ │ │ │ + DevicelistComplete. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show SKINNY device (text format). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The device name you want to check. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show one SKINNY device with details on current status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List SKINNY lines (text format). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Lists Skinny lines in text format with details on current status. │ │ │ │ │ + Linelist will follow as separate events, followed by a final event called │ │ │ │ │ + LinelistComplete. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show SKINNY line (text format). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The line name you want to check. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show one SKINNY line with details on current status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - lua │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_ael_share │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Launch subroutine built with AEL │ │ │ │ │ + │ │ │ │ │ + Add an extension to the dialplan │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Named subroutine to execute. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Context where the extension will be created. The context will │ │ │ │ │ + be created if it does not already exist. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Name of the extension that will be created (may include callerid match by separating │ │ │ │ │ + with '/') │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Priority being added to this extension. Must be either │ │ │ │ │ + hint │ │ │ │ │ + or a │ │ │ │ │ + numerical value. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The application to use for this extension at the requested priority │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Arguments to the application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set to 'yes', '1', 'true' or any of the other values we evaluate as true, then │ │ │ │ │ + if an extension already exists at the requested context, extension, and priority it will │ │ │ │ │ + be overwritten. Otherwise, the existing extension will remain and the action will fail. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Remove an extension from the dialplan │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Context of the extension being removed │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Name of the extension being removed (may include callerid match by separating with '/') │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If provided, only remove this priority from the extension instead of all │ │ │ │ │ + priorities in the extension. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + lua │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ zlib │ │ │ │ │ res_crypto │ │ │ │ │ crypto │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -2430,1912 +2469,1041 @@ │ │ │ │ │ This function will retrieve results from a previous use\n" │ │ │ │ │ of the │ │ │ │ │ DUNDIQUERY │ │ │ │ │ function. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_ael_share │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Add an extension to the dialplan │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Context where the extension will be created. The context will │ │ │ │ │ - be created if it does not already exist. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Name of the extension that will be created (may include callerid match by separating │ │ │ │ │ - with '/') │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Priority being added to this extension. Must be either │ │ │ │ │ - hint │ │ │ │ │ - or a │ │ │ │ │ - numerical value. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The application to use for this extension at the requested priority │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Arguments to the application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set to 'yes', '1', 'true' or any of the other values we evaluate as true, then │ │ │ │ │ - if an extension already exists at the requested context, extension, and priority it will │ │ │ │ │ - be overwritten. Otherwise, the existing extension will remain and the action will fail. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Remove an extension from the dialplan │ │ │ │ │ + │ │ │ │ │ + Launch subroutine built with AEL │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Context of the extension being removed │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Name of the extension being removed (may include callerid match by separating with '/') │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If provided, only remove this priority from the extension instead of all │ │ │ │ │ - priorities in the extension. │ │ │ │ │ + │ │ │ │ │ + Named subroutine to execute. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.24.0 │ │ │ │ │ - 18.10.0 │ │ │ │ │ - 19.2.0 │ │ │ │ │ - │ │ │ │ │ - Detects SF digits on a channel and saves them to a variable. │ │ │ │ │ + │ │ │ │ │ + Say a noun in declined form in order to count things │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The input digits will be stored in the given │ │ │ │ │ - variable │ │ │ │ │ - name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum number of digits to read. Default is unlimited. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of seconds to wait for all digits, if greater │ │ │ │ │ - than │ │ │ │ │ - 0 │ │ │ │ │ - . Can be floating point. Default │ │ │ │ │ - is no timeout. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The frequency for which to detect pulsed digits. │ │ │ │ │ - Default is 2600 Hz. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - Reads SF digits from the user in to the given │ │ │ │ │ - variable │ │ │ │ │ - . │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application does not automatically answer the channel and │ │ │ │ │ - should be preceded with │ │ │ │ │ - Answer │ │ │ │ │ - or │ │ │ │ │ - Progress │ │ │ │ │ - as needed. │ │ │ │ │ + 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 is the status of the read operation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + This application does not automatically answer and should be │ │ │ │ │ + preceeded by an application such as Answer() or Progress. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ReceiveMF │ │ │ │ │ - SendMF │ │ │ │ │ - SendSF │ │ │ │ │ - Read │ │ │ │ │ + SayCountedAdj │ │ │ │ │ + SayNumber │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.24.0 │ │ │ │ │ - 18.10.0 │ │ │ │ │ - 19.2.0 │ │ │ │ │ - │ │ │ │ │ - Sends arbitrary SF digits on the current or specified channel. │ │ │ │ │ + │ │ │ │ │ + Say a adjective in declined form in order to count things │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List of digits 0-9 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. │ │ │ │ │ + │ │ │ │ │ + The number of things │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Frequency to use. (defaults to 2600 Hz). │ │ │ │ │ + │ │ │ │ │ + File name stem for the adjective │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Channel where digits will be played │ │ │ │ │ + │ │ │ │ │ + The gender of the noun modified, one of 'm', 'f', 'n', or 'c' │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - It will send all digits or terminate if it encounters an error. │ │ │ │ │ + │ │ │ │ │ + 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(). │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SendDTMF │ │ │ │ │ - SendMF │ │ │ │ │ - ReceiveMF │ │ │ │ │ - ReceiveSF │ │ │ │ │ + SayCountedNoun │ │ │ │ │ + SayNumber │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Waits for a specified amount of silence. │ │ │ │ │ + │ │ │ │ │ + Background a file with talk detect. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ If not specified, defaults to │ │ │ │ │ 1000 │ │ │ │ │ - milliseconds. │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ If not specified, defaults to │ │ │ │ │ - 1 │ │ │ │ │ + 100 │ │ │ │ │ . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Is specified only to avoid an infinite loop in cases where silence is never achieved. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + infinity │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + infinity │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - 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) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send an arbitrary user-defined event to parties interested in a channel (AMI users and relevant res_stasis applications). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Sets the channel variable │ │ │ │ │ - WAITSTATUS │ │ │ │ │ - to one of these values: │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - if exited with silence detected. │ │ │ │ │ - if exited without silence detected after timeout. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - WaitForNoise │ │ │ │ │ + UserEvent │ │ │ │ │ + UserEvent │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Waits for a specified amount of noise. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Read a variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If not specified, defaults to │ │ │ │ │ - 1000 │ │ │ │ │ - milliseconds. │ │ │ │ │ + The input digits will be stored in the given │ │ │ │ │ + variable │ │ │ │ │ + name. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + file(s) to play before reading digits or tone with option i │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - If not specified, defaults to │ │ │ │ │ - 1 │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Is specified only to avoid an infinite loop in cases where silence is never achieved. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the status of the read operation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - WaitForSilence │ │ │ │ │ + SendDTMF │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_monitor │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Queue a call for a call queue. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ + ChanSpy │ │ │ │ │ + ChanSpyStart │ │ │ │ │ + ChanSpyStop │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Dynamically adds queue members. │ │ │ │ │ + │ │ │ │ │ + Scan DAHDI channels to monitor calls. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Limit scanning to a channel │ │ │ │ │ + group │ │ │ │ │ + by setting this option. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Allows a call center manager to monitor DAHDI channels in a │ │ │ │ │ + convenient way. Use │ │ │ │ │ + # │ │ │ │ │ + to select the next channel and use │ │ │ │ │ + * │ │ │ │ │ + to exit. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ + ChanSpyStart │ │ │ │ │ + ChanSpyStop │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Dynamically removes queue members. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Says a specified time in a custom format. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - If the interface is │ │ │ │ │ - NOT │ │ │ │ │ - in the queue it will return an error. │ │ │ │ │ + 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 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 │ │ │ │ │ + STRFTIME │ │ │ │ │ + STRPTIME │ │ │ │ │ + IFTIME │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Pauses a queue member. │ │ │ │ │ + │ │ │ │ │ + Says a specified time in a custom format. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is used to add extra information to the appropriate queue_log entries and manager events. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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) │ │ │ │ │ + Say the date and time in a specified format. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play a tone list. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is used to add extra information to the appropriate queue_log entries and manager events. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + See the sample │ │ │ │ │ + indications.conf │ │ │ │ │ + for a description of the │ │ │ │ │ + specification of a tonelist. │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ + StopPlayTones │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Writes to the queue_log file. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Stop playing a tone list. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Allows you to write your own events into the queue log. │ │ │ │ │ - same => n,QueueLog(101,${UNIQUEID},${AGENT},WENTONBREAK,600) │ │ │ │ │ + Stop playing a tone list, initiated by PlayTones(). │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ + PlayTones │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes dialplan application. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Application name and arguments of the dialplan application to execute. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Allows you to write Outbound events into the queue log. │ │ │ │ │ - exten => h,1,QueueUpdate(${QUEUE}, ${UNIQUEID}, ${AGENT}, ${DIALSTATUS}, ${ANSWEREDTIME}, ${DIALEDTIME} | ${DIALEDNUMBER}) │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Return Queue information in variables. │ │ │ │ │ + │ │ │ │ │ + Executes dialplan application, always returning. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - position │ │ │ │ │ - is unspecified the first channel is returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue │ │ │ │ │ - QueueLog │ │ │ │ │ - AddQueueMember │ │ │ │ │ - RemoveQueueMember │ │ │ │ │ - PauseQueueMember │ │ │ │ │ - UnpauseQueueMember │ │ │ │ │ - QUEUE_VARIABLES │ │ │ │ │ - QUEUE_MEMBER │ │ │ │ │ - QUEUE_MEMBER_COUNT │ │ │ │ │ - QUEUE_EXISTS │ │ │ │ │ - QUEUE_WAITING_COUNT │ │ │ │ │ - QUEUE_MEMBER_LIST │ │ │ │ │ - QUEUE_MEMBER_PENALTY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Count number of calls currently waiting in a queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns the number of callers currently waiting in the specified │ │ │ │ │ - queuename │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns a list of interfaces on a queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns a comma-separated list of members associated with the specified │ │ │ │ │ - queuename │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 or sets queue members penalty. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets queue members penalty. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show queue status. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Limit the response to the status of the specified queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Limit the response to the status of the specified member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check the status of one or more queues. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show queue summary. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue for which the summary is requested. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Request the manager to send a QueueSummary event. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Add interface to queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue's name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the interface (tech/name) to add to the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A penalty (number) to apply to this member. Asterisk will distribute calls to members with higher penalties only after attempting to distribute calls to those with lower penalty. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - To pause or not the member initially (true/false or 1/0). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Text alias for the interface. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Remove interface from queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the queue to take action on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The interface (tech/name) to remove from queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Makes a queue member temporarily unavailable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the interface (tech/name) to pause or unpause. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Pause or unpause the interface. Set to 'true' to pause the member or 'false' to unpause. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the queue in which to pause or unpause this member. If not specified, the member will be paused or unpaused in all the queues it is a member of. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Text description, returned in the event QueueMemberPaused. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Pause or unpause a member in a queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Adds custom entry in queue_log. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set the penalty for a queue member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The interface (tech/name) of the member whose penalty to change. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The new penalty (number) for the member. Must be nonnegative. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If specified, only set the penalty for the member of this queue. Otherwise, set the penalty for the member in all queues to which the member belongs. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Change the penalty of a queue member │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set the ringinuse value for a queue member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Queue Rules. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the rule in queuerules.conf whose contents to list. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List queue rules defined in queuerules.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reload a queue, queues, or any sub-section of a queue or queues. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the queue to take action on. If no queue name is specified, then all queues are affected. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether to reload the queue's members. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether to reload queuerules.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether to reload the other queue options. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reset queue statistics. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the queue on which to reset statistics. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reset the statistics for a queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Change priority of a caller on queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the queue to take action on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The caller (channel) to change priority on queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Priority value for change for caller on queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Request to withdraw a caller from the queue back to the dialplan. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the queue to take action on. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The caller (channel) to withdraw from the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optional info to store. If the call is successfully withdrawn from the queue, this information will be available in the QUEUE_WITHDRAW_INFO variable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised in response to the QueueStatus action. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The strategy of the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The queue member's channel technology or location. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The queue's hold time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The queue's talk time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The queue's completion time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The queue's call abandonment metric. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Primary service level performance metric. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Secondary service level performance metric. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - QueueMember │ │ │ │ │ - QueueEntry │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised in response to the QueueStatus action. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The caller's position within the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the caller's channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The unique ID of the channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The Caller ID number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The Caller ID name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The bridged party's number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The bridged party's name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The caller's wait time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The caller's priority within the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - QueueParams │ │ │ │ │ - QueueMember │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a Queue member's status has changed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the queue member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The queue member's channel technology or location. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel technology or location from which to read device state changes. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The penalty associated with the queue member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of calls this queue member has serviced. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The time this member last took a call, expressed in seconds since 00:00, Jan 1, 1970 UTC. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The time when started last paused the queue member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The time this member logged in to the queue, expressed in seconds since 00:00, Jan 1, 1970 UTC. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set to 1 if member is in call. Set to 0 after LastCall time is updated. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The numeric device state status of the queue member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AST_DEVICE_UNKNOWN │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AST_DEVICE_NOT_INUSE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AST_DEVICE_INUSE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AST_DEVICE_BUSY │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AST_DEVICE_INVALID │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AST_DEVICE_UNAVAILABLE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AST_DEVICE_RINGING │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AST_DEVICE_RINGINUSE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AST_DEVICE_ONHOLD │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set when paused, the reason the queue member was paused. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The Wrapup Time of the queue member. If this value is set will override the wrapup time of queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a member is added to the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - QueueMemberRemoved │ │ │ │ │ - AddQueueMember │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a member is removed from the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - QueueMemberAdded │ │ │ │ │ - RemoveQueueMember │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a member is paused/unpaused in the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This has been deprecated in favor of the │ │ │ │ │ - PausedReason │ │ │ │ │ - field. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PauseQueueMember │ │ │ │ │ - UnPauseQueueMember │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a member's penalty is changed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - QUEUE_MEMBER │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a member's ringinuse setting is changed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - QUEUE_MEMBER │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a caller joins a Queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This channel's current position in the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The total number of channels in the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - QueueCallerLeave │ │ │ │ │ - Queue │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a caller leaves a Queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - QueueCallerJoin │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a caller abandons the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel's original position in the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The time the channel was in the queue, expressed in seconds since 00:00, Jan 1, 1970 UTC. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an queue member is notified of a caller in the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AgentRingNoAnswer │ │ │ │ │ - AgentComplete │ │ │ │ │ - AgentConnect │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a queue member is notified of a caller in the queue and fails to answer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The time the queue member was rung, expressed in seconds since 00:00, Jan 1, 1970 UTC. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AgentCalled │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a queue member has finished servicing a caller in the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The time the queue member talked with the caller in the queue, expressed in seconds since 00:00, Jan 1, 1970 UTC. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AgentCalled │ │ │ │ │ - AgentConnect │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a queue member hangs up on a caller in the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AgentCalled │ │ │ │ │ - AgentConnect │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a queue member answers and is bridged to a caller in the queue. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AgentCalled │ │ │ │ │ - AgentComplete │ │ │ │ │ - AgentDump │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_adsi │ │ │ │ │ - deprecated │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Load Asterisk ADSI Scripts into phone │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - adsi script to use. If not given uses the default script │ │ │ │ │ - asterisk.adsi │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application programs an ADSI Phone with the given script │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - GetCPEID │ │ │ │ │ - adsi.conf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Directed extension call pickup. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specification of the pickup target. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Executes dialplan application, conditionally. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Additional specifications of pickup targets. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + If │ │ │ │ │ + expr │ │ │ │ │ + is true, execute and return the │ │ │ │ │ + result of │ │ │ │ │ + appiftrue(args) │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + If │ │ │ │ │ + expr │ │ │ │ │ + is true, but │ │ │ │ │ + appiftrue │ │ │ │ │ + is not found, │ │ │ │ │ + then the application will return a non-zero value. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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(). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Join a bridge that contains the specified channel. │ │ │ │ │ + │ │ │ │ │ + IVR Demo Application. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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'. │ │ │ │ │ + This is a skeleton application that shows you the basic structure to create your │ │ │ │ │ + own asterisk applications and demonstrates the IVR demo. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Delete a family or keytree from the asterisk database. │ │ │ │ │ @@ -4353,316 +3521,173 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ DB_DELETE │ │ │ │ │ DB │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - bridge_holding │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Put a call into the holding bridge. │ │ │ │ │ + │ │ │ │ │ + Execute a system command. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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() │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - app_confbridge │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Page series of phones │ │ │ │ │ + │ │ │ │ │ + Try executing a system command. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Command to execute │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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() │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optional extra devices to dial in parallel │ │ │ │ │ - If you need more than one, enter them as Technology2/Resource2& │ │ │ │ │ - Technology3/Resource3&..... │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Find-Me/Follow-Me application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - deprecated │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play an NBS local stream. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Executes nbscat to listen to the local NBS stream. │ │ │ │ │ - User can exit by pressing any key. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Start a while loop. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Start a While Loop. Execution will return to this point when │ │ │ │ │ - EndWhile() │ │ │ │ │ - is called until expr is no longer true. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - EndWhile │ │ │ │ │ - ExitWhile │ │ │ │ │ - ContinueWhile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - End a while loop. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Return to the previous called │ │ │ │ │ - While() │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - While │ │ │ │ │ - ExitWhile │ │ │ │ │ - ContinueWhile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - End a While loop. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Exits a │ │ │ │ │ - While() │ │ │ │ │ - loop, whether or not the conditional has been satisfied. │ │ │ │ │ + This application performs Find-Me/Follow-Me functionality for the caller │ │ │ │ │ + as defined in the profile matching the │ │ │ │ │ + followmeid │ │ │ │ │ + parameter in │ │ │ │ │ + followme.conf │ │ │ │ │ + . If the specified │ │ │ │ │ + followmeid │ │ │ │ │ + profile doesn't exist in │ │ │ │ │ + followme.conf │ │ │ │ │ + , execution will be returned │ │ │ │ │ + to the dialplan and call execution will continue at the next priority. │ │ │ │ │ │ │ │ │ │ + Returns -1 on hangup. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - While │ │ │ │ │ - EndWhile │ │ │ │ │ - ContinueWhile │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Restart a While loop. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns to the top of the while loop and re-evaluates the conditional. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - While │ │ │ │ │ - EndWhile │ │ │ │ │ - ExitWhile │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ dahdi │ │ │ │ │ no │ │ │ │ │ extended │ │ │ │ │ app_confbridge │ │ │ │ │ 19 │ │ │ │ │ @@ -5308,54 +4333,73 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + dahdi │ │ │ │ │ + deprecated │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.20.0 │ │ │ │ │ - 18.6.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Reloads an Asterisk module, blocking the channel until the reload has completed. │ │ │ │ │ + │ │ │ │ │ + Executes DAHDI ISDN RAS application. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + A list of parameters to pass to the pppd daemon, │ │ │ │ │ + separated by │ │ │ │ │ + , │ │ │ │ │ + characters. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_adsi │ │ │ │ │ + deprecated │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get ADSI CPE ID. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Sets │ │ │ │ │ - RELOADSTATUS │ │ │ │ │ - to one of the following values: │ │ │ │ │ + Obtains and displays ADSI CPE ID and other information in order │ │ │ │ │ + to properly setup │ │ │ │ │ + dahdi.conf │ │ │ │ │ + for on-hook operations. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specified module(s) reloaded successfully. │ │ │ │ │ - Some or all of the specified modules failed to reload. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Record to a file. │ │ │ │ │ @@ -5441,324 +4485,2033 @@ │ │ │ │ │ The maximum length was reached. │ │ │ │ │ The channel was hung up. │ │ │ │ │ An unrecoverable error occurred, which resulted in a WARNING to the logs. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Check channel availability │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specification of the device(s) to check. 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 check │ │ │ │ │ + If you need more than one enter them as │ │ │ │ │ + Technology2/Resource2&Technology3/Resource3&..... │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application will check to see if any of the specified channels are available. │ │ │ │ │ + This application sets the following channel variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the available channel, if one exists │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The canonical channel name that was used to create the channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The device state for the device │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The cause code returned when requesting the channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Send a Text Message on a channel. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - Sends │ │ │ │ │ - text │ │ │ │ │ - to the current channel. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - current channel │ │ │ │ │ - could be the caller or callee depending │ │ │ │ │ - on the context in which this application is called. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The following variables can be set: │ │ │ │ │ + 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: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set and this channel supports enhanced messaging, this value will be │ │ │ │ │ - used as the │ │ │ │ │ - From │ │ │ │ │ - display name. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + This is the time from dialing a channel until when it is disconnected. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set and this channel supports enhanced messaging, this value will be │ │ │ │ │ - used as the │ │ │ │ │ - To │ │ │ │ │ - display name. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + This is the milliseconds version of the DIALEDTIME variable. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + This is the amount of time for actual call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If set this value will be used as the message body and any text supplied │ │ │ │ │ - as a function parameter will be ignored. │ │ │ │ │ + │ │ │ │ │ + This is the milliseconds version of the ANSWEREDTIME variable. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + This is the time from creating the channel to the first RINGING event received. Empty if there was no ring. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Transmission succeeded. │ │ │ │ │ - Transmission failed. │ │ │ │ │ - Text transmission not supported by channel. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + RetryDial │ │ │ │ │ + SendDTMF │ │ │ │ │ + Gosub │ │ │ │ │ + Macro │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.24.0 │ │ │ │ │ - 18.10.0 │ │ │ │ │ - 19.2.0 │ │ │ │ │ - │ │ │ │ │ - Receive a Text Message on a channel. │ │ │ │ │ + │ │ │ │ │ + Place a call, retrying on failure allowing an optional exit extension. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Time in seconds to wait for text. Default is 0 (forever). │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Same format as arguments provided to the Dial application │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Waits for │ │ │ │ │ - timeout │ │ │ │ │ - seconds on the current channel │ │ │ │ │ - to receive text. │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Dial │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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: │ │ │ │ │ │ │ │ │ │ - Result of transmission will be stored in the following variables: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The received text message. │ │ │ │ │ + │ │ │ │ │ + Transfer successfully queued. │ │ │ │ │ + Transfer failed. │ │ │ │ │ + Transfer not permitted. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Transmission succeeded. │ │ │ │ │ - Transmission failed or timed out. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Redirects given channel to a dialplan target │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - same => n,ReceiveText() │ │ │ │ │ - same => n,NoOp(${RECEIVETEXTMESSAGE}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + jack │ │ │ │ │ + resample │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jack Audio Connection Kit │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Forks the current Call Data Record for this channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SendText │ │ │ │ │ - SendImage │ │ │ │ │ - SendURL │ │ │ │ │ + CDR │ │ │ │ │ + NoCDR │ │ │ │ │ + ResetCDR │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + func_periodic_hook │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Attempt to detect answering machines. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Is maximum initial silence duration before greeting. │ │ │ │ │ - If this is exceeded, the result is detection as a MACHINE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + filename │ │ │ │ │ + is an absolute path, uses that path, otherwise │ │ │ │ │ + creates the file in the configured monitoring directory from │ │ │ │ │ + asterisk.conf. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - is the maximum length of a greeting. │ │ │ │ │ - If this is exceeded, the result is detection as a MACHINE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Is the silence after detecting a greeting. │ │ │ │ │ - If this is exceeded, the result is detection as a HUMAN │ │ │ │ │ + │ │ │ │ │ + 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() │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Is the maximum time allowed for the algorithm │ │ │ │ │ - to decide on whether the audio represents a HUMAN, or a MACHINE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Is the minimum duration of Voice considered to be a word │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stops the audio recording that was started with a call to │ │ │ │ │ + MixMonitor() │ │ │ │ │ + on the current channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MixMonitor │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Mute / unMute a Mixmonitor recording. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Used to specify the channel to mute. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Is the minimum duration of silence after a word to │ │ │ │ │ - consider the audio that follows to be a new word │ │ │ │ │ + │ │ │ │ │ + Which part of the recording to mute: read, write or both (from channel, to channel or both channels). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Is the maximum number of words in a greeting │ │ │ │ │ - If this is exceeded, then the result is detection as a MACHINE │ │ │ │ │ + │ │ │ │ │ + Turn mute on or off : 1 to turn on, 0 to turn off. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - What is the average level of noise from 0 to 32767 which if not exceeded, should be considered silence? │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 maximum duration of a word to accept. │ │ │ │ │ - If exceeded, then the result is detection as a MACHINE │ │ │ │ │ + │ │ │ │ │ + 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 application attempts to detect answering machines at the beginning │ │ │ │ │ - of outbound calls. Simply call this application after the call │ │ │ │ │ - has been answered (outbound only, of course). │ │ │ │ │ - When loaded, AMD reads amd.conf and uses the parameters specified as │ │ │ │ │ - default values. Those default values get overwritten when the calling AMD │ │ │ │ │ - with parameters. │ │ │ │ │ - This application sets the following channel variables: │ │ │ │ │ + This action records the audio on the current channel to the specified file. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This is the status of the answering machine detection │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Will contain the filename used to record the mixed stream. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Indicates the cause that led to the conclusion │ │ │ │ │ - Total Time. │ │ │ │ │ - Silence Duration - Initial Silence. │ │ │ │ │ - Silence Duration - afterGreetingSilence. │ │ │ │ │ - Voice Duration - Greeting. │ │ │ │ │ - Word Length - max length of a single word. │ │ │ │ │ - Word Count - maximum number of words. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 action stops the audio recording that was started with the │ │ │ │ │ + MixMonitor │ │ │ │ │ + action on the current channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - WaitForSilence │ │ │ │ │ - WaitForNoise │ │ │ │ │ + Zapateller │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Provide support for receiving alarm reports from a burglar or fire alarm panel. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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 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 application will play back the given │ │ │ │ │ + filename │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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: │ │ │ │ │ + It sets the following channel variables upon completion: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Maximum call time, in milliseconds. │ │ │ │ │ - If set, this variable causes application to exit after the specified time. │ │ │ │ │ + │ │ │ │ │ + Contains the status of the attempt as a text string │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Maximum number of retries per call. │ │ │ │ │ - If set, this variable causes application to exit after the specified number of messages. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - alarmreceiver.conf │ │ │ │ │ + Playback │ │ │ │ │ + ControlPlayback │ │ │ │ │ + stream file │ │ │ │ │ + control stream file │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + app_cdr │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.20.0 │ │ │ │ │ - 18.6.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Stores DTMF digits transmitted or received on a channel. │ │ │ │ │ + │ │ │ │ │ + Direct Inward System Access. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Must be │ │ │ │ │ - TX │ │ │ │ │ - or │ │ │ │ │ - RX │ │ │ │ │ + If you need to present a DISA dialtone without entering a password, │ │ │ │ │ + simply set │ │ │ │ │ + passcode │ │ │ │ │ to │ │ │ │ │ - store digits, or │ │ │ │ │ - remove │ │ │ │ │ - to disable. │ │ │ │ │ + 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 StoreDTMF function can be used to obtain digits sent in the │ │ │ │ │ - TX │ │ │ │ │ - or │ │ │ │ │ - RX │ │ │ │ │ - direction of any channel. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - The arguments are: │ │ │ │ │ + Be aware that using this may compromise the security of your PBX. │ │ │ │ │ │ │ │ │ │ - var_name │ │ │ │ │ - : Name of variable to which to append │ │ │ │ │ - digits. │ │ │ │ │ + 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 │ │ │ │ │ + ). │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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 │ │ │ │ │ + ; │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - same => n,StoreDTMF(TX,CDR(digits)) │ │ │ │ │ - same => n,StoreDTMF(RX,testvar,24) │ │ │ │ │ - same => n,StoreDTMF(remove) │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Authenticate │ │ │ │ │ + VMAuthenticate │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - unixodbc │ │ │ │ │ + │ │ │ │ │ + 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(). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Generates a CEL User Defined Event. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Extra text to be included with the event. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A CEL event will be immediately generated by this channel, with the supplied name for a type. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Originate a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + openssl │ │ │ │ │ + imap_tk │ │ │ │ │ res_adsi │ │ │ │ │ res_smdi │ │ │ │ │ yes │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Leave a Voicemail message. │ │ │ │ │ @@ -6272,1786 +7025,213 @@ │ │ │ │ │ within │ │ │ │ │ Context │ │ │ │ │ will be polled. │ │ │ │ │ Otherwise, only a single mailbox will be polled for changes. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + res_speech │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Detects MF digits on a channel and saves them to a variable. │ │ │ │ │ + │ │ │ │ │ + Create a Speech Structure. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The input digits will be stored in the given │ │ │ │ │ - variable │ │ │ │ │ - name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The number of seconds to wait for all digits, if greater │ │ │ │ │ - than │ │ │ │ │ - 0 │ │ │ │ │ - . Can be floating point. Default │ │ │ │ │ - is no timeout. │ │ │ │ │ - │ │ │ │ │ + Timeout integer in seconds. Note the timeout will only start │ │ │ │ │ + once the sound file has stopped playing. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Read │ │ │ │ │ - SendMF │ │ │ │ │ - ReceiveSF │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Sends arbitrary MF digits on the current or specified channel. │ │ │ │ │ + │ │ │ │ │ + Deactivate a grammar. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + │ │ │ │ │ + The grammar name to deactivate │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - It will send all digits or terminate if it encounters an error. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - ReceiveMF │ │ │ │ │ - SendSF │ │ │ │ │ - SendDTMF │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Play MF digit on a specific channel. │ │ │ │ │ + │ │ │ │ │ + Change background processing sound. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_stasis │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Invoke an external Stasis application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Name of the application to invoke. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optional comma-delimited arguments for the │ │ │ │ │ - application invocation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + End speech recognition. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Wait (sleep) until the current time is the given epoch. │ │ │ │ │ + │ │ │ │ │ + Load a grammar. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Waits until the given │ │ │ │ │ - epoch │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets │ │ │ │ │ - WAITUNTILSTATUS │ │ │ │ │ - to one of the following values: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Wait succeeded. │ │ │ │ │ - Invalid argument. │ │ │ │ │ - Channel hungup before time elapsed. │ │ │ │ │ - Time specified had already past. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Load a grammar only on the channel, not globally. │ │ │ │ │ + Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Background a file with talk detect. │ │ │ │ │ + │ │ │ │ │ + Unload a grammar. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 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. │ │ │ │ │ - │ │ │ │ │ + Unload a grammar. │ │ │ │ │ + Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - app_cdr │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Direct Inward System Access. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - ; │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Authenticate │ │ │ │ │ - VMAuthenticate │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play an MP3 file or M3U playlist file or stream. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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(). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Gets the confidence score of a result. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Gets the confidence score of a result. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - ForkCDR │ │ │ │ │ - NoCDR │ │ │ │ │ - CDR_PROP │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - no │ │ │ │ │ - deprecated │ │ │ │ │ - app_stack (GoSub) │ │ │ │ │ - 16 │ │ │ │ │ - 21 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Macro Implementation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the macro │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets the recognized text of a result. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Gets the recognized text of a result. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - MacroExit │ │ │ │ │ - Goto │ │ │ │ │ - Gosub │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conditional Macro implementation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets the matched grammar of a result if available. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Executes macro defined in │ │ │ │ │ - macroiftrue │ │ │ │ │ - if │ │ │ │ │ - expr │ │ │ │ │ - is true (otherwise │ │ │ │ │ - macroiffalse │ │ │ │ │ - if provided) │ │ │ │ │ - │ │ │ │ │ - Arguments and return values as in application Macro() │ │ │ │ │ - │ │ │ │ │ + Gets the matched grammar of a result if available. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - GotoIf │ │ │ │ │ - GosubIf │ │ │ │ │ - IF │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Exclusive Macro Implementation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get or change a speech engine specific attribute. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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() │ │ │ │ │ - │ │ │ │ │ + Changes a speech engine specific attribute. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Macro │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Exit from Macro. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets the type of results that will be returned. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send an arbitrary user-defined event to parties interested in a channel (AMI users and relevant res_stasis applications). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - UserEvent │ │ │ │ │ - UserEvent │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - deprecated │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send a URL. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Requests client go to │ │ │ │ │ - URL │ │ │ │ │ - (IAX2) or sends the │ │ │ │ │ - URL to the client (other channels). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SendImage │ │ │ │ │ - SendText │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Plays morse code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - String to playback as morse code to channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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_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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Sets the type of results that will be returned. Valid options are normal or nbest. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Control the playback of a file being played to a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets information about speech recognition results. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + Returns │ │ │ │ │ + 1 │ │ │ │ │ + upon speech object existing, │ │ │ │ │ + or │ │ │ │ │ + 0 │ │ │ │ │ + if not │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + Returns │ │ │ │ │ + 1 │ │ │ │ │ + if spoker spoke, │ │ │ │ │ + or │ │ │ │ │ + 0 │ │ │ │ │ + if not │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + Returns number of results that were recognized. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Provide directory of voicemail extensions. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is the context within voicemail.conf to use for the Directory. If not │ │ │ │ │ - specified and │ │ │ │ │ - searchcontexts=no │ │ │ │ │ - in │ │ │ │ │ - voicemail.conf │ │ │ │ │ - , then │ │ │ │ │ - default │ │ │ │ │ - will be assumed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is the dialplan context to use when looking for an │ │ │ │ │ - extension that the user has selected, or when jumping to the │ │ │ │ │ - o │ │ │ │ │ - or │ │ │ │ │ - a │ │ │ │ │ - extension. If not │ │ │ │ │ - specified, the current context will be used. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Only one of the │ │ │ │ │ - f │ │ │ │ │ - , │ │ │ │ │ - l │ │ │ │ │ - , or │ │ │ │ │ - b │ │ │ │ │ - options may be specified. │ │ │ │ │ - If more than one is specified │ │ │ │ │ - , then Directory will act as │ │ │ │ │ - if │ │ │ │ │ - b │ │ │ │ │ - was specified. The number │ │ │ │ │ - of characters for the user to type defaults to │ │ │ │ │ - 3 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will present the calling channel with a directory of extensions from which they can search │ │ │ │ │ - by name. The list of names and corresponding extensions is retrieved from the │ │ │ │ │ - voicemail configuration file, │ │ │ │ │ - voicemail.conf │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - This application will immediately exit if one of the following DTMF digits are │ │ │ │ │ - received and the extension to jump to exists: │ │ │ │ │ - │ │ │ │ │ - 0 │ │ │ │ │ - - Jump to the 'o' extension, if it exists. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - * │ │ │ │ │ - - Jump to the 'a' extension, if it exists. │ │ │ │ │ - │ │ │ │ │ - This application will set the following channel variable before completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Reason Directory application exited. │ │ │ │ │ - User requested operator │ │ │ │ │ - User requested assistant │ │ │ │ │ - User allowed DTMF wait duration to pass without sending DTMF │ │ │ │ │ - The channel hung up before the application finished │ │ │ │ │ - User selected a user to call from the directory │ │ │ │ │ - User exited with '#' during selection │ │ │ │ │ - The application failed │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Gets information about speech recognition results. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ res_adsi │ │ │ │ │ res_smdi │ │ │ │ │ yes │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -8566,300 +7746,17 @@ │ │ │ │ │ within │ │ │ │ │ Context │ │ │ │ │ will be polled. │ │ │ │ │ Otherwise, only a single mailbox will be polled for changes. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Generates a CEL User Defined Event. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Extra text to be included with the event. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A CEL event will be immediately generated by this channel, with the supplied name for a type. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Forks the current Call Data Record for this channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hangs up the requested channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hangs up the requested channel. If there are no channels to │ │ │ │ │ - hangup, the application will report it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Virtual Dictation Machine. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Start dictation machine using optional │ │ │ │ │ - base_dir │ │ │ │ │ - for files. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - jack │ │ │ │ │ - resample │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jack Audio Connection Kit │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Conference Bridge Application │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -9766,27 +8663,21 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Raised when a conference starts. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -9968,105 +8859,1614 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ConfBridge │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Sends arbitrary DTMF digits │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Generates a 1004 Hz test tone at 0dbm (mu-law). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Wait (sleep) until the current time is the given epoch. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Waits until the given │ │ │ │ │ + epoch │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets │ │ │ │ │ + WAITUNTILSTATUS │ │ │ │ │ + to one of the following values: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Wait succeeded. │ │ │ │ │ + Invalid argument. │ │ │ │ │ + Channel hungup before time elapsed. │ │ │ │ │ + Time specified had already past. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Read an extension into a variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + File to play before reading digits or tone with option │ │ │ │ │ + i │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Duration of each digit │ │ │ │ │ + │ │ │ │ │ + Context in which to match extensions. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Channel where digits will be played │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + An integer number of seconds to wait for a digit response. If │ │ │ │ │ + greater than │ │ │ │ │ + 0 │ │ │ │ │ + , that value will override the default timeout. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - It will send all digits or terminate if it encounters an error. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Read │ │ │ │ │ + ResetCDR │ │ │ │ │ + CDR_PROP │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Play DTMF signal on a specific channel. │ │ │ │ │ + │ │ │ │ │ + Resets the Call Data Record. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel name to send digit to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The DTMF digit to play. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + unixodbc │ │ │ │ │ + res_adsi │ │ │ │ │ + res_smdi │ │ │ │ │ + yes │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Leave a Voicemail message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The duration, in milliseconds, of the digit to be played. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Emulate receiving DTMF on this channel instead of sending it out. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Plays a dtmf digit on the specified channel. │ │ │ │ │ + │ │ │ │ │ + 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: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jump to the │ │ │ │ │ + a │ │ │ │ │ + extension in the current dialplan context. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + VoiceMail │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Check to see if Voicemail mailbox exists. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + None options. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play a single voice mail msg from a mailbox by msg id. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The msg id of the msg to play back. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The status of the playback attempt as a text string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play the name of a voicemail user │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List All Voicemail User Information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Show the status of given voicemail user's info. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The context you want to check. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The mailbox you want to check. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieves the status of the given voicemail user. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Tell Asterisk to poll mailboxes for a change │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play an MP3 file or M3U playlist file or stream. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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(). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + app_confbridge │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Play a tone list. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Arg is either the tone name defined in the │ │ │ │ │ - indications.conf │ │ │ │ │ - configuration file, or a directly specified list of frequencies and durations. │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SendDTMF │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - StopPlayTones │ │ │ │ │ + OSPLookup │ │ │ │ │ + OSPNext │ │ │ │ │ + OSPFinish │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Stop playing a tone list. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Plays morse code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + String to playback as morse code to channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.24.0 │ │ │ │ │ + 18.10.0 │ │ │ │ │ + 19.2.0 │ │ │ │ │ + │ │ │ │ │ + Detects SF digits on a channel and saves them to a variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The input digits will be stored in the given │ │ │ │ │ + variable │ │ │ │ │ + name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum number of digits to read. Default is unlimited. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of seconds to wait for all digits, if greater │ │ │ │ │ + than │ │ │ │ │ + 0 │ │ │ │ │ + . Can be floating point. Default │ │ │ │ │ + is no timeout. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The frequency for which to detect pulsed digits. │ │ │ │ │ + Default is 2600 Hz. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reads SF 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ReceiveMF │ │ │ │ │ + SendMF │ │ │ │ │ + SendSF │ │ │ │ │ + Read │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.24.0 │ │ │ │ │ + 18.10.0 │ │ │ │ │ + 19.2.0 │ │ │ │ │ + │ │ │ │ │ + Sends arbitrary SF digits on the current or specified channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List of digits 0-9 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Frequency to use. (defaults to 2600 Hz). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel where digits will be played │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + It will send all digits or terminate if it encounters an error. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SendDTMF │ │ │ │ │ + SendMF │ │ │ │ │ + ReceiveMF │ │ │ │ │ + ReceiveSF │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Execute Interface Test Server. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Stop playing a tone list, initiated by PlayTones(). │ │ │ │ │ + │ │ │ │ │ + Perform test server function and write call report. Results stored in │ │ │ │ │ + /var/log/asterisk/testreports/<testid>-server.txt │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - PlayTones │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Login an agent. │ │ │ │ │ @@ -10424,3505 +10824,725 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_adsi │ │ │ │ │ - deprecated │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get ADSI CPE ID. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + An example number guessing game │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Obtains and displays ADSI CPE ID and other information in order │ │ │ │ │ - to properly setup │ │ │ │ │ - dahdi.conf │ │ │ │ │ - for on-hook operations. │ │ │ │ │ - │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - no │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Say a noun in declined form in order to count things │ │ │ │ │ + │ │ │ │ │ + Communicates with SMS service centres and SMS capable analogue phones. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The number of things │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the queue used in │ │ │ │ │ + /var/spool/asterisk/sms │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - 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". │ │ │ │ │ + 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 does not automatically answer and should be │ │ │ │ │ - preceeded by an application such as Answer() or Progress. │ │ │ │ │ + "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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - SayCountedAdj │ │ │ │ │ - SayNumber │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Say a adjective in declined form in order to count things │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transfer caller to remote extension. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The number of things │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - File name stem for the adjective │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The gender of the noun modified, one of 'm', 'f', 'n', or 'c' │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - 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"). │ │ │ │ │ + The result of the application will be reported in the │ │ │ │ │ + TRANSFERSTATUS │ │ │ │ │ + channel variable: │ │ │ │ │ │ │ │ │ │ - This application does not automatically answer and should be │ │ │ │ │ - preceeded by an application such as Answer(), Progress(), or │ │ │ │ │ - Proceeding(). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transfer succeeded. │ │ │ │ │ + Transfer failed. │ │ │ │ │ + Transfer unsupported by channel driver. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + No error. │ │ │ │ │ + SIP example - Error result code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - SayCountedNoun │ │ │ │ │ - SayNumber │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + bridge_holding │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Attempt to connect to another device or endpoint and bridge the call. │ │ │ │ │ + │ │ │ │ │ + Put a call into the holding bridge. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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&..... │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Specifies the number of seconds we attempt to dial the specified devices. │ │ │ │ │ - If not specified, this defaults to 136 years. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play a file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Comma separated list of options │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - RetryDial │ │ │ │ │ - SendDTMF │ │ │ │ │ - Gosub │ │ │ │ │ - Macro │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Place a call, retrying on failure allowing an optional exit extension. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Same format as arguments provided to the Dial application │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dial │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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: │ │ │ │ │ + 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: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - To identify itself to the remote end │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - To generate a header line on each page │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The status of the playback attempt as a text string. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Cause of failure │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The CSID of the remote side │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of pages sent │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transmission rate │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Resolution of sent fax │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_agi │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jump to label, saving return address. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jumps to the label specified, saving the return address. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - GosubIf │ │ │ │ │ - Macro │ │ │ │ │ - Goto │ │ │ │ │ - Return │ │ │ │ │ - StackPop │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + See Also: Background (application) -- for playing sound files that are interruptible │ │ │ │ │ + WaitExten (application) -- wait for digits from caller, optionally play music on hold │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Return │ │ │ │ │ - Gosub │ │ │ │ │ + Background │ │ │ │ │ + WaitExten │ │ │ │ │ + ControlPlayback │ │ │ │ │ + stream file │ │ │ │ │ + control stream file │ │ │ │ │ + ControlPlayback │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The variable name will always be enclosed with │ │ │ │ │ - LOCAL() │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The new value of the variable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - GoSub │ │ │ │ │ - gosub │ │ │ │ │ - LOCAL │ │ │ │ │ - LOCAL_PEEK │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + Send a Text Message on a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - An ID to identify this test. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Executes test client with given │ │ │ │ │ - testid │ │ │ │ │ - . Results stored in │ │ │ │ │ - /var/log/asterisk/testreports/<testid>-client.txt │ │ │ │ │ + Sends │ │ │ │ │ + text │ │ │ │ │ + to the current channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - TestServer │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + current channel │ │ │ │ │ + could be the caller or callee depending │ │ │ │ │ + on the context in which this application is called. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + The following variables can be set: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stops the audio recording that was started with a call to │ │ │ │ │ - MixMonitor() │ │ │ │ │ - on the current channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - MixMonitor │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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() │ │ │ │ │ - . │ │ │ │ │ + If set and this channel supports enhanced messaging, this value will be │ │ │ │ │ + used as the │ │ │ │ │ + From │ │ │ │ │ + display name. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 action stops the audio recording that was started with the │ │ │ │ │ - MixMonitor │ │ │ │ │ - action on the current channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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() │ │ │ │ │ - . │ │ │ │ │ + If set and this channel supports enhanced messaging, this value will be │ │ │ │ │ + used as the │ │ │ │ │ + To │ │ │ │ │ + display name. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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() │ │ │ │ │ + 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 │ │ │ │ │ . │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set this value will be used as the message body and any text supplied │ │ │ │ │ + as a function parameter will be ignored. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - openssl │ │ │ │ │ - imap_tk │ │ │ │ │ - res_adsi │ │ │ │ │ - res_smdi │ │ │ │ │ - yes │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Leave a Voicemail message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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: │ │ │ │ │ + │ │ │ │ │ + Result of transmission will be stored in the following variables: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This indicates the status of the execution of the VoiceMail application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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() │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - VoiceMailMain │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check Voicemail messages. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jump to the │ │ │ │ │ - a │ │ │ │ │ - extension in the current dialplan context. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - VoiceMail │ │ │ │ │ + SendImage │ │ │ │ │ + SendURL │ │ │ │ │ + ReceiveText │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Check to see if Voicemail mailbox exists. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.24.0 │ │ │ │ │ + 18.10.0 │ │ │ │ │ + 19.2.0 │ │ │ │ │ + │ │ │ │ │ + Receive a Text Message on a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - None options. │ │ │ │ │ + │ │ │ │ │ + Time in seconds to wait for text. Default is 0 (forever). │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + Waits for │ │ │ │ │ + timeout │ │ │ │ │ + seconds on the current channel │ │ │ │ │ + to receive text. │ │ │ │ │ │ │ │ │ │ - This application will set the following channel variable upon completion: │ │ │ │ │ + Result of transmission will be stored in the following variables: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This will contain the status of the execution of the MailboxExists application. │ │ │ │ │ - Possible values include: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The received text message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transmission succeeded. │ │ │ │ │ + Transmission failed or timed out. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + same => n,ReceiveText() │ │ │ │ │ + same => n,NoOp(${RECEIVETEXTMESSAGE}) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - VM_INFO │ │ │ │ │ + SendText │ │ │ │ │ + SendImage │ │ │ │ │ + SendURL │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Authenticate with Voicemail passwords. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play a single voice mail msg from a mailbox by msg id. │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ + deprecated │ │ │ │ │ + app_stack (GoSub) │ │ │ │ │ + 16 │ │ │ │ │ + 21 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Macro Implementation. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The msg id of the msg to play back. │ │ │ │ │ + │ │ │ │ │ + The name of the macro │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The status of the playback attempt as a text string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play the name of a voicemail user │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - VM_INFO │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns the selected attribute from a mailbox. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + The calling extension, context, and priority are stored in │ │ │ │ │ + MACRO_EXTEN │ │ │ │ │ , │ │ │ │ │ - Family │ │ │ │ │ + MACRO_CONTEXT │ │ │ │ │ and │ │ │ │ │ - Friends │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List All Voicemail User Information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Show the status of given voicemail user's info. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The context you want to check. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The mailbox you want to check. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieves the status of the given voicemail user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Tell Asterisk to poll mailboxes for a change │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + 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 │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Originate a call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Timeout in seconds. Default is 30 seconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Redirects given channel to a dialplan target │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Find-Me/Follow-Me application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application performs Find-Me/Follow-Me functionality for the caller │ │ │ │ │ - as defined in the profile matching the │ │ │ │ │ - followmeid │ │ │ │ │ - parameter in │ │ │ │ │ - followme.conf │ │ │ │ │ - . If the specified │ │ │ │ │ - followmeid │ │ │ │ │ - profile doesn't exist in │ │ │ │ │ - followme.conf │ │ │ │ │ - , execution will be returned │ │ │ │ │ - to the dialplan and call execution will continue at the next priority. │ │ │ │ │ - │ │ │ │ │ - Returns -1 on hangup. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SendDTMF │ │ │ │ │ + MacroExit │ │ │ │ │ + Goto │ │ │ │ │ + Gosub │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Generates a 1004 Hz test tone at 0dbm (mu-law). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Conditional Macro implementation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + Executes macro defined in │ │ │ │ │ + macroiftrue │ │ │ │ │ + if │ │ │ │ │ + expr │ │ │ │ │ + is true (otherwise │ │ │ │ │ + macroiffalse │ │ │ │ │ + if provided) │ │ │ │ │ │ │ │ │ │ + Arguments and return values as in application Macro() │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + GotoIf │ │ │ │ │ + GosubIf │ │ │ │ │ + IF │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Read a variable. │ │ │ │ │ + │ │ │ │ │ + Exclusive Macro Implementation. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The name of the macro │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Reads a #-terminated string of digits a certain number of times from the │ │ │ │ │ - user in to the given │ │ │ │ │ - variable │ │ │ │ │ + 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) │ │ │ │ │ │ │ │ │ │ - This application sets the following channel variable upon completion: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is the status of the read operation. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + Arguments and return values as in application Macro() │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SendDTMF │ │ │ │ │ + Macro │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play a file. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Comma separated list of options │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Exit from Macro. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Background │ │ │ │ │ - WaitExten │ │ │ │ │ - ControlPlayback │ │ │ │ │ - stream file │ │ │ │ │ - control stream file │ │ │ │ │ - ControlPlayback │ │ │ │ │ + Macro │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Communicates with SMS service centres and SMS capable analogue phones. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.20.0 │ │ │ │ │ + 18.6.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Wait (sleep) until the given condition is true. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - The name of the queue used in │ │ │ │ │ - /var/spool/asterisk/sms │ │ │ │ │ + Specifies the character in the expression used to replace the │ │ │ │ │ + $ │ │ │ │ │ + character. This character should not be used anywhere in the expression itself. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Reserved. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Wait for Ring Application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - Returns │ │ │ │ │ - 0 │ │ │ │ │ - after waiting at least │ │ │ │ │ + Waits until │ │ │ │ │ + expression │ │ │ │ │ + evaluates to true, checking every │ │ │ │ │ + interval │ │ │ │ │ + seconds for up to │ │ │ │ │ timeout │ │ │ │ │ - seconds, │ │ │ │ │ - and only after the next ring has completed. Returns │ │ │ │ │ - 0 │ │ │ │ │ - on success or │ │ │ │ │ - -1 │ │ │ │ │ - on hangup. │ │ │ │ │ + . Default │ │ │ │ │ + is evaluate │ │ │ │ │ + expression │ │ │ │ │ + every 50 milliseconds with no timeout. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + same => n,WaitForCondition(#,#["#{condition}"="1"],40,0.5) │ │ │ │ │ │ │ │ │ │ - The result of the application will be reported in the │ │ │ │ │ - TRANSFERSTATUS │ │ │ │ │ - channel variable: │ │ │ │ │ + Sets │ │ │ │ │ + WAITFORCONDITIONSTATUS │ │ │ │ │ + to one of the following values: │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Transfer succeeded. │ │ │ │ │ - Transfer failed. │ │ │ │ │ - Transfer unsupported by channel driver. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - No error. │ │ │ │ │ - SIP example - Error result code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check channel availability │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specification of the device(s) to check. 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 check │ │ │ │ │ - If you need more than one enter them as │ │ │ │ │ - Technology2/Resource2&Technology3/Resource3&..... │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will check to see if any of the specified channels are available. │ │ │ │ │ - This application sets the following channel variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the available channel, if one exists │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The canonical channel name that was used to create the channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The device state for the device │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The cause code returned when requesting the channel │ │ │ │ │ + │ │ │ │ │ + Condition evaluated to true before timeout expired. │ │ │ │ │ + Invalid argument. │ │ │ │ │ + Timeout elapsed without condition evaluating to true. │ │ │ │ │ + Channel hung up before condition became true. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ @@ -14319,513 +11939,2813 @@ │ │ │ │ │ MVM_COUNTER │ │ │ │ │ channel variable. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + deprecated │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play an NBS local stream. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Executes nbscat to listen to the local NBS stream. │ │ │ │ │ + User can exit by pressing any key. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Attempt to detect answering machines. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is maximum initial silence duration before greeting. │ │ │ │ │ + If this is exceeded, the result is detection as a MACHINE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + is the maximum length of a greeting. │ │ │ │ │ + If this is exceeded, the result is detection as a MACHINE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is the silence after detecting a greeting. │ │ │ │ │ + If this is exceeded, the result is detection as a HUMAN │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is the maximum time allowed for the algorithm │ │ │ │ │ + to decide on whether the audio represents a HUMAN, or a MACHINE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is the minimum duration of Voice considered to be a word │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is the minimum duration of silence after a word to │ │ │ │ │ + consider the audio that follows to be a new word │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is the maximum number of words in a greeting │ │ │ │ │ + If this is exceeded, then the result is detection as a MACHINE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + What is the average level of noise from 0 to 32767 which if not exceeded, should be considered silence? │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is the maximum duration of a word to accept. │ │ │ │ │ + If exceeded, then the result is detection as a MACHINE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application attempts to detect answering machines at the beginning │ │ │ │ │ + of outbound calls. Simply call this application after the call │ │ │ │ │ + has been answered (outbound only, of course). │ │ │ │ │ + When loaded, AMD reads amd.conf and uses the parameters specified as │ │ │ │ │ + default values. Those default values get overwritten when the calling AMD │ │ │ │ │ + with parameters. │ │ │ │ │ + This application sets the following channel variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the status of the answering machine detection │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicates the cause that led to the conclusion │ │ │ │ │ + Total Time. │ │ │ │ │ + Silence Duration - Initial Silence. │ │ │ │ │ + Silence Duration - afterGreetingSilence. │ │ │ │ │ + Voice Duration - Greeting. │ │ │ │ │ + Word Length - max length of a single word. │ │ │ │ │ + Word Count - maximum number of words. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + WaitForSilence │ │ │ │ │ + WaitForNoise │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Says a specified time in a custom format. │ │ │ │ │ + │ │ │ │ │ + Echo media, up to 'N' streams of a type, and DTMF back to the calling party │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - time, in seconds since Jan 1, 1970. May be negative. Defaults to now. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + 1) If no │ │ │ │ │ + extension │ │ │ │ │ + targets are specified, │ │ │ │ │ + the application will pickup a channel matching the pickup group of the │ │ │ │ │ + requesting channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - timezone, see │ │ │ │ │ - /usr/share/zoneinfo │ │ │ │ │ - for a list. Defaults to machine default. │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - a format the time is to be said in. See │ │ │ │ │ - voicemail.conf │ │ │ │ │ + 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 │ │ │ │ │ . │ │ │ │ │ - Defaults to │ │ │ │ │ - ABdY "digits/at" IMp │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + Pickup a specified │ │ │ │ │ + channel │ │ │ │ │ + if ringing. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - STRFTIME │ │ │ │ │ - STRPTIME │ │ │ │ │ - IFTIME │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Says a specified time in a custom format. │ │ │ │ │ + │ │ │ │ │ + spandsp │ │ │ │ │ + res_fax │ │ │ │ │ + no │ │ │ │ │ + deprecated │ │ │ │ │ + res_fax │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send a Fax │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - time, in seconds since Jan 1, 1970. May be negative. Defaults to now. │ │ │ │ │ + │ │ │ │ │ + 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: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Interfaces with an external IVR application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Provide directory of voicemail extensions. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - timezone, see │ │ │ │ │ - /usr/share/zoneinfo │ │ │ │ │ - for a list. Defaults to machine default. │ │ │ │ │ + This is the context within voicemail.conf to use for the Directory. If not │ │ │ │ │ + specified and │ │ │ │ │ + searchcontexts=no │ │ │ │ │ + in │ │ │ │ │ + voicemail.conf │ │ │ │ │ + , then │ │ │ │ │ + default │ │ │ │ │ + will be assumed. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - a format the time is to be said in. See │ │ │ │ │ - voicemail.conf │ │ │ │ │ - . │ │ │ │ │ - Defaults to │ │ │ │ │ - ABdY "digits/at" IMp │ │ │ │ │ + This is the dialplan context to use when looking for an │ │ │ │ │ + extension that the user has selected, or when jumping to the │ │ │ │ │ + o │ │ │ │ │ + or │ │ │ │ │ + a │ │ │ │ │ + extension. If not │ │ │ │ │ + specified, the current context will be used. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Only one of the │ │ │ │ │ + f │ │ │ │ │ + , │ │ │ │ │ + l │ │ │ │ │ + , or │ │ │ │ │ + b │ │ │ │ │ + options may be specified. │ │ │ │ │ + If more than one is specified │ │ │ │ │ + , then Directory will act as │ │ │ │ │ + if │ │ │ │ │ + b │ │ │ │ │ + was specified. The number │ │ │ │ │ + of characters for the user to type defaults to │ │ │ │ │ + 3 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Say the date and time in a specified format. │ │ │ │ │ + │ │ │ │ │ + This application will present the calling channel with a directory of extensions from which they can search │ │ │ │ │ + by name. The list of names and corresponding extensions is retrieved from the │ │ │ │ │ + voicemail configuration file, │ │ │ │ │ + voicemail.conf │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + This application will immediately exit if one of the following DTMF digits are │ │ │ │ │ + received and the extension to jump to exists: │ │ │ │ │ + │ │ │ │ │ + 0 │ │ │ │ │ + - Jump to the 'o' extension, if it exists. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + * │ │ │ │ │ + - Jump to the 'a' extension, if it exists. │ │ │ │ │ + │ │ │ │ │ + This application will set the following channel variable before completion: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reason Directory application exited. │ │ │ │ │ + User requested operator │ │ │ │ │ + User requested assistant │ │ │ │ │ + User allowed DTMF wait duration to pass without sending DTMF │ │ │ │ │ + The channel hung up before the application finished │ │ │ │ │ + User selected a user to call from the directory │ │ │ │ │ + User exited with '#' during selection │ │ │ │ │ + The application failed │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - deprecated │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Sends an image file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.21.0 │ │ │ │ │ + 18.7.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Detects MF digits on a channel and saves them to a variable. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Path of the filename (image) to send. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Send an image file on a channel supporting it. │ │ │ │ │ │ │ │ │ │ - Result of transmission will be stored in │ │ │ │ │ - SENDIMAGESTATUS │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Transmission succeeded. │ │ │ │ │ - Transmission failed. │ │ │ │ │ - Image transmission not supported by channel. │ │ │ │ │ + │ │ │ │ │ + This is the status of the read operation. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SendText │ │ │ │ │ - SendURL │ │ │ │ │ + Read │ │ │ │ │ + SendMF │ │ │ │ │ + ReceiveSF │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_speech │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Create a Speech Structure. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.21.0 │ │ │ │ │ + 18.7.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Sends arbitrary MF digits on the current or specified channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + It will send all digits or terminate if it encounters an error. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + ReceiveMF │ │ │ │ │ + SendSF │ │ │ │ │ + SendDTMF │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Activate a grammar. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + Plays an MF digit on the specified channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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). │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Start recognizing voice in the audio stream. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Play a sound file and wait for speech to be recognized. │ │ │ │ │ + │ │ │ │ │ + Waits for a specified amount of noise. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + 1000 │ │ │ │ │ + milliseconds. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + 1 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Timeout integer in seconds. Note the timeout will only start │ │ │ │ │ - once the sound file has stopped playing. │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Load Asterisk ADSI Scripts into phone │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + adsi script to use. If not given uses the default script │ │ │ │ │ + asterisk.adsi │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + This application programs an ADSI Phone with the given script │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + GetCPEID │ │ │ │ │ + adsi.conf │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Deactivate a grammar. │ │ │ │ │ + │ │ │ │ │ + res_stasis │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Invoke an external Stasis application. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The grammar name to deactivate │ │ │ │ │ + │ │ │ │ │ + Name of the application to invoke. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Optional comma-delimited arguments for the │ │ │ │ │ + application invocation. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Change background processing sound. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - End speech recognition. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Start a while loop. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Start a While Loop. Execution will return to this point when │ │ │ │ │ + EndWhile() │ │ │ │ │ + is called until expr is no longer true. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + EndWhile │ │ │ │ │ + ExitWhile │ │ │ │ │ + ContinueWhile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + End a while loop. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + Return to the previous called │ │ │ │ │ + While() │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + While │ │ │ │ │ + ExitWhile │ │ │ │ │ + ContinueWhile │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Load a grammar. │ │ │ │ │ + │ │ │ │ │ + End a While loop. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Exits a │ │ │ │ │ + While() │ │ │ │ │ + loop, whether or not the conditional has been satisfied. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + While │ │ │ │ │ + EndWhile │ │ │ │ │ + ContinueWhile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Restart a While loop. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns to the top of the while loop and re-evaluates the conditional. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + While │ │ │ │ │ + EndWhile │ │ │ │ │ + ExitWhile │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Virtual Dictation Machine. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Load a grammar only on the channel, not globally. │ │ │ │ │ - Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ + │ │ │ │ │ + Start dictation machine using optional │ │ │ │ │ + base_dir │ │ │ │ │ + for files. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Unload a grammar. │ │ │ │ │ + │ │ │ │ │ + res_agi │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Jump to label, saving return address. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Unload a grammar. │ │ │ │ │ - Hangs up the channel on failure. If this is not desired, use TryExec. │ │ │ │ │ + Jumps to the label specified, saving the return address. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + GosubIf │ │ │ │ │ + Macro │ │ │ │ │ + Goto │ │ │ │ │ + Return │ │ │ │ │ + StackPop │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gets the confidence score of a result. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Gets the confidence score of a result. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets the recognized text of a result. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Gosub │ │ │ │ │ + Return │ │ │ │ │ + MacroIf │ │ │ │ │ + IF │ │ │ │ │ + GotoIf │ │ │ │ │ + Goto │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Return from gosub routine. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Return value. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Gets the recognized text of a result. │ │ │ │ │ + │ │ │ │ │ + Jumps to the last label on the stack, removing it. The return │ │ │ │ │ + value │ │ │ │ │ + , if │ │ │ │ │ + any, is saved in the channel variable │ │ │ │ │ + GOSUB_RETVAL │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets the matched grammar of a result if available. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Gets the matched grammar of a result if available. │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get or change a speech engine specific attribute. │ │ │ │ │ + │ │ │ │ │ + Retrieve variables hidden by the local gosub stack frame. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Changes a speech engine specific attribute. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Sets the type of results that will be returned. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + View info about the location which called Gosub │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Sets the type of results that will be returned. Valid options are normal or nbest. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gets information about speech recognition results. │ │ │ │ │ + │ │ │ │ │ + Cause the channel to execute the specified dialplan subroutine. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns │ │ │ │ │ - 1 │ │ │ │ │ - upon speech object existing, │ │ │ │ │ - or │ │ │ │ │ - 0 │ │ │ │ │ - if not │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Returns │ │ │ │ │ - 1 │ │ │ │ │ - if spoker spoke, │ │ │ │ │ - or │ │ │ │ │ - 0 │ │ │ │ │ - if not │ │ │ │ │ + The variable name will always be enclosed with │ │ │ │ │ + LOCAL() │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns number of results that were recognized. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The new value of the variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + GoSub │ │ │ │ │ + gosub │ │ │ │ │ + LOCAL │ │ │ │ │ + LOCAL_PEEK │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + deprecated │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send a URL. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Gets information about speech recognition results. │ │ │ │ │ + │ │ │ │ │ + Requests client go to │ │ │ │ │ + URL │ │ │ │ │ + (IAX2) or sends the │ │ │ │ │ + URL to the client (other channels). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + SendImage │ │ │ │ │ + SendText │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Read an extension into a variable. │ │ │ │ │ + │ │ │ │ │ + Sends arbitrary DTMF digits │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - File to play before reading digits or tone with option │ │ │ │ │ - i │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Context in which to match extensions. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - An integer number of seconds to wait for a digit response. If │ │ │ │ │ - greater than │ │ │ │ │ - 0 │ │ │ │ │ - , that value will override the default timeout. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Reads a │ │ │ │ │ - # │ │ │ │ │ - terminated string of digits from the user into the given variable. │ │ │ │ │ - │ │ │ │ │ - Will set READEXTENSTATUS on exit with one of the following statuses: │ │ │ │ │ + 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: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.20.0 │ │ │ │ │ - 18.6.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Wait (sleep) until the given condition is true. │ │ │ │ │ + │ │ │ │ │ + Dynamically adds queue members. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 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. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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: │ │ │ │ │ + If the interface is │ │ │ │ │ + NOT │ │ │ │ │ + in the queue it will return an error. │ │ │ │ │ │ │ │ │ │ + This application sets the following channel variable upon completion: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Condition evaluated to true before timeout expired. │ │ │ │ │ - Invalid argument. │ │ │ │ │ - Timeout elapsed without condition evaluating to true. │ │ │ │ │ - Channel hung up before condition became true. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - deprecated │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Encode and stream using 'ices'. │ │ │ │ │ + │ │ │ │ │ + Pauses a queue member. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - ICES configuration file. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is used to add extra information to the appropriate queue_log entries and manager events. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Blind transfer channel(s) to the extension and context provided │ │ │ │ │ + │ │ │ │ │ + Unpauses a queue member. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Specify extension. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optionally specify a context. │ │ │ │ │ - By default, Asterisk will use the caller channel context. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is used to add extra information to the appropriate queue_log entries and manager events. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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: │ │ │ │ │ + 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: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Transfer succeeded. │ │ │ │ │ - Transfer failed. │ │ │ │ │ - Transfer invalid. │ │ │ │ │ - Transfer not permitted. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If │ │ │ │ │ + position │ │ │ │ │ + is unspecified the first channel is returned. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Queue │ │ │ │ │ + QueueLog │ │ │ │ │ + AddQueueMember │ │ │ │ │ + RemoveQueueMember │ │ │ │ │ + PauseQueueMember │ │ │ │ │ + UnpauseQueueMember │ │ │ │ │ + QUEUE_VARIABLES │ │ │ │ │ + QUEUE_MEMBER │ │ │ │ │ + QUEUE_MEMBER_COUNT │ │ │ │ │ + QUEUE_EXISTS │ │ │ │ │ + QUEUE_WAITING_COUNT │ │ │ │ │ + QUEUE_MEMBER_LIST │ │ │ │ │ + QUEUE_MEMBER_PENALTY │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Count number of calls currently waiting in a queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns the number of callers currently waiting in the specified │ │ │ │ │ + queuename │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns a list of interfaces on a queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns a comma-separated list of members associated with the specified │ │ │ │ │ + queuename │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 or sets queue members penalty. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets queue members penalty. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show queue status. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Limit the response to the status of the specified queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Limit the response to the status of the specified member. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Check the status of one or more queues. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show queue summary. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Queue for which the summary is requested. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Request the manager to send a QueueSummary event. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Add interface to queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Queue's name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the interface (tech/name) to add to the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A penalty (number) to apply to this member. Asterisk will distribute calls to members with higher penalties only after attempting to distribute calls to those with lower penalty. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + To pause or not the member initially (true/false or 1/0). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Text alias for the interface. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Remove interface from queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the queue to take action on. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The interface (tech/name) to remove from queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Makes a queue member temporarily unavailable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the interface (tech/name) to pause or unpause. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Pause or unpause the interface. Set to 'true' to pause the member or 'false' to unpause. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the queue in which to pause or unpause this member. If not specified, the member will be paused or unpaused in all the queues it is a member of. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Text description, returned in the event QueueMemberPaused. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Pause or unpause a member in a queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Adds custom entry in queue_log. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set the penalty for a queue member. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The interface (tech/name) of the member whose penalty to change. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The new penalty (number) for the member. Must be nonnegative. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If specified, only set the penalty for the member of this queue. Otherwise, set the penalty for the member in all queues to which the member belongs. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Change the penalty of a queue member │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set the ringinuse value for a queue member. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Queue Rules. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the rule in queuerules.conf whose contents to list. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List queue rules defined in queuerules.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reload a queue, queues, or any sub-section of a queue or queues. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the queue to take action on. If no queue name is specified, then all queues are affected. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether to reload the queue's members. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether to reload queuerules.conf │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether to reload the other queue options. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reset queue statistics. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the queue on which to reset statistics. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Reset the statistics for a queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Change priority of a caller on queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the queue to take action on. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The caller (channel) to change priority on queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Priority value for change for caller on queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Request to withdraw a caller from the queue back to the dialplan. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the queue to take action on. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The caller (channel) to withdraw from the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Optional info to store. If the call is successfully withdrawn from the queue, this information will be available in the QUEUE_WITHDRAW_INFO variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised in response to the QueueStatus action. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The strategy of the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The queue member's channel technology or location. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The queue's hold time. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The queue's talk time. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The queue's completion time. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The queue's call abandonment metric. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Primary service level performance metric. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Secondary service level performance metric. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + QueueMember │ │ │ │ │ + QueueEntry │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised in response to the QueueStatus action. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The caller's position within the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the caller's channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The unique ID of the channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The Caller ID number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The Caller ID name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The bridged party's number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The bridged party's name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The caller's wait time. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The caller's priority within the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + QueueParams │ │ │ │ │ + QueueMember │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a Queue member's status has changed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the queue member. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The queue member's channel technology or location. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel technology or location from which to read device state changes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The penalty associated with the queue member. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of calls this queue member has serviced. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The time this member last took a call, expressed in seconds since 00:00, Jan 1, 1970 UTC. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The time when started last paused the queue member. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The time this member logged in to the queue, expressed in seconds since 00:00, Jan 1, 1970 UTC. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Set to 1 if member is in call. Set to 0 after LastCall time is updated. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The numeric device state status of the queue member. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AST_DEVICE_UNKNOWN │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AST_DEVICE_NOT_INUSE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AST_DEVICE_INUSE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AST_DEVICE_BUSY │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AST_DEVICE_INVALID │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AST_DEVICE_UNAVAILABLE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AST_DEVICE_RINGING │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AST_DEVICE_RINGINUSE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AST_DEVICE_ONHOLD │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set when paused, the reason the queue member was paused. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The Wrapup Time of the queue member. If this value is set will override the wrapup time of queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a member is added to the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + QueueMemberRemoved │ │ │ │ │ + AddQueueMember │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a member is removed from the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + QueueMemberAdded │ │ │ │ │ + RemoveQueueMember │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a member is paused/unpaused in the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This has been deprecated in favor of the │ │ │ │ │ + PausedReason │ │ │ │ │ + field. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PauseQueueMember │ │ │ │ │ + UnPauseQueueMember │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a member's penalty is changed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + QUEUE_MEMBER │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a member's ringinuse setting is changed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + QUEUE_MEMBER │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a caller joins a Queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This channel's current position in the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The total number of channels in the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + QueueCallerLeave │ │ │ │ │ + Queue │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a caller leaves a Queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + QueueCallerJoin │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a caller abandons the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The channel's original position in the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The time the channel was in the queue, expressed in seconds since 00:00, Jan 1, 1970 UTC. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an queue member is notified of a caller in the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AgentRingNoAnswer │ │ │ │ │ + AgentComplete │ │ │ │ │ + AgentConnect │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a queue member is notified of a caller in the queue and fails to answer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The time the queue member was rung, expressed in seconds since 00:00, Jan 1, 1970 UTC. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AgentCalled │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a queue member has finished servicing a caller in the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The time the queue member talked with the caller in the queue, expressed in seconds since 00:00, Jan 1, 1970 UTC. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AgentCalled │ │ │ │ │ + AgentConnect │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a queue member hangs up on a caller in the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AgentCalled │ │ │ │ │ + AgentConnect │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a queue member answers and is bridged to a caller in the queue. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + AgentCalled │ │ │ │ │ + AgentComplete │ │ │ │ │ + AgentDump │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Conference bridge application. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -15235,174 +15155,284 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ If this parameter is not a complete channel name, the first channel with this prefix will be used. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Interfaces with an external IVR application. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Hangs up the requested channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Hangs up the requested channel. If there are no channels to │ │ │ │ │ + hangup, the application will report it. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + This application asks the caller to enter a given password in order to continue dialplan execution. │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - dahdi │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + amr_nb │ │ │ │ │ + amr_wb_decoder │ │ │ │ │ + amr_wb_encoder │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ gsm │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + dahdi │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - codec2 │ │ │ │ │ + │ │ │ │ │ + speex │ │ │ │ │ + speex_preprocess │ │ │ │ │ + speexdsp │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ ilbc │ │ │ │ │ no │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - speex │ │ │ │ │ - speex_preprocess │ │ │ │ │ - speexdsp │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + codec2 │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - amr_nb │ │ │ │ │ - amr_wb_decoder │ │ │ │ │ - amr_wb_encoder │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + vorbis │ │ │ │ │ + ogg │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ speex │ │ │ │ │ ogg │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + syslog │ │ │ │ │ + no │ │ │ │ │ + deprecated │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + sqlite3 │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + beanstalk │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - vorbis │ │ │ │ │ - ogg │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_odbc │ │ │ │ │ + generic_odbc │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + pgsql │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Raised when a CDR is generated. │ │ │ │ │ │ │ │ │ │ @@ -15540,85 +15570,47 @@ │ │ │ │ │ cdr_manager.conf │ │ │ │ │ . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pgsql │ │ │ │ │ + │ │ │ │ │ + radius │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ res_odbc │ │ │ │ │ generic_odbc │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - syslog │ │ │ │ │ - no │ │ │ │ │ - deprecated │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - beanstalk │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + freetds │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ res_odbc │ │ │ │ │ generic_odbc │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - freetds │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - sqlite3 │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - radius │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - sqlite3 │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ pgsql │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - beanstalk │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ freetds │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - radius │ │ │ │ │ + │ │ │ │ │ + sqlite3 │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_odbc │ │ │ │ │ - generic_odbc │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Raised when a Channel Event Log is generated for a channel. │ │ │ │ │ │ │ │ │ │ @@ -15775,558 +15767,323 @@ │ │ │ │ │ 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + beanstalk │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + radius │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ res_monitor │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get or Set a device state. │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Evaluates the contents of a dialplan extension and returns it as a string. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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 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)}) │ │ │ │ │ │ │ │ │ │ - The DEVICE_STATE function can also be used to set custom device state from │ │ │ │ │ - the dialplan. The │ │ │ │ │ - Custom: │ │ │ │ │ - prefix must be used. For example: │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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)}) │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Count the voicemails in a specified mailbox or mailboxes. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ A mailbox or list of mailboxes │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - If not specified, defaults to │ │ │ │ │ - INBOX │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Count the number of voicemails in a specified mailbox, you could also specify │ │ │ │ │ - the mailbox │ │ │ │ │ - folder │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Counts the number of channels in the specified group. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Group name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Category name │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Calculates the group count for the specified group, or uses the │ │ │ │ │ - channel's current group if not specified (and non-empty). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Counts the number of channels in the groups matching the specified pattern. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A standard regular expression used to match a group name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A standard regular expression used to match a category name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Calculates the group count for all groups that match the specified pattern. │ │ │ │ │ - Note: category matching is applied after matching based on group. │ │ │ │ │ - Uses standard regular expression matching on both (see regex(7)). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets the channel group. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Category name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - category │ │ │ │ │ - can be employed for more fine grained group management. Each channel │ │ │ │ │ - can only be member of exactly one group per │ │ │ │ │ - category │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets a list of the groups set on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets a list of the groups set on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Intercepts hold frames on a channel and raises an event instead of passing the frame on │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets the global variable specified. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Global variable name │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set or get the value of a global variable specified in │ │ │ │ │ - varname │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets the shared variable specified. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variable name │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If not specified will default to current channel. It is the complete │ │ │ │ │ - channel name: │ │ │ │ │ - SIP/12-abcd1234 │ │ │ │ │ - or the prefix only │ │ │ │ │ - SIP/12 │ │ │ │ │ - . │ │ │ │ │ + If not specified, defaults to │ │ │ │ │ + INBOX │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Implements a shared variable area, in which you may share variables between │ │ │ │ │ - channels. │ │ │ │ │ │ │ │ │ │ - The variables used in this space are separate from the general namespace of │ │ │ │ │ - the channel and thus │ │ │ │ │ - SHARED(foo) │ │ │ │ │ - and │ │ │ │ │ - foo │ │ │ │ │ - represent two completely different variables, despite sharing the same name. │ │ │ │ │ + Count the number of voicemails in a specified mailbox, you could also specify │ │ │ │ │ + the mailbox │ │ │ │ │ + folder │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - Finally, realize that there is an inherent race between channels operating │ │ │ │ │ - at the same time, fiddling with each others' internal variables, which is why │ │ │ │ │ - this special variable namespace exists; it is to remind you that variables in │ │ │ │ │ - the SHARED namespace may change at any time, without warning. You should │ │ │ │ │ - therefore take special care to ensure that when using the SHARED namespace, │ │ │ │ │ - you retrieve the variable and store it in a regular channel variable before │ │ │ │ │ - using it in a set of calculations (or you might be surprised by the result). │ │ │ │ │ + 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)}) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a variable is shared between channels. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The SHARED variable being set. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The variable name will always be enclosed with │ │ │ │ │ - SHARED() │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The new value of the variable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SHARED │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Checks if an Asterisk module is loaded in memory. │ │ │ │ │ + │ │ │ │ │ + Pitch shift both tx and rx audio streams on a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Module name complete with │ │ │ │ │ - .so │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ + 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) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.24.0 │ │ │ │ │ - 18.10.0 │ │ │ │ │ - 19.2.0 │ │ │ │ │ - │ │ │ │ │ - Returns the string value of a JSON object key from a string containing a │ │ │ │ │ - JSON array. │ │ │ │ │ + │ │ │ │ │ + Format a variable according to a format string. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the variable containing the JSON string to parse. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the key whose value to return. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - The JSON_DECODE function retrieves the value of the given variable name │ │ │ │ │ - and parses it as JSON, returning the value at a specified key. If the key cannot │ │ │ │ │ - be found, an empty string is 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - CURL │ │ │ │ │ + sprintf(3) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Return the Version info for this Asterisk. │ │ │ │ │ + │ │ │ │ │ + View internal ast_frames as they are read and written on a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The possible values are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + 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) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_curl │ │ │ │ │ - curl │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Retrieve content from a remote web or ftp server │ │ │ │ │ + │ │ │ │ │ + Computes a SHA1 digest. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The full URL for the resource to retrieve. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Read Only │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If specified, an │ │ │ │ │ - HTTP POST │ │ │ │ │ - will be │ │ │ │ │ - performed with the content of │ │ │ │ │ - post-data │ │ │ │ │ - , instead of an │ │ │ │ │ - HTTP GET │ │ │ │ │ - (default). │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Input string │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + Generate a SHA1 digest via the SHA1 algorythm. │ │ │ │ │ + exten => s,1,Set(sha1hash=${SHA1(junky)}) │ │ │ │ │ │ │ │ │ │ - When this function is read, a │ │ │ │ │ - HTTP GET │ │ │ │ │ - (by default) will be used to retrieve the contents of the provided │ │ │ │ │ - url │ │ │ │ │ - . The contents are returned as the │ │ │ │ │ - result of the function. │ │ │ │ │ - │ │ │ │ │ - exten => s,1,Verbose(0, ${CURL(http://localhost:8088/static/astman.css)}) │ │ │ │ │ - │ │ │ │ │ - When this function is written to, a │ │ │ │ │ - HTTP GET │ │ │ │ │ - will be used to retrieve the contents of the provided │ │ │ │ │ - url │ │ │ │ │ - . The value written to the function │ │ │ │ │ - specifies the destination file of the cURL'd resource. │ │ │ │ │ + The example above sets the asterisk variable sha1hash to the string │ │ │ │ │ + 60fa5675b9303eb62f99a9cd47f9f5837d18f9a0 │ │ │ │ │ + which is known as its hash │ │ │ │ │ │ │ │ │ │ - exten => s,1,Set(CURL(http://localhost:8088/static/astman.css)=/var/spool/asterisk/tmp/astman.css)) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If │ │ │ │ │ - live_dangerously │ │ │ │ │ - in │ │ │ │ │ - asterisk.conf │ │ │ │ │ - is set to │ │ │ │ │ - no │ │ │ │ │ - , this function can only be written to from the │ │ │ │ │ - dialplan, and not directly from external protocols. Read operations are │ │ │ │ │ - unaffected. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - CURLOPT │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Sets various options for future invocations of CURL. │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get information about a PJSIP contact │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The name of the contact to query. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The configuration option for the contact to query for. │ │ │ │ │ + Supported options are those fields on the │ │ │ │ │ + contact │ │ │ │ │ + object. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - A cookie to send with the request. Multiple │ │ │ │ │ - cookies are supported. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of seconds to wait for a connection to succeed │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of seconds to wait for DNS to be resolved │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether or not to follow HTTP 3xx redirects (boolean) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - For FTP URIs, force a text transfer (boolean) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - For FTP URIs, number of seconds to wait for a │ │ │ │ │ - server response │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Include header information in the result │ │ │ │ │ - (boolean) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Add HTTP header. Multiple calls add multiple headers. │ │ │ │ │ - Setting of any header will remove the default │ │ │ │ │ - "Content-Type application/x-www-form-urlencoded" │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - For HTTP(S) URIs, number of seconds to wait for a │ │ │ │ │ - server response │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum number of redirects to follow. The default is -1, │ │ │ │ │ - which allows for unlimited redirects. This only makes sense when │ │ │ │ │ - followlocation is also set. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hostname or IP address to use as a proxy server │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Type of │ │ │ │ │ - proxy │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Port number of the │ │ │ │ │ - proxy │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A │ │ │ │ │ - username │ │ │ │ │ - : │ │ │ │ │ - password │ │ │ │ │ - combination to use for authenticating requests through a │ │ │ │ │ - proxy │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Referer URL to use for the request │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - UserAgent string to use for the request │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A │ │ │ │ │ - username │ │ │ │ │ - : │ │ │ │ │ - password │ │ │ │ │ - to use for authentication when the server response to │ │ │ │ │ - an initial request indicates a 401 status code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether to verify the server certificate against │ │ │ │ │ - a list of known root certificate authorities (boolean). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Assuming the responses will be in │ │ │ │ │ - key1=value1&key2=value2 │ │ │ │ │ - format, reformat the response such that it can be used │ │ │ │ │ - by the │ │ │ │ │ - HASH │ │ │ │ │ - function. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Also translate │ │ │ │ │ - + │ │ │ │ │ - to the │ │ │ │ │ - space character, in violation of current RFC │ │ │ │ │ - standards. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The RTT of the last qualify │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - A comma separated list of HTTP response codes to be treated as errors │ │ │ │ │ + │ │ │ │ │ + Status of the contact │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + iconv │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Converts charsets of strings. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Input charset │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Output charset │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + String to convert, from │ │ │ │ │ + in-charset │ │ │ │ │ + to │ │ │ │ │ + out-charset │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Options may be set globally or per channel. Per-channel │ │ │ │ │ - settings will override global settings. Only HTTP headers are added instead of overriding │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - CURL │ │ │ │ │ - HASH │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Encode a string in base64. │ │ │ │ │ │ │ │ │ │ @@ -16355,179 +16112,194 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ BASE64_ENCODE │ │ │ │ │ AES_DECRYPT │ │ │ │ │ AES_ENCRYPT │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_odbc │ │ │ │ │ + generic_odbc │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Encodes a string to URI-safe encoding according to RFC 2396. │ │ │ │ │ + │ │ │ │ │ + Fetch a row from a multirow query. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Input string to be encoded. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns the encoded string defined in │ │ │ │ │ - data │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Decodes a URI-encoded string according to RFC 2396. │ │ │ │ │ + │ │ │ │ │ + Clear the resultset of a sucessful multirow query. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Input string to be decoded. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 decoded URI-encoded │ │ │ │ │ - data │ │ │ │ │ - string. │ │ │ │ │ + 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})}' │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - speex │ │ │ │ │ - speex_preprocess │ │ │ │ │ - speexdsp │ │ │ │ │ + │ │ │ │ │ + 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})})}' │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Apply automatic gain control to audio on a channel. │ │ │ │ │ + │ │ │ │ │ + Check if a value is NULL. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + Returns │ │ │ │ │ + 1 │ │ │ │ │ + if NULL or │ │ │ │ │ + 0 │ │ │ │ │ + otherwise. │ │ │ │ │ │ │ │ │ │ - exten => 1,1,Set(AGC(rx)=8000) │ │ │ │ │ - exten => 1,2,Set(AGC(tx)=off) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Apply noise reduction to audio on a channel. │ │ │ │ │ + │ │ │ │ │ + SET assigns a value to a channel variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Test the existence of a value. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This can be either │ │ │ │ │ - rx │ │ │ │ │ - or │ │ │ │ │ - tx │ │ │ │ │ - the values that can be set to this are either │ │ │ │ │ - on │ │ │ │ │ - and │ │ │ │ │ - off │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns │ │ │ │ │ + 1 │ │ │ │ │ + if exists, │ │ │ │ │ + 0 │ │ │ │ │ + otherwise. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Check for an expression. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + Returns the data following │ │ │ │ │ + ? │ │ │ │ │ + if true, else the data following │ │ │ │ │ + : │ │ │ │ │ │ │ │ │ │ - exten => 1,1,Set(DENOISE(rx)=on) │ │ │ │ │ - exten => 1,2,Set(DENOISE(tx)=off) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Computes an MD5 digest. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Temporal Conditional. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Computes an MD5 digest. │ │ │ │ │ + │ │ │ │ │ + Returns the data following │ │ │ │ │ + ? │ │ │ │ │ + if true, else the data following │ │ │ │ │ + : │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Retrieve the value of a variable from another channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ + 16.24.0 │ │ │ │ │ + 18.10.0 │ │ │ │ │ + 19.2.0 │ │ │ │ │ │ │ │ │ │ - Returns the ampersand-delimited file names that would be played by the Say applications (e.g. SayAlpha, SayDigits). │ │ │ │ │ + Returns the string value of a JSON object key from a string containing a │ │ │ │ │ + JSON array. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The value to be translated to filenames. │ │ │ │ │ + │ │ │ │ │ + The name of the variable containing the JSON string to parse. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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(). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The name of the key whose value to return. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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)}) │ │ │ │ │ + The JSON_DECODE function retrieves the value of the given variable name │ │ │ │ │ + and parses it as JSON, returning the value at a specified key. If the key cannot │ │ │ │ │ + be found, an empty string is returned. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - SayAlpha │ │ │ │ │ - SayDigits │ │ │ │ │ - SayMoney │ │ │ │ │ - SayNumber │ │ │ │ │ - SayOrdinal │ │ │ │ │ - SayPhonetic │ │ │ │ │ + CURL │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 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. │ │ │ │ │ @@ -16596,146 +16368,317 @@ │ │ │ │ │ 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Retrieve a variable from a configuration file. │ │ │ │ │ + │ │ │ │ │ + Checks the existence of a dialplan target. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function returns │ │ │ │ │ + 1 │ │ │ │ │ + if the target exits. Otherwise, it returns │ │ │ │ │ + 0 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Determine whether an extension exists or not. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Defaults to the current context │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 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). │ │ │ │ │ + Priority defaults to │ │ │ │ │ + 1 │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function reads a variable from an Asterisk configuration file. │ │ │ │ │ + │ │ │ │ │ + Returns a true value if the indicated │ │ │ │ │ + context │ │ │ │ │ + , │ │ │ │ │ + extension │ │ │ │ │ + , and │ │ │ │ │ + priority │ │ │ │ │ + exist. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function has been deprecated in favor of the │ │ │ │ │ + DIALPLAN_EXISTS() │ │ │ │ │ + function │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Evaluates the contents of a dialplan extension and returns it as a string. │ │ │ │ │ + │ │ │ │ │ + Gets or sets the global variable specified. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Global variable name │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ + Set or get the value of a global variable specified in │ │ │ │ │ + varname │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets timeouts on the channel. Timeout values are in seconds. │ │ │ │ │ + │ │ │ │ │ + Gets or sets the shared variable specified. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Variable name │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - The timeout that will be manipulated. The possible timeout types │ │ │ │ │ - are: │ │ │ │ │ - absolute │ │ │ │ │ - , │ │ │ │ │ - digit │ │ │ │ │ - or │ │ │ │ │ - response │ │ │ │ │ + If not specified will default to current channel. It is the complete │ │ │ │ │ + channel name: │ │ │ │ │ + SIP/12-abcd1234 │ │ │ │ │ + or the prefix only │ │ │ │ │ + SIP/12 │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - The timeouts that can be manipulated are: │ │ │ │ │ + Implements a shared variable area, in which you may share variables between │ │ │ │ │ + channels. │ │ │ │ │ │ │ │ │ │ - absolute │ │ │ │ │ - : The absolute maximum amount of time permitted for a call. │ │ │ │ │ - Setting of 0 disables the timeout. │ │ │ │ │ + The variables used in this space are separate from the general namespace of │ │ │ │ │ + the channel and thus │ │ │ │ │ + SHARED(foo) │ │ │ │ │ + and │ │ │ │ │ + foo │ │ │ │ │ + represent two completely different variables, despite sharing the same name. │ │ │ │ │ │ │ │ │ │ + Finally, realize that there is an inherent race between channels operating │ │ │ │ │ + at the same time, fiddling with each others' internal variables, which is why │ │ │ │ │ + this special variable namespace exists; it is to remind you that variables in │ │ │ │ │ + the SHARED namespace may change at any time, without warning. You should │ │ │ │ │ + therefore take special care to ensure that when using the SHARED namespace, │ │ │ │ │ + you retrieve the variable and store it in a regular channel variable before │ │ │ │ │ + using it in a set of calculations (or you might be surprised by the result). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a variable is shared between channels. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The SHARED variable being set. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The variable name will always be enclosed with │ │ │ │ │ + SHARED() │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The new value of the variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SHARED │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Computes an MD5 digest. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Computes an MD5 digest. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Checks if an Asterisk module is loaded in memory. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Module name complete with │ │ │ │ │ + .so │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get or set a call completion configuration parameter for a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The allowable options are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.21.0 │ │ │ │ │ + 18.7.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Drops specific frame types in the TX or RX direction on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + 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: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Intercepts hold frames on a channel and raises an event instead of passing the frame on │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Returns system information specified by parameter. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -16791,219 +16734,57 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Returns information from a given parameter. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_crypto │ │ │ │ │ + crypto │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Initiate an ENUM query. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If no │ │ │ │ │ - method-type │ │ │ │ │ - is given, the default will be │ │ │ │ │ - sip │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If no │ │ │ │ │ - zone-suffix │ │ │ │ │ - is given, the default will be │ │ │ │ │ - e164.arpa │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This will do a ENUM lookup of the given phone number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve results from a ENUMQUERY. │ │ │ │ │ + │ │ │ │ │ + Encrypt a string with AES given a 16 character key. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The identifier returned by the ENUMQUERY function. │ │ │ │ │ + │ │ │ │ │ + AES Key │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The number of the result that you want to retrieve. │ │ │ │ │ - │ │ │ │ │ - Results start at │ │ │ │ │ - 1 │ │ │ │ │ - . If this argument is specified │ │ │ │ │ - as │ │ │ │ │ - getnum │ │ │ │ │ - , then it will return the total number of results │ │ │ │ │ - that are available or -1 on error. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Input string │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This function will retrieve results from a previous use │ │ │ │ │ - of the ENUMQUERY function. │ │ │ │ │ + Returns an AES encrypted string encoded in base64. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + AES_DECRYPT │ │ │ │ │ + BASE64_ENCODE │ │ │ │ │ + BASE64_DECODE │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - General or specific querying of NAPTR records for ENUM or ENUM-like DNS pointers. │ │ │ │ │ + │ │ │ │ │ + Decrypt a string encoded in base64 with AES given a 16 character key. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If no │ │ │ │ │ - method-type │ │ │ │ │ - is given, the default will be │ │ │ │ │ - sip │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If no │ │ │ │ │ - record# │ │ │ │ │ - is given, │ │ │ │ │ - defaults to │ │ │ │ │ - 1 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If no │ │ │ │ │ - zone-suffix │ │ │ │ │ - is given, the default will be │ │ │ │ │ - e164.arpa │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + AES Key │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - For more information see │ │ │ │ │ - doc/AST.pdf │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - TXTCIDNAME looks up a caller name via DNS. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If no │ │ │ │ │ - zone-suffix │ │ │ │ │ - is given, the default will be │ │ │ │ │ - e164.arpa │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Input string. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check if the callerid is on the blacklist. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Uses astdb to check if the Caller*ID is in family │ │ │ │ │ - blacklist │ │ │ │ │ - . │ │ │ │ │ - Returns │ │ │ │ │ - 1 │ │ │ │ │ - or │ │ │ │ │ - 0 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + Returns the plain text string. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - DB │ │ │ │ │ + AES_ENCRYPT │ │ │ │ │ + BASE64_ENCODE │ │ │ │ │ + BASE64_DECODE │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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() │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ RealTime Read/Write Functions. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -17163,295 +16944,145 @@ │ │ │ │ │ │ │ │ │ │ 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. │ │ │ │ │ + │ │ │ │ │ + Get or Set a presence state. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Variable you want cut │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Delimiter, defaults to │ │ │ │ │ - - │ │ │ │ │ + The provider of the presence, such as │ │ │ │ │ + CustomPresence │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Number of the field you want (1-based offset), may also be specified as a range (with │ │ │ │ │ - - │ │ │ │ │ - ) │ │ │ │ │ - or group of ranges and fields (with │ │ │ │ │ - & │ │ │ │ │ - ) │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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)}) │ │ │ │ │ │ │ │ │ │ - Cut out information from a string ( │ │ │ │ │ - varname │ │ │ │ │ - ), based upon a named delimiter. │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get an extension's state. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If it is not specified defaults to │ │ │ │ │ - default │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ + │ │ │ │ │ + speex │ │ │ │ │ + speex_preprocess │ │ │ │ │ + speexdsp │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get information about a PJSIP contact │ │ │ │ │ + │ │ │ │ │ + Apply automatic gain control to audio on a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the contact to query. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - The configuration option for the contact to query for. │ │ │ │ │ - Supported options are those fields on the │ │ │ │ │ - contact │ │ │ │ │ - object. │ │ │ │ │ + This can be either │ │ │ │ │ + rx │ │ │ │ │ + or │ │ │ │ │ + tx │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The RTT of the last qualify │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Status of the contact │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_odbc │ │ │ │ │ - generic_odbc │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Fetch a row from a multirow query. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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})}' │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - SELECT foo FROM bar WHERE baz='${SQL_ESC(${SQL_ESC_BACKSLASHES(${ARG1})})}' │ │ │ │ │ + exten => 1,1,Set(AGC(rx)=8000) │ │ │ │ │ + exten => 1,2,Set(AGC(tx)=off) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Pitch shift both tx and rx audio streams on a channel. │ │ │ │ │ + │ │ │ │ │ + Apply noise reduction to audio on a channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Direction can be either │ │ │ │ │ + This can be either │ │ │ │ │ rx │ │ │ │ │ - , │ │ │ │ │ + or │ │ │ │ │ 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 values that can be set to this are either │ │ │ │ │ + on │ │ │ │ │ + and │ │ │ │ │ + off │ │ │ │ │ │ │ │ │ │ - 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) │ │ │ │ │ + │ │ │ │ │ + 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 => 1,1,Set(DENOISE(rx)=on) │ │ │ │ │ + exten => 1,2,Set(DENOISE(tx)=off) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 default is │ │ │ │ │ - concat │ │ │ │ │ - with separator │ │ │ │ │ - , │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specifies either the separator for │ │ │ │ │ - concat │ │ │ │ │ - or the occurrence number for │ │ │ │ │ - single │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Gets or sets the environment variable specified. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -17824,14 +17455,1544 @@ │ │ │ │ │ same => n,Set(dirname=${DIRNAME(/etc/asterisk/extensions.conf)}) │ │ │ │ │ same => n,NoOp(${dirname}) ; outputs /etc/asterisk │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ BASENAME │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + 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(). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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)}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SayAlpha │ │ │ │ │ + SayDigits │ │ │ │ │ + SayMoney │ │ │ │ │ + SayNumber │ │ │ │ │ + SayOrdinal │ │ │ │ │ + SayPhonetic │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Read from or write to the Asterisk database. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Check to see if a key exists in the Asterisk database. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Obtain a list of keys within the Asterisk database. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Obtain the number of keys at a prefix within the Asterisk database. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Return a value from the database and delete it. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 the list of channels, optionally filtering by a regular expression. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets the list of channels, optionally filtering by a │ │ │ │ │ + regular_expression │ │ │ │ │ + . If │ │ │ │ │ + no argument is provided, all known channels are returned. The │ │ │ │ │ + regular_expression │ │ │ │ │ + must correspond to │ │ │ │ │ + the POSIX.2 specification, as shown in │ │ │ │ │ + regex(7) │ │ │ │ │ + . The list returned │ │ │ │ │ + will be space-delimited. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.22.0 │ │ │ │ │ + 18.8.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Checks if the specified channel exists. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name or unique ID of the channel to check. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns 1 if the channel │ │ │ │ │ + name_or_uid │ │ │ │ │ + exists, 0 if not. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets variables on the master channel │ │ │ │ │ + │ │ │ │ │ + Allows access to the oldest channel associated with the current │ │ │ │ │ + channel if it still exists. If the channel is the master channel or │ │ │ │ │ + the master channel no longer exists then access local channel variables │ │ │ │ │ + instead. In other words, the master channel is the channel identified by │ │ │ │ │ + the channel's linkedid. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets/sets various pieces of information about the channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Standard items (provided by all channel technologies) are: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W the channel's account code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O format currently being read. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O format used natively for audio. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O format currently being written. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W The channel's DTMF bridge features. │ │ │ │ │ + May include one or more of 'T' 'K' 'H' 'W' and 'X' in a similar manner to options │ │ │ │ │ + in the │ │ │ │ │ + Dial │ │ │ │ │ + application. When setting it, the features string │ │ │ │ │ + must be all upper case. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W numeric call pickup groups that this channel is a member. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W numeric call pickup groups this channel can pickup. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W named call pickup groups that this channel is a member. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W named call pickup groups this channel can pickup. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O technology used for channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Whether the channel is hanging up (1/0) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W the parseable goto string indicating where the channel is │ │ │ │ │ + expected to return to in the PBX after exiting the next bridge it joins │ │ │ │ │ + on the condition that it doesn't hang up. The parseable goto string uses │ │ │ │ │ + the same syntax as the │ │ │ │ │ + Goto │ │ │ │ │ + application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + W/O Replace the most recently added hangup handler │ │ │ │ │ + with a new hangup handler on the channel if supplied. The │ │ │ │ │ + assigned string is passed to the Gosub application when │ │ │ │ │ + the channel is hung up. Any optionally omitted context │ │ │ │ │ + and exten are supplied by the channel pushing the handler │ │ │ │ │ + before it is pushed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + W/O Push a hangup handler onto the channel hangup │ │ │ │ │ + handler stack. The assigned string is passed to the │ │ │ │ │ + Gosub application when the channel is hung up. Any │ │ │ │ │ + optionally omitted context and exten are supplied by the │ │ │ │ │ + channel pushing the handler before it is pushed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + W/O Wipe the entire hangup handler stack and replace │ │ │ │ │ + with a new hangup handler on the channel if supplied. The │ │ │ │ │ + assigned string is passed to the Gosub application when │ │ │ │ │ + the channel is hung up. Any optionally omitted context │ │ │ │ │ + and exten are supplied by the channel pushing the handler │ │ │ │ │ + before it is pushed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Whether or not the channel is onhold. (1/0) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W language for sounds played. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W class (from musiconhold.conf) for hold music. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W parkinglot for parking. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W set rxgain level on channel drivers that support it. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether or not channels bridged to this channel require secure signaling (1/0) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether or not channels bridged to this channel require secure media (1/0) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O state of the channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W zone for indications played │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W ISDN Transfer Capability, one of: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W set txgain level on channel drivers that support it. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O format used natively for video │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W returns the channel responsible for hangup. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O returns the internal application name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O returns the application data if available. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O returns the extension for an outbound channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O returns the context for an outbound channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O returns the last unique extension for an outbound channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O returns the last unique context for an outbound channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O returns the channel name for an outbound channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O returns the channel uniqueid. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O returns the linkedid if available, otherwise returns the uniqueid. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/W The maximum number of forwards allowed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + R/O Call identifier log tag associated with the channel │ │ │ │ │ + e.g., │ │ │ │ │ + [C-00000000] │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets/sets various pieces of information about the channel, additional │ │ │ │ │ + item │ │ │ │ │ + may │ │ │ │ │ + be available from the channel driver; see its documentation for details. Any │ │ │ │ │ + item │ │ │ │ │ + requested that is not available on the current channel will return an empty string. │ │ │ │ │ + │ │ │ │ │ + ; Push a hangup handler subroutine existing at dialplan │ │ │ │ │ + ; location default,s,1 onto the current channel │ │ │ │ │ + same => n,Set(CHANNEL(hangup_handler_push)=default,s,1) │ │ │ │ │ + │ │ │ │ │ + ; Set the current tonezone to Germany (de) │ │ │ │ │ + same => n,Set(CHANNEL(tonezone)=de) │ │ │ │ │ + │ │ │ │ │ + ; Set the allowed maximum number of forwarding attempts │ │ │ │ │ + same => n,Set(CHANNEL(max_forwards)=10) │ │ │ │ │ + │ │ │ │ │ + ; If this channel is ejected from its next bridge, and if │ │ │ │ │ + ; the channel is not hung up, begin executing dialplan at │ │ │ │ │ + ; location default,after-bridge,1 │ │ │ │ │ + same => n,Set(CHANNEL(after_bridge_goto)=default,after-bridge,1) │ │ │ │ │ + │ │ │ │ │ + ; Log the current state of the channel │ │ │ │ │ + same => n,Log(NOTICE, This channel is: ${CHANNEL(state)}) │ │ │ │ │ + │ │ │ │ │ + The following channel variables are available as special built-in │ │ │ │ │ + dialplan channel variables. These variables cannot be set or modified │ │ │ │ │ + and are read-only. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Caller ID presentation for incoming calls (PRI channels) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Caller ANI2 (PRI channels) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Caller Type of Number (PRI channels) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transit Network Selector (PRI channels) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Current extension │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Current context │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Current priority │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Current channel name │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Current call unique identifier │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Asterisk cause of hangup (inbound/outbound) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Performs Mathematical Functions. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Performs mathematical functions based on two parameters and an operator. The returned │ │ │ │ │ + value type is │ │ │ │ │ + type │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.19.0 │ │ │ │ │ + 18.5.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Returns the minimum of two numbers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns the minimum of two numbers │ │ │ │ │ + num1 │ │ │ │ │ + and │ │ │ │ │ + num2 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + same => n,Set(min=${MIN(7,4)}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.19.0 │ │ │ │ │ + 18.5.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Returns the maximum of two numbers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns the maximum of two numbers │ │ │ │ │ + num1 │ │ │ │ │ + and │ │ │ │ │ + num2 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + same => n,Set(max=${MAX(4,7)}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.19.0 │ │ │ │ │ + 18.5.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Returns absolute value of a number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns the absolute value of a number │ │ │ │ │ + num │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + same => n,Set(absval=${ABS(-13)}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unlocks a previously locked mutex. Returns │ │ │ │ │ + 1 │ │ │ │ │ + if the channel │ │ │ │ │ + had a lock or │ │ │ │ │ + 0 │ │ │ │ │ + otherwise. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function sets a property on a channel's CDR. Properties │ │ │ │ │ + alter the behavior of how the CDR operates for that channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Initiate an ENUM query. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If no │ │ │ │ │ + method-type │ │ │ │ │ + is given, the default will be │ │ │ │ │ + sip │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If no │ │ │ │ │ + zone-suffix │ │ │ │ │ + is given, the default will be │ │ │ │ │ + e164.arpa │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This will do a ENUM lookup of the given phone number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve results from a ENUMQUERY. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The identifier returned by the ENUMQUERY function. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of the result that you want to retrieve. │ │ │ │ │ + │ │ │ │ │ + Results start at │ │ │ │ │ + 1 │ │ │ │ │ + . If this argument is specified │ │ │ │ │ + as │ │ │ │ │ + getnum │ │ │ │ │ + , then it will return the total number of results │ │ │ │ │ + that are available or -1 on error. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function will retrieve results from a previous use │ │ │ │ │ + of the ENUMQUERY function. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + General or specific querying of NAPTR records for ENUM or ENUM-like DNS pointers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If no │ │ │ │ │ + method-type │ │ │ │ │ + is given, the default will be │ │ │ │ │ + sip │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If no │ │ │ │ │ + record# │ │ │ │ │ + is given, │ │ │ │ │ + defaults to │ │ │ │ │ + 1 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If no │ │ │ │ │ + zone-suffix │ │ │ │ │ + is given, the default will be │ │ │ │ │ + e164.arpa │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + For more information see │ │ │ │ │ + doc/AST.pdf │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + TXTCIDNAME looks up a caller name via DNS. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If no │ │ │ │ │ + zone-suffix │ │ │ │ │ + is given, the default will be │ │ │ │ │ + e164.arpa │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Encodes a string to URI-safe encoding according to RFC 2396. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Input string to be encoded. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns the encoded string defined in │ │ │ │ │ + data │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Decodes a URI-encoded string according to RFC 2396. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Input string to be decoded. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns the decoded URI-encoded │ │ │ │ │ + data │ │ │ │ │ + string. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Manages a group of users for dialing. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The operation name, possible values are: │ │ │ │ │ + │ │ │ │ │ + add │ │ │ │ │ + - add a channel name or interface (write-only) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + del │ │ │ │ │ + - remove a channel name or interface (write-only) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + 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)}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Initiate an SRV query. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The service for which to look up SRV records. An example would be something │ │ │ │ │ + like │ │ │ │ │ + _sip._udp.example.com │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + Results start at │ │ │ │ │ + 1 │ │ │ │ │ + . If this argument is specified │ │ │ │ │ + as │ │ │ │ │ + getnum │ │ │ │ │ + , then it will return the total number of results │ │ │ │ │ + that are available. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This function will retrieve results from a previous use │ │ │ │ │ + of the SRVQUERY function. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get an extension's state. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If it is not specified defaults to │ │ │ │ │ + default │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Gets or sets Caller*ID data on the channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -18282,1051 +19443,147 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ISO10646 UTF-8 String │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Attempt to obtain a named mutex. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Check if the callerid is on the blacklist. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + Uses astdb to check if the Caller*ID is in family │ │ │ │ │ + blacklist │ │ │ │ │ + . │ │ │ │ │ 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unlocks a previously locked mutex. Returns │ │ │ │ │ - 1 │ │ │ │ │ - if the channel │ │ │ │ │ - had a lock or │ │ │ │ │ + or │ │ │ │ │ 0 │ │ │ │ │ - otherwise. │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + DB │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check if a value is NULL. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns │ │ │ │ │ - 1 │ │ │ │ │ - if NULL or │ │ │ │ │ - 0 │ │ │ │ │ - otherwise. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SET assigns a value to a channel variable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Test the existence of a value. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns │ │ │ │ │ - 1 │ │ │ │ │ - if exists, │ │ │ │ │ - 0 │ │ │ │ │ - otherwise. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check for an expression. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns the data following │ │ │ │ │ - ? │ │ │ │ │ - if true, else the data following │ │ │ │ │ - : │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Temporal Conditional. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns the data following │ │ │ │ │ - ? │ │ │ │ │ - if true, else the data following │ │ │ │ │ - : │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve the value of a variable from another channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - iconv │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Converts charsets of strings. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gets or sets a CDR variable. │ │ │ │ │ + │ │ │ │ │ + Get a field from a sorcery object │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The name of the module owning the sorcery instance. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The type of object to query. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The id of the object to query. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function sets a property on a channel's CDR. Properties │ │ │ │ │ - alter the behavior of how the CDR operates for that channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets the list of channels, optionally filtering by a regular expression. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets the list of channels, optionally filtering by a │ │ │ │ │ - regular_expression │ │ │ │ │ - . If │ │ │ │ │ - no argument is provided, all known channels are returned. The │ │ │ │ │ - regular_expression │ │ │ │ │ - must correspond to │ │ │ │ │ - the POSIX.2 specification, as shown in │ │ │ │ │ - regex(7) │ │ │ │ │ - . The list returned │ │ │ │ │ - will be space-delimited. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.22.0 │ │ │ │ │ - 18.8.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Checks if the specified channel exists. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name or unique ID of the channel to check. │ │ │ │ │ + │ │ │ │ │ + The name of the field. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns 1 if the channel │ │ │ │ │ - name_or_uid │ │ │ │ │ - exists, 0 if not. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets variables on the master channel │ │ │ │ │ - │ │ │ │ │ - Allows access to the oldest channel associated with the current │ │ │ │ │ - channel if it still exists. If the channel is the master channel or │ │ │ │ │ - the master channel no longer exists then access local channel variables │ │ │ │ │ - instead. In other words, the master channel is the channel identified by │ │ │ │ │ - the channel's linkedid. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets/sets various pieces of information about the channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Standard items (provided by all channel technologies) are: │ │ │ │ │ + │ │ │ │ │ + Fields that have multiple occurrences may be retrieved in two ways. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W the channel's account code. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O format currently being read. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O format used natively for audio. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O format currently being written. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W The channel's DTMF bridge features. │ │ │ │ │ - May include one or more of 'T' 'K' 'H' 'W' and 'X' in a similar manner to options │ │ │ │ │ - in the │ │ │ │ │ - Dial │ │ │ │ │ - application. When setting it, the features string │ │ │ │ │ - must be all upper case. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W numeric call pickup groups that this channel is a member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W numeric call pickup groups this channel can pickup. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W named call pickup groups that this channel is a member. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W named call pickup groups this channel can pickup. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O technology used for channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Whether the channel is hanging up (1/0) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - R/W the parseable goto string indicating where the channel is │ │ │ │ │ - expected to return to in the PBX after exiting the next bridge it joins │ │ │ │ │ - on the condition that it doesn't hang up. The parseable goto string uses │ │ │ │ │ - the same syntax as the │ │ │ │ │ - Goto │ │ │ │ │ - application. │ │ │ │ │ + Returns all matching fields concatenated │ │ │ │ │ + in a single string separated by │ │ │ │ │ + separator │ │ │ │ │ + which defaults to │ │ │ │ │ + , │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - W/O Replace the most recently added hangup handler │ │ │ │ │ - with a new hangup handler on the channel if supplied. The │ │ │ │ │ - assigned string is passed to the Gosub application when │ │ │ │ │ - the channel is hung up. Any optionally omitted context │ │ │ │ │ - and exten are supplied by the channel pushing the handler │ │ │ │ │ - before it is pushed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - W/O Push a hangup handler onto the channel hangup │ │ │ │ │ - handler stack. The assigned string is passed to the │ │ │ │ │ - Gosub application when the channel is hung up. Any │ │ │ │ │ - optionally omitted context and exten are supplied by the │ │ │ │ │ - channel pushing the handler before it is pushed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - W/O Wipe the entire hangup handler stack and replace │ │ │ │ │ - with a new hangup handler on the channel if supplied. The │ │ │ │ │ - assigned string is passed to the Gosub application when │ │ │ │ │ - the channel is hung up. Any optionally omitted context │ │ │ │ │ - and exten are supplied by the channel pushing the handler │ │ │ │ │ - before it is pushed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O Whether or not the channel is onhold. (1/0) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W language for sounds played. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W class (from musiconhold.conf) for hold music. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W parkinglot for parking. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W set rxgain level on channel drivers that support it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether or not channels bridged to this channel require secure signaling (1/0) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Whether or not channels bridged to this channel require secure media (1/0) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O state of the channel │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W zone for indications played │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W ISDN Transfer Capability, one of: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W set txgain level on channel drivers that support it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O format used natively for video │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W returns the channel responsible for hangup. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O returns the internal application name. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O returns the application data if available. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O returns the extension for an outbound channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O returns the context for an outbound channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O returns the last unique extension for an outbound channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O returns the last unique context for an outbound channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O returns the channel name for an outbound channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O returns the channel uniqueid. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/O returns the linkedid if available, otherwise returns the uniqueid. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - R/W The maximum number of forwards allowed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - R/O Call identifier log tag associated with the channel │ │ │ │ │ - e.g., │ │ │ │ │ - [C-00000000] │ │ │ │ │ + Returns the nth occurrence of the field │ │ │ │ │ + as specified by │ │ │ │ │ + occurrence_number │ │ │ │ │ + which defaults to │ │ │ │ │ + 1 │ │ │ │ │ . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets/sets various pieces of information about the channel, additional │ │ │ │ │ - item │ │ │ │ │ - may │ │ │ │ │ - be available from the channel driver; see its documentation for details. Any │ │ │ │ │ - item │ │ │ │ │ - requested that is not available on the current channel will return an empty string. │ │ │ │ │ - │ │ │ │ │ - ; Push a hangup handler subroutine existing at dialplan │ │ │ │ │ - ; location default,s,1 onto the current channel │ │ │ │ │ - same => n,Set(CHANNEL(hangup_handler_push)=default,s,1) │ │ │ │ │ - │ │ │ │ │ - ; Set the current tonezone to Germany (de) │ │ │ │ │ - same => n,Set(CHANNEL(tonezone)=de) │ │ │ │ │ - │ │ │ │ │ - ; Set the allowed maximum number of forwarding attempts │ │ │ │ │ - same => n,Set(CHANNEL(max_forwards)=10) │ │ │ │ │ - │ │ │ │ │ - ; If this channel is ejected from its next bridge, and if │ │ │ │ │ - ; the channel is not hung up, begin executing dialplan at │ │ │ │ │ - ; location default,after-bridge,1 │ │ │ │ │ - same => n,Set(CHANNEL(after_bridge_goto)=default,after-bridge,1) │ │ │ │ │ - │ │ │ │ │ - ; Log the current state of the channel │ │ │ │ │ - same => n,Log(NOTICE, This channel is: ${CHANNEL(state)}) │ │ │ │ │ - │ │ │ │ │ - The following channel variables are available as special built-in │ │ │ │ │ - dialplan channel variables. These variables cannot be set or modified │ │ │ │ │ - and are read-only. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Caller ID presentation for incoming calls (PRI channels) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Caller ANI2 (PRI channels) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Caller Type of Number (PRI channels) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transit Network Selector (PRI channels) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Current extension │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Current context │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Current priority │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Current channel name │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Current call unique identifier │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Asterisk cause of hangup (inbound/outbound) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Checks the existence of a dialplan target. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function returns │ │ │ │ │ - 1 │ │ │ │ │ - if the target exits. Otherwise, it returns │ │ │ │ │ - 0 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Determine whether an extension exists or not. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Defaults to the current context │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Priority defaults to │ │ │ │ │ - 1 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns a true value if the indicated │ │ │ │ │ - context │ │ │ │ │ - , │ │ │ │ │ - extension │ │ │ │ │ - , and │ │ │ │ │ - priority │ │ │ │ │ - exist. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function has been deprecated in favor of the │ │ │ │ │ - DIALPLAN_EXISTS() │ │ │ │ │ - function │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.21.0 │ │ │ │ │ - 18.7.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Drops specific frame types in the TX or RX direction on a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ │ │ │ │ │ - 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: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + The default is │ │ │ │ │ + concat │ │ │ │ │ + with separator │ │ │ │ │ + , │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specifies either the separator for │ │ │ │ │ + concat │ │ │ │ │ + or the occurrence number for │ │ │ │ │ + single │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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) │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get or set a call completion configuration parameter for a channel. │ │ │ │ │ + │ │ │ │ │ + Sorts a list of key/vals into a list of keys, based upon the vals. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The allowable options are: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get or Set a presence state. │ │ │ │ │ + │ │ │ │ │ + Slices and dices strings, based upon a named delimiter. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Variable you want cut │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - The provider of the presence, such as │ │ │ │ │ - CustomPresence │ │ │ │ │ + Delimiter, defaults to │ │ │ │ │ + - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Which field of the presence state information is wanted. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of the field you want (1-based offset), may also be specified as a range (with │ │ │ │ │ + - │ │ │ │ │ + ) │ │ │ │ │ + or group of ranges and fields (with │ │ │ │ │ + & │ │ │ │ │ + ) │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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: │ │ │ │ │ + Cut out information from a string ( │ │ │ │ │ + varname │ │ │ │ │ + ), based upon a named delimiter. │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Set or get the TX or RX volume of a channel. │ │ │ │ │ @@ -19360,365 +19617,14 @@ │ │ │ │ │ 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) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Initiate an SRV query. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The service for which to look up SRV records. An example would be something │ │ │ │ │ - like │ │ │ │ │ - _sip._udp.example.com │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - Results start at │ │ │ │ │ - 1 │ │ │ │ │ - . If this argument is specified │ │ │ │ │ - as │ │ │ │ │ - getnum │ │ │ │ │ - , then it will return the total number of results │ │ │ │ │ - that are available. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This function will retrieve results from a previous use │ │ │ │ │ - of the SRVQUERY function. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Read from or write to the Asterisk database. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Check to see if a key exists in the Asterisk database. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Obtain a list of keys within the Asterisk database. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Obtain the number of keys at a prefix within the Asterisk database. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Return a value from the database and delete it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - sprintf(3) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Computes a SHA1 digest. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Input string │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Get information about a PJSIP endpoint │ │ │ │ │ @@ -19739,52 +19645,40 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Manages a group of users for dialing. │ │ │ │ │ + │ │ │ │ │ + Retrieve a variable from a configuration file. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The operation name, possible values are: │ │ │ │ │ - │ │ │ │ │ - add │ │ │ │ │ - - add a channel name or interface (write-only) │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - del │ │ │ │ │ - - remove a channel name or interface (write-only) │ │ │ │ │ + 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). │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - 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)}) │ │ │ │ │ + This function reads a variable from an Asterisk configuration file. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Count the fields with an arbitrary delimiter │ │ │ │ │ @@ -20287,182 +20181,359 @@ │ │ │ │ │ │ │ │ │ │ exten => s,1,Set(UNSHIFT(array)=one,two,three) │ │ │ │ │ This would insert one, │ │ │ │ │ two, and three before the values stored in the variable │ │ │ │ │ "array". │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - View internal ast_frames as they are read and written on a channel. │ │ │ │ │ + │ │ │ │ │ + Executes a command using the system shell and captures its output. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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() │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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) │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Performs Mathematical Functions. │ │ │ │ │ + │ │ │ │ │ + Get or Set a device state. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + 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)}) │ │ │ │ │ │ │ │ │ │ - Performs mathematical functions based on two parameters and an operator. The returned │ │ │ │ │ - value type is │ │ │ │ │ - type │ │ │ │ │ + The DEVICE_STATE function can also be used to set custom device state from │ │ │ │ │ + the dialplan. The │ │ │ │ │ + Custom: │ │ │ │ │ + prefix must be used. For example: │ │ │ │ │ │ │ │ │ │ - same => n,Set(i=${MATH(123%16,int)}) │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Increments the value of a variable, while returning the updated value to the dialplan │ │ │ │ │ + │ │ │ │ │ + Get the devices set for a dialplan hint. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + 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)}) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Decrements the value of a variable, while returning the updated value to the dialplan │ │ │ │ │ + │ │ │ │ │ + res_curl │ │ │ │ │ + curl │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve content from a remote web or ftp server │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The variable name to be manipulated, without the braces. │ │ │ │ │ + │ │ │ │ │ + The full URL for the resource to retrieve. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Read Only │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If specified, an │ │ │ │ │ + HTTP POST │ │ │ │ │ + will be │ │ │ │ │ + performed with the content of │ │ │ │ │ + post-data │ │ │ │ │ + , instead of an │ │ │ │ │ + HTTP GET │ │ │ │ │ + (default). │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Decrements the value of a variable, while returning the updated value to the dialplan │ │ │ │ │ - same => n,NoOp(${DEC(MyVAR)}) │ │ │ │ │ + │ │ │ │ │ + When this function is read, a │ │ │ │ │ + HTTP GET │ │ │ │ │ + (by default) will be used to retrieve the contents of the provided │ │ │ │ │ + url │ │ │ │ │ + . The contents are returned as the │ │ │ │ │ + result of the function. │ │ │ │ │ + │ │ │ │ │ + exten => s,1,Verbose(0, ${CURL(http://localhost:8088/static/astman.css)}) │ │ │ │ │ + │ │ │ │ │ + When this function is written to, a │ │ │ │ │ + HTTP GET │ │ │ │ │ + will be used to retrieve the contents of the provided │ │ │ │ │ + url │ │ │ │ │ + . The value written to the function │ │ │ │ │ + specifies the destination file of the cURL'd resource. │ │ │ │ │ + │ │ │ │ │ + exten => s,1,Set(CURL(http://localhost:8088/static/astman.css)=/var/spool/asterisk/tmp/astman.css)) │ │ │ │ │ │ │ │ │ │ - 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 written to from the │ │ │ │ │ + dialplan, and not directly from external protocols. Read operations are │ │ │ │ │ + unaffected. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + CURLOPT │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.19.0 │ │ │ │ │ - 18.5.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Returns the minimum of two numbers. │ │ │ │ │ + │ │ │ │ │ + Sets various options for future invocations of CURL. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A cookie to send with the request. Multiple │ │ │ │ │ + cookies are supported. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of seconds to wait for a connection to succeed │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Number of seconds to wait for DNS to be resolved │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether or not to follow HTTP 3xx redirects (boolean) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + For FTP URIs, force a text transfer (boolean) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + For FTP URIs, number of seconds to wait for a │ │ │ │ │ + server response │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Include header information in the result │ │ │ │ │ + (boolean) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Add HTTP header. Multiple calls add multiple headers. │ │ │ │ │ + Setting of any header will remove the default │ │ │ │ │ + "Content-Type application/x-www-form-urlencoded" │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + For HTTP(S) URIs, number of seconds to wait for a │ │ │ │ │ + server response │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum number of redirects to follow. The default is -1, │ │ │ │ │ + which allows for unlimited redirects. This only makes sense when │ │ │ │ │ + followlocation is also set. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Hostname or IP address to use as a proxy server │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Type of │ │ │ │ │ + proxy │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Port number of the │ │ │ │ │ + proxy │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A │ │ │ │ │ + username │ │ │ │ │ + : │ │ │ │ │ + password │ │ │ │ │ + combination to use for authenticating requests through a │ │ │ │ │ + proxy │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Referer URL to use for the request │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + UserAgent string to use for the request │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A │ │ │ │ │ + username │ │ │ │ │ + : │ │ │ │ │ + password │ │ │ │ │ + to use for authentication when the server response to │ │ │ │ │ + an initial request indicates a 401 status code. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Whether to verify the server certificate against │ │ │ │ │ + a list of known root certificate authorities (boolean). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Assuming the responses will be in │ │ │ │ │ + key1=value1&key2=value2 │ │ │ │ │ + format, reformat the response such that it can be used │ │ │ │ │ + by the │ │ │ │ │ + HASH │ │ │ │ │ + function. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Also translate │ │ │ │ │ + + │ │ │ │ │ + to the │ │ │ │ │ + space character, in violation of current RFC │ │ │ │ │ + standards. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A comma separated list of HTTP response codes to be treated as errors │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Returns the minimum of two numbers │ │ │ │ │ - num1 │ │ │ │ │ - and │ │ │ │ │ - num2 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - same => n,Set(min=${MIN(7,4)}) │ │ │ │ │ + Options may be set globally or per channel. Per-channel │ │ │ │ │ + settings will override global settings. Only HTTP headers are added instead of overriding │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + CURL │ │ │ │ │ + HASH │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.19.0 │ │ │ │ │ - 18.5.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Returns the maximum of two numbers. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Counts the number of channels in the specified group. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Group name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Category name │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Returns the maximum of two numbers │ │ │ │ │ - num1 │ │ │ │ │ - and │ │ │ │ │ - num2 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - same => n,Set(max=${MAX(4,7)}) │ │ │ │ │ + Calculates the group count for the specified group, or uses the │ │ │ │ │ + channel's current group if not specified (and non-empty). │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.19.0 │ │ │ │ │ - 18.5.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Returns absolute value of a number. │ │ │ │ │ + │ │ │ │ │ + Counts the number of channels in the groups matching the specified pattern. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A standard regular expression used to match a group name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A standard regular expression used to match a category name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Calculates the group count for all groups that match the specified pattern. │ │ │ │ │ + Note: category matching is applied after matching based on group. │ │ │ │ │ + Uses standard regular expression matching on both (see regex(7)). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets the channel group. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Category name. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Returns the absolute value of a number │ │ │ │ │ - num │ │ │ │ │ + category │ │ │ │ │ + can be employed for more fine grained group management. Each channel │ │ │ │ │ + can only be member of exactly one group per │ │ │ │ │ + category │ │ │ │ │ . │ │ │ │ │ │ │ │ │ │ - same => n,Set(absval=${ABS(-13)}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets a list of the groups set on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets a list of the groups set on a channel. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Choose a random number in a range. │ │ │ │ │ @@ -20486,1532 +20557,437 @@ │ │ │ │ │ to │ │ │ │ │ RAND_MAX │ │ │ │ │ (2147483647 on many systems). │ │ │ │ │ │ │ │ │ │ exten => s,1,Set(junky=${RAND(1,8)}) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_crypto │ │ │ │ │ - crypto │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Encrypt a string with AES given a 16 character key. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AES Key │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Input string │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns an AES encrypted string encoded in base64. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AES_DECRYPT │ │ │ │ │ - BASE64_ENCODE │ │ │ │ │ - BASE64_DECODE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Decrypt a string encoded in base64 with AES given a 16 character key. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AES Key │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Input string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns the plain text string. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AES_ENCRYPT │ │ │ │ │ - BASE64_ENCODE │ │ │ │ │ - BASE64_DECODE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - TEST_FRAMEWORK │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ + OPTIONAL_API │ │ │ │ │ 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 │ │ │ │ │ + res_stasis_test │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ + res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ res_http_websocket │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ + func_curl │ │ │ │ │ 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 │ │ │ │ │ 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ 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 │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - curl │ │ │ │ │ - res_http_media_cache │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ + res_ari_model │ │ │ │ │ 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_stasis_test │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - res_ari │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - res_agi │ │ │ │ │ - res_crypto │ │ │ │ │ - crypto │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - func_curl │ │ │ │ │ + curl │ │ │ │ │ + res_http_media_cache │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - res_stasis │ │ │ │ │ + res_ari │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - OPTIONAL_API │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - func_sorcery │ │ │ │ │ + res_agi │ │ │ │ │ + res_crypto │ │ │ │ │ + crypto │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ TEST_FRAMEWORK │ │ │ │ │ - res_ari_model │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + TEST_FRAMEWORK │ │ │ │ │ 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. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get DB Entry. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an RTCP packet is sent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The SSRC identifier for our stream │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The type of packet for this RTCP report. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The address the report is sent to. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of reports that were sent. │ │ │ │ │ - │ │ │ │ │ - The report count determines the number of ReportX headers in │ │ │ │ │ - the message. The X for each set of report headers will range from 0 to │ │ │ │ │ - ReportCount - 1 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The time the sender generated the report. Only valid when │ │ │ │ │ - PT is │ │ │ │ │ - 200(SR) │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sender's last RTP timestamp. Only valid when PT is │ │ │ │ │ - 200(SR) │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of packets the sender has sent. Only valid when PT │ │ │ │ │ - is │ │ │ │ │ - 200(SR) │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of bytes the sender has sent. Only valid when PT is │ │ │ │ │ - 200(SR) │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The SSRC for the source of this report block. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The fraction of RTP data packets from │ │ │ │ │ - ReportXSourceSSRC │ │ │ │ │ - lost since the previous SR or RR report was sent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The total number of RTP data packets from │ │ │ │ │ - ReportXSourceSSRC │ │ │ │ │ - lost since the beginning of reception. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The highest sequence number received in an RTP data packet from │ │ │ │ │ - ReportXSourceSSRC │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of sequence number cycles seen for the RTP data │ │ │ │ │ - received from │ │ │ │ │ - ReportXSourceSSRC │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - An estimate of the statistical variance of the RTP data packet │ │ │ │ │ - interarrival time, measured in timestamp units. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The last SR timestamp received from │ │ │ │ │ - ReportXSourceSSRC │ │ │ │ │ - . │ │ │ │ │ - If no SR has been received from │ │ │ │ │ - ReportXSourceSSRC │ │ │ │ │ - , │ │ │ │ │ - then 0. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The delay, expressed in units of 1/65536 seconds, between │ │ │ │ │ - receiving the last SR packet from │ │ │ │ │ - ReportXSourceSSRC │ │ │ │ │ - and sending this report. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - RTCPReceived │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an RTCP packet is received. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The SSRC identifier for the remote system │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The address the report was received from. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Calculated Round-Trip Time in seconds │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of reports that were received. │ │ │ │ │ - │ │ │ │ │ - The report count determines the number of ReportX headers in │ │ │ │ │ - the message. The X for each set of report headers will range from 0 to │ │ │ │ │ - ReportCount - 1 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - RTCPSent │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when the state of a peer changes. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel technology of the peer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the peer (including channel technology). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - New status of the peer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This contact's URI. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - New status of the contact. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the associated aor. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the associated endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The RTT measured during the last qualify. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieve the details of the current dialplan exception. │ │ │ │ │ + │ │ │ │ │ + Get DB entries, optionally at a particular family/key │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Put DB entry. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Delete DB entry. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + Delete DB Tree. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Features Configuration │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -22530,48 +21506,22 @@ │ │ │ │ │ value has not been set. This function can also be used to set a channel │ │ │ │ │ specific value for a feature mapping. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ FEATURE │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + jansson │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Optimize away a local channel when possible. │ │ │ │ │ @@ -22650,385 +21600,36 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ LocalOptimizationBegin │ │ │ │ │ LocalOptimizeAway │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Options for configuring a named ACL │ │ │ │ │ + │ │ │ │ │ + An address/subnet from which to allow access │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + An address/subnet from which to disallow access │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Raised when a request violates an ACL check. │ │ │ │ │ │ │ │ │ │ @@ -23353,1501 +21954,867 @@ │ │ │ │ │ The transport type that the request attempted to use. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Request call completion service for previous call │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Request call completion service for a previously failed │ │ │ │ │ - call attempt. │ │ │ │ │ - This application sets the following channel variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is the returned status of the request. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is the reason the request failed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Cancel call completion service │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Cancel a Call Completion Request. │ │ │ │ │ - This application sets the following channel variables: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is the returned status of the cancel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is the reason the cancel failed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a bridge is created. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - BridgeDestroy │ │ │ │ │ - BridgeEnter │ │ │ │ │ - BridgeLeave │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a bridge is destroyed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - BridgeCreate │ │ │ │ │ - BridgeEnter │ │ │ │ │ - BridgeLeave │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Raised when a channel enters a bridge. │ │ │ │ │ + Raised when a blind transfer is complete. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The uniqueid of the channel being swapped out of the bridge │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - BridgeCreate │ │ │ │ │ - BridgeDestroy │ │ │ │ │ - BridgeLeave │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel leaves a bridge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - BridgeCreate │ │ │ │ │ - BridgeDestroy │ │ │ │ │ - BridgeEnter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when the channel that is the source of video in a bridge changes. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The unique ID of the channel that was the video source. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Destination extension for the blind transfer. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - BridgeCreate │ │ │ │ │ - BridgeDestroy │ │ │ │ │ + BlindTransfer │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get a list of bridges in the system. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Optional type for filtering the resulting list of bridges. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns a list of bridges, optionally filtering on a bridge type. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Bridge │ │ │ │ │ - BridgeDestroy │ │ │ │ │ - BridgeInfo │ │ │ │ │ - BridgeKick │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get information about a bridge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The unique ID of the bridge about which to retrieve information. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns detailed information about a bridge and the channels in it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Bridge │ │ │ │ │ - BridgeDestroy │ │ │ │ │ - BridgeKick │ │ │ │ │ - BridgeList │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Information about a channel in a bridge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Information about a bridge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Destroy a bridge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The unique ID of the bridge to destroy. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Deletes the bridge, causing channels to continue or hang up. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Bridge │ │ │ │ │ - BridgeInfo │ │ │ │ │ - BridgeKick │ │ │ │ │ - BridgeList │ │ │ │ │ - BridgeDestroy │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Kick a channel from a bridge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The unique ID of the bridge containing the channel to │ │ │ │ │ - destroy. This parameter can be omitted, or supplied to insure │ │ │ │ │ - that the channel is not removed from the wrong bridge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel to kick out of a bridge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The channel is removed from the bridge. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Bridge │ │ │ │ │ - BridgeDestroy │ │ │ │ │ - BridgeInfo │ │ │ │ │ - BridgeList │ │ │ │ │ - BridgeLeave │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Raised when a presence state changes │ │ │ │ │ + Raised when an attended transfer is complete. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The entity whose presence state has changed │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The new status of the presentity │ │ │ │ │ + │ │ │ │ │ + Indicates the surviving bridge when bridges were merged to complete the transfer │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This header is only present when │ │ │ │ │ + DestType │ │ │ │ │ + is │ │ │ │ │ + Bridge │ │ │ │ │ + or │ │ │ │ │ + Threeway │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The new subtype of the presentity │ │ │ │ │ + │ │ │ │ │ + Indicates the application that is running when the transfer completes │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This header is only present when │ │ │ │ │ + DestType │ │ │ │ │ + is │ │ │ │ │ + App │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The new message of the presentity │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ - PresenceStatus │ │ │ │ │ - event because this event is raised for all presence 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - PresenceStatus │ │ │ │ │ + AtxFer │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an Advice of Charge message is sent at the beginning of a call. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an RTCP packet is sent. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The SSRC identifier for our stream │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The type of packet for this RTCP report. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The address the report is sent to. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - AOC-D │ │ │ │ │ - AOC-E │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an Advice of Charge message is sent during a call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The number of reports that were sent. │ │ │ │ │ + │ │ │ │ │ + The report count determines the number of ReportX headers in │ │ │ │ │ + the message. The X for each set of report headers will range from 0 to │ │ │ │ │ + ReportCount - 1 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The time the sender generated the report. Only valid when │ │ │ │ │ + PT is │ │ │ │ │ + 200(SR) │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sender's last RTP timestamp. Only valid when PT is │ │ │ │ │ + 200(SR) │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of packets the sender has sent. Only valid when PT │ │ │ │ │ + is │ │ │ │ │ + 200(SR) │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of bytes the sender has sent. Only valid when PT is │ │ │ │ │ + 200(SR) │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The SSRC for the source of this report block. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The fraction of RTP data packets from │ │ │ │ │ + ReportXSourceSSRC │ │ │ │ │ + lost since the previous SR or RR report was sent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The total number of RTP data packets from │ │ │ │ │ + ReportXSourceSSRC │ │ │ │ │ + lost since the beginning of reception. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The highest sequence number received in an RTP data packet from │ │ │ │ │ + ReportXSourceSSRC │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of sequence number cycles seen for the RTP data │ │ │ │ │ + received from │ │ │ │ │ + ReportXSourceSSRC │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + An estimate of the statistical variance of the RTP data packet │ │ │ │ │ + interarrival time, measured in timestamp units. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The last SR timestamp received from │ │ │ │ │ + ReportXSourceSSRC │ │ │ │ │ + . │ │ │ │ │ + If no SR has been received from │ │ │ │ │ + ReportXSourceSSRC │ │ │ │ │ + , │ │ │ │ │ + then 0. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The delay, expressed in units of 1/65536 seconds, between │ │ │ │ │ + receiving the last SR packet from │ │ │ │ │ + ReportXSourceSSRC │ │ │ │ │ + and sending this report. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - AOCMessage │ │ │ │ │ - AOC-S │ │ │ │ │ - AOC-E │ │ │ │ │ + RTCPReceived │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an Advice of Charge message is sent at the end of a call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an RTCP packet is received. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The SSRC identifier for the remote system │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The address the report was received from. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Calculated Round-Trip Time in seconds │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of reports that were received. │ │ │ │ │ + │ │ │ │ │ + The report count determines the number of ReportX headers in │ │ │ │ │ + the message. The X for each set of report headers will range from 0 to │ │ │ │ │ + ReportCount - 1 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - AOCMessage │ │ │ │ │ - AOC-S │ │ │ │ │ - AOC-D │ │ │ │ │ + RTCPSent │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Answer a channel if ringing. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Asterisk will wait this number of milliseconds before returning to │ │ │ │ │ - the dialplan after answering the call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If the call has not been answered, this application will │ │ │ │ │ - answer it. Otherwise, it has no effect on the call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hangup │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play an audio file while waiting for digits of an extension to go to. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Explicitly specifies which language to attempt to use for the requested sound files. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is the dialplan context that this application will use when exiting │ │ │ │ │ - to a dialed extension. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ControlPlayback │ │ │ │ │ - WaitExten │ │ │ │ │ - BackgroundDetect │ │ │ │ │ - TIMEOUT │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicate the Busy condition. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will indicate the busy condition to the calling channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Congestion │ │ │ │ │ - Progress │ │ │ │ │ - Playtones │ │ │ │ │ - Hangup │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicate the Congestion condition. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will indicate the congestion condition to the calling channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Busy │ │ │ │ │ - Progress │ │ │ │ │ - Playtones │ │ │ │ │ - Hangup │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conditional application execution based on the current time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will execute the specified dialplan application, with optional │ │ │ │ │ - arguments, if the current time matches the given time specification. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Exec │ │ │ │ │ - ExecIf │ │ │ │ │ - TryExec │ │ │ │ │ - GotoIfTime │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Jump to a particular priority, extension, or context. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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! │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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!. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Goto │ │ │ │ │ - GotoIfTime │ │ │ │ │ - GosubIf │ │ │ │ │ - MacroIf │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conditional Goto based on the current time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - GotoIf │ │ │ │ │ - Goto │ │ │ │ │ - IFTIME │ │ │ │ │ - TESTTIME │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Import a variable from a channel into a new variable. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Hang up the calling channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If a │ │ │ │ │ - causecode │ │ │ │ │ - is given the channel's │ │ │ │ │ - hangup cause will be set to the given value. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will hang up the calling channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Answer │ │ │ │ │ - Busy │ │ │ │ │ - Congestion │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Do Nothing (No Operation). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Any text provided can be viewed at the Asterisk CLI. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Verbose │ │ │ │ │ - Log │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicate proceeding. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Busy │ │ │ │ │ - Congestion │ │ │ │ │ - Ringing │ │ │ │ │ - Playtones │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Handle an exceptional condition. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Exception │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicate ringing tone. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will request that the channel indicate a ringing tone to the user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Busy │ │ │ │ │ - Congestion │ │ │ │ │ - Progress │ │ │ │ │ - Playtones │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Alpha. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SayDigits │ │ │ │ │ - SayMoney │ │ │ │ │ - SayNumber │ │ │ │ │ - SayOrdinal │ │ │ │ │ - SayPhonetic │ │ │ │ │ - CHANNEL │ │ │ │ │ - SAYFILES │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Alpha. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve the details of the current dialplan exception. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The following fields are available for retrieval: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SayDigits │ │ │ │ │ - SayMoney │ │ │ │ │ - SayNumber │ │ │ │ │ - SayOrdinal │ │ │ │ │ - SayPhonetic │ │ │ │ │ - SayAlpha │ │ │ │ │ - CHANNEL │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Digits. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SayAlpha │ │ │ │ │ - SayMoney │ │ │ │ │ - SayNumber │ │ │ │ │ - SayOrdinal │ │ │ │ │ - SayPhonetic │ │ │ │ │ - CHANNEL │ │ │ │ │ - SAYFILES │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Money. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SayAlpha │ │ │ │ │ - SayNumber │ │ │ │ │ - SayOrdinal │ │ │ │ │ - SayPhonetic │ │ │ │ │ - CHANNEL │ │ │ │ │ - SAYFILES │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SayAlpha │ │ │ │ │ - SayDigits │ │ │ │ │ - SayMoney │ │ │ │ │ - SayPhonetic │ │ │ │ │ - CHANNEL │ │ │ │ │ - SAYFILES │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Ordinal Number. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SayAlpha │ │ │ │ │ - SayDigits │ │ │ │ │ - SayMoney │ │ │ │ │ - SayNumber │ │ │ │ │ - SayPhonetic │ │ │ │ │ - CHANNEL │ │ │ │ │ - SAYFILES │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Say Phonetic. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SayAlpha │ │ │ │ │ - SayDigits │ │ │ │ │ - SayMoney │ │ │ │ │ - SayNumber │ │ │ │ │ - SayOrdinal │ │ │ │ │ - SAYFILES │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Set the AMA Flags. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application will set the channel's AMA Flags for billing purposes. │ │ │ │ │ - │ │ │ │ │ - This application is deprecated. Please use the CHANNEL function instead. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - CDR │ │ │ │ │ - CHANNEL │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Waits for some time. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Can be passed with fractions of a second. For example, │ │ │ │ │ - 1.5 │ │ │ │ │ - will ask the │ │ │ │ │ - application to wait for 1.5 seconds. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This application waits for a specified number of │ │ │ │ │ - seconds │ │ │ │ │ - . │ │ │ │ │ + Retrieve the details (specified │ │ │ │ │ + field │ │ │ │ │ + ) of the current dialplan exception. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Waits for a digit to be entered. │ │ │ │ │ + │ │ │ │ │ + RaiseException │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets a time to be used with the channel to test logical conditions. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Can be passed with fractions of a second. For example, │ │ │ │ │ - 1.5 │ │ │ │ │ - will ask the │ │ │ │ │ - application to wait for 1.5 seconds. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Date in ISO 8601 format │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Digits to accept, all others are ignored. │ │ │ │ │ + │ │ │ │ │ + Time in HH:MM:SS format (24-hour time) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Timezone name │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Wait │ │ │ │ │ - WaitExten │ │ │ │ │ + GotoIfTime │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Waits for an extension to be entered. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Show dialplan contexts and extensions │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Can be passed with fractions of a second. For example, │ │ │ │ │ - 1.5 │ │ │ │ │ - will ask the │ │ │ │ │ - application to wait for 1.5 seconds. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 application waits for the user to enter a new extension for a specified number │ │ │ │ │ - of │ │ │ │ │ - seconds │ │ │ │ │ - . │ │ │ │ │ + This will list out all known extension states in a │ │ │ │ │ + sequence of │ │ │ │ │ + ExtensionStatus │ │ │ │ │ + events. │ │ │ │ │ + When finished, a │ │ │ │ │ + ExtensionStateListComplete │ │ │ │ │ + event │ │ │ │ │ + will be emitted. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Background │ │ │ │ │ - TIMEOUT │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Bridge two channels. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The current channel is bridged to the channel │ │ │ │ │ - identified by the channel name, channel name prefix, or channel │ │ │ │ │ - uniqueid. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Bridge │ │ │ │ │ - BridgeCreate │ │ │ │ │ - BridgeEnter │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Bridge two channels already in the PBX. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel to Bridge to Channel2. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel to Bridge to Channel1. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play courtesy tone to Channel 2. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Bridge together two channels already in the PBX. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Bridge │ │ │ │ │ - BridgeCreate │ │ │ │ │ - BridgeEnter │ │ │ │ │ - BridgeDestroy │ │ │ │ │ - BridgeInfo │ │ │ │ │ - BridgeKick │ │ │ │ │ - BridgeList │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get DB Entry. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get DB entries, optionally at a particular family/key │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Put DB entry. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Delete DB entry. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Delete DB Tree. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -25009,47 +22976,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Keepalive command. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -26438,4468 +24372,2957 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ PresenceState │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - jansson │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + List available bridging technologies and their statuses. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns detailed information about the available bridging technologies. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + BridgeTechnologySuspend │ │ │ │ │ + BridgeTechnologyUnsuspend │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Suspend a bridging technology. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the bridging technology to suspend. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Marks a bridging technology as suspended, which prevents subsequently created bridges from using it. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + BridgeTechnologySuspend │ │ │ │ │ + BridgeTechnologyUnsuspend │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unsuspend a bridging technology. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the bridging technology to unsuspend. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Clears a previously suspended bridging technology, which allows subsequently created bridges to use it. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + BridgeTechnologyList │ │ │ │ │ + BridgeTechnologySuspend │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Raised when a blind transfer is complete. │ │ │ │ │ + Raised when a new channel is created. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Destination extension for the blind transfer. │ │ │ │ │ + │ │ │ │ │ + A description of why the channel was hung up. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - BlindTransfer │ │ │ │ │ + Newchannel │ │ │ │ │ + SoftHangupRequest │ │ │ │ │ + HangupRequest │ │ │ │ │ + Newstate │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Raised when an attended transfer is complete. │ │ │ │ │ + Raised when a hangup is requested. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Indicates the surviving bridge when bridges were merged to complete the transfer │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This header is only present when │ │ │ │ │ - DestType │ │ │ │ │ - is │ │ │ │ │ - Bridge │ │ │ │ │ - or │ │ │ │ │ - Threeway │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The application about to be executed. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Indicates the application that is running when the transfer completes │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This header is only present when │ │ │ │ │ - DestType │ │ │ │ │ - is │ │ │ │ │ - App │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The data to be passed to the application. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the surviving transferer channel when a transfer results in a threeway call │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This header is only present when │ │ │ │ │ - DestType │ │ │ │ │ - is │ │ │ │ │ - Threeway │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel receives new Caller ID information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A description of the Caller ID presentation. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + CALLERID │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 call pickup occurs. │ │ │ │ │ + Raised when a channel's connected line information is changed. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + CONNECTEDLINE │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when all Asterisk initialization procedures have finished. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a Channel's AccountCode is changed. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Informational message │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Seconds since start │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The channel's previous account code │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Seconds since last reload │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + CHANNEL │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a dial action has started. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The non-technology specific device being dialed. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Dial │ │ │ │ │ + Originate │ │ │ │ │ + Originate │ │ │ │ │ + DialEnd │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when Asterisk is shutdown or restarted. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when dial status has changed. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Whether the shutdown is proceeding cleanly (all channels │ │ │ │ │ - were hungup successfully) or uncleanly (channels will be │ │ │ │ │ - terminated) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Whether or not a restart will occur. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + If the call was forwarded, where the call was │ │ │ │ │ + forwarded to. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a module has been reloaded in Asterisk. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a dial action has completed. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The result of the dial operation. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Success │ │ │ │ │ + │ │ │ │ │ + The call was aborted. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Request queued │ │ │ │ │ + │ │ │ │ │ + The caller answered. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Module not found │ │ │ │ │ + │ │ │ │ │ + The caller was busy. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Error │ │ │ │ │ + │ │ │ │ │ + The caller cancelled the call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Reload already in progress │ │ │ │ │ + │ │ │ │ │ + The requested channel is unavailable. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Module uninitialized │ │ │ │ │ + │ │ │ │ │ + The called party is congested. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Reload not supported │ │ │ │ │ + │ │ │ │ │ + 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 module has been loaded in Asterisk. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel goes on hold. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The suggested MusicClass, if provided. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Unhold │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a module has been unloaded in Asterisk. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel goes off hold. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the module that was unloaded │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The result of the unload request. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Module unloaded successfully │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + A text message describing the current status of the fax │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when an outbound registration completes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a receive fax operation has completed. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The type of channel that was registered (or not). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The value of the │ │ │ │ │ + LOCALSTATIONID │ │ │ │ │ + channel variable │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The username portion of the registration. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The value of the │ │ │ │ │ + REMOTESTATIONID │ │ │ │ │ + channel variable │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The address portion of the registration. │ │ │ │ │ + │ │ │ │ │ + The number of pages that have been transferred │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The status of the registration request. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The negotiated resolution │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - What caused the rejection of the request, if available. │ │ │ │ │ + │ │ │ │ │ + The negotiated transfer rate │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The files being affected by the fax operation │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List available bridging technologies and their statuses. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns detailed information about the available bridging technologies. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - BridgeTechnologySuspend │ │ │ │ │ - BridgeTechnologyUnsuspend │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Suspend a bridging technology. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the bridging technology to suspend. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Marks a bridging technology as suspended, which prevents subsequently created bridges from using it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - BridgeTechnologySuspend │ │ │ │ │ - BridgeTechnologyUnsuspend │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Unsuspend a bridging technology. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the bridging technology to unsuspend. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Clears a previously suspended bridging technology, which allows subsequently created bridges to use it. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - BridgeTechnologyList │ │ │ │ │ - BridgeTechnologySuspend │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - openssl │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ - res_stasis_recording │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Lists subscriptions. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Provides a listing of all inbound subscriptions. An event │ │ │ │ │ - InboundSubscriptionDetail │ │ │ │ │ - is issued for each subscription object. Once all detail events are completed an │ │ │ │ │ - InboundSubscriptionDetailComplete │ │ │ │ │ - event is issued. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Lists subscriptions. │ │ │ │ │ + │ │ │ │ │ + Request call completion service for previous call │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Provides a listing of all outbound subscriptions. An event │ │ │ │ │ - OutboundSubscriptionDetail │ │ │ │ │ - is issued for each subscription object. Once all detail events are completed an │ │ │ │ │ - OutboundSubscriptionDetailComplete │ │ │ │ │ - event is issued. │ │ │ │ │ - │ │ │ │ │ + Request call completion service for a previously failed │ │ │ │ │ + call attempt. │ │ │ │ │ + This application sets the following channel variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the returned status of the request. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the reason the request failed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Displays settings for configured resource lists. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Cancel call completion service │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Provides a listing of all resource lists. An event │ │ │ │ │ - ResourceListDetail │ │ │ │ │ - is issued for each resource list object. Once all detail events are completed a │ │ │ │ │ - ResourceListDetailComplete │ │ │ │ │ - event is issued. │ │ │ │ │ - │ │ │ │ │ + Cancel a Call Completion Request. │ │ │ │ │ + This application sets the following channel variables: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the returned status of the cancel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is the reason the cancel failed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Module that implements publish and subscribe support. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Persists SIP subscriptions so they survive restarts. │ │ │ │ │ - │ │ │ │ │ - Entire SIP SUBSCRIBE packet that created the subscription │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The source address of the subscription │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The source port of the subscription │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The type of transport the subscription was received on │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The local address the subscription was received on │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The local port the subscription was received on │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The sequence number of the next NOTIFY to be sent │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The local tag of the dialog for the subscription │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the endpoint that subscribed │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The time at which the subscription expires │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The Contact URI of the dialog for the subscription │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set, indicates that the contact used a reliable transport │ │ │ │ │ - and therefore the subscription must be deleted after an asterisk restart. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If set, contains persistence data for all generators of content │ │ │ │ │ - for the subscription. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Resource list configuration parameters. │ │ │ │ │ - │ │ │ │ │ - This configuration object allows for RFC 4662 resource list subscriptions │ │ │ │ │ - to be specified. This can be useful to decrease the amount of subscription traffic │ │ │ │ │ - that a server has to process. │ │ │ │ │ - │ │ │ │ │ - Current limitations limit the size of SIP NOTIFY requests that Asterisk sends │ │ │ │ │ - to double that of the PJSIP maximum packet length. If your resource list notifications │ │ │ │ │ - are larger than this maximum, you will need to make adjustments. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must be of type 'resource_list' │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The SIP event package that the list resource belong to. │ │ │ │ │ - │ │ │ │ │ - The SIP event package describes the types of resources that Asterisk reports │ │ │ │ │ - the state of. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Device state and presence reporting. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This is identical to │ │ │ │ │ - presence │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Message-waiting indication (MWI) reporting. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of a resource to report state on │ │ │ │ │ - │ │ │ │ │ - In general Asterisk looks up list items in the following way: │ │ │ │ │ - 1. Check if the list item refers to another configured resource list. │ │ │ │ │ - 2. Pass the name of the resource off to event-package-specific handlers │ │ │ │ │ - to find the specified resource. │ │ │ │ │ - │ │ │ │ │ - The second part means that the way the list item is specified depends │ │ │ │ │ - on what type of list this is. For instance, if you have the │ │ │ │ │ - event │ │ │ │ │ - set to │ │ │ │ │ - presence │ │ │ │ │ - , then list items should be in the form of │ │ │ │ │ - dialplan_extension@dialplan_context. For │ │ │ │ │ - message-summary │ │ │ │ │ - mailbox │ │ │ │ │ - names should be listed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Options that apply globally to Channel Event Logging (CEL) │ │ │ │ │ + │ │ │ │ │ + Determines whether CEL is enabled │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Indicates if the entire list's state should be sent out. │ │ │ │ │ - │ │ │ │ │ - If this option is enabled, and a resource changes state, then Asterisk will construct │ │ │ │ │ - a notification that contains the state of all resources in the list. If the option is │ │ │ │ │ - disabled, Asterisk will construct a notification that only contains the states of │ │ │ │ │ - resources that have changed. │ │ │ │ │ - │ │ │ │ │ - Even with this option disabled, there are certain situations where Asterisk is forced │ │ │ │ │ - to send a notification with the states of all resources in the list. When a subscriber │ │ │ │ │ - renews or terminates its subscription to the list, Asterisk MUST send a full state │ │ │ │ │ - notification. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + The format to be used for dates when logging │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Time Asterisk should wait, in milliseconds, before sending notifications. │ │ │ │ │ + │ │ │ │ │ + List of apps for CEL to track │ │ │ │ │ │ │ │ │ │ - When a resource's state changes, it may be desired to wait a certain amount before Asterisk │ │ │ │ │ - sends a notification to subscribers. This allows for other state changes to accumulate, so that │ │ │ │ │ - Asterisk can communicate multiple state changes in a single notification instead of rapidly sending │ │ │ │ │ - many notifications. │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Indicates whether display name of resource or the resource name being reported. │ │ │ │ │ + │ │ │ │ │ + List of events for CEL to track │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - If this option is enabled, the Display Name will be reported as resource name. │ │ │ │ │ - If the │ │ │ │ │ - event │ │ │ │ │ - set to │ │ │ │ │ - presence │ │ │ │ │ - or │ │ │ │ │ - dialog │ │ │ │ │ - , │ │ │ │ │ - the non-empty HINT name will be set as the Display Name. │ │ │ │ │ - The │ │ │ │ │ - message-summary │ │ │ │ │ - is not supported yet. │ │ │ │ │ + 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 configuration for inbound publications │ │ │ │ │ - │ │ │ │ │ - Optional name of an endpoint that is only allowed to publish to this resource │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must be of type 'inbound-publication'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pgsql │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ - res_stasis_playback │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - curl │ │ │ │ │ - res_curl │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a call pickup occurs. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gets headers from an inbound PJSIP channel. Adds, updates or removes the │ │ │ │ │ - specified SIP header from an outbound PJSIP channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns instance │ │ │ │ │ - number │ │ │ │ │ - of header │ │ │ │ │ - name │ │ │ │ │ - . A │ │ │ │ │ - * │ │ │ │ │ - may be appended to │ │ │ │ │ - name │ │ │ │ │ - to iterate over all │ │ │ │ │ - headers │ │ │ │ │ - beginning with │ │ │ │ │ - name │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Adds a new header │ │ │ │ │ - name │ │ │ │ │ - to this session. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Updates instance │ │ │ │ │ - number │ │ │ │ │ - of header │ │ │ │ │ - name │ │ │ │ │ - to a new value. │ │ │ │ │ - The header must already exist. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Removes all instances of previously added headers │ │ │ │ │ - whose names match │ │ │ │ │ - name │ │ │ │ │ - . A │ │ │ │ │ - * │ │ │ │ │ - may be appended to │ │ │ │ │ - name │ │ │ │ │ - to remove all headers │ │ │ │ │ - beginning with │ │ │ │ │ - name │ │ │ │ │ - . │ │ │ │ │ - name │ │ │ │ │ - may be set to a single │ │ │ │ │ - * │ │ │ │ │ - to clear │ │ │ │ │ - all │ │ │ │ │ - previously added headers. In all cases, │ │ │ │ │ - the number of headers actually removed is returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of the header. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If there's more than 1 header with the same name, this specifies which header │ │ │ │ │ - to read or update. If not specified, defaults to │ │ │ │ │ - 1 │ │ │ │ │ - meaning │ │ │ │ │ - the first matching header. Not valid for │ │ │ │ │ - add │ │ │ │ │ - or │ │ │ │ │ - remove │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PJSIP_HEADER allows you to read specific SIP headers from the inbound │ │ │ │ │ - PJSIP channel as well as write(add, update, remove) headers on the outbound │ │ │ │ │ - channel. One exception is that you can read headers that you have already │ │ │ │ │ - added on the outbound channel. │ │ │ │ │ - Examples: │ │ │ │ │ - exten => 1,1,Set(somevar=${PJSIP_HEADER(read,From)}) │ │ │ │ │ - exten => 1,1,Set(via2=${PJSIP_HEADER(read,Via,2)}) │ │ │ │ │ - exten => 1,1,Set(xhdr=${PJSIP_HEADER(read,X-*,1)}) │ │ │ │ │ - exten => 1,1,Set(PJSIP_HEADER(add,X-MyHeader)=myvalue) │ │ │ │ │ - exten => 1,1,Set(PJSIP_HEADER(add,X-MyHeader)=) │ │ │ │ │ - ; 'X-Myheader' must already exist or the call will fail. │ │ │ │ │ - exten => 1,1,Set(PJSIP_HEADER(update,X-MyHeader)=newvalue) │ │ │ │ │ - exten => 1,1,Set(PJSIP_HEADER(remove,X-MyHeader)=) │ │ │ │ │ - exten => 1,1,Set(PJSIP_HEADER(remove,X-My*)=) │ │ │ │ │ - exten => 1,1,Set(PJSIP_HEADER(remove,*)=) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - remove │ │ │ │ │ - action can be called by reading │ │ │ │ │ - or │ │ │ │ │ - writing PJSIP_HEADER. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - exten => 1,1,Verbose( Removed ${PJSIP_HEADER(remove,X-MyHeader)} headers) │ │ │ │ │ - exten => 1,1,Set(count=${PJSIP_HEADER(remove,X-MyHeader)}) │ │ │ │ │ - exten => 1,1,Set(=${PJSIP_HEADER(remove,X-MyHeader)}) │ │ │ │ │ - exten => 1,1,Set(PJSIP_HEADER(remove,X-MyHeader)=) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If you call PJSIP_HEADER in a normal dialplan context you'll be │ │ │ │ │ - operating on the │ │ │ │ │ - caller's (incoming) │ │ │ │ │ - channel which │ │ │ │ │ - may not be what you want. To operate on the │ │ │ │ │ - callee's (outgoing) │ │ │ │ │ - channel call PJSIP_HEADER in a pre-dial handler. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - [handler] │ │ │ │ │ - exten => addheader,1,Set(PJSIP_HEADER(add,X-MyHeader)=myvalue) │ │ │ │ │ - exten => addheader,2,Set(PJSIP_HEADER(add,X-MyHeader2)=myvalue2) │ │ │ │ │ - │ │ │ │ │ - [somecontext] │ │ │ │ │ - exten => 1,1,Dial(PJSIP/${EXTEN},,b(handler^addheader^1)) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 16.20.0 │ │ │ │ │ - 18.6.0 │ │ │ │ │ - 19.0.0 │ │ │ │ │ - │ │ │ │ │ - Gets the list of SIP header names from an INVITE message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If specified, only the headers matching the given prefix are returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns a comma-separated list of header names (without values) from the │ │ │ │ │ - INVITE message. Multiple headers with the same name are included in the list only once. │ │ │ │ │ - │ │ │ │ │ - For example, │ │ │ │ │ - ${PJSIP_HEADERS(Co)} │ │ │ │ │ - might return │ │ │ │ │ - Contact,Content-Length,Content-Type │ │ │ │ │ - . As a practical example, │ │ │ │ │ - you may use │ │ │ │ │ - ${PJSIP_HEADERS(X-)} │ │ │ │ │ - to enumerate optional extended │ │ │ │ │ - headers. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PJSIP_HEADER │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets headers of 200 response from an outbound PJSIP channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns instance │ │ │ │ │ - number │ │ │ │ │ - of response header │ │ │ │ │ - name │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - name │ │ │ │ │ - of the response header. │ │ │ │ │ - A │ │ │ │ │ - * │ │ │ │ │ - can be appended to the │ │ │ │ │ - name │ │ │ │ │ - to iterate over all response headers │ │ │ │ │ - beginning with │ │ │ │ │ - name │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If there's more than 1 header with the same name, this specifies which header │ │ │ │ │ - to read. If not specified, defaults to │ │ │ │ │ - 1 │ │ │ │ │ - meaning │ │ │ │ │ - the first matching header. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PJSIP_RESPONSE_HEADER allows you to read specific SIP headers of 200 response │ │ │ │ │ - from the outbound PJSIP channel. │ │ │ │ │ - Examples: │ │ │ │ │ - exten => 1,1,Set(somevar=${PJSIP_RESPONSE_HEADER(read,From)}) │ │ │ │ │ - exten => 1,1,Set(via2=${PJSIP_RESPONSE_HEADER(read,Via,2)}) │ │ │ │ │ - exten => 1,1,Set(xhdr=${PJSIP_RESPONSE_HEADER(read,X-*,1)}) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If you call PJSIP_RESPONSE_HEADER in a normal dialplan context you'll be │ │ │ │ │ - operating on the │ │ │ │ │ - caller's (incoming) │ │ │ │ │ - channel which │ │ │ │ │ - may not be what you want. To operate on the │ │ │ │ │ - callee's (outgoing) │ │ │ │ │ - channel call PJSIP_RESPONSE_HEADER in a pre-connect handler. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - [handler] │ │ │ │ │ - exten => readheader,1,NoOp(PJSIP_RESPONSE_HEADER(read,X-MyHeader)) │ │ │ │ │ - [somecontext] │ │ │ │ │ - exten => 1,1,Dial(PJSIP/${EXTEN},,U(handler^readheader^1)) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PJSIP_RESPONSE_HEADERS │ │ │ │ │ - PJSIP_HEADER │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets the list of SIP header names from the 200 response of INVITE message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If specified, only the headers matching the given prefix are returned. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Returns a comma-separated list of header names (without values) from the 200 │ │ │ │ │ - response of INVITE message. Multiple headers with the same name are included in the │ │ │ │ │ - list only once. │ │ │ │ │ - │ │ │ │ │ - For example, │ │ │ │ │ - ${PJSIP_RESPONSE_HEADERS(Co)} │ │ │ │ │ - might return │ │ │ │ │ - Contact,Content-Length,Content-Type │ │ │ │ │ - . As a practical example, │ │ │ │ │ - you may use │ │ │ │ │ - ${PJSIP_RESPONSE_HEADERS(X-)} │ │ │ │ │ - to enumerate optional │ │ │ │ │ - extended headers. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PJSIP_RESPONSE_HEADER │ │ │ │ │ - PJSIP_HEADERS │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjproject │ │ │ │ │ - res_sorcery_config │ │ │ │ │ - res_sorcery_memory │ │ │ │ │ - res_sorcery_astdb │ │ │ │ │ - res_statsd │ │ │ │ │ - res_geolocation │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_http_websocket │ │ │ │ │ - res_stasis │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - HTTP binding for the Stasis API │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - General configuration settings │ │ │ │ │ - │ │ │ │ │ - Enable/disable the ARI module │ │ │ │ │ - │ │ │ │ │ - This option enables or disables the ARI module. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - ARI uses Asterisk's HTTP server, which must also be enabled in │ │ │ │ │ - http.conf │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - http.conf │ │ │ │ │ - https://wiki.asterisk.org/wiki/display/AST/Asterisk+Builtin+mini-HTTP+Server │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The timeout (in milliseconds) to set on WebSocket connections. │ │ │ │ │ - │ │ │ │ │ - If a websocket connection accepts input slowly, the timeout │ │ │ │ │ - for writes to it can be increased to keep it from being disconnected. │ │ │ │ │ - Value is in milliseconds. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Responses from ARI are formatted to be human readable │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Realm to use for authentication. Defaults to Asterisk REST Interface. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Comma separated list of allowed origins, for Cross-Origin Resource Sharing. May be set to * to allow all origins. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Comma separated list of channel variables to display in channel json. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Per-user configuration settings │ │ │ │ │ - │ │ │ │ │ - Define this configuration section as a user. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Configure this section as a │ │ │ │ │ - user │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - When set to yes, user is only authorized for read-only requests │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Crypted or plaintext password (see password_format) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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_http_websocket │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - gmime │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ - res_http_websocket │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - openssl │ │ │ │ │ - pjproject │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_odbc │ │ │ │ │ - generic_odbc │ │ │ │ │ + │ │ │ │ │ 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ - res_stasis_device_state │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_statsd │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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}) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Create a message or read fields from a message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Field of the message to get or set. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The start time of the event │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The end time of the event │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The busy state of the event 0=FREE, 1=TENTATIVE, 2=BUSY │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Whenever a calendar event notification call is made, the event data │ │ │ │ │ - may be accessed with this function. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - CALENDAR_BUSY │ │ │ │ │ - CALENDAR_QUERY │ │ │ │ │ - CALENDAR_QUERY_RESULT │ │ │ │ │ - CALENDAR_WRITE │ │ │ │ │ + MessageSend │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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) │ │ │ │ │ + │ │ │ │ │ + Read or write custom data attached to a message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Field of the message to get or set. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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() │ │ │ │ │ - │ │ │ │ │ + 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 │ │ │ │ │ + )}). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - CALENDAR_BUSY │ │ │ │ │ - CALENDAR_EVENT │ │ │ │ │ - CALENDAR_QUERY_RESULT │ │ │ │ │ - CALENDAR_WRITE │ │ │ │ │ + MessageSend │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Retrieve data from a previously run CALENDAR_QUERY() call │ │ │ │ │ + │ │ │ │ │ + Send a text message. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + A To URI for the message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - The query ID returned by │ │ │ │ │ - CALENDAR_QUERY │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + This application sets the following channel variables: │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - CALENDAR_BUSY │ │ │ │ │ - CALENDAR_EVENT │ │ │ │ │ - CALENDAR_QUERY │ │ │ │ │ - CALENDAR_QUERY_RESULT │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_stasis │ │ │ │ │ - res_stasis_recording │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - kqueue │ │ │ │ │ - launchd │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - generic_odbc │ │ │ │ │ - res_odbc_transaction │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_statsd │ │ │ │ │ - no │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_calendar │ │ │ │ │ - neon │ │ │ │ │ - ical │ │ │ │ │ - iksemel │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send an out of call message to an endpoint. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the cache to expire all objects from. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the object to mark as stale. │ │ │ │ │ + │ │ │ │ │ + A From URI for the message if needed for the │ │ │ │ │ + message technology being used to send this message. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If true, then immediately reload the object from the backend cache instead of waiting for the next retrieval │ │ │ │ │ + │ │ │ │ │ + The message body text. This must not contain any newlines as that │ │ │ │ │ + conflicts with the AMI protocol. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + Message variable to set, multiple Variable: headers are │ │ │ │ │ + allowed. The header value is a comma separated list of │ │ │ │ │ + name=value pairs. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Expires all objects from a memory cache and populate it with all objects from the backend. │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ + │ │ │ │ │ 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - no │ │ │ │ │ - extended │ │ │ │ │ - 19 │ │ │ │ │ - 21 │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Module that provides simple configuration wizard capabilities. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - PJSIP Configuration Wizard │ │ │ │ │ - │ │ │ │ │ - This module allows creation of common PJSIP configuration scenarios │ │ │ │ │ - without having to specify individual endpoint, aor, auth, identify and registration objects. │ │ │ │ │ - │ │ │ │ │ - For example, the following configuration snippet would create the │ │ │ │ │ - endpoint, aor, contact, auth and phoneprov objects necessary for a phone to │ │ │ │ │ - get phone provisioning information, register, and make and receive calls. │ │ │ │ │ - A hint is also created in the default context for extension 1000. │ │ │ │ │ - [myphone] │ │ │ │ │ - type = wizard │ │ │ │ │ - sends_auth = no │ │ │ │ │ - accepts_auth = yes │ │ │ │ │ - sends_registrations = no │ │ │ │ │ - accepts_registrations = yes │ │ │ │ │ - has_phoneprov = yes │ │ │ │ │ - transport = ipv4 │ │ │ │ │ - has_hint = yes │ │ │ │ │ - hint_exten = 1000 │ │ │ │ │ - inbound_auth/username = testname │ │ │ │ │ - inbound_auth/password = test password │ │ │ │ │ - endpoint/allow = ulaw │ │ │ │ │ - endpoint/context = default │ │ │ │ │ - phoneprov/MAC = 001122aa4455 │ │ │ │ │ - phoneprov/PROFILE = profile1 │ │ │ │ │ - The first 8 items are specific to the wizard. The rest of the items │ │ │ │ │ - are passed verbatim to the underlying objects. │ │ │ │ │ - │ │ │ │ │ - The following configuration snippet would create the │ │ │ │ │ - endpoint, aor, contact, auth, identify and registration objects necessary for a trunk │ │ │ │ │ - to another pbx or ITSP that requires registration. │ │ │ │ │ - [mytrunk] │ │ │ │ │ - type = wizard │ │ │ │ │ - sends_auth = yes │ │ │ │ │ - accepts_auth = no │ │ │ │ │ - sends_registrations = yes │ │ │ │ │ - accepts_registrations = no │ │ │ │ │ - transport = ipv4 │ │ │ │ │ - remote_hosts = sip1.myitsp.com:5060,sip2.myitsp.com:5060 │ │ │ │ │ - outbound_auth/username = testname │ │ │ │ │ - outbound_auth/password = test password │ │ │ │ │ - endpoint/allow = ulaw │ │ │ │ │ - endpoint/context = default │ │ │ │ │ - Of course, any of the items in either example could be placed into │ │ │ │ │ - templates and shared among wizard objects. │ │ │ │ │ - │ │ │ │ │ - For more information, visit: │ │ │ │ │ - │ │ │ │ │ - https://wiki.asterisk.org/wiki/display/AST/PJSIP+Configuration+Wizard │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Provides config wizard. │ │ │ │ │ - │ │ │ │ │ - For more information, visit: │ │ │ │ │ - │ │ │ │ │ - https://wiki.asterisk.org/wiki/display/AST/PJSIP+Configuration+Wizard │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must be 'wizard'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The name of a transport to use for this object. │ │ │ │ │ - │ │ │ │ │ - If not specified, │ │ │ │ │ - the default will be used. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List of remote hosts. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A comma-separated list of remote hosts in the form of │ │ │ │ │ - host │ │ │ │ │ - [: │ │ │ │ │ - port │ │ │ │ │ - ]. │ │ │ │ │ - If set, an aor static contact and an identify match will be created for each │ │ │ │ │ - entry in the list. If send_registrations is also set, a registration will │ │ │ │ │ - also be created for each. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Shortcut for specifying proxy on individual objects. │ │ │ │ │ - │ │ │ │ │ - Shortcut for specifying endpoint/outbound_proxy, │ │ │ │ │ - aor/outbound_proxy, and registration/outbound_proxy individually. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send outbound authentication to remote hosts. │ │ │ │ │ - │ │ │ │ │ - At least outbound_auth/username is required. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Accept incoming authentication from remote hosts. │ │ │ │ │ - │ │ │ │ │ - At least inbound_auth/username is required. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send outbound registrations to remote hosts. │ │ │ │ │ - │ │ │ │ │ - remote_hosts is required and a registration object will │ │ │ │ │ - be created for each host in the remote _hosts string. If authentication is required, │ │ │ │ │ - sends_auth and an outbound_auth/username must also be supplied. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sets "line" and "endpoint parameters on registrations. │ │ │ │ │ - │ │ │ │ │ - Setting this to true will cause the wizard to skip the │ │ │ │ │ - creation of an identify object to match incoming requests to the endpoint and │ │ │ │ │ - instead add the line and endpoint parameters to the outbound registration object. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Accept inbound registration from remote hosts. │ │ │ │ │ - │ │ │ │ │ - An AOR with dynamic contacts will be created. If │ │ │ │ │ - the number of contacts nneds to be limited, set aor/max_contacts. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Create a phoneprov object for this endpoint. │ │ │ │ │ - │ │ │ │ │ - A phoneprov object will be created. phoneprov/MAC │ │ │ │ │ - must be specified. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A pattern to use for constructing outbound registration server_uris. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The literal │ │ │ │ │ - ${REMOTE_HOST} │ │ │ │ │ - will be substituted with the │ │ │ │ │ - appropriate remote_host for each registration. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A pattern to use for constructing outbound registration client_uris. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The literals │ │ │ │ │ - ${REMOTE_HOST} │ │ │ │ │ - and │ │ │ │ │ - ${USERNAME} │ │ │ │ │ - will be substituted with the appropriate remote_host and outbound_auth/username. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A pattern to use for constructing outbound contact uris. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The literal │ │ │ │ │ - ${REMOTE_HOST} │ │ │ │ │ - will be substituted with the │ │ │ │ │ - appropriate remote_host for each contact. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Create hint and optionally a default application. │ │ │ │ │ - │ │ │ │ │ - Create hint and optionally a default application. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The context in which to place hints. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Ignored if │ │ │ │ │ - hint_exten │ │ │ │ │ - is not specified otherwise specifies the │ │ │ │ │ - context into which the dialplan hints will be placed. If not specified, │ │ │ │ │ - defaults to the endpoint's context or │ │ │ │ │ - default │ │ │ │ │ - if that isn't │ │ │ │ │ - found. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Extension to map a PJSIP hint to. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Will create the following entry in │ │ │ │ │ - hint_context │ │ │ │ │ - : │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - exten => <hint_exten>,hint,PJSIP/<wizard_id> │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Normal dialplan precedence rules apply so if there's already a hint for │ │ │ │ │ - this extension in │ │ │ │ │ - hint_context │ │ │ │ │ - , this one will be ignored. │ │ │ │ │ - For more information, visit: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - https://wiki.asterisk.org/wiki/display/AST/PJSIP+Configuration+Wizard │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Application to call when 'hint_exten' is dialed. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Ignored if │ │ │ │ │ - hint_exten │ │ │ │ │ - isn't specified otherwise │ │ │ │ │ - will create the following priority 1 extension in │ │ │ │ │ - hint_context │ │ │ │ │ - : │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - exten => <hint_exten>,1,<hint_application> │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - You can specify any valid extensions.conf application expression. │ │ │ │ │ - Dial(${HINT}) │ │ │ │ │ - Gosub(stdexten,${EXTEN},1(${HINT})) │ │ │ │ │ - Any extensions.conf style variables specified are passed directly to the │ │ │ │ │ - dialplan. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Normal dialplan precedence rules apply so if there's already a priority 1 │ │ │ │ │ - application for this specific extension in │ │ │ │ │ - hint_context │ │ │ │ │ - , │ │ │ │ │ - this one will be ignored. For more information, visit: │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - https://wiki.asterisk.org/wiki/display/AST/PJSIP+Configuration+Wizard │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variables to be passed directly to the endpoint. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variables to be passed directly to the aor. │ │ │ │ │ - │ │ │ │ │ - If an aor/contact is explicitly defined then remote_hosts │ │ │ │ │ - will not be used to create contacts automatically. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variables to be passed directly to the inbound auth. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variables to be passed directly to the outbound auth. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variables to be passed directly to the identify. │ │ │ │ │ - │ │ │ │ │ - If an identify/match is explicitly defined then remote_hosts │ │ │ │ │ - will not be used to create matches automatically. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variables to be passed directly to the outbound registrations. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Variables to be passed directly to the phoneprov object. │ │ │ │ │ - │ │ │ │ │ - To activate phoneprov, at least phoneprov/MAC must be set. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List the current known presence states. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a bridge is created. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + BridgeDestroy │ │ │ │ │ + BridgeEnter │ │ │ │ │ + BridgeLeave │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a bridge is destroyed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + BridgeCreate │ │ │ │ │ + BridgeEnter │ │ │ │ │ + BridgeLeave │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel enters a bridge. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The uniqueid of the channel being swapped out of the bridge │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + BridgeCreate │ │ │ │ │ + BridgeDestroy │ │ │ │ │ + BridgeLeave │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel leaves a bridge. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + BridgeCreate │ │ │ │ │ + BridgeDestroy │ │ │ │ │ + BridgeEnter │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when the channel that is the source of video in a bridge changes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The unique ID of the channel that was the video source. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + BridgeCreate │ │ │ │ │ + BridgeDestroy │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get a list of bridges in the system. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Optional type for filtering the resulting list of bridges. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - This will list out all known presence states in a │ │ │ │ │ - sequence of │ │ │ │ │ - PresenceStateChange │ │ │ │ │ - events. │ │ │ │ │ - When finished, a │ │ │ │ │ - PresenceStateListComplete │ │ │ │ │ - event │ │ │ │ │ - will be emitted. │ │ │ │ │ - │ │ │ │ │ + Returns a list of bridges, optionally filtering on a bridge type. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - PresenceState │ │ │ │ │ - PresenceStatus │ │ │ │ │ - PRESENCE_STATE │ │ │ │ │ + Bridge │ │ │ │ │ + BridgeDestroy │ │ │ │ │ + BridgeInfo │ │ │ │ │ + BridgeKick │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get information about a bridge. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The unique ID of the bridge about which to retrieve information. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns detailed information about a bridge and the channels in it. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Bridge │ │ │ │ │ + BridgeDestroy │ │ │ │ │ + BridgeKick │ │ │ │ │ + BridgeList │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Information about a channel in a bridge. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Indicates the end of the list the current known extension states. │ │ │ │ │ + Information about a bridge. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Conveys the status of the event list. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conveys the number of statuses reported. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Authentication object(s) to be used for outbound publishes. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Event type of the PUBLISH. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Maximum number of authentication attempts before stopping the publication. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Transport used for outbound publish │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enable multi-user support │ │ │ │ │ - │ │ │ │ │ - When enabled the user portion of the server uri is replaced by a dynamically created user │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Must be of type 'outbound-publish'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - corosync │ │ │ │ │ - no │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_statsd │ │ │ │ │ - no │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Get a list of parking lots │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List all parking lots as a series of AMI events │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - List parked calls. │ │ │ │ │ + │ │ │ │ │ + Destroy a bridge. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If specified, only show parked calls from the parking lot with this name. │ │ │ │ │ + │ │ │ │ │ + The unique ID of the bridge to destroy. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - List parked calls. │ │ │ │ │ + Deletes the bridge, causing channels to continue or hang up. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Bridge │ │ │ │ │ + BridgeInfo │ │ │ │ │ + BridgeKick │ │ │ │ │ + BridgeList │ │ │ │ │ + BridgeDestroy │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Park a channel. │ │ │ │ │ + │ │ │ │ │ + Kick a channel from a bridge. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Channel name to park. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Channel name to use when constructing the dial string that will be dialed if the parked channel │ │ │ │ │ - times out. If │ │ │ │ │ - TimeoutChannel │ │ │ │ │ - is in a two party bridge with │ │ │ │ │ - Channel │ │ │ │ │ - , then │ │ │ │ │ - TimeoutChannel │ │ │ │ │ - will receive an announcement and be │ │ │ │ │ - treated as having parked │ │ │ │ │ - Channel │ │ │ │ │ - in the same manner as the Park Call DTMF feature. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If specified, then this channel will receive an announcement when │ │ │ │ │ - Channel │ │ │ │ │ - is parked if │ │ │ │ │ - AnnounceChannel │ │ │ │ │ - is in a state where it can receive announcements │ │ │ │ │ - (AnnounceChannel must be bridged). │ │ │ │ │ - AnnounceChannel │ │ │ │ │ - has no bearing on the actual │ │ │ │ │ - state of the parked call. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Overrides the timeout of the parking lot for this park action. Specified in milliseconds, but will be converted to │ │ │ │ │ - seconds. Use a value of 0 to disable the timeout. │ │ │ │ │ + │ │ │ │ │ + The unique ID of the bridge containing the channel to │ │ │ │ │ + destroy. This parameter can be omitted, or supplied to insure │ │ │ │ │ + that the channel is not removed from the wrong bridge. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The parking lot to use when parking the channel │ │ │ │ │ + │ │ │ │ │ + The channel to kick out of a bridge. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Park an arbitrary channel with optional arguments for specifying the parking lot used, how long │ │ │ │ │ - the channel should remain parked, and what dial string to use as the parker if the call times out. │ │ │ │ │ + The channel is removed from the bridge. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Bridge │ │ │ │ │ + BridgeDestroy │ │ │ │ │ + BridgeInfo │ │ │ │ │ + BridgeList │ │ │ │ │ + BridgeLeave │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel is parked. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an Advice of Charge message is sent at the beginning of a call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Dial String that can be used to call back the parker on ParkingTimeout. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Name of the parking lot that the parkee is parked in │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Parking Space that the parkee is parked in │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Time remaining until the parkee is forcefully removed from parking in seconds │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Time the parkee has been in the parking bridge (in seconds) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + AOC-D │ │ │ │ │ + AOC-E │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel leaves a parking lot due to reaching the time limit of being parked. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel leaves a parking lot because it hung up without being answered. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel leaves a parking lot because it was retrieved from the parking lot and reconnected. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an Advice of Charge message is sent during a call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + AOCMessage │ │ │ │ │ + AOC-S │ │ │ │ │ + AOC-E │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised when a channel takes the place of a previously parked channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when an Advice of Charge message is sent at the end of a call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + AOCMessage │ │ │ │ │ + AOC-S │ │ │ │ │ + AOC-D │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Bridge two channels. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - 2) │ │ │ │ │ - PARKINGLOT │ │ │ │ │ - variable │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 3) │ │ │ │ │ - CHANNEL(parkinglot) │ │ │ │ │ - function │ │ │ │ │ - (Possibly preset by the channel driver.) │ │ │ │ │ - │ │ │ │ │ - 4) Default parking lot. │ │ │ │ │ + │ │ │ │ │ + The current channel is bridged to the channel │ │ │ │ │ + identified by the channel name, channel name prefix, or channel │ │ │ │ │ + uniqueid. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - A list of options for this parked call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Used to park yourself (typically in combination with an attended │ │ │ │ │ - transfer to know the parking space). │ │ │ │ │ - │ │ │ │ │ - If you set the │ │ │ │ │ - PARKINGEXTEN │ │ │ │ │ - variable to a │ │ │ │ │ - parking space extension in the parking lot, Park() will attempt to park the │ │ │ │ │ - call on that extension. If the extension is already in use then execution │ │ │ │ │ - will continue at the next priority. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - If the │ │ │ │ │ - parkeddynamic │ │ │ │ │ - option is enabled in │ │ │ │ │ - res_parking.conf │ │ │ │ │ - the following variables can be │ │ │ │ │ - used to dynamically create new parking lots. When using dynamic parking │ │ │ │ │ - lots, be aware of the conditions as explained in the notes section │ │ │ │ │ - below. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - This application must be used as the first extension priority │ │ │ │ │ - to be recognized as a parking access extension for blind transfers. │ │ │ │ │ - Blind transfers and the DTMF one-touch parking feature need this │ │ │ │ │ - distinction to operate properly. The parking access extension in │ │ │ │ │ - this case is treated like a dialplan hint. │ │ │ │ │ - │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ParkedCall │ │ │ │ │ + Bridge │ │ │ │ │ + BridgeCreate │ │ │ │ │ + BridgeEnter │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Retrieve a parked call. │ │ │ │ │ + │ │ │ │ │ + Bridge two channels already in the PBX. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Specify from which parking lot to retrieve a parked call. │ │ │ │ │ - The parking lot used is selected in the following order: │ │ │ │ │ - 1) parking_lot_name option │ │ │ │ │ - │ │ │ │ │ - 2) │ │ │ │ │ - PARKINGLOT │ │ │ │ │ - variable │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel to Bridge to Channel2. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel to Bridge to Channel1. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play courtesy tone to Channel 2. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Bridge together two channels already in the PBX. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Bridge │ │ │ │ │ + BridgeCreate │ │ │ │ │ + BridgeEnter │ │ │ │ │ + BridgeDestroy │ │ │ │ │ + BridgeInfo │ │ │ │ │ + BridgeKick │ │ │ │ │ + BridgeList │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a device state changes │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The device whose state has changed │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The new state of the device │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 3) │ │ │ │ │ - CHANNEL(parkinglot) │ │ │ │ │ - function │ │ │ │ │ - (Possibly preset by the channel driver.) │ │ │ │ │ + This differs from the │ │ │ │ │ + ExtensionStatus │ │ │ │ │ + event because this event is raised for all device state changes, │ │ │ │ │ + not only for changes that affect dialplan hints. │ │ │ │ │ │ │ │ │ │ - 4) Default parking lot. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Parking space to retrieve a parked call from. │ │ │ │ │ - If not provided then the first available parked call in the │ │ │ │ │ - parking lot will be retrieved. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ExtensionStatus │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Answer a channel if ringing. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Asterisk will wait this number of milliseconds before returning to │ │ │ │ │ + the dialplan after answering the call. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Used to retrieve a parked call from a parking lot. │ │ │ │ │ - │ │ │ │ │ - If a parking lot's parkext option is set, then Parking lots │ │ │ │ │ - will automatically create and manage dialplan extensions in │ │ │ │ │ - the parking lot context. If that is the case then you will not │ │ │ │ │ - need to manage parking extensions yourself, just include the │ │ │ │ │ - parking context of the parking lot. │ │ │ │ │ - │ │ │ │ │ + If the call has not been answered, this application will │ │ │ │ │ + answer it. Otherwise, it has no effect on the call. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Park │ │ │ │ │ + Hangup │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Park and Announce. │ │ │ │ │ + │ │ │ │ │ + Play an audio file while waiting for digits of an extension to go to. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - 2) │ │ │ │ │ - PARKINGLOT │ │ │ │ │ - variable │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 3) │ │ │ │ │ - CHANNEL(parkinglot) │ │ │ │ │ - function │ │ │ │ │ - (Possibly preset by the channel driver.) │ │ │ │ │ - │ │ │ │ │ - 4) Default parking lot. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - A list of options for this parked call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Colon-separated list of files to announce. The word │ │ │ │ │ - PARKED │ │ │ │ │ - will be replaced by a say_digits of the extension in which │ │ │ │ │ - the call is parked. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Explicitly specifies which language to attempt to use for the requested sound files. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The app_dial style resource to call to make the │ │ │ │ │ - announcement. Console/dsp calls the console. │ │ │ │ │ + │ │ │ │ │ + This is the dialplan context that this application will use when exiting │ │ │ │ │ + to a dialed extension. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Park a call into the parkinglot and announce the call to another channel. │ │ │ │ │ │ │ │ │ │ - The variable │ │ │ │ │ - PARKEDAT │ │ │ │ │ - will contain the parking extension │ │ │ │ │ - into which the call was placed. Use with the Local channel to allow the dialplan to make │ │ │ │ │ - use of this information. │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Park │ │ │ │ │ - ParkedCall │ │ │ │ │ + ControlPlayback │ │ │ │ │ + WaitExten │ │ │ │ │ + BackgroundDetect │ │ │ │ │ + TIMEOUT │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - generic_odbc │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Controls ODBC transaction properties. │ │ │ │ │ + │ │ │ │ │ + Indicate the Busy condition. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Gets or sets the active transaction ID. If set, and the transaction ID does not │ │ │ │ │ - exist and a │ │ │ │ │ - database name │ │ │ │ │ - is specified as an argument, it will be created. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Controls whether a transaction will be automatically committed when the channel │ │ │ │ │ - hangs up. Defaults to forcecommit value from the relevant DSN (which defaults to false). │ │ │ │ │ - If a │ │ │ │ │ - transaction ID │ │ │ │ │ - is specified in the optional argument, │ │ │ │ │ - the property will be applied to that ID, otherwise to the current active ID. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Controls the data isolation on uncommitted transactions. May be one of the │ │ │ │ │ - following: │ │ │ │ │ - read_committed │ │ │ │ │ - , │ │ │ │ │ - read_uncommitted │ │ │ │ │ - , │ │ │ │ │ - repeatable_read │ │ │ │ │ - , or │ │ │ │ │ - serializable │ │ │ │ │ - . Defaults to the │ │ │ │ │ - database setting in │ │ │ │ │ - res_odbc.conf │ │ │ │ │ - or │ │ │ │ │ - read_committed │ │ │ │ │ - if not specified. If a │ │ │ │ │ - transaction ID │ │ │ │ │ - is specified as an optional argument, it will be │ │ │ │ │ - applied to that ID, otherwise the current active ID. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - The ODBC() function allows setting several properties to influence how a connected │ │ │ │ │ - database processes transactions. │ │ │ │ │ + This application will indicate the busy condition to the calling channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Commits a currently open database transaction. │ │ │ │ │ + │ │ │ │ │ + Congestion │ │ │ │ │ + Progress │ │ │ │ │ + Playtones │ │ │ │ │ + Hangup │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicate the Congestion condition. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Commits the database transaction specified by │ │ │ │ │ - transaction ID │ │ │ │ │ - or the current active transaction, if not specified. │ │ │ │ │ - │ │ │ │ │ + This application will indicate the congestion condition to the calling channel. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Busy │ │ │ │ │ + Progress │ │ │ │ │ + Playtones │ │ │ │ │ + Hangup │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Rollback a currently open database transaction. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Conditional application execution based on the current time. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Rolls back the database transaction specified by │ │ │ │ │ - transaction ID │ │ │ │ │ - or the current active transaction, if not specified. │ │ │ │ │ - │ │ │ │ │ + This application will execute the specified dialplan application, with optional │ │ │ │ │ + arguments, if the current time matches the given time specification. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Exec │ │ │ │ │ + ExecIf │ │ │ │ │ + TryExec │ │ │ │ │ + GotoIfTime │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - curl │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - no │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - netsnmp │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ - res_pjsip_outbound_publish │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - TEST_FRAMEWORK │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - iksemel │ │ │ │ │ - openssl │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Sends an XMPP message to a buddy. │ │ │ │ │ + │ │ │ │ │ + Jump to a particular priority, extension, or context. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - The example below sends "Hello world" to │ │ │ │ │ - bob@domain.com │ │ │ │ │ - as an XMPP message from the account │ │ │ │ │ - asterisk │ │ │ │ │ - , configured in xmpp.conf. │ │ │ │ │ + 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! │ │ │ │ │ │ │ │ │ │ - same => n,JabberSend(asterisk,bob@domain.com,Hello world) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - JABBER_STATUS │ │ │ │ │ - JABBER_RECEIVE │ │ │ │ │ + GotoIf │ │ │ │ │ + GotoIfTime │ │ │ │ │ + Gosub │ │ │ │ │ + Macro │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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!. │ │ │ │ │ │ │ │ │ │ - same => n,Set(msg=${JABBER_RECEIVE(asterisk,bob@domain.com)}) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - JABBER_STATUS │ │ │ │ │ - JabberSend │ │ │ │ │ + Goto │ │ │ │ │ + GotoIfTime │ │ │ │ │ + GosubIf │ │ │ │ │ + MacroIf │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Retrieves a buddy's status. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The local named account to listen on (specified in │ │ │ │ │ - xmpp.conf) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Conditional Goto based on the current time. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Jabber ID of the buddy to receive message from. It can be a │ │ │ │ │ - bare JID (username@domain) or a full JID (username@domain/resource). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Retrieves the numeric status associated with the buddy identified │ │ │ │ │ - by │ │ │ │ │ - jid │ │ │ │ │ + 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 buddy does not exist in the buddylist, returns 7. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + GotoIf │ │ │ │ │ + Goto │ │ │ │ │ + IFTIME │ │ │ │ │ + TESTTIME │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Import a variable from a channel into a new variable. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - JABBER_RECEIVE │ │ │ │ │ - JabberSend │ │ │ │ │ + Set │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Send a Jabber Message to a specified chat room │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Hang up the calling channel. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If a │ │ │ │ │ + causecode │ │ │ │ │ + is given the channel's │ │ │ │ │ + hangup cause will be set to the given value. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + This application will hang up the calling channel. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Answer │ │ │ │ │ + Busy │ │ │ │ │ + Congestion │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Join a chat room │ │ │ │ │ + │ │ │ │ │ + Returns AST_PBX_INCOMPLETE value. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 specified, then Incomplete will not attempt to answer the channel first. │ │ │ │ │ │ │ │ │ │ - If a different nickname is supplied to an already joined room, the old nick will be changed to the new one. │ │ │ │ │ + Most channel types need to be in Answer state in order to receive DTMF. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Allows Asterisk to join a chat room. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Leave a chat room │ │ │ │ │ + │ │ │ │ │ + Do Nothing (No Operation). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Client or transport Asterisk uses to connect to Jabber. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - XMPP/Jabber JID (Name) of chat room. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The nickname Asterisk uses in the chat room. │ │ │ │ │ + │ │ │ │ │ + Any text provided can be viewed at the Asterisk CLI. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Allows Asterisk to leave a chat room. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Verbose │ │ │ │ │ + Log │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Retrieve the status of a jabber list member │ │ │ │ │ + │ │ │ │ │ + Indicate proceeding. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Busy │ │ │ │ │ + Congestion │ │ │ │ │ + Ringing │ │ │ │ │ + Playtones │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Handle an exceptional condition. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Online. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Chatty. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Away. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Extended Away. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Do Not Disturb. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Offline. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Not In Roster. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + Exception │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Indicate ringing tone. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Sends a message to a Jabber Client. │ │ │ │ │ + This application will request that the channel indicate a ringing tone to the user. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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). │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - win32 │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Play Music On Hold indefinitely. │ │ │ │ │ + │ │ │ │ │ + Busy │ │ │ │ │ + Congestion │ │ │ │ │ + Progress │ │ │ │ │ + Playtones │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say Alpha. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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 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 │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ - This application does not automatically answer and should be preceeded by │ │ │ │ │ - an application such as Answer() or Progress(). │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + SayDigits │ │ │ │ │ + SayMoney │ │ │ │ │ + SayNumber │ │ │ │ │ + SayOrdinal │ │ │ │ │ + SayPhonetic │ │ │ │ │ + CHANNEL │ │ │ │ │ + SAYFILES │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Play Music On Hold. │ │ │ │ │ + │ │ │ │ │ + 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). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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 │ │ │ │ │ + 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 │ │ │ │ │ . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + SayDigits │ │ │ │ │ + SayMoney │ │ │ │ │ + SayNumber │ │ │ │ │ + SayOrdinal │ │ │ │ │ + SayPhonetic │ │ │ │ │ + SayAlpha │ │ │ │ │ + CHANNEL │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Stop playing Music On Hold. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Say Digits. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Stops playing music on hold. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + SayAlpha │ │ │ │ │ + SayMoney │ │ │ │ │ + SayNumber │ │ │ │ │ + SayOrdinal │ │ │ │ │ + SayPhonetic │ │ │ │ │ + CHANNEL │ │ │ │ │ + SAYFILES │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - 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_geolocation │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - chan_pjsip │ │ │ │ │ - libxml2 │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - dahdi │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Muting audio streams in the channel │ │ │ │ │ + │ │ │ │ │ + Say Money. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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) │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Mute an audio stream. │ │ │ │ │ + │ │ │ │ │ + SayAlpha │ │ │ │ │ + SayNumber │ │ │ │ │ + SayOrdinal │ │ │ │ │ + SayPhonetic │ │ │ │ │ + CHANNEL │ │ │ │ │ + SAYFILES │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say Number. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_outbound_publish │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SIP resource for inbound and outbound Asterisk event publications │ │ │ │ │ + │ │ │ │ │ + SayAlpha │ │ │ │ │ + SayDigits │ │ │ │ │ + SayMoney │ │ │ │ │ + SayPhonetic │ │ │ │ │ + CHANNEL │ │ │ │ │ + SAYFILES │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say Ordinal Number. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Inbound and outbound Asterisk event publication │ │ │ │ │ + This application will play the ordinal sounds that correspond to the given │ │ │ │ │ + digits │ │ │ │ │ + (e.g. 1st, 42nd). Currently only English is supported. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This module allows │ │ │ │ │ - res_pjsip │ │ │ │ │ - to send and receive Asterisk event publications. │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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'. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_stasis │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - app_fax │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Receive a FAX and save as a TIFF/F file. │ │ │ │ │ + │ │ │ │ │ + SayAlpha │ │ │ │ │ + SayDigits │ │ │ │ │ + SayMoney │ │ │ │ │ + SayNumber │ │ │ │ │ + SayPhonetic │ │ │ │ │ + CHANNEL │ │ │ │ │ + SAYFILES │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Say Phonetic. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - FAXOPT │ │ │ │ │ + SayAlpha │ │ │ │ │ + SayDigits │ │ │ │ │ + SayMoney │ │ │ │ │ + SayNumber │ │ │ │ │ + SayOrdinal │ │ │ │ │ + SAYFILES │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Sends a specified TIFF/F file as a FAX. │ │ │ │ │ + │ │ │ │ │ + Set the AMA Flags. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - TIFF file to send as a FAX. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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 application will set the channel's AMA Flags for billing purposes. │ │ │ │ │ + │ │ │ │ │ + This application is deprecated. Please use the CHANNEL function instead. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - FAXOPT │ │ │ │ │ + CDR │ │ │ │ │ + CHANNEL │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Gets/sets various pieces of information about a fax session. │ │ │ │ │ + │ │ │ │ │ + Waits for some time. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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) │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Can be passed with fractions of a second. For example, │ │ │ │ │ + 1.5 │ │ │ │ │ + will ask the │ │ │ │ │ + application to wait for 1.5 seconds. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + This application waits for a specified number of │ │ │ │ │ + seconds │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Waits for a digit 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Digits to accept, all others are ignored. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ReceiveFax │ │ │ │ │ - SendFax │ │ │ │ │ + Wait │ │ │ │ │ + WaitExten │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Lists active FAX sessions │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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' │ │ │ │ │ + │ │ │ │ │ + This application waits for the user to enter a new extension for a specified number │ │ │ │ │ + of │ │ │ │ │ + seconds │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - A single list item for the FAXSessions AMI command │ │ │ │ │ + │ │ │ │ │ + Background │ │ │ │ │ + TIMEOUT │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a module has been reloaded in Asterisk. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the module that was reloaded, or │ │ │ │ │ + All │ │ │ │ │ + if all modules were reloaded │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Current state of the FAX session │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The session ID of the fax the user is interested in. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a module has been loaded in Asterisk. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The numerical identifier for this particular session │ │ │ │ │ + │ │ │ │ │ + The name of the module that was loaded │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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' │ │ │ │ │ + │ │ │ │ │ + The result of the load request. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + Module could not be loaded properly │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Module loaded and configured │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Module is not configured │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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' │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised in response to FAXStats manager command │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a module has been unloaded in Asterisk. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ + │ │ │ │ │ + The name of the module that was unloaded │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Total FAX sessions which failed to complete successfully │ │ │ │ │ + │ │ │ │ │ + The result of the unload request. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Module unloaded successfully │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ - res_hep │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ + │ │ │ │ │ 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 │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_calendar │ │ │ │ │ - neon29 │ │ │ │ │ - extended │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - spandsp │ │ │ │ │ - res_fax │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ res_pjsip_session │ │ │ │ │ res_stir_shaken │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + Retrieve an SMDI message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + SMDI_MSG_RETRIEVE │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + kqueue │ │ │ │ │ + launchd │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - timerfd │ │ │ │ │ + │ │ │ │ │ + res_odbc │ │ │ │ │ + generic_odbc │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ + res_pjsip_outbound_publish │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_phoneprov │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_stasis │ │ │ │ │ - res_mwi_external │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ crypto │ │ │ │ │ curl │ │ │ │ │ res_curl │ │ │ │ │ core │ │ │ │ │ @@ -31010,14 +27433,101 @@ │ │ │ │ │ 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)}) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + ldap │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + sqlite │ │ │ │ │ + deprecated │ │ │ │ │ + 16 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 16.21.0 │ │ │ │ │ 18.7.0 │ │ │ │ │ @@ -31208,366 +27718,890 @@ │ │ │ │ │ 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ + res_pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_phoneprov │ │ │ │ │ - extended │ │ │ │ │ + core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Module that integrates res_pjsip with res_phoneprov. │ │ │ │ │ + │ │ │ │ │ + SIP resource for outbound publish │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - PJSIP Phoneprov Provider │ │ │ │ │ + Outbound Publish │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This module creates the integration between │ │ │ │ │ + This module allows │ │ │ │ │ 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. │ │ │ │ │ + to publish to other SIP servers. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The endpoint from which variables will be retrieved. │ │ │ │ │ + │ │ │ │ │ + Authentication object(s) to be used for outbound publishes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The mac address for this user. (required) │ │ │ │ │ + │ │ │ │ │ + Full SIP URI of the outbound proxy used to send publishes │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The phoneprov profile to use for this user. (required) │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Other name/value pairs to be passed through for use in templates. │ │ │ │ │ + │ │ │ │ │ + SIP URI to use in the From header │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Event type of the PUBLISH. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Maximum number of authentication attempts before stopping the publication. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Transport used for outbound publish │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Enable multi-user support │ │ │ │ │ + │ │ │ │ │ + When enabled the user portion of the server uri is replaced by a dynamically created user │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Must be of type 'outbound-publish'. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ + res_http_websocket │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - sqlite3 │ │ │ │ │ + │ │ │ │ │ + res_stasis │ │ │ │ │ + res_stasis_recording │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + TEST_FRAMEWORK │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_sorcery_config │ │ │ │ │ + │ │ │ │ │ + func_periodic_hook │ │ │ │ │ + deprecated │ │ │ │ │ + app_mixmonitor │ │ │ │ │ + 16 │ │ │ │ │ + 21 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Monitor a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action may be used to record the audio on a │ │ │ │ │ + specified channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Stop monitoring a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the channel monitored. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action may be used to end a previously started 'Monitor' action. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Change monitoring filename of a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Used to specify the channel to record. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Is the new name of the file created in the │ │ │ │ │ + monitor spool directory. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action may be used to change the file │ │ │ │ │ + started by a previous 'Monitor' action. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Pause monitoring of a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Used to specify the channel to record. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action may be used to temporarily stop the │ │ │ │ │ + recording of a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Unpause monitoring of a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Used to specify the channel to record. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This action may be used to re-enable recording │ │ │ │ │ + of a channel after calling PauseMonitor. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + netsnmp │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + bridge_holding │ │ │ │ │ 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'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Initial maximum pjproject logging level to log. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - Valid values are: 0-6, and default │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + Generated parking extensions cannot overlap. │ │ │ │ │ + The only exception is if neither overlapping │ │ │ │ │ + parkext │ │ │ │ │ + is exclusive. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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'. │ │ │ │ │ + │ │ │ │ │ + If yes, the extension registered as parkext will park exclusively to this parking lot. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - A comma separated list of pjproject log levels to map to Asterisk LOG_ERROR. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - A comma separated list of pjproject log levels to map to Asterisk LOG_WARNING. │ │ │ │ │ + │ │ │ │ │ + If yes, this parking lot will add hints automatically for parking spaces. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - A comma separated list of pjproject log levels to map to Asterisk LOG_NOTICE. │ │ │ │ │ + │ │ │ │ │ + Amount of time a call will remain parked before giving up (in seconds). │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - A comma separated list of pjproject log levels to map to Asterisk LOG_VERBOSE. │ │ │ │ │ + │ │ │ │ │ + Which music class to use for parked calls. They will use the default if unspecified. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - A comma separated list of pjproject log levels to map to Asterisk LOG_DEBUG. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - A comma separated list of pjproject log levels to map to Asterisk LOG_TRACE. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_calendar │ │ │ │ │ + neon │ │ │ │ │ + ical │ │ │ │ │ + iksemel │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Resource for integration with Homer using HEPv3 │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_statsd │ │ │ │ │ + no │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ + res_stasis_answer │ │ │ │ │ + res_stasis_playback │ │ │ │ │ + res_stasis_recording │ │ │ │ │ + res_stasis_snoop │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + curl │ │ │ │ │ + res_curl │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_http_websocket │ │ │ │ │ + res_stasis │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + HTTP binding for the Stasis API │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - General settings. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The │ │ │ │ │ - general │ │ │ │ │ - settings section contains information │ │ │ │ │ - to configure Asterisk as a Homer capture agent. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Enable or disable packet capturing. │ │ │ │ │ + General configuration settings │ │ │ │ │ + │ │ │ │ │ + Enable/disable the ARI module │ │ │ │ │ + │ │ │ │ │ + This option enables or disables the ARI module. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + ARI uses Asterisk's HTTP server, which must also be enabled in │ │ │ │ │ + http.conf │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + http.conf │ │ │ │ │ + https://wiki.asterisk.org/wiki/display/AST/Asterisk+Builtin+mini-HTTP+Server │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The timeout (in milliseconds) to set on WebSocket connections. │ │ │ │ │ + │ │ │ │ │ + If a websocket connection accepts input slowly, the timeout │ │ │ │ │ + for writes to it can be increased to keep it from being disconnected. │ │ │ │ │ + Value is in milliseconds. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Responses from ARI are formatted to be human readable │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Realm to use for authentication. Defaults to Asterisk REST Interface. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Comma separated list of allowed origins, for Cross-Origin Resource Sharing. May be set to * to allow all origins. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Comma separated list of channel variables to display in channel json. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Per-user configuration settings │ │ │ │ │ + │ │ │ │ │ + Define this configuration section as a user. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Configure this section as a │ │ │ │ │ + user │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The preferred type of UUID to pass to Homer. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Use the PJSIP Call-Id │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Use the Asterisk channel name │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + When set to yes, user is only authorized for read-only requests │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Crypted or plaintext password (see password_format) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The address and port of the Homer server to send packets to. │ │ │ │ │ + │ │ │ │ │ + Prefix to prepend to every metric │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - If set, the authentication password to send to Homer. │ │ │ │ │ + │ │ │ │ │ + Append a newline to every event. This is useful if │ │ │ │ │ + you want to fake out a server using netcat │ │ │ │ │ + (nc -lu 8125) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The ID for this capture agent. │ │ │ │ │ + │ │ │ │ │ + Enable/disable the non-standard StatsD Meter type, │ │ │ │ │ + if disabled falls back to counter and will append a "_meter" suffix to the metric name │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Retrieve an SMDI message. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - SMDI_MSG_RETRIEVE │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ SIP ACL module │ │ │ │ │ @@ -31676,247 +28710,1433 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Must be of type 'acl'. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ + res_stasis_playback │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_hep │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_calendar │ │ │ │ │ + neon29 │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + generic_odbc │ │ │ │ │ + res_odbc_transaction │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ res_stasis │ │ │ │ │ + res_http_websocket │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + libxml2 │ │ │ │ │ + libxslt │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + func_curl │ │ │ │ │ + res_curl │ │ │ │ │ + curl │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - StatsD client │ │ │ │ │ + │ │ │ │ │ + Resource for integration with Homer using HEPv3 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + General settings. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + general │ │ │ │ │ + settings section contains information │ │ │ │ │ + to configure Asterisk as a Homer capture agent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Enable or disable packet capturing. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The preferred type of UUID to pass to Homer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Use the PJSIP Call-Id │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Use the Asterisk channel name │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The address and port of the Homer server to send packets to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set, the authentication password to send to Homer. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The ID for this capture agent. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Lists subscriptions. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + Provides a listing of all inbound subscriptions. An event │ │ │ │ │ + InboundSubscriptionDetail │ │ │ │ │ + is issued for each subscription object. Once all detail events are completed an │ │ │ │ │ + InboundSubscriptionDetailComplete │ │ │ │ │ + event is issued. │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Lists subscriptions. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + Provides a listing of all outbound subscriptions. An event │ │ │ │ │ + OutboundSubscriptionDetail │ │ │ │ │ + is issued for each subscription object. Once all detail events are completed an │ │ │ │ │ + OutboundSubscriptionDetailComplete │ │ │ │ │ + event is issued. │ │ │ │ │ │ │ │ │ │ - More information about StatsD can be found at │ │ │ │ │ - https://github.com/statsd/statsd │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Global configuration settings │ │ │ │ │ - │ │ │ │ │ - Enable/disable the StatsD module │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Displays settings for configured resource lists. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Provides a listing of all resource lists. An event │ │ │ │ │ + ResourceListDetail │ │ │ │ │ + is issued for each resource list object. Once all detail events are completed a │ │ │ │ │ + ResourceListDetailComplete │ │ │ │ │ + event is issued. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Module that implements publish and subscribe support. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Persists SIP subscriptions so they survive restarts. │ │ │ │ │ + │ │ │ │ │ + Entire SIP SUBSCRIBE packet that created the subscription │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Address of the StatsD server │ │ │ │ │ + │ │ │ │ │ + The source address of the subscription │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Prefix to prepend to every metric │ │ │ │ │ + │ │ │ │ │ + The source port of the subscription │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Append a newline to every event. This is useful if │ │ │ │ │ - you want to fake out a server using netcat │ │ │ │ │ - (nc -lu 8125) │ │ │ │ │ + │ │ │ │ │ + The type of transport the subscription was received on │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Enable/disable the non-standard StatsD Meter type, │ │ │ │ │ - if disabled falls back to counter and will append a "_meter" suffix to the metric name │ │ │ │ │ + │ │ │ │ │ + The local address the subscription was received on │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The local port the subscription was received on │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The sequence number of the next NOTIFY to be sent │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The local tag of the dialog for the subscription │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the endpoint that subscribed │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The time at which the subscription expires │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The Contact URI of the dialog for the subscription │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set, indicates that the contact used a reliable transport │ │ │ │ │ + and therefore the subscription must be deleted after an asterisk restart. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If set, contains persistence data for all generators of content │ │ │ │ │ + for the subscription. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Resource list configuration parameters. │ │ │ │ │ + │ │ │ │ │ + This configuration object allows for RFC 4662 resource list subscriptions │ │ │ │ │ + to be specified. This can be useful to decrease the amount of subscription traffic │ │ │ │ │ + that a server has to process. │ │ │ │ │ + │ │ │ │ │ + Current limitations limit the size of SIP NOTIFY requests that Asterisk sends │ │ │ │ │ + to double that of the PJSIP maximum packet length. If your resource list notifications │ │ │ │ │ + are larger than this maximum, you will need to make adjustments. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Must be of type 'resource_list' │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The SIP event package that the list resource belong to. │ │ │ │ │ + │ │ │ │ │ + The SIP event package describes the types of resources that Asterisk reports │ │ │ │ │ + the state of. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Device state and presence reporting. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This is identical to │ │ │ │ │ + presence │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Message-waiting indication (MWI) reporting. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of a resource to report state on │ │ │ │ │ + │ │ │ │ │ + In general Asterisk looks up list items in the following way: │ │ │ │ │ + 1. Check if the list item refers to another configured resource list. │ │ │ │ │ + 2. Pass the name of the resource off to event-package-specific handlers │ │ │ │ │ + to find the specified resource. │ │ │ │ │ + │ │ │ │ │ + The second part means that the way the list item is specified depends │ │ │ │ │ + on what type of list this is. For instance, if you have the │ │ │ │ │ + event │ │ │ │ │ + set to │ │ │ │ │ + presence │ │ │ │ │ + , then list items should be in the form of │ │ │ │ │ + dialplan_extension@dialplan_context. For │ │ │ │ │ + message-summary │ │ │ │ │ + mailbox │ │ │ │ │ + names should be listed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicates if the entire list's state should be sent out. │ │ │ │ │ + │ │ │ │ │ + If this option is enabled, and a resource changes state, then Asterisk will construct │ │ │ │ │ + a notification that contains the state of all resources in the list. If the option is │ │ │ │ │ + disabled, Asterisk will construct a notification that only contains the states of │ │ │ │ │ + resources that have changed. │ │ │ │ │ + │ │ │ │ │ + Even with this option disabled, there are certain situations where Asterisk is forced │ │ │ │ │ + to send a notification with the states of all resources in the list. When a subscriber │ │ │ │ │ + renews or terminates its subscription to the list, Asterisk MUST send a full state │ │ │ │ │ + notification. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Time Asterisk should wait, in milliseconds, before sending notifications. │ │ │ │ │ + │ │ │ │ │ + When a resource's state changes, it may be desired to wait a certain amount before Asterisk │ │ │ │ │ + sends a notification to subscribers. This allows for other state changes to accumulate, so that │ │ │ │ │ + Asterisk can communicate multiple state changes in a single notification instead of rapidly sending │ │ │ │ │ + many notifications. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Indicates whether display name of resource or the resource name being reported. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If this option is enabled, the Display Name will be reported as resource name. │ │ │ │ │ + If the │ │ │ │ │ + event │ │ │ │ │ + set to │ │ │ │ │ + presence │ │ │ │ │ + or │ │ │ │ │ + dialog │ │ │ │ │ + , │ │ │ │ │ + the non-empty HINT name will be set as the Display Name. │ │ │ │ │ + The │ │ │ │ │ + message-summary │ │ │ │ │ + is not supported yet. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The configuration for inbound publications │ │ │ │ │ + │ │ │ │ │ + Optional name of an endpoint that is only allowed to publish to this resource │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Must be of type 'inbound-publication'. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - deprecated │ │ │ │ │ + │ │ │ │ │ + spandsp │ │ │ │ │ + res_fax │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - func_curl │ │ │ │ │ - res_curl │ │ │ │ │ - curl │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ res_ari │ │ │ │ │ res_ari_model │ │ │ │ │ res_stasis │ │ │ │ │ res_stasis_recording │ │ │ │ │ - res_stasis_playback │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - sqlite │ │ │ │ │ - deprecated │ │ │ │ │ - 16 │ │ │ │ │ - 19 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - libxml2 │ │ │ │ │ - libxslt │ │ │ │ │ + │ │ │ │ │ + Module that provides simple configuration wizard capabilities. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PJSIP Configuration Wizard │ │ │ │ │ + │ │ │ │ │ + This module allows creation of common PJSIP configuration scenarios │ │ │ │ │ + without having to specify individual endpoint, aor, auth, identify and registration objects. │ │ │ │ │ + │ │ │ │ │ + For example, the following configuration snippet would create the │ │ │ │ │ + endpoint, aor, contact, auth and phoneprov objects necessary for a phone to │ │ │ │ │ + get phone provisioning information, register, and make and receive calls. │ │ │ │ │ + A hint is also created in the default context for extension 1000. │ │ │ │ │ + [myphone] │ │ │ │ │ + type = wizard │ │ │ │ │ + sends_auth = no │ │ │ │ │ + accepts_auth = yes │ │ │ │ │ + sends_registrations = no │ │ │ │ │ + accepts_registrations = yes │ │ │ │ │ + has_phoneprov = yes │ │ │ │ │ + transport = ipv4 │ │ │ │ │ + has_hint = yes │ │ │ │ │ + hint_exten = 1000 │ │ │ │ │ + inbound_auth/username = testname │ │ │ │ │ + inbound_auth/password = test password │ │ │ │ │ + endpoint/allow = ulaw │ │ │ │ │ + endpoint/context = default │ │ │ │ │ + phoneprov/MAC = 001122aa4455 │ │ │ │ │ + phoneprov/PROFILE = profile1 │ │ │ │ │ + The first 8 items are specific to the wizard. The rest of the items │ │ │ │ │ + are passed verbatim to the underlying objects. │ │ │ │ │ + │ │ │ │ │ + The following configuration snippet would create the │ │ │ │ │ + endpoint, aor, contact, auth, identify and registration objects necessary for a trunk │ │ │ │ │ + to another pbx or ITSP that requires registration. │ │ │ │ │ + [mytrunk] │ │ │ │ │ + type = wizard │ │ │ │ │ + sends_auth = yes │ │ │ │ │ + accepts_auth = no │ │ │ │ │ + sends_registrations = yes │ │ │ │ │ + accepts_registrations = no │ │ │ │ │ + transport = ipv4 │ │ │ │ │ + remote_hosts = sip1.myitsp.com:5060,sip2.myitsp.com:5060 │ │ │ │ │ + outbound_auth/username = testname │ │ │ │ │ + outbound_auth/password = test password │ │ │ │ │ + endpoint/allow = ulaw │ │ │ │ │ + endpoint/context = default │ │ │ │ │ + Of course, any of the items in either example could be placed into │ │ │ │ │ + templates and shared among wizard objects. │ │ │ │ │ + │ │ │ │ │ + For more information, visit: │ │ │ │ │ + │ │ │ │ │ + https://wiki.asterisk.org/wiki/display/AST/PJSIP+Configuration+Wizard │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Provides config wizard. │ │ │ │ │ + │ │ │ │ │ + For more information, visit: │ │ │ │ │ + │ │ │ │ │ + https://wiki.asterisk.org/wiki/display/AST/PJSIP+Configuration+Wizard │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Must be 'wizard'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of a transport to use for this object. │ │ │ │ │ + │ │ │ │ │ + If not specified, │ │ │ │ │ + the default will be used. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List of remote hosts. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A comma-separated list of remote hosts in the form of │ │ │ │ │ + host │ │ │ │ │ + [: │ │ │ │ │ + port │ │ │ │ │ + ]. │ │ │ │ │ + If set, an aor static contact and an identify match will be created for each │ │ │ │ │ + entry in the list. If send_registrations is also set, a registration will │ │ │ │ │ + also be created for each. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Shortcut for specifying proxy on individual objects. │ │ │ │ │ + │ │ │ │ │ + Shortcut for specifying endpoint/outbound_proxy, │ │ │ │ │ + aor/outbound_proxy, and registration/outbound_proxy individually. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send outbound authentication to remote hosts. │ │ │ │ │ + │ │ │ │ │ + At least outbound_auth/username is required. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Accept incoming authentication from remote hosts. │ │ │ │ │ + │ │ │ │ │ + At least inbound_auth/username is required. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Send outbound registrations to remote hosts. │ │ │ │ │ + │ │ │ │ │ + remote_hosts is required and a registration object will │ │ │ │ │ + be created for each host in the remote _hosts string. If authentication is required, │ │ │ │ │ + sends_auth and an outbound_auth/username must also be supplied. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Sets "line" and "endpoint parameters on registrations. │ │ │ │ │ + │ │ │ │ │ + Setting this to true will cause the wizard to skip the │ │ │ │ │ + creation of an identify object to match incoming requests to the endpoint and │ │ │ │ │ + instead add the line and endpoint parameters to the outbound registration object. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Accept inbound registration from remote hosts. │ │ │ │ │ + │ │ │ │ │ + An AOR with dynamic contacts will be created. If │ │ │ │ │ + the number of contacts nneds to be limited, set aor/max_contacts. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Create a phoneprov object for this endpoint. │ │ │ │ │ + │ │ │ │ │ + A phoneprov object will be created. phoneprov/MAC │ │ │ │ │ + must be specified. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A pattern to use for constructing outbound registration server_uris. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The literal │ │ │ │ │ + ${REMOTE_HOST} │ │ │ │ │ + will be substituted with the │ │ │ │ │ + appropriate remote_host for each registration. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A pattern to use for constructing outbound registration client_uris. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The literals │ │ │ │ │ + ${REMOTE_HOST} │ │ │ │ │ + and │ │ │ │ │ + ${USERNAME} │ │ │ │ │ + will be substituted with the appropriate remote_host and outbound_auth/username. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A pattern to use for constructing outbound contact uris. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The literal │ │ │ │ │ + ${REMOTE_HOST} │ │ │ │ │ + will be substituted with the │ │ │ │ │ + appropriate remote_host for each contact. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Create hint and optionally a default application. │ │ │ │ │ + │ │ │ │ │ + Create hint and optionally a default application. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The context in which to place hints. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Ignored if │ │ │ │ │ + hint_exten │ │ │ │ │ + is not specified otherwise specifies the │ │ │ │ │ + context into which the dialplan hints will be placed. If not specified, │ │ │ │ │ + defaults to the endpoint's context or │ │ │ │ │ + default │ │ │ │ │ + if that isn't │ │ │ │ │ + found. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Extension to map a PJSIP hint to. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Will create the following entry in │ │ │ │ │ + hint_context │ │ │ │ │ + : │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + exten => <hint_exten>,hint,PJSIP/<wizard_id> │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Normal dialplan precedence rules apply so if there's already a hint for │ │ │ │ │ + this extension in │ │ │ │ │ + hint_context │ │ │ │ │ + , this one will be ignored. │ │ │ │ │ + For more information, visit: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + https://wiki.asterisk.org/wiki/display/AST/PJSIP+Configuration+Wizard │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Application to call when 'hint_exten' is dialed. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Ignored if │ │ │ │ │ + hint_exten │ │ │ │ │ + isn't specified otherwise │ │ │ │ │ + will create the following priority 1 extension in │ │ │ │ │ + hint_context │ │ │ │ │ + : │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + exten => <hint_exten>,1,<hint_application> │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + You can specify any valid extensions.conf application expression. │ │ │ │ │ + Dial(${HINT}) │ │ │ │ │ + Gosub(stdexten,${EXTEN},1(${HINT})) │ │ │ │ │ + Any extensions.conf style variables specified are passed directly to the │ │ │ │ │ + dialplan. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Normal dialplan precedence rules apply so if there's already a priority 1 │ │ │ │ │ + application for this specific extension in │ │ │ │ │ + hint_context │ │ │ │ │ + , │ │ │ │ │ + this one will be ignored. For more information, visit: │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + https://wiki.asterisk.org/wiki/display/AST/PJSIP+Configuration+Wizard │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Variables to be passed directly to the endpoint. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Variables to be passed directly to the aor. │ │ │ │ │ + │ │ │ │ │ + If an aor/contact is explicitly defined then remote_hosts │ │ │ │ │ + will not be used to create contacts automatically. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Variables to be passed directly to the inbound auth. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Variables to be passed directly to the outbound auth. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Variables to be passed directly to the identify. │ │ │ │ │ + │ │ │ │ │ + If an identify/match is explicitly defined then remote_hosts │ │ │ │ │ + will not be used to create matches automatically. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Variables to be passed directly to the outbound registrations. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Variables to be passed directly to the phoneprov object. │ │ │ │ │ + │ │ │ │ │ + To activate phoneprov, at least phoneprov/MAC must be set. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + openssl │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_sorcery_config │ │ │ │ │ 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ + res_pjsip_session │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_mwi_external │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Get selected mailboxes with message counts. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + srtp │ │ │ │ │ + openssl │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get a list of parking lots │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List all parking lots as a series of AMI events │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List parked calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If specified, only show parked calls from the parking lot with this name. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + List parked calls. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Park a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Channel name to park. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Mailbox ID in the form of │ │ │ │ │ - / │ │ │ │ │ - regex │ │ │ │ │ - / for all mailboxes matching the regular │ │ │ │ │ - expression. Otherwise it is for a specific mailbox. │ │ │ │ │ + Channel name to use when constructing the dial string that will be dialed if the parked channel │ │ │ │ │ + times out. If │ │ │ │ │ + TimeoutChannel │ │ │ │ │ + is in a two party bridge with │ │ │ │ │ + Channel │ │ │ │ │ + , then │ │ │ │ │ + TimeoutChannel │ │ │ │ │ + will receive an announcement and be │ │ │ │ │ + treated as having parked │ │ │ │ │ + Channel │ │ │ │ │ + in the same manner as the Park Call DTMF feature. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If specified, then this channel will receive an announcement when │ │ │ │ │ + Channel │ │ │ │ │ + is parked if │ │ │ │ │ + AnnounceChannel │ │ │ │ │ + is in a state where it can receive announcements │ │ │ │ │ + (AnnounceChannel must be bridged). │ │ │ │ │ + AnnounceChannel │ │ │ │ │ + has no bearing on the actual │ │ │ │ │ + state of the parked call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Overrides the timeout of the parking lot for this park action. Specified in milliseconds, but will be converted to │ │ │ │ │ + seconds. Use a value of 0 to disable the timeout. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The parking lot to use when parking the channel │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Get a list of mailboxes with their message counts. │ │ │ │ │ + Park an arbitrary channel with optional arguments for specifying the parking lot used, how long │ │ │ │ │ + the channel should remain parked, and what dial string to use as the parker if the call times out. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised in response to a MWIGet command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel is parked. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specific mailbox ID. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Dial String that can be used to call back the parker on ParkingTimeout. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The number of old messages in the mailbox. │ │ │ │ │ + │ │ │ │ │ + Name of the parking lot that the parkee is parked in │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The number of new messages in the mailbox. │ │ │ │ │ + │ │ │ │ │ + Parking Space that the parkee is parked in │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Time remaining until the parkee is forcefully removed from parking in seconds │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Time the parkee has been in the parking bridge (in seconds) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - MWIGet │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Raised in response to a MWIGet command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel leaves a parking lot due to reaching the time limit of being parked. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - The number of mailboxes reported. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - MWIGet │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Delete selected mailboxes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel leaves a parking lot because it hung up without being answered. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel leaves a parking lot because it was retrieved from the parking lot and reconnected. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised when a channel takes the place of a previously parked channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + 2) │ │ │ │ │ + PARKINGLOT │ │ │ │ │ + variable │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 3) │ │ │ │ │ + CHANNEL(parkinglot) │ │ │ │ │ + function │ │ │ │ │ + (Possibly preset by the channel driver.) │ │ │ │ │ + │ │ │ │ │ + 4) Default parking lot. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A list of options for this parked call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Delete the specified mailboxes. │ │ │ │ │ + Used to park yourself (typically in combination with an attended │ │ │ │ │ + transfer to know the parking space). │ │ │ │ │ + │ │ │ │ │ + If you set the │ │ │ │ │ + PARKINGEXTEN │ │ │ │ │ + variable to a │ │ │ │ │ + parking space extension in the parking lot, Park() will attempt to park the │ │ │ │ │ + call on that extension. If the extension is already in use then execution │ │ │ │ │ + will continue at the next priority. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If the │ │ │ │ │ + parkeddynamic │ │ │ │ │ + option is enabled in │ │ │ │ │ + res_parking.conf │ │ │ │ │ + the following variables can be │ │ │ │ │ + used to dynamically create new parking lots. When using dynamic parking │ │ │ │ │ + lots, be aware of the conditions as explained in the notes section │ │ │ │ │ + below. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + This application must be used as the first extension priority │ │ │ │ │ + to be recognized as a parking access extension for blind transfers. │ │ │ │ │ + Blind transfers and the DTMF one-touch parking feature need this │ │ │ │ │ + distinction to operate properly. The parking access extension in │ │ │ │ │ + this case is treated like a dialplan hint. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Update the mailbox message counts. │ │ │ │ │ + │ │ │ │ │ + ParkedCall │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Retrieve a parked call. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Specific mailbox ID. │ │ │ │ │ + │ │ │ │ │ + Specify from which parking lot to retrieve a parked call. │ │ │ │ │ + The parking lot used is selected in the following order: │ │ │ │ │ + 1) parking_lot_name option │ │ │ │ │ + │ │ │ │ │ + 2) │ │ │ │ │ + PARKINGLOT │ │ │ │ │ + variable │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 3) │ │ │ │ │ + CHANNEL(parkinglot) │ │ │ │ │ + function │ │ │ │ │ + (Possibly preset by the channel driver.) │ │ │ │ │ + │ │ │ │ │ + 4) Default parking lot. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The number of old messages in the mailbox. Defaults │ │ │ │ │ - to zero if missing. │ │ │ │ │ + │ │ │ │ │ + Parking space to retrieve a parked call from. │ │ │ │ │ + If not provided then the first available parked call in the │ │ │ │ │ + parking lot will be retrieved. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The number of new messages in the mailbox. Defaults │ │ │ │ │ - to zero if missing. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Used to retrieve a parked call from a parking lot. │ │ │ │ │ + │ │ │ │ │ + If a parking lot's parkext option is set, then Parking lots │ │ │ │ │ + will automatically create and manage dialplan extensions in │ │ │ │ │ + the parking lot context. If that is the case then you will not │ │ │ │ │ + need to manage parking extensions yourself, just include the │ │ │ │ │ + parking context of the parking lot. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Park │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Park and Announce. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + 2) │ │ │ │ │ + PARKINGLOT │ │ │ │ │ + variable │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 3) │ │ │ │ │ + CHANNEL(parkinglot) │ │ │ │ │ + function │ │ │ │ │ + (Possibly preset by the channel driver.) │ │ │ │ │ + │ │ │ │ │ + 4) Default parking lot. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + A list of options for this parked call. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Colon-separated list of files to announce. The word │ │ │ │ │ + PARKED │ │ │ │ │ + will be replaced by a say_digits of the extension in which │ │ │ │ │ + the call is parked. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The app_dial style resource to call to make the │ │ │ │ │ + announcement. Console/dsp calls the console. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Update the mailbox message counts. │ │ │ │ │ + Park a call into the parkinglot and announce the call to another channel. │ │ │ │ │ + │ │ │ │ │ + The variable │ │ │ │ │ + PARKEDAT │ │ │ │ │ + will contain the parking extension │ │ │ │ │ + into which the call was placed. Use with the Local channel to allow the dialplan to make │ │ │ │ │ + use of this information. │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - pjproject │ │ │ │ │ - res_pjsip │ │ │ │ │ - res_pjsip_session │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_ari │ │ │ │ │ - res_ari_model │ │ │ │ │ - res_stasis │ │ │ │ │ - res_stasis_answer │ │ │ │ │ - res_stasis_playback │ │ │ │ │ - res_stasis_recording │ │ │ │ │ - res_stasis_snoop │ │ │ │ │ + │ │ │ │ │ + openssl │ │ │ │ │ + pjproject │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ yes │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - core │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ pjproject │ │ │ │ │ res_pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -31956,269 +30176,683 @@ │ │ │ │ │ are raised for each inbound registration (dynamic contact) object. Once all events │ │ │ │ │ are completed a │ │ │ │ │ ContactStatusDetailComplete │ │ │ │ │ event is issued. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - ldap │ │ │ │ │ + │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - srtp │ │ │ │ │ - openssl │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_calendar │ │ │ │ │ + neon │ │ │ │ │ + ical │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ res_ari │ │ │ │ │ res_ari_model │ │ │ │ │ res_stasis │ │ │ │ │ - res_stasis_mailbox │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - func_periodic_hook │ │ │ │ │ - deprecated │ │ │ │ │ - app_mixmonitor │ │ │ │ │ - 16 │ │ │ │ │ - 21 │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Monitor a channel. │ │ │ │ │ + │ │ │ │ │ + dahdi │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjproject │ │ │ │ │ + res_sorcery_config │ │ │ │ │ + res_sorcery_memory │ │ │ │ │ + res_sorcery_astdb │ │ │ │ │ + res_statsd │ │ │ │ │ + res_geolocation │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pgsql │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + win32 │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Play Music On Hold indefinitely. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - 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/ │ │ │ │ │ - . │ │ │ │ │ + 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 │ │ │ │ │ - -1 │ │ │ │ │ - if monitor files can't be opened or if the channel is │ │ │ │ │ - already monitored, otherwise │ │ │ │ │ 0 │ │ │ │ │ - . │ │ │ │ │ + when done, │ │ │ │ │ + -1 │ │ │ │ │ + on hangup. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - StopMonitor │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stop monitoring a channel. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Stops monitoring a channel. Has no effect if the channel is not monitored. │ │ │ │ │ + This application does not automatically answer and should be preceeded by │ │ │ │ │ + an application such as Answer() or Progress(). │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Change monitoring filename of a channel. │ │ │ │ │ + │ │ │ │ │ + Play Music On Hold. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Pause monitoring of a channel. │ │ │ │ │ + │ │ │ │ │ + Stop playing Music On Hold. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Pauses monitoring of a channel until it is re-enabled by a call to UnpauseMonitor. │ │ │ │ │ + Stops playing music on hold. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - UnpauseMonitor │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Unpause monitoring of a channel. │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Muting audio streams in the channel │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Must be one of │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Inbound stream (to the PBX) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Outbound stream (from the PBX) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Both streams │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - Unpauses monitoring of a channel on which monitoring had │ │ │ │ │ - previously been paused with PauseMonitor. │ │ │ │ │ + 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) │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - PauseMonitor │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Monitor a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Mute an audio stream. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - Used to specify the channel to record. │ │ │ │ │ + The channel you want to mute. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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). │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Is the audio recording format. Defaults to │ │ │ │ │ - wav │ │ │ │ │ - . │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Turn muting on. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Turn muting off. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Boolean parameter as to whether to mix the input and output channels │ │ │ │ │ - together after the recording is finished. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Mute an incoming or outgoing audio stream on a channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_stasis │ │ │ │ │ + res_mwi_external │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action may be used to record the audio on a │ │ │ │ │ - specified channel. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Stop monitoring a channel. │ │ │ │ │ + │ │ │ │ │ + Expire (remove) ALL objects from a sorcery memory cache. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - The name of the channel monitored. │ │ │ │ │ + │ │ │ │ │ + The name of the cache to expire all objects from. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action may be used to end a previously started 'Monitor' action. │ │ │ │ │ + Expires (removes) ALL objects from a sorcery memory cache. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Change monitoring filename of a channel. │ │ │ │ │ + │ │ │ │ │ + Mark an object in a sorcery memory cache as stale. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Used to specify the channel to record. │ │ │ │ │ + │ │ │ │ │ + The name of the cache to mark the object as stale in. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Is the new name of the file created in the │ │ │ │ │ - monitor spool directory. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action may be used to change the file │ │ │ │ │ - started by a previous 'Monitor' action. │ │ │ │ │ + Marks an object as stale within a sorcery memory cache. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Pause monitoring of a channel. │ │ │ │ │ + │ │ │ │ │ + Marks ALL objects in a sorcery memory cache as stale. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Used to specify the channel to record. │ │ │ │ │ + │ │ │ │ │ + The name of the cache to mark all object as stale in. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action may be used to temporarily stop the │ │ │ │ │ - recording of a channel. │ │ │ │ │ + Marks ALL objects in a sorcery memory cache as stale. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Unpause monitoring of a channel. │ │ │ │ │ + │ │ │ │ │ + Expire all objects from a memory cache and populate it with all objects from the backend. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Used to specify the channel to record. │ │ │ │ │ + │ │ │ │ │ + The name of the cache to populate. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - This action may be used to re-enable recording │ │ │ │ │ - of a channel after calling PauseMonitor. │ │ │ │ │ + Expires all objects from a memory cache and populate it with all objects from the backend. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + res_calendar │ │ │ │ │ + neon │ │ │ │ │ + ical │ │ │ │ │ + libxml2 │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + sqlite3 │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + corosync │ │ │ │ │ + no │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_stasis │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ res_speech │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Answer channel │ │ │ │ │ │ │ │ │ │ @@ -33764,31 +32398,274 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ AGIExecStart │ │ │ │ │ AGI │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_stasis │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_stasis │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ - res_pjsip_pubsub │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + res_hep │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_geolocation │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + chan_pjsip │ │ │ │ │ + libxml2 │ │ │ │ │ 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'. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + generic_odbc │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Controls ODBC transaction properties. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets or sets the active transaction ID. If set, and the transaction ID does not │ │ │ │ │ + exist and a │ │ │ │ │ + database name │ │ │ │ │ + is specified as an argument, it will be created. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Controls whether a transaction will be automatically committed when the channel │ │ │ │ │ + hangs up. Defaults to forcecommit value from the relevant DSN (which defaults to false). │ │ │ │ │ + If a │ │ │ │ │ + transaction ID │ │ │ │ │ + is specified in the optional argument, │ │ │ │ │ + the property will be applied to that ID, otherwise to the current active ID. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Controls the data isolation on uncommitted transactions. May be one of the │ │ │ │ │ + following: │ │ │ │ │ + read_committed │ │ │ │ │ + , │ │ │ │ │ + read_uncommitted │ │ │ │ │ + , │ │ │ │ │ + repeatable_read │ │ │ │ │ + , or │ │ │ │ │ + serializable │ │ │ │ │ + . Defaults to the │ │ │ │ │ + database setting in │ │ │ │ │ + res_odbc.conf │ │ │ │ │ + or │ │ │ │ │ + read_committed │ │ │ │ │ + if not specified. If a │ │ │ │ │ + transaction ID │ │ │ │ │ + is specified as an optional argument, it will be │ │ │ │ │ + applied to that ID, otherwise the current active ID. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The ODBC() function allows setting several properties to influence how a connected │ │ │ │ │ + database processes transactions. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Commits a currently open database transaction. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Commits the database transaction specified by │ │ │ │ │ + transaction ID │ │ │ │ │ + or the current active transaction, if not specified. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Rollback a currently open database transaction. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Rolls back the database transaction specified by │ │ │ │ │ + transaction ID │ │ │ │ │ + or the current active transaction, if not specified. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ no │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ + res_stasis_device_state │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ + res_stasis_recording │ │ │ │ │ + res_stasis_playback │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Send a NOTIFY to either an endpoint, an arbitrary URI, or inside a SIP dialog. │ │ │ │ │ @@ -33889,197 +32766,1320 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_mwi_external │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get selected mailboxes with message counts. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Mailbox ID in the form of │ │ │ │ │ + / │ │ │ │ │ + regex │ │ │ │ │ + / for all mailboxes matching the regular │ │ │ │ │ + expression. Otherwise it is for a specific mailbox. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Get a list of mailboxes with their message counts. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised in response to a MWIGet command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specific mailbox ID. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of old messages in the mailbox. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of new messages in the mailbox. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MWIGet │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Raised in response to a MWIGet command. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of mailboxes reported. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + MWIGet │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Delete selected mailboxes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Delete the specified mailboxes. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Update the mailbox message counts. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Specific mailbox ID. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of old messages in the mailbox. Defaults │ │ │ │ │ + to zero if missing. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The number of new messages in the mailbox. Defaults │ │ │ │ │ + to zero if missing. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Update the mailbox message counts. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + curl │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + gmime │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + timerfd │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ 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 │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_hep │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + res_statsd │ │ │ │ │ + no │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + no │ │ │ │ │ + extended │ │ │ │ │ + 19 │ │ │ │ │ + 21 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - IP addresses or networks to match against. │ │ │ │ │ + │ │ │ │ │ + Auto-remove users from buddy list. │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Perform SRV lookups for provided hostnames. │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - 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. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Header/value pair to match against. │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - 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. │ │ │ │ │ - │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - Must be of type 'identify'. │ │ │ │ │ + │ │ │ │ │ + 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_session │ │ │ │ │ + res_pjsip_pubsub │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + res_ari │ │ │ │ │ + res_ari_model │ │ │ │ │ + res_stasis │ │ │ │ │ + res_stasis_mailbox │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - List the current known device states. │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + deprecated │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + TIFF file to send as a FAX. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + FAXOPT │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets/sets various pieces of information about a fax session. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 will list out all known device states in a │ │ │ │ │ - sequence of │ │ │ │ │ - DeviceStateChange │ │ │ │ │ - events. │ │ │ │ │ - When finished, a │ │ │ │ │ - DeviceStateListComplete │ │ │ │ │ - event │ │ │ │ │ - will be emitted. │ │ │ │ │ + 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. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - DeviceStateChange │ │ │ │ │ - DEVICE_STATE │ │ │ │ │ + ReceiveFax │ │ │ │ │ + SendFax │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Indicates the end of the list the current known extension states. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conveys the status of the event list. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - Conveys the number of statuses reported. │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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' │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - res_calendar │ │ │ │ │ - neon │ │ │ │ │ - ical │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - res_calendar │ │ │ │ │ - neon │ │ │ │ │ - ical │ │ │ │ │ - libxml2 │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The session ID of the fax the user is interested in. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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' │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ + │ │ │ │ │ + pjproject │ │ │ │ │ + res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets headers from an inbound PJSIP channel. Adds, updates or removes the │ │ │ │ │ + specified SIP header from an outbound PJSIP channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns instance │ │ │ │ │ + number │ │ │ │ │ + of header │ │ │ │ │ + name │ │ │ │ │ + . A │ │ │ │ │ + * │ │ │ │ │ + may be appended to │ │ │ │ │ + name │ │ │ │ │ + to iterate over all │ │ │ │ │ + headers │ │ │ │ │ + beginning with │ │ │ │ │ + name │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Adds a new header │ │ │ │ │ + name │ │ │ │ │ + to this session. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Updates instance │ │ │ │ │ + number │ │ │ │ │ + of header │ │ │ │ │ + name │ │ │ │ │ + to a new value. │ │ │ │ │ + The header must already exist. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Removes all instances of previously added headers │ │ │ │ │ + whose names match │ │ │ │ │ + name │ │ │ │ │ + . A │ │ │ │ │ + * │ │ │ │ │ + may be appended to │ │ │ │ │ + name │ │ │ │ │ + to remove all headers │ │ │ │ │ + beginning with │ │ │ │ │ + name │ │ │ │ │ + . │ │ │ │ │ + name │ │ │ │ │ + may be set to a single │ │ │ │ │ + * │ │ │ │ │ + to clear │ │ │ │ │ + all │ │ │ │ │ + previously added headers. In all cases, │ │ │ │ │ + the number of headers actually removed is returned. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The name of the header. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If there's more than 1 header with the same name, this specifies which header │ │ │ │ │ + to read or update. If not specified, defaults to │ │ │ │ │ + 1 │ │ │ │ │ + meaning │ │ │ │ │ + the first matching header. Not valid for │ │ │ │ │ + add │ │ │ │ │ + or │ │ │ │ │ + remove │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PJSIP_HEADER allows you to read specific SIP headers from the inbound │ │ │ │ │ + PJSIP channel as well as write(add, update, remove) headers on the outbound │ │ │ │ │ + channel. One exception is that you can read headers that you have already │ │ │ │ │ + added on the outbound channel. │ │ │ │ │ + Examples: │ │ │ │ │ + exten => 1,1,Set(somevar=${PJSIP_HEADER(read,From)}) │ │ │ │ │ + exten => 1,1,Set(via2=${PJSIP_HEADER(read,Via,2)}) │ │ │ │ │ + exten => 1,1,Set(xhdr=${PJSIP_HEADER(read,X-*,1)}) │ │ │ │ │ + exten => 1,1,Set(PJSIP_HEADER(add,X-MyHeader)=myvalue) │ │ │ │ │ + exten => 1,1,Set(PJSIP_HEADER(add,X-MyHeader)=) │ │ │ │ │ + ; 'X-Myheader' must already exist or the call will fail. │ │ │ │ │ + exten => 1,1,Set(PJSIP_HEADER(update,X-MyHeader)=newvalue) │ │ │ │ │ + exten => 1,1,Set(PJSIP_HEADER(remove,X-MyHeader)=) │ │ │ │ │ + exten => 1,1,Set(PJSIP_HEADER(remove,X-My*)=) │ │ │ │ │ + exten => 1,1,Set(PJSIP_HEADER(remove,*)=) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + remove │ │ │ │ │ + action can be called by reading │ │ │ │ │ + or │ │ │ │ │ + writing PJSIP_HEADER. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + exten => 1,1,Verbose( Removed ${PJSIP_HEADER(remove,X-MyHeader)} headers) │ │ │ │ │ + exten => 1,1,Set(count=${PJSIP_HEADER(remove,X-MyHeader)}) │ │ │ │ │ + exten => 1,1,Set(=${PJSIP_HEADER(remove,X-MyHeader)}) │ │ │ │ │ + exten => 1,1,Set(PJSIP_HEADER(remove,X-MyHeader)=) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If you call PJSIP_HEADER in a normal dialplan context you'll be │ │ │ │ │ + operating on the │ │ │ │ │ + caller's (incoming) │ │ │ │ │ + channel which │ │ │ │ │ + may not be what you want. To operate on the │ │ │ │ │ + callee's (outgoing) │ │ │ │ │ + channel call PJSIP_HEADER in a pre-dial handler. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + [handler] │ │ │ │ │ + exten => addheader,1,Set(PJSIP_HEADER(add,X-MyHeader)=myvalue) │ │ │ │ │ + exten => addheader,2,Set(PJSIP_HEADER(add,X-MyHeader2)=myvalue2) │ │ │ │ │ + │ │ │ │ │ + [somecontext] │ │ │ │ │ + exten => 1,1,Dial(PJSIP/${EXTEN},,b(handler^addheader^1)) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + 16.20.0 │ │ │ │ │ + 18.6.0 │ │ │ │ │ + 19.0.0 │ │ │ │ │ + │ │ │ │ │ + Gets the list of SIP header names from an INVITE message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If specified, only the headers matching the given prefix are returned. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns a comma-separated list of header names (without values) from the │ │ │ │ │ + INVITE message. Multiple headers with the same name are included in the list only once. │ │ │ │ │ + │ │ │ │ │ + For example, │ │ │ │ │ + ${PJSIP_HEADERS(Co)} │ │ │ │ │ + might return │ │ │ │ │ + Contact,Content-Length,Content-Type │ │ │ │ │ + . As a practical example, │ │ │ │ │ + you may use │ │ │ │ │ + ${PJSIP_HEADERS(X-)} │ │ │ │ │ + to enumerate optional extended │ │ │ │ │ + headers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PJSIP_HEADER │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets headers of 200 response from an outbound PJSIP channel. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns instance │ │ │ │ │ + number │ │ │ │ │ + of response header │ │ │ │ │ + name │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + The │ │ │ │ │ + name │ │ │ │ │ + of the response header. │ │ │ │ │ + A │ │ │ │ │ + * │ │ │ │ │ + can be appended to the │ │ │ │ │ + name │ │ │ │ │ + to iterate over all response headers │ │ │ │ │ + beginning with │ │ │ │ │ + name │ │ │ │ │ + . │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If there's more than 1 header with the same name, this specifies which header │ │ │ │ │ + to read. If not specified, defaults to │ │ │ │ │ + 1 │ │ │ │ │ + meaning │ │ │ │ │ + the first matching header. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PJSIP_RESPONSE_HEADER allows you to read specific SIP headers of 200 response │ │ │ │ │ + from the outbound PJSIP channel. │ │ │ │ │ + Examples: │ │ │ │ │ + exten => 1,1,Set(somevar=${PJSIP_RESPONSE_HEADER(read,From)}) │ │ │ │ │ + exten => 1,1,Set(via2=${PJSIP_RESPONSE_HEADER(read,Via,2)}) │ │ │ │ │ + exten => 1,1,Set(xhdr=${PJSIP_RESPONSE_HEADER(read,X-*,1)}) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If you call PJSIP_RESPONSE_HEADER in a normal dialplan context you'll be │ │ │ │ │ + operating on the │ │ │ │ │ + caller's (incoming) │ │ │ │ │ + channel which │ │ │ │ │ + may not be what you want. To operate on the │ │ │ │ │ + callee's (outgoing) │ │ │ │ │ + channel call PJSIP_RESPONSE_HEADER in a pre-connect handler. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + [handler] │ │ │ │ │ + exten => readheader,1,NoOp(PJSIP_RESPONSE_HEADER(read,X-MyHeader)) │ │ │ │ │ + [somecontext] │ │ │ │ │ + exten => 1,1,Dial(PJSIP/${EXTEN},,U(handler^readheader^1)) │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PJSIP_RESPONSE_HEADERS │ │ │ │ │ + PJSIP_HEADER │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Gets the list of SIP header names from the 200 response of INVITE message. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + If specified, only the headers matching the given prefix are returned. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + Returns a comma-separated list of header names (without values) from the 200 │ │ │ │ │ + response of INVITE message. Multiple headers with the same name are included in the │ │ │ │ │ + list only once. │ │ │ │ │ + │ │ │ │ │ + For example, │ │ │ │ │ + ${PJSIP_RESPONSE_HEADERS(Co)} │ │ │ │ │ + might return │ │ │ │ │ + Contact,Content-Length,Content-Type │ │ │ │ │ + . As a practical example, │ │ │ │ │ + you may use │ │ │ │ │ + ${PJSIP_RESPONSE_HEADERS(X-)} │ │ │ │ │ + to enumerate optional │ │ │ │ │ + extended headers. │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + PJSIP_RESPONSE_HEADER │ │ │ │ │ + PJSIP_HEADERS │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ pjproject │ │ │ │ │ res_pjsip │ │ │ │ │ + res_pjsip_session │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + core │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ core │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Core Geolocation Support │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Location │ │ │ │ │ @@ -38031,35 +38031,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ │ - mysqlclient │ │ │ │ │ - deprecated │ │ │ │ │ - cdr_adaptive_odbc │ │ │ │ │ - 1.8 │ │ │ │ │ - 19 │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - bluetooth │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - extended │ │ │ │ │ - │ │ │ │ │ - │ │ │ │ │ - mysqlclient │ │ │ │ │ - deprecated │ │ │ │ │ - func_odbc │ │ │ │ │ - 1.8 │ │ │ │ │ - 19 │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ mysqlclient │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ extended │ │ │ │ │ │ │ │ │ │ @@ -38103,8 +38082,29 @@ │ │ │ │ │ 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 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + mysqlclient │ │ │ │ │ + deprecated │ │ │ │ │ + cdr_adaptive_odbc │ │ │ │ │ + 1.8 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + extended │ │ │ │ │ + │ │ │ │ │ + │ │ │ │ │ + mysqlclient │ │ │ │ │ + deprecated │ │ │ │ │ + func_odbc │ │ │ │ │ + 1.8 │ │ │ │ │ + 19 │ │ │ │ │ + │ │ │ │ │