MetaProvide/talked

Talked deployment

Closed this issue · 17 comments

Hello

We have installed talked server on our same nextcloud server (Latest Version of Nextcloud) by following procedure

Nextcloud is running through apache without docker.

https://github.com/MetaProvide/talked

And installed the talked client from app store. Registered the commands as:

sudo -u www-data php occ talk:command:add recording Talked “php /var/www/html/nextcloud/files/occ talked:record {ROOM} {ARGUMENTS}” 2 2

Created conversation and invited nextcloud user via link.
But when run command in chat /recording start, it says “An error occurred while running the command. Please ask an administrator to check the logs.”

Logs:
InvalidArgumentException: Chat command failed [Code: 1]: php /var/www/html/nextcloud/files/occ talked:record ‘du4jf9ty’ ‘start’

Error: Attempt to read property “message” on null at /var/www/html/nextcloud/files/apps/talked/lib/Command/Record.php#204

Os: Debian 10

Thanks

Please help me in deployment. What i am missing. Something needs to be configured still. I have simple followed the step described in procedure

Hi, I'm quite busy at the moment, so please excuse the response time.

One quick question I have for your setup is, what have you specified for the Talked settings in Nextcloud?

Thank you for your reply in your busy time.

At nextcloud settings---> Talk, I have just defined the talked url http://talked.example.tech (this domain also fine with A record). This url also defined in config.toml as base_url

and register the recording commands at nextcloud server as

sudo -u www-data php occ talk:command:add recording Talked “php /var/www/html/nextcloud/files/occ talked:record {ROOM} {ARGUMENTS}” 2 2

But getting these two errors in nextcloud logs

Logs:
InvalidArgumentException: Chat command failed [Code: 1]: php /var/www/html/nextcloud/files/occ talked:record ‘du4jf9ty’ ‘start’

Error: Attempt to read property “message” on null at /var/www/html/nextcloud/files/apps/talked/lib/Command/Record.php#204

OS: Debian 10

Both nextcloud and talked on same server. ( i have tried with separate talked server but getting same error)

Hi

I have setup new ubuntu server, and setup new talked server on ubuntu as per documentation. and installed apache with default configuration. So talked.example.tech can be responsed from talked server.

run these commands to run talked server:
source /opt/talked/talked/bin/activate
export TALKED_CONFIG_PATH=/opt/talked/config.toml
uwsgi --http-socket /var/run/talked/talked.sock --master --manage-script-name --mount /=talked.main:app

Nextcloud is on separate Debian server. Nextcloud is V23, Debian 10

On nextcloud server configured commands and URI as shown in attached screenshot

Recording command
Talked settings

Still getting same errors in nextcloud logs

Logs:
InvalidArgumentException: Chat command failed [Code: 1]: php /var/www/html/nextcloud/files/occ talked:record ‘du4jf9ty’ ‘start’

Error: Attempt to read property “message” on null at /var/www/html/nextcloud/files/apps/talked/lib/Command/Record.php#204

Hi, thanks for the updated information!

One quick note with this

At nextcloud settings---> Talk, I have just defined the talked url http://talked.example.tech/ (this domain also fine with A record). This url also defined in config.toml as base_url

I can see I haven't made it super clear in the documentation, but the base_url parameter in the config.toml should be set to the base url of your Nextcloud instance.

Error: Attempt to read property “message” on null at /var/www/html/nextcloud/files/apps/talked/lib/Command/Record.php#204

Looking at this error I think the issue is with the communication between apache and talked, I've seen it before when they aren't speaking the same protocol, so if you could post your apache2 config used for Talked, then maybe I can provide some more assistance.

Thanks a lot for your response,

I didn't make any change for talked in apache2.

This is my default apache2 config file from where nextcloud is running

Protocols h2 h2c http/1.1 Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" ServerName nextcloud.cloud ServerAdmin webmaster@localhost DocumentRoot /var/www/html/nextcloud/files

