TheVoĉoTheVoĉo
Configuration

What are Outbound Routes?

Outbound routes control how outgoing calls from extensions are processed and routed through your SIP trunks to reach external phone numbers. They determine which trunk to use, which extensions can call where, and how numbers are manipulated before sending to the provider.

Understanding Outbound Routing

Key Components:

  • Dial Pattern: Which numbers this route handles (local, long distance, international)
  • Trunk Selection: Which trunk(s) to use and in what order (primary/failover)
  • Strip/Prepend: Number manipulation before sending to trunk
  • Permissions: Which extensions/groups can use this route
  • Time Conditions: When this route is available

Call Flow:

  1. User dials external number
  2. System matches number against dial patterns
  3. Checks user has permission for matched route
  4. Verifies time conditions (if any)
  5. Strips/prepends digits as configured
  6. Sends call through selected trunk(s)

Create an Outbound Route

Go to Settings > Trunks > Outbound Routes > Click Add Outbound Route

Configure General Settings

Route Identification:

  • Route Name: Clear, descriptive identifier
  • Include call type and restrictions
  • Use consistent naming convention

Naming Examples:

  • Local-Calls-All-Users
  • Long-Distance-Managers-Only
  • International-Executives
  • Toll-Free-Sales-Team
  • Emergency-911-All-Users

Best Practice

Name should indicate: call type + who can use it. Makes permission management and troubleshooting easier.

Route Documentation:

Add detailed information:

  • Purpose of the route
  • Which departments/users can access
  • Cost implications
  • Special restrictions or requirements

Example Description:

Local calls within area code 555. Available to all users.
No cost restrictions. Uses primary trunk with automatic
failover to backup trunk. Updated: 2025-11-01

Documentation

Good descriptions help team members understand routing logic and business rules without examining dial patterns.

Enable/Disable Route:

  • Enabled: Route is active and processing calls
  • Disabled: Route is ignored (calls may match other routes or fail)

Use Cases for Disabling:

  • Testing new route configuration
  • Temporarily blocking call types (cost control)
  • Troubleshooting routing issues
  • Scheduled maintenance

Impact

Disabling a route without an alternative will prevent users from making those calls. Plan accordingly.

Configure Dial Patterns

Pattern Matching Characters:

  • X: Matches any digit 0-9
  • Z: Matches any digit 1-9
  • N: Matches any digit 2-9
  • . (dot): Matches any sequence of characters
  • !: Matches immediately (no additional digits)
  • [ ]: Matches one of the digits inside brackets
  • [^]: Matches anything except digits inside brackets

Pattern Matching Rules:

  • Patterns are matched left to right
  • Longest match wins
  • More specific patterns should have higher priority
  • Users can dial additional digits after pattern match

Dial Timeout

System waits briefly after pattern match for additional digits. Use ! to match immediately without waiting.

Standard Dial Patterns:

Emergency (US):

  • 911! - Emergency services (immediate dial)

Local 7-Digit (US):

  • NXXXXXX - 7-digit local calling

Local 10-Digit (US):

  • NXXNXXXXXX - 10-digit local
  • Can't start with 0 or 1

Long Distance (US):

  • 1NXXNXXXXXX - 1 + 10 digits
  • North American long distance

International:

  • 011. - International prefix + any digits (US)
  • 00. - International prefix (Europe)
  • +. - Plus format international

Toll-Free (US):

  • 1800NXXXXXX - 800 numbers
  • 1888NXXXXXX - 888 numbers
  • 1877NXXXXXX - 877 numbers
  • 1866NXXXXXX - 866 numbers
  • 1855NXXXXXX - 855 numbers
  • 1844NXXXXXX - 844 numbers
  • 1833NXXXXXX - 833 numbers

Regional Variations

Dial patterns vary by country. Adjust patterns based on your location and dialing conventions.

Number Manipulation:

Strip Digits: Remove leading digits before sending to trunk

  • Strip 1 digit: Remove international prefix user dialed
  • Strip 0 digits: Send number as-is

Prepend Digits: Add digits before sending to trunk

  • Prepend 1: Add "1" for long distance
  • Prepend 011: Add international prefix
  • Prepend nothing: Send number as-is

