Skip to main content

@dialstack/sdk-dev / webrtc/src / Ringback

Interface: Ringback

Defined in: sdk/webrtc/src/ringback.ts:38

Outbound ringback contract the call core drives. The core never guards the call site, so implementations must be idempotent and no-op silently when their audio backend is unavailable. Web is RingbackTone (WebAudio); React Native supplies its own (InCallManager-backed) via PhoneOptions.ringback, because WebAudio's AudioContext doesn't exist there.

Properties

isPlaying

TypeScript
readonly isPlaying: boolean;

Defined in: sdk/webrtc/src/ringback.ts:39

Methods

setSinkId()?

TypeScript
optional setSinkId(deviceId): void;

Defined in: sdk/webrtc/src/ringback.ts:51

Route the tone to a specific output device, or null for the OS default.

OPTIONAL: an implementation whose backend has no per-device routing simply omits it (React Native routes audio through InCallManager, not per-device), and the core calls it as ringback.setSinkId?.(id) so an omission is a no-op rather than a crash. Like start/stop, an implementation that has it must no-op instead of throwing when its backend can't honor the request.

Parameters

deviceId

string | null

Returns

void


start()

TypeScript
start(): void;

Defined in: sdk/webrtc/src/ringback.ts:40

Returns

void


stop()

TypeScript
stop(): void;

Defined in: sdk/webrtc/src/ringback.ts:41

Returns

void