jain sip как подключиться с WiFi в андроид
Я разрабатываю программный телефон с использованием jain sip, который собирается завершить, за исключением следующей проблемы: я использую restcomm-android-sdk на android-jain-sip-ri-1.2.233.jar, и проблема, скажем, в том, что два клиента являются клиентом А и клиент Б,
Если клиент A и клиент B используют 3G/4G, то все работает нормально, поскольку они оба могут звонить друг другу и здесь могут говорить друг с другом правильно.
Если клиент A использует сеть 3G/4G, а clent B находится в общедоступном Wi-Fi, то оба могут звонить друг другу, но только клиент A может слышать голос клиента B, а клиент B ничего не слышит.
Я думаю, что-то относится к маршрутизации и nat, вот мой манифест Android
<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" />
Может ли кто-нибудь помочь в решении этой проблемы?
1 ответ
NAT может быть слишком ограниченным в общедоступном Wi-Fi, который вы используете. Вы пробовали на не публичный Wi-Fi? Какой SIP-сервер вы используете? Используете ли вы RestComm в качестве сервера?
Чтобы убедиться, что требуется захват сети, или трассировка Wireshark (на стороне клиента - вы можете попробовать https://play.google.com/store/apps/details?id=lv.n3o.shark&hl=fr и на стороне сервера). тоже)
Если это так (NAT слишком строг, STUN и TURN должны быть реализованы на клиенте Android, запланированном в дорожной карте). Другой вариант, если вы используете RestComm, - это создать приложение для конференц-связи, и оба клиента должны вызвать приложение для конференц-связи, чтобы узнать, помогает ли это.
Вы пробовали с обоими клиентами в разных общественных сетях Wi-Fi?