diff --git a/main/manager.c b/main/manager.c
index a9bc52e5fd..8d9d4ffbaa 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -103,1467 +103,6 @@
#include "asterisk/taskprocessor.h"
#include "asterisk/message.h"
-/*** DOCUMENTATION
-
-
- Keepalive command.
-
-
-
-
-
- A 'Ping' action will elicit a 'Pong' response. Used to keep the
- manager connection open.
-
-
-
-
- Control Event Flow.
-
-
-
-
-
-
- If all events should be sent.
-
-
- If no events should be sent.
-
-
- To select which flags events should have to be sent.
-
-
-
-
-
- Enable/Disable sending of events to this manager client.
-
-
-
-
- Logoff Manager.
-
-
-
-
-
- Logoff the current manager session.
-
-
- [Login]
-
-
-
-
- Login Manager.
-
-
-
- ActionID for this transaction. Will be returned.
-
-
- Username to login with as specified in manager.conf.
-
-
- Authorization type. Valid values are:
-
- Plain text secret. (default)
- MD5 hashed secret.
-
-
-
- Plain text secret to login with as specified in manager.conf.
-
-
- Key to use with MD5 authentication. To create the key, you must
- initialize a new MD5 hash, call the Challenge AMI action,
- update the hash with the response, then update the hash with the secret as specified
- in manager.conf. The key value must be the final result of the hash
- as a 32 character lower-case hex string without any "0x" prepended.
- See the description for an example of creating a key in Python.
-
-
-
-
-
-
- Login Manager.
-
- import hashlib
- m = hashlib.md5()
- m.update(response_from_challenge)
- m.update(your_secret)
- key = m.hexdigest()
- ## '031edd7d41651593c5fe5c006fa5752b'
-
-
-
- [Challenge]
- [Logoff]
-
-
-
-
- Generate Challenge for MD5 Auth.
-
-
-
-
- Digest algorithm to use in the challenge. Valid values are:
-
-
-
-
-
-
- Generate a challenge for MD5 authentication.
-
-
-
-
- Hangup channel.
-
-
-
-
- The exact channel name to be hungup, or to use a regular expression, set this parameter to: /regex/
- Example exact channel: SIP/provider-0000012a
- Example regular expression: /^SIP/provider-.*$/
-
-
- Numeric hangup cause.
-
-
-
- Hangup a channel.
-
-
-
-
- List channel status.
-
-
-
-
- The name of the channel to query for status.
-
-
- Comma , separated list of variable to include.
-
-
- If set to "true", the Status event will include all channel variables for
- the requested channel(s).
-
-
-
-
-
-
-
- Will return the status information of each channel along with the
- value for the specified channel variables.
-
-
-
-
-
-
-
-
-
-
- Raised in response to a Status command.
-
-
-
-
- Type of channel
-
-
- Dialed number identifier
-
-
-
-
-
-
- Absolute lifetime of the channel
-
-
- Identifier of the bridge the channel is in, may be empty if not in one
-
-
- Application currently executing on the channel
-
-
- Data given to the currently executing channel
-
-
- Media formats the connected party is willing to send or receive
-
-
- Media formats that frames from the channel are received in
-
-
- Translation path for media received in native formats
-
-
- Media formats that frames to the channel are accepted in
-
-
- Translation path for media sent to the connected party
-
-
- Configured call group on the channel
-
-
- Configured pickup group on the channel
-
-
- Number of seconds the channel has been active
-
-
-
- [Status]
-
-
-
-
-
- Raised in response to a Status command.
-
-
- Number of Status events returned
-
-
-
- [Status]
-
-
-
-
-
- Sets a channel variable or function value.
-
-
-
-
- Channel to set variable for.
-
-
- Variable name, function or expression.
-
-
- Variable or function value.
-
-
-
- This command can be used to set the value of channel variables or dialplan
- functions.
-
- If a channel name is not provided then the variable is considered global.
-
-
-
- [Getvar]
-
-
-
-
- Gets a channel variable or function value.
-
-
-
-
- Channel to read variable from.
-
-
- Variable name, function or expression.
-
-
-
- Get the value of a channel variable or function return.
-
- If a channel name is not provided then the variable is considered global.
-
-
-
- [Setvar]
-
-
-
-
- Retrieve configuration.
-
-
-
-
- Configuration filename (e.g. foo.conf).
-
-
- Category in configuration file.
-
-
- A comma separated list of
- name_regex=value_regex
- expressions which will cause only categories whose variables match all expressions
- to be considered. The special variable name TEMPLATES
- can be used to control whether templates are included. Passing
- include as the value will include templates
- along with normal categories. Passing
- restrict as the value will restrict the operation to
- ONLY templates. Not specifying a TEMPLATES expression
- results in the default behavior which is to not include templates.
-
-
-
- This action will dump the contents of a configuration
- file by category and contents or optionally by specified category only.
- In the case where a category name is non-unique, a filter may be specified
- to match only categories with matching variable values.
-
-
- [GetConfigJSON]
- [UpdateConfig]
- [CreateConfig]
- [ListCategories]
-
-
-
-
- Retrieve configuration (JSON format).
-
-
-
-
- Configuration filename (e.g. foo.conf).
-
-
- Category in configuration file.
-
-
-
-
-
-
- This action will dump the contents of a configuration file by category
- and contents in JSON format or optionally by specified category only.
- This only makes sense to be used using rawman over the HTTP interface.
- In the case where a category name is non-unique, a filter may be specified
- to match only categories with matching variable values.
-
-
- [GetConfig]
- [UpdateConfig]
- [CreateConfig]
- [ListCategories]
-
-
-
-
- Update basic configuration.
-
-
-
-
- Configuration filename to read (e.g. foo.conf).
-
-
- Configuration filename to write (e.g. foo.conf)
-
-
- Whether or not a reload should take place (or name of specific module).
-
-
- Whether the effective category contents should be preserved on template change. Default is true (pre 13.2 behavior).
-
-
- Action to take.
- 0's represent 6 digit number beginning with 000000.
-
-
-
-
-
-
-
-
-
-
-
-
- Category to operate on.
-
-
-
- Variable to work on.
-
-
-
- Value to work on.
-
-
-
- Extra match required to match line.
-
-
-
- Line in category to operate on (used with delete and insert actions).
-
-
-
- A comma separated list of action-specific options.
-
- One or more of the following...
-
- Allow duplicate category names.
- This category is a template.
- Templates from which to inherit.
-
-
-
-
- The following actions share the same options...
-
-
-
-
-
-
-
-
-
-
-
- catfilter is most useful when a file
- contains multiple categories with the same name and you wish to
- operate on specific ones instead of all of them.
-
-
-
-
-
-
-
-
- This action will modify, create, or delete configuration elements
- in Asterisk configuration files.
-
-
- [GetConfig]
- [GetConfigJSON]
- [CreateConfig]
- [ListCategories]
-
-
-
-
- Creates an empty file in the configuration directory.
-
-
-
-
- The configuration filename to create (e.g. foo.conf).
-
-
-
- This action will create an empty file in the configuration
- directory. This action is intended to be used before an UpdateConfig
- action.
-
-
- [GetConfig]
- [GetConfigJSON]
- [UpdateConfig]
- [ListCategories]
-
-
-
-
- List categories in configuration file.
-
-
-
-
- Configuration filename (e.g. foo.conf).
-
-
-
- This action will dump the categories in a given file.
-
-
- [GetConfig]
- [GetConfigJSON]
- [UpdateConfig]
- [CreateConfig]
-
-
-
-
- Redirect (transfer) a call.
-
-
-
-
- Channel to redirect.
-
-
- Second call leg to transfer (optional).
-
-
- Extension to transfer to.
-
-
- Extension to transfer extrachannel to (optional).
-
-
- Context to transfer to.
-
-
- Context to transfer extrachannel to (optional).
-
-
- Priority to transfer to.
-
-
- Priority to transfer extrachannel to (optional).
-
-
-
- Redirect (transfer) a call.
-
-
- [BlindTransfer]
-
-
-
-
- Attended transfer.
-
-
-
-
- Transferer's channel.
-
-
- Extension to transfer to.
-
-
- Context to transfer to.
-
-
-
- Attended transfer.
-
-
- [AttendedTransfer]
-
-
-
-
- 13.18.0
- 14.7.0
- 15.1.0
- 16.0.0
-
-
- Cancel an attended transfer.
-
-
-
-
- The transferer channel.
-
-
-
- Cancel an attended transfer. Note, this uses the configured cancel attended transfer
- feature option (atxferabort) to cancel the transfer. If not available this action will fail.
-
-
-
- [AttendedTransfer]
-
-
-
-
- Originate a call.
-
-
-
-
- Channel name to call.
-
-
- Extension to use (requires Context and
- Priority)
-
-
- Context to use (requires Exten and
- Priority)
-
-
- Priority to use (requires Exten and
- Context)
-
-
- Application to execute.
-
-
- Data to use (requires Application).
-
-
- How long to wait for call to be answered (in ms.).
-
-
- Caller ID to be set on the outgoing channel.
-
-
- Channel variable to set, multiple Variable: headers are allowed.
-
-
- Account code.
-
-
- Set to true to force call bridge on early media..
-
-
- Set to true for fast origination.
-
-
- Comma-separated list of codecs to use for this call.
-
-
- Channel UniqueId to be set on the channel.
-
-
- Channel UniqueId to be set on the second local channel.
-
-
- PreDialGoSub Context,Extension,Priority to set options/headers needed before start the outgoing extension
-
-
-
- Generates an outgoing call to a
- Extension/Context/Priority
- or Application/Data
-
-
- [OriginateResponse]
-
-
-
-
- Raised in response to an Originate command.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [Originate]
-
-
-
-
-
- Execute Asterisk CLI Command.
-
-
-
-
- Asterisk CLI command to run.
-
-
-
- Run a CLI command.
-
-
-
-
- Check Extension Status.
-
-
-
-
- Extension to check state on.
-
-
- Context for extension.
-
-
-
- Report the extension state for given extension. If the extension has a hint,
- will use devicestate to check the status of the device connected to the extension.
- Will return an Extension Status message. The response will include
- the hint for the extension and the status.
-
-
- [ExtensionStatus]
-
-
-
-
- Check Presence State
-
-
-
-
- Presence Provider to check the state of
-
-
-
- Report the presence state for the given presence provider.
- Will return a Presence State message. The response will include the
- presence state and, if set, a presence subtype and custom message.
-
-
- [PresenceStatus]
-
-
-
-
- Set absolute timeout.
-
-
-
-
- Channel name to hangup.
-
-
- Maximum duration of the call (sec).
-
-
-
- Hangup a channel after a certain time. Acknowledges set time with
- Timeout Set message.
-
-
-
-
- Check mailbox.
-
-
-
-
- Full mailbox ID mailbox@vm-context.
-
-
-
- Checks a voicemail account for status.
- Returns whether there are messages waiting.
- Message: Mailbox Status.
- Mailbox: mailboxid.
- Waiting: 0 if messages waiting, 1
- if no messages waiting.
-
-
- [MailboxCount]
-
-
-
-
- Check Mailbox Message Count.
-
-
-
-
- Full mailbox ID mailbox@vm-context.
-
-
-
- Checks a voicemail account for new messages.
- Returns number of urgent, new and old messages.
- Message: Mailbox Message Count
- Mailbox: mailboxid
- UrgentMessages: count
- NewMessages: count
- OldMessages: count
-
-
- [MailboxStatus]
-
-
-
-
- List available manager commands.
-
-
-
-
-
- Returns the action name and synopsis for every action that
- is available to the user.
-
-
-
-
- Sends a text message to channel. A content type can be optionally specified. If not set
- it is set to an empty string allowing a custom handler to default it as it sees fit.
-
-
-
-
- Channel to send message to.
-
-
- Message to send.
-
-
- The type of content in the message
-
-
-
- Sends A Text Message to a channel while in a call.
-
-
- [SendText]
-
-
-
-
- Send an arbitrary event.
-
-
-
-
- Event string to send.
-
-
- Content1.
-
-
- ContentN.
-
-
-
- Send an event to manager sessions.
-
-
- [UserEvent]
- [UserEvent]
-
-
-
-
- Wait for an event to occur.
-
-
-
-
- Maximum time (in seconds) to wait for events, -1 means forever.
-
-
-
- This action will elicit a Success response. Whenever
- a manager event is queued. Once WaitEvent has been called on an HTTP manager
- session, events will be generated and queued.
-
-
-
-
- Show PBX core settings (version etc).
-
-
-
-
-
- Query for Core PBX settings.
-
-
-
-
- Show PBX core status variables.
-
-
-
-
-
- Query for Core PBX status.
-
-
-
-
- Send a reload event.
-
-
-
-
- Name of the module to reload.
-
-
-
- Send a reload event.
-
-
- [ModuleLoad]
-
-
-
-
- Raised in response to a CoreShowChannels command.
-
-
-
-
- Identifier of the bridge the channel is in, may be empty if not in one
-
-
- Application currently executing on the channel
-
-
- Data given to the currently executing application
-
-
- The amount of time the channel has existed
-
-
-
- [CoreShowChannels]
- [CoreShowChannelsComplete]
-
-
-
-
-
- Raised at the end of the CoreShowChannel list produced by the CoreShowChannels command.
-
-
-
- Conveys the status of the command reponse list
-
-
- The total number of list items produced
-
-
-
- [CoreShowChannels]
- [CoreShowChannel]
-
-
-
-
-
- List currently active channels.
-
-
-
-
-
- List currently defined channels and some information about them.
-
-
-
-
-
-
-
-
-
-
- Raised at the end of the CoreShowChannelMap list produced by the CoreShowChannelMap command.
-
-
- Conveys the status of the command response list
-
-
- The total number of list items produced
-
-
-
-
-
-
- List all channels connected to the specified channel.
-
-
-
- The channel to get the mapping for. Requires a channel name.
-
-
-
- List all channels currently connected to the specified channel. This can be any channel, including
- Local channels, and Local channels will be followed through to their other half.
-
-
-
-
- Reload and rotate the Asterisk logger.
-
-
-
-
-
- Reload and rotate the logger. Analogous to the CLI command 'logger rotate'.
-
-
-
-
- Module management.
-
-
-
-
- Asterisk module name (including .so extension) or subsystem identifier:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The operation to be done on module. Subsystem identifiers may only
- be reloaded.
-
-
-
-
-
- Completely unload and load again a specified module.
-
-
- If no module is specified for a reload loadtype,
- all modules are reloaded.
-
-
- For refresh operations, attempt to recursively
- unload any other modules that are dependent on this module, if that would
- allow it to successfully unload, and load them again afterwards.
-
-
-
- Loads, unloads or reloads an Asterisk module in a running system.
-
-
- [Reload]
- [ModuleCheck]
-
-
-
-
- Check if module is loaded.
-
-
-
-
- Asterisk module name (not including extension).
-
-
-
- Checks if Asterisk module is loaded. Will return Success/Failure.
- An empty Version header is also returned (which doesn't contain
- the module revision number).
-
-
- [ModuleLoad]
-
-
-
-
- Generate an Advice of Charge message on a channel.
-
-
-
-
- Channel name to generate the AOC message on.
- This value is required unless ChannelPrefix is given.
-
-
- Partial channel prefix. By using this option one can match the beginning part
- of a channel name without having to put the entire name in. For example
- if a channel name is SIP/snom-00000001 and this value is set to SIP/snom, then
- that channel matches and the message will be sent. Note however that only
- the first matched channel has the message sent on it.
-
-
- Defines what type of AOC message to create, AOC-S, AOC-D or AOC-E
-
-
-
-
-
-
-
- Defines what kind of charge this message represents for AOC-D and AOC-E.
-
-
-
-
-
-
-
-
- This represents the amount of units charged. The ETSI AOC standard specifies that
- this value along with the optional UnitType value are entries in a list. To accommodate this
- these values take an index value starting at 0 which can be used to generate this list of
- unit entries. For Example, If two unit entires were required this could be achieved by setting the
- paramter UnitAmount(0)=1234 and UnitAmount(1)=5678. Note that UnitAmount at index 0 is
- required when ChargeType=Unit, all other entries in the list are optional.
-
-
-
- Defines the type of unit. ETSI AOC standard specifies this as an integer
- value between 1 and 16, but this value is left open to accept any positive
- integer. Like the UnitAmount parameter, this value represents a list entry
- and has an index parameter that starts at 0.
-
-
-
- Specifies the currency's name. Note that this value is truncated after 10 characters.
-
-
- Specifies the charge unit amount as a positive integer.
- This value is required when ChargeType==Currency (AOC-D or AOC-E) or
- RateType==Duration/Flat/Volume (AOC-S).
-
-
- Specifies the currency multiplier.
- This value is required when CurrencyAmount is given.
-
-
-
-
-
-
-
-
-
-
-
- Defines what kind of AOC-D total is represented.
-
-
-
-
-
-
- Represents a billing ID associated with an AOC-D or AOC-E message. Note
- that only the first 3 items of the enum are valid AOC-D billing IDs
-
-
-
-
-
-
-
-
-
-
-
-
- Charging association identifier. This is optional for AOC-E and can be
- set to any value between -32768 and 32767
-
-
- Represents the charging association party number. This value is optional
- for AOC-E.
-
-
- Integer representing the charging plan associated with the ChargingAssociationNumber.
- The value is bits 7 through 1 of the Q.931 octet containing the type-of-number and
- numbering-plan-identification fields.
-
-
- Defines what part of the call is charged in AOC-S. Usually this is set to
- BasicCommunication, which refers to the time after the call is answered, but establishment
- (CallAttempt) or successful establishment (CallSetup) of a call can also be used.
- Other options are available, but these generally do not carry enough information to actually
- calculate the price of a call.
- It is possible to have multiple ChargedItem entries for a single call -- for example to
- charge for both the establishment of the call and the actual call. In this case, each
- ChargedItem is described by a ChargedItem: header and all other headers that follow it up to
- the next ChargedItem: header.
-
-
-
-
-
-
-
-
-
-
-
- Defines how an AOC-S ChargedItem is charged.
- The Duration option is only available when ChargedItem==BasicCommunication.
-
-
-
-
-
-
-
-
-
-
-
- Specifies a positive integer which is the amount of time is paid for by one
- CurrencyAmount.
- This value is required when RateType==Duration.
-
-
- Specifies the time multiplier.
- This value is required when Time is given.
-
-
-
-
-
-
-
-
-
-
-
- Specifies a positive integer which is the size of the charged time increments.
- This value is optional when RateType==Duration and ChargingType==StepFunction.
-
-
- Specifies the granularity time multiplier.
- This value is required when Granularity is given.
-
-
-
-
-
-
-
-
-
-
-
- Specifies whether the charge increases continuously with time or in increments of
- Time or, if provided, Granularity.
- This value is required when RateType==Duration.
-
-
-
-
-
-
- Specifies the quantity of which one unit is paid for by one CurrencyAmount.
- This value is required when RateType==Volume.
-
-
-
-
-
-
-
- Specifies the charging code, which can be set to a value between 1 and 10.
- This value is required when ChargedItem==SpecialArrangement or RateType==SpecialCode.
-
-
-
- Generates an AOC-S, AOC-D or AOC-E message on a channel.
-
-
- [AOC-S]
- [AOC-D]
- [AOC-E]
-
-
-
-
- Checks attributes of manager accounts
-
-
-
- Login name, specified in manager.conf
-
-
- The manager account attribute to return
-
- The number of sessions for this AMI account
-
-
-
-
-
- Currently, the only supported parameter is "sessions" which will return the current number of
- active sessions for this AMI account.
-
-
-
-
-
- Dynamically add filters for the current manager session.
-
-
-
-
-
-
- Add a filter.
-
-
-
-
- Filters can be whitelist or blacklist
- Example whitelist filter: "Event: Newchannel"
- Example blacklist filter: "!Channel: DAHDI.*"
- This filter option is used to whitelist or blacklist events per user to be
- reported with regular expressions and are allowed if both the regex matches
- and the user has read access as defined in manager.conf. Filters are assumed to be for whitelisting
- unless preceeded by an exclamation point, which marks it as being black.
- Evaluation of the filters is as follows:
- - If no filters are configured all events are reported as normal.
- - If there are white filters only: implied black all filter processed first, then white filters.
- - If there are black filters only: implied white all filter processed first, then black filters.
- - If there are both white and black filters: implied black all filter processed first, then white
- filters, and lastly black filters.
-
-
-
- The filters added are only used for the current session.
- Once the connection is closed the filters are removed.
- This comand requires the system permission because
- this command can be used to create filters that may bypass
- filters defined in manager.conf
-
-
-
-
- Blind transfer channel(s) to the given destination
-
-
-
-
-
-
-
-
-
-
- Redirect all channels currently bridged to the specified channel to the specified destination.
-
-
- [Redirect]
- [BlindTransfer]
-
-
-
-
- Raised when a hint changes due to a device state change.
-
-
- Name of the extension.
-
-
- Context that owns the extension.
-
-
- Hint set for the extension
-
-
- Numerical value of the extension status. Extension
- status is determined by the combined device state of all items
- contained in the hint.
-
-
- The extension was removed from the dialplan.
-
-
- The extension's hint was removed from the dialplan.
-
-
- Idle - Related device(s) are in an idle
- state.
-
-
- InUse - Related device(s) are in active
- calls but may take more calls.
-
-
- Busy - Related device(s) are in active
- calls and may not take any more calls.
-
-
- Unavailable - Related device(s) are
- not reachable.
-
-
- Ringing - Related device(s) are
- currently ringing.
-
-
- InUse&Ringing - Related device(s)
- are currently ringing and in active calls.
-
-
- Hold - Related device(s) are
- currently on hold.
-
-
- InUse&Hold - Related device(s)
- are currently on hold and in active calls.
-
-
-
-
- Text representation of Status.
-
-
-
-
-
-
-
-
-
-
- Status does not match any of the above values.
-
-
-
-
-
- [ExtensionState]
-
-
-
-
-
- Raised when a hint changes due to a presence state change.
-
-
-
-
-
-
-
-
-
- [PresenceState]
-
-
-
- ***/
-
/*! \addtogroup Group_AMI AMI functions
*/
/*! @{
diff --git a/main/manager_doc.xml b/main/manager_doc.xml
new file mode 100644
index 0000000000..38e698d10e
--- /dev/null
+++ b/main/manager_doc.xml
@@ -0,0 +1,1499 @@
+
+
+
+
+
+
+ Keepalive command.
+
+
+
+
+
+ A 'Ping' action will elicit a 'Pong' response. Used to keep the
+ manager connection open.
+
+
+
+
+ Control Event Flow.
+
+
+
+
+
+
+ If all events should be sent.
+
+
+ If no events should be sent.
+
+
+ To select which flags events should have to be sent.
+
+
+
+
+
+ Enable/Disable sending of events to this manager client.
+
+
+
+
+ Logoff Manager.
+
+
+
+
+
+ Logoff the current manager session.
+
+
+ [Login]
+
+
+
+
+ Login Manager.
+
+
+
+ ActionID for this transaction. Will be returned.
+
+
+ Username to login with as specified in manager.conf.
+
+
+ Authorization type. Valid values are:
+
+ Plain text secret. (default)
+ MD5 hashed secret.
+
+
+
+ Plain text secret to login with as specified in manager.conf.
+
+
+ Key to use with MD5 authentication. To create the key, you must
+ initialize a new MD5 hash, call the Challenge AMI action,
+ update the hash with the response, then update the hash with the secret as specified
+ in manager.conf. The key value must be the final result of the hash
+ as a 32 character lower-case hex string without any "0x" prepended.
+ See the description for an example of creating a key in Python.
+
+
+
+
+
+
+ Login Manager.
+
+ import hashlib
+ m = hashlib.md5()
+ m.update(response_from_challenge)
+ m.update(your_secret)
+ key = m.hexdigest()
+ ## '031edd7d41651593c5fe5c006fa5752b'
+
+
+
+ [Challenge]
+ [Logoff]
+
+
+
+
+ Generate Challenge for MD5 Auth.
+
+
+
+
+ Digest algorithm to use in the challenge. Valid values are:
+
+
+
+
+
+
+ Generate a challenge for MD5 authentication.
+
+
+
+
+ Hangup channel.
+
+
+
+
+ The exact channel name to be hungup, or to use a regular expression, set this parameter to: /regex/
+ Example exact channel: SIP/provider-0000012a
+ Example regular expression: /^SIP/provider-.*$/
+
+
+ Numeric hangup cause.
+
+
+
+ Hangup a channel.
+
+
+
+
+ List channel status.
+
+
+
+
+ The name of the channel to query for status.
+
+
+ Comma , separated list of variable to include.
+
+
+ If set to "true", the Status event will include all channel variables for
+ the requested channel(s).
+
+
+
+
+
+
+
+ Will return the status information of each channel along with the
+ value for the specified channel variables.
+
+
+
+
+
+
+
+
+
+
+ Raised in response to a Status command.
+
+
+
+
+ Type of channel
+
+
+ Dialed number identifier
+
+
+
+
+
+
+ Absolute lifetime of the channel
+
+
+ Identifier of the bridge the channel is in, may be empty if not in one
+
+
+ Application currently executing on the channel
+
+
+ Data given to the currently executing channel
+
+
+ Media formats the connected party is willing to send or receive
+
+
+ Media formats that frames from the channel are received in
+
+
+ Translation path for media received in native formats
+
+
+ Media formats that frames to the channel are accepted in
+
+
+ Translation path for media sent to the connected party
+
+
+ Configured call group on the channel
+
+
+ Configured pickup group on the channel
+
+
+ Number of seconds the channel has been active
+
+
+
+ [Status]
+
+
+
+
+
+ Raised in response to a Status command.
+
+
+ Number of Status events returned
+
+
+
+ [Status]
+
+
+
+
+
+ Sets a channel variable or function value.
+
+
+
+
+ Channel to set variable for.
+
+
+ Variable name, function or expression.
+
+
+ Variable or function value.
+
+
+
+ This command can be used to set the value of channel variables or dialplan
+ functions.
+
+ If a channel name is not provided then the variable is considered global.
+
+
+
+ [Getvar]
+
+
+
+
+ Gets a channel variable or function value.
+
+
+
+
+ Channel to read variable from.
+
+
+ Variable name, function or expression.
+
+
+
+ Get the value of a channel variable or function return.
+
+ If a channel name is not provided then the variable is considered global.
+
+
+
+ [Setvar]
+
+
+
+
+ Retrieve configuration.
+
+
+
+
+ Configuration filename (e.g. foo.conf).
+
+
+ Category in configuration file.
+
+
+ A comma separated list of
+ name_regex=value_regex
+ expressions which will cause only categories whose variables match all expressions
+ to be considered. The special variable name TEMPLATES
+ can be used to control whether templates are included. Passing
+ include as the value will include templates
+ along with normal categories. Passing
+ restrict as the value will restrict the operation to
+ ONLY templates. Not specifying a TEMPLATES expression
+ results in the default behavior which is to not include templates.
+
+
+
+ This action will dump the contents of a configuration
+ file by category and contents or optionally by specified category only.
+ In the case where a category name is non-unique, a filter may be specified
+ to match only categories with matching variable values.
+
+
+ [GetConfigJSON]
+ [UpdateConfig]
+ [CreateConfig]
+ [ListCategories]
+
+
+
+
+ Retrieve configuration (JSON format).
+
+
+
+
+ Configuration filename (e.g. foo.conf).
+
+
+ Category in configuration file.
+
+
+
+
+
+
+ This action will dump the contents of a configuration file by category
+ and contents in JSON format or optionally by specified category only.
+ This only makes sense to be used using rawman over the HTTP interface.
+ In the case where a category name is non-unique, a filter may be specified
+ to match only categories with matching variable values.
+
+
+ [GetConfig]
+ [UpdateConfig]
+ [CreateConfig]
+ [ListCategories]
+
+
+
+
+ Update basic configuration.
+
+
+
+
+ Configuration filename to read (e.g. foo.conf).
+
+
+ Configuration filename to write (e.g. foo.conf)
+
+
+ Whether or not a reload should take place (or name of specific module).
+
+
+ Whether the effective category contents should be preserved on template change. Default is true (pre 13.2 behavior).
+
+
+ Action to take.
+ 0's represent 6 digit number beginning with 000000.
+
+
+
+
+
+
+
+
+
+
+
+
+ Category to operate on.
+
+
+
+ Variable to work on.
+
+
+
+ Value to work on.
+
+
+
+ Extra match required to match line.
+
+
+
+ Line in category to operate on (used with delete and insert actions).
+
+
+
+ A comma separated list of action-specific options.
+
+ One or more of the following...
+
+ Allow duplicate category names.
+ This category is a template.
+ Templates from which to inherit.
+
+
+
+
+ The following actions share the same options...
+
+
+
+
+
+
+
+
+
+
+
+ catfilter is most useful when a file
+ contains multiple categories with the same name and you wish to
+ operate on specific ones instead of all of them.
+
+
+
+
+
+
+
+
+ This action will modify, create, or delete configuration elements
+ in Asterisk configuration files.
+
+
+ [GetConfig]
+ [GetConfigJSON]
+ [CreateConfig]
+ [ListCategories]
+
+
+
+
+ Creates an empty file in the configuration directory.
+
+
+
+
+ The configuration filename to create (e.g. foo.conf).
+
+
+
+ This action will create an empty file in the configuration
+ directory. This action is intended to be used before an UpdateConfig
+ action.
+
+
+ [GetConfig]
+ [GetConfigJSON]
+ [UpdateConfig]
+ [ListCategories]
+
+
+
+
+ List categories in configuration file.
+
+
+
+
+ Configuration filename (e.g. foo.conf).
+
+
+
+ This action will dump the categories in a given file.
+
+
+ [GetConfig]
+ [GetConfigJSON]
+ [UpdateConfig]
+ [CreateConfig]
+
+
+
+
+ Redirect (transfer) a call.
+
+
+
+
+ Channel to redirect.
+
+
+ Second call leg to transfer (optional).
+
+
+ Extension to transfer to.
+
+
+ Extension to transfer extrachannel to (optional).
+
+
+ Context to transfer to.
+
+
+ Context to transfer extrachannel to (optional).
+
+
+ Priority to transfer to.
+
+
+ Priority to transfer extrachannel to (optional).
+
+
+
+ Redirect (transfer) a call.
+
+
+ [BlindTransfer]
+
+
+
+
+ Attended transfer.
+
+
+
+
+ Transferer's channel.
+
+
+ Extension to transfer to.
+
+
+ Context to transfer to.
+
+
+
+ Attended transfer.
+
+
+ [AttendedTransfer]
+
+
+
+
+ 13.18.0
+ 14.7.0
+ 15.1.0
+ 16.0.0
+
+
+ Cancel an attended transfer.
+
+
+
+
+ The transferer channel.
+
+
+
+ Cancel an attended transfer. Note, this uses the configured cancel attended transfer
+ feature option (atxferabort) to cancel the transfer. If not available this action will fail.
+
+
+
+ [AttendedTransfer]
+
+
+
+
+ Originate a call.
+
+
+
+
+ Channel name to call.
+
+
+ Extension to use (requires Context and
+ Priority)
+
+
+ Context to use (requires Exten and
+ Priority)
+
+
+ Priority to use (requires Exten and
+ Context)
+
+
+ Application to execute.
+
+
+ Data to use (requires Application).
+
+
+ How long to wait for call to be answered (in ms.).
+
+
+ Caller ID to be set on the outgoing channel.
+
+
+ Channel variable to set, multiple Variable: headers are allowed.
+
+
+ Account code.
+
+
+ Set to true to force call bridge on early media..
+
+
+ Set to true for fast origination.
+
+
+ Comma-separated list of codecs to use for this call.
+
+
+ Channel UniqueId to be set on the channel.
+
+
+ Channel UniqueId to be set on the second local channel.
+
+
+ PreDialGoSub Context,Extension,Priority to set options/headers needed before start the outgoing extension
+
+
+
+ Generates an outgoing call to a
+ Extension/Context/Priority
+ or Application/Data
+
+
+ [OriginateResponse]
+
+
+
+
+ Raised in response to an Originate command.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [Originate]
+
+
+
+
+
+ Execute Asterisk CLI Command.
+
+
+
+
+ Asterisk CLI command to run.
+
+
+
+ Run a CLI command.
+
+
+
+
+ Check Extension Status.
+
+
+
+
+ Extension to check state on.
+
+
+ Context for extension.
+
+
+
+ Report the extension state for given extension. If the extension has a hint,
+ will use devicestate to check the status of the device connected to the extension.
+ Will return an Extension Status message. The response will include
+ the hint for the extension and the status.
+
+
+ [ExtensionStatus]
+
+
+
+
+ Check Presence State
+
+
+
+
+ Presence Provider to check the state of
+
+
+
+ Report the presence state for the given presence provider.
+ Will return a Presence State message. The response will include the
+ presence state and, if set, a presence subtype and custom message.
+
+
+ [PresenceStatus]
+
+
+
+
+ Set absolute timeout.
+
+
+
+
+ Channel name to hangup.
+
+
+ Maximum duration of the call (sec).
+
+
+
+ Hangup a channel after a certain time. Acknowledges set time with
+ Timeout Set message.
+
+
+
+
+ Check mailbox.
+
+
+
+
+ Full mailbox ID mailbox@vm-context.
+
+
+
+ Checks a voicemail account for status.
+ Returns whether there are messages waiting.
+ Message: Mailbox Status.
+ Mailbox: mailboxid.
+ Waiting: 0 if messages waiting, 1
+ if no messages waiting.
+
+
+ [MailboxCount]
+
+
+
+
+ Check Mailbox Message Count.
+
+
+
+
+ Full mailbox ID mailbox@vm-context.
+
+
+
+ Checks a voicemail account for new messages.
+ Returns number of urgent, new and old messages.
+ Message: Mailbox Message Count
+ Mailbox: mailboxid
+ UrgentMessages: count
+ NewMessages: count
+ OldMessages: count
+
+
+ [MailboxStatus]
+
+
+
+
+ List available manager commands.
+
+
+
+
+
+ Returns the action name and synopsis for every action that
+ is available to the user.
+
+
+
+
+ Sends a text message to channel. A content type can be optionally specified. If not set
+ it is set to an empty string allowing a custom handler to default it as it sees fit.
+
+
+
+
+ Channel to send message to.
+
+
+ Message to send.
+
+
+ The type of content in the message
+
+
+
+ Sends A Text Message to a channel while in a call.
+
+
+ [SendText]
+
+
+
+
+ Send an arbitrary event.
+
+
+
+
+ Event string to send.
+
+
+ Content1.
+
+
+ ContentN.
+
+
+
+ Send an event to manager sessions.
+
+
+ [UserEvent]
+ [UserEvent]
+
+
+
+
+ Wait for an event to occur.
+
+
+
+
+ Maximum time (in seconds) to wait for events, -1 means forever.
+
+
+
+ This action will elicit a Success response. Whenever
+ a manager event is queued. Once WaitEvent has been called on an HTTP manager
+ session, events will be generated and queued.
+
+
+
+
+ Show PBX core settings (version etc).
+
+
+
+
+
+ Query for Core PBX settings.
+
+
+
+
+ Show PBX core status variables.
+
+
+
+
+
+ Query for Core PBX status.
+
+
+
+
+ Send a reload event.
+
+
+
+
+ Name of the module to reload.
+
+
+
+ Send a reload event.
+
+
+ [ModuleLoad]
+
+
+
+
+ Raised in response to a CoreShowChannels command.
+
+
+
+
+ Identifier of the bridge the channel is in, may be empty if not in one
+
+
+ Application currently executing on the channel
+
+
+ Data given to the currently executing application
+
+
+ The amount of time the channel has existed
+
+
+
+ [CoreShowChannels]
+ [CoreShowChannelsComplete]
+
+
+
+
+
+ Raised at the end of the CoreShowChannel list produced by the CoreShowChannels command.
+
+
+
+ Conveys the status of the command reponse list
+
+
+ The total number of list items produced
+
+
+
+ [CoreShowChannels]
+ [CoreShowChannel]
+
+
+
+
+
+ List currently active channels.
+
+
+
+
+
+ List currently defined channels and some information about them.
+
+
+
+
+
+
+
+
+
+
+ Raised at the end of the CoreShowChannelMap list produced by the CoreShowChannelMap command.
+
+
+ Conveys the status of the command response list
+
+
+ The total number of list items produced
+
+
+
+
+
+
+ List all channels connected to the specified channel.
+
+
+
+ The channel to get the mapping for. Requires a channel name.
+
+
+
+ List all channels currently connected to the specified channel. This can be any channel, including
+ Local channels, and Local channels will be followed through to their other half.
+
+
+
+
+ Reload and rotate the Asterisk logger.
+
+
+
+
+
+ Reload and rotate the logger. Analogous to the CLI command 'logger rotate'.
+
+
+
+
+ Module management.
+
+
+
+
+ Asterisk module name (including .so extension) or subsystem identifier:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The operation to be done on module. Subsystem identifiers may only
+ be reloaded.
+
+
+
+
+
+ Completely unload and load again a specified module.
+
+
+ If no module is specified for a reload loadtype,
+ all modules are reloaded.
+
+
+ For refresh operations, attempt to recursively
+ unload any other modules that are dependent on this module, if that would
+ allow it to successfully unload, and load them again afterwards.
+
+
+
+ Loads, unloads or reloads an Asterisk module in a running system.
+
+
+ [Reload]
+ [ModuleCheck]
+
+
+
+
+ Check if module is loaded.
+
+
+
+
+ Asterisk module name (not including extension).
+
+
+
+ Checks if Asterisk module is loaded. Will return Success/Failure.
+ An empty Version header is also returned (which doesn't contain
+ the module revision number).
+
+
+ [ModuleLoad]
+
+
+
+
+ Generate an Advice of Charge message on a channel.
+
+
+
+
+ Channel name to generate the AOC message on.
+ This value is required unless ChannelPrefix is given.
+
+
+ Partial channel prefix. By using this option one can match the beginning part
+ of a channel name without having to put the entire name in. For example
+ if a channel name is SIP/snom-00000001 and this value is set to SIP/snom, then
+ that channel matches and the message will be sent. Note however that only
+ the first matched channel has the message sent on it.
+
+
+ Defines what type of AOC message to create, AOC-S, AOC-D or AOC-E
+
+
+
+
+
+
+
+ Defines what kind of charge this message represents for AOC-D and AOC-E.
+
+
+
+
+
+
+
+
+ This represents the amount of units charged. The ETSI AOC standard specifies that
+ this value along with the optional UnitType value are entries in a list. To accommodate this
+ these values take an index value starting at 0 which can be used to generate this list of
+ unit entries. For Example, If two unit entires were required this could be achieved by setting the
+ paramter UnitAmount(0)=1234 and UnitAmount(1)=5678. Note that UnitAmount at index 0 is
+ required when ChargeType=Unit, all other entries in the list are optional.
+
+
+
+ Defines the type of unit. ETSI AOC standard specifies this as an integer
+ value between 1 and 16, but this value is left open to accept any positive
+ integer. Like the UnitAmount parameter, this value represents a list entry
+ and has an index parameter that starts at 0.
+
+
+
+ Specifies the currency's name. Note that this value is truncated after 10 characters.
+
+
+ Specifies the charge unit amount as a positive integer.
+ This value is required when ChargeType==Currency (AOC-D or AOC-E) or
+ RateType==Duration/Flat/Volume (AOC-S).
+
+
+ Specifies the currency multiplier.
+ This value is required when CurrencyAmount is given.
+
+
+
+
+
+
+
+
+
+
+
+ Defines what kind of AOC-D total is represented.
+
+
+
+
+
+
+ Represents a billing ID associated with an AOC-D or AOC-E message. Note
+ that only the first 3 items of the enum are valid AOC-D billing IDs
+
+
+
+
+
+
+
+
+
+
+
+
+ Charging association identifier. This is optional for AOC-E and can be
+ set to any value between -32768 and 32767
+
+
+ Represents the charging association party number. This value is optional
+ for AOC-E.
+
+
+ Integer representing the charging plan associated with the ChargingAssociationNumber.
+ The value is bits 7 through 1 of the Q.931 octet containing the type-of-number and
+ numbering-plan-identification fields.
+
+
+ Defines what part of the call is charged in AOC-S. Usually this is set to
+ BasicCommunication, which refers to the time after the call is answered, but establishment
+ (CallAttempt) or successful establishment (CallSetup) of a call can also be used.
+ Other options are available, but these generally do not carry enough information to actually
+ calculate the price of a call.
+ It is possible to have multiple ChargedItem entries for a single call -- for example to
+ charge for both the establishment of the call and the actual call. In this case, each
+ ChargedItem is described by a ChargedItem: header and all other headers that follow it up to
+ the next ChargedItem: header.
+
+
+
+
+
+
+
+
+
+
+
+ Defines how an AOC-S ChargedItem is charged.
+ The Duration option is only available when ChargedItem==BasicCommunication.
+
+
+
+
+
+
+
+
+
+
+
+ Specifies a positive integer which is the amount of time is paid for by one
+ CurrencyAmount.
+ This value is required when RateType==Duration.
+
+
+ Specifies the time multiplier.
+ This value is required when Time is given.
+
+
+
+
+
+
+
+
+
+
+
+ Specifies a positive integer which is the size of the charged time increments.
+ This value is optional when RateType==Duration and ChargingType==StepFunction.
+
+
+ Specifies the granularity time multiplier.
+ This value is required when Granularity is given.
+
+
+
+
+
+
+
+
+
+
+
+ Specifies whether the charge increases continuously with time or in increments of
+ Time or, if provided, Granularity.
+ This value is required when RateType==Duration.
+
+
+
+
+
+
+ Specifies the quantity of which one unit is paid for by one CurrencyAmount.
+ This value is required when RateType==Volume.
+
+
+
+
+
+
+
+ Specifies the charging code, which can be set to a value between 1 and 10.
+ This value is required when ChargedItem==SpecialArrangement or RateType==SpecialCode.
+
+
+
+ Generates an AOC-S, AOC-D or AOC-E message on a channel.
+
+
+ [AOC-S]
+ [AOC-D]
+ [AOC-E]
+
+
+
+
+ Checks attributes of manager accounts
+
+
+
+ Login name, specified in manager.conf
+
+
+ The manager account attribute to return
+
+ The number of sessions for this AMI account
+
+
+
+
+
+ Currently, the only supported parameter is "sessions" which will return the current number of
+ active sessions for this AMI account.
+
+
+
+
+
+ Dynamically add filters for the current manager session.
+
+
+
+
+
+
+ Add a filter.
+
+
+
+
+ FilterType can be one of the following:
+
+
+ The Filter parameter contains a regular expression
+ which will be applied to the contents of the MatchAgainst
+ parameter.
+
+
+ The Filter parameter contains a string
+ which will be exactly matched to the contents of the MatchAgainst
+ parameter.
+
+
+ The Filter parameter contains a string
+ which will be searched for in the contents of the MatchAgainst
+ parameter.
+
+
+ The default is regex
+
+
+ MatchAgainst can be one of the following:
+
+
+ Match only against the event name.
+
+
+ Match only against the contents of this event header.
+
+
+ Match against the entire event payload.
+
+
+ The default is all
+
+
+ Filters can be whitelist or blacklist
+ Example whitelist filter: "Event: Newchannel"
+ Example blacklist filter: "!Channel: DAHDI.*"
+ This filter option is used to whitelist or blacklist events per user to be
+ reported with regular expressions and are allowed if both the regex matches
+ and the user has read access as defined in manager.conf. Filters are assumed to be for whitelisting
+ unless preceeded by an exclamation point, which marks it as being black.
+ Evaluation of the filters is as follows:
+ - If no filters are configured all events are reported as normal.
+ - If there are white filters only: implied black all filter processed first, then white filters.
+ - If there are black filters only: implied white all filter processed first, then black filters.
+ - If there are both white and black filters: implied black all filter processed first, then white
+ filters, and lastly black filters.
+
+
+
+ The filters added are only used for the current session.
+ Once the connection is closed the filters are removed.
+ This comand requires the system permission because
+ this command can be used to create filters that may bypass
+ filters defined in manager.conf
+
+
+
+
+ Blind transfer channel(s) to the given destination
+
+
+
+
+
+
+
+
+
+
+ Redirect all channels currently bridged to the specified channel to the specified destination.
+
+
+ [Redirect]
+ [BlindTransfer]
+
+
+
+
+ Raised when a hint changes due to a device state change.
+
+
+ Name of the extension.
+
+
+ Context that owns the extension.
+
+
+ Hint set for the extension
+
+
+ Numerical value of the extension status. Extension
+ status is determined by the combined device state of all items
+ contained in the hint.
+
+
+ The extension was removed from the dialplan.
+
+
+ The extension's hint was removed from the dialplan.
+
+
+ Idle - Related device(s) are in an idle
+ state.
+
+
+ InUse - Related device(s) are in active
+ calls but may take more calls.
+
+
+ Busy - Related device(s) are in active
+ calls and may not take any more calls.
+
+
+ Unavailable - Related device(s) are
+ not reachable.
+
+
+ Ringing - Related device(s) are
+ currently ringing.
+
+
+ InUse&Ringing - Related device(s)
+ are currently ringing and in active calls.
+
+
+ Hold - Related device(s) are
+ currently on hold.
+
+
+ InUse&Hold - Related device(s)
+ are currently on hold and in active calls.
+
+
+
+
+ Text representation of Status.
+
+
+
+
+
+
+
+
+
+
+ Status does not match any of the above values.
+
+
+
+
+
+ [ExtensionState]
+
+
+
+
+
+ Raised when a hint changes due to a presence state change.
+
+
+
+
+
+
+
+
+
+ [PresenceState]
+
+
+
+