SIP SoftSwitch. All core development is completed (including Voicemail and IP Centrex), development is now focusing on extended applications (such as Call-Center).
Call Processing using Middleware
CCNQ4 uses the concept of middleware (similar to the ones used by Connect, ExpressJS, ...) to simplify writing dynamic call-handling applications.
- useful-wind, a middleware-based framework to build applications for FreeSwitch.
- thinkable-ducks, a npm package and Docker.IO image extending
useful-windwith a REST interface and Socket.IO event notifications (to the
spicy-actionproxy); the Docker.IO image embeds FreeSwitch.
Available middlewares / applications:
- tough-rate, LCR engine; provided as a Docker image with FreeSwitch, a REST interface and Socket.IO notifications. Also available is its munin plugin.
- huge-play, the base SBC middleware for CCNQ4.
- well-groomed-feast, the CouchDB-backed voicemail.
- brown-pencil, an Interactive Voice Service for the French "RIO fixe".
- flat-ornament, parametered execution of data scripts
- earthy-slave, call rating.
- docker.freeswitch, docker.couchdb, etc. — CCNQ4 relies on docker.io instead of Debian packages which were the norm for CCNQ3.
- ccnq4-opensips, OpenSIPS-as-Docker-image integrated with configuration, CouchDB interfaces, REST management, ... (includes royal-thing, a tool to automatically restart an OpenSIPS registrant server on changes).
- willing-toothbrush, the CouchDB-backed DNS server.
- spicy-action, a web and Socket.IO proxy to allow browser-side clients, back-ends, and CouchDB, to exchange data.
- nifty-ground, the distributed sniffer, integrated with
spicy-action, delivered as a Docker.IO container.
- ethereal-banana and absurd-clover, browser-side tools to handle sniffer traces and CDR statistics.
- proud-thumb, demonstration browser tool showing call progress in real-time.
- nimble-direction, distributed CouchDB toolbox — used to ensure individual call-processing servers continue working even in case of failure or unreachability of the master-master, main provisioning database.
- cuddly, a devops notification framework, simple to use and deploy, based on Socket.IO.
- gabby-potato, a Socket.IO-controlled FreeSwitch instance meant to be used as a generic client emulator and call-generator for automated testing.
- rightful-hot-server, app conventions for RioJS+ZappaJS — server-side.
- rightful-hot, app conventions for RiotJS+ZappaJS — client-side.
- rough-produce, log support events.
- fr-sounds, French audio files for FreeSwitch, along with ordinary-tail, audio files for new services.
- 2015-rmll-isp, a presentation about voice for ISP (in French).
- incomplete: calm-belief, voicemail database cleanups.
exultant-sounds, click-to-dial over socket.io → now part of huge-play.
- zesty-vessel, socket-to-mail service.
- spicy-action-user, user parameters (locale, timezone) for spicy-action.
- charming-circle, per-user database (for voicemail, provisioning, …).
- astonishing-competition, CDR aggregation (pre-invoicing).
- numbering-plans, International Numbering Plans.
- entertaining-crib, CDR rating.
- chunky-grade, provisioning validation.
- frantic-team, inject replication documents in CouchDB.
FreeSwitch XML Configuration
- acoustic-line, the CoffeeScript templating system used to generate FreeSwitch XML configurations.
- bumpy-lawyer, FreeSwitch phrases for pronunciation of numbers, spelling words, etc.
FreeSwitch interaction with Node.js
- esl, the Node.js Promise-based interface to FreeSwitch's event socket (inbound and outbound).