Subject: RE: [Sip] I-D ACTION:draft-koivusalo-sip-outbound-discovery-00.txt

From: <[email-masked]>
Date: Tue, 2 May 2006 13:26:58 +0300

Hi,

I am happy to see some discussion raised by my I-D, since 
one aim for publishing the I-D was to get more focused
comments on the autodiscovery topic.

>why did you choose to use the SRV priority in that way? 
>You said "choose one of each priority level".

The reason for my choice was how draft-ietf-sip-outbound-03 
is currently written (and the focus of my thoughts when writing
the I-D).

The chapter 3.3 Multiple Connections from a User Agent starts
the discussion with introducing the primary and backup proxies
using the following statements:

   The UA is configured with a primary and backup registration URI.

   The deployment here requires
   that DNS is configured with one entry that resolves to all the
   primary hosts and another entry that resolves to all the backup
   hosts.

I was focusing my thinking about how to avoid the requirements
of having different primary and backup URIs i.e:

a) To configure the UA with two URIs (instead of a single one
   that could be got from DHCP or derived from the AOR of the user)

b) To configure the DNS for primary and backup proxies so that 
   two "domains" would have to be used for each

Actually RFC 2782 (SRV RR) also discusses primary and backup services:

   The SRV RR allows administrators to use several servers for a single
   domain, to move services from host to host with little fuss, and to
   designate some hosts as primary servers for a service and others as
   backups.

I just found it convenient to make a mapping between the concepts 
used in these two specs in the way I did. So instead of the need to 
separately configure "backup registration URI" to the UA, the SRV 
records with higher numbers could be used as backup servers for 
SIP Outbound.

On the other hand my I-D is not explicit what comes to the scalability 
and load balancing. My intention was to leave it as the responsibility
of usual SRV RR processing as discussed within
draft-ietf-sip-outbound-03.

   Note that each URI
   in the outbound-proxy-set could resolve to several different physical
   hosts. The administrative domain that created these URIs should
   ensure that the two URIs resolve to separate hosts.  These URIs are
   handled according to normal SIP processing rules, so things like SRV
   can be used to do load balancing across a proxy farm.

   Scalability
   is achieved by using DNS SRV to load balance the primary connection
   across a set of machines that can service the primary connection and
   also using DNS SRV to load balance across a separate set of machines
   that can service the backup connection. 

The approach for load balancing specified in RFC 2782 (SRV RR) is as
follows:

   Priority
        The priority of this target host.  A client MUST attempt to
        contact the target host with the lowest-numbered priority it can
        reach; target hosts with the same priority SHOULD be tried in an
        order defined by the weight field. 

   Weight
        A server selection mechanism.  The weight field specifies a
        relative weight for entries with the same priority. Larger
        weights SHOULD be given a proportionately higher probability of
        being selected.

In other words load balancing is achieved between multiple UAs, each
of them randomly selecting one proxy amongst the ones defined within
the highest priority SRV RR. One UA would ever use only one single
primary
proxy but if there are N primary proxies, then any of those would only
serve 1/N of the whole UA population. My I-D was not supposed to change
any of that, so it was not explicitely specified either. No load
balancing
between the primary and backup connection was planned for the UA,
instead
the load balancing is only done when selecting which primary and backup
proxy to use:

               While there are still elements left at this priority
               level

                   Select an element as specified above, in the
                   description of Weight in "The format of the SRV
                   RR" Section, and move it to the tail of the new
                   list

And now the real problem (which is actually an issue within
draft-ietf-sip-outbound-03) is: if a single UA still needs
a backup proxy (and a backup connection), shall those backup
proxies be one of those the other UAs are using as their 
primaries or should those backup proxies be totally separate
from the primary proxy farm ? Currently draft-ietf-sip-outbound-03
seems to suggest having separate set of primary proxies and another
set of backup proxies:

   The deployment here requires
   that DNS is configured with one entry that resolves to all the
   primary hosts and another entry that resolves to all the backup
   hosts.  Designs having only one set were also considered, but in this
   case there would have to be some way to ensure that the two
   connection did not accidentally resolve to the same host. 

If the agreement will be that no dedicated backup proxies should be
used for SIP Outbound but instead one common set of proxies should be
used both for load balancing and backup purposes then I would
suggest:

- Rewriting draft-ietf-sip-outbound-03 accordingly

- Revising draft-koivusalo-sip-outbound-discovery-00 so that:

  * UA would use two proxies within the same SRV RR Priority
    level as primary and backup

  * Load balancing would still be done between the UAs (each
    of them selecting their primary proxy with SRV RR Weight
    and using the primary proxy whenever it responds) instead
    of requiring a single UA to distribute its traffic 
    proportionately to weight (which would complicate the UA
    implementation quite a lot).

Comments ?

Regards,

Erkki 

