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