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 Attachedand in- RRC Idlemode. 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 - 0xFFbyte — 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.