Resolved credentials + media URL + the native module specifier.
The native-module loader (defaults to the lazy specifier loader).
Answers an inbound call already delivered by the answer webhook: loads the native module, accepts the call's WebSocket media leg, binds the UUID, and (re-)attaches any buffered handlers.
The inbound call UUID from the webhook.
Places an outbound call: loads the native module, constructs a client with the resolved Voice credentials, places the call (opening its WebSocket media leg), binds the UUID, and (re-)attaches any buffered handlers. Brings BOTH hearing and the agent's voice online.
Destination number to dial (E.164 recommended).
The agent's caller-id / DID the call originates from.
Optionalargs: Record<string, unknown>Provider-specific dial options.
The placed call's UUID.
Hangs up the call via the native client and clears the active UUID. Tolerant of teardown errors.
The call UUID to end.
Registers the inbound-audio handler (what the agent hears). Buffered until the call exists, then attached; if the call is already live it attaches immediately.
Invoked with each inbound PCM audio frame.
Registers the call-ended handler. Buffered until the call exists, then attached.
Invoked when the call ends (remote hangup / carrier drop / WebSocket close).
Registers the inbound-DTMF handler. Buffered until the call exists, then attached.
Invoked with each received DTMF digit string.
Sends one raw PCM frame as the agent's outbound voice — the agent's real voice onto the phone call, via the native WebSocket media send path. No-ops (without throwing) before the call exists so an early model frame never crashes the session.
The PCM audio bytes to speak onto the call.
Sends DTMF digits on the live call via the native client. No-ops (without throwing) before the call exists.
The DTMF digit string to send (e.g. '1234#').
Transfers the live call to another party via the native client.
The call UUID to transfer.
The transfer destination.
A real, two-way ITelephonyCallSdk over the native Vonage Voice API + WebSocket media.
Gives the agent both hearing (inbound WebSocket media → seam audio frames) and a voice (sendAudioFrame → the native WebSocket media send path), plus working DTMF send/receive, call transfer, and hangup. Construct via BindVonageNativeCall (the factory the bridge's
SetSdkFactorywants), not directly, so config resolution + the lazy loader wire consistently.The adapter is lazy: the native client is created and the call placed/answered at dial / answer. Handlers registered before the call exists (
onAudioFrame,onDtmf,onCallEnded) are buffered and (re-)attached to the native client once the call's UUID is known — mirroring VonageCallSdk.