[jitsi-users] DNS SRV Load balancing - Proxy failover detection using TCP


#1

Dear all,

We have established a SIP infrastructure and we are using Jitsi
(1.0-build.3967) as a SIP software client. We have just introduced
functionality of load balancing and proxy failover detection using DNS
NAPTR and
SRV records. Within our DNS server we defined two proxy servers for our
domain. We are using TCP as a transport protocol

Following scenario: Client registers using one of two Proxies defined with
DNS SRV record. Let’s say Jitsi used Proxy1 for registration and
registration was successful. Then, failover of Proxy1 server occurred and
client realizes (because of TCP) that session with Proxy1 is over but Jitsi
does not perform automatic registration toward other available proxy that
is defined in DNS SRV record - Proxy2.

Testing some of the other SIP software clients in this above scenario, they all
perform automatic registration toward another available proxy server -
Proxy2.

My questions:

Can I somehow configure Jitsi to make immediate registration on other
available Proxy Server – Proxy2, when Jitsi over TCP protocol finds out
that Proxy1 is in failover state?

Thank you in advance.


#2

Hey Mate,

···

On 04.12.12, 11:01, Mate Ivancic wrote:

Dear all,

We have established aSIP infrastructure and we are using Jitsi
(1.0-build.3967) as a SIP software client. We have just introduced
functionality of load balancing and proxy failover detection using DNS
NAPTR and SRV records. Within our DNS server we defined two proxy
servers for our domain. We are using TCP as a transport protocol

Following scenario: Clientregisters using one of two Proxies defined
with DNS SRV record. Let’s say Jitsi used Proxy1 for registration and
registration was successful. Then, failover of Proxy1 server occurred
and client realizes (because of TCP) that session with Proxy1 is over
but Jitsi does not perform automatic registration toward other available
proxy that is defined in DNS SRV record - Proxy2.

Testingsome of the other SIP software clients in this above scenario,
they all perform automatic registration toward another available proxy
server - Proxy2.

My questions:

Can I somehow configure Jitsi to make immediate registration on other
available Proxy Server – Proxy2, when Jitsi over TCP protocol finds out
that Proxy1 is in failover state?

This should be the default behaviour. Note however that we don't do SRV
queries at all if you are manually configuring your proxy address. In
your previous mail you indicated that this is what you are doing so can
you try with auto proxy discovery?

Emil

--
https://jitsi.org


#3

Folks

Is there a way to receive SMS messages on Jitsi.

I have a Gmail/Google Talk account in which I can send SMS messages and
in which incoming messages appear in the Gmail Inbox. But I can't
figure out how to adapt that to Jitsi, either with Google Talk or any
other provider. Suggestions?

Pablo


#4

Can I somehow configure Jitsi to make immediate registration on other
available Proxy Server - Proxy2, when Jitsi over TCP protocol finds out
that Proxy1 is in failover state?

This should be the default behaviour. Note however that we don't do SRV
queries at all if you are manually configuring your proxy address. In
your previous mail you indicated that this is what you are doing so can
you try with auto proxy discovery?

I also had the impression we're doing like that. Do you think this could be
something similar like in the discussion about AutoProxyConnection we had
beginning/mid-October?

Emil

Regards,
Ingo


#5

Hi Emil,

thank you for your answer.

In this scenario we are using automatic proxy configuration and indeed
Jitsi at the start performs NAPTR and SRV lookup for the domain name and
register over one of two proxies (let’s say Proxy1). But when Proxy1 become
unavailable (Proxy failover) Jitsi doesn’t make automatic registration over
other available proxy (Proxy2).

Also it is important to mention that I turned off Keep-alive method (Keep
alive method = None).

···

2012/12/4 Emil Ivov <emcho@jitsi.org>

Hey Mate,

On 04.12.12, 11:01, Mate Ivancic wrote:
> Dear all,
>
> We have established aSIP infrastructure and we are using Jitsi
> (1.0-build.3967) as a SIP software client. We have just introduced
> functionality of load balancing and proxy failover detection using DNS
> NAPTR and SRV records. Within our DNS server we defined two proxy
> servers for our domain. We are using TCP as a transport protocol
>
> Following scenario: Clientregisters using one of two Proxies defined
> with DNS SRV record. Let’s say Jitsi used Proxy1 for registration and
> registration was successful. Then, failover of Proxy1 server occurred
> and client realizes (because of TCP) that session with Proxy1 is over
> but Jitsi does not perform automatic registration toward other available
> proxy that is defined in DNS SRV record - Proxy2.
>
> Testingsome of the other SIP software clients in this above scenario,
> they all perform automatic registration toward another available proxy
> server - Proxy2.
>
> My questions:
>
> Can I somehow configure Jitsi to make immediate registration on other
> available Proxy Server – Proxy2, when Jitsi over TCP protocol finds out
> that Proxy1 is in failover state?

