Subject: [MMUSIC] ICE: Clarification question when full ICE communciate with ICE lite and chooses host candidate

From: "Christer Holmberg" <[email-masked]>
Date: Fri, 26 Oct 2007 12:44:41 +0200

Hi,

Assume the following scenario:

- User A is located behind a NAT, and implements full ICE.

- User A collects candidates, and send an INVITE

- The call is received by an MGCF, implementing ICE lite.

- User A starts doing connectivity checks, which the MGCF reply to
(being ICE lite, the MGCF does not generate checks itself)

- User A detects that the HOST_CANDIDATE checks work, so it sends an
UPDATE and tells the MGCF that the HOST_CANDIDATE will be used. The
Local Address information will be in the c/m line.

Now, the MGCF will start sending media towards the Local Address. But,
since User A, and the Local Address, is behind the NAT, the media will
not reach User A.

I guess this could be solved if User A in the UPDATE includes the Server
Reflexive Address it received in the STUN responses for the host
candidate, instead of the Local Address. But, I can't find any text in
the ICE spec indicating that.

Or, have I missunderstood something?

Regards,

Christer

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

---

From: Jonathan Rosenberg <[email-masked]>
Date: Sun, 28 Oct 2007 18:22:46 -0400

inline.

> since User A, and the Local Address, is behind the NAT, the media will 

No, this is not what will happen. The candidate pair learned from the 
checks sent by A are based on the mapped address from the connectivity 
checks. Quoting fro 7.1.2.2.2:

7.1.2.2.2.  Constructing a Valid Pair

    The agent constructs a candidate pair whose local candidate equals
    the mapped address of the response, and whose remote candidate equals
    the destination address to which the request was sent.

-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: "Christer Holmberg" <[email-masked]>
Date: Mon, 29 Oct 2007 14:59:31 +0100

Hi,

Thanks for the clarification!

So, does this mean that an UPDATE will be sent EVEN if HOST_CANDIDATE
was the default candidate and is then chosen to be used, since the SDP
address information does change?

INVITE c/m = local address (HOST_CANDIDATE)
UPDATE c/m = mapped address (HOST_CANDIDATE)

Regards,

Christer

> -----Original Message-----
> From: Jonathan Rosenberg [mailto:[email-masked]] 
> Sent: 29. lokakuuta 2007 0:23
> To: Christer Holmberg
> Cc: [email-masked]
> Subject: Re: [MMUSIC] ICE: Clarification question when full 
> ICE communciate with ICE lite and chooses host candidate
> 
> inline.
> 
> Christer Holmberg wrote:
> > 
> > Hi,
> > 
> No, this is not what will happen. The candidate pair learned 
> from the checks sent by A are based on the mapped address 
> from the connectivity checks. Quoting fro 7.1.2.2.2:
>

---

From: Jonathan Rosenberg <[email-masked]>
Date: Mon, 29 Oct 2007 21:49:35 -0400

No, an UPDATE is sent only if the default does not match the selected 
candidate:

(Section 8.1.2)

o  Once the state of each check list is Completed:

       *  The agent sets the state of ICE processing overall to
          Completed.

       *  If an agent is controlling, it examines the highest priority
          nominated candidate pair for each component of each media
          stream.  If any of those candidate pairs differ from the
          default candidate pairs in the most recent offer/answer
          exchange, the controlling agent MUST generate an updated offer
          as described in Section 9.  If the controlling agent is using
          an aggressive nomination algorithm, this may result in several
          updated offers as the pairs selected for media change.  An
          agent MAY delay sending the offer for a brief interval (one
          second is RECOMMENDED) in order to allow the selected pairs to
          stabilize.

-Jonathan R.

---

From: "Christer Holmberg" <[email-masked]>
Date: Wed, 31 Oct 2007 08:14:45 +0100

Hi Jonathan, 

>No, an UPDATE is sent only if the default does not match the selected

In my example the candidate "type" (HOST_CANDIDATE) DOES match, but the
local address doesn't so I guess that mean an UPDATE will be sent,
right?

Regards,

Christer

> > INVITE c/m = local address (HOST_CANDIDATE) UPDATE c/m = mapped 
> > address (HOST_CANDIDATE)
> > 
> > Regards,
> > 
> > Christer
> > 
> >  
> > 
> >> Subject: Re: [MMUSIC] ICE: Clarification question when full ICE 
> >> communciate with ICE lite and chooses host candidate
> >>
> >> inline.
> >>
> >> Christer Holmberg wrote:
> >>> Hi,
> >>>
> >> checks sent by A are based on the mapped address from the 
> >> connectivity checks. Quoting fro 7.1.2.2.2:
> >>

---

From: Jonathan Rosenberg <[email-masked]>
Date: Wed, 31 Oct 2007 11:11:12 -0400

No - the candidate is not HOST, its server reflexive.

-Jonathan R.