Why ICE options are used in the ICE protocol?
In RFC 5245 mentioned that, it is series of tokens that identify the options supported by the agent.
What type of options are supported by the agent?
By default it is google-ice or something else?
If it is not google-ice, how can I choose ice-options?
Before the SDP world had ICE, the C line used to show the Media Address where the RTP could be sent.
But this did not help in ICE / NAT Traversal cases where the private and public IP are different. And add to that the need to use a TURN server in the case of asymmetric NAT.
Hence ICE has a bunch of parameter and most significantly the
The Host tag shows the Private IP - Can be reached by Peers in local networks
The Srflx tag shows the Public IP - If possible accessible by the whole outside world unless behind NAT
The relay tag that has the TURN IP - Which will loopback the media in case of asymmetric NAT's
This is the significance of the different ICE Candidates. There are a few more parameters, but this is major enhancements to the original SDP