Introduction
A SIP trunk is the link between VeloPBX and the public switched telephone network (PSTN). A trunk is required for any external (non-internal) call — both outbound and inbound.
As a Tenant Admin you can create a Register-Based Trunk — a trunk that registers to your SIP provider with a username and password.
Important: IP-Based Trunks (which authenticate by source IP rather than registration) and Accept-Register Trunks (used for E1/T1 gateways or downstream PBXs that register to VeloPBX) are created by the System Admin. If you need either type, contact [email protected].
In the Web Portal, navigate to Trunks:
https://pbx.fortis-tele.com:8887
What is a Register-Based Trunk?
In a Register-Based Trunk, VeloPBX sends a SIP REGISTER request to your provider’s server using a username and password — the same way an IP phone registers to VeloPBX.
This is the most common trunk type and requires the following information from your SIP provider:
- SIP server address
- Username (and Authorization Name / SIP User ID, often identical)
- Password
- Registration interval (how often to re-register)
- DID number(s) — a single number or a range
- Transport (UDP, TCP, or TLS) and port
If your provider requires TCP or TLS, make sure that transport is enabled on VeloPBX before creating the trunk.
Creating a Register-Based Trunk
Step 1 — Open the Trunks page
- Sign in to the Web Portal
- From the left-hand menu choose Trunks (or Call Manager → Trunks)
- Click Add
- Choose Register-Based Trunk

Step 2 — Fill in the basic details
On the General tab:
| Field | Description | Example |
|---|---|---|
| Trunk Name | A friendly identifier for this trunk | {{TRUNK_NAME}} |
| Domain / SIP Server | The provider’s SIP server hostname or IP | sip.provider.com |
| Port | SIP port (default 5060) | 5060 |
| Transport | Signaling transport | UDP / TCP / TLS |
| Username | SIP account username supplied by the provider | [provided by your trunk provider] |
| Password | SIP account password | [provided by your trunk provider] |
| Authorization Name | Auth ID / SIP User ID (often identical to Username) | [provided by your trunk provider] |
| Reregister Time | Re-registration interval, in seconds (default 600) | 600 |

Step 3 — Configure the DID Pool / Caller ID
Open the DIDs tab and add the DID numbers your provider has assigned to you.
| Field | Description | Example |
|---|---|---|
| DID Number | External phone number | +374 60 123456 |
| Caller ID Name | Display name to present on outbound calls | {{COMPANY_NAME}} |
You can add several DIDs (or a contiguous range) by clicking Add DID.
Important: A DID number or range entered into the pool must not start with
+,0, or00. If your provider delivers numbers in E.164 (e.g.+14155550100) or with a trunk prefix, strip the prefix before entering it. Inbound calls may still arrive in E.164 format depending on your provider’s signaling — that is unrelated to how the value is stored in the pool.
Step 4 — Outbound Caller ID & limits
On the Options tab:
| Setting | Description |
|---|---|
| Outbound Caller ID | Default caller ID presented on every outbound call placed via this trunk |
| Max Concurrent Calls | Maximum simultaneous active calls allowed on this trunk |
Step 5 — Save
Click Save. VeloPBX will immediately attempt to register with your SIP provider.
Checking trunk status
After saving, check the trunk’s status in the Trunks list.
| Status | Description | Action |
|---|---|---|
| Registered | Trunk is active; calls will work | None |
| Registering | Trunk is attempting to register | Wait 30–60 seconds |
| Failed | Registration failed | Check username/password, server address, transport |
| Disabled | Trunk has been turned off manually | Toggle it back on |
If the trunk shows Failed, verify:
1. The SIP server address (hostname or IP)
2. The Username and Password
3. The Transport (UDP / TCP / TLS) — and that it is enabled on VeloPBX
4. The Port
If the issue persists, contact [email protected].
Enabling / disabling a trunk
To take a trunk out of service temporarily:
- Find the trunk in the Trunks list
- Toggle Enable / Disable
- Confirm
Managing DID Numbers
DID (Direct Inward Dialing) numbers — also called DDI in the UK or MSN in Germany — are external phone numbers that route inbound calls directly to your tenant.
VeloPBX uses a DID Pool model: each tenant is assigned a defined set or range of DID numbers per trunk. Inbound rules can only route DIDs that fall inside the tenant’s pool, and outbound caller IDs can only be set to numbers from the pool. Pools across tenants on the same provider must not overlap, otherwise inbound routing becomes ambiguous.
Adding a DID to a trunk
- Open the trunk’s edit page
- Open the DIDs tab
- Click Add DID
- Enter the DID number (without
+,0, or00prefix — see the rule above), e.g.+374 60 123456 - Click Save

Abc, Inc. → 44200561230–44200561260, VoiceAi → 382012256300–382012256500). The pencil icon (highlighted in red) lets the System Admin edit a range. Adding a new pool entry is a System Admin action — Tenant Admins can only view the ranges allocated to them.Mapping a DID to an Inbound Rule
After a DID is in the pool, create an Inbound Rule to define what happens when calls arrive on that number — route to an extension, a ring group, an IVR, a queue, voicemail, or an external number. You can also map a DID range 1:1 onto an extension range (e.g. DIDs 442012345600–442012345800 → extensions 1100–1300).
Deleting a trunk
Warning: Deleting a trunk also removes its bound DIDs and any inbound/outbound rules referencing it. Before deleting, make sure no active rule depends on the trunk.
- In the Trunks list, select the trunk
- Click Delete
- Confirm
Next steps
After the trunk is registered, configure call routing:
→ Inbound Rules → Outbound Rules
Last updated: 2026-05-01