New actions should go under "New Actions", not "new events"
[asterisk/asterisk.git] / doc / manager_1_1.txt
1 Changes to manager version 1.1:
2 -------------------------------
3
4 - Action: IAXregistry
5         Modules: chan_iax2
6         Purpose:
7                 To list all IAX2 peers in the IAX registry with their registration status.
8         Variables:
9           ActionID: <id>                Action ID for this transaction. Will be returned.
10
11 * SYNTAX CLEANUPS
12 -----------------
13
14 - Response: headers are now either
15         "Success"       - Action OK, this message contains response
16         "Error"         - Action failed, reason in Message: header
17         "Follows"       - Action OK, response follows in following Events.
18
19 - Manager version changed to 1.1
20
21 * CHANGED EVENTS AND ACTIONS
22 ----------------------------
23 - The Hold/Unhold events
24         - Both are now "Hold" events
25                 For hold, there's a "Status: On" header, for unhold, status is off
26         - Modules chan_sip/chan_iax2
27
28 - The Ping Action
29         - Now use Response: success
30         - New header "Ping: pong" :-)
31
32 - The Events action
33         - Now use Response: Success
34         - The new status is reported as "Events: On" or "Events: Off"
35
36 - The JabberSend action
37         - The Response: header is now the first header in the response
38         - now sends "Response: Error" instead of "Failure"
39
40 - Newstate and Newchannel events
41         - these have changed headers
42         "State"         -> ChannelStateDesc     Text based channel state
43                         -> ChannelState         Numeric channel state
44         - The events does not send "<unknown>" for unknown caller IDs just an empty field
45
46 - Newchannel event
47         - Now includes "AccountCode"
48
49 - Newstate event
50         - Now has "CalleridNum" for numeric caller id, like Newchannel
51         - The event does not send "<unknown>" for unknown caller IDs just an empty field
52
53 - Newexten and VarSet events
54         - Now are part of the new Dialplan privilege class, instead of the Call class
55
56 - Dial event
57         - Event Dial has new headers, to comply with other events
58         - Source        -> Channel              Channel name (caller)
59         - SrcUniqueID   -> UniqueID             Uniqueid
60         (new)           -> Dialstring           Dialstring in app data
61
62 - Link and Unlink events
63         - The "Link" and "Unlink" bridge events in channel.c are now renamed to "Bridge"
64         - The link state is in the bridgestate: header as "Link" or "Unlink"
65         - For channel.c bridges, "Bridgetype: core" is added. This opens up for
66           bridge events in rtp.c 
67         - The RTP channel also reports Bridge: events with bridgetypes
68                 - rtp-native    RTP native bridge
69                 - rtp-direct    RTP peer-2-peer bridge (NAT support only)
70                 - rtp-remote    Remote (re-invite) bridge. (Not reported yet)
71
72 - The "Rename" manager event has a renamed header, to use the same
73         terminology for the current channel as other events
74         - Oldname       -> Channel              
75
76 - The "NewCallerID" manager event has a renamed header
77         - CallerID      -> CallerIDnum
78         - The event does not send "<unknown>" for unknown caller IDs just an empty field
79         
80 - Reload event
81         - The "Reload" event sent at manager reload now has a new header and is now implemented
82         in more modules than manager to alert a reload. For channels, there's a CHANNELRELOAD 
83         event to use.
84         (new)           -> Module: manager | CDR | DNSmgr | RTP | ENUM
85         (new)           -> Status: enabled | disabled
86         - To support reload events from other modules too
87                 - cdr module added
88
89 - Status action replies (Event: Status)
90         Header changes
91         - link          -> BridgedChannel
92         - Account       -> AccountCode
93         - (new)         -> BridgedUniqueid
94
95 - StatusComplete Event
96         New header
97         - (new)         -> Items                Number of channels reported
98         
99
100 - The ExtensionStatus manager command now has a "StatusDesc" field with text description of the state
101
102 - The Registry and Peerstatus events in chan_sip and chan_iax now use "ChannelType" instead of "ChannelDriver"
103
104 - The Response to Action: IAXpeers now have a Response: Success header
105
106 - The MeetmeJoin now has caller ID name and Caller ID number fields (like MeetMeLeave)
107
108 - Action DAHDIShowChannels
109         Header changes
110         - Channel:      -> DAHDIChannel
111         For active channels, the Channel: and Uniqueid: headers are added
112         You can now add a "DAHDIChannel: " argument to DAHDIshowchannels actions
113         to only get information about one channel.
114
115 - Event DAHDIShowChannelsComplete
116         New header
117         - (new)         -> Items:       Reports number of channels reported
118
119 - Action VoicemailUsersList
120         Added new headers for SayEnvelope, SayCID, AttachMessage, CanReview
121         and CallOperator voicemail configuration settings.
122
123 - Action Originate
124         Now requires the new Originate privilege.
125         If you call out to a subshell in Originate with the Application parameter,
126                 you now also need the System privilege.
127
128 - Event QueueEntry now also returns the Uniqueid field like other events from app_queue.
129
130 - Action IAXpeerlist
131         Now includes if the IAX link is a trunk or not
132
133 - Action IAXpeers
134         Now includes if the IAX link is a trunk or not
135
136 * NEW ACTIONS
137 -------------
138 - Action: ModuleLoad
139         Modules: loader.c
140         Purpose:
141                 To be able to unload, reload and unload modules from AMI.
142         Variables: 
143           ActionID: <id>          Action ID for this transaction. Will be returned.
144           Module: <name>          Asterisk module name (including .so extension)
145                                   or subsystem identifier:
146                                 cdr, enum, dnsmgr, extconfig, manager, rtp, http
147           LoadType: load | unload | reload
148                           The operation to be done on module
149         If no module is specified for a reload loadtype, all modules are reloaded
150
151 - Action: ModuleCheck
152         Modules: loader.c
153         Purpose:
154                 To check version of a module - if it's loaded
155         Variables:
156           ActionID: <id>          Action ID for this transaction. Will be returned.
157           Module: <name>          Asterisk module name (not including extension)
158         Returns:
159                 If module is loaded, returns version number of the module
160                 
161                 Note: This will have to change. I don't like sending Response: failure
162                 on both command not found (trying this command in earlier versions of
163                 Asterisk) and module not found.
164                 Also, check if other manager actions behave that way.
165
166 - Action: QueueSummary
167         Modules: app_queue
168         Purpose:
169                 To request that the manager send a QueueSummary event (see the NEW EVENTS
170             section for more details).
171         Variables:
172           ActionID: <id>                Action ID for this transaction. Will be returned.
173           Queue: <name>                 Queue for which the summary is desired
174
175 - Action: QueuePenalty
176         Modules: app_queue
177         Purpose:
178                 To change the penalty of a queue member from AMI
179         Variables:
180           Interface: <tech/name>        The interface of the member whose penalty you wish to change
181           Penalty:  <number>            The new penalty for the member. Must be nonnegative.
182           Queue:  <name>                        If specified, only set the penalty for the member for this queue;
183                                                                         Otherwise, set the penalty for the member in all queues to which
184                                                                         he belongs.
185
186 - Action: QueueRule
187         Modules: app_queue
188         Purpose:
189                 To list queue rules defined in queuerules.conf
190         Variables:
191           Rule: <name>                  The name of the rule whose contents you wish to list. If this variable
192                                                                 is not present, all rules in queuerules.conf will be listed.
193                 
194 - Action: Atxfer
195         Modules: none
196         Purpose:
197                 Initiate an attended transfer
198         Variables:
199                 Channel: The transferer channel's name
200                 Exten: The extension to transfer to
201                 Priority: The priority to transfer to
202                 Context: The context to transfer to
203
204 - Action: SipShowRegistry
205         Modules: chan_sip
206         Purpose:
207                 To request that the manager send a list of RegistryEntry events.
208         Variables:
209           ActionId: <id>                Action ID for this transaction. Will be returned.
210
211 - Action: QueueReload
212         Modules: app_queue
213         Purpose:
214                 To reload queue rules, a queue's members, a queue's parameters, or all of the aforementioned
215         Variable:
216                 Queuename: <name> The name of the queue to take action on. If no queue name is specified, then all queues are affected
217                 Rules: <yes or no> Whether to reload queue_rules.conf
218                 Members: <yes or no> Whether to reload the queue's members
219                 Parameters: <yes or no> Whether to reload the other queue options
220
221 - Action: QueueReset
222         Modules: app_queue
223         Purpose:
224                 Reset the statistics for a queue
225         Variables:
226                 Queuename: <name> The name of the queue on which to reset statistics
227
228 - Action: SKINNYdevices
229         Modules: chan_skinny
230         Purpose:
231                 To list all SKINNY devices configured.
232         Variables:
233                 ActionId: <id> Action ID for this transaction. Will be returned.
234
235 - Action: SKINNYlines
236         Modules: chan_skinny
237         Purpose:
238                 To list all SKINNY lines configured.
239         Variables:
240                 ActionId: <id> Action ID for this transaction. Will be returned.
241
242 - Action SKINNYshowdevice
243         Modules: chan_skinny
244         Purpose:
245                 To list the information about a specific SKINNY device.
246         Variables:
247                 Device: <device> Device to show information about.
248
249 - Action SKINNYshowline
250         Modules: chan_skinny
251         Purpose:
252                 To list the information about a specific SKINNY line.
253         Variables:
254                 Line: <line> Line to show information about.
255
256 - Action: CoreSettings
257         Modules: manager.c
258         Purpose: To report core settings, like AMI and Asterisk version,
259                 maxcalls and maxload settings.
260                 * Integrated in SVN trunk as of May 4th, 2007
261         Example:
262                 Response: Success
263                 ActionID: 1681692777
264                 AMIversion: 1.1
265                 AsteriskVersion: SVN-oej-moremanager-r61756M
266                 SystemName: EDVINA-node-a
267                 CoreMaxCalls: 120
268                 CoreMaxLoadAvg: 0.000000
269                 CoreRunUser: edvina
270                 CoreRunGroup: edvina
271
272 - Action: CoreStatus
273         Modules: manager.c
274         Purpose: To report current PBX core status flags, like
275                 number of concurrent calls, startup and reload time.
276                 * Integrated in SVN trunk as of May 4th, 2007
277         Example:
278                 Response: Success
279                 ActionID: 1649760492
280                 CoreStartupTime: 22:35:17
281                 CoreReloadTime: 22:35:17
282                 CoreCurrentCalls: 20
283
284                 
285 * NEW EVENTS
286 ------------
287
288 - Event: Transfer
289         Modules: res_features, chan_sip
290         Purpose:
291                 Inform about call transfer, linking transferer with transfer target
292                 You should be able to trace the call flow with this missing piece
293                 of information. If it works out well, the "Transfer" event should
294                 be followed by a "Bridge" event
295                 The transfermethod: header informs if this is a pbx core transfer
296                 or something done on channel driver level. For SIP, check the example:
297         Example:
298                 
299                 Event: Transfer
300                 Privilege: call,all
301                 TransferMethod: SIP
302                 TransferType: Blind
303                 Channel: SIP/device1-01849800
304                 SIP-Callid: 091386f505842c87016c4d93195ec67d@127.0.0.1
305                 TargetChannel: SIP/device2-01841200
306                 TransferExten: 100
307                 TransferContext: default
308
309 - Event: ChannelUpdate
310         Modules: chan_sip.c, chan_iax2.c
311         Purpose:
312                 Updates channel information with ID of PVT in channel driver, to
313                 be able to link events on channel driver level.
314                 * Integrated in SVN trunk as of May 4th, 2007
315
316         Example:
317
318                 Event: ChannelUpdate
319                 Privilege: system,all
320                 Uniqueid: 1177271625.27
321                 Channel: SIP/olle-01843c00
322                 Channeltype: SIP
323                 SIPcallid: NTQzYWFiOWM4NmE0MWRkZjExMzU2YzQ3OWQwNzg3ZmI.
324                 SIPfullcontact: sip:olle@127.0.0.1:49054
325
326 - Event: NewAccountCode
327         Modules: cdr.c
328         Purpose: To report a change in account code for a live channel
329         Example:
330                 Event: NewAccountCode
331                 Privilege: call,all
332                 Channel: SIP/olle-01844600
333                 Uniqueid: 1177530895.2
334                 AccountCode: Stinas account 1234848484
335                 OldAccountCode: OllesAccount 12345
336
337 - Event: ModuleLoadReport
338         Modules: loader.c
339         Purpose: To report that module loading is complete. Some aggressive
340                 clients connect very quickly to AMI and needs to know when
341                 all manager events embedded in modules are loaded
342                 Also, if this does not happen, something is seriously wrong.
343                 This could happen to chan_sip and other modules using DNS.
344         Example:
345                 Event: ModuleLoad
346                 ModuleLoadStatus: Done
347                 ModuleSelection: All
348                 ModuleCount: 24
349
350 - Event: QueueSummary
351         Modules: app_queue
352         Purpose: To report a summary of queue information. This event is generated by
353                 issuing a QueueSummary AMI action.
354         Example:
355                 Event: QueueSummary
356                 Queue: Sales
357                 LoggedIn: 12
358                 Available: 5
359                 Callers: 10
360                 HoldTime: 47
361         If an actionID was specified for the QueueSummary action, it will be appended as the
362         last line of the QueueSummary event.
363
364 - Event: AgentRingNoAnswer
365         Modules: app_queue
366         Purpose: Reports when a queue member was rung but there was no answer.
367         Example:
368                 Event: AgentRingNoAnswer
369                 Queue: Support
370                 Uniqueid: 1177530895.2
371                 Channel: SIP/1000-53aee458
372                 Member: SIP/1000
373                 MemberName: Thaddeus McClintock
374                 Ringtime: 10
375
376 - Event: RegistryEntry
377         Modules: chan_sip
378         Purpose: Reports the state of the SIP registrations. This event is generated by
379                 issuing a QueueSummary AMI action.
380                 The RegistrationTime header is expressed as epoch.
381         Example:
382                 Event: RegistryEntry
383                 Host: sip.myvoipprovider.com
384                 Port: 5060
385                 Username: guestuser
386                 Refresh: 105
387                 State: Registered
388                 RegistrationTime: 1219161830
389         If an actionID was specified for the SipShowRegistry action, it will be appended as the
390         last line of the RegistrationsComplete event.
391
392 - Event: ChanSpyStart
393         Modules: app_chanspy
394         Purpose: Reports when an active channel starts to be monitored by someone.
395         Example:
396                 Event: ChanSpyStart
397                 SpyerChannel: SIP/4321-13bba124
398                 SpyeeChannel: SIP/1234-56ecc098
399
400 - Event: ChanSpyStop
401         Modules: app_chanspy
402         Purpose: Reports when an active channel stops to be monitored by someone.
403         Example:
404                 Event: ChanSpyStop
405                 SpyeeChannel: SIP/1234-56ecc098
406
407 * TODO
408 ------
409