Nextcloud Talk unable to connect to calls after signalling server is up

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:

Nextcloud version (eg, 20.0.5): 27.0.0.0
Operating system and version (eg, Ubuntu 20.04): 22.04
Apache or nginx version (eg, Apache 2.4.25): nginx 1.24.0
PHP version (eg, 7.4): 8.2

The issue you are facing:

Talk not answering calls correctly
Caller A (behind NAT) makes call to Caller B whos on Mobile
Caller A ringing on screen
Caller B answers but still beeping and remains on screen that says person ringing but then reports call dropped

same happens both callers behind NAT

Is this the first time you’ve seen this error? Y

Steps to replicate it:

  1. Open Talk
  2. open conversation
  3. make call

The output of your Nextcloud log in Admin > Logging:

Error	spreed	GuzzleHttp\Exception\ClientException: Client error: `POST https://rtc.wh-computers.co.uk/standalone-signaling/api/v1/room/77j45iw7` resulted in a `403 Forbidden` response: Authentication check failed

    /var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php - line 69:

    GuzzleHttp\Exception\RequestException::create("*** sensiti ... *")

    /var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php - line 204:

    GuzzleHttp\Middleware::GuzzleHttp\{closure}("*** sensiti ... *")

    /var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php - line 153:

    GuzzleHttp\Promise\Promise::callHandler()

    /var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/TaskQueue.php - line 48:

    GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}("*** sensiti ... *")

    /var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php - line 248:

    GuzzleHttp\Promise\TaskQueue->run()

    /var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php - line 224:

    GuzzleHttp\Promise\Promise->invokeWaitFn()

    /var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php - line 269:

    GuzzleHttp\Promise\Promise->waitIfPending()

    /var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php - line 226:

    GuzzleHttp\Promise\Promise->invokeWaitList()

    /var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php - line 62:

    GuzzleHttp\Promise\Promise->waitIfPending()

    /var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php - line 187:

    GuzzleHttp\Promise\Promise->wait()

    /var/www/html/nextcloud/lib/private/Http/Client/Client.php - line 297:

    GuzzleHttp\Client->request()

    /var/www/html/nextcloud/apps/spreed/lib/Signaling/BackendNotifier.php - line 85:

    OC\Http\Client\Client->post()

    /var/www/html/nextcloud/apps/spreed/lib/Signaling/BackendNotifier.php - line 146:

    OCA\Talk\Signaling\BackendNotifier->doRequest()

    /var/www/html/nextcloud/apps/spreed/lib/Signaling/BackendNotifier.php - line 449:

    OCA\Talk\Signaling\BackendNotifier->backendRequest()

    /var/www/html/nextcloud/apps/spreed/lib/Signaling/Listener.php - line 309:

    OCA\Talk\Signaling\BackendNotifier->roomInCallChanged()

    /var/www/html/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php - line 251:

    OCA\Talk\Signaling\Listener::sendEndCallForEveryone()

    /var/www/html/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php - line 73:

    Symfony\Component\EventDispatcher\EventDispatcher->callListeners()

    /var/www/html/nextcloud/lib/private/EventDispatcher/EventDispatcher.php - line 87:

    Symfony\Component\EventDispatcher\EventDispatcher->dispatch()

    /var/www/html/nextcloud/apps/spreed/lib/Service/ParticipantService.php - line 1059:

    OC\EventDispatcher\EventDispatcher->dispatch()

    /var/www/html/nextcloud/apps/spreed/lib/Controller/CallController.php - line 183:

    OCA\Talk\Service\ParticipantService->endCallForEveryone()

    /var/www/html/nextcloud/lib/private/AppFramework/Http/Dispatcher.php - line 230:

    OCA\Talk\Controller\CallController->leaveCall()

    /var/www/html/nextcloud/lib/private/AppFramework/Http/Dispatcher.php - line 137:

    OC\AppFramework\Http\Dispatcher->executeController()

    /var/www/html/nextcloud/lib/private/AppFramework/App.php - line 183:

    OC\AppFramework\Http\Dispatcher->dispatch()

    /var/www/html/nextcloud/lib/private/Route/Router.php - line 315:

    OC\AppFramework\App::main()

    /var/www/html/nextcloud/ocs/v1.php - line 64:

    OC\Route\Router->match()

    /var/www/html/nextcloud/ocs/v2.php - line 23:

    require_once("/var/www/ht ... p")

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

