asyncio powered FreeSWITCH cluster control purpose-built on traffic theory and stress testing.

switchio is a fast asynchronous control system for managing FreeSWITCH clusters. It uses the FreeSWITCH ESL inbound protocol and was originally built for generating traffic to stress test telephony service systems.


pip install switchio


  • drive multiple FreeSWITCH processes (a cluster) from a single Python program
  • build dialplan systems using a Flask-like routing API and native coroutines
  • create cluster controllers using switchio services
  • generate traffic using the built-in auto-dialer
  • record, display and export CDR and performance metrics captured during stress tests
  • use the internal asyncio inbound ESL protocol for lower level control

FreeSWITCH Configuration

switchio relies on some simple deployment steps for import-and-go usage.