Phone & Calls
The Phone app handles voice and video calls, voicemail, favorites, recents and phone sharing requests between players.
Voice calls
Voice calls route audio through the configured voice resource. See Signal & Network for voice system setup.
- Call any phone number from the dial pad or contacts
- Incoming call screen with accept / reject / ignore
- Speakerphone mode toggle during active call
- Mute microphone during call
- Telephone audio filter (Config.Voice.CallEffects) for immersion
- Voicemail — missed calls are logged and callers can leave a message
- Call duration timer displayed on the active call screen
Video calls
Video calls use WebRTC for peer-to-peer media streams. See WebRTC & Video calls for ICE server and STUN/TURN setup.
- Full-screen video call UI with camera preview
- Camera flip (front / back) during call
- Microphone mute and camera off toggles
- Counts toward the Streaming battery drain rate
- Falls back gracefully if WebRTC connection cannot be established
Dial pad & features
| Tab | Description |
|---|---|
| Dial pad | Enter any phone number manually and call |
| Favorites | Starred contacts for quick access |
| Recents | Call history: outgoing, incoming and missed |
| Voicemail | Playback of recorded voicemails left by callers |
Call callbacks
Listen to call lifecycle events from your own resources:
-- Client: phone opened a call
AddEventHandler("quanticPhone:phoneOpened", function()
-- player opened the phone
end)
AddEventHandler("quanticPhone:onCall", function()
-- player answered a call (voice active)
end)
AddEventHandler("quanticPhone:callEnded", function()
-- call was terminated
end)
-- Server: a call was initiated
AddEventHandler("quanticPhone:messageSent", function(source, data)
-- fires when source sends a message
print(data.from, "->", data.to, ":", data.message)
end)NUI callbacks (registered via RegisterCallback) handle call flow:
| Callback | Trigger |
|---|---|
| quanticphone:startCall | Player presses call button |
| quanticphone:acceptCall | Player accepts incoming call |
| quanticphone:rejectCall | Player rejects incoming call |
| quanticphone:ignoreCall | Player dismisses without rejecting |
Phone sharing
Players can send their phone number to nearby players via the Share option in the Phone app. The recipient gets a notification with an accept/deny prompt. Use the quanticPhone:requestNearbyPhones server event to get the list of nearby player numbers.