The IP Multimedia Subsystem (IMS) was created in an era when telecom networks were tightly controlled, largely static, and free of the complex NAT, overlays, and dynamic routing typical of cloud-native environments. Fast-forward to today, and operators increasingly want to run IMS workloads inside Kubernetes, leveraging elastic scaling, declarative infrastructure, and modern CI/CD pipelines.
One of the biggest friction points in this transition is IPSec on the Gm interface, specifically the communication between UE ↔ P-CSCF. While IMS has always relied on IPSec (integrity mandatory, confidentiality optional), it was not originally designed with cloud-native networking in mind.
This is where 3GPP TS 33.203 Annex M becomes critical. Annex M defines the normative behavior for IPSec NAT Traversal (NAT-T) within IMS. And without proper support for this mechanism, running a modern, scalable, multi-node IMS in Kubernetes becomes fragile — if not outright impossible.
1. The Challenge: IPSec in a Cloud-Native World
Traditional telecom systems typically place the P-CSCF on a deterministic IP address with no intermediate NAT. Kubernetes is different:
- Nodes sit behind cloud provider NAT or routing boundaries
- Pods use overlay networks (VXLAN, Geneve, IP-in-IP)
- CNIs like Cilium introduce eBPF-based forwarding
- Load balancers inject additional layers of source-NAT
- Multi-node scheduling means the P-CSCF may move at any time
This dynamic environment creates a fundamental problem:
Classic IPSec tunnel mode breaks when the UE and P-CSCF endpoints are separated by NAT.
And unlike generic VPN scenarios, an IMS UE does not diagnose or work around NAT on its own. It relies entirely on the behavior defined by the 3GPP standard.
2. What Annex M Defines — and Why It's Essential
3GPP TS 33.203 Annex M introduces a mandatory fallback behavior for IMS UEs and P-CSCFs when NAT is detected:
- Use UDP encapsulation for IPSec (RFC 3947 / 3948)
- Maintain keep-alive flows to preserve NAT bindings
- Apply specific behavior for SPI negotiation across NAT
- Reject registration if the NAT-T behavior is not supported
Critical Requirement
If your IMS core does not support NAT-T as defined in Annex M, your system will fail any scenario where the P-CSCF is behind NAT — which includes most Kubernetes-based setups.
With proper NAT-T support, the UE ↔ P-CSCF tunnel becomes fully robust, even in dynamically scheduled containers and multi-node clusters.
3. Horizontal Scalability Enabled by NAT-T
A core design goal of cloud-native IMS is horizontal scaling — the ability to run multiple P-CSCF instances across several worker nodes and scale them up or down on demand.
NAT-T makes this possible.
3.1 Predictable IPSec behavior across nodes
When NAT is present, UDP-encapsulated IPSec behaves consistently regardless of which node or subnet a P-CSCF pod resides on.
This eliminates failures caused by:
- Asymmetric routing
- Changing source addresses
- Node rebalancing
- SNAT inconsistencies
3.2 Seamless P-CSCF scaling
With NAT-T:
- Scaling out = creating new IPSec termination points without breaking existing sessions
- Scaling in = gracefully draining pods without dropping tunnels
- Rolling upgrades = no tunnel resets during node rotations
IMS finally behaves like a cloud-native microservice, not a monolithic appliance that must run on fixed hardware.
3.3 True resilience through multi-node distribution
By allowing stable tunnels across nodes, NAT-T enables:
Multi-Zone Deployments
Distribute across availability zones
Node Autoscaling
Dynamic capacity management
Self-Healing
Kubernetes-native recovery
Stateful HA
No fixed IP dependencies
This dramatically simplifies running P-CSCFs in production while increasing reliability.
4. Unlocking High Throughput: Full IPSec Offload with SmartNICs
A second pillar of modern IMS deployment is performance.
IPSec is computationally expensive: SHA-1/HMAC for integrity, AES for encryption, ESP encapsulation, and now UDP encapsulation for NAT-T.
In traditional VM-based IMS systems, this processing burden sits on the CPU. In Kubernetes, it's even worse because pods share CPU cores with many other services.
For large deployments — tens or hundreds of thousands of UEs — CPU-based IPSec termination becomes the bottleneck.
Enter SmartNIC offload
Modern NICs such as NVIDIA/Mellanox ConnectX support:
- ESP transformation
- NAT-T UDP encapsulation
- Integrity checks
- Encryption/decryption
- Inline packet steering
All performed directly on the NIC.
Our Implementation
In our deployment, 100% of IPSec processing (including NAT-T) is offloaded to NVIDIA/Mellanox SmartNICs.
This provides enormous benefits:
🚀 Reduced CPU Load
Free up compute resources for application logic
📊 Higher Throughput
Process more sessions per node
⚡ Lower Latency
Hardware-speed packet processing
📈 Predictable Performance
Consistent behavior under load
As a result, IMS access security — historically a performance concern — aligns beautifully with modern NFV and cloud-native goals.
5. Implications for Operators and Vendors
Supporting NAT-T and hardware offload fundamentally changes what an IMS core can be:
5.1 Deploy IMS anywhere
- Public cloud (GKE, AWS, Azure)
- Private datacenter
- Edge clusters
- Hybrid environments
The network topology no longer constrains the IMS architecture.
5.2 Treat IMS like any other Kubernetes microservice
- Autoscale based on demand
- Roll updates without downtime
- Use GitOps workflows
- Apply multi-node scheduling
- Leverage Cloud LB + Ingress routing
IMS finally fits into the DevOps model instead of working against it.
5.3 Interoperate seamlessly with commercial UEs
Since all major VoLTE/VoWiFi-capable devices already implement the Annex M NAT-T behavior, no device-side changes are required.
Conclusion
3GPP TS 33.203 Annex M is one of the most important — yet often overlooked — enablers for running IMS in cloud-native environments. By implementing full NAT-T support and combining it with hardware-based IPSec offload, operators gain:
- Stronger reliability
- True horizontal scalability
- Higher throughput
- Lower latency
- Resilient multi-node IPSec termination
- Compatibility with commercial devices
- Freedom to deploy IMS anywhere, including Kubernetes
IPSec NAT-T + SmartNIC offload transforms IMS from a legacy network function into a fully cloud-native, horizontally scalable platform ready for modern deployments.