sangoma / switchy

async FreeSWITCH cluster control
https://switchy.readthedocs.io/en/latest/
Mozilla Public License 2.0
69 stars 18 forks source link
asyncio freeswitch python voip

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.

.. _FreeSWITCH: https://freeswitch.org/ .. _Python: https://www.python.org/ .. _flask: http://flask.pocoo.org/ .. _readthedocs: https://switchy.readthedocs.org/

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

.. _SWIG: http://www.swig.org/

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

.. _ESL SWIG package: https://freeswitch.org/confluence/display/FREESWITCH/Python+ESL .. _greenswitch: https://github.com/EvoluxBR/greenswitch .. _mod_amqp: https://freeswitch.org/confluence/display/FREESWITCH/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 [#] pip install switchy[hdf5] =============== ================ ================================

.. [#] 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.

.. _pandas: http://pandas.pydata.org/ .. _matplotlib: http://matplotlib.org/ .. _pytables: http://www.pytables.org/

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

.. |versions| image:: https://img.shields.io/pypi/pyversions/switchy.svg :target: https://pypi.python.org/pypi/switchy

.. |pypi| image:: https://img.shields.io/pypi/v/switchy.svg :target: https://pypi.python.org/pypi/switchy

.. |pypi_downloads| image:: https://img.shields.io/pypi/d/switchy.svg :target: https://pypi.python.org/pypi/switchy

.. |docs| image:: https://readthedocs.org/projects/switchy/badge/?version=latest :target: http://switchy.readthedocs.io/en/latest/?badge=latest