Subject: [SIP] More problems with SRV

From: James Undery <[email-masked]>
Date: Thu, 21 Sep 2000 17:28:03 +0000 (GMT)

Hi,
	It has just been suggested to me SRV must be mandatory or
otherwise it's useless. The problem arises when a proxy running on a port
other than 5060 is referred to in a Request URI. 

In my example a proxy is pointed to by SRV records it has two options
when providing its URI for use by others;

Firstly it can assume SRV records are going to be used and not give the
port, this is obviously flawed as not every one uses SRV records.

Secondly it can provide the port to use, in this case the other proxy
SHOULD use A or AAAA records negating the SRV records.

This means that for proxys not listening on 5060 SRV won't be used. As
using SRV requires the port to be 5060 it's only going to provide load
balancing, we have a more flexible load balancing system that can use a
single IP address, what advantage does SRV offer? (I've ignored the
fallover as this is solved also by having multiple IP addresses in the
A/AAAA record.)

James Undery

_______________________________________________
SIP mailing list
[email-masked]
http://lists.bell-labs.com/mailman/listinfo/sip

---

From: Henning Schulzrinne <[email-masked]>
Date: Thu, 21 Sep 2000 12:43:03 -0400

> This means that for proxys not listening on 5060 SRV won't be used. As

Making support for SRV mandatory may not be a bad solution. However,
given the overwhelming fraction of web servers that run on port 80, I
can't see a reason why somebody would put a production SIP server on a
port other than 5060. (And most of the non-port-80 web servers use
another port just because they can't use a reserved port; that problem
doesn't apply for SIP.) You don't want to have a business card that says

sip:[email-masked]:48783

Somebody might think you never graduated from Compuserve...

-- 
Henning Schulzrinne   http://www.cs.columbia.edu/~hgs

---

From: James Undery <[email-masked]>
Date: Fri, 22 Sep 2000 09:17:25 +0100

> > other than 5060 is referred to in a Request URI.

[snip]

> Somebody might think you never graduated from Compuserve...

Yes agreed it is rare but as I said the problem is in proxies so my address
would be sip:[email-masked], however, sip.magic-service.ubiquity.net may
want to add itself to the record route and this is where the problem occurs.
(Especially as in small office environments I can see the potential for
multiple sip servers to be running on one machine, e.g. outbound proxy and some
specialised service proxy.)

James Undery

---

From: Hisham Khartabil <[email-masked]>
Date: Fri, 22 Sep 2000 12:33:05 +0300

> specialised service proxy.)

I would think that if you know the port number of a proxy, then you would know its
exact location or host (you find out the exact same way you found the port
number).  If all you know about the proxy is that it is at ubiquity.net, then you
do an SRV record lookup on that.

when a proxy wants to add itself in the record-route, then it puts its exact
location and port, not the key to use for SRV records.  I don't think you are
supposed to do SRV lookups on a route header, all you do is route using a normal
DNS A query.

Regards,
Hisham

---

From: "Jo Hornsby" <[email-masked]>
Date: Fri, 22 Sep 2000 12:06:03 +0100

> when a proxy wants to add itself in the record-route, then it 
> puts its exact location and port, not the key to use for SRV
> records.  I don't think you are supposed to do SRV lookups on
> a route header, all you do is route using a normal DNS A query.

This is incorrect.  Since Route values are effectively popped into
the Request-URI, a proxy would typically follow the normal 1.4.2
procedures for the next hop; thus SRV SHOULD be utilised unless
the maddr contains an IP, or the port is specified and is not 5060.

In some ways, I would agree that putting an IP into the maddr
is the best approach, but SRV can then no-longer be used to
load-balance, or what-have-you, for the requests in some Call
Leg.  Maybe this isn't a problem -- I don't know -- but what is
problematic is assuming that SRV _will_ work.  I can accept the
idea that 99% of proxies are going to run on 5060 (maybe this
should be pointed out?), but that's not the end of the story:
_sip._udp.example.com has A records, but example.com does not...

Looking at the 5th Bake-Off Statistics, I note that only 12
implementations (UAs, proxies, whatever) reckoned they could do
SRV.  This is out of over 50 implementations!  I find this
worrying.

In any case, it would be nice for the 6th Bake-Off if attendees
could have their own domains -- we could "create" a new TLD to
prevent collisions with their "real" domains -- then it would
be possible (given a suitable version of BIND running locally)
to really test this.

Cheers,

 - Jo.

---

From: Igor Slepchin <[email-masked]>
Date: Fri, 22 Sep 2000 17:08:03 -0400

> specialised service proxy.)

What's the point of using SRV then? There is nothing to load balance
across...

In general, a proxy Record-Routes only if it wants to store some state
throughout the call. Doing load balancing for consecutive signaling
means that the state has to be shared. This is possible but I see little
reason for having those load balanced proxies not to run on 5060, given
that all ports (above 1024) are created equal and it's very unlikely
that one would want to run multiple instances of a SIP proxy on a
machine that's so overloaded or mission critical as to warrant state
sharing.

---
Igor Slepchin