Skip to content

elixir-webrtc/ex_ice

Repository files navigation

ExICE

Hex.pm API Docs CI codecov

Trickle ICE implementation.

Implements:

Features

  • compatible both with aggressive and regular nomination
  • role conflict resolution
  • supports host, prflx, srflx and relay candidates
  • transaction pacing
  • keepalives (both incoming and outgoing) on valid and selected pairs
  • mDNS client

Limitations

  • there is always only one stream and one component - we don't plan to add support for multiple streams and components as WebRTC multiplexes traffic on a single socket but PRs are welcomed

Installation

def deps do
  [
    {:ex_ice, "~> 0.8.5"}
  ]
end

Usage

See our example, integration tests, and documentation for usage examples.

We also provide a very simple signalling server, which can be used to connect two ICE agents.