Subject: [MMUSIC] Question on triggered check queue

From: Jørgen Johanson <[email-masked]>
Date: Mon, 3 Dec 2007 12:17:22 +0100

I have two questions regarding ICE-19, the first one relating to STUN
server procedures and triggered checks:

1) In section 7.2 STUN Server Procedures (page 47) it is stated that
when an offerer receives a Binding Request before receiving the answer:
"this may cause several pairs to be queued up in the triggered check
queue".

I am a bit confused because before having received the answer it will be
difficult to do the steps in 7.2.1.3 to 7.2.1.5 where a possible
insertion into the triggered check queue may take place.

==> Does that imply that Binding Requests received before the answer
should in some way be queue (after the immediate response have been
sent) and then when the answer is received be removed from this queue
and processed further (going trough he steps in 7.2.1.3 to 7.2.1.5)?

2) In section 7.2.1.1 Detecting and Repairing Role Conflicts (page 49)
it is stated that a change in roles will require an agent to recompute
pair priorities. This sounds reasonable. However, in section 7.1.2.1
Failure Cases (page 43) a change in roles is also specified in some
cases. In this section no there is however no mention of pair priority
re-computation.

==> Should pair priorities be recomputed also when an agent changes role
as a result of a role change in a Binding Response processing?

Thanks,
Jorgen Johanson
Tandberg Telecom

_______________________________________________
mmusic mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/mmusic

---

From: <[email-masked]>
Date: Tue, 4 Dec 2007 16:00:35 +0200

Hi Jørgen,

On 03 Dec 2007, Jørgen Johanson wrote:
>1) In section 7.2 STUN Server Procedures (page 47) it is 
[...]
>==> Does that imply that Binding Requests received before the 
>answer should in some way be queue (after the immediate 
>response have been
>sent) and then when the answer is received be removed from 
>this queue and processed further (going trough he steps in 
>7.2.1.3 to 7.2.1.5)?

yes. This is somewhat painful to implement but is needed for 
the mechanism to work correctly. A lazy programmer's plan B 
is to just drop the packets until the answer is received.
This will obviously significantly slow down the process (as
one needs to wait for the retransmits), but connectivity should 
still be established in the end.

>2) In section 7.2.1.1 Detecting and Repairing Role Conflicts 
>(page 49) it is stated that a change in roles will require an 
[...]
>==> Should pair priorities be recomputed also when an agent 
>changes role as a result of a role change in a Binding 
>Response processing?

Our interpretation has been to recompute the priorities
also in this case.

br,
-- 
[email-masked] (Kai Vehmanen)

---

From: Jonathan Rosenberg <[email-masked]>
Date: Wed, 05 Dec 2007 13:30:06 -0500

responses inline:

> and processed further (going trough he steps in 7.2.1.3 to 7.2.1.5)?

What it means is, when the request is received, you send a response, and 
then when the answer comes, perform the processing of those sections. 
The processing of section 7.2.1.4, when you get to it, might cause 
triggered checks to be inserted. So, the insertion of triggered checks 
into the queue doesn't happen on receipt of a stun request prior to 
answer; it happens after the answer when the processing of 7.2.1.4 is 
applied. So, you are not queueing them up and then removing them. You 
only queue them up when you process the answer later.

> as a result of a role change in a Binding Response processing?

Yes. This is a bug. I will correct during auth48. Thanks for pointing it 
out.

-Jonathan R.

-- 
Jonathan D. Rosenberg, Ph.D.                   499 Thornall St.
Cisco Fellow                                   Edison, NJ 08837
Cisco, Voice Technology Group
[email-masked]
http://www.jdrosen.net                         PHONE: (408) 902-3084
http://www.cisco.com

---

From: Jørgen Johanson <[email-masked]>
Date: Thu, 6 Dec 2007 11:10:56 +0100

Thanks for the input!

I guess that this means that when an offerer receives a Binding Request
before receiving the answer, the offerer responds immediately to the
request, then buffer the request (in some queue (different from the
triggered checks queue)), and then when the answer arrives starts
processing these buffered requests.

Thanks again
Jorgen

---

From: Jonathan Rosenberg <[email-masked]>
Date: Thu, 06 Dec 2007 13:46:03 -0500

Correct.

-Jonathan R.