AIO Talk recording with nextcloud 32

Support intro

Sorry to hear you’re facing problems :slightly_frowning_face:

help.nextcloud.com is for home/non-enterprise users. If you’re running a business, paid support can be accessed via portal.nextcloud.com where we can ensure your business keeps running smoothly.

In order to help you as quickly as possible, before clicking Create Topic please provide as much of the below as you can. Feel free to use a pastebin service for logs, otherwise either indent short log examples with four spaces:

example

Or for longer, use three backticks above and below the code snippet:

longer
example
here

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can :heart:

Some useful links to gather information about your Nextcloud Talk installation:
Information about Signaling server: /index.php/index.php/settings/admin/talk#signaling_server
Information about TURN server: /index.php/settings/admin/talk#turn_server
Information about STUN server: /index.php/settings/admin/talk#stun_server

Nextcloud version (eg, 24.0.1): 32.0.0
Talk Server version (eg, 14.0.2): 22.0.0
Custom Signaling server configured: yes Docker 2.0.4
Custom TURN server configured: yes
Custom STUN server configured: yes

In case the web version of Nextcloud Talk is involved:
Operating system (eg, Windows/Ubuntu/…): Debian 12
Browser name and version (eg, Chrome v101): Firefox

The issue you are facing: error on starting recording

Is this the first time you’ve seen this error? (Y/N): Y

Steps to replicate it:

  1. configure talk recording with nextcloud/aio-talk-recording:latest

  2. start talk room

  3. start recording => failded

The output of your Nextcloud log in Admin > Logging or errors in nextcloud.log in /var/www/:

