PC CallManager
Desktop Softphone for VitalPBX
User Guide & Reference Manual — Version 1.0 — March 2026
Introduction & Overview
PC CallManager is a professional desktop softphone application built by PhoneCentral (Image Telephone LLC) for use with VitalPBX and compatible SIP/WebRTC phone systems. It replaces the need for a physical desk phone by providing a complete unified communications experience directly on your Windows desktop.
PC CallManager connects to your PBX via WebRTC over a secure WebSocket connection, delivering HD-quality voice calls alongside SMS messaging, visual voicemail, a company directory, call parking, and real-time extension presence — all in a single, modern application.
Key Highlights
📞 Full Call Control
Make and receive calls with hold, transfer, conference, parking, mute, and caller ID selection.
💬 PC Chat (SMS)
Two-way SMS messaging through Skyetel. Text customers from your business number.
👥 Live Directory
Company directory with real-time presence indicators showing who's available, on a call, or offline.
📩 Visual Voicemail
View and play voicemail messages without dialing into a voicemail system.
📇 M365 Contact Sync
Automatically import your Outlook contacts via Microsoft Graph API.
🔀 Sidecar / BLF
Monitor extensions and transfer calls with drag-and-drop, just like a desk phone's BLF keys.
Getting Started
This section walks you through everything you need to get PC CallManager up and running on your computer in about five minutes.
Quick Start Checklist
| Step | Action | Time |
|---|---|---|
| 1 | Confirm system requirements (see Section 3) | 1 min |
| 2 | Download and install PC CallManager | 2 min |
| 3 | Enter your PBX credentials in Settings | 1 min |
| 4 | Test an outgoing call | 1 min |
| 5 | Configure optional features (SMS, contacts, voicemail) | 5 min |
What Happens at First Launch
When you launch PC CallManager for the first time, the application opens to the Settings panel. You will need to enter your PBX server address, extension number, and password. Once connected, the status indicator in the header bar turns green and displays your extension number, confirming you are registered and ready to make and receive calls.
After initial setup, PC CallManager remembers your credentials and connects automatically on every subsequent launch. The application minimizes to the system tray when you close the window, so it remains active and ready to receive calls even when you are working in other applications.
What You Will Need
System Requirements
| Requirement | Minimum | Recommended |
|---|---|---|
| Operating System | Windows 10 (64-bit) | Windows 11 (64-bit) |
| Processor | Intel Core i3 / AMD equivalent | Intel Core i5 or better |
| Memory (RAM) | 4 GB | 8 GB or more |
| Disk Space | 200 MB | 500 MB |
| Internet Connection | 1 Mbps up/down | 5 Mbps+ (low latency) |
| Audio | Built-in speakers + microphone | USB headset recommended |
Network Requirements
PC CallManager uses WebRTC for voice calls over a secure WebSocket (WSS) connection. The following network ports must be accessible:
| Protocol | Port | Purpose |
|---|---|---|
| WSS (WebSocket Secure) | 8089 | SIP signaling to PBX |
| SRTP / UDP | 10000–20000 | RTP voice media (audio streams) |
| STUN / TURN | 3478 / 443 | NAT traversal for remote users |
| HTTPS | 443 | Microsoft 365 sync, Skyetel SMS API |
| TCP | 5038 | AMI connection (voicemail, presence) |
Credentials You Will Need
Your PhoneCentral administrator will provide the following information. Keep these credentials secure.
Installation & First Launch
Installing PC CallManager
PC CallManager is distributed as a Windows installer (.exe). Download the latest version from your PhoneCentral administrator or the company intranet.
PC-CallManager-Setup-1.0.exe).First-Time Configuration
System Tray Behavior
When you close the PC CallManager window (click the X), the application does not exit. Instead, it minimizes to the Windows system tray (notification area near the clock). The tray icon indicates your registration status. Double-click the tray icon to restore the window. Right-click for a quick menu with options to show the window or quit the application entirely.
Interface Tour
The PC CallManager interface is organized into five main areas. This section describes each area and its purpose.
Header Bar
The header bar runs across the top of the application. It contains the PC CallManager logo, registration status indicator (green dot = connected, red = disconnected), your extension number, the dark/light theme toggle (sun or moon icon), and the gear icon for Settings. The active caller ID label is also displayed here when you have configured multiple outbound numbers.
QuickDialer
Directly below the header bar is the QuickDialer — a search and dial field. Type a phone number or start typing a contact name to search. Press Enter or click the green phone button to call. The dropdown arrow on the call button gives you the option to send an SMS instead. The QuickDialer also serves as a real-time search across your PBX extensions, Microsoft 365 contacts, and call history.
Tab Bar
Below the QuickDialer, four tabs organize the application's main views:
| Tab | Icon | Description |
|---|---|---|
| Directory | Contacts icon | PBX extensions and synced contacts with presence indicators |
| History | Clock icon | Call log with direction, duration, and timestamps |
| Chat | Chat bubble | PC Chat — SMS messaging via Skyetel |
| VM | Voicemail icon | Visual voicemail viewer and playback |
Main Content Area
The largest portion of the window displays the content for the selected tab. This area shows your directory contacts in list or grid view, call history entries, SMS conversation threads, or voicemail messages depending on which tab is active.
Speed Dial & Sidecar Panels
Below or alongside the main content area, two collapsible panels provide quick-access features. The Speed Dial panel holds up to 15 favorite contacts for one-click calling. The Sidecar panel (also called BLF panel) shows monitored extensions with real-time presence status. During an active call, drag a call card onto a Sidecar extension button to instantly transfer the call.
Active Call Area
When a call is in progress, a call card appears showing the remote party's name and number, a live call timer, and a toolbar with call control buttons: Hold, Mute, Transfer, Conference, Park, and Hang Up. Multiple simultaneous calls display as stacked cards — double-click a held call to swap it to the active position.
Complete Feature List
The following tables provide a comprehensive reference of every feature available in PC CallManager v1.0.
Call Handling
| Feature | Description | Status |
|---|---|---|
| Make / Receive Calls | SIP/WebRTC calls via VitalPBX | Working |
| Ringback Tone | US standard 440+480 Hz tone while dialing | Working |
| Screen Pop | Incoming call overlay with caller name, number, company. Answer/Reject/To VM buttons | Working |
| Hold / Resume | Private hold with music on hold. Orange indicator | Working |
| Call Swap | Double-click held call card to swap active/held calls | Working |
| Mute / Unmute | Toggle microphone on/off. Red indicator when muted | Working |
| Blind Transfer | Transfer call immediately to another extension or number | Working |
| Attended Transfer | Speak with target before completing transfer | Working |
| 3-Way Conference | Client-side audio mixing — all parties hear each other | Working |
| Call Parking | Park calls in shared lot (slots 5901–5909). Anyone can retrieve | Working |
| Dial Pad (DTMF) | DTMF tones with audible feedback for IVR navigation | Working |
| Call Timer | Live MM:SS duration counter on active calls | Working |
| Caller ID Selector | Choose outbound CID from multiple office numbers via P-Asserted-Identity | Working |
| Blocked Numbers | Auto-reject blocked callers with 603 Decline. Toast notification | Working |
Contacts & Directory
| Feature | Description | Status |
|---|---|---|
| PBX Extensions | Auto-loads all extensions from VitalPBX REST API | Working |
| Microsoft 365 Sync | Pulls Outlook contacts via Graph API (Contacts.Read permission) | Working |
| List / Grid View | Toggle between detailed list and compact multi-column grid | Working |
| Sort Options | Sort by extension number, first name, or last name | Working |
| Contact Search | Search by name, number, or company in QuickDialer and Directory | Working |
| Speed Dial | Up to 15 favorites in compact grid. Click to call. Right-click to manage | Working |
| Sidecar / BLF | Drag extensions into monitoring panel. Drag-and-drop transfer during calls | Working |
| Presence Indicators | Real-time extension status via AMI (green/red/orange/gray) | Working |
| Contact Edit Modal | Proper casing, person vs business detection, edit before saving | Working |
| Inline SMS Icons | Chat bubble icon on directory entries; click to open PC Chat | Working |
PC Chat (SMS Messaging)
| Feature | Description | Status |
|---|---|---|
| Two-Way SMS | Send and receive text messages via Skyetel API | Working |
| Conversation Threads | Messages grouped by phone number in threaded view | Working |
| Compose New Message | Start new SMS from Chat tab or QuickDialer | Working |
| Inbound SMS Polling | Incoming messages received via webhook polling every 20 seconds | Working |
| Unread Badges | Unread message count on Chat tab | Working |
| Inline SMS from History | Click chat icon on call history to SMS that number | Working |
Voicemail
| Feature | Description | Status |
|---|---|---|
| Visual Voicemail | View messages in a list with caller, date, and duration | Working |
| Playback Controls | Play, pause, and skip through voicemail messages in-app | Working |
| New / Old Indicators | NEW badge on unread messages; unread count on VM tab | Working |
| Extension Override | Check voicemail for a different extension | Working |
| Delete Messages | Remove voicemail messages from within the app | Working |
Application Features
| Feature | Description | Status |
|---|---|---|
| Dark / Light Theme | Toggle with sun/moon icon. Preference saved | Working |
| Settings Panel | Accessed via gear icon; organized into collapsible sections | Working |
| Single Instance Lock | Only one instance can run at a time | Working |
| System Tray | Runs in tray when window closed; always ready for calls | Working |
| Screen Pop | Incoming call overlay on top of other applications | Working |
| Call History | Direction icons, duration, timestamps, click-to-callback | Working |
| Call Notes | Right-click history to add/edit notes. Pencil icon indicator | Working |
| Version Display | Version number shown in title bar | Working |
Making & Receiving Calls
Making an Outgoing Call
There are several ways to place a call in PC CallManager:
QuickDialer: Type a phone number or contact name in the search field at the top of the application. Press Enter or click the green phone button to call. For external numbers, dial the full 10-digit number (or 11-digit with 1 prefix). For internal extensions, dial the 3- or 4-digit extension number.
Directory: Click any contact in the Directory tab to call them. In grid view, click the contact card. In list view, click the phone icon next to the contact name.
Speed Dial: Click any contact in the Speed Dial panel for one-click dialing.
Call History: Click any entry in the History tab to call that number back.
Sidecar: Click any extension button in the Sidecar panel to call that extension.
Once the call is placed, you will hear the US standard ringback tone (440+480 Hz) while the remote phone rings. When the call is answered, the ringback stops and two-way audio begins. A call card appears in the active call area showing the remote party's name, number, and a live call timer.
Receiving an Incoming Call
When someone calls your extension, PC CallManager displays a screen pop overlay on top of all other applications. The screen pop shows the caller's name (if known), phone number, and company (if available from your contacts). Three action buttons are presented:
Answer: Accept the call and begin the conversation.
Reject: Decline the call. The caller hears a busy signal or is sent to voicemail depending on your PBX configuration.
To VM: Send the call directly to your voicemail without answering.
Selecting Your Outbound Caller ID
If your administrator has configured multiple outbound numbers for your account (for example, a main office number and a direct line), you can choose which caller ID to present on outgoing calls.
The selected caller ID is sent as a P-Asserted-Identity SIP header on every outgoing call. If no caller ID is selected, your default extension caller ID is used.
Call Handling Features
Hold & Resume
Click the Hold button in the call toolbar to place the active call on hold. The caller hears music on hold configured on the PBX. The call card turns orange to indicate the held state. Click the Resume button (or the Hold button again) to take the call off hold. Hold is private — only you can retrieve a held call from your extension.
Call Swap
When you have two calls (one active and one on hold), double-click the held call's card to swap: the active call goes on hold and the held call becomes active. This lets you alternate between two conversations without losing either caller.
Mute
Click the Mute button to turn off your microphone. A red indicator appears on the button and on the call card to remind you that the caller cannot hear you. Click Mute again to unmute. Mute does not affect the caller's audio — you can still hear them while muted.
Blind Transfer
A blind transfer sends the caller directly to another extension or number without consulting the recipient first.
Attended Transfer
An attended transfer lets you speak with the transfer target before completing the handoff. This is useful when you need to introduce the caller or provide context.
3-Way Conference
PC CallManager supports three-way conference calling using client-side audio mixing. All three parties hear each other clearly. To create a conference: place a call to the first party, then use the Conference button to dial the second party. The first caller is placed on hold while you connect with the second. Once the second party answers, click Merge to combine all three into a conference.
Call Parking
Call parking places a call in a shared "parking lot" where anyone in the office can retrieve it. This differs from Hold, which is private to your extension.
To park a call: Click the Park button in the call toolbar. The call is transferred to the next available parking slot (5901–5909). The call card updates to show "Parked — Slot 5901" in orange.
To retrieve a parked call: Dial the parking slot number (e.g., 5901) from any extension, or click the parked call in the Parked Calls panel within the application.
Park timeout: If no one retrieves the parked call within the configured timeout (typically 60 seconds), the call rings back to the person who parked it.
Blocked Numbers
You can block specific phone numbers so that incoming calls from those numbers are automatically rejected with a 603 Decline response. The caller hears a busy signal. A toast notification appears briefly to let you know a blocked call was rejected.
To block a number, right-click any entry in the Call History or Directory and select "Block Number." Blocked numbers are managed in Settings under the Blocked Numbers section, where you can review and unblock numbers at any time.
DTMF Dial Pad
During an active call, open the dial pad to send DTMF tones for navigating automated phone systems (IVR menus), entering conference PINs, or interacting with any system that requires touch-tone input. Each key press produces an audible tone and sends the corresponding DTMF signal through the call.
Contacts & Directory
PBX Extensions
The Directory tab automatically loads all extensions configured on your VitalPBX system via the REST API. Each entry shows the extension number, display name, and a presence indicator. Click any extension to call it.
Microsoft 365 Contact Sync
PC CallManager can import your Outlook contacts from Microsoft 365. To enable this feature, open Settings, navigate to the Microsoft 365 section, and click Connect. You will be prompted to sign in to your Microsoft account and grant the Contacts.Read permission. Once connected, your Outlook contacts appear in the Directory alongside PBX extensions. Contacts are refreshed each time the application launches.
List View vs. Grid View
The Directory supports two display modes, toggled using the buttons at the top-right of the Directory panel. List View shows one contact per row with full details including name, extension, company, and presence status. Grid View shows contacts as compact cards in a responsive multi-column layout, fitting more contacts on screen. Each card shows an avatar circle, name, and extension number. Your view preference is saved automatically.
Contact Search
Use the QuickDialer search field to search across all contact sources in real time. As you type, matching contacts from PBX extensions, Microsoft 365, and call history appear in a dropdown. Search matches against name, phone number, extension, and company fields.
Speed Dial
The Speed Dial panel holds up to 15 favorite contacts in a compact grid for one-click calling. To add a contact to Speed Dial, right-click any entry in the Directory or Call History and select "Add to Speed Dial." To remove, right-click the Speed Dial entry and select "Remove." The panel is collapsible to save screen space.
Sidecar / BLF Panel
The Sidecar panel functions like the Busy Lamp Field (BLF) buttons on a traditional desk phone. Drag extensions from the Directory into the Sidecar to monitor them. Each button shows an avatar with a colored border indicating real-time presence: green means available, red means on a call, orange means ringing, and gray means offline. Click a Sidecar button to call that extension.
During an active call, the Sidecar becomes a transfer tool: drag the call card and drop it onto any Sidecar extension to perform an instant blind transfer. The drop target highlights when you drag over it to confirm the transfer destination.
Presence Indicators
PC CallManager connects to your PBX via the Asterisk Manager Interface (AMI) to receive real-time extension state updates. Presence colors appear as a dot or border on contact avatars throughout the Directory, Sidecar, and Speed Dial panels:
| Color | State | Meaning |
|---|---|---|
| ● Green | Idle / Available | Extension is registered and not on a call |
| ● Red | In Use / Busy | Extension is currently on a call |
| ● Orange | Ringing | Extension is receiving an incoming call |
| ● Gray | Unavailable | Extension is not registered or unreachable |
PC Chat — SMS Messaging
Overview
PC Chat is the built-in SMS messaging module in PC CallManager. It provides two-way text messaging using your business phone number through the Skyetel carrier API. Messages appear as conversation threads grouped by phone number, similar to a mobile messaging app.
Setting Up PC Chat
To enable SMS messaging, you need Skyetel API credentials. Open Settings, navigate to the Skyetel SMS section, and enter your Skyetel SID, API Secret, and the From Number (the phone number that SMS messages will be sent from). Your PhoneCentral administrator can provide these credentials.
Sending a Message
There are three ways to start a new SMS conversation:
From the Chat tab: Click "New Message," enter the recipient's phone number, type your message, and press Enter or click Send.
From the QuickDialer: Type a number, click the dropdown arrow on the call button, and select "Send SMS." This opens the Chat tab with the number pre-filled.
From History or Directory: Click the chat bubble icon that appears next to any contact or history entry. This opens the Chat tab with that number ready for a new message.
Receiving Messages
PC CallManager polls the Skyetel API every 20 seconds for incoming SMS messages. When a new message arrives, an unread badge appears on the Chat tab. Opening the Chat tab shows all conversations with the most recent at the top. Click a conversation thread to view the full message history. Sent messages appear on the right in blue/purple, and received messages appear on the left.
Voicemail
Visual Voicemail
The VM tab provides a visual voicemail interface that eliminates the need to dial into a voicemail system. All voicemail messages are retrieved from the PBX via the Asterisk Manager Interface (AMI) and displayed in a list showing the caller's number or name, the date and time the message was left, and the message duration.
Playback
Click any voicemail message to play it directly in the application. Standard audio controls let you play, pause, and skip through the message. Unread messages are marked with a "NEW" badge, and the total unread count appears on the VM tab icon.
Voicemail for Other Extensions
By default, PC CallManager shows voicemail for the extension you are logged into. If you need to check voicemail for a different extension (for example, a shared mailbox or a colleague's extension), use the Extension Override option in Settings under the Voicemail section. Enter the target extension number and the application will retrieve messages for that extension instead.
Settings & Configuration
Access Settings by clicking the gear icon in the header bar. Settings are organized into collapsible sections for easy navigation.
Settings Sections
| Section | Contents |
|---|---|
| PBX Connection | Server address, WebSocket port, extension, password, display name, Connect/Disconnect button |
| Audio | Microphone and speaker device selection, volume controls, ringtone preview |
| Caller ID | Add/remove outbound phone numbers with labels; select active caller ID |
| Voicemail | AMI connection settings, extension override for checking other mailboxes |
| Microsoft 365 | Connect/disconnect Microsoft account for Outlook contact sync |
| Skyetel SMS | API credentials (SID, Secret) and From Number for PC Chat |
| Blocked Numbers | List of blocked phone numbers with option to unblock |
| Appearance | Dark/light theme toggle, UI density preferences |
Audio Device Selection
PC CallManager lets you choose which microphone and speaker to use for calls. This is especially useful if you have a USB headset, a Bluetooth headset, and built-in laptop audio. Open Settings, navigate to the Audio section, and select your preferred input (microphone) and output (speaker) devices from the dropdown menus.
Connection Status
The registration status indicator in the header bar shows your current connection state. A green dot with your extension number means you are registered and ready for calls. A red dot means you are disconnected — check your network connection and PBX credentials. The application attempts to reconnect automatically if the connection drops.
Keyboard Shortcuts
PC CallManager supports keyboard shortcuts for common actions:
| Shortcut | Action |
|---|---|
| Enter | Place a call to the number in the QuickDialer |
| Escape | Hang up the active call / Close the Settings panel |
| Ctrl + D | Focus the QuickDialer (start typing a number or name) |
| Ctrl + M | Mute / unmute the active call |
| Ctrl + H | Hold / resume the active call |
| Ctrl + T | Open the transfer dialog |
| Ctrl + 1 | Switch to the Directory tab |
| Ctrl + 2 | Switch to the History tab |
| Ctrl + 3 | Switch to the Chat tab |
| Ctrl + 4 | Switch to the Voicemail tab |
| Ctrl + , | Open Settings |
Troubleshooting
Connection Issues
Cannot Register / Red Status Indicator: Verify your server address, port (8089), extension, and password in Settings. Ensure your internet connection is active. Check that your firewall allows outbound connections on port 8089 (WSS) and UDP ports 10000–20000 (media). Try disconnecting and reconnecting in Settings.
Frequent Disconnections: This is typically caused by an unstable internet connection, a VPN that interferes with WebSocket traffic, or a firewall that times out idle connections. If you are on a VPN, try configuring a split tunnel to exclude the PBX server. If the issue persists, contact your network administrator.
Audio Issues
No Audio (One-Way or Both Ways): Check your audio device selection in Settings. Ensure your headset or microphone is not muted at the hardware level. Verify that your browser/system has granted microphone permission to the application. If behind a strict firewall or symmetric NAT, a TURN server may be required — contact your administrator.
Echo or Feedback: This usually occurs when using laptop speakers and a built-in microphone. Switch to a headset to eliminate echo. If echo persists, reduce the speaker volume.
STUN Binding Timeout Errors: This error in the console (stun_port.cc: Binding request timed out) indicates that the STUN server could not determine your public IP address, typically due to a restrictive firewall or NAT. Calls may still work if a direct connection is possible, but if you experience one-way audio, a TURN server is needed.
Call Quality Issues
Choppy or Robotic Audio: This is almost always a network issue. Check your internet speed (at least 1 Mbps up and down is required). Close bandwidth-heavy applications (video streaming, large downloads). If on Wi-Fi, try a wired Ethernet connection for more consistent quality.
Delayed Audio (Latency): High latency is caused by network routing, VPNs, or geographic distance from the PBX server. Bluetooth headsets add 50–150ms of additional latency. For the lowest latency, use a wired USB headset and a direct internet connection without VPN.
SMS / PC Chat Issues
Messages Not Sending: Verify your Skyetel credentials in Settings (SID, Secret, and From Number). Ensure the From Number is SMS-enabled in your Skyetel account. Check that the recipient number is formatted as a 10-digit US number.
Not Receiving Messages: Inbound SMS relies on webhook polling every 20 seconds. If messages are delayed, check your internet connection. If messages never appear, confirm that the Skyetel webhook is configured correctly by your administrator.
General Issues
App Won't Launch / Multiple Instances: PC CallManager has a single-instance lock. If the app won't launch, it may already be running in the system tray. Check the notification area near the clock for the PC CallManager icon. Right-click it and select Quit, then relaunch.
Need Help: Contact PhoneCentral support at techsupport@phonecentral.net or call your administrator.
Appendix — Technical Reference
Architecture
PC CallManager is built on Electron (Chromium + Node.js) with JsSIP as the SIP/WebRTC library. The application connects to VitalPBX over a secure WebSocket (WSS) on port 8089 for SIP signaling and uses SRTP for encrypted voice media. The Asterisk Manager Interface (AMI) on port 5038 provides voicemail access and real-time extension presence. Microsoft Graph API provides Outlook contact synchronization, and the Skyetel REST API provides SMS messaging capability.
Technology Stack
| Component | Technology |
|---|---|
| Desktop Framework | Electron (Chromium + Node.js) |
| SIP/WebRTC Library | JsSIP |
| Voice Protocol | WebRTC with SRTP encryption |
| SIP Signaling | WebSocket Secure (WSS) on port 8089 |
| PBX Platform | VitalPBX (Asterisk / FreeSWITCH) |
| Voicemail & Presence | Asterisk Manager Interface (AMI) |
| Contact Sync | Microsoft Graph API (Contacts.Read) |
| SMS Messaging | Skyetel REST API |
| Installer | electron-builder (Windows .exe) |
SIP Configuration Reference
File Locations (Windows)
C:\Program Files\PC CallManager\%APPDATA%\PC CallManager\%APPDATA%\PC CallManager\logs\