Ctrl K
ring2all.com

Paging Groups & Intercom 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. Common Scenarios & Examples
  7. Limitations & Important Notes
  8. Troubleshooting Tips
  9. Glossary
  10. Suggested UI Improvements

---

1. Module Overview (Technical)

What Are Paging Groups?

Paging Groups provide one-way or two-way audio broadcasting to multiple endpoints simultaneously. This includes:

  • Paging: One-way announcements to groups of phones
  • Intercom: Two-way communication (duplex mode)
  • Multicast: Network-level audio broadcasting to compatible devices

The Four Modes

ModeDescriptionUse Case
DefaultStandard SIP paging to selected extensionsOffice announcements
DuplexTwo-way intercom communicationWarehouse communication
MulticastRTP multicast to IP speakersFactory floor PA
HybridBoth SIP extensions and multicastMixed environments

Architecture

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│                    Paging System Architecture                   │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  User dials: *80 (Paging Group Code)                            │
│       │                                                         │
│       ▼                                                         │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │              Paging Group Lookup                         │   │
│  │  SELECT * FROM paging_groups WHERE code = '*80'          │   │
│  │  → Returns mode, members, settings                       │   │
│  └──────────────────────────────────────────────────────────┘   │
│       │                                                         │
│       ▼                                                         │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │              Based on Mode                               │   │
│  │                                                          │   │
│  │  DEFAULT ──────────────────────────────────────────────  │   │
│  │    │                                                     │   │
│  │    ├─ Create conference room                             │   │
│  │    ├─ Set auto-answer headers                            │   │
│  │    ├─ Call each member extension                         │   │
│  │    └─ Bridge caller to conference                        │   │
│  │                                                          │   │
│  │  DUPLEX (Intercom) ────────────────────────────────────  │   │
│  │    │                                                     │   │
│  │    ├─ Same as default                                    │   │
│  │    └─ Enable two-way audio for all participants          │   │
│  │                                                          │   │
│  │  MULTICAST ────────────────────────────────────────────  │   │
│  │    │                                                     │   │
│  │    ├─ Answer caller                                      │   │
│  │    └─ Stream audio to multicast address (239.x.x.x)      │   │
│  │                                                          │   │
│  │  HYBRID ───────────────────────────────────────────────  │   │
│  │    │                                                     │   │
│  │    ├─ Call SIP extensions (like default)                 │   │
│  │    └─ Simultaneously stream to multicast                 │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Key Tables

TablePurpose
public.paging_groupsGroup definitions (code, mode, settings)
public.paging_group_membersExtension memberships
public.conference_profilesAudio profiles for paging conferences

Key Files

FileDescription
admin/apps/web/src/modules/pagingGroups/Frontend module
admin/apps/web/src/i18n/en/pagingGroups.jsonEnglish translations
telephony/freeswitch/lua/main/paging/Lua paging handlers
---

2. Module Overview (Commercial/Business)

Business Value

Paging Groups enable instant mass communication:

External SystemsBuilt-In Paging
Separate PA systemIntegrated with PBX
Additional hardwareUses existing phones
Manual intercom setupConfigured via UI
Limited scalabilityUnlimited groups

Use Cases

  1. Office Announcements
- "John Smith, please come to reception"

- Emergency notifications

- Company-wide messages

  1. Warehouse/Manufacturing
- Foreman announcements

- Safety alerts

- Shift change notifications

  1. Intercom Communication
- Reception to back office

- Security to all stations

- Medical triage coordination

  1. School/Campus
- Classroom announcements

- Emergency lockdown

- Bell system integration

Feature Highlights

