Hologram SIM Timeout for UDP (used on Particle hardware)


#1

It’s been a while since we discussed this topic (2 yrs), so re-starting here.

Background: Different SIM’s have different timeouts for UDP device listening sockets. For example, the Particle SIM has an extraordinarily long timeout of 23 minutes. My Hologram SIM, currently used on my Particle Electron, times out much faster, within a minute or two, it seems (some SIM’s can be as little as 30 seconds). This means I need to use a “keep alive” ping on the Electron to keep the connection open, allowing me to use such features as OTA. Pings cost data, which cost money (122 bytes per keep-alive ping). A 2-minute ping frequency translates to 2.6 MB/month.

  1. I would like to know what the OFFICIAL keep-alive time is for Hologram SIM’s, for the various operators, or at least for the ones I use (AT&T, T-Mobile, Verizon).

  2. Are the values expected to be the same for 3G and Cat-M?

UPDATE: Looks like my Particle Electron / Hologram SIM combo on AT&T goes deaf after about a minute. Wow. That will cost me a ton of data to keep UDP up and open; something like 5.2MB / month, not including any data payload. Let’s call it 6MB for the pricing model, so 6 x 0.6, or $3.60, plus the basic $0.40. Looks like $4.00 / month per device, which is now more expensive than a Particle SIM. How about that!

Thanks!


#2

Different SIM’s have different timeouts for UDP device listening sockets.

Do you have some references for that? I would be interested to know if this behavior is documented.

I use Hologram SIM’s on Cat-M1 modems with a UDP listening socket and although I havent measured the timeout I can confirm I have sent messages ~10 minutes after the listening socket was created.

Also I don’t think Hologram will be able to provide answers even if it is a function of the simcard and carrier as I doubt it is part of their contractual agreement. (If I were a carrier I would want the flexibility to adjust how I kick certain devices off over time).


#3

Hey, Andrew,

Glad to hear you can reach your device via UDP after 10 minutes with Hologram. My Particle Electron is consistently deaf by the 3-minute mark or so. (AT&T, southeast Michigan).

Here’s some background (bold is mine):

"About keep-alive

When mobile devices, including phones and the Electron and Boron, connect to the Internet they share a connection through their mobile carrier, similar to how multiple computers in your home share a connection through your home router.

When the device sends data to the Particle cloud, the carrier also opens up a reverse channel to allow the Particle cloud servers to send data back to the device.

(Technically speaking, the device sends UDP data out, and the carrier creates port forwarding to a UDP listening port on the device to get data back.)

These return data channels take up resources on the carrier network, so they like to clean up the unused ones to free up the resources. The Particle SIM has an unusually long timeout of 23 minutes. Most carriers use a timeout of between 30 seconds and several minutes.

When the return channel is freed, the device will continue to breathe cyan, because it doesn’t know that it has occurred. Also, it will still be able to send data to the cloud, so things like Particle.publish will work, and will also restart the return channel if it has been cleaned up."

https://docs.particle.io/support/particle-devices-faq/electron-3rdparty-sims/#setting-up-a-3rd-party-sim-card-boron

And this thread, which I participated in back in 2016:


#4

Update on testing Hologram SIM in the Particle Electron 3G (Feb 2019):

Result: Hologram timeout seems to consistently tear down the UDP listening port when connected on AT&T in about a minute. Particle SIM (default connects to T-Mobile) goes for 23 minutes, then pings to “keep alive” the session.

Hologram, you are free to confirm or deny. :grin: But please do one or the other.


#5

Hi Michael,

There’s been similar issues recently. I have been discussing them the board with a few other group members who are having some of the same network problems.

Using Hologram SIM, I pinged the tower to T-Mobile network, so I went to T-Mobile and bought a SIM just to see if there was a difference. Result: The device didn’t timeout using a cron job every 30 minutes, so i can agree that T-Mobile timeout is at-least the 23 minutes you describe. I was going to try AT&T so thanks for the information on your experience.

Jeremy


#6

Thanks very much, Jeremy.

Another piece of the puzzle slides into place!

May I ask what type of T-Mobile SIM? Voice/data or data only?

I may try the same!


#7

No problem. The T-Mobile SIM is Voice/data, but I would assume that data only would provide the same result. Actually, I thought about looking into the data only SIM earlier today… Might be worth the try.


#8

Excellent, thanks. I will post any updates / progress / quirks here.


#9

OK, sounds good. It would be very interesting to know the answer to your question about Hologram timeout period.

I’ll ask again. What is Hologram connection’s official timeout?

Jeremy
https://community.hologram.io/t/is-hologram-getting-the-short-end-of-the-stick/2416
https://community.hologram.io/t/continuous-indefinite-connection/2470/7


#11

Hi All - Thanks for raising this. This is a common request from our Particle users and as you’re discussing, the timeout values for Particle’s MVNO over UDP are extended beyond traditionally default firewall and network values for UDP. Our default open and ready states for UDP are at 60s. For those that are interested in testing out higher UDP timeout values, please reach out to success@hologram.io. Would like to try something new we’re working on with you to see if it helps with your use case on the Electron.


#12

Hi, Ryan, thank you so much for this information!

It really helps put the proverbial “stake in the ground“ so we know what base to start from, and what test timeouts and keep-alives to use when using Hologram SIMS.

Michael


#13

Hi Michael,
Were you able to solve the issue?


#14

Well, let’s just say that I understand it much better now, especially with the confirmation from Ryan on Hologram’s timeout values.

Now it’s just an economic balancing case for those situations where UDP listening port is required: Hologram remains an economic value leader, but has a short UDP timeout. Pinging the cloud with data to keep that connection open brings them roughly to parity with particle on data cost.


#15

@MichaelM I had an idea to reset the SIM by placing a reset command in the program. I’m unsure about the technological logic of what problems it could bring, but it seems to work. What are your thoughts?