Environment
Onomondo Core Network
Device: applicable to all
Question
How to test Mobile Terminated (MT) traffic on the Onomondo network?
I want to test the Mobile Terminated scenario, where the NB-IoT device is
EPS Attached
and inRRC Idle
mode. Is this supported?How can I ensure that the connection is kept alive, even when the device is idle and there are incoming messages from the server sent to device IP every X minutes?
Answer
There are multiple options to test MT traffic and maintain the NAT mapping.
Send keepalives from the device every 5–10 minutes to prevent NAT timeout.
Fx., a single
0xFF
byte — from the device to your server.
Use MQTT or CoAP to maintain sessions with built-in keepalives.
These maintain live sessions and help keep NAT open with built-in keepalives.
Adjust for PSM/eDRX (if applicable) so keepalives are sent during active windows.
If the device is asleep, it won’t send the keepalive — and the NAT mapping will expire.
The NAT mapping is created when the device sends Mobile Originated (MO) traffic.
The connection has to be initiated by the device first.
It’s not “true MT” in a 3GPP-core-initiated sense, but for many use cases, it’s more than sufficient.
Workaround 1
Set up an IPSec connector.
This eliminates the need to worry about NAT timeout.
IPSec connectors are currently in beta.
Workaround 2
Using the API, POST a message to the device every time you need to send data to the device.
This solution also eliminates the need to worry about NAT timeout.
If the protocol is
udp
- the packet will be sent to the receiving port.If the protocol is
tcp
- connection will be established with the device on that port, and the data will be sent.If the device does not accept incoming connections on that port - the data will be discarded.