Package org.matrix.android.sdk.api.session.room.model.call

Types

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CallAnswerContent(    @Json(name = "call_id") val callId: String,     @Json(name = "party_id") val partyId: String? = null,     @Json(name = "answer") val answer: CallAnswerContent.Answer,     @Json(name = "version") val version: String?,     @Json(name = "capabilities") val capabilities: CallCapabilities? = null) : CallSignalingContent

This event is sent by the callee when they wish to answer the call.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CallAssertedIdentityContent(    @Json(name = "call_id") val callId: String,     @Json(name = "party_id") val partyId: String? = null,     @Json(name = "version") val version: String?,     @Json(name = "asserted_identity") val assertedIdentity: CallAssertedIdentityContent.AssertedIdentity? = null) : CallSignalingContent

This event is sent by the callee when they wish to answer the call.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CallCandidate(    @Json(name = "sdpMid") val sdpMid: String? = null,     @Json(name = "sdpMLineIndex") val sdpMLineIndex: Int = 0,     @Json(name = "candidate") val candidate: String? = null)
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CallCandidatesContent(    @Json(name = "call_id") val callId: String,     @Json(name = "party_id") val partyId: String? = null,     @Json(name = "candidates") val candidates: List<CallCandidate> = emptyList(),     @Json(name = "version") val version: String?) : CallSignalingContent

This event is sent by callers after sending an invite and by the callee after answering. Its purpose is to give the other party additional ICE candidates to try using to communicate.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CallCapabilities(@Json(name = "m.call.transferee") val transferee: Boolean? = null)
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CallHangupContent(    @Json(name = "call_id") val callId: String,     @Json(name = "party_id") val partyId: String? = null,     @Json(name = "version") val version: String?,     @Json(name = "reason") val reason: EndCallReason? = null) : CallSignalingContent

Sent by either party to signal their termination of the call. This can be sent either once the call has been established or before to abort the call.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CallInviteContent(    @Json(name = "call_id") val callId: String?,     @Json(name = "party_id") val partyId: String? = null,     @Json(name = "offer") val offer: CallInviteContent.Offer?,     @Json(name = "version") val version: String?,     @Json(name = "lifetime") val lifetime: Int?,     @Json(name = "invitee") val invitee: String? = null,     @Json(name = "capabilities") val capabilities: CallCapabilities? = null) : CallSignalingContent

This event is sent by the caller when they wish to establish a call.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CallNegotiateContent(    @Json(name = "call_id") val callId: String,     @Json(name = "party_id") val partyId: String? = null,     @Json(name = "lifetime") val lifetime: Int?,     @Json(name = "description") val description: CallNegotiateContent.Description? = null,     @Json(name = "version") val version: String?) : CallSignalingContent

This introduces SDP negotiation semantics for media pause, hold/resume, ICE restarts and voice/video call up/downgrading.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CallRejectContent(    @Json(name = "call_id") val callId: String,     @Json(name = "party_id") val partyId: String? = null,     @Json(name = "version") val version: String?,     @Json(name = "reason") val reason: EndCallReason? = null) : CallSignalingContent

Sent by either party to signal their termination of the call. This can be sent either once the call has been established or before to abort the call.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CallReplacesContent(    @Json(name = "call_id") val callId: String,     @Json(name = "party_id") val partyId: String? = null,     @Json(name = "replacement_id") val replacementId: String? = null,     @Json(name = "target_room") val targetRoomId: String? = null,     @Json(name = "target_user") val targetUser: CallReplacesContent.TargetUser? = null,     @Json(name = "create_call") val createCall: String? = null,     @Json(name = "await_call") val awaitCall: String? = null,     @Json(name = "version") val version: String?) : CallSignalingContent

This event is sent to signal the intent of a participant in a call to replace the call with another, such that the other participant ends up in a call with a new user.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CallSelectAnswerContent(    @Json(name = "call_id") val callId: String,     @Json(name = "party_id") val partyId: String? = null,     @Json(name = "selected_party_id") val selectedPartyId: String? = null,     @Json(name = "version") val version: String?) : CallSignalingContent

This event is sent by the callee when they wish to answer the call.

Link copied to clipboard
interface CallSignalingContent
Link copied to clipboard
@JsonClass(generateAdapter = false)
enum EndCallReason : Enum<EndCallReason>
Link copied to clipboard
@JsonClass(generateAdapter = false)
enum SdpType : Enum<SdpType>

Functions

Link copied to clipboard
fun CallCapabilities?.supportCallTransfer(): Boolean