Subject: RE: [SIP] Issue with domain names in Via header

From: Igor Slepchin <[email-masked]>
Date: Sat, 17 Mar 2001 16:50:54 -0500

> -----Original Message-----
> From: Gonzalo Camarillo [mailto:[email-masked]]
> > 
> > Stateless proxies can still use connected UDP sockets; 
> <...>
> 
> Well, following this reasoning a stateless proxy might also 
> use TCP. It
> opens the connection, and send whatever message. Then, if it receives
> more stuff, it will send it over that connection...
> The idea behind a stateless proxy is that it scales pretty 
> well since it
> can handle a lot of connections in a very fast manner: it receives a
> message, it forwards it, and it gorgets about it.

Being stateful in SIP means keeping some state associated with SIP
transactions and doing retransmissions. Otherwise, the device is considered
stateless. So a stateless SIP proxy is perfectly free to keep the list of
connected UDP sockets. And doing a hashtable lookup to find the correct
socket is hardly a considerable overhead.

So, going back to TCP, a stateless proxy can actually be sending requests
(and receiving responses) over TCP; however, it cannot receive requests over
TCP since final responses need to be retransmitted even over TCP and
stateless boxes don't do retransmissions.

> Besides, you would also have to implement timeouts to close 
> the sockets.
> OK, this might not be SIP-related state information, but it is state
> information anyway.

Completely stateless devices are remarkably useless (and I doubt they
exist). If nothing else, configuration is also a form of state. In general,
being "stateless" has a well defined meaning in SIP, and that meaning does
not preclude having some forms of persistent state throughout the lifetime.

> > Besides, there is a separate issue with requiring n SRV 
> records per cluster;
> > I believe this to be rather inconvenient.
> 
> Could you elaborate on this (or send me a pointer)? 

Jonathan's proposal requires that the hostname inserted in the Via resolve
into the list of records that have the box that sent out the request listed
with the higher priority than the others. If you have n boxes in a cluster,
each of them would need to have a separate hostname that'd resolve to a
differently prioritized list. If we made received param mandatory, all of
the boxes in that cluster could share the same hostname.

---
Igor Slepchin

_______________________________________________
This list is for continuing development of the SIP protocol.
The sip-implementor's list is the place to discuss implementation,
and to receive advice on understanding existing sip.
To subscribe to it, send mail to 
[email-masked] with "subscribe" in the body.

---

From: Gonzalo Camarillo <[email-masked]>
Date: Sun, 18 Mar 2001 02:30:43 +0200

Igor,

> the boxes in that cluster could share the same hostname.

But what about the other direction (requests)? A stateless proxy MUST
choose the same host within a trasaction (actually, I am proposing to
add "SHOULD within a session"). Therefore it is necessary to have n SRV
records per cluster anyway.

Gonzalo
-- 
Gonzalo Camarillo                    Phone :   +1 212 939 71 71
Columbia University                  Mobile:  +358 40 702 35 35
472 Computer Science Building        Fax   :  +358  9 299 30 52
1214 Amsterdam Ave., Mail Code 0401  http://www.hut.fi/~gonzalo
New York, NY 10027                   
USA                              [email-masked]