I have a app can take call via WebRTC in iOS, this working normal when call with browser, but when call with android app I can't set remote sdp with error: Called with SDP without DTLS fingerprint. After searching I found that the sdp send from android don't have DTLS param: a=setup..., a=fingerprint.... and the stream media only has RTP/AVPF like below. Can you help me to fix this problem.
Thanks!
note: Android call with android is normal.
m=video 9 RTP/AVPF 96 97 98 99 100 101 127 123 125
Finally I found the answer, because in android app has a setting to disable encryption in peer connection Factory option cause this bug, so I change disableEncryption to false and every thing work fine.
.setOptions(PeerConnectionFactory.Options().apply {
disableEncryption = false
disableNetworkMonitor = true
})
Related
I am working on a WebRTC video platform using Ion-sfu, which has been a really great experience so far, I have the SFU up and running, the AVP to record sessions, and a browser client working beautifully using the Javascript SDK.
Where I am stuck is with getting the Flutter SDK to play ball, I am using the sample code from the Github repo here:
https://github.com/pion/ion-sdk-flutter
The flutter client is connecting to the SFU, I can see the debug logs from the SFU:
[DEBUG] [57][subscriber.go][func1] => ice connection state: connected
I'm also receiving a stream in the Flutter app coming from my Javascript client, which also works flawlessly, so it appears the RTC connection between all the clients and the SFU is healthy.
I am rendering the local stream from ion.LocalStream.getUserMedia() in my flutter app so the stream also seems to be working, it's just not being published when I call await client.publish(localStream);
I am seeing this message in my debug logs:
I/flutter (12711): [ion-sdk-flutter] DEBUG: msg: {"id":0,"error":{"code":500,"message":"no rtc transport exists for this Peer","data":null},"jsonrpc":"2.0"}
I/flutter (12711): [ion-sdk-flutter] ERROR: error: code => 500, message => no rtc transport exists for this Peer
I am on the Flutter dev channel.
I have been hitting my head on this for some time now so if anybody has had experience using this and could point me in the right direction that would be a great help!
We are using Firebase to push notification to our users.
Here is the statistics when trying to send a notification to 1000 users that have stopped using our app since 2015 :
Android NotRegistered 566
Android success 181
IOS NotRegistered 253
It is obvious that almost 100% of such old users should not be not reachable. (That would mean they have our app still installed in their device without having opened it for 5 years).
Statistic for IOS look good.
But as for Android, there are >20% of tokens for which we receive a successful respons which is unrealistic
I suspect the following reason :
When someone has definitely stopped using their device without having removed the app (a new device was bought and the old one was thrown into a drawer), Google still believe it is alive.
Can you confirm, this is the case. If yes, do you know if Google will end up detecting the device is no more in use (with probability 99.9%), maybe if it fails to send our notification after some days ?
Actually, it is useful to have a relevant estimation of how many users I can reach with push notifications.
We are facing one issue related to Twilio Programmable SDK & AppRTC version 57 for Android. As we have integrated both in existing Android application. You can have a look at the below link for your reference on Gradle dependencies and log cat crash logs.
Logcat crash logs -
E/rtc: #
# Fatal error in ../../webrtc/modules/utility/source/jvm_android.cc, line 233
# last system error: 88
# Check failed: !g_jvm
#
#
08-01 16:54:30.975 9534-9534/? A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 9534
Twilio Programmable Video SDK
While we use Twilio Programmable multi-party video call, it's get crashed for the first time and when we perform same Twilio Programmable multi-party video call for the second time, it's get connected but AppRTC P2P video call gets crashed.
AppRTC
While we use AppRTC P2P video call, first it gets crashed and when we perform same AppRTC P2P video call for the second time, it's get connected but Twilio Multiparty call gets crashed.
As we need both AppRTC & Twilio Programmable Video SDK in our existing project.
Steps to reproduce
Perform AppRTC P2P/Twilio Video call.
When the video call is connected, app crashes.
Perform Twilio/AppRTC P2P Video call.
When the video call is connected, app crashes.
Thanks!
Twilio developer evangelist here.
I believe you've been in contact with Twilio support regarding this issue. I just thought I'd update this publicly too.
Currently, Twilio Video Android SDK is not side-by-side compatible with AppRTC. There is likely to be work in the future to make this possible, but for now it won't work.
When I tried the demo app https://kevingleason.me/AndroidRTC/, it was working as expected.
But when I tried with two android devices, I can make a call and receive call, but they don't get connected. In both devices, its own camera feed is displayed with a text "Connecting...". I tried on both my home Wifi and mobile data 3G. There is no error that I can find in log.
Could anyone help me to resolve the issue please. What is that I am missing here?
I am using the latest code from https://github.com/GleasonK/AndroidRTC which already has the Xirsys ICE servers configured. But I noticed that the Xirsys ICE servers is not added in the below line from VideoChatActivity.java, so I also tried adding that servers into the PnSignalingParams' constructor, but still facing the same Connecting message only.
List<PeerConnection.IceServer> servers = getXirSysIceServers();
if (!servers.isEmpty()) {
this.pnRTCClient.setSignalParams(new PnSignalingParams(servers));
}
I have fixed the issue. It was little tricky. If you see the log, it will show you that the application always execute createOffer method. So both client A and client B will send an offer in same time. You can fix that issue by giving some condition so if the client A give an offer, and the client B will response by give an answer.
To see if any error occurs you can use method onCreateFailure(String s) and onSetFailure(String s) in PnPeer.java.
Hope this will help.
How to stream video in iOS app from GoPro HERO4? I am able to steam using GoPro HERO3. I have tried several ways but failed to stream.
To start streaming you need to execute the URL:
http://10.5.5.9/gp/gpControl/execute?p1=gpStream&c1=start
To stop:
http://10.5.5.9/gp/gpControl/execute?p1=gpStream&c1=stop
Next you can download streaming data using port UDP 8554.
Unfortunately this solution working only with old software version. With last one 02.00.00 not working.