[jitsi-users] problems using ejabberd with videobridge


#1

Hi,

is anyone sucessfully running with videobridge and ejabberd? if so what
version?

I initially setup the videobridge with prosody (to minimize unknowns) and
got it all working fine.

However, I now need to swap out prosody for ejabberd because I have
existing installs / plugins (unrelated to jitsi) which rely on ejabberd.

I believe I replicated the prosody config in ejabberd and I can see that
both jvb and jicofo are sucessfully connecting to the ejabberd service /
component.

However, when I try to create a call I see lots of problems. I see ping
timeouts (not always but sometimes). I have a theory that the streams
between jvb and ejabberd, and jicofo and ejabberd are getting confused.
e.g. I am seeing ping timeouts *sometimes* and wireshark seems to tell me
the answer was on the other stream.

I'm wondering if my server config is wrong somehow, this is how I
configured the 2 endpoints:

    port: 5347
    module: ejabberd_service
    access: all
    hosts:
      "jitsi-videobridge.myhost.com":
        password: "ABCDEF"
      "focus.myhost.com":
        password: "ABCDEF"

NOTES:

* your docs for jvb and ejabberd don't mention the focus config:
https://jitsi.org/Projects/JitsiVideobridgeWithEjabberd

However, I was unable to get jicofo to auth to the ejabberd component
without adding the focus as one of the hosts (as above). was I correct in
assuming that is required?