Why Manipulate Numbers?

  • Match provider expectations
  • Convert between dialing formats
  • Add required prefixes
  • Normalize number format

Example Transformations:

User dials: 911
Strip: 0, Prepend: (none)
Sent to trunk: 911

User dials: 5551234
Strip: 0, Prepend: 555
Sent to trunk: 5555551234

User dials: 15551234567
Strip: 1, Prepend: (none)
Sent to trunk: 5551234567

User dials: 005551234567 (intl)
Strip: 2, Prepend: +
Sent to trunk: +5551234567

Provider Requirements

Check your trunk provider's requirements for number format. Incorrect format causes call failure.

Real-World Pattern Examples:

Pattern 1: Emergency

Pattern: 911!
Strip: 0
Prepend: (none)
Result: 911 sent immediately to trunk
Priority: Highest (1)

Pattern 2: Local 7-Digit

Pattern: NXXXXXX
Strip: 0
Prepend: 555 (area code)
Result: User dials 1234567, trunk receives 5551234567
Use Case: Add area code to local calls

Pattern 3: Local 10-Digit

Pattern: NXXNXXXXXX
Strip: 0
Prepend: (none)
Result: Send as dialed
Use Case: Standard local calling

Pattern 4: Long Distance

Pattern: 1NXXNXXXXXX
Strip: 0
Prepend: (none)
Result: Send with "1" prefix
Use Case: US/Canada long distance

Pattern 5: International (US Format)

Pattern: 011.
Strip: 3 (remove "011")
Prepend: + (add plus format)
Result: User dials 0115551234567, trunk receives +5551234567
Use Case: Convert to E.164 format

Pattern 6: International (Plus Format)

Pattern: +.
Strip: 0
Prepend: (none)
Result: Send as dialed
Use Case: Already in E.164 format

Pattern 7: Toll-Free

Pattern: 1[2-9]XXXXXX (matches 1800, 1888, etc.)
Strip: 0
Prepend: (none)
Result: Send with "1" prefix
Use Case: All toll-free prefixes

Testing

Test dial patterns thoroughly with actual numbers to verify strip/prepend logic works correctly.

Select Trunk(s)

Single Trunk Configuration:

Select one trunk for this route:

  • Trunk: Choose from configured trunks
  • All calls use this trunk
  • Simplest configuration

Use Cases:

  • Single provider setup
  • Dedicated trunk for call type (local, international)
  • Testing new trunk
  • Provider-specific routing

Reliability

Single trunk setup works but provides no redundancy. Consider adding backup trunk for business continuity.

Multi-Trunk Configuration:

Select multiple trunks in order of preference:

  1. Primary Trunk: First choice
  2. Secondary Trunk: Backup if primary fails
  3. Tertiary Trunk: Second backup
  4. Additional trunks as needed

Selection Order:

  • Drag trunks to reorder
  • Top trunk tried first
  • Falls to next trunk on failure
  • Continues until call succeeds or all trunks exhausted

Benefits:

  • High availability
  • Automatic failover
  • No manual intervention needed
  • Reduced downtime

Business Continuity

Always configure at least one backup trunk for critical routes (emergency, main lines).

Automatic Failover:

How Failover Works:

  1. Call attempts on primary trunk
  2. If primary fails (busy, down, error), tries secondary
  3. If secondary fails, tries tertiary
  4. Continues through trunk list
  5. Returns error if all trunks fail

Failure Conditions:

  • Trunk not registered
  • All channels busy
  • Provider error
  • Network timeout
  • Invalid credentials

Failover Speed:

  • Typically 2-5 seconds between attempts
  • Caller experiences brief pause
  • Transparent to user in most cases

Testing Failover:

  • Disable primary trunk
  • Make test call
  • Verify routes through secondary
  • Re-enable primary trunk
  • Confirm returns to primary

Regular Testing

Test failover monthly to ensure backup trunks are functional. Don't wait for emergency to discover issues.

Distribute Calls Across Trunks:

Why Load Balance?

  • Maximize capacity
  • Prevent single trunk overload
  • Better cost distribution
  • Improved reliability

Load Balancing Strategies:

Strategy 1: Sequential (Default)

  • Use primary until full
  • Overflow to secondary
  • Best for different providers/costs

