Ctrl K
ring2all.com

Speed Dials Module Documentation

Table of Contents

  1. Module Overview (Technical)
  2. Module Overview (Commercial/Business)
  3. Module Overview (End User/Administrator)
  4. Configuration Fields Reference
  5. Call Flow / Logic Explanation
  6. Import/Export Feature
  7. Common Scenarios & Examples
  8. Limitations & Important Notes
  9. Troubleshooting Tips
  10. Glossary

---

1. Module Overview (Technical)

What Are Speed Dials?

Speed Dials are shortcut codes that map to full destination numbers. Users dial a short code (like 202) and the system automatically dials the full number (like +1-555-123-4567).

Architecture

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│                    Speed Dial System                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  User dials: 202 (speed dial code)                              │
│       │                                                         │
│       ▼                                                         │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │              Speed Dial Lookup                           │   │
│  │  SELECT * FROM speed_dials                               │   │
│  │  WHERE speed_code = '202' AND enabled = true             │   │
│  └──────────────────────────────────────────────────────────┘   │
│       │                                                         │
│       ▼                                                         │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │              Found: destination = '+15551234567'         │   │
│  │                                                          │   │
│  │  Check Class of Service (if specified):                  │   │
│  │  ├─ CoS specified → Verify caller has permission        │   │
│  │  └─ CoS empty → Inherit from caller's extension         │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│       │                                                         │
│       ▼                                                         │
│  Dial +1-555-123-4567 using normal outbound routing             │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Key Tables

TablePurpose
public.speed_dialsSpeed dial definitions (code, destination, CoS)
public.class_of_servicesReferenced for CoS restrictions

Destination Formats

FormatExampleDescription
E.164+15551234567Full international number
Extension1001Internal extension
SIP URIuser/1000Direct SIP addressing
Local5551234567Local number format

Key Files

FileDescription
admin/apps/web/src/modules/speedDials/Frontend module
admin/apps/web/src/i18n/en/speedDials.jsonEnglish translations
admin/apps/web/src/modules/speedDials/ImportSpeedDialsModal.tsxCSV import
---

2. Module Overview (Commercial/Business)

Business Value

Speed Dials simplify dialing for frequently called numbers:

Without Speed DialsWith Speed Dials
Dial +1-555-123-4567Dial 202
Remember long numbersRemember short codes
Error-prone dialingConsistent, accurate

Use Cases

  1. Frequently Called Numbers
- Main office: 201

- IT Support: 202

- CEO Mobile: 203

  1. Vendor/Partner Hotlines
- Supplier A: 301

- Supplier B: 302

- Bank: 303

  1. Emergency Services
- Building Security: 911

- Fire Department: 9411

  1. International Offices
- London Office: 401

- Tokyo Office: 402

- Sydney Office: 403

Feature Highlights

FeatureBenefit
Short CodesEasy to remember (202, 801)
CoS RestrictionLimit who can use each speed dial
CSV ImportBulk upload speed dials
CSV ExportBackup or migrate settings
Flexible DestinationsE.164, extensions, SIP URIs
---

3. Module Overview (End User/Administrator)

What Can You Do?

  • Create speed dial codes mapped to full numbers
  • Restrict speed dials by Class of Service
  • Import speed dials from CSV files
  • Export speed dials to CSV for backup

Administrator Workflow

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│                 Creating a Speed Dial                           │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  1. General Information                                         │
│     ├─ Speed Dial Code: 202                                    │
│     ├─ Destination: +1-555-123-4567                            │
│     └─ Description: "Main Office Line"                         │
│                                                                 │
│  2. Access Control (Optional)                                   │
│     └─ Class of Service: None (everyone can use)               │
│                                                                 │
│  3. Enable and Save                                             │
│     └─ Enabled: ✓                                              │
│                                                                 │
│  Result: Users dial 202 → System dials +1-555-123-4567         │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Quick Tips

TIP
Use Meaningful Codes: 201-299 for departments, 301-399 for vendors, etc.
TIP
Descriptions: Always add a description for easy identification later.
CAUTION
Code Conflicts: Speed dial codes must not conflict with extensions or feature codes.

---

4. Configuration Fields Reference

Speed Dial Fields

FieldDescriptionExampleRequired
Speed Dial CodeShort code to dial202, 801Yes
Destination NumberFull number or URI+15551234567Yes
DescriptionFriendly labelMain OfficeNo
Class of ServiceRestrict by CoSStandard, NoneNo
EnabledActive/inactiveOn/OffYes

Code Format Options

FormatExampleNotes
202Numeric onlyStandard speed dial
801With asteriskFeature code style
#55With hashLess common

Destination Format Options

FormatExampleUse Case
+15551234567E.164International standard
5551234567LocalDomestic calls
1001ExtensionInternal routing
user/1000SIP URIDirect SIP
---

5. Call Flow / Logic Explanation

Speed Dial Flow

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│                    Speed Dial Flow                              │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  1. User dials 202                                              │
│     │                                                           │
│     ▼                                                           │
│  2. Dialplan checks speed_dials table                           │
│     SELECT * FROM speed_dials                                   │
│     WHERE speed_code = '202'                                    │
│       AND domain_id = [domain]                                  │
│       AND enabled = true                                        │
│     │                                                           │
│     ├─ Found → Continue                                        │
│     └─ Not Found → Normal dialplan (may fail)                  │
│     │                                                           │
│     ▼                                                           │
│  3. Check Class of Service (if set)                             │
│     ├─ CoS specified → Check if caller has this CoS            │
│     │   ├─ Yes → Continue                                      │
│     │   └─ No → "Not authorized"                               │
│     └─ CoS empty → Inherit from caller's extension             │
│     │                                                           │
│     ▼                                                           │
│  4. Replace destination                                         │
│     ├─ Original: 202                                           │
│     └─ New: +15551234567                                       │
│     │                                                           │
│     ▼                                                           │
│  5. Route call through normal outbound dialing                  │
│     ├─ Apply dialrules                                         │
│     ├─ Select trunk                                            │
│     └─ Bridge call                                             │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

