[asterisk-dev] Manager changing to version 1.1

Olle E Johansson olle at voop.com
Fri May 4 08:40:04 MST 2007


Friends,

I wrote a while ago about a new branch, called "moremanager" which  
includes a lot of changes to the current
manager interface to make it more consistent and easier to handle in  
a client.

I got no protests, so my conclusion is that you all are OK with  
changing the manager version to 1.1
and implementing these changes to existing commands in svn trunk  
only. Current 1.2 and 1.4 releases
will not change.

I'm attaching my proposal for a final review.

Have a lovely weekend!

/Olle

---
Olle E. Johansson * Asterisk Evangelist, developer * VOOP A/S
olle at voop.com


------------------------------------------------------------------------ 
-------------------------------------------------

* SYNTAX CLEANUPS
-----------------

- Response: headers are now either
	"Success"	- Action OK, this message contains response
	"Error"		- Action failed, reason in Message: header
	"Follows"	- Action OK, response follows in following Events.

- Manager version changed to 1.1

- Trying to use a "Channel" and "Uniqueid" header pair for each event  
that refers to the
    current channel. These replace various synonyms like  
"OrigChannel, Channel1, SrcChannel" etc etc

* CHANGED EVENTS AND ACTIONS
----------------------------
- The Ping Action
	- Now use Response: success
	- New header "Ping: pong" :-)

- The Events action
	- Now use Response: Success
	- The new status is reported as "Events: On" or "Events: Off"

- The JabberSend action
	- The Response: header is now the first header in the response
	- now sends "Response: Error" instead of "Failure"

- Newstate and Newchannel events
	- these have changed headers
	"State"		-> ChannelStateDesc	Text based channel state
			-> ChannelState		Numeric channel state
	- The events does not send "<unknown>" for unknown caller IDs just  
an empty field

- Newchannel event
	- Now includes "AccountCode"

- Newstate event
	- Now has "CalleridNum" for numeric caller id, like Newchannel
	- The event does not send "<unknown>" for unknown caller IDs just an  
empty field

- Dial event
	- Event Dial has new headers, to comply with other events
	- Source	-> Channel		Channel name (caller)
	- SrcUniqueID	-> UniqueID		Uniqueid
	(new)		-> Dialstring		Dialstring in app data

- Link and Unlink events
	- The "Link" and "Unlink" bridge events in channel.c are now renamed  
to "Bridge"
	- The link state is in the bridgestate: header as "Link" or "Unlink"
	- For channel.c bridges, "Bridgetype: core" is added. This opens up for
	  bridge events in rtp.c
	- The RTP channel also reports Bridge: events with bridgetypes
		- rtp-native	RTP native bridge
		- rtp-direct	RTP peer-2-peer bridge (NAT support only)
		- rtp-remote	Remote (re-invite) bridge. (Not reported yet)

- The "Rename" manager event has a renamed header, to use the same
	terminology for the current channel as other events
	- Oldname	-> Channel		

- The "NewCallerID" manager event has a renamed header
	- CallerID	-> CallerIDnum
	- The event does not send "<unknown>" for unknown caller IDs just an  
empty field
	
- Reload event
	- The "Reload" event sent at manager reload now has a new header and  
is now implemented
   	in more modules than manager to alert a reload. For channels,  
there's a CHANNELRELOAD
   	event to use.
	(new)		-> Module: manager | CDR | DNSmgr | RTP | ENUM
	(new)		-> Status: enabled | disabled
	- To support reload events from other modules too
		- cdr module added

- Status action replies (Event: Status)
	Header changes
	- link		-> BridgedChannel
	- Account	-> AccountCode
	- (new)		-> BridgedUniqueid

- StatusComplete Event
	New header
	- (new)		-> Items		Number of channels reported
	

- The ExtensionStatus manager command now has a "StatusDesc" field  
with text description of the state

- The Registry and Peerstatus events in chan_sip and chan_iax now use  
"ChannelType" instead of "ChannelDriver"

- The Response to Action: IAXpeers now have a Response: Success header

- The MeetmeJoin now has caller ID name and Caller ID number fields  
(like MeetMeLeave)

- Action ZapShowChannels
	Header changes
	- Channel:	-> ZapChannel
	For active channels, the Channel: and Uniqueid: headers are added
	You can now add a "ZapChannel: " argument to zapshowchannels actions
	to only get information about one channel.

- Event ZapShowChannelsComplete
	New header
	- (new)		-> Items: 	Reports number of channels reported

* NEW EVENTS
------------

- Event: Transfer
	Modules: res_features, chan_sip
	Purpose:
		Inform about call transfer, linking transferer with transfer target
		You should be able to trace the call flow with this missing piece
		of information. If it works out well, the "Transfer" event should
		be followed by a "Bridge" event
		The transfermethod: header informs if this is a pbx core transfer
		or something done on channel driver level. For SIP, check the example:
	Example:
		
		Event: Transfer
		Privilege: call,all
		TransferMethod: SIP
		TransferType: Blind
		Channel: SIP/device1-01849800
		SIP-Callid: 091386f505842c87016c4d93195ec67d at 127.0.0.1
		TargetChannel: SIP/device2-01841200
		TransferExten: 100
		TransferContext: default

- Event: ChannelUpdate
	Modules: chan_sip.c, chan_iax2.c
	Purpose:
		Updates channel information with ID of PVT in channel driver, to
		be able to link events on channel driver level.
		* Integrated in SVN trunk as of May 4th, 2007

	Example:

		Event: ChannelUpdate
		Privilege: system,all
		Uniqueid: 1177271625.27
		Channel: SIP/olle-01843c00
		Channeltype: SIP
		SIPcallid: NTQzYWFiOWM4NmE0MWRkZjExMzU2YzQ3OWQwNzg3ZmI.
		SIPfullcontact: sip:olle at 127.0.0.1:49054

- Action: CoreSettings
	Modules: manager.c
	Purpose: To report core settings, like AMI and Asterisk version,
		maxcalls and maxload settings.
		* Integrated in SVN trunk as of May 4th, 2007
	Example:
		Response: Success
		ActionID: 1681692777
		AMIversion: 1.1
		AsteriskVersion: SVN-oej-moremanager-r61756M
		SystemName: EDVINA-node-a
		CoreMaxCalls: 120
		CoreMaxLoadAvg: 0.000000
		CoreRunUser: edvina
		CoreRunGroup: edvina

- Action: CoreStatus
	Modules: manager.c
	Purpose: To report current PBX core status flags, like
		number of concurrent calls, startup and reload time.
		* Integrated in SVN trunk as of May 4th, 2007
	Example:
		Response: Success
		ActionID: 1649760492
		CoreStartupTime: 22:35:17
		CoreReloadTime: 22:35:17
		CoreCurrentCalls: 20

- Event: NewAccountCode
	Modules: cdr.c
	Purpose: To report a change in account code for a live channel
	Example:
		Event: NewAccountCode
		Privilege: call,all
		Channel: SIP/olle-01844600
		Uniqueid: 1177530895.2
		AccountCode: Stinas account 1234848484
		OldAccountCode: OllesAccount 12345

* TODO
------
- Someone needs to fix "iaxpeers"




More information about the asterisk-dev mailing list