## Has been tested and developed using:
> ubuntu 16.04.6
> openssl: 1.0.2g
> node: 8.16.0
## Requirements:
```sh
curl -sL [https://deb.nodesource.com/setup_8.x](https://deb.nodesource.com/setup_8.x) | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
install python 2.7
rm package-lock.json && rm -rf node_modules && rm -rf ~/.node-gyp only **(if package-lock.json/node_modules or node was installed)**
sudo apt-get install libasound2-dev
sudo npm i -g node-gyp
sudo npm install --unsafe-perm
```
## How to guide how to configure units and the simulator
**1. Insert Groups**
Groups will be inserted using the following script directly on the database:
```sql
set search_path to public;
do $$
declare i INTEGER := 1;
declare sipid integer;
declare ressql varchar;
declare acc_id integer = 1;
declare p_account_name varchar := 'AIRWizard';
declare number_of_groups INTEGER := 100; -- How many groups we create
declare dispatcher_name varchar := 'Dispatcher Sergiu';
declare groups_name varchar := 'sim-test-';
BEGIN
-- Create groups
WHILE i <= number_of_groups LOOP
SELECT get_new_sipid(acc_id) INTO sipid;
SELECT insert_update_groups(acc_id, Null, groups_name || i, '1', '1', '0', '0', '0', sipid, 0,'','') INTO ressql;
i = i + 1;
end loop;
-- Assign dispatcher on the groups
insert into public.asset_group (asset_id, group_id)
select (select id from public.asset where name = dispatcher_name), id from public."group" g where name like groups_name || '%';
end; $$;
```
**2. Insert units**
The units will be inserted from the provisioning(**Units -> Import from file**) and the **file_name.xlsx** file will have the following format:
**3. Cimulator configuration:**
**For the simulation to simulate in a period**, we must put the **testing_period setting in settings** (the value is in milliseconds).
Example in **config**:
```toml
[settings]
max_fails = 3
send_voice = true
send_gps = true
gps_report_interval = 10000
gps_lng_start_point = 24.776126
testing_period = 7000 // we will simulate all the units in a period of 7 seconds**
```
**4. To start the simulator**
To start the simulator we must specify which config file we want to use.
```
node index.js --path="./config/stage"
```