Start a scheduled group call.
updatesTooLong#e317af7e = Updates;
updateShortMessage#313bc7f8 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true id:int user_id:long message:string pts:int pts_count:int date:int fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?long reply_to:flags.3?MessageReplyHeader entities:flags.7?Vector<MessageEntity> ttl_period:flags.25?int = Updates;
updateShortChatMessage#4d6deea5 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true id:int from_id:long chat_id:long message:string pts:int pts_count:int date:int fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?long reply_to:flags.3?MessageReplyHeader entities:flags.7?Vector<MessageEntity> ttl_period:flags.25?int = Updates;
updateShort#78d4dec1 update:Update date:int = Updates;
updatesCombined#725b04c3 updates:Vector<Update> users:Vector<User> chats:Vector<Chat> date:int seq_start:int seq:int = Updates;
updates#74ae4240 updates:Vector<Update> users:Vector<User> chats:Vector<Chat> date:int seq:int = Updates;
updateShortSentMessage#9015e101 flags:# out:flags.1?true id:int pts:int pts_count:int date:int media:flags.9?MessageMedia entities:flags.7?Vector<MessageEntity> ttl_period:flags.25?int = Updates;
---functions---
phone.startScheduledGroupCall#5680e342 call:InputGroupCall = Updates;
| Name | Type | Description |
|---|---|---|
| call | InputGroupCall | Scheduled video chat/livestream to start, before or after its scheduled date |
| Code | Type | Description |
|---|---|---|
| 403 | GROUPCALL_ALREADY_STARTED | The groupcall has already started, you can join directly using phone.joinGroupCall. |
| 400 | GROUPCALL_INVALID | The specified group call is invalid. |
How to start, join and manage group calls and video chats.
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:
{
"ssrc": 123456789,
"ufrag": "...",
"pwd": "...",
"fingerprints": [{
"hash": "sha-256",
"fingerprint": "...",
"setup": "passive"
}]
}
When joining an RTMP-mode call, generate the payload without published video source groups.