gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-10-31 22:03:53 24 4
gpt4 key购买 nike

我正在使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com