switchy

A fast FreeSWITCH control library purpose-built on traffic theory and stress testing.


Keywords
asyncio, freeswitch, python, voip
License
MPL-2.0
Install
pip install switchy==0.1.0a1

Documentation

switchy

pypi versions pypi_downloads docs

Async FreeSWITCH cluster control using pure Python.

switchy intends to become the "flask for VoIP" but with a focus on performance and scalable service system design.

Please readthedocs for more information.

Installation

Note that you need to at least have the SWIG package installed in your Linux distribution before installing switchy via pip (e.g yum install swig or apt-get install swig).

Once you have swig installed (the swig command should be available) you can use pip to install switchy:

pip install switchy

Dependencies

Currently switchy uses the ESL SWIG package distributed with the FreeSWITCH sources. We intend to add alternative backends in the future including greenswitch and support for mod_amqp.

Some optional numerical packages are required to record performance measurements:

Feature Dependency Installation
Metrics Capture pandas pip install switchy[metrics]
Graphing matplotlib pip install switchy[graphing]
HDF5 pytables [1] pip install switchy[hdf5]
[1] pytables support is a bit shaky and not recommended unless you intend to locally process massive data sets worth of CDRs. The default CSV backend is usually sufficient on a modern file system.

License

All files that are part of this project are covered by the following license, except where explicitly noted.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.