Subject: [Sip] Outbound Comment: binding key

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

From section 6.1:

   When a reg-id header parameter is present in a Contact header field
   value in a REGISTER request, the corresponding binding is between an
   AOR and the combination of instance-id and reg-id.

I don't think this is quite correct. This statement appears to be
asserting that {instance-id,reg-id} is a unique key to a binding
associated with an AOR. This would, in turn, imply that any successful
registration attempt with an {instance-id,reg-id} that matches an
existing binding would overwrite the existing record.

I don't think that is what's intended, since section 6.2 contains the
following text:

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

If the binding is only to {instance-id,reg-id}, then that text is
nonsensical: you can't have two identical bindings to the same AOR.

I suspect that the text in 6.1 should actually read something more like:

   When a reg-id header parameter is present in a Contact header field
   value in a REGISTER request, the corresponding binding is between an
   AOR and the combination of instance-id, reg-id, and network flow.

/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: "Hadriel Kaplan" <[email-masked]>
Date: Thu, 6 Jul 2006 15:07:48 -0400

My interpretation was the opposite - if a Register comes in with the same
{instance-id,reg-id} then it should indeed replace/overwrite the previous
binding of the same tuple.  I know there are several sections in the draft
which imply otherwise, but I don't understand why.  There is no real value
I can see to keeping a binding for an old flow of the same reg-id, since by
definition the UA would only "re-use" a reg-id if the old flow failed (or
even if it didn't think it had failed, but something rebooted and changed
the flow).  

I can see no realistic way in which an old flow of the same
{instance-id,reg-id} would succeed in reaching the UA.  Am I missing
something?

-hadriel
p.s. it's theoretically possible, if a sip-udp UA rebooted and resolved a
new proxy address and sent a register to it with the same reg-id, that it
may still be possible to reach the UA through the old "flow" for a time.  
But is that a realistic case worth caring about?

> -----Original Message-----
> From: Adam Roach [mailto:[email-masked]]
> Sent: Thursday, July 06, 2006 1:12 AM
> To: Cullen Jennings
> Cc: SIP WG
> Subject: [Sip] Outbound Comment: binding key
> 
>  From section 6.1:
>

---

From: Adam Roach <[email-masked]>
Date: Thu, 06 Jul 2006 17:21:38 -0500

Hadriel:

I agree with your assessment, and would be _much_ happier if we simply
removed all the text that implied that the proxy has to maintain
multiple bindings with the same instance-id and reg-id.

I think, at the very least, the draft needs some motivating text around
why the proxy/registrar is expected to keep tabs of stale registration
state.

/a

---

From: <[email-masked]>
Date: Fri, 7 Jul 2006 08:56:27 +0300

Hi,

In March before Dallas meeting Jeroen raised the same question:

> Some comments on this draft:
> 
> Section 3.2 (and elsewhere): in addition to stating that a
proxy/registrar
> should prefer the most recently registered flow, I would suggest that
the
> registrar explicitly invalidates an existing registration when it
receives a
> new registration with the same instance-id / reg-id. This situation
would
> most likely be due to a reboot of the client. For TCP and other
> connection-oriented transports it would be detected, but a
registration over
> UDP could survive a client crash

And this is what Cullen answered:

> This has been a topic of large debate and we (with many but not most
people
> saying exactly what you are saying). We asked about it in WG meeting
and on
> list and came to agreement that the text that does not allow "explicit
> invalidation" was better. I'm scared to reopen this. 

I do not have a clue what kind of arguments were there in that old
debate,
but I admit I have been a couple of times wondering this same issue. It
would be nice if someone would bring up the thread Cullen is referrng
to.

If changing the draft like you and Jeroen suggested I believe the draft
SHOULD be more explicit about what happens to the old flows ? Will they
stay in the registrar database forever ?

After one year of operation, does the registrar have e.g. 27 mappings
stored for one UA which has rebooted 27 times, even if the most recent
of them is used ?

Regards,

Erkki

>From: ext Hadriel Kaplan [mailto:[email-masked]] 
>Sent: 06.July.2006 22:08
>To: 'Adam Roach'; 'Cullen Jennings'
>Cc: 'SIP WG'
>Subject: RE: [Sip] Outbound Comment: binding key
>

---

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

Hadriel:

/a