CodeName OneShai Almog10 min readintermediate
VoIP, VPN, and the Build System Behind Them
Summary
Codename One’s new builder pipeline can automatically generate the native plumbing required for VoIP call integration, managed VPN profiles, and packet‑tunnel extensions on iOS and Android. By inspecting which Java packages an app imports, the builder adds the necessary frameworks, entitlements, services, and even a separate signed Network Extension for iOS, letting developers keep their signalin…
- Calls API bridges Java call state to CallKit (iOS) and ConnectionService (Android) without pulling in unnecessary native code; only the needed packages are linked.
- Vpn API installs and controls managed IKEv2 (and IPsec on iOS) profiles, delegating consent and credential storage to the OS.
- VpnTunnel lets apps process raw IP packets; on iOS the builder creates a separate NEPacketTunnelProvider extension with its own bundle ID and provisioning profile.
- Builders generate platform‑specific targets, entitlements, and manifest entries based on referenced Java packages, eliminating the need for each team to maintain parallel native projects.
Cross‑platform mobile frameworks usually offload native integration to plugins, leaving developers to manage Xcode/Android Studio projects, entitlements, and signing. Codename One’s builder approach moves that complexity into the build server, ensuring that only the required native components are i…
6/10