Realtime · Socket.IO
Calls (signaling)
Not a full WebRTC stack — events coordinate UI. See Client emits for call:accept / reject / end.
javascript
socket.emit("call:initiate", {
chatId: "64c3...",
type: "video",
participants: ["userId1", "userId2"],
})socket.emit("call:initiate", {
chatId: "64c3...",
type: "video",
participants: ["userId1", "userId2"],
})Callee receives call:incoming
json
{
"chatId": "64c3d4e5f678901234567890",
"callerId": "69566c4cf0bdc3ae3e81b108",
"type": "video",
"timestamp": "2026-03-18T10:00:00.000Z"
}{
"chatId": "64c3d4e5f678901234567890",
"callerId": "69566c4cf0bdc3ae3e81b108",
"type": "video",
"timestamp": "2026-03-18T10:00:00.000Z"
}