Installing the Server
Before You Begin
If you are using Zulu Server versions ABOVE 13.0.54.31.2 or 14.0.3.31.2, the steps below can be done after the Zulu Server Module is installed
Zulu does not work with FreePBX or PBXact self-signed certificates. To use Zulu, please configure a valid certificate in the Certificate Manager, using the instructions in the Certificate Management User Guide.
- Login to the UI of your PBX
- Browse to Settings, Advanced Settings
- Change Display Readonly Settings to YES
- Change Override Readonly Settings to YES
- Search for Enable the mini-HTTP Server and change it to YES
- Search for Enable TLS for the mini-HTTP Server and change it to YES
- Search for Force WebSocket Mode and change it to PJSIP ( * )
Search for Enable the Asterisk REST Interface and change it to YES
Search for SIP Channel Driver and change it to BOTH only if it's previously set to chan_sip
( * ) Starting from some new releases, this step is not needed anymore.
To double confirm, you'll notice at the end of the procedure, in the "fwconsole restart" console logs this
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 13134
Browse to Admin, Certificate Management
ensure you have at least one certificate and that there is a default certificate selected (green check)
Browse to Settings, Asterisk SIP Settings, PJSIP tab
enable both "and "
When Zulu is going to be used from the outside and the PBX does not have its own Public IP address, ICE Candidate(s) need to be configured so that audio connectivity is possible; in the General SIP Settings tab
Set an ICE Host Candidates with the following format: [local IP address] => [advertised/public IP address]
Click Submit and Apply Changes
After completing this step, SSH to your PBX and issue the following:
The commands below will restart core pieces of your PBX when there are no calls on the system (which may take some time):
asterisk -rx 'core restart when convenient'
To restart immediately please run the following, but NOTE that you will lost any existing calls running the command below. The commands below will restart core pieces of your PBX, so please do this after hours or during a scheduled maintenance window.
fwconsole restart
At this point Asterisk is running, PJSIP modules are loaded and ws/wss transports are bound, which you can confirm with:
[root@lgaetzdev2 ~]# asterisk -x "pjsip show transports" Transport: 0.0.0.0-ws ws 0 0 0.0.0.0:5060 Transport: 0.0.0.0-wss wss 0 0 0.0.0.0:5060
If the above gives an error instead of the transports shown above, then there is still an issue with enabling PJSIP. Browse to Admin, Asterisk Modules and delete res_pjproject.so from the Excluded Modules tab (expand list if necessary). Then restart Asterisk and do the same test again to confirm PJSIP is loaded and ws/wss transports are enabled.
SSH
SSH to your PBX
Then run the following to install Zulu Server:
fwconsole ma upgradeall fwconsole ma downloadinstall zulu
It's possible that you may receive the following message:
Unable to install module zulu: - FreePBX version 14.0.1.37 or higher is required, you have 14.0.1.36
If this occurs please run the following:
fwconsole ma downloadinstall framework
It is also possible in rare cases when upgrading from earlier Zulu versions, that the install will fail with text like the following:
An exception occurred while executing 'ALTER TABLE zulu_tokens ADD PRIMARY KEY (websocket_session)': SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'PRIMARY'
If this occurs, purge the Zulu tokens by doing the following:
fwconsole m MariaDB [asterisk]> truncate zulu_tokens; Query OK, 4 rows affected (0.01 sec)
If your Zulu 3 client can successfully login and make calls, but can't receive calls and you see this error on the Asterisk console
[2018-06-29 10:49:17] ERROR[29958]: res_pjsip.c:3858 endpt_send_request: Error 171060 'Unsupported transport (PJSIP_EUNSUPTRANSPORT)' sending OPTIONS request to endpoint 901015
You can resolve by restarting Asterisk from the bash prompt with "fwconsole restart" (without quotes)
Enabling Zulu for Users
- To enable your PBX user to log into Zulu, you need to navigate to the User Management module in your PBX GUI.
- Click the edit button
- Navigate to the Zulu tab at the top.
- Select Yes to directly enable a user to log into Zulu.
- In newer versions your can now control if they see the SMS, Fax or Soft Phone Tabs in the Zulu client from User Manager.
- If you enable Fax or SMS for a user you will need to also verify the user is properly setup for SMS and Faxing as outlined here
Like most settings in User Management, a user's Zulu access setting offers the option to "Inherit" its permission from the group the user belongs to. If the group permission is set to "Yes," then the user would inherit the "Yes," as a member of the group. Please see User Management for more information on using group settings.
Installing the Desktop Client
Using the Zulu 3 clients requires the installation of Zulu Server 3, which is now generally available.
Platforms Supported
Zulu 3 Client is currently supported on the following platforms:
- Windows 7 (SP1), 8, 8.1, and 10
- Mac 10.8 and above
- Linux: Ubuntu 12.04 and above (other distros may work, but are not fully supported)
- iOS
- Android
Download Zulu
Download Desktop Client
Download the current desktop application for your given platform.
Download Zulu Mobile
In order to get access on your mobile devices, please follow the links below for your platform of choice or search for "Zulu UC" on your app store.
Apple iPhone
Google Android
Installing the Desktop Client
Install on Windows
Click the Zulu-3.x.x.exe file you downloaded.
Wait while we install the applications
After installation it will prompt you to login.
Install on MacOS
Double click on the Zulu-3.x.x.dmg file you downloaded
Drag Zulu into the Application Folder
Open Zulu by clicking on the Zulu icon in Launchpad
Install on Linux
Simply download the Linux archive, extract, and run the "zulu" binary.
tnelson@dlhtimws ~ $ cd Downloads tnelson@dlhtimws ~/Downloads $ tar -xzf zulu-3.0.0-alpha9.tar.gz tnelson@dlhtimws ~/Downloads $ cd zulu-3.0.0-alpha9/ tnelson@dlhtimws ~/Downloads/zulu-3.0.0-alpha9 $ ./zulu
Logging In On the Desktop
To login use the following information:
User: Username used to login to UCP @ Fully Qualified Domain of the PBX. This must be a valid FQDN that is also used with your SSL certificate that you have enabled on your PBX as Zulu only communicates across SSL for security and requires a valid certificate not a self signed certificate.
Password: Password the user uses to login to UCP and Voicemail (typically, digits).