我有一个我正在尝试构建的快速示例应用程序,以演示与 Nexus 7 之间的简单 SIP 调用。该设备当前运行的是 Android 4.2.1。
LogCat 显示错误:
SipBroadcastRequest / SIP VOIP not supported: com.android.phone.SIP_REMOVE_PHONE
我从 API 文档(和代码)中看到,如果 SipManager.isApiSupported(Context context) 返回 false,就会发生这种情况。为了更好地衡量,我检查了两个:
SipManager.isVoipSupported(this);
SipManager.isApiSupported(this);
并且都返回true。我还看到(从 API 代码)如果 api 调用返回 false,SipManager.newInstance(Context context)
将返回null
. 当我创建一个经理时,SipManager.newInstance(this);
我会得到一个有效的经理。
我看到很多类似问题的帖子,但没有发现任何关于true
电话的报告SipManager.isVoipSupported(Context context)
。有任何想法吗?
注意:我不确定这是否重要,但 cSipSimple(另一个适用于 android 的 SIP/Voip 应用程序)可以在此设备上运行。
更新(2012 年 12 月 20 日):我按照 pboy 的建议尝试了 SipDemo。那也不行。该应用程序和我的应用程序都在注册步骤中失败。使用调试器,我中断onRegistrationFailed
了SipRegistrationListener
. 从这里我可以看到一个int errorCode
-9 和一个String errorMessage
“0”。我查找了这个错误代码,它对应于以下内容(取自 SIP API 文档):
public static final int IN_PROGRESS
在 API 级别 9 中添加
客户端处于事务中,无法发起新的事务。
常数值:-9 (0xfffffff7)
我没有运行其他 SIP 程序。我的应用程序只是新安装的,目前也没有运行。我不确定中间还会发生什么其他交易?