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

David Lee reviewboard at asterisk.org
Tue Apr 2 13:47:45 CDT 2013


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

(Updated April 2, 2013, 1:47 p.m.)


Review request for Asterisk Developers.


Changes
-------

Addressed review feedback: s/stasis_app/app/


Repository: Asterisk


Description
-------

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

  /trunk/main/frame.c 384490 
  /trunk/include/asterisk/localtime.h 384490 
  /trunk/apps/Makefile 384490 
  /trunk/apps/app_stasis.c PRE-CREATION 
  /trunk/apps/app_stasis.exports.in PRE-CREATION 
  /trunk/apps/stasis_json.c PRE-CREATION 
  /trunk/include/asterisk/app_stasis.h PRE-CREATION 
  /trunk/include/asterisk/frame.h 384490 
  /trunk/include/asterisk/json.h 384490 
  /trunk/main/json.c 384490 
  /trunk/res/res_stasis_websocket.c PRE-CREATION 
  /trunk/tests/test_abstract_jb.c 384490 
  /trunk/tests/test_app_stasis.c PRE-CREATION 
  /trunk/tests/test_json.c 384490 

Diff: https://reviewboard.asterisk.org/r/2361/diff/


Testing
-------

Unit tests; ran a few channels through the applications


Thanks,

David Lee

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20130402/0487aa79/attachment.htm>


More information about the asterisk-dev mailing list