[jitsi-users] Enabling turn


#1

Hi everyone,

I am trying to enable TURN but I am a bit confused with the documentation. On the link provider here (https://github.com/jitsi/jitsi-meet/blob/master/doc/turn.md) it mentions we should use something like this:

···

—————

p2p.useStunTurn: true

p2p: {

    enabled: true,
    useStunTurn: true,

    stunServers: [
        { urls: ‘turn:server.example.com', credential: ‘username', password: ’somepassword' },
        { urls: "stun:stun.l.google.com:19302" },
        { urls: "stun:stun1.l.google.com:19302" },
        { urls: "stun:stun2.l.google.com:19302" }
    ],

    preferH264: true
    backToP2PDelay: 5
},

—————

However I am getting an error (see log below). Having that said, am I using the right syntax? I have tried these configurations (turn server + user + pass) on other services and they seem to work. Given that I am using a third party TURN service I should not have to change / configure anything else, correct?

Best,
Jose

LOG OF THE ERROR ON THE CONSOLE:

Logger.js:125 [modules/xmpp/strophe.jingle.js] <>: getting turn credentials failed <iq xmlns=​"jabber:​client" type=​"error" to=​"bdce29e0-1d19-46d6-9ffc-4835f0f5b371@conf.XXX.com/​da706f04-89d8-4efd-b6d3-5936464553e5" from=​"conf.XXX.com" id=​"7eda6534-eaa7-4566-9bcd-6e573084e80f:​sendIQ">​…​</iq>​<error type=​"cancel">​<service-unavailable xmlns=​"urn:​ietf:​params:​xml:​ns:​xmpp-stanzas">​</service-unavailable>​</error>​</iq>​
r @ Logger.js:125
(anonymous) @ strophe.jingle.js:371
(anonymous) @ strophe.js:2735
run @ strophe.js:2013
(anonymous) @ strophe.js:3110
forEachChild @ strophe.js:993
_dataRecv @ strophe.js:3098
_onRequestStateChange @ strophe.js:4729
XMLHttpRequest.send (async)
(anonymous) @ VM39:1
l @ strophe.js:4843
_processRequest @ strophe.js:4855
_throttledRequestHandler @ strophe.js:5007
_onIdle @ strophe.js:4633
_onIdle @ strophe.js:3718
flush @ strophe.js:2669
i.allocateConferenceFocus @ moderator.js:345
value @ ChatRoom.js:239
r.join @ JitsiConference.js:303
value @ conference.js:397
(anonymous) @ conference.js:734
(anonymous) @ conference.js:733
Logger.js:125 [modules/xmpp/strophe.jingle.js] <>: is mod_turncredentials or similar installed?


#2

Hi Jose,

Currently the documentation assumes you have a properly configured XMPP and TURN server.

Basically you need a common shared secret on your TURN server and your XMPP server, the XMPP server can deliver appropriate credentials and TURN urls to Jitsi Meet. coTURN natively supports shared secret authentication (--use-auth-secret-) and in prosody, you can use the mod_turncredentials module.

We would love to include more detailed configuration instructions in the documentation, so PRs are highly appreciated!

I hope this helps,
George

···

On Oct 10, 2017, at 10:01 AM, Jose Simoes <simoes83@gmail.com> wrote:

Hi everyone,

I am trying to enable TURN but I am a bit confused with the documentation. On the link provider here (https://github.com/jitsi/jitsi-meet/blob/master/doc/turn.md) it mentions we should use something like this:

—————

p2p.useStunTurn: true

p2p: {

    enabled: true,
    useStunTurn: true,

    stunServers: [
        { urls: ‘turn:server.example.com', credential: ‘username', password: ’somepassword' },
        { urls: "stun:stun.l.google.com:19302" },
        { urls: "stun:stun1.l.google.com:19302" },
        { urls: "stun:stun2.l.google.com:19302" }
    ],

    preferH264: true
    backToP2PDelay: 5
},

—————

However I am getting an error (see log below). Having that said, am I using the right syntax? I have tried these configurations (turn server + user + pass) on other services and they seem to work. Given that I am using a third party TURN service I should not have to change / configure anything else, correct?

Best,
Jose

LOG OF THE ERROR ON THE CONSOLE:

Logger.js:125 [modules/xmpp/strophe.jingle.js] <>: getting turn credentials failed <iq xmlns=​"jabber:​client" type=​"error" to=​"bdce29e0-1d19-46d6-9ffc-4835f0f5b371@conf.XXX.com/​da706f04-89d8-4efd-b6d3-5936464553e5" from=​"conf.XXX.com" id=​"7eda6534-eaa7-4566-9bcd-6e573084e80f:​sendIQ">​…​</iq>​<error type=​"cancel">​<service-unavailable xmlns=​"urn:​ietf:​params:​xml:​ns:​xmpp-stanzas">​</service-unavailable>​</error>​</iq>​
r @ Logger.js:125
(anonymous) @ strophe.jingle.js:371
(anonymous) @ strophe.js:2735
run @ strophe.js:2013
(anonymous) @ strophe.js:3110
forEachChild @ strophe.js:993
_dataRecv @ strophe.js:3098
_onRequestStateChange @ strophe.js:4729
XMLHttpRequest.send (async)
(anonymous) @ VM39:1
l @ strophe.js:4843
_processRequest @ strophe.js:4855
_throttledRequestHandler @ strophe.js:5007
_onIdle @ strophe.js:4633
_onIdle @ strophe.js:3718
flush @ strophe.js:2669
i.allocateConferenceFocus @ moderator.js:345
value @ ChatRoom.js:239
r.join @ JitsiConference.js:303
value @ conference.js:397
(anonymous) @ conference.js:734
(anonymous) @ conference.js:733
Logger.js:125 [modules/xmpp/strophe.jingle.js] <>: is mod_turncredentials or similar installed?
_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#3

I see. But is there an easy way to setup this with a 3rd party just like STUN? Assuming the TURN server is already working properly.

Best,
Jose

···

On 10 Oct 2017, at 19:20, George Politis <gp@jitsi.org> wrote:

Hi Jose,

Currently the documentation assumes you have a properly configured XMPP and TURN server.

Basically you need a common shared secret on your TURN server and your XMPP server, the XMPP server can deliver appropriate credentials and TURN urls to Jitsi Meet. coTURN natively supports shared secret authentication (--use-auth-secret-) and in prosody, you can use the mod_turncredentials module.

We would love to include more detailed configuration instructions in the documentation, so PRs are highly appreciated!

I hope this helps,
George

On Oct 10, 2017, at 10:01 AM, Jose Simoes <simoes83@gmail.com> wrote:

Hi everyone,

I am trying to enable TURN but I am a bit confused with the documentation. On the link provider here (https://github.com/jitsi/jitsi-meet/blob/master/doc/turn.md) it mentions we should use something like this:

—————

p2p.useStunTurn: true

p2p: {

   enabled: true,
   useStunTurn: true,

   stunServers: [
       { urls: ‘turn:server.example.com', credential: ‘username', password: ’somepassword' },
       { urls: "stun:stun.l.google.com:19302" },
       { urls: "stun:stun1.l.google.com:19302" },
       { urls: "stun:stun2.l.google.com:19302" }
   ],

   preferH264: true
   backToP2PDelay: 5
},

—————

However I am getting an error (see log below). Having that said, am I using the right syntax? I have tried these configurations (turn server + user + pass) on other services and they seem to work. Given that I am using a third party TURN service I should not have to change / configure anything else, correct?

Best,
Jose

LOG OF THE ERROR ON THE CONSOLE:

Logger.js:125 [modules/xmpp/strophe.jingle.js] <>: getting turn credentials failed <iq xmlns=​"jabber:​client" type=​"error" to=​"bdce29e0-1d19-46d6-9ffc-4835f0f5b371@conf.XXX.com/​da706f04-89d8-4efd-b6d3-5936464553e5" from=​"conf.XXX.com" id=​"7eda6534-eaa7-4566-9bcd-6e573084e80f:​sendIQ">​…​</iq>​<error type=​"cancel">​<service-unavailable xmlns=​"urn:​ietf:​params:​xml:​ns:​xmpp-stanzas">​</service-unavailable>​</error>​</iq>​
r @ Logger.js:125
(anonymous) @ strophe.jingle.js:371
(anonymous) @ strophe.js:2735
run @ strophe.js:2013
(anonymous) @ strophe.js:3110
forEachChild @ strophe.js:993
_dataRecv @ strophe.js:3098
_onRequestStateChange @ strophe.js:4729
XMLHttpRequest.send (async)
(anonymous) @ VM39:1
l @ strophe.js:4843
_processRequest @ strophe.js:4855
_throttledRequestHandler @ strophe.js:5007
_onIdle @ strophe.js:4633
_onIdle @ strophe.js:3718
flush @ strophe.js:2669
i.allocateConferenceFocus @ moderator.js:345
value @ ChatRoom.js:239
r.join @ JitsiConference.js:303
value @ conference.js:397
(anonymous) @ conference.js:734
(anonymous) @ conference.js:733
Logger.js:125 [modules/xmpp/strophe.jingle.js] <>: is mod_turncredentials or similar installed?
_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#4

Unfortunately, I’m personally not aware of any public TURN servers that you can use for free.

···

On Oct 10, 2017, at 11:32 AM, Jose Simoes <simoes83@gmail.com> wrote:

I see. But is there an easy way to setup this with a 3rd party just like STUN? Assuming the TURN server is already working properly.

Best,
Jose

On 10 Oct 2017, at 19:20, George Politis <gp@jitsi.org> wrote:

Hi Jose,

Currently the documentation assumes you have a properly configured XMPP and TURN server.

Basically you need a common shared secret on your TURN server and your XMPP server, the XMPP server can deliver appropriate credentials and TURN urls to Jitsi Meet. coTURN natively supports shared secret authentication (--use-auth-secret-) and in prosody, you can use the mod_turncredentials module.

We would love to include more detailed configuration instructions in the documentation, so PRs are highly appreciated!

I hope this helps,
George

On Oct 10, 2017, at 10:01 AM, Jose Simoes <simoes83@gmail.com> wrote:

Hi everyone,

I am trying to enable TURN but I am a bit confused with the documentation. On the link provider here (https://github.com/jitsi/jitsi-meet/blob/master/doc/turn.md) it mentions we should use something like this:

—————

p2p.useStunTurn: true

p2p: {

  enabled: true,
  useStunTurn: true,

  stunServers: [
      { urls: ‘turn:server.example.com', credential: ‘username', password: ’somepassword' },
      { urls: "stun:stun.l.google.com:19302" },
      { urls: "stun:stun1.l.google.com:19302" },
      { urls: "stun:stun2.l.google.com:19302" }
  ],

  preferH264: true
  backToP2PDelay: 5
},

—————

However I am getting an error (see log below). Having that said, am I using the right syntax? I have tried these configurations (turn server + user + pass) on other services and they seem to work. Given that I am using a third party TURN service I should not have to change / configure anything else, correct?

Best,
Jose

LOG OF THE ERROR ON THE CONSOLE:

Logger.js:125 [modules/xmpp/strophe.jingle.js] <>: getting turn credentials failed <iq xmlns=​"jabber:​client" type=​"error" to=​"bdce29e0-1d19-46d6-9ffc-4835f0f5b371@conf.XXX.com/​da706f04-89d8-4efd-b6d3-5936464553e5" from=​"conf.XXX.com" id=​"7eda6534-eaa7-4566-9bcd-6e573084e80f:​sendIQ">​…​</iq>​<error type=​"cancel">​<service-unavailable xmlns=​"urn:​ietf:​params:​xml:​ns:​xmpp-stanzas">​</service-unavailable>​</error>​</iq>​
r @ Logger.js:125
(anonymous) @ strophe.jingle.js:371
(anonymous) @ strophe.js:2735
run @ strophe.js:2013
(anonymous) @ strophe.js:3110
forEachChild @ strophe.js:993
_dataRecv @ strophe.js:3098
_onRequestStateChange @ strophe.js:4729
XMLHttpRequest.send (async)
(anonymous) @ VM39:1
l @ strophe.js:4843
_processRequest @ strophe.js:4855
_throttledRequestHandler @ strophe.js:5007
_onIdle @ strophe.js:4633
_onIdle @ strophe.js:3718
flush @ strophe.js:2669
i.allocateConferenceFocus @ moderator.js:345
value @ ChatRoom.js:239
r.join @ JitsiConference.js:303
value @ conference.js:397
(anonymous) @ conference.js:734
(anonymous) @ conference.js:733
Logger.js:125 [modules/xmpp/strophe.jingle.js] <>: is mod_turncredentials or similar installed?
_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#5

I am currently using: http://numb.viagenie.ca/

It’s free. In theory it should work. What else do I need to setup to make it work with Jitsi?

Best,
Jose

···

On 10 Oct 2017, at 19:45, George Politis <gp@jitsi.org> wrote:

Unfortunately, I’m personally not aware of any public TURN servers that you can use for free.

On Oct 10, 2017, at 11:32 AM, Jose Simoes <simoes83@gmail.com> wrote:

I see. But is there an easy way to setup this with a 3rd party just like STUN? Assuming the TURN server is already working properly.

Best,
Jose

On 10 Oct 2017, at 19:20, George Politis <gp@jitsi.org> wrote:

Hi Jose,

Currently the documentation assumes you have a properly configured XMPP and TURN server.

Basically you need a common shared secret on your TURN server and your XMPP server, the XMPP server can deliver appropriate credentials and TURN urls to Jitsi Meet. coTURN natively supports shared secret authentication (--use-auth-secret-) and in prosody, you can use the mod_turncredentials module.

We would love to include more detailed configuration instructions in the documentation, so PRs are highly appreciated!

I hope this helps,
George

On Oct 10, 2017, at 10:01 AM, Jose Simoes <simoes83@gmail.com> wrote:

Hi everyone,

I am trying to enable TURN but I am a bit confused with the documentation. On the link provider here (https://github.com/jitsi/jitsi-meet/blob/master/doc/turn.md) it mentions we should use something like this:

—————

p2p.useStunTurn: true

p2p: {

enabled: true,
useStunTurn: true,

stunServers: [
     { urls: ‘turn:server.example.com', credential: ‘username', password: ’somepassword' },
     { urls: "stun:stun.l.google.com:19302" },
     { urls: "stun:stun1.l.google.com:19302" },
     { urls: "stun:stun2.l.google.com:19302" }
],

preferH264: true
backToP2PDelay: 5
},

—————

However I am getting an error (see log below). Having that said, am I using the right syntax? I have tried these configurations (turn server + user + pass) on other services and they seem to work. Given that I am using a third party TURN service I should not have to change / configure anything else, correct?

Best,
Jose

LOG OF THE ERROR ON THE CONSOLE:

Logger.js:125 [modules/xmpp/strophe.jingle.js] <>: getting turn credentials failed <iq xmlns=​"jabber:​client" type=​"error" to=​"bdce29e0-1d19-46d6-9ffc-4835f0f5b371@conf.XXX.com/​da706f04-89d8-4efd-b6d3-5936464553e5" from=​"conf.XXX.com" id=​"7eda6534-eaa7-4566-9bcd-6e573084e80f:​sendIQ">​…​</iq>​<error type=​"cancel">​<service-unavailable xmlns=​"urn:​ietf:​params:​xml:​ns:​xmpp-stanzas">​</service-unavailable>​</error>​</iq>​
r @ Logger.js:125
(anonymous) @ strophe.jingle.js:371
(anonymous) @ strophe.js:2735
run @ strophe.js:2013
(anonymous) @ strophe.js:3110
forEachChild @ strophe.js:993
_dataRecv @ strophe.js:3098
_onRequestStateChange @ strophe.js:4729
XMLHttpRequest.send (async)
(anonymous) @ VM39:1
l @ strophe.js:4843
_processRequest @ strophe.js:4855
_throttledRequestHandler @ strophe.js:5007
_onIdle @ strophe.js:4633
_onIdle @ strophe.js:3718
flush @ strophe.js:2669
i.allocateConferenceFocus @ moderator.js:345
value @ ChatRoom.js:239
r.join @ JitsiConference.js:303
value @ conference.js:397
(anonymous) @ conference.js:734
(anonymous) @ conference.js:733
Logger.js:125 [modules/xmpp/strophe.jingle.js] <>: is mod_turncredentials or similar installed?
_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users