> ## Documentation Index
> Fetch the complete documentation index at: https://www.cometchat.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Platform Compatibility

> Feature availability, browser support, and platform requirements for CometChat Calls SDK.

This page provides detailed information about feature availability across platforms, browser support, and minimum version requirements.

## Platform Feature Comparison

Not all features are available on every platform. Use this table to understand feature availability:

| Feature                | JavaScript | React Native | iOS | Android | Flutter |
| ---------------------- | :--------: | :----------: | :-: | :-----: | :-----: |
| **Core Features**      |            |              |     |         |         |
| Voice Calls            |      ✓     |       ✓      |  ✓  |    ✓    |    ✓    |
| Video Calls            |      ✓     |       ✓      |  ✓  |    ✓    |    ✓    |
| Group Calls            |      ✓     |       ✓      |  ✓  |    ✓    |    ✓    |
| Screen Sharing         |      ✓     |       ✓      |  ✓  |    ✓    |    ✓    |
| Recording              |      ✓     |       ✓      |  ✓  |    ✓    |    ✓    |
| Call Layouts           |      ✓     |       ✓      |  ✓  |    ✓    |    ✓    |
| **Call Management**    |            |              |     |         |         |
| Ringing                |      ✓     |       ✓      |  ✓  |    ✓    |    ✓    |
| Call Logs              |      ✓     |       ✓      |  ✓  |    ✓    |    ✓    |
| Participant Management |      ✓     |       ✓      |  ✓  |    ✓    |    ✓    |
| In-Call Chat           |      ✓     |       ✓      |  ✓  |    ✓    |    ✓    |
| **Advanced Features**  |            |              |     |         |         |
| Virtual Background     |      ✓     |       ✗      |  ✗  |    ✗    |    ✗    |
| Picture-in-Picture     |      ✓     |       ✗      |  ✗  |    ✓    |    ✗    |
| Raise Hand             |      ✓     |       ✓      |  ✓  |    ✓    |    ✓    |
| Audio Modes            |      ✗     |       ✓      |  ✓  |    ✓    |    ✓    |
| **Customization**      |            |              |     |         |         |
| Custom Control Panel   |      ✓     |       ✓      |  ✓  |    ✓    |    ✓    |
| Idle Timeout           |      ✓     |       ✓      |  ✓  |    ✓    |    ✓    |
| Device Management      |      ✓     |       ✗      |  ✗  |    ✗    |    ✗    |
| **Platform-Specific**  |            |              |     |         |         |
| VoIP / CallKit         |      ✗     |       ✓      |  ✓  |    ✓    |    ✗    |
| Background Handling    |      ✗     |       ✓      |  ✓  |    ✓    |    ✗    |

✓ = Available, ✗ = Not Available

## Browser Support

### Desktop Browsers

| Browser | Minimum Version | Notes          |
| ------- | --------------- | -------------- |
| Chrome  | 72+             | Recommended    |
| Firefox | 68+             | Full support   |
| Safari  | 12.1+           | macOS 10.14.4+ |
| Edge    | 79+             | Chromium-based |
| Opera   | 60+             | Chromium-based |

### Mobile Browsers

| Browser             | Minimum Version |
| ------------------- | --------------- |
| Chrome for Android  | 72+             |
| Firefox for Android | 68+             |
| Samsung Internet    | 12+             |
| Edge for Android    | 79+             |
| Safari for iOS      | 12.1+           |
| Chrome for iOS      | 72+             |
| Edge for iOS        | 79+             |

## Native Mobile Platforms

### iOS

| Requirement           | Value                                |
| --------------------- | ------------------------------------ |
| Minimum Version       | iOS 16.0+                            |
| Architecture          | arm64                                |
| Package Manager       | CocoaPods, SPM                       |
| Platform Capabilities | CallKit, VoIP Push, Background Audio |

### Android

| Requirement           | Value                                           |
| --------------------- | ----------------------------------------------- |
| Minimum API           | API 24 (Android 7.0+)                           |
| Architecture          | arm64-v8a, armeabi-v7a                          |
| Package Manager       | Gradle                                          |
| Platform Capabilities | PiP Mode, Foreground Service, ConnectionService |

## Cross-Platform Frameworks

### React Native

| Requirement     | Value         |
| --------------- | ------------- |
| Minimum Version | 0.70+         |
| Platforms       | iOS, Android  |
| Package Manager | npm, yarn     |
| Expo Support    | Bare workflow |

### Flutter

| Requirement     | Value        |
| --------------- | ------------ |
| Minimum Flutter | 3.0+         |
| Minimum Dart    | 2.17+        |
| Platforms       | iOS, Android |
| Package Manager | pub          |

## Network Requirements

### Ports & Protocols

| Protocol | Port        | Purpose                     |
| -------- | ----------- | --------------------------- |
| HTTPS    | 443         | API calls, signaling        |
| UDP      | 10000-20000 | Media streaming (preferred) |
| TCP      | 443         | Media fallback (TURN)       |

### Bandwidth Recommendations

| Call Type       | Bandwidth         |
| --------------- | ----------------- |
| Voice Call      | 100 - 300 kbps    |
| Video Call (SD) | 500 kbps - 1 Mbps |
| Video Call (HD) | 1.5 - 3 Mbps      |
| Screen Sharing  | 1 - 2 Mbps        |

<Warning>
  **HTTPS Required**: Camera and microphone access requires HTTPS in production environments. Localhost (`http://localhost` or `http://127.0.0.1`) is exempt during development.
</Warning>

## Permissions Required

### Web

* Camera access
* Microphone access
* Screen capture (for screen sharing)
* Notifications (optional)

### iOS

```
NSCameraUsageDescription
NSMicrophoneUsageDescription
```

### Android

```xml theme={null}
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
```

## Next Steps

<CardGroup cols={2}>
  <Card title="Key Features" icon="list" href="/calls/platform/features">
    Explore all available features
  </Card>

  <Card title="User Sync" icon="users" href="/calls/platform/user-sync">
    Set up user authentication
  </Card>
</CardGroup>
