Resilience and High Availability⚓︎
Node, pod, database, radio, link and site failures on Expeto Edge (xCore), Expeto Gateway (xRouter) and xControl, including loss of the management path. Tests cover Kubernetes node failover, single-site restart recovery, geo-redundant failover and the isolation of faults between user planes.
| ID | Test | Category | Applies to |
|---|---|---|---|
| EXP-HA-001 | xCore user-plane node failure | Resilience | 4G, 5G · Local radio, Public radio · HA cluster |
| EXP-HA-002 | xCore session-management node failure | Resilience | 4G, 5G · Local radio, Public radio · HA cluster |
| EXP-HA-003 | xCore subscriber-data node failure | Resilience | 4G, 5G · Local radio · HA cluster |
| EXP-HA-004 | xCore restart recovery | Resilience | 4G, 5G · Local radio, Public radio · Single node, HA cluster |
| EXP-HA-005 | xCore geographic redundancy | Resilience | 4G, 5G · Local radio, Public radio · Geo-redundant |
| EXP-HA-006 | xRouter geographic redundancy | Resilience | 4G, 5G · Public radio · Geo-redundant |
| EXP-HA-007 | xRouter subscriber-management node failure | Resilience | 4G, 5G · Public radio · HA cluster |
| EXP-HA-008 | xRouter restart recovery | Resilience | 4G, 5G · Public radio · Single node, HA cluster |
| EXP-HA-009 | xControl restart recovery | Resilience | 4G, 5G · Local radio, Public radio · Single node, HA cluster, Geo-redundant |
| EXP-HA-010 | xControl unreachable from the xCore | Resilience | 4G, 5G · Local radio · Single node, HA cluster, Geo-redundant |
| EXP-HA-011 | Single network function restart | Resilience | 4G, 5G · Local radio, Public radio · Single node, HA cluster, Geo-redundant |
| EXP-HA-012 | Radio link loss and recovery | Resilience | 4G, 5G · Local radio · Single node, HA cluster, Geo-redundant |
| EXP-HA-013 | Secure link interruption between xRouter and xCore | Resilience | 4G, 5G · Public radio · Single node, HA cluster, Geo-redundant |
| EXP-HA-014 | Database node failure | Resilience | 4G, 5G · Local radio, Public radio · HA cluster |
| EXP-HA-015 | User-plane isolation between Systems | Resilience | 4G, 5G · Local radio, Public radio · Single node, HA cluster, Geo-redundant |
| EXP-HA-018 | Diameter peer failure and failover toward the operator's network | Resilience | 4G · Public radio · Single node, HA cluster, Geo-redundant |
EXP-HA-001 — xCore user-plane node failure⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xCore |
| Applies to | 4G, 5G · Local radio, Public radio · HA cluster |
| Duration | About 45 min |
| Included in | Installation and Upgrade Verification |
| Automated by | Platform suite, split user plane: one user-plane instance deleted while sessions are held on the other |
Objective. Expeto Edge (xCore) on a Kubernetes HA cluster continues to serve Mobile Assets when the node hosting the user-plane services (UPF / PGW-U) fails: the pods restart on the remaining nodes and the device regains service.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- An xCore is deployed on a Kubernetes HA cluster and operational.
- You have identified the node (VM) hosting the user-plane pods (UPF / PGW-U).
- Enough nodes remain available to host the user plane after the failure.
- Mobile Asset
- One Mobile Asset is connected and passing data (execute the UE-initiated attach procedure first if it is not).
- Tooling and access
- A tool that measures upload and download throughput from the UE against a server on the enterprise network, such as iperf3 or OpenSpeedTest.
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | UE | Start a continuous ping to a host on the enterprise LAN. Note the time. | Replies arrive. |
| 2 | Infrastructure | Shut down the node hosting the user-plane pods. | The node is reported as not ready by Kubernetes. |
| 3 | Kubernetes | Watch the pods that were running on that node. | All of them start successfully on the remaining nodes. |
| 4 | UE | Put the UE in airplane mode, then take it out again. | The UE authenticates and connects to the network. |
| 5 | UE | Run a speed test, then stop the ping and count the lost replies. | The UE uploads and downloads data; the interruption is recorded. |
| 6 | Infrastructure | Start the node again. | The node returns to ready and the cluster is back to its full size. |
Pass criteria
- Every pod of the failed node is running on another node without manual intervention.
- The UE regains service and passes traffic after the failover.
Postconditions
- Record the measured service interruption in the results sheet.
Evidence collected: Kubernetes pod and node status; Speed test result; UE connectivity check.
EXP-HA-002 — xCore session-management node failure⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xCore |
| Applies to | 4G, 5G · Local radio, Public radio · HA cluster |
| Duration | About 45 min |
Objective. Expeto Edge (xCore) on a Kubernetes HA cluster continues to serve Mobile Assets when the node hosting the session-management services (SMF / PGW-C) fails.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- An xCore is deployed on a Kubernetes HA cluster and operational.
- You have identified the node (VM) hosting the session-management pods (SMF / PGW-C).
- Enough nodes remain available to host session management after the failure.
- Mobile Asset
- One Mobile Asset is connected and passing data (execute the UE-initiated attach procedure first if it is not).
- Tooling and access
- A tool that measures upload and download throughput from the UE against a server on the enterprise network, such as iperf3 or OpenSpeedTest.
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | UE | Start a continuous ping to a host on the enterprise LAN. Note the time. | Replies arrive. |
| 2 | Infrastructure | Shut down the node hosting the session-management pods. | The node is reported as not ready by Kubernetes. |
| 3 | Kubernetes | Watch the pods that were running on that node. | All of them start successfully on the remaining nodes. |
| 4 | UE | Put the UE in airplane mode, then take it out again. | The UE authenticates and connects to the network. |
| 5 | UE | Run a speed test, then stop the ping and count the lost replies. | The UE uploads and downloads data; the interruption is recorded. |
| 6 | Infrastructure | Start the node again. | The node returns to ready. |
Pass criteria
- Every pod of the failed node is running on another node without manual intervention.
- The UE regains service and passes traffic after the failover.
Postconditions
- Record the measured service interruption in the results sheet.
Evidence collected: Kubernetes pod and node status; UE connectivity check.
EXP-HA-003 — xCore subscriber-data node failure⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xCore |
| Applies to | 4G, 5G · Local radio · HA cluster |
| Duration | About 45 min |
Objective. Expeto Edge (xCore) on a Kubernetes HA cluster continues to authenticate Mobile Assets when the node hosting the local subscriber database (HSS, or UDM, UDR and AUSF) fails: existing sessions continue and new attaches succeed once the pods have restarted.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- An xCore is deployed on a Kubernetes HA cluster and operational.
- You have identified the node (VM) hosting the subscriber-database pods.
- Enough nodes remain available to host them after the failure.
- Mobile Asset
- One Mobile Asset is connected and passing data (execute the UE-initiated attach procedure first if it is not).
- A second Mobile Asset, provisioned and its UE powered off.
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | UE | Start a continuous ping from the connected UE to a host on the enterprise LAN. | Replies arrive. |
| 2 | Infrastructure | Shut down the node hosting the subscriber-database pods. Note the time. | The node is reported as not ready by Kubernetes. |
| 3 | UE | Observe the ping. | The existing session keeps passing traffic; authentication is not needed for an established session. |
| 4 | Kubernetes | Watch the subscriber-database pods. | They start on the remaining nodes and become ready. |
| 5 | UE | Power on the second UE once the pods are ready. | The UE authenticates and connects as in EXP-SES-001. |
| 6 | CLI | Run cd /debug/ops, then cmd cache-clear type=SUBSCRIBER_CHECK_ERRORS, cmd sync-sub-check mode=FULL (repeat until it no longer answers that a check is already running), then read sync-sub-error. |
The error table is empty; the subscriber data survived the failover. |
| 7 | Infrastructure | Start the node again. | The node returns to ready. |
Pass criteria
- Established sessions are unaffected by the failure.
- The subscriber-database pods are ready on another node within five minutes, new attaches succeed once they are, and the subscriber data is complete.
Evidence collected: Kubernetes pod and node status; UE connectivity check; CLI output.
EXP-HA-004 — xCore restart recovery⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xCore |
| Applies to | 4G, 5G · Local radio, Public radio · Single node, HA cluster |
| Duration | About 45 min |
| Included in | Installation and Upgrade Verification |
Objective. A non-redundant Expeto Edge (xCore) recovers after every resource hosting it is power-cycled (turned off and back on), and devices regain service without manual intervention.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- An xCore is deployed and operational, and its Site shows as online in xControl.
- Mobile Asset
- One Mobile Asset is connected and passing data (execute the UE-initiated attach procedure first if it is not).
- Tooling and access
- A tool that measures upload and download throughput from the UE against a server on the enterprise network, such as iperf3 or OpenSpeedTest.
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | Infrastructure | Shut down all nodes (VMs) hosting the xCore site. Note the time. | The site is down. |
| 2 | Infrastructure | Start all the nodes that were shut down. | The nodes boot. |
| 3 | Kubernetes | Check the xCore workloads. | All services of the xCore are running; every pod is ready. |
| 4 | UE | Observe the UE. | The UE reconnects to the network on its own. |
| 5 | UE | Run a speed test. | The UE uploads and downloads data. |
| 6 | xControl | Open Sites and select the Site. | The Site is online. |
Pass criteria
- Every service is running after the power cycle without manual intervention.
- The UE reconnects on its own and passes traffic.
Postconditions
- Record the time from power-on to the UE regaining service in the results sheet.
Evidence collected: Service status after recovery; UE connectivity check.
EXP-HA-005 — xCore geographic redundancy⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xCore |
| Applies to | 4G, 5G · Local radio, Public radio · Geo-redundant |
| Duration | About 1 h |
Objective. When one xCore of a geo-redundant pair fails, the Mobile Assets it served reconnect to the redundant xCore and continue to receive service.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- Geo-redundant xCores are deployed in an active-active configuration.
- Mobile Asset
- Mobile Assets are connected to both xCores and passing traffic.
- Tooling and access
- A tool that measures upload and download throughput from the UE against a server on the enterprise network, such as iperf3 or OpenSpeedTest.
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | UE | Run a speed test on a UE connected to one of the xCore sites, and record the speed and the latency. | Baseline speed and latency are recorded. |
| 2 | Infrastructure | Shut down that xCore site. Note the time. | The site is down. |
| 3 | UE | Observe the UE. | The UE disconnects from the failed site and reconnects to the redundant site within a reasonable time. |
| 4 | UE | Run the speed test again. | Speed and latency are acceptable. |
| 5 | xControl | Open the Mobile Asset's Event Log. | The session on the failed site is closed and a new session names the redundant site. |
Pass criteria
- Every UE of the failed site regains service on the redundant site without manual intervention.
Postconditions
- Record the reconnect time in the results sheet; start the failed site again.
Evidence collected: Speed test result; Measured reconnect time; xControl session event log.
EXP-HA-006 — xRouter geographic redundancy⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xRouter |
| Applies to | 4G, 5G · Public radio · Geo-redundant |
| Duration | About 1 h |
Objective. When one xRouter of a geo-redundant pair fails, the Mobile Assets connected through it reconnect through the redundant xRouter and continue to receive service.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- Geo-redundant xRouters are deployed and operational.
- Both xRouters are integrated with an xCore.
- Mobile Asset
- Mobile Assets are connected through both xRouters to the xCore and passing traffic.
- Tooling and access
- A tool that measures upload and download throughput from the UE against a server on the enterprise network, such as iperf3 or OpenSpeedTest.
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | UE | Run a speed test on a UE connected through one of the xRouter sites, and record the speed and the latency. | Baseline speed and latency are recorded. |
| 2 | Infrastructure | Shut down that xRouter site. Note the time. | The site is down. |
| 3 | UE | Observe the UE. | The UE disconnects from the failed xRouter and reconnects to the xCore through the redundant xRouter. |
| 4 | UE | Run the speed test again. | Speed and latency are acceptable. |
Pass criteria
- Every UE of the failed xRouter regains service through the redundant one without manual intervention.
Postconditions
- Record the reconnect time in the results sheet; start the failed site again.
Evidence collected: Speed test result; Measured reconnect time.
EXP-HA-007 — xRouter subscriber-management node failure⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xRouter |
| Applies to | 4G, 5G · Public radio · HA cluster |
| Duration | About 45 min |
Objective. Expeto Gateway (xRouter) on a Kubernetes HA cluster continues to operate when the node hosting its subscriber-management services fails.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- An xRouter is deployed on a Kubernetes HA cluster and operational.
- You have identified the node (VM) hosting the subscriber-management pods (AUSF, UDR and UDM for 5G; HSS for 4G).
- Enough nodes remain available to host subscriber management after the failure.
- Mobile Asset
- One Mobile Asset is connected and passing data (execute the UE-initiated attach procedure first if it is not).
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | Infrastructure | Shut down the node hosting the subscriber-management pods. | The node is reported as not ready by Kubernetes. |
| 2 | Kubernetes | Watch the pods that were running on that node. | All of them start successfully on the remaining nodes. |
| 3 | UE | Put the UE in airplane mode, then take it out again. Repeat if needed: some visited networks cache authentication data fetched before the node failure, so an authentication or update-location exchange may only occur on a later attempt. | The UE authenticates and connects to the network. |
| 4 | Infrastructure | Start the node again. | The node returns to ready. |
Pass criteria
- Every pod of the failed node is running on another node without manual intervention.
- The UE authenticates and connects after the failover.
Evidence collected: Kubernetes pod and node status; UE connectivity check.
EXP-HA-008 — xRouter restart recovery⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xRouter |
| Applies to | 4G, 5G · Public radio · Single node, HA cluster |
| Duration | About 45 min |
Objective. A non-redundant Expeto Gateway (xRouter) recovers after every resource hosting it is power-cycled (turned off and back on), and devices regain service through it.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- An xRouter is deployed and operational.
- The xRouter is integrated with an xCore.
- Mobile Asset
- A Mobile Asset is connected to the xCore through the xRouter and passing data.
- Tooling and access
- A tool that measures upload and download throughput from the UE against a server on the enterprise network, such as iperf3 or OpenSpeedTest.
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | Infrastructure | Shut down all nodes (VMs) hosting the xRouter site. Note the time. | The site is down. |
| 2 | Infrastructure | Start all the nodes that were shut down. | The nodes boot. |
| 3 | Kubernetes | Check the xRouter workloads. | All services of the xRouter are running; every pod is ready. |
| 4 | UE | Observe the UE. | The UE reconnects to the network through the xRouter. |
| 5 | UE | Run a speed test. | The UE uploads and downloads data. |
Pass criteria
- Every service is running after the power cycle without manual intervention.
- The UE reconnects through the xRouter and passes traffic.
Postconditions
- Record the time from power-on to the UE regaining service in the results sheet.
Evidence collected: Service status after recovery; UE connectivity check.
EXP-HA-009 — xControl restart recovery⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xControl, xCore |
| Applies to | 4G, 5G · Local radio, Public radio · Single node, HA cluster, Geo-redundant |
| Duration | About 45 min |
Objective. A non-redundant xControl recovers after every resource hosting it is power-cycled, the xCore sites it manages reconnect to it, and devices on those sites are unaffected throughout.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- An xControl is deployed and operational.
- An xCore site is deployed and managed by that xControl.
- Mobile Asset
- One Mobile Asset is connected and passing data (execute the UE-initiated attach procedure first if it is not).
- Tooling and access
- You have an xControl account.
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | xControl | Log in to xControl and note the status of the xCore Site. | The Site status is recorded. |
| 2 | UE | Start a continuous ping from the UE to a host on the enterprise LAN. | Replies arrive. |
| 3 | Infrastructure | Shut down all nodes (VMs) hosting xControl. Note the time. | xControl is unreachable. |
| 4 | UE | Observe the ping. | Replies continue; the device is unaffected by the loss of xControl. |
| 5 | Infrastructure | Start all the nodes that were shut down. | The nodes boot. |
| 6 | xControl | Open xControl and log in. | xControl starts without errors and the login succeeds. |
| 7 | xControl | Open Sites and check the xCore Site. | The Site status matches the status recorded before the restart and Last Seen is current. |
Pass criteria
- xControl returns to service after the power cycle without manual intervention beyond starting the nodes.
- Devices on the managed sites keep service throughout.
- The Site reconnects and shows online after the restart.
Evidence collected: xControl availability check; Agent reconnect and reconciliation; UE connectivity check.
EXP-HA-010 — xControl unreachable from the xCore⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xCore, xControl, xView |
| Applies to | 4G, 5G · Local radio · Single node, HA cluster, Geo-redundant |
| Duration | About 45 min |
| Prerequisite procedures | EXP-INS-002 — Management path and subscriber synchronization |
Objective. While the xCore cannot reach xControl, existing sessions continue, new devices attach and are authenticated locally, the loss of contact is alarmed, and when the connection returns the Site reconciles without manual action.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- You can block outbound traffic from the xCore to xControl and remove the block again.
- Mobile Asset
- One Mobile Asset is connected and passing data (execute the UE-initiated attach procedure first if it is not).
- A second Mobile Asset, provisioned and its UE powered off.
- Tooling and access
- Log in to xControl with an account that holds the ADMIN role.
- Access to the xView alert view.
- Procedures executed first
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | UE | Start a continuous ping from the connected UE to a host on the enterprise LAN. | Replies arrive. |
| 2 | Infrastructure | Block traffic from the xCore to xControl on TCP port 443. Note the time. | The block is in place. |
| 3 | UE | Observe the ping for ten minutes. | Replies continue without interruption. |
| 4 | UE | Power on the second UE. | It attaches and passes traffic as in EXP-SES-001; authentication is local to the Site. |
| 5 | xControl | Open Sites and watch the Site. | The Site is shown offline within about five minutes of the block. |
| 6 | Tester | Open the alert view in xView. | The agent-out-of-contact alert for the Site is firing. |
| 7 | Infrastructure | Remove the block after at least fifteen minutes. Note the time. | Connectivity is restored. |
| 8 | xControl | Watch the Site and the second Mobile Asset. | The Site returns to online; the second Mobile Asset shows Connected with the session that started during the outage. |
| 9 | Tester | Watch the alert view. | The alert clears. |
Pass criteria
- No impact on existing sessions or on new attaches while xControl is unreachable.
- The loss of contact is alarmed within six minutes.
- The Site is back online within 60 seconds of the connection returning, and the alert clears within five minutes.
Evidence collected: UE connectivity check; xControl screenshot; Agent reconnect and reconciliation.
EXP-HA-011 — Single network function restart⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xCore |
| Applies to | 4G, 5G · Local radio, Public radio · Single node, HA cluster, Geo-redundant |
| Duration | About 1 h 30 min |
| Prerequisite procedures | EXP-SES-001 — UE-initiated attach |
| Automated by | Platform suite, split user plane: one user-plane instance deleted while sessions are held on the other |
Objective. Each network function of the xCore, restarted on its own, recovers within a bounded time, causes no other function to restart, and leaves the core with exactly the sessions it had, with a recorded impact on a device passing traffic.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Mobile Asset
- One Mobile Asset is connected and passing data (execute the UE-initiated attach procedure first if it is not).
- Tooling and access
- Access to the cluster with
kubectl. - Access to the CLI.
- Access to the cluster with
- Procedures executed first
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | CLI | Record the MME or AMF context count (read mme or read amf, table footer total) and the session count (read pgw or read smf, table footer total) as the baseline. |
The baseline is recorded. |
| 2 | UE | Start a continuous ping to a host on the enterprise LAN. | Replies arrive. |
| 3 | Kubernetes | Delete the pod of the first network function in the table below (kubectl delete pod <pod> -n <namespace>). Note the time. |
A replacement pod is created. |
| 4 | Kubernetes | Watch the pods of the namespace. | The replacement pod becomes ready; no other pod restarts. |
| 5 | UE | Observe the ping and, if it does not resume on its own within three minutes, toggle airplane mode. | Traffic resumes; record the loss and whether a re-attach was needed. |
| 6 | CLI | Read the two totals again. | Both equal the baseline once the UE has recovered. |
| 7 | Tester | Repeat the previous four steps for each remaining network function; MME or AMF; SMF, SGW-C or PGW-C; UPF or PGW-U; HSS, UDM, UDR or AUSF; the agent. | Every function recovers with the impact recorded in the results sheet. |
Pass criteria
- Every replacement pod is ready within five minutes; no other pod restarts.
- The device regains service within three minutes of each restart without action on the platform.
- The context and session counts return to the baseline after each restart.
Postconditions
- Record the impact per network function (ping loss, re-attach needed or not) in the results sheet.
Evidence collected: Kubernetes pod and node status; UE connectivity check; CLI output.
References: 3GPP TS 29.244 §6.2 (PFCP association and heartbeat procedures); 3GPP TS 23.007 §19 (Restoration of PFCP entities).
EXP-HA-012 — Radio link loss and recovery⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xCore, xControl, xView |
| Applies to | 4G, 5G · Local radio · Single node, HA cluster, Geo-redundant |
| Duration | About 45 min |
| Prerequisite procedures | EXP-INS-003 — Radio access node connection EXP-SES-007 — Multiple UE attach |
Objective. When the radio loses its connection to the xCore and later reconnects, the loss is alarmed, the radio re-establishes its association, devices regain service, and no stale context remains.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Tooling and access
- Log in to xControl with an account that holds the ADMIN role.
- Start a 3GPP signalling capture (pcap) with your preferred tool on the interfaces the procedure exercises.
- Access to the CLI and the xView alert view.
- Procedures executed first
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | — | Execute EXP-SES-007 — Multiple UE attach as a prerequisite procedure. | As defined in EXP-SES-007. |
| 2 | Infrastructure | Disconnect the radio's transport to the xCore (or power the radio off). Note the time. | The radio is unreachable. |
| 3 | xControl | Open Private Radios. | The radio's status changes to Disconnected. |
| 4 | Tester | Open the alert view in xView. | The private-radio-connection alert for the radio is firing. |
| 5 | Infrastructure | Reconnect the radio (or power it on) after at least ten minutes. Note the time. | The radio starts. |
| 6 | Capture | Inspect the capture. | A new SCTP association and S1 Setup or NG Setup complete, as in EXP-INS-003. |
| 7 | xControl | Open Private Radios and Mobile Assets. | The radio is Connected; every UE returns to Connected as it re-attaches. |
| 8 | CLI | Run read mme -f imsi=<imsi> (or read amf <imsi>) for each test IMSI after all UEs are back. |
Exactly one context per UE; none from before the outage remains. |
| 9 | Tester | Watch the alert view. | The alert clears. |
Pass criteria
- The loss is alarmed and the radio reconnects without manual intervention on the platform.
- Every UE regains service after the radio returns.
- No stale context remains for any UE.
Evidence collected: 3GPP signalling capture (pcap); xControl screenshot; CLI output.
References: 3GPP TS 36.413 §8.7.1 (Reset); 3GPP TS 36.413 §8.7.3 (S1 Setup); 3GPP TS 38.413 §8.7.1 (NG Reset).
EXP-HA-013 — Secure link interruption between xRouter and xCore⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xRouter, xCore |
| Applies to | 4G, 5G · Public radio · Single node, HA cluster, Geo-redundant |
| Duration | About 45 min |
| Prerequisite procedures | EXP-POL-002 — Enterprise access through the public radio network |
Objective. A short interruption of the secure link between Expeto Gateway (xRouter) and the public xCore stops user traffic without affecting the device's registration, and traffic resumes when the link returns; a long interruption is detected and sessions are cleaned up.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- You can block traffic on the secure link between the xRouter and the xCore and remove the block again.
- Tooling and access
- Log in to xControl with an account that holds the ADMIN role.
- A capture on the secure link (capture point 5).
- Procedures executed first
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | — | Execute EXP-POL-002 — Enterprise access through the public radio network as a prerequisite procedure. | As defined in EXP-POL-002. |
| 2 | UE | Start a continuous ping to a host on the enterprise LAN. | Replies arrive. |
| 3 | Infrastructure | Block the secure link for 30 seconds, then remove the block. | Replies stop during the block. |
| 4 | UE | Observe the ping. | Replies resume within a few seconds of the link returning, with no re-attach. |
| 5 | xControl | Open the Mobile Asset. | The status stayed Connected and no new session was created. |
| 6 | Infrastructure | Block the secure link again for fifteen minutes, then remove the block. Note the times. | Replies stop during the block. |
| 7 | Capture | Inspect the capture on the link. | Path-management (echo) messages go unanswered during the long block; record whether the sessions were released as a result. |
| 8 | UE | Observe the UE after the block is removed; toggle airplane mode if service does not return on its own. | Service returns; record whether a re-attach was needed. |
Pass criteria
- After a 30-second interruption, traffic resumes without a re-attach.
- After a fifteen-minute interruption, service returns within three minutes of the link returning; whether a re-attach was needed is recorded.
Evidence collected: UE connectivity check; 3GPP signalling capture (pcap); xControl session event log.
References: 3GPP TS 23.007 §20 (Path failure handling); 3GPP TS 29.274 §7.1 (Path Management Messages (Echo Request and Response)).
EXP-HA-014 — Database node failure⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xCore |
| Applies to | 4G, 5G · Local radio, Public radio · HA cluster |
| Duration | About 1 h |
| Prerequisite procedures | EXP-SES-001 — UE-initiated attach |
Objective. The loss of one node of the xCore's replicated database does not interrupt service or provisioning, no data is lost, and the database returns to full replication when the node is back.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- The xCore runs its database as a replicated cluster (three members).
- Mobile Asset
- One Mobile Asset is connected and passing data (execute the UE-initiated attach procedure first if it is not).
- Tooling and access
- Log in to xControl with an account that holds the ADMIN role.
- Access to the cluster with
kubectl.
- Procedures executed first
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | Kubernetes | List the database pods and note which node each runs on. | Three members are ready. |
| 2 | UE | Start a continuous ping to a host on the enterprise LAN. | Replies arrive. |
| 3 | Infrastructure | Shut down the node hosting one database member. Note the time. | The node is not ready. |
| 4 | UE | Observe the ping. | Replies continue. |
| 5 | xControl | Create a new Mobile Asset (EXP-PRV-001, first step) while the member is down. | The Mobile Asset is created and reaches the Site. |
| 6 | UE | Detach and re-attach the connected UE. | The UE connects; session management and records work with two members. |
| 7 | Infrastructure | Start the node again. | The database member rejoins and becomes ready. |
| 8 | Kubernetes | Check the database cluster's size and state. | Three members are synchronized. |
| 9 | CLI | Run read hss <imsi> (or read udr <imsi>) for the Mobile Asset created during the outage. |
The record exists. |
Pass criteria
- No service or provisioning interruption with one member down.
- No data created during the outage is lost.
- The cluster is back to three synchronized members within ten minutes of the node returning.
Evidence collected: Kubernetes pod and node status; UE connectivity check; CLI output.
EXP-HA-015 — User-plane isolation between Systems⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xCore |
| Applies to | 4G, 5G · Local radio, Public radio · Single node, HA cluster, Geo-redundant |
| Duration | About 30 min |
| Prerequisite procedures | EXP-POL-003 — System egress mapping |
| Automated by | Platform suite, split user plane: one user-plane instance deleted while sessions are held on the other |
Objective. On a site whose Systems have separate user planes, the failure of one System's user plane leaves the other System's sessions untouched, and the failed user plane accepts new sessions once it is back.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- The Site has two Systems, A and B, each served by its own user-plane instance.
- Mobile Asset
- One Mobile Asset on each System, both connected and passing traffic (EXP-POL-003).
- Tooling and access
- Access to the cluster with
kubectl. - Access to the CLI.
- Access to the cluster with
- Procedures executed first
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | — | Execute EXP-POL-003 — System egress mapping as a prerequisite procedure. | As defined in EXP-POL-003. |
| 2 | UE | Start a continuous ping from UE B to a host on System B's egress network. | Replies arrive. |
| 3 | Kubernetes | Delete the user-plane pod of System A. Note the time. | A replacement pod is created. |
| 4 | UE | Observe UE B's ping throughout. | No reply is lost. |
| 5 | Kubernetes | Watch System A's user-plane pod. | It becomes ready again. |
| 6 | UE | Toggle airplane mode on UE A once the pod is ready. | UE A attaches with an address in System A's range and pings a host on System A's egress network. |
| 7 | CLI | Run read pgw -f imsi=<imsi> (or read smf -f imsi=<imsi>) for both IMSIs. |
Exactly one session each; nothing half-open remains from before the failure. |
Pass criteria
- Zero ping loss on System B while System A's user plane is down.
- System A's user plane is ready within five minutes and accepts an attach within three minutes of being ready.
- No residual session remains.
Evidence collected: Kubernetes pod and node status; UE connectivity check; CLI output.
EXP-HA-018 — Diameter peer failure and failover toward the operator's network⚓︎
| Attribute | Value |
|---|---|
| Status | Accepted |
| Category | Resilience |
| Components | xRouter |
| Applies to | 4G · Public radio · Single node, HA cluster, Geo-redundant |
| Duration | About 45 min |
| Prerequisite procedures | EXP-POL-002 — Enterprise access through the public radio network |
Objective. The HSS in Expeto Gateway (xRouter) keeps serving S6a when one of its Diameter connections to the operator's network (DRA links or IPX peers) fails: the Device-Watchdog exchange detects the failure, requests continue over the remaining connection, the failed connection is re-established on its own when transport returns, and the outage raises an alert.
Service impact
This procedure interrupts service. Run it in a maintenance window or in a pre-production environment.
Preconditions
- Platform
- The HSS in xRouter has at least two Diameter connections toward the operator's network (two entries under
diameter.peers, or one DRA reached over two transport paths) and a routing rule underdiameter.routingRulesthat lets requests for the operator's realm use either. - You can block the transport of one connection at a time (firewall rule or interface) and remove the block again.
- Alerting is in place; the
DiameterConnectionDownalert exists for the site.
- The HSS in xRouter has at least two Diameter connections toward the operator's network (two entries under
- Mobile Asset
- The Mobile Asset is Active and attaches through the public network (EXP-POL-002).
- Tooling and access
- Log in to xControl with an account that holds the ADMIN role.
- A signalling capture at xRouter (capture point 4) with the display filter
diameter. - Access to the alert view and to the metric
xcore_hss_link_total.
- Procedures executed first
Procedure
| # | Where | Action | Expected result |
|---|---|---|---|
| 1 | Capture | Watch the Diameter capture for two minutes with no subscriber traffic. | Device-Watchdog-Request / Answer pairs are exchanged on every connection at a regular interval, each answer with Result-Code DIAMETER_SUCCESS. |
| 2 | — | Execute EXP-POL-002 — Enterprise access through the public radio network as a prerequisite procedure. | As defined in EXP-POL-002. |
| 3 | Capture | Note which connection carried the Authentication-Information and Update-Location exchanges of the attach. | One connection (call it A) carried them. |
| 4 | Infrastructure | Block the transport of connection A. Note the time. | Device-Watchdog-Requests on A go unanswered, and within a few watchdog intervals no further traffic is sent on A. |
| 5 | Tester | Watch the metric and the alert view. | xcore_hss_link_total{type="diameter",status="opened"} drops by one for the peer, and DiameterConnectionDown fires after its two-minute hold time. |
| 6 | UE | Toggle airplane mode so that the UE attaches again. | The UE attaches; the Authentication-Information and Update-Location exchanges are on connection B. |
| 7 | Infrastructure | Remove the block on A. Note the time. | Capabilities-Exchange re-establishes A without manual intervention, watchdog exchanges resume, and the alert clears. |
| 8 | Infrastructure | Block the transport of connection B, toggle airplane mode on the UE, then remove the block. | The UE attaches over A; B is re-established after the block is removed. |
Expected signalling
Capture points: S6a at xRouter (point 4).
4G (EPS) sequence
- Device-Watchdog-Request / Device-Watchdog-Answer on each connection at the configured interval
- Unanswered Device-Watchdog-Requests on the blocked connection, then no further requests on it
- Authentication-Information-Request / Answer and Update-Location-Request / Answer on the remaining connection
- Capabilities-Exchange-Request / Answer when the blocked connection's transport returns, then Device-Watchdog exchanges resume on it
Pass criteria
- Watchdog exchanges are observed on every connection, and an unanswered watchdog takes its connection out of service without affecting the other.
- Every attach attempted during the outage of either connection succeeds over the remaining one; no S6a request is lost or left unanswered.
- The failed connection is re-established without manual intervention when its transport returns, and
DiameterConnectionDownfires during the outage and clears afterwards.
Postconditions
- Both connections are up and the alert has cleared.
Deployment notes
- Transport multi-homing: Where a connection uses SCTP with a primary and a secondary address (
diameter.primaryIp,diameter.secondaryIp), blocking one address exercises SCTP path failover instead: the association stays up, no Diameter-level failover occurs, and requests continue without interruption. - Single DRA: Where the mobile operator provides one DRA over one transport path, the test is limited to the watchdog detection, the alert and the re-establishment; attaches during the outage fail and are recorded as such.
Evidence collected: 3GPP signalling capture (pcap); UE connectivity check; Service status after recovery.
References: IETF RFC 6733 §5.5 (Transport failure detection (Device-Watchdog)); IETF RFC 6733 §5.6 (Peer state machine); IETF RFC 6733 §6.1 (Diameter request routing overview); 3GPP TS 29.272 §7.1.1 (Use of Diameter base protocol).