Инсталляция пакета ecss-pda-api

Для работы приложения «Phone Desktop Assistant» на сервере должен быть установлен пакет ecss-pda-api.

sudo apt update
sudo apt install ecss-pda-api

Его настройки будут запрошены при установке.

Предварительно на ecss должен быть настроен доступ к базе адресной книги. Команды описаны в разделе /system/address-book/ - системные команды управления адресной книгой абонентов.

По умолчанию настройки доcтупа такие:

admin@mycelium1@ecss1:/$ system/address-book/properties/info 
┌───────────────────┬───────────────────────┐
│     Property      │         Value         │
├───────────────────┼───────────────────────┤
│auto_create_account│true                   │
│auto_delete_account│true                   │
│database           │ecss_address_book      │
│host               │address-book.mysql.ecss│
│password           │address_book           │
│port               │3306                   │
│username           │address_book           │
└───────────────────┴───────────────────────┘

Пример:

Если пакет устанавливается на хосте, где развернут ECSS-10, по умолчанию — localhost.

Порт Call-API по умолчанию — 8086:

Вводим домен, для которого будет доступен pda:

Если в поле ничего не вводить, имя домена будет запрошено на странице авторизации приложения PDA.

Имя или IP mysql-сервера для доступа к истории вызовов и адресной книге:

Порт по умолчанию — 3306:

Имя пользователя mysql для базы адресной книги. По умолчанию — «address_book»

Пароль по умолчанию также «address_book»:

После установки нужно проверить статус сервисов ecss-pda-api и ecss-pda-nginx, должны быть запущены:

sasha@ecss2:~/ecss2_3.14$ systemctl status ecss-pda-api.service 
● ecss-pda-api.service - desktop assistant websockets API for ecss-10
   Loaded: loaded (/lib/systemd/system/ecss-pda-api.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2021-03-23 11:14:01 +07; 35min ago
 Main PID: 30054 (nodejs)
    Tasks: 7 (limit: 4915)
   CGroup: /ecss.slice/ecss-pda-api.service
           └─30054 /usr/bin/nodejs /usr/share/ecss/ecss-pda-api/dist/websockets/src/main.js

Mar 23 11:14:01 ecss2 systemd[1]: Started desktop assistant websockets API for ecss-10.
sasha@ecss2:~/ecss2_3.14$ systemctl status ecss-pda-nginx.service 
● ecss-pda-nginx.service - daemon ecss-pda-api of ecss-10 (nginx based)
   Loaded: loaded (/lib/systemd/system/ecss-pda-nginx.service; enabled; vendor preset: enabled)
   Active: active (exited) since Tue 2021-03-23 11:14:01 +07; 36min ago
  Process: 30056 ExecStart=/bin/systemctl try-reload-or-restart nginx.service (code=exited, status=0/SUCCESS)
  Process: 30055 ExecStart=/bin/ln --force --symbolic /usr/lib/ecss/ecss-pda-api/ecss-pda-nginx.conf /etc/nginx/sites-enabled/ (code=exited, status=0/SUCCESS)
 Main PID: 30056 (code=exited, status=0/SUCCESS)

Mar 23 11:14:01 ecss2 systemd[1]: Starting daemon ecss-pda-api of ecss-10 (nginx based)...
Mar 23 11:14:01 ecss2 systemd[1]: Started daemon ecss-pda-api of ecss-10 (nginx based).

Все настройки будут записаны в файл /etc/ecss/ecss-pda-ui-api/config.yaml, например:

sasha@ecss2:~/ecss2_3.14$ cat /etc/ecss/ecss-pda-api/config.yaml
default:
  ecss:
    host: localhost
    port: 8086
    domain: ""
    user: pubsub
    password: pubsub
  sql:
    host: localhost
    port: 3306
    database: ecss_address_book
    user: address_book
    password: address_book
    types:
    - sip
    - megaco
    - virtual
CODE

user: pubsub, password: pubsub — системные, изменять не нужно!

Если нужно изменить настройки, лучше воспользоваться командой dpkg-reconfigure. Пример:

sudo dpkg-reconfigure ecss-pda-api

Править файл вручную не рекомендуется, но если все-таки потребовалось изменить, то нужно после перезапустить сервис ecss-pda-ui-api.

Также нужно проверить, что включен api csta командой CLI:

admin@mycelium1@ecss1:/$ api/csta/info                                   
┌────────┬───────┐
│Property│ Value │
├────────┼───────┤
│auth    │       │
│enabled │true   │
│ssl_ip  │0.0.0.0│
│ssl_port│4722   │
│tcp_ip  │0.0.0.0│
│tcp_port│4721   │
│use_ssl │true   │
│use_tcp │true   │
└────────┴───────┘

И в свойствах домена параметр vats_type должен быть выставлен в private:

admin@mycelium1@ecss1:/$ domain/biysk.local/properties/info     
┌───────────────────────────────────────┬───────────┬───────────────────────────────────────┐
│               Property                │  Domain   │                 Value                 │
├───────────────────────────────────────┼───────────┼───────────────────────────────────────┤
...
│vats_type                              │biysk.local│private                                │


Настройки для пользователей

Для пользователей, которые будут работать в приложении Phone Desktop Assistant нужно задать пароль.

Настройка пароля производится на алиасе, например:

admin@mycelium1@ecss1:/$ domain/biysk.local/alias/set 240244 loc.gr 240007@biysk.local password pda
There are aliases within domain biysk.local affected by settings property password:
* 240244  <->  064bc9652846aacd 

Legend:
   a: Setup alias address
   i: Setup alias inteface
   !: Setup broken. Alias allready exists
   *: Setup broken. Alias not exists
   L: Setup broken. No free subscriber licences.
   x: Setup broken. Unexpected error
   <empty>: Successfull setup

Также можно задать пароль через Web-конфигуратор:

Пароль сообщить пользователю. При авторизации в приложении в качестве логина нужно ввести номер телефона и данный пароль.

Также необходимо, чтобы на номере были активны услуги "Удержание вызова" (chold) и "Перевод вызова" (ctr), "Определение номера" (clip) и "Определение имени" (cnip), а тип терминала определен как smart.

На этом настройка закончена. Работа приложения описана в разделе «Документация Phone Desktop Assistant v 0.2».