/eqivo

:telephone_receiver: Open Source Telephony API Platform

Primary LanguagePHPMIT LicenseMIT

eqivo

Open Source Telecommunications API Platform

CI Status Publish Status Psalm Type Coverage
Latest Stable Version Docker Pulls Downloads on GitHub Installs on Packagist License

A reimplementation of the open source Plivo framework on top of ReactPHP and FreeSWITCH. If you are not familiar with the legacy platform, please inspect its repository as well as the archived web resources here, here and here.

As of v0.6, Eqivo builds on top of the FiCore FreeSWITCH integration library.

For integrating Eqivo in your projects, please refer to https://eqivo.org as well as to rtckit/eqivo-sandbox. If you want to contribute or to extend this project, keep reading.

Requirements

Eqivo is compatible with PHP 8.1+ and has several extension dependencies, typically bundled with PHP's core. Please refer to composer.json for details.

Static Analysis

In order to ensure high code quality, Eqivo uses PHPStan:

composer phpstan

and Psalm:

composer psalm

Tests

Unit tests are presently lacking. The project itself has been scaffolded against an acceptance test suite hosted in its own repository.

License

MIT, see LICENSE file.

MIT License

Acknowledgments

  • Plivo framework - Original framework; Eqivo and its authors are not affiliated with the legacy open source project nor with with the company behind it
  • ReactPHP - Provides the asynchronous I/O fabric on top of which Eqivo interacts with FreeSWITCH and the consuming applications
  • FreeSWITCH - Handles the real time communications aspects, particularly signalling and media processing
  • FiCore - FreeSWITCH Integration Core responsible for the bulk of dialplan/call flow logic exposed by Eqivo
  • Slate is responsible for rendering the project's website
  • widdershins translates the OpenApi spec to Markdown

Contributing

Bug reports (and small patches) can be submitted via the issue tracker. Forking the repository and submitting a Pull Request is preferred for substantial patches. For more details, please head to CONTRIBUTING.md.