java - jain sip 如何在 android 中连接 WiFi

标签 java android jain-sip

我正在使用 jain sip 开发软电话,它即将完成,但存在以下问题: 我正在使用 restcomm-android-sdkandroid-jain-sip-ri-1.2.233.jar 问题是 假设两个客户是客户A客户B

  1. 如果 client Aclient B 使用的是 3G/4G ,那么一切正常,因为他们都可以互相打电话,并且可以互相发语音

  2. 如果客户端 A 使用 3G/4G 网络,而 客户端 B 使用公共(public) WiFi,则两者可以相互调用,但只有 客户端 A 可以听到 Client B 的声音,client B 听不到任何声音。

我觉得是跟路由和nat有关的东西, 这是我的 android list

<uses-permission android:name="android.permission.USE_SIP" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-feature android:name="android.hardware.telephony" android:required="true"/>
<uses-feature android:name="android.hardware.sip.voip" android:required="true" />
<uses-feature android:name="android.hardware.wifi" android:required="true" />
<uses-feature android:name="android.hardware.microphone" android:required="true" />

谁能帮忙解决这个问题?

最佳答案

NAT 在您使用的公共(public) Wifi 中可能限制太多。 你试过非公共(public)wifi吗? 您使用哪个 SIP 服务器?你用RestComm吗作为服务器?

为确保需要网络捕获,也称为 wireshark 跟踪(在客户端 - 您可以尝试 https://play.google.com/store/apps/details?id=lv.n3o.shark&hl=fr,也可以在服务器端尝试)

如果是这样(NAT 限制太多,STUN 和 TURN 将需要在 Android 客户端上实现,计划在路线图上)。如果您使用 RestComm,另一种选择是创建一个 session 应用程序并让两个客户端调用该 session 应用程序以查看是否有帮助。

您是否尝试过在不同的公共(public) wifi 网络上使用两个客户端?

关于java - jain sip 如何在 android 中连接 WiFi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30512940/

相关文章:

Java:奇怪的静态方法头定义(表达式而不是返回类型)

java - java中如何绑定(bind)两个类?

android - 如何在android中使用hashmap值将bundle放入arraylist

java - 在 Jboss 上部署 SIP servlet

java - Java 11 中的解析异常

java - 检查特定的 JSON 对象是否可用

java - 如何让应用保持存活?运行后出现奇怪的错误

java - 在谷歌应用引擎上保存长文本

java - 贾因 SIP : Identify inbound IP for SIP message when listening on 0. 0.0.0

java - PeerUnavailableException 在 Android 上使用 JAIN SIP API