summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-05-01Prevent crash in 'sip show peers' when the number of peers on a system is largeMatthew Jordan
When you have lots of SIP peers (according to the issue reporter, around 3500), the 'sip show peers' CLI command or AMI action can crash due to a poorly placed string duplication that occurs on the stack. This patch refactors the command to not allocate the string on the stack, and handles the formatting of a single peer in a separate function call. (closes issue ASTERISK-21466) Reported by: Guillaume Knispel patches: fix_sip_show_peers_stack_overflow_asterisk_11.3.0-v2.patch uploaded by gknispel (License 6492) ........ Merged revisions 387134 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@387135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-05-01Move some annoying chan_dahdi debug messages to level 5.Richard Mudgett
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@387108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-30Fix CDR not being created during an externally initiated blind transferMatthew Jordan
Way back when in the dark days of Asterisk 1.8.9, blind transferring a call in a context that included the 'h' extension would inadvertently execute the hangup code logic on the transferred channel. This was a "bad thing". The fix was to properly check for the softhangup flags on the channel and only execute the 'h' extension logic (and, in later versions, hangup handler logic) if the channel was well and truly dead (Jim). Unfortunately, CDRs are fickle. Setting the softhangup flag when we detected that the channel was leaving the bridge (but not to die) caused some crucial snippet of CDR code, lying in ambush in the middle of the bridging code, to not get executed. This had the effect of blowing away one of the CDRs that is typically created during a blind transfer. While we live and die by the adage "don't touch CDRs in release branches", this was our bad. The attached patch restores the CDR behavior, and still manages to not run the 'h' extension during a blind transfer (at least not when it's supposed to). Thanks to Steve Davies for diagnosing this and providing a fix. Review: https://reviewboard.asterisk.org/r/2476 (closes issue ASTERISK-21394) Reported by: Ishfaq Malik Tested by: Ishfaq Malik, mjordan patches: fix_missing_blindXfer_cdr2 uploaded by one47 (License 5012) ........ Merged revisions 387036 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 387038 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@387039 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-30Stasis Core: Refactor ACL Change events to go out over the stasis core msg busJonathan Rose
(issue ASTERISK-21103) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2481/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@387037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-30Add forgotten event types to event_names arrayJonathan Rose
........ Merged revisions 387030 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@387035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-30Fix a log message.Jason Parker
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-30Use the proper lower bound when doing saturation arithmetic.Sean Bright
16 bit signed integers have a range of [-32768, 32768). The existing code was using the interval (-32768, 32768) instead. This patch fixes that. Review: https://reviewboard.asterisk.org/r/2479/ ........ Merged revisions 386929 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 386930 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-30Just a couple of Stasis-HTTP nitpick fixes.David M. Lee
* Fixed crash when res_stasis_http is unloaded before the implementation modules. * Cleaned up test initialization for test_stasis_http.so. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-29Modifying sounds/Makefile to pull down 1.4.24 core soundsRusty Newton
1.4.24 core sounds includes a full set of Italian prompts for core sounds and a fix for the missing voicemail prompts in the Russian language. (closes issue ASTERISK-19431) (closes issue ASTERISK-19721) ........ Merged revisions 386877 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 386878 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-29Play periodic prompts for first call in a call queueOlle Johansson
Review: https://reviewboard.asterisk.org/r/2263/ ........ Merged revisions 386792 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 386794 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-29Change pointer to existing wiki page instead of non-existing pageOlle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-28Fix spelling error in python docKinsey Moore
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-27Tweak res_sip priority so it gets loaded first before all other SIP stuff.Joshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-27Update res_config_sqlite to use the ast_variable lists.Joshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386746 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-27Add support for a realtime sorcery module.Joshua Colp
This change does the following: 1. Adds the sorcery realtime module 2. Adds unit tests for the sorcery realtime module 3. Changes the realtime core to use an ast_variable list instead of variadic arguments 4. Changes all realtime drivers to accept an ast_variable list Review: https://reviewboard.asterisk.org/r/2424/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386731 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-26Add missing module dependencies to various res_sip* modulesMatthew Jordan
This patch updates the various res_sip modules with their proper menuselect options and proper dependencies, such that Asterisk still has a snowball's chance in hell of compiling without pjproject. Much thanks to snuffy(-home|-work) for making everyone's life easier with this patch. Review: https://reviewboard.asterisk.org/r/2472/ (closes issue ASTERISK-21669) Reported by: snuffy patches: xml-depends.diff uploaded by snuffy (license 5024) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386686 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-26Clean up memory leak in config file on off nominal paths when glob is allowedMatthew Jordan
If a system allows for its usage, Asterisk will use glob to help parse Asterisk .conf files. The config file loading routine was leaking the memory allocated by the glob() routine when the config file was in an unmodified or invalid state. This patch properly calls globfree in those off nominal paths. (closes issue ASTERISK-21412) Reported by: Corey Farrell patches: config_glob_leak.patch uploaded by Corey Farrell (license 5909) ........ Merged revisions 386672 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 386677 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-26By popular demand, putting the about-to-load-module printf back.David M. Lee
But now it only prints during the initial startup, and prints at verbose 1 level. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-26Clean up resources in features on exitMatthew Jordan
This patch cleans up two things features: * It properly unregisters the CLI commands that features registered * It cancels and performs a pthread_join on the created parking thread. This not only properly joins a non-detached thread, but also prevents disposing of the parking lots prior to the parking thread completely exiting. (closes issue ASTERISK-21407) Reported by: Corey Farrell patches: features_shutdown-r2.patch uploaded by Corey Farrell (License 5909) ........ Merged revisions 386641 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 386642 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-26Removing stray printf from r386540David M. Lee
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386640 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-26Add an \extref doxygen pointer for libuuid.Mark Michelson
Thanks to Olle Johansson for suggesting this. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-26Example of how to use the Stasis message busDavid M. Lee
In order to get people familiar with the Stasis message bus, it would be useful to have something of a tutorial. Since I'm not clever enough to think of some cool integration we could do with Twitter, I settled for something that might actually be useful. This patch adds a res_statsd.so module, which implements a basic statsd[1] client. Statsd is a very simple statistics gathering server, which can publish its results to a backend graphing engine, like Graphite[2]. There are several different Statsd server implementations[3], so you can pick what works best for your environment. The actual example of how to use the Stasis message bus is in res_chan_stats.so. This module demonstrates how to use subscriptions and the message router by monitoring messages and posting channels stats to the statsd server. A wiki page walking through res_chan_stats.so is forthcoming. [1]: https://github.com/etsy/statsd/ [2]: http://graphite.readthedocs.org/en/latest/ [3]: http://joemiller.me/2011/09/21/list-of-statsd-server-implementations/ Review: https://reviewboard.asterisk.org/r/2460/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-26Ignore *.[oi] files in res/res_sipDavid M. Lee
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-25Don't bind to anything in the sample configuration so we don't clash with ↵Joshua Colp
chan_sip on a "make samples" right now. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-25REmove automerge properties.Mark Michelson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-25Merge the pimp_my_sip branch into trunk.Mark Michelson
The pimp_my_sip branch is being merged at this point because it offers basic functionality, and from an API standpoint, things are complete. SIP work is *not* feature-complete; however, with the completion of the SUBSCRIBE/NOTIFY API, all APIs (except a PUBLISH API) have been created, and thus it is possible for developers to attempt to create new SIP work. API documentation can be found in the doxygen in the code, but usability documentation is still lacking. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-25Fix Displaying Symmetric RTP Global SettingMichael L. Young
* Use comedia_string() to display correctly the symmetric rtp setting when running "sip show settings" ........ Merged revisions 386486 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-25Change Case On Forcerport For ConsistencyMichael L. Young
* Change "ForcerPort" to "Forcerport" to match everywhere else it is displayed ........ Merged revisions 386483 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 386484 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-24Document JSON models in resource_*.hDavid M. Lee
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-24Oops. Mustache doesn't like dictionariesDavid M. Lee
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-23confbridge: Make search the conference bridges container using OBJ_KEY.Richard Mudgett
* Make confbridge config parsing user profile, bridge profile, and menu container hash/cmp functions correctly check the OBJ_POINTER, OBJ_KEY, and OBJ_PARTIAL_KEY flags. * Made confbridge load_module()/unload_module() free all resources on failure conditions. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-23Fix some bad whitespaceKinsey Moore
This crept in with the RESTful HTTP interface merge. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386352 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-22Fix crash when AMI redirect action redirects two channels out of a bridge.Richard Mudgett
The two party bridging loops were changing the bridge peer pointers without the channel locks held. Thus when ast_channel_massquerade() tested and used the pointer there is a small window of opportunity for the pointers to become NULL even though the masquerade code has the channels locked. (closes issue ASTERISK-21356) Reported by: William luke Patches: jira_asterisk_21356_v11.patch (license #5621) patch uploaded by rmudgett Tested by: William luke ........ Merged revisions 386256 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 386286 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-22Doxygen - Markup GuidelinesAndrew Latham
Expand on a commit by OEJ to use the Coding-Guidelines (issue ASTERISK-20259) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-22This patch adds a RESTful HTTP interface to Asterisk.David M. Lee
The API itself is documented using Swagger, a lightweight mechanism for documenting RESTful API's using JSON. This allows us to use swagger-ui to provide executable documentation for the API, generate client bindings in different languages, and generate a lot of the boilerplate code for implementing the RESTful bindings. The API docs live in the rest-api/ directory. The RESTful bindings are generated from the Swagger API docs using a set of Mustache templates. The code generator is written in Python, and uses Pystache. Pystache has no dependencies, and be installed easily using pip. Code generation code lives in rest-api-templates/. The generated code reduces a lot of boilerplate when it comes to handling HTTP requests. It also helps us have greater consistency in the REST API. (closes issue ASTERISK-20891) Review: https://reviewboard.asterisk.org/r/2376/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-22Fix mistake in Doxygen. Olle Johansson
Doxygen is only *ONE* comment that applies to the NEXT piece of code. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386211 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-22sla: remove redundant locking.Russell Bryant
sla.lock was already locked in the only place that sla_check_reload() was called. Remove the redundant locking of sla.lock done in this function. Less recursive locking is A Good Thing. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-19Prevent res_timing_pthread from blocking callersMatthew Jordan
There were several reports of deadlock when using res_timing_pthread. Backtraces indicated that one thread was blocked waiting for the write to the pipe to complete and this thread held the container lock for the timers. Therefore any thread that wanted to create a new timer or read an existing timer would block waiting for either the timer lock or the container lock and deadlock ensued. This patch changes the way the pipe is used to eliminate this source of deadlocks: 1) The pipe is placed in non-blocking mode so that it would never block even if the following changes someone fail... 2) Instead of writing bytes into the pipe for each "tick" that's fired the pipe now has two states--signaled and unsignaled. If signaled, the pipe is hot and any pollers of the read side filedescriptor will be woken up. If unsigned the pipe is idle. This eliminates even the chance of filling up the pipe and reduces the potential overhead of calling unnecessary writes. 3) Since we're tracking the signaled / unsignaled state, we can eliminate the exta poll system call for every firing because we know that there is data to be read. (closes issue ASTERISK-21389) Reported by: Matt Jordan Tested by: Shaun Ruffell, Matt Jordan, Tony Lewis patches: 0001-res_timing_pthread-Reduce-probability-of-deadlocking.patch uploaded by sruffell (License 5417) (closes issue ASTERISK-19754) Reported by: Nikola Ciprich (closes issue ASTERISK-20577) Reported by: Kien Kennedy (closes issue ASTERISK-17436) Reported by: Henry Fernandes (closes issue ASTERISK-17467) Reported by: isrl (closes issue ASTERISK-17458) Reported by: isrl Review: https://reviewboard.asterisk.org/r/2441/ ........ Merged revisions 386109 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 386159 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-19cli.c: Properly initialize debug_modules and verbose_modules.David M. Lee
This avoids some lock errors on the core set {debug,verbose} commands. ........ Merged revisions 386049 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 386051 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-18Allow WebSocket connections on more URL'sDavid M. Lee
This patch adds the concept of ast_websocket_server to res_http_websocket, allowing WebSocket connections on URL's more more than /ws. The existing funcitons for managing the WebSocket subprotocols on /ws still work, so this patch should be completely backward compatible. (closes issue ASTERISK-21279) Review: https://reviewboard.asterisk.org/r/2453/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-18Fix lock errors on startup.David M. Lee
In messages.c, there are several places in the code where we create a tmp_tech_holder and pass that into an ao2_find call. Unfortunately, we weren't initializing the rwlock on the tmp_tech_holder, which the hash function was locking. It's apparently harmless, but still not the best code. This patch extracts all that copy/pasted code into two functions, msg_find_by_tech and msg_find_by_tech_name, which properly initialize and destroy the rwlock on the tmp_tech_holder. Review: https://reviewboard.asterisk.org/r/2454/ ........ Merged revisions 386006 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-16res_xmpp and res_jabber need to search 'cachable' in the attrib section of ↵Alec L Davis
the received IE, not data. (issue ASTERISK-20175) (closes issue ASTERISK-21429) (closes issue ASTERISK-21069) (closes issue ASTERISK-21164) Reported by: alecdavis Tested by: alecdavis alecdavis (license 585) Review https://reviewboard.asterisk.org/r/2452/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-16Allow res_corosync to buildKinsey Moore
ast_enable_distributed_devstate is no longer applicable to how the distributed device state system works and is no longer necessary. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-16Move presence state distribution to Stasis-coreKinsey Moore
Convert presence state events to Stasis-core messages and remove redundant serializers where possible. Review: https://reviewboard.asterisk.org/r/2410/ (closes issue ASTERISK-21102) Patch-by: Kinsey Moore <kmoore@digium.com> git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-16Move device state distribution to Stasis-coreKinsey Moore
In the move from Asterisk's event system to Stasis, this makes distributed device state aggregation always-on, removes unnecessary task processors where possible, and collapses aggregate and non-aggregate states into a single cache for ease of retrieval. This also removes an intermediary step in device state aggregation. Review: https://reviewboard.asterisk.org/r/2389/ (closes issue ASTERISK-21101) Patch-by: Kinsey Moore <kmoore@digium.com> git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-16Fixed a typoDavid M. Lee
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-15Don't unnecessarily rebuild things on every run of 'make'.Jason Parker
Review: https://reviewboard.asterisk.org/r/2449/ ........ Merged revisions 385745 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 385768 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-15Avoid unused variable warning when not in devmodeDavid M. Lee
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-15Moved core logic from app_stasis to res_stasisDavid M. Lee
After some discussion on asterisk-dev, it was decided that the bulk of the logic in app_stasis actually belongs in a resource module instead of the application module. This patch does that, leaves the app specific stuff in app_stasis, and fixes up everything else to be consistent with that change. * Renamed test_app_stasis to test_res_stasis * Renamed app_stasis.h to stasis_app.h * This is still stasis application support, even though it's no longer in an app_ module. The name should never have been tied to the type of module, anyways. * Now that json isn't a resource module anymore, moved the ast_channel_snapshot_to_json function to main/stasis_channels.c, where it makes more sense. Review: https://reviewboard.asterisk.org/r/2430/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-04-15DTMF events are now published on a channel's stasis_topic. AMI wasDavid M. Lee
refactored to use these events rather than producing the events directly in channel.c. Finally, the code was added to app_stasis to produce DTMF events on the WebSocket. The AMI events are completely backward compatible, including sending events on transmitted DTMF, and sending DTMF start events. The Stasis-HTTP events are somewhat simplified. Since DTMF start and DTMF send events are generally less useful, Stasis-HTTP will only send events on received DTMF end. (closes issue ASTERISK-21282) (closes issue ASTERISK-21359) Review: https://reviewboard.asterisk.org/r/2439 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385734 65c4cc65-6c06-0410-ace0-fbb531ad65f3