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