OmniSEPP
OmniSEPP is the Security Edge Protection Proxy (SEPP) for the Omnitouch 5G Core. It sits on the inter-PLMN (roaming) edge and terminates the N32 interface between a home network and its roaming partners, protecting signalling that crosses the PLMN boundary.
The SEPP is defined by 3GPP TS 23.501 §6.2.17. Its security behaviour is specified in 3GPP TS 33.501 (N32-f TLS mode in §13.1, topology hiding in §13.2) and the N32 interface itself in 3GPP TS 29.573 (the N32-c handshake in §5.2.3 / §6.1.5.2, N32-f message forwarding in §5.3).
The N32-c capability handshake (responder and initiator, the latter driven automatically at start-up), the roaming-partner registry, topology hiding, and the TLS-mode N32-f relay (inbound and outbound) are implemented and wired. The SBI/N32 listener terminates TLS itself when
sbi_schemeishttps, including mutual (client-certificate) TLS against a configured CA, and the N32 association context is persisted so it survives a restart.
Documentation
- Operations Guide - Architecture, N32-c handshake and N32-f relay flows, endpoints, and day-to-day operation
- Configuration Reference - Every configuration key and environment variable, including the nested roaming-partner and topology-hiding maps
- Metrics and Monitoring - What is observable today through structured logs
- Troubleshooting - Common issues and resolutions
Architecture Overview
OmniSEPP straddles the boundary between the home PLMN and one or more roaming partners. Partner SEPPs first negotiate an N32 security association over N32-c, then exchange service-based signalling over N32-f. On the home side, OmniSEPP relays inbound N32-f traffic to internal network functions and registers itself with the NRF.
The N32 interface has two logical channels:
- N32-c (control): a short-lived HTTP/2 handshake in which the two SEPPs negotiate a single mutually-supported N32-f security capability and establish the N32 association.
- N32-f (forwarding): the ongoing relay of service-based (SBI) messages between the PLMNs, in TLS mode today.
Features Overview
Core Functionality
- N32-c Security Capability Negotiation - Responder and initiator roles. The SEPP negotiates a single mutually-supported N32-f security capability from its locally-preferred list. The initiator handshake toward each configured roaming partner is driven automatically at start-up.
- N32 association context store - Persistent (DETS-backed) record of each established association, keyed by the remote SEPP FQDN, that survives a process or node restart.
- N32-f relay (TLS mode) - Relays partner traffic inbound to the internal NF addressed by the
3gpp-Sbi-Target-apiRootheader, and relays consumer-originated traffic outbound to the roaming-partner SEPP selected by target PLMN. - In-app N32 TLS - When
sbi_schemeishttpsthe listener terminates TLS using the configured certificate and key, and requires and verifies the peer SEPP's client certificate when a CA is configured (N32-f TLS mode, TS 33.501 §13.1). - Topology hiding - Operator-configured, whole-host FQDN rewriting that masks internal NF identities outbound and reverses them inbound (TS 33.501 §13.2).
- Roaming-partner registry - Static allow-list of partner PLMNs; only configured partners are relayed to or from.
Integration Points
- Roaming Partner SEPP (N32-c / N32-f) - The peer SEPP in a partner PLMN.
- Internal NFs (SBI) - AMF, SMF, AUSF, UDM and other producers that inbound partner traffic is relayed to.
- NRF (SBI) - OmniSEPP registers with the local NRF as NFType
SEPPand heartbeats, so local consumers and the SCP can discover it (TS 29.573 cl 4.2.1). The remote peer SEPP is resolved from the staticroaming_partnersconfiguration per roaming agreement, not by NRF discovery, which is the intended model for inter-PLMN peer resolution.
Configuration Summary
All configuration lives under the :omnisepp application key. A subset of keys can be overridden by
environment variables in the production runtime configuration; the nested maps
(roaming_partners, topology_hiding_map) are set through the application config file only. See the
Configuration Reference for the complete parameter tables.
config :omnisepp,
sbi_scheme: "http",
sbi_addr: "127.0.0.22",
sbi_port: 7777,
# TLS material for the N32 listener, used only when sbi_scheme is "https"
sbi_certfile: nil,
sbi_keyfile: nil,
sbi_cacertfile: nil,
nrf_uri: "http://127.0.0.10:7777",
mcc: "999",
mnc: "70",
heartbeat_interval: 10_000,
supported_sec_capabilities: ["TLS"],
roaming_partners: %{},
topology_hiding_map: %{}
Documentation Structure
By Role
Operators and Administrators:
- Start with the Operations Guide
- Review Metrics and Monitoring
- Keep Troubleshooting to hand
System Integrators:
- Start with the Configuration Reference
- Review the endpoint and flow sections of the Operations Guide
By Topic
- Roaming setup: Configuration Reference - Roaming Partners
- Topology hiding: Configuration Reference - Topology Hiding Map
- N32 flows: Operations Guide - Message Flows