跳转到主要内容

由asyncio驱动的FreeSWITCH集群控制

项目描述

asyncio 驱动的 FreeSWITCH 集群控制,使用纯 Python 3.5+

pypi travis versions license docs

switchio(发音为 Switch Ee OoH)是switchy(想想 Bulbasaur -> Ivysaur)的下一演变,它利用了现代Python的新原生协程语法,目前使用asyncio

在API方面,该项目旨在成为VoIP的flask,但更注重性能和可伸缩性,类似于sanic

使用asyncawait的力量!

使用Python的新协程语法构建路由系统

from switchio.apps.routers import Router

router = Router(guards={
    'Call-Direction': 'inbound',
    'variable_sofia_profile': 'external'})

@router.route('(.*)')
async def welcome(sess, match, router):
    """Say hello to inbound calls.
    """
    await sess.answer()  # resumes once call has been fully answered
    sess.log.info("Answered call to {}".format(match.groups(0)))

    sess.playback('ivr/ivr-welcome_to_freeswitch.wav') # non-blocking
    sess.log.info("Playing welcome message")
    await sess.recv("PLAYBACK_STOP")

    await sess.hangup()  # resumes once call has been fully hungup

从shell运行此应用程序(假设它位于dialplan.py

$ switchio serve fs-host1 fs-host2 fs-host3 --app ./dialplan.py:router

启动自动拨号器

使用内置的自动拨号器运行数千个呼叫流程以对您的服务系统进行压力测试

$ switchio dial fs-tester1 fs-tester2 --profile external --proxy myproxy.com --rate 100 --limit 3000

安装

pip install switchio

文档

我们有的文档

我如何部署我的FreeSWITCH集群?

请参阅文档了解详细信息!

包含什么?

  • 一系列内置应用

  • 一个完整的自动拨号器,最初是为压力测试VoIP服务系统而构建

  • 超级详细的事件日志记录

我如何贡献?

有没有为通用switchio应用或助手的想法?在GitHub上创建一个PR吧!

此外,如果您喜欢switchio,请在Riot上告诉我们!

等等,switchio与其他ESL客户端有何不同?

switchio通过支持FreeSWITCH的进程集群控制以及专注于利用最现代的Python语言特性来区别自己。switchio自豪地是一个batteries included框架,旨在使FreeSWITCH的所有复杂功能变得简单。

如果我卡在Python 2怎么办?

查看这些其他优秀的项目

性能监控

如果您想使用CDR应用记录性能测量,可以使用一些可选的数值包

特性

依赖项

安装

指标捕获

pandas

pip install switchio[metrics]

绘图

matplotlib

pip install switchio[graphing]

HDF5

pytables [1]

pip install switchio[hdf5]

许可证

本项目所有文件均受以下许可协议保护,除非明确说明。

此源代码形式受Mozilla公共许可证第2.0版条款的约束。如果未与此文件一起分发MPL副本,您可以从中获得一份:http://mozilla.org/MPL/2.0/

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

switchio-0.1.0a1.tar.gz (69.1 kB 查看哈希值)

上传时间: 源代码

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面