- add get_max_rate timing API call
[asterisk-bristuff.git] / doc / manager_1_1.txt
blob6feede7731578042ca480712350d1d02b692bd51
1 Changes to manager version 1.1:
2 -------------------------------
5 * SYNTAX CLEANUPS
6 -----------------
8 - Response: headers are now either
9         "Success"       - Action OK, this message contains response
10         "Error"         - Action failed, reason in Message: header
11         "Follows"       - Action OK, response follows in following Events.
13 - Manager version changed to 1.1
15 * CHANGED EVENTS AND ACTIONS
16 ----------------------------
17 - The Hold/Unhold events
18         - Both are now "Hold" events
19                 For hold, there's a "Status: On" header, for unhold, status is off
20         - Modules chan_sip/chan_iax2
22 - The Ping Action
23         - Now use Response: success
24         - New header "Ping: pong" :-)
26 - The Events action
27         - Now use Response: Success
28         - The new status is reported as "Events: On" or "Events: Off"
30 - The JabberSend action
31         - The Response: header is now the first header in the response
32         - now sends "Response: Error" instead of "Failure"
34 - Newstate and Newchannel events
35         - these have changed headers
36         "State"         -> ChannelStateDesc     Text based channel state
37                         -> ChannelState         Numeric channel state
38         - The events does not send "<unknown>" for unknown caller IDs just an empty field
40 - Newchannel event
41         - Now includes "AccountCode"
43 - Newstate event
44         - Now has "CalleridNum" for numeric caller id, like Newchannel
45         - The event does not send "<unknown>" for unknown caller IDs just an empty field
47 - Newexten and VarSet events
48         - Now are part of the new Dialplan privilege class, instead of the Call class
50 - Dial event
51         - Event Dial has new headers, to comply with other events
52         - Source        -> Channel              Channel name (caller)
53         - SrcUniqueID   -> UniqueID             Uniqueid
54         (new)           -> Dialstring           Dialstring in app data
56 - Link and Unlink events
57         - The "Link" and "Unlink" bridge events in channel.c are now renamed to "Bridge"
58         - The link state is in the bridgestate: header as "Link" or "Unlink"
59         - For channel.c bridges, "Bridgetype: core" is added. This opens up for
60           bridge events in rtp.c 
61         - The RTP channel also reports Bridge: events with bridgetypes
62                 - rtp-native    RTP native bridge
63                 - rtp-direct    RTP peer-2-peer bridge (NAT support only)
64                 - rtp-remote    Remote (re-invite) bridge. (Not reported yet)
66 - The "Rename" manager event has a renamed header, to use the same
67         terminology for the current channel as other events
68         - Oldname       -> Channel              
70 - The "NewCallerID" manager event has a renamed header
71         - CallerID      -> CallerIDnum
72         - The event does not send "<unknown>" for unknown caller IDs just an empty field
73         
74 - Reload event
75         - The "Reload" event sent at manager reload now has a new header and is now implemented
76         in more modules than manager to alert a reload. For channels, there's a CHANNELRELOAD 
77         event to use.
78         (new)           -> Module: manager | CDR | DNSmgr | RTP | ENUM
79         (new)           -> Status: enabled | disabled
80         - To support reload events from other modules too
81                 - cdr module added
83 - Status action replies (Event: Status)
84         Header changes
85         - link          -> BridgedChannel
86         - Account       -> AccountCode
87         - (new)         -> BridgedUniqueid
89 - StatusComplete Event
90         New header
91         - (new)         -> Items                Number of channels reported
92         
94 - The ExtensionStatus manager command now has a "StatusDesc" field with text description of the state
96 - The Registry and Peerstatus events in chan_sip and chan_iax now use "ChannelType" instead of "ChannelDriver"
98 - The Response to Action: IAXpeers now have a Response: Success header
100 - The MeetmeJoin now has caller ID name and Caller ID number fields (like MeetMeLeave)
102 - Action DAHDIShowChannels
103         Header changes
104         - Channel:      -> DAHDIChannel
105         For active channels, the Channel: and Uniqueid: headers are added
106         You can now add a "DAHDIChannel: " argument to DAHDIshowchannels actions
107         to only get information about one channel.
109 - Event DAHDIShowChannelsComplete
110         New header
111         - (new)         -> Items:       Reports number of channels reported
113 - Action VoicemailUsersList
114         Added new headers for SayEnvelope, SayCID, AttachMessage, CanReview
115         and CallOperator voicemail configuration settings.
117 - Action Originate
118         Now requires the new Originate privilege.
119         If you call out to a subshell in Originate with the Application parameter,
120                 you now also need the System privilege.
122 * NEW ACTIONS
123 -------------
124 - Action: ModuleLoad
125         Modules: loader.c
126         Purpose:
127                 To be able to unload, reload and unload modules from AMI.
128         Variables: 
129           ActionID: <id>          Action ID for this transaction. Will be returned.
130           Module: <name>          Asterisk module name (including .so extension)
131                                   or subsystem identifier:
132                                 cdr, enum, dnsmgr, extconfig, manager, rtp, http
133           LoadType: load | unload | reload
134                           The operation to be done on module
135         If no module is specified for a reload loadtype, all modules are reloaded
137 - Action: ModuleCheck
138         Modules: loader.c
139         Purpose:
140                 To check version of a module - if it's loaded
141         Variables:
142           ActionID: <id>          Action ID for this transaction. Will be returned.
143           Module: <name>          Asterisk module name (not including extension)
144         Returns:
145                 If module is loaded, returns version number of the module
146                 
147                 Note: This will have to change. I don't like sending Response: failure
148                 on both command not found (trying this command in earlier versions of
149                 Asterisk) and module not found.
150                 Also, check if other manager actions behave that way.
152 - Action: QueueSummary
153         Modules: app_queue
154         Purpose:
155                 To request that the manager send a QueueSummary event (see the NEW EVENTS
156             section for more details).
157         Variables:
158           ActionID: <id>                Action ID for this transaction. Will be returned.
159           Queue: <name>                 Queue for which the summary is desired
161 - Action: QueuePenalty
162         Modules: app_queue
163         Purpose:
164                 To change the penalty of a queue member from AMI
165         Variables:
166           Interface: <tech/name>        The interface of the member whose penalty you wish to change
167           Penalty:  <number>            The new penalty for the member. Must be nonnegative.
168           Queue:  <name>                        If specified, only set the penalty for the member for this queue;
169                                                                         Otherwise, set the penalty for the member in all queues to which
170                                                                         he belongs.
172 - Action: QueueRule
173         Modules: app_queue
174         Purpose:
175                 To list queue rules defined in queuerules.conf
176         Variables:
177           Rule: <name>                  The name of the rule whose contents you wish to list. If this variable
178                                                                 is not present, all rules in queuerules.conf will be listed.
179                 
180 - Action: Atxfer
181         Modules: none
182         Purpose:
183                 Initiate an attended transfer
184         Variables:
185                 Channel: The transferer channel's name
186                 Exten: The extension to transfer to
187                 Priority: The priority to transfer to
188                 Context: The context to transfer to
191 * NEW EVENTS
192 ------------
194 - Event: Transfer
195         Modules: res_features, chan_sip
196         Purpose:
197                 Inform about call transfer, linking transferer with transfer target
198                 You should be able to trace the call flow with this missing piece
199                 of information. If it works out well, the "Transfer" event should
200                 be followed by a "Bridge" event
201                 The transfermethod: header informs if this is a pbx core transfer
202                 or something done on channel driver level. For SIP, check the example:
203         Example:
204                 
205                 Event: Transfer
206                 Privilege: call,all
207                 TransferMethod: SIP
208                 TransferType: Blind
209                 Channel: SIP/device1-01849800
210                 SIP-Callid: 091386f505842c87016c4d93195ec67d@127.0.0.1
211                 TargetChannel: SIP/device2-01841200
212                 TransferExten: 100
213                 TransferContext: default
215 - Event: ChannelUpdate
216         Modules: chan_sip.c, chan_iax2.c
217         Purpose:
218                 Updates channel information with ID of PVT in channel driver, to
219                 be able to link events on channel driver level.
220                 * Integrated in SVN trunk as of May 4th, 2007
222         Example:
224                 Event: ChannelUpdate
225                 Privilege: system,all
226                 Uniqueid: 1177271625.27
227                 Channel: SIP/olle-01843c00
228                 Channeltype: SIP
229                 SIPcallid: NTQzYWFiOWM4NmE0MWRkZjExMzU2YzQ3OWQwNzg3ZmI.
230                 SIPfullcontact: sip:olle@127.0.0.1:49054
232 - Action: CoreSettings
233         Modules: manager.c
234         Purpose: To report core settings, like AMI and Asterisk version,
235                 maxcalls and maxload settings.
236                 * Integrated in SVN trunk as of May 4th, 2007
237         Example:
238                 Response: Success
239                 ActionID: 1681692777
240                 AMIversion: 1.1
241                 AsteriskVersion: SVN-oej-moremanager-r61756M
242                 SystemName: EDVINA-node-a
243                 CoreMaxCalls: 120
244                 CoreMaxLoadAvg: 0.000000
245                 CoreRunUser: edvina
246                 CoreRunGroup: edvina
248 - Action: CoreStatus
249         Modules: manager.c
250         Purpose: To report current PBX core status flags, like
251                 number of concurrent calls, startup and reload time.
252                 * Integrated in SVN trunk as of May 4th, 2007
253         Example:
254                 Response: Success
255                 ActionID: 1649760492
256                 CoreStartupTime: 22:35:17
257                 CoreReloadTime: 22:35:17
258                 CoreCurrentCalls: 20
260 - Event: NewAccountCode
261         Modules: cdr.c
262         Purpose: To report a change in account code for a live channel
263         Example:
264                 Event: NewAccountCode
265                 Privilege: call,all
266                 Channel: SIP/olle-01844600
267                 Uniqueid: 1177530895.2
268                 AccountCode: Stinas account 1234848484
269                 OldAccountCode: OllesAccount 12345
271 - Event: ModuleLoadReport
272         Modules: loader.c
273         Purpose: To report that module loading is complete. Some aggressive
274                 clients connect very quickly to AMI and needs to know when
275                 all manager events embedded in modules are loaded
276                 Also, if this does not happen, something is seriously wrong.
277                 This could happen to chan_sip and other modules using DNS.
278         Example:
279                 Event: ModuleLoad
280                 ModuleLoadStatus: Done
281                 ModuleSelection: All
282                 ModuleCount: 24
284 - Event: QueueSummary
285         Modules: app_queue
286         Purpose: To report a summary of queue information. This event is generated by
287                 issuing a QueueSummary AMI action.
288         Example:
289                 Event: QueueSummary
290                 Queue: Sales
291                 LoggedIn: 12
292                 Available: 5
293                 Callers: 10
294                 HoldTime: 47
295         If an actionID was specified for the QueueSummary action, it will be appended as the
296         last line of the QueueSummary event.
298 - Event: AgentRingNoAnswer
299         Modules: app_queue
300         Purpose: Reports when a queue member was rung but there was no answer.
301         Example:
302                 Event: AgentRingNoAnswer
303                 Queue: Support
304                 Uniqueid: 1177530895.2
305                 Channel: SIP/1000-53aee458
306                 Member: SIP/1000
307                 MemberName: Thaddeus McClintock
308                 Ringtime: 10
310 * TODO
311 ------