Failed to establish signaling connection
When using Nextcloud Talk with the High-Performance Backend (HPB), a "Failed to establish signaling connection" error can occur for several reasons. This article covers the most common issues.
System check
In Administration settings, go to Talk > High-Performance Backend. It has an extensive automated system check that can help identify common issues.

Check Websocket connection
Automated check in Administration settings may reveal an error that causes connection failure.

Common Error Codes
| Error Code | Error Message | Typical cause and solution |
|---|---|---|
| invalid_hello_version | The hello version is not supported | Outdated or incompatible client/server. |
| auth_failed | The user could not be authenticated | Invalid authentication response returned. |
| invalid_client_type | The client type is not supported | Unsupported client type in the "hello" request. |
| invalid_backend | The backend URL is not supported | Backend URL misconfigured (most likely in HPB configuration). |
| invalid_token | The passed token is invalid | Invalid or expired token can be caused by time mismatch. |
| token_not_valid_yet | The token is not valid yet | Token is not valid yet. Time mismatch between Talk and signaling server. |
| token_expired | The token is expired | Token is expired. Time mismatch or client using old token. |
| too_many_requests | Too many requests | Brute force protection triggered after too many failed requests. |
Ensure Synchronized Server Time
Time differences between servers can cause authentication failures, token validation errors, and connection issues.
All servers and VMs in the infrastructure (Nextcloud, HPB, etc.) must have their system clocks synchronized. Otherwise, the system might not validate requests. To ensure proper synchronization of server time across different machines, a Network Time Protocol (NTP) server can be used. This will automatically synchronize the clocks of all servers, maintaining consistency and preventing issues.
Verify Network Connectivity
Ensure that High-Performance Backend server is reachable from your Nextcloud server and clients.
Servers also should be able to connect to each other in order to correctly run setup checks.
Brute Force Protection
Nextcloud brute force protection mechanisms can block signaling requests if misconfigured. See Signaling server and brute force protection
Confirm that the shared secret is correct, then reset the BFP attempts for that IP address:
php occ security:bruteforce:reset <IP_ADDRESS>
Check Nextcloud Talk Configuration
In Administration settings, go to Talk > High-Performance Backend and verify the following:
- High-Performance Backend URL is correct and uses the right protocol (https:// or wss:// for secure WebSocket).
- Shared secret is correctly set and matches the one configured on the HPB server configuration.
- Ensure SSL certificates are valid and trusted by clients and server. Self-signed certificates may require additional configuration.
Check High-Performance Backend Configuration
In High-Performance Backend server, look for config/server.conf and verify the following:
- Shared secret is correctly set and matches the one configured on the Administration settings.
- Backend URL is correct and uses the right protocol (https:// or wss:// for secure WebSocket).
[backend]
backends = backend-1
secret = <your-shared-secret>
allowall = 0
skipverify = 0
[backend-1]
url = https://company.example.ltd
secret = <your-shared-secret>
If Nextcloud configuration has overwrite.cli.url configured, make sure it matches the configured backend URL.
Subscriber exclusive content
A Nextcloud Enterprise Subscription provides unlimited access to our knowledge base articles and direct access to Nextcloud engineers.