npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@vicistack/vicidial-vs-xencall

v1.0.0

Published

XenCall vs VICIdial: Paying $150/Seat for Convenience You Might Not Need — ViciStack call center engineering guide

Readme

XenCall vs VICIdial: Paying $150/Seat for Convenience You Might Not Need

XenCall and VICIdial sit at opposite ends of the call center software spectrum. XenCall is a polished, cloud-hosted dialer with a built-in CRM and a price tag to match. VICIdial is the open-source workhorse that powers thousands of call centers worldwide with zero licensing fees. If you're evaluating these two platforms, you're probably asking one of two questions: "Is XenCall worth the premium over VICIdial?" or "Can VICIdial match what XenCall gives me out of the box?" The answer to both is nuanced, and it depends on your team size, technical capabilities, growth plans, and how much you value customization versus convenience. This article provides the complete, honest breakdown so you can make the right call. ## Quick Comparison | Feature | VICIdial | XenCall | |---------|----------|---------| | License | Open-source (AGPLv2) | Proprietary SaaS | | Hosting | Self-hosted / managed | Cloud-hosted only | | Base Price | Free (self-hosted) | ~$125-150/agent/month | | Per-Minute Charges | Carrier rates only | Included in plan | | Dialing Modes | Predictive, progressive, manual, ratio, adapt | Predictive, power, preview, manual | | Built-in CRM | Lead management only | Full CRM suite | | UI/UX | Functional, dated | Modern, intuitive | | API Access | Full (non-agent + agent APIs) | REST API | | Customization | Unlimited (source access) | Platform-limited | | Max Agents | Unlimited (hardware) | Plan-dependent | | Contract | None | Monthly/annual | | Setup Time | Days to weeks | Hours to days | ## Pricing: VICIdial vs XenCall Pricing is where the conversation usually starts, and it's where the two platforms diverge most dramatically. ### XenCall Pricing Structure XenCall charges approximately $125-150 per agent per month. Some published plans show: - Starter: ~$125/agent/month (basic features) - Professional: ~$150/agent/month (advanced features, API access) - Enterprise: Custom pricing (dedicated support, SLA guarantees) Additional costs to factor in: - DID numbers: typically $1-3/month each - Toll-free numbers: $3-5/month plus per-minute usage - SMS/MMS: per-message charges - Setup/onboarding: varies, often $500-2,000 - Additional storage for recordings beyond plan limits 50-agent center monthly estimate on XenCall: | Item | Cost | |------|------| | 50 agents x $140/agent | $7,000 | | 150 DIDs | $300 | | Toll-free numbers (5) | $75 | | SMS package | $200 | | Total | ~$7,575/month | Annual: ~$90,900 ### VICIdial Pricing (Self-Hosted) VICIdial has no licensing fee. Period. Your costs are servers, carriers, and human expertise: | Item | Cost | |------|------| | Dedicated servers (2 for redundancy) | $400-800/month | | SIP trunking (50 concurrent channels) | $200-500/month | | 150 DIDs | $75-150/month | | System administrator (partial FTE) | $2,000-4,000/month | | Total | ~$2,675-5,450/month | Annual: ~$32,100-65,400 The delta is significant: $25,500-58,800 per year saved by running VICIdial self-hosted. But that savings assumes you have competent technical staff. If a server crash at 2 PM on a Tuesday costs you an hour of downtime across 50 agents, that's 50 agent-hours of lost productivity -- easily $2,500+ in a single incident. ### Total Cost of Ownership: 3-Year Analysis Let's compare the true 3-year TCO for a 50-agent center: | Cost Element | XenCall (3yr) | VICIdial Self-Hosted (3yr) | ViciStack Managed (3yr) | |-------------|--------------|--------------------------|----------------------| | Platform/license | $252,000 | $0 | $0 | | Management fee | $0 | $0 | $270,000 | | Infrastructure | Included | $28,800 | Included | | Telecom (DIDs + trunks) | $13,500 | $9,900 | $9,900 | | IT staff allocation | $0 | $108,000 | $0 | | Setup/migration | $2,000 | $5,000 | Included | | 3-Year Total | $267,500 | $151,700 | $279,900 | Raw self-hosted VICIdial is the cheapest option. But the analysis misses a critical factor: performance. Self-hosted VICIdial without expert optimization typically achieves 3-4% connect rates. XenCall's managed platform delivers 3.5-4.5%. ViciStack-optimized VICIdial consistently achieves 6-8%. At $50 revenue per connect, a 50-agent center producing 20 extra connects per day generates an additional $1,000/day or $264,000/year. Over three years, that's $792,000 in additional revenue -- dwarfing the cost differences between any of the three options. ## UI/UX Comparison ### XenCall's Interface XenCall's modern UI is its strongest selling point. The agent interface features: - Clean dashboard with call controls, lead info, and scripts in a single view - Drag-and-drop campaign builder for non-technical managers - Visual reporting with charts and graphs - Mobile-responsive design for remote agents - Built-in softphone (WebRTC) -- no separate softphone needed - One-click CRM actions from the call screen For call center managers who aren't technical, XenCall's interface significantly reduces training time. New agents can typically start making calls within 30 minutes of account creation. ### VICIdial's Interface VICIdial's interface is functional but dated. The agent screen provides: - Lead information display - Call controls (dial, hangup, transfer, park) - Disposition selection - Callback scheduling - Script display - Manual dial option - Three-way conferencing The admin interface includes: - Campaign configuration with extensive settings - Real-time monitoring - User/group management - List management and lead loading - Reporting suite VICIdial's UI hasn't had a major visual overhaul in years. The layout uses tables, the styling is circa 2008, and navigation requires knowing where things are. However, experienced VICIdial agents develop muscle memory quickly, and the interface's simplicity means it loads fast even on slow connections. For custom UI needs, VICIdial supports: - Custom agent screens via the web_form URL feature - External CRM iframes embedded in the agent view - Complete reskinning via CSS and PHP template modifications - Third-party agent interfaces like QueueMetrics that provide modern UIs on top of VICIdial's backend ### Verdict: UI/UX XenCall wins on out-of-the-box experience. It's modern, intuitive, and reduces onboarding time. VICIdial wins on customizability -- you can make the agent screen look however you want if you have development resources. For most operations, XenCall's UI advantage matters less than people think: agents spend 95% of their time on the same three screens, and muscle memory overcomes design differences within a week. ## Built-in CRM vs VICIdial's Lead Management ### XenCall's CRM XenCall includes a full CRM as part of the platform: - Contact records with unlimited custom fields - Pipeline management with visual deal stages - Activity tracking (calls, emails, texts, notes) - Task and follow-up management - Email integration with templates - SMS/MMS messaging from the platform - Document storage attached to contacts - Import/export with field mapping For centers that don't have an existing CRM, XenCall's built-in option eliminates the need for a separate tool. It's not Salesforce, but for outbound sales operations it covers the fundamentals well. ### VICIdial's Lead Management VICIdial's built-in lead management handles: - Lead storage in the vicidial_list table - Custom fields per list (up to 100+ fields) - Disposition tracking with custom status codes - Callback scheduling (agent-specific and campaign-wide) - DNC management (internal, national, campaign-level) - Lead recycling based on disposition and time rules - List management with upload, export, and field mapping What VICIdial does NOT have natively: - Pipeline/deal tracking - Email marketing - SMS from the agent screen (requires add-on) - Document management - Visual workflow builder For CRM integration, VICIdial provides two approaches: 1. Web Form Integration (most common): In Campaign settings, configure the Web Form URL: https://your-crm.com/lead?phone=--A--phone_number--B--&first=--A--first_name--B--&last=--A--last_name--B--&lead_id=--A--lead_id--B--&dispo=--A--dispo--B-- VICIdial replaces the --A--field--B-- tokens with live lead data. The CRM page opens in an iframe or new window. This is how most centers integrate Salesforce, Zoho, HubSpot, and custom platforms. 2. API Integration: VICIdial's Non-Agent API supports programmatic operations: bash # Add a lead via API curl "https://server/vicidial/non_agent_api.php?\ source=api&user=apiuser&pass=apipass\ &function=add_lead\ &phone_number=3125551234\ &first_name=John&last_name=Smith\ &list_id=1001" # Update lead data curl "https://server/vicidial/non_agent_api.php?\ source=api&user=apiuser&pass=apipass\ &function=update_lead\ &lead_id=12345\ &custom_field_1=new_value" The Agent API provides real-time control: bash # Get agent status curl "https://server/agc/api.php?\ source=api&user=agent001&pass=agentpass\ &function=external_status\ &value=SALE" ### Verdict: CRM XenCall wins if you need an all-in-one CRM and don't have one. VICIdial wins if you have an existing CRM you want to integrate deeply, or if your lead management needs are straightforward (which they are for most outbound operations). The "built-in CRM" advantage sounds bigger than it is -- most centers either already have a CRM or need something more powerful than what any dialer platform bundles. ## Reporting and Analytics ### XenCall Reporting XenCall provides: - Real-time agent status dashboard - Campaign performance analytics with visual charts - Agent scorecard with KPIs - Call disposition reports - Time-based analytics (hourly, daily, weekly) - Recording search with filters - Scheduled report delivery via email - Export to CSV/Excel The dashboard is visual and manager-friendly. You can see at a glance which campaigns are performing and which agents are producing. For day-to-day operational management, it's well-designed. ### VICIdial Reporting VICIdial's built-in reporting covers: - Real-time agent monitoring - Campaign summary stats - Agent time detail - Outbound calling report - Closer (inbound) report - DID report - AST (Agent Status Timeline) report - CSV export Where VICIdial's reporting truly shines is beneath the surface. Every piece of data lives in MySQL tables that you can query directly. This means: - Custom reports via SQL views (see our MySQL Reports Guide) - Integration with BI tools like Grafana and Metabase - Automated report generation via cron - Real-time dashboards with 10-second refresh - Historical analysis across any time period with any grouping Example: a query XenCall can't run but VICIdial can: sql -- Find agents whose AMD false positive rate exceeds 5% -- by comparing short-duration human dispositions to total calls SELECT user, COUNT(*) AS total_calls, SUM(CASE WHEN length_in_sec < 4 AND status NOT IN ('AA','AM','AL','B','NA','DC') THEN 1 ELSE 0 END) AS possible_amd_errors, ROUND( SUM(CASE WHEN length_in_sec < 4 AND status NOT IN ('AA','AM','AL','B','NA','DC') THEN 1 ELSE 0 END) / NULLIF(COUNT(*), 0) * 100, 2 ) AS error_rate FROM vicidial_log WHERE call_date >= CURDATE() GROUP BY user HAVING error_rate > 5 ORDER BY error_rate DESC; ### Verdict: Reporting XenCall wins on visual, out-of-the-box reporting. VICIdial wins on depth, customization, and the ability to answer questions that no pre-built report covers. For operations that make data-driven decisions, VICIdial's raw database access is invaluable. ## Customization and API Access ### XenCall XenCall offers: - REST API for lead management, calling, and reporting - Webhook notifications for call events - Zapier integration for connecting to other tools - Custom fields and dispositions - Customizable agent scripts You're working within the boundaries XenCall has defined. If the platform does what you need, it works well. If you need something the platform doesn't support, you're submitting a feature request and waiting. ### VICIdial VICIdial's customization is effectively unlimited: - Full source code access -- modify any behavior - Non-Agent API with 60+ functions for programmatic control - Agent API for real-time agent screen manipulation - Custom dialplan via Asterisk configuration - Custom reports via MySQL - Custom agent screens with web form integration - Custom call routing via AGI scripts - Webhook-style notifications via vicidial_url_log - Custom IVR via Asterisk dialplan - Plugin system for extending admin functionality A practical example: suppose you want to automatically route leads to specific agents based on a custom algorithm that considers lead value, agent skill rating, and time since last contact. In XenCall, you'd submit a feature request. In VICIdial, you'd write a custom AGI script: perl #!/usr/bin/perl # Custom lead-agent matching AGI use Asterisk::AGI; use DBI; my $agi = new Asterisk::AGI; my %input = $agi->ReadParse(); my $lead_id = $agi->get_variable('lead_id'); my $dbh = DBI->connect("DBI:mysql:asterisk:localhost", "cron", "password"); # Get lead value score my $lead_score = $dbh->selectrow_array( "SELECT custom_score FROM vicidial_list WHERE lead_id = ?", undef, $lead_id ); # Find best available agent by skill match my $best_agent = $dbh->selectrow_array( "SELECT user FROM vicidial_live_agents WHERE status = 'READY' AND closer_campaigns LIKE '%SKILLMATCH%' ORDER BY calls_today ASC LIMIT 1" ); $agi->set_variable('BEST_AGENT', $best_agent); ### Verdict: Customization VICIdial wins overwhelmingly. If your operation has unique requirements -- and most 25+ agent centers do -- VICIdial's open architecture is a massive advantage. XenCall's approach of "works great within our boundaries" serves simpler


Read the full article

About

Built by ViciStack — enterprise VoIP and call center infrastructure.

License

MIT