Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Multipath TCP (MPTCP) support #5848

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

Aperence
Copy link

@Aperence Aperence commented Aug 8, 2024

First time contributor checklist

Contributor checklist

  • My commits are rebased on the latest main branch
  • My commits are in nice logical chunks
  • My contribution is fully baked and is ready to be merged as is
  • I have tested my contribution on these devices:
  • iDevice A, iOS X.Y.Z
  • iDevice B, iOS Z.Y

Description

MPTCP is a TCP extension allowing to improve network reliabilty by using mutiple network interface for the same TCP connection. Check https://www.mptcp.dev and https://developer.apple.com/documentation/foundation/urlsessionconfiguration/improving_network_reliability_using_multipath_tcp for details. Changes to this repository consists in setting the multipathServiceType of URLSessionConfiguration to Handover, allowing a seamless transition of interface in case of deterioration of the connection.

@Aperence Aperence changed the title Add Mutipath TCP (MPTCP) support Add Multipath TCP (MPTCP) support Aug 14, 2024
MPTCP is a TCP extension allowing to improve network reliabilty by using mutiple network interface for the same TCP connection. Check https://www.mptcp.dev and https://developer.apple.com/documentation/foundation/urlsessionconfiguration/improving_network_reliability_using_multipath_tcp for details.
Changes to this repository consists in setting the multipathServiceType of URLSessionConfiguration to Handover, allowing a seamless transition of interface in case of deterioration
of the connection.
@211217613
Copy link

211217613 commented Aug 21, 2024

Would this help with call quality when moving away from WiFi to cellular data?

Whenever I move from WiFi access to cellular data i always get a "signal reconnecting" message.

@Aperence
Copy link
Author

As long as the calls use an URLSession with the MultipathServiceType set to Handover mode (which is the suggested changes here), yes there should be an automatic transition to the cellular interface if the Wi-Fi connection becomes poor. The user won’t even notice that the application changed of interface (so there shouldn’t be anymore a message like the connection was lost if you have cellular access).

Note however that it requires server support, so in the end it will also depend about wether the server support mptcp or not (it is suggested to enable it on server side also by default https://www.mptcp.dev/faq.html#why--when-should-mptcp-be-enabled-by-default)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants