Moving data over ultra constrained network path

I have an app with lots of networking calls that are currently done through URLSession. We would like to implement the new carried constrained entitlements and begin moving data through the ultra constrained network path for core features of our application. I have successfully implemented the NWPathMonitor to identify when the current network path is ultra constrained and I have been consistently on a physical device in a real world environment.

I'm aware that we will not be able to use URLSession to do this from other posts in this forum like this one. Because of this problem with URLSession I am attempting to fallback to using NWConnection when the current path is ultra constrained. I have setup a NWConnection with the NWParameters.allowUltraConstrainedPaths set to true. The request works perfectly when connected to wifi or cellular. However, it does not work at all when the current path is ultra constrained. When attempting this request through my NWConnection I receive an error that says:

The operation couldn’t be completed. (Network.NWError error 50 - Network is down)

Is this expected? I have confirmed my physical device is connecting to carrier provided satellite and I have been able to load data in other ios apps from Apple like the music app while on this carrier constrained connection. If this is not the correct way to move data when the path is ultra constrained what is the correct way?

Answered by jet-valdez in 856413022

We figured this out. It was an issue with the cellular carrier and not an issue in the Apple SDK. Things are working as expected now. Thanks for taking a look.

Is this expected?

Not by me.

Please file a bug about this then post your bug number here so that I can take a proper look.

Make sure to:

  1. Install the Network Diagnostics debug profile, available from our Bug Reporting > Profiles and Logs page.
  2. Reproduce the problem.
  3. Trigger your sysdiagnose immediately after that.
  4. Attach that sysdiagnose log to your bug report.

Oh, and if you can write a small test project to reproduce this, rather than testing with your main app, that’d be grand. And if you do that, please attach the test project as well. But that’s definitely optional. What I really need to see is the sysdiagnose log.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Also, I noticed when out in the field debugging that when the NWPath reports that it isUltraConstrained the path is always .unsatisfied. Is this expected?

Got a bug report filed: FB19977586.

Thanks.

Note It’s better to reply as a reply, rather than in the comments; see Quinn’s Top Ten DevForums Tips for this and other titbits.

Also, I noticed when out in the field debugging that when the NWPath reports that it isUltraConstrained the path is always .unsatisfied. Is this expected?

Well, it kinda gels with your previous point. Either the ultra-constrained network isn’t working at all, or something is preventing your app from using it. I’m hoping your bug report will tell which it is.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

We figured this out. It was an issue with the cellular carrier and not an issue in the Apple SDK. Things are working as expected now. Thanks for taking a look.

Moving data over ultra constrained network path
 
 
Q