Categories

  • AI
  • AWS / Amazon Chime SDK
  • Broadcasting
  • Contact Centers
  • CPaaS
  • Daily
  • DevOps
  • EdTech
  • Events
  • General
  • Jobs
  • LiveKit
  • Managed Services
  • Mobile
  • Open Source
  • Real Time Weekly
  • SignalWire
  • SIP, VoIP & Telephony Systems
  • Story of success
  • Symbl.ai
  • Technical
  • Telehealth
  • Testing
  • The WebRTC.ventures Blog
  • Thoughts
  • UI/UX
  • Video Conferencing
  • Virtual Collaboration
  • Voice AI
  • Voice/Audio
  • Vonage
  • WebRTC Architecture
  • WebRTC Live
  • WebRTC Monitoring
  • Zoom
WebRTC.ventures
WebRTC.ventures
  • WebRTC Services
    • Build
    • Consult/Assess
    • Integrate
    • Test
    • Manage
    • Voice AI
  • Stories of Success
  • Partners
    • Amazon Chime SDK
    • Daily
    • LiveKit
    • Vonage
    • SignalWire
    • WebRTC Architecture Options
  • WebRTC Live
  • Blog
  • About Us
    • Our Team
    • Jobs
    • Contact Us
  • Contact Us
WebRTC.ventures
  • WebRTC Services
    • Build
    • Consult/Assess
    • Integrate
    • Test
    • Manage
    • Voice AI
  • Stories of Success
  • Partners
    • Amazon Chime SDK
    • Daily
    • LiveKit
    • Vonage
    • SignalWire
    • WebRTC Architecture Options
  • WebRTC Live
  • Blog
  • About Us
    • Our Team
    • Jobs
    • Contact Us
  • Contact Us

Self-Hosted Jitsi for Telehealth: Ringing, Answer, and Recovery Instead of Meeting Links.

HomeSelf-Hosted Jitsi for Telehealth: Ringing, Answer, and Recovery Instead of Meeting Links

Doctor to patient call lifecycle, one-tap Android answer in seconds, and portable and autoscalable Jitsi-on-Kubernetes telehealth infrastructure.

Dropping a video widget into an application gets you a meeting: two people who agreed on a time, clicked a link, and waited in a lobby. Our client needed something different. A clinician looks at a patient’s data, decides they need to talk right now, and calls. The patient’s phone rings. They answer. That is a video phone call, and is a much harder engineering problem than a video meeting.

The client, a healthcare platform for monitoring patients outside the hospital, engaged WebRTC.ventures to build a self-hosted video calling experience into their existing product: initiated from their web application, answered on their Android application, running on video infrastructure their own team operates. 

The call had to handle what a regular video meeting doesn’t: ringing, decline, timeout, stale calls, and dropped connections. None of that comes from the video layer; it has to be engineered into the application itself.

Alberto Gonzalez | WebRTC.ventures CTO
image

This is the kind of work our team does best. In six weeks, we turned a specialized real-time communications build into a production system, solving mobile startup performance, hospital-grade networking, and load testing along the way. They handed off a platform built to run across cloud, hospital, and on-premise environments.

What We Built

The work spanned five areas: the backend that controls the call, the patient’s Android answer, the clinician’s web experience, the media infrastructure underneath, and handoff that made it simple for the client to operate it moving forward.

  1. A server that owns the call. The client’s backend is the source of truth for the full lifecycle: ringing, answer, decline, timeout, active call, and termination. It rings the patient through the client’s existing push-notification architecture, times out unanswered calls, detects a vanished caller through liveness monitoring, and replaces a stale call when the clinician dials again. Room access is authorized per participant, per call.
  2. An answer in seconds on Android. Mobile WebRTC SDKs are slow to cold-start, which breaks the feel of answering a call. We instrumented the startup path, separated SDK initialization from connection time, and built a warm-up approach that brings the patient into the call in seconds.
  3. A ready clinician. Before dialing: permission checks, device selection with live preview, and a network test that flags poor conditions. In the call: participant names, mute and speaking indicators, a simple network-quality indicator, mid-call device switching, and recovery (automatic reconnection). A refreshed browser tab rejoins the call.
  4. Infrastructure the client runs. Jitsi on Kubernetes, deployed with Helm and Terraform, fronted by TURN/STUN so calls connect through hospital firewalls and home networks. The deployment is designed to move between cloud, hospital-controlled, and on-premise environments. It was validated with automated tests, end-to-end QA, and a progressive load test of roughly 100 simulated users, with Prometheus, Grafana, and OpenTelemetry observability.
  5. Handoff. Six weeks from kickoff to close, with implementation and infrastructure documentation. The client’s team now operates the platform in production.

Tech Stack

  • Jitsi, as the self-hosted, open-source video foundation
  • Native Android integration for the patient answer experience
  • Kubernetes, Helm, and Terraform for portable, repeatable deployment
  • React and TypeScript on the web
  • Prometheus, Grafana, and OpenTelemetry for observability
  • Loadero for WebRTC load testing

Let's turn your project into another story of success.

Contact WebRTC.ventures today!

Client:

A healthcare platform for monitoring and communicating with patients outside the hospital (under NDA).

Type of Application:

One-to-one, phone-call-style video calling built into the client's existing web and Android applications, with a server-authoritative call lifecycle and self-hosted open source Jitsi-on-Kubernetes media infrastructure.

How We Helped:

We designed and built this self-hosted video calling system in six weeks, on infrastructure portable to cloud, hospital, or on-premise environments, and handed it off to the client's team, who now operate it in production.

Features:

  • Clinician dials from the existing web application; patient answers with one tap on Android
  • Near-instant mobile answer through Jitsi Android SDK startup optimization
  • Server-owned call lifecycle: ringing, answer, decline, timeout, and stale-call replacement
  • Push notifications and event-driven messaging
  • Each call is a private, individually authorized room
  • Pre-call readiness checks for the clinician; in-call quality indicators, device switching, and automatic recovery
  • Secure, portable Kubernetes deployment for cloud, hospital, and on-premise environments.
  • End-to-end monitoring, logging, and operational visibility.
  • Load-tested, documented, and handed off for client-owned operation

WebRTC Services

WebRTC.ventures is one of the few agencies in the world dedicated to WebRTC development. This dedication and experience is why so many people trust us to help bring live video application dreams to life.

  • Assess
  • Build
  • Integrate
  • Voice AI
  • Test
  • Manage
We’re one of the few agencies in the world dedicated to WebRTC development. This dedication and experience is why so many people trust us to help bring real-time application dreams to life.

Let's get started!

Contact us today
info@webrtc.ventures

Join our mailing list!

© 2023 WebRTC.ventures, an AgilityFeat company / Privacy Policy