FeatureBenefit
Auto-AnswerPhones answer automatically—no user action needed
Mute ParticipantsOne-way paging (listeners can't interrupt)
PIN ProtectionRestrict who can initiate pages
RecordingRecord all announcements for compliance
MulticastBroadcast to IP speakers without SIP overhead
Skip BusyDon't interrupt ongoing calls
---

3. Module Overview (End User/Administrator)

What Can You Do?

  • Create paging groups with assigned extension codes
  • Add/remove member extensions
  • Configure one-way (paging) or two-way (intercom) mode
  • Set up multicast for IP speakers
  • Protect pages with PIN codes
  • Enable recording of announcements

User Workflow

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│                 Creating a Paging Group                         │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Step 1: Basic Information                                      │
│  ├─ Code: *80 (dial code)                                      │
│  ├─ Name: "All Office"                                         │
│  └─ Mode: Default (SIP paging)                                 │
│                                                                 │
│  Step 2: Add Members                                            │
│  ├─ Search: "Sales"                                            │
│  ├─ Select: 1001, 1002, 1003, 1004                             │
│  └─ Total: 4 extensions                                        │
│                                                                 │
│  Step 3: Audio Settings                                         │
│  ├─ Auto Answer: ✓ (phones answer automatically)               │
│  ├─ Mute Participants: ✓ (one-way announcement)                │
│  └─ Volume: 0 (default)                                        │
│                                                                 │
│  Step 4: Advanced (Optional)                                    │
│  ├─ PIN Code: 1234 (require PIN to page)                       │
│  ├─ Skip Busy: ✓ (don't interrupt calls)                       │
│  └─ Recording: Off                                             │
│                                                                 │
│  Step 5: Save → Users can now dial *80 to page                 │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Quick Tips

TIP
Auto-Answer Required: For paging to work, phones must support auto-answer headers. Most modern SIP phones do.
TIP
Skip Busy: Enable this to avoid interrupting important calls—the busy extension will be skipped.
CAUTION
Multicast Network Config: Multicast requires proper network switch configuration (IGMP snooping).

---

4. Configuration Fields Reference

Basic Tab

FieldDescriptionExampleRequired
CodeDialable extension for paging80Yes
NameGroup nameAll OfficeYes
ModePaging strategyDefault, Duplex, Multicast, HybridYes
DescriptionInternal notesFloor 1 announcementsNo
EnabledActive/inactiveOn/OffYes

Members

FieldDescriptionNotes
MembersExtensions to receive pagesMulti-select from available extensions

Audio & Media

FieldDescriptionDefault
CodecAudio codecPCMU (G.711)
VolumePlayback volume adjustment0
Hold MusicMusic while waitingDefault MOH
Announcement PathPre-page announcement fileNone
Caller ID NameDisplay name for recipientsPaging ${ext}

Session Behavior

FieldDescriptionDefault
TimeoutMax wait time (seconds)20
Auto AnswerForce phones to auto-answerOn
Skip BusySkip busy extensionsOff
Mute ParticipantsOne-way audio onlyOn
Intercom ModeEnable two-way audioOff
PIN CodeRequire PIN to pageNone

Recording

FieldDescriptionDefault
Record PagingEnable recordingOff
Recording PathWhere to save recordings/recordings/paging

Multicast Configuration

FieldDescriptionExample
Multicast AddressIP multicast address239.1.1.1
PortUDP port for RTP5000
ModeSpeak (send) or Listen (receive)Speak
InterfaceNetwork interfaceeth0
TTLTime-to-live (router hops)1
CodecAudio codec for streamPCMU
---

5. Call Flow / Logic Explanation

Standard Paging Flow (Default Mode)

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│                  Standard Paging Flow                           │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  1. User dials *80 (paging group code)                          │
│     │                                                           │
│     ▼                                                           │
│  2. Check PIN requirement (if configured)                       │
│     ├─ PIN required → Prompt for PIN                           │
│     │   ├─ Correct → Continue                                  │
│     │   └─ Wrong → "Invalid PIN" + hangup                      │
│     └─ No PIN → Continue                                       │
│     │                                                           │
│     ▼                                                           │
│  3. Play pre-announcement (if configured)                       │
│     │                                                           │
│     ▼                                                           │
│  4. Create dynamic conference for this page                     │
│     │                                                           │
│     ▼                                                           │
│  5. For each member extension:                                  │
│     ├─ Check if busy (if skip_busy enabled)                     │
│     ├─ Set auto-answer SIP headers                              │
│     └─ Bridge to conference (muted if mute_participants)        │
│     │                                                           │
│     ▼                                                           │
│  6. Wait for specified timeout for endpoints to answer          │
│     │                                                           │
│     ▼                                                           │
│  7. Caller speaks → Audio broadcast to all answered phones      │
│     │                                                           │
│     ▼                                                           │
│  8. Caller hangs up → Conference ends, all legs disconnect      │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Multicast Flow

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│                    Multicast Paging Flow                        │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  1. User dials *85 (multicast paging group)                     │
│     │                                                           │
│     ▼                                                           │
│  2. Answer caller                                               │
│     │                                                           │
│     ▼                                                           │
│  3. Start RTP stream to multicast address:                      │
│     Address: 239.255.10.10:5000                                 │
│     Codec: PCMU (G.711µ)                                        │
│     │                                                           │
│     ▼                                                           │
│  4. IP speakers (subscribed to 239.255.10.10) receive audio     │
│     │                                                           │
│     ▼                                                           │
│  5. Caller hangs up → Stream stops                              │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

---

6. Common Scenarios & Examples

Scenario 1: Office-Wide Announcement

Setup:
SettingValue
Code80
NameAll Office
ModeDefault
Members1001-1050 (all office extensions)
Auto Answer
Mute Participants
Skip Busy
Result: Dial 80, all available phones auto-answer (muted), announcement plays.

Scenario 2: Warehouse Intercom

Setup:
SettingValue
Code70
NameWarehouse Intercom
ModeDuplex
Members2001, 2002, 2003 (warehouse phones)
Intercom Mode
Mute Participants✗ (allow responses)
Result: Dial 70, all warehouse phones connect for two-way conversation.

Scenario 3: Factory Floor PA System

Setup:
SettingValue
Code85
NameFactory PA
ModeMulticast
Multicast Address239.255.10.10
Port5000
CodecPCMU
Result: Dial 85, audio streams to all IP speakers configured for that multicast group.

Scenario 4: Protected Emergency Announcement

Setup:
SettingValue
Code911
NameEmergency Broadcast
ModeHybrid
PIN Code9911
MembersALL extensions
Multicast(also to PA speakers)
Recording
Result: Only authorized users with PIN can trigger emergency broadcast to all phones and speakers. All broadcasts recorded.

---

7. Limitations & Important Notes

Technical Limitations

WARNING
Auto-Answer Support: Not all SIP phones support auto-answer. Older or basic phones may not activate.
WARNING
Multicast Network Requirements: Multicast requires IGMP-enabled switches and proper network configuration.
IMPORTANT
Codec Compatibility: Multicast endpoints must support the configured codec. PCMU (G.711µ) has widest support.

Best Practices

  1. Test Auto-Answer: Verify phones actually auto-answer before relying on paging
  2. Network Planning for Multicast: Work with network team to enable IGMP snooping
  3. PIN Protection: Use PINs for high-impact pages (emergency, company-wide)
  4. Skip Busy: Always enable to avoid interrupting important calls
  5. Keep Groups Focused: Create smaller, targeted groups rather than one huge group

Phone Configuration

For auto-answer to work, phones typically need:

  • Auto-answer header support enabled
  • Intercom mode enabled in phone settings
  • Correct SIP headers: Alert-Info: info=auto-answer or similar

---

8. Troubleshooting Tips

Common Issues

SymptomPossible CauseSolution
Phone doesn't answerAuto-answer not supportedCheck phone model/settings
No audio on pageCodec mismatchVerify codec compatibility
Multicast not workingNetwork issueCheck IGMP, switch config
Only some phones answerSkip busy + busy phonesExpected behavior
"Invalid PIN"Wrong PIN enteredVerify correct PIN
Recording not createdPath permissionsCheck directory permissions

Diagnostic SQL

List paging groups:

Sql
SELECT pg.code, pg.name, pg.mode, pg.enabled,
       COUNT(m.id) as member_count
FROM public.paging_groups pg
LEFT JOIN public.paging_group_members m ON pg.id = m.paging_group_id
WHERE pg.domain_id = [domain_id]
GROUP BY pg.id
ORDER BY pg.code;

Check members of a group:

Sql
SELECT pgm.extension, e.description
FROM public.paging_group_members pgm
JOIN public.sip_extensions e ON pgm.extension = e.extension
WHERE pgm.paging_group_id = [group_id];

FreeSWITCH Diagnostics

Check active conferences (paging uses conferences):

Bash
fs_cli -x "conference xml_list"

Debug multicast:

Bash
# Check if multicast traffic is being sent
tcpdump -i eth0 host 239.255.10.10 and udp port 5000

---

9. Glossary

TermDefinition
PagingOne-way audio broadcast to multiple phones
IntercomTwo-way audio communication between phones
MulticastNetwork-level broadcast using IP multicast (239.x.x.x addresses)
Auto-AnswerPhone feature that answers incoming calls automatically
DuplexTwo-way audio communication mode
IGMPInternet Group Management Protocol—enables multicast on switches
TTLTime To Live—how many network hops multicast packets can travel
PCMUG.711µ audio codec—widely supported, good quality
RTPReal-time Transport Protocol—carries audio over IP networks
PA SystemPublic Address system—speakers for announcements
Barge-InAbility to interrupt an ongoing announcement
Skip BusyDon't page extensions that are on active calls
---

10. Suggested UI Improvements

The i18n tooltips in this module are already very comprehensive.

UX Enhancements

  1. Phone Compatibility Indicator: Show which member phones support auto-answer

  1. Quick Test Button: "Test Page" button to verify group works

  1. Member Count Badge: Show member count on list page

  1. Audio Preview: Play announcement preview before saving

  1. Network Diagram: Visual representation of multicast routes

  1. Active Pages Widget: Dashboard showing currently active pages

Additional Features to Consider

FeatureBenefit
Scheduled PagesAutomatic announcements at set times
Zone ChainingPage multiple groups in sequence
Priority OverrideEmergency pages interrupt everything
TTS IntegrationText-to-speech for typed announcements
---

Lua Script Status ℹ️

Integration Module

ComponentStatusNotes
Paging Groupsℹ️ Configuration modulePaging managed natively by FreeSWITCH mod_conference
--- 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?