Customers & trunks
Add Customers, configure SIP trunks, whitelist source IPs, and set tech prefix and codecs.
Add a Customer
Open Customers and click + Add Customer. A Customer is the billing and routing identity for traffic that arrives on its trunks — typically a wholesale switch or retail carrier that sends SIP to your tenant.
Required fields are name and country. Optional contact email and phone help your team. Choose billing type:
- Prepaid — calls require a positive account balance.
- Postpaid — set a credit line, optionally mark it unlimited, and optionally allow overdraft (OD) with an OD limit.
You need at least one Customer before creating trunks, dialpeers, or customer-scoped rate plans.
Manage Customers
The Customers table lists name, email, country, type, balance (with billing type), trunk count, and status. Use the ⋮ menu on each row to Edit, Block / Unblock, or Delete.
Delete is only available when the Customer has no call history, no trunks, and no routing rules — otherwise the menu item stays disabled. Block stops new traffic without removing configuration.
SIP trunks
Each Customer may have multiple Trunks. Open Trunks and click + Add trunk to open Add SIP Trunk.
Select the Customer, enter a trunk name (for your operators — e.g. the carrier switch label), set a tech prefix (required — see below), optionally attach a rate plan, set Max concurrent calls (default 10), and configure authorized IPs below.
The Trunks table shows Customer, name, IP count, rate plan, tech prefix, concurrent cap, aggregated codecs, status, and actions. Edit or delete from the ⋮ menu; delete is blocked while the trunk has call history.
Trunks are the ingress side dialpeers reference as “SIP trunk (ingress)” — covered in the routing chapter.
Authorized source IPs
On the trunk form, under Authorized IPs, add every IPv4 host or CIDR range your Customer’s switch may use (for example 203.0.113.10 or 198.51.100.0/24). VMGateServer rejects SIP from addresses not on the list.
Each row has IP address, port (default 5060), codecs, and an optional note. Click Add IP for additional rows when the carrier uses several POPs. At least one IP row is required before you can create the trunk.
Update the list before the carrier changes sending IPs to avoid sudden rejections at ingress.
Tech prefix
Every trunk must have a tech prefix: one to six numeric digits that the carrier prepends to every called number before the destination (for example prefix 55 and destination 447700900123 → dialled as 55447700900123).
VMGateServer enforces the prefix on ingress. If the called number does not start with the configured digits, the INVITE is rejected with 403 Forbidden. This is deliberate: it gives strong isolation when several trunks share the same authorized IP and ingress — each trunk is unambiguously identified before routing and billing run.
Assign a unique prefix per trunk on shared IPs. Enter the value on the trunk form and configure the Customer’s switch to send the same prefix on every call. Dialpeers and routing use the destination after VMGateServer strips the prefix — confirm the full dial string with your carrier before go-live.
Codecs
Per authorized IP row, tick allowed codecs: PCMU (G.711 μ-law), PCMA (G.711 A-law), and G729 where supported. New rows default to PCMU and PCMA on, G729 off.
Match the carrier’s offer order to minimize transcoding. Different IPs on the same trunk may advertise different codec sets if the carrier requires it.