Skip to main content
PROTOCOL

TxClientDelegate

The TxClientDelegate protocol defines methods for receiving events and updates from a TxClient instance. Implement this protocol to handle various states and events in your WebRTC-enabled application, including connection status, call state changes, and push notifications.

Usage Example:

Methods

onSocketConnected()

Called when the WebSocket connection to Telnyx’s backend is established. This indicates a successful network connection, but the client may not be fully ready yet. Wait for onClientReady before initiating calls.

onSocketDisconnected()

Called when the WebSocket connection to Telnyx’s backend is lost or closed. The client will automatically attempt to reconnect unless explicitly disconnected.

onClientError(error:)

Called when an error occurs in the TxClient.
  • Parameter error: The error that occurred. Check the error type and message for details. Common errors include authentication failures and network connectivity issues.

Parameters

onClientReady()

Called when the client has successfully connected AND authenticated. The client is now ready to make and receive calls. This is the appropriate time to enable UI elements for calling functionality.

onPushDisabled(success:message:)

Called when push notification status changes for the current user.
  • Parameters:
    • success: Whether the push notification operation succeeded
    • message: Descriptive message about the operation result

Parameters

onSessionUpdated(sessionId:)

Called when the client’s session is updated, typically after a reconnection.
  • Parameter sessionId: The new session identifier for the connection. Store this ID if you need to track or debug connection issues.

Parameters

onCallStateUpdated(callState:callId:)

Called whenever a call’s state changes (e.g., ringing, answered, ended).
  • Parameters:
    • callState: The new state of the call (NEW, CONNECTING, RINGING, ACTIVE, HELD, DONE)
    • callId: The unique identifier of the affected call Use this to update your UI to reflect the current call state.

Parameters

onIncomingCall(call:)

Called when a new incoming call is received.
  • Parameter call: The Call object representing the incoming call. You can use this object to answer or reject the call.

Parameters

onRemoteCallEnded(callId:reason:)

Called when a remote party ends the call.
  • Parameters:
    • callId: The unique identifier of the ended call.
    • reason: Optional termination reason containing details about why the call ended. Use this to clean up any call-related UI elements or state and potentially display error messages.

Parameters

onPushCall(call:)

Called when a push notification triggers an incoming call.
  • Parameter call: The Call object created from the push notification data. This is specifically for handling calls that arrive via push notifications when the app is in the background.

Parameters