Skip to main content

WebRTC iOS TxClientDelegate

PROTOCOL

TxClientDelegate

public protocol TxClientDelegate: AnyObject

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:

class CallHandler: TxClientDelegate {
func onSocketConnected() {
print("Connected to Telnyx backend")
}

func onIncomingCall(call: Call) {
// Handle incoming call
call.answer()
}

// Implement other required methods...
}

Methods

onSocketConnected()

func 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()

func 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:)

func onClientError(error: 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

NameDescription
errorThe error that occurred. Check the error type and message for details. Common errors include authentication failures and network connectivity issues.

onClientReady()

func 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:)

func onPushDisabled(success: Bool, message: String)

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

NameDescription
successWhether the push notification operation succeeded
messageDescriptive message about the operation result

onSessionUpdated(sessionId:)

func onSessionUpdated(sessionId: String)

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

NameDescription
sessionIdThe new session identifier for the connection. Store this ID if you need to track or debug connection issues.

onCallStateUpdated(callState:callId:)

func onCallStateUpdated(callState: CallState, callId: UUID)

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

NameDescription
callStateThe new state of the call (NEW, CONNECTING, RINGING, ACTIVE, HELD, DONE)
callIdThe unique identifier of the affected call Use this to update your UI to reflect the current call state.

onIncomingCall(call:)

func onIncomingCall(call: 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

NameDescription
callThe Call object representing the incoming call. You can use this object to answer or reject the call.

onRemoteCallEnded(callId:)

func onRemoteCallEnded(callId: UUID)

Called when a remote party ends the call.

  • Parameter callId: The unique identifier of the ended call. Use this to clean up any call-related UI elements or state.

Parameters

NameDescription
callIdThe unique identifier of the ended call. Use this to clean up any call-related UI elements or state.

onPushCall(call:)

func onPushCall(call: 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

NameDescription
callThe 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.