Getting started

Install the Wazo Platform UC use case

Requirements

  • Memory: 2 GiB of memory is a tight minimum
  • Storage: 2.5 GiB of storage is a very tight minimum, 8 GiB is comfortable

Procedure

To install the Unified Communication use case in an all-in-one setup, do the following steps:

  1. Install a Debian 10 Buster system with a default locale with an UTF-8 charset.
  2. Run the following commands as root on the Debian system to provision sudo, git and Ansible:
# apt-get install -yq sudo git ansible
  1. Extract the Wazo Platform installer
# git clone https://github.com/wazo-platform/wazo-ansible.git
# cd wazo-ansible
# ansible-galaxy install -r requirements-postgresql.yml
  1. Edit the Ansible inventory in inventories/uc-engine to add your preferences and passwords. The various variables that can be customized are described at https://github.com/wazo-platform/wazo-ansible/blob/master/README.md#variables.

If you want to install the web user interface, activate the following in your inventory:

[uc-ui:children]
uc-engine-host

To create the root account at installation time and be able to use the web user interface and REST APIs, you need to add the following variables:

[uc-engine:vars]
engine_api_configure_wizard = true
engine_api_root_password = ****
  1. Launch the installation by running the following command:
# ansible-playbook -i inventories/uc-engine uc-engine.yml

Use the REST API

You may now use the REST API from outside your system (here wazo.example.com).

  1. Get an authentication token for 1 hour:

Using the api_client_name and api_client_password you defined in your inventory, you can execute from the Debian system:

$ wazo-auth-cli token create --auth-user <api_client_name> --auth-password <api_client_password>

Or with curl from anywhere:

$ curl -k -X POST -u <api_client_name>:<api_client_password> -H 'Content-Type: application/json' -d '{"expiration": 3600}' https://wazo.example.com/api/auth/0.1/token
  1. Use any REST API you want, for example, to list the telephony users configured on the system:

Note: You should replace the following values:

  • my-token with the authentication token
$ curl -k -X GET -H 'X-Auth-Token: <my-token>' -H 'Content-Type: application/json' -d '{"firstname": "user1"}' https://wazo.example.com/api/confd/1.1/users

Note: the token that you have now only has permissions for configuration REST API (wazo-confd).