Skip to content
This repository has been archived by the owner on Aug 25, 2021. It is now read-only.

WebRTC relay mode configuration #79

Merged
merged 16 commits into from
Jan 21, 2020
Merged

WebRTC relay mode configuration #79

merged 16 commits into from
Jan 21, 2020

Conversation

evdokimovs
Copy link
Contributor

@evdokimovs evdokimovs commented Jan 6, 2020

Part of #27

Synopsis

RTCPeerConnection can be configured to relay all media through TURN server. This behavior is managed by RTCIceTransportPolicy.

This PR adds opportunity to enable relay mode of RTCPeerConnection by Control API.

Solution

  • 1. Add is_relay to the Control API
  • 2. Add is_relay into Event::PeerCreated in the Client API
  • 3. Based on Event::PeerCreated::is_relay select RTCIceTransportPolicy "all" (if is_relay is false) or RTCIceTransportPolicy "relay" (if is_relay is true)

Checklist

  • Created PR:
    • In draft mode
    • Name contains WIP: prefix
    • Name contains issue reference
    • Has k:: labels applied
    • Has assignee
  • Documentation is updated (if required)
  • Tests are updated (if required)
  • Changes conform code style
  • CHANGELOG entry is added (if required)
  • FCM (final commit message) is posted
    • and approved
  • Review is completed and changes are approved
  • Before merge:
    • Milestone is set
    • PR's name and description are correct and up-to-date
    • WIP: prefix is removed
    • All temporary labels are removed

@evdokimovs evdokimovs added enhancement Improvement of existing features or bugfix k::refactor Refactoring, technical debt elimination and other improvements of existing code base labels Jan 6, 2020
@evdokimovs evdokimovs added this to the 0.2.0 milestone Jan 6, 2020
@evdokimovs evdokimovs self-assigned this Jan 6, 2020
@evdokimovs
Copy link
Contributor Author

evdokimovs commented Jan 6, 2020

FCM

WebRTC relay mode configuration (#79)

- add 'force_relay' field into Client API's Event::PeerCreated
- add 'force_relay' field into Control API's WebRtcPublishEndpoint and WebRtcPlayEndpoint
- configure RTCIceTransportPolicy basing on 'force_relay' option
- add 'force_relay' mode selection into 'e2e-demo' Control API UI 
- add 'force_relay' option support into 'medea-control-api-mock'

@evdokimovs evdokimovs marked this pull request as ready for review January 6, 2020 12:45
@evdokimovs evdokimovs requested a review from alexlapa January 6, 2020 12:45
@alexlapa alexlapa requested a review from tyranron January 20, 2020 07:41
@tyranron tyranron added k::design Related to overall design and/or architecture k::api Related to API (application interface) and removed k::refactor Refactoring, technical debt elimination and other improvements of existing code base labels Jan 21, 2020
@tyranron tyranron changed the title WIP: WebRTC relay mode configuration WebRTC relay mode configuration Jan 21, 2020
docs/rfc/0001-control-api.md Outdated Show resolved Hide resolved
docs/rfc/0002-webrc-client-api.md Outdated Show resolved Hide resolved
@evdokimovs evdokimovs merged commit cbb243c into master Jan 21, 2020
@evdokimovs evdokimovs deleted the ice-transport-policy branch January 21, 2020 14:22
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement Improvement of existing features or bugfix k::api Related to API (application interface) k::design Related to overall design and/or architecture
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants