Developer Overview
Blendlix Call Service provides a reusable realtime calling layer for web and mobile applications.
Applications request a short-lived call token from their backend, connect to the realtime WebSocket endpoint, and use WebRTC for audio.
What you need as an integrator
| Part | Owner |
|---|---|
| User login and permissions | Application backend |
| Deciding whether a call is allowed | Application backend |
| Requesting a call session token | Application backend |
| Showing call UI | Client application |
| WebRTC microphone/audio handling | Client application |
| WebSocket signaling and call state authority | Blendlix Call Service |
| TURN/STUN ICE server details | Blendlix Call Service |
Integration model
- the backend checks that caller and receiver are allowed to talk
- the backend authenticates to Blendlix Call Service using product credentials
- the backend requests a short-lived call session token
- the backend returns the token, WebSocket URL, and ICE servers to the client
- the client connects to
wss://.../v1/ws - the client sends call events such as
call.invite,call.accept, andcall.end - peers exchange WebRTC offer, answer, and ICE candidates over the WebSocket
- the audio media flows directly peer-to-peer where possible, with TURN used when needed
Product credentials are mandatory
The backend must send valid product credentials before Blendlix Call Service will issue a client session token.
Without these headers, the request is rejected:
X-BCS-Product-Key-IDX-BCS-Product-Secret
Mobile or web clients must not call the session bootstrap endpoint directly. The bootstrap request should come from a trusted backend only.
Beginner-friendly mental model
Think of the call service as a secure phone switchboard:
- the application backend is the receptionist that confirms the caller is allowed to call
- Blendlix Call Service gives the caller a temporary call pass
- the app uses that pass to enter the realtime WebSocket room
- the two clients exchange WebRTC setup messages
- after WebRTC connects, the voice audio travels between the two devices
Minimum integration checklist
To complete a working integration, prepare:
- Product credentials from Blendlix:
key_idandsecret - A backend endpoint, for example
/api/calls/session - Permission checks inside the backend before requesting a token
- Client code that opens a WebSocket with the returned token
- Client call screens for outgoing, incoming, connected, ended, rejected, and missed states
- WebRTC audio-only peer connection using
ice_serversfrom the token response - A phone-call or normal-support fallback if the call service is unavailable