# infobip/infobip-rtc-android architecture

> Architecture diagram of the GitHub repository infobip/infobip-rtc-android, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/infobip/infobip-rtc-android
- Repository: https://github.com/infobip/infobip-rtc-android

## Overview

This repository snapshot contains only README.md and assets/images; no SDK source is available. The graph therefore captures documented product behavior and capabilities, not verified internal implementation. The README describes token generation, SDK call creation, call events/actions, permissions, and several call types; wiring beyond those stated relationships is omitted.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_auth["Identity and Access"]
  node_token_api["Token HTTP API"]
  node_token["Subscriber token"]
end

subgraph group_sdk["Android SDK"]
  node_rtc["InfobipRTC client"]
  node_permissions["Device permissions"]
end

subgraph group_calls["Call Experiences"]
  node_request["Call request"]
  node_webrtc["WebRTC call"]
  node_call_handle["WebrtcCall handle"]
  node_events["Call events"]
  node_call_actions["Call actions"]
  node_phone["Phone endpoint calls"]
  node_viber["Viber calls"]
  node_conversations["Conversations calls"]
  node_room["Room calls"]
end

subgraph group_platform["Infobip Platform"]
  node_infobip["Infobip platform"]
end

node_app(("Android application"))
node_subscriber(("Subscriber identity"))

node_subscriber -->|"identity submitted"| node_token_api
node_app -->|"requests token"| node_token_api
node_token_api -->|"returns token"| node_token
node_app -->|"gets instance"| node_rtc
node_app -->|"builds request"| node_request
node_token -->|"supplies credential"| node_request
node_app -->|"requests access"| node_permissions
node_app -->|"invokes callWebrtc"| node_rtc
node_rtc -->|"creates call"| node_webrtc
node_webrtc -->|"returns handle"| node_call_handle
node_call_handle -->|"delivers events"| node_events
node_app -->|"invokes actions"| node_call_actions
node_rtc -->|"connects calls"| node_infobip
node_rtc -->|"supports"| node_phone
node_rtc -->|"supports"| node_viber
node_rtc -->|"supports"| node_conversations
node_rtc -->|"supports"| node_room

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_token_api,node_token toneBlue
class node_rtc,node_permissions toneAmber
class node_request,node_webrtc,node_call_handle,node_events,node_call_actions,node_phone,node_viber,node_conversations,node_room toneMint
class node_infobip toneRose
class node_app,node_subscriber toneIndigo
```

## Components

### Identity and Access

- **Token HTTP API**
- **Subscriber token**

### Android SDK

- **InfobipRTC client**
- **Device permissions**

### Call Experiences

- **Call request**
- **WebRTC call**
- **WebrtcCall handle**
- **Call events**
- **Call actions**
- **Phone endpoint calls**
- **Viber calls**
- **Conversations calls**
- **Room calls**

### Infobip Platform

- **Infobip platform**

### Other components

- **Android application**
- **Subscriber identity**

## Connections

- Subscriber identity → Token HTTP API: identity submitted
- Android application → Token HTTP API: requests token
- Token HTTP API → Subscriber token: returns token
- Android application → InfobipRTC client: gets instance
- Android application → Call request: builds request
- Subscriber token → Call request: supplies credential
- Android application → Device permissions: requests access
- Android application → InfobipRTC client: invokes callWebrtc
- InfobipRTC client → WebRTC call: creates call
- WebRTC call → WebrtcCall handle: returns handle
- WebrtcCall handle → Call events: delivers events
- Android application → Call actions: invokes actions
- InfobipRTC client → Infobip platform: connects calls
- InfobipRTC client → Phone endpoint calls: supports
- InfobipRTC client → Viber calls: supports
- InfobipRTC client → Conversations calls: supports
- InfobipRTC client → Room calls: supports
