| Call ID | Caller Number | DID / Target | Duration | State | Routed Extension |
|---|---|---|---|---|---|
| No active calls. Waiting for inbound PBX traffic... | |||||
Configure individual credentials for each virtual line appearance. Each line registers separately to the PBX with its own extension and password.
| Port # | Extension Number | SIP Auth Username | SIP Secret / Password | Registration Status |
|---|
The appliance firewall drops all SIP and RTP packets from unauthorized IPs. If your PBX uses dedicated DSP cards or separate media gateways for audio/transcoding, specify their IPs or subnets below.
Configure outbound mail settings to deliver caller voicemail recordings (.wav) and Faster-Whisper AI transcripts directly to staff email inboxes when they are busy or decline calls.
This greeting is spoken immediately when an inbound call connects. It is pre-cached in memory for instantaneous (0ms) response.
Define phonetic replacements for brand names, technical acronyms, or specialized surnames. The VR substitutes matching written words before synthesizing speech.
- Syllable Sound-Alikes: Spell words with familiar English syllables (e.g.
Apex→Ay-pex,Polycom→Polly-com). - Letter-by-Letter Acronyms: Capitalize and hyphenate each letter (e.g.
SLA→S-L-A,PBX→P-B-X,IT→I-T). - Syllable Separation: Use hyphens to keep the neural voice from blending adjacent vowels (e.g.
Coop→Co-op).
| Written Word / Term | Spoken Phonics | Test Audio | Action |
|---|
| Type / Source | Name | Extension | Transfer Mode | Email / Role | Spoken Aliases | Routing Skills / Keywords | Actions |
|---|
Test how caller utterances (phonetic names, nicknames, and skill requests) resolve to extensions in real time.
Configure multiple physical sites, clinics, or branch offices within this company. Each site can have dedicated virtual ports, incoming DIDs, local reception extensions, and personalized spoken greetings.
| Site ID | Site Name | Virtual Ports / DIDs | Reception Ext | Ext Range | Custom Greeting Override | Actions |
|---|---|---|---|---|---|---|
| Loading sites... | ||||||
Manage administrator and operator credentials for accessing the AI Virtual Receptionist Appliance.
| Username | Role | Company Scope | 2FA Security | Created Date | Actions |
|---|---|---|---|---|---|
| Loading user accounts... | |||||
Directly answer routine caller questions (return policies, trading hours, location, payment methods) with zero perceived latency. The AI speaks these pre-approved answers instantly without waiting for Ollama reasoning or handing over to a human receptionist.
| Category | Question / Triggers | Spoken Answer & Follow-up | Action | Actions |
|---|---|---|---|---|
| Loading knowledge base... | ||||
The Live Call Monitor provides real-time visibility into active telephone calls, speech recognition decoding, conversational reasoning, and SIP signaling handoffs.
- Call ID: Unique SIP Call-ID handle tracking the call session across PBX dialogs.
- Caller Number: Inbound caller ID (internal PBX extension or external E.164 number).
- Port: Indicates which virtual extension accepted the call (e.g.
500-io). - Target / Routed: Real-time destination resolved by the AI intent engine.
- Duration: Elapsed connection timer streaming live via WebSocket.
- [SIP]: Telephony signaling events (INVITE, 200 OK, SDP negotiation, BYE).
- [STT]: Caller speech transcription with millisecond latency.
- [LLM]: AI dialogue reasoning, entity extraction, and sentiment.
- [TRANSFER]: Consultative handoff, consent inquiry, and bridge status.
- [KNOWLEDGE]: FAQ keyword matches and sub-50ms instant response delivery.
The appliance connects to your PBX (e.g. Mitel MiVoice 400, Cisco CUCM, Asterisk/FreePBX) via SIP over standard UDP/TCP/TLS.
The appliance functions as an intelligent SIP client registering virtual extension appearances directly to your PBX:
Standard deployments operate efficiently using a single registered virtual extension (e.g. Ext 500). In single-port mode, all inbound calls, hold music playback, interactive voice responses, and transfers are handled reliably on that registered line appearance.
You can scale from 1 up to 16 virtual line ports using the Virtual Ports Count dropdown. Additional virtual ports enable concurrent call handling, dedicated hunt group appearances, or multi-line consultation according to your PBX capacity.
Whenever telephony settings are saved, the appliance automatically updates kernel firewall-cmd rich rules to whitelist:
- SIP Signaling: PBX Host IP on Port
5060/UDP. - Media RTP Streams: PBX media processors and DSP subnets (e.g.
192.168.2.0/24) on Ports10000-20000/UDP.
When a call is unanswered, busy, or declined, the automated voicemail pipeline engages:
- The VR emits an audible 1000Hz tone and records the caller's message.
- The recorded audio is automatically transcribed to text using the configured speech recognition engine (local models or cloud STT APIs).
- An email is dispatched via SMTP containing the full text transcript in the message body and the original audio attached as a
.wavfile.
The Voice AI pipeline features a universal, modular architecture engineered to support both privacy-first local models and high-capacity cloud APIs.
Transcribes caller speech into text with low latency. Supports local privacy models (Faster-Whisper with int8 CPU quantization) as well as cloud speech APIs (OpenAI Whisper, Deepgram, Google Cloud Speech).
Interprets caller intent, resolves staff names and skills, and reasons conversationally. Supports local private models (Llama 3.2, Mistral, Qwen) or enterprise cloud LLMs (OpenAI GPT-4o, Anthropic Claude, Google Gemini).
Synthesizes natural, human-like voice responses with Australian English neural models (Edge-TTS, ElevenLabs, OpenAI TTS, Amazon Polly) and automatic local Piper fallback.
The greeting text in Section 4 is spoken immediately when an inbound call connects.
- Zero-Latency Pre-Caching: On appliance startup and configuration save, the greeting is pre-synthesized into linear PCM8 memory cache, providing an instantaneous (0ms) response on call answer.
- Play Greeting Audio: Click the blue Play Greeting Audio button in Section 4 to listen to how the VR speaks the greeting directly in your browser. The button toggles to a red Stop Playback control during playback.
Neural voice models cannot be fine-tuned directly on custom vocabularies. Use the Custom Pronunciation Lexicon table in Section 6 to define phonetic replacements before speech is synthesized. Here are the 9 core acoustic rules:
| Rule Type | How It Works | Example Mapping |
|---|---|---|
| 1. Syllable Sound-Alikes | Spell unfamiliar words with common English syllables that rhyme with words the model knows. | Apex → Ay-pexPolycom → Polly-com |
| 2. Letter-by-Letter Acronyms | Capitalize and hyphenate each letter to force individual letter spelling. | SLA → S-L-APBX → P-B-XIT → I-T |
| 3. Syllable Separation | Insert hyphens between syllables to prevent the engine from merging adjacent vowels. | Coop → Co-opSubnet → Sub-net |
| 4. Punctuation & Cadence | Commas add ~250ms pauses; periods add ~500ms pauses with falling pitch; ellipses (...) add deliberate hesitation. |
Welcome, to SupportHold on... checking now |
| 5. Syllable Stress & Pitch | Capitalize stressed syllables in phonetic spellings to guide neural pitch inflection. | pro-CESS vs PRO-cess |
| 6. Silent Letter Elimination | Remove unpronounced consonants from irregular English or foreign loanwords. | Knight → NitePharaoh → Fair-ohChopin → Show-pan |
| 7. Homophone Substitution | Replace awkward names or vowel clusters with common everyday words that sound identical. | Wright → RightBough → BowNguyen → Win |
| 8. Symbols & Units Normalization | Spell out symbols, fractions, and units to prevent inconsistent pronunciation. | & → and% → percent1st → First$ → dollars |
| 9. Compound Word Splitting | Insert hyphens between fused technical terms for crisp, clear articulation. | Voicemail → Voice-mailFirewall → Fire-wall |
The Knowledge Base allows the appliance to answer frequent caller inquiries (operating hours, location, return policies, payment terms) with sub-50ms instant response latency:
- Zero-Latency Audio Cache: Spoken answers are pre-cached in memory on appliance startup, bypassing LLM delays.
- Follow-Up Offers: After answering, the VR can offer assistance (e.g. "Would you like me to transfer you to customer support?").
- Clean Closure: If the caller says "No thank you, that was all", the VR politely closes the call and sends a clean SIP
BYE.
The Directory & Skills table maps inbound caller intent and phonetic names to staff extensions, hunt groups, and skill-based queues.
| Field Name | Operational Purpose | Behavior & Detailed Configuration |
|---|---|---|
| Select Entry Type | Defines entry category and transfer eligibility. |
• 👤 Staff Member: Individual user eligible for transfers, voice consultation, and voicemail. • 👥 Department / Group: PBX ring group or hunt queue (typically Blind Transfer). • 📋 Customer Contact: External client/VIP used exclusively to speak caller identity during consultation; 100% excluded from outbound transfers and phonetic search. |
| Full Name | Spoken display name. | The formal name spoken by the VR during caller announcements and transfers. If synchronized from PBX LDAP, it is marked with an amber lock icon and protected against manual or CSV overwrites. |
| Extension Number | Target PBX extension or external phone. |
Internal PBX extension number (e.g. 210) for staff and groups. For Customer contacts, this holds their external telephone or mobile number for caller ID matching.
|
| Department Key | Organizational classification. |
Text identifier (e.g. sales, support, accounts, general) linking individual staff members to broader departmental queues and hunt groups.
|
| Job Title / Role | Functional job description. |
Title or role function (e.g. Technical Support, Manager, Sales, Customer). Used by the AI to assist intent matching when callers ask by role.
|
| Email Address | Voicemail dispatch destination. |
Destination email where caller audio recordings (.wav) and Faster-Whisper text transcripts are dispatched if the contact is busy or unavailable.
|
| Call Transfer Mode | Handoff negotiation style. |
• Attended Transfer: VR calls the staff member, announces caller identity, and requires verbal ("yes"/"no") or DTMF (press 1) consent before bridging. • Blind Transfer: Immediate SIP REFER transfer to the PBX extension without consultation (ideal for queues and ring groups). |
| Caller Announcement | Consultation caller announcement. |
• Enabled: The VR speaks who is calling (recognized Customer name or spoken phone digits) before asking for consent. • Disabled: Standard generic prompt only ("Call for <Staff>"). |
| Fallback Action | Handling when busy or declined. |
• Voicemail: Record caller message and dispatch email audio/transcript. • Queue: Divert call to designated department hunt queue. • Operator: Return caller back to receptionist operator. |
| Phonetic Aliases | Nicknames & speech variations. |
Comma-separated alternate names, first names, or phonetic variations callers might speak (e.g. Chuck, Chuck Norris, Mr Norris).
|
| Routing Skills & Tiers | Skill matching & priority dispatch. |
Comma-separated skill keywords with optional priority tiers (e.g. Support:1, Billing:2). Tier 1 agents are called first; Tier 2 agents are called if Tier 1 is busy. Equal tiers rotate via longest-idle round-robin.
|
| Anti-Overwrite Protection | LDAP synchronization security. | Locally created Groups and Customers are never overwritten or deleted by PBX LDAP updates. Custom transfer modes, emails, and aliases assigned to synced staff are strictly preserved across syncs. |
When a caller speaks, the resolver evaluates candidate targets in strict descending order of certainty:
- Exact Extension Match: e.g. "extension two zero one".
- Phonetic Full Name: Levenshtein & Soundex fuzzy matching.
- Staff Nicknames & Aliases: Configured alternate names.
- Department & PBX Groups: Ring groups and hunt queues.
- Tiered Skills Hierarchy: Semantic skill matches.
When multiple agents qualify for a skill or department:
- The agent with the longest idle time is called first to balance workload.
- If an agent declines or does not answer, the VR automatically progresses to the next agent in the tier.
- Throughout multi-agent consultation cascades, the caller hears unbroken hold music with zero audio clipping.
Administrative tools for maintaining appliance uptime, configuring role-based access, and applying updates safely.
To guarantee zero dropped calls in production, configuration changes are managed by the UpdateCoordinator:
- If the appliance is idle (0 active calls), changes are applied immediately.
- If a call is in progress, changes are queued safely and applied the millisecond the active call completes.
- Administrator: Full permissions to modify PBX settings, edit the directory, configure AI models, and manage user accounts.
- Operator: Read-only monitoring permissions. Can view live call status, trace logs, and directory entries, but cannot alter telephony or system configurations.
Distribution of directory & intent matching confidence scores across caller utterances.
Proportion of call resolution methods across all inbound sessions.
Call volume distribution by hour of day (00:00 to 23:00) identifying peak rush windows.
Most frequent transfer destinations requested by inbound callers.
Average sub-second processing timers across speech transcription, intent reasoning, and audio generation.
| Date / Time | Caller ID | Port | Destination Target | Outcome | Confidence Bracket | Duration | Voicemail |
|---|---|---|---|---|---|---|---|
| Loading call records... | |||||||
Configure network addressing mode and local appliance hostname.
When sharing a single public IP address across multiple internal services, your public SSL certificate lives on your frontend NPMplus / Nginx Proxy Manager server. The proxy terminates HTTPS and forwards traffic to this internal appliance.
Install the public certificate (Let's Encrypt / Wildcard) on NPMplus at the network edge. This appliance communicates via HTTP over the private LAN, and NPMplus handles public HTTPS, HTTP/2, and WebSocket proxying.
Active certificate installed at /opt/virtual-receptionist/config/certs/cert.pem used when accessing this appliance directly via LAN IP.
Loading...