Strategy 2: Round Robin

  • Rotate between trunks equally
  • Distribute load evenly
  • Best for identical trunks

Strategy 3: Weighted

  • More calls to higher-capacity trunks
  • Example: 70% trunk A, 30% trunk B
  • Requires custom configuration

Example Setup:

Trunk A: 10 channels (primary)
Trunk B: 10 channels (secondary)
Total capacity: 20 concurrent calls
Failover: Automatic if either trunk fails

Capacity Planning

Size trunk capacity for peak usage + 20% buffer. Load balancing maximizes utilization of available capacity.

Configure Permissions

Grant Access to All Users:

  • Permission: All Extensions
  • Every extension can use this route
  • No restrictions

Best For:

  • Local calls
  • Emergency calls (911)
  • Toll-free calls
  • Internal network calls

Example Routes:

  • Emergency services (911)
  • Local 10-digit calls
  • Company toll-free numbers
  • Frequently called business numbers

Security

Even with "all extensions" access, consider time restrictions or monitoring for unusual usage patterns.

Grant Access to Selected Users:

  • Permission: Selected Extensions
  • Choose specific extensions from list
  • Granular control

Use Cases:

  • International calling (executives only)
  • Long distance (managers)
  • Premium numbers (accounting)
  • Mobile calls (sales team)

Configuration:

  1. Select "Specific Extensions" permission
  2. Choose extensions from list
  3. Multi-select for multiple users
  4. Save permissions

Example:

Route: International-Calls
Dial Pattern: 011.
Permitted Extensions:
- Extension 1000 (CEO)
- Extension 1001 (CFO)
- Extension 1100 (Sales Manager)
- Extension 1101 (International Sales Rep)

Maintenance

Update permissions when employees join/leave or change roles. Review quarterly to ensure accuracy.

Grant Access by Group:

  • Permission: Extension Groups
  • Assign permissions to user groups
  • Easier management for large organizations

Group Types:

  • Department (Sales, Support, HR)
  • Role (Manager, Staff, Executive)
  • Location (HQ, Branch Office)
  • Custom groups

Benefits:

  • Easier permission management
  • Consistent role-based access
  • Fewer permission changes when users move
  • Scales better for large organizations

Example Structure:

Group: Executives
Route Access: All routes (local, long distance, international)

Group: Managers
Route Access: Local, long distance, select international

Group: Staff
Route Access: Local, toll-free only

Group: Sales-Team
Route Access: Local, long distance, mobile numbers

Best Practice

Use groups for permission management in organizations with 10+ users. Makes scaling and role changes much easier.

Time-Based Route Access:

Control when routes are available:

Business Hours Only:

  • Route available Monday-Friday, 8 AM - 6 PM
  • Prevents after-hours toll abuse
  • Reduces fraud risk

After Hours:

  • Emergency calls only after hours
  • Limited calling outside business hours
  • On-call staff exceptions

Day-Specific:

  • Reduced access on weekends
  • Holiday restrictions
  • Shift-based permissions

Example Configurations:

Route: Long-Distance-Business-Hours
Dial Pattern: 1NXXNXXXXXX
Time: Monday-Friday, 8:00 AM - 6:00 PM
Outside Hours: Route disabled or different route active

Route: Emergency-24x7
Dial Pattern: 911!
Time: Always enabled
No restrictions

Security & Cost Control

Time restrictions prevent toll fraud and unauthorized usage outside business hours. Recommended for international routes.

Set Route Priority

Route Priority:

Determines which route is checked first when multiple routes could match:

  • Priority 1: Highest priority, checked first
  • Priority 2-9: Checked in order
  • Priority 10+: Lower priority routes
  • No Priority/Last: Checked last

How Priority Works:

  1. User dials number
  2. System checks routes in priority order
  3. First route with matching dial pattern wins
  4. Permission check occurs
  5. Call routed through matched route
  6. No further routes checked

Critical

Wrong priority order causes incorrect routing. More specific patterns must have higher priority than general patterns.

Priority Structure:

Priority 1-2: Emergency & Special

  • 911/999/112 emergency
  • Special service numbers
  • Company-specific numbers
  • Highest priority, exact matches

