[asterisk-dev] [Code Review] Stasis application WebSocket support

David Lee reviewboard at asterisk.org
Fri Mar 1 17:18:55 CST 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2361/
-----------------------------------------------------------

Review request for Asterisk Developers.


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
-----

  /team/dlee/stasis-core/apps/Makefile 382355 
  /team/dlee/stasis-core/apps/app_stasis.c 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/include/asterisk/app_stasis.h PRE-CREATION 
  /team/dlee/stasis-core/include/asterisk/frame.h 382355 
  /team/dlee/stasis-core/include/asterisk/json.h 382355 
  /team/dlee/stasis-core/include/asterisk/localtime.h 382355 
  /team/dlee/stasis-core/main/frame.c 382355 
  /team/dlee/stasis-core/res/res_json.c 382355 
  /team/dlee/stasis-core/res/res_stasis_websocket.c PRE-CREATION 
  /team/dlee/stasis-core/tests/test_abstract_jb.c 382355 
  /team/dlee/stasis-core/tests/test_app_stasis.c PRE-CREATION 
  /team/dlee/stasis-core/tests/test_json.c 382355 

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/20130301/46ddafa6/attachment.htm>


More information about the asterisk-dev mailing list