title: Failed to set remote video description send parameters IPhone / Android
body: <p>I try to create video call based on webrtc framework between Android phone and IPhone. My android app has older pristine libjingle version of webrtc. Calls between android phones are working fine. Now i need to create the same for IOS. IOS app version has newest GoogleWebRTC pod. 
  I have following call sequence - my IPhone is sending offer sdp to android phone. Then my android phone sets remotedescription for this sdp and sends answer sdp to IPhone. Strange is that after createanswer no ice candidates are generated in android phone. Maybe this is because of the problem described here? The problem is setRemotedescription on IPhone for sdp generated by android. </p>
  
  <blockquote>
    <p>Failed to set remote answer sdp: Failed to set remote video description send parameters</p>
  </blockquote>
  
  <p>Here  is the answer sdp generated by android phone</p>
  
  <p>v=0</p>
  
  <p>o=- 762106171166748079 2 IN IP4 127.0.0.1</p>
  
  <p>s=-</p>
  
  <p>t=0 0</p>
  
  <p>a=group:BUNDLE audio video</p>
  
  <p>a=msid-semantic: WMS localStreamPN</p>
  
  <p>m=audio 9 UDP/TLS/RTP/SAVPF 111 103 9 102 0 8 106 105 13 126</p>
  
  <p>c=IN IP4 0.0.0.0</p>
  
  <p>a=rtcp:9 IN IP4 0.0.0.0</p>
  
  <p>a=ice-ufrag:STWZvyDrg2jrCWD3</p>
  
  <p>a=ice-pwd:h7YcLnaIpyub0Us3pz3WmKTk</p>
  
  <p>a=fingerprint:sha-256 5C:EB:AE:D3:D0:61:7E:49:66:41:27:75:32:2E:7B:D4:63:A3:DE:24:FE:0E:6C:CD:E7:E5:4E:CB:62:DF:1E:62</p>
  
  <p>a=setup:active</p>
  
  <p>a=mid:audio</p>
  
  <p>a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level</p>
  
  <p>a=sendrecv</p>
  
  <p>a=rtcp-mux</p>
  
  <p>a=rtpmap:111 opus/48000/2</p>
  
  <p>a=fmtp:111 minptime=10; useinbandfec=1</p>
  
  <p>a=rtpmap:103 ISAC/16000</p>
  
  <p>a=rtpmap:9 G722/8000</p>
  
  <p>a=rtpmap:102 ILBC/8000</p>
  
  <p>a=rtpmap:0 PCMU/8000</p>
  
  <p>a=rtpmap:8 PCMA/8000</p>
  
  <p>a=rtpmap:106 CN/32000</p>
  
  <p>a=rtpmap:105 CN/16000</p>
  
  <p>a=rtpmap:13 CN/8000</p>
  
  <p>a=rtpmap:126 telephone-event/8000</p>
  
  <p>a=maxptime:60</p>
  
  <p>a=ssrc:389359775 cname:RePIAAwg99g1GmQH</p>
  
  <p>a=ssrc:389359775 msid:localStreamPN audioPN</p>
  
  <p>a=ssrc:389359775 mslabel:localStreamPN</p>
  
  <p>a=ssrc:389359775 label:audioPN</p>
  
  <p>m=video 9 UDP/TLS/RTP/SAVPF 100 127</p>
  
  <p>c=IN IP4 0.0.0.0</p>
  
  <p>a=rtcp:9 IN IP4 0.0.0.0</p>
  
  <p>a=ice-ufrag:STWZvyDrg2jrCWD3</p>
  
  <p>a=ice-pwd:h7YcLnaIpyub0Us3pz3WmKTk</p>
  
  <p>a=fingerprint:sha-256 5C:EB:AE:D3:D0:61:7E:49:66:41:27:75:32:2E:7B:D4:63:A3:DE:24:FE:0E:6C:CD:E7:E5:4E:CB:62:DF:1E:62</p>
  
  <p>a=setup:active</p>
  
  <p>a=mid:video</p>
  
  <p>a=extmap:2 urn:ietf:params:rtp-hdrext:toffset</p>
  
  <p>a=extmap:3 <a href="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" rel="nofollow noreferrer">http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time</a></p>
  
  <p>a=extmap:4 urn:3gpp:video-orientation</p>
  
  <p>a=sendrecv</p>
  
  <p>a=rtcp-mux</p>
  
  <p>a=rtpmap:100 red/90000</p>
  
  <p>a=rtpmap:127 ulpfec/90000</p>
  
  <p>a=ssrc:1543220935 cname:RePIAAwg99g1GmQH</p>
  
  <p>a=ssrc:1543220935 msid:localStreamPN videoPN</p>
  
  <p>a=ssrc:1543220935 mslabel:localStreamPN</p>
  
  <p>a=ssrc:1543220935 label:videoPN</p>
  
  <p>When i print out the same sdp for android to android calls it looks different. I use signaling service via PubNub. I see lot of people are facing that problem but i dont know how to solve it here</p>
  
  <p>Update 2018-08-28: </p>
  
  <p>I followed Your adwice and initialized PeerconnectionFactory following way. But the same error appears - Failed to set remote answer sdp: Failed to set remote video description send parameters (Iphone is failing to set remotedescription for android answer).</p>
  
  <pre><code>let decoderFactory = RTCDefaultVideoDecoderFactory.init()
      let encoderFactory = RTCDefaultVideoEncoderFactory.init()
      let videoCodedInfo = RTCVideoCodecInfo.init(name: "VP8")
      encoderFactory.preferredCodec = videoCodedInfo
      let connectionFactory = RTCPeerConnectionFactory.init(encoderFactory: encoderFactory, decoderFactory: decoderFactory)
  </code></pre>