This should be the default behaviour. Note however that we don't do SRV
queries at all if you are manually configuring your proxy address. In
your previous mail you indicated that this is what you are doing so can
you try with auto proxy discovery?

Emil

--
https://jitsi.org


#6

Hey Mate,

Hi Emil,

thank you for your answer.

In this scenario we are using automatic proxy configuration and indeed
Jitsi at the start performs NAPTR and SRV lookup for the domain name and
register over one of two proxies (let’s say Proxy1). But when Proxy1
become unavailable (Proxy failover) Jitsi doesn’t make automatic
registration over other available proxy (Proxy2).

Also it is important to mention that I turned off Keep-alive method
(Keep alive method = None).

OK this could indeed be the issue. One of the reasons we use keep alives
(other than maintaining connections) is to detect dead connections. Can
you check exactly what is happening when your Proxy1 goes down? Do you
see a TCP fin packet or something else that tells Jitsi the connection
is down?

Cheers,
Emil

···

On 05.12.12, 09:22, Mate Ivancic wrote:

2012/12/4 Emil Ivov <emcho@jitsi.org <mailto:emcho@jitsi.org>>

    Hey Mate,

    On 04.12.12, 11:01, Mate Ivancic wrote:
    > Dear all,
    >
    > We have established aSIP infrastructure and we are using Jitsi
    > (1.0-build.3967) as a SIP software client. We have just introduced
    > functionality of load balancing and proxy failover detection using DNS
    > NAPTR and SRV records. Within our DNS server we defined two proxy
    > servers for our domain. We are using TCP as a transport protocol
    >
    > Following scenario: Clientregisters using one of two Proxies defined
    > with DNS SRV record. Let’s say Jitsi used Proxy1 for registration and
    > registration was successful. Then, failover of Proxy1 server occurred
    > and client realizes (because of TCP) that session with Proxy1 is over
    > but Jitsi does not perform automatic registration toward other
    available
    > proxy that is defined in DNS SRV record - Proxy2.
    >
    > Testingsome of the other SIP software clients in this above scenario,
    > they all perform automatic registration toward another available proxy
    > server - Proxy2.
    >
    > My questions:
    >
    > Can I somehow configure Jitsi to make immediate registration on other
    > available Proxy Server – Proxy2, when Jitsi over TCP protocol
    finds out
    > that Proxy1 is in failover state?

    This should be the default behaviour. Note however that we don't do SRV
    queries at all if you are manually configuring your proxy address. In
    your previous mail you indicated that this is what you are doing so can
    you try with auto proxy discovery?

    Emil

    --
    https://jitsi.org

--
https://jitsi.org


#7

Hey Ingo,

Can I somehow configure Jitsi to make immediate registration on other
available Proxy Server - Proxy2, when Jitsi over TCP protocol finds out
that Proxy1 is in failover state?

This should be the default behaviour. Note however that we don't do SRV
queries at all if you are manually configuring your proxy address. In
your previous mail you indicated that this is what you are doing so can
you try with auto proxy discovery?

I also had the impression we're doing like that. Do you think this could be
something similar like in the discussion about AutoProxyConnection we had
beginning/mid-October?

You mean this one:

http://goo.gl/KQQwX

Right?

I believe that one was about Jitsi not retrying DNS queries on
subsequent registrations and reusing old results (which we couldn't
reproduce).

So it doesn't seem like the same issue.

Cheers,
Emil

···

On 05.12.12, 15:20, Ingo Bauersachs wrote:

Emil

Regards,
Ingo

--
https://jitsi.org


#8

I only see a TCP fin packet. Now when Proxy1 is down and I initiate a call
I am getting "An error occurred while sending INVITE request".

···

2012/12/5 Emil Ivov <emcho@jitsi.org>

Hey Mate,

On 05.12.12, 09:22, Mate Ivancic wrote:
> Hi Emil,
>
> thank you for your answer.
>
> In this scenario we are using automatic proxy configuration and indeed
> Jitsi at the start performs NAPTR and SRV lookup for the domain name and
> register over one of two proxies (let’s say Proxy1). But when Proxy1
> become unavailable (Proxy failover) Jitsi doesn’t make automatic
> registration over other available proxy (Proxy2).
>
> Also it is important to mention that I turned off Keep-alive method
> (Keep alive method = None).

OK this could indeed be the issue. One of the reasons we use keep alives
(other than maintaining connections) is to detect dead connections. Can
you check exactly what is happening when your Proxy1 goes down? Do you
see a TCP fin packet or something else that tells Jitsi the connection
is down?

