【问题标题】:jain sip how to connect with WiFi in androidjain sip 如何在 android 中连接 WiFi
【发布时间】:2015-05-28 17:09:20
【问题描述】:

我正在使用 jain sip 开发一个软件电话,该软件即将完成,除了以下问题: 我在android-jain-sip-ri-1.2.233.jar 上使用restcomm-android-sdk 问题是 假设两个客户是 client Aclient B

  1. 如果 client Aclient B 使用 3G/4G ,那么一切正常,因为他们都可以互相通话,并且可以在这里互相发声正确。

  2. 如果 client A 使用 3G/4G 网络并且 clent B 在公共 WiFi 上,那么两者都可以互相呼叫,但只有 client A可以听到客户B的声音,客户B什么都听不到。

我认为是与路由和nat有关的东西, 这是我的安卓清单

<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" />

有人可以帮忙解决这个问题吗?

【问题讨论】:

    标签: java android jain-sip


    【解决方案1】:

    在您使用的公共 Wifi 中,NAT 可能过于严格。 你试过非公共wifi吗? 您使用哪个 SIP 服务器?你使用RestComm 作为服务器吗?

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

    如果是这种情况(NAT 过于严格,STUN 和 TURN 将需要在 Android 客户端上实现,计划在路线图上)。如果您使用 RestComm,另一种选择是创建一个会议应用程序并让两个客户端都调用该会议应用程序以查看是否有帮助。

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

    【讨论】:

    • 2.我正在使用星号作为 PBX 3。我导入开源项目并在他身上工作link 4。我没有使用会议应用程序,这是单一对一拨号
    • 1.这似乎是一个 NAT 问题(限制性太强)或公共 Wifi 限制性太强并阻止媒体数据包。
    • 2.我对 Asterisk 没有太多经验,只要确保 Asterisk 保持在媒体路径中,这应该会有所帮助。但是如果您切换到 RestComm(请参阅 telestax.com/…),我可能会提供帮助
    • shark for root 给出输出:语法错误:“无法执行 root 启动序列。你有 root 吗?”在公共和非公共 wifi 上
    • Asterisk 肯定会留在媒体路径中,因为当我使用另一个软电话或 sip 电话(即 Zoiper)时,它也在公共 wifi 中工作,这意味着我的 ip 电话仍然存在问题,是的,这似乎是 NAT问题(太严格),你能指导我解决这个问题的方向吗?
    猜你喜欢
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多