gpt4 book ai didi

python - 如何摆脱无法杀死的 Freeswitch channel

转载 作者:太空宇宙 更新时间:2023-11-04 05:45:56 25 4
gpt4 key购买 nike

从Freeswitch 1.2.9 (1.2.9+git~20130506T233047Z~7c88f35451) 升级到Freeswitch 1.4.21 (1.4.21-35~64bit) 后,freeswitch 挂断后停止掉线,当我们尝试执行手动 uuid_kill,它给了我们这个可爱的错误:

-ERR No such channel!

即使显示 channel 清楚地显示该 channel 。从jira.freeswitch.com上看到的bug来看,好像是代码的问题。关于我们的环境/代码的更多信息:

我们有一个连接到客户端的 python 扭曲循环,因此客户端可以在服务器上运行命令,反之亦然。一旦那个扭曲的连接终止(客户端关闭/断开连接), channel 也会被终止,但我们需要 channel 在此之前终止,因为我们每秒进行大量调用并且需要它们在另一个时终止端断开。我们不能在每次通话结束时关闭并重新打开客户端,或者重新连接,因为那样会花费太多时间,并且会破坏我们使用该软件的目的。

再一次,当我们改用 apt-get 而不是直接从源代码安装 freeswitch 服务器时,这个错误才开始发生。这使我们能够以极快的速度启动和运行新服务器,并且我们宁愿不花额外的时间来使用我们以前的方法。请告诉我您是否有任何想要查看的代码,并询问您需要的任何说明,但我们真的希望尽快修复此问题。提前致谢!

编辑:为进一步说明,我们主要使用 mod_callcentermod_conferencemod_sofia 与我们的软件。

编辑 2:为了更清楚一点,我们在 Ubuntu 14.04 服务器上运行它

我们正在使用 ESL 连接从 python 连接和运行 freeswitch 中的命令,我们认为这是问题的根源。我们尝试退出连接,但这会破坏两个 channel 。

此外,Jira 上已针对此问题提交的所有错误都已关闭,因为它们不是错误。我想我在这里可能会更成功一些,因为这是一个编程类型的问题。

最佳答案

您需要在测试环境中重现问题并将错误报告提交给 Jira。充其量你也应该尝试用最新的 master 分支重现它(只支持 Debian 8): https://freeswitch.org/confluence/display/FREESWITCH/Debian+8+Jessie

我在使用 mod_perl 时遇到了类似的问题,一个 Perl 对象引用了一个 session ,但它没有被正确销毁(如果我没记错的话,我有两个 Perl 对象附加到同一个 session )。这导致无法关闭的 channel 。

我想您在您的应用程序和 FreeSWITCH 之间使用了 ESL 连接,对吗?

关于python - 如何摆脱无法杀死的 Freeswitch channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32320263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com