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<boolean> - 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