* I had to use the same secret for both because ejabberd seems to only
allow one password per sevice (unlike prosody). I'm not sure if that could
be relevant (.e. does the secret/password somehow uniquely identify things
or is it merely for auth? i.e. if it is the latter it would seem to safe
for them to both use the same password but if not then maybe that is my
issue.

is there anything obvious I'm doing wrong here?

if not can you please tell me the best way I can debug JVB and jicofo to
try to get to the bottom of this. is there a logging recipe to log out all
stanzas exchanged with the XMPP server? if so I could use that to do a
full compare between what I see with prosody and ejabberd.

any help / suggestions appreciated.

Thanks.


#2

Update: to pursue the "crossed wires" theory I speculatively tried putting
the "focus" endpoint on a different port, i.e.

    port: 5347
    module: ejabberd_service
    access: all
    hosts:
      "jitsi-videobridge.myhost.com":
        password: "ABCDEF"

    port: 5348
    module: ejabberd_service
    access: all
    hosts:
      "focus.myhost.com":
        password: "ABCDEF"

(obviously I had to reconfigure jicofo to connect to port 5348).

this now behaves more more healthily.

can anyone knowledgable in this area please advise me on whether this would
be a recommended approach or iif there some way I can have both on the same
port as prosody seems to do?

do you see any particular downsides with splitting the 2 components over
different ports like this?

thx

···

On Sat, Apr 9, 2016 at 6:45 PM, Raoul Duke <rduke496@gmail.com> wrote:

Hi,

is anyone sucessfully running with videobridge and ejabberd? if so what
version?

I initially setup the videobridge with prosody (to minimize unknowns) and
got it all working fine.

However, I now need to swap out prosody for ejabberd because I have
existing installs / plugins (unrelated to jitsi) which rely on ejabberd.

I believe I replicated the prosody config in ejabberd and I can see that
both jvb and jicofo are sucessfully connecting to the ejabberd service /
component.

However, when I try to create a call I see lots of problems. I see ping
timeouts (not always but sometimes). I have a theory that the streams
between jvb and ejabberd, and jicofo and ejabberd are getting confused.
e.g. I am seeing ping timeouts *sometimes* and wireshark seems to tell me
the answer was on the other stream.

I'm wondering if my server config is wrong somehow, this is how I
configured the 2 endpoints:

    port: 5347
    module: ejabberd_service
    access: all
    hosts:
      "jitsi-videobridge.myhost.com":
        password: "ABCDEF"
      "focus.myhost.com":
        password: "ABCDEF"

NOTES:

* your docs for jvb and ejabberd don't mention the focus config:
https://jitsi.org/Projects/JitsiVideobridgeWithEjabberd

However, I was unable to get jicofo to auth to the ejabberd component
without adding the focus as one of the hosts (as above). was I correct in
assuming that is required?

* I had to use the same secret for both because ejabberd seems to only
allow one password per sevice (unlike prosody). I'm not sure if that could
be relevant (.e. does the secret/password somehow uniquely identify things
or is it merely for auth? i.e. if it is the latter it would seem to safe
for them to both use the same password but if not then maybe that is my
issue.

is there anything obvious I'm doing wrong here?

if not can you please tell me the best way I can debug JVB and jicofo to
try to get to the bottom of this. is there a logging recipe to log out all
stanzas exchanged with the XMPP server? if so I could use that to do a
full compare between what I see with prosody and ejabberd.

any help / suggestions appreciated.

Thanks.


#3

Hi Raoul,

Hi,

is anyone sucessfully running with videobridge and ejabberd? if so what
version?

I initially setup the videobridge with prosody (to minimize unknowns)
and got it all working fine.

However, I now need to swap out prosody for ejabberd because I have
existing installs / plugins (unrelated to jitsi) which rely on ejabberd.

I believe I replicated the prosody config in ejabberd and I can see that
both jvb and jicofo are sucessfully connecting to the ejabberd service /
component.

However, when I try to create a call I see lots of problems. I see ping
timeouts (not always but sometimes). I have a theory that the streams
between jvb and ejabberd, and jicofo and ejabberd are getting confused.
  e.g. I am seeing ping timeouts *sometimes* and wireshark seems to tell
me the answer was on the other stream.

I'm wondering if my server config is wrong somehow, this is how I
configured the 2 endpoints:

     port: 5347
     module: ejabberd_service
     access: all
     hosts:
       "jitsi-videobridge.myhost.com <http://jitsi-videobridge.myhost.com>":
         password: "ABCDEF"
       "focus.myhost.com <http://focus.myhost.com>":
         password: "ABCDEF"

NOTES:

* your docs for jvb and ejabberd don't mention the focus config:
https://jitsi.org/Projects/JitsiVideobridgeWithEjabberd

We ran into problems with ejabberd's traffic shaper, and IIRC the symptoms were silently dropped stanzas. That was quite a while ago (when the doc was written, which was before jicofo and jitsi-meet), but it might be worth looking into.

···

On 09/04/16 12:45, Raoul Duke wrote:

On 09/04/16 13:06, Raoul Duke wrote:
> Update: to pursue the "crossed wires" theory I speculatively tried
> putting the "focus" endpoint on a different port, i.e.
>
> port: 5347
> module: ejabberd_service
> access: all
> hosts:
> "jitsi-videobridge.myhost.com
> <http://jitsi-videobridge.myhost.com/>":
> password: "ABCDEF"
>
> port: 5348
> module: ejabberd_service
> access: all
> hosts:
> "focus.myhost.com <http://focus.myhost.com/>":
> password: "ABCDEF"
>
> (obviously I had to reconfigure jicofo to connect to port 5348).
>
> this now behaves more more healthily.
>
> can anyone knowledgable in this area please advise me on whether this
> would be a recommended approach or iif there some way I can have both on
> the same port as prosody seems to do?
>
> do you see any particular downsides with splitting the 2 components
> over different ports like this?

Not as far as the jitsi components are concerned.

Regards,
Boris


#4

Update: to pursue the "crossed wires" theory I speculatively tried

putting the "focus" endpoint on a different port, i.e.

    port: 5347
    module: ejabberd_service
    access: all
    hosts:
      "jitsi-videobridge.myhost.com":
        password: "ABCDEF"

    port: 5348

    module: ejabberd_service
    access: all
    hosts:
      "focus.myhost.com":
        password: "ABCDEF"

(obviously I had to reconfigure jicofo to connect to port 5348).

this now behaves more more healthily.

can anyone knowledgable in this area please advise me on whether this

would be a recommended approach or iif there some way I can have both on
the same port as prosody seems to do?

do you see any particular downsides with splitting the 2 components over

different ports like this?

With ejabberd this is mandatory.

I've tried OpenFire, Ejabberd and Mongoose and was having problem with all
of them. I don't remember what exactly but I can look on monday. At least
conference locking/password is not working except with prosody.

thx

Hi,

is anyone sucessfully running with videobridge and ejabberd? if so what

version?

I initially setup the videobridge with prosody (to minimize unknowns)

and got it all working fine.

However, I now need to swap out prosody for ejabberd because I have

existing installs / plugins (unrelated to jitsi) which rely on ejabberd.

I believe I replicated the prosody config in ejabberd and I can see that

both jvb and jicofo are sucessfully connecting to the ejabberd service /
component.

However, when I try to create a call I see lots of problems. I see ping

timeouts (not always but sometimes). I have a theory that the streams
between jvb and ejabberd, and jicofo and ejabberd are getting confused.
e.g. I am seeing ping timeouts *sometimes* and wireshark seems to tell me
the answer was on the other stream.

I'm wondering if my server config is wrong somehow, this is how I

configured the 2 endpoints:

    port: 5347
    module: ejabberd_service
    access: all
    hosts:
      "jitsi-videobridge.myhost.com":
        password: "ABCDEF"
      "focus.myhost.com":
        password: "ABCDEF"

NOTES:

* your docs for jvb and ejabberd don't mention the focus config:
https://jitsi.org/Projects/JitsiVideobridgeWithEjabberd

However, I was unable to get jicofo to auth to the ejabberd component

without adding the focus as one of the hosts (as above). was I correct in
assuming that is required?

* I had to use the same secret for both because ejabberd seems to only

allow one password per sevice (unlike prosody). I'm not sure if that could
be relevant (.e. does the secret/password somehow uniquely identify things
or is it merely for auth? i.e. if it is the latter it would seem to safe
for them to both use the same password but if not then maybe that is my
issue.

is there anything obvious I'm doing wrong here?

if not can you please tell me the best way I can debug JVB and jicofo to

try to get to the bottom of this. is there a logging recipe to log out all
stanzas exchanged with the XMPP server? if so I could use that to do a
full compare between what I see with prosody and ejabberd.

···

Le 9 avr. 2016 20:10, "Raoul Duke" <rduke496@gmail.com> a écrit :

On Sat, Apr 9, 2016 at 6:45 PM, Raoul Duke <rduke496@gmail.com> wrote:

any help / suggestions appreciated.

Thanks.

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


#5

Etienne,

>
> Update: to pursue the "crossed wires" theory I speculatively tried
putting the "focus" endpoint on a different port, i.e.
>
> port: 5347
> module: ejabberd_service
> access: all
> hosts:
> "jitsi-videobridge.myhost.com":
> password: "ABCDEF"
>
> port: 5348
>
> module: ejabberd_service
> access: all
> hosts:
> "focus.myhost.com":
> password: "ABCDEF"
>
> (obviously I had to reconfigure jicofo to connect to port 5348).
>
> this now behaves more more healthily.
>
> can anyone knowledgable in this area please advise me on whether this
would be a recommended approach or iif there some way I can have both on
the same port as prosody seems to do?
>
> do you see any particular downsides with splitting the 2 components
over different ports like this?

With ejabberd this is mandatory.

I've tried OpenFire, Ejabberd and Mongoose and was having problem with all
of them. I don't remember what exactly but I can look on monday. At least
conference locking/password is not working except with prosody.

thanks for getting back to me. any further info you have would be a big
help. it is good to know that others have been in the same boat.

BTW - I also wrote to ejabberd people asking them about this. it seems
like this having to splut over 2 ports thing is contrary to what their
example documentation says (or at least my reading of it). so hopefully
they will clarify.

http://lists.jabber.ru/pipermail/ejabberd/2016-April/008981.html

···

On Sat, Apr 9, 2016 at 7:58 PM, Etienne Champetier < champetier.etienne@gmail.com> wrote:

Le 9 avr. 2016 20:10, "Raoul Duke" <rduke496@gmail.com> a écrit :

> thx
>
>
> On Sat, Apr 9, 2016 at 6:45 PM, Raoul Duke <rduke496@gmail.com> wrote:
>>
>> Hi,
>>
>> is anyone sucessfully running with videobridge and ejabberd? if so
what version?
>>
>> I initially setup the videobridge with prosody (to minimize unknowns)
and got it all working fine.
>>
>> However, I now need to swap out prosody for ejabberd because I have
existing installs / plugins (unrelated to jitsi) which rely on ejabberd.
>>
>> I believe I replicated the prosody config in ejabberd and I can see
that both jvb and jicofo are sucessfully connecting to the ejabberd service
/ component.
>>
>> However, when I try to create a call I see lots of problems. I see
ping timeouts (not always but sometimes). I have a theory that the
streams between jvb and ejabberd, and jicofo and ejabberd are getting
confused. e.g. I am seeing ping timeouts *sometimes* and wireshark seems
to tell me the answer was on the other stream.
>>
>> I'm wondering if my server config is wrong somehow, this is how I
configured the 2 endpoints:
>>
>> port: 5347
>> module: ejabberd_service
>> access: all
>> hosts:
>> "jitsi-videobridge.myhost.com":
>> password: "ABCDEF"
>> "focus.myhost.com":
>> password: "ABCDEF"
>>
>> NOTES:
>>
>> * your docs for jvb and ejabberd don't mention the focus config:
>> https://jitsi.org/Projects/JitsiVideobridgeWithEjabberd
>>
>> However, I was unable to get jicofo to auth to the ejabberd component
without adding the focus as one of the hosts (as above). was I correct in
assuming that is required?
>>
>> * I had to use the same secret for both because ejabberd seems to only
allow one password per sevice (unlike prosody). I'm not sure if that could
be relevant (.e. does the secret/password somehow uniquely identify things
or is it merely for auth? i.e. if it is the latter it would seem to safe
for them to both use the same password but if not then maybe that is my
issue.
>>
>> is there anything obvious I'm doing wrong here?
>>
>> if not can you please tell me the best way I can debug JVB and jicofo
to try to get to the bottom of this. is there a logging recipe to log out
all stanzas exchanged with the XMPP server? if so I could use that to do a
full compare between what I see with prosody and ejabberd.
>>
>> any help / suggestions appreciated.
>>
>> Thanks.
>>
>
>
> _______________________________________________
> 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