I am configuring a nextcloud server for a study group of artificial intelligence of university of SĂŁo Paulo, and It was going all fine until I try configuring the record backend in Talks.
I followed this tutorial:
nextcloud-talk-recording
Configuring the address in Nextcloud:
But during the meeting, the recording button does not appear.

This is what appears at the terminal while I am running the nextcloud-talk-recording
(venv) turing@turingalan:~/cloud$ nextcloud-talk-recording
Configuration file not found: /home/turing/cloud/server.conf
No configured backends
No configured signalings
* Serving Flask app 'nextcloud.talk.recording.Server'
* Debug mode: off
INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:8000
INFO:werkzeug:Press CTRL+C to quit
INFO:werkzeug:127.0.0.1 - - [21/Jul/2024 01:02:19] "GET /api/v1/welcome HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [21/Jul/2024 01:05:07] "GET /api/v1/welcome HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [21/Jul/2024 01:10:34] "GET /api/v1/welcome HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [21/Jul/2024 01:16:01] "GET /api/v1/welcome HTTP/1.1" 200 -
Please help me to help this study group if you can
Thanks
That’s your first problem. The second problem (most likely, since you skipped the support template and missed to mention any information about your setup), is that you don’t have an external signaling server configured, which is a requirement for the recording server.
Am I using the best solution? I think I might be overengineering, it’s a server for 30-40 people with low simultaneity.
Only for documentation purposes…
About the configuration not found it was easy to resolve, but searching for the signaling nextcloud-spreed-signaling, it requires NATS server that uses the 4222 port that is already in use by ssh. So I used the following command and modified the config files:
docker run -p 4223:4222 -ti --restart always nats:latest
Now the signaling is configured, but what do I do about the backend? I thought that the nextcloud-talk-recording was the “backend”.
(venv) turing@turingalan:~/cloud$ nextcloud-talk-recording --config nextcloud-talk-recording/server.conf.in
No configured backends
* Serving Flask app 'nextcloud.talk.recording.Server'
* Debug mode: off
INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:8000
INFO:werkzeug:Press CTRL+C to quit
After a lot of work, I finally have configured the nextcloud-talk-recording, but the button still not appearing.
Here shows that the backend is OK
This is the output of the record and signaling, NAT server is running in a container. No errors
The recording button still not appearing.

I don’t know how to debug this. When I configure the log leveal as debug nothing changes.

