Add channel events for res_stasis apps
authorKinsey Moore <kmoore@digium.com>
Fri, 10 May 2013 13:13:06 +0000 (13:13 +0000)
committerKinsey Moore <kmoore@digium.com>
Fri, 10 May 2013 13:13:06 +0000 (13:13 +0000)
commit7ce05bfb9b5f06c18451e37bb5b91cd543d6ba84
treeb4e833909ec2ba776d39848ecf8d28f74b341424
parent2cfedc12adf64cc24e855bd9ea30df3aa1b759ce
Add channel events for res_stasis apps

This change adds a framework in res_stasis for handling events from
channel topics. JSON event generation and validation code is created
from event documentation in rest-api/api-docs/events.json to assist in
JSON event generation, ensure consistency, and ensure that accurate
documentation is available for ALL events that are received by
res_stasis applications.

The userevent application has been refactored along with the code that
handles userevent channel blob events to pass the headers as key/value
pairs in the JSON blob. As a side-effect, app_userevent now handles
duplicate keys by overwriting the previous value.

Review: https://reviewboard.asterisk.org/r/2428/
(closes issue ASTERISK-21180)
Patch-By: Kinsey Moore <kmoore@digium.com>

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@388275 65c4cc65-6c06-0410-ace0-fbb531ad65f3
18 files changed:
CHANGES
apps/app_userevent.c
include/asterisk/stasis_channels.h
main/manager_channels.c
main/stasis_channels.c
res/res_stasis.c
res/res_stasis_http_events.c
res/res_stasis_websocket.c
res/stasis_http/resource_endpoints.h
res/stasis_http/resource_events.h
res/stasis_http/resource_recordings.h
res/stasis_http/resource_sounds.h
rest-api-templates/asterisk_processor.py
rest-api-templates/event_function_decl.mustache [new file with mode: 0644]
rest-api-templates/res_stasis_http_resource.c.mustache
rest-api-templates/stasis_http_resource.h.mustache
rest-api-templates/swagger_model.py
rest-api/api-docs/events.json