OptionalallowedSource addresses the inbound trunk accepts calls from (the carrier's SIP signalling addresses). Used when provisioning.
OptionalapiLiveKit API key. Defaults to LIVEKIT_API_KEY.
OptionalapiLiveKit API secret. Defaults to LIVEKIT_API_SECRET.
OptionalautoCreate the inbound trunk and dispatch rule at startup when they do not exist (idempotent). Default false.
OptionalcarrierThe carrier behind the trunk, for configuration checks only.
OptionalcostEstimated carrier cost rate per minute in reporting currency (e.g. 0.015 for 1.5 cents/min). Used to compute Interaction.CostEstimate at call end. Defaults to 0.015 if unset.
OptionalinboundEmail of the user INBOUND calls run as. Required for inbound calls: if unset, unknown, inactive, or the system user, the call is rejected (there is deliberately no fallback to a privileged user). Point it at a dedicated least-privilege account.
OptionalinboundThe LiveKit inbound trunk id, when it was created by hand. Checked at startup; created for you when autoProvision is set.
OptionalmaxMaximum length of one phone call in seconds (default 1800). The session is stopped at the cap.
OptionalmaxMost phone calls (every carrier together, both directions) the server will carry at once (default 25). Keep this at or below the realtime model plan's concurrent-session limit: past the cap an inbound caller hears a polite "all agents are busy" and an outbound call is refused, instead of every call degrading.
OptionalnumbersThe numbers (E.164) this deployment answers. Each routes to the agent identity registered for that number.
OptionaloutboundOutbound destination policy and per-user rate limit applied to every Place*Call mutation.
OptionaloutboundThe caller ID presented on a call dialed out through the outbound trunk. Defaults to the trunk's own number.
OptionaloutboundThe LiveKit OUTBOUND trunk used to dial out (an outbound call, a fallback leg, a transfer to a number). Dialing out is off without it.
OptionalroomInbound calls land in a room whose name starts with this (default call-). Rooms that do not are not phone calls.
OptionalserverLiveKit server URL (wss://…). Defaults to LIVEKIT_URL.
OptionaltransferThe places the agent may transfer a live call to, by name. Empty or absent means the agent cannot transfer at all, even on a carrier that supports it: the agent never names a free-form number.
LiveKit SIP binding: phone calls carried by a SIP trunk, landing in a LiveKit room. The carrier is whoever the trunk belongs to (Twilio Elastic SIP Trunking, Telnyx, …); MJ routes the call and runs the agent in the room.
LiveKit credentials come from here or, when omitted, from
LIVEKIT_URL/LIVEKIT_API_KEY/LIVEKIT_API_SECRET(the same ones the Meet room uses).