Vaspian-One-Click

Vaspian One Click

A modern, performant Chrome extension that integrates seamlessly with the Vaspian Phone System, providing one-click calling functionality with a beautiful, intuitive interface.

Version Manifest License

✨ Features

🎯 Core Functionality

🎨 Modern Interface

πŸ”§ Advanced Features

πŸ“‹ Requirements

πŸš€ Installation

From Source

  1. Clone or download this repository
    git clone https://github.com/ctaloi/Vaspian-One-Click.git
    cd Vaspian-One-Click
    
  2. Open Chrome Extensions
    • Navigate to chrome://extensions/
    • Enable β€œDeveloper mode” (toggle in top-right corner)
  3. Load the Extension
    • Click β€œLoad unpacked”
    • Select the vaspian-chrome directory
    • The extension icon will appear in your toolbar

βš™οΈ Configuration

Initial Setup

  1. Click the extension icon in your Chrome toolbar

  2. Go to Settings tab and enter your credentials:
    • Tenant: Your Vaspian tenant name (e.g., vaspian)
    • Extension: Your extension number (e.g., 188)
    • Password: Your Vaspian password
  3. Click β€œLogin” to verify your credentials

  4. Optional: Configure Advanced Settings
    • Dial prefix is set to β€œ8” by default (works for most configurations)
    • Change the prefix to β€œ9” or β€œNo prefix” if your system requires it
    • Enable debug logging for troubleshooting
    • Toggle sidebar mode for persistent access

For the best experience, enable sidebar mode:

  1. Go to Settings β†’ Display
  2. Toggle β€œOpen in Sidebar”
  3. Click the extension icon to open the sidebar
  4. The dialer and call history will remain accessible while you browse

πŸ“ž Usage

Click-to-Call from Web Pages

  1. Browse any webpage with phone numbers
  2. Phone numbers are automatically highlighted in orange
  3. Click any phone number to instantly dial
  4. A notification confirms the call is being placed

Manual Dialing

  1. Open the extension (popup or sidebar)
  2. Go to the Dial tab
  3. Enter the phone number (formatting is automatic)
  4. Click β€œMake a Call”
  5. Your phone rings first, then connects to the destination

Call History & Notes

View History:

Add Notes:

  1. Click any call in your history
  2. A note editor appears below the call
  3. Type your notes and click β€œSave Note”
  4. Notes are included in CSV exports

Redial:

Export:

🎯 Supported Phone Number Formats

The extension recognizes various formats:

πŸ—‚οΈ Project Structure

vaspian-chrome/
β”œβ”€β”€ manifest.json              # Extension manifest (Manifest V3)
β”œβ”€β”€ background.js              # Service worker for API calls & session management
β”œβ”€β”€ popup.html                 # Main UI (works in popup and sidebar)
β”œβ”€β”€ popup.js                   # UI logic and state management
β”œβ”€β”€ popup.css                  # Modern, performant styling
β”œβ”€β”€ content.js                 # Content script for phone number detection
β”œβ”€β”€ content.css                # Styling for detected phone numbers
β”œβ”€β”€ HELP.md                    # Comprehensive user guide
β”œβ”€β”€ icons/                     # Extension icons
β”‚   β”œβ”€β”€ icon16.png
β”‚   β”œβ”€β”€ icon48.png
β”‚   └── icon128.png
β”œβ”€β”€ vaspian-just-logo.png      # Logo asset
└── README.md                  # This file

πŸ”’ Security

Implemented Security Measures

βœ… XSS Prevention: All user input is sanitized using escapeHtml() before rendering βœ… Password Security: Passwords are masked in all log outputs βœ… HTTPS Only: All API calls are made over HTTPS βœ… Secure Storage: Chrome’s encrypted sync storage for credentials βœ… No Third-Party Services: All data stays between you and Vaspian βœ… CSP Compliant: No inline scripts, follows Content Security Policy best practices βœ… Minimal Permissions: Only requests necessary Chrome API permissions

Security Notes

Permissions Explained

πŸ› Troubleshooting

Calls Not Going Through

  1. Verify credentials in Settings tab
  2. Enable Debug Logging (Settings β†’ Advanced Settings)
  3. Check the Logs tab for error messages
  4. Verify dial prefix setting (defaults to β€œ8”; change if your system requires β€œ9” or no prefix)
  5. Contact support if issues persist

Phone Numbers Not Detected

Extension Not Loading

  1. Ensure Developer mode is enabled in chrome://extensions/
  2. Check that all files are present in the extension directory
  3. Try removing and re-adding the extension
  4. Check browser console for error messages

Notes Not Saving

  1. Ensure you click β€œSave Note” after typing
  2. Notes are cleared when you logout
  3. Export to CSV to keep permanent records

πŸš€ Performance

This extension is optimized for speed and efficiency:

πŸ› οΈ Development

Making Changes

  1. Edit the source files
  2. Go to chrome://extensions/
  3. Click the refresh icon on the extension card
  4. Test your changes

Debug Mode

Enable debug logging in Advanced Settings to see:

Access logs via:

API Endpoints

The extension uses these Vaspian API endpoints:

Login:

POST https://xtone.buf.vaspian.net/webadmin/en/user/jsp/ProcessLogin.jsp
Parameters:
  - tenantWebName: /{tenant}
  - UserID: {extension}
  - Password: {password}

Click-to-Call:

POST https://xtone.buf.vaspian.net/webadmin/en/user/jsp/ProcessClickToCall.jsp
Parameters:
  - origExt: {your extension}
  - destExt: {destination number}

πŸ“ Changelog

Version 1.0.0 (2025-01-24)

Initial Release

🀝 Support

For Extension Issues:

For Vaspian API Issues:

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

This is open source software. Contributions are welcome!

πŸ™ Acknowledgments

Built with modern web technologies:


Made with ❀️ for Vaspian users

Version 1.0.0 - October 2025