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

From: "Christer Holmberg \(JO/LMF\)" <[email-masked]>
Date: Thu, 6 Apr 2006 14:10:39 +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.

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 ?

[CHH] To give an example from IMS: an IME UE may have the address of
multiple P-CSCFs. But, it only registers with one of them. And, I see no
reason why it now should have to register with all of them.

And, again, mobile terminals (not only IMS UEs) do have to consider the
battery impacts. I haven't had time to think whehter Jerone's proposal
from yesterday would have an impacts, but I still don't see a reason why
a UA should be mandated to send REGISTER to all outbound proxies. I DO
understand that there may be an advantage to do so, but sometimes it
simply may not be possible/feasible. [/CHH]

>In my email I separate these two items:
>1. How many proxies the UA allows to be configured

[CHH] I think that is an implementation issue, and I see no reason to
standardize that. [/CHH]

>2. How many proxies the UA is really configured with

[CHH] Do you mean how many proxies the UA is registered with? If so, my
answer is that it is also an implementation issue. [/CHH]

>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 ?

[CHH] Please note that the proxies may also have other functions. Again,
in IMS I guess the outbound proxy functionality would be located in the
P-CSCF, and I don't think sending REGISTERs to multiple P-CSCFs is very
wise. [/CHH]

>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.

[CHH] Remember that the outbound proxy may not necessarily be
configured. The address of the outbound proxy may be retrieved using
other means, for example in the way an IMS UE gets the address(es) of
the P-CSCF. [/CHH]

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. 

[CHH] My understanding of the text is that the UA shall send a REGISTER
to each outbound proxy address it is aware of - no matter if they are
retrieved from a single URI, or multiple URIs. [/CHH]

>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).

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:

   UAs are configured with one or more SIP URIs representing the default
   outbound-proxy-set.

[CHH] Of course the UA will derive a URI, but that doesn't mean you have
to configure an URI. As you say, you can simply configure an IP address
(or, you can retrieve it from somewhere else). [/CHH]

To me it does not matter in which format those addresses are represented
in the configuration UI or configuration message arriving to the UA.

[CHH] Exactly. So we would need re-wording to make that clear. [/CHH]

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.

[CHH] I think the "result of the configuration" is basic SIP. Not sure
we need to say so much about that. [/CHH]

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: Fri, 7 Apr 2006 09:46:40 +0300

Hi,

So the problem with the current text it that if the UA
gets a number of proxy URIs (or simply IP addresses of
proxies) via DHCP SIP server option or DNS queries,
the text could be understood to mandate UA to send
REGISTER and maintain flow to all of them ? I doubt
whether this has been the intention and would agree 
that the text should be clarified. 

Currently the text seems to assume that the number of
proxies towards which to send REGISTER would be in the
control of service provider or UA owner by configuration.
However when finding proxies via DHCP that is not the case.
When configuring DHCP there might be other reasons to
populate multiple proxies into it, rather than just
give primary and backup proxies in SIP Outbound sense.

Your comment regarding to "proxy URI" seems also to have
the point. In general when RFC 3261 referes to outbound
proxies, it just refers them as "proxies" instead of 
emphasizing the "URI". Keeping all those points in mind
I would suggest rewriting first paragraph of section 4.2
as follows:

   Those outbound proxies that UA knows make up the default 
   outbound-proxy-set. The UA may learn those proxies via
   configuration or by using some other mechanisms like DHCP 
   or DNS. UA SHOULD support sets with at least two outbound
   proxies (primary and backup) and MAY support sets with up
   to four proxies. The UA MUST send a REGISTER via one or 
   multiple proxies belonging to the outbound-proxy-set.
   For reliability reasons the UA SHOULD send a REGISTER
   for at least via one primary and one backup proxy.

Regards,

Erkki

>From: ext Christer Holmberg (JO/LMF) 
>[mailto:[email-masked]] 
>Sent: 06.April.2006 15:11
>To: Koivusalo Erkki (Nokia-TP-MSW/Helsinki); [email-masked]
>Cc: [email-masked]

---

From: Juha Heinanen <[email-masked]>
Date: Fri, 7 Apr 2006 09:57:57 +0300

[email-masked] writes:

 >    The UA MUST send a REGISTER via one or 

what is the reason for designating the proxies as primary or secondary?

-- juha