strukturag / nextcloud-spreedme

Spreed.ME Nextcloud app
https://www.spreed.me
GNU Affero General Public License v3.0
56 stars 26 forks source link

Installation on Uberspace / NextCloud #25

Closed Op3rat0r closed 8 years ago

Op3rat0r commented 8 years ago

Hi Folks,

i want to integrate an webrtc-server instanz in my NextCloud(aka OwnCloud). I made two configuration files. One for testing purposes and the other with the integrational conf. for my NextCloud.

When I run the webrtc-server standalone without NextCloud I can long in (testet with two different Browser and two different Workstations) and start a Video- / Chatsession.

When I start the webrtc-server instanz with the integrational conf. for NextCloud. It also works, so that I can see Spreed.Me Button (logged in User in NextCloud), and open the Session. It seems that the User logs in the Webrtc Session. ServerLog: server 2016/07/09 14:40:35 Starting HTTPS server on IP:Port server 2016/07/09 14:41:02.731382 Created client 1 with id server 2016/07/09 14:41:11.686455 Created client 2 with id

Both NexCloud Users see "Ich" as Username in the top. They can not chance the given name. When you go to the right to the user menu it says that there is no other logged in user.

My Problem is that I can not see any other user. Even when I try it with an external link (/apps/external/). Loggin successful but no other User. And the External User also shows "Ich" as display name.

WebRTC (NextCloud) Conf. on pastebin (1 Week). The secret keys are greyed out (xxx). http://pastebin.com/uvbHkG9V

Thanks & Regards, Daniel

leonklingele commented 8 years ago

Hi @Op3rat0r,

you forget to set enabled = true in the [users] section. If it still doesn't work, please also post this app's config files (js + php) and check your browser's developer console:

  1. Open the Spreed.ME app in ownCloud
  2. Append ?debug to the URL, i.e. https://domain.com/index.php/apps/spreedme/?debug
  3. Right click on the ownCloud site
  4. Click "Inspect element" (very bottom)
  5. Check what it says in the console and paste it here
Op3rat0r commented 8 years ago

Hi @leonklingele,

ok the enable = true is my fault, had another server.conf befor. In the old it was set correctly. Sometimes it needs a hint from someone other :)

  1. set enabled = true
  2. In the Firefox Browser at one of the workstations I saw that the real Username is used and there is a Button contact in the Spreedme App. On the other workstation it has no button contact. Ok flush the cache in firefox then it worked

What ist with firefox changes in about:config. Do I have to make this changes? https://github.com/strukturag/spreed-webrtc#firefox

Thanks for your help!


apps/spreedme/conf/ http://pastebin.com/u0DiF8WY apps/spreedme/extra/static/config/ http://pastebin.com/Ue7rcc1Z

leonklingele commented 8 years ago

If you want to share your screen from Firefox, yes, then you need to do the changes in media.getusermedia.screensharing.allowed_domains. Screensharing will not work for you anyways as it seems you chose to run spreed-webrtc and ownCloud on two different hosts (one on port 443 and one on port 63091).

Op3rat0r commented 8 years ago

cloud.zonedata.de-1468245171261.log.txt

leonklingele commented 8 years ago

Sounds like a STUN/TURN server related problem. Please first try if a STUN server is sufficient in your setup: In the [app] section of spreed-webrtc's server.conf comment out turnURIs, uncomment stunURIs and set it to stun:stun.spreed.me:443 This will use the STUN server provided by us. Let's see if that helps.

If not, please follow the instructions at https://github.com/spreedbox/spreedbox/wiki/Use-TURN-server

Am 11.07.2016 um 15:58 schrieb Daniel notifications@github.com:

cloud.zonedata.de-1468245171261.log.txt

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or mute the thread.

Op3rat0r commented 8 years ago

Unfortunately, that did not help. My [apps] server.conf after the changes:

