trickle ice
play

Trickle ICE Incremental Provisioning of Candidates for the - PowerPoint PPT Presentation

Trickle ICE Incremental Provisioning of Candidates for the Interactive Connectivity Establishment (ICE) Protocol draft-ivov-mmusic-trickle-ice Eric Rescorla Justin Uberti Emil Ivov draft-ivov-mmusic-trickle-ice 1/16 E. Rescorla, J. Uberti,


  1. Trickle ICE Incremental Provisioning of Candidates for the Interactive Connectivity Establishment (ICE) Protocol draft-ivov-mmusic-trickle-ice Eric Rescorla Justin Uberti Emil Ivov draft-ivov-mmusic-trickle-ice 1/16 E. Rescorla, J. Uberti, E. Ivov

  2. Reminder: Vanilla ICE STUN Alice Bob STUN Server Server disco o ff er and candidates disco answer and candidates … connectivity checks … Vanilla ICE as per RFC 5245 2/16

  3. Reminder: Vanilla ICE vs Trickle ICE STUN STUN STUN STUN Alice Bob Alice Bob Server Server Server Server O/A with host or no cands disco disco disco o ff er and … candidates more cands & conn checks … disco answer and candidates … connectivity checks … Vanilla ICE as per RFC 5245 Trickle ICE 3/16

  4. One Main Remaining Issue How do we handle candidate unfreezing? draft-ivov-mmusic-trickle-ice 4/16 E. Rescorla, J. Uberti, E. Ivov

  5. Unfreezing Pairs Audio.RTP: 5000 Audio.RTCP: 5001 Alice Host: A1 Alice STUN: A2 Video.RTP: 5002 Video.RTCP: 5003 Bob Host: B1 Bob STUN: B2 5/16

  6. Unfreezing Pairs Audio.RTP: 5000 Audio.RTCP: 5001 Alice Host: A1 Alice STUN: A2 Video.RTP: 5002 Video.RTCP: 5003 Bob Host: B1 Bob STUN: B2 A’s lists Host/Host Host/Srflx Srflx/Host Srflx/Srflx Str.Cmp Foundation A1B1 Foundation A1B2 Foundation A2B1 Foundation A2B2 Audio.1 A1:5000/B1:5000 A1:5000/B2:5000 A2:5000/B1:5000 A2:5000/B2:5000 CheckList.1 Audio.2 A1:5001/B1:5001 A1:5001/B2:5001 A2:5001/B1:5001 A2:5001/B2:5001 Video.1 A1:5002/B1:5002 A1:5002/B2:5002 A2:5002/B1:5002 A2:5002/B2:5002 CheckList.2 Video.2 A1:5003/B1:5003 A1:5003/B2:5003 A2:5003/B1:5003 A2:5003/B2:5003 B’s lists Host/Host Host/Srflx Srflx/Host Srflx/Srflx Str.Cmp Foundation B1A1 Foundation B1A2 Foundation B2A1 Foundation B2A2 Audio.1 B1:5000/A1:5000 B1:5000/A2:5000 B2:5000/A1:5000 B2:5000/A2:5000 CheckList.1 Audio.2 B1:5001/A1:5001 B1:5001/A2:5001 B2:5001/A1:5001 B2:5001/A2:5001 Video.1 B1:5002/A1:5002 B1:5002/A2:5002 B2:5002/A1:5002 B2:5002/A2:5002 CheckList.2 Video.2 B1:5003/A1:5003 B1:5003/A2:5003 B2:5003/A1:5003 B2:5003/A2:5003 6/16

  7. Initial Unfreeze Audio.RTP: 5000 Audio.RTCP: 5001 Alice Host: A1 Alice STUN: A2 Video.RTP: 5002 Video.RTCP: 5003 Bob Host: B1 Bob STUN: B2 A’s lists Host/Host Host/Srflx Srflx/Host Srflx/Srflx Str.Cmp Foundation A1B1 Foundation A1B2 Foundation A2B1 Foundation A2B2 Audio.1 A1:5000/B1:5000 A1:5000/B2:5000 A2:5000/B1:5000 A2:5000/B2:5000 CheckList.1 Audio.2 A1:5001/B1:5001 A1:5001/B2:5001 A2:5001/B1:5001 A2:5001/B2:5001 Video.1 A1:5002/B1:5002 A1:5002/B2:5002 A2:5002/B1:5002 A2:5002/B2:5002 CheckList.2 Video.2 A1:5003/B1:5003 A1:5003/B2:5003 A2:5003/B1:5003 A2:5003/B2:5003 B’s lists Host/Host Host/Srflx Srflx/Host Srflx/Srflx Str.Cmp Foundation B1A1 Foundation B1A2 Foundation B2A1 Foundation B2A2 Audio.1 B1:5000/A1:5000 B1:5000/A2:5000 B2:5000/A1:5000 B2:5000/A2:5000 CheckList.1 Audio.2 B1:5001/A1:5001 B1:5001/A2:5001 B2:5001/A1:5001 B2:5001/A2:5001 Video.1 B1:5002/A1:5002 B1:5002/A2:5002 B2:5002/A1:5002 B2:5002/A2:5002 CheckList.2 Video.2 B1:5003/A1:5003 B1:5003/A2:5003 B2:5003/A1:5003 B2:5003/A2:5003 7/16

  8. Check List Unfreeze Audio.RTP: 5000 Audio.RTCP: 5001 Alice Host: A1 Alice STUN: A2 Video.RTP: 5002 Video.RTCP: 5003 Bob Host: B1 Bob STUN: B2 A’s lists Host/Host Host/Srflx Srflx/Host Srflx/Srflx Str.Cmp Foundation A1B1 Foundation A1B2 Foundation A2B1 Foundation A2B2 Audio.1 A1:5000/B1:5000 A1:5000/B2:5000 A2:5000/B1:5000 A2:5000/B2:5000 CheckList.1 Audio.2 A1:5001/B1:5001 A1:5001/B2:5001 A2:5001/B1:5001 A2:5001/B2:5001 Video.1 A1:5002/B1:5002 A1:5002/B2:5002 A2:5002/B1:5002 A2:5002/B2:5002 CheckList.2 Video.2 A1:5003/B1:5003 A1:5003/B2:5003 A2:5003/B1:5003 A2:5003/B2:5003 B’s lists Host/Host Host/Srflx Srflx/Host Srflx/Srflx Str.Cmp Foundation B1A1 Foundation B1A2 Foundation B2A1 Foundation B2A2 Audio.1 B1:5000/A1:5000 B1:5000/A2:5000 B2:5000/A1:5000 B2:5000/A2:5000 CheckList.1 Audio.2 B1:5001/A1:5001 B1:5001/A2:5001 B2:5001/A1:5001 B2:5001/A2:5001 Video.1 B1:5002/A1:5002 B1:5002/A2:5002 B2:5002/A1:5002 B2:5002/A2:5002 CheckList.2 Video.2 B1:5003/A1:5003 B1:5003/A2:5003 B2:5003/A1:5003 B2:5003/A2:5003 8/16

  9. Foundation Unfreeze, All Lists Audio.RTP: 5000 Audio.RTCP: 5001 Alice Host: A1 Alice STUN: A2 Video.RTP: 5002 Video.RTCP: 5003 Bob Host: B1 Bob STUN: B2 A’s lists Host/Host Host/Srflx Srflx/Host Srflx/Srflx Str.Cmp Foundation A1B1 Foundation A1B2 Foundation A2B1 Foundation A2B2 Audio.1 A1:5000/B1:5000 A1:5000/B2:5000 A2:5000/B1:5000 A2:5000/B2:5000 CheckList.1 Audio.2 A1:5001/B1:5001 A1:5001/B2:5001 A2:5001/B1:5001 A2:5001/B2:5001 Video.1 A1:5002/B1:5002 A1:5002/B2:5002 A2:5002/B1:5002 A2:5002/B2:5002 CheckList.2 Video.2 A1:5003/B1:5003 A1:5003/B2:5003 A2:5003/B1:5003 A2:5003/B2:5003 B’s lists Host/Host Host/Srflx Srflx/Host Srflx/Srflx Str.Cmp Foundation B1A1 Foundation B1A2 Foundation B2A1 Foundation B2A2 Audio.1 B1:5000/A1:5000 B1:5000/A2:5000 B2:5000/A1:5000 B2:5000/A2:5000 CheckList.1 Audio.2 B1:5001/A1:5001 B1:5001/A2:5001 B2:5001/A1:5001 B2:5001/A2:5001 Video.1 B1:5002/A1:5002 B1:5002/A2:5002 B2:5002/A1:5002 B2:5002/A2:5002 CheckList.2 Video.2 B1:5003/A1:5003 B1:5003/A2:5003 B2:5003/A1:5003 B2:5003/A2:5003 9/16

  10. Unfreezing Pairs with Trickle Audio.RTP: 5000 Audio.RTCP: 5001 Alice Host: A1 Alice STUN: A2 Video.RTP: 5002 Video.RTCP: 5003 Bob Host: B1 Bob STUN: B2 A’s lists Host/Host Host/Srflx Srflx/Host Srflx/Srflx Str.Cmp Foundation A1B1 Foundation A1B2 Foundation A2B1 Foundation A2B2 Audio.1 A1:5000/B1:5000 A2:5000 A2:5000 CheckList.1 Audio.2 A1:5001/B1:5001 A1:5001/B2:5001 Video.1 A1:5002/B1:5002 CheckList.2 Video.2 A1:5003/B1:5003 B’s lists Host/Host Host/Srflx Srflx/Host Srflx/Srflx Str.Cmp Foundation B1A1 Foundation B1A2 Foundation B2A1 Foundation B2A2 Audio.1 B1:5000/A1:5000 B1:5000/A2:5000 CheckList.1 Audio.2 B1:5001/A1:5001 B2:5001 B2:5001 Video.1 B1:5002/A1:5002 CheckList.2 Video.2 B1:5003/A1:5003 10/16

  11. Unfreezing Pairs with Trickle: Failure Audio.RTP: 5000 Audio.RTCP: 5001 Alice Host: A1 Alice STUN: A2 Video.RTP: 5002 Video.RTCP: 5003 Bob Host: B1 Bob STUN: B2 A’s lists Host/Host Host/Srflx Srflx/Host Srflx/Srflx Str.Cmp Foundation A1B1 Foundation A1B2 Foundation A2B1 Foundation A2B2 Audio.1 A1:5000/B1:5000 A2:5000 A2:5000 CheckList.1 Audio.2 A1:5001/B1:5001 A1:5001/B2:5001 Video.1 A1:5002/B1:5002 CheckList.2 Video.2 A1:5003/B1:5003 B’s lists Host/Host Host/Srflx Srflx/Host Srflx/Srflx Str.Cmp Foundation B1A1 Foundation B1A2 Foundation B2A1 Foundation B2A2 Audio.1 B1:5000/A1:5000 B1:5000/A2:5000 CheckList.1 Audio.2 B1:5001/A1:5001 B2:5001 B2:5001 Video.1 B1:5002/A1:5002 CheckList.2 Video.2 B1:5003/A1:5003 11/16

  12. Two ways to address this • We forget about freezing (Chrome, Firefox) Slim(?) chance of timeouts if STUN & sign lag • We preserve component order May slow delay ICE processing a bit in some cases draft-ivov-mmusic-trickle-ice 12/16 E. Rescorla, J. Uberti, E. Ivov

  13. Now to the fun stu ff : Trickle ICE with SIP draft-ivov-mmusic-trickle-ice-sip Enrico Marocco Christer Holmberg Emil Ivov 13/16

  14. Vague consensus on the following: STUN /TURN Alice Bob STUN/TURN Server Server disco INVITE (Offer) 180 (Answer) 180 (Answer) disco … PRACK / INFO (more cands / end-of-candidates) more cands & conn checks 200 OK (Answer from 180) 5245 SIP re-INVITE / 200 OK media 14/16

  15. Summary of trickle ICE for SIP • PRACK is optional • Can be replaced with INFO: end-of-candidates • Candidates are trickled with INFOs Cumulatively or sequentially? • Cumulative: allows not to care for INFO delivery but • Sequential: easier mapping on top of current WebRTC API 15/16

  16. application/sdpfrag INFO sip:alice@example.com SIP/2.0 ... Info-Package: trickle-ice Content-type: application/sdpfrag Content-Disposition: Info-Package Content-length: ... a=mid:1 a=candidate:1 1 UDP 1658497328 192.168.100.33 5000 typ host a=candidate:2 1 UDP 1658497328 96.1.2.3 5000 typ srflx a=mid:2 a=candidate:2 1 UDP 1658497328 96.1.2.3 5002 typ srflx a=end-of-candidates Content type is application/sdpfrag defined in draft-ivov-mmusic-sdpfrag (help needed) 16/16

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend