Subject: [MMUSIC] Passive mode and terminology

From: Eric Rescorla <[email-masked]>
Date: Fri, 24 Nov 2006 11:10:02 -0800

In preparation for starting on the ICE Passive draft, I've been going
through ICE-12 trying to figure out what the responsibilities of various
kinds of endpoints are. Here's what I've come up with.

IMPLEMENTATION TYPES
There are two kinds of ICE implementations:

- Full-mode
- Passive-only

All ICE implementations must:

- Respond to checks
- Generate triggered checks
- Send media and keepalives

Full-mode implementations must:
- Gather candidates (rather than having them preconfigured)
- Send periodic checks
- Be prepared to be the controlling endpoints

OPERATIONAL MODES
When two ICE agents meet, there are three possibilities:

- They're both full-mode.
- One is full-mode and one is passive-only
- They're both passive-only in which case we don't do ICE.

Let's say that FM1 and FM2 (both full-mode) meet. FM1 ends up as the
controlling endpoint (though under other circumstances it could
be FM2) and so it must:

- Gather candidates
- Send periodic checks
- Respond to checks
- Generate triggered checks
- Send media and keepalives
- Eventually send a USE-CANDIDATE attribute.

FM2 is the non-controlling endpoint (ICE-12 call it passive, but I
think that's confusing for reasons that will become clear in
a second). It must:

- Gather candidates
- Send periodic checks
- Respond to checks
- Generate triggered checks
- Send media and keepalives

Now, let's say that FM1 and PO (passive only) meet. FM1 must end
up as the controlling endpoint and its responsibilities are the
same as before. By contrast, PO only does:

- Respond to checks
- Generate triggered checks
- Send media and keepalives

AFAICT ICE-12 refers to both FM2 (in this exchange) and 
PO as "passive" (S 6.2), but they're fundamentally different
in that FM2 still generates periodic checks (I'm basing
this claim on the example in S 15 where both agents are 
full mode and both seem to be generating periodic checks
e.g., messages 9 and 10) whereas PO does not generate any
periodic checks. So, this terminology seems pretty 
confusing. [0]

I've got no problem with the full-mode/passive taxonomy but
given that it seems to that there are three ways in which an
agent can behave:

- Controlling [Sends periodic checks and eventually USE-CANDIDATE]
- Controlled  [Sends periodic checks and consumes USE-CANDIDATE]
- Passive     [Sends no periodic checks and consumes USE-CANDIDATE]

So, a full-mode entity can be either Controlling or Controlled
whereas a passive-only entity can only be passive. Using the
term "passive" for both Controlled and Passive seems confusing.

Or am I missing something?

-Ekr

[0] FM2 also gathers candidates whereas PO doesn't but you
could look at candidate gathering as a local matter that the
peer can't observe. After all, if you have a public IP address
and you *do* gather candidates, they'll likely all reduce
to your public address anyway.

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

---

From: Jonathan Rosenberg <[email-masked]>
Date: Mon, 27 Nov 2006 17:35:14 -0500

inline.

> - Generate triggered checks

As of ice-12, yes. As we agreed in the meeting, ice-13 will remove this 
restriction for passive-only endpoints.

> - Be prepared to be the controlling endpoints

And, as of ice-13, generate triggered checks.

> - They're both passive-only in which case we don't do ICE.

RIght.

> - Send media and keepalives

Yes.

> - Send media and keepalives

Sans generating triggered checks, yes.

> periodic checks. So, this terminology seems pretty 

You are right. This is confusing.

> Or am I missing something?

You are absolutely correct. I would suggest to adopt your terminology.

Thanks,
Jonathan R.

-- 
Jonathan D. Rosenberg, Ph.D.                   600 Lanidex Plaza
Cisco Fellow                                   Parsippany, NJ 07054-2711
Cisco Systems
[email-masked]                              FAX:   (973) 952-5050
http://www.jdrosen.net                         PHONE: (973) 952-5000
http://www.cisco.com

---

From: Philip Matthews <[email-masked]>
Date: Wed, 29 Nov 2006 16:05:46 -0500

I also like the proposed terminology (Controlling, Controlled, Passive).

I concur that we agreed that passive endpoints should not support  
triggered checks.

However, I now wonder how we are going to avoid the Voice Hammer  
attack when
the called party is a passive endpoint, since a passive endpoint does  
not send any
checks?

- Philip

On 27-Nov-06, at 17:35 , Jonathan Rosenberg wrote:

> As of ice-12, yes. As we agreed in the meeting, ice-13 will remove  
> this restriction for passive-only endpoints.
>
>> AFAICT ICE-12 refers to both FM2 (in this exchange) and PO as  
>> "passive" (S 6.2), but they're fundamentally different
>> this claim on the example in S 15 where both agents are full mode  
>> and both seem to be generating periodic checks
>> periodic checks. So, this terminology seems pretty confusing. [0]
>

---

From: Jonathan Rosenberg <[email-masked]>
Date: Wed, 29 Nov 2006 16:42:16 -0500

You won't avoid it. This would be one of the limitations of not doing 
full ICE. I don't see passive-only ICE as a long term thing; I see it as 
a transition step.

-Jonathan R.

Philip Matthews wrote:

> However, I now wonder how we are going to avoid the Voice Hammer  attack 
> when