前几天,我接到一个任务:使用sip客户端实现接听/创建呼叫。我首先为 sip 客户端寻找一个库,最好是用 python 编写的,我使用来自流行服务的外部服务器。经过几个小时的搜索,我找到了 pyvoip 库。乍一看,它具有所有必要的功能,但是.. 开始编写代码并尝试首次启动后,发现该库不支持 DIGEST 授权和 OPTIONS 请求。在库的github issues中寻找解决方案后,我找到了解决方案——安装dev版本!(笑) 她已经没有“缺失的部分”了,但她还有更多的问题——代码非常原始。我修复了主要问题并且仍然连接到 sip 服务器,但再次令人失望..与服务器的连接不保持并且代码仍然存在很多问题
经过 5 天的不断调试、测试和修复别人的代码,我已经筋疲力尽,开始寻找其他解决方案,但我仍然找不到它们,所以我写在这里,也许有人处理过这样的任务。
提前感谢您的回复!
baresip 和 pjsip 是两个完善的开源项目,提供 SIP/VoIP 库和客户端应用程序,许多 SIP 软电话实现都使用它们。可以找到两者的 Python 绑定: