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...
}
-
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.Declaration
Swift
func onSocketConnected()
-
Called when the WebSocket connection to Telnyx’s backend is lost or closed. The client will automatically attempt to reconnect unless explicitly disconnected.
Declaration
Swift
func onSocketDisconnected()
-
Called when an error occurs in the TxClient.
Declaration
Swift
func onClientError(error: Error)
Parameters
error
The error that occurred. Check the error type and message for details. Common errors include authentication failures and network connectivity issues.
-
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.
Declaration
Swift
func onClientReady()
-
Called when push notification status changes for the current user.
Declaration
Swift
func onPushDisabled(success: Bool, message: String)
Parameters
success
Whether the push notification operation succeeded
message
Descriptive message about the operation result
-
Called when the client’s session is updated, typically after a reconnection.
Declaration
Swift
func onSessionUpdated(sessionId: String)
Parameters
sessionId
The new session identifier for the connection. Store this ID if you need to track or debug connection issues.
-
Called whenever a call’s state changes (e.g., ringing, answered, ended).
Declaration
Swift
func onCallStateUpdated(callState: CallState, callId: UUID)
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.
-
Called when a new incoming call is received.
Declaration
Swift
func onIncomingCall(call: Call)
Parameters
call
The Call object representing the incoming call. You can use this object to answer or reject the call.
-
Called when a remote party ends the call.
Declaration
Swift
func onRemoteCallEnded(callId: UUID)
Parameters
callId
The unique identifier of the ended call. Use this to clean up any call-related UI elements or state.
-
Called when a push notification triggers an incoming call.
Declaration
Swift
func onPushCall(call: Call)
Parameters
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.