Page tree
Skip to end of metadata
Go to start of metadata

The Zulu 3 server is backward compatible with Zulu Desktop Client versions 1 and 2 which should ease the transition and allow users to gradually move to the new release. To install the new version of Zulu Server, please follow the steps below:

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:

[[email protected] ~]# 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)

  • No labels