title: webRTC on iOS: Can't send SDP answer, RTCPeerConnection.setRemoteDescription() failed
body: <p>I'm using <code>libjingle_peerconnection</code> installed with cocoapods. When I receive SDP offer through signaling server from my caller, I'm trying to set this as a remote description, which triggers <code>RTCSessionDescriptionDelegate</code> <code>peerConnection:didSetSessionDescriptionWithError:</code>
  with error: </p>
  
  <p><code>Error Domain=RTCSDPError Code=-1 "(null)" UserInfo={error=Failed to set remote answer sdp: Called in wrong state: STATE_INIT}</code>. </p>
  
  <p>My code is:</p>
  
  <pre><code>- (void)transportChanell:(TransportChannel *)channel didReceivedSignalWithSessionDescription:(NSString *)sessionDescription withType:(NSString *)type {
      RTCSessionDescription *remoteDesc = [[RTCSessionDescription alloc] initWithType:@"answer" sdp:sessionDescription];
      [_peerConnection setRemoteDescriptionWithDelegate:self sessionDescription:remoteDesc];
  }
  </code></pre>
  
  <p>I've investigated the problem quite a lot and found in webRTC source code the place, as I suppose, this error comes from <code>BadRemoteSdp(type, BadStateErrMsg(state()), err_desc);</code> and all possible states of <code>WebRtcSession</code> are:</p>
  
  <pre><code>    STATE_INIT = 0,
      STATE_SENTOFFER,         // Sent offer, waiting for answer.
      STATE_RECEIVEDOFFER,     // Received an offer. Need to send answer.
      STATE_SENTPRANSWER,      // Sent provisional answer. Need to send answer.
      STATE_RECEIVEDPRANSWER,  // Received provisional answer, waiting for answer.
      STATE_INPROGRESS,        // Offer/answer exchange completed.
      STATE_CLOSED,            // Close() was called.
  </code></pre>
  
  <p>Any suggestions, please, what could I missed in caller or callee side? </p>