Integration Checklist
Backend checklist
- Product credentials are issued by Blendlix.
- Product secret is stored only in backend environment variables.
- Client apps never receive
X-BCS-Product-Secret. - Backend validates caller login.
- Backend validates caller is allowed to call this callee.
- Backend validates context access before issuing a token.
- Backend calls
POST /v1/call/session-token. - Backend returns only the token response needed by the client.
- Backend has graceful fallback if Blendlix Call Service is unavailable.
Client checklist
- Client requests a token from the application backend, not directly from Blendlix Call Service.
- WebSocket uses
new WebSocket(wsUrl, ["jwt", token])on browsers. - Client listens for
auth.okbefore assuming the socket is ready. - Client handles
call.ringing,call.accepted,call.rejected,call.canceled,call.missed, andcall.ended. - Client sends and receives
webrtc.offer,webrtc.answer, andwebrtc.ice_candidate. - Client stops microphone tracks when a call ends.
- Client closes
RTCPeerConnectionwhen a call ends. - Client shows a clear error and fallback when microphone permission is denied.
Security checklist
- Tokens are short-lived.
- Product secrets are rotated if exposed.
- Role names are controlled by the application backend.
allowed_peer_roleis set narrowly for each call use case.- Logs do not print product secrets or full JWT values.
- Calls are tied to an application context.
Network readiness checklist
- TURN/STUN is reachable from real mobile networks.
- WebSocket connection works over TLS.
readyzreturns OK.- Production product credentials are enabled.
- Staging and production credentials are separate.
Manual test checklist
- caller can call allowed peer
- caller cannot call a role not in
allowed_peer_role - wrong user cannot request token from product backend
- expired token cannot connect
- one user cannot maintain two active calls
- reject clears call UI
- cancel clears call UI
- missed call clears call UI
- end call stops microphone
- network drop shows reconnect or fallback