d07edcdc605215a51bb086e04664aef76d05b8f0
[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 - Action Ping
137         Response now includes a timestamp
138
139 * NEW ACTIONS
140 -------------
141 - Action: ModuleLoad
142         Modules: loader.c
143         Purpose:
144                 To be able to unload, reload and unload modules from AMI.
145         Variables: 
146           ActionID: <id>          Action ID for this transaction. Will be returned.
147           Module: <name>          Asterisk module name (including .so extension)
148                                   or subsystem identifier:
149                                 cdr, enum, dnsmgr, extconfig, manager, rtp, http
150           LoadType: load | unload | reload
151                           The operation to be done on module
152         If no module is specified for a reload loadtype, all modules are reloaded
153
154 - Action: ModuleCheck
155         Modules: loader.c
156         Purpose:
157                 To check version of a module - if it's loaded
158         Variables:
159           ActionID: <id>          Action ID for this transaction. Will be returned.
160           Module: <name>          Asterisk module name (not including extension)
161         Returns:
162                 If module is loaded, returns version number of the module
163                 
164                 Note: This will have to change. I don't like sending Response: failure
165                 on both command not found (trying this command in earlier versions of
166                 Asterisk) and module not found.
167                 Also, check if other manager actions behave that way.
168
169 - Action: QueueSummary
170         Modules: app_queue
171         Purpose:
172                 To request that the manager send a QueueSummary event (see the NEW EVENTS
173             section for more details).
174         Variables:
175           ActionID: <id>                Action ID for this transaction. Will be returned.
176           Queue: <name>                 Queue for which the summary is desired
177
178 - Action: QueuePenalty
179         Modules: app_queue
180         Purpose:
181                 To change the penalty of a queue member from AMI
182         Variables:
183           Interface: <tech/name>        The interface of the member whose penalty you wish to change
184           Penalty:  <number>            The new penalty for the member. Must be nonnegative.
185           Queue:  <name>                        If specified, only set the penalty for the member for this queue;
186                                                                         Otherwise, set the penalty for the member in all queues to which
187                                                                         he belongs.
188
189 - Action: QueueRule
190         Modules: app_queue
191         Purpose:
192                 To list queue rules defined in queuerules.conf
193         Variables:
194           Rule: <name>                  The name of the rule whose contents you wish to list. If this variable
195                                                                 is not present, all rules in queuerules.conf will be listed.
196                 
197 - Action: Atxfer
198         Modules: none
199         Purpose:
200                 Initiate an attended transfer
201         Variables:
202                 Channel: The transferer channel's name
203                 Exten: The extension to transfer to
204                 Priority: The priority to transfer to
205                 Context: The context to transfer to
206
207 - Action: SipShowRegistry
208         Modules: chan_sip
209         Purpose:
210                 To request that the manager send a list of RegistryEntry events.
211         Variables:
212           ActionId: <id>                Action ID for this transaction. Will be returned.
213
214 - Action: QueueReload
215         Modules: app_queue
216         Purpose:
217                 To reload queue rules, a queue's members, a queue's parameters, or all of the aforementioned
218         Variable:
219                 Queuename: <name> The name of the queue to take action on. If no queue name is specified, then all queues are affected
220                 Rules: <yes or no> Whether to reload queue_rules.conf
221                 Members: <yes or no> Whether to reload the queue's members
222                 Parameters: <yes or no> Whether to reload the other queue options
223
224 - Action: QueueReset
225         Modules: app_queue
226         Purpose:
227                 Reset the statistics for a queue
228         Variables:
229                 Queuename: <name> The name of the queue on which to reset statistics
230
231 - Action: SKINNYdevices
232         Modules: chan_skinny
233         Purpose:
234                 To list all SKINNY devices configured.
235         Variables:
236                 ActionId: <id> Action ID for this transaction. Will be returned.
237
238 - Action: SKINNYlines
239         Modules: chan_skinny
240         Purpose:
241                 To list all SKINNY lines configured.
242         Variables:
243                 ActionId: <id> Action ID for this transaction. Will be returned.
244
245 - Action SKINNYshowdevice
246         Modules: chan_skinny
247         Purpose:
248                 To list the information about a specific SKINNY device.
249         Variables:
250                 Device: <device> Device to show information about.
251
252 - Action SKINNYshowline
253         Modules: chan_skinny
254         Purpose:
255                 To list the information about a specific SKINNY line.
256         Variables:
257                 Line: <line> Line to show information about.
258
259 - Action: CoreSettings
260         Modules: manager.c
261         Purpose: To report core settings, like AMI and Asterisk version,
262                 maxcalls and maxload settings.
263                 * Integrated in SVN trunk as of May 4th, 2007
264         Example:
265                 Response: Success
266                 ActionID: 1681692777
267                 AMIversion: 1.1
268                 AsteriskVersion: SVN-oej-moremanager-r61756M
269                 SystemName: EDVINA-node-a
270                 CoreMaxCalls: 120
271                 CoreMaxLoadAvg: 0.000000
272                 CoreRunUser: edvina
273                 CoreRunGroup: edvina
274
275 - Action: CoreStatus
276         Modules: manager.c
277         Purpose: To report current PBX core status flags, like
278                 number of concurrent calls, startup and reload time.
279                 * Integrated in SVN trunk as of May 4th, 2007
280         Example:
281                 Response: Success
282                 ActionID: 1649760492
283                 CoreStartupTime: 22:35:17
284                 CoreReloadTime: 22:35:17
285                 CoreCurrentCalls: 20
286
287                 
288 * NEW EVENTS
289 ------------
290
291 - Event: Transfer
292         Modules: res_features, chan_sip
293         Purpose:
294                 Inform about call transfer, linking transferer with transfer target
295                 You should be able to trace the call flow with this missing piece
296                 of information. If it works out well, the "Transfer" event should
297                 be followed by a "Bridge" event
298                 The transfermethod: header informs if this is a pbx core transfer
299                 or something done on channel driver level. For SIP, check the example:
300         Example:
301                 
302                 Event: Transfer
303                 Privilege: call,all
304                 TransferMethod: SIP
305                 TransferType: Blind
306                 Channel: SIP/device1-01849800
307                 SIP-Callid: 091386f505842c87016c4d93195ec67d@127.0.0.1
308                 TargetChannel: SIP/device2-01841200
309                 TransferExten: 100
310                 TransferContext: default
311
312 - Event: ChannelUpdate
313         Modules: chan_sip.c, chan_iax2.c
314         Purpose:
315                 Updates channel information with ID of PVT in channel driver, to
316                 be able to link events on channel driver level.
317                 * Integrated in SVN trunk as of May 4th, 2007
318
319         Example:
320
321                 Event: ChannelUpdate
322                 Privilege: system,all
323                 Uniqueid: 1177271625.27
324                 Channel: SIP/olle-01843c00
325                 Channeltype: SIP
326                 SIPcallid: NTQzYWFiOWM4NmE0MWRkZjExMzU2YzQ3OWQwNzg3ZmI.
327                 SIPfullcontact: sip:olle@127.0.0.1:49054
328
329 - Event: NewAccountCode
330         Modules: cdr.c
331         Purpose: To report a change in account code for a live channel
332         Example:
333                 Event: NewAccountCode
334                 Privilege: call,all
335                 Channel: SIP/olle-01844600
336                 Uniqueid: 1177530895.2
337                 AccountCode: Stinas account 1234848484
338                 OldAccountCode: OllesAccount 12345
339
340 - Event: ModuleLoadReport
341         Modules: loader.c
342         Purpose: To report that module loading is complete. Some aggressive
343                 clients connect very quickly to AMI and needs to know when
344                 all manager events embedded in modules are loaded
345                 Also, if this does not happen, something is seriously wrong.
346                 This could happen to chan_sip and other modules using DNS.
347         Example:
348                 Event: ModuleLoad
349                 ModuleLoadStatus: Done
350                 ModuleSelection: All
351                 ModuleCount: 24
352
353 - Event: QueueSummary
354         Modules: app_queue
355         Purpose: To report a summary of queue information. This event is generated by
356                 issuing a QueueSummary AMI action.
357         Example:
358                 Event: QueueSummary
359                 Queue: Sales
360                 LoggedIn: 12
361                 Available: 5
362                 Callers: 10
363                 HoldTime: 47
364         If an actionID was specified for the QueueSummary action, it will be appended as the
365         last line of the QueueSummary event.
366
367 - Event: AgentRingNoAnswer
368         Modules: app_queue
369         Purpose: Reports when a queue member was rung but there was no answer.
370         Example:
371                 Event: AgentRingNoAnswer
372                 Queue: Support
373                 Uniqueid: 1177530895.2
374                 Channel: SIP/1000-53aee458
375                 Member: SIP/1000
376                 MemberName: Thaddeus McClintock
377                 Ringtime: 10
378
379 - Event: RegistryEntry
380         Modules: chan_sip
381         Purpose: Reports the state of the SIP registrations. This event is generated by
382                 issuing a QueueSummary AMI action.
383                 The RegistrationTime header is expressed as epoch.
384         Example:
385                 Event: RegistryEntry
386                 Host: sip.myvoipprovider.com
387                 Port: 5060
388                 Username: guestuser
389                 Refresh: 105
390                 State: Registered
391                 RegistrationTime: 1219161830
392         If an actionID was specified for the SipShowRegistry action, it will be appended as the
393         last line of the RegistrationsComplete event.
394
395 - Event: ChanSpyStart
396         Modules: app_chanspy
397         Purpose: Reports when an active channel starts to be monitored by someone.
398         Example:
399                 Event: ChanSpyStart
400                 SpyerChannel: SIP/4321-13bba124
401                 SpyeeChannel: SIP/1234-56ecc098
402
403 - Event: ChanSpyStop
404         Modules: app_chanspy
405         Purpose: Reports when an active channel stops to be monitored by someone.
406         Example:
407                 Event: ChanSpyStop
408                 SpyeeChannel: SIP/1234-56ecc098
409
410 * TODO
411 ------
412