Hi,
I'm currently working on an iOS app that uses WebRTC to connect with a web app. The iOS app will act as the caller and the web app as the callee.
I'm using a generated build from trunk revision 5773 and can successfully (at random times) have sound and video shared from the web app to the iOS app and sound from the iOS app to the web app (per requirement).
My issue is that most of the times the peers fail to connect, throwing errors like "Received STUN request with bad M-I from <ip:port>", "Received STUN request with bad local username <generated-username> from <ip:port>" or even "Received TURN data indication with invalid peer address, addr=<ip:port>".
Since I'm not using trickle ICE "mechanism", and in almost every example I find it's being used, I was wondering if this could cause my connection problems. What I do is:
1. Create the peer connection in the iOS app (adding the stream with audio)
2. As the callback on ice candidate fires (peerConnection:gotICECandidate:) is called , and create the candidate and add him to the peer connection (os the iOS app).
3. When the ICE gathering is completed, I send the SDP offer to the web app.
4. On SDP offer, the web app creates the peer connection and add the local stream (from the getUserMedia).
5. Generate the SDP answer (but don't send it just yet)
6. On icecandidate callback , if we have a candidate I add it to the web app peer connection.
7. After gathering is completed, I send the SDP answer to the iOS app.
I've compared logging for success and error cases and failed detect the issue.
I've attached one log file with an example of the issue I'm facing.
If someone as any hint, it would be appreciated.
Thanks,
Andre