Migrate from Twilio Video to EnableX

Migration Guide from Twilio to EnableX: iOS SDK

iOS SDK

Introduction

This guide is designed to help you transition from your current Twilio Video setup to the EnableX iOS Video SDK documentation. For those starting a new project, we recommend consulting the EnableX Video SDK documentation for guidance. We ensure a smooth transition for all Twilio users looking to switch to a reliable alternative without any hassle. Begin with a free trial and experience the ease of integration firsthand.

Quick Start with EnableX Android Video Sample Applications

Explore a variety of sample applications tailored for different programming environments, including Java and Kotlin. Each sample app is available on GitHub, providing practical examples to kickstart your video calling project.

Video Calling QuickStart documentation - iOS

Step 1: Begin with EnableX

Start Your Free Trial in Minutes

We’ve got you covered with a migration path that feels familiar yet innovative.

  • Sign Up Easily: Go to the EnableX portal and select Try for Free.
  • Quick Registration: Provide your details; name, phone number, company, email and agree to the Terms of Service.
  • Account Verification: Check your email and click the verification link.
Try for Free

Step 2: Set Up Your Video Calling Project

Step 3: Integrate EnableX on the Client Side

Developer's Corner: Build Your Way

For integrating EnableX SDKs into your Android app:

'Socket.IO-Client-Swift', '~> 15.0.0'

Step 4: Start and Join Sessions

Twilio
let connectOptions = ConnectOptions(token: accessToken) { (builder) in 
                    builder.roomName = "existing-room" 
                    }
                    let room = TwilioVideoSDK.connect(options: connectOptions, delegate: self)
Start and join Session with EnableX
  1. 1. Initialize and Join Room
    • Initialize the EnxRtc object.
    var enxRtc = EnxRtc()
  2. 2. Join Room
    • Use enxRtc to join a room with the required token, stream, and room information.
    guard let stream = enxRtc.joinRoom(token, delegate: self,
                                 publishStreamInfo: localStreamInfo, roomInfo: roomInfo, advanceOptions:
                                  nil) else { return }
  3. 3. Publish Stream
    • On the didConnect callback, publish your local stream.
    enxRoom.publish(localStream)
  4. 4. Attach Renderer to Local Stream
    • Attach EnxPlayerView to the local stream.
    localStream.attachRenderer(EnxPlayerView)
  5. 5. Subscribe to Remote Streams
    • Subscribe to remote streams when didAddedStream callback is received.
    enxRoom.subscribe(stream)
  6. 6. Handle Active Talkers
    • Use the Active Talker APIs to manage the display of active talkers.
    func room(_ room: EnxRoom?, didActiveTalkerList Data: [Any]?)
                                func room(_ room: EnxRoom?, didActiveTalkerView view: UIView?)
  7. 7. End or Destroy the Call:
    • Use room.disconnect () or room.destroy () to end the session as needed.

For detailed information on the features and implementation of the EnableX iOS Video SDK, please refer to the EnableX iOS Video SDK Documentation. This resource offers comprehensive insights into the capabilities of the SDK, enabling the development of sophisticated and feature-rich video conferencing solutions. If you have specific feature needs, the documentation offers valuable instructions and support.