React Native Video SDK "BySelf" disconnection error when connecting with Web SDK - Cross-platform compatibility issue

Issue Summary:
React Native Video SDK client disconnects with “BySelf” reason immediately after joining a session when connecting with a Web SDK client, despite both clients using valid JWT tokens and proper configuration.

Environment Details:

  • React Native Video SDK: v2.2.5 (also tested with v1.12.10)
  • Web SDK: v2.1.10
  • Platform: Android (primary), iOS (not tested yet)
  • React Native: 0.75.4
  • Node.js: v23.11.0

Problem Description:
When a doctor connects using the Web SDK and a patient tries to connect using the React Native Video SDK, the patient immediately disconnects with reason “BySelf” after approximately 700-1000ms of connection time. The doctor remains connected successfully.

Detailed Logs:

Patient (React Native) Logs:
LOG :white_check_mark: Conexión completada exitosamente

LOG :hourglass_not_done: Esperando 5 segundos para estabilización post-conexión…

LOG :end_arrow: EVENTO ON SESSION LEAVE DISPARADO:

LOG - Timestamp: 2025-10-02T00:17:51.830Z

LOG - Reason object completo: { “reason”: “BySelf” }

LOG - Reason type: object

LOG - Reason keys: [“reason”]

LOG - Reason.reason: BySelf

LOG - Reason.currentStatus: undefined

LOG - Is Retrying: false

LOG - Retry Count: 0

LOG - Has Joined Session: false

LOG - Is In Session: false

LOG :magnifying_glass_tilted_left: DIAGNÓSTICO DEL SDK AL DESCONECTARSE:

LOG :stopwatch: Duración de conexión: 746 ms

LOG :police_car_light: ERROR BYSELF DETECTADO - DIAGNÓSTICO ESPECÍFICO:

LOG - Timestamp de desconexión: 2025-10-02T00:17:51.831Z

LOG - Duración de conexión: 746 ms

LOG - SessionName usado: cita13384

LOG - Token usado: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcHBfa2V5IjoiSzctd3JnVFhRM3FWMlc1amlGVGFxZyIsInRwYyI6ImNpdGExMzM4NCIsInZlcnNpb24iOjEsInJvbGVfdHlwZSI6MCwidXNlcl9pZGVudGl0eSI6IlBhY2llbnRlLTE3NTkzNjQyNDkiLCJleHAiOjE3NTkzNjc4NTAsImlhdCI6MTc1OTM2NDI1MH0.k14trIHRxpbwiZnNjK-7hRD3FRyiXg0OpbrFdzGYIdw

LOG - UserName usado: Paciente-1759364271

LOG - IsRetrying: false

LOG - RetryCount: 0**

JWT Token Configuration:**

  • Patient token: roleType: 0 (participant)
  • Doctor token: roleType: 1 (host)
  • Both tokens are valid and properly generated
  • Session names match exactly between both clients

Join Session Parameters (React Native):

await zoom.joinSession({
    sessionName: "cita13384",
    token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
    userName: "Paciente-1759364271",
    sessionIdleTimeoutMins: 40
});

Join Session Parameters (Web SDK):

await client.join({
    topic: "cita13384",
    token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
    userName: "Guillermo Hernandez Hernandez",
    password: "DjMXeJV3hW"
});

Attempted Solutions:

  1. :white_check_mark: Changed patient roleType from 1 to 0 (participant)
  2. :white_check_mark: Simplified joinSession parameters to minimal set
  3. :white_check_mark: Added sessionIdleTimeoutMins parameter
  4. :white_check_mark: Implemented retry logic with delays
  5. :white_check_mark: Added global session management to prevent multiple joins
  6. :white_check_mark: Verified JWT tokens are valid and properly formatted
  7. :white_check_mark: Ensured session names match exactly
  8. :white_check_mark: Added comprehensive error logging
  9. :white_check_mark: Tested with different SDK versions (v1.12.10, v2.2.5)
  10. :white_check_mark: Verified doctor connects successfully to same session

Current Behavior:

  • Doctor connects successfully using Web SDK
  • Patient attempts to connect using React Native SDK
  • Patient connects briefly (700-1000ms) then disconnects with “BySelf”
  • Doctor remains connected and functional
  • Error occurs consistently on every connection attempt

Expected Behavior:

  • Both doctor and patient should connect successfully
  • Both should remain connected for the duration of the session
  • Both should be able to see each other’s video/audio

Additional Context:

  • This is a telemedicine application
  • The Web SDK is used for doctors (web interface)
  • The React Native SDK is used for patients (mobile app)
  • Both need to work together in the same session
  • The “BySelf” disconnection happens too quickly to be a network issue
  • The doctor’s connection is stable, indicating the session itself is valid

Questions for Zoom Support:

  1. Is there a known compatibility issue between Web SDK and React Native SDK?
  2. Are there specific configuration requirements for cross-platform sessions?
  3. Could the “BySelf” disconnection be related to role type conflicts?
  4. Are there any additional parameters needed for React Native SDK when joining Web SDK sessions?
  5. Is there a recommended approach for telemedicine applications using both SDKs?

Reproduction Steps:

  1. Doctor connects to session using Web SDK (successful)
  2. Patient attempts to connect using React Native SDK
  3. Patient connects briefly then disconnects with “BySelf”
  4. Error occurs consistently every time

Contact Information:

  • Application: Telemedicine platform
  • Use Case: Doctor-patient video consultations
  • Timeline: Need resolution for production deployment

Thank you for your assistance with this cross-platform compatibility issue.