HERE{"reqId":"XmOsHHXZ4tCG2PhYjfz0","level":3,"time":"2025-10-14T17:27:51+02:00","remoteAddr":"172.22.0.2","user":"--","app":"PHP","method":"GET","url":"/ocs/v2.php/cloud/capabilities","message":"Unknown: Use of mbstring.http_input is deprecated at Unknown#0","userAgent":"nextcloud-spreed-signaling/2.0.4~docker","version":"32.0.0.13","data":{"app":"PHP"}}
{"reqId":"Mun1XzicMY1L0R4SnnvK","level":3,"time":"2025-10-14T17:27:51+02:00","remoteAddr":"172.22.0.2","user":"--","app":"PHP","method":"POST","url":"/ocs/v2.php/apps/spreed/api/v3/signaling/backend","message":"Unknown: Use of mbstring.http_input is deprecated at Unknown#0","userAgent":"nextcloud-spreed-signaling/2.0.4~docker","version":"32.0.0.13","data":{"app":"PHP"}}
{"reqId":"7pstMN24SFUM3tB17zHp","level":3,"time":"2025-10-14T17:27:54+02:00","remoteAddr":"ip-client","user":"admin","app":"spreed","method":"POST","url":"/ocs/v2.php/apps/spreed/api/v1/recording/u5pf4edi","message":"Failed to send message to recording server","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0","version":"32.0.0.13","exception":{"Exception":"GuzzleHttp\\Exception\\ClientException","Message":"Client error: `POST http://127.0.0.1:1235/api/v1/room/u5pf4edi` resulted in a `403 FORBIDDEN` response:\n<!doctype html>\n<html lang=en>\n<title>403 Forbidden</title>\n<h1>Forbidden</h1>\n<p>You don&#39;t have the permission to a (truncated...)\n","Code":403,"Trace":[{"file":"/var/www/url-nextcloud/www/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":72,"function":"create","class":"GuzzleHttp\\Exception\\RequestException","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/url-nextcloud/www/3rdparty/guzzlehttp/promises/src/Promise.php","line":209,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/url-nextcloud/www/3rdparty/guzzlehttp/promises/src/Promise.php","line":158,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":[1,"*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/url-nextcloud/www/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":52,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/url-nextcloud/www/3rdparty/guzzlehttp/promises/src/Promise.php","line":251,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->","args":[true]},{"file":"/var/www/url-nextcloud/www/3rdparty/guzzlehttp/promises/src/Promise.php","line":227,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/url-nextcloud/www/3rdparty/guzzlehttp/promises/src/Promise.php","line":272,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/url-nextcloud/www/3rdparty/guzzlehttp/promises/src/Promise.php","line":229,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/url-nextcloud/www/3rdparty/guzzlehttp/promises/src/Promise.php","line":69,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/url-nextcloud/www/3rdparty/guzzlehttp/guzzle/src/Client.php","line":189,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/url-nextcloud/www/lib/private/Http/Client/Client.php","line":277,"function":"request","class":"GuzzleHttp\\Client","type":"->","args":["post","*** sensitive parameters replaced ***",{"verify":"/var/www/url-nextcloud/www/resources/config/ca-bundle.crt","timeout":30,"headers":{"Content-Type":"application/json","Talk-Recording-Random":"pTFqlXqroB6mkFHhYrfKIEH4dc+axD/jlYDI3bBkF97bviYo70XxCUVGFZ9cLCPt","Talk-Recording-Checksum":"d8779d2e2697226db4276b6fd42cc6b9f31dcef8c3b6256caa57075136da2478","Talk-Recording-Backend":"https://url-nextcloud/","User-Agent":"Nextcloud Server Crawler","0":"And 1 more entries, set log level to debug to see all entries"},"body":"{\"type\":\"start\",\"start\":{\"status\":1,\"owner\":\"admin\",\"actor\":{\"type\":\"users\",\"id\":\"admin\"}}}","nextcloud":{"allow_local_address":true},"0":"And 1 more entries, set log level to debug to see all entries"}]},{"file":"/var/www/url-nextcloud/www/apps/spreed/lib/Recording/BackendNotifier.php","line":52,"function":"post","class":"OC\\Http\\Client\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/url-nextcloud/www/apps/spreed/lib/Recording/BackendNotifier.php","line":116,"function":"doRequest","class":"OCA\\Talk\\Recording\\BackendNotifier","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/url-nextcloud/www/apps/spreed/lib/Recording/BackendNotifier.php","line":121,"function":"backendRequest","class":"OCA\\Talk\\Recording\\BackendNotifier","type":"->","args":[{"__class__":"OCA\\Talk\\Room"},{"type":"start","start":{"status":1,"owner":"admin","actor":{"type":"users","id":"admin"}}}]},{"file":"/var/www/url-nextcloud/www/apps/spreed/lib/Service/RecordingService.php","line":106,"function":"start","class":"OCA\\Talk\\Recording\\BackendNotifier","type":"->","args":[{"__class__":"OCA\\Talk\\Room"},1,"admin",{"__class__":"OCA\\Talk\\Participant"}]},{"file":"/var/www/url-nextcloud/www/apps/spreed/lib/Controller/RecordingController.php","line":346,"function":"start","class":"OCA\\Talk\\Service\\RecordingService","type":"->","args":[{"__class__":"OCA\\Talk\\Room"},1,"admin",{"__class__":"OCA\\Talk\\Participant"}]},{"file":"/var/www/url-nextcloud/www/lib/private/AppFramework/Http/Dispatcher.php","line":204,"function":"start","class":"OCA\\Talk\\Controller\\RecordingController","type":"->","args":[1]},{"file":"/var/www/url-nextcloud/www/lib/private/AppFramework/Http/Dispatcher.php","line":118,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Talk\\Controller\\RecordingController"},"start"]},{"file":"/var/www/url-nextcloud/www/lib/private/AppFramework/App.php","line":153,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Talk\\Controller\\RecordingController"},"start"]},{"file":"/var/www/url-nextcloud/www/lib/private/Route/Router.php","line":321,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\Talk\\Controller\\RecordingController","start",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"_route":"ocs.spreed.recording.start","apiVersion":"v1","token":"u5pf4edi"}]},{"file":"/var/www/url-nextcloud/www/ocs/v1.php","line":61,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/ocsapp/apps/spreed/api/v1/recording/u5pf4edi"]},{"file":"/var/www/url-nextcloud/www/ocs/v2.php","line":8,"args":["/var/www/url-nextcloud/www/ocs/v1.php"],"function":"require_once"}],"File":"/var/www/url-nextcloud/www/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php","Line":111,"message":"Failed to send message to recording server","exception":{},"CustomMessage":"Failed to send message to recording server"}}

The output of your Apache/nginx/system log in /var/log/____:No error

Your browser log if relevant (javascript console log, network log, etc.):

No error chown

Recording error

WARNING:nextcloud.talk.recording.Server:Checksum verification failed: d8779d2e2697226db4276b6fd42cc6b9f31dcef8c3b6256caa57075136da2478 92717dc5f0473ba44f5a1a57b5e76db297c5bb2c324911b18f390fdf5e5a2e3d

NB : It’s Works with Nextcloud 31

Thanks