[Nice] Gracefull fallback, renegotiations?

mikhail.zabaluev at nokia.com mikhail.zabaluev at nokia.com
Mon May 5 09:23:20 PDT 2008


I'm interested in developing a SIP client implementation that would use libnice.
I have a few issues to resolve with the current libnice API in the way it can be exposed through
Farsight 2.

1. Let's suppose peer A makes an ICE-enhanced SDP offer to peer B. The latter, however, processes the offer as plain SDP and returns an answer that doesn't have any ICE attributes. The client at peer A is supposed to tell libnice to stop any ICE processing and fall back to sending plain RTP/RTCP payloads over the network sockets initially opened for ICE.

2. We have successfully negotiated a candidate pair, then an updated SDP offer (variant: an answer from another dialog that's won in forking) comes in, which necessitates a renegotiation. Arguably, the existing set of network sockets should be used, to avoid triggering more bugs with other implementations than necessary (port reuse may also trigger bugs, however; it's probably just the behavior tested better). If we're serious about SIP forking, port reuse is mandatory.

Any ideas how to implement these use cases with Fs2/libnice, or how the current API could be extended to accommodate these and related cases?

  Mikhail Zabaluev,  Nokia Devices

More information about the Nice mailing list