Updated Apr 11, 2025 20:30 UTC: Topic refactored, integrated and extended
This is probably another “What after skype retirement?!” topic… but it’s not.
It’s also a heartfelt petition to the Jami community of developers and contributors still exploring ways to improve the product usability and accessibility.
Let’s assume Jami is the After-Skype… especially for use cases where young families need to periodically connect via Audio/Video calls to relatives and elderly families (also overseas) who may have serious cognitive/physical accessibility challenges or just not tech/digitally savvy.
Use Case scenario Core Requirements:
- Peer-to-Peer A/V Calls Only
- Direct connection (no group conferencing)
- Highest possible stability and audio/video synchronization
- Prioritized audio clarity over video quality, if bandwidth-constrained
- Hardware Environment
- Windows PCs on both sides
- Mini PC or equivalent compact form factor (Elderly Side)
- Audio/Video in via USB webcam + embedded microphone (no Bluetooth or wireless peripherals)
- Connected via HDMI to a TV on the elderly side (A/V out to the TV)
- Network Topology
- Both PCs behind home modems/routers
- Dynamic public IPs updated via dynamic DNS (e.g.,
young.mooo.com
,elderly.mooo.com
) - Tomato, OpenWRT, or similar router OSS firmware allowing full port forwarding and NAT configuration
- Call Initiation Behavior
- The “young” side primarily initiates calls
- The “elderly” side should auto-answer with no interaction
- User Interaction Constraints (Elderly Side)
- No required user input beyond powering the system/TV and switching to HDMI
- Zero-tolerance policy for:
- UI/UX changes
- Popups, update notifications, feedback requests, or system alerts
- Floating toolbars or auto-hiding interfaces
- Sounds, banners, or badges for “new features”
- System Boot Behavior (Elderly Side)
- Autologin into Windows
- Auto-start Jami in full-screen mode
- Auto-ready to receive calls (status: online/available)
- Software Behavior
- Jami must never auto-update “spontaneously”
- Config and layout should remain static over time
- Disable or hide anything not strictly required (contacts, settings, extras)
- Reliability/Recoverability
- Auto-reconnect after network loss or Jami crash
- Automatic re-initialization after power failure or reboot
- Minimal to no user visible diagnostics (no “connecting…” messages, etc.)
Configuration Details:
Jami Settings (Elderly Side):
- Enable auto-answer for specific contact (
young
) - Fullscreen window with no decorations (use a third-party tool if necessary, but better have an option to send the video full-screen when A/V session is consistently established)
- Set Jami to start with Windows via Task Scheduler or Startup folder
- Disable automatic updates at both Jami level and Windows level (Group Policy + firewall block to update URLs)
- Optionally script a watchdog to monitor Jami process and restart if crashed
Network/Router:
- Is there any simplified Jami network configuration that can leverage the fact that public IPs are known via the FQDNs
young.mooo.com
,elderly.mooo.com
? - Port forwarding on both routers for required Jami ports (UDP/TCP depending on Jami version and NAT traversal settings)
- Dynamic DNS clients running reliably on both ends
- Static local IPs for the PCs (to simplify port forwarding)
System Hardening (Elderly PC):
- Disable all non-essential notifications in Windows
- Strip down startup items and taskbar/system tray icons
- Lock in known-good GPU/webcam drivers (no auto-driver updates)
- Use HDMI-CEC if possible to simplify “TV on + HDMI input select” process
Additional Concerns, Considerations & Suggestions:
- Call Notification Behavior on Elderly Side
- Evaluate/Ensure no ringtone, just silent auto-answer with fade-in video
- Power Management
- Ensure PC never goes to sleep or screen off
- Disable USB power saving (so webcam/mic don’t disconnect)
- Accessibility Devices Compatibility
- If using assistive tech (screen magnifiers, large mouse pointers), ensure they’re always active and unaffected by Jami updates
- Backup Plan
- Optionally install a second fallback app (e.g., Element/SimpleX) behind the scenes, never shown to elderly, just in case
- Long-Term Maintenance Strategy
- What happens when Jami releases a breaking change? Need to test each new version in a sandbox environment before rolling out
- Alternative UIs / Kiosk Shells
- Consider a custom launcher or shell replacement to remove all non-call-related UI on the elderly PC
- Fallback Protocols / Tools
- Jami occasionally struggles with NAT traversal — should there be a fallback protocol (e.g., SIP-based softphone or WebRTC)?
- Remote Management
- Add secure remote access for young to fix/monitor the elderly machine (e.g., Tailscale, MeshCentral, TeamViewer, Anydesk…)
- Logging & Diagnostics (Young Side)
- Silent background logs to analyze why calls failed (timeouts, NAT holes, etc.)
Conclusion:
Jami may theoretically fulfill this use case, but only if heavily customized and sandboxed from future changes. The biggest long-term risk lies in interface volatility and auto-updates, which require countermeasures outside of Jami itself.
If Jami is selected, consider creating a snapshot image of the working system to quickly restore from in case of failure.
This thread is open to anyone’s recommendations relevant to the best and simplest possible Jami configuration for call reliability and acceptable A/V performance.
I’m available to invest time and effort to support all sort of tests and further scenarios in hope to offer a concrete solution to as many people as possible.
It’s overly disappointing that in 2025 we still don’t have a working and stable affordable solution for such use cases.