wayne@thanatos:~$ sudo -u www-data php8.2 /var/www/html/nextcloud/occ config:list
{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "192.168.1.103",
            "cloud.wh-computers.co.uk",
            "localhost",
            "192.168.1.101",
            "mail.wh-computers.co.uk",
            "wh-computers.co.uk",
            "Nextcloud IP" (edited out)
        ],
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "forwarded_for_headers": [
            "X-Forwarded-For",
            "HTTP_X_FORWARDED_FOR"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "27.0.0.8",
        "overwrite.cli.url": "https:\/\/cloud.wh-computers.co.uk",
        "overwritehost": "cloud.wh-computers.co.uk",
        "overwriteprotocol": "https",
        "htaccess.RewriteBase": "\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "default_phone_region": "GB",
        "maintenance": false,
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": 1,
        "mail_smtpport": "465",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "loglevel": 2,
        "logfile": "\/var\/log\/nextcloud\/nextcloud.log",
        "logtimezone": "Europe\/London",
        "log_rotate_size": "10485760",
        "preview_max_x": "2048",
        "preview_max_y": "2048",
        "jpeg_quality": "60",
        "preview_max_memory": "512",
        "app.mail.transport": "php-mail",
        "allow_local_remote_servers": true,
        "enable_previews": true,
        "enabledPreviewProviders": [
            "OC\\Preview\\Movie",
            "OC\\Preview\\PNG",
            "OC\\Preview\\JPEG",
            "OC\\Preview\\GIF",
            "OC\\Preview\\BMP",
            "OC\\Preview\\XBitmap",
            "OC\\Preview\\MP3",
            "OC\\Preview\\MP4",
            "OC\\Preview\\TXT",
            "OC\\Preview\\MarkDown",
            "OC\\Preview\\PDF",
            "OC\\Preview\\Imaginary",
            "OC\\Preview\\OpenDocument",
            "OC\\Preview\\Krita"
        ],
        "preview_imaginary_url": "http:\/\/192.168.1.102:9000",
        "theme": "",
        "mail_smtptimeout": 30,
        "mail_smtpsecure": "ssl",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "filelocking.enabled": true,
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "timeout": 0
        },
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory"

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

Nothing in error log!

Jul 05 20:10:55 ubuntu signaling[2965]: janus_client.go:490: Received event for unknown transaction, ignoring: {
Jul 05 20:10:55 ubuntu signaling[2965]: “janus”: “ack”,
Jul 05 20:10:55 ubuntu signaling[2965]: “session_id”: 7513542571982643,
Jul 05 20:10:55 ubuntu signaling[2965]: “transaction”: “1423”
Jul 05 20:10:55 ubuntu signaling[2965]: }
Jul 05 20:10:55 ubuntu signaling[2965]: mcu_janus.go:864: Publisher 3151347714855168 received connected
Jul 05 20:10:59 ubuntu signaling[2965]: client.go:284: Client from IP has RTT of 342 ms (342.376385ms)
Jul 05 20:11:01 ubuntu signaling[2965]: client.go:303: Error reading from nextcloud IP: read tcp 127.0.0.1:8080->127.0.0.1:54218: use of closed network connection
Jul 05 20:11:34 ubuntu signaling[2965]: client.go:282: Client 8Vw-7cCq875hVrQC9iIclf42JOsP0QAxzNTiIh1eGQ98PXc0d21wV285eDZ2S19xV1FhenRqZkhDQ3F3Yjl1VGl3VlFuelpTUElZZHlZUm43V01ZQTd0Z3BOR2NScUM1dXR0S1BpaDdVV0RjWDdKVER2U1NFa1ppTG9tdnVGaEJCY1A0Q0xyOTYtNmlpTG5WSVNVanhGM1ZCWDlXUzNFdmwxbVZveDVoX3U0ZUpaRk5YVFRtV010UDVPLXF2UTM4VjBsU1ExdVJYfDQ0ODc4NTg4NjE= has RTT of 77 ms (77.182548ms)
PASTE HERE


Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.

PASTE HERE

from the signaling output the person recieving the calls logged as

error reading from IP client.go client from IP use of closed network connection -
has RTT of 77 ms (77.380956ms) undeneath it
hub.go:740: Register user - no problem to desktop client

Android app calling outside and inside network - does not reach signal backend

  • im using a nginx reverse proxy > nginx nextcloud behind NAT
    pfsense router firewall allows port 443 open > proxy port 443 open>nextcloud allows all network traffic

*nginx proxy manager is used at proxy
Signaling server is hosted on a external server with public IP open ports for comms

any pointers? i believe the signaling server is correct as desktop users from same subnet can connect to it