Skip to main content

Class: TelnyxVoipClient

Defined in: telnyx-voip-client.ts:30

The main public interface for the react-voice-commons module.

This class serves as the Façade for the entire module, providing a simplified API that completely hides the underlying complexity. It is the sole entry point for developers using the react-voice-commons package.

The TelnyxVoipClient is designed to be state-management agnostic, exposing all observable state via RxJS streams. This allows developers to integrate it into their chosen state management solution naturally.

Constructors

Constructor

new TelnyxVoipClient(options): TelnyxVoipClient

Defined in: telnyx-voip-client.ts:41

Creates a new TelnyxVoipClient instance.

Parameters

options

TelnyxVoipClientOptions = {}

Configuration options for the client

Returns

TelnyxVoipClient

Accessors

connectionState$

Get Signature

get connectionState$(): Observable<TelnyxConnectionState>

Defined in: telnyx-voip-client.ts:74

Stream of connection state changes.

Emits the current status of the connection to the Telnyx backend. Values include connecting, connected, disconnected, and error states. Listen to this to show connection indicators in your UI.

Returns

Observable<TelnyxConnectionState>


calls$

Get Signature

get calls$(): Observable<Call[]>

Defined in: telnyx-voip-client.ts:85

Stream of all current calls.

Emits a list of all current Call objects. Use this for applications that need to support multiple simultaneous calls (e.g., call waiting, conference calls).

Returns

Observable<Call[]>


activeCall$

Get Signature

get activeCall$(): Observable<Call>

Defined in: telnyx-voip-client.ts:96

Stream of the currently active call.

A convenience stream that emits the currently active Call object. It emits null when no call is in progress. Ideal for applications that only handle a single call at a time.

Returns

Observable<Call>


currentConnectionState

Get Signature

get currentConnectionState(): TelnyxConnectionState

Defined in: telnyx-voip-client.ts:105

Current connection state (synchronous access).

Returns

TelnyxConnectionState


currentCalls

Get Signature

get currentCalls(): Call[]

Defined in: telnyx-voip-client.ts:112

Current list of calls (synchronous access).

Returns

Call[]


currentActiveCall

Get Signature

get currentActiveCall(): Call

Defined in: telnyx-voip-client.ts:119

Current active call (synchronous access).

Returns

Call


sessionId

Get Signature

get sessionId(): string

Defined in: telnyx-voip-client.ts:126

Current session ID (UUID) for this connection.

Returns

string


options

Get Signature

get options(): Required<TelnyxVoipClientOptions>

Defined in: telnyx-voip-client.ts:133

Configuration options for this client instance.

Returns

Required<TelnyxVoipClientOptions>

Methods

login()

login(config): Promise<void>

Defined in: telnyx-voip-client.ts:148

Connects to the Telnyx platform using credential authentication.

Parameters

config

CredentialConfig

The credential configuration containing SIP username and password

Returns

Promise<void>

A Promise that completes when the connection attempt is initiated

Listen to connectionState$ to monitor the actual connection status. Credentials are automatically stored for future reconnection.


loginWithToken()

loginWithToken(config): Promise<void>

Defined in: telnyx-voip-client.ts:175

Connects to the Telnyx platform using token authentication.

Parameters

config

TokenConfig

The token configuration containing the authentication token

Returns

Promise<void>

A Promise that completes when the connection attempt is initiated

Listen to connectionState$ to monitor the actual connection status. Token is automatically stored for future reconnection.


logout()

logout(): Promise<void>

Defined in: telnyx-voip-client.ts:199

Disconnects from the Telnyx platform.

This method terminates the connection, ends any active calls, and cleans up all related resources.

Returns

Promise<void>


loginFromStoredConfig()

loginFromStoredConfig(): Promise<boolean>

Defined in: telnyx-voip-client.ts:219

Attempts to reconnect using previously stored configuration.

This method is used for auto-reconnection scenarios where the app comes back to the foreground and needs to restore the connection.

Returns

Promise<boolean>

Promise - true if reconnection was successful, false otherwise


newCall()

newCall(destination, callerName?, callerNumber?, customHeaders?): Promise<Call>

Defined in: telnyx-voip-client.ts:296

Initiates a new outgoing call.

Parameters

destination

string

The destination number or SIP URI to call

callerName?

string

Optional caller name to display

callerNumber?

string

Optional caller ID number

customHeaders?

Record<string, string>

Optional custom headers to include with the call

Returns

Promise<Call>

A Promise that completes with the Call object once the invitation has been sent

The call's state can be monitored through the returned Call object's streams.


handlePushNotification()

handlePushNotification(payload): Promise<void>

Defined in: telnyx-voip-client.ts:335

Handle push notification payload.

This is the unified entry point for all push notifications. It intelligently determines whether to show a new incoming call UI or to process an already actioned (accepted/declined) call upon app launch.

Parameters

payload

Record<string, any>

The push notification payload

Returns

Promise<void>


disablePushNotifications()

disablePushNotifications(): void

Defined in: telnyx-voip-client.ts:371

Disables push notifications for the current session.

This method sends a request to the Telnyx backend to disable push notifications for the current registered device/session.

Returns

void


setCallConnecting()

setCallConnecting(callId): void

Defined in: telnyx-voip-client.ts:388

Internal

Set a call to connecting state (used for push notification calls when answered via CallKit)

Parameters

callId

string

The ID of the call to set to connecting state

Returns

void


findCallByTelnyxCall()

findCallByTelnyxCall(telnyxCall): Call

Defined in: telnyx-voip-client.ts:397

Internal

Find a call by its underlying Telnyx call object

Parameters

telnyxCall

any

The Telnyx call object to find

Returns

Call


queueAnswerFromCallKit()

queueAnswerFromCallKit(customHeaders): void

Defined in: telnyx-voip-client.ts:406

Queue an answer action for when the call invite arrives (for CallKit integration) This should be called when the user answers from CallKit before the socket connection is established

Parameters

customHeaders

Record<string, string> = {}

Optional custom headers to include with the answer

Returns

void


queueEndFromCallKit()

queueEndFromCallKit(): void

Defined in: telnyx-voip-client.ts:427

Queue an end action for when the call invite arrives (for CallKit integration) This should be called when the user ends from CallKit before the socket connection is established

Returns

void


dispose()

dispose(): void

Defined in: telnyx-voip-client.ts:453

Dispose of the client and clean up all resources.

After calling this method, the client instance should not be used anymore. This is particularly important for background clients that should be disposed after handling push notifications.

Returns

void