Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No video calls (WebRTC problem suspected) #11397

Closed
alejandro59 opened this issue Jan 18, 2024 · 8 comments
Closed

No video calls (WebRTC problem suspected) #11397

alejandro59 opened this issue Jan 18, 2024 · 8 comments

Comments

@alejandro59
Copy link

How to use GitHub

  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Context and explanation of debug already done

I am installing a Nextcloud in a closed network. One of the more important features we need is the video call one.
So, in a fresh Debian 12 VM, I have installed:

  • php8.2
    PHP 8.2.7 (cli) (built: Jun 9 2023 19:37:27) (NTS)
    Copyright (c) The PHP Group
    Zend Engine v4.2.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.7, Copyright (c), by Zend Technologies

  • Apache/2.4.57
    root@Nextcloud2:~/debug_anonymized# apache2 -v
    Server version: Apache/2.4.57 (Debian)
    Server built: 2023-04-13T03:26:51

  • nextcloud-28.0.1.zip

  • spreed-v18.0.1
    The Nextcloud server seems to work without problem. I can create two users, they can chat among them.
    Then, user adminnextcloud launches a video call. I get the webcam image and it keeps waiting for Test 1 to join the call.
    From the Test 1 user, I join the call. It takes some seconds to enter the call, then I get no video, no audio. The call seems to be established because I can see the clock running on the top of the window, but I got the cercle looping in the middle of the screen and never gets the video call.

