Skip to main content
Yandex Telemost has been closed (UPD: ТЕЛЕМОСТ ЗАКРЫЛИ). The information on this page is preserved for reference only. The credential flow described here no longer works.

Overview

When Telemost was active, you could obtain TURN credentials by passing a conference link to the client’s -yandex-link flag. Conference links had the form:
https://telemost.yandex.ru/j/<id>
Unlike VK, Yandex TURN servers imposed no per-allocation speed cap. Because of this, the default for -n is 1 when using a Yandex link.
Increasing -n with a Yandex link joins the conference as multiple fake participants. This can cause a temporary IP ban due to conference flooding. Keep -n 1 unless you have a specific reason to increase it.
UDP mode (-udp) typically produced higher throughput with Yandex TURN servers than the default TCP mode.
Most Yandex TURN IP ranges did not work in practice. You had to specify a working server manually using -turn:
./client-linux \
  -peer 203.0.113.10:56000 \
  -yandex-link "https://telemost.yandex.ru/j/AbCdEfGhIjKl" \
  -listen 127.0.0.1:9000 \
  -udp \
  -turn 5.255.211.241

Known working TURN IPs

The following Yandex TURN IPs were confirmed to work:
5.255.211.241
5.255.211.242
5.255.211.243
5.255.211.245
5.255.211.246
Pass any of these as -turn <ip>.

How credential retrieval worked

1

REST call to cloud-api.yandex.ru

The client sent a GET request to cloud-api.yandex.ru with the conference link, retrieving a ConferenceResponse that included the media server WebSocket URL, room ID, peer ID, and session credentials.
2

WebSocket handshake to the media server

The client opened a WebSocket connection to the media_server_url from the conference response and sent a hello message identifying itself as a guest speaker ("Гость", role SPEAKER) with audio and video disabled.
3

Extract ICE server credentials from serverHello

The media server responded with a serverHello containing an rtcConfiguration.iceServers list. The client extracted the first UDP TURN entry (skipping TCP entries) to get the username, credential, and server address.

Build docs developers (and LLMs) love