Am I missing something?
Did you also set the signaling server in the Talk settings under HPB? Since there are no logs printed about connections on the left side, I assume this is missing?
1 Like
Thaks, I forgot this part.
So now I found a new error when I open Talk:
Establishing signaling connection is taking longer than expected…
Failed to establish signaling connection. Retrying…
However, nothing is shown in the console.
Can the clients correctly connect to the signaling server?
This is what happens when I run make client and execute:
Client:
(venv) turing@turingalan:~/recording_server/nextcloud-spreed-signaling$ ./bin/client --config server.conf.in --addr 127.0.0.1:8085
Using a maximum of 12 CPUs
Backend server running on http://143.107.160.57:40569
Connecting to [ws://127.0.0.1:8085/spreed]
Starting 100 clients
Unsupported message type: {Marshaler:<nil> Unmarshaler:<nil> Id: Type:welcome Error:<nil> Welcome:0xc000342640 Hello:<nil> Bye:<nil> Room:<nil> Message:<nil> Control:<nil> Event:null TransientData:<nil> Internal:<nil> Dialout:<nil>}
Unsupported message type: {Marshaler:<nil> Unmarshaler:<nil> Id: Type:welcome Error:<nil> Welcome:0xc00048c000 Hello:<nil> Bye:<nil> Room:<nil> Message:<nil> Control:<nil> Event:null TransientData:<nil> Internal:<nil> Dialout:<nil>}
Unsupported message type: {Marshaler:<nil> Unmarshaler:<nil> Id: Type:welcome Error:<nil> Welcome:0xc00048c140 Hello:<nil> Bye:<nil> Room:<nil> Message:<nil> Control:<nil> Event:null TransientData:<nil> Internal:<nil> Dialout:<nil>}
Unsupported message type: {Marshaler:<nil> Unmarshaler:<nil> Id: Type:welcome Error:<nil> Welcome:0xc00048c240 Hello:<nil> Bye:<nil> Room:<nil> Message:<nil> Control:<nil> Event:null TransientData:<nil> Internal:<nil> Dialout:<nil>}
Unsupported message type: {Marshaler:<nil> Unmarshaler:<nil> Id: Type:welcome Error:<nil> Welcome:0xc000514080 Hello:<nil> Bye:<nil> Room:<nil> Message:<nil> Control:<nil> Event:null TransientData:<nil> Internal:<nil> Dialout:<nil>}
Registered as MTcyMjc5ODIyMHxMOE1VcWRINWp6QzN6c1RyeFZPMkczYzdybkZ4Tk0yVHRBbWxXRnNnSkVPUUdGa3VjRzNOdnpQSVRFT3F5MHdXbVdZS19jVzVMMGdDVjNtUnBrVXdYNjFjcl84SFdIZjlTMDVEU2Q5U1dsZlJCZjlTT19wTlozaWF2ck5wbWJ2c1ZRZmdxeHNyQmxOZlBKdTBnVHNxS0NUdVZpbW9UX0FKV0VKaFd2dDR8hC_h5qhNJ4Jj-sjoyk6yZk-lWTShBCclUa7setD_-W8= (userid sample-user)
Registered as MTcyMjc5ODIyMHx5d3NsVFAzY1UtekJ5QmhHY2x2VGZMbjJ0aDhOQ3FmU0lLTUhRNldheWFLNVY2cFFxcEZSNllwYTQtcktkVk1XenNQWEFvSTBvMXlHUTYtdS1nV3pDTTRBeGJjOUc4SUJ3cDNTYVJwVE8wWnVhQ0o2MzloYzJ6d2Z2d1IwNWx0bDdIZmNUalhXbHBpTldrYzFLd28xLXhmWlRGc0tZUEFPZ0VmVW4xUkR8__YFRzdupg5DSHqGwR2SLr9Ko0Pc6gcsQguqftL0iCY= (userid sample-user)
...continue
All connections established
Stats: sent=655948 (65594/sec), recv=200 (20/sec), delta=655748
Stats: sent=1303705 (64775/sec), recv=200 (0/sec), delta=1303505
Stats: sent=1960380 (65641/sec), recv=200 (0/sec), delta=1960180
...continue
$ ./bin/signaling --config server.conf.in
main.go:162: Starting up version eec3af2e011c222941944e245517e9ad862232c0/go1.22.5 as pid 14213
main.go:171: Using a maximum of 12 CPUs
natsclient.go:103: Connection established to nats://localhost:4223 (NBYOKPOPAAY6IBK3KX4VYDTHJWYTK7NL334YDL22HEAYOL6QLNTDIBMH)
grpc_common.go:176: WARNING: No GRPC server certificate and/or key configured, running unencrypted
grpc_common.go:178: WARNING: No GRPC CA configured, expecting unencrypted connections
backend_storage_static.go:54: WARNING: All backend hostnames are allowed, only use for development!
backend_client.go:64: WARNING: Backend verification is disabled!
hub.go:218: Using a maximum of 8 concurrent backend connections per host
hub.go:225: Using a timeout of 10s for backend connections
hub.go:235: WARNING: Allow subscribing any streams, this is insecure and should only be enabled for testing
hub.go:248: No trusted proxies configured, only allowing for [127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16]
hub.go:290: Not using GeoIP database
backend_server.go:114: No IPs configured for the stats endpoint, only allowing access from 127.0.0.1
main.go:320: Installing debug handlers in "/debug/pprof"
main.go:384: Listening on 127.0.0.1:8085
main.go:351: Listening on 127.0.0.1:8445
capabilities.go:289: Capabilities expired for http://143.107.160.57:40569/auth/ocs/v2.php/cloud/capabilities, updating
client.go:355: Client from 127.0.0.1 has RTT of 0 ms (175.965µs)
capabilities.go:289: Capabilities expired for http://143.107.160.57:40569/auth/ocs/v2.php/cloud/capabilities, updating
capabilities.go:129: Received unexpected HTTP status from http://143.107.160.57:40569/auth/ocs/v2.php/cloud/capabilities: 404 Not Found
client.go:355: Client from 127.0.0.1 has RTT of 0 ms (248.475µs)
client.go:355: Client from 127.0.0.1 has RTT of 0 ms (80.067µs)
capabilities.go:129: Received unexpected HTTP status from http://143.107.160.57:40569/auth/ocs/v2.php/cloud/capabilities: 404 Not Found
client.go:355: Client from 127.0.0.1 has RTT of 0 ms (298.937µs)
hub.go:853: Register user sample-user@compat from 127.0.0.1 in loopback (Go-http-client/1.1) _9V2inRmOlZrSbqzbTpG2w1T_rMyFa32UJXb-PtJnox8RWg0alY1ZGstdFhwaHR5dG0welczQXFqb2E5Y3ktRk1BTGYyZGQ2SG9ZU1dvMHg1OGY1X0dMY0JJZTlERVBxUmRuUkhWUDFqQnFaYTlLelBtTy1fZFRjSFdYRmtaMmh2WS1XbEl0V29lUmtjOEc5ZVNXZWIzMG9HaE1kNjNicDNQakhtQ3oyZDM0SDVVTDNuR3M4Wmg0bHVWSWdtcGUwLWtYRHBfYWdufDAyMjg5NzIyNzE= (private=MTcyMjc5ODIyMHx5d3NsVFAzY1UtekJ5QmhHY2x2VGZMbjJ0aDhOQ3FmU0lLTUhRNldheWFLNVY2cFFxcEZSNllwYTQtcktkVk1XenNQWEFvSTBvMXlHUTYtdS1nV3pDTTRBeGJjOUc4SUJ3cDNTYVJwVE8wWnVhQ0o2MzloYzJ6d2Z2d1IwNWx0bDdIZmNUalhXbHBpTldrYzFLd28xLXhmWlRGc0tZUEFPZ0VmVW4xUkR8__YFRzdupg5DSHqGwR2SLr9Ko0Pc6gcsQguqftL0iCY=)
hub.go:853: Register user sample-user@compat from 127.0.0.1 in loopback (Go-http-client/1.1) bR_6PyVrG5adfcRxrHE3wF2cYuONTjRtIaxMEODjPHd8VEl2YUZ2eFNUWXRLb1pENXpSUC1JSG42WHBvUjcyRTI1eWc4ck9IWHdidk9RZXQ0WXBhSmkyU3lLdUl1dVZwc0duUDRBemUwM1VNOHdsNmlwN0NFN2hfWDAtbFlHaU1sNmdOWHpiWkx3Rmw4OEI3WGZMc05IdHoyNEVCcUpWdmtZM0hKSkRoclVsVnBJR3dEX0RXcEd3Vk8wYlRnVlA0blQteVVwUUpWfDAyMjg5NzIyNzE= (private=MTcyMjc5ODIyMHxMOE1VcWRINWp6QzN6c1RyeFZPMkczYzdybkZ4Tk0yVHRBbWxXRnNnSkVPUUdGa3VjRzNOdnpQSVRFT3F5MHdXbVdZS19jVzVMMGdDVjNtUnBrVXdYNjFjcl84SFdIZjlTMDVEU2Q5U1dsZlJCZjlTT19wTlozaWF2ck5wbWJ2c1ZRZmdxeHNyQmxOZlBKdTBnVHNxS0NUdVZpbW9UX0FKV0VKaFd2dDR8hC_h5qhNJ4Jj-sjoyk6yZk-lWTShBCclUa7setD_-W8=)
...continue
I dont kwow if this messages are bugs, but I didn’t configured any 40569 port
Clients in this case being the browser. It looks like you configured the signaling server to only be reachable locally, but that’s not enough. You need to be able to connect from all talk clients (browser, mobile app,…) to the signaling server (and with https)