Subject: RE: [Sip] Outbound: Multiple flows and forking

From: "Christer Holmberg \(JO/LMF\)" <[email-masked]>
Date: Thu, 6 Apr 2006 11:45:41 +0200

Hi Erikki,

First, I may have missunderstood what you wrote, but you still seem to
say that a UA MUST send a REGISTER to all outbuond proxies it is aware
of.

Second, I would again like to ask whether we should use "outbound proxy
address" instead of "outbound proxy URI". Because, the outbound address
may not be provided/configured to the UA as a URI (even if we want that
as some kind of default behavior).

Regards,

Christer

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] 
Sent: 6. huhtikuuta 2006 11:45
To: [email-masked]; Christer Holmberg (JO/LMF)
Cc: [email-masked]
Subject: RE: [Sip] Outbound: Multiple flows and forking

Hi Jonathan, 

>> The text says:
>> 
>>"However, a UA MUST support sets with at least two outbound  proxy 
>>URIs (primary and backup) and SHOULD support sets  with up to four 
>>URIs.  For each outbound proxy URI in the  set, the UA MUST send a 
>>REGISTER in the normal  way using this URI as the default outbound 
>>proxy."
>> 
>> I don't think we should mandate this, because it is very much 
>> dependent on the architecture, transport techniques
>
>Mandate what? The minimal number of outbound proxies that should be 
>supported? Or the fact that you register on each?
>For the latter, its an essential part of the story so I don't see how 
>you can make it optional. In the former case, if you don't specify a 
>minimum that is supported, how do you have interop?

Please remember that section 3 Overview of the spec clearly describes
three different example configurations as follows:

3.2  Single Registrar and UA
3.3  Multiple Connections from a User Agent
3.4  Edge Proxies

There is clearly a possibility for the registrar/proxy and UA to use
only one single flow between them:

3.2  Single Registrar and UA

   In this example, a single server is acting as both a registrar and
   proxy.

      +-----------+
      | Registrar |
      | Proxy     |
      +-----+-----+
            |
            |
       +----+--+
       | User  |
       | Agent |
       +-------+

   User Agents which form only a single flow continue to register
   normally but include the instance-id as described in Section 4.1.

Sections 3.3 and 3.4 discuss the ways of building extra reliability by
forming multiple flows towards multiple next hops. In my understanding
section 4 allows the outbound-proxy-set to consist of a single proxy or
multiple ones (depending on what has been configured to the UA) but
currently mandate the UA to support configuring multiple proxies
(2 - 4) into the set. This would preclude implementations that would
only support configuring one single proxy to outbound-proxy-set, even if
this would work and be sufficient for certain types of deployment.

4.2  Initial Registrations

   UAs are configured with one or more SIP URIs representing the default
   outbound-proxy-set.  The specification assumes the set is determined
   via configuration but future specifications may define other
   mechanisms such as using DNS to discover this set.  How the UA is
   configured is outside the scope of this specification.  However, a UA
   MUST support sets with at least two outbound proxy URIs (primary and
   backup) and SHOULD support sets with up to four URIs.  For each
   outbound proxy URI in the set, the UA MUST send a REGISTER in the
   normal way using this URI as the default outbound proxy.

Further on it is mandated that each of the registrations shall form a
new flow, that the UA must keep alive and monitor:

   These ordinary registration requests MUST also add a distinct reg-id
   parameter to the Contact header field.  Each one of these
   registrations will form a new flow from the UA to the proxy.

I would be happy for changing the text as follows:

   However, a UA
   SHOULD support sets with at least two outbound proxy URIs (primary
and
   backup) and MAY support sets with up to four URIs.  For each
   outbound proxy URI configured or automatically discovered in 
   the set, the UA MUST send a REGISTER in the normal way using this 
   URI as the default outbound proxy.

This would mean the following:

1. An UA vendor would be allowed to implement an UA supporting 1 - 4
   URIs for the outbound-proxy-set.