The two hosts are not in the same network. There is no NAT involved, no dns server (I am using IP's), but I cannot see any WebRTC communication trying between the them. I tested installing a coturn server, but again, no one trying to establisheda WebRTC communication.

Taking a look to the browser web dev tools (only in one client side, because on the other client side I cannot lanch them) I see: Uncaught DOMexception: RTCPeerConnection constructor passed invalid RTCConfiguration: urls is empty.

So installed a coturn server, but I get always the same error: Uncaught DOMexception: RTCPeerConnection constructor passed invalid RTCConfiguration: urls is empty.

Steps to reproduce

  1. Install nextcloud 28 + apache2 + php8.2
  2. Create two users
  3. Try to do a video call

Expected behaviour

Tell us what should happen
Normally, the video and audio must work

Actual behaviour

Tell us what happens instead
No audio/video

Talk app

Talk app version: (see apps admin page: /index.php/settings/apps)

  • spreed-v18.0.1

Custom Signaling server configured: yes/no and version (see additional admin settings: /index.php/index.php/settings/admin/talk#signaling_server)

Custom TURN server configured: yes/no (see additional admin settings: /index.php/settings/admin/talk#turn_server)
yes

Custom STUN server configured: yes/no (see additional admin settings: /index.php/settings/admin/talk#stun_server)

Browser

Microphone available: yes/no
yes

Camera available: yes/no
yes

Operating system: Windows/Ubuntu/...
Debian 11 and Windows
Browser name: Firefox/Chrome/...
Firefox
Browser version: 85/96/...
user Test1
-Firefox 102.10.0esr (64 bits) Debian 11
user adminnextcloud
-Firefox 102.8.0esr (64 bits) Windows 10 enterprise

Browser log

Uncaught DOMexception: RTCPeerConnection constructor passed invalid RTCConfiguration: urls is empty.

``` Insert your browser log here, this could for example include: a) The javascript console log Uncaught DOMexception: RTCPeerConnection constructor passed invalid RTCConfiguration: urls is empty. b) The network log

c) nextcloud log

{"reqId":"Zaji7-P0pTNLkWZhqeyHNwAAAAM","level":2,"time":"2024-01-18T08:36:29+00:00","remoteAddr":"192.168.121.2","user":"adminnextcloud","app":"spreed","method":"GET","url":"/ocs/v2.php/apps/spreed/api/v3/signaling/p7xwygxn","message":"Controller OCA\Talk\Controller\SignalingController::pullMessages executed 215 queries.","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0","version":"28.0.1.1","data":{"app":"spreed"}}
{"reqId":"Zaji7_ZmdAlPaqacXkp4pwAAAAE","level":2,"time":"2024-01-18T08:36:29+00:00","remoteAddr":"192.168.86.115","user":"test1","app":"spreed","method":"GET","url":"/ocs/v2.php/apps/spreed/api/v3/signaling/p7xwygxn","message":"Controller OCA\Talk\Controller\SignalingController::pullMessages executed 215 queries.","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0","version":"28.0.1.1","data":{"app":"spreed"}}
{"reqId":"ZajjDeP0pTNLkWZhqeyHOAAAAAM","level":2,"time":"2024-01-18T08:36:57+00:00","remoteAddr":"192.168.121.2","user":"adminnextcloud","app":"spreed","method":"GET","url":"/ocs/v2.php/apps/spreed/api/v3/signaling/p7xwygxn","message":"Controller OCA\Talk\Controller\SignalingController::pullMessages executed 203 queries.","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0","version":"28.0.1.1","data":{"app":"spreed"}}
{"reqId":"ZajjDfZmdAlPaqacXkp4qAAAAAE","level":3,"time":"2024-01-18T08:36:57+00:00","remoteAddr":"192.168.86.115","user":"test1","app":"no app in context","method":"GET","url":"/ocs/v2.php/apps/spreed/api/v3/signaling/p7xwygxn","message":"Exception thrown: OC\DB\Exceptions\DbalException","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0","version":"28.0.1.1","exception":{"Exception":"OC\DB\Exceptions\DbalException","Message":"An exception occurred while executing a query: SQLSTATE[HY000]: General error: 5 database is locked","Code":5,"Trace":[{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":328,"function":"wrap","class":"OC\DB\Exceptions\DbalException","type":"::"},{"file":"/var/www/nextcloud/apps/spreed/lib/Signaling/Messages.php","line":141,"function":"executeStatement","class":"OC\DB\QueryBuilder\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/public/AppFramework/Db/TTransactional.php","line":63,"function":"OCA\Talk\Signaling\{closure}","class":"OCA\Talk\Signaling\Messages","type":"->","args":["*** sensitive parameters replaced "]},{"file":"/var/www/nextcloud/apps/spreed/lib/Signaling/Messages.php","line":133,"function":"atomic","class":"OCA\Talk\Signaling\Messages","type":"->"},{"file":"/var/www/nextcloud/apps/spreed/lib/Controller/SignalingController.php","line":399,"function":"getAndDeleteMessages","class":"OCA\Talk\Signaling\Messages","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":230,"function":"pullMessages","class":"OCA\Talk\Controller\SignalingController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":137,"function":"executeController","class":"OC\AppFramework\Http\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":184,"function":"dispatch","class":"OC\AppFramework\Http\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\AppFramework\App","type":"::"},{"file":"/var/www/nextcloud/ocs/v1.php","line":65,"function":"match","class":"OC\Route\Router","type":"->"},{"file":"/var/www/nextcloud/ocs/v2.php","line":23,"args":["/var/www/nextcloud/ocs/v1.php"],"function":"require_once"}],"File":"/var/www/nextcloud/lib/private/DB/Exceptions/DbalException.php","Line":71,"Previous":{"Exception":"Doctrine\DBAL\Exception\LockWaitTimeoutException","Message":"An exception occurred while executing a query: SQLSTATE[HY000]: General error: 5 database is locked","Code":5,"Trace":[{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1938,"function":"convert","class":"Doctrine\DBAL\Driver\API\SQLite\ExceptionConverter","type":"->"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1880,"function":"handleDriverException","class":"Doctrine\DBAL\Connection","type":"->"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1208,"function":"convertExceptionDuringQuery","class":"Doctrine\DBAL\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/Connection.php","line":294,"function":"executeStatement","class":"Doctrine\DBAL\Connection","type":"->"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":386,"function":"executeStatement","class":"OC\DB\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":280,"function":"execute","class":"Doctrine\DBAL\Query\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":326,"function":"execute","class":"OC\DB\QueryBuilder\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/apps/spreed/lib/Signaling/Messages.php","line":141,"function":"executeStatement","class":"OC\DB\QueryBuilder\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/public/AppFramework/Db/TTransactional.php","line":63,"function":"OCA\Talk\Signaling\{closure}","class":"OCA\Talk\Signaling\Messages","type":"->","args":[" sensitive parameters replaced "]},{"file":"/var/www/nextcloud/apps/spreed/lib/Signaling/Messages.php","line":133,"function":"atomic","class":"OCA\Talk\Signaling\Messages","type":"->"},{"file":"/var/www/nextcloud/apps/spreed/lib/Controller/SignalingController.php","line":399,"function":"getAndDeleteMessages","class":"OCA\Talk\Signaling\Messages","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":230,"function":"pullMessages","class":"OCA\Talk\Controller\SignalingController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":137,"function":"executeController","class":"OC\AppFramework\Http\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":184,"function":"dispatch","class":"OC\AppFramework\Http\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\AppFramework\App","type":"::"},{"file":"/var/www/nextcloud/ocs/v1.php","line":65,"function":"match","class":"OC\Route\Router","type":"->"},{"file":"/var/www/nextcloud/ocs/v2.php","line":23,"args":["/var/www/nextcloud/ocs/v1.php"],"function":"require_once"}],"File":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/API/SQLite/ExceptionConverter.php","Line":32,"Previous":{"Exception":"Doctrine\DBAL\Driver\PDO\Exception","Message":"SQLSTATE[HY000]: General error: 5 database is locked","Code":5,"Trace":[{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","line":132,"function":"new","class":"Doctrine\DBAL\Driver\PDO\Exception","type":"::"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1202,"function":"execute","class":"Doctrine\DBAL\Driver\PDO\Statement","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/Connection.php","line":294,"function":"executeStatement","class":"Doctrine\DBAL\Connection","type":"->"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":386,"function":"executeStatement","class":"OC\DB\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":280,"function":"execute","class":"Doctrine\DBAL\Query\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":326,"function":"execute","class":"OC\DB\QueryBuilder\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/apps/spreed/lib/Signaling/Messages.php","line":141,"function":"executeStatement","class":"OC\DB\QueryBuilder\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/public/AppFramework/Db/TTransactional.php","line":63,"function":"OCA\Talk\Signaling\{closure}","class":"OCA\Talk\Signaling\Messages","type":"->","args":[" sensitive parameters replaced "]},{"file":"/var/www/nextcloud/apps/spreed/lib/Signaling/Messages.php","line":133,"function":"atomic","class":"OCA\Talk\Signaling\Messages","type":"->"},{"file":"/var/www/nextcloud/apps/spreed/lib/Controller/SignalingController.php","line":399,"function":"getAndDeleteMessages","class":"OCA\Talk\Signaling\Messages","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":230,"function":"pullMessages","class":"OCA\Talk\Controller\SignalingController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":137,"function":"executeController","class":"OC\AppFramework\Http\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":184,"function":"dispatch","class":"OC\AppFramework\Http\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\AppFramework\App","type":"::"},{"file":"/var/www/nextcloud/ocs/v1.php","line":65,"function":"match","class":"OC\Route\Router","type":"->"},{"file":"/var/www/nextcloud/ocs/v2.php","line":23,"args":["/var/www/nextcloud/ocs/v1.php"],"function":"require_once"}],"File":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Exception.php","Line":28,"Previous":{"Exception":"PDOException","Message":"SQLSTATE[HY000]: General error: 5 database is locked","Code":"HY000","Trace":[{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","line":130,"function":"execute","class":"PDOStatement","type":"->"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1202,"function":"execute","class":"Doctrine\DBAL\Driver\PDO\Statement","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/Connection.php","line":294,"function":"executeStatement","class":"Doctrine\DBAL\Connection","type":"->"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":386,"function":"executeStatement","class":"OC\DB\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":280,"function":"execute","class":"Doctrine\DBAL\Query\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":326,"function":"execute","class":"OC\DB\QueryBuilder\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/apps/spreed/lib/Signaling/Messages.php","line":141,"function":"executeStatement","class":"OC\DB\QueryBuilder\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/public/AppFramework/Db/TTransactional.php","line":63,"function":"OCA\Talk\Signaling\{closure}","class":"OCA\Talk\Signaling\Messages","type":"->","args":[" sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/apps/spreed/lib/Signaling/Messages.php","line":133,"function":"atomic","class":"OCA\Talk\Signaling\Messages","type":"->"},{"file":"/var/www/nextcloud/apps/spreed/lib/Controller/SignalingController.php","line":399,"function":"getAndDeleteMessages","class":"OCA\Talk\Signaling\Messages","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":230,"function":"pullMessages","class":"OCA\Talk\Controller\SignalingController","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":137,"function":"executeController","class":"OC\AppFramework\Http\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":184,"function":"dispatch","class":"OC\AppFramework\Http\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\AppFramework\App","type":"::"},{"file":"/var/www/nextcloud/ocs/v1.php","line":65,"function":"match","class":"OC\Route\Router","type":"->"},{"file":"/var/www/nextcloud/ocs/v2.php","line":23,"args":["/var/www/nextcloud/ocs/v1.php"],"function":"require_once"}],"File":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","Line":130}}},"CustomMessage":"Exception thrown: OC\DB\Exceptions\DbalException"}}
{"reqId":"ZajjKeP0pTNLkWZhqeyHOQAAAAM","level":2,"time":"2024-01-18T08:37:28+00:00","remoteAddr":"192.168.121.2","user":"adminnextcloud","app":"spreed","method":"GET","url":"/ocs/v2.php/apps/spreed/api/v3/signaling/p7xwygxn","message":"Controller OCA\Talk\Controller\SignalingController::pullMessages executed 215 queries.","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0","version":"28.0.1.1","data":{"app":"spreed"}}
{"reqId":"ZajjSOaZS4TFThtWsh7J1AAAAAA","level":2,"time":"2024-01-18T08:37:59+00:00","remoteAddr":"192.168.86.115","user":"test1","app":"spreed","method":"GET","url":"/ocs/v2.php/apps/spreed/api/v3/signaling/p7xwygxn","message":"Controller OCA\Talk\Controller\SignalingController::pullMessages executed 215 queries.","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0","version":"28.0.1.1","data":{"app":"spreed"}}
{"reqId":"ZajjUvcpNNw1xlO3SXeVoQAAABA","level":2,"time":"2024-01-18T08:38:05+00:00","remoteAddr":"192.168.121.2","user":"adminnextcloud","app":"spreed","method":"GET","url":"/ocs/v2.php/apps/spreed/api/v3/signaling/p7xwygxn","message":"Controller OCA\Talk\Controller\SignalingController::pullMessages executed 195 queries.","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0","version":"28.0.1.1","data":{"app":"spreed"}}
{"reqId":"ZajjcOaZS4TFThtWsh7J1wAAAAA","level":2,"time":"2024-01-18T08:38:38+00:00","remoteAddr":"192.168.86.115","user":"test1","app":"spreed","method":"GET","url":"/ocs/v2.php/apps/spreed/api/v3/signaling/p7xwygxn","message":"Controller OCA\Talk\Controller\SignalingController::pullMessages executed 215 queries.","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0","version":"28.0.1.1","data":{"app":"spreed"}}
{"reqId":"ZajjcDBbkI5okeF7eHvsogAAAAU","level":2,"time":"2024-01-18T08:38:39+00:00","remoteAddr":"192.168.121.2","user":"adminnextcloud","app":"spreed","method":"GET","url":"/ocs/v2.php/apps/spreed/api/v3/signaling/p7xwygxn","message":"Controller OCA\Talk\Controller\SignalingController::pullMessages executed 215 queries.","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0","version":"28.0.1.1","data":{"app":"spreed"}}


</details>

## Server configuration
<!--
You can use the Issue Template application to prefill most of the required information: https://apps.nextcloud.com/apps/issuetemplate
-->


**Operating system**: Ubuntu/RedHat/...

**Web server:** Apache/Nginx

**Database:** MySQL/Maria/SQLite/PostgreSQL

**PHP version:** 8.0/8.1/8.2

**Nextcloud Version:** (see admin page)

**List of activated apps:**

<details>

If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your server installation folder

</details>

**Nextcloud configuration:**

<details>

If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your Nextcloud installation folder

</details>

### Server log (data/nextcloud.log)
<details>

Insert your server log here

</details>
@SystemKeeper
Copy link
Contributor

Sounds like #8020

  • Are STUN and TURN empty in your case?
  • How does your TURN url look like in case it’s not empty ?

@A-Aurel

This comment was marked as off-topic.

@SystemKeeper

This comment was marked as off-topic.

@alejandro59

This comment was marked as off-topic.

@A-Aurel

This comment was marked as off-topic.

@SystemKeeper

This comment was marked as off-topic.

@A-Aurel
Copy link

A-Aurel commented Feb 5, 2024

I could not find an error message in the console...
However with Fedora - Firefox 122.0-5 update, it did work !
Changelog says: Disabled system libvpx due to WebRTC/camera issues

Edit by @SystemKeeper: Different issue then the one this ticket is about. Just leaving this here, in case someone else is searching for the problem.

@SystemKeeper

This comment was marked as off-topic.

@nickvergessen nickvergessen closed this as not planned Won't fix, can't repro, duplicate, stale Mar 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants