How to – Install FusionPBX on Debian 12


How to – Install FusionPBX on Debian 12

This article will go over the very easy instructions to get FusionPBX up and running. This is assuming you already have a server with Debian 12 ready to go for installation.

Step 1 – Copy and paste the code below

wget -O - | sh;
cd /usr/src/ && ./

Step 2 – Login to the FusionPBX Admin Panel

After this install, it will provide you the link, the admin user and a randomly generated password to login as shown below:


Once you login you should see your dashboard, from here you can begin installing the components you need.

That’s all there is to it, enjoy. I’ll start creating more articles for setting up FusionPBX as time goes on.

Chris aka carpenox

CyburDial Website Scavenger Hunt

CyburDial's scavenger hunt

CyburDial Website Scavenger Hunt

Contest Rules:

  1. Contestants must visit CyburDial’s website at
  2. They will be provided with a list of specific key phrases or features to find on the website.
  3. Participants must navigate through the website to locate these phrases or features. Each discovery will earn them points.
  4. The first contestant or team to successfully find all the required items or accumulate the most points within the set time limit wins the contest.

Key Phrases and Features to Find:

  1. “Avoiding DNC Violations” – How does CyburDial help businesses avoid costly DNC violations?
  2. “Customer Follow-ups” – What is CyburDial doing to help advance your business customer follow up?
  3. “CyburDial Logo” – Why did CyburDial choose the Phoenix for it’s logo? What’s the story behind it?
  4. “Data Protection” – What are 5 ways that CyburDial protects your data?
  5. “Quality Control Module” – Find the video for this on our YouTube channel or website and tell us how it works.
  6. “AI-Driven Solutions” – What does CyburDial’s AI numbers feature accomplish? How high of a percent of accuracy does CyburDial’s Answering Machine Detection reach?

Scoring and Evaluation:

  • Participants earn points for each correctly identified key phrase or feature.
  • A panel of judges will verify the discoveries and calculate the final scores.


  • The contestant or team with the highest score will be declared the winner and receive a 2 week trial account with full access to CyburDial and all of it’s features.
  • or
  • $50 dollars cash – must have cashapp or PayPal

The winner will be announced as soon as the first person or team accomplishes all the goals. Contest expires Sunday evening at 8:00 PM EST on November 5th 2023.

How to win:

Once you find all of the answers or as many as you can, just login and comment down below with your answers.

How to – Create a simple CDR report for ViciDial

ViciDial Custom Report

How to – Create a simple CDR report for ViciDial

This article will go over how to create a simple CDR report for ViciDial using MySQL and PHP. I will provide the code I’ve used to accomplish this report which can be altered to fit your needs. First off, I have to thank Nik from for helping me with the MySQL query for it. Check out his site and his amazing AMD(Answering Machine Detection) service they offer for ViciDial and other dialer systems. Ok so lets get started.

Step 1 – Create the directory on your web server

First move into your web directory by the following commands for both RedHat(CentOS, Alma or Rocky) and OpenSuSE(Leap) distros.


cd /var/www/html
mkdir reports
cd reports


cd /srv/www/htdocs
mkdir reports
cd reports

Step 2 – Copy the code below and create the PHP file to serve it up

Now just copy and paste the code below into a .php file to use with ViciDial after typing the following command: nano cdr-report.php


$servername = "localhost";
$username = "cron";
$password = "1234";
$dbname = "asterisk";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);

$sql = "SELECT vc.`lead_id`, `campaign_id`, va.`user`, `phone_number`, `first_name`, `last_name`, `outbound_cid`, vd.`call_date`, `dial_time`, va.`status` FROM vicidial_carrier_log vc,  vicidial_agent_log va, vicidial_list vl, vicidial_dial_log vd WHERE vc.`lead_id`= vl.`lead_id` AND va.uniqueid = vc.uniqueid AND vl.lead_id = vd.lead_id and va.`status` NOT LIKE 'NEW'  and vc.caller_code = vd.caller_code;";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "<b><font color=red>Lead ID:</b></font> " . $row["lead_id"]. " -|- <b><font color=red>Campaign:</font></b> " . $row["campaign_id"]. " -|- <font color=red><b>Agent:</b></font> " . $row["user"]. " -|- <b><font color=red>Customer Number:</b></font> " . $row["phone_number"]. " -|- <b><font color=red>First Name:</b></font> " . $row["first_name"]. " -|- <b><font color=red>Last Name:</b></font> " . $row["last_name"]. " -|- <b><font color=red>Outbound Caller ID:</b></font> " . $row["outbound_cid"]. " -|- <b><font color=red>Dial Time:</b></font> " . $row["dial_time"]. " -|- <b><font color=red>Dispo:</b></font> " . $row["status"]. " -|- <b><font color=red>Call Date:</b></font> " . $row["call_date"]. "<br>";
} else {
  echo "0 results";

After you save and exit, you should be able to access this page by going to and you should see something like the image below:

CDR Report

Step 3 – Add this report into ViciDial through custom reports

  • Login to your admin panel and go to the reports page
  • Click on Admin Utilities as shown below
ViciDial Admin Utilities
  • Click on “Custom Reports Admin Page”
Custom Reports Admin Page
  • Fill out the first line with “CDR Report”
  • Fill out the third line with “../reports/cdr-report.php
Create Custom Report

Step 4 – Update User Group Permissions

Now you need to make sure the User Groups that you want to have access to this new report have the proper permissions.

  1. Click on User Groups and “Show User Groups”
  2. Click on the User Group you want to have access to this report
  3. Scroll down to the “Allowed Cutom Reports” area and click on “All Reports” or specify the new report we just created only.
Allowed Custom Reports

Step 5 – Check the Reports page for your newly created Custom Report

CDR Report

That’s it, You’ve now created a custom report to retrieve your CDR details. This article can be followed to create other custom reports as well, just modify the code as needed or create links to outside web pages or links to access through your reports page within ViciDial. I hope you will find this useful. Feel free to join our Skype Live Support if you need assistance.

-Chris aka carpenox

Transforming Health Insurance Customer Service: The Power of CyburDial

Health Insurance

Transforming Health Insurance Customer Service: The Power of CyburDial

In the ever-evolving world of healthcare, providing exceptional customer service is paramount for health insurance companies. Members rely on timely and accurate information, quick responses, and efficient problem resolution. In this article, we explore how CyburDial, a versatile call center solution, can help health insurance companies address common pain points and enhance customer service in this critical industry.

Understanding the Pain Points

1. High Call Volume: Health insurance companies often experience peaks in call volume, especially during open enrollment periods. The challenge is to efficiently manage these surges while maintaining high service standards.

2. Complex Inquiries: Members have a multitude of complex questions related to coverage, claims, and network providers. Agents must be well-prepared to handle these inquiries accurately and promptly.

3. Regulatory Compliance: The healthcare industry is heavily regulated. Ensuring compliance with healthcare laws while maintaining a seamless customer service experience is a delicate balancing act.

4. Data Security: Protecting sensitive health data is of utmost importance. Health insurance companies must safeguard member information while providing efficient service.

CyburDial’s Solutions

CyburDial offers a range of features and solutions tailored to address these pain points:

1. Automated Call Routing: CyburDial’s AI-driven call routing system ensures that calls are directed to the most qualified agents, reducing hold times and enhancing member satisfaction.

2. Knowledge Base Integration: Agents can access a comprehensive knowledge base directly through the CyburDial platform. This empowers them to answer complex inquiries accurately and consistently.

3. Real-Time Analytics: CyburDial’s customizable dashboard provides real-time insights into call center operations. Managers can make informed decisions, allocate resources effectively, and optimize service quality.

4. Compliance Tools: CyburDial offers features like AI-driven quality control, ensuring that conversations meet regulatory standards. Plus, secure call recording and storage for compliance purposes.

5. Multichannel Support: CyburDial’s platform enables health insurance companies to interact with members through various channels, including phone, email, and chat. This versatility improves member access and engagement.

6. White-Label Customization: The platform is fully white-label, allowing health insurance companies to customize the user interface to align with their brand and improve the overall member experience.

Solving the Pain Points

  • Efficiency: By leveraging AI, CyburDial optimizes agent resources, helping health insurance companies handle high call volumes efficiently.
  • Accuracy: The knowledge base integration ensures that agents provide members with precise information, addressing complex inquiries effectively.
  • Regulatory Compliance: The AI-driven quality control feature flags conversations that do not meet compliance standards, reducing risk.
  • Data Security: CyburDial prioritizes data security, making it an ideal solution for health insurance companies that handle sensitive member information.

Embracing the Future

CyburDial empowers health insurance companies to elevate their customer service game and embrace the future of healthcare. By addressing pain points with advanced technology, it allows these companies to meet the evolving needs of members while staying compliant with regulations.

With CyburDial, health insurance companies can streamline their call center operations, enhance member satisfaction, and ensure that customer service remains a cornerstone of their business. The result? Healthier, happier members and a thriving health insurance organization.

How to – Setup a Press 1 campaign in ViciDial

Press 1 campaign

How to – Setup a Press 1 campaign in ViciDial

In this article I will cover how to setup a press 1 campaign in ViciDial. I am in no way a lawyer, however you should know that press 1 campaigns in the US is illegal to customers unless you have express permission. This can be used in a business to business model though.

Step 1 – Enable “Central Sound Control” in systems settings

  1. Login to your admin panel then click on admin and then system settings
  2. Enable “Central Sound Control” by setting active to 1
  3. Specify the domain or IP used for the web server as shown below
Central Sound Control

Step 2 – Upload your Press 1 sound file to the Audio Store

Make sure the sound file you create is in the format of a 16bit Mono 8k PCM WAV audio file. The 2 links below can be used to create your file using a text to speech engine and to convert that file to the needed format.

After you have done this, you can upload the file to the audio store in your administration panel as shown below:

Make sure it was uploaded correctly, it should show a similar message to this one:

Step 3 – Setup your campaign for a Press 1

We need to change the routing extension used for a Press 1 campaign to either 8366 which doesnt use AMD or to 8373 which does. There is other options available for cepstral text to speech with or without AMD usage as shown in the image below:

  1. Change the routing extension from the default 8368(no AMD) or 8369(AMD) to 8366 or 8373 depending if you want to use Answering machine detection or not
  2. Set your “Dial Method” to Ratio and what you want that ratio to be, such as 3:1
  3. Click on the survey tab at the top of your detail view of the campaign
  4. Change the audio file to the one you created and uploaded to the audio store

Step 4 – Have your agents login and the campaign will begin

Once your agents login to the active campaign, they will start to receive calls from anyone who has pressed 1 or didn’t press anything at all.

That’s all there is to it, I hope this helps those of you that needed this information.

Chris aka carpenox

Join Smart Carrier – The Carrier Agnostic AI driven service provider

Quality Control
Quality Control
<span class=


If You Think Compliance Is Expensive
Try Non-Compliance

We sell a uniform compliance solution that includes more than tokenization. The platform fee is one that is packaged neatly to be sent out to underlying carriers.

Smart Carrier is the “Easy” button to simplify connections – to sign calls and keep your company in compliance.

We provide real-time updates and data that will enable you to make more informed decisions to better suit your entire business.

Our Smart Carrier AI Suite of Services, including AI Numbers and AI Answering Machine Detection is a total compliance ecosystem.

Smart Caller ID®

Never let your customers guess who is really calling again. With Smart Caller ID®, the Caller ID displays a caller’s company name, location and other identifiable information to let the customer know, without a doubt, who is calling them.


STIR/SHAKEN Compliance Management

A call tokenization service using our certificate and key pair or yours. This Service allows us to sign your calls, which ultimately may display a verified checkmark on your recipient’s handset, thereby possibly increasing your contact rates, increasing overall ASR.

SMS-Automated Text Messaging

We offer a beneficial way to automate your texts and reach customers at the right times.

Caller ID Assessment

Our cutting-edge Caller ID Assessment service provides each number with a reputable scoring system that notifies the client if a number is flagged by underlying carriers. We provide full tokenization generation for STIR/SHAKEN.  As of June 2022, it is required by U.S. Federal law that all calls must be signed through the FCC STIR/SHAKEN mandate. The TRACED Act required the FCC to mandate the STIR/SHAKEN caller identification framework. Our service also works with our SHAKEN Rest Web Service Designed to simplify the rollout of STIR/SHAKEN for organizations that prefer to integrate with web services instead of traditional SIP. This easily integrates into platforms such as Freeswitch, Asterisk, FreePBX, FusionPBX, and many others.

DIDs/Telephone Numbers (Local and Toll Free)

Our network and inter-relationships cover approximately 96% of the United States. We offer a different level of tiered DIDs to include Tier 1, Tier 2 & Tier 3 with the best network quality available.

DID/Telephone Number Management

Our Comprehensive DID Management platform will allow you to see individual number statistics to help you analyze what is happening with your numbers like never before.

Advanced Geoproximation

Advanced Geoproximation uses the most advanced dial pattern algorithms to distinguish area code overlay and provides a seamless experience for your outbound dialer. The main benefit of this service is that it will allow the most accurate, friendly dial patterns that take the guesswork out of which exchange is most beneficial to use to reach each specific client. Another benefit is that it allows your outbound dialer to always have the correct area code for dialing by utilizing pinpoint accuracy without NPA overlap mismatching.

What does this all mean? You have the best chance of customer engagement.

Enhanced Insights

We offer the ability to have an enhanced look at traffic profiles and routing logic. This feature provides portability information, current carrier, carrier type (wireless or landline)and National Do Not Call Registry status for any number.


NumberRisk can determine if your Caller ID is flagged as SPAM/SPAM LIKELY.

Hydrogen Class IV Switch

Our Hydrogen Class IV Switch is an all-in-one solution when you are looking for a completely secure, high-performing, easily scalable platform. It comes with a robust routing service, billing, reporting, and automatic alert capabilities, so that you may easily manage your voice and DID origination services. This service works seamlessly with each of our other services.


Smart Carrier offers a fully hosted and managed Virtual Private Network (VPN) solution that can be used to securely access sensitive and protected resources such as VoIP, databases, web, files, and other services. This VPN solution securely encrypts all traffic, is designed for the intense use of VoIP, and can be used by organizations required to operate within a regulatory environment.

Outbound Calling

We offer Outbound Termination Services that include both flat rate and NPA-NXX-based ratings. We have made a reputation by only providing the best quality. All routes are supported by our network of Tier 1 and CLEC carrier backbones with a 1-HOP away approach.

Smart Shaper

Our proprietary Smart Shaper module takes away the effort required to implement our solutions. With a simple line of code added to your existing dialer, you can have access to many of our services that will operate before an actual call is formed. This will allow you to easily integrate with certain dialer software with zero hassle and begin using our services without complication.

Customer Support background image
Customer Support profile image


Your first steps to join us!


Contact Us background image
Contact Us profile image


Contact us and request a quote today!


JOIN SMART CARRIER background image
JOIN SMART CARRIER profile image


Join us today and gain access to all of our member only benefits!


Knowledge Based Articles

How to – Patch Asterisk 16 or 18 for ViciDial

Asterisk patch

How to – Patch Asterisk 16 or 18 for ViciDial

In this article, I will go over how to patch newer versions of Asterisk that can be used with ViciDIal. Copy and paste the lines of code that have to do with the version of Asterisk you plan to use.

Step 1 – Download the needed files for Asterisk and the patches from ViciDial

cd /usr/src/asterisk
tar -xzvf asterisk-16.30.0.tar.gz
tar -xzvf asterisk-18.18.1.tar.gz

cd /usr/src/asterisk/asterisk-16.30.0
cd apps/
yes | cp -rf enter.h.1 enter.h
yes | cp -rf leave.h.1 leave.h

cd /usr/src/asterisk/asterisk-18.18.1/
cd apps/
yes | cp -rf enter.h.1 enter.h
yes | cp -rf leave.h.1 leave.h

Step 2 – Apply the patches to the version you chose to use

Now that we’ve got the files, lets begin patching them as shown below. After applying each patch, copy and paste the location shown below each patch line.

Asterisk 16 patches

patch < amd_stats.patch apps/app_amd.c
patch < iax2_peer_status.patch channels/chan_iax2.c
patch < sip_logging_peer_status.patch channels/chan_sip.c
patch < timeout_reset_dial_app.patch apps/app_dial.c
patch < timeout_reset_dial.patch main/dial.c

Asterisk 18 patches

patch < amd_stats-18.patch apps/app_amd.c
patch < iax_peer_status-18.patch channels/chan_iax2.c
patch < sip_peer_status-18.patch channels/chan_sip.c
patch < timeout_reset_dial_app-18.patch apps/app_dial.c
patch < timeout_reset_dial_core-18.patch main/dial.c

Step 3 – Compile Asterisk

Now to compile Asterisk after applying the necessary patches. Copy and paste the desired Asterisk version code.

Asterisk 16

cd /usr/src/asterisk/asterisk-16.30.0/
: ${JOBS:=$(( $(nproc) + $(nproc) / 2 ))}
./configure --libdir=/usr/lib64 --with-gsm=internal --enable-opus --enable-srtp --with-ssl --enable-asteriskssl --with-pjproject-bundled --with-jansson-bundled

make menuselect/menuselect menuselect-tree menuselect.makeopts
#enable app_meetme
menuselect/menuselect --enable app_meetme menuselect.makeopts
#enable res_http_websocket
menuselect/menuselect --enable res_http_websocket menuselect.makeopts
#enable res_srtp
menuselect/menuselect --enable res_srtp menuselect.makeopts
make -j ${JOBS} all
make install

Asterisk 18

cd /usr/src/asterisk/asterisk-18.18.1/
: ${JOBS:=$(( $(nproc) + $(nproc) / 2 ))}
./configure --libdir=/usr/lib64 --with-gsm=internal --enable-opus --enable-srtp --with-ssl --enable-asteriskssl --with-pjproject-bundled --with-jansson-bundled

make menuselect/menuselect menuselect-tree menuselect.makeopts
#enable app_meetme
menuselect/menuselect --enable app_meetme menuselect.makeopts
#enable res_http_websocket
menuselect/menuselect --enable res_http_websocket menuselect.makeopts
#enable res_srtp
menuselect/menuselect --enable res_srtp menuselect.makeopts
make -j ${JOBS} all
make install

That completes this article, make sure you restart asterisk if its running with “core restart now”

-Chris aka carpenox

How to – Fix ViciBox 11 after kernel update

ViciBox 11

How to – Fix ViciBox 11 after kernel update

Ok, so it seems that if you run a “zypper up” on ViciBox 11, it will update the kernel which then leaves dahdi with errors that won’t allow it to start up and calls will have no audio and you will not hear the “only-person” sound when you login. After debugging this issue for a few hours, I was able to figure out a fix for it. We are going to manually install the latest dahdi and some updates that are needed in order to fix this, so let’s get started.

Step 1 – Download dahdi

OK, so first lets go to the /usr/src directory and then download the file for dahdi

cd /usr/src/
tar -xzvf dahdi-linux-complete-3.2.0+3.2.0.tar.gz
cd dahdi-linux-complete-3.2.0+3.2.0/

Step 2 – Download kernel update and needed compile tools

zypper in autoconf gcc make libtool
zypper in *kernel-default*

Press 2 when it gives you options

Step 3 – Compile Dahdi

Run the following commands:

make install
make install-config
cd tools
make clean
make install
make install-config
cp /etc/dahdi/system.conf.sample /etc/dahdi/system.conf

Step 4 – Run modprobe for dahdi and check to make sure its working

modprobe dahdi
dahdi_cfg -v

What are 10 things to look for in the best call center solutions?


When evaluating call center solutions, it’s essential to consider various factors to ensure you choose the best fit for your business needs. Here are ten things to look for in the best call center solutions:

  1. Scalability: The solution should easily scale up or down to accommodate changing call volumes and business growth without disruptions.
  2. Multichannel Support: Ensure the platform supports multiple communication channels like voice, chat, email, and social media to meet diverse customer preferences.
  3. Ease of Use: An intuitive interface and user-friendly features are crucial for agent efficiency and quick onboarding.
  4. Automation and Workflows: Look for built-in automation and workflow capabilities to streamline processes, reduce manual tasks, and improve productivity.
  5. Real-time Analytics: Access to real-time reporting and analytics helps you monitor performance, identify trends, and make data-driven decisions.
  6. Integration Capabilities: Ensure the solution seamlessly integrates with your existing CRM, helpdesk, and other essential software to provide a unified customer view.
  7. AI and Machine Learning: Advanced features like AI-driven call routing, sentiment analysis, and virtual assistants can enhance customer interactions and agent efficiency.
  8. Security and Compliance: Robust security measures, data encryption, and compliance with industry regulations (e.g., HIPAA, GDPR) are essential for protecting customer data.
  9. Quality Assurance Tools: Look for features that enable monitoring, coaching, and evaluation of agent interactions to maintain service quality.
  10. Cost Transparency: Understand the pricing model, including any per-seat charges, and ensure it aligns with your budget and business objectives.

By considering these factors, you can make an informed decision when choosing the best call center solution to meet your specific requirements.

CyburDial’s Quality Control Module with Artificial Intelligence

Quality Control

CyburDial’s Quality Control Module is a powerful tool that leverages artificial intelligence (AI) to ensure that call center interactions align with company policies and standards. Here’s an overview of how it works and its key benefits:

1. Real-Time Data Analysis:
CyburDial’s Quality Control Module continuously monitors live calls in real-time. This AI-driven analysis goes beyond traditional call recording and post-call evaluations, enabling immediate feedback and action during ongoing interactions.

2. Keyword Detection:
The module uses AI algorithms to identify specific keywords or phrases during live calls. These keywords are predetermined based on company policies, compliance regulations, or customer service standards. When flagged keywords are detected, the system takes action.

3. Flagging and Alerts:
If a flagged keyword is detected, the Quality Control Module can trigger alerts for supervisors or quality assurance teams. This allows for immediate intervention or further monitoring of the call. Flags can be customized to prioritize certain keywords or phrases over others.

4. Compliance and Policy Enforcement:
The module assists call centers in enforcing compliance with industry regulations and company policies. It ensures that agents adhere to scripting guidelines, maintain a professional tone, and avoid language that could lead to legal or reputational issues.

5. Performance Improvement:
In addition to compliance monitoring, the Quality Control Module helps in performance improvement. It provides real-time coaching opportunities for agents by identifying areas where they may need additional training or guidance.

6. Detailed Reporting:
The system generates detailed reports on flagged interactions, allowing supervisors and managers to review and analyze the data. This information can inform coaching sessions, training programs, and process improvements.

7. Customizable Rules and Thresholds:
CyburDial’s Quality Control Module allows businesses to customize the rules and thresholds for keyword detection. This flexibility ensures that the system aligns with the unique needs and policies of each organization.

8. Enhanced Customer Experience:
By monitoring and addressing issues in real-time, CyburDial’s Quality Control Module helps ensure a consistent and high-quality customer experience. It reduces the risk of customer dissatisfaction due to agent behavior or language violations.

9. Data Security:
The module maintains data security and privacy by adhering to encryption standards and access controls, ensuring that flagged interactions are handled securely.

In summary, CyburDial’s Quality Control Module, powered by AI, offers real-time monitoring and analysis during live calls, allowing for the immediate identification and flagging of keywords or phrases that violate company policies or compliance standards. This proactive approach helps maintain call center quality, compliance, and the overall customer experience. Check out the video at the top to learn more.