<Directory /var/www/html/nextcloud/files>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/nextcloud.cloud/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/dcorp.cloud/privkey.pem

Please advice if something need to add in in apache config file?

Also can we make a separate talked server?

Okay, then that is definitely the reason. You need to add additional configuration to apache for it to work, as apache needs to know where to send the requests. It specifically needs to act as a reverse proxy. I don't use apache myself, so I can't provide too much assistance, but you can look here for reference.

https://httpd.apache.org/docs/2.4/mod/mod_proxy.html

You basically need to pass the requests from apache to the unix socket and the protocol should remain HTTP.

Also can we make a separate talked server?

Sorry, I'm not quite sure if I understand what you're asking, could you elaborate a bit.

Okay I follow instructions for apache,

I meant to ask, is it necessary to have talked server on same nextcloud server? or do we have an option to configure talked server seperately?

& thanks a lot for guidance. I try to configure apache and if have problem then will post it here.

I

Hi

I have configured nginx on talked server, changed base url to nextcloud url that is nextcloud.cloud

nginx configuration

server {
listen 80;
server_name talked.example.tech;
location / {
include proxy_params;
proxy_pass http://127.0.0.1:5000;
proxy_redirect off;
}

Now getting below errors:
Nextcloud logs:
cURL Error (28): Operation timed out after 30001 milliseconds with 0 bytes received

uwsgi logs:
selenium.common.exceptions.InvalidArgumentException: Message: Malformed URL: URL constructor: nextcloud.cloud/index.php/call/xgz3hqwe is not a valid URL.
Stacktrace:
WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:183:5
InvalidArgumentError@chrome://remote/content/shared/webdriver/Errors.jsm:312:5
GeckoDriver.prototype.navigateTo@chrome://remote/content/marionette/driver.js:791:11

I had run talked server as : uwsgi --http 127.0.0.1:5000 --master --manage-script-name --mount /=talked.main:app

Hi

Now when i described base_url="https://nextcloud.cloud", it resolves above error in my last comment.

Now when i try to record call it gives me error "Failed to initiate call."
/recording status "No recording is currently active"

uwsgi logs:

[pid: 3753823|app: 0|req: 1/1] 127.0.0.1 () {30 vars in 355 bytes} [Tue Mar 22 12:51:44 2022] POST /start => generated 39 bytes in 15918 msecs (HTTP/1.0 200) 2 headers>
WARNING:root:Failed to initiate call.

no related logs in nextcloud logs.

Let me know what needs to be done further?

thank you

I meant to ask, is it necessary to have talked server on same nextcloud server? or do we have an option to configure talked server seperately?

No, you can have the Talked server on a separate server. That's the way I generally set it up.

Now when i try to record call it gives me error "Failed to initiate call."

Okay, now we're at a problem that other people have experienced as well that I don't have a good solution for at the moment. It's most likely because the Talked server can't successfully establish the webrtc connection. It may help with the routing if you set up talked on a separate server. If not then the only thing I know that works at the moment is setting up the Talk high performance backend.

When I have some time for it, I plan on investigating using Talked without the high performance backend and what the issues are, but I don't have a timeline for it yet.

That is at least what I used during development, and it's also what I use for my current deployment.

Thanks for response.

I have setup it on separate server ubuntu server. Nextcloud is on debian. but have same issue.

can you please explain what is meant by Talk high performance backend?

can you please explain what is meant by Talk high performance backend?

It's the following project. It needs a few different components to get working, all described in the README. If you plan on doing much with Talk, I would highly recommend setting it up. https://github.com/strukturag/nextcloud-spreed-signaling

I have setup it on separate server ubuntu server. Nextcloud is on debian. but have same issue.

I didn't see this issue on the production system I had, but I have today received reports from users experiencing the same issue, so I'll be investigating the issue further this week.

I have just pushed a new release that will hopefully fix the issue. So please give v0.3.2 a try.

great ... i try it now

Thanks a lot. It worked.

Fantastic!