[Telepathy] list of S-E changes needed for ICE-10

Kai Vehmanen kvehmanen at eca.cx
Wed Sep 6 07:16:30 PDT 2006


Hello all,

a new draft of IETF ICE (-10) was published last week:
- http://tools.ietf.org/wg/mmusic/draft-ietf-mmusic-ice/
- http://www.jdrosen.net/ice-10.pdf

Here's some of the possible changes that are required for StreamEngine 
interface to support connection managers that require ICE (at least SIP, but 
might also affect upcoming revisions of Jabber JEP-176):

* The semantics of username and password arguments need finetuning (but
   the API itself is sufficient I believe). See ICE draft sect 4.4.

* The username/passwords are no longer per candidate. This does not
   however impact the S-E interface.

* The relay, server-reflexive (stun) and peer-derived candidates should
   have a link to their base candidate (from which candidate they were
   derived from). Affects TP candidate/transport structs.

* Unlike in JEP-176, ICE-10 has strict rules when an endpoint can
   send media (finding a valid candidate pair is not sufficient). A second
   round of offer/answer is needed to active media flow in both
   directions, although in some cases media can flow already
   before that. This is perhaps specific to SIP, but would require
   support in the S-E API. Basicly new things needed are:
   1) information whether we are offerer or answerer, and 2) enabling to
   set and query the local and remote In-use Candidates (also a new
   concept in -10 draft).

* The priority scheme has changed radically and the pref values are now
   represented as 32+bit integers. The TP interface currently uses a double
   value for the candidate pref, which should be enough.

* API for S-E to report new discovered remote candidates (peer derived).
   Unlike with JEP176, ICE requires the signaling to be aware of the
   discovered remote candidates (for the second offer/answer round).

* If the offer has 'remote-candidates' list, this has to be
   delivered to S-E so it can act according to the spec (sect:9.2).

* OPEN: whether the 'frozen' candidate attribute needs to be exposed
   to S-E API -- probably not.

Some notes:
  - ICE -10 is still a draft and is still subject to change; but changes
    are expected to be minor (between -10 and the eventual RFC)
  - this mail covers just the interface changes -- an actual ICE-10
    implementation (farsight plugin) is a separate issue

-- 
  under work: Sofia-SIP at http://sofia-sip.sf.net


More information about the Telepathy mailing list