|BootstrapFailed| Boot
Boot --> |BootstrapOk| ProbeAddress
ProbeAddress -->|DialBackOk| **MonitorPublic**
ProbeAddress -->|DialBackFailedTimeout| MapPorts
**MonitorPublic** -->|DefaultGatewayChanged| ProbeAddress
**MonitorPublic** -->|PeriodicDialBackOk| **MonitorPublic**
**MonitorPublic** -->|PeriodicDialBackFailed| MapPorts
MapPorts --> |MapOk| ProbeMappedAddress
MapPorts --> |MapFailedTimeout| **MonitorPrivate**
ProbeMappedAddress -->|DialBackOk| **MonitorMappedPublic**
ProbeMappedAddress -->|DialBackFailed
Timeout| **MonitorPrivate**
**MonitorPrivate** -->|DefaultGatewayChanged| ProbeAddress
**MonitorPrivate** -->|PeriodicDialBackFailed| **MonitorPrivate**
**MonitorPrivate** -->|PeriodicDialBackOk| **MonitorPublic**
**MonitorMappedPublic** --> |DefaultGatewayChanged| ProbeAddress
**MonitorMappedPublic** --> |Mapp">
|BootstrapFailed| Boot
Boot --> |BootstrapOk| ProbeAddress
ProbeAddress -->|DialBackOk| **MonitorPublic**
ProbeAddress -->|DialBackFailedTimeout| MapPorts
**MonitorPublic** -->|DefaultGatewayChanged| ProbeAddress
**MonitorPublic** -->|PeriodicDialBackOk| **MonitorPublic**
**MonitorPublic** -->|PeriodicDialBackFailed| MapPorts
MapPorts --> |MapOk| ProbeMappedAddress
MapPorts --> |MapFailedTimeout| **MonitorPrivate**
ProbeMappedAddress -->|DialBackOk| **MonitorMappedPublic**
ProbeMappedAddress -->|DialBackFailed
Timeout| **MonitorPrivate**
**MonitorPrivate** -->|DefaultGatewayChanged| ProbeAddress
**MonitorPrivate** -->|PeriodicDialBackFailed| **MonitorPrivate**
**MonitorPrivate** -->|PeriodicDialBackOk| **MonitorPublic**
**MonitorMappedPublic** --> |DefaultGatewayChanged| ProbeAddress
**MonitorMappedPublic** --> |Mapp">
|BootstrapFailed| Boot
Boot --> |BootstrapOk| ProbeAddress
ProbeAddress -->|DialBackOk| **MonitorPublic**
ProbeAddress -->|DialBackFailedTimeout| MapPorts
**MonitorPublic** -->|DefaultGatewayChanged| ProbeAddress
**MonitorPublic** -->|PeriodicDialBackOk| **MonitorPublic**
**MonitorPublic** -->|PeriodicDialBackFailed| MapPorts
MapPorts --> |MapOk| ProbeMappedAddress
MapPorts --> |MapFailedTimeout| **MonitorPrivate**
ProbeMappedAddress -->|DialBackOk| **MonitorMappedPublic**
ProbeMappedAddress -->|DialBackFailed
Timeout| **MonitorPrivate**
**MonitorPrivate** -->|DefaultGatewayChanged| ProbeAddress
**MonitorPrivate** -->|PeriodicDialBackFailed| **MonitorPrivate**
**MonitorPrivate** -->|PeriodicDialBackOk| **MonitorPublic**
**MonitorMappedPublic** --> |DefaultGatewayChanged| ProbeAddress
**MonitorMappedPublic** --> |Mapp">
graph TD
Start --> Config{Config}
Config --> |Public| **StaticPublic**
Config --> |"Autodetect (Default)"| Boot
Boot --> |BootstrapFailed| Boot
Boot --> |BootstrapOk| ProbeAddress
ProbeAddress -->|DialBackOk| **MonitorPublic**
ProbeAddress -->|DialBackFailed</br>Timeout| MapPorts
**MonitorPublic** -->|DefaultGatewayChanged| ProbeAddress
**MonitorPublic** -->|PeriodicDialBackOk| **MonitorPublic**
**MonitorPublic** -->|PeriodicDialBackFailed| MapPorts
MapPorts --> |MapOk| ProbeMappedAddress
MapPorts --> |MapFailed</br>Timeout| **MonitorPrivate**
ProbeMappedAddress -->|DialBackOk| **MonitorMappedPublic**
ProbeMappedAddress -->|DialBackFailed<br>Timeout| **MonitorPrivate**
**MonitorPrivate** -->|DefaultGatewayChanged| ProbeAddress
**MonitorPrivate** -->|PeriodicDialBackFailed| **MonitorPrivate**
**MonitorPrivate** -->|PeriodicDialBackOk| **MonitorPublic**
**MonitorMappedPublic** --> |DefaultGatewayChanged| ProbeAddress
**MonitorMappedPublic** --> |MappingLost</br>PeriodicDialBackFailed| MapPorts
**MonitorMappedPublic** --> |MappingChanged| ProbeMappedAddress
**MonitorMappedPublic** --> |PeriodicDialBackOK| **MonitorMappedPublic**