Config
Voip Provider

VOIP Configuration

FivePhone supports three VOIP providers: pma-voice, SaltyChat, and Mumble. Change the provider by setting Config.VoipProvider in config.lua.

Config.VoipProvider = "pma-voice" -- "pma-voice" | "saltychat" | "mumble"

Providers

pma-voice (Default)

No additional configuration needed. FivePhone will automatically create a call channel based on the threadKey of the call.

Config.PmaVoice = {
    ChannelName    = "FiveChat_Call_%s",
    UseCallChannel = true,
}
SettingDefaultTypeDescription
ChannelName"FiveChat_Call_%s"StringChannel name format, %s replaced with call threadKey
UseCallChanneltrueBooleanUse a dedicated call channel for each call

SaltyChat

Config.VoipProvider = "saltychat"
 
Config.SaltyChat = {
    ChannelName      = "FiveChat_Call_%s",
    DefaultChannel   = "",
    DisableProximity = true,
}
SettingDefaultTypeDescription
ChannelName"FiveChat_Call_%s"StringChannel name format, %s replaced with call threadKey
DefaultChannel""StringChannel to return to after call ends, empty = proximity mode
DisableProximitytrueBooleanDisable proximity voice during an active call

Note — Make sure saltychat resource is started before FivePhone in server.cfg.


Mumble

Config.VoipProvider = "mumble"
 
Config.Mumble = {
    DisableProximity  = true,
    ProximityDistance = 3.0,
    DefaultChannel    = "",
}
SettingDefaultTypeDescription
DisableProximitytrueBooleanDisable proximity voice during an active call
ProximityDistance3.0NumberProximity distance restored after call ends (meters)
DefaultChannel""StringChannel to return to after call ends, empty = proximity mode

How It Works

Player A calls Player B

Server creates threadKey  →  "08XXXXX||08YYYYY"

Both players receive voipJoin event

Client Voice.lua joins the call channel

Call ends / player disconnects

Client Voice.lua leaves channel & restores proximity

Ring Timeout

Config.RingTimeout = 30 -- seconds before call is marked as missed

If the receiver does not answer within RingTimeout seconds, both players will receive a missed call event and the call will be removed automatically.


Switching Providers

ProviderResource RequiredConfig Section
pma-voicepma-voiceConfig.PmaVoice
saltychatsaltychatConfig.SaltyChat
mumblebuilt-in FiveMConfig.Mumble

Only one provider is active at a time based on Config.VoipProvider.