我已经安装了SIPDROID。我在 sip2sip 创建了三个帐户。之后,我使用该帐户之一配置了应用程序。应用程序工作正常。
问题是:如果我使用 SIP 对同一部电话进行多次呼叫,是否可以同时处理所有呼叫?
继续第一个通话时,另一个来电未显示在手机屏幕上。
第一个电话被接听,但在第一个电话期间打来的第二个电话呢?
甚至第二个电话也没有显示在屏幕上。使困惑 !!
我开始使用Sipdroid ,但在对其进行研究和开发人员评论之后,我发现该应用程序缺少一些功能,例如多次呼叫和转移呼叫等......
我不知道,但可能谁是sip 堆栈专家或有时间做可以实现缺少的功能,但我不是其中之一,所以我希望获得一个具有所有这些功能的应用程序并通过修改它我可以集成到我的应用程序和csipsimple就是答案。
然而,将 csipsimple 构建到 Windows 环境中并不容易,但有一些技巧可以做到。因此,请仔细阅读其关于将项目构建到窗口环境中的wiki 。
根据 wiki,您可以构建本机库,也可以不构建本机库继续进行。我建议 Windows 用户在 不构建本机库的情况下使用。
如果您已经阅读过 wiki,那么在“不构建本机库”部分的最后一行就像
"要获取 .so 文件,请从 nightly build 网站下载最新的 nightly build 并解压缩 apk 文件(apk 文件只是 zip 文件)。然后获取 lib/ARCH/.so 文件并将其复制到 CSipSimple libs/ARCH/.so "
我必须澄清一件重要的事情:
首先获取csipsimple 的.apk文件。.apk文件的版本必须与您的csipsimple 源代码的下载版本相同。.
在这里,您可以看到源代码版本。下载相同版本的.apk并按照 wiki 中的说明进行进一步操作。
SipDroid 始终只支持一条线路。这意味着您不能进行电话会议。所以对于这个问题:
如果我使用 SIP 对同一部电话进行多次呼叫,是否可以同时处理所有呼叫?
不,您不能同时处理同时呼叫。幸运的是,还有另一个支持多行的开源 SIP 客户端 - IMSDroid。尽管您可以扩展 SipDroid 以支持多条线路,但这需要付出很多努力。为了支持多条线路,您必须注意的主要对象是:
UserAgent
,SipProvider
(请注意,它旨在支持 SIP 消息的复用/解复用),JAudioLauncher
以及Call
对象。
您在第二个电话未显示时描述的错误不是我亲眼目睹的。这可能是由于您的设备设置,或者由于对原始代码执行的自定义...
您可以在 linux 操作系统中轻松构建 csipsimple ...您只需将下载源链接粘贴到 linux commanpropmt 中,对于 Windows,您必须拥有最新的 cygwin 软件才能下载或构建本机库...更好的选择是仅适用于 linux 操作系统...