wiki:projects/synapse

Version 13 (modified by Edwin Eefting, 12 years ago) (diff)

--

Synapse

“Synapses are the connections between neurons in the brain through which nervous impulses pass.”

Introduction

Synapse is an advanced event framework in C++:

  • Modulair plugin system
  • Easy to write modules
  • Easy to send and receive message, while maintaining code readability
  • Session management
  • Build in authentication
  • Fine grained access control on sending and receiving of events
  • Events can be handled by multiple threads if desired (max-threads is adjustable per session and per module)

Whitepaper/notes (still dutch and messy, but nice drawings ;): http://open.syn3.nl/syn3/trac/default/export/latest/trunk/projects/synapse/docs/synapse.odt

Module documentation: http://open.syn3.nl/syn3/trac/default/browser/trunk/projects/synapse/modules/docs/html

More documentation soon

Download

Download:

psy@r3m0t3h0st ~/test $ svn co --username=anonymous --password=anonymous http://open.syn3.nl/syn3/svndav/default/trunk/projects/synapse
...
Checked out revision 311.

Configure/compile:

psy@r3m0t3h0st ~/test $ cd synapse/
psy@r3m0t3h0st ~/test/synapse $ cmake .
...
psy@r3m0t3h0st ~/test/synapse $ make
...

Run a module:

psy@r3m0t3h0st ~/test/synapse $ ./synapse modules/test.module/libtest.so
...

Automatic asterisk operator panel

This is the first serious project built on top of the synapse platform.

  • Multi server
  • Multi tennant
  • Minimal configuration
  • Auto detection of SIP devices
  • Web based
  • Login is done by calling a special number, so no additional password and user management is neccesary.
  • Tested with configurations generated by:
    • Asterisk_GUI
    • Thirdlane.
    • FreePBX (use AMPEXTENSIONS=deviceanduser in /etc/amportal.conf to be able to set the description)

Used synapse modules:

  • asterisk_ami: Connects to a asterisk management interface
  • http_json: Build-in webserver for full-duplex events. (used in combination with asterisk.html.)
  • timer module
  • asterisk: this is the project module that mainly talks with the asterisk_ami module. its responsible for collecting and tracking all relevant asterisk data.
  • marquee: Module to control our marquee
  • asterisk_marquee: Module to couple asterisk module with multiple remote marquees.

Roadmap

Current version:

  • Tracking of all calls, channels and sip devices.
  • Html panel that shows all sip devices and channels in realtime.
  • Still read-only
  • Authentication by calling a special number from your sip-device
  • Multi tennant support.
  • Better user interface.

Next version:

  • Multiple marquee support.

Future versions:

  • Transfer calls
  • Make calls
  • etc.

Attachments (7)

Download all attachments as: .zip