Subject: [Sipping] Connection re-use

From: Gonzalo Camarillo <[email-masked]>
Date: Fri, 11 Apr 2003 12:33:11 +0300

Hi,

In the connection re-use draft:

http://www.ietf.org/internet-drafts/draft-ietf-sipping-connect-reuse-reqs-00.txt

when a server gets a request with an alias parameter in the topmost Via 
entry, it creates a binding between the sent-by in this Via entry and 
the connection the request came from.

sent-by           =  host [ COLON port ]

The sent-by parameter can be, for instance, proxy1.ericsson.com. This 
FQDN will be the one that proxy1.ericsson.com inserts in the 
Record-Route. This way, requests sent in the opposite direction *within 
the same dialog* will re-use the same connection.

However, requests that belog to different dialogs will not probably be 
addressed to proxy1.ericsson.com. They will probably be addressed to 
ericsson.com instead.

Then, if you perform an SRV lookup on ericsson.com you will get:
proxy1.ericsson.com
proxy2.ericsson.com

If the SRV algorithm used to choose a particular server yields proxy2, 
there would be two connections instead of one. And this was what we were 
trying to avoid.

A possible solution for this would be to make proxies check whether they 
have a connection for all the resutls of an SRV lookup. If they have an 
existing connetion, they use that connection (i.e., they do not use the 
SRV algorithm to choose one).

Opinions?

Gonzalo

_______________________________________________
Sipping mailing list  https://www1.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use [email-masked] for questions on current sip
Use [email-masked] for new developments of core SIP

---

From: Sean Olson <[email-masked]>
Date: Fri, 11 Apr 2003 07:56:36 -0700 (PDT)

Connection re-use across SRV queries seems to be
potentially brittle. Especially if you have a chance
to "updgrade" from a lower priority server to a higher
priority one. But this seems more a implementation
concern than an issue with the re-use draft.

--- Gonzalo Camarillo
> Sipping mailing list 
> https://www1.ietf.org/mailman/listinfo/sipping

__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - File online, calculators, forms, and more
http://tax.yahoo.com
_______________________________________________
Sipping mailing list  https://www1.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use [email-masked] for questions on current sip
Use [email-masked] for new developments of core SIP

---

From: "sal" <[email-masked]>
Date: Sun, 13 Apr 2003 10:56:23 +0200

Hi all,

I'm note sure, but some SRV algorithm tries making a load balancing between
the different "proxies" in the cluster.

If we do not use the SRV algorithm, but we use always the same proxy
(that one has an existing connection) ... maybe we risk to stress this one,
while the other proxies are unloaded !

In this way we'll shift the stress in the application level , isn'it ?

so I am not agree with Sean when he says
"Connection re-use across SRV queries seems to be
potentially brittle."

Sal

----- Original Message -----
From: "Gonzalo Camarillo" <[email-masked]>
To: "sipping" <[email-masked]>
Cc: "Christer Holmberg" <[email-masked]>; "Rohan Mahy"
<[email-masked]>
Sent: Friday, April 11, 2003 11:33 AM
Subject: [Sipping] Connection re-use

> In the connection re-use draft:
http://www.ietf.org/internet-drafts/draft-ietf-sipping-connect-reuse-reqs-00
.txt

---

From: "Sean Olson" <[email-masked]>
Date: Sun, 13 Apr 2003 10:41:40 -0700

Actually, this was exactly the point I was trying to make. We SHOULD change
proxies based on the SRV algorithm
and re-use the connection when you connect to the same proxy. But again, I
think this is an implementation specific
thing. There may be good reasons in some topologies and with some
implementations not to change the proxy that you
connect to.

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of
sal
Sent: Sunday, April 13, 2003 1:56 AM
To: Gonzalo Camarillo; sipping
Cc: Christer Holmberg; Rohan Mahy; [email-masked]
Subject: Re: [Sipping] Connection re-use

Hi all,

If we do not use the SRV algorithm, but we use always the same proxy (that
one has an existing connection) ... maybe we risk to stress this one, while
the other proxies are unloaded !

Sal