>-----Original Message-----
>From: ext Hadriel Kaplan [mailto:[email-masked]] 
>Sent: 28.April.2006 19:38
>To: Koivusalo Erkki (Nokia-TP-MSW/Helsinki); [email-masked]
>Subject: RE: [Sip] I-D 
>ACTION:draft-koivusalo-sip-outbound-discovery-00.txt 
>
>Hi Erkki,
>I am confused by one thing (well, for this topic): why did you 
>choose to use
>the SRV priority in that way? You said "choose one of each 
>priority level".
>If I understand the outbound draft correctly, there is no real 
>distinction
>between primary and backups - any one of them can get new 
>requests at any
>time, and the UA registers to all.  So they're really all 
>primaries once the
>UA chooses to create a flow to them.  Thus I would think it 
>more logical to
>have a UA which supports outbound connect to all servers of 
>the same and
>lowest SRV priority if the server supported outbound, and only 
>connect to
>higher ones upon failure of lower ones.
>
>That way a higher priority really means "connect if lower one 
>fails", as it
>did for SRV before outbound.  No?
>
>-hadriel
>
>
>> -----Original Message-----
>> From: [email-masked] [mailto:[email-masked]]
>> Sent: Friday, April 21, 2006 7:34 AM
>> To: [email-masked]
>> Subject: RE: [Sip] I-D ACTION:draft-koivusalo-sip-outbound-discovery-
>> 00.txt
>> 
>> Hi,
>> 
>> >I made up two proposals based on DNS for the UA to find
>> >out proxies supporting outbound within the domain of SIP
>> >AOR of the user or the domain got from DHCP ...
>> >
>> >I am now planning to put together an I-D for those proposals
>> >as an update to RFC 3263. It may take some time, but hopefully
>> >not too long.
>> 
>> The promised I-D is now available:
>> 
>> A New Internet-Draft is available from the on-line Internet-Drafts
>> directories.
>> 
>> 
>> 	Title		: Discovering Proxies Supporting SIP Outbound
>> 	Author(s)	: E. Koivusalo
>> 	Filename	: draft-koivusalo-sip-outbound-discovery-00.txt
>> 	Pages		: 17
>> 	Date		: 2006-4-20
>> 
>>    This document describes modifications to DNS procedures used to
>>    resolve a SIP Uniform Resource Identifier (URI) into the 
>IP address,
>>    port, and transport protocol of the next hop to contact.  These
>>    modifications enable the SIP User Agent to discover those proxies,
>>    within the domain of the SIP URI, that support SIP extensions
>>    described in draft-ietf-sip-outbound document.  The introduced
>>    mechanisms update behavior defined in RFC 3263.
>> 
>> 
>> A URL for this Internet-Draft is:
>> 
>http://www.ietf.org/internet-drafts/draft-koivusalo-sip-outboun
>d-discove
>> ry-00.txt
>> 
>> I would appreciate for anyone interested to review this spec
>> and provide me with comments.
>> 
>> Regards,
>> 
>> Erkki
>> 
>> _______________________________________________
>> Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
>> This list is for NEW development of the core SIP Protocol
>> Use [email-masked] for questions on current sip
>> Use [email-masked] for new developments on the application of sip
>
>

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

---

From: "Michael Hammer \(mhammer\)" <[email-masked]>
Date: Wed, 3 May 2006 10:04:02 -0400

Erkki,

In general, I didn't have a problem with how you were describing the use
of the priority mechanisms to select proxies from one or more pools of
proxies, such that one could do both load balancing within a farm and be
able to designate primary and backup sets of proxies.  But, somewhere in
the process you seemed to have crossed over from defining the options
into selecting an option and ruling out other options.  I tried to go
back to the email and pull out the text that raised the red flag for me:

"And now the real problem (which is actually an issue within
draft-ietf-sip-outbound-03) is: if a single UA still needs a backup 
proxy (and a backup connection), shall those backup proxies be one of 
those the other UAs are using as their primaries or should those 
backup proxies be totally separate from the primary proxy farm ? 
Currently draft-ietf-sip-outbound-03 seems to suggest having separate
set of 
primary proxies and another set of backup proxies:

   The deployment here requires
   that DNS is configured with one entry that resolves to all the
   primary hosts and another entry that resolves to all the backup
   hosts.  Designs having only one set were also considered, but in 
   this case there would have to be some way to ensure that the two
   connection did not accidentally resolve to the same host. 

suggest: "

Note that the tone of this last sentence seemed to start ruling out
options.  Describing the options and their pros and cons is good.
Stating that a particular option is the preferred approach is good.
But, unless there is an interoperability problem, the service provider
should be allowed to control how he deploys his proxies.  If you read it
in that light, you can avoid what might be an arbitrary restriction.

Mike

> Sent: Wednesday, May 03, 2006 2:45 AM
> To: [email-masked]; [email-masked]; Michael Hammer (mhammer)
> Subject: RE: [Sip] I-D 
> I am sorry gentlemen, but I am not able to understand the 
> comment you are given. My I-D specifies how the UA should 
> automatically (without any extra confguration information) 
> find a primary and a backup proxy supporting SIP Outbound. 
> For this purpose there should be some pretermined rules like:
> 
> - Load balancing done as already specified in RFC 2782 (SRV RR).
>   Using those well estabilished rules different UAs will already
>   distribute their loads amongst multiple (primary) servers.
>   
> - Primary and Backup proxies found based on the Priority
>   field of SRV RR
> 
> So could you please explain what was your concern, e.g.
> by referring those statements in my earlier email that you 
> found to impose unnecessary restrictions and what is the 
> specific problem in those ?
> 
> Regards,
> 
> Erkki 
> 
> >From: ext Spencer Dawkins [mailto:[email-masked]]
> >Sent: 02.May.2006 17:15
> >To: [email-masked]
> >Subject: Re: [Sip] I-D
> >Definitely agree with Mike here.
> >
> >Spencer
> >
> >From: "Michael Hammer (mhammer)" <[email-masked]>
> >To: <[email-masked]>; <[email-masked]>; 
> ><[email-masked]>
> >Sent: Tuesday, May 02, 2006 8:50 AM
> >Subject: RE: [Sip] I-D
> >Hi.
> >What one UA uses as primary or backup proxies versus another 
> UA should 
> >be totally independent and a matter of configuration.  Don't 
> build in 
> >unnecessary restrictions that just cause trouble down the road.
> >
> >Mike
> >
> >
> >
> >This list is for NEW development of the core SIP Protocol Use 
> >[email-masked] for questions on current sip Use 
> >[email-masked] for new developments on the application of sip
> >
>