Variable QWBPEncoderConst

QWBPEncoder: {
    encode: ((fingerprint: Uint8Array, candidates: QWBPCandidate[]) => Uint8Array);
    extractCandidatesFromSDP: ((sdp: string, maxCandidates?: number) => QWBPCandidate[]);
} = ...

Type declaration

  • encode: ((fingerprint: Uint8Array, candidates: QWBPCandidate[]) => Uint8Array)
      • (fingerprint, candidates): Uint8Array
      • Encodes a QWBP packet

        Parameters

        • fingerprint: Uint8Array

          32-byte DTLS fingerprint

        • candidates: QWBPCandidate[]

          Array of ICE candidates to encode

        Returns Uint8Array

        Encoded binary packet

        QWBPEncodeError if fingerprint is not 32 bytes or IP addresses are invalid

        const packet = QWBPEncoder.encode(fingerprint, [
        { ip: '192.168.1.5', port: 54321, type: 'host', protocol: 'udp' },
        { ip: '203.0.113.50', port: 54322, type: 'srflx', protocol: 'udp' },
        ]);
  • extractCandidatesFromSDP: ((sdp: string, maxCandidates?: number) => QWBPCandidate[])
      • (sdp, maxCandidates?): QWBPCandidate[]
      • Extracts and encodes candidates from SDP

        Uses smart selection to ensure NAT traversal capability:

        • Always includes at least one srflx candidate if available
        • Fills remaining slots with host candidates (prioritizing IPv4)

        Parameters

        • sdp: string

          SDP string containing candidate lines

        • maxCandidates: number = 4

          Maximum number of candidates to extract (default: 4)

        Returns QWBPCandidate[]

        Array of QWBP candidates