Parking Lots Module Documentation
Table of Contents
- Module Overview (Technical)
- Module Overview (Commercial/Business)
- Module Overview (End User/Administrator)
- Configuration Fields Reference
- Call Flow / Logic Explanation
- Common Scenarios & Examples
- Limitations & Important Notes
- Troubleshooting Tips
- Glossary
- Suggested UI Improvements
---
1. Module Overview (Technical)
What Are Parking Lots?
Parking Lots provide call holding zones where calls can be "parked" on numbered slots and retrieved by anyone who knows the slot number. Unlike regular hold, parked calls can be picked up from any phone in the system.
Architecture
Key Tables
| Table | Purpose | |
|---|---|---|
public.parking_lots | Lot definitions (extension, slots, settings) | |
| (runtime) | FreeSWITCH valet_parking module manages active slots |
Slot Numbering
If lot extension is 700 with 5 positions:
- Slot 701, 702, 703, 704, 705
Key Files
| File | Description | |
|---|---|---|
admin/apps/web/src/modules/parkingLots/ | Frontend module | |
admin/apps/web/src/i18n/en/parkingLots.json | English translations | |
telephony/freeswitch/conf/dialplan/valet_parking/ | Parking dialplan |
2. Module Overview (Commercial/Business)
Business Value
Parking Lots enable flexible call routing:
| Without Parking | With Parking | |
|---|---|---|
| Transfer to specific person | Park and announce slot | |
| Caller waits for specific person | Anyone can retrieve | |
| Tied to one extension | Available system-wide |
Use Cases
- Reception Workflow
- Anyone can dial 701 to take the call
- Warehouse/Retail
- Employee picks up from nearest phone
- Customer Service
- Return to same caller easily
- Multi-Location
- Retrieve at another location
Feature Highlights
| Feature | Benefit | |
|---|---|---|
| Multiple Slots | Handle many parked calls simultaneously | |
| Timeout Callback | Parked call returns if not answered | |
| Position Announcement | Caller hears their slot number | |
| Music on Hold | Professional hold experience | |
| Timeout Routing | Route to voicemail/IVR if not retrieved |
3. Module Overview (End User/Administrator)
What Can You Do?
- Create parking lots with assigned extension ranges
- Configure parking behavior (timeout, music, announcements)
- Set timeout destinations (voicemail, IVR, extension)
- Monitor active parked calls
Administrator Workflow
User Workflow (Parking a Call)
Quick Tips
TIP
Announce Position: Enable this so the parker knows which slot to communicate.TIP
Return to Originator: Enable this to return timeout calls to the person who parked.CAUTION
Parking Time: If too short, calls return before they can be retrieved.---
4. Configuration Fields Reference
General Tab
| Field | Description | Example | Required | |
|---|---|---|---|---|
| Name | Lot name | Main Parking | Yes | |
| Extension | Base extension (slots start here +1) | 700 | Yes | |
| Total Positions | Number of parking slots (1-99) | 10 | Yes | |
| Enabled | Active/inactive | On/Off | Yes |
Behavior Tab
| Field | Description | Default | Range | |
|---|---|---|---|---|
| Parking Time | Seconds before callback | 120 | 5-300 | |
| Comeback Time | Delay before redirect after timeout | 30 | 5-300 | |
| Find Slot | Slot assignment policy | Next Available | Next / Random | |
| Announce Position | Tell caller their slot number | Off | On/Off | |
| Courtesy Tone | Tone played to parked party | Caller | Caller / None | |
| Music on Hold Class | MOH to play while parked | Default | Default / Calm / Business |
Advanced Tab
| Field | Description | Default | |
|---|---|---|---|
| Return to Originator | Return timeout call to parker | On | |
| Call Transfer | Allow transfer while parked | On | |
| Call Reparking | Allow re-park from same lot | On | |
| Call Hangup | Hang up if no timeout destination | Off | |
| Record Parked Call | Record while parked | Off |
Timeout Destination
| Field | Description | |
|---|---|---|
| Timeout Module | Where to route after timeout | |
| Timeout Destination | Target within the module | |
| Module | Destination Example | |
| -------- | ------------------- | |
| Voicemail | Extension number | |
| IVR | IVR name | |
| Extension | Extension number | |
| Group | Ring group ID | |
| None | Hang up |
5. Call Flow / Logic Explanation
Parking Flow
Retrieval Flow
Timeout Flow
---
6. Common Scenarios & Examples
Scenario 1: Reception Parking
Setup:| Setting | Value | |
|---|---|---|
| Name | Main Parking | |
| Extension | 700 | |
| Total Positions | 5 | |
| Parking Time | 180 seconds | |
| Announce Position | ✓ | |
| Return to Originator | ✓ | |
| Timeout Module | Voicemail | |
| Timeout Destination | 1000 (reception VM) |
- Reception transfers caller to 700
- System: "Parked at slot 703"
- Reception pages: "John, call on 703"
- John dials 703 → Connected
Scenario 2: Department-Specific Lots
Setup multiple lots:| Lot | Extension | Positions | Timeout Destination | |
|---|---|---|---|---|
| Sales Parking | 710 | 5 | Sales VM | |
| Support Parking | 720 | 10 | Support Queue | |
| Executive Parking | 730 | 3 | Admin Assistant |
Scenario 3: Warehouse with PA System
Setup:| Setting | Value | |
|---|---|---|
| Name | Warehouse | |
| Extension | 800 | |
| Total Positions | 10 | |
| Parking Time | 300 seconds (5 min) | |
| Announce Position | ✓ | |
| Return to Originator | ✗ | |
| Timeout Module | IVR | |
| Timeout Destination | main_menu |
- Office parks call at 800
- System: "Parked at slot 805"
- PA announcement: "Shipping, line 805"
- Warehouse employee picks up nearest phone, dials 805
---
7. Limitations & Important Notes
Technical Limitations
WARNING
Slot Range: Slots start at extension+1. Extension 700 = slots 701-710 (for 10 positions).WARNING
Single Retrieval: Only one person can retrieve a parked call—first dial wins.IMPORTANT
MOH Duration: Music on Hold loops if parking time exceeds MOH file length.Best Practices
- Plan Extension Ranges: Don't overlap parking slots with real extensions
- Reasonable Timeouts: 2-3 minutes is typical; too short causes premature callbacks
- Enable Announcements: Users need to know which slot to communicate
- Return to Originator: Safer than sending to general queue on timeout
- Document Your Lots: Train staff on which lots to use for which purposes
Security Considerations
CAUTION
Anyone Can Retrieve: Any user who dials the slot can pick up the call. Consider this for sensitive calls.---
8. Troubleshooting Tips
Common Issues
| Symptom | Possible Cause | Solution | |
|---|---|---|---|
| No available slots | All slots full | Increase totalPositions | |
| Call returns immediately | Parking time too short | Increase parkingTime | |
| Can't retrieve call | Wrong slot number | Verify slot dialed | |
| No slot announcement | announcePosition = false | Enable announcement | |
| Call goes to wrong VM | Wrong timeout destination | Check destination config |
Diagnostic SQL
List parking lots:FreeSWITCH Commands
Check active parked calls: Check specific lot: Manually retrieve parked call:---
9. Glossary
| Term | Definition | |
|---|---|---|
| Parking Lot | A collection of hold slots for parking calls | |
| Slot | An individual parking position (e.g., 701, 702) | |
| Park | Place a call on hold in a numbered slot | |
| Retrieve | Pick up a parked call by dialing its slot | |
| Parking Time | How long before a parked call times out | |
| Comeback Time | Delay before routing after timeout | |
| Return to Originator | Send timeout call back to the parker | |
| Valet Parking | FreeSWITCH module that handles parking | |
| MOH | Music on Hold played while parked | |
| Position | Same as slot—a numbered parking space |
10. Suggested UI Improvements
The existing i18n tooltips are comprehensive.
UX Enhancements
- Real-Time Status: Show which slots are currently occupied (already in Positions tab)
- Quick Park Button: One-click park from active call display
- Slot Notifications: Alert when parked call is about to timeout
- Usage Analytics: Show parking lot utilization over time
- Retrieve Preview: Show caller ID before retrieving
Visual Improvements
| Current | Suggested | |
|---|---|---|
| Plain slot list | Visual slot grid with occupied/available colors | |
| Text timer | Countdown progress bar for parked calls | |
| Simple numbers | Caller ID preview on hover |
Lua Script Status ℹ️
Integration Module
| Component | Status | Notes |
|---|---|---|
| Parking Lots | ℹ️ Configuration module | Call parking managed natively by FreeSWITCH mod_valet_parking |