[HOW TO] Complete Zulu UC Softphone Setup Guide

Today’s workplace doesn’t always revolve around a central office, so you need a phone system that provides accommodations for flexible work locations. FreePBX does this best by using Zulu UC. Unlike using a generic SIP softphone, Zulu UC is tightly integrated into FreePBX and is designed to work well on a variety of types of networks. It provides calling features as well as one to one and group chat, all hosted right on your existing FreePBX server. If you are new to Zulu UC, you can get a two-user license free for one year via the Sangoma Store, too!

This guide covers getting FreePBX configured to work with Zulu UC, getting a Zulu UC license, getting users setup, and setting up the Zulu UC client.

Prerequisites for this guide are:

Once you make sure you have met the prerequisites, you will need to get your PBX deployment ID and obtain a license for Zulu:

  1. Get your PBX deployment ID from Admin > System Admin > Activation or run fwconsole sa info at the Linux command line.
  2. Log into https://portal.sangoma.com with your Sangoma account you activated the PBX with
  3. Go to Store > FreePBX Systems & Software > Zulu UC
  4. Locate the appropriate license pack and quantity, and click “Add”
  5. Click Your Cart  > Checkout
  6. Next to your license, under “Deployment Options” enter your deployment ID
  7. Complete the order and payment
  8. Go back to Admin > System Admin > Activation and click “Update Activation” and verify you see your Zulu UC license.
    • In the unlikely event your Zulu UC license doesn’t appear, wait a few minutes and try again, and then visit https://support.sangoma.com to open a FreePBX Commercial Modules support ticket.

Now we need to verify, and if necessary, enable PJSIP and WS/WSS transports:

  1. Go to Settings > Advanced Settings and locate Channel Driver and select both. Click “Submit”.
  2. Go to Asterisk SIP Settings > Chan SIP Settings, find “Override External IP” and Enter your public IP (or set appropriate NAT mode if not cloud hosted) and click Submit
  3. Then go to Asterisk SIP Settings > PJSIP Settings and set “WS/WSS” to “Yes” and Submit
  4. Click the red “Apply Config” button in the upper right
  5. Finally, restart Asterisk (Note: this will drop active calls!):
    1. Go to Admin > Asterisk CLI 
    2. Enter core restart now in the “CLI Command” field and click “Send Command”. 
    3. Enter pjsip show transports in the “CLI Command” field and click “Send Command”. You should see the following:

      (Click to Enlarge)

Now that we have everything setup on the Asterisk side, it’s time to start the Zulu service:

  1. Connect to your server via SSH
    • if you’re a CyberLynk customer, this information is in your “VPS Account Information” or “Dedicated Server Information” email you receive at signup, though you may have changed it. If you can’t access your server via SSH you can open a support ticket for assistance.
  2. Run the command fwconsole start zulu
    • You should see the following output (PIDs will vary of course):
      [root@myserver ~]# fwconsole start zulu
      Running FreePBX startup...
      Taking too long? Customize the chown command, See http://wiki.freepbx.org/display/FOP/FreePBX+Chown+Conf
      Setting Permissions...
      Setting base permissions...Done
      Setting specific permissions...
      42828 [============================]
      Finished setting permissions
      Unable to run Pre-Asterisk hooks, because Asterisk is already running on PID 2240 and has been running for 1 minute, 34 seconds
      Running Asterisk post from Zulu module
      Enabling the Asterisk ARI Server
      Increasing HTTP Session Limit
      Changing Websocket Mode to PJSIP
      Reloading PBX to update new settings...Done
      Enabling PJSIP Websocket server
      Websocket changed, updating webrtc clients...Done
      Starting Zulu Server...
      [>---------------------------] < 1 sec
      Started Zulu Server. PID is 17487

Once Zulu is running you can move on to getting one or more users setup:

  1. In the Users tab, make sure you have a user for the extension you wish to use to test.
  2. Setup a User Management group with Zulu privileges
    1. Go to Admin > User Management and click on the “Groups” tab
    2. From the drop down, select “PBX Internal Directory” and then Click “Add”
    3. Give the group a name, description, and select some users

      (Click to Enlarge)

    4. Click the “Zulu” tab and set the permissions to taste. Below is an example:

      (Click to Enlarge)

    5. Click “Submit” then click the red “Apply Config” button in the upper right
  3. If you have email setup and working, you can email user a password setup link:
    1. Go back to the users tab
    2. Edit the user and make sure there is an email address entered in the “User Details” tab, and click “Submit & Send Email to User”
      • If the user receives an email and the password in the email does not work, have them use the link to create a new one.
  4. You can click the key icon in the users list to set the password manually for the user if you prefer.

Check the firewall and enable responsive firewall if you plan to allow remote users:

  1. Go to Connectivity > Firewall > Responsive Firewall tab
  2. Enable Responsive Firewall and enable SIP as shown below:

    (Click to Enlarge)

Once you have one or more users setup with appropriate permissions, you’re ready to install a client and test:

  1. Go to the following URL to download: https://wiki.freepbx.org/display/ZU/Zulu+3+Client+Installation
  2. Install and launch the client. On Windows, you may need to allow the client through Windows Defender.
  3. Add your account using the username format “username@your-FQDN.com” password you setup in the previous step:

    (Click to Enlarge)

  4. Once setup, you can try placing a test call. If you have trunks and extensions already setup, you can dial as you would on any other extension. However if this is a new server you can try dialing feature codes, such as *60 for the talking clock, or *43 for the echo test.

At this point, expanding your Zulu user base is just repetition of the instructions above.

If you have an active service with us here at FreePBXHosting.com, you can contact us for setup help; if you aren’t able to get things working our professional services team can do the initial setup for you for $149.99.  Click here to reach out!