diff --git a/static/images/docs/Technical_Layers_2019_V3.png b/static/images/docs/Technical_Layers_2019_V3.png deleted file mode 100644 index 2afd349d..00000000 Binary files a/static/images/docs/Technical_Layers_2019_V3.png and /dev/null differ diff --git a/static/images/docs/Technical_Layers_2019_V3.webp b/static/images/docs/Technical_Layers_2019_V3.webp new file mode 100644 index 00000000..0f00237c Binary files /dev/null and b/static/images/docs/Technical_Layers_2019_V3.webp differ diff --git a/website/docs/api/_category_.json b/website/docs/api/_category_.json index 83bed035..32f44e5b 100644 --- a/website/docs/api/_category_.json +++ b/website/docs/api/_category_.json @@ -1,6 +1,6 @@ { "label": "API", - "position": 2, + "position": 5, "link": { "type": "generated-index", "description": "Learn about the many APIs available." diff --git a/website/docs/contribute/_category_.json b/website/docs/contribute/_category_.json index d033b2b6..f31df2a8 100644 --- a/website/docs/contribute/_category_.json +++ b/website/docs/contribute/_category_.json @@ -1,6 +1,6 @@ { "label": "Contribute", - "position": 4, + "position": 6, "link": { "type": "generated-index", "description": "There are many ways to contribute to the project. Find out how you can help!" diff --git a/website/docs/getting-started.md b/website/docs/getting-started.md new file mode 100644 index 00000000..e908cc22 --- /dev/null +++ b/website/docs/getting-started.md @@ -0,0 +1,146 @@ +--- +sidebar_position: 2 +id: getting-started +title: Getting started +description: Getting Started +slug: /getting-started +--- + +## Requirements + +### Minimum + +Here are the system minimum requirements if you just want to try out a Wazo Platform instance: + +- CPU: 1 CPU is enough for a test server +- Memory: 2 GB of memory is a tight minimum for a test server +- Storage: 8 GB is comfortable for a test server, except if you plan to use large firmware files + for physical phones. + +### Production + +Here are the expected resources for a small production installation of around 50 users: + +- 2 CPU minimum +- 4 GB RAM minimum +- 50 GB storage minimum + +## Procedure + +To install the Unified Communication use case in an all-in-one setup, do the following steps: + +1. Install a Debian 11 Bullseye 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: + + ```shell + apt update + apt install -yq sudo git ansible curl + ``` + + **Note:** Ansible is a suite of software tools that enables infrastructure as code. It is + open-source and the suite includes software provisioning, configuration management, and + application deployment functionality. https://en.wikipedia.org/wiki/Ansible_(software) + +3. Extract the Wazo Platform installer + + ```shell + git clone https://github.com/wazo-platform/wazo-ansible.git + cd wazo-ansible + ``` + +4. (optional) By default, Wazo Platform will install the development version. To install the latest + stable version + + ```shell + ansible_tag=wazo-$(curl https://mirror.wazo.community/version/stable) + git checkout $ansible_tag + ``` + +5. Install the Wazo Platform installer dependency + + ```shell + ansible-galaxy install -r requirements-postgresql.yml + ``` + +6. Edit the file `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 + + By default, Wazo Platform will install the development version. To install the latest stable + version, activate the following settings in `inventories/uc-engine`: + + ```ini + [uc_engine:vars] + wazo_distribution = pelican-bullseye + wazo_distribution_upgrade = pelican-bullseye + ``` + + If you want to install the web user interface, activate the following in your + `inventories/uc-engine`: + + ```ini + [uc_ui:children] + uc_engine_host + ``` + + The following variables allow you to create the `root` account at installation time, to be able + to use the web user interface and an API user to be able to use the REST APIs: + + ```ini + [uc_engine:vars] + engine_api_configure_wizard = true + engine_api_root_password = + api_client_name = + api_client_password = + ``` + + Note: this API user will only have permissions for configuration REST API (wazo-confd). + +7. Launch the installation by running the following command: + + ```shell + ansible-playbook -i inventories/uc-engine uc-engine.yml + ``` + +8. Once the installation completed, execute the following command to verify that all the Wazo + services (wazo-plugind, wazo-webhookd, ...) are up and running: + ```shell + wazo-service status + ``` + +## 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: + + Execute from the Debian system: + + ```shell + wazo-auth-cli token create --auth-user --auth-password + ``` + + Or with `curl` from anywhere: + + ```shell + curl -k -X POST -u : -H 'Content-Type: application/json' -d '{"expiration": 3600}' https://wazo.example.com/api/auth/0.1/token + ``` + +2. Use any REST API you want. + + Note: You must replace `` with the authentication token + + To obtain the version of Wazo: + + ```shell + curl -k -X GET -H 'X-Auth-Token: ' -H 'Content-Type: application/json' https://wazo.example.com/api/confd/1.1/infos + ``` + + To list the telephony users configured on the system: + + ```shell + curl -k -X GET -H 'X-Auth-Token: ' -H 'Content-Type: application/json' https://wazo.example.com/api/confd/1.1/users + ``` + +## Optional post-install steps + +You may now follow the [optional post-install steps](post-installation). diff --git a/website/docs/intro.md b/website/docs/intro.mdx similarity index 64% rename from website/docs/intro.md rename to website/docs/intro.mdx index b48f4d10..19f8f8cb 100644 --- a/website/docs/intro.md +++ b/website/docs/intro.mdx @@ -6,6 +6,9 @@ description: Introducing Wazo Platform slug: /intro --- +import useBaseUrl from '@docusaurus/useBaseUrl'; +import ThemedImage from '@theme/ThemedImage'; + # Introduction Wazo Platform allows developers to build solutions that fit any business and technical @@ -13,7 +16,7 @@ requirements. Fully open source and based on open Source components, Wazo Platfo provide all the building blocks to create a full-featured, carrier-grade, Programmable Telecom Infrastructure. -Wazo Platform is an Open Source project allowing to build carrier grade programmable IP communication infrastructures. +This Open Source project allows you to build carrier grade programmable IP communication infrastructures. You can pick and choose the components you need to build your infrastructures with class 5 features like audio and video calls, chat, call centers, conferences, voicemail, etc. @@ -36,11 +39,32 @@ Wazo Platform is defined by 4 layers: - Services and Debian: [wazo-auth](./wazo-auth), [wazo-webhookd](./wazo-webhookd), [wazo-websocketd](./wazo-websocketd), nginx, rabbitmq, postgresql
-![Technical layers](../static/images/docs/Technical_Layers_2019_V3.png) + +{/* @TODO: make this image readable on dark theme */} + + +## History + +Wazo is a fork of XiVO, which was created in 2005 in France by Sylvain Boily and the company +Proformatique. In 2010, Proformatique merged with Avencall, and Avencall acquired the copyright and +trademark of XiVO. + +Sylvain then moved to Quebec City and founded Proformatique, Inc. where the XiVO core development +team worked from 2011 until November 2016. + +In November 2016, Proformatique Inc. was shut down and the development team +[forked XiVO to create Wazo](/blog/introducing-wazo). Its first release, Wazo 16.16, was released in +December 2016. ## License You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to our software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions. -More details at [tldrlegal.com]() +More details at [tldrlegal.com](https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)) diff --git a/website/docs/post-installation.md b/website/docs/post-installation.md new file mode 100644 index 00000000..abffb973 --- /dev/null +++ b/website/docs/post-installation.md @@ -0,0 +1,99 @@ +--- +sidebar_position: 3 +id: post-installation +title: Post Installation +description: Post installation +slug: /post-installation +--- + +Here are a few configuration options that are commonly changed once the installation is completed. +Please note that these changes are optional. + +## Display called name on internal calls + +When you call internally another phone of the system you would like your phone to display the name +of the called person (instead of the dialed number only). + +To achieve this you must enable the `trust_id_inbound` option of you SIP endpoint. This can be +achived on all endpoints on a tenant by modifying the `global` SIP template for that tenant: + +- `PUT /endpoints/sip/templates/` + + ```json + { + ... + "endpoint_section_options": [ + ["trust_id_inbound", "yes"], + ["send_rpid", "yes"] + ], + ... + } + ``` + +## Incoming caller number display {#callerid-num-normalization} + +The caller ID number on incoming calls depends on what is sent by your operator. You can modify it +via the file `/etc/xivo/asterisk/xivo_in_callerid.conf`. + +**Note**: The reverse directory lookup use the caller ID number **after** it has been modified by +`xivo_in_callerid.conf` + +### Examples: + +- If you use a prefix to dial outgoing numbers (like a 0) you should add a 0 to all the `add =` + sections, +- You may want to display incoming numbers in E.164 format. For example, you can change the + `[national1]` section to: + + ```ini + callerid = ^0[1-9]\d{8}$ + strip = 1 + add = +33 + ``` + +To enable the changes you have to restart wazo-agid: + +```shell +service wazo-agid restart +``` + +## Time and date + +- Configure your locale and default time zone device template with `wazo-provd` endpoint + `/provd/cfg_mgr/config` by editing the default template +- If needed, reconfigure your timezone for the system: + + ```shell + dpkg-reconfigure tzdata + ``` + +## Codecs + +You should also select default codecs. It obviously depends on the telco links, the country, the +phones, the usage, etc. Here is a typical example for Europe (the main goal in this example is to +select _only_ `alaw` instead of both `alaw` and `ulaw` by default): + +- Modify the `global` PJSIP template for you tenant + + `PUT /endpoints/sip/templates/` + + ```json + { + ... + "endpoint_section_options": [ + ["allow", "!all,alaw,g722,g729,h264"], + ... + ], + ... + } + ``` + +- `PUT /asterisk/iax/general` + + ```json + { + ... + "allow": "alaw,g722,g729,h264", + ... + } + ``` diff --git a/website/docs/tutorials/_category_.json b/website/docs/tutorials/_category_.json index 3d592dfd..6ed83f1b 100644 --- a/website/docs/tutorials/_category_.json +++ b/website/docs/tutorials/_category_.json @@ -1,6 +1,6 @@ { "label": "Tutorials", - "position": 3, + "position": 5, "link": { "type": "generated-index", "description": "Learn how to leverage the power of the platform to build your own applications." diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx index ee27942c..b4806f6e 100644 --- a/website/src/pages/index.tsx +++ b/website/src/pages/index.tsx @@ -28,7 +28,7 @@ function HomepageHeader() {
Get started