Subject: [MMUSIC] Empty candidate lists in ice-sip-sdp offers and answers

From: Roman Shpount <[email-masked]>
Date: Fri, 26 Apr 2019 16:42:45 -0400

Hi All,

One more topic for discussion regarding the changes proposed in ice-sip-sdp
pull request ( https://github.com/suhasHere/ice-sip-sdp/pull/1 )

Since it is legal for the ICE agent to reject all the candidates due to
unsupported connection address type or due to FQDN not being resolvable, I
thought it makes sense to allow both offers and answers with no candidates.
It was never explicitly stated in RFC 5245 that such offers are illegal, so
I added the following notes to the Offer/Answer procedures to explicitly
allow them.

In the Sending the Initial Offer section I have added the following note:

NOTE: It is valid for an offer "m=" line to include no SDP candidate
attributes and default destination correspond to IP address values
"0.0.0.0"/"::" and port value of "9". This implies that offering agent is
only going to use peer reflexive candidates or that additional candidates
would be provided in subsequent signaling messages.

In the Sending the Initial Answer section I have added the following:

NOTE: It is valid for an answer "m=" line to include no SDP candidate
attributes and default destination correspond to IP address values
"0.0.0.0"/"::" and port value of "9". This implies that answering agent is
only going to use peer reflexive  candidates or that additional candidates
would be provided in subsequent signaling messages.

NOTE: Since it is possible that no candidates were provided in the offer,
or that all candidates in the offer where skipped due to unsupported
address type or FQDN name resolution failure, ICE nomination process can
start with no remote candidates. This, however, does not indicate an
immediate ICE nomination failure. See <<draft-holmberg-ice-pac>> for more
details.

In the Receiving the Initial Answer section I have added the following:

NOTE: Since it is possible that no candidates were provided in the answer,
or that all candidates in the answer where skipped due to unsupported
address type or FQDN name resolution failure, ICE nomination process can
start with no remote candidates. This, however, does not indicate an
immediate ICE nomination failure. See <<draft-holmberg-ice-pac>> for more
details.

I wanted to get the group's opinion regarding:

1. Allowing offers and answers with no candidates
2. Adding a reference to draft-holmberg-ice-pac regarding how such session
descriptions or session descriptions where all candidates were rejected are
handled.

Regards,
___________________________________________
Roman Shpount | CTO | Cell: +1(202) 262-8672
4905 Del Ray Ave, Suite 300 | Bethesda, MD 20814
TurboBridge

---

From: Christer Holmberg <[email-masked]>
Date: Sat, 27 Apr 2019 18:02:13 +0000

Hi,

... 

>NOTE: Since it is possible that no candidates were provided in the offer,  or that all candidates in the offer 
>where skipped due to unsupported address type or FQDN name resolution failure, ICE nomination process 
>can start with no remote candidates. This,  however, does not indicate an immediate ICE nomination failure. 
>See <<draft-holmberg-ice-pac>> for more details.
> 
>NOTE: Since it is possible that no candidates were provided in the answer, or that all candidates in the answer 
>where skipped due to unsupported address type or FQDN name resolution failure, ICE nomination process can 
>start with no remote candidates. This,  however, does not indicate an immediate ICE nomination failure. 
>See <<draft-holmberg-ice-pac>> for more details. 

I think the text is confusing, because it starts talking about the ICE nomination process. There are other things that happen before, including the creation of candidate pairs.

So, I think the text should say that the agent will not be able to create candidate pairs, and it will not be able to start sending connectivity checks. Instead it will wait for the peer agent to start sending connectivity checks, that the agent will then process as peer reflexive candidates.

>1. Allowing offers and answers with no candidates

I am ok with the principle. There seem to be use-cases for it, so...

>2. Adding a reference to draft-holmberg-ice-pac regarding how such session descriptions or session descriptions where all candidates were rejected are handled.

The reference in the text above is misleading, because to me it sounds like PAC describes how to process offers/answers without candidates. PAC is only about a timer.

Regards,

Christer

---

From: Roman Shpount <[email-masked]>
Date: Mon, 29 Apr 2019 17:27:10 -0400

On Sat, Apr 27, 2019 at 2:02 PM Christer Holmberg <
[email-masked]> wrote:

> ...
>
> >NOTE: Since it is possible that no candidates were provided in the
> offer,  or that all candidates in the offer
> >NOTE: Since it is possible that no candidates were provided in the
> answer, or that all candidates in the answer
> immediate ICE nomination failure.
> I think the text is confusing, because it starts talking about the ICE
> nomination process. There are other things that happen before, including
> the creation of candidate pairs.
>
> So, I think the text should say that the agent will not be able to create
> candidate pairs, and it will not be able to start sending connectivity
> checks. Instead it will wait for the peer agent to start sending
> connectivity checks, that the agent will then process as peer reflexive
> candidates.
>

I will try to come up with some text that uses the same terminology as RFC
8445.

> >2. Adding a reference to draft-holmberg-ice-pac regarding how such
> session descriptions or session descriptions where all candidates were
> rejected are handled.
>
> The reference in the text above is misleading, because to me it sounds
> like PAC describes how to process offers/answers without candidates. PAC is
> only about a timer.
>
>
Maybe this draft should cover the situation when session description
processing did not generate any candidates. The fact that ICE has some
minimal run timer is not enough. We still need something that explicitly
states that it is acceptable to run ICE nomination process without
candidates since, as far as I know, nothing in RFC 8445 specifies if this
is allowed or not.

Regards,