Skip to content

iOS React Native: Can two WebRTC stacks (Wazo & Jitsi) share media?ย #55076

@priyanshi-vindaloo

Description

@priyanshi-vindaloo

Description

Hi everyone,

Iโ€™m building a React Native iOS app where Iโ€™m integrating Wazo (native WebRTC) and Jitsi (WebView / WebRTC).

Use case:

Wazo is used to maintain a background call session (mainly signaling + audio keep-alive).

Jitsi is used in the foreground for video calls.

Problem:

When Jitsi starts, it takes control of the microphone and camera.

The Wazo call disconnects after ~5 minutes (likely due to media / audio session conflict).

Even if Wazo audio/video is muted or tracks are disabled, the session still drops.

My questions:

Is it officially supported or recommended to run two WebRTC stacks (Wazo + Jitsi) simultaneously on iOS?

Can Wazo stay connected without active audio/video tracks while Jitsi uses mic/camera?

Is there a way to release Wazo media streams temporarily (but keep signaling alive) while Jitsi is loading or active?

Are there any AVAudioSession / background mode limitations on iOS that make this impossible by design?

If this is not supported, what is the recommended architecture (single WebRTC pipeline, switching media ownership, etc.)?

Environment:

iOS (React Native)

Wazo SDK (native WebRTC)

Jitsi Meet (WebView)

Any guidance, documentation, or real-world experience would be greatly appreciated.

Thanks in advance ๐Ÿ™ @saghul @mikehardy

Steps to reproduce

๐Ÿ” Steps to Reproduce the Issue

Launch the iOS application built with React Native.

Ensure the app has camera and microphone permissions granted.

Start a Wazo WebRTC call session:

Wazo initializes WebRTC

Audio/video tracks are attached

Call is active and stable

While the Wazo call is still active, initiate a Jitsi Meet video call within the same app:

Jitsi is loaded via WebView

Jitsi initializes its own WebRTC stack

Observe that Jitsi acquires camera and microphone access successfully.

Keep both sessions running simultaneously for a few minutes (~3โ€“5 minutes).

Monitor the Wazo session state.

React Native Version

0.79.5

Output of npx @react-native-community/cli info

System:
  OS: macOS 26.0.1
  CPU: (10) arm64 Apple M4
  Memory: 136.47 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 22.18.0
    path: ~/.nvm/versions/node/v22.18.0/bin/node
  Yarn: Not Found
  npm:
    version: 11.5.2
    path: ~/Documents/GitHub/ims-requester/imsRequester/node_modules/.bin/npm
  Watchman: Not Found
Managers:
  CocoaPods:
    version: 1.16.2
    path: /opt/homebrew/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 25.0
      - iOS 26.0
      - macOS 26.0
      - tvOS 26.0
      - visionOS 26.0
      - watchOS 26.0
  Android SDK:
    API Levels:
      - "29"
      - "31"
      - "34"
      - "35"
      - "36"
      - "36"
      - "36"
      - "36"
    Build Tools:
      - 35.0.0
      - 35.0.1
      - 36.0.0
      - 36.1.0
    System Images:
      - android-36.1 | Google Play ARM 64 v8a
      - android-36 | Google Play ARM 64 v8a
      - android-36 | Pre-Release 16 KB Page Size Google Play ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2024.3 AI-243.26053.27.2432.13536105
  Xcode:
    version: 26.0.1/17A400
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 21.0.8
    path: /opt/homebrew/opt/openjdk@21/bin/javac
  Ruby:
    version: 3.2.2
    path: /Users/bhaskarmetikel/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 18.0.0
    wanted: 18.0.0
  react:
    installed: 19.0.0
    wanted: 19.0.0
  react-native:
    installed: 0.79.5
    wanted: 0.79.5
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: false
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true

Screenshots and Videos

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    API: ShareDebuggingIssues related to React Native DevTools or legacy JavaScript/Hermes debuggingNeeds: Author FeedbackNeeds: ReproThis issue could be improved with a clear list of steps to reproduce the issue.Platform: iOSiOS applications.Type: Unsupported VersionIssues reported to a version of React Native that is no longer supported

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions