-vk-link to the client, it extracts TURN server credentials from a live VK video call. This page explains how to get a valid link and how the credential flow works.
Getting a call link
Log in to vk.com
You need an active VK account. Open vk.com in your browser and log in.
Create a video call
Start a new video call from the VK interface. VK generates a unique join link for the call.
How credential retrieval works
When the client starts with a VK link, it performs the following steps automatically:Fetch an anonymous token
The client sends a POST request to
login.vk.ru to obtain an anonymous access token. No VK account login is required.Exchange for a call-scoped token
The anonymous token is exchanged for a call-specific token via
api.vk.ru, scoped to the provided invite link.Join the OK CDN conference anonymously
Using the call-scoped token, the client joins the VK/OK CDN conference anonymously through
calls.okcdn.ru.Extract TURN credentials from the join response
The join response includes a
turn_server object containing:username— TURN authentication usernamecredential— TURN authentication passwordurls— TURN server address (UDP, from the first non-TCP URL)
TURN server network
VK’s infrastructure issues TURN server addresses from the following networks:- VK
- Mail.ru (Max)
- Odnoklassniki
-turn <ip>. The port from the credential response is retained unless you also pass -port.
Parallel connections and bandwidth
The client opens-n parallel TURN allocations (default 16). Each VK TURN allocation is capped at approximately 5 Mbps. Multiple allocations aggregate throughput up to that cap.
DNS resolution
For VK link credential requests, the client uses a custom DNS resolver with a fallback strategy and a 10-hour cache. Resolvers are tried in order:| Resolver | Provider |
|---|---|
77.88.8.8:53 | Yandex |
77.88.8.1:53 | Yandex |
8.8.8.8:53 | |
8.8.4.4:53 | |
1.1.1.1:53 | Cloudflare |