VoIP, VPN, and the Build System Behind Them
In 2019, a reader asked whether our WhatsApp clone included VoIP. I said no . It would require native integration, and the setup was too much for that project. For years, that was the line. What is Codename One? Codename One is an open-source framework for building native iOS, Android, desktop, and web apps from a single Java or Kotlin codebase. Learn more at codenameone.com . VPN sat behind the…
Codename One, an open-source framework for building native apps from a single Java or Kotlin codebase, has introduced significant enhancements to its VoIP and VPN capabilities. In 2019, the framework's ability to include VoIP and VPN features was limited due to the complexity of integrating native APIs across different platforms.
However, the introduction of a builder system has enabled Codename One to handle these integrations more efficiently. The builder system allows for the assembly of native products, linking frameworks, injecting permissions, and generating native delegates and services based on the actual Java packages used in the application. This approach ensures that only the necessary native components are included in the final product, reducing complexity and maintenance overhead.
PR #5604 introduced first-class call management, VoIP push handling, managed VPN, and the packet-tunnel API on Android, while PR #5693 completed the iOS path by generating a separately translated and signed Network Extension. The Java API now provides a unified interface for developers to implement these features, while the builder system manages the complex native integration behind the scenes.
With these updates, developers can now seamlessly connect application call state to CallKit on iOS and self-managed ConnectionService on Android, while maintaining control over their media and signaling stack. Additionally, managed VPN capabilities have been expanded to support both managed IPsec and IKEv2 profiles on both iOS and Android platforms, providing developers with greater flexibility in implementing secure connections.
Brief written by urgent.news from Dev.to's own syndicated text. Machine-written — may contain errors; check the original before relying on it.