Subject: [sipcore] Outbound and simultaneous registration transactions

From: "Christer Holmberg" <[email-masked]>
Date: Sun, 9 Aug 2009 13:44:47 +0200

Hi outbound lovers,

Section 10.2 of RFC 3261 says:

"UAs MUST NOT send a new registration (that is, containing new Contact
header field values, as opposed to a retransmission) until they have
received a final response from the registrar for the previous one or
the previous REGISTER request has timed out."

Q1: I don't find any text in the outbound spec which would allow sending
new registrations for the SAME Contact header value until a response has
been received from the previous register (or the prevoius has timed
out). So, my assumption is that the
only-one-register-transaction-at-a-time rule also applies to outbound,
or?

Section 6 of outbound says:

"The registrar MUST be prepared to receive, simultaneously for the same
AOR, some registrations that use instance-id and reg-id and some
registrations that do not."

I assume "simultaneously" doesn't refer to simultaneous registration
transactions, but simultaneus valid registrations. 

Regards,

Christer

---

From: "Francois Audet" <[email-masked]>
Date: Thu, 20 Aug 2009 18:36:52 -0500

I believe you are correct.

________________________________

	From: Christer Holmberg [mailto:[email-masked]] 
	Sent: Sunday, August 09, 2009 04:45
	To: SIPCORE
	Cc: Audet, Francois (SC100:3055)
	Subject: Outbound and simultaneous registration transactions

	Hi outbound lovers, 

	Q1: I don't find any text in the outbound spec which would allow sending new registrations for the SAME Contact header value until a response has been received from the previous register (or the prevoius has timed out). So, my assumption is that the only-one-register-transaction-at-a-time rule also applies to outbound, or?

	"The registrar MUST be prepared to receive, simultaneously for the same AOR, some registrations that use instance-id and reg-id and some registrations that do not."

	I assume "simultaneously" doesn't refer to simultaneous registration transactions, but simultaneus valid registrations. 

	Regards, 

	Christer

---

From: "Christer Holmberg" <[email-masked]>
Date: Fri, 21 Aug 2009 07:25:09 +0200

Some clarification needed?

	From: Francois Audet [mailto:[email-masked]] 
	Sent: 21. elokuuta 2009 2:37
	To: Christer Holmberg; SIPCORE
	Subject: RE: Outbound and simultaneous registration transactions

		From: Christer Holmberg
[mailto:[email-masked]] 
		Sent: Sunday, August 09, 2009 04:45
		To: SIPCORE
		Cc: Audet, Francois (SC100:3055)
		Subject: Outbound and simultaneous registration
transactions

		Hi outbound lovers, 

		"UAs MUST NOT send a new registration (that is,
containing new Contact 
		header field values, as opposed to a retransmission)
until they have 
		received a final response from the registrar for the
previous one or 
		the previous REGISTER request has timed out." 

		Q1: I don't find any text in the outbound spec which
would allow sending new registrations for the SAME Contact header value
until a response has been received from the previous register (or the
prevoius has timed out). So, my assumption is that the
only-one-register-transaction-at-a-time rule also applies to outbound,
or?

		"The registrar MUST be prepared to receive,
simultaneously for the same AOR, some registrations that use instance-id
and reg-id and some registrations that do not."

		I assume "simultaneously" doesn't refer to simultaneous
registration transactions, but simultaneus valid registrations. 

		Regards, 

		Christer

---

From: "Dean Willis" <[email-masked]>
Date: Fri, 21 Aug 2009 14:45:53 -0000 (UTC)

> Some clarification needed?

The intent of the 3261 rule as I understand it is only one registration
per contact/registrar pair at the same time, otherwise the registrar is
hard-pressed to keep the registrations straight. That is, we get a race
condition that makes it hard to determine which of the two overlapped
registrations is "right", as the general assumption is that one
registration is replacing another.

In outbound, we have two effectively different registrations occurring,
generally via disjoint paths. This eliminates the race condition, so the
restriction is not needed.

> registration transactions, but simultaneus valid registrations.

That's reasonable. One could certainly have two different UACs executing
REGISTER transactions simultaneously. Outbound effectively makes one UAC
look like two UACs to the registrar.

--
Dean