----- Original Message -----
From: "Gonzalo Camarillo" <[email-masked]>
To: "sipping" <[email-masked]>
Cc: "Christer Holmberg" <[email-masked]>; "Rohan Mahy"
<[email-masked]>

>
> when a server gets a request with an alias parameter in the topmost 
> Via entry, it creates a binding between the sent-by in this Via entry 
> and the connection the request came from.
>
> Record-Route. This way, requests sent in the opposite direction 
> *within the same dialog* will re-use the same connection.
>
> proxy1.ericsson.com proxy2.ericsson.com
>
> there would be two connections instead of one. And this was what we 
> were trying to avoid.
>
>
> A possible solution for this would be to make proxies check whether 
> they have a connection for all the resutls of an SRV lookup. If they 
> have an existing connetion, they use that connection (i.e., they do 
> not use the SRV algorithm to choose one).
>
> Opinions?

> This list is for NEW development of the application of SIP Use 
> [email-masked] for questions on current sip Use 
> [email-masked] for new developments of core SIP

_______________________________________________
Sipping mailing list  https://www1.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use [email-masked] for questions on current sip Use
[email-masked] for new developments of core SIP

---

From: Gonzalo Camarillo <[email-masked]>
Date: Mon, 14 Apr 2003 09:14:32 +0300

My point is that this is something that we have to discuss and *document 
* in the draft. I can see advantages in both approaches:

1) sending everything to the same proxy in the cluster,
2) having N connections open at the same time to all the proxies in the 
cluster.

It depends on the type of load balancing you want to perform: 
transaction based or (proxy-to-proxy) relationship based.

Gonzalo

-- 
Gonzalo Camarillo         Phone :  +358  9 299 33 71
Oy L M Ericsson Ab        Mobile:  +358 40 702 35 35
Telecom R&D               Fax   :  +358  9 299 30 52
FIN-02420 Jorvas          Email :  [email-masked]
Finland                   http://www.hut.fi/~gonzalo

---

From: Natesan Kannan <[email-masked]>
Date: Mon, 14 Apr 2003 12:17:00 +0530

Considering orthogonal servers in a cluster, the load balance could be based
purely on "load", which could be administered in the DNS by having an SRV
query yeild proxy.ericsson.com, but record routing being done by proxy1 or
proxy2.

In this case, any policy to reuse connection  may go against the load
balance policy  in the domain.

So, I agree with Sean that this is implementation specific, and hence
difficult to document in the draft, as clearly as in the
within-the-same-dialog case.

-Kannan
----- Original Message -----
From: "Gonzalo Camarillo" <[email-masked]>
To: <[email-masked]>
Cc: "'sal'" <[email-masked]>; "'sipping'" <[email-masked]>;
"'Christer Holmberg'" <[email-masked]>; "'Rohan Mahy'"
<[email-masked]>
Sent: Monday, April 14, 2003 11:44 AM
Subject: Re: [Sipping] Connection re-use

---

From: Christer Holmberg <[email-masked]>
Date: Mon, 14 Apr 2003 10:03:41 +0300

Hi,

Assume I have a connection to proxy1.ericsson.com and port X. Then, a SRV lookup
returns proxy1.ericsson.com and port Y (same proxy, different port).

I guess it in this case also is an implementation issue if I want to establish a
new connection to the new port, or if I use the existing connection to the old
port?

In any case, I agree with Gonzalo on the fact that it would be good to document
these cases. No matter if it's an implementation issue from the UAC point of
view, it has to be specificed what the UAS is supposed to be able to handle.

Regards,

Christer Holmberg
Ericsson Finland

---

From: Jonathan Rosenberg <[email-masked]>
Date: Tue, 15 Apr 2003 00:27:23 -0400

> new connection to the new port, or if I use the existing connection to the old

No. I thik it always uses the port returned from DNS, and if it has a 
connection to that alias, uses that connection.

-Jonathan R.

-- 
Jonathan D. Rosenberg, Ph.D.                600 Lanidex Plaza
Chief Scientist                             Parsippany, NJ 07054-2711
dynamicsoft
[email-masked]                     FAX:   (973) 952-5050
http://www.jdrosen.net                      PHONE: (973) 952-5000
http://www.dynamicsoft.com