{ "type": "object", "description": "This event is sent by the caller when they wish to establish a call.", "allOf": [{ "$ref": "core-event-schema/room_event.yaml" }], "properties": { "content": { "type": "object", "allOf": [{ "$ref": "core-event-schema/call_event.yaml" }], "properties": { "offer": { "type": "object", "title": "Offer", "description": "The session description object", "properties": { "type": { "type": "string", "enum": ["offer"], "description": "The type of session description." }, "sdp": { "type": "string", "description": "The SDP text of the session description." } }, "required": ["type", "sdp"] }, "lifetime": { "type": "integer", "description": "The time in milliseconds that the invite is valid for. Once the invite age exceeds this value, clients should discard it. They should also no longer show the call as awaiting an answer in the UI." }, "invitee": { "type": "string", "description": "The ID of the user being called. If omitted, any user in the room can answer.", "x-addedInMatrixVersion": "1.7" }, "sdp_stream_metadata": { "$ref": "components/sdp_stream_metadata.yaml" } }, "required": ["offer", "lifetime"] }, "type": { "type": "string", "enum": ["m.call.invite"] } } }