type: object
description: |-
  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.
allOf:
  - $ref: core-event-schema/room_event.yaml
properties:
  content:
    type: object
    allOf:
      - $ref: core-event-schema/call_event.yaml
    properties:
      candidates:
        type: array
        description: Array of objects describing the candidates.
        items:
          type: object
          title: Candidate
          properties:
            sdpMid:
              type: string
              description: |-
                The SDP media type this candidate is intended for.

                At least one of `sdpMid` or `sdpMLineIndex` is required, unless
                this an end-of-candidates candidate.
            sdpMLineIndex:
              type: number
              description: |-
                The index of the SDP 'm' line this candidate is intended for.

                At least one of `sdpMid` or `sdpMLineIndex` is required, unless
                this an end-of-candidates candidate.
            candidate:
              type: string
              description: |-
                The SDP 'a' line of the candidate.

                If this is an [end-of-candidates](/client-server-api/#end-of-candidates)
                candidate, this is the empty string.
          required:
            - candidate
    required:
      - candidates
  type:
    type: string
    enum:
      - m.call.candidates