Subject: Re: [Sip] Outbound: Questions on reg-id

From: Fredrik Thulin <[email-masked]>
Date: Tue, 4 Apr 2006 15:57:27 +0200

On Tuesday 04 April 2006 15:48, Christer Holmberg (JO/LMF) wrote:
> Hi,
>
> Ok, I missed that text. I appologize for that.
>
> But, then, if I send a REGISTER with reg-id=1, then I reboot, then I
> send a REGISTER with reg-id=1 again, how will the registrar know I
> have rebooted?

I'd say it doesn't know that you rebooted, but it knows that you want to 
replace the entry in the location database from your first REGISTER 
with the one in your second. This means that you don't want to use the 
flow from your first REGISTER either.

To better understand the benefit of this, picture the example with the 
first REGISTER going from IP tcp:192.0.2.11:1234 (source port 1234) 
with reg-id=1. Then a reboot and then your second REGISTER from 
tcp:192.0.2.11:1111 (new source port) but once again reg-id=1.

Oh, and it's not really just saying that you "want" the registrar to 
stop using the old flow, you indicate to the registrar that it MUST 
stop using the old flow but may very well use the new flow you just 
initiated.

/Fredrik

_______________________________________________
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: "Christer Holmberg \(JO/LMF\)" <[email-masked]>
Date: Tue, 4 Apr 2006 15:48:37 +0200

Hi,

But, then, if I send a REGISTER with reg-id=1, then I reboot, then I
send a REGISTER with reg-id=1 again, how will the registrar know I have
rebooted?

Regards,

Christer 

-----Original Message-----
From: Fredrik Thulin [mailto:[email-masked]] 
Sent: 4. huhtikuuta 2006 16:32
To: [email-masked]
Cc: Christer Holmberg (JO/LMF)
Subject: Re: [Sip] Outbound: Questions on reg-id

On Tuesday 04 April 2006 15:10, Christer Holmberg (JO/LMF) wrote:
...
> [CHH] My understanding of the draft is NOT that the SAME req-id would 
> be used. Where is that said?
>
> The draft says that when the UA registers multiple times, each 
> registration gets a unique reg-id value. But, it does not say anything

> about re-usage the same reg-id values after a reboot.

							   "The
   reg-id sequence does not have to be sequential but MUST be exactly
   the same reg-id sequence each time the device power cycles or reboots
   so that the reg-id values will collide with the previously used
   reg-id values.  This is so the proxy can realize that the older
   registrations are probably not useful."

/Fredrik

_______________________________________________
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: Tue, 4 Apr 2006 12:59:19 -0400

Yeah it took me a while to figure that piece out as well the first time I
read the draft.

I think the answer is the Registrar doesn't need to know you "rebooted".  It
just needs to know to update the bindings of the previous set. (ie, replace
them)  Since the instance-id is the same for every flow, it can't be used.
So they needed something which was different per active flow, but would
collide when "replacing" stale flows.  It's not just for UA reboots: if the
UA's using UDP and the NAT rebooted and gave a different dynamic mapped
port, then this helps update that as well. (I think?  Would the STUN
XOR-MAPPED-ADDRESS change not cause a reg-id change hopefully?)

And the proxy needs to know (or the registrar if it's the edge box) that if
your flow info changed (ie, new socket), that this is replacing an old one
and is not just a secondary one.  If it happens to be the same (as it could
with UDP) then no one needs to be updated and the fact that the same reg-id
is used is fine.

For TCP my guess is this would simply be the UA's ephemeral port number.
For UDP it would have to be something like the configured proxy/registrar
list order. (ie, proxy-1 = reg-id 1, etc.)  For DNS resolved UDP URI's it's
much harder if the resolution order changes after reboot or ever, but the
worst that would happen is you have a stale flow which would expire
eventually.  So long as you have an outbound registrar it will use the most
recent binding I think. (which ironically is always the "Backup" flow on
boot up, not the "Primary" flow)

-hadriel

> From: Christer Holmberg (JO/LMF) [mailto:[email-masked]]
> Sent: Tuesday, April 04, 2006 9:49 AM
> To: Fredrik Thulin; [email-masked]
> Subject: RE: [Sip] Outbound: Questions on reg-id
> 
> 
> Hi,
>

---

From: "Hadriel Kaplan" <[email-masked]>
Date: Wed, 5 Apr 2006 10:06:08 -0400

I thought about it more last night and take that last paragraph back - the
UA needs to keep using the same reg-id if a previous tcp socket failed, so
it's really just the active flow number not ephemeral port at all.  If an
active flow fails, a new socket would need to reuse the reg-id.  So if the
ua only ever intends to create one active flow, it should just keep re-using
reg-id 1, for example.
-hadriel

> From: Hadriel Kaplan [mailto:[email-masked]]
> Sent: Tuesday, April 04, 2006 12:59 PM
> To: 'Christer Holmberg (JO/LMF)'; 'Fredrik Thulin'; [email-masked]