Subject: [Sip] Outbound Comment: q-value

From: Adam Roach <[email-masked]>
Date: Thu, 06 Jul 2006 00:16:15 -0500

The current document doesn't mention q-value handling, which is probably worth some treatment.

In internal discussions, we came up with realistic scenarios whereby a client may reasonably end up maintaining two connections with very different characteristics (UDP versus TLS would be an extreme example), and be willing to use both of them, but *strongly* prefer one over the other.

To handle this situation, it might make sense to put stuff in 6.2 that basically says that, for contacts with matching instance-ids, the proxy MUST NOT try a contact until all contacts at a higher q-value have been tried first. (I could go along with a weaker strength, but I really do think a prescriptive approach is the only thing that allows the clients to handle the situation I describe above in a manner that is predictable to the users).

/a

_______________________________________________
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: Juha Heinanen <[email-masked]>
Date: Thu, 6 Jul 2006 09:27:43 +0300

Adam Roach writes:

 > To handle this situation, it might make sense to put stuff in 6.2
 > that basically says that, for contacts with matching instance-ids,
 > the proxy MUST NOT try a contact until all contacts at a higher
 > q-value have been tried first. (I could go along with a weaker
 > strength, but I really do think a prescriptive approach is the only
 > thing that allows the clients to handle the situation I describe
 > above in a manner that is predictable to the users).

i you suggesting that proxies consult each other about the q-value UA
used when registering with each proxy before forwarding a request to the
UA?  if so, your suggesting makes no sense.

-- juha

---

From: <[email-masked]>
Date: Thu, 6 Jul 2006 14:44:01 +0300

Hi,

The q-value scheme Adam suggested would make sense if it
would be used together with the idle backup server scheme
outlined in draft-koivusalo-sip-outbound-discovery-02:

If the domain has SRV records for proxies supporting outbound
with different SRV 'priority' values, then when sending
REGISTER requests the UA would assign the q-values like this:

- For the primary flow created towards a proxy with
  lowest SRV priority value the UA assigns the biggest 
  q-value (to indicate this is the active flow)

- For the secondary flow created towards a proxy with
  a higher SRV priority value (an idle backup proxy)
  the UA would assign a lower q-value (to indicate
  that this is a backup flow)

Since the DNS SRV records are in control of the service
provider, this scheme would not cause any problems for the
environments like Juha has. He just need to assign the
very same 'priority' value for all his SRV records to
make sure that UA uses same q-value towards all the proxies.

In environments where the location service (registrar) is
on a single server which sees all the flows and the related
contact bindings this usage of q-value could be used in a 
straightforward way.
  
But whether it is in this phase still possible to get
such ideas for q-value usage to be adopted to outbound
draft ... well it is something extra and I am far from
sure if any consensus could be reached about that
quickly enough in order not to delay the draft yet
another four months ...

Regards,

Erkki

>-----Original Message-----
>From: ext Juha Heinanen [mailto:[email-masked]] 
>Sent: 06.July.2006 09:28
>To: Adam Roach
>Cc: Cullen Jennings; SIP WG
>Subject: [Sip] Outbound Comment: q-value
>
>Adam Roach writes:
>

---

From: Adam Roach <[email-masked]>
Date: Thu, 06 Jul 2006 12:47:41 -0500

> UA?  if so, your suggesting makes no sense.

I have no idea what you're saying here. Let's try getting some common
context.

Open the outbound document. Go to section 6.2. You'll notice that it
talks about the rules that proxy/registrars use to populate the target
set. This is the section to which my comment applies. In particular,
there are two new rules placed on proxy/registrars that implement
outbound, specified in a bullet list.

I'm suggesting a third bullet that reads something like:

    * If multiple bindings have the same instance-id, the proxy MUST NOT
      use a binding until all bindings of greater q-value have been tried.

/a

---

From: Adam Roach <[email-masked]>
Date: Thu, 06 Jul 2006 12:37:58 -0500

/a

---

From: Juha Heinanen <[email-masked]>
Date: Sat, 8 Jul 2006 20:09:51 +0300

>       use a binding until all bindings of greater q-value have been tried.

if outbound set has two proxies and UA registers with one using q value
0.5 and with the other using q value 0.6, there would be only one
binding per proxy.  in that case, i hope you are not suggesting that one
proxy asks the other if it has higher q value for the same instance id.

-- juha

---

From: Adam Roach <[email-masked]>
Date: Sat, 08 Jul 2006 12:47:24 -0500

> proxy asks the other if it has higher q value for the same instance id.

I'm not adding any new requirements here. The following bullet has
identical implications:

o  If two bindings have the same instance-id and reg-id, the proxy
      SHOULD prefer the contact that was most recently updated.

/a

---

From: Adam Roach <[email-masked]>
Date: Sat, 08 Jul 2006 12:26:27 -0500

/a