Join any group call type ». Conference calls additionally require the E2E joining flow ».The params field must contain a join payload generated by the local tgcalls group-call engine. It contains a random non-zero audio ssrc, ICE ufrag and pwd, DTLS fingerprints, and, when publishing video, ssrc-groups.For example, a join payload without published video has the following shape:json<br>{<br> "ssrc": 123456789,<br> "ufrag": "...",<br> "pwd": "...",<br> "fingerprints": [{<br> "hash": "sha-256",<br> "fingerprint": "...",<br> "setup": "passive"<br> }]<br>}<br>When joining an RTMP-mode call, generate the payload without published video source groups.
API section: Working with group calls »
phone.joinGroupCall#8fb53057 flags:# muted:flags.0?true video_stopped:flags.2?true call:InputGroupCall join_as:InputPeer invite_hash:flags.1?string public_key:flags.3?int256 block:flags.3?bytes params:DataJSON = Updates;
| Name | Type | Description |
|---|---|---|
| flags | # | Bit mask: a field written flags.N?T is present only when bit N is set. |
| muted | flags.0?true | |
| video_stopped | flags.2?true | |
| call | InputGroupCall | The call the request is about. |
| join_as | InputPeer | |
| invite_hash | flags.1?string | |
| public_key | flags.3?int256 | |
| block | flags.3?bytes | |
| params | DataJSON |
This method has no errors of its own: it either answers or fails on the shared checks below.
| Code | Type | What it means |
|---|---|---|
| 401 | AUTH_KEY_UNREGISTERED |
The server does not know this session: the key was revoked, expired, or the call was made before authorisation. |
| 401 | API_ID_INVALID |
This api_id was never issued or has been blocked. Keys come from my.ansible.su. |
| 400 | CONNECTION_LAYER_INVALID |
The client did not declare a layer, or declared one the server does not know. |
| 420 | FLOOD_WAIT_X |
Too often. Do not retry for X seconds — the number arrives in the error text. |
| 500 | INTERNAL |
A failure on our side. The request may be retried; if it keeps failing, it is a bug of ours. |