React Native Guide
Build an iOS + Android softphone with the jambonz WebRTC SDK
Build an iOS + Android softphone with the jambonz WebRTC SDK
This guide walks you through building a voice calling app for iOS and Android using React Native.
The SDK works on both simulators/emulators and physical devices. A physical device is recommended for real call testing with audio.
For iOS:
Add to android/app/src/main/AndroidManifest.xml inside <manifest>:
Add to ios/MyJambonzApp/Info.plist:
Run on your device:
Use React Native’s Alert for a simple incoming call prompt:
brew install --cask zulu@17The repo includes a complete softphone example with a dark theme UI, DTMF dial pad, incoming call handling, mute/hold/hangup controls.
After generating, add the required permissions:
Android — add to android/app/src/main/AndroidManifest.xml inside <manifest>:
iOS — add to ios/JambonzExample/Info.plist before </dict>:
The example app has clean separation between SDK logic and UI:
src/useJambonz.ts — all SDK interactions (connect, call, mute, hold, transfer, incoming calls). Read this file to learn the SDK.src/App.tsx — wires SDK state to UI componentssrc/components/ — reusable UI: ConnectionForm, DialerView, ActiveCallView, IncomingCallView, DtmfPadsrc/theme.ts — shared color palettewss://sbc.example.com:8443)Source: github.com/jambonz/webrtc-sdk/tree/main/examples/react-native