[app]
; HTML page title
title = JustIT WebRTC
; Version string to use for static resources. This defaults to the server
; version and should only be changed when you use your own way to invalidate
; long cached static resources.
;ver = 1234
; STUN server URIs in format host:port. You can provide multiple seperated by
; space. If you do not have one use a public one like stun.spreed.me:443. If
; you have a TURN server you do not need to set an STUN server as the TURN
; server will provide STUN services.
stunURIs = stun:stun.spreed.me:443
; TURN server URIs in format host:port?transport=udp|tcp. You can provide
; multiple seperated by space. If you do not have at least one TURN server then
; some users will not be able to use the server as the peer to peer connection
; cannot be established without a TURN server due to firewall reasons. An open
; source TURN server which is fully supported can be found at
; https://code.google.com/p/rfc5766-turn-server/.
;turnURIs = turn:turnserver:port?transport=udp
; Shared secret authentication for TURN user generation if the TURN server is
; protected (which it should be).
; See http://tools.ietf.org/html/draft-uberti-behave-turn-rest-00 for details.
; A supported TURN server is https://code.google.com/p/rfc5766-turn-server/.
;turnSecret = the-default-turn-shared-secret-do-not-keep
....

Sry, I have created a new issue, because this issue is closed. I did not know if this will be continued. Where shall I write?

leonklingele commented 8 years ago

Did you restart spreed-webrtc after your changes?

If STUN doesn't help, you need to set up a TURN server. Please consult the link I posted above.

Am 11.07.2016 um 17:27 schrieb Daniel notifications@github.com:

Unfortunately, that did not help. My [apps] server.conf after the changes:

[app] ; HTML page title title = JustIT WebRTC ; Version string to use for static resources. This defaults to the server ; version and should only be changed when you use your own way to invalidate ; long cached static resources. ;ver = 1234 ; STUN server URIs in format host:port. You can provide multiple seperated by ; space. If you do not have one use a public one like stun.spreed.me:443. If ; you have a TURN server you do not need to set an STUN server as the TURN ; server will provide STUN services. stunURIs = stun:stun.spreed.me:443 ; TURN server URIs in format host:port?transport=udp|tcp. You can provide ; multiple seperated by space. If you do not have at least one TURN server then ; some users will not be able to use the server as the peer to peer connection ; cannot be established without a TURN server due to firewall reasons. An open ; source TURN server which is fully supported can be found at ; https://code.google.com/p/rfc5766-turn-server/. ;turnURIs = turn:turnserver:port?transport=udp ; Shared secret authentication for TURN user generation if the TURN server is ; protected (which it should be). ; See http://tools.ietf.org/html/draft-uberti-behave-turn-rest-00 for details. ; A supported TURN server is https://code.google.com/p/rfc5766-turn-server/. ;turnSecret = the-default-turn-shared-secret-do-not-keep .... Sry, I have created a new issue, because this issue is closed. I did not know if this will be continued. Where shall I write?

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or mute the thread.

Op3rat0r commented 8 years ago

Yes, I do

$ svc -du ~/service/webrtc 
$ killall php-cgi

I didn't logoff from NextCloud.

Now I installed coturn with linux brew. $ brew install coturn

Next step is the conf-Part. I think it's a bit tricky.

longsleep commented 8 years ago

Brew as in http://brew.sh/ ? - Do you have a macOS server? Maybe you did not see that a TURN/STUN server needs to be setup to be reachable from the Internet by any peer with firewalled or otherwise limited internet access and thus would make little sense to install it on a your macOS desktop.

Op3rat0r commented 8 years ago

Brew as in http://brew.sh/ ? - Do you have a macOS server? Maybe you did not see that a TURN/STUN server needs to be setup to be reachable from the Internet by any peer with firewalled or otherwise limited internet access and thus would make little sense to install it on a your macOS desktop.

No, in my case I do not have any Mac. It's not the mac homebrew on Uberspace I can use aka Linuxbrew. On the Uberspace Server runs CentOS.

And the Turn Server, I don't know that I have to install it, sry.

longsleep commented 8 years ago

Ok, did not know about linuxbrew, so i suggest you follow https://github.com/spreedbox/spreedbox/wiki/Use-TURN-server - it should be straight forward.

Op3rat0r commented 8 years ago

Ok, that was the last problem. Now also works the videoconference. Many thanks for your help!

You can close or better delete the other issue https://github.com/strukturag/owncloud-spreedme/issues/27