Servers & roleplay Guide

LB Phone FiveM: setup, configuration and custom apps

Find official LB Phone documentation, check framework and voice integration, diagnose uploads, and avoid custom-app loading races before server rollout.

Original Magnate concept artwork; not a GTA VI screenshot Original concept artwork · Not game footage

Use the official documentation for your release

If you are a player looking for opening controls rather than installing a resource, start with the general FiveM phone guide.

LB Scripts publishes installation, configuration, common-issue, framework and custom-app documentation. Begin there when comparing instructions with your installed resource. Magnate is an independent integration guide and does not distribute the phone package or claim to replace the publisher’s version-specific support.

Record the phone release, framework, inventory, voice resource and server artifact. For configuration examples here, we reviewed the public lbphone/files revision fee45f6. The public configuration is useful evidence of settings, not the complete paid resource or a game-runtime compatibility test.

Check dependencies and resource order first

The installation documentation specifies MariaDB 10.11 or newer, oxmysql and current server artifacts, and identifies additional feature-specific requirements. It says framework, database and inventory resources should start before lb-phone; custom apps should start after it. Follow the documented release requirements for the features you intend to use.

Rehearse database setup or updates on a backed-up staging copy. Distinguish a fresh installation from an existing phone migration before applying any schema instructions. This guide does not execute SQL or prescribe deleting existing phone data. Keep a tested rollback path for the resource and its saved state.

If the phone never opens, capture startup errors and confirm the intended package loaded before investigating a camera or upload provider. Several independent failures can produce an incomplete setup, so change one layer at a time.

Framework detection does not implement every integration

The reviewed public config sets Config.Framework to auto. It lists framework modes including ESX, QB, Qbox, Ox, vRP2 and standalone, with caveats for custom versions and standalone framework apps. Check the matching integration files rather than treating detection as proof that banking, garages or housing work with every fork.

A phone item requirement is also a configuration choice. Test your inventory’s item and metadata behavior separately, especially if your design requires each physical phone to retain its own data. Use the publisher’s unique-phone instructions for that feature; do not infer it from the generic item toggle.

Selected values in the reviewed public LB Phone config
SettingReviewed defaultWhat to verify locally
Config.FrameworkautoThe detected framework matches the intended integration
Config.Item.RequirefalseThe intended phone-item requirement is enforced
Config.Voice.SystemautoThe chosen voice integration actually works
Config.KeyBinds.Openphone command; F1 bindingThe player’s actual binding and access conditions
Config.DisableOpenNUItrueWhether another UI has focus when testing

Separate calling, recording and media uploads

The installation guide requires choosing an upload method and configuring the corresponding keys for photo, video and audio uploads. It locates server API-key configuration in lb-phone/server/apiKeys.lua. Keep those secrets in the intended server configuration, not in a custom app’s browser bundle or a public troubleshooting screenshot.

Test a normal call with two players before speakerphone, recording or video. Then test a small upload and confirm the saved media can be retrieved. Record whether the failure is capture, transfer, storage or playback instead of calling all four an upload problem.

For FiveM Enhanced, review current Cfx voice and resource-compatibility guidance with the phone and voice maintainers. The PMA voice guide explains the Mumble deprecation boundary. A phone configuration selecting a voice system automatically is narrower evidence than a supported, tested migration path.

LB Phone custom apps: wait for the UI to request initial data

The custom-app documentation supports apps with UI and apps that trigger functions. For UI apps it recommends a separate resource and the registration exports, with official templates available. It documents AddCustomApp, RemoveCustomApp and SendCustomAppMessage for lifecycle and messaging.

Its loading guidance is specific: do not push initial data from onOpen while the iframe may still be loading. Request the initial data after the UI mounts through the documented NUI callback path; use SendCustomAppMessage for later updates. This separates app-open timing from frontend readiness.

Begin with one small app and a known data response. Verify registration, initial load, close/reopen and resource restart before adding an inventory or payment action. Server-side authorization remains necessary for sensitive gameplay operations; rendering a balance or button does not authorize a state change.

A staged acceptance checklist before release

This is a proposed checklist for your licensed setup, not a runtime test performed by Magnate. Use ordinary player accounts as well as staff accounts and preserve the exact resource versions with each result.

  • Opening: use the real player binding with and without the required item.
  • Framework apps: verify the actual garage, wallet and housing integrations you enable.
  • Calls: test transmission and reception in both directions, then ending the call.
  • Media: capture, upload, retrieve and play a small test file.
  • Custom apps: test first load, reopen, resource restart and initial-data readiness.
  • Saved state: reconnect and verify the expected contacts and app data.
  • Authorization: test a disallowed character against restricted server actions.

Diagnose one failing integration at a time

If the phone opens but a framework app is empty, inspect that integration and its data rather than replacing voice settings. If a call connects but audio fails, reproduce with the voice resource’s basic test. If a custom app sometimes opens blank, inspect frontend readiness and initial-data requests before changing database schema.

For an update, compare release notes with your local configuration changes and rehearse the complete relevant flow on staging. Keep the previous package and data backup available. A source-code setting or a publisher feature list is not evidence of throughput, latency or compatibility in your environment.

Questions, answered.

Where is the official LB Phone documentation?

LB Scripts publishes it at docs.lbscripts.com/phone, including installation, configuration, common issues and custom apps. The source links below go to those pages.

Is F1 the phone key on every FiveM server?

No. F1 is the default in the reviewed LB Phone config. Server settings, player bindings and other phone resources can differ.

Why does a custom app sometimes miss its initial data?

The publisher warns that an onOpen push can arrive before the UI is ready. Follow its UI-mounted initial-data request pattern and inspect the app’s errors.

Sources & editorial notes

Source review: November 7, 2026. Platform announcements can change. This guide separates published facts from Magnate’s original analysis and preparation advice.

  1. LB Scripts — Phone installation Publisher dependencies, startup order, upload and update instructions.
  2. LB Scripts — Reviewed public configuration Pinned framework, item, voice and keybind defaults.
  3. LB Scripts — Custom apps App lifecycle, messaging and initial-data readiness guidance.
  4. Cfx — Secure your events Server-side validation of client-triggered actions.
  5. Cfx — Legacy to Enhanced changes Current breaking changes and early-access limitations; recheck before migration.

Published by an independent editorial brand. Read our editorial standards.

Find your next move

Search the Magnate guide library.

Browse every guide