05.01.2015 (Skrusty) Added a sandcastle documentation project to AsterNET. Initial draft includes CHM and HTML output based on AsterNET 1.0.0. 03.01.2015 (Skrusty) Code tidy, comments cleaned up,moved to auto properties, using's cleaned up 28.10.2014 (skrusty) added support for Asterisk 13 in version parser in ManagerConnection.cs and AsteriskVersion.cs 12.06.2014 (mrmad) Removed TraceCallerThread functionality. Changed ManagerReader worker thread creation logic (no longer uses Util.ThreadClass). Thread defaulted to stop automatically when application. ends. 07.04.2014 (skrusty) Fixed conf events not firing Fixed missing default constructor from AbstractConfbridgeEvent Fixed Issue with UpdateConfig, patched submitted by Shahrooze. Added FailedACL event Added Actions: AOCMessage, CoreSetting, CoreShowChannels, CoreStatus, CreateConfig Added new properties to AbstractChannel, Connectedlinenum and ConnectedLineName (only applies to 1.8 onwards) 05.03.2014 (skrusty) Added new constructor (see: https://asternet.codeplex.com/workitem/1163) proposed by nuronce 27.02.2014 (skrusty) Added Contribution by metzlers, ParkAction for AMI, see https://asternet.codeplex.com/workitem/1288 09.01.2014 (skrusty) Fixed issues with ConfBridge events causing AMI to fail. 08.01.2014 (skrusty) Migrated to Visual Studio 2013 Migrated from TFS to Git on Codeplex Changed You can now set the way events are dispatched by the AMI connection handler. Events are now dispatched synchronously by default and not Async. This can be changed by setting the property UseASyncEvents to true. This addresses issues raised in issue: 1238 Changed This is a big one, to bring the project in to line with release 1.0.0 I have changed the namespace for AsterNET, which was still Asterisk.NET to AsterNET. This means you will need to update your code to reflect this change. Changed Again, to bring us in line with release 1.0.0, the .NET version targeted has been set to 4.0. It was set to 4.5 (and currently the release still) but this simply isn't required. Added missing QueueActions (QueueLog, QueuePenalty, QueueReload, QueueRule) in-line with Asterisk up to version 1.8 Added missing Actions: AtxferAction, BridgeAction 03.01.2014 (skrusty) Added patch submitted by Saritha Bhandarkar Adds AGIAction to Asterisk Manager Adds AGIAction Event Changes PRIORTY (int to string) - BREAKING CHANGE!! If you use Priority for Originate, then this will have broken between last release and now. Added Support for v10+ ConfBridge events (not yet fully tested) Added Support for v10+ COnfBridge actions (not yet fully tested) Changed GeneralMappingStrategy requires a full path to an assembly that requires loading Added GeneralMappingStrategy can now take an assembly in the mapping strategy, forcing AsterNET not to reload the assembly during load 21.08.2013 (skrusty) Added VarSetEventHandler (added as contribution by bacobart) Added IMappingStrategy to allow different mapping strategies to be created (added as contribution by bacobart) (*note to get documentation added for this) Added SC_DEAD_CHANNEL result code handling (added as contribution by nuronce, as per work item 1163) Added SC511_CAUSES_EXCEPTION and SCHANGUP_CAUSES_EXCEPTION flags to enable new behaviour (as per item 1163) Added new GeneralMappingStrategy class to handle simpler script mappings Added Obsolete attribute to MappingStrategy and created a new ResourceMappingStrategy to replace it Fixed Version Parsing for versions later than Asterisk 10 (added as contribution by bacobart) Changed Test project to use new GeneralMappingStrategy for simpler code and readability, left the existing resource file in for backwards compatibility 28.05.2013 (skrusty) Fix Fixed issue with SendEventGeneratingAction, see work item: 1000 (https://asternet.codeplex.com/workitem/1000) 03.04.2013 (skrusty) Added direct support for Asterisk 1.8 in version Enum Added documentation for events and actions in Asterisk 1.6.2.24 (last version in 1.6.2 branch) Added DBDel Action Added DBDelTree Action 15.03.2013 (skrusty) Fixed Ping/Pong disconnection bug Added mappings for events: BridgeEventHandler, DTMFEventHandler, TransferEventHandler, QueueCallerAbandonEventHandler 18.01.2013 (ppumkin) Re-homed project to CodePlex with TFS Support Upgraded Project to .NET 4.5 Allow connection to Asterisk 1.8.x - Still uses the 1.6.x logic, so any 1.8 changes are not yet implemented. <- TODO Readded the Test Project, upgraded to .NET 4.5 and post build fix. Removed "@"%ProgramFiles%\Microsoft Visual Studio 8\SDK\v2.0\Bin\ResGen.exe" "$(ProjectDir)fastagi-mapping.resx" fastagi-mapping.resources" for now until I know what it does 09.06.2009 Fix QueueAdd action Fix Ping actionid with 1.6.0.10 version Fix Bridge event attributes 02.18.2009 Fix event with unregistered or empry action id Add reconnect properties 10.15.2008 Change MappingStrategy.cs line 80 from ResourceReader rr = new ResourceReader(resourceName); to ResourceReader rr = new ResourceReader(AppDomain.CurrentDomain.BaseDirectory + resourceName); Change AsteriskFastAGI default socket encoding from Encoding.UTF8 to Encoding.ASCII 09.18.2008 Change read socket to async model (BeginRead/EndRead) Add Ping/Pong heartbeat to check connection (ManagerConnection.PingInterval in milliseconds). Remove AsteriskManager class (use ManagerConnection). Change Events event handler to UnhandleEvent and change event logic: ManagerConnection.FireAllEvents property = false ManagerConnection event only individual events by event handlers and event all other (unknown) events to UnhandleEvent ManagerConnection.FireAllEvents property = true ManagerConnection event individual events by event handlers and if individual handler not set then fire event to UnhandleEvent Combine Connect/Disconnect/Reload/Shutdown events to one ConnectionState event handler. Change reconnection login: ManagerConnection.KeepAlive property to control auto reconnection on Disconnect/Reload/Shutdown (default true) add Reconnect property to Connect/Disconnect/Reload/Shutdown events and if this property = true - it's means that reconnection process started (Disconnect/Reload/Shutdown) or done (Connect) by default thi means that two events fire on reconnect. For example: 1. Reload (.Reconnect = true) 2. if success Connect (.Reconnect = true) 3. or fail Disconnect (.Reconnect = false) Fix error with Close Windows.Forms without Logoff() - to disable this feauture set TraceCallerThread property to false Add GetConfig/UpdateConfig actions. Change Logger logic. Add Visible() methods to define logger rules by level and class:method. Add custom response to Action (only event in previous) (see GetConfig for example) 08.26.2008 Remove exception if internalActionId is not define in event Add Attributes property to ManagerEvent to accept all non defined keys (resolve no setter exception). Add Attributes property to ManagerResponse to accept all non defined keys (resolve no setter exception). 08.18.2008 Fix Originate error (check for 1.4.21 and 1.6-b9) 08.16.2008 Add AstManProxy support Add NO_TIMEOUT symbol to disable timeout Fix numeric conversion error (asterisk 1.6-beta-9 chan_iax2.c line 7501) 08.09.2008 Add VideoSupport, TextSupport, RealtimeDevice to PeerEntryEvent Change all .ToLower() to .ToLower(...culture("en")...) Separate MeetmeJoinEvent and MeetmeLeaveEvent (both from MeetmeEvent). Rename all MeetMe... to Meetme... Remove Event tail from event name (ex. JabberEvent) 06.20.2008 Change reconnect thread model. 06.19.2008 Fix JoinEvent UniqueId parameter. Set default socket encoding to ASCII (thanks to Phillip N.) - see SocketEncoding property of AsteriskManager class. Add support Manager events with Asteirsk 1.6 beta 9. Fix Asterisk version determination. Fix Reload and Disconnect event handlers. Add WinForm example (thanks to shurik_ev). 05.19.2008 Add Name property to QueueMemberEvent class 04.22.2008 Support Asterisk 1.4 and new custom IVR with FastAGI protocol.