Overview
An Inbound Rule tells VeloPBX what to do when an external caller dials one of your DID numbers. You can route the call to an Extension, IVR (Virtual Receptionist), Ring Group, Call Queue, Voicemail, or an external PSTN number, and you can apply different routing for office hours, after hours, and holidays.
In the Web Portal, go to Call Manager → Inbound Rules:
https://pbx.fortis-tele.com:8887
Creating an Inbound Rule
Step 1 — Add a new rule
- Call Manager → Inbound Rules
- Click Add
Step 2 — Fill in the matching fields
| Field | Description | Example |
|---|---|---|
| Name | A friendly label that helps you identify the rule later | Main Line |
| Trunk | The SIP trunk that delivers this DID. Each Inbound Rule is bound to exactly one trunk. | {{TRUNK_NAME}} |
| DID/DDI Number Mask | The DID as it arrives in the SIP To header — a single number (+374 60 123456) or a range (12012345001-12012346000) | +374 60 123456 |
| Caller Number Mask | (Optional) Restrict the rule to specific caller IDs. Leave empty to match all callers. | 0044**** |
About the Caller Number Mask. You can combine ranges, single numbers, and wildcards using
. The number ofcharacters must equal the number of digits you want to match. Example:0044matches a 14-character UK number;004420matches London-area numbers. Combine multiple conditions with semicolons:0036*;1000-2000;6000. In most deployments you can leave this field empty.
Note about prefixes. The DID and the trunk’s DID pool must not start with
+,0, or00. If your provider presents the number with such a prefix, strip it before entering the value.
If both Caller Number Mask and DID/DDI Number Mask are set, the rule matches only when both conditions are satisfied. If only DID/DDI Number Mask is set, the rule matches whenever the called number matches.
You can also enable Play recording notifications so that callers hear a voice prompt informing them the call may be recorded.

From Twilio). Caller Number Mask — leave empty to match every caller, or specify a range (e.g. 100-200) or wildcard (e.g. 0038* for any 10-digit number starting with 0038). Trunks — select the trunk that delivers the call. DID/DDI Number or Number Range — a single number (e.g. 3356123091) or a range (e.g. 123456 / 10000-20000). The Enable toggle activates the rule and Play recording notifications plays the recording-notice prompt.Step 3 — Configure how matched calls are routed
For each of the three time windows — Office Hours, Out of Office Hours, and Holidays — choose a forwarding action:
| Action | What it does |
|---|---|
| Forward to Number | Sends the call to an extension, system extension (Ring Group, Virtual Receptionist, Queue, Conference), a PSTN number, or an extension range |
| Forward to Voicemail | Drops the caller straight into the voicemail box of the chosen extension |
| Hang Up | Terminates the call when it matches this rule |
Note: If you have not configured Office Hours, VeloPBX uses the Office Hours routing for every call, regardless of the time of day.

12012345001-12012346000 is routed three ways. Office Hours → Forward to Number → extension range 1001-2000 (1:1 mapping). Out of Office Hours → Forward to Number → the same 1001-2000 range (in this example; in practice this would usually be voicemail). Holidays → Forward to Number → 1001-2000. The magnifier icon lets you pick the destination from a list.
1001). All three time windows route to the same extension. Use this pattern when the DID is a personal direct number for one employee.
0. Extension 0 is conventionally the operator (receptionist) extension or the default IVR. This is a useful fallback when no direct human agent is configured.Step 4 — Save
Click Save.
Bulk DID-to-Extension Mapping
If you have a serial range of DIDs that map 1:1 to a serial range of extensions (for example, 100 DIDs to 100 extensions), you can express that with a single Inbound Rule. Both the DID Number Mask and the Forward to Number must be ranges of the same size.
| Field | Value |
|---|---|
| DID Number Mask | 442012345600-442012345800 |
| Forward to Number | 1100-1300 |
With this configuration, a call to 442012345600 is routed to extension 1100, a call to 442012345698 is routed to extension 1198, and so on.
Pass-through mode
In some integrations you may want VeloPBX to forward the call without rewriting the called number — typically when a downstream system handles the final routing. To do this, set the destination number to 0 in the Inbound Rule. VeloPBX preserves the dialed number as it routes the call.
Per-rule Office Hours
An Inbound Rule can have its own Office Hours that override the tenant-wide schedule. This is useful when different DIDs follow different schedules (for example, Sales runs 09:00–17:00 while Support is 24/7).
- Inside the Inbound Rule, open the Office Hours tab and choose Use Specific Office Hours.
- Enable the days of the week you want as working days.
- Add one or more time ranges for each day (e.g. 09:00–13:00 and 14:00–18:00 around lunch).
- In the Holidays section, click Select Holidays and pick from the global list.

Editing and Deleting Rules
- Edit: select a rule from the list → Edit → make changes → Save.
- Delete: tick the rule’s checkbox → Delete → confirm.
Warning: Once an Inbound Rule is deleted, calls to that DID are no longer routed until you create a replacement.
Sample Configurations
Example 1 — DID → IVR with after-hours voicemail
| Setting | Value |
|---|---|
| Name | Main Inbound |
| DID | +374 60 123456 |
| Office Hours routing | IVR → Main IVR |
| After-hours routing | Voicemail → General Voicemail |
Example 2 — Direct DID → Extension
| Setting | Value |
|---|---|
| Name | Direct — {{COMPANY_NAME}} Sales Lead |
| DID | +374 60 123456 |
| Office Hours routing | Extension → 1001 |
| After-hours routing | Voicemail → mailbox of 1001 |
Next Step
Last updated: 2026-05-01