2. The UA must a send a separate registration (and form a separate
   flow) to each of the proxy (configured or automatically discovered)
   within the outbound-proxy-set (up to the implementation specific
   maximum).

So this would mean that you could have e.g.

- An UA supporting and configured a single outbound proxy, sending
  REGISTER and forming a single flow towards it

- An UA supporting and configured three proxies, sending REGISTER
  and forming a separate flow towards each of them

- An UA supporting four proxies but configured with only two proxies.
  In this case UA would send REGISTER and form separate flows towards
  those two proxies configured.

- An UA configured with a single outbound proxy URI and resolving it
  with DNS to a primary and backup proxy, towards which the REGISTER
  must be sent and the flows formed. (Note: I am working on the I-D
  to specify the related DNS mechanisms).

Regards,

Erkki

>-----Original Message-----
>From: ext Jonathan Rosenberg [mailto:[email-masked]]
>Sent: 05.April.2006 16:20
>To: Christer Holmberg (JO/LMF)
>Cc: [email-masked]
>Subject: Re: [Sip] Outbound: Multiple flows and forking
>
>inline:
>
>Christer Holmberg (JO/LMF) wrote:
>
>> 
>> Hi,
>> 
>> A couple of issues on chapter 4.2.
>> 
>> The text says:
>> 
>> "However, a UA MUST support sets with at least two outbound
>proxy URIs
>> (primary and backup) and SHOULD support sets with up to four
>URIs.  For each
>> 
>> outbound proxy URI in the set, the UA MUST send a REGISTER
>in the normal
>> way using this URI as the default outbound proxy."
>> 
>> I don't think we should mandate this, because it is very
>much dependent
>> on the architecture, transport techniques etc.
>
>Mandate what? The minimal number of outbound proxies that should be 
>supported? Or the fact that you register on each? For the latter, its 
>an essential part of the story so I don't see how you can make it 
>optional.
>In the former case, if you don't specify a minimum that is supported, 
>how do you have interop?
>
>-Jonathan R.
>
>-- 
>Jonathan D. Rosenberg, Ph.D.                   600 Lanidex Plaza
>Cisco Fellow                                   Parsippany, NJ 
>07054-2711
>Cisco Systems
>[email-masked]                              FAX:   (973) 952-5050
>http://www.jdrosen.net                         PHONE: (973) 952-5000
>http://www.cisco.com
>
>_______________________________________________
>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: <[email-masked]>
Date: Thu, 6 Apr 2006 14:49:33 +0300

Hi Christer,

>say that a UA MUST send a REGISTER to all outbuond proxies it is aware

Yes, you have understand me correctly. I said that since I did not
get what would be the point of configuring the UA with multiple
proxies while not sending the REGISTER to all of them ? In my email
I separate these two items:

1. How many proxies the UA allows to be configured
2. How many proxies the UA is really configured with

It could help me to understand the issue if you could point out
to me to which purpose those proxies would be used that the UA
is configured with but it would not send a REGISTER to ?

And if you are referring to a case of configuring only a single
proxy URI that would resolve to multiple proxy addresses by DNS,
then my answer would come along with the separate I-D I am currently
preparing. I will NOT suggest sending REGISTER to all the addresses
a DNS SRV or A query might result. But if you think clarifying the 
DNS issue must be done within the outbound I-D, please be a bit 
more specific about your proposal. 

>as some kind of default behavior).

When being configured those could be SIP URIs (possibly with a number of
URI parameters), FDQNs or even IP addresses. But in the end the UA
would derive from those the SIP URIs of the proxies. So I find the
following statement to be OK:

   outbound-proxy-set.

To me it does not matter in which format those addresses are represented
in the configuration UI or configuration message arriving to the UA.
The statement above would just tell what would be the result of the
configuration: the UA would, in the end of the day, own the SIP URIs 
representing the proxies, as part of its configuration.

Regards,

Erkki