Summary:ASTERISK-09929: [patch] more res_agi updates, upgrades and fixes
Reporter:Donny Kavanagh (donnyk)Labels:
Date Opened:2007-07-22 16:27:01Date Closed:2007-07-23 16:45:48
Versions:Frequency of
Environment:Attachments:( 0) res_agi_10270-v2.patch
Description:This patch does the following:

1) Makes res_agi and its memory space thread safe, implements linked list macros rather then a stuct array.
2) opens the door for other asterisk modules registering/unregistering agi commands (this was previously possible, but do to the way it was coded, a little dangerous, furthermore this is why linked list was chosen rather then making the existing array thread safe)
3) Deprecates DeadAGI, now you call AGI on a live or dead channel, and EAGI only on a live channel.  DeadAGI however still works and displays a warning as such.  As well, running DeadAGI on a live channel continues to operate just as before so there is no functionality change over 1.4 with the exception that when the channel hangs up, the call to AGI will become dead access to asterisk rather then cut off your access.  This change comes from corydon and can be found in bug ASTERISK-9909, its been incorporated into this patch. (thanks corydon)
4) numerous cli level bug fixes.
5) commands are now flagged with the ability to run on a dead channel or not.  attempting to run a command intended for a live channel only will result in a new agi error '511 Command Not Permitted on a dead channel'
6) agi show via the cli will display what can and cannot be run if the channel is dead.
7) one function had to be moved in the source, this made the patch quite hard to read, i apologize.
Comments:By: Donny Kavanagh (donnyk) 2007-07-22 16:31:09

Any comments, questions let me know.

By: Donny Kavanagh (donnyk) 2007-07-23 15:49:40

uploaded another patch without spaces.

By: Tilghman Lesher (tilghman) 2007-07-23 16:45:48

Added in revision 76707.