social.colibri.beta.voice.defs

colibri.social

{
  "id": "social.colibri.beta.voice.defs",
  "defs": {
    "ack": {
      "type": "object",
      "required": [],
      "properties": {},
      "description": "Answers a heartbeat."
    },
    "join": {
      "type": "object",
      "required": [
        "channel"
      ],
      "properties": {
        "channel": {
          "type": "string",
          "format": "space-ref",
          "description": "The voice channel to join."
        }
      },
      "description": "Joins a voice channel. A connection must join before sending any other frame, and joining a second channel leaves the first."
    },
    "error": {
      "type": "object",
      "required": [
        "error"
      ],
      "properties": {
        "error": {
          "type": "string",
          "description": "Error name.",
          "knownValues": [
            "InvalidFrame",
            "NotJoined",
            "ChannelNotFound",
            "NotVoiceChannel",
            "Forbidden",
            "NotFound"
          ]
        },
        "message": {
          "type": "string",
          "description": "Human-readable detail."
        }
      },
      "description": "Something the client sent could not be acted on."
    },
    "leave": {
      "type": "object",
      "required": [],
      "properties": {},
      "description": "Leaves the voice channel this connection is joined to."
    },
    "joined": {
      "type": "object",
      "required": [
        "channel"
      ],
      "properties": {
        "channel": {
          "type": "string",
          "format": "space-ref",
          "description": "The voice channel now joined."
        }
      },
      "description": "Confirms this connection has joined a voice channel."
    },
    "consume": {
      "type": "object",
      "required": [
        "transportId",
        "producerId",
        "rtpCapabilities"
      ],
      "properties": {
        "producerId": {
          "type": "string",
          "description": "The producer to consume."
        },
        "transportId": {
          "type": "string",
          "description": "The receive transport to consume on."
        },
        "rtpCapabilities": {
          "type": "unknown",
          "description": "This connection's opaque mediasoup RTP capabilities blob."
        }
      },
      "description": "Starts consuming another peer's producer on a receive transport this connection created."
    },
    "produce": {
      "type": "object",
      "required": [
        "transportId",
        "kind",
        "rtpParameters",
        "source"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "description": "The media kind.",
          "knownValues": [
            "audio",
            "video"
          ]
        },
        "source": {
          "type": "string",
          "description": "What this producer captures.",
          "knownValues": [
            "microphone",
            "camera",
            "screen"
          ]
        },
        "transportId": {
          "type": "string",
          "description": "The send transport to produce on."
        },
        "rtpParameters": {
          "type": "unknown",
          "description": "The opaque mediasoup RTP parameters blob."
        }
      },
      "description": "Starts producing media on a send transport this connection created."
    },
    "peerLeft": {
      "type": "object",
      "required": [
        "did"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "Who left."
        }
      },
      "description": "A peer left the voice channel this connection is in."
    },
    "heartbeat": {
      "type": "object",
      "required": [],
      "properties": {},
      "description": "Keeps the connection alive. The server answers with an ack."
    },
    "peerJoined": {
      "type": "object",
      "required": [
        "did"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "Who joined."
        }
      },
      "description": "Another peer joined the voice channel this connection is in."
    },
    "producerInfo": {
      "type": "object",
      "required": [
        "producerId",
        "did",
        "kind"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "Who is producing this media."
        },
        "kind": {
          "type": "string",
          "description": "The media kind.",
          "knownValues": [
            "audio",
            "video"
          ]
        },
        "paused": {
          "type": "boolean",
          "description": "Whether the producer is currently paused."
        },
        "source": {
          "type": "string",
          "description": "What the producer captures.",
          "knownValues": [
            "microphone",
            "camera",
            "screen"
          ]
        },
        "producerId": {
          "type": "string",
          "description": "The producer's identifier."
        }
      },
      "description": "A media producer available to consume."
    },
    "setSelfState": {
      "type": "object",
      "required": [],
      "properties": {
        "muted": {
          "type": "boolean",
          "description": "Whether the microphone is muted."
        },
        "deafened": {
          "type": "boolean",
          "description": "Whether incoming audio is silenced."
        }
      },
      "description": "Updates this connection's own mute or deafen state. An absent field leaves the current value unchanged."
    },
    "closeProducer": {
      "type": "object",
      "required": [
        "producerId"
      ],
      "properties": {
        "producerId": {
          "type": "string",
          "description": "The producer to close."
        }
      },
      "description": "Closes a producer this connection owns."
    },
    "resumeConsumer": {
      "type": "object",
      "required": [
        "consumerId"
      ],
      "properties": {
        "consumerId": {
          "type": "string",
          "description": "The consumer to resume."
        }
      },
      "description": "Resumes a consumer this connection created, which is created paused by default."
    },
    "speakingUpdate": {
      "type": "object",
      "required": [
        "did",
        "speaking"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "Who this update is about."
        },
        "level": {
          "type": "integer",
          "description": "An audio level in dBFS."
        },
        "speaking": {
          "type": "boolean",
          "description": "Whether they are currently speaking."
        }
      },
      "description": "A change in whether someone is currently speaking."
    },
    "consumerOptions": {
      "type": "object",
      "required": [
        "id",
        "producerId",
        "kind",
        "rtpParameters"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The consumer's identifier."
        },
        "kind": {
          "type": "string",
          "description": "The media kind.",
          "knownValues": [
            "audio",
            "video"
          ]
        },
        "producerId": {
          "type": "string",
          "description": "The producer being consumed."
        },
        "rtpParameters": {
          "type": "unknown",
          "description": "The opaque mediasoup RTP parameters blob."
        }
      },
      "description": "Parameters for consuming one producer."
    },
    "createTransport": {
      "type": "object",
      "required": [
        "direction"
      ],
      "properties": {
        "direction": {
          "type": "string",
          "description": "Whether this transport will send or receive media.",
          "knownValues": [
            "send",
            "recv"
          ]
        }
      },
      "description": "Requests a new WebRTC transport for the joined channel."
    },
    "producerRemoved": {
      "type": "object",
      "required": [
        "producerId",
        "did"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "Whose producer this was."
        },
        "producerId": {
          "type": "string",
          "description": "The producer that closed."
        }
      },
      "description": "A peer's producer closed."
    },
    "rtpCapabilities": {
      "type": "object",
      "properties": {
        "payload": {
          "type": "unknown",
          "description": "The opaque mediasoup capability blob."
        }
      },
      "description": "The RTP capabilities a WebRTC endpoint supports."
    },
    "connectTransport": {
      "type": "object",
      "required": [
        "transportId",
        "dtlsParameters"
      ],
      "properties": {
        "transportId": {
          "type": "string",
          "description": "The transport to connect."
        },
        "dtlsParameters": {
          "type": "unknown",
          "description": "The opaque mediasoup DTLS parameters blob."
        }
      },
      "description": "Completes DTLS negotiation for a transport this connection created."
    },
    "transportOptions": {
      "type": "object",
      "required": [
        "id",
        "iceParameters",
        "iceCandidates",
        "dtlsParameters"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The transport's identifier."
        },
        "direction": {
          "type": "string",
          "description": "Which side of the call this transport carries.",
          "knownValues": [
            "send",
            "recv"
          ]
        },
        "iceCandidates": {
          "type": "array",
          "items": {
            "type": "unknown",
            "description": "One opaque mediasoup ICE candidate."
          },
          "description": "The mediasoup ICE candidates, one opaque blob per candidate. This is an array, not a single object, because that is what a WebRTC transport hands back."
        },
        "iceParameters": {
          "type": "unknown",
          "description": "The opaque mediasoup ICE parameters blob."
        },
        "dtlsParameters": {
          "type": "unknown",
          "description": "The opaque mediasoup DTLS parameters blob."
        }
      },
      "description": "Parameters for creating one side of a WebRTC transport."
    },
    "moderationChanged": {
      "type": "object",
      "required": [
        "did",
        "muted",
        "deafened"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "Whose state changed."
        },
        "muted": {
          "type": "boolean",
          "description": "Whether the microphone is muted, for any reason."
        },
        "deafened": {
          "type": "boolean",
          "description": "Whether incoming audio is silenced, for any reason."
        },
        "serverMuted": {
          "type": "boolean",
          "description": "Whether a moderator muted them. When this is true the peer cannot unmute themselves."
        },
        "serverDeafened": {
          "type": "boolean",
          "description": "Whether a moderator deafened them. When this is true the peer cannot undeafen themselves."
        }
      },
      "description": "A peer's mute or deafen state changed, whether they did it themselves or a moderator did it to them."
    },
    "getRtpCapabilities": {
      "type": "object",
      "required": [],
      "properties": {},
      "description": "Requests the router's RTP capabilities for the joined channel."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against social.colibri.beta.voice.defs

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:mprdjqjluoswa7awzggaggj3
CID
bafyreif6mlqemtqvcosmcajoagurbyg67u2unn5y7xwc6qw2rwm5n327na
Indexed At
2026-08-23 17:25 UTC
AT-URI
at://did:plc:mprdjqjluoswa7awzggaggj3/com.atproto.lexicon.schema/social.colibri.beta.voice.defs

Version History (3 versions)

Lexicon Garden

@