Ctrl K
ring2all.com

Dial Profiles Module Documentation

Table of Contents

  1. Module Overview (Technical)
  2. Module Overview (Commercial/Business)
  3. Module Overview (End User/Administrator)
  4. Configuration Fields
  5. Common Scenarios & Examples
  6. Limitations & Important Notes
  7. Troubleshooting Tips
  8. Glossary

---

1. Module Overview (Technical)

What Are Dial Profiles?

Dial Profiles are reusable call behavior templates that control how calls behave before they are bridged or transferred. They define who can transfer/park calls, what ringback callers hear, call screening behavior, and custom FreeSWITCH channel variables.

Architecture

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│                  Dial Profiles Architecture                     │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Admin Panel                                                    │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        Dial Profiles                                     │   │
│  │                                                          │   │
│  │  Templates:                                              │   │
│  │  ├─ Office Default (Both transfer, MOH ringback)        │   │
│  │  ├─ Queue Calls (No transfer, screening)                │   │
│  │  └─ VIP Handling (Caller transfer, custom ringback)     │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│       │                                                         │
│       ▼ Applied to routing destinations                        │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        Routing (Inbound, IVR, Queues, etc.)              │   │
│  │                                                          │   │
│  │  Inbound Route A → Office Default profile               │   │
│  │  Queue Sales → Queue Calls profile                      │   │
│  │  VIP DID → VIP Handling profile                         │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│       │                                                         │
│       ▼ Variables set on call                                  │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        FreeSWITCH Call Processing                        │   │
│  │                                                          │   │
│  │  Channel variables applied:                              │   │
│  │  ├─ transfer_enable = caller                            │   │
│  │  ├─ park_enable = both                                  │   │
│  │  ├─ ringback = local_stream://moh                       │   │
│  │  ├─ call_screening = askOnce                            │   │
│  │  └─ (custom vars)                                       │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Key Tables

TablePurpose
public.dial_profilesProfile definitions

Key Files

FileDescription
modules/dialProfiles/Frontend module
modules/dialProfiles/api/dialProfileApi.tsAPI calls
---

2. Module Overview (Commercial/Business)

Business Value

Dial Profiles provides consistent call handling:

Without Dial ProfilesWith Dial Profiles
Configure each routeApply templates
Inconsistent behaviorStandardized handling
Manual variable settingReusable profiles
Hard to changeUpdate once, apply everywhere

Use Cases

  1. Transfer Control
- Allow only internal transfers

- Restrict external caller transfers

  1. Ringback Customization
- Play hold music while ringing

- Custom branded audio

  1. Call Screening
- Confirm before connecting

- Announce caller info

  1. Advanced Call Flows
- Custom FreeSWITCH variables

- Specialized behavior

Feature Highlights

FeatureBenefit
Transfer ControlWho can transfer
Park ControlWho can park calls
Ringback OptionsCustom ringback/MOH
Call ScreeningCaller confirmation
Custom VariablesFreeSWITCH flexibility
ReusableApply to many routes
---

3. Module Overview (End User/Administrator)

What Can You Do?

  • Create dial profile templates
  • Configure transfer permissions
  • Configure park permissions
  • Set ringback tones
  • Enable call screening
  • Add custom FreeSWITCH variables
  • Apply profiles to routes

Dial Profiles Interface

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│              Dial Profiles                                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Define reusable call behavior profiles that control transfers, │
│  ringback tones, call screening, and more.                      │
│                                                                 │
│  [+ Add Dial Profile]                                           │
│                                                                 │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │ Name            │ Description           │ Status        │  │
│  ├─────────────────┼───────────────────────┼───────────────┤  │
│  │ Office Default  │ Standard office calls │ ✓ Active      │  │
│  │ Queue Calls     │ Call center queues    │ ✓ Active      │  │
│  │ VIP Handling    │ VIP customer calls    │ ✓ Active      │  │
│  │ External Only   │ Outside calls only    │ ✓ Active      │  │
│  └───────────────────────────────────────────────────────────┘  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Profile Edit View

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│              Edit Dial Profile: Office Default                  │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  General Settings                                               │
│  Control transfer, parking, ringback, and screening behavior.   │
│                                                                 │
│  Name: [Office Default                         ]                │
│  Description: [Standard office call handling   ]                │
│  Active: ✓                                                      │
│                                                                 │
│  Allow Transfer By: [Both ▼]                                   │
│    ├─ None                                                      │
│    ├─ Caller                                                    │
│    ├─ Recipient                                                 │
│    └─ Both                                                      │
│                                                                 │
│  Allow Park By: [Both ▼]                                       │
│    ├─ None                                                      │
│    ├─ Caller                                                    │
│    ├─ Recipient                                                 │
│    └─ Both                                                      │
│                                                                 │
│  Ringback Tone: [music/default ▼]                              │
│    ├─ Default                                                   │
│    ├─ None (Ringback)                                          │
│    ├─ music/default                                            │
│    └─ Custom value                                              │
│                                                                 │
│  Call Screening: [Disabled ▼]                                  │
│    ├─ Disabled                                                  │
│    ├─ Ask Once                                                  │
│    └─ Always Ask                                                │
│                                                                 │
│  Ringing Tone: ☐                                               │
│                                                                 │
│  ──────────────────────────────────────────────────────────────│
│                                                                 │
│  Advanced Options                                               │
│  Fine-tune the call flow with custom FreeSWITCH variables.      │
│                                                                 │
│  Custom Options:                                                │
│  ┌─────────────────────────────────────────────────────────────┐│
│  │ continue_on_fail=true                                       ││
│  │ ignore_early_media=true                                     ││
│  └─────────────────────────────────────────────────────────────┘│
│  One variable per line. Example: continue_on_fail=true          │
│                                                                 │
│  [Save] [Cancel]                                                │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Quick Tips

