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