Accepts the media stream for an inbound telephony session already delivered by the subscription notification (answers the session's party).
The inbound telephony session id from the notification.
Places an outbound call via the RingCentral Voice / Call Control API (RingOut or
POST /telephony/sessions), opening a telephony session whose media leg streams to the agent.
Destination number (E.164).
The agent's RingCentral DID / caller-id the call originates from.
Optionalargs: Record<string, unknown>Provider-specific options (account/extension id, subscription/webhook URL, recording flags, …).
The created telephony session id.
Ends the call (Call Control DELETE .../telephony/sessions/{id} / party drop).
The telephony session id to end.
Registers the inbound DTMF callback (DTMF events on the session's media/event stream).
The telephony session id.
Invoked with each received DTMF digit string.
Registers the call-ended callback (telephony-session Disconnected/Finished event or stream stop).
The telephony session id.
Invoked when the call ends.
Registers the inbound media-stream audio callback for the session (what the agent hears).
The telephony session id whose inbound stream to subscribe to.
Invoked with each inbound PCM audio frame.
Sends DTMF digits on the call (Call Control party play / dtmf action).
The telephony session id.
The DTMF digit string.
Pushes one outbound audio payload onto the session's media stream (the agent's voice).
The telephony session id whose stream to write to.
The audio bytes (the adapter encodes to the media-stream PCM frame).
Transfers the live call (Call Control party transfer — supervise/transfer to number or extension).
The telephony session id to transfer.
The transfer destination.
The minimal RingCentral client surface RingCentralCallSdk drives. A production deployment implements this over the real
@ringcentral/sdk(Call Control REST) + a media-stream handler; this package never imports@ringcentral/sdkso it builds and tests with no network. When no bindings are supplied, RingCentralCallSdk throws the explicit "bind the real RingCentral client" error from every operation.The shapes are intentionally tiny and provider-neutral at the value level (strings / byte buffers) so the RingCentral SDK's types do not leak into the bridge package.