[asterisk-dev] [Code Review] Stasis application WebSocket support
David Lee
reviewboard at asterisk.org
Thu Mar 7 15:37:36 CST 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2361/
-----------------------------------------------------------
(Updated March 7, 2013, 3:37 p.m.)
Review request for Asterisk Developers.
Changes
-------
Addressed review feedback.
* Simplified app and control allocations
* Preferred ast_str_hash to ast_hashtab_hash_string
* Fixed a memory leak
Summary
-------
This patch is based on the stasis-core message bus, in
https://reviewboard.asterisk.org/r/2339/
This is the API that binds the Stasis dialplan application to external
Stasis applications. It also adds the beginnings of WebSocket
application support.
This module registers a dialplan function named Stasis, which is used
to put a channel into the named Stasis app. As a channel enters and
leaves the Stasis diaplan applcation, the Stasis app receives a
'stasis-start' and 'stasis-end' events.
Stasis apps register themselves using the stasis_app_register and
stasis_app_unregister functions. Messages are sent to an appliction
using stasis_app_send.
Finally, Stasis apps control channels through the use of the
stasis_app_control object, and the family of stasis_app_control_*
functions.
The biggest unknown I have about this patch is how I'm exporting
symbols from app_stasis.so. I believe I'm doing it correctly, and they
should not need to use optional API. If anyone knows if it will be a
problem on BSD, Solaris, etc., please let me know.
Other changes along for the ride are:
* An ast_frame_dtor function that's RAII_VAR safe
* Some common JSON encoders for name/number, timeval, and
context/extension/priority
Diffs (updated)
-----
/team/dlee/stasis-core/tests/test_json.c 382639
/team/dlee/stasis-core/tests/test_abstract_jb.c 382639
/team/dlee/stasis-core/tests/test_app_stasis.c PRE-CREATION
/team/dlee/stasis-core/include/asterisk/frame.h 382639
/team/dlee/stasis-core/include/asterisk/json.h 382639
/team/dlee/stasis-core/include/asterisk/localtime.h 382639
/team/dlee/stasis-core/main/frame.c 382639
/team/dlee/stasis-core/res/res_json.c 382639
/team/dlee/stasis-core/res/res_stasis_websocket.c PRE-CREATION
/team/dlee/stasis-core/include/asterisk/app_stasis.h PRE-CREATION
/team/dlee/stasis-core/apps/app_stasis.exports.in PRE-CREATION
/team/dlee/stasis-core/apps/stasis_json.c PRE-CREATION
/team/dlee/stasis-core/apps/Makefile 382639
/team/dlee/stasis-core/apps/app_stasis.c PRE-CREATION
Diff: https://reviewboard.asterisk.org/r/2361/diff
Testing
-------
Unit tests; ran a few channels through the applications
Thanks,
David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20130307/8eb3077b/attachment-0001.htm>
More information about the asterisk-dev
mailing list