Sean DuBois
f3fa47ce89
Remove IceControlled/Priority from ICE keepalive
...
IceControlled is incorrect if agent is controlling, instead of fixing
remove instead. We don't need these two values in the keepalive.
Resolves #187
2018-09-29 15:48:25 -07:00
Sean DuBois
45ba620e1d
Add MessageIntegrity + Username in ICE keepalive
...
libnice is discarding our keepalives without them
Resolves #178
2018-09-26 00:05:09 -07:00
backkem
75b59db8f0
ICE: Cleanup agent notifier
...
Relates to #159
2018-09-22 14:58:34 -07:00
backkem
8d0ee4d171
ICE: Improve nomination
...
- Avoid USE-CANDIDATE attribute in controlled agent binding requests.
- Don't respond to success responses in handleInboundControlled.
- Controlling agent now re-sends binding with USE-CANDIDATE when
receiving a binding request from a controlled agent.
Resolves #164
2018-09-22 14:12:53 -07:00
backkem
5798f394a3
ICE: Implement keep-alive
...
- Periodically send a keep-alive Binding Indication.
- Downgrade connection state to disconnected after timeout.
Resolves #163
2018-09-22 13:00:54 -07:00
Sean DuBois
b489b33a57
Fix IceAgent improperly returning XorAddress
...
IceAgent improperly returns XorAddress when finding ports.
This would cause the portManager to fail finding the relevant port
since we are bound on the local (and not our public XorAddress)
Resolves #140
2018-09-14 22:34:02 -07:00
Konstantin Itskov
951e6eb77c
Change package title documentation for ice and rtcerr
2018-09-04 16:31:45 -07:00
Sean DuBois
43bef20c8e
Partial revert of 17992910bf
...
Commit added debugging Printfs
2018-09-04 16:29:37 -07:00
Sean DuBois
41e7adbb2b
Run GoFmt
2018-09-03 12:50:54 -07:00
wattanakorn495
17992910bf
clean agent.go
2018-09-03 12:50:08 -07:00
wattanakorn495
de4750ba7b
fix gofmt
2018-09-03 12:50:08 -07:00
wattanakorn495
274ea378e4
both controlling and controlled agent can pingcadidate
2018-09-03 12:50:08 -07:00
Konstantin Itskov
12894d097b
Fix all issues related to math/rand
2018-08-28 01:03:09 -07:00
Konstantin Itskov
7b7a349071
Add a bunch of documentation all over the library strucutres
2018-08-28 01:03:09 -07:00
Konstantin Itskov
0008c7263d
Fix a unittest failure due to closing nil channel
2018-08-28 01:03:09 -07:00
Konstantin Itskov
e8364dc5e9
Add fully working RTCIceServer with 100% unit-test code coverage
2018-08-28 01:03:09 -07:00
Sean DuBois
0bafbf4867
Unexport ice.NewCandidatePair
2018-08-18 00:18:23 -07:00
Sean DuBois
a268c1e86e
Fix all lint errors
2018-08-18 00:18:23 -07:00
backkem
aa22a92b18
datachannel: handle data before final ICE pair selection, fix agent deadlock
2018-08-18 00:18:23 -07:00
Sean DuBois
ceed0bb590
When comparing candidates check Host+Srflx
2018-08-17 00:00:44 -07:00
Sean DuBois
78b6a76cc5
Revert "Move ICE package from public to internal folder structure"
...
ICE Package needs to be public for peerConnection.OnICEConnectionStateChange
This reverts commit b831f87d28
.
2018-08-16 10:10:29 -07:00
Konstantin Itskov
b831f87d28
Move ICE package from public to internal folder structure
2018-08-16 01:28:48 -07:00
Sean DuBois
ae2ee106e6
Fix deadlock in ICEAgent, early exit failed to unlock mutex
...
Reported+Fixed by @backkem
2018-08-15 12:05:39 -07:00
Konstantin Itskov
46231d9c39
[WIP] Add complete sdp parsing improved implementation
2018-08-14 00:56:51 -04:00
Sean DuBois
02e72796d4
Emit ICEConnectionState to user API again
2018-08-11 13:56:28 -07:00
Sean DuBois
283404bd6c
Remove all panics in library code
2018-08-11 13:56:28 -07:00
Sean DuBois
938e490c39
Fix all lint errors, move SDP code to proper package
2018-08-11 13:56:28 -07:00
Sean DuBois
9cb64036b2
Finish ICE implementation
2018-08-11 13:56:28 -07:00
Sean DuBois
4de5016f96
Everything works, bug with MessageIntegrity
...
pion-WebRTC passes through every step, but messages get discared because
MI check is failing. We are able to Offer (or answer) to Chrome after
this is done
2018-08-11 13:56:28 -07:00
Sean DuBois
571bfc7c4f
Start to refactor signaling so we can support Offers
2018-08-11 13:56:28 -07:00
Sean DuBois
e4b3defcc1
Everything works again!
...
All the examples need to be updated, SDP should only be
emitted after gathering is done (until we support trickle)
Currently we can't be controlling-ICE, but that is probably a days
worth of work. After that is done pion-WebRTC should be able to talk
to itself.
2018-08-11 13:56:28 -07:00
Sean DuBois
1be721e5fa
ICE works again, with proper agent implementation
...
Candidates are now generated with real priority, and actually pay
attention to the inbound messages.
Next we just need to pluck use-candidate + ice-controlling from the
messages and we will have a full-ice implementation (but we are not
controlling)
We then need to add timers to alert when the peer goes away OR when we
need to send again.
2018-08-11 13:56:28 -07:00
Sean DuBois
3ebc6fe428
Create Local Candidates
2018-08-11 13:56:28 -07:00
Sean DuBois
0c08a67e20
Start full ICE implementation for #23
2018-08-11 13:56:28 -07:00
backkem
7f682d2d2e
api: match WebRTC api more closely
2018-07-16 14:20:18 -07:00