UPDATE 5:
吉斯特發生了什麼的:在堆棧初始化創建TCP監聽點。爲此,在我們的例子中,我們不能使用現有的對象。
所以我要做的就是檢查是否mTcp
不null
,如果是,則收聽點被刪除,函數棧進行初始化,但!=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.
現在的問題是,有沒有人經歷過同樣的或不知道發生了什麼,如何解決(?)
可以只創建的密碼套件陣列的兩個實例,一個用於預M和一個用於M + 。 M +的不應該包含匿名密碼套件(其中有_anon_),因爲它們不再受支持。 –