Use ConnectWise API as Caller ID Source in Asterisk PBX

Intro

Does your company use ConnectWise and an Asterisk-based PBX phone system?

Does it drive you nuts that you have all kinds of vendor, client and prospect data in ConnectWise – BUT, when those companies and individuals call in, your phone system has no clue who is calling?!?!

Well, that is no longer an issue!

Thanks to the Caller ID Superfecta module for Asterisk and a Superfecta source for ConnectWise – this is no longer a problem.

You can now have your Asterisk-based PBX phone system search through all Companies and Contacts in ConnectWise, match the incoming call information and present those details to you on your phone!

Let’s get started!

Prep ConnectWise Integrator Login

We will need to setup an Integrator Login for your ConnectWise system that we will use to search for phone numbers.

Log into ConnectWise. Click on “Setup” and then “Setup Tables”.

In the “Tables” column, enter “Integrator Login” and press Search.

Next, click on the Integrator Login option.

On the Integrator Login screen, click on the “New” button to create a new user.

On the new user screen, enter the following details:

superfecta-integrator-login-user

Username: Enter an unique username that you will use for the Caller ID lookups.

Password: Create an unique password too! :)

Access Level: Select “All Records”

Enable Available API:

Check Contacts API

Check Companies API

Check Reporting API

Click the “Save” button. And we’re done in ConnectWise.

Prep Caller ID Superfecta 2.2.5.x for Install

Download the current 2.2.5.x code from:

https://github.com/POSSA/Caller-ID-Superfecta/archive/v2.2.5.x.zip

Before you use this file to upload the module, there are a few changes you will need to make – mostly repackaging it.

1. Unzip the file.

2. Rename the folder to “superfecta”

3. Re-zip the file using your program of choice (7zip, Keka, etc) as a Tar Gzip (tgz) file. It should be named “superfecta-2.2.5.tgz”

Install Caller ID Superfecta

Use a web browser to access FreePBX on your PBX. Choose Tools -> Module Admin -> Upload Module.

Now, browse to the superfecta-2.2.5.tgz file on your computer and click the Upload button.

Now, click “Manage local modules”, scroll down and click on CID Superfecta and then the Install radio button. Now click Process, and complete the usual FreePBX install and reload process.

In FreePBX on your PBX, choose the new “Other” button at the top menu.

You will be presented with the configuration screen for Caller ID Superfecta.

Caller ID Superfecta ConnectWise Source

The source code for the ConnectWise Source for CID Superfecta can be found here:

https://raw.github.com/POSSA/Caller-ID-Superfecta/master/bin/source-ConnectWise.php

Copy the code found on that page.

SSH into your PBX server and run the following command to create the necessary Caller ID Source file:

nano /var/www/html/admin/modules/superfecta/bin/source-ConnectWise.php

Paste in the code you copied from GitHub and save the file.

Setup New Caller ID Source

Use a web browser to access FreePBX on your PBX, choose the new “Other” button at the top menu.

You will be presented with the configuration screen for Caller ID Superfecta.

Click on the “Default” configuration. We will alter this source.

Scroll to the bottom of the screen to confirm you have the following settings:

superfecta-general-config

Next, scroll back to the top and enable the ConnectWise source that we added:

superfecta-enable-connectwise

Now, click on “ConnectWise ==>” and you will be presented with the configuration settings for connecting to your ConnectWise system:

superfecta-configure-connectwise

DB Site should include your ConnectWise Site URL not including the initial https:// (ex. “mycompany.myconnectwise.net” for Cloud Hosted users).

DB Company should be the company name you use to log into ConnectWise with.

DB User will be the Integrator Login’s user name that you created earlier.

DB Password with be the password set for the Integrator Login.

Search Type can be set to Companies, Contacts or Companies –> Contacts.

If you select “Companies” then the Caller ID system will only search through the Companies within your ConnectWise database. This will be just the numbers setup on the Company screen.

If you select “Contacts”, then the Caller ID system will only search through the Contacts within your ConnectWise database. This will be only the numbers that have been input for an actual Contact.

If you select “Companies –> Contacts”, the system will first check through all Companies and, if the number is not found, proceed through your Contacts.

Filter Length tells the system the number of rightmost digits to check for a match. We use 10. You may enter false to disable this setting.

Once you have the settings as you want them, press the Apply button. You may be prompted to Apply Config changes to your PBX system – do so if asked.

Set Caller ID on Incoming Calls

Use a web browser to access FreePBX on your PBX, choose the “Connectivity” and “Inbound Routes” button at the top menu.

Choose the Inbound Route you wish to use Caller ID.

Scroll to the bottom of the configuration page to the “CID Lookup Source” section.

Select “Caller ID Superfecta” from the menu.

superfecta-set-inbound-route

Click the “Submit” button and then “Apply Config” changes button.

Test Your Setup

You may test your system by dialing from a phone number already setup in ConnectWise. If such a phone is not readily available, create a company in ConnectWise called “Test PBX Company” and set its main number to your cell phone number. Save the dummy company and then call your office line.

If everything goes correctly, you should see “Test PBX Company” come up on your caller id.

Final Notes

In our setup, you will notice in the screenshots, we use the Superfecta Cache as the first source for Caller ID lookups. ConnectWise is the second.

When a call comes in for the first time, the number will be looked up in the Superfecta Cache. Since it is the first time, it will not be found. The system will move on to the ConnectWise search to lookup the number. If it is found in ConnectWise, it will be shown on your phone and the lookup information will be stored in the Superfecta Cache.

The next time the call comes in, the Superfecta Cache will offer up the lookup information to speed up the caller ID process. This saves us from running a search on ConnectWise each and every time.

No comments yet.

Leave a Reply