TIP
Transfer Control: Set "None" to prevent any transfers.
TIP
MOH Ringback: Use "music/default" for hold music while ringing.
NOTE
Custom Variables: Advanced users can add FreeSWITCH channel variables.

---

4. Configuration Fields

General Settings

FieldDescription
NameProfile identifier
DescriptionPurpose notes
ActiveEnable/disable profile

Transfer & Parking

FieldOptionsDescription
Allow Transfer ByNone, Caller, Recipient, BothWho can transfer
Allow Park ByNone, Caller, Recipient, BothWho can park calls

Ringback Options

OptionDescription
DefaultSystem default ringback
None (Ringback)Standard phone ring
music/defaultHold music while ringing
Custom valueCustom stream/file path

Call Screening

OptionDescription
DisabledConnect immediately
Ask OnceConfirm once per call
Always AskConfirm every transfer

Advanced Options

FieldDescription
Custom OptionsFreeSWITCH channel variables (key=value)
Ringing ToneEnable ringing before bridge
---

5. Common Scenarios & Examples

Scenario 1: Standard Office Profile

  1. Create new profile
  2. Allow Transfer By = Both
  3. Allow Park By = Both
  4. Ringback = music/default
  5. Call Screening = Disabled
  6. Save and apply to routes

Scenario 2: Queue Calls (No Transfer)

  1. Create new profile
  2. Allow Transfer By = Recipient only
  3. Allow Park By = Recipient only
  4. Ringback = music/default
  5. Call Screening = Ask Once
  6. Apply to queue destinations

Scenario 3: VIP Handling

  1. Create new profile
  2. Allow Transfer By = Both
  3. Ringback = Custom (VIP music)
  4. Call Screening = Disabled
  5. Add custom var: absolute_codec_string=OPUS
  6. Apply to VIP routes

Scenario 4: External Call Control

  1. Create new profile
  2. Allow Transfer By = Recipient
  3. Allow Park By = None
  4. Call Screening = Always Ask
  5. Apply to external DIDs

---

6. Limitations & Important Notes

Technical Notes

NOTE
Module Assignment: Dial Profiles can be applied to the following modules:
  • Extensions: Set under the Advanced settings tab to define variables and permissions for user calls.
  • Gateways: Assigned under the Basic Information settings of a SIP Trunk to control behavior on all incoming calls through the gateway.
  • Inbound Routes: Configured under the Destination settings of a route to control call variables (transfers, custom ringbacks, screening) for incoming DIDs.
  • Outbound Routes: Configured under the Advanced Options tab of the route to apply variables on outbound bridged calls.
NOTE
Variables: Custom options are FreeSWITCH channel variables.
WARNING
Invalid Variables: Incorrect custom options may cause call failures.

Best Practices

  1. Create Purpose-Specific: Different profiles for different call types
  2. Test Changes: Verify behavior after changes
  3. Document Profiles: Use description field
  4. Limit Custom Vars: Only use when necessary
  5. Standard Naming: Use clear, descriptive names

Transfer/Park Permission Matrix

SettingCaller CanRecipient Can
None
Caller
Recipient
Both
---

7. Troubleshooting Tips

Common Issues

SymptomPossible CauseSolution
Can't transferWrong permissionCheck Allow Transfer By
No ringbackWrong settingCheck Ringback Tone
Screening not workingProfile not appliedVerify route assignment
Call failsBad custom varCheck Custom Options
Wrong musicInvalid pathVerify ringback path

Common Custom Variables

VariablePurpose
continue_on_fail=trueTry next route on failure
ignore_early_media=trueIgnore early media
hangup_after_bridge=trueHangup after bridge
call_timeout=30Ring timeout seconds
absolute_codec_string=OPUSForce codec

Debug Workflow

  1. Check profile is active
  2. Verify route uses correct profile
  3. Check FreeSWITCH logs for variables
  4. Test with simple profile first
  5. Add custom options one at a time

---

8. Glossary

TermDefinition
Dial ProfileCall behavior template
RingbackAudio caller hears while ringing
Call ScreeningConfirm before connecting
TransferMove call to another party
ParkHold call in shared lot
Channel VariableFreeSWITCH call setting
---

Lua Script Status ℹ️

No Dedicated Handler Required

ComponentStatus
Dial Profilesℹ️ Configuration module - variables applied during routing
Dial Profiles is a configuration module. Settings are applied as FreeSWITCH channel variables when calls are routed. The routing Lua handlers apply these variables. No dedicated Lua handler is used.

---

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?