Gjsify LogoGjsify Logo

Hierarchy

Index

Properties

compatibility?: number

The Nice agent can work in various compatibility modes depending on what the application/peer needs. See also: #NiceCompatibility

consent_freshness?: boolean

Whether to perform periodic consent freshness checks as specified in RFC 7675. When %TRUE, the agent will periodically send binding requests to the peer to maintain the consent to send with the peer. On receipt of any authenticated error response, a component will immediately move to the failed state.

Setting this property to %TRUE implies that 'keepalive-conncheck' should be %TRUE as well.

controlling_mode?: boolean

Whether the agent has the controlling role. This property should be modified before gathering candidates, any modification occuring later will be hold until ICE is restarted.

force_relay?: boolean

Force all traffic to go through a relay for added privacy, this allows hiding the local IP address. When this is enabled, so local candidates are available before relay servers have been set with nice_agent_set_relay_info().

full_mode?: boolean
ice_tcp?: boolean

Whether the agent should use ICE-TCP when gathering candidates. If the option is disabled, no TCP candidates will be generated. If the agent is in reliable mode, then pseudotcp will need to be used over UDP candidates. This option should be set before gathering candidates and should not be modified afterwards. The #NiceAgent:ice-tcp property can be set at the same time as the #NiceAgent:ice-udp property, but both cannot be unset at the same time. If #NiceAgent:ice-udp is set to %FALSE, then this property cannot be set to %FALSE as well. ICE-TCP is only supported for %NICE_COMPATIBILITY_RFC5245, %NICE_COMPATIBILITY_OC2007 and %NICE_COMPATIBILITY_OC2007R2 compatibility modes.

ice_trickle?: boolean

Whether to perform Trickle ICE as per draft-ietf-ice-trickle-ice-21. When %TRUE, the agent will postpone changing a component state to %NICE_COMPONENT_STATE_FAILED until nice_agent_peer_candidate_gathering_done() has been called with the ID of the component's stream.

ice_udp?: boolean

Whether the agent should use ICE-UDP when gathering candidates. If the option is disabled, no UDP candidates will be generated. If the agent is in reliable mode, then pseudotcp will not be used since pseudotcp works on top of UDP candidates. This option should be set before gathering candidates and should not be modified afterwards. The #NiceAgent:ice-udp property can be set at the same time as the #NiceAgent:ice-tcp property, but both cannot be unset at the same time. If #NiceAgent:ice-tcp is set to %FALSE, then this property cannot be set to %FALSE as well.

idle_timeout?: number

A final timeout in msec, launched when the agent becomes idle, before stopping its activity.

This timer will delay the decision to set a component as failed. This delay is added to reduce the chance to see the agent receiving new stun activity just after the conncheck list has been declared failed (some valid pairs, no nominated pair, and no in-progress pairs), reactiviting conncheck activity, and causing a (valid) state transitions like that: connecting -> failed -> connecting -> connected -> ready. Such transitions are not buggy per-se, but may break the test-suite, that counts precisely the number of time each state has been set, and doesnt expect these transcient failed states.

This timer is also useful when the agent is in controlled mode and the other controlling peer takes some time to elect its nominated pair (this may be the case for SfB peers).

This timer is NOT part if the RFC5245, as this situation is not covered in sect 8.1.2 "Updating States", but deals with a real use-case, where a controlled agent can not wait forever for the other peer to make a nomination decision.

Also note that the value of this timeout will not delay the emission of 'connected' and 'ready' agent signals, and will not slow down the behaviour of the agent when the peer agent works in a timely manner.

keepalive_conncheck?: boolean

Use binding requests as keepalives instead of binding indications. This means that the keepalives may time out which will change the component state to %NICE_COMPONENT_STATE_FAILED.

Enabing this is a slight violation of RFC 5245 section 10 which recommends using Binding Indications for keepalives.

This is always enabled if the compatibility mode is %NICE_COMPATIBILITY_GOOGLE.

This is always enabled if the 'consent-freshness' property is %TRUE

main_context?: object

A GLib main context is needed for all timeouts used by libnice. This is a property being set by the nice_agent_new() call.

max_connectivity_checks?: number
proxy_ip?: string

The proxy server IP used to bypass a proxy firewall

proxy_password?: string

The password used to authenticate with the proxy

proxy_port?: number

The proxy server port used to bypass a proxy firewall

proxy_type?: number

The type of proxy set in the proxy-ip property

proxy_username?: string

The username used to authenticate with the proxy

reliable?: boolean

Whether the agent is providing a reliable transport of messages (through ICE-TCP or PseudoTCP over ICE-UDP)

stun_initial_timeout?: number

The initial timeout (msecs) of the STUN binding requests used in the gathering stage, to find our local candidates. This property is described as 'RTO' in the RFC 5389 and RFC 5245. This timeout is doubled for each retransmission, until #NiceAgent:stun-max-retransmissions have been done, with an exception for the last restransmission, where the timeout is divided by two instead (RFC 5389 indicates that a customisable multiplier 'Rm' to 'RTO' should be used).

stun_max_retransmissions?: number

The maximum number of retransmissions of the STUN binding requests used in the gathering stage, to find our local candidates, and used in the connection check stage, to test the validity of each constructed pair. This property is described as 'Rc' in the RFC 5389, with a default value of 7. The timeout of each STUN request is doubled for each retransmission, so the choice of this value has a direct impact on the time needed to move from the CONNECTED state to the READY state, and on the time needed to complete the GATHERING state.

stun_pacing_timer?: number
stun_reliable_timeout?: number

The initial timeout of the STUN binding requests used for a reliable timer.

stun_server?: string
stun_server_port?: number
support_renomination?: boolean

Support RENOMINATION STUN attribute proposed here: https://tools.ietf.org/html/draft-thatcher-ice-renomination-00 As soon as RENOMINATION attribute is received from remote candidate's address, corresponding candidates pair gets selected. This is specific to Google Chrome/libWebRTC.

upnp?: boolean

Whether the agent should use UPnP to open a port in the router and get the external IP

upnp_timeout?: number

The maximum amount of time (in milliseconds) to wait for UPnP discovery to finish before signaling the #NiceAgent::candidate-gathering-done signal

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method