Skip to content

Conversation

@LarryLaffer-dev
Copy link
Contributor

Summary

Details

Solution

Compatibility

Closing issues

Implement IPSec NAT Traversal according to:
- 3GPP TS 33.203 Annex M: IPsec NAT traversal
- 3GPP TS 24.229: IP multimedia call control protocol
- RFC 3948: UDP Encapsulation of IPsec ESP Packets

New features:
- New module parameter 'nat_traversal' (default: 0/disabled)
- Support for mod=UDP-enc-tun in Security-Client headers
- UDP encapsulation for ESP packets when NAT-T mode is negotiated
- Tunnel mode instead of transport mode for NAT-T SAs
- New pseudo-variable field $ipsec(mode) to query the IPSec mode
- Persistent storage/restoration of NAT-T mode in usrloc

When nat_traversal=1, the module accepts Security-Client headers
with mod=UDP-enc-tun and creates Security Associations with
UDP encapsulation (ESPINUDP) in tunnel mode, allowing UEs behind
NAT devices to establish IPSec tunnels with the P-CSCF.
- Introduced clustering and multi-node support in the Auth_aka module.
- Added `cachedb_url` parameter to enable synchronization of authentication vectors across OpenSIPS nodes.
- Implemented CacheDB functions for storing, fetching, and removing authentication vectors.
- Updated README and admin documentation to reflect new features and usage examples.
- Modified existing functions to integrate CacheDB operations for cross-node authentication.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant