0

I'm trying to connect two computer to exchange video stream. I was able to receive the SDP offer and also added the stream from the offerer/caller. But failed to create an SDP answer.

0.021: Creating RTCPeerConnection...
0.021: Success to create RTCPeerConnection.
0.987: Requesting local stream.
4.180: Received local stream.
22.120: Received Offer.
22.120: Remote stream added.
Error:  CreateAnswer failed.
22.169: Received Candidate: a=candidate:1998176022 1 udp 2122260223 192.168.88.208 46443 typ host generation 0
22.226: Received Candidate: a=candidate:1998176022 2 udp 2122260223 192.168.88.208 46443 typ host generation 0
22.226: Received Candidate: a=candidate:1998176022 1 udp 2122260223 192.168.88.208 46443 typ host generation 0
22.227: Received Candidate: a=candidate:1998176022 2 udp 2122260223 192.168.88.208 46443 typ host generation 0
22.256: Received Candidate: a=candidate:966411238 1 tcp 1518280447 192.168.88.208 0 typ host generation 0
22.372: Received Candidate: a=candidate:966411238 2 tcp 1518280447 192.168.88.208 0 typ host generation 0
22.373: Received Candidate: a=candidate:966411238 1 tcp 1518280447 192.168.88.208 0 typ host generation 0
22.373: Received Candidate: a=candidate:966411238 2 tcp 1518280447 192.168.88.208 0 typ host generation 0

The communication was successful when I have 2 browser opened in only 1 computer, it was able to stream the video seamlessly.

The issue occur when I use 2 different computer to communicate with each other.

SDP Offer

v=0
o=- 3647929299 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS 8TnXkmBI0ZEOHDznXdmqS7dVSEU2PxGhXW60
m=audio 1 RTP/SAVPF 103 104 111 0 8 107 106 105 13 126
c=IN IP4 0.0.0.0
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:Z9+/jlU5Wynz9M1K
a=ice-pwd:L4UqsHcKsL5J+sPCndmJ5uhv
a=ice-options:google-ice
a=recvonly
a=mid:audio
a=rtcp-mux
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:BhKxBEhmKA8IB8teXTaVgFF2xCdQhQolQVslK/Oa
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:107 CN/48000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:126 telephone-event/8000
a=maxptime:60
m=video 1 RTP/SAVPF 100 116 117
c=IN IP4 0.0.0.0
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:Z9+/jlU5Wynz9M1K
a=ice-pwd:L4UqsHcKsL5J+sPCndmJ5uhv
a=ice-options:google-ice
a=sendrecv
a=mid:video
a=rtcp-mux
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:BhKxBEhmKA8IB8teXTaVgFF2xCdQhQolQVslK/Oa
a=rtpmap:100 VP8/90000
a=rtpmap:116 red/90000
a=rtpmap:117 ulpfec/90000
a=ssrc:1877114908 cname:WqJ/aC1amc1HeATB
a=ssrc:1877114908 msid:8TnXkmBI0ZEOHDznXdmqS7dVSEU2PxGhXW60 8TnXkmBI0ZEOHDznXdmqS7dVSEU2PxGhXW60v0
a=ssrc:1877114908 mslabel:8TnXkmBI0ZEOHDznXdmqS7dVSEU2PxGhXW60
a=ssrc:1877114908 label:8TnXkmBI0ZEOHDznXdmqS7dVSEU2PxGhXW60v0
  • are the computers on the same network? Using the same type of browser? What does the offering SDP look like? What type of restrictions do you have set for the media and the SDPs? – Benjamin Trent Jun 05 '14 at 12:34
  • Yes it is. I even try to connect them directly. I've use google chrome for both. I've edit my question to include the SDP. – Greatxam Darthart Jun 06 '14 at 03:02
  • Your SDP has not set any candidates. Meaning, no ports or addresses are being set in the SDP for either media types or their control packets. Is this what the SDP looks like after you set it as your LocalDescription? Sending this SDP out would get you nowhere as the connection info is non-existent. – Benjamin Trent Jun 06 '14 at 13:07
  • I sent the candidates on deferent signal message. Do I need to append the candidate before I send the SDP? But the candidate handler function is called after the creation of offer SDP. – Greatxam Darthart Jun 10 '14 at 06:20
  • Are you adding a candidate before adding the remit sdp and creating the answer? – Benjamin Trent Jun 10 '14 at 11:28
  • It seems my trace log indicates that it create the answers first before adding the candidate. – Greatxam Darthart Jun 11 '14 at 02:24
  • How do I force the api to generate candidate first? – Greatxam Darthart Jun 14 '14 at 03:02
  • You can wait to send it(set your local sdp and then when icesignallingstate is complete send the the sdp) or handle the candidates through ice trickling, sending each one as it is gathered. When the local sdp is set is when the client queries the ice servers for candidates. – Benjamin Trent Jun 14 '14 at 03:19

0 Answers0