2015-10-19 18 views
4

UPDATE 5
吉斯特发生了什么的:在堆栈初始化创建TCP监听点。为此,在我们的例子中,我们不能使用现有的对象。
所以我要做的就是检查是否mTcpnull,如果是,则收听点被删除,函数栈进行初始化,但!=null总是跳过,然后随之而来的例外...
注意:使用一个随机的端口号每次都无法用于创建聆听点,在Android中不起作用,而对于iOS来说则是相同的。Android M:VoIP,JAINSIP,SipStack;创建与TLS的收听点时不一致SipProvider异常启用

UPDATE 4
始于小米手机4此面向:
SipProvider例外是android.javax.sip.InvalidArgumentException:绑定失败:EADDRINUSE(地址已在使用)

UPDATE 3
似乎有例外的替代模式。但即刻的第二次尝试也是成功的;
1.第一时间createListeningPoint()称为 - >异常2或1之后
2.第二尝试 - >成功
3.此后,当1.发生 - >异常1或2
4.第二尝试 - >成功。 。 。

更新2

例外1和2似乎重现,没有任何模式,但之后异常2,在那里当它是异常1第2次尝试是成功的 - 它坚持了一段时间,反复给出同样的例外。


UPDATE 1

1.的SipProvider例外只发生一次SIP栈被破坏之后。第二次尝试注册/初始化堆栈或创建收听点总是成功的。

2.在Android M上运行的另一个Nexus 5设备不具有相同的行为;一切按预期工作。

3.摩托罗拉Nexus 6 Android M现在也出现同样的问题。不知道这是由于更新了其中一个应用程序还是o.s.在第二次尝试中没有成功。


以下行为已经不一致随机。我没有准确的步骤来重现它。
这种情况
仅在版本的Android M OTA升级后的Nexus 5,我使用JainSip

*的VoIP应用。
情景:当** createListeningPoint
被调用启用;

listeningPoint = mSipStack.createListeningPoint("stringIp",intPortNumber, 
        "stringTls"); 

这些是随机

异常1发生例外:

SipProvider Exception is java.lang.IllegalArgumentException: 
cipherSuite TLS_DH_anon_WITH_AES_128_CBC_SHA is not supported. 

例外2

SipProvider Exception is android.javax.sip.InvalidArgumentException: 
bind failed: EADDRINUSE (Address already in use) 

对于SIP协议栈的jar(S),我使用:
Maven android jain sip,并试图jenkins jsip

注意这些:
相同的代码将按预期在其他设备和O.S. Android 6.0以前/之前的版本(API 23)。
2.代码和预期一样在版本的Android M预览版SDK加载到摩托罗拉的Nexus 6
有没有与版本的Android M多个设备测试它,甚至没有多的Nexus 5(S)。当我这样做时,我会发布更新。

我搜索的问题,找不到多少,使用setEnabledCipherSuites异常1 - 而不是试图确定如何实现IT和确保收听点为空/时被毁栈注销,对异常2.

现在的问题是,有没有人经历过同样的或不知道发生了什么,如何解决(?)

回答

0

我注释掉
“TLS_DH_anon_WITH_AES_128_CBC_SHA”,
“SSL_DH_anon_WITH_3DES_EDE_CBC_SHA”

固定它

在“密码套件”字符串[]中SipStackImpl.java

两个不再从Android的6支承

+0

可以只创建的密码套件阵列的两个实例,一个用于预M和一个用于M + 。 M +的不应该包含匿名密码套件(其中有_anon_),因为它们不再受支持。 –