---

6. Import/Export Feature

CSV Export

Purpose: Backup speed dials or migrate to another system. Process:
  1. Click "Export" button
  2. System generates CSV file
  3. Download file to your computer

CSV Format:

Csv
speed_code,destination,description,class_of_service,enabled
202,+15551234567,Main Office,,true
203,+15559876543,IT Support,Standard,true
*801,user/1000,Internal Transfer,,true

CSV Import

Purpose: Bulk upload speed dials from spreadsheet. Import Modes:
ModeBehavior
Skip ExistingIgnore codes that already exist
Update ExistingUpdate existing codes with new data
Replace ExistingDelete existing and insert new
Process:
  1. Click "Import" button
  2. Select CSV file
  3. Choose import mode
  4. Preview counts
  5. Click "Import" to execute

CSV Template:

Csv
speed_code,destination,description,class_of_service,enabled
201,+15551111111,Reception,,true
202,+15552222222,Sales,,true
203,+15553333333,Support,Standard,true

Import Results:
  • Created: New speed dials added
  • Updated: Existing speed dials modified
  • Skipped: Already existed (skip mode)
  • Errors: Invalid rows

---

7. Common Scenarios & Examples

Scenario 1: Company Directory

Setup:
CodeDestinationDescription
201+15551001Reception
202+15551002Sales Department
203+15551003Support
204+15551004Accounting
205+15551005HR

Scenario 2: Executive Quick Dial

Setup with CoS restriction:
CodeDestinationDescriptionCoS
100+1555CEO1234CEO MobileExecutive
101+1555CFO1234CFO MobileExecutive
102+1555CTO1234CTO MobileExecutive
Result: Only users with "Executive" CoS can dial these.

Scenario 3: International Offices

Setup:
CodeDestinationDescription
401+442071234567London Office
402+81312345678Tokyo Office
403+61298765432Sydney Office
404+4989123456Munich Office

Scenario 4: Bulk Import from Spreadsheet

CSV file (speed_dials.csv):

Csv
speed_code,destination,description,class_of_service,enabled
501,+18005551234,Vendor Helpdesk,,true
502,+18005554567,Bank Customer Service,,true
503,+18005557890,Insurance Claims,,true
504,+18005550001,Legal Hotline,Legal,true

Import steps:
  1. Click Import
  2. Select speed_dials.csv
  3. Mode: "Update Existing"
  4. Click Import

---

8. Limitations & Important Notes

Technical Limitations

WARNING
Code Uniqueness: Speed dial codes must be unique within a domain.
WARNING
Code Conflicts: Avoid codes that match extensions, feature codes, or emergency numbers.
IMPORTANT
CoS Inheritance: If CoS is empty, the caller's own CoS determines dial permissions.

Best Practices

  1. Organize by Range: 201-299 for internal, 301-399 for vendors
  2. Document Everything: Use description field for clarity
  3. Use E.164: Full international format for reliability
  4. Regular Backups: Export periodically for disaster recovery
  5. CoS for Sensitive: Restrict executive/private numbers by CoS

Reserved Ranges to Avoid

RangeCommon Use
911Emergency
67, 72, etc.Feature codes
1001-9999Extensions
---

9. Troubleshooting Tips

Common Issues

SymptomPossible CauseSolution
Code not recognizedSpeed dial disabledEnable the entry
"Not authorized"CoS restrictionCheck user's CoS
Wrong number dialedTypo in destinationVerify destination
Import failsInvalid CSV formatCheck headers/format
Conflict errorCode already existsUse unique code

Diagnostic SQL

List all speed dials:

Sql
SELECT speed_code, destination, description, 
       cos.name as class_of_service, enabled
FROM public.speed_dials sd
LEFT JOIN public.class_of_services cos ON sd.class_of_services_id = cos.id
WHERE sd.domain_id = [domain_id]
ORDER BY speed_code;

Check for duplicate codes:

Sql
SELECT speed_code, COUNT(*) as count
FROM public.speed_dials
WHERE domain_id = [domain_id]
GROUP BY speed_code
HAVING COUNT(*) > 1;

---

10. Glossary

TermDefinition
Speed DialA short code that maps to a full destination number
Speed CodeThe short number users dial (e.g., 202)
DestinationThe full number or URI to call
E.164International phone number format (+country code + number)
SIP URISIP addressing format (user/ext or sip:user@domain)
Class of ServicePermission level that restricts dialing
CSVComma-Separated Values file format for import/export
Inherit CoSUsing the caller's Class of Service for permissions
---

Lua Script Status ℹ️

Integration Module

ComponentStatusNotes
Speed Dialsℹ️ Configuration moduleSpeed dial codes expanded during dialplan routing
--- Documentation last updated: January 2026
AI Assistant

👋 Hello! I'm your Ring2All documentation assistant. I can help you find information about configuring and using the Ring2All PBX platform.

How can I help you today?