Search by

danog / php-rtc-ice

danog

WebRTC ICE connectivity in PHP, ported to Amp v3 fibers and sockets. MadelineProto's PHP 8.2+ fork integrates the modular danog/php-rtc STUN, TURN, and mDNS stack.

Package info

github.com/danog/php-rtc-ice

pkg:composer/danog/php-rtc-ice

Statistics

Installs: 1 292

Dependents: 6

Suggesters: 0

Stars: 0

Open Issues: 3

2.0.4 2026-09-07 08:33 UTC

README

PHP Version License

A PHP implementation of the Interactive Connectivity Establishment (ICE) protocol for WebRTC. This library helps establish peer-to-peer connectivity by handling candidate gathering, prioritization, connectivity checks, and consent freshness.

About this fork

This is the danog/php-rtc-ice fork used by MadelineProto. It targets PHP 8.2+ and replaces the ReactPHP implementation with Amp v3 DNS, sockets, fibers, and Revolt timers. Blocking connectivity checks run in separate fibers so socket receive loops remain live.

All internal Composer dependencies use their danog/php-rtc-* package names directly, so installing a component selects the maintained danog packages throughout the dependency graph.

Features

  • STUN and TURN support (RFC 5389 / RFC 5766)
  • Host, server-reflexive, relayed, and peer-reflexive candidates
  • Candidate prioritization and pair selection
  • ICE connectivity checks using STUN Binding Requests
  • Consent freshness mechanism
  • ICE Lite mode (optional)
  • IPv4 and IPv6 support

Requirements

  • PHP ≥ 8.2

Documentation

This package is part of the PHP WebRTC library. For complete documentation, examples, and API reference, visit:

PHP WebRTC Documentation

Credits

Authors

Reporting Issues

Found a bug? Please report it on our issues.

License

BSD 3-Clause License. See LICENSE for details.