Cheers,
Emil
>
>
>
> 2012/12/4 Emil Ivov <emcho@jitsi.org <mailto:emcho@jitsi.org>>
>
> Hey Mate,
>
> On 04.12.12, 11:01, Mate Ivancic wrote:
> > Dear all,
> >
> > We have established aSIP infrastructure and we are using Jitsi
> > (1.0-build.3967) as a SIP software client. We have just introduced
> > functionality of load balancing and proxy failover detection using
DNS
> > NAPTR and SRV records. Within our DNS server we defined two proxy
> > servers for our domain. We are using TCP as a transport protocol
> >
> > Following scenario: Clientregisters using one of two Proxies
defined
> > with DNS SRV record. Let’s say Jitsi used Proxy1 for registration
and
> > registration was successful. Then, failover of Proxy1 server
occurred
> > and client realizes (because of TCP) that session with Proxy1 is
over
> > but Jitsi does not perform automatic registration toward other
> available
> > proxy that is defined in DNS SRV record - Proxy2.
> >
> > Testingsome of the other SIP software clients in this above
scenario,
> > they all perform automatic registration toward another available
proxy
> > server - Proxy2.
> >
> > My questions:
> >
> > Can I somehow configure Jitsi to make immediate registration on
other
> > available Proxy Server – Proxy2, when Jitsi over TCP protocol
> finds out
> > that Proxy1 is in failover state?
>
> This should be the default behaviour. Note however that we don't do
SRV
> queries at all if you are manually configuring your proxy address. In
> your previous mail you indicated that this is what you are doing so
can
> you try with auto proxy discovery?
>
> Emil
>
> --
> https://jitsi.org
>
>

--
https://jitsi.org


#9

I only see a TCP fin packet. Now when Proxy1 is down and I initiate a
call I am getting "An error occurred while sending INVITE request".

So maybe that's the issue. It could be that we are not handling that
case properly. Could you please open a ticket in our tracker [0]?

I am not sure exactly when we will be able to have a look at it though,
so could you please try if this works with the keep alives turned on?
(obviously in this case you'd have to wait for a keep alive to expire).

Cheers,
Emil

[0] http://java.net/jira/browse/JITSI

···

On 05.12.12, 15:41, Mate Ivancic wrote:

2012/12/5 Emil Ivov <emcho@jitsi.org <mailto:emcho@jitsi.org>>

    Hey Mate,

    On 05.12.12, 09:22, Mate Ivancic wrote:
    > Hi Emil,
    >
    > thank you for your answer.
    >
    > In this scenario we are using automatic proxy configuration and indeed
    > Jitsi at the start performs NAPTR and SRV lookup for the domain
    name and
    > register over one of two proxies (let’s say Proxy1). But when Proxy1
    > become unavailable (Proxy failover) Jitsi doesn’t make automatic
    > registration over other available proxy (Proxy2).
    >
    > Also it is important to mention that I turned off Keep-alive method
    > (Keep alive method = None).

    OK this could indeed be the issue. One of the reasons we use keep alives
    (other than maintaining connections) is to detect dead connections. Can
    you check exactly what is happening when your Proxy1 goes down? Do you
    see a TCP fin packet or something else that tells Jitsi the connection
    is down?

    Cheers,
    Emil
    >
    >
    >
    > 2012/12/4 Emil Ivov <emcho@jitsi.org <mailto:emcho@jitsi.org>
    <mailto:emcho@jitsi.org <mailto:emcho@jitsi.org>>>
    >
    > Hey Mate,
    >
    > On 04.12.12, 11:01, Mate Ivancic wrote:
    > > Dear all,
    > >
    > > We have established aSIP infrastructure and we are using Jitsi
    > > (1.0-build.3967) as a SIP software client. We have just
    introduced
    > > functionality of load balancing and proxy failover detection
    using DNS
    > > NAPTR and SRV records. Within our DNS server we defined two
    proxy
    > > servers for our domain. We are using TCP as a transport protocol
    > >
    > > Following scenario: Clientregisters using one of two Proxies
    defined
    > > with DNS SRV record. Let’s say Jitsi used Proxy1 for
    registration and
    > > registration was successful. Then, failover of Proxy1 server
    occurred
    > > and client realizes (because of TCP) that session with
    Proxy1 is over
    > > but Jitsi does not perform automatic registration toward other
    > available
    > > proxy that is defined in DNS SRV record - Proxy2.
    > >
    > > Testingsome of the other SIP software clients in this above
    scenario,
    > > they all perform automatic registration toward another
    available proxy
    > > server - Proxy2.
    > >
    > > My questions:
    > >
    > > Can I somehow configure Jitsi to make immediate registration
    on other
    > > available Proxy Server – Proxy2, when Jitsi over TCP protocol
    > finds out
    > > that Proxy1 is in failover state?
    >
    > This should be the default behaviour. Note however that we
    don't do SRV
    > queries at all if you are manually configuring your proxy
    address. In
    > your previous mail you indicated that this is what you are
    doing so can
    > you try with auto proxy discovery?
    >
    > Emil
    >
    > --
    > https://jitsi.org
    >
    >

    --
    https://jitsi.org

--
https://jitsi.org