Variable SDPReconstructorConst

SDPReconstructor: {
    buildCandidateString: ((candidate: QWBPCandidate) => Promise<string>);
    reconstructSDP: ((fingerprint: Uint8Array, isOffer: boolean, credentials?: IceCredentials) => Promise<string>);
    validateSDP: ((sdp: string) => boolean);
} = ...

Type declaration

  • buildCandidateString: ((candidate: QWBPCandidate) => Promise<string>)
      • (candidate): Promise<string>
      • Builds a candidate string for use with RTCPeerConnection.addIceCandidate()

        Parameters

        Returns Promise<string>

        Candidate string (without "a=" prefix)

  • reconstructSDP: ((fingerprint: Uint8Array, isOffer: boolean, credentials?: IceCredentials) => Promise<string>)
      • (fingerprint, isOffer, credentials?): Promise<string>
      • Reconstructs a minimal SDP from QWBP data (without candidates)

        Candidates should be added separately via RTCPeerConnection.addIceCandidate() to avoid browser-specific SDP parsing issues with IPv6, mDNS, etc.

        Parameters

        • fingerprint: Uint8Array

          32-byte DTLS fingerprint

        • isOffer: boolean

          Whether this is an offer (true) or answer (false)

        • Optionalcredentials: IceCredentials

          Optional pre-computed credentials (if not provided, will derive)

        Returns Promise<string>

        Reconstructed SDP string (without candidates)

        const sdp = await reconstructSDP(remoteFingerprint, true);
        await pc.setRemoteDescription({ type: 'offer', sdp });
        // Then add candidates via addIceCandidate()
  • validateSDP: ((sdp: string) => boolean)
      • (sdp): boolean
      • Validates that an SDP can be used for QWBP

        Parameters

        • sdp: string

          SDP string to validate

        Returns boolean

        true if SDP contains required fields