Priority 3-5: Specific Patterns

  • Toll-free (1800, etc.)
  • Local 7-digit with area code prepend
  • Specific geographic patterns
  • Mobile prefixes

Priority 6-10: General Patterns

  • Local 10-digit (NXXNXXXXXX)
  • Long distance (1NXXNXXXXXX)
  • Common calling patterns

Priority 20+: International

  • International calling (011., 00., +.)
  • Premium numbers
  • Expensive call types
  • Least restrictive patterns

Priority 99: Catch-All (if used)

  • Pattern: `. (dot matches all)
  • Last resort routing
  • Default handling

Example Priority Structure:

Priority 1: 911! → Emergency trunk
Priority 2: 1800NXXXXXX → Toll-free trunk
Priority 3: NXXXXXX → Local (prepend area code)
Priority 5: NXXNXXXXXX → Local 10-digit
Priority 7: 1NXXNXXXXXX → Long distance
Priority 15: 011. → International

Testing Priority

Test with actual numbers to verify correct route matching. Use call logs to see which route was used.

Priority Best Practices:

  1. Emergency First: Always highest priority
  2. Specific Before General: Exact patterns before wildcards
  3. Local Before Long Distance: Lower cost routes first
  4. International Last: Expensive routes lowest priority
  5. Gap Numbering: Use 1, 5, 10, 15 to allow insertions

Why Gap Numbering?

Priority: 1, 5, 10, 15 (not 1, 2, 3, 4)
Benefit: Can insert Priority 3 later without renumbering all routes

Common Mistakes:

  • ❌ International pattern higher priority than local
  • ❌ Wildcard pattern blocks specific patterns
  • ❌ No emergency route or wrong priority
  • ❌ Overlapping patterns with wrong priority
  • ❌ Catch-all route too high in priority

Verification:

  • Document priority structure
  • Test each pattern with actual numbers
  • Review call logs for unexpected route usage
  • Audit quarterly

Documentation

Document your priority structure and reasoning. Helps troubleshooting and onboarding new administrators.

Configure Advanced Options (Optional)

Outbound Caller ID Override:

Control what caller ID is sent on this route:

Options:

  • Default: Use trunk's default caller ID
  • Extension's DOD: Use extension's configured outbound caller ID
  • Route-Specific: Override with specific number for this route
  • Dynamic: Select from available DIDs

Use Cases:

Route-Specific Caller ID:

Route: International-Calls
Caller ID: +15551234567 (main office number)
Reason: Show consistent caller ID for all international calls

Department Caller ID:

Route: Sales-Team-Outbound
Caller ID: +15551234570 (sales department line)
Reason: Sales team shows department number

Extension DOD:

Route: Manager-Long-Distance
Caller ID: Use extension's configured DOD
Reason: Managers show their direct lines

Provider Restrictions

Many providers only allow caller ID from DIDs registered to your account. Attempting to spoof caller ID may result in call rejection.

Automatic Route Recording:

Enable recording for all calls on this route:

Configuration:

  • Enable Recording: Yes/No
  • Announcement: Play "call may be recorded" (legal requirement)
  • Both Directions: Record both parties
  • Storage: Local or cloud

Use Cases:

  • Compliance (financial, medical)
  • Quality assurance
  • Training purposes
  • Dispute resolution
  • Sales verification

Legal Considerations:

  • Check local laws (one-party vs two-party consent)
  • Play announcement if required
  • Document retention policy
  • Secure storage
  • Access controls

Legal Compliance

Call recording laws vary by jurisdiction. Always play announcement in two-party consent states/countries. Consult legal counsel.

Call Accounting & Cost Tracking:

Track costs and usage per route:

Configuration:

  • Cost per Minute: Rate for this route
  • Cost Center: Department/project code
  • Billing Code: For chargeback purposes

Reporting:

  • Total minutes per route
  • Cost per department
  • Usage trends
  • Budget tracking
  • Chargeback reports

Use Cases:

  • Department cost allocation
  • Project billing
  • Usage monitoring
  • Budget management
  • Fraud detection

Example:

Route: Local-Calls
Cost: $0.01/minute
Cost Center: General

Route: International-Calls
Cost: $0.15/minute
Cost Center: Sales-Department

Reports show:
- Sales: 500 minutes international = $75
- Support: 100 minutes international = $15
- Total international: $90

Budget Control

Cost tracking enables usage monitoring and cost allocation by department. Essential for chargeback and budget management.

Additional Number Manipulation:

Advanced strip/prepend options:

Prefix:

  • Add digits before number
  • Different from general prepend
  • Route-specific manipulation

Suffix:

  • Add digits after number
  • Special provider requirements
  • Rarely used

Custom Manipulation:

  • Regular expressions
  • Complex number rewrites
  • Provider-specific formats

Example Scenarios:

Scenario 1: Provider Prefix

Pattern: NXXNXXXXXX
Strip: 0
Prepend: (none)
Prefix: 9 (provider requires "9" for outside line)
Result: User dials 5551234567, trunk receives 95551234567

Scenario 2: Account Code

Pattern: 1NXXNXXXXXX
Prefix: *123* (account code)
Result: *123*15551234567 (for billing tracking)

Rare Usage

Most setups don't need prefix/suffix. Only use if your provider requires specific number format or account codes.

Save and Test

Click Save to create the outbound route.

Route Created

Outbound route is configured. Now test to verify calls route correctly through the trunk.

Test the Route

Testing Checklist:

  1. Basic Test:

    • Dial test number matching pattern
    • Verify call connects
    • Check call quality
    • Verify caller ID displayed correctly
  2. Permission Test:

    • Test from permitted extension (should work)
    • Test from non-permitted extension (should fail/use different route)
    • Verify error message for blocked calls
  3. Trunk Selection:

    • Verify call uses correct trunk
    • Check call logs for trunk used
    • Test during high call volume
  4. Failover Test (if multiple trunks):

    • Disable primary trunk
    • Make test call
    • Verify routes through backup trunk
    • Re-enable primary
    • Verify returns to primary
  5. Number Manipulation:

    • Check provider's CDR/logs
    • Verify correct number format sent
    • Confirm strip/prepend worked correctly

Production Testing

Test during low-traffic periods. Have rollback plan ready if issues arise.


Common Outbound Routing Scenarios

Small Business Routing (US):

Route 1: Emergency

Name: Emergency-911
Priority: 1
Pattern: 911!
Strip: 0
Prepend: (none)
Trunk: Primary trunk
Permissions: All extensions

Route 2: Local Calls

Name: Local-10-Digit
Priority: 5
Pattern: NXXNXXXXXX
Strip: 0
Prepend: (none)
Trunk: Primary trunk, Backup trunk
Permissions: All extensions

Route 3: Long Distance

Name: Long-Distance-US-Canada
Priority: 10
Pattern: 1NXXNXXXXXX
Strip: 0
Prepend: (none)
Trunk: Primary trunk, Backup trunk
Permissions: All extensions

Route 4: Toll-Free

Name: Toll-Free-Numbers
Priority: 3
Pattern: 1[2-9]XXXXXX
Strip: 0
Prepend: (none)
Trunk: Primary trunk
Permissions: All extensions

Simple & Effective

Basic setup covers 95% of small business needs. All users can call local, long distance, and toll-free.

Enterprise Multi-Tier Routing:

Tier 1: Emergency (All Users)

Route: Emergency-Services
Pattern: 911!
Priority: 1
Permissions: All
Trunk: Primary, Backup

Tier 2: Local Calls (All Users)

Route: Local-All-Users
Pattern: NXXNXXXXXX
Priority: 5
Permissions: All
Trunk: Primary, Backup

Tier 3: Long Distance (Employees)

Route: Long-Distance-Employees
Pattern: 1NXXNXXXXXX
Priority: 10
Permissions: Employee group
Trunk: Primary, Backup
Time: Business hours only

Tier 4: International (Managers)

Route: International-Managers
Pattern: 011.
Priority: 15
Permissions: Manager group
Trunk: International trunk, Backup
Cost Tracking: Enabled
Time: Business hours only

Tier 5: Unrestricted (Executives)

Route: Unrestricted-Executives
Pattern: 011.
Priority: 14
Permissions: Executive group
Trunk: Premium trunk, International, Backup
24/7 Access: Yes

Role-Based Access

Enterprise routing enforces role-based permissions, reduces costs, and improves security through segmented access.

Cost-Optimized Routing:

Strategy: Least-Cost Routing (LCR)

Route 1: Local (Cheapest)

Name: Local-Least-Cost
Pattern: NXXNXXXXXX
Trunk 1: VoIP Provider A ($0.01/min)
Trunk 2: VoIP Provider B ($0.015/min)
Trunk 3: Traditional trunk ($0.02/min)
Result: Always uses cheapest available trunk

Route 2: Long Distance (Tiered)

Name: Long-Distance-Optimized
Pattern: 1NXXNXXXXXX
Trunk 1: Unlimited plan trunk (no per-min cost)
Trunk 2: Per-minute trunk ($0.05/min)
Result: Uses unlimited first, per-minute as backup

Route 3: International (Geographic)

Name: International-UK-Optimized
Pattern: 01144. (UK country code)
Trunk: UK-specific trunk ($0.08/min to UK)
Cheaper than general international trunk ($0.15/min)

Name: International-General
Pattern: 011.
Trunk: General international trunk
Fallback for non-optimized countries

Route 4: Mobile Numbers (Controlled)

Name: Mobile-Calls-Restricted
Pattern: 1[2-9]XX[2-9]XXXXXX (mobile prefixes)
Permissions: Sales team only
Trunk: Standard trunk
Reason: Mobile minutes often more expensive

Route 5: Premium Numbers (Blocked)

Name: Block-Premium-Numbers
Pattern: 1900XXXXXXX
Destination: Announcement ("Premium numbers blocked")
Hang up
Reason: Prevent expensive premium calls

Cost Savings

Least-cost routing can reduce telecom costs by 30-50%. Especially effective for high-volume businesses.

Multi-Office Routing:

HQ (New York):

Route: NY-Local
Pattern: NXXNXXXXXX
Caller from: NY extensions (1000-1099)
Trunk: NY trunk (local rates)
Caller ID: NY office number

Branch Office (LA):

Route: LA-Local
Pattern: NXXNXXXXXX
Caller from: LA extensions (2000-2099)
Trunk: LA trunk (local rates)
Caller ID: LA office number

Inter-Office Calls:

Route: HQ-to-LA
Pattern: 2XXX (LA extensions)
Destination: SIP trunk to LA office PBX
No external trunk usage
Free inter-office calls

Mobile Workers:

Route: Mobile-Workers
Caller from: Remote extensions (8000-8099)
Trunk: Based on user's home location
Caller ID: User's assigned office number
VPN: Tunneled through HQ

Intelligent Routing:

If caller in NY area code → Use NY trunk
If caller in LA area code → Use LA trunk
Result: Local calling rates from any office

Cost Optimization

Location-based routing ensures local calling rates regardless of where employees are physically located.

International Calling Setup:

Route 1: International - Plus Format

Name: International-Plus-Format
Pattern: +.
Strip: 0
Prepend: (none)
Priority: 15
Permissions: Authorized users
Trunk: International trunk

Route 2: International - US Format

Name: International-011-Format
Pattern: 011.
Strip: 3 (remove 011)
Prepend: + (E.164 format)
Priority: 16
Permissions: Authorized users
Trunk: International trunk

Route 3: Canada (Lower Cost)

Name: Canada-Calling
Pattern: 1NXXNXXXXXX
Where NXX includes Canadian area codes
Priority: 8
Trunk: NANP trunk (same as US)
Cost: Same as US long distance

Route 4: UK-Optimized

Name: UK-Calls-Optimized
Pattern: 011 44. (or +44.)
Trunk: UK-specific trunk
Cost: $0.08/min
Priority: 12 (before general international)

Route 5: Mexico-Optimized

Name: Mexico-Calls
Pattern: 011 52. (or +52.)
Trunk: Mexico trunk
Cost: $0.05/min
Priority: 13

Route 6: Block High-Cost

Name: Block-Premium-International
Pattern: 011 [expensive country codes]
Destination: Announcement ("Country blocked")
Examples: Premium rate countries, satellite phones

Time-Based International:

Business Hours: Normal international routes
After Hours: Disabled or manager-only
Reason: Fraud prevention, cost control

Fraud Prevention

International routes are prime targets for toll fraud. Implement strict permissions, time restrictions, and usage monitoring.


Advanced Features

Speed Dial Codes:

Create short codes for frequently called numbers:

Configuration:

Speed Code: *100
Destination: +15551234567 (main customer support)

Speed Code: *200
Destination: 911 (emergency)

Speed Code: *300
Destination: +18005551234 (corporate helpdesk)

How It Works:

  1. User dials speed code (*100)
  2. System translates to full number
  3. Routes through appropriate outbound route
  4. Caller doesn't need to remember full number

Use Cases:

  • Frequently called external numbers
  • Emergency services
  • Corporate hotlines
  • Customer support lines
  • Vendor contacts

User Convenience

Speed dial codes improve efficiency for frequently called numbers. Print reference card for users.

Block Specific Destinations:

Prevent calls to expensive or prohibited numbers:

Blocked Number Types:

  • Premium rate numbers (900, 976, etc.)
  • International adult services
  • Expensive satellite phones
  • Specific area codes
  • Known fraud numbers

Configuration Method 1: Block Route

Name: Block-Premium-Numbers
Pattern: 1900XXXXXXX
Priority: 2 (high, checked early)
Destination: Play message "Premium numbers blocked"
Hang up

Configuration Method 2: No Route Simply don't create a route matching the pattern. Calls will fail with "no route" error.

Configuration Method 3: Blacklist Use PBX's built-in number blacklist feature for specific numbers.

Example Blocks:

Block 1-900 (premium): 1900XXXXXXX
Block 1-976 (adult): 1976XXXXXXX
Block Cuba: 01153. or +53.
Block satellite: 01188216. or +88216.

Security

Blocking prevents toll fraud and unauthorized expensive calls. Review provider bills for unusual patterns and block as needed.

Require Account Code for Calls:

Force users to enter account/project code before calling:

How It Works:

  1. User dials outbound number
  2. System prompts: "Please enter account code"
  3. User enters code
  4. System verifies code
  5. If valid: Call proceeds
  6. If invalid: Call rejected

Use Cases:

  • Project billing/chargeback
  • Client matter codes (legal firms)
  • Department cost allocation
  • Travel expense tracking
  • Per-project accounting

Configuration:

Route: Long-Distance-With-Code
Pattern: 1NXXNXXXXXX
Account Code: Required
Valid Codes: Import from database
Cost Tracking: Per account code
Reporting: Usage by account code

Reports Generated:

Account Code 1234: 45 minutes, $22.50 (Project A)
Account Code 5678: 120 minutes, $60.00 (Project B)
Account Code 9012: 30 minutes, $15.00 (Department C)

Accounting Integration

Account codes enable accurate cost allocation for billing, chargeback, and project accounting.

Music on Hold for External Calls:

Play music when placing external callers on hold:

Configuration:

  • Default MOH: System-wide hold music
  • Route-Specific MOH: Different music per route type
  • Custom MOH: Upload your own audio

Use Cases:

  • Different music for different trunks
  • Promotional messages on hold
  • Seasonal music
  • Brand-specific audio

Example:

Route: Customer-Support-Line
MOH: Custom - "Thank you for calling. Your call is important..."

Route: Sales-Line
MOH: Promotional - Information about products/services

Route: General-Calls
MOH: Default - Classical music

Professional Experience

Custom on-hold messages with information about products, hours, or promotions turn hold time into marketing opportunity.


Best Practices

Outbound Routing Recommendations

Follow these best practices for efficient, secure, and cost-effective outbound calling.

Security

  1. Least Privilege: Only grant permissions needed for job function
  2. Time Restrictions: Disable expensive routes outside business hours
  3. Monitor Usage: Set up alerts for unusual patterns
  4. Strong Passwords: Secure extension credentials to prevent fraud
  5. Rate Limiting: Limit calls per extension per hour
  6. Block Premium: Block 900, premium, and high-cost destinations
  7. Review Bills: Audit trunk bills monthly for anomalies

Cost Management

  1. Least-Cost Routing: Use cheapest trunk for each destination
  2. Usage Tracking: Track costs per department/project
  3. Budget Alerts: Alert when usage exceeds thresholds
  4. Regular Audits: Review permissions quarterly
  5. Eliminate Waste: Remove unused routes and permissions
  6. Negotiate Rates: Review provider rates annually
  7. Optimize Trunks: Right-size capacity to avoid overpaying

Reliability

  1. Multiple Trunks: Configure backup trunks for failover
  2. Test Failover: Test monthly to ensure backups work
  3. Emergency Priority: Always highest priority, all permissions
  4. Monitor Status: Alert on trunk failures
  5. Documentation: Document all routes and logic
  6. Change Control: Test changes before production
  7. Backup Config: Export configuration regularly

Performance

  1. Efficient Patterns: Use specific patterns over wildcards
  2. Priority Structure: Logical priority ordering
  3. Minimal Manipulation: Only strip/prepend when necessary
  4. Quality Trunks: Use reliable providers
  5. Monitor Quality: Track call quality metrics
  6. Capacity Planning: Size trunks for peak + buffer
  7. Load Balancing: Distribute calls across trunks

Troubleshooting

Can't make outbound calls?

Diagnostic Steps:

  1. Verify Route Exists:

    • Check outbound routes list
    • Confirm dial pattern matches number dialed
    • Verify route is enabled
  2. Check Permissions:

    • Verify extension has permission for route
    • Check extension group memberships
    • Review time restrictions
  3. Test Trunk:

    • Verify trunk is registered/connected
    • Check trunk capacity (all channels busy?)
    • Test with different extension
  4. Dial Pattern:

    • Verify pattern syntax is correct
    • Test with exact match pattern
    • Check strip/prepend logic
  5. Review Call Logs:

    • Check if call reached PBX
    • See error message (no route, no permission, trunk down)
    • Review SIP messages for failure reason

Common Causes

90% of "no outbound calls" are either permission issues or trunk problems. Check those first.

Call using wrong trunk?

Possible Causes:

  1. Priority Issue:

    • Multiple routes match, wrong one selected first
    • Check priority order
    • More specific route needs higher priority
  2. Pattern Overlap:

    • Broad pattern matching before specific pattern
    • Review all patterns for number range
    • Adjust priority accordingly
  3. Trunk Failover:

    • Primary trunk down/busy
    • Automatically failing to backup trunk
    • Check trunk status

Resolution:

  1. Review all routes that could match the number
  2. Check priority of each route
  3. Verify intended route has highest priority for this number
  4. Test with other numbers to confirm pattern matching
  5. Review call logs to see which route/trunk was used

Testing Priority

Temporarily disable other routes to isolate which route is matching. Helps identify priority issues.

User gets "permission denied" error?

Verification Steps:

  1. Check Route Permissions:

    • Go to route configuration
    • Verify extension is in permitted list
    • Check group memberships if using groups
  2. Time Restrictions:

    • Verify current time is within allowed hours
    • Check if time condition is configured
    • Test during different time to confirm
  3. Extension Settings:

    • Check extension's outbound route permissions
    • Verify extension isn't blocked
    • Check account status (suspended?)
  4. Route Status:

    • Verify route is enabled
    • Check if route was recently modified
    • Confirm configuration was saved

Quick Fix:

  1. Add extension to route's permitted list
  2. Or add extension to permitted group
  3. Save and test immediately

Security vs Access

Permission denied is working as designed. If user needs access, verify with management before granting (especially for international).

Provider rejects calls due to number format?

Common Format Issues:

  1. Missing Country Code:
User dials: 5551234567
Sent to trunk: 5551234567
Provider expects: +15551234567
Fix: Prepend +1
  1. Extra Prefix:
User dials: 15551234567
Sent to trunk: 15551234567
Provider expects: 5551234567
Fix: Strip 1 digit
  1. Wrong Format:
User dials: 011445551234567
Sent to trunk: 011445551234567
Provider expects: +445551234567
Fix: Strip 3, Prepend +
  1. Missing Area Code:
User dials: 5551234 (7-digit local)
Sent to trunk: 5551234
Provider expects: 5555551234
Fix: Prepend 555 (area code)

Diagnostic Process:

  1. Check provider's CDR/logs for number they received
  2. Compare to number format they expect (documentation)
  3. Adjust strip/prepend to convert correctly
  4. Test with multiple numbers to confirm

Provider Documentation

Always check your provider's documentation for required number format. E.164 (+country code) is most common but not universal.


Next Steps