social.colibri.voice.signal

colibri.social

Documentation

Opens a WebSocket to the community hub AppView's embedded voice SFU (mediasoup) for a single voice channel. Bidirectional signaling: the client sends transport/produce/consume requests and the server replies and pushes producer and active-speaker events. Media itself flows over WebRTC (SRTP), not this socket. Requires service auth (aud = the community hub AppView's did:web, lxm = social.colibri.voice.signal), carried via the Sec-WebSocket-Protocol subprotocol as with subscribeEvents.

main subscription

Opens a WebSocket to the community hub AppView's embedded voice SFU (mediasoup) for a single voice channel. Bidirectional signaling: the client sends transport/produce/consume requests and the server replies and pushes producer and active-speaker events. Media itself flows over WebRTC (SRTP), not this socket. Requires service auth (aud = the community hub AppView's did:web, lxm = social.colibri.voice.signal), carried via the Sec-WebSocket-Protocol subprotocol as with subscribeEvents.

Parameters

channel stringat-uri Required

AT-URI of the voice channel to join.

Message Types

Errors

AuthRequired Missing, malformed, or unverifiable service auth.
Forbidden The caller lacks the permission this method requires.
SfuError The SFU could not create the channel router or a transport.
View raw schema
{
  "type": "subscription",
  "errors": [
    {
      "name": "AuthRequired",
      "description": "Missing, malformed, or unverifiable service auth."
    },
    {
      "name": "Forbidden",
      "description": "The caller lacks the permission this method requires."
    },
    {
      "name": "SfuError",
      "description": "The SFU could not create the channel router or a transport."
    }
  ],
  "message": {
    "schema": {
      "refs": [
        "lex:social.colibri.voice.signal#signalMessage"
      ],
      "type": "union"
    }
  },
  "parameters": {
    "type": "params",
    "required": [
      "channel"
    ],
    "properties": {
      "channel": {
        "type": "string",
        "format": "at-uri",
        "description": "AT-URI of the voice channel to join."
      }
    }
  },
  "description": "Opens a WebSocket to the community hub AppView's embedded voice SFU (mediasoup) for a single voice channel. Bidirectional signaling: the client sends transport/produce/consume requests and the server replies and pushes producer and active-speaker events. Media itself flows over WebRTC (SRTP), not this socket. Requires service auth (aud = the community hub AppView's did:web, lxm = social.colibri.voice.signal), carried via the Sec-WebSocket-Protocol subprotocol as with subscribeEvents."
}
signalMessage object

A mediasoup signaling frame. `action` discriminates the frame; the remaining fields carry opaque mediasoup structures (transport options, RTP parameters/capabilities, DTLS parameters) that the client's mediasoup-client library interprets. The AppView does not validate the nested payloads.

Properties

action string Required

No description available.

Known values: init, connectProducerTransport, connectedProducerTransport, produce, produced, connectConsumerTransport, connectedConsumerTransport, consume, consumed, consumerResume, producerAdded, producerRemoved, activeSpeakers, serverMuted, serverDeafened, kicked, superseded, error
View raw schema
{
  "type": "object",
  "required": [
    "action"
  ],
  "properties": {
    "action": {
      "type": "string",
      "knownValues": [
        "init",
        "connectProducerTransport",
        "connectedProducerTransport",
        "produce",
        "produced",
        "connectConsumerTransport",
        "connectedConsumerTransport",
        "consume",
        "consumed",
        "consumerResume",
        "producerAdded",
        "producerRemoved",
        "activeSpeakers",
        "serverMuted",
        "serverDeafened",
        "kicked",
        "superseded",
        "error"
      ]
    }
  },
  "description": "A mediasoup signaling frame. `action` discriminates the frame; the remaining fields carry opaque mediasoup structures (transport options, RTP parameters/capabilities, DTLS parameters) that the client's mediasoup-client library interprets. The AppView does not validate the nested payloads."
}

Lexicon Garden

@